open-multi-agent-kit 0.80.6 → 0.80.8

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 (949) hide show
  1. package/CHANGELOG.md +4 -20
  2. package/README.md +66 -16
  3. package/dist/agents/jailbreak/index.d.ts +7 -0
  4. package/dist/agents/jailbreak/index.d.ts.map +1 -0
  5. package/dist/agents/jailbreak/index.js +7 -0
  6. package/dist/agents/jailbreak/index.js.map +1 -0
  7. package/dist/agents/jailbreak/subagent-f.d.ts +44 -0
  8. package/dist/agents/jailbreak/subagent-f.d.ts.map +1 -0
  9. package/dist/agents/jailbreak/subagent-f.js +60 -0
  10. package/dist/agents/jailbreak/subagent-f.js.map +1 -0
  11. package/dist/bun/register-bedrock.d.ts.map +1 -1
  12. package/dist/bun/register-bedrock.js +2 -2
  13. package/dist/bun/register-bedrock.js.map +1 -1
  14. package/dist/ci/verify-reporter.d.ts +22 -0
  15. package/dist/ci/verify-reporter.d.ts.map +1 -0
  16. package/dist/ci/verify-reporter.js +50 -0
  17. package/dist/ci/verify-reporter.js.map +1 -0
  18. package/dist/cli/args.d.ts +4 -1
  19. package/dist/cli/args.d.ts.map +1 -1
  20. package/dist/cli/args.js +7 -0
  21. package/dist/cli/args.js.map +1 -1
  22. package/dist/cli/config-selector.d.ts +1 -1
  23. package/dist/cli/config-selector.d.ts.map +1 -1
  24. package/dist/cli/config-selector.js +2 -2
  25. package/dist/cli/config-selector.js.map +1 -1
  26. package/dist/cli/file-processor.d.ts +1 -1
  27. package/dist/cli/file-processor.d.ts.map +1 -1
  28. package/dist/cli/file-processor.js.map +1 -1
  29. package/dist/cli/initial-message.d.ts +1 -1
  30. package/dist/cli/initial-message.d.ts.map +1 -1
  31. package/dist/cli/initial-message.js.map +1 -1
  32. package/dist/cli/jailbreak-args.d.ts +26 -0
  33. package/dist/cli/jailbreak-args.d.ts.map +1 -0
  34. package/dist/cli/jailbreak-args.js +86 -0
  35. package/dist/cli/jailbreak-args.js.map +1 -0
  36. package/dist/cli/list-models.d.ts.map +1 -1
  37. package/dist/cli/list-models.js +1 -1
  38. package/dist/cli/list-models.js.map +1 -1
  39. package/dist/cli/session-picker.d.ts.map +1 -1
  40. package/dist/cli/session-picker.js +1 -1
  41. package/dist/cli/session-picker.js.map +1 -1
  42. package/dist/commands/doctor-provider.d.ts +19 -0
  43. package/dist/commands/doctor-provider.d.ts.map +1 -0
  44. package/dist/commands/doctor-provider.js +123 -0
  45. package/dist/commands/doctor-provider.js.map +1 -0
  46. package/dist/commands/jailbreak.d.ts +49 -0
  47. package/dist/commands/jailbreak.d.ts.map +1 -0
  48. package/dist/commands/jailbreak.js +201 -0
  49. package/dist/commands/jailbreak.js.map +1 -0
  50. package/dist/config.d.ts +9 -4
  51. package/dist/config.d.ts.map +1 -1
  52. package/dist/config.js +34 -52
  53. package/dist/config.js.map +1 -1
  54. package/dist/core/agent-session-services.d.ts +2 -2
  55. package/dist/core/agent-session-services.d.ts.map +1 -1
  56. package/dist/core/agent-session-services.js.map +1 -1
  57. package/dist/core/agent-session.d.ts +36 -8
  58. package/dist/core/agent-session.d.ts.map +1 -1
  59. package/dist/core/agent-session.js +294 -14
  60. package/dist/core/agent-session.js.map +1 -1
  61. package/dist/core/auth-storage.d.ts +3 -3
  62. package/dist/core/auth-storage.d.ts.map +1 -1
  63. package/dist/core/auth-storage.js +4 -4
  64. package/dist/core/auth-storage.js.map +1 -1
  65. package/dist/core/bash-executor.d.ts +1 -0
  66. package/dist/core/bash-executor.d.ts.map +1 -1
  67. package/dist/core/bash-executor.js +2 -1
  68. package/dist/core/bash-executor.js.map +1 -1
  69. package/dist/core/browser-use.d.ts +45 -0
  70. package/dist/core/browser-use.d.ts.map +1 -0
  71. package/dist/core/browser-use.js +70 -0
  72. package/dist/core/browser-use.js.map +1 -0
  73. package/dist/core/command-safety-parser.d.ts +77 -0
  74. package/dist/core/command-safety-parser.d.ts.map +1 -0
  75. package/dist/core/command-safety-parser.js +763 -0
  76. package/dist/core/command-safety-parser.js.map +1 -0
  77. package/dist/core/command-safety.d.ts +11 -0
  78. package/dist/core/command-safety.d.ts.map +1 -0
  79. package/dist/core/command-safety.js +631 -0
  80. package/dist/core/command-safety.js.map +1 -0
  81. package/dist/core/compaction/branch-summarization.d.ts +2 -2
  82. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  83. package/dist/core/compaction/branch-summarization.js +2 -8
  84. package/dist/core/compaction/branch-summarization.js.map +1 -1
  85. package/dist/core/compaction/compaction.d.ts +3 -84
  86. package/dist/core/compaction/compaction.d.ts.map +1 -1
  87. package/dist/core/compaction/compaction.js +11 -608
  88. package/dist/core/compaction/compaction.js.map +1 -1
  89. package/dist/core/compaction/utils.d.ts +2 -2
  90. package/dist/core/compaction/utils.d.ts.map +1 -1
  91. package/dist/core/compaction/utils.js.map +1 -1
  92. package/dist/core/compactor.d.ts +42 -0
  93. package/dist/core/compactor.d.ts.map +1 -0
  94. package/dist/core/compactor.js +131 -0
  95. package/dist/core/compactor.js.map +1 -0
  96. package/dist/core/context-budget-compressors.d.ts +50 -0
  97. package/dist/core/context-budget-compressors.d.ts.map +1 -0
  98. package/dist/core/context-budget-compressors.js +166 -0
  99. package/dist/core/context-budget-compressors.js.map +1 -0
  100. package/dist/core/context-budget-governor-v2.d.ts +7 -0
  101. package/dist/core/context-budget-governor-v2.d.ts.map +1 -0
  102. package/dist/core/context-budget-governor-v2.js +7 -0
  103. package/dist/core/context-budget-governor-v2.js.map +1 -0
  104. package/dist/core/context-budget-governor.d.ts +67 -0
  105. package/dist/core/context-budget-governor.d.ts.map +1 -0
  106. package/dist/core/context-budget-governor.js +224 -0
  107. package/dist/core/context-budget-governor.js.map +1 -0
  108. package/dist/core/context-budget-headroom-candidates.d.ts +3 -0
  109. package/dist/core/context-budget-headroom-candidates.d.ts.map +1 -0
  110. package/dist/core/context-budget-headroom-candidates.js +85 -0
  111. package/dist/core/context-budget-headroom-candidates.js.map +1 -0
  112. package/dist/core/context-budget-headroom-types.d.ts +67 -0
  113. package/dist/core/context-budget-headroom-types.d.ts.map +1 -0
  114. package/dist/core/context-budget-headroom-types.js +46 -0
  115. package/dist/core/context-budget-headroom-types.js.map +1 -0
  116. package/dist/core/context-budget-headroom.d.ts +5 -0
  117. package/dist/core/context-budget-headroom.d.ts.map +1 -0
  118. package/dist/core/context-budget-headroom.js +123 -0
  119. package/dist/core/context-budget-headroom.js.map +1 -0
  120. package/dist/core/context-budget-relevance.d.ts +46 -0
  121. package/dist/core/context-budget-relevance.d.ts.map +1 -0
  122. package/dist/core/context-budget-relevance.js +329 -0
  123. package/dist/core/context-budget-relevance.js.map +1 -0
  124. package/dist/core/context-budget-system-prompt-items.d.ts +19 -0
  125. package/dist/core/context-budget-system-prompt-items.d.ts.map +1 -0
  126. package/dist/core/context-budget-system-prompt-items.js +143 -0
  127. package/dist/core/context-budget-system-prompt-items.js.map +1 -0
  128. package/dist/core/context-budget-system-prompt.d.ts +31 -0
  129. package/dist/core/context-budget-system-prompt.d.ts.map +1 -0
  130. package/dist/core/context-budget-system-prompt.js +87 -0
  131. package/dist/core/context-budget-system-prompt.js.map +1 -0
  132. package/dist/core/context-budget-token-counter.d.ts +34 -0
  133. package/dist/core/context-budget-token-counter.d.ts.map +1 -0
  134. package/dist/core/context-budget-token-counter.js +315 -0
  135. package/dist/core/context-budget-token-counter.js.map +1 -0
  136. package/dist/core/context-budget-v2-coverage.d.ts +5 -0
  137. package/dist/core/context-budget-v2-coverage.d.ts.map +1 -0
  138. package/dist/core/context-budget-v2-coverage.js +58 -0
  139. package/dist/core/context-budget-v2-coverage.js.map +1 -0
  140. package/dist/core/context-budget-v2-plan-hash.d.ts +12 -0
  141. package/dist/core/context-budget-v2-plan-hash.d.ts.map +1 -0
  142. package/dist/core/context-budget-v2-plan-hash.js +38 -0
  143. package/dist/core/context-budget-v2-plan-hash.js.map +1 -0
  144. package/dist/core/context-budget-v2-planner.d.ts +3 -0
  145. package/dist/core/context-budget-v2-planner.d.ts.map +1 -0
  146. package/dist/core/context-budget-v2-planner.js +143 -0
  147. package/dist/core/context-budget-v2-planner.js.map +1 -0
  148. package/dist/core/context-budget-v2-scoring.d.ts +14 -0
  149. package/dist/core/context-budget-v2-scoring.d.ts.map +1 -0
  150. package/dist/core/context-budget-v2-scoring.js +114 -0
  151. package/dist/core/context-budget-v2-scoring.js.map +1 -0
  152. package/dist/core/context-budget-v2-selection.d.ts +32 -0
  153. package/dist/core/context-budget-v2-selection.d.ts.map +1 -0
  154. package/dist/core/context-budget-v2-selection.js +158 -0
  155. package/dist/core/context-budget-v2-selection.js.map +1 -0
  156. package/dist/core/context-budget-v2-tiers.d.ts +15 -0
  157. package/dist/core/context-budget-v2-tiers.d.ts.map +1 -0
  158. package/dist/core/context-budget-v2-tiers.js +68 -0
  159. package/dist/core/context-budget-v2-tiers.js.map +1 -0
  160. package/dist/core/context-budget-v2-types.d.ts +92 -0
  161. package/dist/core/context-budget-v2-types.d.ts.map +1 -0
  162. package/dist/core/context-budget-v2-types.js +24 -0
  163. package/dist/core/context-budget-v2-types.js.map +1 -0
  164. package/dist/core/defaults.d.ts +1 -1
  165. package/dist/core/defaults.d.ts.map +1 -1
  166. package/dist/core/defaults.js.map +1 -1
  167. package/dist/core/diagnostics.d.ts +4 -0
  168. package/dist/core/diagnostics.d.ts.map +1 -1
  169. package/dist/core/diagnostics.js.map +1 -1
  170. package/dist/core/domain-confidence.d.ts +9 -0
  171. package/dist/core/domain-confidence.d.ts.map +1 -0
  172. package/dist/core/domain-confidence.js +39 -0
  173. package/dist/core/domain-confidence.js.map +1 -0
  174. package/dist/core/domain-dispatch.d.ts +44 -0
  175. package/dist/core/domain-dispatch.d.ts.map +1 -0
  176. package/dist/core/domain-dispatch.js +118 -0
  177. package/dist/core/domain-dispatch.js.map +1 -0
  178. package/dist/core/domain-loadouts.d.ts +76 -0
  179. package/dist/core/domain-loadouts.d.ts.map +1 -0
  180. package/dist/core/domain-loadouts.js +981 -0
  181. package/dist/core/domain-loadouts.js.map +1 -0
  182. package/dist/core/domain-registry.d.ts +7 -0
  183. package/dist/core/domain-registry.d.ts.map +1 -0
  184. package/dist/core/domain-registry.js +11 -0
  185. package/dist/core/domain-registry.js.map +1 -0
  186. package/dist/core/domain-router.d.ts +16 -0
  187. package/dist/core/domain-router.d.ts.map +1 -0
  188. package/dist/core/domain-router.js +24 -0
  189. package/dist/core/domain-router.js.map +1 -0
  190. package/dist/core/domain-score.d.ts +13 -0
  191. package/dist/core/domain-score.d.ts.map +1 -0
  192. package/dist/core/domain-score.js +48 -0
  193. package/dist/core/domain-score.js.map +1 -0
  194. package/dist/core/domain-trigger-match.d.ts +14 -0
  195. package/dist/core/domain-trigger-match.d.ts.map +1 -0
  196. package/dist/core/domain-trigger-match.js +51 -0
  197. package/dist/core/domain-trigger-match.js.map +1 -0
  198. package/dist/core/domain-types.d.ts +30 -0
  199. package/dist/core/domain-types.d.ts.map +1 -0
  200. package/dist/core/domain-types.js +2 -0
  201. package/dist/core/domain-types.js.map +1 -0
  202. package/dist/core/exact-cache-policy.d.ts +108 -0
  203. package/dist/core/exact-cache-policy.d.ts.map +1 -0
  204. package/dist/core/exact-cache-policy.js +184 -0
  205. package/dist/core/exact-cache-policy.js.map +1 -0
  206. package/dist/core/export-html/index.d.ts +1 -1
  207. package/dist/core/export-html/index.d.ts.map +1 -1
  208. package/dist/core/export-html/index.js.map +1 -1
  209. package/dist/core/export-html/template.js +2 -4
  210. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  211. package/dist/core/export-html/tool-renderer.js.map +1 -1
  212. package/dist/core/extensions/builtin/command-safety-gate.d.ts +80 -0
  213. package/dist/core/extensions/builtin/command-safety-gate.d.ts.map +1 -0
  214. package/dist/core/extensions/builtin/command-safety-gate.js +159 -0
  215. package/dist/core/extensions/builtin/command-safety-gate.js.map +1 -0
  216. package/dist/core/extensions/builtin/todo-checklist.d.ts +20 -0
  217. package/dist/core/extensions/builtin/todo-checklist.d.ts.map +1 -0
  218. package/dist/core/extensions/builtin/todo-checklist.js +70 -0
  219. package/dist/core/extensions/builtin/todo-checklist.js.map +1 -0
  220. package/dist/core/extensions/loader.d.ts.map +1 -1
  221. package/dist/core/extensions/loader.js +50 -47
  222. package/dist/core/extensions/loader.js.map +1 -1
  223. package/dist/core/extensions/runner.d.ts +3 -3
  224. package/dist/core/extensions/runner.d.ts.map +1 -1
  225. package/dist/core/extensions/runner.js +1 -1
  226. package/dist/core/extensions/runner.js.map +1 -1
  227. package/dist/core/extensions/types.d.ts +13 -13
  228. package/dist/core/extensions/types.d.ts.map +1 -1
  229. package/dist/core/extensions/types.js.map +1 -1
  230. package/dist/core/extensions/wrapper.d.ts +1 -1
  231. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  232. package/dist/core/extensions/wrapper.js.map +1 -1
  233. package/dist/core/headroom.d.ts +45 -0
  234. package/dist/core/headroom.d.ts.map +1 -0
  235. package/dist/core/headroom.js +171 -0
  236. package/dist/core/headroom.js.map +1 -0
  237. package/dist/core/hook-inventory.d.ts +25 -0
  238. package/dist/core/hook-inventory.d.ts.map +1 -0
  239. package/dist/core/hook-inventory.js +119 -0
  240. package/dist/core/hook-inventory.js.map +1 -0
  241. package/dist/core/hooks/fail-closed.d.ts +4 -1
  242. package/dist/core/hooks/fail-closed.d.ts.map +1 -1
  243. package/dist/core/hooks/fail-closed.js +79 -5
  244. package/dist/core/hooks/fail-closed.js.map +1 -1
  245. package/dist/core/hooks/index.d.ts +2 -2
  246. package/dist/core/hooks/index.d.ts.map +1 -1
  247. package/dist/core/hooks/index.js +1 -1
  248. package/dist/core/hooks/index.js.map +1 -1
  249. package/dist/core/hooks/types.d.ts +9 -0
  250. package/dist/core/hooks/types.d.ts.map +1 -1
  251. package/dist/core/hooks/types.js.map +1 -1
  252. package/dist/core/keybindings.d.ts +2 -14
  253. package/dist/core/keybindings.d.ts.map +1 -1
  254. package/dist/core/keybindings.js +1 -31
  255. package/dist/core/keybindings.js.map +1 -1
  256. package/dist/core/lean-ctx.d.ts +99 -0
  257. package/dist/core/lean-ctx.d.ts.map +1 -0
  258. package/dist/core/lean-ctx.js +225 -0
  259. package/dist/core/lean-ctx.js.map +1 -0
  260. package/dist/core/loadout-access-policy.d.ts +41 -0
  261. package/dist/core/loadout-access-policy.d.ts.map +1 -0
  262. package/dist/core/loadout-access-policy.js +182 -0
  263. package/dist/core/loadout-access-policy.js.map +1 -0
  264. package/dist/core/loadout-compose.d.ts +53 -0
  265. package/dist/core/loadout-compose.d.ts.map +1 -0
  266. package/dist/core/loadout-compose.js +172 -0
  267. package/dist/core/loadout-compose.js.map +1 -0
  268. package/dist/core/loadout-policy-bridge.d.ts +22 -0
  269. package/dist/core/loadout-policy-bridge.d.ts.map +1 -0
  270. package/dist/core/loadout-policy-bridge.js +52 -0
  271. package/dist/core/loadout-policy-bridge.js.map +1 -0
  272. package/dist/core/loadout-runtime.d.ts +106 -0
  273. package/dist/core/loadout-runtime.d.ts.map +1 -0
  274. package/dist/core/loadout-runtime.js +193 -0
  275. package/dist/core/loadout-runtime.js.map +1 -0
  276. package/dist/core/loadout-safety.d.ts +55 -0
  277. package/dist/core/loadout-safety.d.ts.map +1 -0
  278. package/dist/core/loadout-safety.js +213 -0
  279. package/dist/core/loadout-safety.js.map +1 -0
  280. package/dist/core/loadouts.d.ts +149 -0
  281. package/dist/core/loadouts.d.ts.map +1 -0
  282. package/dist/core/loadouts.js +553 -0
  283. package/dist/core/loadouts.js.map +1 -0
  284. package/dist/core/loop-gates.d.ts +48 -0
  285. package/dist/core/loop-gates.d.ts.map +1 -0
  286. package/dist/core/loop-gates.js +352 -0
  287. package/dist/core/loop-gates.js.map +1 -0
  288. package/dist/core/loop-registry.d.ts +77 -0
  289. package/dist/core/loop-registry.d.ts.map +1 -0
  290. package/dist/core/loop-registry.js +831 -0
  291. package/dist/core/loop-registry.js.map +1 -0
  292. package/dist/core/loop-types.d.ts +194 -0
  293. package/dist/core/loop-types.d.ts.map +1 -0
  294. package/dist/core/loop-types.js +2 -0
  295. package/dist/core/loop-types.js.map +1 -0
  296. package/dist/core/mcp-inventory.d.ts +41 -0
  297. package/dist/core/mcp-inventory.d.ts.map +1 -1
  298. package/dist/core/mcp-inventory.js +57 -1
  299. package/dist/core/mcp-inventory.js.map +1 -1
  300. package/dist/core/mcp-presets.d.ts +98 -0
  301. package/dist/core/mcp-presets.d.ts.map +1 -0
  302. package/dist/core/mcp-presets.js +377 -0
  303. package/dist/core/mcp-presets.js.map +1 -0
  304. package/dist/core/messages.d.ts +3 -3
  305. package/dist/core/messages.d.ts.map +1 -1
  306. package/dist/core/messages.js.map +1 -1
  307. package/dist/core/metrics-sampler.d.ts +11 -0
  308. package/dist/core/metrics-sampler.d.ts.map +1 -1
  309. package/dist/core/metrics-sampler.js +52 -13
  310. package/dist/core/metrics-sampler.js.map +1 -1
  311. package/dist/core/model-registry.d.ts +1 -1
  312. package/dist/core/model-registry.d.ts.map +1 -1
  313. package/dist/core/model-registry.js +2 -2
  314. package/dist/core/model-registry.js.map +1 -1
  315. package/dist/core/model-resolver.d.ts +2 -2
  316. package/dist/core/model-resolver.d.ts.map +1 -1
  317. package/dist/core/model-resolver.js +1 -1
  318. package/dist/core/model-resolver.js.map +1 -1
  319. package/dist/core/package-gallery-identity.d.ts +7 -0
  320. package/dist/core/package-gallery-identity.d.ts.map +1 -0
  321. package/dist/core/package-gallery-identity.js +31 -0
  322. package/dist/core/package-gallery-identity.js.map +1 -0
  323. package/dist/core/package-gallery-install.d.ts +6 -0
  324. package/dist/core/package-gallery-install.d.ts.map +1 -0
  325. package/dist/core/package-gallery-install.js +59 -0
  326. package/dist/core/package-gallery-install.js.map +1 -0
  327. package/dist/core/package-gallery-manifest.d.ts +13 -0
  328. package/dist/core/package-gallery-manifest.d.ts.map +1 -0
  329. package/dist/core/package-gallery-manifest.js +183 -0
  330. package/dist/core/package-gallery-manifest.js.map +1 -0
  331. package/dist/core/package-gallery-trial.d.ts +4 -0
  332. package/dist/core/package-gallery-trial.d.ts.map +1 -0
  333. package/dist/core/package-gallery-trial.js +55 -0
  334. package/dist/core/package-gallery-trial.js.map +1 -0
  335. package/dist/core/package-gallery-types.d.ts +71 -0
  336. package/dist/core/package-gallery-types.d.ts.map +1 -0
  337. package/dist/core/package-gallery-types.js +2 -0
  338. package/dist/core/package-gallery-types.js.map +1 -0
  339. package/dist/core/package-gallery.d.ts +6 -0
  340. package/dist/core/package-gallery.d.ts.map +1 -0
  341. package/dist/core/package-gallery.js +6 -0
  342. package/dist/core/package-gallery.js.map +1 -0
  343. package/dist/core/package-manager.d.ts.map +1 -1
  344. package/dist/core/package-manager.js +10 -10
  345. package/dist/core/package-manager.js.map +1 -1
  346. package/dist/core/package-procurement.d.ts +268 -0
  347. package/dist/core/package-procurement.d.ts.map +1 -0
  348. package/dist/core/package-procurement.js +709 -0
  349. package/dist/core/package-procurement.js.map +1 -0
  350. package/dist/core/provider-attribution.d.ts +1 -1
  351. package/dist/core/provider-attribution.d.ts.map +1 -1
  352. package/dist/core/provider-attribution.js.map +1 -1
  353. package/dist/core/read-anchors.d.ts +110 -0
  354. package/dist/core/read-anchors.d.ts.map +1 -0
  355. package/dist/core/read-anchors.js +193 -0
  356. package/dist/core/read-anchors.js.map +1 -0
  357. package/dist/core/recovery-checkpoint.d.ts +196 -0
  358. package/dist/core/recovery-checkpoint.d.ts.map +1 -0
  359. package/dist/core/recovery-checkpoint.js +382 -0
  360. package/dist/core/recovery-checkpoint.js.map +1 -0
  361. package/dist/core/resource-loader.d.ts +15 -21
  362. package/dist/core/resource-loader.d.ts.map +1 -1
  363. package/dist/core/resource-loader.js +62 -8
  364. package/dist/core/resource-loader.js.map +1 -1
  365. package/dist/core/sandbox/backend.d.ts +25 -0
  366. package/dist/core/sandbox/backend.d.ts.map +1 -0
  367. package/dist/core/sandbox/backend.js +150 -0
  368. package/dist/core/sandbox/backend.js.map +1 -0
  369. package/dist/core/sandbox/env.d.ts +6 -0
  370. package/dist/core/sandbox/env.d.ts.map +1 -0
  371. package/dist/core/sandbox/env.js +46 -0
  372. package/dist/core/sandbox/env.js.map +1 -0
  373. package/dist/core/sandbox/path-resolver.d.ts +4 -0
  374. package/dist/core/sandbox/path-resolver.d.ts.map +1 -0
  375. package/dist/core/sandbox/path-resolver.js +44 -0
  376. package/dist/core/sandbox/path-resolver.js.map +1 -0
  377. package/dist/core/sandbox/policy.d.ts +87 -0
  378. package/dist/core/sandbox/policy.d.ts.map +1 -0
  379. package/dist/core/sandbox/policy.js +280 -0
  380. package/dist/core/sandbox/policy.js.map +1 -0
  381. package/dist/core/sandbox/spawn.d.ts +20 -0
  382. package/dist/core/sandbox/spawn.d.ts.map +1 -0
  383. package/dist/core/sandbox/spawn.js +80 -0
  384. package/dist/core/sandbox/spawn.js.map +1 -0
  385. package/dist/core/sandbox-policy-v2.d.ts +49 -0
  386. package/dist/core/sandbox-policy-v2.d.ts.map +1 -0
  387. package/dist/core/sandbox-policy-v2.js +368 -0
  388. package/dist/core/sandbox-policy-v2.js.map +1 -0
  389. package/dist/core/sdk.d.ts +15 -4
  390. package/dist/core/sdk.d.ts.map +1 -1
  391. package/dist/core/sdk.js +50 -4
  392. package/dist/core/sdk.js.map +1 -1
  393. package/dist/core/semantic-cache-policy.d.ts +51 -0
  394. package/dist/core/semantic-cache-policy.d.ts.map +1 -0
  395. package/dist/core/semantic-cache-policy.js +228 -0
  396. package/dist/core/semantic-cache-policy.js.map +1 -0
  397. package/dist/core/session-manager.d.ts +2 -4
  398. package/dist/core/session-manager.d.ts.map +1 -1
  399. package/dist/core/session-manager.js +1 -1
  400. package/dist/core/session-manager.js.map +1 -1
  401. package/dist/core/settings-manager.d.ts +1 -4
  402. package/dist/core/settings-manager.d.ts.map +1 -1
  403. package/dist/core/settings-manager.js +2 -7
  404. package/dist/core/settings-manager.js.map +1 -1
  405. package/dist/core/skills.d.ts +1 -0
  406. package/dist/core/skills.d.ts.map +1 -1
  407. package/dist/core/skills.js +46 -5
  408. package/dist/core/skills.js.map +1 -1
  409. package/dist/core/slash-commands.d.ts.map +1 -1
  410. package/dist/core/slash-commands.js +0 -2
  411. package/dist/core/slash-commands.js.map +1 -1
  412. package/dist/core/subagent-orchestration.d.ts +73 -0
  413. package/dist/core/subagent-orchestration.d.ts.map +1 -0
  414. package/dist/core/subagent-orchestration.js +408 -0
  415. package/dist/core/subagent-orchestration.js.map +1 -0
  416. package/dist/core/system-prompt.d.ts +5 -4
  417. package/dist/core/system-prompt.d.ts.map +1 -1
  418. package/dist/core/system-prompt.js +63 -24
  419. package/dist/core/system-prompt.js.map +1 -1
  420. package/dist/core/telemetry.d.ts.map +1 -1
  421. package/dist/core/telemetry.js +1 -1
  422. package/dist/core/telemetry.js.map +1 -1
  423. package/dist/core/timings.d.ts +0 -4
  424. package/dist/core/timings.d.ts.map +1 -1
  425. package/dist/core/timings.js +1 -5
  426. package/dist/core/timings.js.map +1 -1
  427. package/dist/core/todo-state.d.ts +53 -0
  428. package/dist/core/todo-state.d.ts.map +1 -0
  429. package/dist/core/todo-state.js +87 -0
  430. package/dist/core/todo-state.js.map +1 -0
  431. package/dist/core/token-optimizer.d.ts +58 -0
  432. package/dist/core/token-optimizer.d.ts.map +1 -0
  433. package/dist/core/token-optimizer.js +179 -0
  434. package/dist/core/token-optimizer.js.map +1 -0
  435. package/dist/core/tools/bash.d.ts +28 -4
  436. package/dist/core/tools/bash.d.ts.map +1 -1
  437. package/dist/core/tools/bash.js +55 -11
  438. package/dist/core/tools/bash.js.map +1 -1
  439. package/dist/core/tools/edit.d.ts +3 -2
  440. package/dist/core/tools/edit.d.ts.map +1 -1
  441. package/dist/core/tools/edit.js +4 -1
  442. package/dist/core/tools/edit.js.map +1 -1
  443. package/dist/core/tools/find.d.ts +1 -1
  444. package/dist/core/tools/find.d.ts.map +1 -1
  445. package/dist/core/tools/find.js +1 -1
  446. package/dist/core/tools/find.js.map +1 -1
  447. package/dist/core/tools/grep.d.ts +1 -1
  448. package/dist/core/tools/grep.d.ts.map +1 -1
  449. package/dist/core/tools/grep.js +1 -1
  450. package/dist/core/tools/grep.js.map +1 -1
  451. package/dist/core/tools/index.d.ts +1 -1
  452. package/dist/core/tools/index.d.ts.map +1 -1
  453. package/dist/core/tools/index.js.map +1 -1
  454. package/dist/core/tools/ls.d.ts +1 -1
  455. package/dist/core/tools/ls.d.ts.map +1 -1
  456. package/dist/core/tools/ls.js +1 -1
  457. package/dist/core/tools/ls.js.map +1 -1
  458. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  459. package/dist/core/tools/output-accumulator.js +1 -1
  460. package/dist/core/tools/output-accumulator.js.map +1 -1
  461. package/dist/core/tools/read.d.ts +2 -1
  462. package/dist/core/tools/read.d.ts.map +1 -1
  463. package/dist/core/tools/read.js +6 -3
  464. package/dist/core/tools/read.js.map +1 -1
  465. package/dist/core/tools/render-utils.d.ts +1 -1
  466. package/dist/core/tools/render-utils.d.ts.map +1 -1
  467. package/dist/core/tools/render-utils.js +1 -1
  468. package/dist/core/tools/render-utils.js.map +1 -1
  469. package/dist/core/tools/tool-definition-wrapper.d.ts +1 -1
  470. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  471. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  472. package/dist/core/tools/write.d.ts +2 -1
  473. package/dist/core/tools/write.d.ts.map +1 -1
  474. package/dist/core/tools/write.js +4 -1
  475. package/dist/core/tools/write.js.map +1 -1
  476. package/dist/encoding/index.d.ts +6 -0
  477. package/dist/encoding/index.d.ts.map +1 -0
  478. package/dist/encoding/index.js +6 -0
  479. package/dist/encoding/index.js.map +1 -0
  480. package/dist/encoding/l4-encoder.d.ts +96 -0
  481. package/dist/encoding/l4-encoder.d.ts.map +1 -0
  482. package/dist/encoding/l4-encoder.js +474 -0
  483. package/dist/encoding/l4-encoder.js.map +1 -0
  484. package/dist/fuzzing/index.d.ts +6 -0
  485. package/dist/fuzzing/index.d.ts.map +1 -0
  486. package/dist/fuzzing/index.js +6 -0
  487. package/dist/fuzzing/index.js.map +1 -0
  488. package/dist/fuzzing/mutation-engine.d.ts +93 -0
  489. package/dist/fuzzing/mutation-engine.d.ts.map +1 -0
  490. package/dist/fuzzing/mutation-engine.js +244 -0
  491. package/dist/fuzzing/mutation-engine.js.map +1 -0
  492. package/dist/guardrails/audit-logger.d.ts +4 -0
  493. package/dist/guardrails/audit-logger.d.ts.map +1 -0
  494. package/dist/guardrails/audit-logger.js +28 -0
  495. package/dist/guardrails/audit-logger.js.map +1 -0
  496. package/dist/guardrails/evidence-system.d.ts +61 -0
  497. package/dist/guardrails/evidence-system.d.ts.map +1 -0
  498. package/dist/guardrails/evidence-system.js +302 -0
  499. package/dist/guardrails/evidence-system.js.map +1 -0
  500. package/dist/guardrails/freedomd-adapter.d.ts +16 -0
  501. package/dist/guardrails/freedomd-adapter.d.ts.map +1 -0
  502. package/dist/guardrails/freedomd-adapter.js +87 -0
  503. package/dist/guardrails/freedomd-adapter.js.map +1 -0
  504. package/dist/jailbreak-extension.d.ts +48 -0
  505. package/dist/jailbreak-extension.d.ts.map +1 -0
  506. package/dist/jailbreak-extension.js +47 -0
  507. package/dist/jailbreak-extension.js.map +1 -0
  508. package/dist/main.d.ts.map +1 -1
  509. package/dist/main.js +6 -8
  510. package/dist/main.js.map +1 -1
  511. package/dist/migrations.d.ts +0 -37
  512. package/dist/migrations.d.ts.map +1 -1
  513. package/dist/migrations.js +6 -414
  514. package/dist/migrations.js.map +1 -1
  515. package/dist/modes/interactive/components/armin.d.ts +1 -1
  516. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  517. package/dist/modes/interactive/components/armin.js.map +1 -1
  518. package/dist/modes/interactive/components/assistant-message.d.ts +2 -2
  519. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  520. package/dist/modes/interactive/components/assistant-message.js +1 -1
  521. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  522. package/dist/modes/interactive/components/bash-execution.d.ts +1 -1
  523. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  524. package/dist/modes/interactive/components/bash-execution.js +1 -1
  525. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  526. package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
  527. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  528. package/dist/modes/interactive/components/bordered-loader.js +1 -1
  529. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  530. package/dist/modes/interactive/components/branch-summary-message.d.ts +1 -1
  531. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  532. package/dist/modes/interactive/components/branch-summary-message.js +1 -1
  533. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  534. package/dist/modes/interactive/components/compaction-summary-message.d.ts +1 -1
  535. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  536. package/dist/modes/interactive/components/compaction-summary-message.js +1 -1
  537. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  538. package/dist/modes/interactive/components/config-selector.d.ts +1 -1
  539. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  540. package/dist/modes/interactive/components/config-selector.js +1 -1
  541. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  542. package/dist/modes/interactive/components/control-panel-box.d.ts +15 -0
  543. package/dist/modes/interactive/components/control-panel-box.d.ts.map +1 -0
  544. package/dist/modes/interactive/components/control-panel-box.js +55 -0
  545. package/dist/modes/interactive/components/control-panel-box.js.map +1 -0
  546. package/dist/modes/interactive/components/control-panel-gradient-motion.d.ts +28 -0
  547. package/dist/modes/interactive/components/control-panel-gradient-motion.d.ts.map +1 -0
  548. package/dist/modes/interactive/components/control-panel-gradient-motion.js +112 -0
  549. package/dist/modes/interactive/components/control-panel-gradient-motion.js.map +1 -0
  550. package/dist/modes/interactive/components/control-panel-gradient.d.ts +28 -0
  551. package/dist/modes/interactive/components/control-panel-gradient.d.ts.map +1 -0
  552. package/dist/modes/interactive/components/control-panel-gradient.js +128 -0
  553. package/dist/modes/interactive/components/control-panel-gradient.js.map +1 -0
  554. package/dist/modes/interactive/components/control-panel-layout.d.ts +23 -0
  555. package/dist/modes/interactive/components/control-panel-layout.d.ts.map +1 -0
  556. package/dist/modes/interactive/components/control-panel-layout.js +165 -0
  557. package/dist/modes/interactive/components/control-panel-layout.js.map +1 -0
  558. package/dist/modes/interactive/components/control-panel-runtime-status.d.ts +5 -0
  559. package/dist/modes/interactive/components/control-panel-runtime-status.d.ts.map +1 -0
  560. package/dist/modes/interactive/components/control-panel-runtime-status.js +20 -0
  561. package/dist/modes/interactive/components/control-panel-runtime-status.js.map +1 -0
  562. package/dist/modes/interactive/components/control-panel.d.ts +24 -20
  563. package/dist/modes/interactive/components/control-panel.d.ts.map +1 -1
  564. package/dist/modes/interactive/components/control-panel.js +88 -69
  565. package/dist/modes/interactive/components/control-panel.js.map +1 -1
  566. package/dist/modes/interactive/components/countdown-timer.d.ts +1 -1
  567. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  568. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  569. package/dist/modes/interactive/components/custom-editor.d.ts +1 -1
  570. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  571. package/dist/modes/interactive/components/custom-editor.js +14 -22
  572. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  573. package/dist/modes/interactive/components/custom-message.d.ts +1 -1
  574. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  575. package/dist/modes/interactive/components/custom-message.js +1 -1
  576. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  577. package/dist/modes/interactive/components/daxnuts.d.ts +1 -1
  578. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  579. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  580. package/dist/modes/interactive/components/dynamic-border.d.ts +1 -1
  581. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  582. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  583. package/dist/modes/interactive/components/earendil-announcement.d.ts +1 -1
  584. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
  585. package/dist/modes/interactive/components/earendil-announcement.js +2 -2
  586. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
  587. package/dist/modes/interactive/components/extension-editor.d.ts +1 -1
  588. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  589. package/dist/modes/interactive/components/extension-editor.js +2 -2
  590. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  591. package/dist/modes/interactive/components/extension-input.d.ts +1 -1
  592. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  593. package/dist/modes/interactive/components/extension-input.js +1 -1
  594. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  595. package/dist/modes/interactive/components/extension-selector.d.ts +1 -1
  596. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  597. package/dist/modes/interactive/components/extension-selector.js +1 -1
  598. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  599. package/dist/modes/interactive/components/footer.d.ts +1 -1
  600. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  601. package/dist/modes/interactive/components/footer.js +1 -1
  602. package/dist/modes/interactive/components/footer.js.map +1 -1
  603. package/dist/modes/interactive/components/index.d.ts +0 -2
  604. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  605. package/dist/modes/interactive/components/index.js +0 -2
  606. package/dist/modes/interactive/components/index.js.map +1 -1
  607. package/dist/modes/interactive/components/keybinding-hints.d.ts +1 -1
  608. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  609. package/dist/modes/interactive/components/keybinding-hints.js +1 -1
  610. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  611. package/dist/modes/interactive/components/login-dialog.d.ts +2 -2
  612. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  613. package/dist/modes/interactive/components/login-dialog.js +2 -2
  614. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  615. package/dist/modes/interactive/components/model-selector.d.ts +4 -4
  616. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  617. package/dist/modes/interactive/components/model-selector.js +20 -42
  618. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  619. package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
  620. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  621. package/dist/modes/interactive/components/oauth-selector.js +1 -1
  622. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  623. package/dist/modes/interactive/components/scoped-models-selector.d.ts +2 -2
  624. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  625. package/dist/modes/interactive/components/scoped-models-selector.js +1 -1
  626. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  627. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  628. package/dist/modes/interactive/components/session-selector-search.js +1 -1
  629. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  630. package/dist/modes/interactive/components/session-selector.d.ts +1 -1
  631. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  632. package/dist/modes/interactive/components/session-selector.js +1 -1
  633. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  634. package/dist/modes/interactive/components/settings-selector.d.ts +3 -3
  635. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  636. package/dist/modes/interactive/components/settings-selector.js +1 -1
  637. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  638. package/dist/modes/interactive/components/show-images-selector.d.ts +1 -1
  639. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  640. package/dist/modes/interactive/components/show-images-selector.js +1 -1
  641. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  642. package/dist/modes/interactive/components/skill-invocation-message.d.ts +1 -1
  643. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  644. package/dist/modes/interactive/components/skill-invocation-message.js +1 -1
  645. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  646. package/dist/modes/interactive/components/theme-selector.d.ts +1 -1
  647. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  648. package/dist/modes/interactive/components/theme-selector.js +1 -1
  649. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  650. package/dist/modes/interactive/components/thinking-selector.d.ts +8 -7
  651. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  652. package/dist/modes/interactive/components/thinking-selector.js +48 -7
  653. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  654. package/dist/modes/interactive/components/todo-checklist.d.ts +31 -0
  655. package/dist/modes/interactive/components/todo-checklist.d.ts.map +1 -0
  656. package/dist/modes/interactive/components/todo-checklist.js +121 -0
  657. package/dist/modes/interactive/components/todo-checklist.js.map +1 -0
  658. package/dist/modes/interactive/components/tool-execution.d.ts +1 -1
  659. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  660. package/dist/modes/interactive/components/tool-execution.js +1 -1
  661. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  662. package/dist/modes/interactive/components/tree-selector.d.ts +1 -1
  663. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  664. package/dist/modes/interactive/components/tree-selector.js +1 -1
  665. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  666. package/dist/modes/interactive/components/user-message-selector.d.ts +1 -1
  667. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  668. package/dist/modes/interactive/components/user-message-selector.js +1 -1
  669. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  670. package/dist/modes/interactive/components/user-message.d.ts +1 -1
  671. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  672. package/dist/modes/interactive/components/user-message.js +1 -1
  673. package/dist/modes/interactive/components/user-message.js.map +1 -1
  674. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  675. package/dist/modes/interactive/components/visual-truncate.js +1 -1
  676. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  677. package/dist/modes/interactive/interactive-mode.d.ts +5 -8
  678. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  679. package/dist/modes/interactive/interactive-mode.js +79 -189
  680. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  681. package/dist/modes/interactive/theme/omk-control-grid-dark.json +65 -77
  682. package/dist/modes/interactive/theme/omk-neon-control.json +90 -0
  683. package/dist/modes/interactive/theme/rust-forge.json +14 -24
  684. package/dist/modes/interactive/theme/theme.d.ts +1 -1
  685. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  686. package/dist/modes/interactive/theme/theme.js +22 -31
  687. package/dist/modes/interactive/theme/theme.js.map +1 -1
  688. package/dist/modes/print-mode.d.ts +3 -3
  689. package/dist/modes/print-mode.d.ts.map +1 -1
  690. package/dist/modes/print-mode.js +2 -2
  691. package/dist/modes/print-mode.js.map +1 -1
  692. package/dist/modes/rpc/rpc-client.d.ts +2 -2
  693. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  694. package/dist/modes/rpc/rpc-client.js.map +1 -1
  695. package/dist/modes/rpc/rpc-types.d.ts +2 -2
  696. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  697. package/dist/modes/rpc/rpc-types.js.map +1 -1
  698. package/dist/modules/index.d.ts +8 -0
  699. package/dist/modules/index.d.ts.map +1 -0
  700. package/dist/modules/index.js +7 -0
  701. package/dist/modules/index.js.map +1 -0
  702. package/dist/modules/lrl-bypass.d.ts +40 -0
  703. package/dist/modules/lrl-bypass.d.ts.map +1 -0
  704. package/dist/modules/lrl-bypass.js +84 -0
  705. package/dist/modules/lrl-bypass.js.map +1 -0
  706. package/dist/modules/lrl-deps.d.ts +38 -0
  707. package/dist/modules/lrl-deps.d.ts.map +1 -0
  708. package/dist/modules/lrl-deps.js +128 -0
  709. package/dist/modules/lrl-deps.js.map +1 -0
  710. package/dist/multiturn/easl-chain.d.ts +113 -0
  711. package/dist/multiturn/easl-chain.d.ts.map +1 -0
  712. package/dist/multiturn/easl-chain.js +351 -0
  713. package/dist/multiturn/easl-chain.js.map +1 -0
  714. package/dist/multiturn/index.d.ts +6 -0
  715. package/dist/multiturn/index.d.ts.map +1 -0
  716. package/dist/multiturn/index.js +6 -0
  717. package/dist/multiturn/index.js.map +1 -0
  718. package/dist/orchestration/lane-grant-auditor.d.ts +4 -0
  719. package/dist/orchestration/lane-grant-auditor.d.ts.map +1 -0
  720. package/dist/orchestration/lane-grant-auditor.js +87 -0
  721. package/dist/orchestration/lane-grant-auditor.js.map +1 -0
  722. package/dist/package-manager-cli.d.ts.map +1 -1
  723. package/dist/package-manager-cli.js +3 -3
  724. package/dist/package-manager-cli.js.map +1 -1
  725. package/dist/routing/fallback-router.d.ts +123 -0
  726. package/dist/routing/fallback-router.d.ts.map +1 -0
  727. package/dist/routing/fallback-router.js +355 -0
  728. package/dist/routing/fallback-router.js.map +1 -0
  729. package/dist/routing/index.d.ts +6 -0
  730. package/dist/routing/index.d.ts.map +1 -0
  731. package/dist/routing/index.js +6 -0
  732. package/dist/routing/index.js.map +1 -0
  733. package/dist/types/evidence.d.ts +117 -0
  734. package/dist/types/evidence.d.ts.map +1 -0
  735. package/dist/types/evidence.js +8 -0
  736. package/dist/types/evidence.js.map +1 -0
  737. package/dist/types/guardrails.d.ts +61 -0
  738. package/dist/types/guardrails.d.ts.map +1 -0
  739. package/dist/types/guardrails.js +9 -0
  740. package/dist/types/guardrails.js.map +1 -0
  741. package/dist/types/jailbreak.d.ts +246 -0
  742. package/dist/types/jailbreak.d.ts.map +1 -0
  743. package/dist/types/jailbreak.js +8 -0
  744. package/dist/types/jailbreak.js.map +1 -0
  745. package/dist/types/lane-grant.d.ts +58 -0
  746. package/dist/types/lane-grant.d.ts.map +1 -0
  747. package/dist/types/lane-grant.js +9 -0
  748. package/dist/types/lane-grant.js.map +1 -0
  749. package/dist/utils/clipboard-image.d.ts.map +1 -1
  750. package/dist/utils/clipboard-image.js +1 -1
  751. package/dist/utils/clipboard-image.js.map +1 -1
  752. package/dist/utils/jailbreak/common.d.ts +63 -0
  753. package/dist/utils/jailbreak/common.d.ts.map +1 -0
  754. package/dist/utils/jailbreak/common.js +130 -0
  755. package/dist/utils/jailbreak/common.js.map +1 -0
  756. package/dist/utils/jailbreak/index.d.ts +7 -0
  757. package/dist/utils/jailbreak/index.d.ts.map +1 -0
  758. package/dist/utils/jailbreak/index.js +7 -0
  759. package/dist/utils/jailbreak/index.js.map +1 -0
  760. package/dist/utils/omk-user-agent.d.ts +2 -0
  761. package/dist/utils/omk-user-agent.d.ts.map +1 -0
  762. package/dist/utils/{pi-user-agent.js → omk-user-agent.js} +2 -2
  763. package/dist/utils/omk-user-agent.js.map +1 -0
  764. package/dist/utils/tools-manager.d.ts.map +1 -1
  765. package/dist/utils/tools-manager.js +1 -1
  766. package/dist/utils/tools-manager.js.map +1 -1
  767. package/dist/utils/version-check.d.ts +5 -5
  768. package/dist/utils/version-check.d.ts.map +1 -1
  769. package/dist/utils/version-check.js +8 -11
  770. package/dist/utils/version-check.js.map +1 -1
  771. package/dist/utils/windows-self-update.d.ts.map +1 -1
  772. package/dist/utils/windows-self-update.js +1 -1
  773. package/dist/utils/windows-self-update.js.map +1 -1
  774. package/docs/compaction.md +8 -21
  775. package/docs/custom-provider.md +2 -2
  776. package/docs/development.md +1 -1
  777. package/docs/extensions.md +11 -11
  778. package/docs/loadout-domains/README.md +70 -0
  779. package/docs/loadout-domains/ai-agent-ops.md +94 -0
  780. package/docs/loadout-domains/backend-api.md +116 -0
  781. package/docs/loadout-domains/data-science.md +100 -0
  782. package/docs/loadout-domains/devops-infra.md +85 -0
  783. package/docs/loadout-domains/docs-writing.md +92 -0
  784. package/docs/loadout-domains/frontend-ui.md +128 -0
  785. package/docs/loadout-domains/general.md +62 -0
  786. package/docs/loadout-domains/mobile.md +84 -0
  787. package/docs/loadout-domains/qa-testing.md +87 -0
  788. package/docs/loadout-domains/research.md +80 -0
  789. package/docs/loadout-domains/security-audit.md +97 -0
  790. package/docs/packages.md +1 -1
  791. package/docs/sdk.md +3 -3
  792. package/docs/security.md +145 -0
  793. package/docs/session-format.md +1 -1
  794. package/docs/themes.md +8 -7
  795. package/docs/tui.md +14 -14
  796. package/examples/README.md +1 -1
  797. package/examples/extensions/README.md +12 -12
  798. package/examples/extensions/aside-computer-use/README.md +114 -0
  799. package/examples/extensions/aside-computer-use/action-scoring.ts +122 -0
  800. package/examples/extensions/aside-computer-use/assertions.ts +380 -0
  801. package/examples/extensions/aside-computer-use/controller.ts +491 -0
  802. package/examples/extensions/aside-computer-use/evidence.ts +229 -0
  803. package/examples/extensions/aside-computer-use/golden-trace.ts +141 -0
  804. package/examples/extensions/aside-computer-use/index.ts +76 -0
  805. package/examples/extensions/aside-computer-use/mcp-client.ts +381 -0
  806. package/examples/extensions/aside-computer-use/observation-snapshot.ts +121 -0
  807. package/examples/extensions/aside-computer-use/package.json +16 -0
  808. package/examples/extensions/aside-computer-use/policy.ts +257 -0
  809. package/examples/extensions/aside-computer-use/risk-authorize.ts +200 -0
  810. package/examples/extensions/aside-computer-use/risk-classifier.ts +205 -0
  811. package/examples/extensions/aside-computer-use/schema-fingerprint.ts +80 -0
  812. package/examples/extensions/aside-computer-use/session-binding.ts +161 -0
  813. package/examples/extensions/aside-computer-use/tools.ts +449 -0
  814. package/examples/extensions/aside-computer-use/types.ts +217 -0
  815. package/examples/extensions/aside-computer-use/url-origin.ts +132 -0
  816. package/examples/extensions/auto-commit-on-exit.ts +6 -6
  817. package/examples/extensions/bash-spawn-hook.ts +3 -3
  818. package/examples/extensions/bookmark.ts +5 -5
  819. package/examples/extensions/border-status-editor.ts +9 -9
  820. package/examples/extensions/built-in-tool-renderer.ts +7 -7
  821. package/examples/extensions/claude-rules.ts +4 -4
  822. package/examples/extensions/commands.ts +5 -5
  823. package/examples/extensions/confirm-destructive.ts +3 -3
  824. package/examples/extensions/custom-compaction.ts +4 -4
  825. package/examples/extensions/custom-footer.ts +4 -4
  826. package/examples/extensions/custom-header.ts +11 -11
  827. package/examples/extensions/custom-provider-anthropic/index.ts +5 -5
  828. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  829. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  830. package/examples/extensions/custom-provider-gitlab-duo/index.ts +4 -4
  831. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  832. package/examples/extensions/custom-provider-gitlab-duo/test.ts +1 -1
  833. package/examples/extensions/dirty-repo-guard.ts +7 -7
  834. package/examples/extensions/doom-overlay/README.md +2 -3
  835. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  836. package/examples/extensions/doom-overlay/doom/build.sh +4 -4
  837. package/examples/extensions/doom-overlay/doom/{doomgeneric_pi.c → doomgeneric_omk.c} +1 -1
  838. package/examples/extensions/doom-overlay/doom-component.ts +2 -2
  839. package/examples/extensions/doom-overlay/doom-keys.ts +1 -1
  840. package/examples/extensions/doom-overlay/index.ts +3 -3
  841. package/examples/extensions/dynamic-resources/dynamic.json +1 -1
  842. package/examples/extensions/dynamic-resources/index.ts +2 -2
  843. package/examples/extensions/dynamic-tools.ts +4 -4
  844. package/examples/extensions/event-bus.ts +8 -8
  845. package/examples/extensions/file-trigger.ts +3 -3
  846. package/examples/extensions/git-checkpoint.ts +7 -7
  847. package/examples/extensions/git-merge-and-resolve.ts +14 -14
  848. package/examples/extensions/github-issue-autocomplete.ts +7 -12
  849. package/examples/extensions/gondolin/index.ts +16 -16
  850. package/examples/extensions/gondolin/package-lock.json +2 -2
  851. package/examples/extensions/gondolin/package.json +1 -1
  852. package/examples/extensions/handoff.ts +4 -4
  853. package/examples/extensions/hello.ts +3 -3
  854. package/examples/extensions/hidden-thinking-label.ts +4 -4
  855. package/examples/extensions/inline-bash.ts +5 -5
  856. package/examples/extensions/input-transform-streaming.ts +5 -5
  857. package/examples/extensions/input-transform.ts +5 -5
  858. package/examples/extensions/interactive-shell.ts +3 -3
  859. package/examples/extensions/mac-system-theme.ts +5 -5
  860. package/examples/extensions/message-renderer.ts +5 -5
  861. package/examples/extensions/minimal-mode.ts +10 -10
  862. package/examples/extensions/modal-editor.ts +4 -4
  863. package/examples/extensions/model-status.ts +3 -3
  864. package/examples/extensions/notify.ts +5 -5
  865. package/examples/extensions/overlay-qa-tests.ts +22 -22
  866. package/examples/extensions/overlay-test.ts +4 -4
  867. package/examples/extensions/permission-gate.ts +2 -2
  868. package/examples/extensions/pirate.ts +4 -4
  869. package/examples/extensions/plan-mode/index.ts +25 -25
  870. package/examples/extensions/preset.ts +31 -31
  871. package/examples/extensions/prompt-customizer.ts +3 -3
  872. package/examples/extensions/protected-paths.ts +2 -2
  873. package/examples/extensions/provider-payload.ts +8 -5
  874. package/examples/extensions/qna.ts +3 -3
  875. package/examples/extensions/question.ts +3 -3
  876. package/examples/extensions/questionnaire.ts +3 -3
  877. package/examples/extensions/rainbow-editor.ts +3 -3
  878. package/examples/extensions/reload-runtime.ts +4 -4
  879. package/examples/extensions/rpc-demo.ts +10 -10
  880. package/examples/extensions/sandbox/index.ts +16 -16
  881. package/examples/extensions/sandbox/package-lock.json +2 -2
  882. package/examples/extensions/sandbox/package.json +1 -1
  883. package/examples/extensions/send-user-message.ts +13 -13
  884. package/examples/extensions/session-name.ts +4 -4
  885. package/examples/extensions/shutdown-command.ts +10 -10
  886. package/examples/extensions/snake.ts +4 -4
  887. package/examples/extensions/space-invaders.ts +4 -4
  888. package/examples/extensions/ssh.ts +12 -12
  889. package/examples/extensions/status-line.ts +4 -4
  890. package/examples/extensions/structured-output.ts +3 -3
  891. package/examples/extensions/subagent/README.md +13 -13
  892. package/examples/extensions/subagent/agents.ts +1 -1
  893. package/examples/extensions/subagent/index.ts +13 -13
  894. package/examples/extensions/summarize.ts +4 -4
  895. package/examples/extensions/system-prompt-header.ts +3 -3
  896. package/examples/extensions/tic-tac-toe.ts +17 -17
  897. package/examples/extensions/timed-confirm.ts +4 -4
  898. package/examples/extensions/titlebar-spinner.ts +9 -9
  899. package/examples/extensions/todo.ts +7 -7
  900. package/examples/extensions/tool-override.ts +6 -6
  901. package/examples/extensions/tools.ts +11 -11
  902. package/examples/extensions/trigger-compact.ts +3 -3
  903. package/examples/extensions/truncated-tool.ts +4 -4
  904. package/examples/extensions/widget-placement.ts +2 -2
  905. package/examples/extensions/with-deps/index.ts +2 -2
  906. package/examples/extensions/with-deps/package-lock.json +2 -2
  907. package/examples/extensions/with-deps/package.json +1 -1
  908. package/examples/extensions/working-indicator.ts +7 -7
  909. package/examples/extensions/working-message-test.ts +3 -3
  910. package/examples/rpc-extension-ui.ts +1 -9
  911. package/examples/sdk/01-minimal.ts +1 -1
  912. package/examples/sdk/02-custom-model.ts +1 -1
  913. package/examples/sdk/03-custom-prompt.ts +1 -1
  914. package/examples/sdk/04-skills.ts +1 -1
  915. package/examples/sdk/05-tools.ts +1 -1
  916. package/examples/sdk/06-extensions.ts +11 -11
  917. package/examples/sdk/08-prompt-templates.ts +1 -1
  918. package/examples/sdk/09-api-keys-and-oauth.ts +2 -2
  919. package/examples/sdk/12-full-control.ts +1 -1
  920. package/examples/sdk/README.md +3 -3
  921. package/npm-shrinkwrap.json +1805 -0
  922. package/package.json +8 -14
  923. package/dist/core/harness-control-events.d.ts +0 -79
  924. package/dist/core/harness-control-events.d.ts.map +0 -1
  925. package/dist/core/harness-control-events.js +0 -339
  926. package/dist/core/harness-control-events.js.map +0 -1
  927. package/dist/core/harness-control-replay.d.ts +0 -26
  928. package/dist/core/harness-control-replay.d.ts.map +0 -1
  929. package/dist/core/harness-control-replay.js +0 -155
  930. package/dist/core/harness-control-replay.js.map +0 -1
  931. package/dist/core/spec-kit/compiler.d.ts +0 -67
  932. package/dist/core/spec-kit/compiler.d.ts.map +0 -1
  933. package/dist/core/spec-kit/compiler.js +0 -268
  934. package/dist/core/spec-kit/compiler.js.map +0 -1
  935. package/dist/core/transaction-coordinator.d.ts +0 -30
  936. package/dist/core/transaction-coordinator.d.ts.map +0 -1
  937. package/dist/core/transaction-coordinator.js +0 -173
  938. package/dist/core/transaction-coordinator.js.map +0 -1
  939. package/dist/modes/interactive/components/mcp-selector.d.ts +0 -28
  940. package/dist/modes/interactive/components/mcp-selector.d.ts.map +0 -1
  941. package/dist/modes/interactive/components/mcp-selector.js +0 -138
  942. package/dist/modes/interactive/components/mcp-selector.js.map +0 -1
  943. package/dist/modes/interactive/components/skills-selector.d.ts +0 -32
  944. package/dist/modes/interactive/components/skills-selector.d.ts.map +0 -1
  945. package/dist/modes/interactive/components/skills-selector.js +0 -130
  946. package/dist/modes/interactive/components/skills-selector.js.map +0 -1
  947. package/dist/utils/pi-user-agent.d.ts +0 -2
  948. package/dist/utils/pi-user-agent.d.ts.map +0 -1
  949. package/dist/utils/pi-user-agent.js.map +0 -1
