opensquid 0.5.395

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 (1847) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +330 -0
  3. package/dist/anti-drift/evaluator.d.ts +88 -0
  4. package/dist/anti-drift/evaluator.d.ts.map +1 -0
  5. package/dist/anti-drift/evaluator.js +417 -0
  6. package/dist/anti-drift/evaluator.js.map +1 -0
  7. package/dist/anti-drift/evaluator.test.js +78 -0
  8. package/dist/anti-drift/rules.d.ts +80 -0
  9. package/dist/anti-drift/rules.d.ts.map +1 -0
  10. package/dist/anti-drift/rules.js +368 -0
  11. package/dist/anti-drift/rules.js.map +1 -0
  12. package/dist/anti-drift/rules.test.js +213 -0
  13. package/dist/anti-drift/state.d.ts +107 -0
  14. package/dist/anti-drift/state.d.ts.map +1 -0
  15. package/dist/anti-drift/state.js +177 -0
  16. package/dist/anti-drift/state.js.map +1 -0
  17. package/dist/anti-drift/state.test.js +120 -0
  18. package/dist/channels/adapters/discord.d.ts +45 -0
  19. package/dist/channels/adapters/discord.d.ts.map +1 -0
  20. package/dist/channels/adapters/discord.js +220 -0
  21. package/dist/channels/adapters/discord.js.map +1 -0
  22. package/dist/channels/adapters/slack.d.ts +63 -0
  23. package/dist/channels/adapters/slack.d.ts.map +1 -0
  24. package/dist/channels/adapters/slack.js +216 -0
  25. package/dist/channels/adapters/slack.js.map +1 -0
  26. package/dist/channels/adapters/telegram.d.ts +89 -0
  27. package/dist/channels/adapters/telegram.d.ts.map +1 -0
  28. package/dist/channels/adapters/telegram.js +400 -0
  29. package/dist/channels/adapters/telegram.js.map +1 -0
  30. package/dist/channels/adapters/webhook.d.ts +53 -0
  31. package/dist/channels/adapters/webhook.d.ts.map +1 -0
  32. package/dist/channels/adapters/webhook.js +98 -0
  33. package/dist/channels/adapters/webhook.js.map +1 -0
  34. package/dist/channels/chat.d.ts +18 -0
  35. package/dist/channels/chat.d.ts.map +1 -0
  36. package/dist/channels/chat.js +35 -0
  37. package/dist/channels/chat.js.map +1 -0
  38. package/dist/channels/config.d.ts +110 -0
  39. package/dist/channels/config.d.ts.map +1 -0
  40. package/dist/channels/config.js +223 -0
  41. package/dist/channels/config.js.map +1 -0
  42. package/dist/channels/daemon/autospawn.d.ts +64 -0
  43. package/dist/channels/daemon/autospawn.d.ts.map +1 -0
  44. package/dist/channels/daemon/autospawn.js +145 -0
  45. package/dist/channels/daemon/autospawn.js.map +1 -0
  46. package/dist/channels/daemon/cli.d.ts +38 -0
  47. package/dist/channels/daemon/cli.d.ts.map +1 -0
  48. package/dist/channels/daemon/cli.js +98 -0
  49. package/dist/channels/daemon/cli.js.map +1 -0
  50. package/dist/channels/daemon/lifecycle.d.ts +68 -0
  51. package/dist/channels/daemon/lifecycle.d.ts.map +1 -0
  52. package/dist/channels/daemon/lifecycle.js +182 -0
  53. package/dist/channels/daemon/lifecycle.js.map +1 -0
  54. package/dist/channels/daemon/protocol.d.ts +118 -0
  55. package/dist/channels/daemon/protocol.d.ts.map +1 -0
  56. package/dist/channels/daemon/protocol.js +61 -0
  57. package/dist/channels/daemon/protocol.js.map +1 -0
  58. package/dist/channels/daemon/rpc_server.d.ts +48 -0
  59. package/dist/channels/daemon/rpc_server.d.ts.map +1 -0
  60. package/dist/channels/daemon/rpc_server.js +229 -0
  61. package/dist/channels/daemon/rpc_server.js.map +1 -0
  62. package/dist/channels/daemon/worker.d.ts +48 -0
  63. package/dist/channels/daemon/worker.d.ts.map +1 -0
  64. package/dist/channels/daemon/worker.js +218 -0
  65. package/dist/channels/daemon/worker.js.map +1 -0
  66. package/dist/channels/env-token.d.ts +71 -0
  67. package/dist/channels/env-token.d.ts.map +1 -0
  68. package/dist/channels/env-token.js +150 -0
  69. package/dist/channels/env-token.js.map +1 -0
  70. package/dist/channels/factory.d.ts +52 -0
  71. package/dist/channels/factory.d.ts.map +1 -0
  72. package/dist/channels/factory.js +88 -0
  73. package/dist/channels/factory.js.map +1 -0
  74. package/dist/channels/gateway.d.ts +109 -0
  75. package/dist/channels/gateway.d.ts.map +1 -0
  76. package/dist/channels/gateway.js +142 -0
  77. package/dist/channels/gateway.js.map +1 -0
  78. package/dist/channels/inbound_router.d.ts +110 -0
  79. package/dist/channels/inbound_router.d.ts.map +1 -0
  80. package/dist/channels/inbound_router.js +182 -0
  81. package/dist/channels/inbound_router.js.map +1 -0
  82. package/dist/channels/index.d.ts +20 -0
  83. package/dist/channels/index.d.ts.map +1 -0
  84. package/dist/channels/index.js +19 -0
  85. package/dist/channels/index.js.map +1 -0
  86. package/dist/channels/migrate.d.ts +133 -0
  87. package/dist/channels/migrate.d.ts.map +1 -0
  88. package/dist/channels/migrate.js +0 -0
  89. package/dist/channels/migrate.js.map +1 -0
  90. package/dist/channels/router.d.ts +54 -0
  91. package/dist/channels/router.d.ts.map +1 -0
  92. package/dist/channels/router.js +80 -0
  93. package/dist/channels/router.js.map +1 -0
  94. package/dist/channels/routing.d.ts +281 -0
  95. package/dist/channels/routing.d.ts.map +1 -0
  96. package/dist/channels/routing.js +206 -0
  97. package/dist/channels/routing.js.map +1 -0
  98. package/dist/channels/transport_inbox.d.ts +75 -0
  99. package/dist/channels/transport_inbox.d.ts.map +1 -0
  100. package/dist/channels/transport_inbox.js +97 -0
  101. package/dist/channels/transport_inbox.js.map +1 -0
  102. package/dist/channels/types.d.ts +149 -0
  103. package/dist/channels/types.d.ts.map +1 -0
  104. package/dist/channels/types.js +10 -0
  105. package/dist/channels/types.js.map +1 -0
  106. package/dist/chat/adapters/discord.d.ts +41 -0
  107. package/dist/chat/adapters/discord.d.ts.map +1 -0
  108. package/dist/chat/adapters/discord.js +176 -0
  109. package/dist/chat/adapters/discord.js.map +1 -0
  110. package/dist/chat/adapters/discord.test.js +25 -0
  111. package/dist/chat/adapters/slack.d.ts +43 -0
  112. package/dist/chat/adapters/slack.d.ts.map +1 -0
  113. package/dist/chat/adapters/slack.js +172 -0
  114. package/dist/chat/adapters/slack.js.map +1 -0
  115. package/dist/chat/adapters/slack.test.js +30 -0
  116. package/dist/chat/adapters/telegram.d.ts +148 -0
  117. package/dist/chat/adapters/telegram.d.ts.map +1 -0
  118. package/dist/chat/adapters/telegram.js +498 -0
  119. package/dist/chat/adapters/telegram.js.map +1 -0
  120. package/dist/chat/adapters/telegram.test.js +94 -0
  121. package/dist/chat/config.d.ts +98 -0
  122. package/dist/chat/config.d.ts.map +1 -0
  123. package/dist/chat/config.js +185 -0
  124. package/dist/chat/config.js.map +1 -0
  125. package/dist/chat/daemon/active-project.d.ts +17 -0
  126. package/dist/chat/daemon/active-project.d.ts.map +1 -0
  127. package/dist/chat/daemon/active-project.js +23 -0
  128. package/dist/chat/daemon/active-project.js.map +1 -0
  129. package/dist/chat/daemon/autospawn.d.ts +40 -0
  130. package/dist/chat/daemon/autospawn.d.ts.map +1 -0
  131. package/dist/chat/daemon/autospawn.js +129 -0
  132. package/dist/chat/daemon/autospawn.js.map +1 -0
  133. package/dist/chat/daemon/autospawn.test.js +112 -0
  134. package/dist/chat/daemon/cli.d.ts +18 -0
  135. package/dist/chat/daemon/cli.d.ts.map +1 -0
  136. package/dist/chat/daemon/cli.js +71 -0
  137. package/dist/chat/daemon/cli.js.map +1 -0
  138. package/dist/chat/daemon/collisions.js +384 -0
  139. package/dist/chat/daemon/health-check.d.ts +69 -0
  140. package/dist/chat/daemon/health-check.d.ts.map +1 -0
  141. package/dist/chat/daemon/health-check.js +112 -0
  142. package/dist/chat/daemon/health-check.js.map +1 -0
  143. package/dist/chat/daemon/inbox-read.d.ts +35 -0
  144. package/dist/chat/daemon/inbox-read.d.ts.map +1 -0
  145. package/dist/chat/daemon/inbox-read.js +75 -0
  146. package/dist/chat/daemon/inbox-read.js.map +1 -0
  147. package/dist/chat/daemon/inbox-read.test.js +97 -0
  148. package/dist/chat/daemon/inbox.d.ts +63 -0
  149. package/dist/chat/daemon/inbox.d.ts.map +1 -0
  150. package/dist/chat/daemon/inbox.js +56 -0
  151. package/dist/chat/daemon/inbox.js.map +1 -0
  152. package/dist/chat/daemon/inbox.test.js +110 -0
  153. package/dist/chat/daemon/lifecycle.d.ts +71 -0
  154. package/dist/chat/daemon/lifecycle.d.ts.map +1 -0
  155. package/dist/chat/daemon/lifecycle.js +221 -0
  156. package/dist/chat/daemon/lifecycle.js.map +1 -0
  157. package/dist/chat/daemon/lifecycle.test.js +163 -0
  158. package/dist/chat/daemon/protocol.d.ts +107 -0
  159. package/dist/chat/daemon/protocol.d.ts.map +1 -0
  160. package/dist/chat/daemon/protocol.js +54 -0
  161. package/dist/chat/daemon/protocol.js.map +1 -0
  162. package/dist/chat/daemon/routing.d.ts +140 -0
  163. package/dist/chat/daemon/routing.d.ts.map +1 -0
  164. package/dist/chat/daemon/routing.js +198 -0
  165. package/dist/chat/daemon/routing.js.map +1 -0
  166. package/dist/chat/daemon/routing.test.js +259 -0
  167. package/dist/chat/daemon/rpc-client.d.ts +45 -0
  168. package/dist/chat/daemon/rpc-client.d.ts.map +1 -0
  169. package/dist/chat/daemon/rpc-client.js +133 -0
  170. package/dist/chat/daemon/rpc-client.js.map +1 -0
  171. package/dist/chat/daemon/rpc-server.d.ts +39 -0
  172. package/dist/chat/daemon/rpc-server.d.ts.map +1 -0
  173. package/dist/chat/daemon/rpc-server.js +385 -0
  174. package/dist/chat/daemon/rpc-server.js.map +1 -0
  175. package/dist/chat/daemon/rpc.test.js +177 -0
  176. package/dist/chat/daemon/subscribers.js +257 -0
  177. package/dist/chat/daemon/worker.d.ts +27 -0
  178. package/dist/chat/daemon/worker.d.ts.map +1 -0
  179. package/dist/chat/daemon/worker.js +313 -0
  180. package/dist/chat/daemon/worker.js.map +1 -0
  181. package/dist/chat/daemon/workspace-topic.js +324 -0
  182. package/dist/chat/env-token.d.ts +60 -0
  183. package/dist/chat/env-token.d.ts.map +1 -0
  184. package/dist/chat/env-token.js +137 -0
  185. package/dist/chat/env-token.js.map +1 -0
  186. package/dist/chat/env-token.test.js +160 -0
  187. package/dist/chat/factory.d.ts +30 -0
  188. package/dist/chat/factory.d.ts.map +1 -0
  189. package/dist/chat/factory.js +50 -0
  190. package/dist/chat/factory.js.map +1 -0
  191. package/dist/chat/factory.test.js +55 -0
  192. package/dist/chat/gateway.d.ts +176 -0
  193. package/dist/chat/gateway.d.ts.map +1 -0
  194. package/dist/chat/gateway.js +146 -0
  195. package/dist/chat/gateway.js.map +1 -0
  196. package/dist/chat/gateway.test.js +192 -0
  197. package/dist/chat_daemon/client.d.ts +61 -0
  198. package/dist/chat_daemon/client.d.ts.map +1 -0
  199. package/dist/chat_daemon/client.js +122 -0
  200. package/dist/chat_daemon/client.js.map +1 -0
  201. package/dist/claude-md.d.ts +39 -0
  202. package/dist/claude-md.d.ts.map +1 -0
  203. package/dist/claude-md.js +113 -0
  204. package/dist/claude-md.js.map +1 -0
  205. package/dist/claude-md.test.js +91 -0
  206. package/dist/cli/pack.d.ts +14 -0
  207. package/dist/cli/pack.d.ts.map +1 -0
  208. package/dist/cli/pack.js +232 -0
  209. package/dist/cli/pack.js.map +1 -0
  210. package/dist/cli.d.ts +18 -0
  211. package/dist/cli.d.ts.map +1 -0
  212. package/dist/cli.js +317 -0
  213. package/dist/cli.js.map +1 -0
  214. package/dist/codex/activate.d.ts +66 -0
  215. package/dist/codex/activate.d.ts.map +1 -0
  216. package/dist/codex/activate.js +329 -0
  217. package/dist/codex/activate.js.map +1 -0
  218. package/dist/codex/activate.test.js +229 -0
  219. package/dist/codex/bundled-default/bundled-default.test.js +161 -0
  220. package/dist/codex/cli-publish.test.js +133 -0
  221. package/dist/codex/cli.d.ts +35 -0
  222. package/dist/codex/cli.d.ts.map +1 -0
  223. package/dist/codex/cli.js +554 -0
  224. package/dist/codex/cli.js.map +1 -0
  225. package/dist/codex/cli.test.js +277 -0
  226. package/dist/codex/import-skill-md.d.ts +53 -0
  227. package/dist/codex/import-skill-md.d.ts.map +1 -0
  228. package/dist/codex/import-skill-md.js +236 -0
  229. package/dist/codex/import-skill-md.js.map +1 -0
  230. package/dist/codex/import-skill-md.test.js +225 -0
  231. package/dist/codex/loader.d.ts +27 -0
  232. package/dist/codex/loader.d.ts.map +1 -0
  233. package/dist/codex/loader.js +86 -0
  234. package/dist/codex/loader.js.map +1 -0
  235. package/dist/codex/loader.test.js +75 -0
  236. package/dist/codex/parse.d.ts +28 -0
  237. package/dist/codex/parse.d.ts.map +1 -0
  238. package/dist/codex/parse.js +309 -0
  239. package/dist/codex/parse.js.map +1 -0
  240. package/dist/codex/parse.test.js +241 -0
  241. package/dist/codex/store.d.ts +87 -0
  242. package/dist/codex/store.d.ts.map +1 -0
  243. package/dist/codex/store.js +205 -0
  244. package/dist/codex/store.js.map +1 -0
  245. package/dist/codex/store.test.js +242 -0
  246. package/dist/codex/types.d.ts +398 -0
  247. package/dist/codex/types.d.ts.map +1 -0
  248. package/dist/codex/types.js +21 -0
  249. package/dist/codex/types.js.map +1 -0
  250. package/dist/config.d.ts +53 -0
  251. package/dist/config.d.ts.map +1 -0
  252. package/dist/config.js +202 -0
  253. package/dist/config.js.map +1 -0
  254. package/dist/config.test.js +117 -0
  255. package/dist/engine/cli.d.ts +14 -0
  256. package/dist/engine/cli.d.ts.map +1 -0
  257. package/dist/engine/cli.js +171 -0
  258. package/dist/engine/cli.js.map +1 -0
  259. package/dist/engine/client.d.ts +219 -0
  260. package/dist/engine/client.d.ts.map +1 -0
  261. package/dist/engine/client.js +312 -0
  262. package/dist/engine/client.js.map +1 -0
  263. package/dist/engine/config.d.ts +62 -0
  264. package/dist/engine/config.d.ts.map +1 -0
  265. package/dist/engine/config.js +223 -0
  266. package/dist/engine/config.js.map +1 -0
  267. package/dist/engine/index.d.ts +17 -0
  268. package/dist/engine/index.d.ts.map +1 -0
  269. package/dist/engine/index.js +16 -0
  270. package/dist/engine/index.js.map +1 -0
  271. package/dist/engine/resolver.d.ts +62 -0
  272. package/dist/engine/resolver.d.ts.map +1 -0
  273. package/dist/engine/resolver.js +103 -0
  274. package/dist/engine/resolver.js.map +1 -0
  275. package/dist/engine/singleton.d.ts +95 -0
  276. package/dist/engine/singleton.d.ts.map +1 -0
  277. package/dist/engine/singleton.js +325 -0
  278. package/dist/engine/singleton.js.map +1 -0
  279. package/dist/engine/types.d.ts +402 -0
  280. package/dist/engine/types.d.ts.map +1 -0
  281. package/dist/engine/types.js +22 -0
  282. package/dist/engine/types.js.map +1 -0
  283. package/dist/engine-binary-resolver.js +110 -0
  284. package/dist/engine-binary-resolver.test.js +61 -0
  285. package/dist/engine-cli.js +60 -0
  286. package/dist/engine-client.js +301 -0
  287. package/dist/engine-client.test.js +118 -0
  288. package/dist/functions/active_task.d.ts +90 -0
  289. package/dist/functions/active_task.d.ts.map +1 -0
  290. package/dist/functions/active_task.js +203 -0
  291. package/dist/functions/active_task.js.map +1 -0
  292. package/dist/functions/cached_audit.d.ts +33 -0
  293. package/dist/functions/cached_audit.d.ts.map +1 -0
  294. package/dist/functions/cached_audit.js +143 -0
  295. package/dist/functions/cached_audit.js.map +1 -0
  296. package/dist/functions/chain_state.d.ts +51 -0
  297. package/dist/functions/chain_state.d.ts.map +1 -0
  298. package/dist/functions/chain_state.js +59 -0
  299. package/dist/functions/chain_state.js.map +1 -0
  300. package/dist/functions/chat_watcher_autostart.d.ts +33 -0
  301. package/dist/functions/chat_watcher_autostart.d.ts.map +1 -0
  302. package/dist/functions/chat_watcher_autostart.js +59 -0
  303. package/dist/functions/chat_watcher_autostart.js.map +1 -0
  304. package/dist/functions/check_chat_connection.d.ts +49 -0
  305. package/dist/functions/check_chat_connection.d.ts.map +1 -0
  306. package/dist/functions/check_chat_connection.js +124 -0
  307. package/dist/functions/check_chat_connection.js.map +1 -0
  308. package/dist/functions/check_flow_health.d.ts +43 -0
  309. package/dist/functions/check_flow_health.d.ts.map +1 -0
  310. package/dist/functions/check_flow_health.js +93 -0
  311. package/dist/functions/check_flow_health.js.map +1 -0
  312. package/dist/functions/destination_check.d.ts +49 -0
  313. package/dist/functions/destination_check.d.ts.map +1 -0
  314. package/dist/functions/destination_check.js +136 -0
  315. package/dist/functions/destination_check.js.map +1 -0
  316. package/dist/functions/effective_content.d.ts +31 -0
  317. package/dist/functions/effective_content.d.ts.map +1 -0
  318. package/dist/functions/effective_content.js +74 -0
  319. package/dist/functions/effective_content.js.map +1 -0
  320. package/dist/functions/ensure_umbrella_topic.d.ts +66 -0
  321. package/dist/functions/ensure_umbrella_topic.d.ts.map +1 -0
  322. package/dist/functions/ensure_umbrella_topic.js +148 -0
  323. package/dist/functions/ensure_umbrella_topic.js.map +1 -0
  324. package/dist/functions/event.d.ts +34 -0
  325. package/dist/functions/event.d.ts.map +1 -0
  326. package/dist/functions/event.js +164 -0
  327. package/dist/functions/event.js.map +1 -0
  328. package/dist/functions/file_write.d.ts +35 -0
  329. package/dist/functions/file_write.d.ts.map +1 -0
  330. package/dist/functions/file_write.js +86 -0
  331. package/dist/functions/file_write.js.map +1 -0
  332. package/dist/functions/fsm.d.ts +3 -0
  333. package/dist/functions/fsm.d.ts.map +1 -0
  334. package/dist/functions/fsm.js +62 -0
  335. package/dist/functions/fsm.js.map +1 -0
  336. package/dist/functions/handoff_session_start.d.ts +26 -0
  337. package/dist/functions/handoff_session_start.d.ts.map +1 -0
  338. package/dist/functions/handoff_session_start.js +81 -0
  339. package/dist/functions/handoff_session_start.js.map +1 -0
  340. package/dist/functions/http_request.d.ts +23 -0
  341. package/dist/functions/http_request.d.ts.map +1 -0
  342. package/dist/functions/http_request.js +59 -0
  343. package/dist/functions/http_request.js.map +1 -0
  344. package/dist/functions/index.d.ts +24 -0
  345. package/dist/functions/index.d.ts.map +1 -0
  346. package/dist/functions/index.js +28 -0
  347. package/dist/functions/index.js.map +1 -0
  348. package/dist/functions/is_automation_mode.d.ts +42 -0
  349. package/dist/functions/is_automation_mode.d.ts.map +1 -0
  350. package/dist/functions/is_automation_mode.js +53 -0
  351. package/dist/functions/is_automation_mode.js.map +1 -0
  352. package/dist/functions/lessons.d.ts +84 -0
  353. package/dist/functions/lessons.d.ts.map +1 -0
  354. package/dist/functions/lessons.js +241 -0
  355. package/dist/functions/lessons.js.map +1 -0
  356. package/dist/functions/llm.d.ts +44 -0
  357. package/dist/functions/llm.d.ts.map +1 -0
  358. package/dist/functions/llm.js +160 -0
  359. package/dist/functions/llm.js.map +1 -0
  360. package/dist/functions/path_exists.d.ts +60 -0
  361. package/dist/functions/path_exists.d.ts.map +1 -0
  362. package/dist/functions/path_exists.js +129 -0
  363. package/dist/functions/path_exists.js.map +1 -0
  364. package/dist/functions/rag.d.ts +39 -0
  365. package/dist/functions/rag.d.ts.map +1 -0
  366. package/dist/functions/rag.js +142 -0
  367. package/dist/functions/rag.js.map +1 -0
  368. package/dist/functions/recall_pre_inject.d.ts +40 -0
  369. package/dist/functions/recall_pre_inject.d.ts.map +1 -0
  370. package/dist/functions/recall_pre_inject.js +180 -0
  371. package/dist/functions/recall_pre_inject.js.map +1 -0
  372. package/dist/functions/registry.d.ts +90 -0
  373. package/dist/functions/registry.d.ts.map +1 -0
  374. package/dist/functions/registry.js +90 -0
  375. package/dist/functions/registry.js.map +1 -0
  376. package/dist/functions/scope_dwell.d.ts +33 -0
  377. package/dist/functions/scope_dwell.d.ts.map +1 -0
  378. package/dist/functions/scope_dwell.js +76 -0
  379. package/dist/functions/scope_dwell.js.map +1 -0
  380. package/dist/functions/session_status_manifest.d.ts +47 -0
  381. package/dist/functions/session_status_manifest.d.ts.map +1 -0
  382. package/dist/functions/session_status_manifest.js +148 -0
  383. package/dist/functions/session_status_manifest.js.map +1 -0
  384. package/dist/functions/session_tool_history.d.ts +46 -0
  385. package/dist/functions/session_tool_history.d.ts.map +1 -0
  386. package/dist/functions/session_tool_history.js +52 -0
  387. package/dist/functions/session_tool_history.js.map +1 -0
  388. package/dist/functions/shell_exec.d.ts +23 -0
  389. package/dist/functions/shell_exec.d.ts.map +1 -0
  390. package/dist/functions/shell_exec.js +58 -0
  391. package/dist/functions/shell_exec.js.map +1 -0
  392. package/dist/functions/state.d.ts +29 -0
  393. package/dist/functions/state.d.ts.map +1 -0
  394. package/dist/functions/state.js +165 -0
  395. package/dist/functions/state.js.map +1 -0
  396. package/dist/functions/subagent.d.ts +107 -0
  397. package/dist/functions/subagent.d.ts.map +1 -0
  398. package/dist/functions/subagent.js +202 -0
  399. package/dist/functions/subagent.js.map +1 -0
  400. package/dist/functions/text_pattern_match.d.ts +54 -0
  401. package/dist/functions/text_pattern_match.d.ts.map +1 -0
  402. package/dist/functions/text_pattern_match.js +89 -0
  403. package/dist/functions/text_pattern_match.js.map +1 -0
  404. package/dist/functions/verdict.d.ts +39 -0
  405. package/dist/functions/verdict.d.ts.map +1 -0
  406. package/dist/functions/verdict.js +105 -0
  407. package/dist/functions/verdict.js.map +1 -0
  408. package/dist/hooks/drift-catalog.d.ts +68 -0
  409. package/dist/hooks/drift-catalog.d.ts.map +1 -0
  410. package/dist/hooks/drift-catalog.js +184 -0
  411. package/dist/hooks/drift-catalog.js.map +1 -0
  412. package/dist/hooks/drift-catalog.test.js +154 -0
  413. package/dist/hooks/drift-patterns.d.ts +110 -0
  414. package/dist/hooks/drift-patterns.d.ts.map +1 -0
  415. package/dist/hooks/drift-patterns.js +289 -0
  416. package/dist/hooks/drift-patterns.js.map +1 -0
  417. package/dist/hooks/drift-patterns.test.js +325 -0
  418. package/dist/hooks/engine-vocab-gate.d.ts +108 -0
  419. package/dist/hooks/engine-vocab-gate.d.ts.map +1 -0
  420. package/dist/hooks/engine-vocab-gate.js +225 -0
  421. package/dist/hooks/engine-vocab-gate.js.map +1 -0
  422. package/dist/hooks/engine-vocab-gate.test.js +170 -0
  423. package/dist/hooks/heartbeat.d.ts +107 -0
  424. package/dist/hooks/heartbeat.d.ts.map +1 -0
  425. package/dist/hooks/heartbeat.js +316 -0
  426. package/dist/hooks/heartbeat.js.map +1 -0
  427. package/dist/hooks/heartbeat.test.js +393 -0
  428. package/dist/hooks/honesty-ledger-session-scope.test.js +100 -0
  429. package/dist/hooks/honesty-ledger.d.ts +123 -0
  430. package/dist/hooks/honesty-ledger.d.ts.map +1 -0
  431. package/dist/hooks/honesty-ledger.js +226 -0
  432. package/dist/hooks/honesty-ledger.js.map +1 -0
  433. package/dist/hooks/honesty-ledger.test.js +466 -0
  434. package/dist/hooks/inline-report-check.d.ts +63 -0
  435. package/dist/hooks/inline-report-check.d.ts.map +1 -0
  436. package/dist/hooks/inline-report-check.js +88 -0
  437. package/dist/hooks/inline-report-check.js.map +1 -0
  438. package/dist/hooks/inline-report-check.test.js +96 -0
  439. package/dist/hooks/pre-tool-use.d.ts +62 -0
  440. package/dist/hooks/pre-tool-use.d.ts.map +1 -0
  441. package/dist/hooks/pre-tool-use.js +342 -0
  442. package/dist/hooks/pre-tool-use.js.map +1 -0
  443. package/dist/hooks/pre-tool-use.test.js +134 -0
  444. package/dist/hooks/session-end.d.ts +15 -0
  445. package/dist/hooks/session-end.d.ts.map +1 -0
  446. package/dist/hooks/session-end.js +60 -0
  447. package/dist/hooks/session-end.js.map +1 -0
  448. package/dist/hooks/session-end.test.js +52 -0
  449. package/dist/hooks/stop.d.ts +35 -0
  450. package/dist/hooks/stop.d.ts.map +1 -0
  451. package/dist/hooks/stop.js +136 -0
  452. package/dist/hooks/stop.js.map +1 -0
  453. package/dist/hooks/transcript-active-task.test.js +342 -0
  454. package/dist/hooks/transcript.d.ts +26 -0
  455. package/dist/hooks/transcript.d.ts.map +1 -0
  456. package/dist/hooks/transcript.js +266 -0
  457. package/dist/hooks/transcript.js.map +1 -0
  458. package/dist/hooks/transcript.test.js +103 -0
  459. package/dist/hooks/user-prompt-submit.d.ts +74 -0
  460. package/dist/hooks/user-prompt-submit.d.ts.map +1 -0
  461. package/dist/hooks/user-prompt-submit.js +256 -0
  462. package/dist/hooks/user-prompt-submit.js.map +1 -0
  463. package/dist/hooks/user-prompt-submit.test.js +118 -0
  464. package/dist/hooks/versioning-gate.d.ts +101 -0
  465. package/dist/hooks/versioning-gate.d.ts.map +1 -0
  466. package/dist/hooks/versioning-gate.js +245 -0
  467. package/dist/hooks/versioning-gate.js.map +1 -0
  468. package/dist/hooks/versioning-gate.test.js +368 -0
  469. package/dist/hooks/workflow-gate.d.ts +64 -0
  470. package/dist/hooks/workflow-gate.d.ts.map +1 -0
  471. package/dist/hooks/workflow-gate.js +152 -0
  472. package/dist/hooks/workflow-gate.js.map +1 -0
  473. package/dist/hooks/workflow-gate.test.js +197 -0
  474. package/dist/hooks-cli.d.ts +25 -0
  475. package/dist/hooks-cli.d.ts.map +1 -0
  476. package/dist/hooks-cli.js +286 -0
  477. package/dist/hooks-cli.js.map +1 -0
  478. package/dist/hooks-cli.test.js +148 -0
  479. package/dist/index.d.ts +7 -0
  480. package/dist/index.d.ts.map +1 -0
  481. package/dist/index.js +7 -0
  482. package/dist/index.js.map +1 -0
  483. package/dist/mcp/anchor.d.ts +20 -0
  484. package/dist/mcp/anchor.d.ts.map +1 -0
  485. package/dist/mcp/anchor.js +25 -0
  486. package/dist/mcp/anchor.js.map +1 -0
  487. package/dist/mcp/chat-bridge-server.d.ts +45 -0
  488. package/dist/mcp/chat-bridge-server.d.ts.map +1 -0
  489. package/dist/mcp/chat-bridge-server.js +475 -0
  490. package/dist/mcp/chat-bridge-server.js.map +1 -0
  491. package/dist/mcp/chat_bridge_subscriber.d.ts +101 -0
  492. package/dist/mcp/chat_bridge_subscriber.d.ts.map +1 -0
  493. package/dist/mcp/chat_bridge_subscriber.js +227 -0
  494. package/dist/mcp/chat_bridge_subscriber.js.map +1 -0
  495. package/dist/mcp/index.d.ts +21 -0
  496. package/dist/mcp/index.d.ts.map +1 -0
  497. package/dist/mcp/index.js +18 -0
  498. package/dist/mcp/index.js.map +1 -0
  499. package/dist/mcp/server.d.ts +39 -0
  500. package/dist/mcp/server.d.ts.map +1 -0
  501. package/dist/mcp/server.js +298 -0
  502. package/dist/mcp/server.js.map +1 -0
  503. package/dist/mcp/tools/forget.d.ts +45 -0
  504. package/dist/mcp/tools/forget.d.ts.map +1 -0
  505. package/dist/mcp/tools/forget.js +45 -0
  506. package/dist/mcp/tools/forget.js.map +1 -0
  507. package/dist/mcp/tools/inspect-skill.d.ts +28 -0
  508. package/dist/mcp/tools/inspect-skill.d.ts.map +1 -0
  509. package/dist/mcp/tools/inspect-skill.js +70 -0
  510. package/dist/mcp/tools/inspect-skill.js.map +1 -0
  511. package/dist/mcp/tools/list-drift-events.d.ts +27 -0
  512. package/dist/mcp/tools/list-drift-events.d.ts.map +1 -0
  513. package/dist/mcp/tools/list-drift-events.js +38 -0
  514. package/dist/mcp/tools/list-drift-events.js.map +1 -0
  515. package/dist/mcp/tools/list-packs.d.ts +18 -0
  516. package/dist/mcp/tools/list-packs.d.ts.map +1 -0
  517. package/dist/mcp/tools/list-packs.js +29 -0
  518. package/dist/mcp/tools/list-packs.js.map +1 -0
  519. package/dist/mcp/tools/list-skills.d.ts +22 -0
  520. package/dist/mcp/tools/list-skills.d.ts.map +1 -0
  521. package/dist/mcp/tools/list-skills.js +42 -0
  522. package/dist/mcp/tools/list-skills.js.map +1 -0
  523. package/dist/mcp/tools/log_phase.d.ts +49 -0
  524. package/dist/mcp/tools/log_phase.d.ts.map +1 -0
  525. package/dist/mcp/tools/log_phase.js +67 -0
  526. package/dist/mcp/tools/log_phase.js.map +1 -0
  527. package/dist/mcp/tools/memorize.d.ts +79 -0
  528. package/dist/mcp/tools/memorize.d.ts.map +1 -0
  529. package/dist/mcp/tools/memorize.js +133 -0
  530. package/dist/mcp/tools/memorize.js.map +1 -0
  531. package/dist/mcp/tools/read-state.d.ts +24 -0
  532. package/dist/mcp/tools/read-state.d.ts.map +1 -0
  533. package/dist/mcp/tools/read-state.js +41 -0
  534. package/dist/mcp/tools/read-state.js.map +1 -0
  535. package/dist/mcp/tools/read-violations.d.ts +19 -0
  536. package/dist/mcp/tools/read-violations.d.ts.map +1 -0
  537. package/dist/mcp/tools/read-violations.js +36 -0
  538. package/dist/mcp/tools/read-violations.js.map +1 -0
  539. package/dist/mcp/tools/recall.d.ts +39 -0
  540. package/dist/mcp/tools/recall.d.ts.map +1 -0
  541. package/dist/mcp/tools/recall.js +54 -0
  542. package/dist/mcp/tools/recall.js.map +1 -0
  543. package/dist/mcp/tools/store-lesson.d.ts +49 -0
  544. package/dist/mcp/tools/store-lesson.d.ts.map +1 -0
  545. package/dist/mcp/tools/store-lesson.js +53 -0
  546. package/dist/mcp/tools/store-lesson.js.map +1 -0
  547. package/dist/mcp/tools/workgraph.d.ts +74 -0
  548. package/dist/mcp/tools/workgraph.d.ts.map +1 -0
  549. package/dist/mcp/tools/workgraph.js +43 -0
  550. package/dist/mcp/tools/workgraph.js.map +1 -0
  551. package/dist/models/cost_router.d.ts +116 -0
  552. package/dist/models/cost_router.d.ts.map +1 -0
  553. package/dist/models/cost_router.js +127 -0
  554. package/dist/models/cost_router.js.map +1 -0
  555. package/dist/models/dispatcher.d.ts +38 -0
  556. package/dist/models/dispatcher.d.ts.map +1 -0
  557. package/dist/models/dispatcher.js +76 -0
  558. package/dist/models/dispatcher.js.map +1 -0
  559. package/dist/models/index.d.ts +12 -0
  560. package/dist/models/index.d.ts.map +1 -0
  561. package/dist/models/index.js +5 -0
  562. package/dist/models/index.js.map +1 -0
  563. package/dist/models/load_config.d.ts +51 -0
  564. package/dist/models/load_config.d.ts.map +1 -0
  565. package/dist/models/load_config.js +99 -0
  566. package/dist/models/load_config.js.map +1 -0
  567. package/dist/models/strategies/_stub.d.ts +23 -0
  568. package/dist/models/strategies/_stub.d.ts.map +1 -0
  569. package/dist/models/strategies/_stub.js +30 -0
  570. package/dist/models/strategies/_stub.js.map +1 -0
  571. package/dist/models/strategies/api_anthropic.d.ts +68 -0
  572. package/dist/models/strategies/api_anthropic.d.ts.map +1 -0
  573. package/dist/models/strategies/api_anthropic.js +99 -0
  574. package/dist/models/strategies/api_anthropic.js.map +1 -0
  575. package/dist/models/strategies/api_openai.d.ts +57 -0
  576. package/dist/models/strategies/api_openai.d.ts.map +1 -0
  577. package/dist/models/strategies/api_openai.js +83 -0
  578. package/dist/models/strategies/api_openai.js.map +1 -0
  579. package/dist/models/strategies/local_ollama.d.ts +41 -0
  580. package/dist/models/strategies/local_ollama.d.ts.map +1 -0
  581. package/dist/models/strategies/local_ollama.js +60 -0
  582. package/dist/models/strategies/local_ollama.js.map +1 -0
  583. package/dist/models/strategies/mcp.d.ts +65 -0
  584. package/dist/models/strategies/mcp.d.ts.map +1 -0
  585. package/dist/models/strategies/mcp.js +86 -0
  586. package/dist/models/strategies/mcp.js.map +1 -0
  587. package/dist/models/strategies/subscription_cli.d.ts +48 -0
  588. package/dist/models/strategies/subscription_cli.d.ts.map +1 -0
  589. package/dist/models/strategies/subscription_cli.js +122 -0
  590. package/dist/models/strategies/subscription_cli.js.map +1 -0
  591. package/dist/models/strategies/subscription_sdk.d.ts +50 -0
  592. package/dist/models/strategies/subscription_sdk.d.ts.map +1 -0
  593. package/dist/models/strategies/subscription_sdk.js +65 -0
  594. package/dist/models/strategies/subscription_sdk.js.map +1 -0
  595. package/dist/models/types.d.ts +42 -0
  596. package/dist/models/types.d.ts.map +1 -0
  597. package/dist/models/types.js +23 -0
  598. package/dist/models/types.js.map +1 -0
  599. package/dist/origin.d.ts +16 -0
  600. package/dist/origin.d.ts.map +1 -0
  601. package/dist/origin.js +92 -0
  602. package/dist/origin.js.map +1 -0
  603. package/dist/packs/apply_extends.d.ts +47 -0
  604. package/dist/packs/apply_extends.d.ts.map +1 -0
  605. package/dist/packs/apply_extends.js +96 -0
  606. package/dist/packs/apply_extends.js.map +1 -0
  607. package/dist/packs/composite_resolver.d.ts +14 -0
  608. package/dist/packs/composite_resolver.d.ts.map +1 -0
  609. package/dist/packs/composite_resolver.js +131 -0
  610. package/dist/packs/composite_resolver.js.map +1 -0
  611. package/dist/packs/discovery.d.ts +98 -0
  612. package/dist/packs/discovery.d.ts.map +1 -0
  613. package/dist/packs/discovery.js +255 -0
  614. package/dist/packs/discovery.js.map +1 -0
  615. package/dist/packs/flows_compiler.d.ts +37 -0
  616. package/dist/packs/flows_compiler.d.ts.map +1 -0
  617. package/dist/packs/flows_compiler.js +55 -0
  618. package/dist/packs/flows_compiler.js.map +1 -0
  619. package/dist/packs/guards_compiler.d.ts +51 -0
  620. package/dist/packs/guards_compiler.d.ts.map +1 -0
  621. package/dist/packs/guards_compiler.js +56 -0
  622. package/dist/packs/guards_compiler.js.map +1 -0
  623. package/dist/packs/index.d.ts +18 -0
  624. package/dist/packs/index.d.ts.map +1 -0
  625. package/dist/packs/index.js +33 -0
  626. package/dist/packs/index.js.map +1 -0
  627. package/dist/packs/living_pack.d.ts +17 -0
  628. package/dist/packs/living_pack.d.ts.map +1 -0
  629. package/dist/packs/living_pack.js +41 -0
  630. package/dist/packs/living_pack.js.map +1 -0
  631. package/dist/packs/load_order.d.ts +32 -0
  632. package/dist/packs/load_order.d.ts.map +1 -0
  633. package/dist/packs/load_order.js +51 -0
  634. package/dist/packs/load_order.js.map +1 -0
  635. package/dist/packs/loader.d.ts +48 -0
  636. package/dist/packs/loader.d.ts.map +1 -0
  637. package/dist/packs/loader.js +357 -0
  638. package/dist/packs/loader.js.map +1 -0
  639. package/dist/packs/personal_revision.d.ts +82 -0
  640. package/dist/packs/personal_revision.d.ts.map +1 -0
  641. package/dist/packs/personal_revision.js +158 -0
  642. package/dist/packs/personal_revision.js.map +1 -0
  643. package/dist/packs/schemas/channels.d.ts +30 -0
  644. package/dist/packs/schemas/channels.d.ts.map +1 -0
  645. package/dist/packs/schemas/channels.js +44 -0
  646. package/dist/packs/schemas/channels.js.map +1 -0
  647. package/dist/packs/schemas/chat_agent.d.ts +78 -0
  648. package/dist/packs/schemas/chat_agent.d.ts.map +1 -0
  649. package/dist/packs/schemas/chat_agent.js +88 -0
  650. package/dist/packs/schemas/chat_agent.js.map +1 -0
  651. package/dist/packs/schemas/drift_response.d.ts +47 -0
  652. package/dist/packs/schemas/drift_response.d.ts.map +1 -0
  653. package/dist/packs/schemas/drift_response.js +65 -0
  654. package/dist/packs/schemas/drift_response.js.map +1 -0
  655. package/dist/packs/schemas/index.d.ts +39 -0
  656. package/dist/packs/schemas/index.d.ts.map +1 -0
  657. package/dist/packs/schemas/index.js +39 -0
  658. package/dist/packs/schemas/index.js.map +1 -0
  659. package/dist/packs/schemas/manifest.d.ts +1907 -0
  660. package/dist/packs/schemas/manifest.d.ts.map +1 -0
  661. package/dist/packs/schemas/manifest.js +532 -0
  662. package/dist/packs/schemas/manifest.js.map +1 -0
  663. package/dist/packs/schemas/models.d.ts +108 -0
  664. package/dist/packs/schemas/models.d.ts.map +1 -0
  665. package/dist/packs/schemas/models.js +67 -0
  666. package/dist/packs/schemas/models.js.map +1 -0
  667. package/dist/packs/schemas/notifications.d.ts +44 -0
  668. package/dist/packs/schemas/notifications.d.ts.map +1 -0
  669. package/dist/packs/schemas/notifications.js +66 -0
  670. package/dist/packs/schemas/notifications.js.map +1 -0
  671. package/dist/packs/schemas/skill.d.ts +740 -0
  672. package/dist/packs/schemas/skill.d.ts.map +1 -0
  673. package/dist/packs/schemas/skill.js +292 -0
  674. package/dist/packs/schemas/skill.js.map +1 -0
  675. package/dist/packs/schemas/team.d.ts +99 -0
  676. package/dist/packs/schemas/team.d.ts.map +1 -0
  677. package/dist/packs/schemas/team.js +63 -0
  678. package/dist/packs/schemas/team.js.map +1 -0
  679. package/dist/packs/seed_lessons_ingest.d.ts +30 -0
  680. package/dist/packs/seed_lessons_ingest.d.ts.map +1 -0
  681. package/dist/packs/seed_lessons_ingest.js +107 -0
  682. package/dist/packs/seed_lessons_ingest.js.map +1 -0
  683. package/dist/packs/validate_functions.d.ts +26 -0
  684. package/dist/packs/validate_functions.d.ts.map +1 -0
  685. package/dist/packs/validate_functions.js +91 -0
  686. package/dist/packs/validate_functions.js.map +1 -0
  687. package/dist/packs/validate_uniqueness.d.ts +16 -0
  688. package/dist/packs/validate_uniqueness.d.ts.map +1 -0
  689. package/dist/packs/validate_uniqueness.js +33 -0
  690. package/dist/packs/validate_uniqueness.js.map +1 -0
  691. package/dist/packs/verify_gates_compiler.d.ts +47 -0
  692. package/dist/packs/verify_gates_compiler.d.ts.map +1 -0
  693. package/dist/packs/verify_gates_compiler.js +59 -0
  694. package/dist/packs/verify_gates_compiler.js.map +1 -0
  695. package/dist/packs/yaml.d.ts +39 -0
  696. package/dist/packs/yaml.d.ts.map +1 -0
  697. package/dist/packs/yaml.js +79 -0
  698. package/dist/packs/yaml.js.map +1 -0
  699. package/dist/project-cli.d.ts +7 -0
  700. package/dist/project-cli.d.ts.map +1 -0
  701. package/dist/project-cli.js +145 -0
  702. package/dist/project-cli.js.map +1 -0
  703. package/dist/project.d.ts +127 -0
  704. package/dist/project.d.ts.map +1 -0
  705. package/dist/project.js +281 -0
  706. package/dist/project.js.map +1 -0
  707. package/dist/project.test.js +287 -0
  708. package/dist/rag/backend_factory.d.ts +59 -0
  709. package/dist/rag/backend_factory.d.ts.map +1 -0
  710. package/dist/rag/backend_factory.js +125 -0
  711. package/dist/rag/backend_factory.js.map +1 -0
  712. package/dist/rag/backends/claude_auto_memory.d.ts +46 -0
  713. package/dist/rag/backends/claude_auto_memory.d.ts.map +1 -0
  714. package/dist/rag/backends/claude_auto_memory.js +152 -0
  715. package/dist/rag/backends/claude_auto_memory.js.map +1 -0
  716. package/dist/rag/backends/libsql_lexical.d.ts +33 -0
  717. package/dist/rag/backends/libsql_lexical.d.ts.map +1 -0
  718. package/dist/rag/backends/libsql_lexical.js +164 -0
  719. package/dist/rag/backends/libsql_lexical.js.map +1 -0
  720. package/dist/rag/backends/libsql_qwen3.d.ts +8 -0
  721. package/dist/rag/backends/libsql_qwen3.d.ts.map +1 -0
  722. package/dist/rag/backends/libsql_qwen3.js +23 -0
  723. package/dist/rag/backends/libsql_qwen3.js.map +1 -0
  724. package/dist/rag/backends/libsql_store.d.ts +28 -0
  725. package/dist/rag/backends/libsql_store.d.ts.map +1 -0
  726. package/dist/rag/backends/libsql_store.js +246 -0
  727. package/dist/rag/backends/libsql_store.js.map +1 -0
  728. package/dist/rag/backends/loop_engine.d.ts +61 -0
  729. package/dist/rag/backends/loop_engine.d.ts.map +1 -0
  730. package/dist/rag/backends/loop_engine.js +160 -0
  731. package/dist/rag/backends/loop_engine.js.map +1 -0
  732. package/dist/rag/backends/perfile_source.d.ts +8 -0
  733. package/dist/rag/backends/perfile_source.d.ts.map +1 -0
  734. package/dist/rag/backends/perfile_source.js +78 -0
  735. package/dist/rag/backends/perfile_source.js.map +1 -0
  736. package/dist/rag/config.d.ts +38 -0
  737. package/dist/rag/config.d.ts.map +1 -0
  738. package/dist/rag/config.js +127 -0
  739. package/dist/rag/config.js.map +1 -0
  740. package/dist/rag/embedders/fastembed.d.ts +3 -0
  741. package/dist/rag/embedders/fastembed.d.ts.map +1 -0
  742. package/dist/rag/embedders/fastembed.js +51 -0
  743. package/dist/rag/embedders/fastembed.js.map +1 -0
  744. package/dist/rag/embedders/ollama_qwen3.d.ts +6 -0
  745. package/dist/rag/embedders/ollama_qwen3.d.ts.map +1 -0
  746. package/dist/rag/embedders/ollama_qwen3.js +30 -0
  747. package/dist/rag/embedders/ollama_qwen3.js.map +1 -0
  748. package/dist/rag/embedders/types.d.ts +20 -0
  749. package/dist/rag/embedders/types.d.ts.map +1 -0
  750. package/dist/rag/embedders/types.js +2 -0
  751. package/dist/rag/embedders/types.js.map +1 -0
  752. package/dist/rag/index.d.ts +18 -0
  753. package/dist/rag/index.d.ts.map +1 -0
  754. package/dist/rag/index.js +16 -0
  755. package/dist/rag/index.js.map +1 -0
  756. package/dist/rag/memory/compress.d.ts +36 -0
  757. package/dist/rag/memory/compress.d.ts.map +1 -0
  758. package/dist/rag/memory/compress.js +158 -0
  759. package/dist/rag/memory/compress.js.map +1 -0
  760. package/dist/rag/memory/consolidate.d.ts +32 -0
  761. package/dist/rag/memory/consolidate.d.ts.map +1 -0
  762. package/dist/rag/memory/consolidate.js +77 -0
  763. package/dist/rag/memory/consolidate.js.map +1 -0
  764. package/dist/rag/memory/cycle.d.ts +24 -0
  765. package/dist/rag/memory/cycle.d.ts.map +1 -0
  766. package/dist/rag/memory/cycle.js +50 -0
  767. package/dist/rag/memory/cycle.js.map +1 -0
  768. package/dist/rag/memory/store.d.ts +48 -0
  769. package/dist/rag/memory/store.d.ts.map +1 -0
  770. package/dist/rag/memory/store.js +126 -0
  771. package/dist/rag/memory/store.js.map +1 -0
  772. package/dist/rag/migrate_memories.d.ts +22 -0
  773. package/dist/rag/migrate_memories.d.ts.map +1 -0
  774. package/dist/rag/migrate_memories.js +53 -0
  775. package/dist/rag/migrate_memories.js.map +1 -0
  776. package/dist/rag/ollama_client.d.ts +28 -0
  777. package/dist/rag/ollama_client.d.ts.map +1 -0
  778. package/dist/rag/ollama_client.js +43 -0
  779. package/dist/rag/ollama_client.js.map +1 -0
  780. package/dist/rag/rrf.d.ts +20 -0
  781. package/dist/rag/rrf.d.ts.map +1 -0
  782. package/dist/rag/rrf.js +37 -0
  783. package/dist/rag/rrf.js.map +1 -0
  784. package/dist/rag/scope.d.ts +10 -0
  785. package/dist/rag/scope.d.ts.map +1 -0
  786. package/dist/rag/scope.js +45 -0
  787. package/dist/rag/scope.js.map +1 -0
  788. package/dist/rag/types.d.ts +76 -0
  789. package/dist/rag/types.d.ts.map +1 -0
  790. package/dist/rag/types.js +43 -0
  791. package/dist/rag/types.js.map +1 -0
  792. package/dist/rag/wedge/gate.d.ts +69 -0
  793. package/dist/rag/wedge/gate.d.ts.map +1 -0
  794. package/dist/rag/wedge/gate.js +104 -0
  795. package/dist/rag/wedge/gate.js.map +1 -0
  796. package/dist/rag/wedge/migrate.d.ts +7 -0
  797. package/dist/rag/wedge/migrate.d.ts.map +1 -0
  798. package/dist/rag/wedge/migrate.js +21 -0
  799. package/dist/rag/wedge/migrate.js.map +1 -0
  800. package/dist/rag/wedge/paths.d.ts +3 -0
  801. package/dist/rag/wedge/paths.d.ts.map +1 -0
  802. package/dist/rag/wedge/paths.js +13 -0
  803. package/dist/rag/wedge/paths.js.map +1 -0
  804. package/dist/rag/wedge/source.d.ts +11 -0
  805. package/dist/rag/wedge/source.d.ts.map +1 -0
  806. package/dist/rag/wedge/source.js +111 -0
  807. package/dist/rag/wedge/source.js.map +1 -0
  808. package/dist/rag/wedge/store.d.ts +64 -0
  809. package/dist/rag/wedge/store.d.ts.map +1 -0
  810. package/dist/rag/wedge/store.js +255 -0
  811. package/dist/rag/wedge/store.js.map +1 -0
  812. package/dist/recall.d.ts +82 -0
  813. package/dist/recall.d.ts.map +1 -0
  814. package/dist/recall.js +81 -0
  815. package/dist/recall.js.map +1 -0
  816. package/dist/runtime/agent_bridge/agent_loop.d.ts +151 -0
  817. package/dist/runtime/agent_bridge/agent_loop.d.ts.map +1 -0
  818. package/dist/runtime/agent_bridge/agent_loop.js +229 -0
  819. package/dist/runtime/agent_bridge/agent_loop.js.map +1 -0
  820. package/dist/runtime/agent_bridge/agent_loop_subscription.d.ts +144 -0
  821. package/dist/runtime/agent_bridge/agent_loop_subscription.d.ts.map +1 -0
  822. package/dist/runtime/agent_bridge/agent_loop_subscription.js +224 -0
  823. package/dist/runtime/agent_bridge/agent_loop_subscription.js.map +1 -0
  824. package/dist/runtime/agent_bridge/autospawn.d.ts +131 -0
  825. package/dist/runtime/agent_bridge/autospawn.d.ts.map +1 -0
  826. package/dist/runtime/agent_bridge/autospawn.js +251 -0
  827. package/dist/runtime/agent_bridge/autospawn.js.map +1 -0
  828. package/dist/runtime/agent_bridge/batch.d.ts +135 -0
  829. package/dist/runtime/agent_bridge/batch.d.ts.map +1 -0
  830. package/dist/runtime/agent_bridge/batch.js +197 -0
  831. package/dist/runtime/agent_bridge/batch.js.map +1 -0
  832. package/dist/runtime/agent_bridge/cli.d.ts +54 -0
  833. package/dist/runtime/agent_bridge/cli.d.ts.map +1 -0
  834. package/dist/runtime/agent_bridge/cli.js +272 -0
  835. package/dist/runtime/agent_bridge/cli.js.map +1 -0
  836. package/dist/runtime/agent_bridge/daemon.d.ts +198 -0
  837. package/dist/runtime/agent_bridge/daemon.d.ts.map +1 -0
  838. package/dist/runtime/agent_bridge/daemon.js +452 -0
  839. package/dist/runtime/agent_bridge/daemon.js.map +1 -0
  840. package/dist/runtime/agent_bridge/dispatcher.d.ts +170 -0
  841. package/dist/runtime/agent_bridge/dispatcher.d.ts.map +1 -0
  842. package/dist/runtime/agent_bridge/dispatcher.js +333 -0
  843. package/dist/runtime/agent_bridge/dispatcher.js.map +1 -0
  844. package/dist/runtime/agent_bridge/event_bus.d.ts +44 -0
  845. package/dist/runtime/agent_bridge/event_bus.d.ts.map +1 -0
  846. package/dist/runtime/agent_bridge/event_bus.js +56 -0
  847. package/dist/runtime/agent_bridge/event_bus.js.map +1 -0
  848. package/dist/runtime/agent_bridge/headless_lease.d.ts +113 -0
  849. package/dist/runtime/agent_bridge/headless_lease.d.ts.map +1 -0
  850. package/dist/runtime/agent_bridge/headless_lease.js +190 -0
  851. package/dist/runtime/agent_bridge/headless_lease.js.map +1 -0
  852. package/dist/runtime/agent_bridge/index.d.ts +38 -0
  853. package/dist/runtime/agent_bridge/index.d.ts.map +1 -0
  854. package/dist/runtime/agent_bridge/index.js +38 -0
  855. package/dist/runtime/agent_bridge/index.js.map +1 -0
  856. package/dist/runtime/agent_bridge/mcp_config.d.ts +68 -0
  857. package/dist/runtime/agent_bridge/mcp_config.d.ts.map +1 -0
  858. package/dist/runtime/agent_bridge/mcp_config.js +102 -0
  859. package/dist/runtime/agent_bridge/mcp_config.js.map +1 -0
  860. package/dist/runtime/agent_bridge/pack_binding.d.ts +84 -0
  861. package/dist/runtime/agent_bridge/pack_binding.d.ts.map +1 -0
  862. package/dist/runtime/agent_bridge/pack_binding.js +202 -0
  863. package/dist/runtime/agent_bridge/pack_binding.js.map +1 -0
  864. package/dist/runtime/agent_bridge/session_manager.d.ts +133 -0
  865. package/dist/runtime/agent_bridge/session_manager.d.ts.map +1 -0
  866. package/dist/runtime/agent_bridge/session_manager.js +226 -0
  867. package/dist/runtime/agent_bridge/session_manager.js.map +1 -0
  868. package/dist/runtime/agent_bridge/session_persistence.d.ts +95 -0
  869. package/dist/runtime/agent_bridge/session_persistence.d.ts.map +1 -0
  870. package/dist/runtime/agent_bridge/session_persistence.js +178 -0
  871. package/dist/runtime/agent_bridge/session_persistence.js.map +1 -0
  872. package/dist/runtime/agent_bridge/tool_dispatcher.d.ts +60 -0
  873. package/dist/runtime/agent_bridge/tool_dispatcher.d.ts.map +1 -0
  874. package/dist/runtime/agent_bridge/tool_dispatcher.js +104 -0
  875. package/dist/runtime/agent_bridge/tool_dispatcher.js.map +1 -0
  876. package/dist/runtime/agent_bridge/tools/chat_send.d.ts +56 -0
  877. package/dist/runtime/agent_bridge/tools/chat_send.d.ts.map +1 -0
  878. package/dist/runtime/agent_bridge/tools/chat_send.js +101 -0
  879. package/dist/runtime/agent_bridge/tools/chat_send.js.map +1 -0
  880. package/dist/runtime/agent_bridge/tools/index.d.ts +38 -0
  881. package/dist/runtime/agent_bridge/tools/index.d.ts.map +1 -0
  882. package/dist/runtime/agent_bridge/tools/index.js +37 -0
  883. package/dist/runtime/agent_bridge/tools/index.js.map +1 -0
  884. package/dist/runtime/agent_bridge/tools/recall.d.ts +38 -0
  885. package/dist/runtime/agent_bridge/tools/recall.d.ts.map +1 -0
  886. package/dist/runtime/agent_bridge/tools/recall.js +90 -0
  887. package/dist/runtime/agent_bridge/tools/recall.js.map +1 -0
  888. package/dist/runtime/agent_bridge/tools/store_lesson.d.ts +41 -0
  889. package/dist/runtime/agent_bridge/tools/store_lesson.d.ts.map +1 -0
  890. package/dist/runtime/agent_bridge/tools/store_lesson.js +103 -0
  891. package/dist/runtime/agent_bridge/tools/store_lesson.js.map +1 -0
  892. package/dist/runtime/agent_bridge/transport_bridge.d.ts +133 -0
  893. package/dist/runtime/agent_bridge/transport_bridge.d.ts.map +1 -0
  894. package/dist/runtime/agent_bridge/transport_bridge.js +371 -0
  895. package/dist/runtime/agent_bridge/transport_bridge.js.map +1 -0
  896. package/dist/runtime/agent_bridge/types.d.ts +320 -0
  897. package/dist/runtime/agent_bridge/types.d.ts.map +1 -0
  898. package/dist/runtime/agent_bridge/types.js +157 -0
  899. package/dist/runtime/agent_bridge/types.js.map +1 -0
  900. package/dist/runtime/atomic_write.d.ts +15 -0
  901. package/dist/runtime/atomic_write.d.ts.map +1 -0
  902. package/dist/runtime/atomic_write.js +23 -0
  903. package/dist/runtime/atomic_write.js.map +1 -0
  904. package/dist/runtime/audit_adapters.d.ts +97 -0
  905. package/dist/runtime/audit_adapters.d.ts.map +1 -0
  906. package/dist/runtime/audit_adapters.js +190 -0
  907. package/dist/runtime/audit_adapters.js.map +1 -0
  908. package/dist/runtime/audit_log.d.ts +85 -0
  909. package/dist/runtime/audit_log.d.ts.map +1 -0
  910. package/dist/runtime/audit_log.js +215 -0
  911. package/dist/runtime/audit_log.js.map +1 -0
  912. package/dist/runtime/auto_correct.d.ts +67 -0
  913. package/dist/runtime/auto_correct.d.ts.map +1 -0
  914. package/dist/runtime/auto_correct.js +122 -0
  915. package/dist/runtime/auto_correct.js.map +1 -0
  916. package/dist/runtime/automation_state.d.ts +41 -0
  917. package/dist/runtime/automation_state.d.ts.map +1 -0
  918. package/dist/runtime/automation_state.js +68 -0
  919. package/dist/runtime/automation_state.js.map +1 -0
  920. package/dist/runtime/bootstrap.d.ts +87 -0
  921. package/dist/runtime/bootstrap.d.ts.map +1 -0
  922. package/dist/runtime/bootstrap.js +381 -0
  923. package/dist/runtime/bootstrap.js.map +1 -0
  924. package/dist/runtime/builtin_denylist.d.ts +25 -0
  925. package/dist/runtime/builtin_denylist.d.ts.map +1 -0
  926. package/dist/runtime/builtin_denylist.js +98 -0
  927. package/dist/runtime/builtin_denylist.js.map +1 -0
  928. package/dist/runtime/capability_gate.d.ts +86 -0
  929. package/dist/runtime/capability_gate.d.ts.map +1 -0
  930. package/dist/runtime/capability_gate.js +295 -0
  931. package/dist/runtime/capability_gate.js.map +1 -0
  932. package/dist/runtime/chain_state.d.ts +124 -0
  933. package/dist/runtime/chain_state.d.ts.map +1 -0
  934. package/dist/runtime/chain_state.js +189 -0
  935. package/dist/runtime/chain_state.js.map +1 -0
  936. package/dist/runtime/chat/claim_lease.d.ts +35 -0
  937. package/dist/runtime/chat/claim_lease.d.ts.map +1 -0
  938. package/dist/runtime/chat/claim_lease.js +65 -0
  939. package/dist/runtime/chat/claim_lease.js.map +1 -0
  940. package/dist/runtime/chat/inbound_watch.d.ts +58 -0
  941. package/dist/runtime/chat/inbound_watch.d.ts.map +1 -0
  942. package/dist/runtime/chat/inbound_watch.js +194 -0
  943. package/dist/runtime/chat/inbound_watch.js.map +1 -0
  944. package/dist/runtime/chat/inbox.d.ts +161 -0
  945. package/dist/runtime/chat/inbox.d.ts.map +1 -0
  946. package/dist/runtime/chat/inbox.js +167 -0
  947. package/dist/runtime/chat/inbox.js.map +1 -0
  948. package/dist/runtime/chat/inbox_drain.d.ts +43 -0
  949. package/dist/runtime/chat/inbox_drain.d.ts.map +1 -0
  950. package/dist/runtime/chat/inbox_drain.js +97 -0
  951. package/dist/runtime/chat/inbox_drain.js.map +1 -0
  952. package/dist/runtime/chat/inbox_inject.d.ts +64 -0
  953. package/dist/runtime/chat/inbox_inject.d.ts.map +1 -0
  954. package/dist/runtime/chat/inbox_inject.js +120 -0
  955. package/dist/runtime/chat/inbox_inject.js.map +1 -0
  956. package/dist/runtime/chat/inbox_writer.d.ts +35 -0
  957. package/dist/runtime/chat/inbox_writer.d.ts.map +1 -0
  958. package/dist/runtime/chat/inbox_writer.js +69 -0
  959. package/dist/runtime/chat/inbox_writer.js.map +1 -0
  960. package/dist/runtime/chat/live_session_lease.d.ts +66 -0
  961. package/dist/runtime/chat/live_session_lease.d.ts.map +1 -0
  962. package/dist/runtime/chat/live_session_lease.js +110 -0
  963. package/dist/runtime/chat/live_session_lease.js.map +1 -0
  964. package/dist/runtime/chat/session_routing.d.ts +64 -0
  965. package/dist/runtime/chat/session_routing.d.ts.map +1 -0
  966. package/dist/runtime/chat/session_routing.js +95 -0
  967. package/dist/runtime/chat/session_routing.js.map +1 -0
  968. package/dist/runtime/chat/watch.d.ts +72 -0
  969. package/dist/runtime/chat/watch.d.ts.map +1 -0
  970. package/dist/runtime/chat/watch.js +143 -0
  971. package/dist/runtime/chat/watch.js.map +1 -0
  972. package/dist/runtime/chat/watch_cli.d.ts +49 -0
  973. package/dist/runtime/chat/watch_cli.d.ts.map +1 -0
  974. package/dist/runtime/chat/watch_cli.js +124 -0
  975. package/dist/runtime/chat/watch_cli.js.map +1 -0
  976. package/dist/runtime/compression_orchestrator.d.ts +75 -0
  977. package/dist/runtime/compression_orchestrator.d.ts.map +1 -0
  978. package/dist/runtime/compression_orchestrator.js +127 -0
  979. package/dist/runtime/compression_orchestrator.js.map +1 -0
  980. package/dist/runtime/context_inherit.d.ts +65 -0
  981. package/dist/runtime/context_inherit.d.ts.map +1 -0
  982. package/dist/runtime/context_inherit.js +76 -0
  983. package/dist/runtime/context_inherit.js.map +1 -0
  984. package/dist/runtime/daemon.d.ts +184 -0
  985. package/dist/runtime/daemon.d.ts.map +1 -0
  986. package/dist/runtime/daemon.js +460 -0
  987. package/dist/runtime/daemon.js.map +1 -0
  988. package/dist/runtime/deliver_only.d.ts +68 -0
  989. package/dist/runtime/deliver_only.d.ts.map +1 -0
  990. package/dist/runtime/deliver_only.js +98 -0
  991. package/dist/runtime/deliver_only.js.map +1 -0
  992. package/dist/runtime/destination_scheduler.d.ts +52 -0
  993. package/dist/runtime/destination_scheduler.d.ts.map +1 -0
  994. package/dist/runtime/destination_scheduler.js +156 -0
  995. package/dist/runtime/destination_scheduler.js.map +1 -0
  996. package/dist/runtime/detection.d.ts +32 -0
  997. package/dist/runtime/detection.d.ts.map +1 -0
  998. package/dist/runtime/detection.js +113 -0
  999. package/dist/runtime/detection.js.map +1 -0
  1000. package/dist/runtime/drift_catalog.d.ts +69 -0
  1001. package/dist/runtime/drift_catalog.d.ts.map +1 -0
  1002. package/dist/runtime/drift_catalog.js +152 -0
  1003. package/dist/runtime/drift_catalog.js.map +1 -0
  1004. package/dist/runtime/drift_response.d.ts +82 -0
  1005. package/dist/runtime/drift_response.d.ts.map +1 -0
  1006. package/dist/runtime/drift_response.js +108 -0
  1007. package/dist/runtime/drift_response.js.map +1 -0
  1008. package/dist/runtime/durable/canonical_json.d.ts +47 -0
  1009. package/dist/runtime/durable/canonical_json.d.ts.map +1 -0
  1010. package/dist/runtime/durable/canonical_json.js +127 -0
  1011. package/dist/runtime/durable/canonical_json.js.map +1 -0
  1012. package/dist/runtime/durable/checkpoint_store.d.ts +228 -0
  1013. package/dist/runtime/durable/checkpoint_store.d.ts.map +1 -0
  1014. package/dist/runtime/durable/checkpoint_store.js +415 -0
  1015. package/dist/runtime/durable/checkpoint_store.js.map +1 -0
  1016. package/dist/runtime/durable/index.d.ts +36 -0
  1017. package/dist/runtime/durable/index.d.ts.map +1 -0
  1018. package/dist/runtime/durable/index.js +36 -0
  1019. package/dist/runtime/durable/index.js.map +1 -0
  1020. package/dist/runtime/durable/memo_cache.d.ts +195 -0
  1021. package/dist/runtime/durable/memo_cache.d.ts.map +1 -0
  1022. package/dist/runtime/durable/memo_cache.js +364 -0
  1023. package/dist/runtime/durable/memo_cache.js.map +1 -0
  1024. package/dist/runtime/durable/resumer.d.ts +131 -0
  1025. package/dist/runtime/durable/resumer.d.ts.map +1 -0
  1026. package/dist/runtime/durable/resumer.js +190 -0
  1027. package/dist/runtime/durable/resumer.js.map +1 -0
  1028. package/dist/runtime/durable/run_id.d.ts +50 -0
  1029. package/dist/runtime/durable/run_id.d.ts.map +1 -0
  1030. package/dist/runtime/durable/run_id.js +52 -0
  1031. package/dist/runtime/durable/run_id.js.map +1 -0
  1032. package/dist/runtime/escalate.d.ts +89 -0
  1033. package/dist/runtime/escalate.d.ts.map +1 -0
  1034. package/dist/runtime/escalate.js +118 -0
  1035. package/dist/runtime/escalate.js.map +1 -0
  1036. package/dist/runtime/evaluator/expression/ast.d.ts +57 -0
  1037. package/dist/runtime/evaluator/expression/ast.d.ts.map +1 -0
  1038. package/dist/runtime/evaluator/expression/ast.js +156 -0
  1039. package/dist/runtime/evaluator/expression/ast.js.map +1 -0
  1040. package/dist/runtime/evaluator/expression/cache.d.ts +40 -0
  1041. package/dist/runtime/evaluator/expression/cache.d.ts.map +1 -0
  1042. package/dist/runtime/evaluator/expression/cache.js +46 -0
  1043. package/dist/runtime/evaluator/expression/cache.js.map +1 -0
  1044. package/dist/runtime/evaluator/expression/functions.d.ts +61 -0
  1045. package/dist/runtime/evaluator/expression/functions.d.ts.map +1 -0
  1046. package/dist/runtime/evaluator/expression/functions.js +143 -0
  1047. package/dist/runtime/evaluator/expression/functions.js.map +1 -0
  1048. package/dist/runtime/evaluator/expression/index.d.ts +86 -0
  1049. package/dist/runtime/evaluator/expression/index.d.ts.map +1 -0
  1050. package/dist/runtime/evaluator/expression/index.js +144 -0
  1051. package/dist/runtime/evaluator/expression/index.js.map +1 -0
  1052. package/dist/runtime/evaluator/expression/interpreter.d.ts +83 -0
  1053. package/dist/runtime/evaluator/expression/interpreter.d.ts.map +1 -0
  1054. package/dist/runtime/evaluator/expression/interpreter.js +191 -0
  1055. package/dist/runtime/evaluator/expression/interpreter.js.map +1 -0
  1056. package/dist/runtime/evaluator/expression/lexer.d.ts +63 -0
  1057. package/dist/runtime/evaluator/expression/lexer.d.ts.map +1 -0
  1058. package/dist/runtime/evaluator/expression/lexer.js +98 -0
  1059. package/dist/runtime/evaluator/expression/lexer.js.map +1 -0
  1060. package/dist/runtime/evaluator/expression/parser.d.ts +76 -0
  1061. package/dist/runtime/evaluator/expression/parser.d.ts.map +1 -0
  1062. package/dist/runtime/evaluator/expression/parser.js +169 -0
  1063. package/dist/runtime/evaluator/expression/parser.js.map +1 -0
  1064. package/dist/runtime/evaluator.d.ts +112 -0
  1065. package/dist/runtime/evaluator.d.ts.map +1 -0
  1066. package/dist/runtime/evaluator.js +520 -0
  1067. package/dist/runtime/evaluator.js.map +1 -0
  1068. package/dist/runtime/event.d.ts +535 -0
  1069. package/dist/runtime/event.d.ts.map +1 -0
  1070. package/dist/runtime/event.js +303 -0
  1071. package/dist/runtime/event.js.map +1 -0
  1072. package/dist/runtime/failure_handling.d.ts +68 -0
  1073. package/dist/runtime/failure_handling.d.ts.map +1 -0
  1074. package/dist/runtime/failure_handling.js +103 -0
  1075. package/dist/runtime/failure_handling.js.map +1 -0
  1076. package/dist/runtime/fsm.d.ts +120 -0
  1077. package/dist/runtime/fsm.d.ts.map +1 -0
  1078. package/dist/runtime/fsm.js +92 -0
  1079. package/dist/runtime/fsm.js.map +1 -0
  1080. package/dist/runtime/fsm_state.d.ts +42 -0
  1081. package/dist/runtime/fsm_state.d.ts.map +1 -0
  1082. package/dist/runtime/fsm_state.js +114 -0
  1083. package/dist/runtime/fsm_state.js.map +1 -0
  1084. package/dist/runtime/handoff/collect.d.ts +64 -0
  1085. package/dist/runtime/handoff/collect.d.ts.map +1 -0
  1086. package/dist/runtime/handoff/collect.js +211 -0
  1087. package/dist/runtime/handoff/collect.js.map +1 -0
  1088. package/dist/runtime/handoff/index.d.ts +21 -0
  1089. package/dist/runtime/handoff/index.d.ts.map +1 -0
  1090. package/dist/runtime/handoff/index.js +33 -0
  1091. package/dist/runtime/handoff/index.js.map +1 -0
  1092. package/dist/runtime/handoff/narrate.d.ts +19 -0
  1093. package/dist/runtime/handoff/narrate.d.ts.map +1 -0
  1094. package/dist/runtime/handoff/narrate.js +44 -0
  1095. package/dist/runtime/handoff/narrate.js.map +1 -0
  1096. package/dist/runtime/handoff/render.d.ts +25 -0
  1097. package/dist/runtime/handoff/render.d.ts.map +1 -0
  1098. package/dist/runtime/handoff/render.js +162 -0
  1099. package/dist/runtime/handoff/render.js.map +1 -0
  1100. package/dist/runtime/handoff/substance.d.ts +19 -0
  1101. package/dist/runtime/handoff/substance.d.ts.map +1 -0
  1102. package/dist/runtime/handoff/substance.js +48 -0
  1103. package/dist/runtime/handoff/substance.js.map +1 -0
  1104. package/dist/runtime/handoff/write.d.ts +39 -0
  1105. package/dist/runtime/handoff/write.d.ts.map +1 -0
  1106. package/dist/runtime/handoff/write.js +131 -0
  1107. package/dist/runtime/handoff/write.js.map +1 -0
  1108. package/dist/runtime/hooks/active_task_mirror.d.ts +70 -0
  1109. package/dist/runtime/hooks/active_task_mirror.d.ts.map +1 -0
  1110. package/dist/runtime/hooks/active_task_mirror.js +226 -0
  1111. package/dist/runtime/hooks/active_task_mirror.js.map +1 -0
  1112. package/dist/runtime/hooks/apply_patch.d.ts +27 -0
  1113. package/dist/runtime/hooks/apply_patch.d.ts.map +1 -0
  1114. package/dist/runtime/hooks/apply_patch.js +54 -0
  1115. package/dist/runtime/hooks/apply_patch.js.map +1 -0
  1116. package/dist/runtime/hooks/dispatch.d.ts +152 -0
  1117. package/dist/runtime/hooks/dispatch.d.ts.map +1 -0
  1118. package/dist/runtime/hooks/dispatch.js +468 -0
  1119. package/dist/runtime/hooks/dispatch.js.map +1 -0
  1120. package/dist/runtime/hooks/hook_output.d.ts +40 -0
  1121. package/dist/runtime/hooks/hook_output.d.ts.map +1 -0
  1122. package/dist/runtime/hooks/hook_output.js +50 -0
  1123. package/dist/runtime/hooks/hook_output.js.map +1 -0
  1124. package/dist/runtime/hooks/memory_reconcile.d.ts +39 -0
  1125. package/dist/runtime/hooks/memory_reconcile.d.ts.map +1 -0
  1126. package/dist/runtime/hooks/memory_reconcile.js +75 -0
  1127. package/dist/runtime/hooks/memory_reconcile.js.map +1 -0
  1128. package/dist/runtime/hooks/new_project_detect.d.ts +35 -0
  1129. package/dist/runtime/hooks/new_project_detect.d.ts.map +1 -0
  1130. package/dist/runtime/hooks/new_project_detect.js +93 -0
  1131. package/dist/runtime/hooks/new_project_detect.js.map +1 -0
  1132. package/dist/runtime/hooks/permission_decision.d.ts +34 -0
  1133. package/dist/runtime/hooks/permission_decision.d.ts.map +1 -0
  1134. package/dist/runtime/hooks/permission_decision.js +39 -0
  1135. package/dist/runtime/hooks/permission_decision.js.map +1 -0
  1136. package/dist/runtime/hooks/post-tool-use.d.ts +3 -0
  1137. package/dist/runtime/hooks/post-tool-use.d.ts.map +1 -0
  1138. package/dist/runtime/hooks/post-tool-use.js +97 -0
  1139. package/dist/runtime/hooks/post-tool-use.js.map +1 -0
  1140. package/dist/runtime/hooks/pre-tool-use.d.ts +3 -0
  1141. package/dist/runtime/hooks/pre-tool-use.d.ts.map +1 -0
  1142. package/dist/runtime/hooks/pre-tool-use.js +169 -0
  1143. package/dist/runtime/hooks/pre-tool-use.js.map +1 -0
  1144. package/dist/runtime/hooks/profession_resolver.d.ts +65 -0
  1145. package/dist/runtime/hooks/profession_resolver.d.ts.map +1 -0
  1146. package/dist/runtime/hooks/profession_resolver.js +86 -0
  1147. package/dist/runtime/hooks/profession_resolver.js.map +1 -0
  1148. package/dist/runtime/hooks/scope_intent.d.ts +32 -0
  1149. package/dist/runtime/hooks/scope_intent.d.ts.map +1 -0
  1150. package/dist/runtime/hooks/scope_intent.js +32 -0
  1151. package/dist/runtime/hooks/scope_intent.js.map +1 -0
  1152. package/dist/runtime/hooks/session-end.d.ts +3 -0
  1153. package/dist/runtime/hooks/session-end.d.ts.map +1 -0
  1154. package/dist/runtime/hooks/session-end.js +159 -0
  1155. package/dist/runtime/hooks/session-end.js.map +1 -0
  1156. package/dist/runtime/hooks/session-start.d.ts +3 -0
  1157. package/dist/runtime/hooks/session-start.d.ts.map +1 -0
  1158. package/dist/runtime/hooks/session-start.js +116 -0
  1159. package/dist/runtime/hooks/session-start.js.map +1 -0
  1160. package/dist/runtime/hooks/session_id.d.ts +86 -0
  1161. package/dist/runtime/hooks/session_id.d.ts.map +1 -0
  1162. package/dist/runtime/hooks/session_id.js +186 -0
  1163. package/dist/runtime/hooks/session_id.js.map +1 -0
  1164. package/dist/runtime/hooks/session_liveness.d.ts +49 -0
  1165. package/dist/runtime/hooks/session_liveness.d.ts.map +1 -0
  1166. package/dist/runtime/hooks/session_liveness.js +65 -0
  1167. package/dist/runtime/hooks/session_liveness.js.map +1 -0
  1168. package/dist/runtime/hooks/stop.d.ts +3 -0
  1169. package/dist/runtime/hooks/stop.d.ts.map +1 -0
  1170. package/dist/runtime/hooks/stop.js +128 -0
  1171. package/dist/runtime/hooks/stop.js.map +1 -0
  1172. package/dist/runtime/hooks/stop_drive.d.ts +37 -0
  1173. package/dist/runtime/hooks/stop_drive.d.ts.map +1 -0
  1174. package/dist/runtime/hooks/stop_drive.js +86 -0
  1175. package/dist/runtime/hooks/stop_drive.js.map +1 -0
  1176. package/dist/runtime/hooks/stop_stream.d.ts +32 -0
  1177. package/dist/runtime/hooks/stop_stream.d.ts.map +1 -0
  1178. package/dist/runtime/hooks/stop_stream.js +74 -0
  1179. package/dist/runtime/hooks/stop_stream.js.map +1 -0
  1180. package/dist/runtime/hooks/transcript.d.ts +47 -0
  1181. package/dist/runtime/hooks/transcript.d.ts.map +1 -0
  1182. package/dist/runtime/hooks/transcript.js +115 -0
  1183. package/dist/runtime/hooks/transcript.js.map +1 -0
  1184. package/dist/runtime/hooks/transcript_tasks.d.ts +66 -0
  1185. package/dist/runtime/hooks/transcript_tasks.d.ts.map +1 -0
  1186. package/dist/runtime/hooks/transcript_tasks.js +193 -0
  1187. package/dist/runtime/hooks/transcript_tasks.js.map +1 -0
  1188. package/dist/runtime/hooks/user-prompt-submit.d.ts +4 -0
  1189. package/dist/runtime/hooks/user-prompt-submit.d.ts.map +1 -0
  1190. package/dist/runtime/hooks/user-prompt-submit.js +184 -0
  1191. package/dist/runtime/hooks/user-prompt-submit.js.map +1 -0
  1192. package/dist/runtime/index.d.ts +30 -0
  1193. package/dist/runtime/index.d.ts.map +1 -0
  1194. package/dist/runtime/index.js +43 -0
  1195. package/dist/runtime/index.js.map +1 -0
  1196. package/dist/runtime/load_budget.d.ts +48 -0
  1197. package/dist/runtime/load_budget.d.ts.map +1 -0
  1198. package/dist/runtime/load_budget.js +43 -0
  1199. package/dist/runtime/load_budget.js.map +1 -0
  1200. package/dist/runtime/load_matchers.d.ts +139 -0
  1201. package/dist/runtime/load_matchers.d.ts.map +1 -0
  1202. package/dist/runtime/load_matchers.js +190 -0
  1203. package/dist/runtime/load_matchers.js.map +1 -0
  1204. package/dist/runtime/observability/index.d.ts +21 -0
  1205. package/dist/runtime/observability/index.d.ts.map +1 -0
  1206. package/dist/runtime/observability/index.js +20 -0
  1207. package/dist/runtime/observability/index.js.map +1 -0
  1208. package/dist/runtime/observability/otel_export.d.ts +58 -0
  1209. package/dist/runtime/observability/otel_export.d.ts.map +1 -0
  1210. package/dist/runtime/observability/otel_export.js +74 -0
  1211. package/dist/runtime/observability/otel_export.js.map +1 -0
  1212. package/dist/runtime/observability/trace_reader.d.ts +104 -0
  1213. package/dist/runtime/observability/trace_reader.d.ts.map +1 -0
  1214. package/dist/runtime/observability/trace_reader.js +357 -0
  1215. package/dist/runtime/observability/trace_reader.js.map +1 -0
  1216. package/dist/runtime/observability/trace_types.d.ts +64 -0
  1217. package/dist/runtime/observability/trace_types.d.ts.map +1 -0
  1218. package/dist/runtime/observability/trace_types.js +15 -0
  1219. package/dist/runtime/observability/trace_types.js.map +1 -0
  1220. package/dist/runtime/paths.d.ts +136 -0
  1221. package/dist/runtime/paths.d.ts.map +1 -0
  1222. package/dist/runtime/paths.js +303 -0
  1223. package/dist/runtime/paths.js.map +1 -0
  1224. package/dist/runtime/phase_ledger.d.ts +56 -0
  1225. package/dist/runtime/phase_ledger.d.ts.map +1 -0
  1226. package/dist/runtime/phase_ledger.js +88 -0
  1227. package/dist/runtime/phase_ledger.js.map +1 -0
  1228. package/dist/runtime/pinned_skills.d.ts +63 -0
  1229. package/dist/runtime/pinned_skills.d.ts.map +1 -0
  1230. package/dist/runtime/pinned_skills.js +75 -0
  1231. package/dist/runtime/pinned_skills.js.map +1 -0
  1232. package/dist/runtime/rate_limit.d.ts +109 -0
  1233. package/dist/runtime/rate_limit.d.ts.map +1 -0
  1234. package/dist/runtime/rate_limit.js +222 -0
  1235. package/dist/runtime/rate_limit.js.map +1 -0
  1236. package/dist/runtime/result.d.ts +26 -0
  1237. package/dist/runtime/result.d.ts.map +1 -0
  1238. package/dist/runtime/result.js +17 -0
  1239. package/dist/runtime/result.js.map +1 -0
  1240. package/dist/runtime/satisfaction_probe.d.ts +80 -0
  1241. package/dist/runtime/satisfaction_probe.d.ts.map +1 -0
  1242. package/dist/runtime/satisfaction_probe.js +165 -0
  1243. package/dist/runtime/satisfaction_probe.js.map +1 -0
  1244. package/dist/runtime/schedule_registry.d.ts +64 -0
  1245. package/dist/runtime/schedule_registry.d.ts.map +1 -0
  1246. package/dist/runtime/schedule_registry.js +96 -0
  1247. package/dist/runtime/schedule_registry.js.map +1 -0
  1248. package/dist/runtime/session_state.d.ts +127 -0
  1249. package/dist/runtime/session_state.d.ts.map +1 -0
  1250. package/dist/runtime/session_state.js +335 -0
  1251. package/dist/runtime/session_state.js.map +1 -0
  1252. package/dist/runtime/skill_prefilter.d.ts +60 -0
  1253. package/dist/runtime/skill_prefilter.d.ts.map +1 -0
  1254. package/dist/runtime/skill_prefilter.js +117 -0
  1255. package/dist/runtime/skill_prefilter.js.map +1 -0
  1256. package/dist/runtime/skill_requires.d.ts +77 -0
  1257. package/dist/runtime/skill_requires.d.ts.map +1 -0
  1258. package/dist/runtime/skill_requires.js +124 -0
  1259. package/dist/runtime/skill_requires.js.map +1 -0
  1260. package/dist/runtime/skill_router.d.ts +57 -0
  1261. package/dist/runtime/skill_router.d.ts.map +1 -0
  1262. package/dist/runtime/skill_router.js +97 -0
  1263. package/dist/runtime/skill_router.js.map +1 -0
  1264. package/dist/runtime/tick.d.ts +44 -0
  1265. package/dist/runtime/tick.d.ts.map +1 -0
  1266. package/dist/runtime/tick.js +99 -0
  1267. package/dist/runtime/tick.js.map +1 -0
  1268. package/dist/runtime/triggers/file_watcher.d.ts +100 -0
  1269. package/dist/runtime/triggers/file_watcher.d.ts.map +1 -0
  1270. package/dist/runtime/triggers/file_watcher.js +202 -0
  1271. package/dist/runtime/triggers/file_watcher.js.map +1 -0
  1272. package/dist/runtime/triggers/index.d.ts +17 -0
  1273. package/dist/runtime/triggers/index.d.ts.map +1 -0
  1274. package/dist/runtime/triggers/index.js +17 -0
  1275. package/dist/runtime/triggers/index.js.map +1 -0
  1276. package/dist/runtime/types.d.ts +1988 -0
  1277. package/dist/runtime/types.d.ts.map +1 -0
  1278. package/dist/runtime/types.js +337 -0
  1279. package/dist/runtime/types.js.map +1 -0
  1280. package/dist/runtime/unload_conditions.d.ts +97 -0
  1281. package/dist/runtime/unload_conditions.d.ts.map +1 -0
  1282. package/dist/runtime/unload_conditions.js +96 -0
  1283. package/dist/runtime/unload_conditions.js.map +1 -0
  1284. package/dist/runtime/versioning.d.ts +38 -0
  1285. package/dist/runtime/versioning.d.ts.map +1 -0
  1286. package/dist/runtime/versioning.js +189 -0
  1287. package/dist/runtime/versioning.js.map +1 -0
  1288. package/dist/runtime/webhook_server.d.ts +146 -0
  1289. package/dist/runtime/webhook_server.d.ts.map +1 -0
  1290. package/dist/runtime/webhook_server.js +301 -0
  1291. package/dist/runtime/webhook_server.js.map +1 -0
  1292. package/dist/runtime/webhook_subscriptions.d.ts +178 -0
  1293. package/dist/runtime/webhook_subscriptions.d.ts.map +1 -0
  1294. package/dist/runtime/webhook_subscriptions.js +192 -0
  1295. package/dist/runtime/webhook_subscriptions.js.map +1 -0
  1296. package/dist/runtime/wedge/automation_buffer.d.ts +56 -0
  1297. package/dist/runtime/wedge/automation_buffer.d.ts.map +1 -0
  1298. package/dist/runtime/wedge/automation_buffer.js +202 -0
  1299. package/dist/runtime/wedge/automation_buffer.js.map +1 -0
  1300. package/dist/runtime/wedge/capture.d.ts +40 -0
  1301. package/dist/runtime/wedge/capture.d.ts.map +1 -0
  1302. package/dist/runtime/wedge/capture.js +127 -0
  1303. package/dist/runtime/wedge/capture.js.map +1 -0
  1304. package/dist/runtime/wedge/compress_candidates.d.ts +63 -0
  1305. package/dist/runtime/wedge/compress_candidates.d.ts.map +1 -0
  1306. package/dist/runtime/wedge/compress_candidates.js +109 -0
  1307. package/dist/runtime/wedge/compress_candidates.js.map +1 -0
  1308. package/dist/runtime/wedge/compression_deps.d.ts +12 -0
  1309. package/dist/runtime/wedge/compression_deps.d.ts.map +1 -0
  1310. package/dist/runtime/wedge/compression_deps.js +63 -0
  1311. package/dist/runtime/wedge/compression_deps.js.map +1 -0
  1312. package/dist/runtime/wedge/cost_outcome.d.ts +112 -0
  1313. package/dist/runtime/wedge/cost_outcome.d.ts.map +1 -0
  1314. package/dist/runtime/wedge/cost_outcome.js +85 -0
  1315. package/dist/runtime/wedge/cost_outcome.js.map +1 -0
  1316. package/dist/runtime/wedge/eviction.d.ts +41 -0
  1317. package/dist/runtime/wedge/eviction.d.ts.map +1 -0
  1318. package/dist/runtime/wedge/eviction.js +62 -0
  1319. package/dist/runtime/wedge/eviction.js.map +1 -0
  1320. package/dist/runtime/wedge/index.d.ts +20 -0
  1321. package/dist/runtime/wedge/index.d.ts.map +1 -0
  1322. package/dist/runtime/wedge/index.js +26 -0
  1323. package/dist/runtime/wedge/index.js.map +1 -0
  1324. package/dist/runtime/wedge/mutate_skill.d.ts +30 -0
  1325. package/dist/runtime/wedge/mutate_skill.d.ts.map +1 -0
  1326. package/dist/runtime/wedge/mutate_skill.js +62 -0
  1327. package/dist/runtime/wedge/mutate_skill.js.map +1 -0
  1328. package/dist/runtime/wedge/promote.d.ts +57 -0
  1329. package/dist/runtime/wedge/promote.d.ts.map +1 -0
  1330. package/dist/runtime/wedge/promote.js +66 -0
  1331. package/dist/runtime/wedge/promote.js.map +1 -0
  1332. package/dist/runtime/wedge/schedule_outcome.d.ts +107 -0
  1333. package/dist/runtime/wedge/schedule_outcome.d.ts.map +1 -0
  1334. package/dist/runtime/wedge/schedule_outcome.js +287 -0
  1335. package/dist/runtime/wedge/schedule_outcome.js.map +1 -0
  1336. package/dist/runtime/wedge/types.d.ts +43 -0
  1337. package/dist/runtime/wedge/types.d.ts.map +1 -0
  1338. package/dist/runtime/wedge/types.js +34 -0
  1339. package/dist/runtime/wedge/types.js.map +1 -0
  1340. package/dist/runtime/workflow_fsm.d.ts +21 -0
  1341. package/dist/runtime/workflow_fsm.d.ts.map +1 -0
  1342. package/dist/runtime/workflow_fsm.js +25 -0
  1343. package/dist/runtime/workflow_fsm.js.map +1 -0
  1344. package/dist/runtime/workflow_map.d.ts +26 -0
  1345. package/dist/runtime/workflow_map.d.ts.map +1 -0
  1346. package/dist/runtime/workflow_map.js +38 -0
  1347. package/dist/runtime/workflow_map.js.map +1 -0
  1348. package/dist/runtime/workflow_phases.d.ts +50 -0
  1349. package/dist/runtime/workflow_phases.d.ts.map +1 -0
  1350. package/dist/runtime/workflow_phases.js +92 -0
  1351. package/dist/runtime/workflow_phases.js.map +1 -0
  1352. package/dist/scope.d.ts +48 -0
  1353. package/dist/scope.d.ts.map +1 -0
  1354. package/dist/scope.js +111 -0
  1355. package/dist/scope.js.map +1 -0
  1356. package/dist/secrets/backends/dotenv.d.ts +26 -0
  1357. package/dist/secrets/backends/dotenv.d.ts.map +1 -0
  1358. package/dist/secrets/backends/dotenv.js +65 -0
  1359. package/dist/secrets/backends/dotenv.js.map +1 -0
  1360. package/dist/secrets/backends/keychain.d.ts +59 -0
  1361. package/dist/secrets/backends/keychain.d.ts.map +1 -0
  1362. package/dist/secrets/backends/keychain.js +133 -0
  1363. package/dist/secrets/backends/keychain.js.map +1 -0
  1364. package/dist/secrets/backends/literal.d.ts +19 -0
  1365. package/dist/secrets/backends/literal.d.ts.map +1 -0
  1366. package/dist/secrets/backends/literal.js +25 -0
  1367. package/dist/secrets/backends/literal.js.map +1 -0
  1368. package/dist/secrets/backends/op.d.ts +36 -0
  1369. package/dist/secrets/backends/op.d.ts.map +1 -0
  1370. package/dist/secrets/backends/op.js +69 -0
  1371. package/dist/secrets/backends/op.js.map +1 -0
  1372. package/dist/secrets/index.d.ts +14 -0
  1373. package/dist/secrets/index.d.ts.map +1 -0
  1374. package/dist/secrets/index.js +13 -0
  1375. package/dist/secrets/index.js.map +1 -0
  1376. package/dist/secrets/resolver.d.ts +19 -0
  1377. package/dist/secrets/resolver.d.ts.map +1 -0
  1378. package/dist/secrets/resolver.js +40 -0
  1379. package/dist/secrets/resolver.js.map +1 -0
  1380. package/dist/secrets/types.d.ts +28 -0
  1381. package/dist/secrets/types.d.ts.map +1 -0
  1382. package/dist/secrets/types.js +14 -0
  1383. package/dist/secrets/types.js.map +1 -0
  1384. package/dist/setup/cli/attestations.d.ts +32 -0
  1385. package/dist/setup/cli/attestations.d.ts.map +1 -0
  1386. package/dist/setup/cli/attestations.js +52 -0
  1387. package/dist/setup/cli/attestations.js.map +1 -0
  1388. package/dist/setup/cli/audit.d.ts +30 -0
  1389. package/dist/setup/cli/audit.d.ts.map +1 -0
  1390. package/dist/setup/cli/audit.js +139 -0
  1391. package/dist/setup/cli/audit.js.map +1 -0
  1392. package/dist/setup/cli/audit_actions.d.ts +54 -0
  1393. package/dist/setup/cli/audit_actions.d.ts.map +1 -0
  1394. package/dist/setup/cli/audit_actions.js +200 -0
  1395. package/dist/setup/cli/audit_actions.js.map +1 -0
  1396. package/dist/setup/cli/audit_state.d.ts +27 -0
  1397. package/dist/setup/cli/audit_state.d.ts.map +1 -0
  1398. package/dist/setup/cli/audit_state.js +52 -0
  1399. package/dist/setup/cli/audit_state.js.map +1 -0
  1400. package/dist/setup/cli/automation.d.ts +47 -0
  1401. package/dist/setup/cli/automation.d.ts.map +1 -0
  1402. package/dist/setup/cli/automation.js +156 -0
  1403. package/dist/setup/cli/automation.js.map +1 -0
  1404. package/dist/setup/cli/cache.d.ts +44 -0
  1405. package/dist/setup/cli/cache.d.ts.map +1 -0
  1406. package/dist/setup/cli/cache.js +154 -0
  1407. package/dist/setup/cli/cache.js.map +1 -0
  1408. package/dist/setup/cli/chat.d.ts +69 -0
  1409. package/dist/setup/cli/chat.d.ts.map +1 -0
  1410. package/dist/setup/cli/chat.js +95 -0
  1411. package/dist/setup/cli/chat.js.map +1 -0
  1412. package/dist/setup/cli/chat_actions.d.ts +57 -0
  1413. package/dist/setup/cli/chat_actions.d.ts.map +1 -0
  1414. package/dist/setup/cli/chat_actions.js +358 -0
  1415. package/dist/setup/cli/chat_actions.js.map +1 -0
  1416. package/dist/setup/cli/chat_actions_prompts.d.ts +51 -0
  1417. package/dist/setup/cli/chat_actions_prompts.d.ts.map +1 -0
  1418. package/dist/setup/cli/chat_actions_prompts.js +319 -0
  1419. package/dist/setup/cli/chat_actions_prompts.js.map +1 -0
  1420. package/dist/setup/cli/chat_actions_prompts_alias.d.ts +37 -0
  1421. package/dist/setup/cli/chat_actions_prompts_alias.d.ts.map +1 -0
  1422. package/dist/setup/cli/chat_actions_prompts_alias.js +185 -0
  1423. package/dist/setup/cli/chat_actions_prompts_alias.js.map +1 -0
  1424. package/dist/setup/cli/chat_actions_test_helpers.d.ts +37 -0
  1425. package/dist/setup/cli/chat_actions_test_helpers.d.ts.map +1 -0
  1426. package/dist/setup/cli/chat_actions_test_helpers.js +125 -0
  1427. package/dist/setup/cli/chat_actions_test_helpers.js.map +1 -0
  1428. package/dist/setup/cli/chat_actions_test_step.d.ts +86 -0
  1429. package/dist/setup/cli/chat_actions_test_step.d.ts.map +1 -0
  1430. package/dist/setup/cli/chat_actions_test_step.js +303 -0
  1431. package/dist/setup/cli/chat_actions_test_step.js.map +1 -0
  1432. package/dist/setup/cli/chat_actions_writers.d.ts +140 -0
  1433. package/dist/setup/cli/chat_actions_writers.d.ts.map +1 -0
  1434. package/dist/setup/cli/chat_actions_writers.js +297 -0
  1435. package/dist/setup/cli/chat_actions_writers.js.map +1 -0
  1436. package/dist/setup/cli/chat_state.d.ts +121 -0
  1437. package/dist/setup/cli/chat_state.d.ts.map +1 -0
  1438. package/dist/setup/cli/chat_state.js +310 -0
  1439. package/dist/setup/cli/chat_state.js.map +1 -0
  1440. package/dist/setup/cli/checkpoints.d.ts +47 -0
  1441. package/dist/setup/cli/checkpoints.d.ts.map +1 -0
  1442. package/dist/setup/cli/checkpoints.js +85 -0
  1443. package/dist/setup/cli/checkpoints.js.map +1 -0
  1444. package/dist/setup/cli/checkpoints_actions.d.ts +47 -0
  1445. package/dist/setup/cli/checkpoints_actions.d.ts.map +1 -0
  1446. package/dist/setup/cli/checkpoints_actions.js +153 -0
  1447. package/dist/setup/cli/checkpoints_actions.js.map +1 -0
  1448. package/dist/setup/cli/checkpoints_core.d.ts +57 -0
  1449. package/dist/setup/cli/checkpoints_core.d.ts.map +1 -0
  1450. package/dist/setup/cli/checkpoints_core.js +73 -0
  1451. package/dist/setup/cli/checkpoints_core.js.map +1 -0
  1452. package/dist/setup/cli/checkpoints_render.d.ts +23 -0
  1453. package/dist/setup/cli/checkpoints_render.d.ts.map +1 -0
  1454. package/dist/setup/cli/checkpoints_render.js +65 -0
  1455. package/dist/setup/cli/checkpoints_render.js.map +1 -0
  1456. package/dist/setup/cli/codex_hooks.d.ts +27 -0
  1457. package/dist/setup/cli/codex_hooks.d.ts.map +1 -0
  1458. package/dist/setup/cli/codex_hooks.js +73 -0
  1459. package/dist/setup/cli/codex_hooks.js.map +1 -0
  1460. package/dist/setup/cli/cost.d.ts +29 -0
  1461. package/dist/setup/cli/cost.d.ts.map +1 -0
  1462. package/dist/setup/cli/cost.js +98 -0
  1463. package/dist/setup/cli/cost.js.map +1 -0
  1464. package/dist/setup/cli/cost_state.d.ts +86 -0
  1465. package/dist/setup/cli/cost_state.d.ts.map +1 -0
  1466. package/dist/setup/cli/cost_state.js +223 -0
  1467. package/dist/setup/cli/cost_state.js.map +1 -0
  1468. package/dist/setup/cli/doctor.d.ts +47 -0
  1469. package/dist/setup/cli/doctor.d.ts.map +1 -0
  1470. package/dist/setup/cli/doctor.js +314 -0
  1471. package/dist/setup/cli/doctor.js.map +1 -0
  1472. package/dist/setup/cli/gate.d.ts +71 -0
  1473. package/dist/setup/cli/gate.d.ts.map +1 -0
  1474. package/dist/setup/cli/gate.js +287 -0
  1475. package/dist/setup/cli/gate.js.map +1 -0
  1476. package/dist/setup/cli/hooks.d.ts +69 -0
  1477. package/dist/setup/cli/hooks.d.ts.map +1 -0
  1478. package/dist/setup/cli/hooks.js +104 -0
  1479. package/dist/setup/cli/hooks.js.map +1 -0
  1480. package/dist/setup/cli/index.d.ts +11 -0
  1481. package/dist/setup/cli/index.d.ts.map +1 -0
  1482. package/dist/setup/cli/index.js +11 -0
  1483. package/dist/setup/cli/index.js.map +1 -0
  1484. package/dist/setup/cli/limits.d.ts +30 -0
  1485. package/dist/setup/cli/limits.d.ts.map +1 -0
  1486. package/dist/setup/cli/limits.js +102 -0
  1487. package/dist/setup/cli/limits.js.map +1 -0
  1488. package/dist/setup/cli/limits_state.d.ts +77 -0
  1489. package/dist/setup/cli/limits_state.d.ts.map +1 -0
  1490. package/dist/setup/cli/limits_state.js +170 -0
  1491. package/dist/setup/cli/limits_state.js.map +1 -0
  1492. package/dist/setup/cli/mcp.d.ts +73 -0
  1493. package/dist/setup/cli/mcp.d.ts.map +1 -0
  1494. package/dist/setup/cli/mcp.js +175 -0
  1495. package/dist/setup/cli/mcp.js.map +1 -0
  1496. package/dist/setup/cli/memory.d.ts +55 -0
  1497. package/dist/setup/cli/memory.d.ts.map +1 -0
  1498. package/dist/setup/cli/memory.js +139 -0
  1499. package/dist/setup/cli/memory.js.map +1 -0
  1500. package/dist/setup/cli/permissions.d.ts +49 -0
  1501. package/dist/setup/cli/permissions.d.ts.map +1 -0
  1502. package/dist/setup/cli/permissions.js +77 -0
  1503. package/dist/setup/cli/permissions.js.map +1 -0
  1504. package/dist/setup/cli/permissions_actions.d.ts +72 -0
  1505. package/dist/setup/cli/permissions_actions.d.ts.map +1 -0
  1506. package/dist/setup/cli/permissions_actions.js +208 -0
  1507. package/dist/setup/cli/permissions_actions.js.map +1 -0
  1508. package/dist/setup/cli/permissions_state.d.ts +98 -0
  1509. package/dist/setup/cli/permissions_state.d.ts.map +1 -0
  1510. package/dist/setup/cli/permissions_state.js +202 -0
  1511. package/dist/setup/cli/permissions_state.js.map +1 -0
  1512. package/dist/setup/cli/portability.d.ts +68 -0
  1513. package/dist/setup/cli/portability.d.ts.map +1 -0
  1514. package/dist/setup/cli/portability.js +413 -0
  1515. package/dist/setup/cli/portability.js.map +1 -0
  1516. package/dist/setup/cli/schedule.d.ts +45 -0
  1517. package/dist/setup/cli/schedule.d.ts.map +1 -0
  1518. package/dist/setup/cli/schedule.js +92 -0
  1519. package/dist/setup/cli/schedule.js.map +1 -0
  1520. package/dist/setup/cli/schedule_actions.d.ts +63 -0
  1521. package/dist/setup/cli/schedule_actions.d.ts.map +1 -0
  1522. package/dist/setup/cli/schedule_actions.js +299 -0
  1523. package/dist/setup/cli/schedule_actions.js.map +1 -0
  1524. package/dist/setup/cli/schedule_render.d.ts +18 -0
  1525. package/dist/setup/cli/schedule_render.d.ts.map +1 -0
  1526. package/dist/setup/cli/schedule_render.js +69 -0
  1527. package/dist/setup/cli/schedule_render.js.map +1 -0
  1528. package/dist/setup/cli/schedule_state.d.ts +92 -0
  1529. package/dist/setup/cli/schedule_state.d.ts.map +1 -0
  1530. package/dist/setup/cli/schedule_state.js +291 -0
  1531. package/dist/setup/cli/schedule_state.js.map +1 -0
  1532. package/dist/setup/cli/state_io.d.ts +67 -0
  1533. package/dist/setup/cli/state_io.d.ts.map +1 -0
  1534. package/dist/setup/cli/state_io.js +130 -0
  1535. package/dist/setup/cli/state_io.js.map +1 -0
  1536. package/dist/setup/cli/topic_create_step.d.ts +84 -0
  1537. package/dist/setup/cli/topic_create_step.d.ts.map +1 -0
  1538. package/dist/setup/cli/topic_create_step.js +213 -0
  1539. package/dist/setup/cli/topic_create_step.js.map +1 -0
  1540. package/dist/setup/cli/trace.d.ts +52 -0
  1541. package/dist/setup/cli/trace.d.ts.map +1 -0
  1542. package/dist/setup/cli/trace.js +239 -0
  1543. package/dist/setup/cli/trace.js.map +1 -0
  1544. package/dist/setup/cli/triggers.d.ts +32 -0
  1545. package/dist/setup/cli/triggers.d.ts.map +1 -0
  1546. package/dist/setup/cli/triggers.js +141 -0
  1547. package/dist/setup/cli/triggers.js.map +1 -0
  1548. package/dist/setup/cli/triggers_state.d.ts +47 -0
  1549. package/dist/setup/cli/triggers_state.d.ts.map +1 -0
  1550. package/dist/setup/cli/triggers_state.js +119 -0
  1551. package/dist/setup/cli/triggers_state.js.map +1 -0
  1552. package/dist/setup/cli/triggers_synth.d.ts +19 -0
  1553. package/dist/setup/cli/triggers_synth.d.ts.map +1 -0
  1554. package/dist/setup/cli/triggers_synth.js +70 -0
  1555. package/dist/setup/cli/triggers_synth.js.map +1 -0
  1556. package/dist/setup/cli/webhooks.d.ts +42 -0
  1557. package/dist/setup/cli/webhooks.d.ts.map +1 -0
  1558. package/dist/setup/cli/webhooks.js +77 -0
  1559. package/dist/setup/cli/webhooks.js.map +1 -0
  1560. package/dist/setup/cli/webhooks_actions.d.ts +86 -0
  1561. package/dist/setup/cli/webhooks_actions.d.ts.map +1 -0
  1562. package/dist/setup/cli/webhooks_actions.js +301 -0
  1563. package/dist/setup/cli/webhooks_actions.js.map +1 -0
  1564. package/dist/setup/cli/webhooks_state.d.ts +79 -0
  1565. package/dist/setup/cli/webhooks_state.d.ts.map +1 -0
  1566. package/dist/setup/cli/webhooks_state.js +73 -0
  1567. package/dist/setup/cli/webhooks_state.js.map +1 -0
  1568. package/dist/setup/index.d.ts +9 -0
  1569. package/dist/setup/index.d.ts.map +1 -0
  1570. package/dist/setup/index.js +9 -0
  1571. package/dist/setup/index.js.map +1 -0
  1572. package/dist/setup/migrate/auto_memory_importer.d.ts +101 -0
  1573. package/dist/setup/migrate/auto_memory_importer.d.ts.map +1 -0
  1574. package/dist/setup/migrate/auto_memory_importer.js +163 -0
  1575. package/dist/setup/migrate/auto_memory_importer.js.map +1 -0
  1576. package/dist/setup/migrate/auto_memory_reader.d.ts +84 -0
  1577. package/dist/setup/migrate/auto_memory_reader.d.ts.map +1 -0
  1578. package/dist/setup/migrate/auto_memory_reader.js +99 -0
  1579. package/dist/setup/migrate/auto_memory_reader.js.map +1 -0
  1580. package/dist/setup/migrate/auto_memory_snapshot.d.ts +33 -0
  1581. package/dist/setup/migrate/auto_memory_snapshot.d.ts.map +1 -0
  1582. package/dist/setup/migrate/auto_memory_snapshot.js +67 -0
  1583. package/dist/setup/migrate/auto_memory_snapshot.js.map +1 -0
  1584. package/dist/setup/migrate/memory_drift.d.ts +45 -0
  1585. package/dist/setup/migrate/memory_drift.d.ts.map +1 -0
  1586. package/dist/setup/migrate/memory_drift.js +92 -0
  1587. package/dist/setup/migrate/memory_drift.js.map +1 -0
  1588. package/dist/setup/migrate/memory_store_handle.d.ts +31 -0
  1589. package/dist/setup/migrate/memory_store_handle.d.ts.map +1 -0
  1590. package/dist/setup/migrate/memory_store_handle.js +93 -0
  1591. package/dist/setup/migrate/memory_store_handle.js.map +1 -0
  1592. package/dist/setup/migrate/migrate-scope.d.ts +25 -0
  1593. package/dist/setup/migrate/migrate-scope.d.ts.map +1 -0
  1594. package/dist/setup/migrate/migrate-scope.js +82 -0
  1595. package/dist/setup/migrate/migrate-scope.js.map +1 -0
  1596. package/dist/setup/schedule_nl.d.ts +88 -0
  1597. package/dist/setup/schedule_nl.d.ts.map +1 -0
  1598. package/dist/setup/schedule_nl.js +183 -0
  1599. package/dist/setup/schedule_nl.js.map +1 -0
  1600. package/dist/setup/wizard/codex-hooks-writer.d.ts +67 -0
  1601. package/dist/setup/wizard/codex-hooks-writer.d.ts.map +1 -0
  1602. package/dist/setup/wizard/codex-hooks-writer.js +104 -0
  1603. package/dist/setup/wizard/codex-hooks-writer.js.map +1 -0
  1604. package/dist/setup/wizard/git-hooks.d.ts +49 -0
  1605. package/dist/setup/wizard/git-hooks.d.ts.map +1 -0
  1606. package/dist/setup/wizard/git-hooks.js +106 -0
  1607. package/dist/setup/wizard/git-hooks.js.map +1 -0
  1608. package/dist/setup/wizard/mcp-hosts.d.ts +44 -0
  1609. package/dist/setup/wizard/mcp-hosts.d.ts.map +1 -0
  1610. package/dist/setup/wizard/mcp-hosts.js +87 -0
  1611. package/dist/setup/wizard/mcp-hosts.js.map +1 -0
  1612. package/dist/setup/wizard/mcp-writer.d.ts +81 -0
  1613. package/dist/setup/wizard/mcp-writer.d.ts.map +1 -0
  1614. package/dist/setup/wizard/mcp-writer.js +115 -0
  1615. package/dist/setup/wizard/mcp-writer.js.map +1 -0
  1616. package/dist/setup/wizard/settings-reader.d.ts +74 -0
  1617. package/dist/setup/wizard/settings-reader.d.ts.map +1 -0
  1618. package/dist/setup/wizard/settings-reader.js +81 -0
  1619. package/dist/setup/wizard/settings-reader.js.map +1 -0
  1620. package/dist/setup/wizard/settings-writer.d.ts +95 -0
  1621. package/dist/setup/wizard/settings-writer.d.ts.map +1 -0
  1622. package/dist/setup/wizard/settings-writer.js +154 -0
  1623. package/dist/setup/wizard/settings-writer.js.map +1 -0
  1624. package/dist/storage/atomic_file.d.ts +3 -0
  1625. package/dist/storage/atomic_file.d.ts.map +1 -0
  1626. package/dist/storage/atomic_file.js +27 -0
  1627. package/dist/storage/atomic_file.js.map +1 -0
  1628. package/dist/system-export.d.ts +65 -0
  1629. package/dist/system-export.d.ts.map +1 -0
  1630. package/dist/system-export.js +194 -0
  1631. package/dist/system-export.js.map +1 -0
  1632. package/dist/utterance/classifier.d.ts +53 -0
  1633. package/dist/utterance/classifier.d.ts.map +1 -0
  1634. package/dist/utterance/classifier.js +184 -0
  1635. package/dist/utterance/classifier.js.map +1 -0
  1636. package/dist/utterance/classifier.test.js +147 -0
  1637. package/dist/workgraph/events.d.ts +12 -0
  1638. package/dist/workgraph/events.d.ts.map +1 -0
  1639. package/dist/workgraph/events.js +90 -0
  1640. package/dist/workgraph/events.js.map +1 -0
  1641. package/dist/workgraph/store.d.ts +15 -0
  1642. package/dist/workgraph/store.d.ts.map +1 -0
  1643. package/dist/workgraph/store.js +195 -0
  1644. package/dist/workgraph/store.js.map +1 -0
  1645. package/dist/workgraph/types.d.ts +49 -0
  1646. package/dist/workgraph/types.d.ts.map +1 -0
  1647. package/dist/workgraph/types.js +2 -0
  1648. package/dist/workgraph/types.js.map +1 -0
  1649. package/docs/load-budget.md +98 -0
  1650. package/docs/pack-runtime.md +1205 -0
  1651. package/docs/skill-grammar-guide.md +646 -0
  1652. package/package.json +145 -0
  1653. package/packs/builtin/coding-flow/PROFILES.md +39 -0
  1654. package/packs/builtin/coding-flow/fsm.yaml +52 -0
  1655. package/packs/builtin/coding-flow/manifest.yaml +29 -0
  1656. package/packs/builtin/coding-flow/skills/entry-and-handoffs/skill.yaml +246 -0
  1657. package/packs/builtin/coding-flow/skills/execute-gate/skill.yaml +71 -0
  1658. package/packs/builtin/coding-flow/skills/flow-health-check/skill.yaml +42 -0
  1659. package/packs/builtin/coding-flow/skills/pause-prevention/skill.yaml +73 -0
  1660. package/packs/builtin/coding-flow/skills/pause-stop-guard/skill.yaml +67 -0
  1661. package/packs/builtin/coding-flow/skills/phase-advance/skill.yaml +28 -0
  1662. package/packs/builtin/coding-flow/skills/phase-audit/skill.yaml +68 -0
  1663. package/packs/builtin/coding-flow/skills/scope-lifecycle/skill.yaml +362 -0
  1664. package/packs/builtin/coding-flow/skills/task-start/skill.yaml +42 -0
  1665. package/packs/builtin/cycle-pack/manifest.yaml +20 -0
  1666. package/packs/builtin/cycle-pack/skills/lesson-capture/prose.md +34 -0
  1667. package/packs/builtin/cycle-pack/skills/lesson-capture/skill.yaml +57 -0
  1668. package/packs/builtin/default-discipline/channels.yaml +8 -0
  1669. package/packs/builtin/default-discipline/drift_response.yaml +51 -0
  1670. package/packs/builtin/default-discipline/manifest.yaml +297 -0
  1671. package/packs/builtin/default-discipline/models.yaml +8 -0
  1672. package/packs/builtin/default-discipline/notifications.yaml +12 -0
  1673. package/packs/builtin/default-discipline/skills/d9-guard/skill.yaml +82 -0
  1674. package/packs/builtin/default-discipline/skills/inbound-greeter/SKILL.md +38 -0
  1675. package/packs/builtin/default-discipline/skills/inbound-greeter/skill.yaml +36 -0
  1676. package/packs/builtin/default-discipline/skills/session-connection-check/SKILL.md +45 -0
  1677. package/packs/builtin/default-discipline/skills/session-connection-check/skill.yaml +55 -0
  1678. package/packs/builtin/default-discipline/skills/workflow/skill.yaml +65 -0
  1679. package/packs/builtin/examples/file-pattern-guard/BEFORE.md +70 -0
  1680. package/packs/builtin/examples/file-pattern-guard/SKILL.md +79 -0
  1681. package/packs/builtin/examples/file-pattern-guard/fixtures/edit_node_modules.expected.json +3 -0
  1682. package/packs/builtin/examples/file-pattern-guard/fixtures/edit_node_modules.input.json +9 -0
  1683. package/packs/builtin/examples/file-pattern-guard/fixtures/edit_src.expected.json +3 -0
  1684. package/packs/builtin/examples/file-pattern-guard/fixtures/edit_src.input.json +9 -0
  1685. package/packs/builtin/examples/file-pattern-guard/manifest.yaml +18 -0
  1686. package/packs/builtin/examples/file-pattern-guard/skills/guard/skill.yaml +33 -0
  1687. package/packs/builtin/examples/multi-clause-drift-detector/BEFORE.md +62 -0
  1688. package/packs/builtin/examples/multi-clause-drift-detector/SKILL.md +90 -0
  1689. package/packs/builtin/examples/multi-clause-drift-detector/fixtures/drift_no_verify.expected.json +3 -0
  1690. package/packs/builtin/examples/multi-clause-drift-detector/fixtures/drift_no_verify.input.json +18 -0
  1691. package/packs/builtin/examples/multi-clause-drift-detector/fixtures/drift_with_verify.expected.json +3 -0
  1692. package/packs/builtin/examples/multi-clause-drift-detector/fixtures/drift_with_verify.input.json +18 -0
  1693. package/packs/builtin/examples/multi-clause-drift-detector/manifest.yaml +18 -0
  1694. package/packs/builtin/examples/multi-clause-drift-detector/skills/drift/skill.yaml +60 -0
  1695. package/packs/builtin/examples/tool-history-correlator/BEFORE.md +73 -0
  1696. package/packs/builtin/examples/tool-history-correlator/SKILL.md +85 -0
  1697. package/packs/builtin/examples/tool-history-correlator/fixtures/few_bash.expected.json +3 -0
  1698. package/packs/builtin/examples/tool-history-correlator/fixtures/few_bash.input.json +10 -0
  1699. package/packs/builtin/examples/tool-history-correlator/fixtures/many_bash.expected.json +3 -0
  1700. package/packs/builtin/examples/tool-history-correlator/fixtures/many_bash.input.json +10 -0
  1701. package/packs/builtin/examples/tool-history-correlator/manifest.yaml +18 -0
  1702. package/packs/builtin/examples/tool-history-correlator/skills/correlator/skill.yaml +46 -0
  1703. package/packs/builtin/focused-atomic-design/README.md +21 -0
  1704. package/packs/builtin/focused-atomic-design/manifest.yaml +151 -0
  1705. package/packs/builtin/focused-react-19/README.md +36 -0
  1706. package/packs/builtin/focused-react-19/manifest.yaml +171 -0
  1707. package/packs/builtin/focused-typescript-strict/README.md +21 -0
  1708. package/packs/builtin/focused-typescript-strict/manifest.yaml +163 -0
  1709. package/packs/builtin/frontend-react-19-atomic/README.md +61 -0
  1710. package/packs/builtin/frontend-react-19-atomic/manifest.yaml +124 -0
  1711. package/packs/builtin/general/chat_agent.yaml +16 -0
  1712. package/packs/builtin/general/manifest.yaml +39 -0
  1713. package/packs/builtin/general/system_prompt.md +11 -0
  1714. package/packs/builtin/pack-architect/SKILL.md +74 -0
  1715. package/packs/builtin/pack-architect/manifest.yaml +53 -0
  1716. package/packs/builtin/pack-architect/skills/fsm-author-walkthrough/skill.yaml +45 -0
  1717. package/packs/builtin/pack-architect/skills/manifest-author-walkthrough/skill.yaml +50 -0
  1718. package/packs/builtin/pack-architect/skills/pack-scope-elicit/skill.yaml +44 -0
  1719. package/packs/builtin/pack-architect/skills/skill-yaml-author-walkthrough/skill.yaml +52 -0
  1720. package/packs/builtin/pack-architect/team.yaml +84 -0
  1721. package/packs/builtin/scope-architect/manifest.yaml +43 -0
  1722. package/packs/builtin/scope-architect/skills/inline-spec-block/skill.yaml +56 -0
  1723. package/packs/builtin/scope-architect/skills/pack-skill-authoring/skill.yaml +83 -0
  1724. package/packs/builtin/scope-architect/skills/pre-research-authoring/skill.yaml +142 -0
  1725. package/packs/builtin/scope-architect/skills/scope-before-code/skill.yaml +34 -0
  1726. package/packs/builtin/scope-architect/skills/scope-detect/skill.yaml +73 -0
  1727. package/packs/builtin/scope-architect/skills/task-list-generated/skill.yaml +28 -0
  1728. package/packs/builtin/scope-architect/skills/taskcreate-spec-required/skill.yaml +27 -0
  1729. package/packs/builtin/scope-architect/team.yaml +65 -0
  1730. package/packs/builtin/seo-aeo-expert/drift_response.yaml +11 -0
  1731. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/citation_allow_pass.expected.json +3 -0
  1732. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/citation_allow_pass.input.json +10 -0
  1733. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/citation_cross_section_pass.expected.json +3 -0
  1734. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/citation_cross_section_pass.input.json +10 -0
  1735. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/citation_robots_fire.expected.json +3 -0
  1736. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/citation_robots_fire.input.json +10 -0
  1737. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/training_fire.expected.json +3 -0
  1738. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/training_fire.input.json +10 -0
  1739. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/training_unrelated_pass.expected.json +3 -0
  1740. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/training_unrelated_pass.input.json +10 -0
  1741. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/wildcard_fire.expected.json +3 -0
  1742. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/wildcard_fire.input.json +10 -0
  1743. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/wildcard_path_pass.expected.json +3 -0
  1744. package/packs/builtin/seo-aeo-expert/fixtures/bot-policy-guard/wildcard_path_pass.input.json +10 -0
  1745. package/packs/builtin/seo-aeo-expert/fixtures/ground-truth-gate/no_claims_pass.expected.json +3 -0
  1746. package/packs/builtin/seo-aeo-expert/fixtures/ground-truth-gate/no_claims_pass.input.json +14 -0
  1747. package/packs/builtin/seo-aeo-expert/fixtures/ground-truth-gate/offer_no_doc_fire.expected.json +3 -0
  1748. package/packs/builtin/seo-aeo-expert/fixtures/ground-truth-gate/offer_no_doc_fire.input.json +14 -0
  1749. package/packs/builtin/seo-aeo-expert/fixtures/ground-truth-gate/offer_with_doc_pass.expected.json +3 -0
  1750. package/packs/builtin/seo-aeo-expert/fixtures/ground-truth-gate/offer_with_doc_pass.input.json +14 -0
  1751. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/desc_long_fire.expected.json +3 -0
  1752. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/desc_long_fire.input.json +10 -0
  1753. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/desc_ok_pass.expected.json +3 -0
  1754. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/desc_ok_pass.input.json +10 -0
  1755. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/img_alt_fire.expected.json +3 -0
  1756. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/img_alt_fire.input.json +10 -0
  1757. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/img_alt_pass.expected.json +3 -0
  1758. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/img_alt_pass.input.json +10 -0
  1759. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/title_long_fire.expected.json +3 -0
  1760. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/title_long_fire.input.json +10 -0
  1761. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/title_ok_pass.expected.json +3 -0
  1762. package/packs/builtin/seo-aeo-expert/fixtures/meta-quality-gate/title_ok_pass.input.json +10 -0
  1763. package/packs/builtin/seo-aeo-expert/fixtures/page-removal-guard/rm_other_pass.expected.json +3 -0
  1764. package/packs/builtin/seo-aeo-expert/fixtures/page-removal-guard/rm_other_pass.input.json +6 -0
  1765. package/packs/builtin/seo-aeo-expert/fixtures/page-removal-guard/rm_page_fire.expected.json +3 -0
  1766. package/packs/builtin/seo-aeo-expert/fixtures/page-removal-guard/rm_page_fire.input.json +6 -0
  1767. package/packs/builtin/seo-aeo-expert/fixtures/pre-push-seo-checklist/checklist_fire.expected.json +3 -0
  1768. package/packs/builtin/seo-aeo-expert/fixtures/pre-push-seo-checklist/checklist_fire.input.json +7 -0
  1769. package/packs/builtin/seo-aeo-expert/fixtures/pre-push-seo-checklist/checklist_shipped_pass.expected.json +3 -0
  1770. package/packs/builtin/seo-aeo-expert/fixtures/pre-push-seo-checklist/checklist_shipped_pass.input.json +7 -0
  1771. package/packs/builtin/seo-aeo-expert/fixtures/pre-push-seo-checklist/push_fixing_fire.expected.json +3 -0
  1772. package/packs/builtin/seo-aeo-expert/fixtures/pre-push-seo-checklist/push_fixing_fire.input.json +7 -0
  1773. package/packs/builtin/seo-aeo-expert/fixtures/pre-push-seo-checklist/push_idle_pass.expected.json +3 -0
  1774. package/packs/builtin/seo-aeo-expert/fixtures/pre-push-seo-checklist/push_idle_pass.input.json +7 -0
  1775. package/packs/builtin/seo-aeo-expert/fixtures/run.mjs +123 -0
  1776. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/lint_product_fire.expected.json +3 -0
  1777. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/lint_product_fire.input.json +10 -0
  1778. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/lint_product_pass.expected.json +3 -0
  1779. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/lint_product_pass.input.json +10 -0
  1780. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/lint_rating_fire.expected.json +3 -0
  1781. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/lint_rating_fire.input.json +10 -0
  1782. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/lint_rating_pass.expected.json +3 -0
  1783. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/lint_rating_pass.input.json +10 -0
  1784. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/schema_touched_fire.expected.json +3 -0
  1785. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/schema_touched_fire.input.json +12 -0
  1786. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/schema_touched_in_cycle_pass.expected.json +3 -0
  1787. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/schema_touched_in_cycle_pass.input.json +12 -0
  1788. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/validation_run_fire.expected.json +3 -0
  1789. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/validation_run_fire.input.json +6 -0
  1790. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/validation_run_pass.expected.json +3 -0
  1791. package/packs/builtin/seo-aeo-expert/fixtures/schema-validation-gate/validation_run_pass.input.json +6 -0
  1792. package/packs/builtin/seo-aeo-expert/fixtures/ssr-regression-guard/fetch_effect_fire.expected.json +3 -0
  1793. package/packs/builtin/seo-aeo-expert/fixtures/ssr-regression-guard/fetch_effect_fire.input.json +10 -0
  1794. package/packs/builtin/seo-aeo-expert/fixtures/ssr-regression-guard/organism_leaf_pass.expected.json +3 -0
  1795. package/packs/builtin/seo-aeo-expert/fixtures/ssr-regression-guard/organism_leaf_pass.input.json +10 -0
  1796. package/packs/builtin/seo-aeo-expert/fixtures/ssr-regression-guard/server_page_pass.expected.json +3 -0
  1797. package/packs/builtin/seo-aeo-expert/fixtures/ssr-regression-guard/server_page_pass.input.json +10 -0
  1798. package/packs/builtin/seo-aeo-expert/fixtures/ssr-regression-guard/use_client_page_fire.expected.json +3 -0
  1799. package/packs/builtin/seo-aeo-expert/fixtures/ssr-regression-guard/use_client_page_fire.input.json +10 -0
  1800. package/packs/builtin/seo-aeo-expert/fixtures/stale-tactic-guard/clean_pass.expected.json +3 -0
  1801. package/packs/builtin/seo-aeo-expert/fixtures/stale-tactic-guard/clean_pass.input.json +10 -0
  1802. package/packs/builtin/seo-aeo-expert/fixtures/stale-tactic-guard/docs_exempt_pass.expected.json +3 -0
  1803. package/packs/builtin/seo-aeo-expert/fixtures/stale-tactic-guard/docs_exempt_pass.input.json +10 -0
  1804. package/packs/builtin/seo-aeo-expert/fixtures/stale-tactic-guard/faq_schema_fire.expected.json +3 -0
  1805. package/packs/builtin/seo-aeo-expert/fixtures/stale-tactic-guard/faq_schema_fire.input.json +10 -0
  1806. package/packs/builtin/seo-aeo-expert/fixtures/stale-tactic-guard/llms_claim_fire.expected.json +3 -0
  1807. package/packs/builtin/seo-aeo-expert/fixtures/stale-tactic-guard/llms_claim_fire.input.json +10 -0
  1808. package/packs/builtin/seo-aeo-expert/fsm.yaml +43 -0
  1809. package/packs/builtin/seo-aeo-expert/lessons/ai-mode-default-fanout/lesson.md +16 -0
  1810. package/packs/builtin/seo-aeo-expert/lessons/bing-is-chatgpt/lesson.md +15 -0
  1811. package/packs/builtin/seo-aeo-expert/lessons/bot-taxonomy-three-classes/lesson.md +21 -0
  1812. package/packs/builtin/seo-aeo-expert/lessons/chunk-shape/lesson.md +18 -0
  1813. package/packs/builtin/seo-aeo-expert/lessons/citation-over-rank/lesson.md +19 -0
  1814. package/packs/builtin/seo-aeo-expert/lessons/cloudflare-default-block/lesson.md +18 -0
  1815. package/packs/builtin/seo-aeo-expert/lessons/deprecated-tactics-2026/lesson.md +32 -0
  1816. package/packs/builtin/seo-aeo-expert/lessons/engine-divergence/lesson.md +22 -0
  1817. package/packs/builtin/seo-aeo-expert/lessons/freehand-schema-forbidden/lesson.md +21 -0
  1818. package/packs/builtin/seo-aeo-expert/lessons/geo-content-levers/lesson.md +20 -0
  1819. package/packs/builtin/seo-aeo-expert/lessons/google-official-ai-guide/lesson.md +17 -0
  1820. package/packs/builtin/seo-aeo-expert/lessons/llms-txt-dead/lesson.md +19 -0
  1821. package/packs/builtin/seo-aeo-expert/lessons/local-ai-gap/lesson.md +20 -0
  1822. package/packs/builtin/seo-aeo-expert/lessons/measurement-discontinuities/lesson.md +29 -0
  1823. package/packs/builtin/seo-aeo-expert/lessons/mentions-beat-backlinks/lesson.md +16 -0
  1824. package/packs/builtin/seo-aeo-expert/lessons/no-js-execution/lesson.md +18 -0
  1825. package/packs/builtin/seo-aeo-expert/lessons/schema-actual-role/lesson.md +22 -0
  1826. package/packs/builtin/seo-aeo-expert/lessons/schema-claims-need-ground-truth/lesson.md +34 -0
  1827. package/packs/builtin/seo-aeo-expert/lessons/ugc-citation-channels/lesson.md +22 -0
  1828. package/packs/builtin/seo-aeo-expert/manifest.yaml +128 -0
  1829. package/packs/builtin/seo-aeo-expert/models.yaml +19 -0
  1830. package/packs/builtin/seo-aeo-expert/skills/bot-policy-guard/skill.yaml +159 -0
  1831. package/packs/builtin/seo-aeo-expert/skills/ground-truth-gate/skill.yaml +66 -0
  1832. package/packs/builtin/seo-aeo-expert/skills/meta-quality-gate/skill.yaml +137 -0
  1833. package/packs/builtin/seo-aeo-expert/skills/page-removal-guard/skill.yaml +30 -0
  1834. package/packs/builtin/seo-aeo-expert/skills/pre-push-seo-checklist/skill.yaml +61 -0
  1835. package/packs/builtin/seo-aeo-expert/skills/schema-validation-gate/skill.yaml +163 -0
  1836. package/packs/builtin/seo-aeo-expert/skills/ssr-regression-guard/skill.yaml +58 -0
  1837. package/packs/builtin/seo-aeo-expert/skills/stale-tactic-guard/skill.yaml +72 -0
  1838. package/packs/builtin/task-spec-author/SKILL.md +469 -0
  1839. package/packs/builtin/task-spec-author/manifest.yaml +41 -0
  1840. package/packs/builtin/task-spec-author/skills-catalog.md +115 -0
  1841. package/packs/builtin/task-spec-author/team.yaml +33 -0
  1842. package/schemas/channels.schema.json +13 -0
  1843. package/schemas/drift_response.schema.json +47 -0
  1844. package/schemas/manifest.schema.json +904 -0
  1845. package/schemas/models.schema.json +68 -0
  1846. package/schemas/notifications.schema.json +64 -0
  1847. package/schemas/skill.schema.json +556 -0
