@dsh-enhanced/personal-memory 0.1.6 → 0.1.12

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.
package/lib/service.js CHANGED
@@ -2,9 +2,11 @@ import { isAbsolute } from 'node:path';
2
2
  import { Context, Service } from '@deepseek-ai/cordis';
3
3
  import { createUserMessage } from '@deepseek-ai/dsh-llm';
4
4
  import Schema from '@deepseek-ai/schemastery';
5
- import { MemoryProposalManager } from './proposals.js';
6
- import { MemoryStore } from './store.js';
5
+ import { MemoryPromotionCancelledError, MemoryProposalManager } from './proposals.js';
6
+ import { memoryPrincipalDigest, MemoryStore, } from './store.js';
7
+ import { PreferenceMemoryPromotionBridge, preferencePromotionMutation, preferencePromotionNamespace, } from './promotion.js';
7
8
  import { registerMemoryTools } from './tools.js';
9
+ import { withPreferenceMemoryPromotionSubmissionDigest, } from '@dsh-enhanced/assistant-growth-contract';
8
10
  export class PersonalMemoryError extends Error {
9
11
  code;
10
12
  constructor(code, message) {
@@ -42,6 +44,8 @@ export class PersonalMemoryService extends Service {
42
44
  proposals;
43
45
  policy;
44
46
  delivery;
47
+ promotionBridge;
48
+ headlessNamespaces = new WeakMap();
45
49
  config;
46
50
  sessionSnapshots = new WeakMap();
47
51
  active = true;
@@ -65,7 +69,13 @@ export class PersonalMemoryService extends Service {
65
69
  maxContentBytes: config.maxContentBytes,
66
70
  maxRecordsPerIdentity: config.maxRecordsPerIdentity,
67
71
  });
68
- this.proposals = new MemoryProposalManager(this.memoryStore, policy);
72
+ this.proposals = new MemoryProposalManager(this.memoryStore, policy, proposal => this.validatePromotionOwner(proposal));
73
+ this.promotionBridge = new PreferenceMemoryPromotionBridge({
74
+ submit: request => this.submitPreferencePromotion(request),
75
+ cancel: request => this.cancelPreferencePromotion(request),
76
+ list: limit => this.listPromotionResults(limit),
77
+ acknowledge: ack => this.acknowledgePromotionResult(ack),
78
+ });
69
79
  ctx.inject(['assistantDelivery'], (deliveryCtx) => {
70
80
  const delivery = deliveryCtx.get('assistantDelivery');
71
81
  this.delivery = delivery;
@@ -74,8 +84,17 @@ export class PersonalMemoryService extends Service {
74
84
  this.delivery = undefined;
75
85
  };
76
86
  });
87
+ const currentPreference = ctx.get('assistantPreferenceLearning');
88
+ this.promotionBridge.bind(currentPreference);
89
+ ctx.inject(['assistantPreferenceLearning'], preferenceCtx => {
90
+ const producer = preferenceCtx.get('assistantPreferenceLearning');
91
+ if (producer === currentPreference)
92
+ return;
93
+ return this.promotionBridge.bind(producer);
94
+ });
77
95
  ctx.effect(() => () => {
78
96
  this.active = false;
97
+ this.promotionBridge.dispose();
79
98
  this.memoryStore.close();
80
99
  }, 'personal-memory.database');
81
100
  if (config.reconcileIntervalMs > 0) {
@@ -101,6 +120,26 @@ export class PersonalMemoryService extends Service {
101
120
  });
102
121
  }
103
122
  search(agent, request) {
123
+ this.assertActive();
124
+ this.agentScope(agent);
125
+ const authorizationOptions = request.authorizationIdempotencyKey === undefined
126
+ ? {}
127
+ : { idempotencyKey: request.authorizationIdempotencyKey };
128
+ const decision = this.policy.authorizeAgent(agent, 'search', { kind: 'memory', id: 'visible' }, authorizationOptions);
129
+ if (decision.effect !== 'allow')
130
+ throw decisionError(decision);
131
+ const context = this.agentContext(agent);
132
+ return this.memoryStore.search({
133
+ context,
134
+ query: request.query,
135
+ limit: request.limit ?? this.config.searchLimit,
136
+ });
137
+ }
138
+ /**
139
+ * Narrow background-review seam. Its trust/kind/sensitivity filters are
140
+ * service-owned so a maintenance Agent cannot widen them through tool args.
141
+ */
142
+ searchConfirmedGuidance(agent, request) {
104
143
  this.assertActive();
105
144
  const context = this.agentContext(agent);
106
145
  const authorizationOptions = request.authorizationIdempotencyKey === undefined
@@ -113,6 +152,9 @@ export class PersonalMemoryService extends Service {
113
152
  context,
114
153
  query: request.query,
115
154
  limit: request.limit ?? this.config.searchLimit,
155
+ kinds: ['instruction', 'preference'],
156
+ trusts: ['user-confirmed'],
157
+ sensitivities: ['private'],
116
158
  });
117
159
  }
