@runcore-sh/runcore 0.4.0 → 0.5.1

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 (351) hide show
  1. package/dictionary.json +2 -2
  2. package/dist/activity/log.js +2 -2
  3. package/dist/activity/log.js.map +1 -1
  4. package/dist/agents/governed-spawn.d.ts.map +1 -1
  5. package/dist/cli.js +101 -11
  6. package/dist/cli.js.map +1 -1
  7. package/dist/extensions/cache.d.ts +57 -0
  8. package/dist/extensions/cache.d.ts.map +1 -0
  9. package/dist/extensions/cache.js +173 -0
  10. package/dist/extensions/cache.js.map +1 -0
  11. package/dist/extensions/client.d.ts +55 -0
  12. package/dist/extensions/client.d.ts.map +1 -0
  13. package/dist/extensions/client.js +120 -0
  14. package/dist/extensions/client.js.map +1 -0
  15. package/dist/extensions/index.d.ts +13 -0
  16. package/dist/extensions/index.d.ts.map +1 -0
  17. package/dist/extensions/index.js +12 -0
  18. package/dist/extensions/index.js.map +1 -0
  19. package/dist/extensions/loader.d.ts +50 -0
  20. package/dist/extensions/loader.d.ts.map +1 -0
  21. package/dist/extensions/loader.js +166 -0
  22. package/dist/extensions/loader.js.map +1 -0
  23. package/dist/extensions/manifest.d.ts +38 -0
  24. package/dist/extensions/manifest.d.ts.map +1 -0
  25. package/dist/extensions/manifest.js +17 -0
  26. package/dist/extensions/manifest.js.map +1 -0
  27. package/dist/extensions/stubs.d.ts +27 -0
  28. package/dist/extensions/stubs.d.ts.map +1 -0
  29. package/dist/extensions/stubs.js +45 -0
  30. package/dist/extensions/stubs.js.map +1 -0
  31. package/dist/lib/audit.js +2 -2
  32. package/dist/lib/audit.js.map +1 -1
  33. package/dist/lib/brain-migrate.d.ts +21 -0
  34. package/dist/lib/brain-migrate.d.ts.map +1 -0
  35. package/dist/lib/brain-migrate.js +137 -0
  36. package/dist/lib/brain-migrate.js.map +1 -0
  37. package/dist/lib/paths.d.ts +27 -0
  38. package/dist/lib/paths.d.ts.map +1 -1
  39. package/dist/lib/paths.js +65 -0
  40. package/dist/lib/paths.js.map +1 -1
  41. package/dist/llm/call-log.d.ts +40 -0
  42. package/dist/llm/call-log.d.ts.map +1 -0
  43. package/dist/llm/call-log.js +35 -0
  44. package/dist/llm/call-log.js.map +1 -0
  45. package/dist/llm/complete.d.ts +6 -0
  46. package/dist/llm/complete.d.ts.map +1 -1
  47. package/dist/llm/complete.js +27 -0
  48. package/dist/llm/complete.js.map +1 -1
  49. package/dist/mcp-server.js +118 -2
  50. package/dist/mcp-server.js.map +1 -1
  51. package/dist/memory/file-backed.d.ts +4 -0
  52. package/dist/memory/file-backed.d.ts.map +1 -1
  53. package/dist/memory/file-backed.js +4 -0
  54. package/dist/memory/file-backed.js.map +1 -1
  55. package/dist/memory/vector-index.d.ts +4 -12
  56. package/dist/memory/vector-index.d.ts.map +1 -1
  57. package/dist/memory/vector-index.js +11 -93
  58. package/dist/memory/vector-index.js.map +1 -1
  59. package/dist/search/brain-docs.d.ts +17 -7
  60. package/dist/search/brain-docs.d.ts.map +1 -1
  61. package/dist/search/brain-docs.js +170 -52
  62. package/dist/search/brain-docs.js.map +1 -1
  63. package/dist/search/brain-rag.d.ts +45 -0
  64. package/dist/search/brain-rag.d.ts.map +1 -0
  65. package/dist/search/brain-rag.js +275 -0
  66. package/dist/search/brain-rag.js.map +1 -0
  67. package/dist/search/chunker.d.ts +24 -0
  68. package/dist/search/chunker.d.ts.map +1 -0
  69. package/dist/search/chunker.js +95 -0
  70. package/dist/search/chunker.js.map +1 -0
  71. package/dist/search/embedder.d.ts +16 -0
  72. package/dist/search/embedder.d.ts.map +1 -0
  73. package/dist/search/embedder.js +108 -0
  74. package/dist/search/embedder.js.map +1 -0
  75. package/dist/search/file-watcher.d.ts +11 -0
  76. package/dist/search/file-watcher.d.ts.map +1 -0
  77. package/dist/search/file-watcher.js +86 -0
  78. package/dist/search/file-watcher.js.map +1 -0
  79. package/dist/server.d.ts.map +1 -1
  80. package/dist/server.js +814 -472
  81. package/dist/server.js.map +1 -1
  82. package/dist/sessions/store.d.ts +9 -0
  83. package/dist/sessions/store.d.ts.map +1 -1
  84. package/dist/sessions/store.js.map +1 -1
  85. package/dist/settings.d.ts +26 -0
  86. package/dist/settings.d.ts.map +1 -1
  87. package/dist/settings.js +78 -2
  88. package/dist/settings.js.map +1 -1
  89. package/dist/tracing/init.d.ts +1 -1
  90. package/dist/tracing/init.d.ts.map +1 -1
  91. package/dist/utils/logger.js +2 -2
  92. package/dist/utils/logger.js.map +1 -1
  93. package/module-tiers.json +164 -0
  94. package/package.json +9 -13
  95. package/public/avatar/cache/1184385ec5522b57.mp4 +0 -0
  96. package/public/avatar/cache/1f15f6a1ebd7e439.mp4 +0 -0
  97. package/public/avatar/cache/2c7e47ff0bdeb8d1.mp4 +0 -0
  98. package/public/avatar/cache/5f308566f7abb8f2.mp4 +0 -0
  99. package/public/avatar/cache/62f9cfba848d724e.mp4 +0 -0
  100. package/public/avatar/cache/6d64e657e6bf2aab.mp4 +0 -0
  101. package/public/avatar/cache/763ad0349e0b6f26.mp4 +0 -0
  102. package/public/avatar/cache/81a516cfd461b2b9.mp4 +0 -0
  103. package/public/avatar/cache/9366de15fd6910ca.mp4 +0 -0
  104. package/public/avatar/cache/ade41a846b283895.mp4 +0 -0
  105. package/public/avatar/cache/b6066e5c65383eec.mp4 +0 -0
  106. package/public/avatar/cache/edadb75d37891fc7.mp4 +0 -0
  107. package/public/avatar/cache/f0ae159640621dd9.mp4 +0 -0
  108. package/public/avatar/cache/fc2e5419adf29d96.mp4 +0 -0
  109. package/public/index.html +379 -59
  110. package/dist/agents/autonomous.js +0 -749
  111. package/dist/agents/autonomous.js.map +0 -1
  112. package/dist/agents/commit.js +0 -113
  113. package/dist/agents/commit.js.map +0 -1
  114. package/dist/agents/continue.js +0 -158
  115. package/dist/agents/continue.js.map +0 -1
  116. package/dist/agents/cooldown.js +0 -397
  117. package/dist/agents/cooldown.js.map +0 -1
  118. package/dist/agents/dedup-guard.js +0 -131
  119. package/dist/agents/dedup-guard.js.map +0 -1
  120. package/dist/agents/feed.js +0 -176
  121. package/dist/agents/feed.js.map +0 -1
  122. package/dist/agents/governance.js +0 -292
  123. package/dist/agents/governance.js.map +0 -1
  124. package/dist/agents/governed-spawn.js +0 -192
  125. package/dist/agents/governed-spawn.js.map +0 -1
  126. package/dist/agents/heartbeat.js +0 -324
  127. package/dist/agents/heartbeat.js.map +0 -1
  128. package/dist/agents/instance-manager.js +0 -850
  129. package/dist/agents/instance-manager.js.map +0 -1
  130. package/dist/agents/issue-reporter.js +0 -123
  131. package/dist/agents/issue-reporter.js.map +0 -1
  132. package/dist/agents/issues.js +0 -141
  133. package/dist/agents/issues.js.map +0 -1
  134. package/dist/agents/locks.js +0 -234
  135. package/dist/agents/locks.js.map +0 -1
  136. package/dist/agents/memory.js +0 -93
  137. package/dist/agents/memory.js.map +0 -1
  138. package/dist/agents/monitor.js +0 -235
  139. package/dist/agents/monitor.js.map +0 -1
  140. package/dist/agents/orchestration.js +0 -715
  141. package/dist/agents/orchestration.js.map +0 -1
  142. package/dist/agents/recover.js +0 -166
  143. package/dist/agents/recover.js.map +0 -1
  144. package/dist/agents/reflection.js +0 -199
  145. package/dist/agents/reflection.js.map +0 -1
  146. package/dist/agents/runtime/bus.js +0 -174
  147. package/dist/agents/runtime/bus.js.map +0 -1
  148. package/dist/agents/runtime/config.js +0 -101
  149. package/dist/agents/runtime/config.js.map +0 -1
  150. package/dist/agents/runtime/driver.js +0 -214
  151. package/dist/agents/runtime/driver.js.map +0 -1
  152. package/dist/agents/runtime/errors.js +0 -40
  153. package/dist/agents/runtime/errors.js.map +0 -1
  154. package/dist/agents/runtime/index.js +0 -54
  155. package/dist/agents/runtime/index.js.map +0 -1
  156. package/dist/agents/runtime/lifecycle.js +0 -116
  157. package/dist/agents/runtime/lifecycle.js.map +0 -1
  158. package/dist/agents/runtime/manager.js +0 -948
  159. package/dist/agents/runtime/manager.js.map +0 -1
  160. package/dist/agents/runtime/registry.js +0 -195
  161. package/dist/agents/runtime/registry.js.map +0 -1
  162. package/dist/agents/runtime/resources.js +0 -146
  163. package/dist/agents/runtime/resources.js.map +0 -1
  164. package/dist/agents/runtime/types.js +0 -24
  165. package/dist/agents/runtime/types.js.map +0 -1
  166. package/dist/agents/spawn-policy.js +0 -202
  167. package/dist/agents/spawn-policy.js.map +0 -1
  168. package/dist/agents/spawn.js +0 -970
  169. package/dist/agents/spawn.js.map +0 -1
  170. package/dist/agents/triage.js +0 -81
  171. package/dist/agents/triage.js.map +0 -1
  172. package/dist/agents/workflow.js +0 -543
  173. package/dist/agents/workflow.js.map +0 -1
  174. package/dist/avatar/client.js +0 -172
  175. package/dist/avatar/client.js.map +0 -1
  176. package/dist/avatar/sidecar.js +0 -125
  177. package/dist/avatar/sidecar.js.map +0 -1
  178. package/dist/browser/sessions.js +0 -122
  179. package/dist/browser/sessions.js.map +0 -1
  180. package/dist/capabilities/definitions/browser.js +0 -242
  181. package/dist/capabilities/definitions/browser.js.map +0 -1
  182. package/dist/channels/whatsapp.js +0 -200
  183. package/dist/channels/whatsapp.js.map +0 -1
  184. package/dist/credentials/store.js +0 -189
  185. package/dist/credentials/store.js.map +0 -1
  186. package/dist/files/deep-index.js +0 -337
  187. package/dist/files/deep-index.js.map +0 -1
  188. package/dist/files/extract.js +0 -33
  189. package/dist/files/extract.js.map +0 -1
  190. package/dist/files/gdrive.js +0 -246
  191. package/dist/files/gdrive.js.map +0 -1
  192. package/dist/github/client.js +0 -408
  193. package/dist/github/client.js.map +0 -1
  194. package/dist/github/commit-analysis.js +0 -276
  195. package/dist/github/commit-analysis.js.map +0 -1
  196. package/dist/github/contributor-stats.js +0 -119
  197. package/dist/github/contributor-stats.js.map +0 -1
  198. package/dist/github/issue-sla.js +0 -220
  199. package/dist/github/issue-sla.js.map +0 -1
  200. package/dist/github/issue-triage.js +0 -286
  201. package/dist/github/issue-triage.js.map +0 -1
  202. package/dist/github/pr-readiness.js +0 -197
  203. package/dist/github/pr-readiness.js.map +0 -1
  204. package/dist/github/pr-review.js +0 -410
  205. package/dist/github/pr-review.js.map +0 -1
  206. package/dist/github/release-notes.js +0 -227
  207. package/dist/github/release-notes.js.map +0 -1
  208. package/dist/github/repo-health.js +0 -303
  209. package/dist/github/repo-health.js.map +0 -1
  210. package/dist/github/retry.js +0 -117
  211. package/dist/github/retry.js.map +0 -1
  212. package/dist/github/types.js +0 -8
  213. package/dist/github/types.js.map +0 -1
  214. package/dist/github/webhooks.js +0 -153
  215. package/dist/github/webhooks.js.map +0 -1
  216. package/dist/google/auth.js +0 -325
  217. package/dist/google/auth.js.map +0 -1
  218. package/dist/google/calendar-timer.js +0 -91
  219. package/dist/google/calendar-timer.js.map +0 -1
  220. package/dist/google/calendar.js +0 -270
  221. package/dist/google/calendar.js.map +0 -1
  222. package/dist/google/docs.js +0 -309
  223. package/dist/google/docs.js.map +0 -1
  224. package/dist/google/gmail-send.js +0 -219
  225. package/dist/google/gmail-send.js.map +0 -1
  226. package/dist/google/gmail-timer.js +0 -223
  227. package/dist/google/gmail-timer.js.map +0 -1
  228. package/dist/google/gmail.js +0 -470
  229. package/dist/google/gmail.js.map +0 -1
  230. package/dist/google/plugin.js +0 -169
  231. package/dist/google/plugin.js.map +0 -1
  232. package/dist/google/tasks-timer.js +0 -107
  233. package/dist/google/tasks-timer.js.map +0 -1
  234. package/dist/google/tasks.js +0 -331
  235. package/dist/google/tasks.js.map +0 -1
  236. package/dist/google/temporal.js +0 -176
  237. package/dist/google/temporal.js.map +0 -1
  238. package/dist/integrations/gate.js +0 -100
  239. package/dist/integrations/gate.js.map +0 -1
  240. package/dist/integrations/github.js +0 -331
  241. package/dist/integrations/github.js.map +0 -1
  242. package/dist/integrations/google-tasks.js +0 -432
  243. package/dist/integrations/google-tasks.js.map +0 -1
  244. package/dist/mdns.js +0 -110
  245. package/dist/mdns.js.map +0 -1
  246. package/dist/notifications/channel.js +0 -83
  247. package/dist/notifications/channel.js.map +0 -1
  248. package/dist/notifications/channels/adapter.js +0 -55
  249. package/dist/notifications/channels/adapter.js.map +0 -1
  250. package/dist/notifications/channels/index.js +0 -6
  251. package/dist/notifications/channels/index.js.map +0 -1
  252. package/dist/notifications/channels/log.js +0 -29
  253. package/dist/notifications/channels/log.js.map +0 -1
  254. package/dist/notifications/email.js +0 -72
  255. package/dist/notifications/email.js.map +0 -1
  256. package/dist/notifications/engine.js +0 -198
  257. package/dist/notifications/engine.js.map +0 -1
  258. package/dist/notifications/index.js +0 -24
  259. package/dist/notifications/index.js.map +0 -1
  260. package/dist/notifications/phone.js +0 -48
  261. package/dist/notifications/phone.js.map +0 -1
  262. package/dist/notifications/sms.js +0 -65
  263. package/dist/notifications/sms.js.map +0 -1
  264. package/dist/notifications/types.js +0 -14
  265. package/dist/notifications/types.js.map +0 -1
  266. package/dist/notifications/webhook.js +0 -65
  267. package/dist/notifications/webhook.js.map +0 -1
  268. package/dist/resend/inbox.js +0 -199
  269. package/dist/resend/inbox.js.map +0 -1
  270. package/dist/resend/webhooks.js +0 -244
  271. package/dist/resend/webhooks.js.map +0 -1
  272. package/dist/search/browse.js +0 -225
  273. package/dist/search/browse.js.map +0 -1
  274. package/dist/search/perplexity.js +0 -41
  275. package/dist/search/perplexity.js.map +0 -1
  276. package/dist/slack/channels.js +0 -277
  277. package/dist/slack/channels.js.map +0 -1
  278. package/dist/slack/client.js +0 -468
  279. package/dist/slack/client.js.map +0 -1
  280. package/dist/slack/retry.js +0 -100
  281. package/dist/slack/retry.js.map +0 -1
  282. package/dist/slack/types.js +0 -52
  283. package/dist/slack/types.js.map +0 -1
  284. package/dist/slack/webhooks.js +0 -285
  285. package/dist/slack/webhooks.js.map +0 -1
  286. package/dist/stt/client.js +0 -66
  287. package/dist/stt/client.js.map +0 -1
  288. package/dist/stt/sidecar.js +0 -115
  289. package/dist/stt/sidecar.js.map +0 -1
  290. package/dist/tracing/bridge.js +0 -70
  291. package/dist/tracing/bridge.js.map +0 -1
  292. package/dist/tracing/correlation.js +0 -49
  293. package/dist/tracing/correlation.js.map +0 -1
  294. package/dist/tracing/index.js +0 -18
  295. package/dist/tracing/index.js.map +0 -1
  296. package/dist/tracing/init.js +0 -81
  297. package/dist/tracing/init.js.map +0 -1
  298. package/dist/tracing/instrument.js +0 -145
  299. package/dist/tracing/instrument.js.map +0 -1
  300. package/dist/tracing/middleware.js +0 -69
  301. package/dist/tracing/middleware.js.map +0 -1
  302. package/dist/tracing/tracer.js +0 -327
  303. package/dist/tracing/tracer.js.map +0 -1
  304. package/dist/tts/client.js +0 -48
  305. package/dist/tts/client.js.map +0 -1
  306. package/dist/tts/sidecar.js +0 -148
  307. package/dist/tts/sidecar.js.map +0 -1
  308. package/dist/twilio/call.js +0 -79
  309. package/dist/twilio/call.js.map +0 -1
  310. package/dist/vault/matcher.js +0 -197
  311. package/dist/vault/matcher.js.map +0 -1
  312. package/dist/vault/personal.js +0 -163
  313. package/dist/vault/personal.js.map +0 -1
  314. package/dist/vault/policy.js +0 -159
  315. package/dist/vault/policy.js.map +0 -1
  316. package/dist/vault/store.js +0 -122
  317. package/dist/vault/store.js.map +0 -1
  318. package/dist/vault/transfer.js +0 -188
  319. package/dist/vault/transfer.js.map +0 -1
  320. package/dist/volumes/index.js +0 -2
  321. package/dist/volumes/index.js.map +0 -1
  322. package/dist/volumes/manager.js +0 -462
  323. package/dist/volumes/manager.js.map +0 -1
  324. package/dist/volumes/types.js +0 -8
  325. package/dist/volumes/types.js.map +0 -1
  326. package/dist/webhooks/config.js +0 -214
  327. package/dist/webhooks/config.js.map +0 -1
  328. package/dist/webhooks/event-log.js +0 -132
  329. package/dist/webhooks/event-log.js.map +0 -1
  330. package/dist/webhooks/handler.js +0 -103
  331. package/dist/webhooks/handler.js.map +0 -1
  332. package/dist/webhooks/handlers.js +0 -231
  333. package/dist/webhooks/handlers.js.map +0 -1
  334. package/dist/webhooks/index.js +0 -33
  335. package/dist/webhooks/index.js.map +0 -1
  336. package/dist/webhooks/mount.js +0 -400
  337. package/dist/webhooks/mount.js.map +0 -1
  338. package/dist/webhooks/registry.js +0 -143
  339. package/dist/webhooks/registry.js.map +0 -1
  340. package/dist/webhooks/relay.js +0 -53
  341. package/dist/webhooks/relay.js.map +0 -1
  342. package/dist/webhooks/retry.js +0 -270
  343. package/dist/webhooks/retry.js.map +0 -1
  344. package/dist/webhooks/router.js +0 -290
  345. package/dist/webhooks/router.js.map +0 -1
  346. package/dist/webhooks/twilio.js +0 -129
  347. package/dist/webhooks/twilio.js.map +0 -1
  348. package/dist/webhooks/types.js +0 -8
  349. package/dist/webhooks/types.js.map +0 -1
  350. package/dist/webhooks/verify.js +0 -154
  351. package/dist/webhooks/verify.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"personal.js","sourceRoot":"","sources":["../../src/vault/personal.ts"],"names":[],"mappings":"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"}
