synomem 0.1.0 → 0.1.1

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/CHANGELOG.md CHANGED
@@ -5,6 +5,13 @@ All notable changes will be documented here. The format follows
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.1.1] - 2026-09-04
9
+
10
+ ### Fixed
11
+
12
+ - Allow configured `SYNOMEM_ACTOR_ID`, `SYNOMEM_ACTOR_KIND`, and `SYNOMEM_ACTOR_NAME` values to
13
+ override historical CLI default identities for remote commands while preserving local fallbacks.
14
+
8
15
  ## [0.1.0] - 2026-09-04
9
16
 
10
17
  ### Added
@@ -31,5 +38,6 @@ All notable changes will be documented here. The format follows
31
38
  - Skill installation is explicit, constrained to supported runtime directories, and dry-run by
32
39
  default.
33
40
 
34
- [Unreleased]: https://github.com/Coaden/synomem/compare/v0.1.0...HEAD
41
+ [Unreleased]: https://github.com/Coaden/synomem/compare/v0.1.1...HEAD
42
+ [0.1.1]: https://github.com/Coaden/synomem/compare/v0.1.0...v0.1.1
35
43
  [0.1.0]: https://github.com/Coaden/synomem/releases/tag/v0.1.0
package/README.md CHANGED
@@ -43,8 +43,8 @@ MCP server, compact change feeds, and readable Markdown projections. V1 runs ent
43
43
  and opens no network listener.
44
44
 
45
45
  > [!IMPORTANT]
46
- > The renamed `synomem` package has not been published yet. It is pre-1.0 software, so review the
47
- > release notes and rename guidance before upgrading persisted storage or public API consumers.
46
+ > Synomem is pre-1.0 software. Review the release notes before upgrading persisted storage or public
47
+ > API consumers.
48
48
 
49
49
  ## Quick start
50
50
 
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,OAAO,EAA0B,MAAM,WAAW,CAAC;AAE5D,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIhG,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE9F,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AASrB,OAAO,KAAK,EACV,aAAa,EAQd,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,aAAa,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,eAAe,CAAC;KAClC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,aAAa,CAAC;QACrB,MAAM,EAAE,YAAY,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC;CAC7C;AAkMD,wBAAgB,SAAS,CACvB,EAAE,GAAE,KAAiB,EACrB,cAAc,GAAE,qBAAgD,EAChE,YAAY,GAAE,eAAoB,GACjC,OAAO,CA+yCT;AAED,wBAAsB,MAAM,CAC1B,IAAI,WAAe,EACnB,EAAE,GAAE,KAAiB,EACrB,cAAc,GAAE,qBAAgD,EAChE,YAAY,GAAE,eAAoB,GACjC,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,OAAO,EAA0B,MAAM,WAAW,CAAC;AAE5D,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIhG,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE9F,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AASrB,OAAO,KAAK,EACV,aAAa,EAQd,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,aAAa,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,eAAe,CAAC;KAClC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,aAAa,CAAC;QACrB,MAAM,EAAE,YAAY,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC;CAC7C;AAkND,wBAAgB,SAAS,CACvB,EAAE,GAAE,KAAiB,EACrB,cAAc,GAAE,qBAAgD,EAChE,YAAY,GAAE,eAAoB,GACjC,OAAO,CAi1CT;AAED,wBAAsB,MAAM,CAC1B,IAAI,WAAe,EACnB,EAAE,GAAE,KAAiB,EACrB,cAAc,GAAE,qBAAgD,EAChE,YAAY,GAAE,eAAoB,GACjC,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
package/dist/cli.js CHANGED
@@ -50,6 +50,18 @@ function actor(kind, id, displayName) {
50
50
  ...(displayName ? { displayName } : {}),
51
51
  };
52
52
  }