118
160
  read(agent, request) {
@@ -135,20 +177,23 @@ export class PersonalMemoryService extends Service {
135
177
  }
136
178
  propose(agent, input) {
137
179
  this.assertActive();
138
- const context = this.agentContext(agent);
180
+ const scope = this.agentScope(agent);
181
+ const approval = this.resolveApprovalRoute(agent, scope, input.principal);
182
+ const context = { ...scope, namespace: approval.namespace };
139
183
  this.assertMutationIdentity(context, input.mutation);
140
- const approval = this.resolveApprovalRoute(agent, context, input.principal);
141
184
  const decision = this.policy.authorizeAgent(agent, 'propose', {
142
185
  kind: 'memory', id: input.mutation.op,
143
186
  }, { idempotencyKey: `memory-propose:${input.idempotencyKey}` });
144
187
  if (decision.effect !== 'allow')
145
188
  throw decisionError(decision);
189
+ const ttlMs = input.ttlMs ?? this.config.defaultProposalTtlMs;
146
190
  return this.proposals.propose({
147
191
  idempotencyKey: input.idempotencyKey,
148
192
  requester: `agent:${context.agentPreset}`,
149
193
  principal: approval.principal,
194
+ namespace: context.namespace,
150
195
  ...(approval.dispatch === undefined ? {} : { dispatch: approval.dispatch }),
151
- ttlMs: input.ttlMs ?? this.config.defaultProposalTtlMs,
196
+ ttlMs,
152
197
  mutation: input.mutation,
153
198
  });
154
199
  }
@@ -177,7 +222,7 @@ export class PersonalMemoryService extends Service {
177
222
  }
178
223
  proposeImport(agent, input) {
179
224
  this.assertActive();
180
- const context = this.agentContext(agent);
225
+ const scope = this.agentScope(agent);
181
226
  let decoded;
182
227
  try {
183
228
  decoded = JSON.parse(input.json);
@@ -193,6 +238,8 @@ export class PersonalMemoryService extends Service {
193
238
  || document.records.length > this.config.maxImportRecords) {
194
239
  throw new PersonalMemoryError('invalid-import', 'memory import format, version, or record count is invalid');
195
240
  }
241
+ const approval = this.resolveApprovalRoute(agent, scope, input.principal);
242
+ const context = { ...scope, namespace: approval.namespace };
196
243
  let mutations;
197
244
  try {
198
245
  mutations = document.records.map((value) => {
@@ -203,7 +250,7 @@ export class PersonalMemoryService extends Service {
203
250
  op: 'add',
204
251
  identity: record.identity,
205
252
  entry: record.entry,
206
- });
253
+ }, { namespace: context.namespace });
207
254
  this.assertMutationIdentity(context, mutation);
208
255
  return mutation;
209
256
  });
@@ -234,6 +281,158 @@ export class PersonalMemoryService extends Service {
234
281
  this.assertActive();
235
282
  return this.memoryStore.health();
236
283
  }
284
+ /** Trusted producer registration hook; intentionally not exposed as a model tool. */
285
+ bindPreferencePromotionProducer(producer) {
286
+ this.assertActive();
287
+ return this.promotionBridge.bind(producer);
288
+ }
289
+ submitPreferencePromotion(request) {
290
+ this.assertActive();
291
+ const namespace = preferencePromotionNamespace(request, memoryPrincipalDigest(request.principalId));
292
+ const mutation = preferencePromotionMutation(request);
293
+ const now = Date.now();
294
+ const ttlMs = Math.max(1, request.deadlineAt - Math.min(request.observedAt, now));
295
+ const promotion = Object.freeze({
296
+ promotionId: request.promotionId,
297
+ promotionGeneration: request.promotionGeneration,
298
+ requestDigest: request.requestDigest,
299
+ scope: request.scope,
300
+ ownerGeneration: request.ownerGeneration,
301
+ });
302
+ const base = {
303
+ idempotencyKey: request.idempotencyKey,
304
+ requester: 'preference-learning',
305
+ principal: request.principalId,
306
+ namespace,
307
+ ttlMs,
308
+ notAfter: request.deadlineAt,
309
+ promotion,
310
+ mutation,
311
+ };
312
+ let proposal;
313
+ try {
314
+ if (request.deadlineAt <= now) {
315
+ proposal = this.proposals.rejectPromotionBeforePolicy({
316
+ ...base,
317
+ promotion: { ...promotion, prePolicyStatus: 'expired' },
318
+ }, 'expired');
319
+ }
320
+ else {
321
+ const route = this.delivery?.prepareOwnerApprovalForPreference({
322
+ sourceId: APPROVAL_SOURCE_ID,
323
+ scope: request.scope,
324
+ principalId: request.principalId,
325
+ principalLineage: request.principalLineage,
326
+ ownerGeneration: request.ownerGeneration,
327
+ });
328
+ if (route === undefined) {
329
+ throw new PersonalMemoryError('missing-approval-route', 'Preference promotion requires the trusted Delivery owner-route resolver');
330
+ }
331
+ if ('kind' in route) {
332
+ proposal = this.proposals.rejectPromotionBeforePolicy({
333
+ ...base,
334
+ promotion: { ...promotion, prePolicyStatus: 'stale-owner' },
335
+ }, 'stale-owner');
336
+ }
337
+ else {
338
+ if (!this.routeMatchesPromotion(route, request)) {
339
+ throw new PersonalMemoryError('unauthorized-principal', 'Preference promotion Delivery route changed its frozen owner authority');
340
+ }
341
+ proposal = this.proposals.propose({ ...base, dispatch: route });
342
+ }
343
+ }
344
+ }
345
+ catch (error) {
346
+ if (error instanceof MemoryPromotionCancelledError) {
347
+ throw Object.assign(new Error('Preference promotion was durably cancelled'), {
348
+ code: 'promotion-cancelled', receipt: error.receipt,
349
+ });
350
+ }
351
+ throw error;
352
+ }
353
+ return withPreferenceMemoryPromotionSubmissionDigest({
354
+ contractVersion: 1,
355
+ promotionId: request.promotionId,
356
+ promotionGeneration: request.promotionGeneration,
357
+ requestDigest: request.requestDigest,
358
+ outcome: proposal.replayed ? 'replayed' : 'accepted',
359
+ memoryProposalId: proposal.proposalId,
360
+ });
361
+ }
362
+ cancelPreferencePromotion(request) {
363
+ this.assertActive();
364
+ return this.memoryStore.cancelPromotionBeforeOrAfterSubmit(request).receipt;
365
+ }
366
+ listPromotionResults(limit) {
367
+ this.assertActive();
368
+ return this.memoryStore.listPendingPromotionResults(limit).map(result => {
369
+ const common = {
370
+ contractVersion: 1,
371
+ promotionId: result.promotionId,
372
+ promotionGeneration: result.promotionGeneration,
373
+ requestDigest: result.requestDigest,
374
+ resultVersion: result.resultVersion,
375
+ occurredAt: result.occurredAt,
376
+ receiptDigest: result.receiptDigest,
377
+ };
378
+ if (result.status === 'stale-owner')
379
+ return Object.freeze({ ...common, status: result.status });
380
+ if (result.status === 'rejected') {
381
+ return Object.freeze({
382
+ ...common, status: result.status, rejectionKind: 'owner-explicit',
383
+ memoryProposalId: result.memoryProposalId,
384
+ memoryProposalVersion: result.memoryProposalVersion,
385
+ });
386
+ }
387
+ if (result.status === 'confirmed') {
388
+ if (result.memoryRecordId === undefined || result.memoryRecordVersion === undefined
389
+ || result.memoryRecordDigest === undefined) {
390
+ throw new PersonalMemoryError('not-found', 'confirmed promotion result lost its Memory record');
391
+ }
392
+ return Object.freeze({
393
+ ...common, status: result.status,
394
+ memoryProposalId: result.memoryProposalId,
395
+ memoryProposalVersion: result.memoryProposalVersion,
396
+ memoryRecordId: result.memoryRecordId,
397
+ memoryRecordVersion: result.memoryRecordVersion,
398
+ memoryRecordDigest: result.memoryRecordDigest,
399
+ });
400
+ }
401
+ return Object.freeze({
402
+ ...common, status: result.status,
403
+ memoryProposalId: result.memoryProposalId,
404
+ memoryProposalVersion: result.memoryProposalVersion,
405
+ });
406
+ });
407
+ }
408
+ acknowledgePromotionResult(ack) {
409
+ this.assertActive();
410
+ const result = this.memoryStore.getPromotionResult(ack.promotionId, ack.promotionGeneration, ack.resultVersion);
411
+ if (result === undefined || result.receiptDigest !== ack.receiptDigest) {
412
+ throw new PersonalMemoryError('not-found', 'Preference promotion result acknowledgement changed identity');
413
+ }
414
+ this.memoryStore.completePromotionResult(result);
415
+ }
416
+ validatePromotionOwner(proposal) {
417
+ if (proposal.promotion === undefined || proposal.namespace.mode !== 'delivery')
418
+ return 'current';
419
+ const result = this.delivery?.prepareOwnerApprovalForPreference({
420
+ sourceId: APPROVAL_SOURCE_ID,
421
+ scope: proposal.promotion.scope,
422
+ principalId: proposal.principal,
423
+ principalLineage: {
424
+ principalRecordId: proposal.namespace.principalRecordId,
425
+ principalVersion: proposal.namespace.principalVersion,
426
+ },
427
+ ownerGeneration: proposal.promotion.ownerGeneration,
428
+ });
429
+ if (result === undefined) {
430
+ throw new PersonalMemoryError('missing-approval-route', 'Preference promotion owner resolver is unavailable');
431
+ }
432
+ if ('kind' in result)
433
+ return 'stale-owner';
434
+ return this.routeMatchesProposal(result, proposal) ? 'current' : 'stale-owner';
435
+ }
237
436
  injectSessionSnapshot(agent) {
238
437
  if (this.sessionSnapshots.has(agent))
239
438
  return;
@@ -282,12 +481,22 @@ export class PersonalMemoryService extends Service {
282
481
  if (explicitPrincipal === undefined || explicitPrincipal.trim() === '') {
283
482
  throw new PersonalMemoryError('missing-approval-route', 'memory proposal requires an authenticated Delivery route or an explicit trusted headless principal');
284
483
  }
285
- return { principal: explicitPrincipal };
484
+ const principalDigest = memoryPrincipalDigest(explicitPrincipal);
485
+ const namespace = Object.freeze({
486
+ mode: 'headless',
487
+ principalDigest,
488
+ lineageId: `headless:${principalDigest}`,
489
+ lineageVersion: 1,
490
+ });
491
+ if (agent !== undefined)
492
+ this.headlessNamespaces.set(agent, namespace);
493
+ return { principal: explicitPrincipal, namespace };
286
494
  }
287
495
  const dispatch = this.delivery.prepareAgentApproval(agent, {
288
496
  sourceId: APPROVAL_SOURCE_ID,
289
497
  });
290
- if (dispatch.sourceId !== APPROVAL_SOURCE_ID
498
+ if (dispatch.routeVersion !== 2
499
+ || dispatch.sourceId !== APPROVAL_SOURCE_ID
291
500
  || dispatch.workspace !== context.workspace
292
501
  || dispatch.bindingId.trim() === ''
293
502
  || dispatch.principal.trim() === '') {
@@ -296,9 +505,52 @@ export class PersonalMemoryService extends Service {
296
505
  if (explicitPrincipal !== undefined && explicitPrincipal !== dispatch.principal) {
297
506
  throw new PersonalMemoryError('unauthorized-principal', 'memory proposal principal does not match the authenticated Delivery owner');
298
507
  }
299
- return { principal: dispatch.principal, dispatch };
508
+ const namespace = Object.freeze({
509
+ mode: 'delivery',
510
+ principalDigest: memoryPrincipalDigest(dispatch.principal),
511
+ principalRecordId: dispatch.principalRecordId,
512
+ principalVersion: dispatch.principalVersion,
513
+ });
514
+ return { principal: dispatch.principal, namespace, dispatch };
515
+ }
516
+ agentContext(agent, explicitHeadlessPrincipal) {
517
+ const scope = this.agentScope(agent);
518
+ const attestation = agent !== undefined
519
+ && typeof this.delivery?.preferencePrincipalForAgent === 'function'
520
+ ? this.delivery.preferencePrincipalForAgent(agent)
521
+ : undefined;
522
+ if (attestation !== undefined
523
+ && attestation.scope.workspace === scope.workspace
524
+ && attestation.scope.preset === scope.agentPreset) {
525
+ return {
526
+ ...scope,
527
+ namespace: {
528
+ mode: 'delivery',
529
+ principalDigest: memoryPrincipalDigest(attestation.principalId),
530
+ principalRecordId: attestation.principalLineage.principalRecordId,
531
+ principalVersion: attestation.principalLineage.principalVersion,
532
+ },
533
+ };
534
+ }
535
+ const headless = agent === undefined ? undefined : this.headlessNamespaces.get(agent);
536
+ if (this.delivery === undefined && headless !== undefined)
537
+ return { ...scope, namespace: headless };
538
+ if (this.delivery === undefined && this.config.approvalMode === 'delivery-or-headless'
539
+ && explicitHeadlessPrincipal !== undefined && explicitHeadlessPrincipal.trim() !== '') {
540
+ const principalDigest = memoryPrincipalDigest(explicitHeadlessPrincipal);
541
+ const namespace = Object.freeze({
542
+ mode: 'headless',
543
+ principalDigest,
544
+ lineageId: `headless:${principalDigest}`,
545
+ lineageVersion: 1,
546
+ });
547
+ if (agent !== undefined)
548
+ this.headlessNamespaces.set(agent, namespace);
549
+ return { ...scope, namespace };
550
+ }
551
+ throw new PersonalMemoryError('missing-identity', 'memory operation requires a current authenticated owner namespace');
300
552
  }
301
- agentContext(agent) {
553
+ agentScope(agent) {
302
554
  if (agent === undefined)
303
555
  throw new PersonalMemoryError('missing-identity', 'memory operation requires an agent');
304
556
  const workspace = agent.session.header.cwd;
@@ -308,6 +560,26 @@ export class PersonalMemoryService extends Service {
308
560
  }
309
561
  return { workspace, agentPreset };
310
562
  }
563
+ routeMatchesPromotion(route, request) {
564
+ return route.routeVersion === 2
565
+ && route.sourceId === APPROVAL_SOURCE_ID
566
+ && route.workspace === request.scope.workspace
567
+ && route.principal === request.principalId
568
+ && route.principalRecordId === request.principalLineage.principalRecordId
569
+ && route.principalVersion === request.principalLineage.principalVersion
570
+ && route.bindingGeneration === request.ownerGeneration;
571
+ }
572
+ routeMatchesProposal(route, proposal) {
573
+ if (proposal.namespace.mode !== 'delivery' || proposal.promotion === undefined)
574
+ return false;
575
+ return route.routeVersion === 2
576
+ && route.sourceId === APPROVAL_SOURCE_ID
577
+ && route.workspace === proposal.promotion.scope.workspace
578
+ && route.principal === proposal.principal
579
+ && route.principalRecordId === proposal.namespace.principalRecordId
580
+ && route.principalVersion === proposal.namespace.principalVersion
581
+ && route.bindingGeneration === proposal.promotion.ownerGeneration;
582
+ }
311
583
  assertActive() {
312
584
  if (!this.active)
313
585
  throw new PersonalMemoryError('disposed', 'personal-memory service is disposed');
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/lib/sqlite.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { DatabaseSync } from 'node:sqlite';
2
- export declare const memorySchemaVersion = 2;
2
+ export declare const memorySchemaVersion = 4;
3
3
  export declare class MemoryDatabaseError extends Error {
4
- readonly code: 'invalid-path' | 'schema-too-new';
5
- constructor(code: 'invalid-path' | 'schema-too-new', message: string);
4
+ readonly code: 'invalid-path' | 'schema-too-new' | 'unsafe-file';
5
+ constructor(code: 'invalid-path' | 'schema-too-new' | 'unsafe-file', message: string);
6
6
  }
7
7
  export declare function openMemoryDatabase(path: string): DatabaseSync;
8
8
  //# sourceMappingURL=sqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAEpC,qBAAa,mBAAoB,SAAQ,KAAK;IAE1C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB;gBAAvC,IAAI,EAAE,cAAc,GAAG,gBAAgB,EAChD,OAAO,EAAE,MAAM;CAKlB;AAwJD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAoB7D"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAEpC,qBAAa,mBAAoB,SAAQ,KAAK;IAE1C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,GAAG,aAAa;gBAAvD,IAAI,EAAE,cAAc,GAAG,gBAAgB,GAAG,aAAa,EAChE,OAAO,EAAE,MAAM;CAKlB;AAkZD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA6B7D"}