@@ -1,159 +0,0 @@
1
- /**
2
- * Vault Policy Loader — classifies brain paths into access tiers.
3
- *
4
- * Reads brain/vault.policy.yaml and caches on first load.
5
- * Tiers: open | community | secured. Default from `default_tier` field.
6
- *
7
- * Hand-rolled YAML parser (no external deps). Reuses pattern from
8
- * sensitive-registry.ts.
9
- */
10
- import { readFile } from "node:fs/promises";
11
- import { readFileSync, existsSync } from "node:fs";
12
- import { join } from "node:path";
13
- import { matchAnyGlob } from "../lib/glob-match.js";
14
- import { createLogger } from "../utils/logger.js";
15
- const log = createLogger("vault.policy");
16
- import { BRAIN_DIR } from "../lib/paths.js";
17
- const POLICY_FILE = join(BRAIN_DIR, "vault.policy.yaml");
18
- // ── Cache ────────────────────────────────────────────────────────────────────
19
- let cached = null;
20
- // ── YAML parser ──────────────────────────────────────────────────────────────
21
- /**
22
- * Parse the vault.policy.yaml format. Expects:
23
- * owner: <string>
24
- * tiers:
25
- * open:
26
- * - pattern
27
- * community:
28
- * - pattern
29
- * secured:
30
- * - pattern
31
- * default_tier: <tier>
32
- */
33
- function parseVaultPolicy(raw) {
34
- const lines = raw.split("\n");
35
- let owner = "";
36
- let defaultTier = "community";
37
- const tiers = { open: [], community: [], secured: [] };
38
- let currentTier = null;
39
- for (const line of lines) {
40
- const trimmed = line.trimEnd();
41
- // Skip comments and empty lines
42
- if (!trimmed || trimmed.match(/^\s*#/))
43
- continue;
44
- // Top-level key: value
45
- const topKv = trimmed.match(/^(\w[\w_]*)\s*:\s*(.+)$/);
46
- if (topKv) {
47
- const [, key, val] = topKv;
48
- const unquoted = val.replace(/^["']|["']$/g, "").trim();
49
- if (key === "owner")
50
- owner = unquoted;
51
- else if (key === "default_tier") {
52
- if (unquoted === "open" || unquoted === "community" || unquoted === "secured") {
53
- defaultTier = unquoted;
54
- }
55
- }
56
- currentTier = null;
57
- continue;
58
- }
59
- // Tier header (indented under tiers:)
60
- const tierHeader = trimmed.match(/^\s+(open|community|secured)\s*:\s*$/);
61
- if (tierHeader) {
62
- currentTier = tierHeader[1];
63
- continue;
64
- }
65
- // List item under a tier
66
- const listItem = trimmed.match(/^\s+-\s+(.+)$/);
67
- if (listItem && currentTier) {
68
- const pattern = listItem[1].replace(/^["']|["']$/g, "").trim();
69
- tiers[currentTier].push(pattern);
70
- continue;
71
- }
72
- // "tiers:" header line (no value)
73
- if (trimmed.match(/^tiers\s*:\s*$/)) {
74
- currentTier = null;
75
- continue;
76
- }
77
- }
78
- return { owner, tiers, defaultTier };
79
- }
80
- // ── Public API ───────────────────────────────────────────────────────────────
81
- /**
82
- * Load and cache the vault policy. Returns cached on subsequent calls.
83
- */
84
- export async function loadVaultPolicy() {
85
- if (cached)
86
- return cached;
87
- try {
88
- const raw = await readFile(POLICY_FILE, "utf-8");
89
- cached = parseVaultPolicy(raw);
90
- log.info("Vault policy loaded", {
91
- owner: cached.owner,
92
- open: cached.tiers.open.length,
93
- community: cached.tiers.community.length,
94
- secured: cached.tiers.secured.length,
95
- });
96
- }
97
- catch (err) {
98
- if (err.code === "ENOENT") {
99
- log.warn("No vault.policy.yaml found — defaulting all paths to community");
100
- }
101
- else {
102
- log.warn("Failed to parse vault.policy.yaml", { error: err.message });
103
- }
104
- cached = { owner: "", tiers: { open: [], community: [], secured: [] }, defaultTier: "community" };
105
- }
106
- return cached;
107
- }
108
- /**
109
- * Synchronous load — for use where async is not available.
110
- */
111
- export function loadVaultPolicySync() {
112
- if (cached)
113
- return cached;
114
- try {
115
- if (existsSync(POLICY_FILE)) {
116
- const raw = readFileSync(POLICY_FILE, "utf-8");
117
- cached = parseVaultPolicy(raw);
118
- }
119
- else {
120
- cached = { owner: "", tiers: { open: [], community: [], secured: [] }, defaultTier: "community" };
121
- }
122
- }
123
- catch {
124
- cached = { owner: "", tiers: { open: [], community: [], secured: [] }, defaultTier: "community" };
125
- }
126
- return cached;
127
- }
128
- /**
129
- * Get the cached policy (loads synchronously if not yet cached).
130
- */
131
- export function getVaultPolicy() {
132
- if (!cached)
133
- loadVaultPolicySync();
134
- return cached;
135
- }
136
- /**
137
- * Classify a brain-relative path into a vault tier.
138
- * Checks secured first (most restrictive), then open, then community.
139
- * Falls back to default_tier if no pattern matches.
140
- */
141
- export function classifyPath(relPath) {
142
- const policy = getVaultPolicy();
143
- // Check most restrictive first
144
- if (matchAnyGlob(policy.tiers.secured, relPath))
145
- return "secured";
146
- if (matchAnyGlob(policy.tiers.open, relPath))
147
- return "open";
148
- if (matchAnyGlob(policy.tiers.community, relPath))
149
- return "community";
150
- return policy.defaultTier;
151
- }
152
- /**
153
- * Force reload of vault policy (e.g. after policy file changes).
154
- */
155
- export async function reloadVaultPolicy() {
156
- cached = null;
157
- return loadVaultPolicy();
158
- }
159
- //# sourceMappingURL=policy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/vault/policy.ts"],"names":[],"mappings":"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"}
@@ -1,122 +0,0 @@
1
- /**
2
- * Encrypted key vault.
3
- * Stores API keys as AES-256-GCM encrypted JSON, same key used for sessions.
4
- * After loading, hydrates process.env so consumer modules need zero changes.
5
- */
6
- import { readFile, writeFile, mkdir } from "node:fs/promises";
7
- import { join } from "node:path";
8
- import { encrypt, decrypt } from "../auth/crypto.js";
9
- import { shouldHydrateKey } from "../integrations/gate.js";
10
- import { BRAIN_DIR } from "../lib/paths.js";
11
- const VAULT_DIR = join(BRAIN_DIR, "vault");
12
- const VAULT_FILE = join(VAULT_DIR, "keys.json");
13
- // In-memory cache — populated by loadVault, read by list/hydrate
14
- let vaultCache = {};
15
- /**
16
- * Load vault from encrypted file, populate cache and hydrate process.env.
17
- * Safe to call when file doesn't exist (starts empty).
18
- */
19
- export async function loadVault(key) {
20
- try {
21
- const raw = await readFile(VAULT_FILE, "utf-8");
22
- const file = JSON.parse(raw);
23
- const payload = {
24
- ciphertext: file.ciphertext,
25
- iv: file.iv,
26
- authTag: file.authTag,
27
- };
28
- const plaintext = decrypt(payload, key);
29
- vaultCache = JSON.parse(plaintext);
30
- }
31
- catch {
32
- // File missing, corrupt, or wrong key — start fresh
33
- vaultCache = {};
34
- }
35
- hydrateEnv();
36
- }
37
- /**
38
- * Encrypt and save the vault cache to disk. Fresh IV on every write.
39
- */
40
- async function saveVault(key) {
41
- await mkdir(VAULT_DIR, { recursive: true });
42
- const plaintext = JSON.stringify(vaultCache);
43
- const payload = encrypt(plaintext, key);
44
- const file = {
45
- v: 1,
46
- ciphertext: payload.ciphertext,
47
- iv: payload.iv,
48
- authTag: payload.authTag,
49
- };
50
- await writeFile(VAULT_FILE, JSON.stringify(file), "utf-8");
51
- }
52
- /**
53
- * Add or update a key in the vault. Persists immediately.
54
- */
55
- export async function setVaultKey(name, value, key, label) {
56
- vaultCache[name] = { value, label };
57
- await saveVault(key);
58
- // Keep process.env in sync — but respect the integration gate
59
- if (shouldHydrateKey(name)) {
60
- process.env[name] = value;
61
- }
62
- }
63
- /**
64
- * Remove a key from the vault. Persists immediately.
65
- */
66
- export async function deleteVaultKey(name, key) {
67
- delete vaultCache[name];
68
- await saveVault(key);
69
- // Remove from process.env (reverts to .env value on next restart)
70
- delete process.env[name];
71
- }
72
- /**
73
- * List vault keys — names and labels only, no values.
74
- */
75
- export function listVaultKeys() {
76
- return Object.entries(vaultCache).map(([name, entry]) => ({
77
- name,
78
- label: entry.label,
79
- }));
80
- }
81
- /**
82
- * Get all vault entries with values. Used for migration to credential store.
83
- */
84
- export function getVaultEntries() {
85
- return Object.entries(vaultCache).map(([name, entry]) => ({
86
- name,
87
- value: entry.value,
88
- label: entry.label,
89
- }));
90
- }
91
- /**
92
- * Get vault entries that the agent (the chat LLM) is allowed to see in conversation.
93
- * Only keys starting with "CORE_" or "DASH_" are returned — these are non-secret values
94
- * the user explicitly wants the agent to reference (e.g. preferences, nicknames).
95
- *
96
- * SECURITY: Authentication secrets (PASSWORD, RECOVERY_QUESTION) are NEVER
97
- * exposed to the LLM. The password is verified at the crypto layer via its
98
- * SHA-256 hash in human.json — the LLM must never know or repeat it.
99
- */
100
- const NEVER_EXPOSE = new Set(["SAFE_WORD", "RECOVERY_QUESTION"]);
101
- export function getDashReadableVault() {
102
- return Object.entries(vaultCache)
103
- .filter(([name]) => (name.startsWith("CORE_") || name.startsWith("DASH_")) && !NEVER_EXPOSE.has(name))
104
- .map(([name, entry]) => ({ name, value: entry.value, label: entry.label }));
105
- }
106
- /**
107
- * Push vault values into process.env, filtered by the integration gate.
108
- * Disabled integrations have their secrets actively removed from process.env.
109
- * Called after loadVault so consumer modules (LLM, search) pick them up.
110
- */
111
- export function hydrateEnv() {
112
- for (const [name, entry] of Object.entries(vaultCache)) {
113
- if (shouldHydrateKey(name)) {
114
- process.env[name] = entry.value;
115
- }
116
- else {
117
- // Actively remove blocked keys — they may have been set by a prior hydration
118
- delete process.env[name];
119
- }
120
- }
121
- }
122
- //# sourceMappingURL=store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/vault/store.ts"],"names":[],"mappings":"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"}
@@ -1,188 +0,0 @@
1
- /**
2
- * Vault portable export/import.
3
- *
4
- * DPAPI ties session keys to the Windows user profile, making vault secrets
5
- * non-portable. This module provides passphrase-based export/import so
6
- * secrets can move across machines and operating systems.
7
- *
8
- * Export format: self-describing JSON envelope (.vault) with AES-256-GCM
9
- * encrypted payload, key derived via PBKDF2 from a case-sensitive passphrase.
10
- */
11
- import { pbkdf2Sync, randomBytes, createHash } from "node:crypto";
12
- import { writeFile, readFile, mkdir } from "node:fs/promises";
13
- import { join } from "node:path";
14
- import { encrypt, decrypt } from "../auth/crypto.js";
15
- import { getVaultEntries, setVaultKey } from "./store.js";
16
- import { readBrainLines, appendBrainLine } from "../lib/brain-io.js";
17
- import { getEncryptionKey } from "../lib/key-store.js";
18
- import { getInstanceName } from "../instance.js";
19
- import { BRAIN_DIR } from "../lib/paths.js";
20
- // ── Constants ────────────────────────────────────────────────────────────────
21
- const VAULT_DIR = join(BRAIN_DIR, "vault");
22
- const CRED_FILE = join(BRAIN_DIR, "vault", "credentials.enc.jsonl");
23
- const PERSONAL_FILE = join(BRAIN_DIR, "vault", "personal.enc.jsonl");
24
- const FORMAT = "core-vault-export";
25
- const VERSION = 1;
26
- const ITERATIONS = 600_000;
27
- const KEY_LENGTH = 32;
28
- const SALT_LENGTH = 16;
29
- // ── Key derivation (case-sensitive, unlike password) ─────────────────────────
30
- function deriveExportKey(passphrase, salt) {
31
- return pbkdf2Sync(passphrase, salt, ITERATIONS, KEY_LENGTH, "sha256");
32
- }
33
- function hashKey(key) {
34
- return createHash("sha256").update(key).digest("hex");
35
- }
36
- // ── Helpers ──────────────────────────────────────────────────────────────────
37
- /** Read JSONL entries, skipping schema headers. */
38
- async function readJsonlEntries(filePath) {
39
- const lines = await readBrainLines(filePath);
40
- const entries = [];
41
- for (const line of lines) {
42
- try {
43
- const obj = JSON.parse(line);
44
- if (obj._schema)
45
- continue;
46
- entries.push(obj);
47
- }
48
- catch {
49
- // skip malformed
50
- }
51
- }
52
- return entries;
53
- }
54
- /** Deduplicate credentials by id (last occurrence wins), filter active only. */
55
- function deduplicateCredentials(creds) {
56
- const map = new Map();
57
- for (const c of creds) {
58
- if (c.id)
59
- map.set(c.id, c);
60
- }
61
- return Array.from(map.values()).filter((c) => c.status !== "archived");
62
- }
63
- /** Deduplicate personal fields by field name (last wins), filter active. */
64
- function deduplicatePersonal(entries) {
65
- const map = new Map();
66
- for (const e of entries) {
67
- if (e.status === "archived") {
68
- map.delete(e.field);
69
- }
70
- else {
71
- map.set(e.field, e);
72
- }
73
- }
74
- return Array.from(map.values());
75
- }
76
- // ── Export ────────────────────────────────────────────────────────────────────
77
- export async function exportVault(passphrase, outputDir) {
78
- const sessionKey = getEncryptionKey();
79
- if (!sessionKey)
80
- throw new Error("Not authenticated — session key not set");
81
- // Collect secrets
82
- const vaultKeys = getVaultEntries();
83
- const rawCredentials = await readJsonlEntries(CRED_FILE);
84
- const credentials = deduplicateCredentials(rawCredentials);
85
- const rawPersonal = await readJsonlEntries(PERSONAL_FILE);
86
- const personalFields = deduplicatePersonal(rawPersonal);
87
- const payload = { vaultKeys, credentials, personalFields };
88
- // Derive export key (case-sensitive)
89
- const salt = randomBytes(SALT_LENGTH);
90
- const exportKey = deriveExportKey(passphrase, salt);
91
- const keyHash = hashKey(exportKey);
92
- // Encrypt
93
- const encrypted = encrypt(JSON.stringify(payload), exportKey);
94
- const envelope = {
95
- format: FORMAT,
96
- version: VERSION,
97
- exportedAt: new Date().toISOString(),
98
- sourceInstance: getInstanceName(),
99
- salt: salt.toString("hex"),
100
- iterations: ITERATIONS,
101
- keyHash,
102
- payload: encrypted,
103
- };
104
- // Write file
105
- const dir = outputDir ?? VAULT_DIR;
106
- await mkdir(dir, { recursive: true });
107
- const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
108
- const filePath = join(dir, `export-${timestamp}.vault`);
109
- await writeFile(filePath, JSON.stringify(envelope, null, 2), "utf-8");
110
- return {
111
- filePath,
112
- stats: {
113
- vaultKeys: vaultKeys.length,
114
- credentials: credentials.length,
115
- personalFields: personalFields.length,
116
- },
117
- };
118
- }
119
- // ── Verify ───────────────────────────────────────────────────────────────────
120
- export async function verifyExport(filePath, passphrase) {
121
- const payload = await decryptEnvelope(filePath, passphrase);
122
- return {
123
- message: "Export verified successfully",
124
- stats: {
125
- vaultKeys: payload.vaultKeys.length,
126
- credentials: payload.credentials.length,
127
- personalFields: payload.personalFields.length,
128
- },
129
- };
130
- }
131
- // ── Import ───────────────────────────────────────────────────────────────────
132
- export async function importVault(filePath, passphrase, strategy = "skip", sessionKey) {
133
- const payload = await decryptEnvelope(filePath, passphrase);
134
- let skipped = 0;
135
- // Import vault keys
136
- const existingKeys = new Set(getVaultEntries().map((e) => e.name));
137
- for (const entry of payload.vaultKeys) {
138
- if (existingKeys.has(entry.name)) {
139
- if (strategy === "skip") {
140
- skipped++;
141
- continue;
142
- }
143
- if (strategy === "rename") {
144
- const renamed = `${entry.name}_imported`;
145
- await setVaultKey(renamed, entry.value, sessionKey, entry.label);
146
- continue;
147
- }
148
- // overwrite — fall through
149
- }
150
- await setVaultKey(entry.name, entry.value, sessionKey, entry.label);
151
- }
152
- // Import credentials (append-only JSONL)
153
- for (const cred of payload.credentials) {
154
- await appendBrainLine(CRED_FILE, JSON.stringify(cred));
155
- }
156
- // Import personal fields (append-only JSONL)
157
- for (const field of payload.personalFields) {
158
- await appendBrainLine(PERSONAL_FILE, JSON.stringify(field));
159
- }
160
- return {
161
- stats: {
162
- vaultKeys: payload.vaultKeys.length,
163
- credentials: payload.credentials.length,
164
- personalFields: payload.personalFields.length,
165
- skipped,
166
- },
167
- };
168
- }
169
- // ── Shared decrypt ───────────────────────────────────────────────────────────
170
- async function decryptEnvelope(filePath, passphrase) {
171
- const raw = await readFile(filePath, "utf-8");
172
- const envelope = JSON.parse(raw);
173
- if (envelope.format !== FORMAT) {
174
- throw new Error(`Unknown export format: ${envelope.format}`);
175
- }
176
- if (envelope.version !== VERSION) {
177
- throw new Error(`Unsupported export version: ${envelope.version}`);
178
- }
179
- const salt = Buffer.from(envelope.salt, "hex");
180
- const exportKey = deriveExportKey(passphrase, salt);
181
- // Fast wrong-passphrase detection
182
- if (hashKey(exportKey) !== envelope.keyHash) {
183
- throw new Error("Wrong passphrase");
184
- }
185
- const plaintext = decrypt(envelope.payload, exportKey);
186
- return JSON.parse(plaintext);
187
- }
188
- //# sourceMappingURL=transfer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../src/vault/transfer.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { VolumeManager } from "./manager.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/volumes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}