@songsid/agend 2.1.4-beta.1 → 2.1.4-beta.11

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.
Files changed (107) hide show
  1. package/dist/backend/antigravity.d.ts +1 -0
  2. package/dist/backend/antigravity.js +1 -0
  3. package/dist/backend/antigravity.js.map +1 -1
  4. package/dist/backend/claude-code.d.ts +1 -0
  5. package/dist/backend/claude-code.js +24 -2
  6. package/dist/backend/claude-code.js.map +1 -1
  7. package/dist/backend/codex.d.ts +1 -0
  8. package/dist/backend/codex.js +43 -4
  9. package/dist/backend/codex.js.map +1 -1
  10. package/dist/backend/gemini-cli.d.ts +1 -0
  11. package/dist/backend/gemini-cli.js +1 -0
  12. package/dist/backend/gemini-cli.js.map +1 -1
  13. package/dist/backend/grok.d.ts +1 -0
  14. package/dist/backend/grok.js +1 -0
  15. package/dist/backend/grok.js.map +1 -1
  16. package/dist/backend/kiro.d.ts +1 -0
  17. package/dist/backend/kiro.js +1 -0
  18. package/dist/backend/kiro.js.map +1 -1
  19. package/dist/backend/mock.d.ts +1 -0
  20. package/dist/backend/mock.js +1 -0
  21. package/dist/backend/mock.js.map +1 -1
  22. package/dist/backend/opencode.d.ts +40 -0
  23. package/dist/backend/opencode.js +81 -1
  24. package/dist/backend/opencode.js.map +1 -1
  25. package/dist/backend/types.d.ts +10 -0
  26. package/dist/backend/types.js +7 -0
  27. package/dist/backend/types.js.map +1 -1
  28. package/dist/channel/adapters/discord.js +24 -7
  29. package/dist/channel/adapters/discord.js.map +1 -1
  30. package/dist/channel/mcp-server.js +6 -20
  31. package/dist/channel/mcp-server.js.map +1 -1
  32. package/dist/channel/mcp-tools.js +1 -1
  33. package/dist/channel/mcp-tools.js.map +1 -1
  34. package/dist/channel/types.d.ts +1 -1
  35. package/dist/classic-channel-manager.d.ts +34 -3
  36. package/dist/classic-channel-manager.js +190 -31
  37. package/dist/classic-channel-manager.js.map +1 -1
  38. package/dist/cli.js +65 -13
  39. package/dist/cli.js.map +1 -1
  40. package/dist/completion-install.d.ts +70 -0
  41. package/dist/completion-install.js +152 -0
  42. package/dist/completion-install.js.map +1 -0
  43. package/dist/completion.d.ts +7 -1
  44. package/dist/completion.js +14 -4
  45. package/dist/completion.js.map +1 -1
  46. package/dist/config-validator.js +35 -7
  47. package/dist/config-validator.js.map +1 -1
  48. package/dist/config.js +1 -0
  49. package/dist/config.js.map +1 -1
  50. package/dist/daemon.d.ts +53 -0
  51. package/dist/daemon.js +229 -40
  52. package/dist/daemon.js.map +1 -1
  53. package/dist/fleet-context.d.ts +8 -0
  54. package/dist/fleet-manager.d.ts +143 -3
  55. package/dist/fleet-manager.js +1109 -290
  56. package/dist/fleet-manager.js.map +1 -1
  57. package/dist/general-knowledge/skills/backend-providers/SKILL.md +114 -0
  58. package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +3 -1
  59. package/dist/general-knowledge/skills/delegation-playbook/SKILL.md +52 -0
  60. package/dist/general-knowledge/skills/development-workflow/SKILL.md +28 -0
  61. package/dist/general-knowledge/skills/fleet-config/SKILL.md +1 -0
  62. package/dist/general-knowledge/skills/fleet-health/SKILL.md +1 -0
  63. package/dist/general-knowledge/skills/fleet-restart/SKILL.md +1 -0
  64. package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +1 -0
  65. package/dist/general-knowledge/skills/model-discovery/SKILL.md +1 -0
  66. package/dist/general-knowledge/skills/multi-channel/SKILL.md +1 -0
  67. package/dist/general-knowledge/skills/scheduling/SKILL.md +1 -0
  68. package/dist/general-knowledge/skills/session-management/SKILL.md +1 -0
  69. package/dist/general-knowledge/skills/tui-effort/SKILL.md +1 -0
  70. package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +30 -0
  71. package/dist/instance-lifecycle.d.ts +10 -0
  72. package/dist/instance-lifecycle.js +50 -33
  73. package/dist/instance-lifecycle.js.map +1 -1
  74. package/dist/instructions.d.ts +12 -0
  75. package/dist/instructions.js +33 -0
  76. package/dist/instructions.js.map +1 -1
  77. package/dist/locale.js +130 -0
  78. package/dist/locale.js.map +1 -1
  79. package/dist/outbound-schemas.d.ts +2 -1
  80. package/dist/outbound-schemas.js +1 -0
  81. package/dist/outbound-schemas.js.map +1 -1
  82. package/dist/quickstart.js +25 -0
  83. package/dist/quickstart.js.map +1 -1
  84. package/dist/restart-progress.d.ts +7 -1
  85. package/dist/restart-progress.js +27 -6
  86. package/dist/restart-progress.js.map +1 -1
  87. package/dist/tool-progress.d.ts +40 -0
  88. package/dist/tool-progress.js +289 -0
  89. package/dist/tool-progress.js.map +1 -0
  90. package/dist/topic-commands.d.ts +26 -0
  91. package/dist/topic-commands.js +117 -1
  92. package/dist/topic-commands.js.map +1 -1
  93. package/dist/transcript-monitor.d.ts +15 -2
  94. package/dist/transcript-monitor.js +63 -17
  95. package/dist/transcript-monitor.js.map +1 -1
  96. package/dist/transcript-sources.d.ts +106 -0
  97. package/dist/transcript-sources.js +428 -0
  98. package/dist/transcript-sources.js.map +1 -0
  99. package/dist/types.d.ts +8 -0
  100. package/dist/update-marker.d.ts +30 -0
  101. package/dist/update-marker.js +71 -20
  102. package/dist/update-marker.js.map +1 -1
  103. package/dist/update-progress.d.ts +6 -0
  104. package/dist/update-progress.js +29 -0
  105. package/dist/update-progress.js.map +1 -0
  106. package/dist/workflow-templates/default.md +2 -1
  107. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tools.js","sourceRoot":"","sources":["../../src/channel/mcp-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-tools.js","sourceRoot":"","sources":["../../src/channel/mcp-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAgB,MAAM,KAAK,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAWlD,4DAA4D;AAC5D,SAAS,iBAAiB,CAAC,MAAe;IACxC,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAA4B,CAAC;IAC9D,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,IAAwB,CAAC;AAClC,CAAC;AAQD;;;GAGG;AACH,MAAM,IAAI,GAAqC;IAC7C,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS;QACzB,4FAA4F,CAAC;IAC/F,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS;QACzB,6CAA6C,CAAC;IAChD,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe;QACtC,8EAA8E,CAAC;IACjF,CAAC,qBAAqB,EAAE,OAAO,CAAC,sBAAsB;QACpD,+FAA+F,CAAC;IAClG,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;QAC5C,uJAAuJ,CAAC;IAC1J,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;QAC5C,+HAA+H,CAAC;IAClI,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB;QAC1C,2DAA2D,CAAC;IAC9D,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;QAC5C,sEAAsE,CAAC;IACzE,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;QAC5C,0BAA0B,CAAC;IAC7B,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa;QAC5B,iKAAiK,CAAC;IACpK,CAAC,eAAe,EAAE,OAAO,CAAC,gBAAgB;QACxC,yOAAyO,CAAC;IAC5O,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB;QAC1C,8HAA8H,CAAC;IACjI,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;QAC5C,yCAAyC,CAAC;IAC5C,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa;QACjC,8FAA8F,CAAC;IACjG,CAAC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC7C,2EAA2E,CAAC;IAC9E,CAAC,qBAAqB,EAAE,OAAO,CAAC,sBAAsB;QACpD,sIAAsI,CAAC;IACzI,CAAC,eAAe,EAAE,OAAO,CAAC,gBAAgB;QACxC,sJAAsJ,CAAC;IACzJ,CAAC,eAAe,EAAE,OAAO,CAAC,gBAAgB;QACxC,yIAAyI,CAAC;IAC5I,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc;QACpC,6FAA6F,CAAC;IAChG,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc;QACpC,wDAAwD,CAAC;IAC3D,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa;QAClC,uDAAuD,CAAC;IAC1D,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc;QACpC,sEAAsE,CAAC;IACzE,CAAC,mBAAmB,EAAE,OAAO,CAAC,oBAAoB;QAChD,wHAAwH,CAAC;IAC3H,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB;QAC1C,qEAAqE,CAAC;IACxE,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB;QAC1C,mCAAmC,CAAC;IACtC,CAAC,kBAAkB,EAAE,OAAO,CAAC,mBAAmB;QAC9C,6EAA6E,CAAC;IAChF,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB;QAC1C,qFAAqF,CAAC;IACxF,CAAC,eAAe,EAAE,OAAO,CAAC,gBAAgB;QACxC,qCAAqC,CAAC;IACxC,CAAC,eAAe,EAAE,OAAO,CAAC,gBAAgB;QACxC,kDAAkD,CAAC;IACrD,CAAC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC7C,qEAAqE,CAAC;IACxE,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa;QAClC,sMAAsM,CAAC;IACzM,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY;QAChC,gMAAgM,CAAC;IACnM,CAAC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAC/C,iEAAiE,CAAC;IACpE,CAAC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC7C,iHAAiH,CAAC;IACpH,CAAC,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;QACzD,yHAAyH,CAAC;IAC5H,CAAC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;QACvD,qFAAqF,CAAC;IACxF,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;QAC5C,kQAAkQ,CAAC;IACrQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;QAC5C,0EAA0E,CAAC;IAC7E,CAAC,kBAAkB,EAAE,OAAO,CAAC,mBAAmB;QAC9C,2OAA2O,CAAC;IAC9O,CAAC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC7C,yHAAyH,CAAC;IAC5H,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;QAC5C,oIAAoI,CAAC;IACvI,CAAC,eAAe,EAAE,OAAO,CAAC,gBAAgB;QACxC,yIAAyI,CAAC;IAC5I,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe;QACtC,gDAAgD,CAAC;IACnD,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;QAC5C,qFAAqF,CAAC;IACxF,CAAC,qBAAqB,EAAE,OAAO,CAAC,sBAAsB;QACpD,6EAA6E,CAAC;IAChF,CAAC,kBAAkB,EAAE,OAAO,CAAC,mBAAmB;QAC9C,mEAAmE,CAAC;CACvE,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAc,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;IACzE,IAAI;IACJ,WAAW;IACX,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC;CACvC,CAAC,CAAC,CAAC;AAEJ,sEAAsE;AACtE,MAAM,CAAC,MAAM,SAAS,GAA6B;IACjD,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5B,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO,EAAE,cAAc;QAChC,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB;QACtE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB;QAChF,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB;KAC1G;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,CAAC;IAC/E;;;;;;;;;;;OAWG;IACH,OAAO,EAAE;QACP,gEAAgE;QAChE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB;QACvD,+CAA+C;QAC/C,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY;QAClG,WAAW;QACX,kBAAkB,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW;QACxF,uEAAuE;QACvE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe;QACxE,+CAA+C;QAC/C,MAAM,EAAE,gBAAgB,EAAE,eAAe;QACzC,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB;KACvD;CACF,CAAC"}
