@try-works/dsh-tool-mode 0.0.0-stage → 0.5.44

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 (425) hide show
  1. package/README.md +299 -2
  2. package/bin/dsh-tool-mode-credentials.mjs +20 -0
  3. package/bin/dsh-tool-mode-mcp-stdio.mjs +80 -0
  4. package/bin/dsh-tool-mode.mjs +211 -0
  5. package/builtins.lock.json +26 -0
  6. package/catalog/desert-ant-models.json +693 -0
  7. package/catalog/playbooks.json +531 -0
  8. package/client/client.model-tools.js +1910 -0
  9. package/client/index.js +4039 -0
  10. package/cordis.patch.yml +39 -0
  11. package/lib/adapters/index.d.ts +61 -0
  12. package/lib/adapters/index.d.ts.map +1 -0
  13. package/lib/adapters/index.js +82 -0
  14. package/lib/adapters/types.d.ts +106 -0
  15. package/lib/adapters/types.d.ts.map +1 -0
  16. package/lib/adapters/types.js +85 -0
  17. package/lib/approval.d.ts +189 -0
  18. package/lib/approval.d.ts.map +1 -0
  19. package/lib/approval.js +510 -0
  20. package/lib/asset-acquisition.d.ts +149 -0
  21. package/lib/asset-acquisition.d.ts.map +1 -0
  22. package/lib/asset-acquisition.js +175 -0
  23. package/lib/authority.d.ts +185 -0
  24. package/lib/authority.d.ts.map +1 -0
  25. package/lib/authority.js +223 -0
  26. package/lib/bindings.d.ts +144 -0
  27. package/lib/bindings.d.ts.map +1 -0
  28. package/lib/bindings.js +314 -0
  29. package/lib/builtins.d.ts +27 -0
  30. package/lib/builtins.d.ts.map +1 -0
  31. package/lib/builtins.js +37 -0
  32. package/lib/capability.d.ts +58 -0
  33. package/lib/capability.d.ts.map +1 -0
  34. package/lib/capability.js +192 -0
  35. package/lib/capture-path.d.ts +97 -0
  36. package/lib/capture-path.d.ts.map +1 -0
  37. package/lib/capture-path.js +152 -0
  38. package/lib/catalog.d.ts +37 -0
  39. package/lib/catalog.d.ts.map +1 -0
  40. package/lib/catalog.js +274 -0
  41. package/lib/contract-payload.d.ts +39 -0
  42. package/lib/contract-payload.d.ts.map +1 -0
  43. package/lib/contract-payload.js +56 -0
  44. package/lib/custom-tools/compile.d.ts +25 -0
  45. package/lib/custom-tools/compile.d.ts.map +1 -0
  46. package/lib/custom-tools/compile.js +61 -0
  47. package/lib/custom-tools/composite-executor.d.ts +42 -0
  48. package/lib/custom-tools/composite-executor.d.ts.map +1 -0
  49. package/lib/custom-tools/composite-executor.js +113 -0
  50. package/lib/custom-tools/dispatch.d.ts +28 -0
  51. package/lib/custom-tools/dispatch.d.ts.map +1 -0
  52. package/lib/custom-tools/dispatch.js +34 -0
  53. package/lib/custom-tools/http-executor.d.ts +48 -0
  54. package/lib/custom-tools/http-executor.d.ts.map +1 -0
  55. package/lib/custom-tools/http-executor.js +241 -0
  56. package/lib/custom-tools/index.d.ts +12 -0
  57. package/lib/custom-tools/index.d.ts.map +1 -0
  58. package/lib/custom-tools/index.js +12 -0
  59. package/lib/custom-tools/mcp-surface.d.ts +14 -0
  60. package/lib/custom-tools/mcp-surface.d.ts.map +1 -0
  61. package/lib/custom-tools/mcp-surface.js +41 -0
  62. package/lib/custom-tools/prompt-executor.d.ts +39 -0
  63. package/lib/custom-tools/prompt-executor.d.ts.map +1 -0
  64. package/lib/custom-tools/prompt-executor.js +59 -0
  65. package/lib/custom-tools/registry.d.ts +69 -0
  66. package/lib/custom-tools/registry.d.ts.map +1 -0
  67. package/lib/custom-tools/registry.js +130 -0
  68. package/lib/custom-tools/schema.d.ts +26 -0
  69. package/lib/custom-tools/schema.d.ts.map +1 -0
  70. package/lib/custom-tools/schema.js +375 -0
  71. package/lib/custom-tools/service.d.ts +90 -0
  72. package/lib/custom-tools/service.d.ts.map +1 -0
  73. package/lib/custom-tools/service.js +203 -0
  74. package/lib/custom-tools/store.d.ts +61 -0
  75. package/lib/custom-tools/store.d.ts.map +1 -0
  76. package/lib/custom-tools/store.js +240 -0
  77. package/lib/custom-tools/types.d.ts +131 -0
  78. package/lib/custom-tools/types.d.ts.map +1 -0
  79. package/lib/custom-tools/types.js +11 -0
  80. package/lib/decision-combine.d.ts +113 -0
  81. package/lib/decision-combine.d.ts.map +1 -0
  82. package/lib/decision-combine.js +156 -0
  83. package/lib/decision-evaluate.d.ts +185 -0
  84. package/lib/decision-evaluate.d.ts.map +1 -0
  85. package/lib/decision-evaluate.js +227 -0
  86. package/lib/deployment-coordinator.d.ts +213 -0
  87. package/lib/deployment-coordinator.d.ts.map +1 -0
  88. package/lib/deployment-coordinator.js +274 -0
  89. package/lib/diagnostics.d.ts +169 -0
  90. package/lib/diagnostics.d.ts.map +1 -0
  91. package/lib/diagnostics.js +136 -0
  92. package/lib/discovery-contracts.d.ts +14 -0
  93. package/lib/discovery-contracts.d.ts.map +1 -0
  94. package/lib/discovery-contracts.js +90 -0
  95. package/lib/discovery-describe.d.ts +35 -0
  96. package/lib/discovery-describe.d.ts.map +1 -0
  97. package/lib/discovery-describe.js +99 -0
  98. package/lib/embedding-index.d.ts +55 -0
  99. package/lib/embedding-index.d.ts.map +1 -0
  100. package/lib/embedding-index.js +126 -0
  101. package/lib/extension-dependencies.d.ts +355 -0
  102. package/lib/extension-dependencies.d.ts.map +1 -0
  103. package/lib/extension-dependencies.js +987 -0
  104. package/lib/extension-dispatch.d.ts +150 -0
  105. package/lib/extension-dispatch.d.ts.map +1 -0
  106. package/lib/extension-dispatch.js +178 -0
  107. package/lib/extension-page-state.d.ts +69 -0
  108. package/lib/extension-page-state.d.ts.map +1 -0
  109. package/lib/extension-page-state.js +82 -0
  110. package/lib/extension-registrar.d.ts +116 -0
  111. package/lib/extension-registrar.d.ts.map +1 -0
  112. package/lib/extension-registrar.js +144 -0
  113. package/lib/extensions-api.d.ts +346 -0
  114. package/lib/extensions-api.d.ts.map +1 -0
  115. package/lib/extensions-api.js +17 -0
  116. package/lib/extensions-remote.d.ts +57 -0
  117. package/lib/extensions-remote.d.ts.map +1 -0
  118. package/lib/extensions-remote.js +69 -0
  119. package/lib/extensions-service.d.ts +568 -0
  120. package/lib/extensions-service.d.ts.map +1 -0
  121. package/lib/extensions-service.js +2507 -0
  122. package/lib/harness-budgets.d.ts +158 -0
  123. package/lib/harness-budgets.d.ts.map +1 -0
  124. package/lib/harness-budgets.js +152 -0
  125. package/lib/harness-llm.d.ts +138 -0
  126. package/lib/harness-llm.d.ts.map +1 -0
  127. package/lib/harness-llm.js +218 -0
  128. package/lib/harness-serving.d.ts +115 -0
  129. package/lib/harness-serving.d.ts.map +1 -0
  130. package/lib/harness-serving.js +176 -0
  131. package/lib/headless.d.ts +97 -0
  132. package/lib/headless.d.ts.map +1 -0
  133. package/lib/headless.js +407 -0
  134. package/lib/http-acquisition.d.ts +27 -0
  135. package/lib/http-acquisition.d.ts.map +1 -0
  136. package/lib/http-acquisition.js +140 -0
  137. package/lib/index.d.ts +546 -0
  138. package/lib/index.d.ts.map +1 -0
  139. package/lib/index.js +5197 -0
  140. package/lib/invocation-accounting.d.ts +169 -0
  141. package/lib/invocation-accounting.d.ts.map +1 -0
  142. package/lib/invocation-accounting.js +148 -0
  143. package/lib/jev.d.ts +218 -0
  144. package/lib/jev.d.ts.map +1 -0
  145. package/lib/jev.js +366 -0
  146. package/lib/legacy-migration.d.ts +95 -0
  147. package/lib/legacy-migration.d.ts.map +1 -0
  148. package/lib/legacy-migration.js +429 -0
  149. package/lib/license-basis.d.ts +29 -0
  150. package/lib/license-basis.d.ts.map +1 -0
  151. package/lib/license-basis.js +58 -0
  152. package/lib/managed-workers.d.ts +158 -0
  153. package/lib/managed-workers.d.ts.map +1 -0
  154. package/lib/managed-workers.js +269 -0
  155. package/lib/mcp/auth-selection.d.ts +35 -0
  156. package/lib/mcp/auth-selection.d.ts.map +1 -0
  157. package/lib/mcp/auth-selection.js +64 -0
  158. package/lib/mcp/client-grant.d.ts +89 -0
  159. package/lib/mcp/client-grant.d.ts.map +1 -0
  160. package/lib/mcp/client-grant.js +63 -0
  161. package/lib/mcp/credential-cli.d.ts +38 -0
  162. package/lib/mcp/credential-cli.d.ts.map +1 -0
  163. package/lib/mcp/credential-cli.js +148 -0
  164. package/lib/mcp/credential-store.d.ts +143 -0
  165. package/lib/mcp/credential-store.d.ts.map +1 -0
  166. package/lib/mcp/credential-store.js +461 -0
  167. package/lib/mcp/export-policy.d.ts +25 -0
  168. package/lib/mcp/export-policy.d.ts.map +1 -0
  169. package/lib/mcp/export-policy.js +31 -0
  170. package/lib/mcp/host-binding.d.ts +144 -0
  171. package/lib/mcp/host-binding.d.ts.map +1 -0
  172. package/lib/mcp/host-binding.js +280 -0
  173. package/lib/mcp/http.d.ts +180 -0
  174. package/lib/mcp/http.d.ts.map +1 -0
  175. package/lib/mcp/http.js +602 -0
  176. package/lib/mcp/oauth.d.ts +149 -0
  177. package/lib/mcp/oauth.d.ts.map +1 -0
  178. package/lib/mcp/oauth.js +396 -0
  179. package/lib/mcp/protocol.d.ts +329 -0
  180. package/lib/mcp/protocol.d.ts.map +1 -0
  181. package/lib/mcp/protocol.js +459 -0
  182. package/lib/mcp/rate-limit.d.ts +68 -0
  183. package/lib/mcp/rate-limit.d.ts.map +1 -0
  184. package/lib/mcp/rate-limit.js +114 -0
  185. package/lib/mcp/sdk-v2.d.ts +17 -0
  186. package/lib/mcp/sdk-v2.d.ts.map +1 -0
  187. package/lib/mcp/sdk-v2.js +204 -0
  188. package/lib/mcp/server.d.ts +149 -0
  189. package/lib/mcp/server.d.ts.map +1 -0
  190. package/lib/mcp/server.js +302 -0
  191. package/lib/mcp/stdio.d.ts +80 -0
  192. package/lib/mcp/stdio.d.ts.map +1 -0
  193. package/lib/mcp/stdio.js +184 -0
  194. package/lib/mcp/subscriptions.d.ts +177 -0
  195. package/lib/mcp/subscriptions.d.ts.map +1 -0
  196. package/lib/mcp/subscriptions.js +288 -0
  197. package/lib/mcp-status.d.ts +96 -0
  198. package/lib/mcp-status.d.ts.map +1 -0
  199. package/lib/mcp-status.js +70 -0
  200. package/lib/mcp-usage.d.ts +110 -0
  201. package/lib/mcp-usage.d.ts.map +1 -0
  202. package/lib/mcp-usage.js +189 -0
  203. package/lib/model-qualification.d.ts +192 -0
  204. package/lib/model-qualification.d.ts.map +1 -0
  205. package/lib/model-qualification.js +178 -0
  206. package/lib/planning.d.ts +256 -0
  207. package/lib/planning.d.ts.map +1 -0
  208. package/lib/planning.js +471 -0
  209. package/lib/playbook.d.ts +42 -0
  210. package/lib/playbook.d.ts.map +1 -0
  211. package/lib/playbook.js +65 -0
  212. package/lib/prepared-assets.d.ts +269 -0
  213. package/lib/prepared-assets.d.ts.map +1 -0
  214. package/lib/prepared-assets.js +471 -0
  215. package/lib/provider-bridge.d.ts +107 -0
  216. package/lib/provider-bridge.d.ts.map +1 -0
  217. package/lib/provider-bridge.js +423 -0
  218. package/lib/ptc-authority.d.ts +154 -0
  219. package/lib/ptc-authority.d.ts.map +1 -0
  220. package/lib/ptc-authority.js +242 -0
  221. package/lib/ptc-confinement.d.ts +60 -0
  222. package/lib/ptc-confinement.d.ts.map +1 -0
  223. package/lib/ptc-confinement.js +212 -0
  224. package/lib/ptc-runtime.d.ts +166 -0
  225. package/lib/ptc-runtime.d.ts.map +1 -0
  226. package/lib/ptc-runtime.js +231 -0
  227. package/lib/publication.d.ts +161 -0
  228. package/lib/publication.d.ts.map +1 -0
  229. package/lib/publication.js +181 -0
  230. package/lib/receipt-store.d.ts +57 -0
  231. package/lib/receipt-store.d.ts.map +1 -0
  232. package/lib/receipt-store.js +143 -0
  233. package/lib/receipt.d.ts +231 -0
  234. package/lib/receipt.d.ts.map +1 -0
  235. package/lib/receipt.js +165 -0
  236. package/lib/registrar.d.ts +75 -0
  237. package/lib/registrar.d.ts.map +1 -0
  238. package/lib/registrar.js +152 -0
  239. package/lib/resource-governance.d.ts +204 -0
  240. package/lib/resource-governance.d.ts.map +1 -0
  241. package/lib/resource-governance.js +213 -0
  242. package/lib/server-lifecycle.d.ts +175 -0
  243. package/lib/server-lifecycle.d.ts.map +1 -0
  244. package/lib/server-lifecycle.js +269 -0
  245. package/lib/skills.d.ts +31 -0
  246. package/lib/skills.d.ts.map +1 -0
  247. package/lib/skills.js +170 -0
  248. package/lib/speech-bridge.d.ts +74 -0
  249. package/lib/speech-bridge.d.ts.map +1 -0
  250. package/lib/speech-bridge.js +115 -0
  251. package/lib/state.d.ts +100 -0
  252. package/lib/state.d.ts.map +1 -0
  253. package/lib/state.js +160 -0
  254. package/lib/title-proposal.d.ts +194 -0
  255. package/lib/title-proposal.d.ts.map +1 -0
  256. package/lib/title-proposal.js +244 -0
  257. package/lib/tool-inventory.d.ts +90 -0
  258. package/lib/tool-inventory.d.ts.map +1 -0
  259. package/lib/tool-inventory.js +102 -0
  260. package/lib/tool-mode-run.d.ts +310 -0
  261. package/lib/tool-mode-run.d.ts.map +1 -0
  262. package/lib/tool-mode-run.js +411 -0
  263. package/lib/tool-sources.d.ts +80 -0
  264. package/lib/tool-sources.d.ts.map +1 -0
  265. package/lib/tool-sources.js +123 -0
  266. package/lib/tool-usage-projection.d.ts +390 -0
  267. package/lib/tool-usage-projection.d.ts.map +1 -0
  268. package/lib/tool-usage-projection.js +1038 -0
  269. package/lib/tool-usage-report.d.ts +153 -0
  270. package/lib/tool-usage-report.d.ts.map +1 -0
  271. package/lib/tool-usage-report.js +274 -0
  272. package/lib/transport.d.ts +158 -0
  273. package/lib/transport.d.ts.map +1 -0
  274. package/lib/transport.js +332 -0
  275. package/lib/types.d.ts +134 -0
  276. package/lib/types.d.ts.map +1 -0
  277. package/lib/types.js +8 -0
  278. package/lib/update-surface.d.ts +79 -0
  279. package/lib/update-surface.d.ts.map +1 -0
  280. package/lib/update-surface.js +224 -0
  281. package/lib/version.d.ts +3 -0
  282. package/lib/version.d.ts.map +1 -0
  283. package/lib/version.js +27 -0
  284. package/node_modules/@try-works/tool-mode-contracts/lib/contract-metadata.d.ts +13 -0
  285. package/node_modules/@try-works/tool-mode-contracts/lib/contract-metadata.d.ts.map +1 -0
  286. package/node_modules/@try-works/tool-mode-contracts/lib/contract-metadata.js +85 -0
  287. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/lang-detect.d.ts +16 -0
  288. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/lang-detect.d.ts.map +1 -0
  289. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/lang-detect.js +87 -0
  290. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/standard.d.ts +38 -0
  291. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/standard.d.ts.map +1 -0
  292. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/standard.js +445 -0
  293. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/stt-transcribe.d.ts +20 -0
  294. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/stt-transcribe.d.ts.map +1 -0
  295. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/stt-transcribe.js +112 -0
  296. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-embed.d.ts +14 -0
  297. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-embed.d.ts.map +1 -0
  298. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-embed.js +63 -0
  299. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-rerank.d.ts +14 -0
  300. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-rerank.d.ts.map +1 -0
  301. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-rerank.js +76 -0
  302. package/node_modules/@try-works/tool-mode-contracts/lib/dsh.d.ts +82 -0
  303. package/node_modules/@try-works/tool-mode-contracts/lib/dsh.d.ts.map +1 -0
  304. package/node_modules/@try-works/tool-mode-contracts/lib/dsh.js +274 -0
  305. package/node_modules/@try-works/tool-mode-contracts/lib/index.d.ts +26 -0
  306. package/node_modules/@try-works/tool-mode-contracts/lib/index.d.ts.map +1 -0
  307. package/node_modules/@try-works/tool-mode-contracts/lib/index.js +53 -0
  308. package/node_modules/@try-works/tool-mode-contracts/lib/meta.d.ts +133 -0
  309. package/node_modules/@try-works/tool-mode-contracts/lib/meta.d.ts.map +1 -0
  310. package/node_modules/@try-works/tool-mode-contracts/lib/meta.js +64 -0
  311. package/node_modules/@try-works/tool-mode-contracts/lib/registry.d.ts +121 -0
  312. package/node_modules/@try-works/tool-mode-contracts/lib/registry.d.ts.map +1 -0
  313. package/node_modules/@try-works/tool-mode-contracts/lib/registry.js +246 -0
  314. package/node_modules/@try-works/tool-mode-contracts/package.json +35 -0
  315. package/node_modules/@try-works/tool-mode-extension-sdk/bin/dsh-tool-mode.mjs +20 -0
  316. package/node_modules/@try-works/tool-mode-extension-sdk/lib/cli.d.ts +80 -0
  317. package/node_modules/@try-works/tool-mode-extension-sdk/lib/cli.d.ts.map +1 -0
  318. package/node_modules/@try-works/tool-mode-extension-sdk/lib/cli.js +533 -0
  319. package/node_modules/@try-works/tool-mode-extension-sdk/lib/declarative-recipes.d.ts +86 -0
  320. package/node_modules/@try-works/tool-mode-extension-sdk/lib/declarative-recipes.d.ts.map +1 -0
  321. package/node_modules/@try-works/tool-mode-extension-sdk/lib/declarative-recipes.js +145 -0
  322. package/node_modules/@try-works/tool-mode-extension-sdk/lib/discovery.d.ts +70 -0
  323. package/node_modules/@try-works/tool-mode-extension-sdk/lib/discovery.d.ts.map +1 -0
  324. package/node_modules/@try-works/tool-mode-extension-sdk/lib/discovery.js +201 -0
  325. package/node_modules/@try-works/tool-mode-extension-sdk/lib/errors.d.ts +57 -0
  326. package/node_modules/@try-works/tool-mode-extension-sdk/lib/errors.d.ts.map +1 -0
  327. package/node_modules/@try-works/tool-mode-extension-sdk/lib/errors.js +83 -0
  328. package/node_modules/@try-works/tool-mode-extension-sdk/lib/index.d.ts +33 -0
  329. package/node_modules/@try-works/tool-mode-extension-sdk/lib/index.d.ts.map +1 -0
  330. package/node_modules/@try-works/tool-mode-extension-sdk/lib/index.js +33 -0
  331. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/archive.d.ts +86 -0
  332. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/archive.d.ts.map +1 -0
  333. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/archive.js +191 -0
  334. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/dependencies.d.ts +137 -0
  335. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/dependencies.d.ts.map +1 -0
  336. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/dependencies.js +349 -0
  337. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/lifecycle.d.ts +274 -0
  338. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/lifecycle.d.ts.map +1 -0
  339. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/lifecycle.js +932 -0
  340. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/migration.d.ts +210 -0
  341. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/migration.d.ts.map +1 -0
  342. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/migration.js +368 -0
  343. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/runtime-link.d.ts +63 -0
  344. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/runtime-link.d.ts.map +1 -0
  345. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/runtime-link.js +149 -0
  346. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/source-directory.d.ts +35 -0
  347. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/source-directory.d.ts.map +1 -0
  348. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/source-directory.js +179 -0
  349. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/staged.d.ts +179 -0
  350. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/staged.d.ts.map +1 -0
  351. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/staged.js +299 -0
  352. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/store.d.ts +395 -0
  353. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/store.d.ts.map +1 -0
  354. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/store.js +839 -0
  355. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/tar-gzip-source.d.ts +44 -0
  356. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/tar-gzip-source.d.ts.map +1 -0
  357. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/tar-gzip-source.js +255 -0
  358. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/update-flow.d.ts +185 -0
  359. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/update-flow.d.ts.map +1 -0
  360. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/update-flow.js +504 -0
  361. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/zip-source.d.ts +17 -0
  362. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/zip-source.d.ts.map +1 -0
  363. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/zip-source.js +80 -0
  364. package/node_modules/@try-works/tool-mode-extension-sdk/lib/licensing.d.ts +221 -0
  365. package/node_modules/@try-works/tool-mode-extension-sdk/lib/licensing.d.ts.map +1 -0
  366. package/node_modules/@try-works/tool-mode-extension-sdk/lib/licensing.js +188 -0
  367. package/node_modules/@try-works/tool-mode-extension-sdk/lib/load.d.ts +52 -0
  368. package/node_modules/@try-works/tool-mode-extension-sdk/lib/load.d.ts.map +1 -0
  369. package/node_modules/@try-works/tool-mode-extension-sdk/lib/load.js +102 -0
  370. package/node_modules/@try-works/tool-mode-extension-sdk/lib/manifest.d.ts +171 -0
  371. package/node_modules/@try-works/tool-mode-extension-sdk/lib/manifest.d.ts.map +1 -0
  372. package/node_modules/@try-works/tool-mode-extension-sdk/lib/manifest.js +271 -0
  373. package/node_modules/@try-works/tool-mode-extension-sdk/lib/runtime.d.ts +242 -0
  374. package/node_modules/@try-works/tool-mode-extension-sdk/lib/runtime.d.ts.map +1 -0
  375. package/node_modules/@try-works/tool-mode-extension-sdk/lib/runtime.js +58 -0
  376. package/node_modules/@try-works/tool-mode-extension-sdk/lib/state.d.ts +128 -0
  377. package/node_modules/@try-works/tool-mode-extension-sdk/lib/state.d.ts.map +1 -0
  378. package/node_modules/@try-works/tool-mode-extension-sdk/lib/state.js +113 -0
  379. package/node_modules/@try-works/tool-mode-extension-sdk/lib/test-host.d.ts +41 -0
  380. package/node_modules/@try-works/tool-mode-extension-sdk/lib/test-host.d.ts.map +1 -0
  381. package/node_modules/@try-works/tool-mode-extension-sdk/lib/test-host.js +52 -0
  382. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker/worker-child.d.ts +2 -0
  383. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker/worker-child.d.ts.map +1 -0
  384. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker/worker-child.js +351 -0
  385. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker.d.ts +157 -0
  386. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker.d.ts.map +1 -0
  387. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker.js +688 -0
  388. package/node_modules/@try-works/tool-mode-extension-sdk/package.json +54 -0
  389. package/node_modules/@try-works/tool-mode-extension-sdk/schema/extension-manifest-1.1.0.schema.json +253 -0
  390. package/node_modules/@try-works/tool-mode-recipes/bin/tool-mode-recipe.mjs +15 -0
  391. package/node_modules/@try-works/tool-mode-recipes/lib/broker.d.ts +460 -0
  392. package/node_modules/@try-works/tool-mode-recipes/lib/broker.d.ts.map +1 -0
  393. package/node_modules/@try-works/tool-mode-recipes/lib/broker.js +647 -0
  394. package/node_modules/@try-works/tool-mode-recipes/lib/cli.d.ts +61 -0
  395. package/node_modules/@try-works/tool-mode-recipes/lib/cli.d.ts.map +1 -0
  396. package/node_modules/@try-works/tool-mode-recipes/lib/cli.js +1106 -0
  397. package/node_modules/@try-works/tool-mode-recipes/lib/dsh-adapter.d.ts +237 -0
  398. package/node_modules/@try-works/tool-mode-recipes/lib/dsh-adapter.d.ts.map +1 -0
  399. package/node_modules/@try-works/tool-mode-recipes/lib/dsh-adapter.js +205 -0
  400. package/node_modules/@try-works/tool-mode-recipes/lib/fixture-provider.d.ts +85 -0
  401. package/node_modules/@try-works/tool-mode-recipes/lib/fixture-provider.d.ts.map +1 -0
  402. package/node_modules/@try-works/tool-mode-recipes/lib/fixture-provider.js +176 -0
  403. package/node_modules/@try-works/tool-mode-recipes/lib/images.d.ts +119 -0
  404. package/node_modules/@try-works/tool-mode-recipes/lib/images.d.ts.map +1 -0
  405. package/node_modules/@try-works/tool-mode-recipes/lib/images.js +201 -0
  406. package/node_modules/@try-works/tool-mode-recipes/lib/index.d.ts +25 -0
  407. package/node_modules/@try-works/tool-mode-recipes/lib/index.d.ts.map +1 -0
  408. package/node_modules/@try-works/tool-mode-recipes/lib/index.js +25 -0
  409. package/node_modules/@try-works/tool-mode-recipes/lib/recipe-format.d.ts +345 -0
  410. package/node_modules/@try-works/tool-mode-recipes/lib/recipe-format.d.ts.map +1 -0
  411. package/node_modules/@try-works/tool-mode-recipes/lib/recipe-format.js +1465 -0
  412. package/node_modules/@try-works/tool-mode-recipes/lib/templates.d.ts +51 -0
  413. package/node_modules/@try-works/tool-mode-recipes/lib/templates.d.ts.map +1 -0
  414. package/node_modules/@try-works/tool-mode-recipes/lib/templates.js +310 -0
  415. package/node_modules/@try-works/tool-mode-recipes/lib/titles.d.ts +231 -0
  416. package/node_modules/@try-works/tool-mode-recipes/lib/titles.d.ts.map +1 -0
  417. package/node_modules/@try-works/tool-mode-recipes/lib/titles.js +435 -0
  418. package/node_modules/@try-works/tool-mode-recipes/package.json +56 -0
  419. package/node_modules/@try-works/tool-mode-recipes/recipes/describe-image.json +38 -0
  420. package/node_modules/@try-works/tool-mode-recipes/recipes/text-title.json +45 -0
  421. package/node_modules/@try-works/tool-mode-recipes/schema/harness-model-recipe.schema.json +273 -0
  422. package/package.json +127 -4
  423. package/remote/spec.mjs +993 -0
  424. package/remote/typert.host.mjs +14 -0
  425. package/remote/typert.remote-client.mjs +16 -0
