@pellux/goodvibes-daemon-sdk 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-upload.d.ts","sourceRoot":"","sources":["../src/artifact-upload.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,WAAW,CAAC,IAAI,MAAM,CAAC;IACvB,gBAAgB,CAAC,CAAC,KAAK,EAAE;QACvB,QAAQ,CAAC,MAAM,EACX,cAAc,CAAC,UAAU,CAAC,GAC1B,aAAa,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,GAC3C,QAAQ,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;KACzD,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC;AA+BD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAGrE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED,wBAAsB,+BAA+B,CACnD,aAAa,EAAE,uBAAuB,EACtC,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAM1C"}
1
+ {"version":3,"file":"artifact-upload.d.ts","sourceRoot":"","sources":["../src/artifact-upload.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,WAAW,CAAC,IAAI,MAAM,CAAC;IACvB,gBAAgB,CAAC,CAAC,KAAK,EAAE;QACvB,QAAQ,CAAC,MAAM,EACX,cAAc,CAAC,UAAU,CAAC,GAC1B,aAAa,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,GAC3C,QAAQ,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;KACzD,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC;AAsED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAGrE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED,wBAAsB,+BAA+B,CACnD,aAAa,EAAE,uBAAuB,EACtC,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAM1C"}
@@ -22,6 +22,46 @@ function artifactSizeError(maxBytes) {
22
22
  code: 'ARTIFACT_UPLOAD_TOO_LARGE',
23
23
  });
24
24
  }
