@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,5 +1,7 @@
1
1
  import { Hono } from "hono";
2
+ import { INTEGRATION_KEYS, isIntegrationKey, } from "@aitne/shared";
2
3
  import { consumeObservations, getNoveltyDistribution, getObservationStats, getPendingObservations, getSummaryStatusCounts, recordObservation, } from "../../db/observations.js";
4
+ import { readIntegrationFlipLock } from "../../core/integration-lifecycle.js";
3
5
  import { createLogger } from "../../logging.js";
4
6
  import { readJsonBody } from "../json-body.js";
5
7
  const logger = createLogger("observations-api");
@@ -22,6 +24,80 @@ function parsePayload(payload) {
22
24
  return payload;
23
25
  }
24
26
  }
27
+ /**
28
+ * ROUTINE_DATA_ACQUISITION_DESIGN.md §6.7 — turn the comma-separated
29
+ * `?source_prefix=gmail:,outlook_mail:` query string into a list the
30
+ * db helper can OR via per-prefix `LIKE` predicates. Returns
31
+ * `undefined` (not `[]`) when the param is absent so the db helper can
32
+ * cleanly distinguish "no multi-prefix filter requested" from "empty
33
+ * prefix list".
34
+ *
35
+ * Empty / whitespace-only segments are dropped here (the db helper
36
+ * trims again as a defense-in-depth measure) — a caller passing
37
+ * `?source_prefix=,gmail:,` shouldn't widen the query to every row.
38
+ */
39
+ function parseSourcePrefixes(raw) {
40
+ if (raw === undefined)
41
+ return undefined;
42
+ const parts = raw
43
+ .split(",")
44
+ .map((p) => p.trim())
45
+ .filter((p) => p.length > 0);
46
+ return parts.length > 0 ? parts : undefined;
47
+ }
48
+ /**
49
+ * ROUTINE_DATA_ACQUISITION_DESIGN.md CR2 — resolve `since=` /
50
+ * `observed_at_after=` from the request, validate the format, and
51
+ * coerce empty strings to `undefined` so the db filter is skipped
52
+ * rather than emitted as `datetime(observed_at) >= datetime("")`
53
+ * (which evaluates to NULL and silently drops every row).
54
+ *
55
+ * Returns:
56
+ * - `{ ok: true, value: undefined }` — neither param present, or
57
+ * both were empty / whitespace-only.
58
+ * - `{ ok: true, value: "<iso>" }` — a non-empty, parseable timestamp
59
+ * (canonical `since` wins over the `observed_at_after` alias when
60
+ * both are supplied).
61
+ * - `{ ok: false, raw, param }` — a non-empty value was provided but
62
+ * `Date.parse` rejected it. The route turns this into 400.
63
+ */
64
+ function resolveSinceParam(rawSince, rawAlias) {
65
+ const sinceClean = rawSince !== undefined ? rawSince.trim() : "";
66
+ const aliasClean = rawAlias !== undefined ? rawAlias.trim() : "";
67
+ if (sinceClean.length > 0) {
68
+ return Number.isFinite(Date.parse(sinceClean))
69
+ ? { ok: true, value: sinceClean }
70
+ : { ok: false, raw: sinceClean, param: "since" };
71
+ }
72
+ if (aliasClean.length > 0) {
73
+ return Number.isFinite(Date.parse(aliasClean))
74
+ ? { ok: true, value: aliasClean }
75
+ : { ok: false, raw: aliasClean, param: "observed_at_after" };
76
+ }
77
+ return { ok: true, value: undefined };
78
+ }
79
+ /**
80
+ * INTEGRATION_NATIVE_MODE_DESIGN.md §11.3.1 — map an observation `source`
81
+ * string to the integration key whose flip lock would gate writes against
82
+ * it. The agent's hourly_check / native-mode skill always uses one of the
83
+ * registry's integration keys verbatim as the `source` value (e.g.
84
+ * `"gmail"`, `"google_calendar"`, `"notion"`). Sources outside the
85
+ * registry (Obsidian, Git, messaging adapter, system) are never locked
86
+ * and return null.
87
+ *
88
+ * Matches the exact key first, then falls back to a colon prefix (e.g.
89
+ * `"gmail:account-1"`) so per-account / per-database source values still
90
+ * resolve. Returns null for anything else.
91
+ */
92
+ function inferIntegrationKeyFromSource(source) {
93
+ if (isIntegrationKey(source))
94
+ return source;
95
+ for (const key of INTEGRATION_KEYS) {
96
+ if (source.startsWith(`${key}:`))
97
+ return key;
98
+ }
99
+ return null;
100
+ }
25
101
  /**
26
102
  * cost-reduction-structural §A "Failure modes" — the summary may be
27
103
  * outdated when the worker lags far behind the observation moment (e.g.
@@ -63,18 +139,36 @@ export function createObservationRoutes(deps) {
63
139
  const limit = Math.min(Math.max(parseNumber(c.req.query("limit"), 20), 1), 100);
64
140
  const offset = Math.max(parseNumber(c.req.query("offset"), 0), 0);
65
141
  const source = c.req.query("source");
142
+ const sourcePrefixRaw = c.req.query("source_prefix");
66
143
  const actor = c.req.query("actor");
67
- const since = c.req.query("since");
144
+ // ROUTINE_DATA_ACQUISITION_DESIGN.md §6.7 / CR2 — `since=` is the
145
+ // canonical name; `observed_at_after=` is the routine-side alias
146
+ // (`since` wins when both are supplied). Empty / whitespace-only
147
+ // values are coerced to "no filter" rather than `datetime("")
148
+ // → NULL → drop all rows", and an unparseable string returns 400
149
+ // so misconfigured callers fail loud instead of silently filtering
150
+ // everything out.
151
+ const sinceResolution = resolveSinceParam(c.req.query("since"), c.req.query("observed_at_after"));
152
+ if (!sinceResolution.ok) {
153
+ return c.json({
154
+ error: "invalid_since",
155
+ param: sinceResolution.param,
156
+ value: sinceResolution.raw,
157
+ message: `'${sinceResolution.param}' must be an ISO 8601 timestamp or SQL UTC datetime`,
158
+ }, 400);
159
+ }
68
160
  if (actor && !["user", "agent", "system", "unknown"].includes(actor)) {
69
161
  return c.json({ error: "invalid_actor" }, 400);
70
162
  }
163
+ const sourceFilterPrefixes = parseSourcePrefixes(sourcePrefixRaw);
71
164
  const observations = getPendingObservations(db, {
72
165
  pending,
73
166
  limit,
74
167
  offset,
75
168
  sourceFilter: source,
169
+ sourceFilterPrefixes,
76
170
  actorFilter: actor,
77
- since,
171
+ since: sinceResolution.value,
78
172
  }).map((row) => ({
79
173
  id: row.id,
80
174
  source: row.source,
@@ -104,14 +198,29 @@ export function createObservationRoutes(deps) {
104
198
  *
105
199
  * Used by `routine.hourly_check` to queue `roadmap_candidate` signals
106
200
  * (long-horizon intents too weak to write to roadmap.md directly;
107
- * ROADMAP-REDESIGN §3.4 RFC-C). The DB layer UPSERTs on
108
- * `(source, ref)` where `consumed_at IS NULL`, so re-posting the same
109
- * candidate across hourly ticks coalesces instead of duplicating.
201
+ * ROADMAP-REDESIGN §3.4 RFC-C) AND by INTEGRATION_NATIVE_MODE_DESIGN.md
202
+ * §8.3 native-mode hourly_check turns to persist the materialised mail
203
+ * thread / calendar event list the agent just fetched via the main
204
+ * backend's MCP. The DB layer UPSERTs on `(source, ref)` where
205
+ * `consumed_at IS NULL`, so re-posting the same candidate across hourly
206
+ * ticks coalesces instead of duplicating.
207
+ *
208
+ * §8.3 server-side hash: the daemon computes `contentHash` from the
209
+ * canonical payload via the shared util in `@aitne/shared/observations-hash`
210
+ * and returns it in the response. Pollers and the delegated-sync-worker
211
+ * route through the same util so hashes are comparable across modes — a
212
+ * `delegated → native` flip dedups against pre-flip observations.
110
213
  *
111
214
  * Actor defaults to `agent` here — the user and system channels have
112
215
  * their own writers (vault watchers, mail poller, etc.). Permitting
113
216
  * only `agent` / `system` guards against prompt-injection attempts to
114
217
  * forge user-authored observations.
218
+ *
219
+ * §11.3.1 defensive lock-window check: if a mode-flip is currently in
220
+ * progress for the integration owning this `source`, reject the write
221
+ * with 409 to prevent straggler observations from landing under the
222
+ * old mode label. Sources outside the integration registry (Obsidian,
223
+ * Git, messaging adapter) are never rejected.
115
224
  */
