@aitne/daemon 0.1.3 → 0.1.4

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 (249) hide show
  1. package/dist/adapters/whatsapp-adapter.d.ts.map +1 -1
  2. package/dist/adapters/whatsapp-adapter.js +0 -1
  3. package/dist/adapters/whatsapp-adapter.js.map +1 -1
  4. package/dist/api/integration-route-gate.d.ts +15 -11
  5. package/dist/api/integration-route-gate.d.ts.map +1 -1
  6. package/dist/api/integration-route-gate.js +60 -23
  7. package/dist/api/integration-route-gate.js.map +1 -1
  8. package/dist/api/json-body.d.ts +22 -7
  9. package/dist/api/json-body.d.ts.map +1 -1
  10. package/dist/api/json-body.js +27 -8
  11. package/dist/api/json-body.js.map +1 -1
  12. package/dist/api/routes/agent.d.ts.map +1 -1
  13. package/dist/api/routes/agent.js +18 -0
  14. package/dist/api/routes/agent.js.map +1 -1
  15. package/dist/api/routes/backends.d.ts.map +1 -1
  16. package/dist/api/routes/backends.js +96 -1
  17. package/dist/api/routes/backends.js.map +1 -1
  18. package/dist/api/routes/books.js +1 -1
  19. package/dist/api/routes/books.js.map +1 -1
  20. package/dist/api/routes/context.d.ts.map +1 -1
  21. package/dist/api/routes/context.js +13 -1
  22. package/dist/api/routes/context.js.map +1 -1
  23. package/dist/api/routes/dashboard.d.ts.map +1 -1
  24. package/dist/api/routes/dashboard.js +75 -5
  25. package/dist/api/routes/dashboard.js.map +1 -1
  26. package/dist/api/routes/github.d.ts.map +1 -1
  27. package/dist/api/routes/github.js +38 -5
  28. package/dist/api/routes/github.js.map +1 -1
  29. package/dist/api/routes/integrations.d.ts +35 -6
  30. package/dist/api/routes/integrations.d.ts.map +1 -1
  31. package/dist/api/routes/integrations.js +191 -16
  32. package/dist/api/routes/integrations.js.map +1 -1
  33. package/dist/api/routes/mail.d.ts.map +1 -1
  34. package/dist/api/routes/mail.js +112 -46
  35. package/dist/api/routes/mail.js.map +1 -1
  36. package/dist/api/routes/observations.d.ts.map +1 -1
  37. package/dist/api/routes/observations.js +161 -8
  38. package/dist/api/routes/observations.js.map +1 -1
  39. package/dist/api/routes/setup-migrate.d.ts +9 -1
  40. package/dist/api/routes/setup-migrate.d.ts.map +1 -1
  41. package/dist/api/routes/setup-migrate.js +4 -2
  42. package/dist/api/routes/setup-migrate.js.map +1 -1
  43. package/dist/api/routes/skills.d.ts.map +1 -1
  44. package/dist/api/routes/skills.js +39 -1
  45. package/dist/api/routes/skills.js.map +1 -1
  46. package/dist/api/routes/voice.d.ts.map +1 -1
  47. package/dist/api/routes/voice.js +62 -4
  48. package/dist/api/routes/voice.js.map +1 -1
  49. package/dist/bootstrap/adapters.d.ts +109 -0
  50. package/dist/bootstrap/adapters.d.ts.map +1 -0
  51. package/dist/bootstrap/adapters.js +237 -0
  52. package/dist/bootstrap/adapters.js.map +1 -0
  53. package/dist/bootstrap/catchup.d.ts +23 -0
  54. package/dist/bootstrap/catchup.d.ts.map +1 -0
  55. package/dist/bootstrap/catchup.js +124 -0
  56. package/dist/bootstrap/catchup.js.map +1 -0
  57. package/dist/bootstrap/schedule-helpers.d.ts +18 -0
  58. package/dist/bootstrap/schedule-helpers.d.ts.map +1 -0
  59. package/dist/bootstrap/schedule-helpers.js +96 -0
  60. package/dist/bootstrap/schedule-helpers.js.map +1 -0
  61. package/dist/bootstrap/services.d.ts +60 -0
  62. package/dist/bootstrap/services.d.ts.map +1 -0
  63. package/dist/bootstrap/services.js +209 -0
  64. package/dist/bootstrap/services.js.map +1 -0
  65. package/dist/core/backends/backend-router.d.ts +23 -0
  66. package/dist/core/backends/backend-router.d.ts.map +1 -1
  67. package/dist/core/backends/backend-router.js +48 -3
  68. package/dist/core/backends/backend-router.js.map +1 -1
  69. package/dist/core/backends/claude-auth.d.ts +70 -0
  70. package/dist/core/backends/claude-auth.d.ts.map +1 -0
  71. package/dist/core/backends/claude-auth.js +198 -0
  72. package/dist/core/backends/claude-auth.js.map +1 -0
  73. package/dist/core/backends/claude-code-core.d.ts +47 -119
  74. package/dist/core/backends/claude-code-core.d.ts.map +1 -1
  75. package/dist/core/backends/claude-code-core.js +112 -1565
  76. package/dist/core/backends/claude-code-core.js.map +1 -1
  77. package/dist/core/backends/claude-delegated.d.ts +86 -0
  78. package/dist/core/backends/claude-delegated.d.ts.map +1 -0
  79. package/dist/core/backends/claude-delegated.js +801 -0
  80. package/dist/core/backends/claude-delegated.js.map +1 -0
  81. package/dist/core/backends/claude-errors.d.ts +39 -0
  82. package/dist/core/backends/claude-errors.d.ts.map +1 -0
  83. package/dist/core/backends/claude-errors.js +71 -0
  84. package/dist/core/backends/claude-errors.js.map +1 -0
  85. package/dist/core/backends/claude-probe.d.ts +103 -0
  86. package/dist/core/backends/claude-probe.d.ts.map +1 -0
  87. package/dist/core/backends/claude-probe.js +336 -0
  88. package/dist/core/backends/claude-probe.js.map +1 -0
  89. package/dist/core/backends/claude-tool-collection.d.ts +135 -0
  90. package/dist/core/backends/claude-tool-collection.d.ts.map +1 -0
  91. package/dist/core/backends/claude-tool-collection.js +831 -0
  92. package/dist/core/backends/claude-tool-collection.js.map +1 -0
  93. package/dist/core/backends/gemini-cli-core.d.ts +21 -0
  94. package/dist/core/backends/gemini-cli-core.d.ts.map +1 -1
  95. package/dist/core/backends/gemini-cli-core.js +84 -6
  96. package/dist/core/backends/gemini-cli-core.js.map +1 -1
  97. package/dist/core/backends/prompt-utils.d.ts +1 -0
  98. package/dist/core/backends/prompt-utils.d.ts.map +1 -1
  99. package/dist/core/backends/prompt-utils.js +60 -3
  100. package/dist/core/backends/prompt-utils.js.map +1 -1
  101. package/dist/core/context-builder.d.ts +36 -12
  102. package/dist/core/context-builder.d.ts.map +1 -1
  103. package/dist/core/context-builder.js +179 -89
  104. package/dist/core/context-builder.js.map +1 -1
  105. package/dist/core/dispatcher-date-utils.d.ts +49 -0
  106. package/dist/core/dispatcher-date-utils.d.ts.map +1 -0
  107. package/dist/core/dispatcher-date-utils.js +132 -0
  108. package/dist/core/dispatcher-date-utils.js.map +1 -0
  109. package/dist/core/dispatcher-error-handling.d.ts +159 -0
  110. package/dist/core/dispatcher-error-handling.d.ts.map +1 -0
  111. package/dist/core/dispatcher-error-handling.js +393 -0
  112. package/dist/core/dispatcher-error-handling.js.map +1 -0
  113. package/dist/core/dispatcher-hourly-check.d.ts +150 -0
  114. package/dist/core/dispatcher-hourly-check.d.ts.map +1 -0
  115. package/dist/core/dispatcher-hourly-check.js +665 -0
  116. package/dist/core/dispatcher-hourly-check.js.map +1 -0
  117. package/dist/core/dispatcher-message-handler.d.ts +170 -0
  118. package/dist/core/dispatcher-message-handler.d.ts.map +1 -0
  119. package/dist/core/dispatcher-message-handler.js +1054 -0
  120. package/dist/core/dispatcher-message-handler.js.map +1 -0
  121. package/dist/core/dispatcher-morning-routine.d.ts +169 -0
  122. package/dist/core/dispatcher-morning-routine.d.ts.map +1 -0
  123. package/dist/core/dispatcher-morning-routine.js +434 -0
  124. package/dist/core/dispatcher-morning-routine.js.map +1 -0
  125. package/dist/core/dispatcher-prompt.d.ts +107 -0
  126. package/dist/core/dispatcher-prompt.d.ts.map +1 -0
  127. package/dist/core/dispatcher-prompt.js +227 -0
  128. package/dist/core/dispatcher-prompt.js.map +1 -0
  129. package/dist/core/dispatcher-repository-helpers.d.ts +39 -0
  130. package/dist/core/dispatcher-repository-helpers.d.ts.map +1 -0
  131. package/dist/core/dispatcher-repository-helpers.js +86 -0
  132. package/dist/core/dispatcher-repository-helpers.js.map +1 -0
  133. package/dist/core/dispatcher-result-processor.d.ts +145 -0
  134. package/dist/core/dispatcher-result-processor.d.ts.map +1 -0
  135. package/dist/core/dispatcher-result-processor.js +414 -0
  136. package/dist/core/dispatcher-result-processor.js.map +1 -0
  137. package/dist/core/dispatcher-scheduled-tasks.d.ts +406 -0
  138. package/dist/core/dispatcher-scheduled-tasks.d.ts.map +1 -0
  139. package/dist/core/dispatcher-scheduled-tasks.js +998 -0
  140. package/dist/core/dispatcher-scheduled-tasks.js.map +1 -0
  141. package/dist/core/dispatcher-types.d.ts +296 -0
  142. package/dist/core/dispatcher-types.d.ts.map +1 -0
  143. package/dist/core/dispatcher-types.js +106 -0
  144. package/dist/core/dispatcher-types.js.map +1 -0
  145. package/dist/core/dispatcher.d.ts +86 -610
  146. package/dist/core/dispatcher.d.ts.map +1 -1
  147. package/dist/core/dispatcher.js +293 -3542
  148. package/dist/core/dispatcher.js.map +1 -1
  149. package/dist/core/integration-health.d.ts +18 -10
  150. package/dist/core/integration-health.d.ts.map +1 -1
  151. package/dist/core/integration-health.js +31 -1
  152. package/dist/core/integration-health.js.map +1 -1
  153. package/dist/core/integration-lifecycle.d.ts +65 -0
  154. package/dist/core/integration-lifecycle.d.ts.map +1 -1
  155. package/dist/core/integration-lifecycle.js +167 -16
  156. package/dist/core/integration-lifecycle.js.map +1 -1
  157. package/dist/core/integration-main-backend.d.ts +40 -0
  158. package/dist/core/integration-main-backend.d.ts.map +1 -1
  159. package/dist/core/integration-main-backend.js +89 -2
  160. package/dist/core/integration-main-backend.js.map +1 -1
  161. package/dist/core/management-md.d.ts +51 -17
  162. package/dist/core/management-md.d.ts.map +1 -1
  163. package/dist/core/management-md.js +233 -56
  164. package/dist/core/management-md.js.map +1 -1
  165. package/dist/core/output-language-policy.d.ts +74 -0
  166. package/dist/core/output-language-policy.d.ts.map +1 -0
  167. package/dist/core/output-language-policy.js +194 -0
  168. package/dist/core/output-language-policy.js.map +1 -0
  169. package/dist/core/prompts.d.ts +1 -0
  170. package/dist/core/prompts.d.ts.map +1 -1
  171. package/dist/core/prompts.js +121 -3
  172. package/dist/core/prompts.js.map +1 -1
  173. package/dist/core/repository-management-docs.d.ts +24 -0
  174. package/dist/core/repository-management-docs.d.ts.map +1 -1
  175. package/dist/core/repository-management-docs.js +210 -26
  176. package/dist/core/repository-management-docs.js.map +1 -1
  177. package/dist/core/routine-acquisition-plan.d.ts +131 -0
  178. package/dist/core/routine-acquisition-plan.d.ts.map +1 -0
  179. package/dist/core/routine-acquisition-plan.js +268 -0
  180. package/dist/core/routine-acquisition-plan.js.map +1 -0
  181. package/dist/core/routine-fetch-window-runner.d.ts +201 -0
  182. package/dist/core/routine-fetch-window-runner.d.ts.map +1 -0
  183. package/dist/core/routine-fetch-window-runner.js +661 -0
  184. package/dist/core/routine-fetch-window-runner.js.map +1 -0
  185. package/dist/core/routine-windows.d.ts +156 -0
  186. package/dist/core/routine-windows.d.ts.map +1 -0
  187. package/dist/core/routine-windows.js +330 -0
  188. package/dist/core/routine-windows.js.map +1 -0
  189. package/dist/core/skills-compiler.d.ts +11 -0
  190. package/dist/core/skills-compiler.d.ts.map +1 -1
  191. package/dist/core/skills-compiler.js +102 -13
  192. package/dist/core/skills-compiler.js.map +1 -1
  193. package/dist/core/skills-manifest.d.ts.map +1 -1
  194. package/dist/core/skills-manifest.js +26 -0
  195. package/dist/core/skills-manifest.js.map +1 -1
  196. package/dist/core/system-reset.d.ts.map +1 -1
  197. package/dist/core/system-reset.js +25 -2
  198. package/dist/core/system-reset.js.map +1 -1
  199. package/dist/db/observations.d.ts +45 -2
  200. package/dist/db/observations.d.ts.map +1 -1
  201. package/dist/db/observations.js +112 -14
  202. package/dist/db/observations.js.map +1 -1
  203. package/dist/db/schema.d.ts.map +1 -1
  204. package/dist/db/schema.js +13 -25
  205. package/dist/db/schema.js.map +1 -1
  206. package/dist/index.js +83 -610
  207. package/dist/index.js.map +1 -1
  208. package/dist/observers/delegated-sync-worker.d.ts +45 -2
  209. package/dist/observers/delegated-sync-worker.d.ts.map +1 -1
  210. package/dist/observers/delegated-sync-worker.js +71 -21
  211. package/dist/observers/delegated-sync-worker.js.map +1 -1
  212. package/dist/observers/mail-poller.d.ts +12 -5
  213. package/dist/observers/mail-poller.d.ts.map +1 -1
  214. package/dist/observers/mail-poller.js +36 -14
  215. package/dist/observers/mail-poller.js.map +1 -1
  216. package/dist/observers/manager.d.ts +37 -5
  217. package/dist/observers/manager.d.ts.map +1 -1
  218. package/dist/observers/manager.js +28 -10
  219. package/dist/observers/manager.js.map +1 -1
  220. package/dist/services/delegated-backend-invoker.d.ts +1 -51
  221. package/dist/services/delegated-backend-invoker.d.ts.map +1 -1
  222. package/dist/services/delegated-backend-invoker.js +41 -480
  223. package/dist/services/delegated-backend-invoker.js.map +1 -1
  224. package/dist/services/delegated-invoker-audit.d.ts +94 -0
  225. package/dist/services/delegated-invoker-audit.d.ts.map +1 -0
  226. package/dist/services/delegated-invoker-audit.js +238 -0
  227. package/dist/services/delegated-invoker-audit.js.map +1 -0
  228. package/dist/services/delegated-invoker-cache-hits.d.ts +34 -0
  229. package/dist/services/delegated-invoker-cache-hits.d.ts.map +1 -0
  230. package/dist/services/delegated-invoker-cache-hits.js +104 -0
  231. package/dist/services/delegated-invoker-cache-hits.js.map +1 -0
  232. package/dist/services/delegated-invoker-janitors.d.ts +28 -0
  233. package/dist/services/delegated-invoker-janitors.d.ts.map +1 -0
  234. package/dist/services/delegated-invoker-janitors.js +104 -0
  235. package/dist/services/delegated-invoker-janitors.js.map +1 -0
  236. package/dist/services/delegated-invoker-utils.d.ts +42 -0
  237. package/dist/services/delegated-invoker-utils.d.ts.map +1 -0
  238. package/dist/services/delegated-invoker-utils.js +100 -0
  239. package/dist/services/delegated-invoker-utils.js.map +1 -0
  240. package/dist/services/delegated-task-runtime.d.ts +1 -1
  241. package/dist/services/delegated-task-runtime.js +1 -1
  242. package/dist/services/integrations/snapshot-partitions.d.ts +5 -0
  243. package/dist/services/integrations/snapshot-partitions.d.ts.map +1 -1
  244. package/dist/services/integrations/snapshot-partitions.js +12 -0
  245. package/dist/services/integrations/snapshot-partitions.js.map +1 -1
  246. package/dist/services/voice/transcriber-impl.d.ts.map +1 -1
  247. package/dist/services/voice/transcriber-impl.js +7 -8
  248. package/dist/services/voice/transcriber-impl.js.map +1 -1
  249. package/package.json +2 -2
