@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegated-invoker-cache-hits.d.ts","sourceRoot":"","sources":["../../src/services/delegated-invoker-cache-hits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAGhF,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE;IACJ,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,uBAAuB,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB,GACA,gBAAgB,CA0ClB;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE;IACJ,MAAM,EAAE,eAAe,CAAC;IACxB,GAAG,EAAE,uBAAuB,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB,GACA,eAAe,CAyCjB"}
@@ -0,0 +1,104 @@
1
+ import { hashTaskArgs } from "./delegated-task-runtime.js";
2
+ import { recordCacheHitAuditRow } from "./delegated-invoker-audit.js";
3
+ import { zeroCost } from "./delegated-invoker-utils.js";
4
+ /**
5
+ * §13 Phase 3.3 — cache-hit response builders. Both functions:
6
+ * 1. Compute the task / schema (and for /run: allowedTools) hashes used
7
+ * by the dashboard's detail filter.
8
+ * 2. Write a single `'success'`, `cost_source='cache'` audit row via
9
+ * {@link recordCacheHitAuditRow}.
10
+ * 3. Synthesize the public {@link TaskInvokeResult} / {@link RunInvokeResult}
11
+ * from the cache entry — `cost: zeroCost()` because the cached
12
+ * subprocess was the one that spent.
13
+ *
14
+ * Pure pattern A: no instance state, no closures. Cache hits are looked
15
+ * up before the concurrency permit so they do not consume a slot and do
16
+ * not increment the per-day quota counter (the quota counts subprocess
17
+ * invocations, not cache returns).
18
+ */
19
+ export function buildCacheHitTaskResult(db, args) {
20
+ const nowIso = new Date(args.now()).toISOString();
21
+ const taskHash = hashTaskArgs(args.params.task);
22
+ const schemaHash = hashTaskArgs(args.params.outputSchema);
23
+ recordCacheHitAuditRow(db, {
24
+ actionType: "delegated_task.exec",
25
+ backendId: args.backendId,
26
+ modelId: args.modelId,
27
+ ...(args.params.parentEventId !== undefined
28
+ ? { parentEventId: args.params.parentEventId }
29
+ : {}),
30
+ ...(args.params.parentProcessKey !== undefined
31
+ ? { parentProcessKey: args.params.parentProcessKey }
32
+ : {}),
33
+ timestamp: nowIso,
34
+ toolCallCount: args.hit.trace.length,
35
+ detail: {
36
+ integrationKey: args.params.integrationKey,
37
+ delegatedBackend: args.backendId,
38
+ taskHash,
39
+ schemaHash,
40
+ cacheHit: true,
41
+ toolCallCount: args.hit.trace.length,
42
+ retried: false,
43
+ // §11.2 — cache hits are gated on the original outcome being
44
+ // non-confirmation (see Phase 3.3 cache guard); record this
45
+ // explicitly so the metric aggregator's schema stays uniform
46
+ // across live + cache-hit rows.
47
+ needsConfirmation: false,
48
+ },
49
+ });
50
+ return {
51
+ ok: true,
52
+ result: args.hit.result,
53
+ needsConfirmation: false,
54
+ confirmationPlan: null,
55
+ cost: zeroCost(),
56
+ trace: args.hit.trace,
57
+ backendId: args.backendId,
58
+ modelId: args.modelId,
59
+ retried: false,
60
+ };
61
+ }
62
+ export function buildCacheHitRunResult(db, args) {
63
+ const nowIso = new Date(args.now()).toISOString();
64
+ const taskHash = hashTaskArgs(args.params.task);
65
+ const schemaHash = hashTaskArgs(args.params.outputSchema);
66
+ const allowedToolsHash = hashTaskArgs(args.params.allowedTools);
67
+ recordCacheHitAuditRow(db, {
68
+ actionType: "delegated_task.run",
69
+ backendId: args.backendId,
70
+ modelId: args.modelId,
71
+ ...(args.params.parentEventId !== undefined
72
+ ? { parentEventId: args.params.parentEventId }
73
+ : {}),
74
+ ...(args.params.parentProcessKey !== undefined
75
+ ? { parentProcessKey: args.params.parentProcessKey }
76
+ : {}),
77
+ timestamp: nowIso,
78
+ toolCallCount: args.hit.trace.length,
79
+ detail: {
80
+ delegatedBackend: args.backendId,
81
+ taskHash,
82
+ schemaHash,
83
+ allowedToolsHash,
84
+ allowedToolsCount: args.params.allowedTools.length,
85
+ cacheHit: true,
86
+ toolCallCount: args.hit.trace.length,
87
+ retried: false,
88
+ // §11.2 — see /exec equivalent.
89
+ needsConfirmation: false,
90
+ },
91
+ });
92
+ return {
93
+ ok: true,
94
+ result: args.hit.result,
95
+ needsConfirmation: false,
96
+ confirmationPlan: null,
97
+ cost: zeroCost(),
98
+ trace: args.hit.trace,
99
+ backendId: args.backendId,
100
+ modelId: args.modelId,
101
+ retried: false,
102
+ };
103
+ }
104
+ //# sourceMappingURL=delegated-invoker-cache-hits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegated-invoker-cache-hits.js","sourceRoot":"","sources":["../../src/services/delegated-invoker-cache-hits.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type Database from "better-sqlite3";
2
+ /**
3
+ * DELEGATED-TASK-MODE-DESIGN.md §11.1 crash safety — boot-time janitor
4
+ * that flips orphaned `delegated_task.exec` rows older than `maxAgeMs`
5
+ * (default 5 min) from `result='in_progress'` to `result='failed'` with
6
+ * `error='subprocess_orphaned'`. Without this, a daemon crash mid-task
7
+ * leaves the row in flight forever and poisons the dashboard's "in-flight
8
+ * task" counter.
9
+ *
10
+ * Returns the number of rows updated.
11
+ */
12
+ export declare function runDelegatedTaskOrphanJanitor(db: Database.Database, options?: {
13
+ now?: () => number;
14
+ maxAgeMs?: number;
15
+ }): number;
16
+ /**
17
+ * Boot-time janitor — scans the sessions root for orphan `proxy-*` dirs
18
+ * older than the configured threshold and removes them. Covers the SIGKILL
19
+ * mid-call case the per-call `finally` cannot. Safe to call before any
20
+ * invocations have happened.
21
+ *
22
+ * Returns the number of directories removed (for logging at startup).
23
+ */
24
+ export declare function runProxyTempdirJanitor(dataDir: string, options?: {
25
+ now?: () => number;
26
+ maxAgeMs?: number;
27
+ }): number;
28
+ //# sourceMappingURL=delegated-invoker-janitors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegated-invoker-janitors.d.ts","sourceRoot":"","sources":["../../src/services/delegated-invoker-janitors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAoB3C;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,MAAM,CA4BR;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,MAAM,CAoCR"}
@@ -0,0 +1,104 @@
1
+ import { existsSync, readdirSync, rmSync, statSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { createLogger } from "../logging.js";
4
+ import { DELEGATED_PROXY_DEFAULTS } from "./delegated-proxy-config.js";
5
+ /**
6
+ * Boot-time janitors for the delegated proxy + task subsystem.
7
+ *
8
+ * - {@link runDelegatedTaskOrphanJanitor} closes orphan `delegated_task.*`
9
+ * rows whose owning subprocess died before the daemon could complete
10
+ * them (SIGKILL / crash mid-task). Without it, in-flight rows
11
+ * accumulate forever and skew the dashboard's in-flight counter.
12
+ * - {@link runProxyTempdirJanitor} sweeps stale `proxy-*` session dirs
13
+ * under `<dataDir>/agent-sessions/`. Covers the SIGKILL window the
14
+ * per-call `finally` cannot reach.
15
+ *
16
+ * Both are pure top-level exports — no invoker instance state.
17
+ */
18
+ const logger = createLogger("delegated-proxy-janitors");
19
+ /**
20
+ * DELEGATED-TASK-MODE-DESIGN.md §11.1 crash safety — boot-time janitor
21
+ * that flips orphaned `delegated_task.exec` rows older than `maxAgeMs`
22
+ * (default 5 min) from `result='in_progress'` to `result='failed'` with
23
+ * `error='subprocess_orphaned'`. Without this, a daemon crash mid-task
24
+ * leaves the row in flight forever and poisons the dashboard's "in-flight
25
+ * task" counter.
26
+ *
27
+ * Returns the number of rows updated.
28
+ */
29
+ export function runDelegatedTaskOrphanJanitor(db, options = {}) {
30
+ const maxAgeMs = options.maxAgeMs ?? DELEGATED_PROXY_DEFAULTS.janitorMaxAgeMs;
31
+ const cutoffMs = (options.now?.() ?? Date.now()) - maxAgeMs;
32
+ const cutoffIso = new Date(cutoffMs).toISOString();
33
+ try {
34
+ const result = db
35
+ .prepare(`UPDATE agent_actions SET
36
+ result = 'failed',
37
+ error = 'subprocess_orphaned',
38
+ completed_at = datetime('now')
39
+ WHERE action_type IN ('delegated_task.exec', 'delegated_task.run', 'delegated_task.tool_step')
40
+ AND result = 'in_progress'
41
+ AND started_at < datetime(?)`)
42
+ .run(cutoffIso);
43
+ if (result.changes > 0) {
44
+ logger.info({ changes: result.changes }, "delegated task janitor: closed orphaned in-progress rows");
45
+ }
46
+ return result.changes;
47
+ }
48
+ catch (err) {
49
+ logger.warn({ err }, "delegated task janitor: SQL update failed");
50
+ return 0;
51
+ }
52
+ }
53
+ /**
54
+ * Boot-time janitor — scans the sessions root for orphan `proxy-*` dirs
55
+ * older than the configured threshold and removes them. Covers the SIGKILL
56
+ * mid-call case the per-call `finally` cannot. Safe to call before any
57
+ * invocations have happened.
58
+ *
59
+ * Returns the number of directories removed (for logging at startup).
60
+ */
61
+ export function runProxyTempdirJanitor(dataDir, options = {}) {
62
+ const now = options.now ?? Date.now;
63
+ const maxAgeMs = options.maxAgeMs ?? DELEGATED_PROXY_DEFAULTS.janitorMaxAgeMs;
64
+ const root = join(dataDir, "agent-sessions");
65
+ if (!existsSync(root))
66
+ return 0;
67
+ let removed = 0;
68
+ let entries;
69
+ try {
70
+ entries = readdirSync(root);
71
+ }
72
+ catch (err) {
73
+ logger.warn({ err, root }, "proxy janitor: readdir failed");
74
+ return 0;
75
+ }
76
+ for (const entry of entries) {
77
+ if (!entry.startsWith(DELEGATED_PROXY_DEFAULTS.tempdirPrefix))
78
+ continue;
79
+ const path = join(root, entry);
80
+ let stat;
81
+ try {
82
+ stat = statSync(path);
83
+ }
84
+ catch {
85
+ continue;
86
+ }
87
+ if (!stat.isDirectory())
88
+ continue;
89
+ if (now() - stat.mtimeMs < maxAgeMs)
90
+ continue;
91
+ try {
92
+ rmSync(path, { recursive: true, force: true });
93
+ removed++;
94
+ }
95
+ catch (err) {
96
+ logger.warn({ err, path }, "proxy janitor: rm failed");
97
+ }
98
+ }
99
+ if (removed > 0) {
100
+ logger.info({ removed }, "proxy janitor: removed orphan tempdirs");
101
+ }
102
+ return removed;
103
+ }
104
+ //# sourceMappingURL=delegated-invoker-janitors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegated-invoker-janitors.js","sourceRoot":"","sources":["../../src/services/delegated-invoker-janitors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { DelegatedToolCost } from "../core/agent-core.js";
2
+ /**
3
+ * Stateless utilities for {@link DelegatedBackendInvoker}: a tiny FS reader,
4
+ * a stable arg hash for `agent_actions.detail`, two `DelegatedToolCost`
5
+ * builders, a code-fence stripper, and the synthetic one-shot lease used
6
+ * when the session-dir pool is disabled.
7
+ *
8
+ * Nothing here reads invoker instance state — these are exported as plain
9
+ * functions so the parent class can delegate without preserving a `this`
10
+ * binding. `LegacyOneShotLease` keeps the same `release()` / `discard()`
11
+ * shape as `SessionPoolLease` so the task() / run() loop can hold either
12
+ * kind through one variable.
13
+ */
14
+ export declare function readFileSyncIfExists(path: string): string | null;
15
+ export declare function hashArgs(args: unknown): string;
16
+ export declare function zeroCost(): DelegatedToolCost;
17
+ export declare function mergeCost(a: DelegatedToolCost, b: DelegatedToolCost): DelegatedToolCost;
18
+ /**
19
+ * Fence stripper shared with `delegated-task-runtime.ts` (which keeps a
20
+ * private copy for `extractAndValidateResult`'s schema-violation recovery
21
+ * path — see runtime.ts:572). A four-line helper hand-synced rather than
22
+ * imported from either direction so neither file widens its dependency
23
+ * surface for the sake of one regex.
24
+ */
25
+ export declare function stripCodeFences(input: string): string;
26
+ /**
27
+ * §13 Phase 3.2 — synthetic lease used when pooling is disabled. Implements
28
+ * the same `release()` / `discard()` shape as `SessionPoolLease` so the
29
+ * task() / run() loop doesn't have to branch on whether pooling is active.
30
+ * Both methods clean up the tempdir (no TTL semantics — there's no pool
31
+ * to return to).
32
+ */
33
+ export declare class LegacyOneShotLease {
34
+ readonly sessionDir: string;
35
+ private readonly cleanup;
36
+ readonly fromPool = false;
37
+ private released;
38
+ constructor(sessionDir: string, cleanup: () => void);
39
+ release(): void;
40
+ discard(): void;
41
+ }
42
+ //# sourceMappingURL=delegated-invoker-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegated-invoker-utils.d.ts","sourceRoot":"","sources":["../../src/services/delegated-invoker-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;;;;;;;;;;GAWG;AAEH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGhE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAU9C;AAED,wBAAgB,QAAQ,IAAI,iBAAiB,CAU5C;AAED,wBAAgB,SAAS,CACvB,CAAC,EAAE,iBAAiB,EACpB,CAAC,EAAE,iBAAiB,GACnB,iBAAiB,CAUnB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAI3B,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,QAAQ,CAAC,QAAQ,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;gBAEd,UAAU,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,IAAI;IAEtC,OAAO,IAAI,IAAI;IAKf,OAAO,IAAI,IAAI;CAKhB"}
@@ -0,0 +1,100 @@
1
+ import { createHash } from "node:crypto";
2
+ import { existsSync, readFileSync } from "node:fs";
3
+ /**
4
+ * Stateless utilities for {@link DelegatedBackendInvoker}: a tiny FS reader,
5
+ * a stable arg hash for `agent_actions.detail`, two `DelegatedToolCost`
6
+ * builders, a code-fence stripper, and the synthetic one-shot lease used
7
+ * when the session-dir pool is disabled.
8
+ *
9
+ * Nothing here reads invoker instance state — these are exported as plain
10
+ * functions so the parent class can delegate without preserving a `this`
11
+ * binding. `LegacyOneShotLease` keeps the same `release()` / `discard()`
12
+ * shape as `SessionPoolLease` so the task() / run() loop can hold either
13
+ * kind through one variable.
14
+ */
15
+ export function readFileSyncIfExists(path) {
16
+ if (!existsSync(path))
17
+ return null;
18
+ return readFileSync(path, "utf-8");
19
+ }
20
+ export function hashArgs(args) {
21
+ try {
22
+ const serialized = JSON.stringify(args ?? null);
23
+ return createHash("sha256")
24
+ .update(serialized)
25
+ .digest("hex")
26
+ .slice(0, 16);
27
+ }
28
+ catch {
29
+ return "unhashable";
30
+ }
31
+ }
32
+ export function zeroCost() {
33
+ return {
34
+ tokensInput: 0,
35
+ tokensOutput: 0,
36
+ cacheCreationTokens: 0,
37
+ cacheReadTokens: 0,
38
+ costUsd: 0,
39
+ durationMs: 0,
40
+ numTurns: 0,
41
+ };
42
+ }
43
+ export function mergeCost(a, b) {
44
+ return {
45
+ tokensInput: a.tokensInput + b.tokensInput,
46
+ tokensOutput: a.tokensOutput + b.tokensOutput,
47
+ cacheCreationTokens: a.cacheCreationTokens + b.cacheCreationTokens,
48
+ cacheReadTokens: a.cacheReadTokens + b.cacheReadTokens,
49
+ costUsd: a.costUsd + b.costUsd,
50
+ durationMs: a.durationMs + b.durationMs,
51
+ numTurns: a.numTurns + b.numTurns,
52
+ };
53
+ }
54
+ /**
55
+ * Fence stripper shared with `delegated-task-runtime.ts` (which keeps a
56
+ * private copy for `extractAndValidateResult`'s schema-violation recovery
57
+ * path — see runtime.ts:572). A four-line helper hand-synced rather than
58
+ * imported from either direction so neither file widens its dependency
59
+ * surface for the sake of one regex.
60
+ */
61
+ export function stripCodeFences(input) {
62
+ let s = input.trim();
63
+ const fenceRe = /^```(?:json|JSON|jsonc|JSONC)?\s*\r?\n([\s\S]*?)\r?\n```$/;
64
+ const m = s.match(fenceRe);
65
+ if (m)
66
+ return m[1];
67
+ s = s.replace(/^```(?:json|JSON|jsonc|JSONC)?\s*\r?\n/, "");
68
+ s = s.replace(/\r?\n```\s*$/, "");
69
+ return s;
70
+ }
71
+ /**
72
+ * §13 Phase 3.2 — synthetic lease used when pooling is disabled. Implements
73
+ * the same `release()` / `discard()` shape as `SessionPoolLease` so the
74
+ * task() / run() loop doesn't have to branch on whether pooling is active.
75
+ * Both methods clean up the tempdir (no TTL semantics — there's no pool
76
+ * to return to).
77
+ */
78
+ export class LegacyOneShotLease {
79
+ sessionDir;
80
+ cleanup;
81
+ fromPool = false;
82
+ released = false;
83
+ constructor(sessionDir, cleanup) {
84
+ this.sessionDir = sessionDir;
85
+ this.cleanup = cleanup;
86
+ }
87
+ release() {
88
+ if (this.released)
89
+ return;
90
+ this.released = true;
91
+ this.cleanup();
92
+ }
93
+ discard() {
94
+ if (this.released)
95
+ return;
96
+ this.released = true;
97
+ this.cleanup();
98
+ }
99
+ }
100
+ //# sourceMappingURL=delegated-invoker-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegated-invoker-utils.js","sourceRoot":"","sources":["../../src/services/delegated-invoker-utils.ts"],"names":[],"mappings":"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"}
@@ -276,7 +276,7 @@ export declare function sumTraceCosts(trace: readonly DelegatedTaskToolStep[]):
276
276
  };
