reflectt-node 0.1.0

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 (486) hide show
  1. package/LICENSE +178 -0
  2. package/README.md +188 -0
  3. package/dist/activationEvents.d.ts +110 -0
  4. package/dist/activationEvents.d.ts.map +1 -0
  5. package/dist/activationEvents.js +378 -0
  6. package/dist/activationEvents.js.map +1 -0
  7. package/dist/activity-signal.d.ts +30 -0
  8. package/dist/activity-signal.d.ts.map +1 -0
  9. package/dist/activity-signal.js +93 -0
  10. package/dist/activity-signal.js.map +1 -0
  11. package/dist/alert-integrity.d.ts +100 -0
  12. package/dist/alert-integrity.d.ts.map +1 -0
  13. package/dist/alert-integrity.js +333 -0
  14. package/dist/alert-integrity.js.map +1 -0
  15. package/dist/alert-preflight.d.ts +40 -0
  16. package/dist/alert-preflight.d.ts.map +1 -0
  17. package/dist/alert-preflight.js +235 -0
  18. package/dist/alert-preflight.js.map +1 -0
  19. package/dist/analytics.d.ts +131 -0
  20. package/dist/analytics.d.ts.map +1 -0
  21. package/dist/analytics.js +371 -0
  22. package/dist/analytics.js.map +1 -0
  23. package/dist/artifact-mirror.d.ts +26 -0
  24. package/dist/artifact-mirror.d.ts.map +1 -0
  25. package/dist/artifact-mirror.js +170 -0
  26. package/dist/artifact-mirror.js.map +1 -0
  27. package/dist/artifact-resolver.d.ts +48 -0
  28. package/dist/artifact-resolver.d.ts.map +1 -0
  29. package/dist/artifact-resolver.js +164 -0
  30. package/dist/artifact-resolver.js.map +1 -0
  31. package/dist/assignment.d.ts +116 -0
  32. package/dist/assignment.d.ts.map +1 -0
  33. package/dist/assignment.js +475 -0
  34. package/dist/assignment.js.map +1 -0
  35. package/dist/auditLedger.d.ts +50 -0
  36. package/dist/auditLedger.d.ts.map +1 -0
  37. package/dist/auditLedger.js +136 -0
  38. package/dist/auditLedger.js.map +1 -0
  39. package/dist/boardHealthWorker.d.ts +134 -0
  40. package/dist/boardHealthWorker.d.ts.map +1 -0
  41. package/dist/boardHealthWorker.js +882 -0
  42. package/dist/boardHealthWorker.js.map +1 -0
  43. package/dist/bootstrap-team.d.ts +42 -0
  44. package/dist/bootstrap-team.d.ts.map +1 -0
  45. package/dist/bootstrap-team.js +111 -0
  46. package/dist/bootstrap-team.js.map +1 -0
  47. package/dist/buildInfo.d.ts +17 -0
  48. package/dist/buildInfo.d.ts.map +1 -0
  49. package/dist/buildInfo.js +56 -0
  50. package/dist/buildInfo.js.map +1 -0
  51. package/dist/calendar-events.d.ts +133 -0
  52. package/dist/calendar-events.d.ts.map +1 -0
  53. package/dist/calendar-events.js +615 -0
  54. package/dist/calendar-events.js.map +1 -0
  55. package/dist/calendar-ical.d.ts +41 -0
  56. package/dist/calendar-ical.d.ts.map +1 -0
  57. package/dist/calendar-ical.js +413 -0
  58. package/dist/calendar-ical.js.map +1 -0
  59. package/dist/calendar-reminder-engine.d.ts +10 -0
  60. package/dist/calendar-reminder-engine.d.ts.map +1 -0
  61. package/dist/calendar-reminder-engine.js +143 -0
  62. package/dist/calendar-reminder-engine.js.map +1 -0
  63. package/dist/calendar.d.ts +75 -0
  64. package/dist/calendar.d.ts.map +1 -0
  65. package/dist/calendar.js +391 -0
  66. package/dist/calendar.js.map +1 -0
  67. package/dist/canvas-multiplexer.d.ts +44 -0
  68. package/dist/canvas-multiplexer.d.ts.map +1 -0
  69. package/dist/canvas-multiplexer.js +150 -0
  70. package/dist/canvas-multiplexer.js.map +1 -0
  71. package/dist/canvas-slots.d.ts +83 -0
  72. package/dist/canvas-slots.d.ts.map +1 -0
  73. package/dist/canvas-slots.js +144 -0
  74. package/dist/canvas-slots.js.map +1 -0
  75. package/dist/canvas-types.d.ts +56 -0
  76. package/dist/canvas-types.d.ts.map +1 -0
  77. package/dist/canvas-types.js +54 -0
  78. package/dist/canvas-types.js.map +1 -0
  79. package/dist/cf-keepalive.d.ts +40 -0
  80. package/dist/cf-keepalive.d.ts.map +1 -0
  81. package/dist/cf-keepalive.js +153 -0
  82. package/dist/cf-keepalive.js.map +1 -0
  83. package/dist/changeFeed.d.ts +38 -0
  84. package/dist/changeFeed.d.ts.map +1 -0
  85. package/dist/changeFeed.js +324 -0
  86. package/dist/changeFeed.js.map +1 -0
  87. package/dist/channels.d.ts +28 -0
  88. package/dist/channels.d.ts.map +1 -0
  89. package/dist/channels.js +23 -0
  90. package/dist/channels.js.map +1 -0
  91. package/dist/chat-approval-detector.d.ts +47 -0
  92. package/dist/chat-approval-detector.d.ts.map +1 -0
  93. package/dist/chat-approval-detector.js +224 -0
  94. package/dist/chat-approval-detector.js.map +1 -0
  95. package/dist/chat.d.ts +119 -0
  96. package/dist/chat.d.ts.map +1 -0
  97. package/dist/chat.js +666 -0
  98. package/dist/chat.js.map +1 -0
  99. package/dist/cli.d.ts +3 -0
  100. package/dist/cli.d.ts.map +1 -0
  101. package/dist/cli.js +1142 -0
  102. package/dist/cli.js.map +1 -0
  103. package/dist/cloud.d.ts +45 -0
  104. package/dist/cloud.d.ts.map +1 -0
  105. package/dist/cloud.js +962 -0
  106. package/dist/cloud.js.map +1 -0
  107. package/dist/config.d.ts +17 -0
  108. package/dist/config.d.ts.map +1 -0
  109. package/dist/config.js +33 -0
  110. package/dist/config.js.map +1 -0
  111. package/dist/connectivity.d.ts +59 -0
  112. package/dist/connectivity.d.ts.map +1 -0
  113. package/dist/connectivity.js +173 -0
  114. package/dist/connectivity.js.map +1 -0
  115. package/dist/contacts.d.ts +59 -0
  116. package/dist/contacts.d.ts.map +1 -0
  117. package/dist/contacts.js +183 -0
  118. package/dist/contacts.js.map +1 -0
  119. package/dist/content.d.ts +130 -0
  120. package/dist/content.d.ts.map +1 -0
  121. package/dist/content.js +186 -0
  122. package/dist/content.js.map +1 -0
  123. package/dist/context-budget.d.ts +87 -0
  124. package/dist/context-budget.d.ts.map +1 -0
  125. package/dist/context-budget.js +459 -0
  126. package/dist/context-budget.js.map +1 -0
  127. package/dist/continuity-loop.d.ts +55 -0
  128. package/dist/continuity-loop.d.ts.map +1 -0
  129. package/dist/continuity-loop.js +267 -0
  130. package/dist/continuity-loop.js.map +1 -0
  131. package/dist/dashboard.d.ts +6 -0
  132. package/dist/dashboard.d.ts.map +1 -0
  133. package/dist/dashboard.js +2348 -0
  134. package/dist/dashboard.js.map +1 -0
  135. package/dist/db.d.ts +44 -0
  136. package/dist/db.d.ts.map +1 -0
  137. package/dist/db.js +648 -0
  138. package/dist/db.js.map +1 -0
  139. package/dist/doctor.d.ts +30 -0
  140. package/dist/doctor.d.ts.map +1 -0
  141. package/dist/doctor.js +159 -0
  142. package/dist/doctor.js.map +1 -0
  143. package/dist/duplicateClosureGuard.d.ts +31 -0
  144. package/dist/duplicateClosureGuard.d.ts.map +1 -0
  145. package/dist/duplicateClosureGuard.js +83 -0
  146. package/dist/duplicateClosureGuard.js.map +1 -0
  147. package/dist/embeddings.d.ts +13 -0
  148. package/dist/embeddings.d.ts.map +1 -0
  149. package/dist/embeddings.js +78 -0
  150. package/dist/embeddings.js.map +1 -0
  151. package/dist/escalation.d.ts +80 -0
  152. package/dist/escalation.d.ts.map +1 -0
  153. package/dist/escalation.js +213 -0
  154. package/dist/escalation.js.map +1 -0
  155. package/dist/events.d.ts +130 -0
  156. package/dist/events.d.ts.map +1 -0
  157. package/dist/events.js +382 -0
  158. package/dist/events.js.map +1 -0
  159. package/dist/executionSweeper.d.ts +97 -0
  160. package/dist/executionSweeper.d.ts.map +1 -0
  161. package/dist/executionSweeper.js +875 -0
  162. package/dist/executionSweeper.js.map +1 -0
  163. package/dist/experiments.d.ts +47 -0
  164. package/dist/experiments.d.ts.map +1 -0
  165. package/dist/experiments.js +133 -0
  166. package/dist/experiments.js.map +1 -0
  167. package/dist/feedback.d.ts +179 -0
  168. package/dist/feedback.d.ts.map +1 -0
  169. package/dist/feedback.js +397 -0
  170. package/dist/feedback.js.map +1 -0
  171. package/dist/files.d.ts +52 -0
  172. package/dist/files.d.ts.map +1 -0
  173. package/dist/files.js +172 -0
  174. package/dist/files.js.map +1 -0
  175. package/dist/format-duration.d.ts +19 -0
  176. package/dist/format-duration.d.ts.map +1 -0
  177. package/dist/format-duration.js +33 -0
  178. package/dist/format-duration.js.map +1 -0
  179. package/dist/github-actor-auth.d.ts +20 -0
  180. package/dist/github-actor-auth.d.ts.map +1 -0
  181. package/dist/github-actor-auth.js +54 -0
  182. package/dist/github-actor-auth.js.map +1 -0
  183. package/dist/github-ci.d.ts +16 -0
  184. package/dist/github-ci.d.ts.map +1 -0
  185. package/dist/github-ci.js +37 -0
  186. package/dist/github-ci.js.map +1 -0
  187. package/dist/github-identity.d.ts +30 -0
  188. package/dist/github-identity.d.ts.map +1 -0
  189. package/dist/github-identity.js +96 -0
  190. package/dist/github-identity.js.map +1 -0
  191. package/dist/github-reviews.d.ts +24 -0
  192. package/dist/github-reviews.d.ts.map +1 -0
  193. package/dist/github-reviews.js +56 -0
  194. package/dist/github-reviews.js.map +1 -0
  195. package/dist/health.d.ts +391 -0
  196. package/dist/health.d.ts.map +1 -0
  197. package/dist/health.js +1841 -0
  198. package/dist/health.js.map +1 -0
  199. package/dist/host-keepalive.d.ts +22 -0
  200. package/dist/host-keepalive.d.ts.map +1 -0
  201. package/dist/host-keepalive.js +126 -0
  202. package/dist/host-keepalive.js.map +1 -0
  203. package/dist/host-registry.d.ts +43 -0
  204. package/dist/host-registry.d.ts.map +1 -0
  205. package/dist/host-registry.js +93 -0
  206. package/dist/host-registry.js.map +1 -0
  207. package/dist/inbox.d.ts +87 -0
  208. package/dist/inbox.d.ts.map +1 -0
  209. package/dist/inbox.js +410 -0
  210. package/dist/inbox.js.map +1 -0
  211. package/dist/index.d.ts +2 -0
  212. package/dist/index.d.ts.map +1 -0
  213. package/dist/index.js +306 -0
  214. package/dist/index.js.map +1 -0
  215. package/dist/insight-mutation.d.ts +32 -0
  216. package/dist/insight-mutation.d.ts.map +1 -0
  217. package/dist/insight-mutation.js +160 -0
  218. package/dist/insight-mutation.js.map +1 -0
  219. package/dist/insight-promotion.d.ts +89 -0
  220. package/dist/insight-promotion.d.ts.map +1 -0
  221. package/dist/insight-promotion.js +278 -0
  222. package/dist/insight-promotion.js.map +1 -0
  223. package/dist/insight-task-bridge.d.ts +77 -0
  224. package/dist/insight-task-bridge.d.ts.map +1 -0
  225. package/dist/insight-task-bridge.js +556 -0
  226. package/dist/insight-task-bridge.js.map +1 -0
  227. package/dist/insights.d.ts +222 -0
  228. package/dist/insights.d.ts.map +1 -0
  229. package/dist/insights.js +871 -0
  230. package/dist/insights.js.map +1 -0
  231. package/dist/intake-pipeline.d.ts +74 -0
  232. package/dist/intake-pipeline.d.ts.map +1 -0
  233. package/dist/intake-pipeline.js +199 -0
  234. package/dist/intake-pipeline.js.map +1 -0
  235. package/dist/intensity.d.ts +31 -0
  236. package/dist/intensity.d.ts.map +1 -0
  237. package/dist/intensity.js +94 -0
  238. package/dist/intensity.js.map +1 -0
  239. package/dist/knowledge-auto-index.d.ts +37 -0
  240. package/dist/knowledge-auto-index.d.ts.map +1 -0
  241. package/dist/knowledge-auto-index.js +149 -0
  242. package/dist/knowledge-auto-index.js.map +1 -0
  243. package/dist/knowledge-docs.d.ts +45 -0
  244. package/dist/knowledge-docs.d.ts.map +1 -0
  245. package/dist/knowledge-docs.js +188 -0
  246. package/dist/knowledge-docs.js.map +1 -0
  247. package/dist/lane-config.d.ts +25 -0
  248. package/dist/lane-config.d.ts.map +1 -0
  249. package/dist/lane-config.js +105 -0
  250. package/dist/lane-config.js.map +1 -0
  251. package/dist/lineage.d.ts +86 -0
  252. package/dist/lineage.d.ts.map +1 -0
  253. package/dist/lineage.js +303 -0
  254. package/dist/lineage.js.map +1 -0
  255. package/dist/logStore.d.ts +25 -0
  256. package/dist/logStore.d.ts.map +1 -0
  257. package/dist/logStore.js +83 -0
  258. package/dist/logStore.js.map +1 -0
  259. package/dist/manage.d.ts +12 -0
  260. package/dist/manage.d.ts.map +1 -0
  261. package/dist/manage.js +253 -0
  262. package/dist/manage.js.map +1 -0
  263. package/dist/mcp.d.ts +5 -0
  264. package/dist/mcp.d.ts.map +1 -0
  265. package/dist/mcp.js +604 -0
  266. package/dist/mcp.js.map +1 -0
  267. package/dist/memory.d.ts +47 -0
  268. package/dist/memory.d.ts.map +1 -0
  269. package/dist/memory.js +149 -0
  270. package/dist/memory.js.map +1 -0
  271. package/dist/mention-ack.d.ts +80 -0
  272. package/dist/mention-ack.d.ts.map +1 -0
  273. package/dist/mention-ack.js +175 -0
  274. package/dist/mention-ack.js.map +1 -0
  275. package/dist/messageRouter.d.ts +60 -0
  276. package/dist/messageRouter.d.ts.map +1 -0
  277. package/dist/messageRouter.js +309 -0
  278. package/dist/messageRouter.js.map +1 -0
  279. package/dist/mutationAlert.d.ts +44 -0
  280. package/dist/mutationAlert.d.ts.map +1 -0
  281. package/dist/mutationAlert.js +174 -0
  282. package/dist/mutationAlert.js.map +1 -0
  283. package/dist/noise-budget.d.ts +136 -0
  284. package/dist/noise-budget.d.ts.map +1 -0
  285. package/dist/noise-budget.js +340 -0
  286. package/dist/noise-budget.js.map +1 -0
  287. package/dist/notifications.d.ts +67 -0
  288. package/dist/notifications.d.ts.map +1 -0
  289. package/dist/notifications.js +253 -0
  290. package/dist/notifications.js.map +1 -0
  291. package/dist/openclaw.d.ts +34 -0
  292. package/dist/openclaw.d.ts.map +1 -0
  293. package/dist/openclaw.js +208 -0
  294. package/dist/openclaw.js.map +1 -0
  295. package/dist/pause-controls.d.ts +31 -0
  296. package/dist/pause-controls.d.ts.map +1 -0
  297. package/dist/pause-controls.js +130 -0
  298. package/dist/pause-controls.js.map +1 -0
  299. package/dist/pidlock.d.ts +25 -0
  300. package/dist/pidlock.d.ts.map +1 -0
  301. package/dist/pidlock.js +179 -0
  302. package/dist/pidlock.js.map +1 -0
  303. package/dist/policy.d.ts +139 -0
  304. package/dist/policy.d.ts.map +1 -0
  305. package/dist/policy.js +264 -0
  306. package/dist/policy.js.map +1 -0
  307. package/dist/polls.d.ts +47 -0
  308. package/dist/polls.d.ts.map +1 -0
  309. package/dist/polls.js +162 -0
  310. package/dist/polls.js.map +1 -0
  311. package/dist/portability.d.ts +55 -0
  312. package/dist/portability.d.ts.map +1 -0
  313. package/dist/portability.js +292 -0
  314. package/dist/portability.js.map +1 -0
  315. package/dist/pr-integrity.d.ts +45 -0
  316. package/dist/pr-integrity.d.ts.map +1 -0
  317. package/dist/pr-integrity.js +124 -0
  318. package/dist/pr-integrity.js.map +1 -0
  319. package/dist/prAutoMerge.d.ts +62 -0
  320. package/dist/prAutoMerge.d.ts.map +1 -0
  321. package/dist/prAutoMerge.js +493 -0
  322. package/dist/prAutoMerge.js.map +1 -0
  323. package/dist/preflight.d.ts +66 -0
  324. package/dist/preflight.d.ts.map +1 -0
  325. package/dist/preflight.js +864 -0
  326. package/dist/preflight.js.map +1 -0
  327. package/dist/presence.d.ts +98 -0
  328. package/dist/presence.d.ts.map +1 -0
  329. package/dist/presence.js +347 -0
  330. package/dist/presence.js.map +1 -0
  331. package/dist/provisioning.d.ts +101 -0
  332. package/dist/provisioning.d.ts.map +1 -0
  333. package/dist/provisioning.js +430 -0
  334. package/dist/provisioning.js.map +1 -0
  335. package/dist/reflection-automation.d.ts +59 -0
  336. package/dist/reflection-automation.d.ts.map +1 -0
  337. package/dist/reflection-automation.js +350 -0
  338. package/dist/reflection-automation.js.map +1 -0
  339. package/dist/reflections.d.ts +65 -0
  340. package/dist/reflections.d.ts.map +1 -0
  341. package/dist/reflections.js +306 -0
  342. package/dist/reflections.js.map +1 -0
  343. package/dist/release.d.ts +67 -0
  344. package/dist/release.d.ts.map +1 -0
  345. package/dist/release.js +275 -0
  346. package/dist/release.js.map +1 -0
  347. package/dist/request-tracker.d.ts +36 -0
  348. package/dist/request-tracker.d.ts.map +1 -0
  349. package/dist/request-tracker.js +109 -0
  350. package/dist/request-tracker.js.map +1 -0
  351. package/dist/research.d.ts +75 -0
  352. package/dist/research.d.ts.map +1 -0
  353. package/dist/research.js +171 -0
  354. package/dist/research.js.map +1 -0
  355. package/dist/routing-approvals.d.ts +73 -0
  356. package/dist/routing-approvals.d.ts.map +1 -0
  357. package/dist/routing-approvals.js +88 -0
  358. package/dist/routing-approvals.js.map +1 -0
  359. package/dist/routing-override.d.ts +94 -0
  360. package/dist/routing-override.d.ts.map +1 -0
  361. package/dist/routing-override.js +290 -0
  362. package/dist/routing-override.js.map +1 -0
  363. package/dist/scope-routing.d.ts +18 -0
  364. package/dist/scope-routing.d.ts.map +1 -0
  365. package/dist/scope-routing.js +29 -0
  366. package/dist/scope-routing.js.map +1 -0
  367. package/dist/secrets.d.ts +77 -0
  368. package/dist/secrets.d.ts.map +1 -0
  369. package/dist/secrets.js +287 -0
  370. package/dist/secrets.js.map +1 -0
  371. package/dist/server.d.ts +3 -0
  372. package/dist/server.d.ts.map +1 -0
  373. package/dist/server.js +10887 -0
  374. package/dist/server.js.map +1 -0
  375. package/dist/service-probe.d.ts +53 -0
  376. package/dist/service-probe.d.ts.map +1 -0
  377. package/dist/service-probe.js +225 -0
  378. package/dist/service-probe.js.map +1 -0
  379. package/dist/shared-workspace-api.d.ts +73 -0
  380. package/dist/shared-workspace-api.d.ts.map +1 -0
  381. package/dist/shared-workspace-api.js +281 -0
  382. package/dist/shared-workspace-api.js.map +1 -0
  383. package/dist/shipped-heartbeat.d.ts +91 -0
  384. package/dist/shipped-heartbeat.d.ts.map +1 -0
  385. package/dist/shipped-heartbeat.js +272 -0
  386. package/dist/shipped-heartbeat.js.map +1 -0
  387. package/dist/starter-team.d.ts +23 -0
  388. package/dist/starter-team.d.ts.map +1 -0
  389. package/dist/starter-team.js +88 -0
  390. package/dist/starter-team.js.map +1 -0
  391. package/dist/suppression-ledger.d.ts +73 -0
  392. package/dist/suppression-ledger.d.ts.map +1 -0
  393. package/dist/suppression-ledger.js +125 -0
  394. package/dist/suppression-ledger.js.map +1 -0
  395. package/dist/system-loop-state.d.ts +4 -0
  396. package/dist/system-loop-state.d.ts.map +1 -0
  397. package/dist/system-loop-state.js +40 -0
  398. package/dist/system-loop-state.js.map +1 -0
  399. package/dist/taskCommentIngest.d.ts +43 -0
  400. package/dist/taskCommentIngest.d.ts.map +1 -0
  401. package/dist/taskCommentIngest.js +59 -0
  402. package/dist/taskCommentIngest.js.map +1 -0
  403. package/dist/taskPrecheck.d.ts +20 -0
  404. package/dist/taskPrecheck.d.ts.map +1 -0
  405. package/dist/taskPrecheck.js +329 -0
  406. package/dist/taskPrecheck.js.map +1 -0
  407. package/dist/taskStateSync.d.ts +8 -0
  408. package/dist/taskStateSync.d.ts.map +1 -0
  409. package/dist/taskStateSync.js +79 -0
  410. package/dist/taskStateSync.js.map +1 -0
  411. package/dist/tasks.d.ts +140 -0
  412. package/dist/tasks.d.ts.map +1 -0
  413. package/dist/tasks.js +1281 -0
  414. package/dist/tasks.js.map +1 -0
  415. package/dist/team-config.d.ts +24 -0
  416. package/dist/team-config.d.ts.map +1 -0
  417. package/dist/team-config.js +221 -0
  418. package/dist/team-config.js.map +1 -0
  419. package/dist/team-doctor.d.ts +22 -0
  420. package/dist/team-doctor.d.ts.map +1 -0
  421. package/dist/team-doctor.js +270 -0
  422. package/dist/team-doctor.js.map +1 -0
  423. package/dist/team-pulse.d.ts +52 -0
  424. package/dist/team-pulse.d.ts.map +1 -0
  425. package/dist/team-pulse.js +176 -0
  426. package/dist/team-pulse.js.map +1 -0
  427. package/dist/telemetry.d.ts +74 -0
  428. package/dist/telemetry.d.ts.map +1 -0
  429. package/dist/telemetry.js +256 -0
  430. package/dist/telemetry.js.map +1 -0
  431. package/dist/test-task-filter.d.ts +21 -0
  432. package/dist/test-task-filter.d.ts.map +1 -0
  433. package/dist/test-task-filter.js +48 -0
  434. package/dist/test-task-filter.js.map +1 -0
  435. package/dist/types.d.ts +126 -0
  436. package/dist/types.d.ts.map +1 -0
  437. package/dist/types.js +4 -0
  438. package/dist/types.js.map +1 -0
  439. package/dist/usage-tracking.d.ts +101 -0
  440. package/dist/usage-tracking.d.ts.map +1 -0
  441. package/dist/usage-tracking.js +325 -0
  442. package/dist/usage-tracking.js.map +1 -0
  443. package/dist/vector-store.d.ts +87 -0
  444. package/dist/vector-store.d.ts.map +1 -0
  445. package/dist/vector-store.js +247 -0
  446. package/dist/vector-store.js.map +1 -0
  447. package/dist/watchdog/idleNudgeLane.d.ts +22 -0
  448. package/dist/watchdog/idleNudgeLane.d.ts.map +1 -0
  449. package/dist/watchdog/idleNudgeLane.js +98 -0
  450. package/dist/watchdog/idleNudgeLane.js.map +1 -0
  451. package/dist/webhooks.d.ts +103 -0
  452. package/dist/webhooks.d.ts.map +1 -0
  453. package/dist/webhooks.js +398 -0
  454. package/dist/webhooks.js.map +1 -0
  455. package/dist/working-contract.d.ts +42 -0
  456. package/dist/working-contract.d.ts.map +1 -0
  457. package/dist/working-contract.js +228 -0
  458. package/dist/working-contract.js.map +1 -0
  459. package/dist/ws-heartbeat.d.ts +66 -0
  460. package/dist/ws-heartbeat.d.ts.map +1 -0
  461. package/dist/ws-heartbeat.js +174 -0
  462. package/dist/ws-heartbeat.js.map +1 -0
  463. package/package.json +87 -0
  464. package/plugins/reflectt-channel/README.md +96 -0
  465. package/plugins/reflectt-channel/index.ts +789 -0
  466. package/plugins/reflectt-channel/openclaw.plugin.json +23 -0
  467. package/plugins/reflectt-channel/package.json +23 -0
  468. package/plugins/reflectt-channel/src/channel.ts +433 -0
  469. package/plugins/reflectt-channel/src/types.ts +29 -0
  470. package/public/avatars/echo.png +0 -0
  471. package/public/avatars/harmony.png +0 -0
  472. package/public/avatars/kai.png +0 -0
  473. package/public/avatars/link.png +0 -0
  474. package/public/avatars/pixel.png +0 -0
  475. package/public/avatars/rhythm.png +0 -0
  476. package/public/avatars/ryan.png +0 -0
  477. package/public/avatars/sage.png +0 -0
  478. package/public/avatars/scout.png +0 -0
  479. package/public/avatars/spark.png +0 -0
  480. package/public/dashboard-animations.css +381 -0
  481. package/public/dashboard.js +3479 -0
  482. package/public/docs.md +1062 -0
  483. package/public/file-upload-mock.html +1097 -0
  484. package/public/og-card.png +0 -0
  485. package/public/ui-kit.html +318 -0
  486. package/public/widget/feedback.js +194 -0