@@ -1,14 +1,12 @@
1
- import { existsSync, renameSync } from "node:fs";
2
1
  import { mkdir, readFile, writeFile, stat } from "node:fs/promises";
3
2
  import { dirname, resolve } from "node:path";
4
3
  import * as chokidar from "chokidar";
5
- import { INTEGRATION_DESCRIPTORS, INTEGRATION_KEYS, integrationPatchSchema, isIntegrationKey, } from "@aitne/shared";
4
+ import { defaultIntegrationsMap, INTEGRATION_DESCRIPTORS, INTEGRATION_KEYS, integrationPatchSchema, isIntegrationKey, } from "@aitne/shared";
6
5
  import { readIntegrations, writeIntegrations, } from "../db/integrations-store.js";
7
- import { missingDelegatedVariants } from "./skills-compiler.js";
6
+ import { missingDelegatedVariants, missingNativeVariants } from "./skills-compiler.js";
8
7
  import { createLogger } from "../logging.js";
9
8
  const logger = createLogger("management-md");
10
9
  const FILE_NAME = "integrations.md";
11
- const LEGACY_FILE_NAME = "management.md";
12
10
  /**
13
11
  * Integration Delegation Framework — `integrations.md` render + parse + watch
14
12
  * (Phase 1).
@@ -35,33 +33,6 @@ const LEGACY_FILE_NAME = "management.md";
35
33
  export function getManagementMdPath(dataDir) {
36
34
  return resolve(dataDir, FILE_NAME);
37
35
  }
38
- export function getLegacyManagementMdPath(dataDir) {
39
- return resolve(dataDir, LEGACY_FILE_NAME);
40
- }
41
- /**
42
- * One-shot compatibility migration for installs that predate the
43
- * `integrations.md` rename. If both files exist, keep `integrations.md` as
44
- * authoritative and leave the legacy file untouched for manual inspection.
45
- */
46
- export function migrateLegacyManagementMd(dataDir) {
47
- const from = getLegacyManagementMdPath(dataDir);
48
- const to = getManagementMdPath(dataDir);
49
- if (existsSync(to)) {
50
- if (existsSync(from)) {
51
- // `integrations.md` wins by design; the user probably migrated the
52
- // file manually. Surface a one-time warning so the orphaned legacy
53
- // file is visible (otherwise it sits in dataDir silently forever).
54
- logger.warn({ legacyPath: from, currentPath: to }, "legacy management.md remains alongside integrations.md — delete the legacy file manually if no longer needed");
55
- }
56
- return { migrated: false, from, to, reason: "target_exists" };
57
- }
58
- if (!existsSync(from)) {
59
- return { migrated: false, from, to, reason: "legacy_missing" };
60
- }
61
- renameSync(from, to);
62
- logger.info({ from, to }, "legacy management.md migrated to integrations.md");
63
- return { migrated: true, from, to };
64
- }
65
36
  const pendingSelfWrites = new Set();