277
277
  /**
278
278
  * §11.1 — hash tool args for telemetry without leaking their contents.
279
- * Mirrors `delegated-backend-invoker.ts:hashArgs`.
279
+ * Mirrors `delegated-invoker-utils.ts:hashArgs`.
280
280
  */
281
281
  export declare function hashTaskArgs(args: unknown): string;
282
282
  /**
@@ -489,7 +489,7 @@ export function sumTraceCosts(trace) {
489
489
  }
490
490
  /**
491
491
  * §11.1 — hash tool args for telemetry without leaking their contents.
492
- * Mirrors `delegated-backend-invoker.ts:hashArgs`.
492
+ * Mirrors `delegated-invoker-utils.ts:hashArgs`.
493
493
  */
494
494
  export function hashTaskArgs(args) {
495
495
  try {
@@ -10,6 +10,11 @@ import type { IntegrationKey, IntegrationMode } from "@aitne/shared";
10
10
  * - `delegated`: writers are the DelegatedSyncWorker cadences. Calendar
11
11
  * uses `primary:imminent` + `primary:24h`; Gmail uses `inbox:7d`;
12
12
  * Notion uses `recently_updated`.
13
+ * - `native`: writers are the agent's in-turn `POST /api/observations`
14
+ * calls (INTEGRATION_NATIVE_MODE_DESIGN.md §8.3). They land directly
15
+ * in the `observations` table rather than `integration_snapshots`, so
16
+ * this row is empty — `partitionsToPurge` will already drop the
17
+ * prior-mode partitions when flipping out of direct/delegated.
13
18
  * - `disabled`: no writer; partitions are empty.
14
19
  *
15
20
  * The map is the single source of truth for the §3.3 stale-partition
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-partitions.d.ts","sourceRoot":"","sources":["../../../src/services/integrations/snapshot-partitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKrE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uCAAuC,EAAE,QAAQ,CAC5D,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC,CAyC7E,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,cAAc,EAC3B,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,eAAe,GACpB,MAAM,EAAE,CASV;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,WAAW,EAAE,cAAc,EAC3B,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,eAAe,GACpB,MAAM,EAAE,CAgCV"}
1
+ {"version":3,"file":"snapshot-partitions.d.ts","sourceRoot":"","sources":["../../../src/services/integrations/snapshot-partitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKrE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,uCAAuC,EAAE,QAAQ,CAC5D,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC,CAgD7E,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,cAAc,EAC3B,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,eAAe,GACpB,MAAM,EAAE,CASV;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,WAAW,EAAE,cAAc,EAC3B,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,eAAe,GACpB,MAAM,EAAE,CAgCV"}
@@ -10,6 +10,11 @@ const logger = createLogger("snapshot-partitions");
10
10
  * - `delegated`: writers are the DelegatedSyncWorker cadences. Calendar
11
11
  * uses `primary:imminent` + `primary:24h`; Gmail uses `inbox:7d`;
12
12
  * Notion uses `recently_updated`.
13
+ * - `native`: writers are the agent's in-turn `POST /api/observations`
14
+ * calls (INTEGRATION_NATIVE_MODE_DESIGN.md §8.3). They land directly
15
+ * in the `observations` table rather than `integration_snapshots`, so
16
+ * this row is empty — `partitionsToPurge` will already drop the
17
+ * prior-mode partitions when flipping out of direct/delegated.
13
18
  * - `disabled`: no writer; partitions are empty.
14
19
  *
15
20
  * The map is the single source of truth for the §3.3 stale-partition
@@ -21,26 +26,31 @@ export const INTEGRATION_SNAPSHOT_PARTITIONS_BY_MODE = {
21
26
  google_calendar: {
22
27
  direct: ["primary:14d"],
23
28
  delegated: ["primary:imminent", "primary:24h"],
29
+ native: [],
24
30
  disabled: [],
25
31
  },
26
32
  gmail: {
27
33
  direct: [],
28
34
  delegated: ["inbox:7d"],
35
+ native: [],
29
36
  disabled: [],
30
37
  },
31
38
  notion: {
32
39
  direct: [],
33
40
  delegated: ["recently_updated"],
41
+ native: [],
34
42
  disabled: [],
35
43
  },
36
44
  git: {
37
45
  direct: [],
38
46
  delegated: [],
47
+ native: [],
39
48
  disabled: [],
40
49
  },
41
50
  github: {
42
51
  direct: [],
43
52
  delegated: [],
53
+ native: [],
44
54
  disabled: [],
45
55
  },
46
56
  // SETUP-FLOW-REDESIGN-PLAN §6.1 — Outlook integrations are direct-only
@@ -50,11 +60,13 @@ export const INTEGRATION_SNAPSHOT_PARTITIONS_BY_MODE = {
50
60
  outlook_mail: {
51
61
  direct: [],
52
62
  delegated: [],
63
+ native: [],
53
64
  disabled: [],
54
65
  },
55
66
  outlook_calendar: {
56
67
  direct: [],
57
68
  delegated: [],
69
+ native: [],
58
70
  disabled: [],
59
71
  },
60
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-partitions.js","sourceRoot":"","sources":["../../../src/services/integrations/snapshot-partitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot-partitions.js","sourceRoot":"","sources":["../../../src/services/integrations/snapshot-partitions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transcriber-impl.d.ts","sourceRoot":"","sources":["../../../src/services/voice/transcriber-impl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EACf,MAAM,kBAAkB,CAAC;AAmC1B;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAiFjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,YA+DnC,CAAC"}
1
+ {"version":3,"file":"transcriber-impl.d.ts","sourceRoot":"","sources":["../../../src/services/voice/transcriber-impl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EACf,MAAM,kBAAkB,CAAC;AAmC1B;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAgFjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,YA+DnC,CAAC"}
@@ -66,14 +66,13 @@ export const defaultLoadPipeline = async ({ model, modelDir, onProgress, }) => {
66
66
  const pipelineOptions = {};
67
67
  // `onnx-community/whisper-large-v3-turbo`'s default fp32 encoder is a tiny
68
68
  // 439 KB stub that references a 2.55 GB sibling `.onnx_data` external-data
69
- // file. transformers.js v3 in Node fails to resolve that companion and
70
- // surfaces "Unable to get model file path or buffer." mid-download. The
71
- // `_q4` variants are self-contained single ONNX files (encoder ~425 MB,
72
- // decoder ~334 MB ~760 MB total, matches the dashboard's "~800 MB"
73
- // claim). Picking q4 explicitly bypasses the broken default. Operators
74
- // pointing `PA_VOICE_TRANSCRIPTION_MODEL` at a different repo can pin the
75
- // dtype themselves via `PA_VOICE_TRANSCRIPTION_DTYPE` (string or JSON
76
- // object form passed straight through to transformers.js).
69
+ // file (~3 GB total). The `_q4` variants are self-contained single ONNX
70
+ // files (encoder ~425 MB, decoder ~334 MB ~760 MB total, matches the
71
+ // dashboard's "~800 MB" claim), so we pick them by default for download-
72
+ // size reasons. Operators pointing `PA_VOICE_TRANSCRIPTION_MODEL` at a
73
+ // different repo can pin the dtype themselves via
74
+ // `PA_VOICE_TRANSCRIPTION_DTYPE` (string or JSON object form passed
75
+ // straight through to transformers.js).
77
76
  const dtype = resolveDtype(model);
78
77
  if (dtype !== undefined) {
79
78
  pipelineOptions.dtype = dtype;
@@ -1 +1 @@
1
- {"version":3,"file":"transcriber-impl.js","sourceRoot":"","sources":["../../../src/services/voice/transcriber-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcriber-impl.js","sourceRoot":"","sources":["../../../src/services/voice/transcriber-impl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aitne/daemon",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Aitne daemon — long-running TypeScript service that hosts the event bus, scheduler, observers, safety layer, and HTTP API. Consumed by the `aitne` CLI; not intended for standalone use.",
5
5
  "homepage": "https://github.com/Aitne-sh/Aitne#readme",
6
6
  "bugs": {
@@ -62,7 +62,7 @@
62
62
  "telegraf": "^4.16.3",
63
63
  "tsdav": "^2.1.8",
64
64
  "zod": "^4.3.6",
65
- "@aitne/shared": "0.1.3"
65
+ "@aitne/shared": "0.1.4"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@types/better-sqlite3": "^7.6.13",