@@ -0,0 +1,94 @@
1
+ export type OverrideStatus = 'active' | 'override_expired' | 'mismatch_blocked';
2
+ export interface RoutingOverride {
3
+ id: string;
4
+ /** Agent or role the override applies to */
5
+ target: string;
6
+ /** Target type: 'agent' or 'role' */
7
+ target_type: 'agent' | 'role';
8
+ /** Original routing channel */
9
+ original_channel: string;
10
+ /** Override routing channel */
11
+ override_channel: string;
12
+ /** Reason for the override */
13
+ reason: string;
14
+ /** Who created the override */
15
+ created_by: string;
16
+ /** Override status lifecycle */
17
+ status: OverrideStatus;
18
+ /** When override expires (must be > recheck_at) */
19
+ override_expires_at: number;
20
+ /** When to recheck override validity */
21
+ override_recheck_at: number;
22
+ /** Policy version at creation time */
23
+ policy_version: string;
24
+ /** Request ID for traceability */
25
+ request_id: string;
26
+ /** Correlation ID for grouping related overrides */
27
+ correlation_id: string;
28
+ /** Audit event IDs for lifecycle transitions */
29
+ audit_event_ids: string[];
30
+ /** Optional metadata */
31
+ metadata?: Record<string, unknown>;
32
+ created_at: number;
33
+ updated_at: number;
34
+ }
35
+ export interface CreateOverrideInput {
36
+ target: string;
37
+ target_type: 'agent' | 'role';
38
+ original_channel: string;
39
+ override_channel: string;
40
+ reason: string;
41
+ created_by: string;
42
+ override_expires_at: number;
43
+ override_recheck_at: number;
44
+ request_id?: string;
45
+ correlation_id?: string;
46
+ metadata?: Record<string, unknown>;
47
+ }
48
+ export interface OverrideValidation {
49
+ valid: boolean;
50
+ errors: string[];
51
+ }
52
+ export interface OverrideTransitionResult {
53
+ override_id: string;
54
+ previous_status: OverrideStatus;
55
+ new_status: OverrideStatus;
56
+ audit_event_id: string;
57
+ timestamp: number;
58
+ }
59
+ export declare function ensureOverrideTable(): void;
60
+ /**
61
+ * Validate override creation input.
62
+ * Key rule: override_recheck_at must be strictly less than override_expires_at
63
+ */
64
+ export declare function validateOverrideInput(input: CreateOverrideInput): OverrideValidation;
65
+ /**
66
+ * Create a routing override with full audit trail.
67
+ */
68
+ export declare function createOverride(input: CreateOverrideInput): RoutingOverride;
69
+ export declare function getOverride(id: string): RoutingOverride | null;
70
+ export declare function listOverrides(opts?: {
71
+ target?: string;
72
+ target_type?: string;
73
+ status?: OverrideStatus;
74
+ limit?: number;
75
+ }): RoutingOverride[];
76
+ /**
77
+ * Find active override for a target (agent or role).
78
+ */
79
+ export declare function findActiveOverride(target: string, targetType: 'agent' | 'role'): RoutingOverride | null;
80
+ /**
81
+ * Tick all active overrides: expire those past their expiry time.
82
+ *
83
+ * Lifecycle:
84
+ * active → override_expired (when now >= override_expires_at)
85
+ * override_expired → mismatch_blocked (deterministic second transition)
86
+ *
87
+ * Each transition generates a unique audit event ID.
88
+ */
89
+ export declare function tickOverrideLifecycle(now?: number): {
90
+ expired: OverrideTransitionResult[];
91
+ blocked: OverrideTransitionResult[];
92
+ };
93
+ export declare function _clearOverrides(): void;
94
+ //# sourceMappingURL=routing-override.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-override.d.ts","sourceRoot":"","sources":["../src/routing-override.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,290 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Routing Override Lifecycle — role-aware routing hardening
3
+ //
4
+ // Manages temporary routing overrides with strict lifecycle:
5
+ // active → override_expired → mismatch_blocked
6
+ //
7
+ // Each override has:
8
+ // - An explicit expiry time (override_expires_at)
9
+ // - A recheck time (override_recheck_at < override_expires_at)
10
+ // - Policy version + request/correlation IDs for auditability
11
+ // - Deterministic state transitions with audit event IDs
12
+ import { getDb, safeJsonStringify, safeJsonParse } from './db.js';
13
+ import { eventBus } from './events.js';
14
+ import { policyManager } from './policy.js';
15
+ // ── Table ──
16
+ export function ensureOverrideTable() {
17
+ const db = getDb();
18
+ db.exec(`
19
+ CREATE TABLE IF NOT EXISTS routing_overrides (
20
+ id TEXT PRIMARY KEY,
21
+ target TEXT NOT NULL,
22
+ target_type TEXT NOT NULL CHECK(target_type IN ('agent', 'role')),
23
+ original_channel TEXT NOT NULL,
24
+ override_channel TEXT NOT NULL,
25
+ reason TEXT NOT NULL,
26
+ created_by TEXT NOT NULL,
27
+ status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('active', 'override_expired', 'mismatch_blocked')),
28
+ override_expires_at INTEGER NOT NULL,
29
+ override_recheck_at INTEGER NOT NULL,
30
+ policy_version TEXT NOT NULL,
31
+ request_id TEXT NOT NULL,
32
+ correlation_id TEXT NOT NULL,
33
+ audit_event_ids TEXT NOT NULL DEFAULT '[]',
34
+ metadata TEXT,
35
+ created_at INTEGER NOT NULL,
36
+ updated_at INTEGER NOT NULL
37
+ );
38
+ CREATE INDEX IF NOT EXISTS idx_routing_overrides_target ON routing_overrides(target, target_type);
39
+ CREATE INDEX IF NOT EXISTS idx_routing_overrides_status ON routing_overrides(status);
40
+ CREATE INDEX IF NOT EXISTS idx_routing_overrides_expires ON routing_overrides(override_expires_at);
41
+ `);
42
+ }
43
+ // ── Helpers ──
44
+ function generateId() {
45
+ return `rovr-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
46
+ }
47
+ function generateEventId() {
48
+ return `revt-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
49
+ }
50
+ function generateRequestId() {
51
+ return `rreq-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
52
+ }
53
+ function generateCorrelationId() {
54
+ return `rcor-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
55
+ }
56
+ function getPolicyVersion() {
57
+ try {
58
+ const policy = policyManager.get();
59
+ return policy.version || policy.policyVersion || `v-${Date.now()}`;
60
+ }
61
+ catch {
62
+ return `v-${Date.now()}`;
63
+ }
64
+ }
65
+ // ── Validation ──
66
+ /**
67
+ * Validate override creation input.
68
+ * Key rule: override_recheck_at must be strictly less than override_expires_at
69
+ */
70
+ export function validateOverrideInput(input) {
71
+ const errors = [];
72
+ if (!input.target?.trim())
73
+ errors.push('target is required');
74
+ if (!['agent', 'role'].includes(input.target_type))
75
+ errors.push('target_type must be "agent" or "role"');
76
+ if (!input.original_channel?.trim())
77
+ errors.push('original_channel is required');
78
+ if (!input.override_channel?.trim())
79
+ errors.push('override_channel is required');
80
+ if (!input.reason?.trim())
81
+ errors.push('reason is required');
82
+ if (!input.created_by?.trim())
83
+ errors.push('created_by is required');
84
+ if (typeof input.override_expires_at !== 'number' || input.override_expires_at <= Date.now()) {
85
+ errors.push('override_expires_at must be a future timestamp');
86
+ }
87
+ if (typeof input.override_recheck_at !== 'number' || input.override_recheck_at <= Date.now()) {
88
+ errors.push('override_recheck_at must be a future timestamp');
89
+ }
90
+ // Critical validation: recheck must be before expiry
91
+ if (input.override_recheck_at >= input.override_expires_at) {
92
+ errors.push('override_recheck_at must be strictly less than override_expires_at');
93
+ }
94
+ return { valid: errors.length === 0, errors };
95
+ }
96
+ // ── CRUD ──
97
+ /**
98
+ * Create a routing override with full audit trail.
99
+ */
100
+ export function createOverride(input) {
101
+ ensureOverrideTable();
102
+ const db = getDb();
103
+ const now = Date.now();
104
+ const id = generateId();
105
+ const eventId = generateEventId();
106
+ const requestId = input.request_id || generateRequestId();
107
+ const correlationId = input.correlation_id || generateCorrelationId();
108
+ const policyVersion = getPolicyVersion();
109
+ const override = {
110
+ id,
111
+ target: input.target.trim(),
112
+ target_type: input.target_type,
113
+ original_channel: input.original_channel.trim(),
114
+ override_channel: input.override_channel.trim(),
115
+ reason: input.reason.trim(),
116
+ created_by: input.created_by.trim(),
117
+ status: 'active',
118
+ override_expires_at: input.override_expires_at,
119
+ override_recheck_at: input.override_recheck_at,
120
+ policy_version: policyVersion,
121
+ request_id: requestId,
122
+ correlation_id: correlationId,
123
+ audit_event_ids: [eventId],
124
+ metadata: input.metadata,
125
+ created_at: now,
126
+ updated_at: now,
127
+ };
128
+ db.prepare(`
129
+ INSERT INTO routing_overrides (
130
+ id, target, target_type, original_channel, override_channel,
131
+ reason, created_by, status, override_expires_at, override_recheck_at,
132
+ policy_version, request_id, correlation_id, audit_event_ids,
133
+ metadata, created_at, updated_at
134
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
135
+ `).run(id, override.target, override.target_type, override.original_channel, override.override_channel, override.reason, override.created_by, override.status, override.override_expires_at, override.override_recheck_at, policyVersion, requestId, correlationId, safeJsonStringify(override.audit_event_ids), safeJsonStringify(override.metadata), now, now);
136
+ eventBus.emit({
137
+ id: eventId,
138
+ type: 'task_created',
139
+ timestamp: now,
140
+ data: {
141
+ kind: 'routing_override:created',
142
+ override_id: id,
143
+ target: override.target,
144
+ policy_version: policyVersion,
145
+ request_id: requestId,
146
+ correlation_id: correlationId,
147
+ },
148
+ });
149
+ return override;
150
+ }
151
+ export function getOverride(id) {
152
+ ensureOverrideTable();
153
+ const db = getDb();
154
+ const row = db.prepare('SELECT * FROM routing_overrides WHERE id = ?').get(id);
155
+ return row ? rowToOverride(row) : null;
156
+ }
157
+ export function listOverrides(opts = {}) {
158
+ ensureOverrideTable();
159
+ const db = getDb();
160
+ const where = [];
161
+ const params = [];
162
+ if (opts.target) {
163
+ where.push('target = ?');
164
+ params.push(opts.target);
165
+ }
166
+ if (opts.target_type) {
167
+ where.push('target_type = ?');
168
+ params.push(opts.target_type);
169
+ }
170
+ if (opts.status) {
171
+ where.push('status = ?');
172
+ params.push(opts.status);
173
+ }
174
+ const whereClause = where.length > 0 ? `WHERE ${where.join(' AND ')}` : '';
175
+ const limit = Math.min(opts.limit ?? 50, 200);
176
+ const rows = db.prepare(`SELECT * FROM routing_overrides ${whereClause} ORDER BY created_at DESC LIMIT ?`).all(...params, limit);
177
+ return rows.map(rowToOverride);
178
+ }
179
+ /**
180
+ * Find active override for a target (agent or role).
181
+ */
182
+ export function findActiveOverride(target, targetType) {
183
+ ensureOverrideTable();
184
+ const db = getDb();
185
+ const row = db.prepare(`SELECT * FROM routing_overrides WHERE target = ? AND target_type = ? AND status = 'active' ORDER BY created_at DESC LIMIT 1`).get(target, targetType);
186
+ return row ? rowToOverride(row) : null;
187
+ }
188
+ // ── Lifecycle Transitions ──
189
+ /**
190
+ * Tick all active overrides: expire those past their expiry time.
191
+ *
192
+ * Lifecycle:
193
+ * active → override_expired (when now >= override_expires_at)
194
+ * override_expired → mismatch_blocked (deterministic second transition)
195
+ *
196
+ * Each transition generates a unique audit event ID.
197
+ */
198
+ export function tickOverrideLifecycle(now = Date.now()) {
199
+ ensureOverrideTable();
200
+ const db = getDb();
201
+ const expired = [];
202
+ const blocked = [];
203
+ // Phase 1: active → override_expired
204
+ const activeRows = db.prepare(`SELECT * FROM routing_overrides WHERE status = 'active' AND override_expires_at <= ?`).all(now);
205
+ for (const row of activeRows) {
206
+ const override = rowToOverride(row);
207
+ const result = transitionOverride(override, 'override_expired', now);
208
+ if (result)
209
+ expired.push(result);
210
+ }
211
+ // Phase 2: override_expired → mismatch_blocked (deterministic)
212
+ // All expired overrides immediately transition to mismatch_blocked
213
+ const expiredRows = db.prepare(`SELECT * FROM routing_overrides WHERE status = 'override_expired'`).all();
214
+ for (const row of expiredRows) {
215
+ const override = rowToOverride(row);
216
+ const result = transitionOverride(override, 'mismatch_blocked', now);
217
+ if (result)
218
+ blocked.push(result);
219
+ }
220
+ return { expired, blocked };
221
+ }
222
+ /**
223
+ * Transition an override to a new status with audit trail.
224
+ */
225
+ function transitionOverride(override, newStatus, now) {
226
+ const db = getDb();
227
+ const eventId = generateEventId();
228
+ const previousStatus = override.status;
229
+ const updatedEventIds = [...override.audit_event_ids, eventId];
230
+ db.prepare(`
231
+ UPDATE routing_overrides SET
232
+ status = ?, audit_event_ids = ?, updated_at = ?
233
+ WHERE id = ?
234
+ `).run(newStatus, safeJsonStringify(updatedEventIds), now, override.id);
235
+ eventBus.emit({
236
+ id: eventId,
237
+ type: 'task_updated',
238
+ timestamp: now,
239
+ data: {
240
+ kind: `routing_override:${newStatus}`,
241
+ override_id: override.id,
242
+ previous_status: previousStatus,
243
+ new_status: newStatus,
244
+ target: override.target,
245
+ policy_version: override.policy_version,
246
+ request_id: override.request_id,
247
+ correlation_id: override.correlation_id,
248
+ },
249
+ });
250
+ return {
251
+ override_id: override.id,
252
+ previous_status: previousStatus,
253
+ new_status: newStatus,
254
+ audit_event_id: eventId,
255
+ timestamp: now,
256
+ };
257
+ }
258
+ // ── Row mapping ──
259
+ function rowToOverride(row) {
260
+ return {
261
+ id: row.id,
262
+ target: row.target,
263
+ target_type: row.target_type,
264
+ original_channel: row.original_channel,
265
+ override_channel: row.override_channel,
266
+ reason: row.reason,
267
+ created_by: row.created_by,
268
+ status: row.status,
269
+ override_expires_at: row.override_expires_at,
270
+ override_recheck_at: row.override_recheck_at,
271
+ policy_version: row.policy_version,
272
+ request_id: row.request_id,
273
+ correlation_id: row.correlation_id,
274
+ audit_event_ids: safeJsonParse(row.audit_event_ids) ?? [],
275
+ metadata: safeJsonParse(row.metadata),
276
+ created_at: row.created_at,
277
+ updated_at: row.updated_at,
278
+ };
279
+ }
280
+ // ── Test helpers ──
281
+ export function _clearOverrides() {
282
+ try {
283
+ const db = getDb();
284
+ db.prepare('DELETE FROM routing_overrides').run();
285
+ }
286
+ catch {
287
+ // Table may not exist
288
+ }
289
+ }
290
+ //# sourceMappingURL=routing-override.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-override.js","sourceRoot":"","sources":["../src/routing-override.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Deterministic channel → scope mapping.
3
+ *
4
+ * Why: prevent agent state from forking unpredictably across channels by bucketing
5
+ * session-local context + overflow memos under a stable scope id.
6
+ */
7
+ export interface ScopeRoutingInput {
8
+ /** Explicit override: if present, always used. */
9
+ scope_id?: string | null;
10
+ /** Channel name (e.g. general, ops, task-comments, dm:ryan). */
11
+ channel?: string | null;
12
+ /** Known task id for task-scoped contexts. */
13
+ task_id?: string | null;
14
+ /** DM peer identifier (gateway-dependent). */
15
+ peer?: string | null;
16
+ }
17
+ export declare function deriveScopeId(input: ScopeRoutingInput): string;
18
+ //# sourceMappingURL=scope-routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-routing.d.ts","sourceRoot":"","sources":["../src/scope-routing.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAExB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CA2B9D"}
@@ -0,0 +1,29 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (c) Reflectt AI
3
+ export function deriveScopeId(input) {
4
+ const override = String(input.scope_id || '').trim();
5
+ if (override)
6
+ return override;
7
+ const ch = String(input.channel || 'general').trim().toLowerCase();
8
+ const taskId = String(input.task_id || '').trim();
9
+ const peer = String(input.peer || '').trim();
10
+ // 1) Team scope
11
+ if (ch === 'general' || ch === 'ops')
12
+ return 'team:default';
13
+ // 2) Task scope
14
+ // Keep this intentionally tight to avoid surprising channels like "taskforce".
15
+ if (ch === 'task-comments' || ch === 'task-notifications' || ch.startsWith('task-')) {
16
+ return taskId ? `task:${taskId}` : 'team:default';
17
+ }
18
+ // 3) User scope (DM)
19
+ if (ch.startsWith('dm:')) {
20
+ const suffix = ch.slice('dm:'.length).trim();
21
+ if (suffix)
22
+ return `user:${suffix}`;
23
+ }
24
+ if (peer)
25
+ return `user:${peer}`;
26
+ // Default
27
+ return 'team:default';
28
+ }
29
+ //# sourceMappingURL=scope-routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-routing.js","sourceRoot":"","sources":["../src/scope-routing.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,4BAA4B;AAuB5B,MAAM,UAAU,aAAa,CAAC,KAAwB;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACpD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAE7B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAE5C,gBAAgB;IAChB,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,cAAc,CAAA;IAE3D,gBAAgB;IAChB,+EAA+E;IAC/E,IAAI,EAAE,KAAK,eAAe,IAAI,EAAE,KAAK,oBAAoB,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpF,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,cAAc,CAAA;IACnD,CAAC;IAED,qBAAqB;IACrB,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5C,IAAI,MAAM;YAAE,OAAO,QAAQ,MAAM,EAAE,CAAA;IACrC,CAAC;IAED,IAAI,IAAI;QAAE,OAAO,QAAQ,IAAI,EAAE,CAAA;IAE/B,UAAU;IACV,OAAO,cAAc,CAAA;AACvB,CAAC"}
@@ -0,0 +1,77 @@
1
+ export interface EncryptedPayload {
2
+ ciphertext: string;
3
+ iv: string;
4
+ authTag: string;
5
+ }
6
+ export interface EncryptedSecret {
7
+ name: string;
8
+ scope: 'host' | 'project' | 'agent';
9
+ encrypted_value: EncryptedPayload;
10
+ wrapped_dek: EncryptedPayload;
11
+ created_at: number;
12
+ rotated_at: number;
13
+ metadata?: Record<string, unknown>;
14
+ }
15
+ export interface SecretMetadata {
16
+ name: string;
17
+ scope: 'host' | 'project' | 'agent';
18
+ created_at: number;
19
+ rotated_at: number;
20
+ metadata?: Record<string, unknown>;
21
+ }
22
+ export interface AuditEntry {
23
+ timestamp: number;
24
+ secretName: string;
25
+ action: 'create' | 'read' | 'rotate' | 'delete' | 'export' | 'import';
26
+ actor: string;
27
+ hostId: string;
28
+ success: boolean;
29
+ metadata?: Record<string, unknown>;
30
+ }
31
+ export interface SecretExportBundle {
32
+ version: string;
33
+ exported_at: string;
34
+ host_id: string;
35
+ secrets: EncryptedSecret[];
36
+ }
37
+ export declare class SecretVault {
38
+ private hmk;
39
+ private secrets;
40
+ private secretsDir;
41
+ private keyPath;
42
+ private storePath;
43
+ private auditPath;
44
+ private hostId;
45
+ constructor(reflecttHome: string, hostId?: string);
46
+ /** Initialize vault — load or generate HMK, load stored secrets */
47
+ init(): void;
48
+ /** Create or update a secret */
49
+ create(name: string, plaintext: string, scope?: 'host' | 'project' | 'agent', actor?: string, metadata?: Record<string, unknown>): SecretMetadata;
50
+ /** Decrypt and return a secret value */
51
+ read(name: string, actor?: string): string | null;
52
+ /** List all secret metadata (no plaintext) */
53
+ list(): SecretMetadata[];
54
+ /** Delete a secret */
55
+ delete(name: string, actor?: string): boolean;
56
+ /** Rotate a secret's DEK (re-encrypt with new key) */
57
+ rotate(name: string, actor?: string): SecretMetadata | null;
58
+ /** Export all secrets as encrypted bundle */
59
+ export(actor?: string): SecretExportBundle;
60
+ /** Import secrets from bundle (re-wraps DEKs with current HMK) */
61
+ import(bundle: SecretExportBundle, sourceHmk: Buffer, actor?: string): number;
62
+ /** Get audit log entries */
63
+ getAuditLog(limit?: number): AuditEntry[];
64
+ /** Check if vault is initialized */
65
+ isInitialized(): boolean;
66
+ /** Get vault stats */
67
+ getStats(): {
68
+ initialized: boolean;
69
+ secretCount: number;
70
+ hostId: string;
71
+ };
72
+ private ensureInitialized;
73
+ private persist;
74
+ private audit;
75
+ private toMetadata;
76
+ }
77
+ //# sourceMappingURL=secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IACnC,eAAe,EAAE,gBAAgB,CAAA;IACjC,WAAW,EAAE,gBAAgB,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACrE,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B;AAsCD,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAQ;gBAEV,YAAY,EAAE,MAAM,EAAE,MAAM,GAAE,MAAkB;IAQ5D,mEAAmE;IACnE,IAAI,IAAI,IAAI;IAoCZ,gCAAgC;IAChC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,SAAS,GAAG,OAAgB,EAAE,KAAK,GAAE,MAAiB,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc;IA4BnK,wCAAwC;IACxC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAiB,GAAG,MAAM,GAAG,IAAI;IA4B3D,8CAA8C;IAC9C,IAAI,IAAI,cAAc,EAAE;IAIxB,sBAAsB;IACtB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAiB,GAAG,OAAO;IASvD,sDAAsD;IACtD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAiB,GAAG,cAAc,GAAG,IAAI;IAiCrE,6CAA6C;IAC7C,MAAM,CAAC,KAAK,GAAE,MAAiB,GAAG,kBAAkB;IAWpD,kEAAkE;IAClE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAiB,GAAG,MAAM;IAgCvF,4BAA4B;IAC5B,WAAW,CAAC,KAAK,GAAE,MAAY,GAAG,UAAU,EAAE;IAW9C,oCAAoC;IACpC,aAAa,IAAI,OAAO;IAIxB,sBAAsB;IACtB,QAAQ,IAAI;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAUzE,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,KAAK;IAwBb,OAAO,CAAC,UAAU;CASnB"}