@@ -0,0 +1,1205 @@
1
+ # Pack runtime — authoritative reference
2
+
3
+ Version: 0.5.293 · Last updated: 2026-06-03 · Spec: T-IDENTITY-FOUNDATION (IDF.1–IDF.5) + T-PACK-FSM-STANDARDIZATION (FSM engine, `fsm.yaml`, `guards:`, `read_fsm_state`/`advance_fsm`)
4
+
5
+ This document is the authoritative reference for the opensquid pack
6
+ runtime: how a pack is identified on disk, what it can declare, how
7
+ the dispatcher loads + walks it, what verdicts it can emit, and which
8
+ primitives its rules can call.
9
+
10
+ Pack authors should treat this document as the **contract for what's
11
+ shipped**. Source code is the canonical truth, but this doc collects
12
+ the schema + lifecycle + primitive catalog in one place so an author
13
+ doesn't have to spelunk through `src/packs/` and `src/functions/` to
14
+ understand what a pack can do.
15
+
16
+ > **File:line citations** use line _ranges_ rather than exact lines so
17
+ > they survive small code shifts. Always cross-check against the
18
+ > current source if you're chasing a specific symbol.
19
+
20
+ Cross-references:
21
+
22
+ - `docs/skill-grammar-guide.md` — companion doc for the `if:`
23
+ expression grammar (loaded via the same evaluator that walks
24
+ `process:` steps).
25
+ - `docs/load-budget.md` — companion doc for the load-side cost
26
+ budget pack authors should respect.
27
+ - `docs/pack-fsm-architecture.md` — companion doc for the pack-FSM
28
+ stack (`fsm.yaml` lifecycle, the generic total-transition engine, the
29
+ `read_fsm_state`/`advance_fsm` primitives, and the `guards:` gate
30
+ template). This doc documents the schema/loader/primitive surface;
31
+ pack-fsm-architecture.md is the all-levels conceptual walkthrough.
32
+
33
+ ---
34
+
35
+ ## 1. Pack identity
36
+
37
+ A pack is a directory under `<scope-root>/packs/<name>/` containing:
38
+
39
+ ```
40
+ packs/<name>/
41
+ manifest.yaml # required — pack identity + activation
42
+ skills/ # required — one folder per skill
43
+ <skill-name>/
44
+ skill.yaml # required — skill rules
45
+ fsm.yaml # optional — pack-lifecycle FSM (auto-loaded by name; see 1.13)
46
+ chat_agent.yaml # optional — chat-bridge agent identity
47
+ models.yaml # optional — model aliases for LLM primitives
48
+ channels.yaml # optional — chat channel registry
49
+ notifications.yaml # optional — notification routing
50
+ drift_response.yaml # optional — per-rule drift policies
51
+ team.yaml # optional — marker file for profession packs
52
+ ```
53
+
54
+ ### 1.1 `manifest.yaml` fields
55
+
56
+ Schema: `src/packs/schemas/manifest.ts:1-360` · Loader fold:
57
+ `src/packs/loader.ts:80-130`. The loader applies Zod defaults at parse
58
+ time, so every field below has a deterministic value at runtime even
59
+ when omitted from disk.
60
+
61
+ | Field | Type | Default | Purpose |
62
+ | -------------------- | -------- | ----------- | -------------------------------------------------------------- |
63
+ | `name` | string | required | Pack name, must match folder name |
64
+ | `version` | semver | required | Pack version (independent of opensquid version) |
65
+ | `scope` | enum | required | Layering precedence (see 1.6) |
66
+ | `goal` | string | required | One-line statement of what the pack does |
67
+ | `description` | string | `''` | Longer description |
68
+ | `requires` | string[] | `[]` | Other packs this depends on (by name) |
69
+ | `conflicts` | string[] | `[]` | Other packs this conflicts with (by name) |
70
+ | `evolves` | bool | `true` | Whether lessons can mutate this pack's skills |
71
+ | `activation_scope` | enum | `'project'` | WHO the pack applies to (see 1.3) |
72
+ | `detected_by` | array | `[]` | WHEN the pack auto-activates (see 1.4) |
73
+ | `foundation` | object | absent | Taxonomy block — tools/domains/methodologies (see 1.2) |
74
+ | `chat_agent_ref` | string | absent | Reference to chat_agent.yaml (see 1.5) |
75
+ | `models_ref` | string | absent | Reference to models.yaml (see 1.5) |
76
+ | `channels_ref` | string | absent | Reference to channels.yaml (see 1.5) |
77
+ | `notifications_ref` | string | absent | Reference to notifications.yaml (see 1.5) |
78
+ | `drift_response_ref` | string | absent | Reference to drift_response.yaml (see 1.5) |
79
+ | `team_ref` | string | absent | Reference to team.yaml (profession marker) |
80
+ | `kind` | enum | `'focused'` | Pack type (see 1.7) — `'focused' \| 'composite'` |
81
+ | `usage` | enum | `'active'` | Load mode (see 1.7) — `'active' \| 'profession' \| 'both'` |
82
+ | `includes` | array | `[]` | Composite-only — `{pack_id, semver}` entries (see 1.7) |
83
+ | `seed_lessons` | array | `[]` | Pack-author knowledge ingest (see 1.10) |
84
+ | `verify_gates` | array | `[]` | Declarative author gates → synthetic `<pack>/verify` (1.11) |
85
+ | `guards` | array | `[]` | Reusable detect→verdict gate template → `<pack>/guards` (1.13) |
86
+
87
+ (The `fsm.yaml` lifecycle is NOT a `manifest.yaml` field — it is a side file
88
+ auto-loaded by filename and folded onto the runtime `Pack` as `pack.fsm`; see
89
+ §1.5 + §1.13.)
90
+
91
+ The schema is `.strict()` — unknown keys at the top level are
92
+ rejected at load time so typos surface loudly rather than silently
93
+ no-op.
94
+
95
+ ### 1.7 `kind` / `usage` / `includes` (MM.1 + MM.2 + MM.3 + MM.4)
96
+
97
+ Schema: `src/packs/schemas/manifest.ts:287-305` (enums + CompositeInclude)
98
+
99
+ - `:330-365` (Manifest superRefine). Loader: `src/packs/loader.ts:110-150`
100
+ (team.yaml load + folds). Resolver: `src/packs/composite_resolver.ts`.
101
+
102
+ **Pack kind semantics (MM.1):**
103
+
104
+ - **focused** — own content + own foundation + own detected_by. The
105
+ canonical pack shape. All pre-MM.1 packs default to focused.
106
+ - **composite** — pure aggregator with no own content. MUST have
107
+ non-empty `includes:`; MUST NOT declare `foundation`. References
108
+ focused packs via `{pack_id, semver}` entries; the loader expands
109
+ these at discovery time (§3.1). Composite packs appear in the
110
+ loaded-pack list alongside their expanded includes (for audit
111
+ identity); when the dispatcher walks, it traverses the focused packs
112
+ (composites have no own skills to walk).
113
+
114
+ **Pack usage semantics (MM.1 + MM.2):**
115
+
116
+ - **active** — pack loads into the parent agent's mind via discovery +
117
+ dispatcher walks its skills on every event. Pre-MM.1 default.
118
+ - **profession** — pack does NOT load actively; SPAWNED as a subagent
119
+ via the `spawn_subagent` primitive when a directive's
120
+ `next_action.profession` references it. REQUIRES `team.yaml` with
121
+ ≥ 1 role (loader enforces existence + parse).
122
+ - **both** — eligible for either path. Most shipped profession packs
123
+ (scope-architect, pack-architect) use `both` so they fire actively
124
+ when opted-in AND can be spawned on demand.
125
+
126
+ **`includes:` shape:**
127
+
128
+ ```yaml
129
+ includes:
130
+ - pack_id: scope-architect
131
+ semver: '>=0.1.0'
132
+ - pack_id: pack-architect
133
+ semver: '^0.1.0'
134
+ ```
135
+
136
+ Semver ranges follow the standard `semver` npm syntax. Load-time
137
+ resolution validates each include against the discovered pack registry
138
+ (see §3.1 for the 5 error codes).
139
+
140
+ **Profession spawn (MM.2 + MM.3 + MM.4):** when a rule emits a
141
+ `directive` verdict with `next_action.profession: <name>`, the
142
+ dispatcher validates the named pack exists, has `usage: profession|both`,
143
+ and has a loaded team.yaml (see §3.4 for the 5 error codes + the
144
+ no-agent-loop invariant — opensquid emits the directive, the agent
145
+ invokes `spawn_subagent`).
146
+
147
+ ### 1.2 `foundation:` taxonomy (IDF.1)
148
+
149
+ Schema: `src/packs/schemas/manifest.ts:200-225`. Optional descriptive
150
+ block declaring what a pack knows about. Runtime treats it as
151
+ metadata in IDF.1 — Phase 2 multi-mode addressing will consume it
152
+ for taxonomic matching.
153
+
154
+ ```yaml
155
+ foundation:
156
+ tools:
157
+ - { name: react, semver: ^19 }
158
+ - { name: typescript, semver: ^5.4 }
159
+ domains:
160
+ - frontend
161
+ - state-management
162
+ methodologies:
163
+ - atomic-design
164
+ - test-driven-development
165
+ ```
166
+
167
+ - `tools[]` — `{name, semver?}` entries. `semver` is freeform string
168
+ (the runtime doesn't currently parse it; Phase 2 will).
169
+ - `domains[]` — free-text strings; pack-architect's discovery uses
170
+ these.
171
+ - `methodologies[]` — free-text strings.
172
+
173
+ All three sub-fields default to `[]`. Omitting the whole `foundation:`
174
+ block is fine — the field is `Foundation.optional()` at the schema
175
+ layer.
176
+
177
+ ### 1.3 `activation_scope:` (IDF.1 + IDF.4)
178
+
179
+ Schema: `src/packs/schemas/manifest.ts:227-235`. Dispatcher routing:
180
+ `src/runtime/hooks/dispatch.ts:168-210` (`activationScopeApplies`).
181
+
182
+ Distinct axis from `scope:` — `scope:` is **layering precedence**
183
+ (universal → domain → specialty → workflow → project for sort
184
+ ordering), `activation_scope:` is **WHO the pack applies to** for
185
+ dispatch routing.
186
+
187
+ | Value | When applies | Notes |
188
+ | --------- | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------- |
189
+ | `project` | When `ctx.inProject` (default — matches today's implicit behavior) | Pack only fires in projects where it's been opted in |
190
+ | `user` | When `ctx.isUserSession` (always true today) | Per-user, regardless of cwd |
191
+ | `hybrid` | When BOTH `inProject` AND `isUserSession` | Project + user signals must coincide |
192
+ | `team` | Always **inert** | Ships semantic; will fire when team-mode infrastructure lands. Packs declaring `team` are silently dormant in v0.5.x |
193
+ | `global` | When `ctx.isUserSession` (today, equivalent to `user`) | Distinguishable from `user` only when multi-user infrastructure lands (post-v1) |
194
+
195
+ Default: `'project'` (Zod default — packs that omit `activation_scope:`
196
+ behave identically to today's per-cwd loading).
197
+
198
+ ### 1.4 `detected_by[]` (IDF.1 + IDF.2 + IDF.3)
199
+
200
+ Schema: `src/packs/schemas/manifest.ts:237-310` (7-kind discriminated
201
+ union). Evaluator: `src/runtime/detection.ts:50-145`
202
+ (`matchesDetectedBy`). Auto-activation: `src/packs/discovery.ts:50-100`
203
+ (per-pack gate).
204
+
205
+ A pack lists detection clauses that the runtime evaluates against the
206
+ current cwd + memory + prompts. **OR semantics across clauses**: first
207
+ clause that matches wins. **Empty array** (or omitted block) → always
208
+ matches (back-compat).
209
+
210
+ **Opt-in invariant**: a pack must STILL be listed in `active.json` to
211
+ load. `detected_by` gates WHEN among opted-in packs; it never causes
212
+ silent installs.
213
+
214
+ The 7 kinds:
215
+
216
+ | Kind | Required fields | Semantic |
217
+ | --------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
218
+ | `file_exists` | `path` | True iff `ctx.files[path] === true` |
219
+ | `dir_exists` | `path` | True iff `ctx.dirs[path] === true` |
220
+ | `file_match` | `path`, `matches: {jsonPath → regex}` | Parse JSON at `path`; for each `matches[]` entry, resolve dotted JSON path + regex-test the value. AND across keys |
221
+ | `file_glob` | `pattern`, `min_count` (default 1) | Count files in `ctx.files` matching the minimatch pattern; true iff ≥ `min_count` |
222
+ | `memory_match` | `pattern` | RegExp test against `ctx.memoryBodies` |
223
+ | `conversation_signal` | `pattern` | RegExp test against `ctx.recentPrompts` |
224
+ | `user_pinned` | (none) | True iff `ctx.userPinned`. **⚠ CURRENTLY INERT** — see caveat below |
225
+
226
+ ```yaml
227
+ detected_by:
228
+ - kind: file_exists
229
+ path: package.json
230
+ - kind: file_match
231
+ path: package.json
232
+ matches:
233
+ 'dependencies.react': "\\^19"
234
+ - kind: dir_exists
235
+ path: src/components/atoms
236
+ - kind: file_glob
237
+ pattern: '**/*.tsx'
238
+ min_count: 3
239
+ ```
240
+
241
+ **⚠ `user_pinned` is currently inert — never gate a pack solely on it.**
242
+ `ctx.userPinned` is not yet populated (`bootstrap.ts` `buildDetectionContext`
243
+ leaves it `false`, deferred to a later phase). Because the real loader passes a
244
+ non-`null` `ctx`, a pack whose ONLY `detected_by` clause is `user_pinned` fails
245
+ its detection gate and is **silently excluded even when listed in `active.json`**
246
+ (this is exactly the EWG.3.1 bug that disabled `scope-fsm`/`workflow-fsm`). For a
247
+ pack that should load purely on opt-in, declare NO `detected_by` block — an empty
248
+ array always matches (`discovery.ts:194`). Opt-in via `active.json` IS the pin.
249
+
250
+ **No LLM in detection.** All 7 kinds are pure regex / filesystem /
251
+ prompt-substring matches. Per `feedback_stop_haiku_drift` L4 — LLM
252
+ calls in the hot path break determinism + cost predictability.
253
+
254
+ **Malformed-input safety**: malformed JSON in `file_match` silently
255
+ returns false; malformed regex returns false. Pack-load-time RE2
256
+ validation is a deferred follow-up.
257
+
258
+ ### 1.5 Side files
259
+
260
+ Most side files are referenced from `manifest.yaml` via a `*_ref:`
261
+ field naming a file in the same pack directory. The loader reads +
262
+ validates each via its own Zod schema; failures throw with a
263
+ path-bearing error so authors can fix the config.
264
+
265
+ | Side file | Schema | Purpose |
266
+ | --------------------- | ------------------------------------- | ------------------------------------------------------------------------------- |
267
+ | `chat_agent.yaml` | `src/packs/schemas/chat_agent.ts` | Chat-bridge identity (display name + persona) |
268
+ | `models.yaml` | `src/packs/schemas/models.ts` | Model aliases (e.g. `reasoning` → vendor model id) — keeps source model-neutral |
269
+ | `channels.yaml` | `src/packs/schemas/channels.ts` | Chat channel registry (project-bridge mapping) |
270
+ | `notifications.yaml` | `src/packs/schemas/notifications.ts` | Notification routing rules |
271
+ | `drift_response.yaml` | `src/packs/schemas/drift_response.ts` | Per-rule drift policy + corrective_skills (see §4.3) |
272
+ | `team.yaml` | `src/packs/schemas/team.ts` | Profession-pack marker (`role:` + `skills_catalog:`) |
273
+ | `fsm.yaml` | `Fsm` in `src/runtime/fsm.ts` | Pack-lifecycle FSM (see §1.13). **Auto-loaded by filename — NO `*_ref`.** |
274
+
275
+ **`fsm.yaml` is the exception to the `*_ref:` rule.** It is read by
276
+ fixed filename (`loader.ts:199` `loadOptionalFsm`), validated for totality
277
+ (`validateFsm`), and folded onto the runtime `Pack` as `pack.fsm`
278
+ (`types.ts:415`). Absent file → `pack.fsm` is `undefined`; the FSM primitives
279
+ then return `null` (no machine to walk).
280
+
281
+ ### 1.6 `scope:` (layering precedence)
282
+
283
+ Schema: `src/packs/schemas/manifest.ts` (Scope enum). Distinct from
284
+ `activation_scope:` (§1.3). Five layers, descending precedence:
285
+
286
+ 1. `universal` — discipline that applies to every domain
287
+ 2. `domain` — domain-specific knowledge (e.g. all frontend work)
288
+ 3. `specialty` — narrower domain (e.g. atomic-design within frontend)
289
+ 4. `workflow` — process discipline (e.g. test-driven workflow)
290
+ 5. `project` — project-local rules
291
+
292
+ `sortPacksByScope` (`src/packs/load_order.ts`) orders the loaded pack
293
+ list by `scope` precedence (universal first), then alphabetically by
294
+ name within a scope. First-match short-circuit in the dispatcher means
295
+ higher-precedence packs' verdicts win.
296
+
297
+ ### 1.8 `base_version` + `personal_revision` — living-pack state (LP.1 + LP.3)
298
+
299
+ A **living pack** consists of two layers:
300
+
301
+ - **`base_version`** (immutable semver) — set once at install from the
302
+ vanilla source's `manifest.yaml#version`. NEVER mutated by the engine
303
+ after install. The anchor point for 3-way merges on subsequent vanilla
304
+ upgrades (see §3.5).
305
+ - **`personal_revision`** — monotonic counter + per-lesson YAML files at
306
+ `~/.opensquid/packs/<id>/personal_revision/`. Grown by the
307
+ wedge-promote pipeline (LP.3) on each Stage 2 lesson promotion. Each
308
+ lesson is stored as `lesson_<n>.yaml` with `n` monotonic from 1.
309
+
310
+ State file: `version.json` at `<state-dir>/personal_revision/version.json`:
311
+
312
+ ```json
313
+ {
314
+ "base_version": "1.2.3",
315
+ "personal_revision_id": 5,
316
+ "last_merged_vanilla": "1.2.3"
317
+ }
318
+ ```
319
+
320
+ `last_merged_vanilla` records the most recent vanilla version
321
+ successfully 3-way-merged against (or `null` if never upgraded). The
322
+ upgrade gate (`checkAndMergeUpgrades`) compares this against the
323
+ current vanilla `manifest.version` to decide whether to fire LP.2's
324
+ merger.
325
+
326
+ Helpers: `readVersionJson` / `writeVersionJson` / `readLessonFiles` /
327
+ `appendLessonFile` / `initPersonalRevision` /
328
+ `persistPromotedLesson` in `src/packs/personal_revision.ts:1-220`.
329
+ All writes go through atomic `<file>.tmp.<pid>.<rand>` + `fs.rename`.
330
+
331
+ ### 1.9 Pack export modes (LP.4)
332
+
333
+ `opensquid pack export <name> --mode <m>` ships a pack as a directory
334
+ (or `.tgz` in v1.5+) with one of these stripping policies:
335
+
336
+ | Mode | Memory citations | Memory bodies | Use case | Status |
337
+ | ------------------------ | -------------------------- | --------------- | ------------------------- | --------------- |
338
+ | `lessons-only` (DEFAULT) | Stripped (regex) | Dropped | Safe peer-sharing path | v1 |
339
+ | `raw` | Preserved verbatim | Preserved | Local self-backup only | v1 |
340
+ | `with-evidence` | Re-mapped `mem-export-<n>` | Included inline | Trusted team/org transfer | v1.5 (deferred) |
341
+
342
+ Stripping is regex-based, deterministic, no LLM calls per
343
+ [[feedback_stop_haiku_drift]]. See `src/cli/pack.ts:buildExportCommand`.
344
+
345
+ ### 1.10 `seed_lessons:[]` — pack-author knowledge ingest (DOG.3 + DOG.4)
346
+
347
+ Optional array on `manifest.yaml`. Each entry is ingested into the
348
+ engine's lessons table at load time via `engine.lessonCreate({
349
+ authored_by: 'pack', pack_id, external_id, seed_as_promoted: true })`.
350
+
351
+ ```yaml
352
+ seed_lessons:
353
+ - title: 'Server Components by default; "use client" only at the leaf'
354
+ body: |
355
+ In React 19, every component defaults to server-render. Add
356
+ "use client" at the leaf where interactivity is genuinely required.
357
+ scope: user # or 'global'
358
+ tags: [react-19, server-components, performance]
359
+ source: 'https://react.dev/reference/rsc/server-components'
360
+ ```
361
+
362
+ Contract:
363
+
364
+ - **Idempotent re-ingest** — `external_id = pack-seed:<sha256(<pack>@<version>|<title>).slice(0,24)>`.
365
+ Engine returns `updated: true` for an UPSERT hit; `false` for a new
366
+ row. Re-running `loadPack` after a manifest edit re-ingests only the
367
+ delta (entries with new title text or new pack version).
368
+ - **Eviction-immune** — `authored_by: 'pack'` mirrors the user-authored
369
+ immunity contract per [[feedback_user_authored_lessons_immune]].
370
+ The engine refuses `delete(force)` on these rows.
371
+ - **Promoted-on-ingest** — `seed_as_promoted: true` bypasses the
372
+ pending → promoted gate so seed knowledge is recall-eligible from the
373
+ first session.
374
+ - **Fire-and-forget failure handling** — per-seed RPC errors are
375
+ COLLECTED, never thrown. A missing or down engine does NOT block pack
376
+ load; seeds are simply absent from recall until the next loadPack
377
+ with an engine present.
378
+
379
+ Schema: `SeedLesson` in `src/packs/schemas/manifest.ts`. Ingest
380
+ implementation: `src/packs/seed_lessons_ingest.ts`. The runtime Pack
381
+ type hoists `seedLessons?: SeedLesson[]` so downstream consumers
382
+ (audit-trail, future fixture sync) can read without re-parsing YAML.
383
+
384
+ ### 1.11 `verify_gates:[]` — declarative author gates (DOG.3 + DOG.4)
385
+
386
+ Optional array on `manifest.yaml`. Each entry compiles at load time
387
+ into one `TrackCheckRule` whose process is a single `verdict` primitive
388
+ call gated by the gate's `check` if-expression. The compiled rules are
389
+ grouped under a synthetic skill named `<pack>/verify` with triggers
390
+ derived from each gate's `when.event_kind`.
391
+
392
+ ```yaml
393
+ verify_gates:
394
+ - name: no-rm-rf
395
+ when:
396
+ event_kind: tool_call
397
+ check: 'contains(tool_args.command, "rm -rf")'
398
+ on_fail:
399
+ level: block
400
+ message: |
401
+ BLOCKED: `rm -rf` is too destructive.
402
+ ```
403
+
404
+ Contract:
405
+
406
+ - **Pre-parse validation** — every `check` expression is run through
407
+ `parseExpression` at load time. A malformed expression throws at
408
+ `loadPack` with the offending gate name (no silent skipping).
409
+ - **5-fn allow-list** — `check` uses `len` / `contains` / `startsWith`
410
+ / `endsWith` / `match`. Identifiers reference bindings the dispatcher
411
+ populates from the event (e.g. `tool_args.command`, `prompt`).
412
+ - **Synthetic skill provenance** — compiled rule ids follow the
413
+ `gate:<gate-name>` pattern so drift-catalog greps can attribute the
414
+ verdict to its source gate.
415
+ - **Trigger dedup** — multiple gates on the same `event_kind` produce
416
+ ONE trigger entry on the synthetic skill.
417
+ - **Tool-name filtering belongs in the check expression** — the
418
+ `tool_call` `Trigger` variant in `event.ts` carries no per-trigger
419
+ `tool_match` field; use `match(tool, "^Bash$") && ...` inside the
420
+ `check` instead.
421
+
422
+ Schema: `VerifyGate` + `VerifyGateWhen` in `src/packs/schemas/manifest.ts`.
423
+ Compiler: `src/packs/verify_gates_compiler.ts`.
424
+
425
+ ### 1.12 `livingVersion` runtime field (DOG.5)
426
+
427
+ The loader folds the per-pack `personal_revision/version.json` shape
428
+ (LP.1) into a single convenience triple on the runtime `Pack`:
429
+
430
+ ```ts
431
+ pack.livingVersion; // {base: string, revision: number} | undefined
432
+ ```
433
+
434
+ - `base` — semver string the pack was installed at (immutable per LP.1).
435
+ - `revision` — monotonic count of promoted lessons; 0 for a fresh install.
436
+ - `undefined` — pack isn't user-installed (built-in pack with no
437
+ `~/.opensquid/packs/<id>/` state dir).
438
+
439
+ Read API: `getLivingPackVersion(packId): Promise<LivingPackVersion |
440
+ null>` in `src/packs/living_pack.ts`. Honors `OPENSQUID_HOME` env
441
+ override (test seam wired through LP.3's `resolvePackStateDir`).
442
+
443
+ ### 1.13 `guards:[]` — reusable detect→verdict gate template (T-PACK-FSM-STANDARDIZATION slice B)
444
+
445
+ Optional array on `manifest.yaml`. A guard is the compressed form of the
446
+ recurring "inspect the event, then emit a verdict if a condition holds" pattern —
447
+ the generalization of §1.11's `verify_gates`. Each guard compiles at load time
448
+ into a `TrackCheckRule` (a `detect` step when present, then a gated `verdict`
449
+ step) under a synthetic skill named `<pack>/guards`, triggered on the guard's
450
+ `on:` event kind.
451
+
452
+ ```yaml
453
+ guards:
454
+ - name: no-rm-rf
455
+ on: tool_call # tool_call | prompt_submit | stop | session_end (default tool_call)
456
+ detect: # optional — a primitive call whose result binds to `as`
457
+ call: tool_args
458
+ as: targs # binding name for the detect result (default `hit`)
459
+ when: 'contains(targs.command, "rm -rf")' # if-expression; the verdict condition
460
+ level: block # warn | block
461
+ message: |
462
+ BLOCKED: `rm -rf` is too destructive.
463
+ ```
464
+
465
+ Schema: `Guard` + `GuardDetect` in `src/packs/schemas/manifest.ts:452-479`.
466
+ Compiler: `src/packs/guards_compiler.ts` (`compileGuards`). Loader fold:
467
+ `src/packs/loader.ts:130`.
468
+
469
+ Contract:
470
+
471
+ - **`detect` is optional.** With `detect`, the named primitive runs first and its
472
+ result binds to `as` (default `hit`); `when` typically references that binding.
473
+ Without `detect`, `when` is a standalone check (the `verify_gates` case) — the
474
+ two features share the same compile target.
475
+ - **Pre-parse validation** — every `when` expression runs through the compiler's
476
+ `parseExpression` at load time; a malformed expression throws at `loadPack` with
477
+ the offending guard name (fail-loud, same as `verify_gates`).
478
+ - **`guards:` vs `verify_gates:`** — `verify_gates` is the `when`-only special
479
+ case (no `detect` step, `event_kind` nested under `when:`); `guards` adds the
480
+ optional `detect` step + a flat `on:` field. New packs should prefer `guards:`;
481
+ `verify_gates:` stays for back-compat.
482
+ - **`guards:` vs hand-written skills** — a guard is for the common
483
+ single-detect-then-verdict shape. A rule needing multiple primitive calls,
484
+ branching, or state reads still warrants a hand-written `skill.yaml`.
485
+
486
+ ---
487
+
488
+ ## 2. Skill format
489
+
490
+ A skill lives at `packs/<name>/skills/<skill-name>/skill.yaml`.
491
+
492
+ ### 2.1 `skill.yaml` fields
493
+
494
+ Schema: `src/packs/schemas/skill.ts:285-330`.
495
+
496
+ | Field | Type | Default | Purpose |
497
+ | -------------- | ----------------- | ----------------------- | ------------------------------------------------------------------- |
498
+ | `name` | string | required | Skill name (must be unique within the pack) |
499
+ | `load` | enum | `'lazy'` | `'preload'` keeps skill resident; `'lazy'` loads per `when_to_load` |
500
+ | `when_to_load` | Matcher[] | `[]` | When a `lazy` skill loads (see 2.2) |
501
+ | `requires` | SkillRequires[] | `[]` | AND-preconditions evaluated at dispatcher (see 2.3) |
502
+ | `unloads_when` | UnloadCondition[] | `[]` | When a dynamic skill unloads (idle ticks, etc.) |
503
+ | `triggers` | Trigger[] | `[{kind: 'tool_call'}]` | Which Event kinds wake this skill (see 2.4) |
504
+ | `rules` | Rule[] | required | The skill's actual logic (see 2.5) |
505
+
506
+ ### 2.2 `when_to_load:` matchers
507
+
508
+ Schema: `src/runtime/load_matchers.ts:50-180`. Each matcher is a
509
+ discriminated-union variant; the skill loads when ANY matcher
510
+ matches the current event/context.
511
+
512
+ Common matcher kinds (full list in `load_matchers.ts`):
513
+
514
+ - `event_type` — `{event_type: 'prompt_submit'}` matches any
515
+ prompt-submit event
516
+ - `tool_used` — `{tool_used: 'Write'}` matches Write tool calls
517
+ - `cwd_match` — regex against cwd
518
+ - `command_match` — regex against bash command
519
+ - `path_match` — regex against file_path arg
520
+ - `prompt_match` — regex against prompt text
521
+
522
+ ### 2.3 `Skill.requires:` AND-preconditions (T-ASC ASC.2)
523
+
524
+ Schema: `src/runtime/skill_requires.ts`. Each `requires:` entry is a
525
+ precondition the dispatcher evaluates BEFORE walking any rule. If any
526
+ precondition is false, the entire skill is skipped (no rules
527
+ evaluate, no `inject_context` fires).
528
+
529
+ ```yaml
530
+ requires:
531
+ - kind: automation_mode_on
532
+ - kind: active_task_present
533
+ ```
534
+
535
+ Schema: each entry is `{kind: <variant>}`. Two variants ship today
536
+ (`skill_requires.ts:48-49`): `automation_mode_on` (stat the session
537
+ `automation.flag`) and `active_task_present` (stat the session
538
+ `active-task.json`). The former `chain_stage:` precondition was REMOVED with
539
+ chain_state (`skill_requires.ts:11`) — gate on FSM state via the `read_fsm_state`
540
+ primitive inside a rule's `process:` instead (see §2.6 + §5.2).
541
+
542
+ Preconditions are AND-composed. An empty `requires:[]` trivially
543
+ holds (back-compat).
544
+
545
+ A `RequiresCache` (`src/runtime/skill_requires.ts:RequiresCache`)
546
+ amortizes precondition reads across N skills that share the same
547
+ precondition within a single `dispatchEvent` call.
548
+
549
+ ### 2.4 `triggers:` (Event kinds)
550
+
551
+ Schema: `src/packs/schemas/skill.ts:286-329` (the
552
+ `triggers:` field). Each trigger is a discriminated-union object.
553
+
554
+ Event kinds (`src/runtime/event.ts:1-200`):
555
+
556
+ | Kind | Source | Common matchers |
557
+ | ----------------- | ---------------------------- | ---------------------------- |
558
+ | `tool_call` | Claude Code PreToolUse hook | `tool_used`, `command_match` |
559
+ | `post_tool_call` | Claude Code PostToolUse hook | `tool_used` |
560
+ | `prompt_submit` | UserPromptSubmit hook | `prompt_match` |
561
+ | `session_end` | SessionEnd hook | — |
562
+ | `stop` | Stop hook | — |
563
+ | `schedule` | scheduler tick (SCHED.1) | `cron:` literal in trigger |
564
+ | `webhook` | webhook intake (SCHED.2) | route literal in trigger |
565
+ | `inbound_channel` | chat inbound (LL.3 watcher) | `channel`, `sender_pattern` |
566
+ | `file_changed` | file-watcher (SCHED.3) | path glob in trigger |
567
+
568
+ Omitting `triggers:` defaults to `[{kind: 'tool_call'}]` —
569
+ preserves Phase 1+ behavior verbatim.
570
+
571
+ **`inbound_channel` filter semantics** (T-L3-LOOP LL.3 / LL.4):
572
+
573
+ - `channel: 'telegram' | 'slack' | 'discord'` (optional). When set, the
574
+ trigger fires only if the parsed scheme of `event.channelUri` matches
575
+ (e.g. `'telegram'` matches `telegram://...`). Omit to accept all
576
+ platforms.
577
+ - `sender_pattern: string` (optional). JS RegExp (first-party trust
578
+ boundary — packs are vendored; pack authors are trusted to write
579
+ non-pathological patterns). Matched against `event.sender`. Empty
580
+ string OR omitted = accept all senders. Malformed pattern → trigger
581
+ silently skipped at dispatch.
582
+ - `cost_tier:` (optional, inherits the general trigger field).
583
+
584
+ **`InboundChannelEvent` payload** (defined at `src/runtime/event.ts:136-144`):
585
+
586
+ | Field | Type | Description |
587
+ | ------------ | ------- | ------------------------------------------------ |
588
+ | `channelUri` | string | `<platform>://<channel>[/<thread_id>]` per LL.3 |
589
+ | `sender` | string | platform display name (e.g. Telegram first_name) |
590
+ | `text` | string | message body |
591
+ | `threadKey` | string? | thread/topic id (Telegram `message_thread_id`) |
592
+ | `receivedAt` | string | ISO-8601, platform-stamped |
593
+
594
+ Multi-platform within one skill: declare two `triggers:` entries (one
595
+ per platform). Skill-rule composition is layered — not OR-ed at the
596
+ trigger schema.
597
+
598
+ Reference example: `packs/builtin/default-discipline/skills/inbound-greeter/`
599
+ demonstrates the trigger pattern (surface-verdict acknowledgment of any
600
+ inbound message).
601
+
602
+ ### 2.5 `rules:` (Rule discriminated union)
603
+
604
+ Schema: `src/packs/schemas/skill.ts:135-200`. Two kinds:
605
+
606
+ - `track_check` — per-event rule walked at dispatch time. The
607
+ default. Evaluates `process:` steps, may emit a verdict.
608
+ - `destination_check` — periodic rule walked by the destination
609
+ scheduler (every N tool calls). Does NOT fire through the
610
+ per-event dispatcher.
611
+
612
+ ```yaml
613
+ rules:
614
+ - id: warn-on-amend
615
+ kind: track_check
616
+ requires: [] # rule-local preconditions (peer to Skill.requires)
617
+ process:
618
+ - call: tool_name
619
+ as: tool
620
+ - call: match_command
621
+ as: m
622
+ - call: verdict
623
+ if: 'tool == "Bash" && m.matched == true'
624
+ args:
625
+ level: warn
626
+ message: 'avoid git commit --amend in shared branches'
627
+ ```
628
+
629
+ ### 2.6 `process:` step grammar
630
+
631
+ Schema: `src/packs/schemas/skill.ts:101-130`. Each step is one of:
632
+
633
+ - `call:` a primitive name (see §5 for catalog) + `as:` binding
634
+ name + optional `args:` + optional `if:` predicate + optional
635
+ `on_empty:` for empty-result short-circuits
636
+ - `set:` literal binding (no primitive call)
637
+
638
+ The `if:` expression grammar is documented in `docs/skill-grammar-guide.md`
639
+ — it supports `==`/`!=`, `&&`/`||`/`!`, dotted path access into
640
+ bound bindings (e.g. `tool.value`), the `contains(haystack, needle)`
641
+ helper, and a few well-known booleans (`true`/`false`/`null`).
642
+
643
+ Evaluation is strictly sequential: each step's `as:` binding is
644
+ visible to all subsequent steps via dotted access.
645
+
646
+ ---
647
+
648
+ ## 3. Lifecycle
649
+
650
+ ### 3.1 Discovery (`active.json` + `detected_by`)
651
+
652
+ Module: `src/packs/discovery.ts:1-130`.
653
+
654
+ 1. **Scope resolution** — `resolveUserScopeRoot()` returns
655
+ `~/.opensquid/`; `resolveProjectScopeRoot(cwd)` walks up from cwd
656
+ looking for `.opensquid/` (returns `null` if none above cwd).
657
+ 2. **active.json read** — `<scope>/active.json` is JSON with shape
658
+ `{packs: string[]}`. ENOENT → empty pack list (no opt-in). Malformed
659
+ JSON / missing `packs:` → throws path-bearing error (fail-LOUD per
660
+ `project_opensquid_runtime_failure_handling`).
661
+ 3. **Per-pack load** — `loadPack(<scope>/packs/<name>/)` parses
662
+ `manifest.yaml` + every `skills/*/skill.yaml` + side files.
663
+ 4. **Detection gate (IDF.3)** — if the caller passed a
664
+ `DetectionContext`, each opted-in pack is gated on
665
+ `matchesDetectedBy(pack.detectedBy ?? [], ctx)`. Mismatched packs
666
+ are skipped from results. `null` ctx → legacy behavior (all
667
+ opted-in packs load).
668
+ 5. **Opt-in invariant** — a pack NOT in `active.json` is NEVER
669
+ loaded regardless of `detected_by`. No silent installs.
670
+ 6. **Composite expansion (MM.1)** — after per-pack discovery + detected_by
671
+ filtering, `discoverActivePacks` calls `expandComposites`
672
+ (`src/packs/composite_resolver.ts`) to walk every composite pack's
673
+ `includes:` against the discovered focused-pack registry. The
674
+ expanded list contains:
675
+ - Every original focused pack (deduped)
676
+ - Every composite pack (preserved for audit identity — composites have
677
+ no skills to walk, but stay in the list for diagnostics)
678
+ - Every focused pack referenced by any composite's includes (deduped;
679
+ first-occurrence-wins; scope-precedence preserved)
680
+
681
+ Composite resolution errors throw `CompositeResolutionError` with a
682
+ `cause` field:
683
+
684
+ | Cause code | Trigger |
685
+ | ----------------- | ------------------------------------------------------------------------- |
686
+ | `unknown-pack` | composite references a `pack_id` not in the registry |
687
+ | `semver-mismatch` | registry version doesn't satisfy the include's range |
688
+ | `cycle` | composite A → B → A (or longer chain) detected within one resolution walk |
689
+ | `depth-exceeded` | > 3 levels of nested composite expansion |
690
+ | `invalid-semver` | malformed range string |
691
+
692
+ ### 3.2 Load order
693
+
694
+ Module: `src/packs/load_order.ts` (`sortPacksByScope`).
695
+
696
+ After discovery returns user + project packs, the loader concatenates
697
+ them and sorts by `scope:` precedence (universal first, project last)
698
+ then alphabetically within a scope. First-match short-circuit means
699
+ higher-precedence packs win.
700
+
701
+ ### 3.3 `extends:` inheritance (planned)
702
+
703
+ Not shipped in v0.5.x. Skill-level `extends:` will let a pack inherit
704
+ another pack's skill + selectively override fields. Tracked
705
+ separately.
706
+
707
+ ### 3.5 Vanilla upgrade lifecycle (LP.2 + LP.5)
708
+
709
+ When a user runs `opensquid pack install <newer-source>` for an
710
+ already-installed pack OR when session-load discovery sees
711
+ `manifest.version > base_version` AND personal_revision has lessons
712
+ (id > 0) AND `last_merged_vanilla !== current vanilla`, the lazy 3-way
713
+ merge resolver triggers:
714
+
715
+ 1. Read base snapshot (immutable installed version) from
716
+ `<state-dir>/base/`
717
+ 2. Read personal lesson files from
718
+ `<state-dir>/personal_revision/lesson_*.yaml`
719
+ 3. Read vanilla snapshot from the install source / extracted directory
720
+ 4. For each file in the union (.yaml/.yml/.md only; node_modules/.git/
721
+ skipped):
722
+ - Both base & vanilla unchanged → `unchanged`
723
+ - Only personal touched → `auto-merged-personal` (preserve personal)
724
+ - Only vanilla touched → `auto-merged-vanilla` (adopt vanilla)
725
+ - Both touched → `conflict`: emit `lesson_<n>.conflict.yaml` sidecar
726
+ with YAML-comment-safe git-style markers (`# <<<<<<< base`, `#
727
+ =======`, `# >>>>>>> vanilla <semver>`)
728
+ 5. Update `last_merged_vanilla` in version.json on success
729
+
730
+ User resolves conflicts manually by editing the `.conflict.yaml`
731
+ sidecar + renaming back to `.yaml`. On next discovery the resolved
732
+ file is picked up as the canonical lesson.
733
+
734
+ **Lazy by design (per L10):** no background poller; the merge fires on
735
+ next discovery only. **Idempotent (per L11):** same vanillaVersion →
736
+ returns `noop: true` without file writes. **base_version immutable:**
737
+ only `last_merged_vanilla` mutates; `base_version` stays the
738
+ install-time value.
739
+
740
+ Per-session cache: `(packId, base, vanilla, revisionId)` tuple
741
+ short-circuits redundant calls. Cleared via `clearMergeCache()` (called
742
+ by bootstrap on SessionStart).
743
+
744
+ Helpers: `checkAndMergeUpgrades` + `clearMergeCache` in
745
+ `src/packs/discovery.ts`. Underlying merger: `runThreeWayMerge` in
746
+ `src/runtime/versioning.ts:1-250`.
747
+
748
+ ### 3.4 Dispatch flow
749
+
750
+ Module: `src/runtime/hooks/dispatch.ts:205-380` (`dispatchEvent`).
751
+
752
+ ```
753
+ event (ToolCallEvent | …)
754
+
755
+ for each pack in packs (already scope-sorted):
756
+
757
+ IDF.4 filter: activationScopeApplies(pack.activationScope ?? 'project', scopeCtx)
758
+
759
+ ↓ true (else skip pack)
760
+
761
+ for each skill in pack.skills:
762
+
763
+ unload check: dynamicSkillNames has skill AND unloadSkip has skill → skip
764
+ AUTO.1 filter: skill.triggers some kind == event.kind → walk, else skip
765
+ ASC.2 gate: every skill.requires precondition holds → walk, else skip
766
+
767
+ for each rule in skill.rules:
768
+
769
+ destination_check kind → skip (handled by scheduler)
770
+
771
+ evaluateProcess(rule.process, …) → RuleResult
772
+
773
+ verdict (pass | block | warn | surface | directive)
774
+ OR inject_context (string aggregated)
775
+ OR no_verdict (continue)
776
+
777
+ verdict resolved → consult pack.driftResponse?.per_rule[rule.id] ?? .default ?? 'block_tool'
778
+
779
+ applyDriftResponse → {exitCode, stderr, …}
780
+
781
+ FIRST verdict short-circuits the walk (within the dispatchEvent call)
782
+
783
+ Special case — verdict.level === 'directive' (ASC.3 + MM.2):
784
+
785
+ Aggregate onto the per-event directives[] list (peer to contextInjections).
786
+
787
+ MM.2 — if next_action.profession is set:
788
+ 1. Look up profession pack in loaded registry
789
+ 2. Validate pack.usage in {'profession', 'both'}
790
+ 3. Validate pack.team is set + has >= 1 role
791
+ 4. On success: aggregate; UserPromptSubmit surfaces via envelope.
792
+ 5. On failure: DROP the directive + emit a stderr warning naming
793
+ the ProfessionResolutionError cause; the agent never sees a
794
+ malformed directive (fail-safe — no misleading the agent into
795
+ spawning an invalid profession).
796
+
797
+ The AGENT reads the surfaced directive + invokes spawn_subagent(...).
798
+ opensquid NEVER invokes spawn_subagent itself per
799
+ [[project_opensquid_no_agent_loop]] — the invariant is preserved.
800
+ ```
801
+
802
+ Profession-directive validation error codes (`ProfessionResolutionError`):
803
+
804
+ | Code | Trigger |
805
+ | ---------------- | ----------------------------------------------------------------- |
806
+ | `unknown-pack` | `next_action.profession` names a pack not in the loaded registry |
807
+ | `wrong-usage` | named pack exists but `usage === 'active'` |
808
+ | `missing-team` | named pack has `usage: profession\|both` but no loaded team.yaml |
809
+ | `no-roles` | team.yaml declares zero roles (defensive — schema enforces ≥ 1) |
810
+ | `role-not-found` | (multi-role) directive's `args.role` names a role not in the team |
811
+
812
+ Exit-code mapping (`src/runtime/hooks/dispatch.ts:45-60`):
813
+
814
+ | Policy | exitCode | stderr |
815
+ | -------------------- | -------- | --------------------------------------- |
816
+ | `block_tool` | 2 | message |
817
+ | `warn` | 0 | message |
818
+ | `full_stop_and_redo` | 2 | message |
819
+ | `notify_and_pause` | 0 | '' (Phase 4 wires channels) |
820
+ | `auto_correct` | 0 | '' (invokes corrective skill) |
821
+ | `escalate` | 2 | message (severity bumped to 'critical') |
822
+
823
+ Note `notify_and_pause` + `auto_correct` exit 0 in v0.5.x — their
824
+ real behavior lands as their wiring (channels, corrective dispatch)
825
+ ships in later phases. A misconfigured pack-declared policy won't
826
+ silently block tools today.
827
+
828
+ ---
829
+
830
+ ## 4. Verdict shapes
831
+
832
+ ### 4.1 Five levels
833
+
834
+ Schema: `src/runtime/types.ts:54-130` (`VerdictLevel` enum +
835
+ `Verdict` discriminated union).
836
+
837
+ | Level | Effect at dispatcher |
838
+ | ----------- | ---------------------------------------------------------------------------------------- |
839
+ | `pass` | Continue rule walk; no exit-code change |
840
+ | `block` | Resolve via drift_response → typically exit 2 |
841
+ | `warn` | Resolve via drift_response → typically exit 0 + stderr |
842
+ | `surface` | Aggregate to `contextInjections` (UserPromptSubmit hook surfaces) |
843
+ | `directive` | Aggregate to `directives[]` (UserPromptSubmit hook surfaces under `⛔ DIRECTIVE` marker) |
844
+
845
+ `surface` and `directive` COEXIST with `block` — a `block` verdict
846
+ sets the exit code, but earlier `surface`/`directive` aggregations
847
+ still surface via the hook envelope.
848
+
849
+ ### 4.2 `NextAction` shape (ASC.3 + DPC.1)
850
+
851
+ Schema: `src/runtime/types.ts:NextAction`. Used in `directive` verdicts.
852
+
853
+ ```typescript
854
+ {
855
+ skill?: string, // exactly one of skill / tool / profession (XOR)
856
+ tool?: string,
857
+ profession?: string,
858
+ args?: Record<string, unknown>,
859
+ rationale: string,
860
+ }
861
+ ```
862
+
863
+ The XOR is enforced via a Zod `.refine` — exactly one of `skill`,
864
+ `tool`, or `profession` must be set. The agent reading the directive
865
+ chooses what to do next based on the populated field.
866
+
867
+ `profession:` (DPC.1) routes the agent to a profession pack rather
868
+ than a single skill — useful when the next-action requires loading
869
+ a whole persona (e.g. `task-spec-author` / `scope-architect`).
870
+
871
+ ### 4.3 `drift_response.yaml` composition
872
+
873
+ Schema: `src/packs/schemas/drift_response.ts`. Six policies in the
874
+ `DriftPolicyEnum`:
875
+
876
+ | Policy | Semantic |
877
+ | -------------------- | -------------------------------------------------------------------------- |
878
+ | `block_tool` | Exit 2 with the verdict message — the default Phase-1 fallback |
879
+ | `warn` | Exit 0 + stderr message |
880
+ | `full_stop_and_redo` | Same exit-code shape as `block_tool`; corrective intent encoded in message |
881
+ | `notify_and_pause` | Exit 0 today; will route to channels (Phase 4) |
882
+ | `auto_correct` | Invokes a corrective sub-skill named via `corrective_skills:` (AUTO.4) |
883
+ | `escalate` | Bumps severity to `critical` + reroutes (AUTO.4) |
884
+
885
+ Per-rule overrides:
886
+
887
+ ```yaml
888
+ default: block_tool
889
+ per_rule:
890
+ warn-on-amend: warn
891
+ no-pre-emit-gate: notify_and_pause
892
+ corrective_skills:
893
+ no-pre-emit-gate: corrective-pre-emit-redo
894
+ ```
895
+
896
+ Resolution order at dispatch: `pack.driftResponse?.per_rule[rule.id]
897
+ ?? pack.driftResponse?.default ?? 'block_tool'`. The fallback
898
+ `'block_tool'` is the "no drift_response.yaml at all" branch — when
899
+ the file IS present but omits `default:`, the schema default
900
+ applies.
901
+
902
+ ---
903
+
904
+ ## 5. Primitive catalog
905
+
906
+ Primitives live in `src/functions/*.ts` and register against
907
+ `FunctionRegistry` at bootstrap. Pack rules invoke them via
908
+ `call: <name>` in `process:` steps. The catalog below lists every
909
+ shipped primitive by category.
910
+
911
+ ### 5.1 Event inspection (`src/functions/event.ts`)
912
+
913
+ | Primitive | Returns | Use |
914
+ | ------------------------ | ----------------------------- | ----------------------------------------------- |
915
+ | `tool_name` | `{value: string}` | The tool being called (`Bash`, `Write`, etc.) |
916
+ | `tool_args` | object | The tool's parsed args |
917
+ | `cwd` | `{value: string}` | Current working directory |
918
+ | `last_assistant_message` | `{value: string}` | Most recent assistant output |
919
+ | `match_command` | `{matched: bool, groups?: …}` | Regex-match against bash command (args.pattern) |
920
+
921
+ ### 5.2 State + FSM (`src/functions/state.ts`, `fsm.ts`, `session_tool_history.ts`)
922
+
923
+ | Primitive | Returns | Use |
924
+ | ---------------------- | -------------------- | -------------------------------------------------------------------------- |
925
+ | `read_state` | bound value | Read a session-scoped state key |
926
+ | `write_state` | `{ok: true}` | Write a session-scoped state key |
927
+ | `append_log` | `{ok: true}` | Append to a session-scoped log file |
928
+ | `read_fsm_state` | state string\|`null` | Read a pack-FSM's current state (own pack, or another via `pack:` arg) |
929
+ | `advance_fsm` | next-state string | Fire an `event:` against the own pack's FSM; persists + returns next state |
930
+ | `session_tool_history` | `{tools: string[]}` | Last N tool names this session |
931
+
932
+ `read_chain_state` was REMOVED with chain_state. The 7-phase workflow is now the
933
+ `coding-flow` pack's lifecycle; gate on it via `read_fsm_state` (`pack:
934
+ coding-flow` for a cross-pack read) — see §6.3. Both FSM primitives live in
935
+ `src/functions/fsm.ts:37,52`; `read_fsm_state` returns `null` when the pack has no
936
+ `fsm.yaml` or the machine is unstarted (`advance_fsm` then defaults to `initial`).
937
+
938
+ ### 5.3 Active-task (`src/functions/active_task.ts`)
939
+
940
+ | Primitive | Returns | Use |
941
+ | -------------------------- | ------------------- | ------------------------------------------------ |
942
+ | `has_active_task` | `{value: bool}` | Is there an active task at all? |
943
+ | `has_generated_spec` | `{generated: bool}` | Does active task have a metadata.spec disk file? |
944
+ | `task_list_generated` | `{value: bool}` | Has a task list been generated? |
945
+ | `workflow_phases_complete` | `{value: bool}` | Are all phases of active task logged? |
946
+
947
+ ### 5.4 Memory + recall (`src/functions/rag.ts` + `lessons.ts` + `recall_pre_inject.ts`)
948
+
949
+ | Primitive | Returns | Use |
950
+ | ------------------- | -------------------- | --------------------------------------- |
951
+ | `recall` | `{hits: [...]}` | Query the engine RAG for memory matches |
952
+ | `embed` | `{vector: number[]}` | Compute embedding |
953
+ | `store_lesson` | `{ok: true}` | Store a verified lesson |
954
+ | `propose_lesson` | `{ok: true}` | Propose a lesson (awaits promotion) |
955
+ | `promote_lesson` | `{ok: true}` | Promote a proposed lesson |
956
+ | `recall_lesson` | `{lesson?}` | Read a specific lesson by id |
957
+ | `recall_pre_inject` | `{value: string}` | Pre-inject recall hits at prompt submit |
958
+
959
+ ### 5.5 Pattern matching (`text_pattern_match.ts` + `path_exists.ts`)
960
+
961
+ | Primitive | Returns | Use |
962
+ | -------------------- | ----------------- | ----------------------------- |
963
+ | `text_pattern_match` | `{matched: bool}` | Regex match on a bound string |
964
+ | `path_exists` | `{exists: bool}` | Filesystem existence check |
965
+
966
+ ### 5.6 LLM + model-aliased (`src/functions/llm.ts` + `subagent.ts` + `destination_check.ts`)
967
+
968
+ All LLM-calling primitives route via `model_alias:` (no vendor model
969
+ names in source per `feedback_stop_haiku_drift`).
970
+
971
+ | Primitive | Returns | Use |
972
+ | ------------------- | ------------------------------------- | -------------------------------- |
973
+ | `llm_classify` | `{label: string, confidence: number}` | Classify input via aliased model |
974
+ | `subagent_call` | `{response: string}` | One-shot subagent invocation |
975
+ | `spawn_subagent` | `{id: string}` | Long-running subagent spawn |
976
+ | `check_destination` | `{state: …}` | Destination_check rule body |
977
+
978
+ ### 5.7 Verdict + control (`src/functions/verdict.ts`)
979
+
980
+ | Primitive | Returns | Use |
981
+ | ----------------------- | ------------------ | ---------------------------------------------- |
982
+ | `verdict` | RuleResult.verdict | Emit a verdict (level + message ± next_action) |
983
+ | `halt_task` | RuleResult | Halt the current task |
984
+ | `restart_workflow` | RuleResult | Restart the workflow chain |
985
+ | `set_active_task_state` | `{ok: true}` | Write to active-task state |
986
+
987
+ ### 5.8 Capability-gated (`src/functions/file_write.ts`, `shell_exec.ts`, `http_request.ts`)
988
+
989
+ These primitives MUST pass the `CapabilityGate`
990
+ (`src/runtime/capability_gate.ts`) at runtime. The built-in denylist
991
+ (`src/runtime/builtin_denylist.ts`) sealed via `Object.freeze` covers
992
+ the worst shell/path patterns (rm -rf /, fork bombs, dd to /dev/sd\*,
993
+ curl|sh, etc.).
994
+
995
+ | Primitive | Returns | Use |
996
+ | -------------- | ---------------------------- | ----------------------------- |
997
+ | `file_write` | `{ok: bool}` | Write to a permitted path |
998
+ | `shell_exec` | `{stdout, stderr, exitCode}` | Run a permitted shell command |
999
+ | `http_request` | `{status, body}` | Make a permitted HTTP request |
1000
+
1001
+ ### 5.9 Session signals (`src/functions/is_automation_mode.ts`)
1002
+
1003
+ | Primitive | Returns | Use |
1004
+ | -------------------- | --------------- | -------------------------------------------- |
1005
+ | `is_automation_mode` | `{value: bool}` | Is the automation flag set for this session? |
1006
+
1007
+ ---
1008
+
1009
+ ## 6. Audit + drift catalog
1010
+
1011
+ ### 6.1 Files written
1012
+
1013
+ | File | Writer | Purpose |
1014
+ | ------------------------------ | --------------------- | --------------------------------------------- |
1015
+ | `<sess>/violations.log` | `applyDriftResponse` | Append-only log of every fired drift policy |
1016
+ | `<sess>/drift-catalog.jsonl` | drift_response writer | One JSONL row per violation with full context |
1017
+ | `<sess>/state/fsm-<pack>.json` | `advanceFsmState` | A pack-FSM's `{state, history[]}` (per pack) |
1018
+ | `<sess>/active-task.json` | `writeActiveTask` | Current active task + metadata.spec |
1019
+ | `<sess>/workflow-phases.jsonl` | `log_phase` MCP tool | Per-task phase log (7-phase machine) |
1020
+ | `<sess>/skill-ticks.json` | `advanceSkillTicks` | Dynamic-skill unload tick counters |
1021
+
1022
+ ### 6.2 Audit-trail provenance
1023
+
1024
+ Each violation row carries:
1025
+
1026
+ - `ruleId` — which rule fired
1027
+ - `packName` — which pack owned the rule
1028
+ - `skillName` — which skill the rule belonged to
1029
+ - `subagentId` (when set) — which subagent emitted the input that
1030
+ triggered the verdict
1031
+ - `professionPack` (when set) — which profession pack the subagent
1032
+ was running under
1033
+
1034
+ This provenance lets the user trace any drift back to the pack + rule
1035
+ that fired, and (when enabled) to the subagent + profession that
1036
+ caused the input.
1037
+
1038
+ ### 6.3 The workflow as a pack FSM (replaces chain_state)
1039
+
1040
+ The 7-phase workflow used to live in a bespoke `src/runtime/chain_state.ts`
1041
+ machine driven by 5 scattered hook-bin transition sites. It is now the
1042
+ **`coding-flow` pack's lifecycle** (`packs/builtin/coding-flow/fsm.yaml`), driven by
1043
+ the generic total-transition engine (`src/runtime/fsm.ts`) — the unified replacement
1044
+ that absorbed the earlier `scope-fsm` + `workflow-fsm` split (T-FSM-UNIFY). ONE
1045
+ behavior-pattern FSM with three gated stages, each enforced by a CONTENT gate (not a
1046
+ presence marker):
1047
+
1048
+ ```
1049
+ idle → scoping ⇄ researching → researched SCOPE (gate: guess-audit loop-back)
1050
+ → spec_authored → spec_complete → tasks_loaded AUTHOR (gate: spec-audit, 11-field + real code)
1051
+ → phases_in_flight → phases_complete CODE (gate: phase-log before commit)
1052
+ ```
1053
+
1054
+ State persists per session per pack at `<sess>/state/fsm-coding-flow.json` as
1055
+ `{state, history[]}` (`advanceFsmState`, `src/runtime/fsm_state.ts`); the FSM is
1056
+ TOTAL — a non-matching event is an explicit stay, not a crash. The `scope-lifecycle`
1057
+ skill advances it on the canonical signals (the prompt, and the pre-research / spec /
1058
+ task writes) via `advance_fsm` and runs each stage's content audit; any gate reads
1059
+ the stage via `read_fsm_state` (the research-before-code gate blocks code before
1060
+ `researched`; the task-authoring gate blocks TaskCreate before `spec_complete`).
1061
+ Cross-pack reads pass `pack: coding-flow`. "Coding" is the gate profile — the FSM
1062
+ lifecycle itself is domain-general. Full walkthrough: `docs/pack-fsm-architecture.md`.
1063
+
1064
+ ---
1065
+
1066
+ ## 7. Authoring patterns
1067
+
1068
+ ### 7.1 Soft warn vs hard block vs directive vs surface
1069
+
1070
+ - **Hard `block`** — coding errors with a clear correct path. The
1071
+ user must redo before the tool fires. Reserved for things that
1072
+ break invariants (e.g. coding before scope spec exists).
1073
+ - **Soft `warn`** — practices the user might want to deviate from
1074
+ (e.g. `git commit --amend` on a shared branch). Surface the
1075
+ context, don't block.
1076
+ - **`directive`** — a structured next-action handoff. The agent
1077
+ reads `next_action.skill` / `next_action.tool` /
1078
+ `next_action.profession` and executes. Use for chain handoffs
1079
+ between pipeline stages.
1080
+ - **`surface`** — context that should ride along on the next prompt
1081
+ but isn't a verdict per se (e.g. recall hits pre-injected at
1082
+ prompt submit).
1083
+
1084
+ ### 7.2 `destination_check` vs `track_check`
1085
+
1086
+ `track_check` fires per event. `destination_check` fires on a
1087
+ periodic scheduler tick (every N tool calls). Use
1088
+ `destination_check` for "is the agent heading toward the right
1089
+ destination" questions where per-event evaluation would be too
1090
+ expensive.
1091
+
1092
+ ### 7.3 Composing AND-preconditions via `Skill.requires:`
1093
+
1094
+ Move shared preconditions UP from rule-local `requires:` to
1095
+ skill-level when 2+ rules share them. Saves dispatcher walks (the
1096
+ skill is skipped entirely when any precondition fails) and the
1097
+ `RequiresCache` amortizes the precondition reads across rules.
1098
+
1099
+ ### 7.4 Lifecycle-handoff directives + FSM transitions
1100
+
1101
+ When a rule's purpose is "the lifecycle has moved to the next stage,
1102
+ load the appropriate profession", emit a `directive` verdict with
1103
+ `next_action.profession:` set. Couple with an `advance_fsm` call (event →
1104
+ next state) so subsequent rules — in this pack or another, via
1105
+ `read_fsm_state` with `pack:` — see the new state. Declare the legal
1106
+ transitions in the pack's `fsm.yaml`; the engine keeps the machine total, so an
1107
+ unexpected event is a no-op stay rather than a crash. (This replaces the old
1108
+ `transition_chain_stage` + `read_chain_state` pair.)
1109
+
1110
+ ### 7.5 Anti-patterns to avoid
1111
+
1112
+ - **No LLM in detection.** All `detected_by[]` evaluation is pure
1113
+ regex / filesystem / prompt-substring. Adding LLM calls to
1114
+ detection breaks the cost + determinism budget.
1115
+ - **No vendor model names in source.** Route via `model_alias:` in
1116
+ `models.yaml`. Per `feedback_stop_haiku_drift` — the project is
1117
+ model-neutral.
1118
+ - **No pre-emit gate.** Claude Code has no pre-emit hook surface;
1119
+ PreToolUse is the closest, but it fires AFTER the model's
1120
+ decision. The corrective pattern is post-emit redo (Stop + exit 2),
1121
+ not pre-emit prevention. Trying to enforce "the model shouldn't
1122
+ have done X" via PreToolUse is structurally wrong.
1123
+ - **No silent fail-open at user-authored config.** When a pack
1124
+ configuration is malformed (active.json, manifest.yaml, side files),
1125
+ fail LOUD with a path-bearing error. The two test seams
1126
+ (`OPENSQUID_TEST_PACK`, `OPENSQUID_TEST_PACK_DIR`) deliberately
1127
+ fail-open because their fixtures are opensquid-authored; real
1128
+ user-authored config never gets this treatment.
1129
+ - **No back-channel writes outside session-scoped paths.** All
1130
+ on-disk state goes under `<OPENSQUID_HOME>/sessions/<sess>/` —
1131
+ never spread state across the user's home directory or arbitrary
1132
+ paths.
1133
+ - **Inbound dispatch is best-effort; unreachable sessions stay silent**
1134
+ (T-L3-LOOP L7 / L12). When an inbound row arrives via the chat-daemon
1135
+ but no `live-session.lease` is fresh (`chat watch` not running or
1136
+ crashed), the LL.3 inbound watcher appends an `unrouted.jsonl` row to
1137
+ `~/.opensquid/projects/<uuid>/inbox/` and LEAVES the inbox row
1138
+ intact. The next session-start drains the backlog via the LL.4 UPS
1139
+ hook — "lazy push", not "eager wake". Pack-author implication: never
1140
+ assume your `inbound_channel` skill will fire at message-arrival
1141
+ latency. The latency floor is `min(time_until_next_user_prompt,
1142
+ time_until_chat_watch_resume)`. Designs that depend on real-time
1143
+ inbound reaction (e.g. on-call alert triage) belong in the
1144
+ agent-bridge daemon path (`src/runtime/agent_bridge/`), not the
1145
+ interactive `chat watch` path.
1146
+ - **Inbound skills are passive evaluators — never mutate the inbox**
1147
+ (T-L3-LOOP L8). A skill triggered by `inbound_channel` can emit any
1148
+ Verdict shape (pass / block / warn / surface / directive) but the
1149
+ inbox + ack state are runtime-managed. There is no
1150
+ `mark_inbound_read` or `delete_inbound` primitive at LL scope —
1151
+ opensquid's invariant: **packs propose; runtime disposes**. Adding a
1152
+ mutation primitive for inbound would re-introduce the cross-pack
1153
+ race condition the ack ledger exists to prevent. If a pack needs
1154
+ richer inbound auditing (which messages were injected this turn, in
1155
+ what order), inspect the prompt-history `additionalContext` directly
1156
+ via `recall`. A first-class `recall_injected_inbound` primitive is
1157
+ deferred to post-v1.
1158
+
1159
+ ---
1160
+
1161
+ ## Appendix A — Citation index
1162
+
1163
+ The doc above cites these source files; this list is a quick-jump
1164
+ index for editors:
1165
+
1166
+ | Topic | File |
1167
+ | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1168
+ | Manifest schema | `src/packs/schemas/manifest.ts` |
1169
+ | Skill schema | `src/packs/schemas/skill.ts` |
1170
+ | Side-file schemas | `src/packs/schemas/{chat_agent,models,channels,notifications,drift_response,team}.ts` |
1171
+ | Pack runtime type | `src/runtime/types.ts` |
1172
+ | Detection evaluator | `src/runtime/detection.ts` |
1173
+ | Discovery + opt-in | `src/packs/discovery.ts` |
1174
+ | Pack loader | `src/packs/loader.ts` |
1175
+ | Bootstrap + DetectionContext staging | `src/runtime/bootstrap.ts` |
1176
+ | Dispatcher | `src/runtime/hooks/dispatch.ts` |
1177
+ | Evaluator | `src/runtime/evaluator.ts` |
1178
+ | Drift response | `src/runtime/drift_response.ts` |
1179
+ | Skill requires | `src/runtime/skill_requires.ts` |
1180
+ | FSM engine + state | `src/runtime/fsm.ts` (total-transition engine), `src/runtime/fsm_state.ts` (per-session state) |
1181
+ | Guards template | `src/packs/guards_compiler.ts` |
1182
+ | Capability gate | `src/runtime/capability_gate.ts` |
1183
+ | Built-in denylist | `src/runtime/builtin_denylist.ts` |
1184
+ | Primitive registry | `src/functions/registry.ts` |
1185
+ | Primitives | `src/functions/{event,state,fsm,active_task,rag,lessons,llm,verdict,path_exists,text_pattern_match,session_tool_history,destination_check,file_write,shell_exec,http_request,recall_pre_inject,subagent,is_automation_mode}.ts` |
1186
+
1187
+ ---
1188
+
1189
+ ## Appendix B — Glossary
1190
+
1191
+ | Term | Meaning |
1192
+ | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
1193
+ | Pack | A directory under `<scope-root>/packs/<name>/` containing a manifest + skills + side files |
1194
+ | Skill | A YAML file declaring `rules:` + `triggers:` + lifecycle metadata |
1195
+ | Rule | A `process:` chain of primitive calls producing a verdict / inject_context / no_verdict |
1196
+ | Primitive | A registered function (`src/functions/*.ts`) callable from rule `process:` steps |
1197
+ | Verdict | A typed runtime result: `pass` / `block` / `warn` / `surface` / `directive` |
1198
+ | Drift policy | What the dispatcher does with a verdict (6 enum values) |
1199
+ | Activation scope | WHO the pack applies to (`project`/`user`/`hybrid`/`team`/`global`) |
1200
+ | Scope | Layering precedence for pack ordering (`universal` → `project`) |
1201
+ | Detection | The 7-kind clause set the runtime evaluates to decide WHEN among opted-in packs |
1202
+ | Pack FSM | A pack's lifecycle declared in `fsm.yaml` (states + total transitions), walked by the generic engine; state persists per session as `fsm-<pack>.json` |
1203
+ | FSM state | The current state string of a pack FSM; read via `read_fsm_state`, advanced via `advance_fsm` |
1204
+ | Guard | A `manifest.guards[]` entry compiled to a synthetic `<pack>/guards` detect→verdict rule |
1205
+ | Profession pack | A pack whose `team.yaml` marker declares a `role:` for next-action `profession:` directives |