66
37
  function markSelfWrite(absPath) {
67
38
  pendingSelfWrites.add(absPath);
@@ -91,7 +62,8 @@ schema_version: 1
91
62
  const MODES_SECTION = `## Modes
92
63
 
93
64
  - **direct** — daemon holds credentials and polls; full feature set; setup required.
94
- - **delegated** — no daemon credentials; backend connector is the access path; reduced features; zero setup.
65
+ - **delegated** — daemon proxies a separate backend connector on a cadence; reduced features; zero setup.
66
+ - **native** — main backend's own native MCP / connector reaches the integration on-demand within the same DM / hourly_check turn; no daemon polling and no daemon-side proxy.
95
67
  - **disabled** — integration off.
96
68
  `;
97
69
  function renderCurrentStateTable(integrations) {
@@ -101,7 +73,11 @@ function renderCurrentStateTable(integrations) {
101
73
  ];
102
74
  for (const key of INTEGRATION_KEYS) {
103
75
  const state = integrations[key];
104
- const backend = state.delegatedBackend ?? "";
76
+ // INTEGRATION_NATIVE_MODE_DESIGN.md §11.5 the "Backend" column
77
+ // surfaces whichever backend binding is active for the row, since
78
+ // delegated and native are mutually exclusive. Direct/disabled
79
+ // remain `—`.
80
+ const backend = state.delegatedBackend ?? state.nativeBackend ?? "—";
105
81
  const subTier = renderSubTier(key, state);
106
82
  rows.push(`| ${key} | ${state.mode} | ${backend} | ${subTier} | ${state.lastChangedAt} |`);
107
83
  }
@@ -207,6 +183,166 @@ function renderToolDenySection(integrations) {
207
183
  }
208
184
  return header + blocks.join("\n");
209
185
  }
186
+ // ── Integration routing tables (§6.5.2 / §7.3) ─────────────────────────────
187
+ /**
188
+ * INTEGRATION_NATIVE_MODE_DESIGN.md §7.3 — render the full per-session
189
+ * routing table that the per-backend instruction file (`CLAUDE.md` /
190
+ * `AGENTS.md` / `GEMINI.md`) and the hourly_check / DM task-flow files
191
+ * substitute in for the `<integration-routing-table>` placeholder.
192
+ *
193
+ * Always renders every registered integration, even when all rows are
194
+ * `direct`, so the agent's mental model converges on "read the routing
195
+ * table first, then dispatch." Disabled rows appear as `(disabled)` so
196
+ * the agent can answer "do I have Gmail?" honestly even when the audit
197
+ * surface is suppressed.
198
+ *
199
+ * Pure function — no I/O, no DB reads. Callers pass the integration
200
+ * snapshot they want rendered (typically from `readIntegrations(db)`).
201
+ */
202
+ export function renderIntegrationRoutingTable(integrations) {
203
+ const rows = [
204
+ "| Integration | Mode | Data path |",
205
+ "|---|---|---|",
206
+ ];
207
+ for (const key of INTEGRATION_KEYS) {
208
+ const state = integrations[key];
209
+ rows.push(`| ${key} | ${state.mode} | ${describeDataPath(key, state)} |`);
210
+ }
211
+ return rows.join("\n");
212
+ }
213
+ /**
214
+ * INTEGRATION_NATIVE_MODE_DESIGN.md §6.5.2 — the actionable variant of
215
+ * the routing table. Identical rendering for `direct` / `delegated` /
216
+ * `native` rows; `disabled` rows are filtered out entirely so the
217
+ * task-flow's "for each integration" loop has zero iterations for them.
218
+ *
219
+ * This is what the hourly_check and DM task-flow files iterate over;
220
+ * the full {@link renderIntegrationRoutingTable} is for the instruction
221
+ * file's read-only audit summary.
222
+ */
223
+ export function renderIntegrationRoutingTableActionable(integrations) {
224
+ const rows = [
225
+ "| Integration | Mode | Data path |",
226
+ "|---|---|---|",
227
+ ];
228
+ let actionableCount = 0;
229
+ for (const key of INTEGRATION_KEYS) {
230
+ const state = integrations[key];
231
+ if (state.mode === "disabled")
232
+ continue;
233
+ actionableCount++;
234
+ rows.push(`| ${key} | ${state.mode} | ${describeDataPath(key, state)} |`);
235
+ }
236
+ if (actionableCount === 0) {
237
+ // Empty-table marker the task-flow author can branch on. Renders as
238
+ // a single italic line so the surrounding prompt stays parseable.
239
+ return "_No actionable integrations — every registered key is currently disabled._";
240
+ }
241
+ return rows.join("\n");
242
+ }
243
+ /**
244
+ * INTEGRATION_NATIVE_MODE_DESIGN.md §7.3 / §6.5.2 — substitute the two
245
+ * angle-bracket placeholders documented in the design with their
246
+ * rendered tables. The placeholders are deliberately literal strings
247
+ * (not `{handlebars}` template tokens) so they survive the existing
248
+ * `resolveTemplate` pass in `prompt-utils.ts` (which only touches
249
+ * `{…}` braces) without escaping. Substitution is idempotent — running
250
+ * the helper twice on already-substituted text is a no-op because the
251
+ * placeholder strings have already been replaced.
252
+ *
253
+ * Callers:
254
+ * - `prompts.getTaskFlow` substitutes after `applyIntegrationModeFilter`
255
+ * so the rendered template carries the final per-session table
256
+ * before `resolveTemplate` fills `{context}` and `{event_data[*]}`.
257
+ * - `skills-compiler.materializeClaudeSession` /
258
+ * `materializeCliSession` substitute inside the rendered profile
259
+ * body before writing `CLAUDE.md` / `AGENTS.md` / `GEMINI.md`.
260
+ *
261
+ * Returns `content` unchanged when neither placeholder is present so
262
+ * call sites can apply this unconditionally without measuring impact.
263
+ */
264
+ export const INTEGRATION_ROUTING_TABLE_PLACEHOLDER = "<integration-routing-table>";
265
+ export const INTEGRATION_ROUTING_TABLE_ACTIONABLE_PLACEHOLDER = "<integration-routing-table-actionable>";
266
+ export function substituteIntegrationRoutingTables(content, integrations) {
267
+ if (!content.includes(INTEGRATION_ROUTING_TABLE_PLACEHOLDER)
268
+ && !content.includes(INTEGRATION_ROUTING_TABLE_ACTIONABLE_PLACEHOLDER)) {
269
+ return content;
270
+ }
271
+ // Fill missing keys with the registry default (disabled for most,
272
+ // direct for git/github) so the renderer always sees a full record.
273
+ // Callers from `prompts.ts` and `skills-compiler.ts` hold a Partial
274
+ // (the SkillsCompiler constructor parameter is Partial by design —
275
+ // tests instantiate it with `{}` for direct-mode coverage). Filling
276
+ // here keeps every consumer's call site noise-free.
277
+ const filled = ensureFullIntegrationsRecord(integrations);
278
+ // Order matters: substitute the longer/actionable token first so a
279
+ // future placeholder that contains the shorter token as a substring
280
+ // (e.g. a hypothetical `<integration-routing-table-X>`) still binds
281
+ // exactly. `replaceAll` so multiple insertions in one profile / flow
282
+ // all get rendered.
283
+ return content
284
+ .replaceAll(INTEGRATION_ROUTING_TABLE_ACTIONABLE_PLACEHOLDER, renderIntegrationRoutingTableActionable(filled))
285
+ .replaceAll(INTEGRATION_ROUTING_TABLE_PLACEHOLDER, renderIntegrationRoutingTable(filled));
286
+ }
287
+ function ensureFullIntegrationsRecord(integrations) {
288
+ const defaults = defaultIntegrationsMap();
289
+ const out = {};
290
+ for (const key of INTEGRATION_KEYS) {
291
+ out[key] = integrations[key] ?? defaults[key];
292
+ }
293
+ return out;
294
+ }
295
+ function describeDataPath(key, state) {
296
+ switch (state.mode) {
297
+ case "direct":
298
+ return `curl http://localhost:8321/api/${dataPathPrefixFor(key)}/*`;
299
+ case "delegated": {
300
+ const backend = state.delegatedBackend;
301
+ if (!backend)
302
+ return "delegated (no backend bound — re-configure)";
303
+ return `POST /api/integrations/${key}/exec (proxy → ${backend})`;
304
+ }
305
+ case "native": {
306
+ const backend = state.nativeBackend;
307
+ if (!backend)
308
+ return "native (no backend bound — re-configure)";
309
+ // The descriptor's `toolNamespace` is the bare prefix the agent
310
+ // sees; suffix with `*` so the rendered string reads as a glob.
311
+ const namespace = INTEGRATION_DESCRIPTORS[key].backendConnectors[backend]?.toolNamespace;
312
+ const surface = namespace
313
+ ? `${namespace}* (${backend} native MCP)`
314
+ : `${backend} native MCP`;
315
+ return `${surface} — DO NOT call /api/${key}/*`;
316
+ }
317
+ case "disabled":
318
+ return "(disabled)";
319
+ }
320
+ }
321
+ /**
322
+ * Per-integration daemon-API path prefix used in {@link describeDataPath}.
323
+ * Mirrors the documented routes; we don't introspect `apiRoutesTouched`
324
+ * because that field is intentionally empty for multi-provider routes
325
+ * (gmail under /api/mail/*) and we still want the routing table to name
326
+ * a concrete path the agent can grep for.
327
+ */
328
+ function dataPathPrefixFor(key) {
329
+ switch (key) {
330
+ case "gmail":
331
+ return "mail";
332
+ case "google_calendar":
333
+ return "calendar";
334
+ case "notion":
335
+ return "notion";
336
+ case "git":
337
+ return "git";
338
+ case "github":
339
+ return "github";
340
+ case "outlook_mail":
341
+ return "mail";
342
+ case "outlook_calendar":
343
+ return "calendar/outlook";
344
+ }
345
+ }
210
346
  export function renderManagementMd(integrations, notes = {
211
347
  externalObsidianVaultPath: null,
212
348
  externalObsidianWatch: true,
@@ -250,9 +386,23 @@ export function parseManagementMd(body) {
250
386
  }
251
387
  const mode = row.mode;
252
388
  const backendCell = row.backend === "—" || row.backend === "" ? undefined : row.backend;
389
+ // INTEGRATION_NATIVE_MODE_DESIGN.md §5.2 — the rendered table has a
390
+ // single "Backend" column whose semantics flip on mode: delegated
391
+ // rows carry `delegatedBackend`, native rows carry `nativeBackend`,
392
+ // direct / disabled carry `—`. Route the parsed cell to the correct
393
+ // field so a round-trip (render → hand-edit → parseManagementMd →
394
+ // DB) preserves the binding. Sending a native cell into
395
+ // `delegatedBackend` would either fail the schema's mutual-exclusion
396
+ // `superRefine` or silently drop the binding (whichever field
397
+ // `superRefine` clears when mode flips).
398
+ const backendForMode = mode === "delegated"
399
+ ? { delegatedBackend: backendCell }
400
+ : mode === "native"
401
+ ? { nativeBackend: backendCell }
402
+ : {};
253
403
  const patch = integrationPatchSchema.safeParse({
254
404
  mode,
255
- delegatedBackend: backendCell,
405
+ ...backendForMode,
256
406
  });
257
407
  if (!patch.success) {
258
408
  errors.push(`integration ${row.key}: ${patch.error.issues
@@ -268,6 +418,9 @@ export function parseManagementMd(body) {
268
418
  ...(patch.data.delegatedBackend
269
419
  ? { delegatedBackend: patch.data.delegatedBackend }
270
420
  : {}),
421
+ ...(patch.data.nativeBackend
422
+ ? { nativeBackend: patch.data.nativeBackend }
423
+ : {}),
271
424
  deniedTools: denyByKey[row.key] ?? [],
272
425
  lastChangedAt: lastChanged,
273
426
  };
@@ -418,9 +571,6 @@ export async function readAndParseManagementMd(dataDir) {
418
571
  * Phase 2+; for now we only log.
419
572
  */
420
573
  export async function bootstrapManagementMd(dataDir, db, workspaceDir, notes) {
421
- // Callers are responsible for invoking `migrateLegacyManagementMd`
422
- // before `bootstrapManagementMd` so any legacy file has already been
423
- // renamed to `integrations.md` before we touch it. See index.ts.
424
574
  const path = getManagementMdPath(dataDir);
425
575
  const dbState = readIntegrations(db);
426
576
  let fileExists = true;
@@ -509,44 +659,71 @@ export function enforceVariantAvailability(merged, dbState, workspaceDir) {
509
659
  for (const key of INTEGRATION_KEYS) {
510
660
  const next = merged[key];
511
661
  const prev = dbState[key];
512
- if (next.mode !== "delegated" || !next.delegatedBackend)
513
- continue;
514
662
  // DELEGATED-MODE-V2-DESIGN.md §11 (Phase 3) re-activated the variant
515
663
  // gate for every delegated integration: gmail and google_calendar
516
664
  // now ship `SKILL.delegated.<sessionBackend>.md` variants
517
665
  // (cross-backend) plus the `null` resolution for same-backend.
518
- // Only validate when this edit introduces a new delegated target. A
519
- // key that was already delegated to the same backend pre-merge has
520
- // presumably already cleared the check once (either via PATCH or a
521
- // prior boot); re-running it here would surface transient file churn
522
- // every time a user edited an unrelated row.
523
- const semanticallyNew = prev.mode !== next.mode ||
524
- (prev.delegatedBackend ?? null) !== (next.delegatedBackend ?? null);
525
- if (!semanticallyNew)
666
+ // INTEGRATION_NATIVE_MODE_DESIGN.md §11.3 mirror the gate for
667
+ // native flips so a hand-edit that introduces native + a missing
668
+ // skill variant gets rolled back the same way a delegated flip does.
669
+ //
670
+ // Only validate when this edit introduces a new (mode, backend)
671
+ // binding. A row whose state matches the DB pre-merge has already
672
+ // cleared the check at some prior boot / PATCH; re-running here
673
+ // would churn on every unrelated edit.
674
+ let missing = null;
675
+ let activeBackend = null;
676
+ if (next.mode === "delegated" && next.delegatedBackend) {
677
+ const semanticallyNew = prev.mode !== next.mode ||
678
+ (prev.delegatedBackend ?? null) !== (next.delegatedBackend ?? null);
679
+ if (!semanticallyNew)
680
+ continue;
681
+ activeBackend = next.delegatedBackend;
682
+ missing = missingDelegatedVariants(workspaceDir, key, activeBackend);
683
+ }
684
+ else if (next.mode === "native" && next.nativeBackend) {
685
+ const semanticallyNew = prev.mode !== next.mode ||
686
+ (prev.nativeBackend ?? null) !== (next.nativeBackend ?? null);
687
+ if (!semanticallyNew)
688
+ continue;
689
+ activeBackend = next.nativeBackend;
690
+ missing = missingNativeVariants(workspaceDir, key, activeBackend);
691
+ }
692
+ else {
526
693
  continue;
527
- const missing = missingDelegatedVariants(workspaceDir, key, next.delegatedBackend);
694
+ }
528
695
  const paths = [...missing.skills, ...missing.taskFlows];
529
696
  if (paths.length === 0)
530
697
  continue;
531
698
  filtered[key] = prev;
532
- rejections.push({ key, backend: next.delegatedBackend, missing: paths });
699
+ rejections.push({ key, backend: activeBackend, missing: paths });
533
700
  }
534
701
  return { filtered, rejections };
535
702
  }
536
703
  function changed(a, b) {
537
704
  for (const key of INTEGRATION_KEYS) {
538
- if (a[key].mode !== b[key].mode ||
539
- (a[key].delegatedBackend ?? undefined) !==
540
- (b[key].delegatedBackend ?? undefined)) {
705
+ if (integrationRowChanged(a[key], b[key]))
541
706
  return true;
542
- }
543
707
  }
544
708
  return false;
545
709
  }
546
710
  function diffKeys(a, b) {
547
- return INTEGRATION_KEYS.filter((key) => a[key].mode !== b[key].mode ||
548
- (a[key].delegatedBackend ?? undefined) !==
549
- (b[key].delegatedBackend ?? undefined));
711
+ return INTEGRATION_KEYS.filter((key) => integrationRowChanged(a[key], b[key]));
712
+ }
713
+ /**
714
+ * INTEGRATION_NATIVE_MODE_DESIGN.md §5.2 — a row changed when ANY of
715
+ * `mode`, `delegatedBackend`, or `nativeBackend` differs. Pre-native
716
+ * code compared only mode + delegatedBackend, which silently swallowed
717
+ * a native-binding flip (e.g. `nativeBackend: claude → codex` after a
718
+ * main-backend change, where the §11.4 cascade clears the row to
719
+ * `disabled` — the cascade itself flips mode, so this didn't matter in
720
+ * practice, but missing the comparison risks a future code path that
721
+ * mutates nativeBackend without flipping mode).
722
+ */
723
+ function integrationRowChanged(a, b) {
724
+ return (a.mode !== b.mode ||
725
+ (a.delegatedBackend ?? undefined) !== (b.delegatedBackend ?? undefined) ||
726
+ (a.nativeBackend ?? undefined) !== (b.nativeBackend ?? undefined));
550
727
  }
551
728
  /**
552
729
  * Watch `integrations.md` for out-of-band edits and reconcile them into the
@@ -1 +1 @@
1
- {"version":3,"file":"management-md.js","sourceRoot":"","sources":["../../src/core/management-md.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"management-md.js","sourceRoot":"","sources":["../../src/core/management-md.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Output language policy — one source of truth for the rule injected into
3
+ * every backend session.
4
+ *
5
+ * Design: `docs/design/appendices/output-language-policy.md`
6
+ *
7
+ * Two surfaces consume this module:
8
+ *
9
+ * 1. `ContextBuilder` (per-turn XML context). `renderOutputLanguagePolicyBlock`
10
+ * emits the full `<output_language_policy>` block alongside
11
+ * `<settings primary_language=…>`. Refreshes every turn, so it
12
+ * tracks runtime `PATCH /api/config` changes to `primaryLanguage`.
13
+ *
14
+ * 2. `skills-compiler` (persistent system prompt). The renderer in the
15
+ * instruction-file path emits the much shorter
16
+ * `## Output language` pointer paragraph. Identical byte-for-byte
17
+ * across CLAUDE.md / AGENTS.md / GEMINI.md so the agent reads the
18
+ * same rule on every backend; intentionally carries NO value
19
+ * substitutions (no inlined `primaryLanguage`) — the live value
20
+ * lives in the per-turn XML and would go stale here.
21
+ *
22
+ * Treat both renderers as the unique source of the policy text. The
23
+ * grep guard in `output-language-policy.test.ts` enforces this — adding
24
+ * the same prose elsewhere will fail CI.
25
+ */
26
+ /**
27
+ * Sentinel substring that any duplicate of the policy text would contain.
28
+ * The grep guard test scans `src/` and `agent-assets/` (excluding this
29
+ * file and the related test) for the sentinel and fails CI if it
30
+ * appears anywhere else.
31
+ */
32
+ export declare const OUTPUT_LANGUAGE_POLICY_SENTINEL = "Apply primary_language to:";
33
+ /**
34
+ * Full `<output_language_policy>` block, populated with the current
35
+ * `primaryLanguage`. Injected by `ContextBuilder` once per turn,
36
+ * immediately after the existing `<settings primary_language=… />`
37
+ * line.
38
+ */
39
+ export declare function renderOutputLanguagePolicyBlock(primaryLanguage: string): string;
40
+ /** Heading line used by the instruction-file pointer block. */
41
+ export declare const OUTPUT_LANGUAGE_POINTER_HEADING = "## Output language";
42
+ /**
43
+ * Insert the `## Output language` pointer block into the rendered Claude
44
+ * instruction body. Placement mirrors the design §13.3 stack ordering —
45
+ * after safety, after the user-defined character block (if any), and
46
+ * before the runtime profile body.
47
+ *
48
+ * Placement search order:
49
+ *
50
+ * 1. Right after the character-block end marker (`<!-- character:end -->`
51
+ * followed by the FOOTER paragraph and a blank line). When the
52
+ * character block is present this is the natural "below character"
53
+ * seam.
54
+ * 2. Right after the safety-end sentinel when the character block is
55
+ * absent.
56
+ * 3. Before the first `## ` section heading as a final fallback for
57
+ * legacy bodies that carry neither sentinel.
58
+ *
59
+ * Idempotent: a body that already contains the heading is returned
60
+ * unchanged. This matters because `applyCharacterBlockRewrite` is
61
+ * idempotent in the same way and the two helpers may run in succession
62
+ * across re-materialization.
63
+ */
64
+ export declare function applyOutputLanguagePointerRewrite(content: string): string;
65
+ /**
66
+ * Short `## Output language` pointer paragraph inlined verbatim into
67
+ * CLAUDE.md / AGENTS.md / GEMINI.md by `skills-compiler`. Declarative,
68
+ * no value substitutions — the live `primaryLanguage` is carried by
69
+ * the per-turn `<output_language_policy>` XML block instead, so the
70
+ * instruction file never goes stale when the user PATCHes the setting
71
+ * mid-session. See design §13.4 / §13.5.
72
+ */
73
+ export declare function renderOutputLanguagePolicyPointer(): string;
74
+ //# sourceMappingURL=output-language-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-language-policy.d.ts","sourceRoot":"","sources":["../../src/core/output-language-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,+BACd,CAAC;AAE/B;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,eAAe,EAAE,MAAM,GACtB,MAAM,CA2CR;AAED,+DAA+D;AAC/D,eAAO,MAAM,+BAA+B,uBAAuB,CAAC;AAQpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA4CzE;AAQD;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,IAAI,MAAM,CAsB1D"}