@@ -10,7 +10,7 @@ export interface InstanceStatusData {
10
10
  costCents: number;
11
11
  }
12
12
  export interface AlertData {
13
- type: "hang" | "cost_warn" | "cost_limit" | "schedule_deferred" | "rotation" | "cancel";
13
+ type: "hang" | "cost_warn" | "cost_limit" | "schedule_deferred" | "rotation" | "cancel" | "interactive_prompt" | "exit_restart" | "clear_confirm";
14
14
  instanceName: string;
15
15
  message: string;
16
16
  choices?: Choice[];
@@ -35,6 +35,15 @@ export interface ClassicChannel {
35
35
  * the historical name — single-bot users see no change across the upgrade.
36
36
  */
37
37
  export declare function classicInstanceName(sanitizedName: string, channelId: string, adapterId?: string): string;
38
+ /**
39
+ * Infer the platform which issued a Classic channel id.
40
+ *
41
+ * Telegram group ids are negative. Telegram private-chat ids are positive but
42
+ * fit in 52 bits (at most 16 decimal digits), while Discord snowflakes are
43
+ * currently 17-20 decimal digits. Anything else is deliberately left unknown
44
+ * so custom/future adapters retain the backwards-compatible primary fallback.
45
+ */
46
+ export declare function inferClassicChannelType(channelId: string): "telegram" | "discord" | undefined;
38
47
  /**
39
48
  * Manages classic bot channel lifecycle — register/unregister/persist.
40
49
  * Persists to ~/.agend/classicBot.yaml with per-channel backend override.
@@ -50,14 +59,26 @@ export declare class ClassicChannelManager {
50
59
  private defaults;
51
60
  private readonly configPath;
52
61
  private lastMtime;
53
- /** The primary (channels[0]) adapter id. Legacy entries migrate to it; it also names without a suffix. */
62
+ /** The primary (channels[0]) adapter id. It names without a suffix. */
54
63
  private primaryAdapterId?;
64
+ /** Config-order adapter identities, used to migrate legacy rows by platform. */
65
+ private adapters;
55
66
  constructor(dataDir: string, logger: Logger);
56
67
  /**
57
- * Record which adapter is primary. Migrates any legacy (adapterId-less)
58
- * entries onto it and rewrites the file in the new format. Idempotent.
68
+ * Backwards-compatible single-adapter configuration used by tests and older
69
+ * callers. Production startup supplies the complete adapter list through
70
+ * {@link configureAdapters} so legacy rows can be matched by platform.
59
71
  */
60
72
  setPrimaryAdapterId(adapterId: string): void;
73
+ /**
74
+ * Configure all adapters in fleet.yaml order, then migrate/repair persisted
75
+ * Classic registrations. The full list matters when the primary adapter is
76
+ * a different platform from a legacy channel.
77
+ */
78
+ configureAdapters(adapters: ReadonlyArray<{
79
+ id?: string;
80
+ type: string;
81
+ }>): void;
61
82
  /** Map key for a (channelId, adapterId) pair. adapterId-less = legacy entry (pre-migration). */
62
83
  private compositeKey;
63
84
  /** Rebuild the channelId presence set from the entry map (call after any mutation). */
@@ -68,6 +89,16 @@ export declare class ClassicChannelManager {
68
89
  * not-yet-migrated legacy entry as a defensive fallback.
69
90
  */
70
91
  private find;
92
+ /** Type of a configured adapter id, including historical default ids. */
93
+ private adapterType;
94
+ /** Deterministically choose the first configured adapter for a platform. */
95
+ private adapterForType;
96
+ /** Preserve the pre-repair file once; instance/workspace data is never deleted. */
97
+ private backupBeforeAdapterRepair;
98
+ /**
99
+ * Load the persisted registry. Returns true when it migrated/repaired data
100
+ * and the caller should write the normalized registry back to disk.
101
+ */
71
102
  private load;
72
103
  private save;
73
104
  /** Poll for external file changes (call periodically, e.g. every 30s) */
@@ -1,4 +1,4 @@
1
- import { existsSync, readFileSync, writeFileSync, mkdirSync, appendFileSync, readdirSync, unlinkSync, statSync } from "node:fs";
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, appendFileSync, copyFileSync, readdirSync, unlinkSync, statSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import yaml from "js-yaml";
4
4
  import { getAgendHome } from "./paths.js";
@@ -48,6 +48,26 @@ export function classicInstanceName(sanitizedName, channelId, adapterId) {
48
48
  const base = `classic-${sanitizedName}-${suffix}`;
49
49
  return adapterId ? `${base}-${sanitizeInstanceName(adapterId)}` : base;
50
50
  }
51
+ /**
52
+ * Infer the platform which issued a Classic channel id.
53
+ *
54
+ * Telegram group ids are negative. Telegram private-chat ids are positive but
55
+ * fit in 52 bits (at most 16 decimal digits), while Discord snowflakes are
56
+ * currently 17-20 decimal digits. Anything else is deliberately left unknown
57
+ * so custom/future adapters retain the backwards-compatible primary fallback.
58
+ */
59
+ export function inferClassicChannelType(channelId) {
60
+ const value = channelId.trim();
61
+ if (!/^-?\d+$/.test(value))
62
+ return undefined;
63
+ if (value.startsWith("-"))
64
+ return "telegram";
65
+ if (value.length >= 17 && value.length <= 20)
66
+ return "discord";
67
+ if (value.length >= 1 && value.length <= 16)
68
+ return "telegram";
69
+ return undefined;
70
+ }
51
71
  /**
52
72
  * Manages classic bot channel lifecycle — register/unregister/persist.
53
73
  * Persists to ~/.agend/classicBot.yaml with per-channel backend override.
@@ -63,8 +83,10 @@ export class ClassicChannelManager {
63
83
  defaults = {};
64
84
  configPath;
65
85
  lastMtime = 0;
66
- /** The primary (channels[0]) adapter id. Legacy entries migrate to it; it also names without a suffix. */
86
+ /** The primary (channels[0]) adapter id. It names without a suffix. */
67
87
  primaryAdapterId;
88
+ /** Config-order adapter identities, used to migrate legacy rows by platform. */
89
+ adapters = [];
68
90
  constructor(dataDir, logger) {
69
91
  this.dataDir = dataDir;
70
92
  this.logger = logger;
@@ -72,17 +94,31 @@ export class ClassicChannelManager {
72
94
  this.load();
73
95
  }
74
96
  /**
75
- * Record which adapter is primary. Migrates any legacy (adapterId-less)
76
- * entries onto it and rewrites the file in the new format. Idempotent.
97
+ * Backwards-compatible single-adapter configuration used by tests and older
98
+ * callers. Production startup supplies the complete adapter list through
99
+ * {@link configureAdapters} so legacy rows can be matched by platform.
77
100
  */
78
101
  setPrimaryAdapterId(adapterId) {
79
- if (this.primaryAdapterId === adapterId)
102
+ this.configureAdapters([{ id: adapterId, type: adapterId }]);
103
+ }
104
+ /**
105
+ * Configure all adapters in fleet.yaml order, then migrate/repair persisted
106
+ * Classic registrations. The full list matters when the primary adapter is
107
+ * a different platform from a legacy channel.
108
+ */
109
+ configureAdapters(adapters) {
110
+ const identities = adapters.map(adapter => ({ id: adapter.id ?? adapter.type, type: adapter.type }));
111
+ const primaryAdapterId = identities[0]?.id;
112
+ const unchanged = this.primaryAdapterId === primaryAdapterId
113
+ && this.adapters.length === identities.length
114
+ && this.adapters.every((adapter, index) => adapter.id === identities[index]?.id && adapter.type === identities[index]?.type);
115
+ if (unchanged)
80
116
  return;
81
- this.primaryAdapterId = adapterId;
82
- const hadLegacy = [...this.channels.values()].some(ch => ch.adapterId === undefined);
83
- this.load(); // re-derive keys/names now that the primary id is known
84
- if (hadLegacy)
85
- this.save(); // persist the upgraded format once
117
+ this.primaryAdapterId = primaryAdapterId;
118
+ this.adapters = identities;
119
+ const repaired = this.load();
120
+ if (repaired && this.backupBeforeAdapterRepair())
121
+ this.save();
86
122
  }
87
123
  /** Map key for a (channelId, adapterId) pair. adapterId-less = legacy entry (pre-migration). */
88
124
  compositeKey(channelId, adapterId) {
@@ -102,50 +138,169 @@ export class ClassicChannelManager {
102
138
  if (exact)
103
139
  return exact;
104
140
  if (adapterId && adapterId === this.primaryAdapterId) {
105
- return this.channels.get(this.compositeKey(channelId, undefined));
141
+ const legacy = this.channels.get(this.compositeKey(channelId, undefined));
142
+ if (!legacy)
143
+ return undefined;
144
+ const inferredType = inferClassicChannelType(channelId);
145
+ const primaryType = this.adapterType(adapterId);
146
+ // A known cross-platform legacy row must wait for its owning adapter to
147
+ // return; never expose it to the current primary merely as a fallback.
148
+ if (inferredType && primaryType && inferredType !== primaryType)
149
+ return undefined;
150
+ return legacy;
106
151
  }
107
152
  return undefined;
108
153
  }
154
+ /** Type of a configured adapter id, including historical default ids. */
155
+ adapterType(adapterId) {
156
+ if (!adapterId)
157
+ return undefined;
158
+ return this.adapters.find(adapter => adapter.id === adapterId)?.type
159
+ ?? (adapterId === "telegram" || adapterId === "discord" ? adapterId : undefined);
160
+ }
161
+ /** Deterministically choose the first configured adapter for a platform. */
162
+ adapterForType(type) {
163
+ if (!type)
164
+ return undefined;
165
+ const primary = this.adapters.find(adapter => adapter.id === this.primaryAdapterId);
166
+ if (primary?.type === type)
167
+ return primary.id;
168
+ return this.adapters.find(adapter => adapter.type === type)?.id;
169
+ }
170
+ /** Preserve the pre-repair file once; instance/workspace data is never deleted. */
171
+ backupBeforeAdapterRepair() {
172
+ const backupPath = `${this.configPath}.pre-adapter-repair.bak`;
173
+ if (existsSync(backupPath) || !existsSync(this.configPath))
174
+ return true;
175
+ try {
176
+ copyFileSync(this.configPath, backupPath);
177
+ return true;
178
+ }
179
+ catch (err) {
180
+ this.logger.warn({ err, backupPath }, "Failed to back up classicBot.yaml before adapter repair");
181
+ return false;
182
+ }
183
+ }
184
+ /**
185
+ * Load the persisted registry. Returns true when it migrated/repaired data
186
+ * and the caller should write the normalized registry back to disk.
187
+ */
109
188
  load() {
110
189
  if (!existsSync(this.configPath))
111
- return;
190
+ return false;
112
191
  try {
113
192
  const raw = yaml.load(readFileSync(this.configPath, "utf-8"));
114
193
  if (!raw)
115
- return;
194
+ return false;
116
195
  this.defaults = raw.defaults ?? {};
117
196
  this.channels.clear();
197
+ let repaired = false;
118
198
  if (raw.channels) {
199
+ const loaded = [];
119
200
  for (const [key, val] of Object.entries(raw.channels)) {
120
201
  // Old format: key IS the channelId, no adapterId/instanceName fields.
121
202
  const channelId = val.channelId ?? key;
122
- const adapterId = val.adapterId ?? this.primaryAdapterId; // migrate legacy → primary
203
+ const inferredType = inferClassicChannelType(channelId);
204
+ const inferredAdapterId = this.adapterForType(inferredType);
205
+ // Prefer the adapter whose platform issued the id. Unknown/custom ids
206
+ // retain the historical primary fallback.
207
+ const adapterId = val.adapterId
208
+ ?? (inferredType ? inferredAdapterId : this.primaryAdapterId);
123
209
  const name = val.name ?? channelId;
124
- // Non-primary adapters carry a suffix; primary/legacy keep the historical name.
125
- const suffixAdapter = adapterId && adapterId !== this.primaryAdapterId ? adapterId : undefined;
210
+ // An explicit non-primary registration carries a suffix. A legacy
211
+ // registration always keeps its historical unsuffixed instance name
212
+ // even when platform inference moves it away from channels[0].
213
+ const suffixAdapter = val.adapterId && adapterId !== this.primaryAdapterId ? adapterId : undefined;
126
214
  const instanceName = val.instanceName ?? classicInstanceName(sanitizeInstanceName(name), channelId, suffixAdapter);
127
- this.channels.set(this.compositeKey(channelId, adapterId), {
128
- channelId,
129
- adapterId,
130
- name,
131
- instanceName,
132
- backend: val.backend,
133
- model: val.model,
134
- autoPauseAfter: val.auto_pause_after,
135
- collab: val.collab,
136
- preTaskCommand: val.pre_task_command,
137
- contextLines: val.context_lines,
138
- createdAt: val.createdAt ?? "",
139
- createdBy: val.createdBy ?? "",
215
+ loaded.push({
216
+ persistedAdapterId: val.adapterId,
217
+ inferredType,
218
+ channel: {
219
+ channelId,
220
+ adapterId,
221
+ name,
222
+ instanceName,
223
+ backend: val.backend,
224
+ model: val.model,
225
+ autoPauseAfter: val.auto_pause_after,
226
+ collab: val.collab,
227
+ preTaskCommand: val.pre_task_command,
228
+ contextLines: val.context_lines,
229
+ createdAt: val.createdAt ?? "",
230
+ createdBy: val.createdBy ?? "",
231
+ },
140
232
  });
141
233
  }
234
+ for (const entry of loaded) {
235
+ const { channel, persistedAdapterId, inferredType } = entry;
236
+ const inferredAdapterId = this.adapterForType(inferredType);
237
+ const persistedType = this.adapterType(persistedAdapterId);
238
+ const isLegacy = persistedAdapterId === undefined;
239
+ const isCrossPlatformMisbind = !!(persistedAdapterId
240
+ && inferredType
241
+ && inferredAdapterId
242
+ && persistedType
243
+ && persistedType !== inferredType);
244
+ if (isLegacy && channel.adapterId) {
245
+ repaired = true;
246
+ this.logger.warn({ channelId: channel.channelId, adapterId: channel.adapterId, instanceName: channel.instanceName, inferredType }, "Migrated legacy Classic channel to inferred adapter");
247
+ }
248
+ if (isLegacy && inferredType && !channel.adapterId) {
249
+ this.logger.warn({ channelId: channel.channelId, inferredType, instanceName: channel.instanceName }, "Classic legacy channel has no configured adapter for its platform; leaving it unbound");
250
+ }
251
+ if (isCrossPlatformMisbind) {
252
+ const correctlyBound = loaded.filter(candidate => candidate !== entry
253
+ && candidate.channel.channelId === channel.channelId
254
+ && candidate.persistedAdapterId !== undefined
255
+ && this.adapterType(candidate.persistedAdapterId) === inferredType);
256
+ if (correctlyBound.length > 0) {
257
+ // A post-migration /start already created the right registration.
258
+ // Keep the live/correct target, drop only the phantom registry row;
259
+ // its instance/workspace remains on disk for manual recovery.
260
+ repaired = true;
261
+ this.logger.warn({
262
+ channelId: channel.channelId,
263
+ staleAdapterId: persistedAdapterId,
264
+ staleInstanceName: channel.instanceName,
265
+ activeAdapters: correctlyBound.map(candidate => candidate.persistedAdapterId),
266
+ activeInstances: correctlyBound.map(candidate => candidate.channel.instanceName),
267
+ }, "Removed phantom Classic channel registration; instance data retained on disk");
268
+ continue;
269
+ }
270
+ channel.adapterId = inferredAdapterId;
271
+ repaired = true;
272
+ this.logger.warn({
273
+ channelId: channel.channelId,
274
+ fromAdapterId: persistedAdapterId,
275
+ toAdapterId: inferredAdapterId,
276
+ instanceName: channel.instanceName,
277
+ }, "Repaired cross-platform Classic channel adapter binding");
278
+ }
279
+ const mapKey = this.compositeKey(channel.channelId, channel.adapterId);
280
+ const existing = this.channels.get(mapKey);
281
+ if (existing) {
282
+ // Malformed/hand-edited duplicates: prefer the already normalized
283
+ // explicit row and keep all instance data on disk.
284
+ repaired = true;
285
+ this.logger.warn({
286
+ channelId: channel.channelId,
287
+ adapterId: channel.adapterId,
288
+ keptInstanceName: existing.instanceName,
289
+ ignoredInstanceName: channel.instanceName,
290
+ }, "Ignored duplicate Classic channel registration; instance data retained on disk");
291
+ continue;
292
+ }
293
+ this.channels.set(mapKey, channel);
294
+ }
142
295
  }
143
296
  this.rebuildChannelIds();
144
297
  this.lastMtime = statSync(this.configPath).mtimeMs;
145
298
  this.logger.info({ count: this.channels.size }, "Loaded classic channels");
299
+ return repaired;
146
300
  }
147
301
  catch (err) {
148
302
  this.logger.warn({ err }, "Failed to load classicBot.yaml");
303
+ return false;
149
304
  }
150
305
  }
151
306
  save() {
@@ -186,12 +341,16 @@ export class ClassicChannelManager {
186
341
  if (mtime <= this.lastMtime)
187
342
  return false;
188
343
  this.logger.info("classicBot.yaml changed — reloading");
189
- this.load();
344
+ const repaired = this.load();
345
+ if (repaired && this.backupBeforeAdapterRepair())
346
+ this.save();
190
347
  return true;
191
348
  }
192
349
  /** Reload immediately after an authenticated settings write. */
193
350
  reloadFromDisk() {
194
- this.load();
351
+ const repaired = this.load();
352
+ if (repaired && this.backupBeforeAdapterRepair())
353
+ this.save();
195
354
  }
196
355
  getDefaults() { return this.defaults; }
197
356
  /** Check if a guild is allowed. Empty/unset/non-array allowed_guilds = allow all (backward compat). */
@@ -1 +1 @@
1
- {"version":3,"file":"classic-channel-manager.js","sourceRoot":"","sources":["../src/classic-channel-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classic-channel-manager.js","sourceRoot":"","sources":["../src/classic-channel-manager.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -16,7 +16,7 @@ import { hasPausedMarker } from "./pause-marker.js";
16
16
  import { clampContextPercent, parseContextPercent } from "./context-percent.js";
17
17
  import { COMPLETION_SHELLS, completionScript } from "./completion.js";
18
18
  import { getUpdateSelector, lookupTargetVersion, reportUpdateRestart, shouldSkipUpdate, } from "./update-check.js";
19
- import { clearUpdateMarker, markUpdateInProgress } from "./update-marker.js";
19
+ import { clearUpdateMarker, markUpdateInProgress, setUpdateProgressStage } from "./update-marker.js";
20
20
  import { acquireFleetLock, releaseProcessFleetLock, setProcessFleetLock } from "./fleet-lock.js";
21
21
  import { SYSTEMD_RESTART_TIMEOUT_MS } from "./service-installer.js";
22
22
  /** Prefix tmux args with -L when socket isolation is active. */
@@ -1157,6 +1157,7 @@ program
1157
1157
  const targetVersion = lookupTargetVersion(tag);
1158
1158
  if (shouldSkipUpdate(pkgVersion, targetVersion, opts.force)) {
1159
1159
  console.log(`\n ✓ Already up to date (v${pkgVersion})\n`);
1160
+ setUpdateProgressStage(DATA_DIR, "complete", { version: pkgVersion });
1160
1161
  return;
1161
1162
  }
1162
1163
  if (targetVersion) {
@@ -1173,10 +1174,13 @@ program
1173
1174
  // dies here does not silence real alerts.
1174
1175
  markUpdateInProgress(DATA_DIR);
1175
1176
  const failUpdate = (message) => {
1176
- clearUpdateMarker(DATA_DIR);
1177
+ if (!setUpdateProgressStage(DATA_DIR, "failed", { error: message.trim() })) {
1178
+ clearUpdateMarker(DATA_DIR);
1179
+ }
1177
1180
  console.error(message);
1178
1181
  process.exit(1);
1179
1182
  };
1183
+ setUpdateProgressStage(DATA_DIR, "downloading");
1180
1184
  // Detect and remove stale npm link (local build that shadows global install)
1181
1185
  try {
1182
1186
  const agendPath = execSync("which agend", { encoding: "utf-8", stdio: "pipe" }).trim();
@@ -1264,6 +1268,7 @@ program
1264
1268
  }
1265
1269
  const newVersion = (verifyResult.stdout ?? "").trim();
1266
1270
  console.log(` ✓ Installed: ${newVersion}`);
1271
+ setUpdateProgressStage(DATA_DIR, "installed", { version: newVersion.replace(/^v/, "") });
1267
1272
  // ── Update service file ──
1268
1273
  if (agendPath) {
1269
1274
  try {
@@ -1280,6 +1285,20 @@ program
1280
1285
  console.log(` ⚠ Service file update failed (non-fatal): ${e.message}`);
1281
1286
  }
1282
1287
  }
1288
+ // ── Refresh installed shell completions ──
1289
+ // The completion script embeds this version's subcommand names, so a
1290
+ // previously installed static file goes stale on update. --refresh only
1291
+ // rewrites artifacts that already exist — an update never starts
1292
+ // installing completions the user didn't ask for. Run through the NEW
1293
+ // binary so the regenerated names are the new version's.
1294
+ try {
1295
+ spawnSync(agendPath, ["completion", "install", "--refresh"], {
1296
+ encoding: "utf-8",
1297
+ timeout: 15_000,
1298
+ stdio: "ignore",
1299
+ });
1300
+ }
1301
+ catch { /* cosmetic — never block an update on completion refresh */ }
1283
1302
  // ── Restart fleet ──
1284
1303
  // Run the restart through the NEWLY-INSTALLED binary (agendPath), not inline.
1285
1304
  // The inline restart would execute the OLD binary's code — exactly the logic
@@ -1287,6 +1306,7 @@ program
1287
1306
  // restart` (new binary) does the 4-environment service detection (system
1288
1307
  // systemd → user systemd → launchd → detached pid).
1289
1308
  console.log(" Restarting fleet...");
1309
+ setUpdateProgressStage(DATA_DIR, "stopping", { version: newVersion.replace(/^v/, "") });
1290
1310
  // `agend restart` may synchronously wait for a Type=notify service to finish
1291
1311
  // a multi-minute stop/start and send READY=1. Keep this parent wrapper alive
1292
1312
  // longer than the restart command's own bounded wait.
@@ -1298,7 +1318,9 @@ program
1298
1318
  if (!reportUpdateRestart(restartResult.status)) {
1299
1319
  // No new fleet is coming up to clear the marker — do it here, or the next
1300
1320
  // 15 minutes of genuine crashes would go unreported.
1301
- clearUpdateMarker(DATA_DIR);
1321
+ if (!setUpdateProgressStage(DATA_DIR, "failed", { error: "fleet restart failed" })) {
1322
+ clearUpdateMarker(DATA_DIR);
1323
+ }
1302
1324
  process.exitCode = 1;
1303
1325
  }
1304
1326
  });
@@ -2380,29 +2402,59 @@ program
2380
2402
  });
2381
2403
  program
2382
2404
  .command("completion")
2383
- .description("Print a shell completion script (bash or zsh)")
2384
- .argument("<shell>", `Shell to generate for (${COMPLETION_SHELLS.join(", ")})`)
2405
+ .description("Print a shell completion script, or install it (bash or zsh)")
2406
+ .argument("<target>", `"install", or a shell to print for (${COMPLETION_SHELLS.join(", ")})`)
2407
+ .argument("[shell]", "with install: limit to one shell (default: detect)")
2408
+ .option("--modify-rc", "with install: authorize adding the zsh eval line to ~/.zshrc")
2409
+ .option("--refresh", "with install: only rewrite artifacts that already exist (used by agend update)")
2385
2410
  .addHelpText("after", `
2386
- Install:
2411
+ Recommended:
2412
+ agend completion install # bash: static file, no rc edit; zsh: prints what to do
2413
+ agend completion install --modify-rc # also add the zsh line to ~/.zshrc
2414
+
2415
+ Manual (fallback):
2387
2416
  bash echo 'eval "$(agend completion bash)"' >> ~/.bashrc
2388
2417
  zsh echo 'eval "$(agend completion zsh)"' >> ~/.zshrc
2389
2418
 
2390
2419
  Then reload the shell. Tab-completes instance names for \`agend attach\` and
2391
2420
  \`agend fleet start|stop|restart\`, and subcommands elsewhere.`)
2392
- .action((shell) => {
2393
- if (!COMPLETION_SHELLS.includes(shell)) {
2394
- console.error(`Unsupported shell: ${shell}. Supported: ${COMPLETION_SHELLS.join(", ")}`);
2395
- process.exit(2);
2396
- }
2421
+ .action(async (target, shellArg, opts) => {
2397
2422
  // Subcommand names come from commander itself, so the script can't drift
2398
2423
  // out of sync with the CLI the way a hardcoded list would.
2399
2424
  const fleetCmd = program.commands.find(c => c.name() === "fleet");
2400
- console.log(completionScript(shell, {
2425
+ const spec = {
2401
2426
  topLevel: program.commands.map(c => c.name()),
2402
2427
  fleetSub: fleetCmd?.commands.map(c => c.name()) ?? [],
2403
2428
  instanceCommands: ["attach"],
2404
2429
  fleetInstanceCommands: ["start", "stop", "restart"],
2405
- }));
2430
+ };
2431
+ if (target === "install") {
2432
+ const { detectShells, installCompletions } = await import("./completion-install.js");
2433
+ const { zshCompletion } = await import("./completion.js");
2434
+ if (shellArg && !COMPLETION_SHELLS.includes(shellArg)) {
2435
+ console.error(`Unsupported shell: ${shellArg}. Supported: ${COMPLETION_SHELLS.join(", ")}`);
2436
+ process.exit(2);
2437
+ }
2438
+ const shells = shellArg ? [shellArg] : detectShells();
2439
+ if (shells.length === 0) {
2440
+ console.log(" No bash or zsh detected — nothing to install.");
2441
+ return;
2442
+ }
2443
+ const results = installCompletions({ bash: completionScript("bash", spec), zshFpath: zshCompletion(spec, "fpath") }, shells, { modifyRc: opts.modifyRc, refresh: opts.refresh });
2444
+ for (const r of results) {
2445
+ if (r.status === "hint")
2446
+ console.log(` ${r.shell}: ${r.hint}`);
2447
+ else if (r.status === "skipped") { /* refresh mode, nothing was installed before */ }
2448
+ else
2449
+ console.log(` ${r.shell}: completion ${r.status}${r.path ? ` (${r.path})` : ""}`);
2450
+ }
2451
+ return;
2452
+ }
2453
+ if (!COMPLETION_SHELLS.includes(target)) {
2454
+ console.error(`Unsupported target: ${target}. Supported: install, ${COMPLETION_SHELLS.join(", ")}`);
2455
+ process.exit(2);
2456
+ }
2457
+ console.log(completionScript(target, spec));
2406
2458
  });
2407
2459
  program
2408
2460
  .command("health").description("Fleet health check — shows problems and diagnostics")