@songsid/agend 2.1.0-beta.4 → 2.1.0-beta.40

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 (125) hide show
  1. package/README.md +1 -0
  2. package/README.zh-TW.md +2 -1
  3. package/dist/access-path.js +3 -3
  4. package/dist/access-path.js.map +1 -1
  5. package/dist/agent-cli.js +1 -1
  6. package/dist/agent-cli.js.map +1 -1
  7. package/dist/agent-endpoint.d.ts +8 -0
  8. package/dist/agent-endpoint.js +36 -8
  9. package/dist/agent-endpoint.js.map +1 -1
  10. package/dist/backend/antigravity.d.ts +2 -0
  11. package/dist/backend/antigravity.js +30 -3
  12. package/dist/backend/antigravity.js.map +1 -1
  13. package/dist/backend/claude-code.d.ts +2 -0
  14. package/dist/backend/claude-code.js +16 -4
  15. package/dist/backend/claude-code.js.map +1 -1
  16. package/dist/backend/factory.js +4 -1
  17. package/dist/backend/factory.js.map +1 -1
  18. package/dist/backend/grok.d.ts +53 -0
  19. package/dist/backend/grok.js +302 -0
  20. package/dist/backend/grok.js.map +1 -0
  21. package/dist/backend/kiro.d.ts +2 -0
  22. package/dist/backend/kiro.js +32 -3
  23. package/dist/backend/kiro.js.map +1 -1
  24. package/dist/backend/types.d.ts +36 -3
  25. package/dist/backend/types.js +1 -0
  26. package/dist/backend/types.js.map +1 -1
  27. package/dist/channel/adapters/discord.d.ts +20 -0
  28. package/dist/channel/adapters/discord.js +89 -11
  29. package/dist/channel/adapters/discord.js.map +1 -1
  30. package/dist/channel/adapters/telegram.js +4 -1
  31. package/dist/channel/adapters/telegram.js.map +1 -1
  32. package/dist/channel/mcp-tools.js +18 -2
  33. package/dist/channel/mcp-tools.js.map +1 -1
  34. package/dist/chat-export.js +5 -2
  35. package/dist/chat-export.js.map +1 -1
  36. package/dist/classic-channel-manager.d.ts +16 -1
  37. package/dist/classic-channel-manager.js +76 -4
  38. package/dist/classic-channel-manager.js.map +1 -1
  39. package/dist/cli.js +116 -19
  40. package/dist/cli.js.map +1 -1
  41. package/dist/config-validator.js +70 -1
  42. package/dist/config-validator.js.map +1 -1
  43. package/dist/config.d.ts +3 -1
  44. package/dist/config.js +14 -1
  45. package/dist/config.js.map +1 -1
  46. package/dist/context-guardian.d.ts +2 -0
  47. package/dist/context-guardian.js +10 -2
  48. package/dist/context-guardian.js.map +1 -1
  49. package/dist/daemon-entry.js +2 -1
  50. package/dist/daemon-entry.js.map +1 -1
  51. package/dist/daemon.d.ts +91 -6
  52. package/dist/daemon.js +602 -186
  53. package/dist/daemon.js.map +1 -1
  54. package/dist/daily-summary.js +7 -2
  55. package/dist/daily-summary.js.map +1 -1
  56. package/dist/fleet-context.d.ts +6 -0
  57. package/dist/fleet-manager.d.ts +113 -8
  58. package/dist/fleet-manager.js +972 -142
  59. package/dist/fleet-manager.js.map +1 -1
  60. package/dist/fleet-system-prompt.js +1 -1
  61. package/dist/general-knowledge/skills/fleet-config/SKILL.md +19 -13
  62. package/dist/general-knowledge/skills/fleet-health/SKILL.md +30 -51
  63. package/dist/general-knowledge/skills/fleet-restart/SKILL.md +1 -1
  64. package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +19 -13
  65. package/dist/general-knowledge/skills/model-discovery/SKILL.md +1 -5
  66. package/dist/general-knowledge/skills/scheduling/SKILL.md +41 -0
  67. package/dist/general-knowledge/skills/session-management/SKILL.md +29 -116
  68. package/dist/instance-lifecycle.d.ts +15 -1
  69. package/dist/instance-lifecycle.js +71 -22
  70. package/dist/instance-lifecycle.js.map +1 -1
  71. package/dist/locale.js +28 -2
  72. package/dist/locale.js.map +1 -1
  73. package/dist/logger.d.ts +6 -0
  74. package/dist/logger.js +28 -9
  75. package/dist/logger.js.map +1 -1
  76. package/dist/outbound-handlers.d.ts +3 -0
  77. package/dist/outbound-handlers.js +224 -11
  78. package/dist/outbound-handlers.js.map +1 -1
  79. package/dist/outbound-schemas.d.ts +44 -2
  80. package/dist/outbound-schemas.js +50 -3
  81. package/dist/outbound-schemas.js.map +1 -1
  82. package/dist/pause-marker.d.ts +5 -0
  83. package/dist/pause-marker.js +36 -0
  84. package/dist/pause-marker.js.map +1 -0
  85. package/dist/scheduler/db.d.ts +8 -0
  86. package/dist/scheduler/db.js +74 -5
  87. package/dist/scheduler/db.js.map +1 -1
  88. package/dist/scheduler/db.test.js +50 -0
  89. package/dist/scheduler/db.test.js.map +1 -1
  90. package/dist/scheduler/scheduler.d.ts +6 -0
  91. package/dist/scheduler/scheduler.js +99 -16
  92. package/dist/scheduler/scheduler.js.map +1 -1
  93. package/dist/scheduler/scheduler.test.js +131 -1
  94. package/dist/scheduler/scheduler.test.js.map +1 -1
  95. package/dist/scheduler/types.d.ts +9 -3
  96. package/dist/scheduler/types.js.map +1 -1
  97. package/dist/settings-api.d.ts +20 -2
  98. package/dist/settings-api.js +213 -9
  99. package/dist/settings-api.js.map +1 -1
  100. package/dist/setup-wizard.js +8 -0
  101. package/dist/setup-wizard.js.map +1 -1
  102. package/dist/statusline-watcher.d.ts +1 -1
  103. package/dist/statusline-watcher.js +3 -2
  104. package/dist/statusline-watcher.js.map +1 -1
  105. package/dist/tmux-control.d.ts +7 -0
  106. package/dist/tmux-control.js +22 -1
  107. package/dist/tmux-control.js.map +1 -1
  108. package/dist/tmux-manager.d.ts +1 -1
  109. package/dist/tmux-manager.js.map +1 -1
  110. package/dist/topic-commands.d.ts +19 -1
  111. package/dist/topic-commands.js +148 -23
  112. package/dist/topic-commands.js.map +1 -1
  113. package/dist/transcript-monitor.js +2 -0
  114. package/dist/transcript-monitor.js.map +1 -1
  115. package/dist/types.d.ts +29 -1
  116. package/dist/tz-utils.d.ts +26 -0
  117. package/dist/tz-utils.js +46 -0
  118. package/dist/tz-utils.js.map +1 -0
  119. package/dist/ui/dashboard.html +3 -3
  120. package/dist/ui/settings.html +453 -74
  121. package/dist/web-api.d.ts +1 -0
  122. package/dist/web-api.js +24 -15
  123. package/dist/web-api.js.map +1 -1
  124. package/dist/workflow-templates/default.md +0 -4
  125. package/package.json +2 -1