116
225
  app.post("/observations", async (c) => {
117
226
  const parsedBody = await readJsonBody(c);
@@ -133,15 +242,59 @@ export function createObservationRoutes(deps) {
133
242
  if (!["agent", "system"].includes(actor)) {
134
243
  return c.json({ error: "invalid_actor" }, 400);
135
244
  }
136
- recordObservation(db, {
245
+ // §11.3.1 — defensive flip-lock check. The integration key inferred
246
+ // from the source is the same key the PATCH route would have locked.
247
+ // If a flip is mid-flight, return 409 so the agent retries after the
248
+ // drain completes. Sources that don't map to a registered integration
249
+ // are pass-through (Obsidian / Git / messaging never lock).
250
+ const lockedKey = inferIntegrationKeyFromSource(body.source);
251
+ if (lockedKey) {
252
+ const lock = readIntegrationFlipLock(db, lockedKey);
253
+ if (lock) {
254
+ logger.warn({ source: body.source, ref: body.ref, lockedKey, lock }, "Observation write rejected — integration flip lock held");
255
+ return c.json({
256
+ error: "integration_flip_in_progress",
257
+ integration: lockedKey,
258
+ heldBy: lock,
259
+ message: `A mode flip for '${lockedKey}' is in progress; retry shortly.`,
260
+ }, 409);
261
+ }
262
+ }
263
+ const result = recordObservation(db, {
137
264
  source: body.source,
138
265
  ref: body.ref,
139
266
  changeType: changeType,
140
267
  actor: actor,
141
268
  payload: body.payload,
142
269
  });
143
- logger.info({ source: body.source, ref: body.ref, actor }, "Observation recorded via API");
144
- return c.json({ ok: true });
270
+ logger.info({
271
+ source: body.source,
272
+ ref: body.ref,
273
+ actor,
274
+ contentHash: result.contentHash,
275
+ action: result.action,
276
+ }, "Observation recorded via API");
277
+ // ROUTINE_DATA_ACQUISITION_DESIGN.md CR1 — surface payload-identical
278
+ // re-posts as 409 so the routine pre-pass fetcher's JSON return
279
+ // shape (`{"fetched":N,"posted":M,"duplicates":K,"errors":[…]}`)
280
+ // can count them. The 409 body's `error` field distinguishes this
281
+ // case from the §11.3.1 `integration_flip_in_progress` 409 above;
282
+ // callers that don't care about the distinction still read `error`
283
+ // before counting.
284
+ if (result.action === "duplicate") {
285
+ return c.json({
286
+ error: "duplicate",
287
+ contentHash: result.contentHash,
288
+ id: result.id,
289
+ message: "Same (source, ref) pending row already stores this payload",
290
+ }, 409);
291
+ }
292
+ return c.json({
293
+ ok: true,
294
+ contentHash: result.contentHash,
295
+ id: result.id,
296
+ action: result.action,
297
+ });
145
298
  });
146
299
  app.post("/observations/consume", async (c) => {
147
300
  const parsedBody = await readJsonBody(c);
@@ -1 +1 @@
1
- {"version":3,"file":"observations.js","sourceRoot":"","sources":["../../../src/api/routes/observations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observations.js","sourceRoot":"","sources":["../../../src/api/routes/observations.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,15 @@ export declare function createSetupMigrateRoutes(deps: MigrateDeps): Hono;
67
67
  * crashed migration whose resolution the operator should inspect.
68
68
  * Called by the scheduler; see `index.ts` wiring.
69
69
  */
70
- export declare function sweepExpiredMigrationBackups(db: Database.Database): {
70
+ export declare function sweepExpiredMigrationBackups(db: Database.Database, opts?: {
71
+ /**
72
+ * Override for the directory removal call. Defaults to `rmSync` from
73
+ * `node:fs`. Tests inject a throwing function to exercise the
74
+ * error-counting branch — `vi.spyOn` cannot wrap the static `node:fs`
75
+ * namespace under ESM, so the injection point lives here.
76
+ */
77
+ removeFn?: (path: string) => void;
78
+ }): {
71
79
  swept: number;
72
80
  errors: number;
73
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"setup-migrate.d.ts","sourceRoot":"","sources":["../../../src/api/routes/setup-migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAU,MAAM,iBAAiB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,aAAa,EACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAuBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gBAAgB,CAAC,EAAE;QACjB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7E,CAAC;IACF,qBAAqB,CAAC,EAAE,MAAM,qBAAqB,EAAE,CAAC;IACtD;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAyID,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAmnChE;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CA4BA"}
1
+ {"version":3,"file":"setup-migrate.d.ts","sourceRoot":"","sources":["../../../src/api/routes/setup-migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAU,MAAM,iBAAiB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,aAAa,EACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAuBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gBAAgB,CAAC,EAAE;QACjB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7E,CAAC;IACF,qBAAqB,CAAC,EAAE,MAAM,qBAAqB,EAAE,CAAC;IACtD;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAyID,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAmnChE;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,GAAE;IACJ;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,GACL;IACD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CA+BA"}
@@ -915,7 +915,9 @@ export function createSetupMigrateRoutes(deps) {
915
915
  * crashed migration whose resolution the operator should inspect.
916
916
  * Called by the scheduler; see `index.ts` wiring.
917
917
  */
918
- export function sweepExpiredMigrationBackups(db) {
918
+ export function sweepExpiredMigrationBackups(db, opts = {}) {
919
+ const removeFn = opts.removeFn ??
920
+ ((path) => rmSync(path, { recursive: true, force: true }));
919
921
  const now = new Date().toISOString();
920
922
  const rows = db
921
923
  .prepare("SELECT id, backup_path FROM migration_backups WHERE status IN ('completed', 'rolled_back') AND expires_at < ?")
@@ -926,7 +928,7 @@ export function sweepExpiredMigrationBackups(db) {
926
928
  for (const row of rows) {
927
929
  try {
928
930
  if (existsSync(row.backup_path)) {
929
- rmSync(row.backup_path, { recursive: true, force: true });
931
+ removeFn(row.backup_path);
930
932
  }
931
933
  updateStatus.run(row.id);
932
934
  swept += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"setup-migrate.js","sourceRoot":"","sources":["../../../src/api/routes/setup-migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-migrate.js","sourceRoot":"","sources":["../../../src/api/routes/setup-migrate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/api/routes/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAY1C,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQnD;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,WAAW,CAAC;CACrB;AA0BD;;;;;;GAMG;AACH,iBAAS,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAYA;AAsCD;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CACzB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,MAAM,EAAO,GAC1B,MAAM,CAeR;AAED;;;GAGG;AACH,iBAAS,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKhE;AAED,wEAAwE;AACxE,iBAAS,gBAAgB,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,YAAY,EAAE,CAyBhB;AAkCD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAoStE;AAGD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/api/routes/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAY1C,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQnD;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,WAAW,CAAC;CACrB;AA0BD;;;;;;GAMG;AACH,iBAAS,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAYA;AAsCD;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CACzB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,MAAM,EAAO,GAC1B,MAAM,CAeR;AAED;;;GAGG;AACH,iBAAS,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAShE;AAED,wEAAwE;AACxE,iBAAS,gBAAgB,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,YAAY,EAAE,CA2BhB;AAoCD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAiUtE;AAGD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC"}
@@ -112,6 +112,10 @@ function serializeSkillFile(name, description, body, allowedTools = []) {
112
112
  function safeSkillPath(root, slug) {
113
113
  const dir = resolve(root, slug);
114
114
  const rel = relative(root, dir);
115
+ // The `resolve(rel) === rel` branch guards against absolute-path slugs that
116
+ // somehow pass zod validation; on Unix that path is unreachable because zod
117
+ // rejects slashes and dots, but we keep it for defense-in-depth.
118
+ /* c8 ignore next */
115
119
  if (rel.startsWith("..") || rel === "" || resolve(rel) === rel)
116
120
  return null;
117
121
  return join(dir, "SKILL.md");
@@ -137,10 +141,12 @@ function listSkillsInRoot(root, builtin) {
137
141
  builtin,
138
142
  updatedAt: stat.mtime.toISOString(),
139
143
  });
144
+ /* c8 ignore start */
140
145
  }
141
146
  catch (err) {
142
147
  logger.warn({ err, root, name: entry.name }, "Failed to parse skill file");
143
148
  }
149
+ /* c8 ignore stop */
144
150
  }
145
151
  return out;
146
152
  }
@@ -166,10 +172,12 @@ function listSkillDetailsInRoot(root, builtin) {
166
172
  builtin,
167
173
  updatedAt: stat.mtime.toISOString(),
168
174
  });
175
+ /* c8 ignore start */
169
176
  }
170
177
  catch (err) {
171
178
  logger.warn({ err, root, name: entry.name }, "Failed to parse skill detail");
172
179
  }
180
+ /* c8 ignore stop */
173
181
  }
174
182
  return out;
175
183
  }
@@ -194,7 +202,12 @@ export function createSkillsRoutes(deps) {
194
202
  if (!existsSync(builtinSkillsRoot))
195
203
  return false;
196
204
  const candidate = safeSkillPath(builtinSkillsRoot, slug);
197
- return candidate !== null && existsSync(candidate);
205
+ // candidate is null only for traversal slugs, which zod already rejects
206
+ // at the API boundary — this branch is unreachable for valid slugs.
207
+ /* c8 ignore next */
208
+ if (!candidate)
209
+ return false;
210
+ return existsSync(candidate);
198
211
  }
199
212
  /** Load a skill by slug. Checks user root first, then built-in. */
200
213
  function loadSkill(slug) {
@@ -202,6 +215,9 @@ export function createSkillsRoutes(deps) {
202
215
  // endpoints reject builtin slugs — but for reads, we check built-in
203
216
  // too so the agent can inspect them.
204
217
  const userPath = safeSkillPath(userSkillsRoot, slug);
218
+ // userPath is null only for traversal slugs; GET validates via skillNameSchema
219
+ // first, so null is unreachable here. Guard kept for defense-in-depth.
220
+ /* c8 ignore next */
205
221
  if (userPath && existsSync(userPath)) {
206
222
  const raw = readFileSync(userPath, "utf-8");
207
223
  const { description, body, allowedTools } = parseSkillFile(raw);
@@ -216,6 +232,8 @@ export function createSkillsRoutes(deps) {
216
232
  };
217
233
  }
218
234
  const builtinPath = safeSkillPath(builtinSkillsRoot, slug);
235
+ // Same defense-in-depth guard — builtinPath is null only for traversal slugs.
236
+ /* c8 ignore next */
219
237
  if (builtinPath && existsSync(builtinPath)) {
220
238
  const raw = readFileSync(builtinPath, "utf-8");
221
239
  const { description, body, allowedTools } = parseSkillFile(raw);
@@ -272,10 +290,18 @@ export function createSkillsRoutes(deps) {
272
290
  return c.json({ error: "empty_content" }, 400);
273
291
  // Reject descriptions with embedded newlines even when parsed from an
274
292
  // upload — the regex-based parser can't round-trip them safely.
293
+ // The `^description:\s*(.*)$` regex in parseSkillFile can never return
294
+ // \r or \n in the parsed value (JS `$` in multiline mode matches before
295
+ // both \r and \n), so this branch is unreachable in practice.
296
+ /* c8 ignore start */
275
297
  if (/[\r\n]/.test(description)) {
276
298
  return c.json({ error: "invalid_description", message: "description cannot contain newlines" }, 400);
277
299
  }
300
+ /* c8 ignore stop */
278
301
  const skillFile = safeSkillPath(userSkillsRoot, slug);
302
+ // skillFile is null only for traversal slugs; the zod slug check above
303
+ // already rejects those — this null branch is unreachable for valid slugs.
304
+ /* c8 ignore next */
279
305
  if (!skillFile)
280
306
  return c.json({ error: "invalid_name", name: slug }, 400);
281
307
  try {
@@ -285,11 +311,13 @@ export function createSkillsRoutes(deps) {
285
311
  writeFileSync(skillFile, serializeSkillFile(slug, description || slug, content, allowedTools), "utf-8");
286
312
  logger.info({ name: slug, existed }, "User skill uploaded");
287
313
  return c.json({ status: existed ? "updated" : "created", name: slug });
314
+ /* c8 ignore start */
288
315
  }
289
316
  catch (err) {
290
317
  logger.error({ err, name: slug }, "Skill upload failed");
291
318
  return c.json({ error: "write_failed", message: toSafeErrorMessage(err) }, 500);
292
319
  }
320
+ /* c8 ignore stop */
293
321
  }
294
322
  app.post("/skills/upload", handleUpload);
295
323
  app.get("/skills/sources", (c) => {
@@ -341,9 +369,13 @@ export function createSkillsRoutes(deps) {
341
369
  return c.json({ error: "builtin_protected", name, message: "Built-in skills cannot be modified by this API" }, 403);
342
370
  }
343
371
  const skillFile = safeSkillPath(userSkillsRoot, name);
372
+ // skillFile is null only for traversal slugs; zod validation above
373
+ // already rejects those — this branch is unreachable for valid slugs.
374
+ /* c8 ignore start */
344
375
  if (!skillFile) {
345
376
  return c.json({ error: "invalid_name", name }, 400);
346
377
  }
378
+ /* c8 ignore stop */
347
379
  if (existsSync(skillFile)) {
348
380
  return c.json({ error: "already_exists", name }, 409);
349
381
  }
@@ -352,11 +384,13 @@ export function createSkillsRoutes(deps) {
352
384
  writeFileSync(skillFile, serializeSkillFile(name, description, content, allowedTools ?? []), "utf-8");
353
385
  logger.info({ name }, "User skill created");
354
386
  return c.json({ status: "created", name });
387
+ /* c8 ignore start */
355
388
  }
356
389
  catch (err) {
357
390
  logger.error({ err, name }, "Skill create failed");
358
391
  return c.json({ error: "write_failed", message: toSafeErrorMessage(err) }, 500);
359
392
  }
393
+ /* c8 ignore stop */
360
394
  });
361
395
  // PUT /skills/:name — replace an existing user skill (description and/or content)
362
396
  app.put("/skills/:name", async (c) => {
@@ -389,11 +423,13 @@ export function createSkillsRoutes(deps) {
389
423
  writeFileSync(skillFile, serializeSkillFile(name, nextDescription, nextBody, nextAllowedTools), "utf-8");
390
424
  logger.info({ name }, "User skill updated");
391
425
  return c.json({ status: "updated", name });
426
+ /* c8 ignore start */
392
427
  }
393
428
  catch (err) {
394
429
  logger.error({ err, name }, "Skill update failed");
395
430
  return c.json({ error: "write_failed", message: toSafeErrorMessage(err) }, 500);
396
431
  }
432
+ /* c8 ignore stop */
397
433
  });
398
434
  // DELETE /skills/:name — delete a user skill
399
435
  app.delete("/skills/:name", (c) => {
@@ -416,11 +452,13 @@ export function createSkillsRoutes(deps) {
416
452
  rmSync(skillDir, { recursive: true, force: true });
417
453
  logger.info({ name }, "User skill deleted");
418
454
  return c.json({ status: "deleted", name });
455
+ /* c8 ignore start */
419
456
  }
420
457
  catch (err) {
421
458
  logger.error({ err, name }, "Skill delete failed");
422
459
  return c.json({ error: "delete_failed", message: toSafeErrorMessage(err) }, 500);
423
460
  }
461
+ /* c8 ignore stop */
424
462
  });
425
463
  return app;
426
464
  }