25
+ /**
26
+ * Reads and discards a request body reader to completion.
27
+ *
28
+ * Bun (and Node) keep-alive connection reuse depends on the previous
29
+ * request's body having been fully read off the wire. `stream.cancel()`
30
+ * signals "stop delivering chunks to me" but does not, in practice, drain the
31
+ * underlying connection buffer — leaving the connection's NEXT request
32
+ * stalled for several seconds waiting for the runtime to notice the
33
+ * connection is actually free (verified directly against a bare
34
+ * `Bun.serve()`, no SDK code involved: cancelling left a follow-up request on
35
+ * the same connection stuck for ~12s; fully draining resolved it to ~0ms).
36
+ * Best-effort: a drain failure must not mask the original 413.
37
+ */
38
+ async function drainReader(reader) {
39
+ try {
40
+ for (;;) {
41
+ const { done } = await reader.read();
42
+ if (done)
43
+ break;
44
+ }
45
+ }
46
+ catch {
47
+ // Best-effort.
48
+ }
49
+ }
50
+ async function drainUnreadBody(body) {
51
+ if (!body)
52
+ return;
53
+ const reader = body.getReader();
54
+ try {
55
+ await drainReader(reader);
56
+ }
57
+ finally {
58
+ reader.releaseLock();
59
+ }
60
+ }
61
+ async function earlyOversizeResponse(maxBytes, body) {
62
+ await drainUnreadBody(body);
63
+ return jsonErrorResponse({ error: `Artifact exceeds the ${maxBytes}-byte limit.` }, { status: 413 });
64
+ }
25
65
  export function isJsonContentType(contentType) {
26
66
  const lower = (contentType ?? '').split(';')[0]?.trim().toLowerCase() ?? '';
27
67
  return lower === '' || lower === 'application/json' || lower.endsWith('+json');
@@ -160,7 +200,12 @@ async function createArtifactFromStreamingMultipart(artifactStore, req) {
160
200
  return artifactId instanceof Response ? artifactId : { artifact, artifactId, fields: spooled.fields };
161
201
  }
162
202
  catch (error) {
163
- return jsonErrorResponse(error, { status: error instanceof GoodVibesSdkError && error.status ? error.status : 400 });
203
+ // spoolMultipartUpload drains any unread body bytes itself (both the
204
+ // Content-Length precheck and the mid-read catch) before rethrowing, so
205
+ // the connection is left healthy for reuse regardless of which error
206
+ // this is.
207
+ const status = error instanceof GoodVibesSdkError && error.status ? error.status : 400;
208
+ return jsonErrorResponse(error, { status });
164
209
  }
165
210
  finally {
166
211
  await spooled?.cleanup();
@@ -175,7 +220,7 @@ async function createArtifactFromRawBody(artifactStore, req) {
175
220
  const maxBytes = artifactStore.getMaxBytes?.();
176
221
  const sizeBytes = readContentLength(req);
177
222
  if (typeof maxBytes === 'number' && typeof sizeBytes === 'number' && sizeBytes > maxBytes) {
178
- return jsonErrorResponse({ error: `Artifact exceeds the ${maxBytes}-byte limit.` }, { status: 413 });
223
+ return earlyOversizeResponse(maxBytes, req.body);
179
224
  }
180
225
  const artifact = await createArtifactFromStream(artifactStore, {
181
226
  stream: req.body,
@@ -293,6 +338,7 @@ async function spoolMultipartUpload(req, maxFileBytes) {
293
338
  if (typeof maxFileBytes === 'number'
294
339
  && typeof contentLength === 'number'
295
340
  && contentLength > maxFileBytes + MAX_MULTIPART_BODY_OVERHEAD_BYTES) {
341
+ await drainUnreadBody(req.body);
296
342
  throw artifactSizeError(maxFileBytes);
297
343
  }
298
344
  const tempDir = await mkdtemp(join(tmpdir(), 'goodvibes-upload-'));
@@ -443,6 +489,11 @@ async function spoolMultipartUpload(req, maxFileBytes) {
443
489
  };
444
490
  }
445
491
  catch (error) {
492
+ // Any early exit here (size cap, malformed boundary, truncated part, …)
493
+ // can leave bytes unread on the wire. Drain them before rethrowing so the
494
+ // connection stays healthy for reuse instead of stalling the caller's
495
+ // next request — see drainReader's doc comment.
496
+ await drainReader(reader);
446
497
  await cleanupTempDir(tempDir, error);
447
498
  throw error;
448
499
  }
package/dist/context.d.ts CHANGED
@@ -139,13 +139,25 @@ export interface DaemonPlatformStatusRouteHandlers {
139
139
  getWorktrees(): MaybeResponse;
140
140
  getIntelligence(): MaybeResponse;
141
141
  }
142
- /** Route handlers for the memory subsystem: diagnostics, vector stats, review queue, rebuild, and embedding config. */
142
+ /** Route handlers for the memory subsystem: diagnostics, vector stats, review queue, rebuild, embedding config, and canonical-store record CRUD/search. */
143
143
  export interface DaemonMemoryRouteHandlers {
144
144
  getMemoryDoctor(): MaybeResponse;
145
145
  getMemoryVectorStats(): MaybeResponse;
146
146
  getMemoryReviewQueue(url: URL): MaybeResponse;
147
147
  postMemoryVectorRebuild(req: Request): MaybeResponse;
148
148
  postMemoryEmbeddingDefault(req: Request): MaybeResponse;
149
+ postMemoryRecordAdd(req: Request): MaybeResponse;
150
+ postMemoryRecordSearch(req: Request): MaybeResponse;
151
+ getMemoryRecord(id: string): MaybeResponse;
152
+ postMemoryRecordReview(id: string, req: Request): MaybeResponse;
153
+ deleteMemoryRecord(id: string): MaybeResponse;
154
+ postMemoryRecordList(req: Request): MaybeResponse;
155
+ postMemoryRecordSearchSemantic(req: Request): MaybeResponse;
156
+ postMemoryRecordUpdate(id: string, req: Request): MaybeResponse;
157
+ getMemoryRecordLinks(id: string): MaybeResponse;
158
+ postMemoryRecordLink(id: string, req: Request): MaybeResponse;
159
+ postMemoryRecordExport(req: Request): MaybeResponse;
160
+ postMemoryRecordImport(req: Request): MaybeResponse;
149
161
  }
150
162
  /** Route handlers for local auth administration: users, passwords, sessions, and bootstrap file management. */
151
163
  export interface DaemonLocalAuthAdminRouteHandlers {
@@ -309,7 +321,7 @@ export interface DaemonRuntimeSessionRouteHandlers {
309
321
  closeSharedSession(sessionId: string, req: Request): MaybeResponse;
310
322
  reopenSharedSession(sessionId: string, req: Request): MaybeResponse;
311
323
  detachSharedSession(sessionId: string, req: Request): MaybeResponse;
312
- /** Hard-delete a shared session (W5-S1). Distinct from close: the record is gone, not preserved. */
324
+ /** Hard-delete a shared session (see CHANGELOG 1.0.0). Distinct from close: the record is gone, not preserved. */
313
325
  deleteSharedSession(sessionId: string, req: Request): MaybeResponse;
314
326
  getSharedSessionMessages(sessionId: string, url: URL): MaybeResponse;
315
327
  getSharedSessionInputs(sessionId: string, url: URL): MaybeResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export type { AuthenticatedPrincipal, AuthenticatedPrincipalKind, AuthenticatedP
11
11
  export { createRouteBodySchema, createRouteBodySchemaRegistry, isJsonRecord, missingScopes, readBoundedBodyInteger, readBoundedInteger, readBoundedPositiveInteger, readChannelConversationKind, readChannelLifecycleAction, readOptionalBoundedInteger, readOptionalStringField, readStringArrayField, scopeMatches, } from './route-helpers.js';
12
12
  export type { BoundedIntegerOptions, ChannelConversationKind, ChannelLifecycleAction, JsonBody, JsonRecord, RouteBodySchema, } from './route-helpers.js';
13
13
  export type { ChannelAgentToolDefinitionLike, ChannelAllowlistInput, ChannelAuthorizeActionInput, ChannelDirectoryQuery, ChannelDirectoryScope, ChannelPluginServiceLike, ChannelPolicyServiceLike, ChannelSurface, ChannelTargetResolutionInput, DaemonChannelRouteContext, SurfaceRegistryLike, } from './channel-route-types.js';
14
- export type { ChannelAccountRegistryLike, DaemonIntegrationRouteContext, IntegrationHelperServiceLike, IntegrationRuntimeStoreLike, MemoryEmbeddingRegistryLike, MemoryRegistryLike, ProviderRuntimeSnapshotServiceLike, RuntimeEventDomain as DaemonRuntimeEventDomain, UserAuthManagerLike, } from './integration-route-types.js';
14
+ export type { ChannelAccountRegistryLike, DaemonIntegrationRouteContext, IntegrationHelperServiceLike, IntegrationRuntimeStoreLike, MemoryEmbeddingRegistryLike, MemoryRegistryLike, MemoryBundleInput, MemoryLinkInput, MemoryProvenanceLinkInput, MemoryRecordAddInput, MemoryRecordReviewInput, MemoryRecordSearchFilterInput, MemoryRecordUpdateInput, ProviderRuntimeSnapshotServiceLike, RuntimeEventDomain as DaemonRuntimeEventDomain, UserAuthManagerLike, } from './integration-route-types.js';
15
15
  export type { ApprovalBrokerLike, AutomationDeliveryGuarantee, AutomationRouteBindingKind, AutomationSessionPolicy, AutomationSurfaceKind, AutomationThreadPolicy, ConfigManagerLike as DaemonSystemConfigManagerLike, CredentialStatusProviderLike, CredentialStatusRecord, DaemonApiClientKind, DaemonSystemRouteContext, IntegrationApprovalSnapshotSourceLike, PlatformServiceManagerLike, RouteBindingManagerLike, RouteBindingPatchInput, RouteBindingRecordInput, WatcherKind, WatcherRecord, WatcherRegistryLike, WorkspaceSwapManagerLike, } from './system-route-types.js';
16
16
  export type { AuthenticatedPrincipalLike, AutomationScheduleDefinition, DaemonKnowledgeRouteContext, KnowledgeGraphqlAccessLike, KnowledgeGraphqlResultLike, KnowledgeGraphqlServiceLike, KnowledgePacketDetail, KnowledgeProjectionTargetKind, KnowledgeServiceLike, } from './knowledge-route-types.js';
17
17
  export type { ArtifactKind, ArtifactStoreLike, DaemonMediaRouteContext, FetchExtractMode, MediaArtifact, MediaProviderLike, MediaProviderRegistryLike, MultimodalAnalysisResult, MultimodalDetail, MultimodalServiceLike, VoiceAudioArtifact, VoiceServiceLike, VoiceSynthesisStreamLike, WebSearchSafeSearch, WebSearchServiceLike, WebSearchTimeRange, WebSearchVerbosity, } from './media-route-types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -38,11 +38,107 @@ export interface ProviderRuntimeSnapshotServiceLike {
38
38
  getSnapshot(providerId: string): Promise<unknown | null>;
39
39
  getUsageSnapshot(providerId: string): Promise<unknown | null>;
40
40
  }
41
+ /** A provenance link on a memory record, as carried on the wire. */
42
+ export interface MemoryProvenanceLinkInput {
43
+ readonly kind: string;
44
+ readonly ref: string;
45
+ readonly label?: string | undefined;
46
+ }
47
+ /** The add-record body, structurally compatible with the SDK's MemoryAddOptions. */
48
+ export interface MemoryRecordAddInput {
49
+ readonly cls: string;
50
+ readonly summary: string;
51
+ readonly scope?: string | undefined;
52
+ readonly detail?: string | undefined;
53
+ readonly tags?: readonly string[] | undefined;
54
+ readonly provenance?: readonly MemoryProvenanceLinkInput[] | undefined;
55
+ readonly review?: {
56
+ readonly state?: string | undefined;
57
+ readonly confidence?: number | undefined;
58
+ readonly reviewedBy?: string | undefined;
59
+ readonly staleReason?: string | undefined;
60
+ } | undefined;
61
+ }
62
+ /** The search filter body, structurally compatible with the SDK's MemorySearchFilter. */
63
+ export interface MemoryRecordSearchFilterInput {
64
+ readonly scope?: string | undefined;
65
+ readonly cls?: string | undefined;
66
+ readonly tags?: readonly string[] | undefined;
67
+ readonly query?: string | undefined;
68
+ readonly semantic?: boolean | undefined;
69
+ readonly since?: number | undefined;
70
+ readonly reviewState?: string | readonly string[] | undefined;
71
+ readonly minConfidence?: number | undefined;
72
+ readonly provenanceKinds?: readonly string[] | undefined;
73
+ readonly staleOnly?: boolean | undefined;
74
+ readonly limit?: number | undefined;
75
+ }
76
+ /** The review-update body, structurally compatible with the SDK's MemoryReviewPatch. */
77
+ export interface MemoryRecordReviewInput {
78
+ readonly state?: string | undefined;
79
+ readonly confidence?: number | undefined;
80
+ readonly reviewedBy?: string | undefined;
81
+ readonly staleReason?: string | undefined;
82
+ }
83
+ /** The editable-field update body (scope/summary/detail/tags) — NOT a review update. */
84
+ export interface MemoryRecordUpdateInput {
85
+ readonly scope?: string | undefined;
86
+ readonly summary?: string | undefined;
87
+ readonly detail?: string | undefined;
88
+ readonly tags?: readonly string[] | undefined;
89
+ }
90
+ /** The link-create body — the source id comes from the path, target + relation from the body. */
91
+ export interface MemoryLinkInput {
92
+ readonly toId: string;
93
+ readonly relation: string;
94
+ }
95
+ /** The import body — a { bundle } envelope. The bundle is passed through loosely to the store. */
96
+ export interface MemoryBundleInput {
97
+ readonly bundle: {
98
+ readonly records: readonly unknown[];
99
+ readonly links?: readonly unknown[] | undefined;
100
+ readonly [key: string]: unknown;
101
+ };
102
+ }
103
+ /**
104
+ * The memory subsystem the daemon exposes to its routes. The concrete SDK
105
+ * `MemoryRegistry` satisfies this structurally (method params are compared
106
+ * bivariantly, exactly as `reviewQueue`'s `scope?: string` already binds to the
107
+ * registry's `scope?: MemoryScope`). The route layer stays decoupled from the SDK
108
+ * store types — it hands loose bodies in and serializes whatever comes back.
109
+ */
41
110
  export interface MemoryRegistryLike {
42
111
  doctor(): Promise<unknown>;
43
112
  vectorStats(): unknown;
44
113
  rebuildVectorsAsync(): Promise<unknown>;
45
114
  reviewQueue(limit?: number, scope?: string): unknown[];
115
+ add(opts: MemoryRecordAddInput): Promise<unknown>;
116
+ /**
117
+ * Search honoring the recall-honesty contract; returns the honest envelope the
118
+ * route serializes verbatim. `filter`/`options` are optional so the concrete
119
+ * MemoryRegistry (whose defaults make BOTH params optional) binds bivariantly,
120
+ * exactly as `reviewQueue`'s optional params already do.
121
+ */
122
+ honestSearch(filter?: MemoryRecordSearchFilterInput, options?: {
123
+ readonly recall?: boolean | undefined;
124
+ }): unknown;
125
+ get(id: string): unknown | null;
126
+ review(id: string, patch: MemoryRecordReviewInput): unknown | null;
127
+ delete(id: string): boolean;
128
+ /** Literal search / bulk read. Serves both records.list and getAll (empty filter). */
129
+ search(filter?: MemoryRecordSearchFilterInput): unknown[];
130
+ /** Scored semantic search — returns MemorySemanticSearchResult[] the route wraps as { results }. */
131
+ searchSemantic(filter?: MemoryRecordSearchFilterInput): unknown[];
132
+ /** Edit scope/summary/detail/tags. Returns the updated record or null when the id is unknown. */
133
+ update(id: string, patch: MemoryRecordUpdateInput): unknown | null;
134
+ /** Relate two records. Returns the link or null when either id is unknown. */
135
+ link(fromId: string, toId: string, relation: string): Promise<unknown | null>;
136
+ /** All links touching a record. */
137
+ linksFor(id: string): unknown[];
138
+ /** Export a no-loss bundle for the given filter. */
139
+ exportBundle(filter?: MemoryRecordSearchFilterInput): unknown;
140
+ /** Import a bundle (id-keyed union, no overwrite). Returns the import result. */
141
+ importBundle(bundle: unknown): Promise<unknown>;
46
142
  }
47
143
  export interface MemoryEmbeddingRegistryLike {
48
144
  setDefaultProvider(providerId: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"integration-route-types.d.ts","sourceRoot":"","sources":["../src/integration-route-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration-route-types.d.ts","sourceRoot":"","sources":["../src/integration-route-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"integration-routes.d.ts","sourceRoot":"","sources":["../src/integration-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,KAAK,EAAE,6BAA6B,EAAoD,MAAM,8BAA8B,CAAC;AA8DpI,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,6BAA6B,GACrC,8BAA8B,CAqJhC"}
1
+ {"version":3,"file":"integration-routes.d.ts","sourceRoot":"","sources":["../src/integration-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,KAAK,EAAE,6BAA6B,EAAoD,MAAM,8BAA8B,CAAC;AAuEpI,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,6BAA6B,GACrC,8BAA8B,CAsPhC"}
@@ -1,5 +1,6 @@
1
1
  import { jsonErrorResponse } from './error-response.js';
2
2
  import { createRouteBodySchema, createRouteBodySchemaRegistry, readBoundedPositiveInteger, readOptionalStringField, readStringArrayField, } from './route-helpers.js';
3
+ import { parseMemoryBundleImportBody, parseMemoryLinkBody, parseMemoryRecordAddBody, parseMemoryRecordFilterBody, parseMemoryRecordReviewBody, parseMemoryRecordSearchBody, parseMemoryRecordUpdateBody, } from './memory-record-body.js';
3
4
  const MAX_LOCAL_AUTH_ROLES = 32;
4
5
  const integrationBodySchemas = createRouteBodySchemaRegistry({
5
6
  embeddingDefault: createRouteBodySchema('POST /api/memory/embedding/default', (body) => {
@@ -117,6 +118,117 @@ export function createDaemonIntegrationRouteHandlers(context) {
117
118
  return jsonErrorResponse(error, { status: 400 });
118
119
  }
119
120
  },
121
+ // Canonical-store record CRUD/search. The daemon is the single writer; a client
122
+ // surface reaches its store ONLY through these routes and never opens the file.
123
+ postMemoryRecordAdd: async (req) => {
124
+ const body = await context.parseJsonBody(req);
125
+ if (body instanceof Response)
126
+ return body;
127
+ const input = parseMemoryRecordAddBody(body);
128
+ if (input instanceof Response)
129
+ return input;
130
+ try {
131
+ const record = await context.memoryRegistry.add(input);
132
+ return Response.json({ record }, { status: 201 });
133
+ }
134
+ catch (error) {
135
+ return jsonErrorResponse(error, { status: 400 });
136
+ }
137
+ },
138
+ postMemoryRecordSearch: async (req) => {
139
+ const body = await context.parseJsonBody(req);
140
+ if (body instanceof Response)
141
+ return body;
142
+ const { filter, recall } = parseMemoryRecordSearchBody(body);
143
+ return Response.json(context.memoryRegistry.honestSearch(filter, { recall }));
144
+ },
145
+ getMemoryRecord: (id) => {
146
+ const record = context.memoryRegistry.get(id);
147
+ return record
148
+ ? Response.json({ record })
149
+ : jsonErrorResponse({ error: 'Unknown memory record', code: 'MEMORY_RECORD_NOT_FOUND' }, { status: 404 });
150
+ },
151
+ postMemoryRecordReview: async (id, req) => {
152
+ const body = await context.parseJsonBody(req);
153
+ if (body instanceof Response)
154
+ return body;
155
+ const patch = parseMemoryRecordReviewBody(body);
156
+ const record = context.memoryRegistry.review(id, patch);
157
+ return record
158
+ ? Response.json({ record })
159
+ : jsonErrorResponse({ error: 'Unknown memory record', code: 'MEMORY_RECORD_NOT_FOUND' }, { status: 404 });
160
+ },
161
+ deleteMemoryRecord: (id) => {
162
+ const deleted = context.memoryRegistry.delete(id);
163
+ return Response.json({ id, deleted });
164
+ },
165
+ // Full-detach catalog (1.2.0). Reads serialize a bare array/entity; writes route
166
+ // through the single-writer registry exactly like add/review/delete above.
167
+ postMemoryRecordList: async (req) => {
168
+ const body = await context.parseJsonBody(req);
169
+ if (body instanceof Response)
170
+ return body;
171
+ const filter = parseMemoryRecordFilterBody(body);
172
+ return Response.json({ records: context.memoryRegistry.search(filter) });
173
+ },
174
+ postMemoryRecordSearchSemantic: async (req) => {
175
+ const body = await context.parseJsonBody(req);
176
+ if (body instanceof Response)
177
+ return body;
178
+ const filter = parseMemoryRecordFilterBody(body);
179
+ return Response.json({ results: context.memoryRegistry.searchSemantic(filter) });
180
+ },
181
+ postMemoryRecordUpdate: async (id, req) => {
182
+ const body = await context.parseJsonBody(req);
183
+ if (body instanceof Response)
184
+ return body;
185
+ const patch = parseMemoryRecordUpdateBody(body);
186
+ const record = context.memoryRegistry.update(id, patch);
187
+ return record
188
+ ? Response.json({ record })
189
+ : jsonErrorResponse({ error: 'Unknown memory record', code: 'MEMORY_RECORD_NOT_FOUND' }, { status: 404 });
190
+ },
191
+ getMemoryRecordLinks: (id) => {
192
+ if (context.memoryRegistry.get(id) === null) {
193
+ return jsonErrorResponse({ error: 'Unknown memory record', code: 'MEMORY_RECORD_NOT_FOUND' }, { status: 404 });
194
+ }
195
+ return Response.json({ links: context.memoryRegistry.linksFor(id) });
196
+ },
197
+ postMemoryRecordLink: async (id, req) => {
198
+ const body = await context.parseJsonBody(req);
199
+ if (body instanceof Response)
200
+ return body;
201
+ const input = parseMemoryLinkBody(body);
202
+ if (input instanceof Response)
203
+ return input;
204
+ const link = await context.memoryRegistry.link(id, input.toId, input.relation);
205
+ // link() returns null when either endpoint id is unknown — an honest 404, not a
206
+ // 200 that pretends a link was made between records that do not both exist.
207
+ return link
208
+ ? Response.json({ link }, { status: 201 })
209
+ : jsonErrorResponse({ error: 'Unknown memory record (link source or target)', code: 'MEMORY_RECORD_NOT_FOUND' }, { status: 404 });
210
+ },
211
+ postMemoryRecordExport: async (req) => {
212
+ const body = await context.parseJsonBody(req);
213
+ if (body instanceof Response)
214
+ return body;
215
+ const filter = parseMemoryRecordFilterBody(body);
216
+ return Response.json({ bundle: context.memoryRegistry.exportBundle(filter) });
217
+ },
218
+ postMemoryRecordImport: async (req) => {
219
+ const body = await context.parseJsonBody(req);
220
+ if (body instanceof Response)
221
+ return body;
222
+ const input = parseMemoryBundleImportBody(body);
223
+ if (input instanceof Response)
224
+ return input;
225
+ try {
226
+ return Response.json({ result: await context.memoryRegistry.importBundle(input.bundle) });
227
+ }
228
+ catch (error) {
229
+ return jsonErrorResponse(error, { status: 400 });
230
+ }
231
+ },
120
232
  getLocalAuth: (req) => {
121
233
  const admin = context.requireAdmin(req);
122
234
  if (admin)
@@ -0,0 +1,38 @@
1
+ /**
2
+ * memory-record-body.ts — request-body parsers for the daemon-owned memory record
3
+ * routes (add / search / update-review).
4
+ *
5
+ * These build the loose, wire-shaped input objects the route handlers hand to the
6
+ * memory registry. Validation is honest but forgiving of extra fields: required
7
+ * fields missing → 400 with a stated reason; unknown enum-ish values are passed
8
+ * through for the store to normalize (the store already clamps confidence and
9
+ * normalizes scope/reviewState), never silently dropped.
10
+ */
11
+ import { type JsonRecord } from './route-helpers.js';
12
+ import type { MemoryBundleInput, MemoryLinkInput, MemoryRecordAddInput, MemoryRecordReviewInput, MemoryRecordSearchFilterInput, MemoryRecordUpdateInput } from './integration-route-types.js';
13
+ /** Parse POST /api/memory/records — cls and summary are required. */
14
+ export declare function parseMemoryRecordAddBody(body: JsonRecord): MemoryRecordAddInput | Response;
15
+ /** Parse a memory search filter — every field optional; unknowns ignored. Shared by search/list/searchSemantic/export. */
16
+ export declare function parseMemoryRecordFilterBody(body: JsonRecord): MemoryRecordSearchFilterInput;
17
+ /** Parse POST /api/memory/records/search — every field optional; unknowns ignored. */
18
+ export declare function parseMemoryRecordSearchBody(body: JsonRecord): {
19
+ readonly filter: MemoryRecordSearchFilterInput;
20
+ readonly recall: boolean;
21
+ };
22
+ /**
23
+ * Parse POST /api/memory/records/:id/update — editable fields (scope/summary/detail/tags).
24
+ * All optional; the store leaves unset fields unchanged. NOT a review update (that is
25
+ * the /review route) — this edits content/scope, e.g. promoting a record project→team.
26
+ */
27
+ export declare function parseMemoryRecordUpdateBody(body: JsonRecord): MemoryRecordUpdateInput;
28
+ /** Parse POST /api/memory/records/:id/links — toId and relation are required (fromId is the path id). */
29
+ export declare function parseMemoryLinkBody(body: JsonRecord): MemoryLinkInput | Response;
30
+ /**
31
+ * Parse POST /api/memory/records/import — a { bundle } envelope holding a MemoryBundle.
32
+ * Records/links are passed through loosely; the store re-normalizes scope/reviewState/
33
+ * confidence per record and skips ids it already holds (no-loss id-keyed union).
34
+ */
35
+ export declare function parseMemoryBundleImportBody(body: JsonRecord): MemoryBundleInput | Response;
36
+ /** Parse POST /api/memory/records/:id/review — all review fields optional; id comes from the path. */
37
+ export declare function parseMemoryRecordReviewBody(body: JsonRecord): MemoryRecordReviewInput;
38
+ //# sourceMappingURL=memory-record-body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-record-body.d.ts","sourceRoot":"","sources":["../src/memory-record-body.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAA+D,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAEf,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,8BAA8B,CAAC;AA+CtC,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,oBAAoB,GAAG,QAAQ,CAmB1F;AAED,0HAA0H;AAC1H,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,6BAA6B,CAc3F;AAED,sFAAsF;AACtF,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,UAAU,GACf;IAAE,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,uBAAuB,CAWrF;AAED,yGAAyG;AACzG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,QAAQ,CAMhF;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,GAAG,QAAQ,CAY1F;AAED,sGAAsG;AACtG,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,uBAAuB,CAWrF"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * memory-record-body.ts — request-body parsers for the daemon-owned memory record
3
+ * routes (add / search / update-review).
4
+ *
5
+ * These build the loose, wire-shaped input objects the route handlers hand to the
6
+ * memory registry. Validation is honest but forgiving of extra fields: required
7
+ * fields missing → 400 with a stated reason; unknown enum-ish values are passed
8
+ * through for the store to normalize (the store already clamps confidence and
9
+ * normalizes scope/reviewState), never silently dropped.
10
+ */
11
+ import { jsonErrorResponse } from './error-response.js';
12
+ import { isJsonRecord, readOptionalStringField, readStringArrayField } from './route-helpers.js';
13
+ function readOptionalNumberField(body, key) {
14
+ const value = body[key];
15
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
16
+ }
17
+ function readOptionalBooleanField(body, key) {
18
+ const value = body[key];
19
+ return typeof value === 'boolean' ? value : undefined;
20
+ }
21
+ /** Parse a provenance link array: each entry needs kind+ref; label is optional. Invalid entries are skipped. */
22
+ function readProvenanceField(body, max = 64) {
23
+ const value = body.provenance;
24
+ if (!Array.isArray(value))
25
+ return undefined;
26
+ const output = [];
27
+ for (let index = 0; index < value.length && index < max; index++) {
28
+ const entry = value[index];
29
+ if (!isJsonRecord(entry))
30
+ continue;
31
+ const kind = readOptionalStringField(entry, 'kind');
32
+ const ref = readOptionalStringField(entry, 'ref');
33
+ if (!kind || !ref)
34
+ continue;
35
+ const label = readOptionalStringField(entry, 'label');
36
+ output.push({ kind, ref, ...(label ? { label } : {}) });
37
+ }
38
+ return output.length > 0 ? output : undefined;
39
+ }
40
+ function readReviewField(body) {
41
+ const value = body.review;
42
+ if (!isJsonRecord(value))
43
+ return undefined;
44
+ const state = readOptionalStringField(value, 'state');
45
+ const confidence = readOptionalNumberField(value, 'confidence');
46
+ const reviewedBy = readOptionalStringField(value, 'reviewedBy');
47
+ const staleReason = readOptionalStringField(value, 'staleReason');
48
+ if (state === undefined && confidence === undefined && reviewedBy === undefined && staleReason === undefined) {
49
+ return undefined;
50
+ }
51
+ return {
52
+ ...(state ? { state } : {}),
53
+ ...(confidence !== undefined ? { confidence } : {}),
54
+ ...(reviewedBy ? { reviewedBy } : {}),
55
+ ...(staleReason ? { staleReason } : {}),
56
+ };
57
+ }
58
+ /** Parse POST /api/memory/records — cls and summary are required. */
59
+ export function parseMemoryRecordAddBody(body) {
60
+ const cls = readOptionalStringField(body, 'cls');
61
+ const summary = readOptionalStringField(body, 'summary');
62
+ if (!cls)
63
+ return jsonErrorResponse({ error: 'Missing cls', code: 'INVALID_REQUEST' }, { status: 400 });
64
+ if (!summary)
65
+ return jsonErrorResponse({ error: 'Missing summary', code: 'INVALID_REQUEST' }, { status: 400 });
66
+ const scope = readOptionalStringField(body, 'scope');
67
+ const detail = readOptionalStringField(body, 'detail');
68
+ const tags = readStringArrayField(body, 'tags');
69
+ const provenance = readProvenanceField(body);
70
+ const review = readReviewField(body);
71
+ return {
72
+ cls,
73
+ summary,
74
+ ...(scope ? { scope } : {}),
75
+ ...(detail ? { detail } : {}),
76
+ ...(tags ? { tags } : {}),
77
+ ...(provenance ? { provenance } : {}),
78
+ ...(review ? { review } : {}),
79
+ };
80
+ }
81
+ /** Parse a memory search filter — every field optional; unknowns ignored. Shared by search/list/searchSemantic/export. */
82
+ export function parseMemoryRecordFilterBody(body) {
83
+ return {
84
+ ...(readOptionalStringField(body, 'scope') ? { scope: readOptionalStringField(body, 'scope') } : {}),
85
+ ...(readOptionalStringField(body, 'cls') ? { cls: readOptionalStringField(body, 'cls') } : {}),
86
+ ...(readStringArrayField(body, 'tags') ? { tags: readStringArrayField(body, 'tags') } : {}),
87
+ ...(readOptionalStringField(body, 'query') ? { query: readOptionalStringField(body, 'query') } : {}),
88
+ ...(readOptionalBooleanField(body, 'semantic') !== undefined ? { semantic: readOptionalBooleanField(body, 'semantic') } : {}),
89
+ ...(readOptionalNumberField(body, 'since') !== undefined ? { since: readOptionalNumberField(body, 'since') } : {}),
90
+ ...(readStringArrayField(body, 'reviewState') ? { reviewState: readStringArrayField(body, 'reviewState') } : {}),
91
+ ...(readOptionalNumberField(body, 'minConfidence') !== undefined ? { minConfidence: readOptionalNumberField(body, 'minConfidence') } : {}),
92
+ ...(readStringArrayField(body, 'provenanceKinds') ? { provenanceKinds: readStringArrayField(body, 'provenanceKinds') } : {}),
93
+ ...(readOptionalBooleanField(body, 'staleOnly') !== undefined ? { staleOnly: readOptionalBooleanField(body, 'staleOnly') } : {}),
94
+ ...(readOptionalNumberField(body, 'limit') !== undefined ? { limit: readOptionalNumberField(body, 'limit') } : {}),
95
+ };
96
+ }
97
+ /** Parse POST /api/memory/records/search — every field optional; unknowns ignored. */
98
+ export function parseMemoryRecordSearchBody(body) {
99
+ return { filter: parseMemoryRecordFilterBody(body), recall: readOptionalBooleanField(body, 'recall') === true };
100
+ }
101
+ /**
102
+ * Parse POST /api/memory/records/:id/update — editable fields (scope/summary/detail/tags).
103
+ * All optional; the store leaves unset fields unchanged. NOT a review update (that is
104
+ * the /review route) — this edits content/scope, e.g. promoting a record project→team.
105
+ */
106
+ export function parseMemoryRecordUpdateBody(body) {
107
+ const scope = readOptionalStringField(body, 'scope');
108
+ const summary = readOptionalStringField(body, 'summary');
109
+ const detail = body.detail === null ? '' : readOptionalStringField(body, 'detail');
110
+ const tags = readStringArrayField(body, 'tags');
111
+ return {
112
+ ...(scope ? { scope } : {}),
113
+ ...(summary ? { summary } : {}),
114
+ ...(detail !== undefined ? { detail } : {}),
115
+ ...(tags ? { tags } : {}),
116
+ };
117
+ }
118
+ /** Parse POST /api/memory/records/:id/links — toId and relation are required (fromId is the path id). */
119
+ export function parseMemoryLinkBody(body) {
120
+ const toId = readOptionalStringField(body, 'toId');
121
+ const relation = readOptionalStringField(body, 'relation');
122
+ if (!toId)
123
+ return jsonErrorResponse({ error: 'Missing toId', code: 'INVALID_REQUEST' }, { status: 400 });
124
+ if (!relation)
125
+ return jsonErrorResponse({ error: 'Missing relation', code: 'INVALID_REQUEST' }, { status: 400 });
126
+ return { toId, relation };
127
+ }
128
+ /**
129
+ * Parse POST /api/memory/records/import — a { bundle } envelope holding a MemoryBundle.
130
+ * Records/links are passed through loosely; the store re-normalizes scope/reviewState/
131
+ * confidence per record and skips ids it already holds (no-loss id-keyed union).
132
+ */
133
+ export function parseMemoryBundleImportBody(body) {
134
+ const bundle = body.bundle;
135
+ if (!isJsonRecord(bundle)) {
136
+ return jsonErrorResponse({ error: 'Missing bundle', code: 'INVALID_REQUEST' }, { status: 400 });
137
+ }
138
+ if (!Array.isArray(bundle.records)) {
139
+ return jsonErrorResponse({ error: 'bundle.records must be an array', code: 'INVALID_REQUEST' }, { status: 400 });
140
+ }
141
+ if (bundle.links !== undefined && !Array.isArray(bundle.links)) {
142
+ return jsonErrorResponse({ error: 'bundle.links must be an array', code: 'INVALID_REQUEST' }, { status: 400 });
143
+ }
144
+ return { bundle: bundle };
145
+ }
146
+ /** Parse POST /api/memory/records/:id/review — all review fields optional; id comes from the path. */
147
+ export function parseMemoryRecordReviewBody(body) {
148
+ const state = readOptionalStringField(body, 'state');
149
+ const confidence = readOptionalNumberField(body, 'confidence');
150
+ const reviewedBy = readOptionalStringField(body, 'reviewedBy');
151
+ const staleReason = readOptionalStringField(body, 'staleReason');
152
+ return {
153
+ ...(state ? { state } : {}),
154
+ ...(confidence !== undefined ? { confidence } : {}),
155
+ ...(reviewedBy ? { reviewedBy } : {}),
156
+ ...(staleReason ? { staleReason } : {}),
157
+ };
158
+ }
package/dist/operator.js CHANGED
@@ -285,6 +285,35 @@ async function dispatchOperatorRoutesInner(req, handlers) {
285
285
  return handlers.postMemoryVectorRebuild(req);
286
286
  if (pathname === '/api/memory/embeddings/default' && method === 'POST')
287
287
  return handlers.postMemoryEmbeddingDefault(req);
288
+ // Canonical-store record routes. Exact paths first, then id-templated regexes.
289
+ if (pathname === '/api/memory/records' && method === 'POST')
290
+ return handlers.postMemoryRecordAdd(req);
291
+ if (pathname === '/api/memory/records/search' && method === 'POST')
292
+ return handlers.postMemoryRecordSearch(req);
293
+ if (pathname === '/api/memory/records/list' && method === 'POST')
294
+ return handlers.postMemoryRecordList(req);
295
+ if (pathname === '/api/memory/records/search-semantic' && method === 'POST')
296
+ return handlers.postMemoryRecordSearchSemantic(req);
297
+ if (pathname === '/api/memory/records/export' && method === 'POST')
298
+ return handlers.postMemoryRecordExport(req);
299
+ if (pathname === '/api/memory/records/import' && method === 'POST')
300
+ return handlers.postMemoryRecordImport(req);
301
+ const memoryRecordReviewMatch = pathname.match(/^\/api\/memory\/records\/([^/]+)\/review$/);
302
+ if (memoryRecordReviewMatch && method === 'POST')
303
+ return handlers.postMemoryRecordReview(safeDecodeURIComponent(memoryRecordReviewMatch[1]), req);
304
+ const memoryRecordUpdateMatch = pathname.match(/^\/api\/memory\/records\/([^/]+)\/update$/);
305
+ if (memoryRecordUpdateMatch && method === 'POST')
306
+ return handlers.postMemoryRecordUpdate(safeDecodeURIComponent(memoryRecordUpdateMatch[1]), req);
307
+ const memoryRecordLinksMatch = pathname.match(/^\/api\/memory\/records\/([^/]+)\/links$/);
308
+ if (memoryRecordLinksMatch && method === 'GET')
309
+ return handlers.getMemoryRecordLinks(safeDecodeURIComponent(memoryRecordLinksMatch[1]));
310
+ if (memoryRecordLinksMatch && method === 'POST')
311
+ return handlers.postMemoryRecordLink(safeDecodeURIComponent(memoryRecordLinksMatch[1]), req);
312
+ const memoryRecordMatch = pathname.match(/^\/api\/memory\/records\/([^/]+)$/);
313
+ if (memoryRecordMatch && method === 'GET')
314
+ return handlers.getMemoryRecord(safeDecodeURIComponent(memoryRecordMatch[1]));
315
+ if (memoryRecordMatch && method === 'DELETE')
316
+ return handlers.deleteMemoryRecord(safeDecodeURIComponent(memoryRecordMatch[1]));
288
317
  if (pathname === '/api/knowledge/status' && method === 'GET')
289
318
  return handlers.getKnowledgeStatus(url);
290
319
  if (pathname === '/api/knowledge/sources' && method === 'GET')
@@ -232,7 +232,7 @@ export interface DaemonRuntimeRouteContext {
232
232
  status: string;
233
233
  } | null>;
234
234
  /**
235
- * Hard-remove a session record + its messages/inputs (W5-S1: a real delete
235
+ * Hard-remove a session record + its messages/inputs (see CHANGELOG 1.0.0: a real delete
236
236
  * verb, distinct from close). Requires the session already closed —
237
237
  * `'active'` means the caller must close it first (409); `'not-found'`
238
238
  * covers an unknown OR already-deleted id (404, never a 200-noop).
@@ -2,7 +2,7 @@ import type { DaemonRuntimeRouteContext } from './runtime-route-types.js';
2
2
  export declare function handleGetSharedSession(context: DaemonRuntimeRouteContext, sessionId: string): Promise<Response>;
3
3
  export declare function handleSharedSessionLifecycle(context: DaemonRuntimeRouteContext, sessionId: string, action: 'close' | 'reopen'): Promise<Response>;
4
4
  /**
5
- * DELETE /api/sessions/:sessionId (W5-S1). Hard-removes the session record +
5
+ * DELETE /api/sessions/:sessionId (see CHANGELOG 1.0.0). Hard-removes the session record +
6
6
  * its messages/inputs — distinct from `close`, which preserves history.
7
7
  * Requires the session already closed: an active session yields an honest
8
8
  * 409 ('close it, then delete') rather than yanking state out from under a
@@ -2,7 +2,7 @@
2
2
  * runtime-session-lifecycle-routes.ts
3
3
  *
4
4
  * Shared-session lifecycle route handlers (get / close / reopen / detach /
5
- * delete). Split out of runtime-session-routes.ts (W5-S1) to stay under the
5
+ * delete). Split out of runtime-session-routes.ts (see CHANGELOG 1.0.0) to stay under the
6
6
  * repo's grandfathered line-cap ceiling (see scripts/check-line-cap.ts) — a
7
7
  * pure file-organization move: these four handlers already formed a
8
8
  * cohesive, self-contained unit (single-session lifecycle actions), disjoint
@@ -33,7 +33,7 @@ export async function handleSharedSessionLifecycle(context, sessionId, action) {
33
33
  : jsonErrorResponse({ error: 'Unknown shared session' }, { status: 404 });
34
34
  }
35
35
  /**
36
- * DELETE /api/sessions/:sessionId (W5-S1). Hard-removes the session record +
36
+ * DELETE /api/sessions/:sessionId (see CHANGELOG 1.0.0). Hard-removes the session record +
37
37
  * its messages/inputs — distinct from `close`, which preserves history.
38
38
  * Requires the session already closed: an active session yields an honest
39
39
  * 409 ('close it, then delete') rather than yanking state out from under a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pellux/goodvibes-daemon-sdk",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "engines": {
5
5
  "bun": "1.3.10",
6
6
  "node": ">=22.0.0"
@@ -157,8 +157,8 @@
157
157
  "control-plane"
158
158
  ],
159
159
  "dependencies": {
160
- "@pellux/goodvibes-contracts": "1.0.0",
161
- "@pellux/goodvibes-errors": "1.0.0"
160
+ "@pellux/goodvibes-contracts": "1.2.0",
161
+ "@pellux/goodvibes-errors": "1.2.0"
162
162
  },
163
163
  "publishConfig": {
164
164
  "access": "public"