@@ -0,0 +1,709 @@
1
+ /**
2
+ * Package procurement / exact-pin gate.
3
+ *
4
+ * Pure, native-only procurement algorithms for OMK package adoption. None of these
5
+ * functions install, fetch, clone, spawn, or touch the filesystem/network. They take
6
+ * already-supplied source-review inputs (manifest fields, license metadata, source
7
+ * text) and return advisory verdicts so an external installer never runs against an
8
+ * unvetted, mutable, or copyleft-contaminated source.
9
+ *
10
+ * Implements PR A from .omk/runs/omk-package-hardening-plan/{procurement.md,algorithm-plan.md}:
11
+ * - exact npm semver validation (shared pattern with scripts/check-pinned-deps.mjs)
12
+ * - mutable range/tag/branch rejection
13
+ * - candidate input normalization to a canonical pinned source string
14
+ * - license verdict gate (permissive / weak / strong / network copyleft / unknown)
15
+ * - lifecycle-script gate (fail-closed; reviewed allowlist exception only)
16
+ * - legacy/OMK compatibility scan over provided source text
17
+ * - source capability scan (credential reads, sockets, network, exec, fs writes)
18
+ * - risk/adoption decision matrix
19
+ */
20
+ import { parseGitUrl } from "../utils/git.js";
21
+ // ---------------------------------------------------------------------------
22
+ // Exact npm version validation
23
+ // ---------------------------------------------------------------------------
24
+ /** Exact semver shape, identical to scripts/check-pinned-deps.mjs. */
25
+ export const EXACT_SEMVER_PATTERN = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;
26
+ const DIST_TAGS = new Set([
27
+ "latest",
28
+ "next",
29
+ "beta",
30
+ "alpha",
31
+ "canary",
32
+ "rc",
33
+ "dev",
34
+ "nightly",
35
+ "stable",
36
+ "experimental",
37
+ "insiders",
38
+ ]);
39
+ // whitespace, range operators (^ ~ > < = *), or a standalone wildcard x/X
40
+ const RANGE_INDICATOR = /[\s^~><=*|]|\bx\b|\bX\b/;
41
+ export function validateExactNpmVersion(version) {
42
+ const value = (version ?? "").trim();
43
+ if (!value) {
44
+ return { ok: false, reason: "missing", message: "exact version is required" };
45
+ }
46
+ if (DIST_TAGS.has(value.toLowerCase())) {
47
+ return { ok: false, reason: "dist-tag", message: `dist-tag "${value}" is mutable` };
48
+ }
49
+ if (EXACT_SEMVER_PATTERN.test(value)) {
50
+ return { ok: true, version: value };
51
+ }
52
+ if (RANGE_INDICATOR.test(value)) {
53
+ return { ok: false, reason: "range", message: `range/wildcard "${value}" is not an exact version` };
54
+ }
55
+ return { ok: false, reason: "invalid", message: `"${value}" is not a valid exact semver` };
56
+ }
57
+ // ---------------------------------------------------------------------------
58
+ // npm package name validation
59
+ // ---------------------------------------------------------------------------
60
+ const NPM_NAME_PATTERN = /^(?:@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/;
61
+ export function validateNpmPackageName(name) {
62
+ const value = (name ?? "").trim();
63
+ if (!value) {
64
+ return { ok: false, message: "package name is required" };
65
+ }
66
+ if (value.length > 214) {
67
+ return { ok: false, message: "package name exceeds 214 characters" };
68
+ }
69
+ if (value !== value.toLowerCase()) {
70
+ return { ok: false, message: "package name must be lowercase" };
71
+ }
72
+ if (value.includes("..")) {
73
+ return { ok: false, message: "package name must not contain path traversal" };
74
+ }
75
+ if (!NPM_NAME_PATTERN.test(value)) {
76
+ return { ok: false, message: `"${value}" is not a valid npm package name` };
77
+ }
78
+ return { ok: true, name: value };
79
+ }
80
+ // ---------------------------------------------------------------------------
81
+ // git ref validation
82
+ // ---------------------------------------------------------------------------
83
+ const FULL_SHA = /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/;
84
+ const HEX_ONLY = /^[0-9a-f]+$/;
85
+ const MUTABLE_BRANCHES = new Set(["main", "master", "develop", "dev", "trunk", "head", "release", "stable", "latest"]);
86
+ export function validateGitRef(ref, resolvedCommit) {
87
+ const value = (ref ?? "").trim();
88
+ if (!value) {
89
+ return { ok: false, reason: "missing", message: "git ref is required" };
90
+ }
91
+ if (FULL_SHA.test(value)) {
92
+ return { ok: true, ref: value, commit: value, kind: "commit" };
93
+ }
94
+ const lower = value.toLowerCase();
95
+ if (MUTABLE_BRANCHES.has(lower) || value === "HEAD" || value.startsWith("refs/heads/")) {
96
+ return { ok: false, reason: "mutable-branch", message: `"${value}" is a mutable branch` };
97
+ }
98
+ if (HEX_ONLY.test(lower) && lower.length < 40) {
99
+ return { ok: false, reason: "short-sha", message: `"${value}" is an abbreviated commit; full SHA required` };
100
+ }
101
+ // Treat anything else as a tag: immutable only when anchored to a reviewed full commit.
102
+ const commit = (resolvedCommit ?? "").trim();
103
+ if (!commit) {
104
+ return { ok: false, reason: "unresolved-tag", message: `tag "${value}" needs a reviewed resolved commit SHA` };
105
+ }
106
+ if (!FULL_SHA.test(commit)) {
107
+ return { ok: false, reason: "invalid", message: `resolvedCommit "${commit}" is not a full SHA` };
108
+ }
109
+ return { ok: true, ref: value, commit, kind: "resolved-tag" };
110
+ }
111
+ export function normalizeCandidate(input) {
112
+ const reasons = [];
113
+ const hasNpm = Boolean(input.exactVersion);
114
+ const hasGit = Boolean(input.gitRepo || input.gitRef);
115
+ if (hasNpm && hasGit) {
116
+ reasons.push("ambiguous-source: provide either an npm exactVersion or a git repo+ref, not both");
117
+ return { ok: false, reasons };
118
+ }
119
+ if (!hasNpm && !hasGit) {
120
+ reasons.push("missing-source: provide exactVersion (npm) or gitRepo+gitRef (git)");
121
+ return { ok: false, reasons };
122
+ }
123
+ if (hasNpm) {
124
+ const nameCheck = validateNpmPackageName(input.name);
125
+ if (!nameCheck.ok)
126
+ reasons.push(`invalid-npm-name: ${nameCheck.message}`);
127
+ const versionCheck = validateExactNpmVersion(input.exactVersion);
128
+ if (!versionCheck.ok)
129
+ reasons.push(`version: ${versionCheck.message}`);
130
+ if (nameCheck.ok && versionCheck.ok) {
131
+ return {
132
+ ok: true,
133
+ kind: "npm",
134
+ source: `npm:${nameCheck.name}@${versionCheck.version}`,
135
+ name: nameCheck.name,
136
+ version: versionCheck.version,
137
+ };
138
+ }
139
+ return { ok: false, reasons };
140
+ }
141
+ // git
142
+ const git = resolveGitRepo(input.gitRepo ?? "");
143
+ if (!git)
144
+ reasons.push("invalid-git-repo: could not parse a host/org/repo from gitRepo");
145
+ const refCheck = validateGitRef(input.gitRef, input.resolvedCommit);
146
+ if (!refCheck.ok)
147
+ reasons.push(`git-ref: ${refCheck.message}`);
148
+ if (git && refCheck.ok) {
149
+ return {
150
+ ok: true,
151
+ kind: "git",
152
+ source: `git:${git.host}/${git.path}@${refCheck.commit}`,
153
+ repo: git.repo,
154
+ host: git.host,
155
+ path: git.path,
156
+ ref: refCheck.ref,
157
+ commit: refCheck.commit,
158
+ };
159
+ }
160
+ return { ok: false, reasons };
161
+ }
162
+ function resolveGitRepo(repo) {
163
+ const trimmed = repo.trim();
164
+ if (!trimmed)
165
+ return null;
166
+ const parsed = parseGitUrl(trimmed) ?? parseGitUrl(`git:${trimmed}`);
167
+ if (!parsed)
168
+ return null;
169
+ return { repo: parsed.repo, host: parsed.host, path: parsed.path };
170
+ }
171
+ const PERMISSIVE_LICENSES = new Set([
172
+ "MIT",
173
+ "MIT-0",
174
+ "ISC",
175
+ "BSD",
176
+ "BSD-2-CLAUSE",
177
+ "BSD-3-CLAUSE",
178
+ "APACHE-2.0",
179
+ "0BSD",
180
+ "UNLICENSE",
181
+ "CC0-1.0",
182
+ "BLUEOAK-1.0.0",
183
+ "ZLIB",
184
+ "PYTHON-2.0",
185
+ "WTFPL",
186
+ ]);
187
+ const NOTICE_REQUIRED_LICENSES = new Set(["APACHE-2.0", "BSD", "BSD-2-CLAUSE", "BSD-3-CLAUSE", "MPL-2.0"]);
188
+ function licenseKey(license) {
189
+ return license.trim().toUpperCase().replace(/\s+/g, "");
190
+ }
191
+ export function classifyLicense(license) {
192
+ if (!license || !license.trim())
193
+ return "unknown";
194
+ const key = licenseKey(license);
195
+ if (key.includes("AGPL") || key.includes("SSPL"))
196
+ return "network-copyleft";
197
+ if (key.includes("LGPL") || key.includes("MPL") || key.includes("EPL") || key.includes("CDDL")) {
198
+ return "weak-copyleft";
199
+ }
200
+ if (key.includes("GPL"))
201
+ return "strong-copyleft";
202
+ if (PERMISSIVE_LICENSES.has(key))
203
+ return "permissive";
204
+ return "unknown";
205
+ }
206
+ export function evaluateLicense(input) {
207
+ const reasons = [];
208
+ const classification = classifyLicense(input.declaredLicense);
209
+ const noticeNeeded = Boolean(input.declaredLicense) &&
210
+ (NOTICE_REQUIRED_LICENSES.has(licenseKey(input.declaredLicense ?? "")) || classification === "weak-copyleft");
211
+ if (classification === "unknown") {
212
+ reasons.push(input.declaredLicense ? `unrecognized-license: ${input.declaredLicense}` : "missing-license");
213
+ return { verdict: "review", classification, noticeNeeded, reasons };
214
+ }
215
+ if (classification === "network-copyleft" || classification === "strong-copyleft") {
216
+ reasons.push(`copyleft-blocks-adoption: ${input.declaredLicense}`);
217
+ return { verdict: "reject", classification, noticeNeeded, reasons };
218
+ }
219
+ if (classification === "weak-copyleft") {
220
+ reasons.push(`weak-copyleft-needs-review: ${input.declaredLicense}`);
221
+ return { verdict: "review", classification, noticeNeeded, reasons };
222
+ }
223
+ // Permissive: runtime/permanent adoption needs a transitive license inventory.
224
+ if (input.intendedUse === "permanent-adopt" &&
225
+ (!input.transitiveLicenses || input.transitiveLicenses.length === 0)) {
226
+ reasons.push("transitive-license-inventory-required");
227
+ return { verdict: "review", classification, noticeNeeded, reasons };
228
+ }
229
+ if (input.transitiveLicenses) {
230
+ for (const transitive of input.transitiveLicenses) {
231
+ const transitiveClass = classifyLicense(transitive);
232
+ if (transitiveClass === "strong-copyleft" || transitiveClass === "network-copyleft") {
233
+ reasons.push(`transitive-copyleft: ${transitive}`);
234
+ return { verdict: "reject", classification, noticeNeeded, reasons };
235
+ }
236
+ if (transitiveClass === "unknown" || transitiveClass === "weak-copyleft") {
237
+ reasons.push(`transitive-needs-review: ${transitive}`);
238
+ return { verdict: "review", classification, noticeNeeded, reasons };
239
+ }
240
+ }
241
+ }
242
+ return { verdict: "pass", classification, noticeNeeded, reasons };
243
+ }
244
+ // ---------------------------------------------------------------------------
245
+ // Lifecycle-script gate
246
+ // ---------------------------------------------------------------------------
247
+ /** npm/pnpm/bun lifecycle hooks that run automatically during install or pack. */
248
+ export const LIFECYCLE_SCRIPT_NAMES = [
249
+ "preinstall",
250
+ "install",
251
+ "postinstall",
252
+ "preuninstall",
253
+ "uninstall",
254
+ "postuninstall",
255
+ "prepare",
256
+ "prepublish",
257
+ "prepublishOnly",
258
+ "prepack",
259
+ "postpack",
260
+ ];
261
+ export function evaluateLifecycleScripts(input) {
262
+ const scripts = input.packageJsonScripts ?? {};
263
+ const declared = LIFECYCLE_SCRIPT_NAMES.filter((name) => {
264
+ const value = scripts[name];
265
+ return typeof value === "string" && value.trim().length > 0;
266
+ });
267
+ if (declared.length === 0) {
268
+ return { verdict: "pass", declaredScripts: [], requiresException: false, reasons: [] };
269
+ }
270
+ if (!input.allowLifecycleScripts) {
271
+ return {
272
+ verdict: "reject",
273
+ declaredScripts: declared,
274
+ requiresException: true,
275
+ reasons: [`lifecycle-scripts-present: ${declared.join(", ")}`],
276
+ };
277
+ }
278
+ const allow = new Set((input.reviewedAllowlist ?? []).filter((entry) => Boolean(entry?.trim())));
279
+ const exactMatched = Boolean(input.source && allow.has(input.source));
280
+ const identityMatched = Boolean(input.identity && allow.has(input.identity));
281
+ const mode = input.lifecycleAllowlistMode ?? "exact";
282
+ if (!exactMatched && !(mode === "identity" && identityMatched)) {
283
+ return {
284
+ verdict: "review",
285
+ declaredScripts: declared,
286
+ requiresException: true,
287
+ reasons: [
288
+ identityMatched
289
+ ? "lifecycle-scripts-require-exact-allowlist-entry"
290
+ : "lifecycle-scripts-opt-in-without-reviewed-allowlist-entry",
291
+ ],
292
+ };
293
+ }
294
+ return {
295
+ verdict: "pass",
296
+ declaredScripts: declared,
297
+ requiresException: true,
298
+ reasons: [`lifecycle-scripts-allowed-by-reviewed-allowlist: ${declared.join(", ")}`],
299
+ };
300
+ }
301
+ const LEGACY_CONFIG_DIR_NAME = "pi";
302
+ const COMPATIBILITY_RULES = [
303
+ {
304
+ kind: "legacy-home-path",
305
+ severity: "block",
306
+ pattern: new RegExp(`${String.raw `~\/\.`}${LEGACY_CONFIG_DIR_NAME}${String.raw `(?:\/|\b)`}`),
307
+ },
308
+ {
309
+ kind: "legacy-state-dir",
310
+ severity: "block",
311
+ pattern: new RegExp(`${String.raw `\.`}${LEGACY_CONFIG_DIR_NAME}${String.raw `\/agents\b`}`),
312
+ },
313
+ {
314
+ kind: "legacy-project-path",
315
+ severity: "block",
316
+ pattern: new RegExp(`${String.raw `(?:^|[^.\w])\.`}${LEGACY_CONFIG_DIR_NAME}${String.raw `\/`}`),
317
+ },
318
+ { kind: "legacy-package-path", severity: "block", pattern: /pi-coding-agent/ },
319
+ { kind: "legacy-cli-invocation", severity: "block", pattern: /\bpi\s+(?:install|update)\b/ },
320
+ { kind: "legacy-env", severity: "warn", pattern: /\bPI_[A-Z][A-Z0-9_]*\b/ },
321
+ { kind: "legacy-import", severity: "block", pattern: /@(?:mariozechner|earendil-works)\/pi-/ },
322
+ { kind: "omk-path", severity: "info", pattern: /(?:^|[^.\w])\.omk\// },
323
+ ];
324
+ function scanWithRules(sources, rules) {
325
+ const findings = [];
326
+ for (const source of sources) {
327
+ const lines = source.text.split(/\r?\n/);
328
+ for (let i = 0; i < lines.length; i++) {
329
+ const line = lines[i];
330
+ for (const rule of rules) {
331
+ if (rule.pattern.test(line)) {
332
+ findings.push({
333
+ kind: rule.kind,
334
+ severity: rule.severity,
335
+ path: source.path,
336
+ line: i + 1,
337
+ snippet: line.trim().slice(0, 200),
338
+ });
339
+ }
340
+ }
341
+ }
342
+ }
343
+ return findings;
344
+ }
345
+ export function scanLegacyOmkCompatibility(sources) {
346
+ const findings = scanWithRules(sources, COMPATIBILITY_RULES);
347
+ const hasBlock = findings.some((f) => f.severity === "block");
348
+ const hasOmk = findings.some((f) => f.kind === "omk-path");
349
+ const hasWarn = findings.some((f) => f.severity === "warn");
350
+ let verdict;
351
+ if (hasBlock) {
352
+ verdict = "legacy-hardcoded";
353
+ }
354
+ else if (hasOmk) {
355
+ verdict = "omk-native";
356
+ }
357
+ else if (hasWarn) {
358
+ verdict = "unknown";
359
+ }
360
+ else {
361
+ verdict = "unknown";
362
+ }
363
+ return { verdict, findings };
364
+ }
365
+ const CAPABILITY_RULES = [
366
+ // Credential / secret file reads are the hard blocker.
367
+ { kind: "credential-read", severity: "block", pattern: /["'`][^"'`]*\.env(?:\.[\w-]+)?["'`]/ },
368
+ { kind: "credential-read", severity: "block", pattern: /auth\.json|\.npmrc|\.netrc/ },
369
+ {
370
+ kind: "credential-read",
371
+ severity: "block",
372
+ pattern: /id_rsa|id_ed25519|\.ssh\/|\.aws\/credentials|\.kube\/config/,
373
+ },
374
+ { kind: "credential-read", severity: "block", pattern: /BEGIN\s+(?:RSA\s+|EC\s+|OPENSSH\s+)?PRIVATE\s+KEY/ },
375
+ { kind: "host-socket", severity: "block", pattern: /\/var\/run\/docker\.sock|dockerode|kubeconfig/ },
376
+ { kind: "child-process", severity: "warn", pattern: /child_process|\bspawn\s*\(|\bexec(?:Sync|File)?\s*\(/ },
377
+ {
378
+ kind: "network",
379
+ severity: "warn",
380
+ pattern: /\bfetch\s*\(\s*["'`]?https?:|https?\.request|node-fetch|axios|undici|got\(/,
381
+ },
382
+ {
383
+ kind: "filesystem-write",
384
+ severity: "warn",
385
+ pattern: /writeFileSync|appendFileSync|\bfs\.(?:write|append)|rmSync|unlinkSync|mkdirSync/,
386
+ },
387
+ { kind: "browser-control", severity: "warn", pattern: /puppeteer|playwright|chrome-devtools|:9222\b/ },
388
+ { kind: "telemetry", severity: "warn", pattern: /\btelemetry\b|posthog|segment\.io|@braintrust|analytics\b/ },
389
+ { kind: "setFooter", severity: "info", pattern: /\bsetFooter\s*\(/ },
390
+ { kind: "setHeader", severity: "info", pattern: /\bsetHeader\s*\(/ },
391
+ { kind: "setEditorComponent", severity: "info", pattern: /\bsetEditorComponent\s*\(/ },
392
+ { kind: "setStatus", severity: "info", pattern: /\bsetStatus\s*\(/ },
393
+ { kind: "setActiveTools", severity: "info", pattern: /\bsetActiveTools\s*\(/ },
394
+ { kind: "setModel", severity: "warn", pattern: /\bsetModel\s*\(/ },
395
+ { kind: "setThinkingLevel", severity: "warn", pattern: /\bsetThinkingLevel\s*\(/ },
396
+ { kind: "renderCall", severity: "info", pattern: /\brenderCall\s*[:(]/ },
397
+ { kind: "renderResult", severity: "info", pattern: /\brenderResult\s*[:(]/ },
398
+ { kind: "registerMessageRenderer", severity: "info", pattern: /\bregisterMessageRenderer\s*\(/ },
399
+ { kind: "before_provider_request", severity: "warn", pattern: /["'`]before_provider_request["'`]/ },
400
+ { kind: "context", severity: "warn", pattern: /["'`]context["'`]/ },
401
+ { kind: "session_before_compact", severity: "warn", pattern: /["'`]session_before_compact["'`]/ },
402
+ { kind: "env-secret-access", severity: "info", pattern: /process\.env\.[A-Z0-9_]*(?:TOKEN|SECRET|KEY|PASSWORD)/ },
403
+ ];
404
+ export function scanSourceCapabilities(sources) {
405
+ const findings = scanWithRules(sources, CAPABILITY_RULES);
406
+ const capabilities = [...new Set(findings.map((f) => f.kind))];
407
+ return { capabilities, findings };
408
+ }
409
+ export function evaluateReleaseAge(input) {
410
+ const minAge = input.minReleaseAgeDays ?? 0;
411
+ if (minAge <= 0)
412
+ return { verdict: "pass", reason: "release-age-not-required" };
413
+ if (!input.publishedAt)
414
+ return { verdict: "review", reason: "release-age-published-at-missing" };
415
+ const published = Date.parse(input.publishedAt);
416
+ if (Number.isNaN(published))
417
+ return { verdict: "review", reason: "release-age-invalid-published-at" };
418
+ const now = input.now?.getTime() ?? Date.now();
419
+ const ageDays = (now - published) / 86_400_000;
420
+ if (ageDays < minAge) {
421
+ return { verdict: "defer", reason: `release-age-below-${minAge}-days`, ageDays };
422
+ }
423
+ return { verdict: "pass", reason: "release-age-ok", ageDays };
424
+ }
425
+ export function assessMaintainerTrust(input = {}) {
426
+ if (input.verifiedPublisher === true)
427
+ return "low";
428
+ if (input.verifiedPublisher === false && (input.accountAgeDays ?? Number.POSITIVE_INFINITY) < 60)
429
+ return "high";
430
+ if (input.verifiedPublisher === false)
431
+ return "medium";
432
+ return "low";
433
+ }
434
+ function maxRisk(a, b) {
435
+ const rank = { low: 0, medium: 1, high: 2 };
436
+ return rank[a] >= rank[b] ? a : b;
437
+ }
438
+ // ---------------------------------------------------------------------------
439
+ // Risk inference
440
+ // ---------------------------------------------------------------------------
441
+ const HIGH_RISK_CAPABILITIES = new Set(["credential-read", "host-socket"]);
442
+ const MEDIUM_RISK_CAPABILITIES = new Set(["child-process", "network", "browser-control"]);
443
+ export function inferRisk(capabilities, licenseVerdict, lifecycleVerdict, maintainer) {
444
+ let risk = "low";
445
+ if (licenseVerdict === "reject" ||
446
+ lifecycleVerdict === "reject" ||
447
+ capabilities.some((capability) => HIGH_RISK_CAPABILITIES.has(capability))) {
448
+ risk = "high";
449
+ }
450
+ else if (licenseVerdict === "review" ||
451
+ lifecycleVerdict === "review" ||
452
+ capabilities.some((capability) => MEDIUM_RISK_CAPABILITIES.has(capability))) {
453
+ risk = "medium";
454
+ }
455
+ return maxRisk(risk, assessMaintainerTrust(maintainer));
456
+ }
457
+ function baseAdoptionFor(intendedUse) {
458
+ switch (intendedUse) {
459
+ case "native":
460
+ return "native";
461
+ case "vendor":
462
+ case "theme-port":
463
+ return "vendor";
464
+ case "ephemeral-adopt":
465
+ return "ephemeral-trial";
466
+ case "permanent-adopt":
467
+ return "permanent-package";
468
+ case "reference":
469
+ return "reference-only";
470
+ case "advisory":
471
+ return "advisory-only";
472
+ case "report-only":
473
+ return "report-only";
474
+ case "measurement-gated":
475
+ return "measurement-gated";
476
+ }
477
+ }
478
+ function deferred(reason, rejectedReasons = []) {
479
+ return { adoption: "deferred", deferredReason: reason, rejectedReasons: [reason, ...rejectedReasons] };
480
+ }
481
+ function policyOverlayFor(input) {
482
+ return input.policyOverlay;
483
+ }
484
+ function hasValidExportPolicy(policy) {
485
+ return Boolean(policy?.defaultOff === true &&
486
+ policy.offlineDisables === true &&
487
+ policy.denyRawPrompt === true &&
488
+ policy.denyRawToolOutput === true);
489
+ }
490
+ export function decideAdoption(input) {
491
+ const reasons = [];
492
+ const base = baseAdoptionFor(input.intendedUse);
493
+ const policy = policyOverlayFor(input);
494
+ if (!input.pinOk) {
495
+ if (base === "native" ||
496
+ base === "reference-only" ||
497
+ base === "advisory-only" ||
498
+ base === "report-only" ||
499
+ base === "measurement-gated") {
500
+ return deferred("missing-exact-pin");
501
+ }
502
+ reasons.push("exact-pin-required");
503
+ return { adoption: "reject", rejectedReasons: reasons };
504
+ }
505
+ if (base === "native") {
506
+ if (input.nativeSpec?.exists === false)
507
+ return deferred("pending-native-spec");
508
+ if (input.capabilities.includes("credential-read"))
509
+ reasons.push("reads-credentials-upstream");
510
+ if (input.licenseVerdict === "reject")
511
+ reasons.push("license-blocked-upstream");
512
+ if (input.lifecycleVerdict === "reject")
513
+ reasons.push("lifecycle-scripts-blocked-upstream");
514
+ if (input.pathCompatibility === "legacy-hardcoded")
515
+ reasons.push("legacy-hardcoded-paths-upstream");
516
+ if (policy?.declaredUse === "sandbox" && !policy.sandboxBackend)
517
+ return deferred("pending-sandbox-backend");
518
+ if (policy?.declaredUse === "sandbox")
519
+ reasons.push("sandbox-risk-floor-high");
520
+ return { adoption: "native", rejectedReasons: reasons };
521
+ }
522
+ if (policy?.declaredUse === "memory" && input.capabilities.includes("credential-read")) {
523
+ reasons.push("memory-credential-read-rejected");
524
+ return { adoption: "reject", rejectedReasons: reasons };
525
+ }
526
+ if (input.capabilities.includes("credential-read")) {
527
+ reasons.push("reads-credentials");
528
+ return { adoption: "reject", rejectedReasons: reasons };
529
+ }
530
+ if (input.licenseVerdict === "reject") {
531
+ reasons.push("license-blocked");
532
+ return { adoption: "reject", rejectedReasons: reasons };
533
+ }
534
+ if (input.lifecycleVerdict === "reject") {
535
+ reasons.push("lifecycle-scripts-blocked");
536
+ return { adoption: "reject", rejectedReasons: reasons };
537
+ }
538
+ if (input.pathCompatibility === "legacy-hardcoded") {
539
+ reasons.push("legacy-hardcoded-paths");
540
+ return { adoption: "reject", rejectedReasons: reasons };
541
+ }
542
+ if (policy?.declaredUse === "workflow-reference") {
543
+ if (policy.activateAlongsideScheduler === true) {
544
+ return { adoption: "reject", rejectedReasons: ["scheduler-coexistence-denied"] };
545
+ }
546
+ return { adoption: "reference-only", rejectedReasons: reasons };
547
+ }
548
+ if (policy?.declaredUse === "sandbox") {
549
+ if (!policy.sandboxBackend) {
550
+ reasons.push("sandbox-requires-backend");
551
+ return { adoption: "reject", rejectedReasons: reasons };
552
+ }
553
+ reasons.push("sandbox-risk-floor-high");
554
+ }
555
+ if (policy?.declaredUse === "observability" &&
556
+ base === "permanent-package" &&
557
+ !hasValidExportPolicy(policy.exportPolicy)) {
558
+ return deferred("pending-export-policy");
559
+ }
560
+ if (policy?.declaredUse === "advisor" || policy?.declaredUse === "quality") {
561
+ if (input.capabilities.includes("filesystem-write") || input.capabilities.includes("child-process")) {
562
+ reasons.push("report-only-mutation-denied");
563
+ }
564
+ return { adoption: "report-only", rejectedReasons: reasons };
565
+ }
566
+ if (base === "measurement-gated") {
567
+ if (!input.metrics || input.metrics.length === 0)
568
+ return deferred("pending-metrics");
569
+ return { adoption: "measurement-gated", rejectedReasons: reasons };
570
+ }
571
+ if (base === "reference-only" || base === "advisory-only" || base === "report-only") {
572
+ return { adoption: base, rejectedReasons: reasons };
573
+ }
574
+ if (base === "permanent-package") {
575
+ if (input.risk === "high") {
576
+ reasons.push("high-risk-permanent-blocked");
577
+ return { adoption: "reject", rejectedReasons: reasons };
578
+ }
579
+ if (input.licenseVerdict === "review" ||
580
+ input.lifecycleVerdict === "review" ||
581
+ input.pathCompatibility === "unknown") {
582
+ reasons.push("needs-review-before-permanent");
583
+ return { adoption: "ephemeral-trial", rejectedReasons: reasons };
584
+ }
585
+ return { adoption: "permanent-package", rejectedReasons: reasons };
586
+ }
587
+ if (base === "vendor") {
588
+ if (input.licenseVerdict === "review")
589
+ reasons.push("license-review-before-vendor");
590
+ return { adoption: "vendor", rejectedReasons: reasons };
591
+ }
592
+ return { adoption: "ephemeral-trial", rejectedReasons: reasons };
593
+ }
594
+ export function procureCandidate(inputs) {
595
+ const candidate = inputs.candidate;
596
+ const normalized = normalizeCandidate(candidate);
597
+ const pinned = normalized.ok;
598
+ const license = evaluateLicense({
599
+ declaredLicense: inputs.declaredLicense,
600
+ licenseFiles: inputs.licenseFiles,
601
+ transitiveLicenses: inputs.transitiveLicenses,
602
+ intendedUse: candidate.intendedUse,
603
+ });
604
+ const lifecycle = evaluateLifecycleScripts({
605
+ packageJsonScripts: inputs.packageJsonScripts,
606
+ allowLifecycleScripts: candidate.allowLifecycleScripts,
607
+ reviewedAllowlist: inputs.reviewedScriptAllowlist,
608
+ source: normalized.ok ? normalized.source : undefined,
609
+ identity: normalized.ok ? sourceIdentity(normalized) : undefined,
610
+ lifecycleAllowlistMode: inputs.lifecycleAllowlistMode,
611
+ });
612
+ const sources = inputs.sources ?? [];
613
+ const compatibility = scanLegacyOmkCompatibility(sources);
614
+ const capabilities = scanSourceCapabilities(sources);
615
+ const releaseAge = evaluateReleaseAge({
616
+ publishedAt: candidate.publishedAt,
617
+ minReleaseAgeDays: candidate.minReleaseAgeDays,
618
+ now: inputs.now,
619
+ });
620
+ const maintainerRisk = assessMaintainerTrust(candidate.maintainer);
621
+ const risk = candidate.risk ?? inferRisk(capabilities.capabilities, license.verdict, lifecycle.verdict, candidate.maintainer);
622
+ const policyOverlay = inputs.policyOverlay ??
623
+ candidate.policyOverlay ??
624
+ (candidate.declaredUse === undefined ? undefined : { declaredUse: candidate.declaredUse });
625
+ const decision = decideAdoption({
626
+ intendedUse: candidate.intendedUse,
627
+ risk,
628
+ pinOk: pinned,
629
+ licenseVerdict: license.verdict,
630
+ lifecycleVerdict: lifecycle.verdict,
631
+ pathCompatibility: compatibility.verdict,
632
+ capabilities: capabilities.capabilities,
633
+ nativeSpec: candidate.nativeSpec,
634
+ policyOverlay,
635
+ metrics: candidate.metrics,
636
+ });
637
+ const rejectedReasons = [...decision.rejectedReasons];
638
+ if (!normalized.ok) {
639
+ rejectedReasons.push(...normalized.reasons);
640
+ }
641
+ return {
642
+ candidate,
643
+ normalized: normalized.ok ? normalized : null,
644
+ pinned,
645
+ licenseVerdict: license.verdict,
646
+ licenseClassification: license.classification,
647
+ noticeNeeded: license.noticeNeeded,
648
+ lifecycleVerdict: lifecycle.verdict,
649
+ declaredLifecycleScripts: lifecycle.declaredScripts,
650
+ pathCompatibility: compatibility.verdict,
651
+ compatibilityFindings: compatibility.findings,
652
+ capabilities: capabilities.capabilities,
653
+ capabilityFindings: capabilities.findings,
654
+ risk,
655
+ adoption: decision.adoption,
656
+ ...(decision.deferredReason === undefined ? {} : { deferredReason: decision.deferredReason }),
657
+ releaseAgeVerdict: releaseAge.verdict,
658
+ maintainerRisk,
659
+ rejectedReasons,
660
+ };
661
+ }
662
+ function withBatchDeferral(review, reason, rejectedReason) {
663
+ return {
664
+ ...review,
665
+ adoption: "deferred",
666
+ deferredReason: reason,
667
+ rejectedReasons: [...review.rejectedReasons, rejectedReason],
668
+ };
669
+ }
670
+ function isAdoptedForGroup(review) {
671
+ return review.adoption !== "reject" && review.adoption !== "deferred";
672
+ }
673
+ export function procureCandidateBatch(input) {
674
+ const selectedByGroup = {};
675
+ const coverage = [];
676
+ for (const candidate of input.candidates) {
677
+ const review = procureCandidate({
678
+ candidate,
679
+ packageJsonScripts: input.packageJsonScripts,
680
+ declaredLicense: input.declaredLicense ?? "MIT",
681
+ transitiveLicenses: input.transitiveLicenses,
682
+ sources: input.sources,
683
+ reviewedScriptAllowlist: input.reviewedScriptAllowlist,
684
+ lifecycleAllowlistMode: input.lifecycleAllowlistMode,
685
+ now: input.now,
686
+ });
687
+ const group = candidate.excludeGroup;
688
+ if (group && isAdoptedForGroup(review)) {
689
+ if (selectedByGroup[group] === undefined) {
690
+ selectedByGroup[group] = candidate.name;
691
+ coverage.push(review);
692
+ }
693
+ else {
694
+ coverage.push(withBatchDeferral(review, "group-excluded", `group-exclusion: ${group}`));
695
+ }
696
+ }
697
+ else {
698
+ coverage.push(review);
699
+ }
700
+ }
701
+ return { coverage, globalBlockers: [], selectedByGroup };
702
+ }
703
+ function sourceIdentity(normalized) {
704
+ if (normalized.kind === "npm") {
705
+ return `npm:${normalized.name}`;
706
+ }
707
+ return `git:${normalized.host}/${normalized.path}`;
708
+ }
709
+ //# sourceMappingURL=package-procurement.js.map