@@ -0,0 +1,568 @@
1
+ /**
2
+ * The HOST half of the extension-management surface (Settings → Model as Tool).
3
+ *
4
+ * This module implements {@link ModelToolsRemote} from `extensions-api.ts` and is
5
+ * deliberately WIRE-AGNOSTIC: it imports `node:*` and the published SDK, never DSH,
6
+ * never the client page, and never the generated Typert artifact. That boundary is
7
+ * what lets the same implementation be exercised by unit tests without a Context,
8
+ * by the plugin at `apply`, and by whatever transports the browser half uses.
9
+ *
10
+ * The governing rule is TRUTHFULNESS over convenience, because every field here is
11
+ * shown to an operator who is about to change what code their host runs:
12
+ *
13
+ * - `store` is `null` when no extension store is configured, rather than an empty
14
+ * string that a caller could mistake for a mounted store.
15
+ * - `writable` is derived from a real access check on the store path and from the
16
+ * store lock being readable, not assumed from "the config mentions a directory".
17
+ * - `installed` means a record exists in the store lock; `active` means the
18
+ * persisted observation was made by THIS process; `integrity` is `unknown` when
19
+ * the installed bytes could not be digested, never `unchanged` by default.
20
+ * - `reason` names the FIRST condition that prevents install/activation, so a UI
21
+ * can show why an extension is not usable instead of guessing.
22
+ *
23
+ * INSTALLATION IS NOT ACTIVATION (EXT-07): `install` returns `active: false` and
24
+ * never calls the lifecycle. `enable`/`disable` are the only activation paths.
25
+ *
26
+ * FIRST-PARTY DEPENDENCIES (EXT-09): a source-directory install also supplies the
27
+ * SDK's dependency graph (`extension-dependencies.ts`), which resolves every
28
+ * declared runtime dependency from the host's own installed tree and refuses the
29
+ * install by name when one is missing. With the operator's preinstalled-content
30
+ * gate on, the resolved directory is copied by the SDK and recorded with
31
+ * `provenance: 'preinstalled'`; with it off (the default), the dependency is served
32
+ * as verified archive bytes and EXT-10's lifecycle-script refusal applies.
33
+ *
34
+ * PERSISTENCE, STATED HONESTLY:
35
+ *
36
+ * - Activation intent is durable through the SDK: `ExtensionLifecycle.activate`
37
+ * writes `desiredActivation: 'active'` and `deactivate` writes `'inactive'` into
38
+ * the profile state document, so a restart follows the operator's last toggle
39
+ * even when nothing else persists.
40
+ * - The operator's `disabledExtensions` list is a CONFIG value (Settings form). This
41
+ * service cannot write plugin config from the host: no config writer is injected.
42
+ * It therefore keeps this process's toggles as an in-memory override, seeded from
43
+ * `disabledExtensions`, and exposes `persistDisabledExtensions` as the seam a host
44
+ * with a config writer supplies. Without that seam, a toggle is truthfully
45
+ * reported as affecting this process only, and a `disable` survives restart via
46
+ * the SDK's durable `desiredActivation: 'inactive'` while an `enable` of an id
47
+ * still listed in config will be filtered by the restore gate on the next load.
48
+ *
49
+ * @module @try-works/dsh-tool-mode/extensions-service
50
+ */
51
+ import { ExtensionStore, stagedInstallFromDirectory, type ExtensionLifecycle, type InstallDependencyGraph, type InstalledRecord, type LifecycleAuditEvent } from '@try-works/tool-mode-extension-sdk';
52
+ import type { ExtensionInstallResult, ExtensionPrepareResult, ExtensionToggleResult, ExtensionToolToggleResult, ExtensionUninstallResult, ExtensionsDescribeResult, ModelToolsRemote } from './extensions-api.ts';
53
+ import { type ApprovalDecision, type ApprovalRecord, type ApprovalRequestInput, type ApprovalStore } from './approval.ts';
54
+ import type { AcquisitionSource } from './asset-acquisition.ts';
55
+ import { type PrepareAssetsSurface } from './prepared-assets.ts';
56
+ /**
57
+ * The default dependency-graph depth bound for BOTH install arms (task-116).
58
+ *
59
+ * The SDK default (3) is too shallow for real trees. Preinstalled packages are
60
+ * NOT leaves for graph purposes: after copying one, the SDK reads that package's
61
+ * own declared dependencies and enqueues them one level deeper, so a host-tree
62
+ * graph is walked exactly like a registry graph. The real onnxruntime-node tree
63
+ * reaches `define-data-property` at depth 4 and
64
+ * `onnxruntime-node -> global-agent -> globalthis -> define-properties ->
65
+ * has-property-descriptors -> es-define-property` at depth 5, so the bound is a
66
+ * property of the graph, not of the arm that supplied its bytes. The package
67
+ * count is a separate bound (see {@link DEFAULT_REGISTRY_DEPENDENCY_PACKAGES}).
68
+ */
69
+ export declare const DEFAULT_REGISTRY_DEPENDENCY_DEPTH = 12;
70
+ /**
71
+ * The default dependency-graph PACKAGE bound for BOTH install arms.
72
+ *
73
+ * The SDK default (64) is too small for the real engine trees: the
74
+ * `@huggingface/transformers` route (with sharp, protobufjs and the platform
75
+ * binaries) and both minilm packages exceeded it, refusing an install that every
76
+ * other bound would have admitted. Raising the cap does not loosen resolution —
77
+ * every node still has to come from operator-completed host content or verified
78
+ * registry bytes — and the depth bound still shapes the graph.
79
+ */
80
+ export declare const DEFAULT_REGISTRY_DEPENDENCY_PACKAGES = 256;
81
+ /**
82
+ * Exact dependency versions whose published tarballs ship their runtime
83
+ * artifacts and whose lifecycle scripts are not needed to run.
84
+ *
85
+ * These are admitted on the registry arm WITHOUT executing a lifecycle script.
86
+ * The package bytes are still integrity-verified and the package.json is left
87
+ * untouched. A version not listed here keeps EXT-10's refusal. This is a
88
+ * deliberately narrow prebuilt-content allowlist, not a script-execution gate.
89
+ */
90
+ export declare const DEFAULT_TRUSTED_PREBUILT_DEPENDENCIES: readonly string[];
91
+ /**
92
+ * Record that a restart refused an installed extension because its bytes changed.
93
+ *
94
+ * A restore that only LOGS the integrity failure leaves the previous profile row
95
+ * saying `active`, reserving the extension's tool names while nothing is published.
96
+ * This writes the truthful state first: failed, no tools.
97
+ */
98
+ export declare function recordRestoreIntegrityFailure(store: ExtensionStore, extensionId: string): void;
99
+ /** What the host can report about the shared harness model provider (declarative extensions). */
100
+ export interface HarnessProviderStatus {
101
+ /** Whether a provider is composed and able to serve declarative extensions. */
102
+ readonly available: boolean;
103
+ /** Provider identity when available, for the satisfied reason. */
104
+ readonly provider?: string;
105
+ /** Model identity the provider serves, when known. */
106
+ readonly model?: string;
107
+ /**
108
+ * REQUIRED when `available` is false: why not, and the exact remediation.
109
+ *
110
+ * Used VERBATIM as the harness-model requirement reason (and the enable preflight
111
+ * message), so it must be operator-facing and name the configuration that fixes it.
112
+ */
113
+ readonly reason?: string;
114
+ /** What clears it; defaults to `config`. */
115
+ readonly action?: 'config' | 'none';
116
+ }
117
+ /** The lifecycle surface this service needs. Narrower than the class, so a test can double it. */
118
+ export type ExtensionActivation = Pick<ExtensionLifecycle, 'stateOf' | 'activate' | 'deactivate' | 'uninstall' | 'setToolEnabled'>;
119
+ /** The directory installer signature the service delegates to. */
120
+ export type DirectoryInstaller = (options: Parameters<typeof stagedInstallFromDirectory>[0]) => ReturnType<typeof stagedInstallFromDirectory>;
121
+ /** Every named refusal this service raises. */
122
+ export type ExtensionsServiceErrorCode =
123
+ /** `install`/`enable`/`disable` need `config.extensionStore`; it is not configured. */
124
+ 'extension-store-unconfigured'
125
+ /** A live-host uninstall of an ACTIVE extension must name `deactivate` explicitly. */
126
+ | 'extension-in-use'
127
+ /** `install` had no explicit source and `config.extensionSourceDir` is not configured. */
128
+ | 'extension-source-unconfigured'
129
+ /** The resolved source directory does not exist, or is not a directory. */
130
+ | 'extension-source-missing'
131
+ /** The requested id is not a usable package identity (a path could escape the source root). */
132
+ | 'extension-id-invalid'
133
+ /** The source package's own name is not the id that was requested. */
134
+ | 'extension-source-mismatch'
135
+ /** The source directory does not contain a discoverable extension package. */
136
+ | 'extension-source-invalid'
137
+ /** Source-directory installs are developer mode and must be allowed by configuration. */
138
+ | 'extension-source-directories-not-allowed'
139
+ /** The integrity digest of the source or the installed copy could not be computed. */
140
+ | 'extension-digest-unavailable'
141
+ /** The SDK installer refused or failed; its own named error is carried in the message. */
142
+ | 'extension-install-failed'
143
+ /** A declared runtime dependency could not be resolved, verified or materialized. */
144
+ | 'extension-dependency-unsatisfied'
145
+ /** The extension has no installed record in the store, so it cannot be activated. */
146
+ | 'extension-not-installed'
147
+ /** The store lock or the profile state document is unreadable, so activation state cannot be trusted. */
148
+ | 'extension-store-unreadable'
149
+ /** The host mounted no lifecycle (no store at load), so activation state cannot change. */
150
+ | 'extension-activation-unavailable'
151
+ /** `activate` refused or failed; the SDK's named error is carried in the message. */
152
+ | 'extension-activation-failed'
153
+ /** Activation is refused because a declared model's assets were never prepared. */
154
+ | 'extension-preparation-required'
155
+ /** The host mounted no prepared-assets surface, so assets cannot be prepared here. */
156
+ | 'extension-preparation-unavailable'
157
+ /** The preparation plan could not be resolved or its readiness could not be recorded. */
158
+ | 'extension-preparation-failed'
159
+ /** A prerequisite the deployment cannot satisfy blocks activation before any lifecycle call. */
160
+ | 'extension-requirement-unmet'
161
+ /** The extension's optional tool runtime is not installed, so its tools cannot load. */
162
+ | 'extension-runtime-unavailable'
163
+ /** The asset lock declares no transferable location; preparation is not possible here. */
164
+ | 'extension-asset-source-unavailable'
165
+ /** Registry mode was selected but no registry URL is configured. */
166
+ | 'extension-registry-unconfigured'
167
+ /** The registry has no such package, version, or dist-tag (HTTP 404 / no matching version). */
168
+ | 'extension-registry-not-found'
169
+ /** The registry metadata has no sha512 `dist.integrity`; unverified bytes are never installed. */
170
+ | 'extension-registry-integrity-missing'
171
+ /** The registry metadata or tarball URL does not have the shape this host can verify. */
172
+ | 'extension-registry-invalid-metadata'
173
+ /** The tarball could not be downloaded, or exceeds the configured byte cap. */
174
+ | 'extension-registry-fetch-failed'
175
+ /** Transport failure or 5xx: the registry did not answer usefully. */
176
+ | 'extension-registry-unavailable'
177
+ /** The fetched tarball does not hash to the registry-declared sha512. */
178
+ | 'extension-registry-integrity-mismatch'
179
+ /** A URL source must carry a pinned `#sha512-...` integrity fragment. */
180
+ | 'extension-url-integrity-required'
181
+ /** The URL tarball could not be fetched, redirected safely, or stayed within bounds. */
182
+ | 'extension-url-fetch-failed'
183
+ /** The URL tarball does not hash to the pinned fragment. */
184
+ | 'extension-url-integrity-mismatch'
185
+ /** `deactivate` refused or failed; the SDK's named error is carried in the message. */
186
+ | 'extension-deactivation-failed'
187
+ /** The host's disabled-list writer rejected the new list after the action landed. */
188
+ | 'extension-override-persist-failed'
189
+ /** SEC-09: the mutation needs an explicit operator approval (requested, approved and committed). */
190
+ | 'extension-approval-required';
191
+ /**
192
+ * A named refusal from the extension-management surface.
193
+ *
194
+ * The `code` is stable and machine-readable; the message is operator-facing and
195
+ * names the concrete condition (path, SDK code, or identity) rather than a generic
196
+ * "failed", because the Settings page shows it verbatim.
197
+ */
198
+ export declare class ExtensionsServiceError extends Error {
199
+ readonly name = "ExtensionsServiceError";
200
+ readonly code: ExtensionsServiceErrorCode;
201
+ constructor(code: ExtensionsServiceErrorCode, message: string, options?: ErrorOptions);
202
+ }
203
+ /** The host's disabled-list store. `list` is read live; `set` is called after a toggle. */
204
+ export interface ExtensionsServiceOptions {
205
+ /** `config.extensionStore`; empty means no extension store is configured. */
206
+ readonly storeDir?: string;
207
+ /**
208
+ * `config.extensionSourceDir`: the directory that holds first-party package
209
+ * checkouts, one directory per package. Empty means no source directory.
210
+ */
211
+ readonly sourceDir?: string;
212
+ /**
213
+ * `config.extensions.allowSourceDirectories`: the explicit developer-mode gate.
214
+ * Absent/false refuses every directory install with a named error.
215
+ */
216
+ readonly allowSourceDirectories?: boolean;
217
+ /** The lifecycle profile; defaults to `default`, the profile the host restores. */
218
+ readonly profile?: string;
219
+ /** Read `config.disabledExtensions` live. */
220
+ readonly disabledExtensions?: () => readonly string[];
221
+ /**
222
+ * Persist the effective disabled list. The host's implementation must arrange for
223
+ * `disabledExtensions()` to return the same list afterwards; a rejection is
224
+ * surfaced as `extension-override-persist-failed`.
225
+ */
226
+ readonly persistDisabledExtensions?: (ids: readonly string[]) => void | Promise<void>;
227
+ /**
228
+ * The mounted lifecycle, read lazily. Absent means the host mounted none, and
229
+ * `enable`/`disable` refuse with `extension-activation-unavailable` instead of
230
+ * pretending the durable state changed.
231
+ */
232
+ readonly lifecycle?: () => ExtensionActivation | undefined;
233
+ /**
234
+ * SEC-09: the approval state machine, read lazily.
235
+ *
236
+ * When mounted, a management-sensitive mutation (currently extension ACTIVATION)
237
+ * requires an explicit operator decision: `enable` records a PENDING request and
238
+ * refuses, and the mutation happens only through `commitApproval`, which consumes
239
+ * the approval exactly once. Absent means the composition carries an operator
240
+ * pre-approval path and the direct calls keep their existing behavior — a
241
+ * documented compatibility path, not a silent bypass: a host that mounts this seam
242
+ * cannot mutate without a committed approval.
243
+ */
244
+ readonly approvals?: () => ApprovalStore | undefined;
245
+ /**
246
+ * Why the startup asset walk could not rebuild an extension's prepared handles, if
247
+ * it could not. The host writes this from its restore pass; the row must not show
248
+ * "needs its model assets prepared" with no explanation when the REAL reason is a
249
+ * cache file that is absent or a different size. Absent means the walk succeeded or
250
+ * never ran for that extension.
251
+ */
252
+ readonly assetRestoreDiagnostic?: (extensionId: string) => string | undefined;
253
+ /** Declare that this host cannot write the store (read-only mount). */
254
+ readonly readOnly?: boolean;
255
+ /** Receive install/prepare lifecycle outcomes (EXT-35); activate/deactivate/uninstall come from the SDK. */
256
+ readonly onAudit?: (event: LifecycleAuditEvent) => void;
257
+ /**
258
+ * How an install without an explicit source directory is sourced.
259
+ *
260
+ * - `registry` (and `auto`, the default) resolve the package from the npm registry.
261
+ * - `directory` keeps the developer-mode source-directory path.
262
+ * - `auto` additionally falls back to the directory ONLY for a TRANSPORT-level
263
+ * registry failure (unreachable/timeout/5xx) and only when
264
+ * `allowSourceDirectories` is on; a package-level refusal (404, missing
265
+ * integrity, bad tarball, digest mismatch) is always named and never retried
266
+ * against a local directory.
267
+ */
268
+ readonly installSource?: 'registry' | 'directory' | 'auto';
269
+ /** The npm registry base URL; defaults to the public npm registry. */
270
+ readonly registryUrl?: string;
271
+ /** Hard cap on one registry package tarball; defaults to the SDK archive bound (256 MiB). */
272
+ readonly registryTarballMaxBytes?: number;
273
+ /** Packument/metadata timeout in ms. Defaults to 30 s; slow registries may raise it. */
274
+ readonly registryMetadataTimeoutMs?: number;
275
+ /**
276
+ * IDLE timeout for one registry tarball download, in ms; defaults to 10 minutes.
277
+ *
278
+ * Separate from the short metadata timeout: onnxruntime-node is hundreds of MB,
279
+ * and a moving transfer must not be aborted by the packument budget. Aborts only
280
+ * when NO bytes arrive for this long; the byte cap remains the real bound.
281
+ */
282
+ readonly registryTarballTimeoutMs?: number;
283
+ /**
284
+ * Dependency-graph depth bound for BOTH install arms; defaults to
285
+ * {@link DEFAULT_REGISTRY_DEPENDENCY_DEPTH} (12). Configurable because real
286
+ * dependency trees vary; a refusal names the level and the package. The name is
287
+ * historical: the source-directory arm needs the bound too, because the SDK
288
+ * walks a preinstalled package's declared dependencies exactly like registry
289
+ * bytes.
290
+ */
291
+ readonly registryDependencyDepth?: number;
292
+ /**
293
+ * Dependency-graph PACKAGE bound for BOTH install arms; defaults to
294
+ * {@link DEFAULT_REGISTRY_DEPENDENCY_PACKAGES} (256). The depth bound decides
295
+ * how deep the graph may go; this decides how WIDE it may become.
296
+ */
297
+ readonly registryDependencyPackages?: number;
298
+ /** INTERNAL TEST SEAM: the directory installer, defaulting to the SDK's staged path. */
299
+ readonly installDirectory?: DirectoryInstaller;
300
+ /** INTERNAL TEST SEAM: the content digest, defaulting to the SDK's installed-content digest. */
301
+ readonly digestContent?: (directory: string) => string;
302
+ /**
303
+ * INTERNAL TEST SEAM: the dependency graph for a first-party source checkout.
304
+ *
305
+ * The default resolves each declared dependency from the host's own installed
306
+ * tree (`extension-dependencies.ts`) and refuses the install, by name, when one
307
+ * is not installed or is inadmissible. The graph is part of the same
308
+ * developer-mode source-directory gate; it is never consulted for anything else.
309
+ */
310
+ readonly dependencyGraph?: (sourcePackageDir: string) => InstallDependencyGraph;
311
+ /**
312
+ * Operator gate for PREINSTALLED dependency content (task-84); DEFAULT OFF.
313
+ *
314
+ * When on, a dependency resolved from the host's installed tree is copied by the
315
+ * SDK into the extension's own install directory and recorded with
316
+ * `provenance: 'preinstalled'` — the content arrived from an operator-completed
317
+ * install and this installer ran no lifecycle script. When off, the bytes arm
318
+ * applies and EXT-10's script refusal is unchanged. Requires
319
+ * {@link ExtensionsServiceOptions.preinstalledDependenciesRoot}.
320
+ */
321
+ readonly allowPreinstalledDependencies?: boolean;
322
+ /** The operator-configured root preinstalled dependency directories must live under. */
323
+ readonly preinstalledDependenciesRoot?: string;
324
+ /**
325
+ * Exact `name@version` packages whose published tarball ships prebuilt runtime
326
+ * artifacts. Their lifecycle-script declarations are admitted but NEVER run.
327
+ * Defaults to {@link DEFAULT_TRUSTED_PREBUILT_DEPENDENCIES}; an empty array
328
+ * restores the strict EXT-10 refusal for every package.
329
+ */
330
+ readonly trustedPrebuiltDependencies?: readonly string[];
331
+ /**
332
+ * The mounted prepared-assets surface, read lazily (the plugin constructs it in
333
+ * `apply` after this service). Absent means the host mounted no asset surface,
334
+ * and `prepare` refuses with `extension-preparation-unavailable`.
335
+ */
336
+ readonly prepareSurface?: () => PrepareAssetsSurface | undefined;
337
+ /**
338
+ * The acquisition source a preparation uses. Defaults to the real ranged HTTP
339
+ * source; a test injects a local source and the suite therefore performs no
340
+ * network.
341
+ */
342
+ readonly preparationSource?: () => AcquisitionSource;
343
+ /**
344
+ * Read the operator's STANDING RES-02 approval for executable assets.
345
+ *
346
+ * DEFAULT FALSE. When false, `prepare` passes `allowExecutable: false` and the
347
+ * prepared-assets registry returns its exact refusal without acquiring anything.
348
+ * When the operator explicitly configured the approval, that is the standing
349
+ * consent for the digest-pinned plans this host resolves; the management channel
350
+ * (`extensions-prepare`) still takes its own PER-CALL flag and is unaffected.
351
+ */
352
+ readonly allowExecutablePreparation?: () => boolean;
353
+ /**
354
+ * Read the host's harness-model provider status (task-93 seam).
355
+ *
356
+ * Consulted only for `execution.kind === 'declarative'` extensions, which are
357
+ * served by the host's harness broker and therefore need a composed LlmProvider.
358
+ * Absent means the host cannot answer; the harness-model requirement is then
359
+ * reported unsatisfied with an honest "provider status unknown" reason.
360
+ */
361
+ readonly harnessProviderStatus?: () => HarnessProviderStatus | undefined;
362
+ /**
363
+ * Notified when this service changes an extension's activation intent.
364
+ *
365
+ * The host's contribution registrar refuses to publish a tool for an extension
366
+ * absent from its activated set, so a runtime `enable` must admit the id BEFORE
367
+ * the lifecycle publishes and revoke it when activation fails or the extension is
368
+ * disabled. The host implementations may reconcile against the lifecycle state.
369
+ */
370
+ readonly onActivationChange?: (extensionId: string, active: boolean) => void;
371
+ }
372
+ /**
373
+ * The directory a first-party checkout for one package identity occupies.
374
+ *
375
+ * A source directory holds PACKAGE DIRECTORIES, not scoped directories: the
376
+ * workspace layout is `packages/extension-laya`, whose package name is
377
+ * `@try-works/extension-laya`. The scope is therefore dropped and the final path
378
+ * segment is used, which is the only mapping that requires no registry lookup.
379
+ * @param extensionId - the extension identity, which equals its package name.
380
+ * @returns the directory name under the configured source directory.
381
+ */
382
+ export declare function packageDirFor(extensionId: string): string;
383
+ /**
384
+ * Select the current installed record for one identity.
385
+ *
386
+ * The EXT-30 active-version pointer wins when it names an installed version; a
387
+ * store without pointers (the pre-update world) uses the last recorded version,
388
+ * which is the order `recordInstall` appends in.
389
+ * @param records - every installed record.
390
+ * @param activeVersions - the EXT-30 pointer map.
391
+ * @param extensionId - the identity to select.
392
+ * @returns the selected record, or undefined when nothing is installed for the id.
393
+ */
394
+ export declare function selectInstalled(records: readonly InstalledRecord[], activeVersions: Readonly<Record<string, string>>, extensionId: string): InstalledRecord | undefined;
395
+ /**
396
+ * The extension-management service: describe, install, enable, disable.
397
+ *
398
+ * Construct one per host and share it between the wire transport and any local
399
+ * surface; it owns the in-process override list and must not be duplicated, or two
400
+ * instances would report different disabled sets.
401
+ */
402
+ export declare class ExtensionsService implements ModelToolsRemote {
403
+ #private;
404
+ constructor(options?: ExtensionsServiceOptions);
405
+ /**
406
+ * Read the current state of the extension surface.
407
+ *
408
+ * Every row is derived from the store, the profile state and the source
409
+ * directory; nothing is cached between calls, so a page that re-reads after an
410
+ * action sees the committed result.
411
+ * @param signal - cancellation.
412
+ * @returns the store/source configuration and one row per known extension.
413
+ */
414
+ describe(signal?: AbortSignal): Promise<ExtensionsDescribeResult>;
415
+ /**
416
+ * Describe identity, state and tools WITHOUT digesting installed bytes.
417
+ *
418
+ * The Tool Insights inventory and owner attribution do not render integrity;
419
+ * on a deployment with multi-GB extension trees the digest pass otherwise
420
+ * stalls the Remote gateway for every inventory read.
421
+ * @param signal - cancellation.
422
+ * @returns the same row shape, with integrity reported as `unknown`.
423
+ */
424
+ describeFast(signal?: AbortSignal): Promise<ExtensionsDescribeResult>;
425
+ /**
426
+ * Install one extension, choosing the route from the operator configuration.
427
+ *
428
+ * - An EXPLICIT `source` path is always a developer-mode directory install (the
429
+ * existing source-directory gate and refusals apply).
430
+ * - Otherwise `installSource` decides. `registry` resolves `id@latest` from the
431
+ * npm registry. `directory` uses the configured source directory. `auto` (the
432
+ * default) prefers the registry and falls back to the directory ONLY for a
433
+ * transport-level registry failure (unreachable/timeout/5xx) when directory
434
+ * installs are allowed — a package-level refusal (404, missing integrity, bad
435
+ * tarball, digest mismatch) is always named and never retried locally.
436
+ *
437
+ * INSTALLATION IS NOT ACTIVATION: the result is always `active: false`, and it
438
+ * names the route that actually supplied the bytes.
439
+ * @param extensionId - the package identity to install.
440
+ * @param source - an explicit source directory (developer override), or absent.
441
+ * @param signal - cancellation.
442
+ * @returns the installed identity, version and route.
443
+ * @throws ExtensionsServiceError for every refusal and failure.
444
+ */
445
+ install(extensionId: string, source?: string, signal?: AbortSignal): Promise<ExtensionInstallResult>;
446
+ /**
447
+ * Whether a hostname is a local/private/metadata destination (EXT-11).
448
+ *
449
+ * A caller-supplied source URL is itself explicit authorization for that destination.
450
+ * A REDIRECT from a public source into one of these ranges is not: it would turn an
451
+ * approved public URL into a local-network or cloud-metadata fetch.
452
+ * @param hostname - the URL hostname.
453
+ * @returns true for loopback, RFC1918, link-local, ULA and metadata hosts.
454
+ */
455
+ static isPrivateDestination(hostname: string): boolean;
456
+ /**
457
+ * Activate an installed extension and clear its disabled override.
458
+ *
459
+ * Activation runs through the mounted lifecycle, which verifies the installed
460
+ * bytes, publishes the contributions and persists `desiredActivation: 'active'`.
461
+ * The disabled list is updated only after activation succeeds, so a refused
462
+ * activation does not leave the operator's override claiming a state change that
463
+ * did not happen.
464
+ *
465
+ * With an approval store mounted (`approvals`), this method does NOT activate: it
466
+ * records a pending `extension-activate` request and refuses, and only
467
+ * `commitApproval` applies the mutation. Without one, the direct path is the
468
+ * documented pre-approved compatibility composition.
469
+ * @param extensionId - the installed extension.
470
+ * @param signal - cancellation.
471
+ * @returns the id with the observed active/disabled state.
472
+ * @throws ExtensionsServiceError for every refusal.
473
+ */
474
+ enable(extensionId: string, signal?: AbortSignal): Promise<ExtensionToggleResult>;
475
+ /**
476
+ * Record a pending approval for one management-sensitive mutation (SEC-09).
477
+ *
478
+ * The seam is REQUIRED here: creating a record on a host that mounted no store
479
+ * would hand the operator an approval nothing can commit — the dead end this
480
+ * wiring exists to remove.
481
+ * @param input - the request facts (kind, exact scope, operator, reason, optional TTL).
482
+ * @returns the pending record (a plain-JSON copy).
483
+ * @throws ExtensionsServiceError when no approval store is mounted; ApprovalError for a bad request.
484
+ */
485
+ requestApproval(input: ApprovalRequestInput): ApprovalRecord;
486
+ /**
487
+ * Apply an explicit operator decision to a request (SEC-09).
488
+ *
489
+ * Decisions are the operator's alone; this method only forwards one, and the store
490
+ * enforces that repeating the SAME decision is idempotent while the opposite
491
+ * decision after a decision is refused.
492
+ * @param id - the approval id.
493
+ * @param decision - approve or deny, who decided, and an optional note.
494
+ * @returns the decided record.
495
+ * @throws ApprovalError for an unknown/expired/committed request or a conflicting decision.
496
+ */
497
+ decideApproval(id: string, decision: ApprovalDecision): ApprovalRecord;
498
+ /**
499
+ * Consume an approved activation and apply it EXACTLY once.
500
+ *
501
+ * Order is deliberate: the approval is consumed — and its scope checked against
502
+ * `extensionId` by the store — BEFORE any mutation, so a wrong-scope or replayed
503
+ * commit cannot touch the operator's extension. The store's one-shot commit is the
504
+ * exactly-once guarantee; a second call is `approval/already-committed` and never
505
+ * reaches the lifecycle. A mutation that fails AFTER the commit leaves the approval
506
+ * spent: the operator re-requests rather than replaying an approval whose
507
+ * conditions may have changed.
508
+ * @param id - the approval id.
509
+ * @param extensionId - the exact extension the caller is about to activate.
510
+ * @param signal - cancellation.
511
+ * @returns the activation result.
512
+ * @throws ApprovalError for a pending/denied/expired/committed/mismatched approval.
513
+ * @throws ExtensionsServiceError for the activation's own refusals.
514
+ */
515
+ commitApproval(id: string, extensionId: string, signal?: AbortSignal): Promise<ExtensionToggleResult>;
516
+ /** Live per-tool toggle through the running host (EXT-31 settings action). */
517
+ setToolEnabled(extensionId: string, toolName: string, enabled: boolean, signal?: AbortSignal): Promise<ExtensionToolToggleResult>;
518
+ /** Live uninstall; an active extension requires explicit deactivation (EXT-31 settings action). */
519
+ uninstall(extensionId: string, deactivate?: boolean, signal?: AbortSignal): Promise<ExtensionUninstallResult>;
520
+ /**
521
+ * Acquire and verify an installed extension's model assets, then record the
522
+ * resulting readiness.
523
+ *
524
+ * This is the management-channel `extensions-prepare-plan` + `extensions-prepare`
525
+ * pair behind one call, over the SAME host surface: the plan is resolved from the
526
+ * installed manifest's asset lock, the acquisition runs through the injectable
527
+ * source (the real ranged HTTP source unless the host injects one), and a
528
+ * successful acquisition records `prepared-cold` through the lifecycle — which is
529
+ * what lets a following `enable` activate the extension.
530
+ *
531
+ * Success is reported ONLY when that readiness was actually recorded for the
532
+ * planned deployment. The acquisition and the readiness are two different facts,
533
+ * and they can disagree (a surface whose readiness write did not land, a host
534
+ * that never mounted the lifecycle, an installed build the assets cannot make
535
+ * callable); reporting `prepared: true` there is what makes Prepare look like a
536
+ * no-op, because the page celebrates while the row keeps its blocker.
537
+ *
538
+ * The RES-02 executable gate is deliberately CLOSED here: the Remote call carries
539
+ * no executable-approval argument, so a plan containing an executable asset is
540
+ * returned as `prepared: false` with the registry's own reason rather than
541
+ * acquired. The pinned EmbeddingGemma assets are not executable.
542
+ * @param extensionId - the installed extension to prepare.
543
+ * @param signal - cancellation.
544
+ * @returns the disclosure that was executed and the resulting readiness.
545
+ * @throws ExtensionsServiceError for every precondition and plan failure.
546
+ */
547
+ prepare(extensionId: string, signal?: AbortSignal): Promise<ExtensionPrepareResult>;
548
+ /**
549
+ * Deactivate an installed extension and record it as disabled.
550
+ *
551
+ * The SDK's deactivation persists `desiredActivation: 'inactive'` BEFORE it
552
+ * withdraws anything, so the durable answer survives a crash mid-withdrawal. The
553
+ * disabled override is recorded only after the lifecycle call settles; a
554
+ * deactivation that throws leaves the operator's list unchanged.
555
+ * @param extensionId - the installed extension.
556
+ * @param signal - cancellation.
557
+ * @returns the id with the observed active/disabled state.
558
+ * @throws ExtensionsServiceError for every refusal.
559
+ */
560
+ disable(extensionId: string, signal?: AbortSignal): Promise<ExtensionToggleResult>;
561
+ }
562
+ /**
563
+ * Construct the extension-management service.
564
+ * @param options - store/source configuration and the host's seams.
565
+ * @returns a service satisfying {@link ModelToolsRemote}.
566
+ */
567
+ export declare function createExtensionsService(options?: ExtensionsServiceOptions): ExtensionsService;
568
+ //# sourceMappingURL=extensions-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions-service.d.ts","sourceRoot":"","sources":["../src/extensions-service.ts"],"names":[],"mappings":"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"}