Skip to main content

Libraries

  • @veltdev/node
1.0.7
June 19, 2026

New Features

  • CommentResolverSaveEvent enum: New enum with 14 additional non-core comment save events (status change, priority change, assign, approve, comment-level reactions, subscribe/unsubscribe, and more) that the Velt frontend can opt into sending to the save resolver endpoint via ResolverConfig.additionalSaveEvents. The event field on SaveCommentResolverRequest is widened from ResolverActions to ResolverActions | CommentResolverSaveEvent | string — fully additive, so every existing value remains assignable. New export from @veltdev/node. Learn more →
  • targetComment on SaveCommentResolverRequest: New optional targetComment?: PartialComment field carrying the comment the action occurred on, resolved by the frontend from commentId. It is request context for your handler only and is never persisted by saveComments. Learn more →
  • Resolver token verify helper (sdk.selfHosting.verifyToken): New fail-closed helper that verifies the auth credential the Velt frontend forwards to endpoint-based resolvers. The helper itself does not open or query MongoDB; in @veltdev/node@1.0.7, VeltSDK.initialize still validates the top-level database config before you can access sdk.selfHosting. Supports built-in JWT/JWKS verification (via the optional jose peer dependency, pinned to ^5 for Node 18) and custom callbacks, and is authentication only — it never makes an authorization decision. Configured via the new optional resolverAuth on VeltConfig. New exports: VerifyTokenResult, RESOLVER_AUTH_ERROR_CODES, ResolverAuthErrorCode, ResolverAuthConfig, ResolverAuthJwtConfig, ResolverAuthVerifyCallback, ResolverAuthService. Learn more →
1.0.5
June 16, 2026

Breaking Changes

  • PartialReactionAnnotation.user renamed to from: The reacting-user field on PartialReactionAnnotation is renamed from user to from, matching the Velt frontend SDK’s PartialReactionAnnotation.from (and ReactionAnnotation.from). This affects self-hosting reaction resolvers (sdk.selfHosting.getReactions()): saveReactions() now persists the reacting user under from, and resolved reactions expose from. Code that reads or writes the reacting user must use from instead of user. Learn more →
1.0.4
June 16, 2026

New Features

  • Opt-in field allowlist for REST add/update methods: The add/update methods on activities, commentAnnotations (including comment-level add/update), and notifications now accept an optional FieldFilterOptions second argument. Passing { filterUnknownFields: true } narrows the request to exactly the fields the backend endpoint accepts and silently drops unknown keys. It is off by default, fail-open (a filter error never blocks a write), and top-level scoped, so nested open-typed objects like actionUser and context pass through whole. Learn more →
  • New field-allowlist exports: A new field-allowlist module exported from @veltdev/node exposes the filter primitives (filterRequest, pickKnownFields), the FilterSpec and FieldFilterOptions types, and the per-method specs (ADD_ACTIVITIES_SPEC, UPDATE_ACTIVITIES_SPEC, ADD_COMMENT_ANNOTATIONS_SPEC, UPDATE_COMMENT_ANNOTATIONS_SPEC, ADD_COMMENTS_SPEC, UPDATE_COMMENTS_SPEC, ADD_NOTIFICATIONS_SPEC, UPDATE_NOTIFICATIONS_SPEC) so advanced callers can reuse the same fail-open filtering logic. Learn more →
1.0.3
June 12, 2026

New Features

  • AI Agents API (sdk.api.agents): New AgentsService for managing AI agents, versioned config, agent groups, executions, analytics, and prompt tooling (24 methods). Also exported directly from @veltdev/node. Learn more →
  • Memory API (sdk.api.memory): New MemoryService for semantic search over judgments, knowledge-base ingestion/management, reviewer profiles, patterns/stats, alerting, and maintenance jobs (24 methods, all types Memory-prefixed). Also exported from @veltdev/node. Learn more →
  • Approval Workflows API (sdk.api.approval): New ApprovalService for defining approval/review workflows (graphs of agent, human, and webhook nodes) and dispatching/resolving executions and steps (14 methods, routes under /v2/workflow/*, all types Approval-prefixed). Also exported from @veltdev/node. Learn more →
  • CRDT — deleteCrdtData: sdk.api.crdt gains deleteCrdtData to delete CRDT editor data for a document (omit editorIds to delete all editors). Learn more →
  • Documents — getDocumentsCount: sdk.api.documents gains getDocumentsCount to return a document count for an organization, with optional folder scoping. Learn more →
  • Users — counts, document users & invites: sdk.api.users gains 7 methods: getUsersCount, getDocUsers, addUserInvite, respondToUserInvite, getUserInvites, getUserInvitations, and getInvitedPendingUsersCount. Learn more →
  • Workspace — domain requests, key config, service configs & advanced webhooks: sdk.api.workspace gains 19 methods spanning additional-URL/domain requests, API key copy + config, notification/permission-provider/activity service configs, and the advanced (Svix) webhook endpoint suite. Learn more →

Improvements

  • getApiKeyMetadata now targets the apikeyconfig endpoint: sdk.api.workspace.getApiKeyMetadata() now posts to /v2/workspace/apikeyconfig/get (was /v2/workspace/apikeymetadata/get). The method name and signature are unchanged, so no caller changes are required. Learn more →
1.0.2
May 19, 2026

New Features

  • PartialCommentAnnotation typed fields: PartialCommentAnnotation gains four new typed fields — from, assignedTo, targetTextRange, and resolvedByUserId. resolvedByUserId uses three-state semantics (absent / explicit null / string) to correctly round-trip unresolve actions without dropping null. Learn more →
  • PartialTargetTextRange interface: New PartialTargetTextRange interface with partialTargetTextRangeFromDict / partialTargetTextRangeToDict serializers for structured text-range data. Learn more →
  • PartialComment round-trip helpers: PartialComment gains partialCommentFromDict / partialCommentToDict helpers that pass through unknown keys, preserving forward compatibility. Learn more →
  • sdkVersion on BaseMetadata: BaseMetadata now includes an sdkVersion field. baseMetadataFromDict / baseMetadataToDict serializers are exposed on the public package surface. Learn more →