@@ -140,6 +140,8 @@ export class TranscriptMonitor extends EventEmitter {
140
140
  }
141
141
  }
142
142
  startPolling(intervalMs = 2000) {
143
+ if (this.pollTimer)
144
+ return;
143
145
  this.pollTimer = setInterval(() => this.pollIncrement(), intervalMs);
144
146
  }
145
147
  stop() {
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-monitor.js","sourceRoot":"","sources":["../src/transcript-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IAQ7B;IAA6B;IAPzC,EAAE,GAAkB,IAAI,CAAC;IACzB,UAAU,GAAW,CAAC,CAAC;IACvB,cAAc,GAAkB,IAAI,CAAC;IACrC,SAAS,GAA0C,IAAI,CAAC;IACxD,UAAU,CAAS;IACnB,OAAO,GAAG,KAAK,CAAC,CAAC,kCAAkC;IAE3D,YAAoB,WAAmB,EAAU,MAAc;QAC7D,KAAK,EAAE,CAAC;QADU,gBAAW,GAAX,WAAW,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAQ;QAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YAC1C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC;YACH,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC5C,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,IAAI,EAAE,IAAI,CAAC,cAAc;aAC1B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAC7D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC3D,IAAI,IAAI,CAAC,eAAe;oBAAE,OAAO,IAAI,CAAC,eAAe,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;YAC9D,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,OAAO;YACjC,wDAAwD;YACxD,8CAA8C;YAC9C,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAChD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;oBAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO;gBAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;YAAE,OAAO;QAE7C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO;YAE1C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAClD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;gBAE7B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBAAE,SAAS;oBAC3B,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC/B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;oBAAC,MAAM,CAAC;wBACP,4CAA4C;oBAC9C,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC;oBAAS,CAAC;gBACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,8BAA8B,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAU;QAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO;YAAE,OAAO;QAExC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAElG,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;gBACnF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,YAAY,CAAC,UAAU,GAAG,IAAI;QAC5B,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC5B,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"transcript-monitor.js","sourceRoot":"","sources":["../src/transcript-monitor.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -69,6 +69,13 @@ export interface InstanceConfig {
69
69
  working_directory: string;
70
70
  /** Minutes an idle CLI may remain resident before auto-pause. 0 disables it. */
71
71
  auto_pause_after?: number;
72
+ /**
73
+ * Fleet-wide cap on simultaneously warm (running) instances. Read from
74
+ * `defaults.warm_cap`; when the running count exceeds it, the least-recently
75
+ * active idle instance is auto-paused (general instances are never evicted).
76
+ * 0 = unlimited (default). Complementary to auto_pause_after (time-based).
77
+ */
78
+ warm_cap?: number;
72
79
  /** Agent display name (e.g. "Kuro", "Luna") — chosen by the agent itself */
73
80
  display_name?: string;
74
81
  /** Human-readable description of what this instance does */
@@ -90,9 +97,15 @@ export interface InstanceConfig {
90
97
  grace_period_ms: number;
91
98
  max_age_hours: number;
92
99
  };
93
- log_level: "debug" | "info" | "warn" | "error";
100
+ log_level: "trace" | "debug" | "info" | "warn" | "error";
94
101
  /** CLI backend to use. Default: "claude-code" */
95
102
  backend?: string;
103
+ /**
104
+ * Kiro CLI interface/engine profile. Only used when backend is "kiro-cli".
105
+ * "legacy" preserves AgEnD's current --legacy-ui launch; "tui" uses Kiro's
106
+ * default UI; "v3" opts into the experimental next-generation agent.
107
+ */
108
+ kiro_ui?: "legacy" | "tui" | "v3";
96
109
  /** MCP tool profile: "full" (20 tools), "standard" (8), "minimal" (3). Default: "full" */
97
110
  tool_set?: string;
98
111
  /** Skip non-essential subsystems (transcript monitor, context guardian, approval server, prompt detector) */
@@ -115,6 +128,8 @@ export interface InstanceConfig {
115
128
  startup_timeout_ms?: number;
116
129
  /** Agent communication mode: "mcp" (default) or "cli" (HTTP endpoint, no MCP server). */
117
130
  agent_mode?: "mcp" | "cli";
131
+ /** Hang detector override for this instance. */
132
+ hang_detector?: HangDetectorConfig;
118
133
  /** Command to paste raw before each user message (e.g. "/chat load base.json") */
119
134
  pre_task_command?: string;
120
135
  }
@@ -215,3 +230,16 @@ export interface FleetConfig {
215
230
  profiles?: Record<string, ProfileConfig>;
216
231
  health_port?: number;
217
232
  }
233
+ /**
234
+ * User-authored fleet.yaml before defaults are merged into instances.
235
+ *
236
+ * Keep this deliberately open: settings persistence must preserve config keys
237
+ * introduced by newer AgEnD versions or third-party adapters even when this
238
+ * runtime does not know their shape yet.
239
+ */
240
+ export type RawFleetConfig = Record<string, unknown> & {
241
+ channel?: ChannelConfig;
242
+ channels?: ChannelConfig[];
243
+ defaults?: FleetDefaults;
244
+ instances?: Record<string, Partial<InstanceConfig> & Record<string, unknown>>;
245
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Timezone helpers for event-db values.
3
+ *
4
+ * event-db (events/activity) stores timestamps as SQLite `datetime('now')` —
5
+ * "YYYY-MM-DD HH:MM:SS" in **UTC**, with no zone suffix. Storage stays UTC; these
6
+ * helpers convert only for DISPLAY (UTC→local) and QUERY BOUNDARIES (local→UTC),
7
+ * so user-facing times match the local convention used by chat-logs and fleet.log.
8
+ *
9
+ * TZ source matches the chat-log path: `process.env.TZ` override, else the
10
+ * system/Intl resolved zone.
11
+ */
12
+ export declare function resolveTz(): string;
13
+ /**
14
+ * Convert a UTC event-db datetime string ("YYYY-MM-DD HH:MM:SS") to the same
15
+ * format in local `tz`. Unparseable input is returned unchanged.
16
+ */
17
+ export declare function utcDbToLocal(utcDbStr: string, tz?: string): string;
18
+ /**
19
+ * Convert a local wall-clock string ("YYYY-MM-DD HH:MM:SS", interpreted in `tz`)
20
+ * to the UTC "YYYY-MM-DD HH:MM:SS" string matching event-db storage — for use as
21
+ * a range-query boundary. DST-safe via an offset round-trip. Unparseable input is
22
+ * returned unchanged.
23
+ */
24
+ export declare function localWallToUtcDb(wall: string, tz?: string): string;
25
+ /** Local "today" date ("YYYY-MM-DD") in `tz`. */
26
+ export declare function localTodayDate(tz?: string): string;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Timezone helpers for event-db values.
3
+ *
4
+ * event-db (events/activity) stores timestamps as SQLite `datetime('now')` —
5
+ * "YYYY-MM-DD HH:MM:SS" in **UTC**, with no zone suffix. Storage stays UTC; these
6
+ * helpers convert only for DISPLAY (UTC→local) and QUERY BOUNDARIES (local→UTC),
7
+ * so user-facing times match the local convention used by chat-logs and fleet.log.
8
+ *
9
+ * TZ source matches the chat-log path: `process.env.TZ` override, else the
10
+ * system/Intl resolved zone.
11
+ */
12
+ export function resolveTz() {
13
+ return process.env.TZ || Intl.DateTimeFormat().resolvedOptions().timeZone;
14
+ }
15
+ /**
16
+ * Convert a UTC event-db datetime string ("YYYY-MM-DD HH:MM:SS") to the same
17
+ * format in local `tz`. Unparseable input is returned unchanged.
18
+ */
19
+ export function utcDbToLocal(utcDbStr, tz = resolveTz()) {
20
+ const d = new Date(utcDbStr.replace(" ", "T") + "Z");
21
+ if (Number.isNaN(d.getTime()))
22
+ return utcDbStr;
23
+ // sv-SE renders ISO-like "YYYY-MM-DD HH:MM:SS".
24
+ return d.toLocaleString("sv-SE", { timeZone: tz, hour12: false });
25
+ }
26
+ /**
27
+ * Convert a local wall-clock string ("YYYY-MM-DD HH:MM:SS", interpreted in `tz`)
28
+ * to the UTC "YYYY-MM-DD HH:MM:SS" string matching event-db storage — for use as
29
+ * a range-query boundary. DST-safe via an offset round-trip. Unparseable input is
30
+ * returned unchanged.
31
+ */
32
+ export function localWallToUtcDb(wall, tz = resolveTz()) {
33
+ const asIfUtc = new Date(wall.replace(" ", "T") + "Z").getTime();
34
+ if (Number.isNaN(asIfUtc))
35
+ return wall;
36
+ // Render that instant in tz; the gap back to "as-if-UTC" is the zone offset at
37
+ // that instant (handles DST because it is sampled near the target instant).
38
+ const shownInTz = new Date(asIfUtc).toLocaleString("sv-SE", { timeZone: tz, hour12: false });
39
+ const offset = new Date(shownInTz.replace(" ", "T") + "Z").getTime() - asIfUtc;
40
+ return new Date(asIfUtc - offset).toISOString().slice(0, 19).replace("T", " ");
41
+ }
42
+ /** Local "today" date ("YYYY-MM-DD") in `tz`. */
43
+ export function localTodayDate(tz = resolveTz()) {
44
+ return new Date().toLocaleString("sv-SE", { timeZone: tz, hour12: false }).slice(0, 10);
45
+ }
46
+ //# sourceMappingURL=tz-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tz-utils.js","sourceRoot":"","sources":["../src/tz-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,EAAE,GAAG,SAAS,EAAE;IAC7D,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/C,gDAAgD;IAChD,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,EAAE,GAAG,SAAS,EAAE;IAC7D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IACjE,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,+EAA+E;IAC/E,4EAA4E;IAC5E,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC;IAC/E,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACjF,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,cAAc,CAAC,EAAE,GAAG,SAAS,EAAE;IAC7C,OAAO,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1F,CAAC"}
@@ -425,7 +425,7 @@ async function loadDetail() {
425
425
  <div class="detail-row"><span class="detail-label">Rate 7d</span><span>${Math.round(rl7)}% <span class="progress-bar"><span class="progress-fill" style="width:${Math.min(rl7,100)}%;background:${rl7>90?'var(--error)':rl7>70?'var(--warn)':'var(--accent)'}"></span></span></span></div></div>`;
426
426
  if (d.recent_activity?.length) {
427
427
  h += `<div class="card"><h3>Recent Activity</h3>`;
428
- for (const a of d.recent_activity) { const t=a.timestamp?a.timestamp.slice(11,16):""; h+=`<div class="activity-item"><span class="act-time">${t}</span><span class="act-event">${esc(a.event)}</span>${esc(a.summary||"")}</div>`; }
428
+ for (const a of d.recent_activity) { const t=a.timestamp?new Date(a.timestamp.replace(" ","T")+"Z").toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):""; h+=`<div class="activity-item"><span class="act-time">${t}</span><span class="act-event">${esc(a.event)}</span>${esc(a.summary||"")}</div>`; }
429
429
  h += `</div>`;
430
430
  }
431
431
  el.innerHTML = h;
@@ -468,7 +468,7 @@ async function showCreateInstance() {
468
468
  const label = b.installed ? b.name : `${b.name} (not installed)`;
469
469
  return `<option value="${b.name}" ${b.installed ? "" : "disabled"} ${b.name === first?.name ? "selected" : ""}>${label}</option>`;
470
470
  }).join("");
471
- } catch { backendOpts += ["claude-code","codex","gemini-cli","opencode","kiro-cli"].map(b => `<option value="${b}">${b}</option>`).join(""); }
471
+ } catch { backendOpts += ["claude-code","codex","gemini-cli","opencode","kiro-cli","antigravity","grok"].map(b => `<option value="${b}">${b}</option>`).join(""); }
472
472
  ov.innerHTML = `<div class="form-card"><h2>Create Instance</h2>
473
473
  <div class="form-field"><label>Directory</label><input id="ci-dir" placeholder="Optional — auto-creates workspace if empty"></div>
474
474
  <div class="form-field"><label id="ci-topic-label">Topic Name</label><input id="ci-topic" placeholder="Auto from directory name"></div>
@@ -689,7 +689,7 @@ async function loadConfig() {
689
689
  <div class="card"><h3>Defaults</h3>
690
690
  <div class="form-field"><label>Backend</label>
691
691
  <select id="cfg-backend">
692
- ${["claude-code","codex","gemini-cli","opencode","kiro-cli"].map(b => `<option value="${b}" ${defs.backend===b?"selected":""}>${b}</option>`).join("")}
692
+ ${["claude-code","codex","gemini-cli","opencode","kiro-cli","antigravity","grok"].map(b => `<option value="${b}" ${defs.backend===b?"selected":""}>${b}</option>`).join("")}
693
693
  </select></div>
694
694
  </div>
695
695
  <div class="card"><h3>Project Roots</h3>