53
+ /**
54
+ * The acting identity for commands that do not take an explicit actor.
55
+ * Local storage accepts any actor, so these fall back to the historical CLI defaults; a remote
56
+ * backend binds the credential to one actor, so SYNOMEM_ACTOR_ID/KIND/NAME must be able to
57
+ * override them or those commands cannot authenticate.
58
+ */
59
+ function defaultActor(env, fallbackKind, fallbackId) {
60
+ const id = env.SYNOMEM_ACTOR_ID?.trim();
61
+ if (!id)
62
+ return actor(fallbackKind, fallbackId);
63
+ return actor(env.SYNOMEM_ACTOR_KIND?.trim() || fallbackKind, id, env.SYNOMEM_ACTOR_NAME?.trim());
64
+ }
53
65
  function todoDue(options) {
54
66
  if (options.dueDate && options.dueAt)
55
67
  throw new SynomemError('INVALID_INPUT', 'Use due-date or due-at, not both.');
@@ -272,7 +284,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
272
284
  if (persisted?.backend.kind === 'remote') {
273
285
  throw new SynomemError('INVALID_INPUT', 'The init command requires a local backend.');
274
286
  }
275
- await withClient(options.home, actor('system', 'cli'), async (client) => {
287
+ await withClient(options.home, defaultActor(env, 'system', 'cli'), async (client) => {
276
288
  const info = await client.info();
277
289
  if (info.backend !== 'local') {
278
290
  throw new SynomemError('INVALID_INPUT', 'The init command requires a local backend.');
@@ -414,7 +426,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
414
426
  .option('--description <text>')
415
427
  .action(async (id, options, command) => {
416
428
  const global = globals(command);
417
- const profile = await withClient(global.home, actor('system', 'cli'), (client) => client.agents.create({
429
+ const profile = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) => client.agents.create({
418
430
  id,
419
431
  displayName: options.name,
420
432
  ...(options.alias.length ? { aliases: options.alias } : {}),
@@ -481,7 +493,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
481
493
  .description('List known agent identities')
482
494
  .action(async (_options, command) => {
483
495
  const global = globals(command);
484
- const agents = await withClient(global.home, actor('system', 'cli'), (client) => client.agents.list());
496
+ const agents = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) => client.agents.list());
485
497
  const human = agents.length
486
498
  ? agents
487
499
  .map((profile) => `${profile.id} ${profile.displayName}${profile.aliases?.length ? ` aliases: ${profile.aliases.join(', ')}` : ''}`)
@@ -494,7 +506,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
494
506
  .description('Show one agent profile, resolving aliases')
495
507
  .action(async (id, _options, command) => {
496
508
  const global = globals(command);
497
- const profile = await withClient(global.home, actor('system', 'cli'), (client) => client.agents.get(id));
509
+ const profile = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) => client.agents.get(id));
498
510
  output(io, global.json, profile, `${profile.displayName} (${profile.id})\n${profile.description ?? 'No description.'}`);
499
511
  });
500
512
  agentCommand
@@ -507,7 +519,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
507
519
  .action(async (id, options, command) => {
508
520
  const global = globals(command);
509
521
  const hasAliases = options.clearAliases || options.alias.length > 0;
510
- const profile = await withClient(global.home, actor('system', 'cli'), (client) => client.agents.update(id, {
522
+ const profile = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) => client.agents.update(id, {
511
523
  ...(options.name ? { displayName: options.name } : {}),
512
524
  ...(hasAliases ? { aliases: options.clearAliases ? [] : options.alias } : {}),
513
525
  ...(options.description !== undefined ? { description: options.description } : {}),
@@ -564,7 +576,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
564
576
  });
565
577
  addListOptions(kudosCommand.command('list').description('List and filter kudos')).action(async (options, command) => {
566
578
  const global = globals(command);
567
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) => client.kudos.list(listInput(options)));
579
+ const page = await withClient(global.home, defaultActor(env, 'human', 'local-cli'), (client) => client.kudos.list(listInput(options)));
568
580
  output(io, global.json, page, page.items.length
569
581
  ? `${page.items.map(lineForSummary).join('\n')}${page.hasMore ? `\nNext cursor: ${page.nextCursor}` : ''}`
570
582
  : 'No kudos found.');
@@ -583,7 +595,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
583
595
  .option('--offset <number>', 'deprecated offset', '0')
584
596
  .action(async (options, command) => {
585
597
  const global = globals(command);
586
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) => client.items.list(itemListInput(options)));
598
+ const page = await withClient(global.home, defaultActor(env, 'human', 'local-cli'), (client) => client.items.list(itemListInput(options)));
587
599
  output(io, global.json, page, page.items.length
588
600
  ? `${page.items.map(lineForItem).join('\n')}${page.hasMore ? `\nNext cursor: ${page.nextCursor}` : ''}`
589
601
  : 'No items found.');
@@ -596,7 +608,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
596
608
  .option('--limit <number>', 'maximum changes (default 20, maximum 100)', '20')
597
609
  .action(async (options, command) => {
598
610
  const global = globals(command);
599
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) => client.items.changes({
611
+ const page = await withClient(global.home, defaultActor(env, 'human', 'local-cli'), (client) => client.items.changes({
600
612
  limit: Number(options.limit),
601
613
  ...(options.kind.length ? { kinds: options.kind } : {}),
602
614
  ...(options.after ? { after: options.after } : {}),
@@ -639,7 +651,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
639
651
  .option('--cursor <cursor>')
640
652
  .action(async (options, command) => {
641
653
  const global = globals(command);
642
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) => client.memos.list({
654
+ const page = await withClient(global.home, defaultActor(env, 'human', 'local-cli'), (client) => client.memos.list({
643
655
  ...(options.participant ? { participantAgentId: options.participant } : {}),
644
656
  ...(options.status ? { status: options.status } : {}),
645
657
  limit: Number(options.limit),
@@ -649,7 +661,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
649
661
  });
650
662
  memoCommand.command('show <memo-id>').action(async (id, _options, command) => {
651
663
  const global = globals(command);
652
- const record = await withClient(global.home, actor('human', 'local-cli'), (client) => client.memos.get(id));
664
+ const record = await withClient(global.home, defaultActor(env, 'human', 'local-cli'), (client) => client.memos.get(id));
653
665
  output(io, global.json, record, `${record.event.subject}\nID: ${record.event.id}\nStatus: ${record.status}\n\n${record.event.body}`);
654
666
  });
655
667
  for (const operation of ['read', 'archive']) {
@@ -697,7 +709,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
697
709
  .option('--limit <number>', 'maximum results', '10')
698
710
  .action(async (options, command) => {
699
711
  const global = globals(command);
700
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) => client.notes.list({
712
+ const page = await withClient(global.home, defaultActor(env, 'human', 'local-cli'), (client) => client.notes.list({
701
713
  ...(options.owner ? { participantAgentId: options.owner } : {}),
702
714
  ...(options.status ? { status: options.status } : {}),
703
715
  limit: Number(options.limit),
@@ -706,7 +718,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
706
718
  });
707
719
  noteCommand.command('show <note-id>').action(async (id, _options, command) => {
708
720
  const global = globals(command);
709
- const record = await withClient(global.home, actor('human', 'local-cli'), (client) => client.notes.get(id));
721
+ const record = await withClient(global.home, defaultActor(env, 'human', 'local-cli'), (client) => client.notes.get(id));
710
722
  output(io, global.json, record, `${record.current.title}\nID: ${record.event.id}\nVersion: ${record.current.version}\n\n${record.current.body}`);
711
723
  });
712
724
  noteCommand
@@ -778,7 +790,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
778
790
  .option('--limit <number>', 'maximum results', '10')
779
791
  .action(async (options, command) => {
780
792
  const global = globals(command);
781
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) => client.todos.list({
793
+ const page = await withClient(global.home, defaultActor(env, 'human', 'local-cli'), (client) => client.todos.list({
782
794
  ...(options.assignee ? { participantAgentId: options.assignee } : {}),
783
795
  ...(options.status ? { status: options.status } : {}),
784
796
  limit: Number(options.limit),
@@ -787,7 +799,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
787
799
  });
788
800
  todoCommand.command('show <todo-id>').action(async (id, _options, command) => {
789
801
  const global = globals(command);
790
- const record = await withClient(global.home, actor('human', 'local-cli'), (client) => client.todos.get(id));
802
+ const record = await withClient(global.home, defaultActor(env, 'human', 'local-cli'), (client) => client.todos.get(id));
791
803
  output(io, global.json, record, `${record.current.title}\nID: ${record.event.id}\nStatus: ${record.status}\nVersion: ${record.current.version}`);
792
804
  });
793
805
  todoCommand
@@ -870,7 +882,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
870
882
  .description('Show one kudos item and its current state')
871
883
  .action(async (id, _options, command) => {
872
884
  const global = globals(command);
873
- const record = await withClient(global.home, actor('system', 'cli'), (client) => client.kudos.get(id));
885
+ const record = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) => client.kudos.get(id));
874
886
  output(io, global.json, record, showRecord(record));
875
887
  });
876
888
  kudosCommand
@@ -913,7 +925,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
913
925
  const global = globals(command);
914
926
  if (!agentId)
915
927
  throw new SynomemError('INVALID_INPUT', 'Specify an agent.');
916
- const details = await withClient(global.home, actor('system', 'cli'), async (client) => {
928
+ const details = await withClient(global.home, defaultActor(env, 'system', 'cli'), async (client) => {
917
929
  const profile = await client.agents.get(agentId);
918
930
  const info = await client.info();
919
931
  if (info.backend !== 'local') {
@@ -942,7 +954,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
942
954
  });
943
955
  addListOptions(kudosCommand.command('stats').description('Show aggregate kudos statistics')).action(async (options, command) => {
944
956
  const global = globals(command);
945
- const stats = await withClient(global.home, actor('system', 'cli'), (client) => client.stats(listInput(options)));
957
+ const stats = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) => client.stats(listInput(options)));
946
958
  output(io, global.json, stats, `Total: ${stats.total}\nActive: ${stats.active}\nAcknowledged: ${stats.acknowledged}\nRevoked: ${stats.revoked}`);
947
959
  });
948
960
  program
@@ -950,7 +962,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
950
962
  .description('Regenerate current-state and filesystem projections from canonical events')
951
963
  .action(async (_options, command) => {
952
964
  const global = globals(command);
953
- const result = await withClient(global.home, actor('system', 'cli'), (client) => client.rebuild());
965
+ const result = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) => client.rebuild());
954
966
  output(io, global.json, result, `Rebuilt ${result.generated.length} file(s); removed ${result.removed.length} stale file(s).`);
955
967
  });
956
968
  program
@@ -958,7 +970,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
958
970
  .description('Create a transactionally consistent SQLite backup')
959
971
  .action(async (destination, _options, command) => {
960
972
  const global = globals(command);
961
- const path = await withClient(global.home, actor('system', 'cli'), (client) => {
973
+ const path = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) => {
962
974
  if (!client.backup) {
963
975
  throw new SynomemError('INVALID_INPUT', 'Filesystem backup is available only with the local backend.');
964
976
  }
@@ -973,7 +985,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
973
985
  .option('--output <path>', 'write to an explicit destination instead of stdout')
974
986
  .action(async (options, command) => {
975
987
  const global = globals(command);
976
- const content = await withClient(global.home, actor('system', 'cli'), (client) => client.export(options.format));
988
+ const content = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) => client.export(options.format));
977
989
  if (options.output) {
978
990
  const destination = resolve(options.output);
979
991
  atomicWriteFile(destination, content, 0o600);
@@ -988,7 +1000,7 @@ export function createCli(io = defaultIo, serviceFactory = configuredServiceFact
988
1000
  .description('Run safe diagnostics')
989
1001
  .action(async (_options, command) => {
990
1002
  const global = globals(command);
991
- const result = await withClient(global.home, actor('system', 'cli'), (client) => client.doctor());
1003
+ const result = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) => client.doctor());
992
1004
  const human = result.diagnostics
993
1005
  .map((item) => `${item.level.toUpperCase().padEnd(7)} ${item.code}: ${item.message}`)
994
1006
  .join('\n');
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synomem",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Shared memory, durable communication, recognition, and task coordination for AI agents",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/cli.ts CHANGED
@@ -109,6 +109,22 @@ function actor(kind: string, id: string, displayName?: string): ActorIdentity {
109
109
  };
110
110
  }
111
111
 
112
+ /**
113
+ * The acting identity for commands that do not take an explicit actor.
114
+ * Local storage accepts any actor, so these fall back to the historical CLI defaults; a remote
115
+ * backend binds the credential to one actor, so SYNOMEM_ACTOR_ID/KIND/NAME must be able to
116
+ * override them or those commands cannot authenticate.
117
+ */
118
+ function defaultActor(
119
+ env: NodeJS.ProcessEnv,
120
+ fallbackKind: string,
121
+ fallbackId: string,
122
+ ): ActorIdentity {
123
+ const id = env.SYNOMEM_ACTOR_ID?.trim();
124
+ if (!id) return actor(fallbackKind, fallbackId);
125
+ return actor(env.SYNOMEM_ACTOR_KIND?.trim() || fallbackKind, id, env.SYNOMEM_ACTOR_NAME?.trim());
126
+ }
127
+
112
128
  function todoDue(options: {
113
129
  dueDate?: string;
114
130
  dueAt?: string;
@@ -386,7 +402,7 @@ export function createCli(
386
402
  if (persisted?.backend.kind === 'remote') {
387
403
  throw new SynomemError('INVALID_INPUT', 'The init command requires a local backend.');
388
404
  }
389
- await withClient(options.home, actor('system', 'cli'), async (client) => {
405
+ await withClient(options.home, defaultActor(env, 'system', 'cli'), async (client) => {
390
406
  const info = await client.info();
391
407
  if (info.backend !== 'local') {
392
408
  throw new SynomemError('INVALID_INPUT', 'The init command requires a local backend.');
@@ -595,13 +611,16 @@ export function createCli(
595
611
  command: Command,
596
612
  ) => {
597
613
  const global = globals(command);
598
- const profile = await withClient(global.home, actor('system', 'cli'), (client) =>
599
- client.agents.create({
600
- id,
601
- displayName: options.name,
602
- ...(options.alias.length ? { aliases: options.alias } : {}),
603
- ...(options.description ? { description: options.description } : {}),
604
- }),
614
+ const profile = await withClient(
615
+ global.home,
616
+ defaultActor(env, 'system', 'cli'),
617
+ (client) =>
618
+ client.agents.create({
619
+ id,
620
+ displayName: options.name,
621
+ ...(options.alias.length ? { aliases: options.alias } : {}),
622
+ ...(options.description ? { description: options.description } : {}),
623
+ }),
605
624
  );
606
625
  output(io, global.json, profile, `Created ${profile.displayName} (${profile.id})`);
607
626
  },
@@ -684,7 +703,7 @@ export function createCli(
684
703
  .description('List known agent identities')
685
704
  .action(async (_options, command: Command) => {
686
705
  const global = globals(command);
687
- const agents = await withClient(global.home, actor('system', 'cli'), (client) =>
706
+ const agents = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) =>
688
707
  client.agents.list(),
689
708
  );
690
709
  const human = agents.length
@@ -703,7 +722,7 @@ export function createCli(
703
722
  .description('Show one agent profile, resolving aliases')
704
723
  .action(async (id: string, _options, command: Command) => {
705
724
  const global = globals(command);
706
- const profile = await withClient(global.home, actor('system', 'cli'), (client) =>
725
+ const profile = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) =>
707
726
  client.agents.get(id),
708
727
  );
709
728
  output(
@@ -729,12 +748,15 @@ export function createCli(
729
748
  ) => {
730
749
  const global = globals(command);
731
750
  const hasAliases = options.clearAliases || options.alias.length > 0;
732
- const profile = await withClient(global.home, actor('system', 'cli'), (client) =>
733
- client.agents.update(id, {
734
- ...(options.name ? { displayName: options.name } : {}),
735
- ...(hasAliases ? { aliases: options.clearAliases ? [] : options.alias } : {}),
736
- ...(options.description !== undefined ? { description: options.description } : {}),
737
- }),
751
+ const profile = await withClient(
752
+ global.home,
753
+ defaultActor(env, 'system', 'cli'),
754
+ (client) =>
755
+ client.agents.update(id, {
756
+ ...(options.name ? { displayName: options.name } : {}),
757
+ ...(hasAliases ? { aliases: options.clearAliases ? [] : options.alias } : {}),
758
+ ...(options.description !== undefined ? { description: options.description } : {}),
759
+ }),
738
760
  );
739
761
  output(io, global.json, profile, `Updated ${profile.displayName} (${profile.id})`);
740
762
  },
@@ -835,8 +857,10 @@ export function createCli(
835
857
  addListOptions(kudosCommand.command('list').description('List and filter kudos')).action(
836
858
  async (options: Record<string, string>, command: Command) => {
837
859
  const global = globals(command);
838
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) =>
839
- client.kudos.list(listInput(options)),
860
+ const page = await withClient(
861
+ global.home,
862
+ defaultActor(env, 'human', 'local-cli'),
863
+ (client) => client.kudos.list(listInput(options)),
840
864
  );
841
865
  output(
842
866
  io,
@@ -863,8 +887,10 @@ export function createCli(
863
887
  .option('--offset <number>', 'deprecated offset', '0')
864
888
  .action(async (options: Record<string, string | string[]>, command: Command) => {
865
889
  const global = globals(command);
866
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) =>
867
- client.items.list(itemListInput(options)),
890
+ const page = await withClient(
891
+ global.home,
892
+ defaultActor(env, 'human', 'local-cli'),
893
+ (client) => client.items.list(itemListInput(options)),
868
894
  );
869
895
  output(
870
896
  io,
@@ -885,12 +911,15 @@ export function createCli(
885
911
  .action(
886
912
  async (options: { after?: string; limit: string; kind: string[] }, command: Command) => {
887
913
  const global = globals(command);
888
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) =>
889
- client.items.changes({
890
- limit: Number(options.limit),
891
- ...(options.kind.length ? { kinds: options.kind as ItemListInput['kinds'] } : {}),
892
- ...(options.after ? { after: options.after } : {}),
893
- }),
914
+ const page = await withClient(
915
+ global.home,
916
+ defaultActor(env, 'human', 'local-cli'),
917
+ (client) =>
918
+ client.items.changes({
919
+ limit: Number(options.limit),
920
+ ...(options.kind.length ? { kinds: options.kind as ItemListInput['kinds'] } : {}),
921
+ ...(options.after ? { after: options.after } : {}),
922
+ }),
894
923
  );
895
924
  const human = page.items.length
896
925
  ? `${page.items
@@ -964,21 +993,26 @@ export function createCli(
964
993
  command: Command,
965
994
  ) => {
966
995
  const global = globals(command);
967
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) =>
968
- client.memos.list({
969
- ...(options.participant ? { participantAgentId: options.participant } : {}),
970
- ...(options.status ? { status: options.status } : {}),
971
- limit: Number(options.limit),
972
- ...(options.cursor ? { cursor: options.cursor } : {}),
973
- }),
996
+ const page = await withClient(
997
+ global.home,
998
+ defaultActor(env, 'human', 'local-cli'),
999
+ (client) =>
1000
+ client.memos.list({
1001
+ ...(options.participant ? { participantAgentId: options.participant } : {}),
1002
+ ...(options.status ? { status: options.status } : {}),
1003
+ limit: Number(options.limit),
1004
+ ...(options.cursor ? { cursor: options.cursor } : {}),
1005
+ }),
974
1006
  );
975
1007
  output(io, global.json, page, page.items.map(lineForItem).join('\n') || 'No memos found.');
976
1008
  },
977
1009
  );
978
1010
  memoCommand.command('show <memo-id>').action(async (id: string, _options, command: Command) => {
979
1011
  const global = globals(command);
980
- const record = await withClient(global.home, actor('human', 'local-cli'), (client) =>
981
- client.memos.get(id),
1012
+ const record = await withClient(
1013
+ global.home,
1014
+ defaultActor(env, 'human', 'local-cli'),
1015
+ (client) => client.memos.get(id),
982
1016
  );
983
1017
  output(
984
1018
  io,
@@ -1068,20 +1102,25 @@ export function createCli(
1068
1102
  .action(
1069
1103
  async (options: { owner?: string; status?: string; limit: string }, command: Command) => {
1070
1104
  const global = globals(command);
1071
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) =>
1072
- client.notes.list({
1073
- ...(options.owner ? { participantAgentId: options.owner } : {}),
1074
- ...(options.status ? { status: options.status } : {}),
1075
- limit: Number(options.limit),
1076
- }),
1105
+ const page = await withClient(
1106
+ global.home,
1107
+ defaultActor(env, 'human', 'local-cli'),
1108
+ (client) =>
1109
+ client.notes.list({
1110
+ ...(options.owner ? { participantAgentId: options.owner } : {}),
1111
+ ...(options.status ? { status: options.status } : {}),
1112
+ limit: Number(options.limit),
1113
+ }),
1077
1114
  );
1078
1115
  output(io, global.json, page, page.items.map(lineForItem).join('\n') || 'No notes found.');
1079
1116
  },
1080
1117
  );
1081
1118
  noteCommand.command('show <note-id>').action(async (id: string, _options, command: Command) => {
1082
1119
  const global = globals(command);
1083
- const record = await withClient(global.home, actor('human', 'local-cli'), (client) =>
1084
- client.notes.get(id),
1120
+ const record = await withClient(
1121
+ global.home,
1122
+ defaultActor(env, 'human', 'local-cli'),
1123
+ (client) => client.notes.get(id),
1085
1124
  );
1086
1125
  output(
1087
1126
  io,
@@ -1219,20 +1258,25 @@ export function createCli(
1219
1258
  .action(
1220
1259
  async (options: { assignee?: string; status?: string; limit: string }, command: Command) => {
1221
1260
  const global = globals(command);
1222
- const page = await withClient(global.home, actor('human', 'local-cli'), (client) =>
1223
- client.todos.list({
1224
- ...(options.assignee ? { participantAgentId: options.assignee } : {}),
1225
- ...(options.status ? { status: options.status } : {}),
1226
- limit: Number(options.limit),
1227
- }),
1261
+ const page = await withClient(
1262
+ global.home,
1263
+ defaultActor(env, 'human', 'local-cli'),
1264
+ (client) =>
1265
+ client.todos.list({
1266
+ ...(options.assignee ? { participantAgentId: options.assignee } : {}),
1267
+ ...(options.status ? { status: options.status } : {}),
1268
+ limit: Number(options.limit),
1269
+ }),
1228
1270
  );
1229
1271
  output(io, global.json, page, page.items.map(lineForItem).join('\n') || 'No todos found.');
1230
1272
  },
1231
1273
  );
1232
1274
  todoCommand.command('show <todo-id>').action(async (id: string, _options, command: Command) => {
1233
1275
  const global = globals(command);
1234
- const record = await withClient(global.home, actor('human', 'local-cli'), (client) =>
1235
- client.todos.get(id),
1276
+ const record = await withClient(
1277
+ global.home,
1278
+ defaultActor(env, 'human', 'local-cli'),
1279
+ (client) => client.todos.get(id),
1236
1280
  );
1237
1281
  output(
1238
1282
  io,
@@ -1363,7 +1407,7 @@ export function createCli(
1363
1407
  .description('Show one kudos item and its current state')
1364
1408
  .action(async (id: string, _options, command: Command) => {
1365
1409
  const global = globals(command);
1366
- const record = await withClient(global.home, actor('system', 'cli'), (client) =>
1410
+ const record = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) =>
1367
1411
  client.kudos.get(id),
1368
1412
  );
1369
1413
  output(io, global.json, record, showRecord(record));
@@ -1437,28 +1481,32 @@ export function createCli(
1437
1481
  ) => {
1438
1482
  const global = globals(command);
1439
1483
  if (!agentId) throw new SynomemError('INVALID_INPUT', 'Specify an agent.');
1440
- const details = await withClient(global.home, actor('system', 'cli'), async (client) => {
1441
- const profile = await client.agents.get(agentId);
1442
- const info = await client.info();
1443
- if (info.backend !== 'local') {
1444
- throw new SynomemError(
1445
- 'INVALID_INPUT',
1446
- 'Generated WINS.md files are available only with the local backend.',
1447
- );
1448
- }
1449
- const capabilities = await client.capabilities();
1450
- const path = join(info.home, profile.id, 'WINS.md');
1451
- if (!existsSync(path)) {
1452
- const hint = capabilities.projections.writeWinsMarkdown
1453
- ? 'Run `synomem rebuild` to generate it.'
1454
- : 'Enable projection.writeWinsMarkdown and run `synomem rebuild`.';
1455
- throw new SynomemError(
1456
- 'INVALID_INPUT',
1457
- `No generated WINS.md exists for ${profile.id}. ${hint}`,
1458
- );
1459
- }
1460
- return { profile, path, content: readFileSync(path, 'utf8') };
1461
- });
1484
+ const details = await withClient(
1485
+ global.home,
1486
+ defaultActor(env, 'system', 'cli'),
1487
+ async (client) => {
1488
+ const profile = await client.agents.get(agentId);
1489
+ const info = await client.info();
1490
+ if (info.backend !== 'local') {
1491
+ throw new SynomemError(
1492
+ 'INVALID_INPUT',
1493
+ 'Generated WINS.md files are available only with the local backend.',
1494
+ );
1495
+ }
1496
+ const capabilities = await client.capabilities();
1497
+ const path = join(info.home, profile.id, 'WINS.md');
1498
+ if (!existsSync(path)) {
1499
+ const hint = capabilities.projections.writeWinsMarkdown
1500
+ ? 'Run `synomem rebuild` to generate it.'
1501
+ : 'Enable projection.writeWinsMarkdown and run `synomem rebuild`.';
1502
+ throw new SynomemError(
1503
+ 'INVALID_INPUT',
1504
+ `No generated WINS.md exists for ${profile.id}. ${hint}`,
1505
+ );
1506
+ }
1507
+ return { profile, path, content: readFileSync(path, 'utf8') };
1508
+ },
1509
+ );
1462
1510
  if (options.open) {
1463
1511
  const commandName =
1464
1512
  process.platform === 'darwin'
@@ -1478,7 +1526,7 @@ export function createCli(
1478
1526
  kudosCommand.command('stats').description('Show aggregate kudos statistics'),
1479
1527
  ).action(async (options: Record<string, string>, command: Command) => {
1480
1528
  const global = globals(command);
1481
- const stats = await withClient(global.home, actor('system', 'cli'), (client) =>
1529
+ const stats = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) =>
1482
1530
  client.stats(listInput(options)),
1483
1531
  );
1484
1532
  output(
@@ -1494,7 +1542,7 @@ export function createCli(
1494
1542
  .description('Regenerate current-state and filesystem projections from canonical events')
1495
1543
  .action(async (_options, command: Command) => {
1496
1544
  const global = globals(command);
1497
- const result = await withClient(global.home, actor('system', 'cli'), (client) =>
1545
+ const result = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) =>
1498
1546
  client.rebuild(),
1499
1547
  );
1500
1548
  output(
@@ -1510,7 +1558,7 @@ export function createCli(
1510
1558
  .description('Create a transactionally consistent SQLite backup')
1511
1559
  .action(async (destination: string, _options, command: Command) => {
1512
1560
  const global = globals(command);
1513
- const path = await withClient(global.home, actor('system', 'cli'), (client) => {
1561
+ const path = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) => {
1514
1562
  if (!client.backup) {
1515
1563
  throw new SynomemError(
1516
1564
  'INVALID_INPUT',
@@ -1535,8 +1583,10 @@ export function createCli(
1535
1583
  command: Command,
1536
1584
  ) => {
1537
1585
  const global = globals(command);
1538
- const content = await withClient(global.home, actor('system', 'cli'), (client) =>
1539
- client.export(options.format),
1586
+ const content = await withClient(
1587
+ global.home,
1588
+ defaultActor(env, 'system', 'cli'),
1589
+ (client) => client.export(options.format),
1540
1590
  );
1541
1591
  if (options.output) {
1542
1592
  const destination = resolve(options.output);
@@ -1558,7 +1608,7 @@ export function createCli(
1558
1608
  .description('Run safe diagnostics')
1559
1609
  .action(async (_options, command: Command) => {
1560
1610
  const global = globals(command);
1561
- const result = await withClient(global.home, actor('system', 'cli'), (client) =>
1611
+ const result = await withClient(global.home, defaultActor(env, 'system', 'cli'), (client) =>
1562
1612
  client.doctor(),
1563
1613
  );
1564
1614
  const human = result.diagnostics