@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,1910 @@
1
+ // Generated by scripts/gen-remote-artifacts.mjs from remote/spec.mjs — do not edit.
2
+ //
3
+ // The package-local chunk the browser half loads with
4
+ // require.async('./client.model-tools.js'). It carries the same strict descriptors as
5
+ // the ESM ./remote artifact; see remote/spec.mjs for the wire contract.
6
+ window.__ModuleLoader__.load({
7
+ id: "@try-works/dsh-tool-mode",
8
+ chunk: "client.model-tools.js",
9
+ factory(require) {
10
+ var module = { exports: {} }
11
+ var exports = module.exports
12
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' })
13
+
14
+ const PACKAGE = "@try-works/dsh-tool-mode"
15
+ const SERVICE = "modelTools"
16
+ const NAMESPACE = "modelTools"
17
+ const INSTALL_WIRE_METHOD = "installExtension"
18
+
19
+ function parseModelToolsValue(schema, value) {
20
+ switch (schema.kind) {
21
+ case 'string':
22
+ if (typeof value !== 'string') throw new TypeError('expected a string')
23
+ return value
24
+ case 'boolean':
25
+ if (typeof value !== 'boolean') throw new TypeError('expected a boolean')
26
+ return value
27
+ case 'number':
28
+ if (typeof value !== 'number' || !Number.isFinite(value)) throw new TypeError('expected a finite number')
29
+ return value
30
+ case 'json':
31
+ return value
32
+ case 'null':
33
+ if (value !== null) throw new TypeError('expected null')
34
+ return null
35
+ case 'literal':
36
+ if (value !== schema.value) throw new TypeError('expected ' + JSON.stringify(schema.value))
37
+ return value
38
+ case 'optional':
39
+ return value === undefined ? undefined : parseModelToolsValue(schema.of, value)
40
+ case 'nullable':
41
+ return value === null ? null : parseModelToolsValue(schema.of, value)
42
+ case 'array':
43
+ if (!Array.isArray(value)) throw new TypeError('expected an array')
44
+ return value.map((item) => parseModelToolsValue(schema.of, item))
45
+ case 'record': {
46
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
47
+ throw new TypeError('expected a string-keyed record')
48
+ }
49
+ const parsed = {}
50
+ for (const [key, item] of Object.entries(value)) parsed[key] = parseModelToolsValue(schema.of, item)
51
+ return parsed
52
+ }
53
+ case 'object': {
54
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
55
+ throw new TypeError('expected an object')
56
+ }
57
+ const parsed = {}
58
+ for (const [key, field] of Object.entries(schema.fields)) {
59
+ const raw = value[key]
60
+ if (field.kind === 'optional') {
61
+ const item = parseModelToolsValue(field, raw)
62
+ if (item !== undefined) parsed[key] = item
63
+ continue
64
+ }
65
+ if (raw === undefined) throw new TypeError('missing field ' + JSON.stringify(key))
66
+ parsed[key] = parseModelToolsValue(field, raw)
67
+ }
68
+ return parsed
69
+ }
70
+ case 'union': {
71
+ let last
72
+ for (const variant of schema.of) {
73
+ try {
74
+ return parseModelToolsValue(variant, value)
75
+ } catch (error) {
76
+ last = error
77
+ }
78
+ }
79
+ throw new TypeError('value matched no union variant: ' + last.message)
80
+ }
81
+ default:
82
+ throw new TypeError('unknown schema kind ' + JSON.stringify(schema.kind))
83
+ }
84
+ }
85
+
86
+ function codecForModelToolsValue(typeSymbol, schema) {
87
+ let parser
88
+ return {
89
+ mode: 'strict',
90
+ typeSymbol,
91
+ create: () => (parser ??= { parse: (value) => parseModelToolsValue(schema, value) }),
92
+ }
93
+ }
94
+
95
+ function descriptorsFromModelToolsSpecs(packageName, serviceKey, namespace, specs) {
96
+ return specs.map((spec) => {
97
+ const descriptor = {
98
+ id: packageName + '#' + namespace + '/' + spec.method,
99
+ service: serviceKey,
100
+ namespace,
101
+ method: spec.method,
102
+ description: spec.description,
103
+ invocation: { kind: 'direct' },
104
+ parameters: spec.parameters.map((parameter) => {
105
+ const entry = {
106
+ name: parameter.name,
107
+ wire: parameter.wire,
108
+ source: 'json',
109
+ codec: codecForModelToolsValue(parameter.typeSymbol, parameter.schema),
110
+ strictCodec: codecForModelToolsValue(parameter.strictTypeSymbol, parameter.schema),
111
+ }
112
+ if (parameter.description !== undefined) entry.description = parameter.description
113
+ if (parameter.acceptsUndefined === true) entry.acceptsUndefined = true
114
+ return entry
115
+ }),
116
+ cancellation: { parameter: 'signal' },
117
+ result: {
118
+ mode: 'strict',
119
+ typeSymbol: spec.result.typeSymbol,
120
+ create: codecForModelToolsValue(spec.result.typeSymbol, spec.result.schema).create,
121
+ description: spec.result.description,
122
+ },
123
+ }
124
+ if (spec.implementation !== undefined) descriptor.implementation = spec.implementation
125
+ return descriptor
126
+ })
127
+ }
128
+
129
+ const METHOD_SPECS = [
130
+ {
131
+ "method": "describe",
132
+ "description": "Read the current extension state; the page calls it on mount and after each action.",
133
+ "parameters": [],
134
+ "result": {
135
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/describe:result",
136
+ "description": "the extension surface as the host currently sees it.",
137
+ "schema": {
138
+ "kind": "object",
139
+ "fields": {
140
+ "store": {
141
+ "kind": "nullable",
142
+ "of": {
143
+ "kind": "string"
144
+ }
145
+ },
146
+ "writable": {
147
+ "kind": "boolean"
148
+ },
149
+ "sourceDir": {
150
+ "kind": "nullable",
151
+ "of": {
152
+ "kind": "string"
153
+ }
154
+ },
155
+ "extensions": {
156
+ "kind": "array",
157
+ "of": {
158
+ "kind": "object",
159
+ "fields": {
160
+ "id": {
161
+ "kind": "string"
162
+ },
163
+ "package": {
164
+ "kind": "nullable",
165
+ "of": {
166
+ "kind": "string"
167
+ }
168
+ },
169
+ "version": {
170
+ "kind": "nullable",
171
+ "of": {
172
+ "kind": "string"
173
+ }
174
+ },
175
+ "installed": {
176
+ "kind": "boolean"
177
+ },
178
+ "active": {
179
+ "kind": "boolean"
180
+ },
181
+ "disabled": {
182
+ "kind": "boolean"
183
+ },
184
+ "integrity": {
185
+ "kind": "union",
186
+ "of": [
187
+ {
188
+ "kind": "literal",
189
+ "value": "unchanged"
190
+ },
191
+ {
192
+ "kind": "literal",
193
+ "value": "changed"
194
+ },
195
+ {
196
+ "kind": "literal",
197
+ "value": "unknown"
198
+ }
199
+ ]
200
+ },
201
+ "tools": {
202
+ "kind": "array",
203
+ "of": {
204
+ "kind": "string"
205
+ }
206
+ },
207
+ "reason": {
208
+ "kind": "nullable",
209
+ "of": {
210
+ "kind": "string"
211
+ }
212
+ },
213
+ "requirements": {
214
+ "kind": "optional",
215
+ "of": {
216
+ "kind": "array",
217
+ "of": {
218
+ "kind": "object",
219
+ "fields": {
220
+ "kind": {
221
+ "kind": "union",
222
+ "of": [
223
+ {
224
+ "kind": "literal",
225
+ "value": "store"
226
+ },
227
+ {
228
+ "kind": "literal",
229
+ "value": "source"
230
+ },
231
+ {
232
+ "kind": "literal",
233
+ "value": "dependencies"
234
+ },
235
+ {
236
+ "kind": "literal",
237
+ "value": "runtime"
238
+ },
239
+ {
240
+ "kind": "literal",
241
+ "value": "assets"
242
+ },
243
+ {
244
+ "kind": "literal",
245
+ "value": "executable"
246
+ },
247
+ {
248
+ "kind": "literal",
249
+ "value": "harness-model"
250
+ },
251
+ {
252
+ "kind": "literal",
253
+ "value": "platform"
254
+ },
255
+ {
256
+ "kind": "literal",
257
+ "value": "integrity"
258
+ },
259
+ {
260
+ "kind": "literal",
261
+ "value": "activation"
262
+ }
263
+ ]
264
+ },
265
+ "satisfied": {
266
+ "kind": "boolean"
267
+ },
268
+ "reason": {
269
+ "kind": "string"
270
+ },
271
+ "action": {
272
+ "kind": "union",
273
+ "of": [
274
+ {
275
+ "kind": "literal",
276
+ "value": "install"
277
+ },
278
+ {
279
+ "kind": "literal",
280
+ "value": "prepare"
281
+ },
282
+ {
283
+ "kind": "literal",
284
+ "value": "enable"
285
+ },
286
+ {
287
+ "kind": "literal",
288
+ "value": "config"
289
+ },
290
+ {
291
+ "kind": "literal",
292
+ "value": "none"
293
+ }
294
+ ]
295
+ }
296
+ }
297
+ }
298
+ }
299
+ },
300
+ "blocked": {
301
+ "kind": "optional",
302
+ "of": {
303
+ "kind": "boolean"
304
+ }
305
+ }
306
+ }
307
+ }
308
+ }
309
+ }
310
+ }
311
+ }
312
+ },
313
+ {
314
+ "method": "installExtension",
315
+ "implementation": "install",
316
+ "description": "Install one extension from `source`, or the configured first-party source.",
317
+ "parameters": [
318
+ {
319
+ "name": "id",
320
+ "wire": "id",
321
+ "description": "the extension id, for example `@try-works/extension-laya`.",
322
+ "acceptsUndefined": false,
323
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/install:id",
324
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/install:id",
325
+ "schema": {
326
+ "kind": "string"
327
+ }
328
+ },
329
+ {
330
+ "name": "source",
331
+ "wire": "source",
332
+ "description": "an explicit install directory; absent means the configured first-party source.",
333
+ "acceptsUndefined": true,
334
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/install:source",
335
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/install:source",
336
+ "schema": {
337
+ "kind": "optional",
338
+ "of": {
339
+ "kind": "string"
340
+ }
341
+ }
342
+ }
343
+ ],
344
+ "result": {
345
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/install:result",
346
+ "description": "the installed extension; installation is not activation.",
347
+ "schema": {
348
+ "kind": "object",
349
+ "fields": {
350
+ "id": {
351
+ "kind": "string"
352
+ },
353
+ "version": {
354
+ "kind": "string"
355
+ },
356
+ "active": {
357
+ "kind": "boolean"
358
+ },
359
+ "source": {
360
+ "kind": "optional",
361
+ "of": {
362
+ "kind": "union",
363
+ "of": [
364
+ {
365
+ "kind": "literal",
366
+ "value": "registry"
367
+ },
368
+ {
369
+ "kind": "literal",
370
+ "value": "directory"
371
+ }
372
+ ]
373
+ }
374
+ },
375
+ "resolvedVersion": {
376
+ "kind": "optional",
377
+ "of": {
378
+ "kind": "string"
379
+ }
380
+ }
381
+ }
382
+ }
383
+ }
384
+ },
385
+ {
386
+ "method": "enable",
387
+ "description": "Activate an installed extension (removes it from `disabledExtensions`).",
388
+ "parameters": [
389
+ {
390
+ "name": "id",
391
+ "wire": "id",
392
+ "description": "the extension id to activate.",
393
+ "acceptsUndefined": false,
394
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/enable:id",
395
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/enable:id",
396
+ "schema": {
397
+ "kind": "string"
398
+ }
399
+ }
400
+ ],
401
+ "result": {
402
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/enable:result",
403
+ "description": "the extension state after activation.",
404
+ "schema": {
405
+ "kind": "object",
406
+ "fields": {
407
+ "id": {
408
+ "kind": "string"
409
+ },
410
+ "active": {
411
+ "kind": "boolean"
412
+ },
413
+ "disabled": {
414
+ "kind": "boolean"
415
+ }
416
+ }
417
+ }
418
+ }
419
+ },
420
+ {
421
+ "method": "disable",
422
+ "description": "Deactivate an extension (adds it to `disabledExtensions`).",
423
+ "parameters": [
424
+ {
425
+ "name": "id",
426
+ "wire": "id",
427
+ "description": "the extension id to deactivate.",
428
+ "acceptsUndefined": false,
429
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/disable:id",
430
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/disable:id",
431
+ "schema": {
432
+ "kind": "string"
433
+ }
434
+ }
435
+ ],
436
+ "result": {
437
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/disable:result",
438
+ "description": "the extension state after deactivation.",
439
+ "schema": {
440
+ "kind": "object",
441
+ "fields": {
442
+ "id": {
443
+ "kind": "string"
444
+ },
445
+ "active": {
446
+ "kind": "boolean"
447
+ },
448
+ "disabled": {
449
+ "kind": "boolean"
450
+ }
451
+ }
452
+ }
453
+ }
454
+ },
455
+ {
456
+ "method": "prepare",
457
+ "description": "Acquire and verify the installed extension's model assets, then record the readiness a following enable needs.",
458
+ "parameters": [
459
+ {
460
+ "name": "id",
461
+ "wire": "id",
462
+ "description": "the installed extension id to prepare.",
463
+ "acceptsUndefined": false,
464
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/prepare:id",
465
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/prepare:id",
466
+ "schema": {
467
+ "kind": "string"
468
+ }
469
+ }
470
+ ],
471
+ "result": {
472
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/prepare:result",
473
+ "description": "the preparation outcome, its RES-02 disclosure, and the readiness recorded for each declared model.",
474
+ "schema": {
475
+ "kind": "object",
476
+ "fields": {
477
+ "id": {
478
+ "kind": "string"
479
+ },
480
+ "prepared": {
481
+ "kind": "boolean"
482
+ },
483
+ "reason": {
484
+ "kind": "nullable",
485
+ "of": {
486
+ "kind": "string"
487
+ }
488
+ },
489
+ "plan": {
490
+ "kind": "nullable",
491
+ "of": {
492
+ "kind": "object",
493
+ "fields": {
494
+ "modelId": {
495
+ "kind": "string"
496
+ },
497
+ "modelRevision": {
498
+ "kind": "string"
499
+ },
500
+ "assets": {
501
+ "kind": "array",
502
+ "of": {
503
+ "kind": "object",
504
+ "fields": {
505
+ "assetId": {
506
+ "kind": "string"
507
+ },
508
+ "bytes": {
509
+ "kind": "number"
510
+ },
511
+ "source": {
512
+ "kind": "string"
513
+ },
514
+ "executable": {
515
+ "kind": "boolean"
516
+ }
517
+ }
518
+ }
519
+ },
520
+ "totalBytes": {
521
+ "kind": "number"
522
+ },
523
+ "storageBytes": {
524
+ "kind": "number"
525
+ },
526
+ "requiresExecutableApproval": {
527
+ "kind": "boolean"
528
+ },
529
+ "license": {
530
+ "kind": "object",
531
+ "fields": {
532
+ "name": {
533
+ "kind": "string"
534
+ },
535
+ "url": {
536
+ "kind": "string"
537
+ }
538
+ }
539
+ }
540
+ }
541
+ }
542
+ },
543
+ "readiness": {
544
+ "kind": "record",
545
+ "of": {
546
+ "kind": "union",
547
+ "of": [
548
+ {
549
+ "kind": "literal",
550
+ "value": "unavailable"
551
+ },
552
+ {
553
+ "kind": "literal",
554
+ "value": "needs-preparation"
555
+ },
556
+ {
557
+ "kind": "literal",
558
+ "value": "preparing"
559
+ },
560
+ {
561
+ "kind": "literal",
562
+ "value": "prepared-cold"
563
+ },
564
+ {
565
+ "kind": "literal",
566
+ "value": "loading"
567
+ },
568
+ {
569
+ "kind": "literal",
570
+ "value": "ready"
571
+ },
572
+ {
573
+ "kind": "literal",
574
+ "value": "busy"
575
+ },
576
+ {
577
+ "kind": "literal",
578
+ "value": "failed"
579
+ }
580
+ ]
581
+ }
582
+ },
583
+ "groups": {
584
+ "kind": "array",
585
+ "of": {
586
+ "kind": "string"
587
+ }
588
+ },
589
+ "activationReady": {
590
+ "kind": "boolean"
591
+ }
592
+ }
593
+ }
594
+ }
595
+ },
596
+ {
597
+ "method": "setToolEnabled",
598
+ "description": "Enable or disable ONE tool of an installed extension through the running host.",
599
+ "parameters": [
600
+ {
601
+ "name": "id",
602
+ "wire": "id",
603
+ "description": "the extension id.",
604
+ "acceptsUndefined": false,
605
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/setToolEnabled:id",
606
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/setToolEnabled:id",
607
+ "schema": {
608
+ "kind": "string"
609
+ }
610
+ },
611
+ {
612
+ "name": "toolName",
613
+ "wire": "toolName",
614
+ "description": "the caller-facing tool name to toggle.",
615
+ "acceptsUndefined": false,
616
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/setToolEnabled:toolName",
617
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/setToolEnabled:toolName",
618
+ "schema": {
619
+ "kind": "string"
620
+ }
621
+ },
622
+ {
623
+ "name": "enabled",
624
+ "wire": "enabled",
625
+ "description": "the desired enabled state.",
626
+ "acceptsUndefined": false,
627
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/setToolEnabled:enabled",
628
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/setToolEnabled:enabled",
629
+ "schema": {
630
+ "kind": "boolean"
631
+ }
632
+ }
633
+ ],
634
+ "result": {
635
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/setToolEnabled:result",
636
+ "description": "the extension, tool and state after the toggle.",
637
+ "schema": {
638
+ "kind": "object",
639
+ "fields": {
640
+ "id": {
641
+ "kind": "string"
642
+ },
643
+ "toolName": {
644
+ "kind": "string"
645
+ },
646
+ "enabled": {
647
+ "kind": "boolean"
648
+ },
649
+ "active": {
650
+ "kind": "boolean"
651
+ }
652
+ }
653
+ }
654
+ }
655
+ },
656
+ {
657
+ "method": "uninstall",
658
+ "description": "Uninstall an extension through the running host; an active extension requires explicit deactivation.",
659
+ "parameters": [
660
+ {
661
+ "name": "id",
662
+ "wire": "id",
663
+ "description": "the extension id.",
664
+ "acceptsUndefined": false,
665
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/uninstall:id",
666
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/uninstall:id",
667
+ "schema": {
668
+ "kind": "string"
669
+ }
670
+ },
671
+ {
672
+ "name": "deactivate",
673
+ "wire": "deactivate",
674
+ "description": "whether to deactivate first; absent means false.",
675
+ "acceptsUndefined": true,
676
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/uninstall:deactivate",
677
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/uninstall:deactivate",
678
+ "schema": {
679
+ "kind": "optional",
680
+ "of": {
681
+ "kind": "boolean"
682
+ }
683
+ }
684
+ }
685
+ ],
686
+ "result": {
687
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/uninstall:result",
688
+ "description": "the extension removed and its resulting active state.",
689
+ "schema": {
690
+ "kind": "object",
691
+ "fields": {
692
+ "id": {
693
+ "kind": "string"
694
+ },
695
+ "removed": {
696
+ "kind": "boolean"
697
+ },
698
+ "active": {
699
+ "kind": "boolean"
700
+ }
701
+ }
702
+ }
703
+ }
704
+ },
705
+ {
706
+ "method": "toolSources",
707
+ "description": "List the registered tools with owner attribution (extension, Tool Mode, MCP, pinned first party, unknown).",
708
+ "parameters": [],
709
+ "result": {
710
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/toolSources:result",
711
+ "description": "the tool catalog with owner attribution.",
712
+ "schema": {
713
+ "kind": "object",
714
+ "fields": {
715
+ "tools": {
716
+ "kind": "array",
717
+ "of": {
718
+ "kind": "object",
719
+ "fields": {
720
+ "name": {
721
+ "kind": "string"
722
+ },
723
+ "description": {
724
+ "kind": "string"
725
+ },
726
+ "owner": {
727
+ "kind": "string"
728
+ },
729
+ "kind": {
730
+ "kind": "union",
731
+ "of": [
732
+ {
733
+ "kind": "literal",
734
+ "value": "built-in"
735
+ },
736
+ {
737
+ "kind": "literal",
738
+ "value": "extension"
739
+ },
740
+ {
741
+ "kind": "literal",
742
+ "value": "tool-mode"
743
+ },
744
+ {
745
+ "kind": "literal",
746
+ "value": "mcp"
747
+ },
748
+ {
749
+ "kind": "literal",
750
+ "value": "unknown"
751
+ }
752
+ ]
753
+ },
754
+ "origin": {
755
+ "kind": "union",
756
+ "of": [
757
+ {
758
+ "kind": "literal",
759
+ "value": "dsh-core"
760
+ },
761
+ {
762
+ "kind": "literal",
763
+ "value": "extension"
764
+ },
765
+ {
766
+ "kind": "literal",
767
+ "value": "tool-mode"
768
+ },
769
+ {
770
+ "kind": "literal",
771
+ "value": "mcp"
772
+ },
773
+ {
774
+ "kind": "literal",
775
+ "value": "unknown"
776
+ }
777
+ ]
778
+ }
779
+ }
780
+ }
781
+ }
782
+ }
783
+ }
784
+ }
785
+ },
786
+ {
787
+ "method": "toolInventory",
788
+ "description": "Read the live tool inventory: registered tools plus installed extension tools, with state, kind and usage.",
789
+ "parameters": [],
790
+ "result": {
791
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/toolInventory:result",
792
+ "description": "every inventory row, including tools that were never called.",
793
+ "schema": {
794
+ "kind": "object",
795
+ "fields": {
796
+ "tools": {
797
+ "kind": "array",
798
+ "of": {
799
+ "kind": "object",
800
+ "fields": {
801
+ "name": {
802
+ "kind": "string"
803
+ },
804
+ "description": {
805
+ "kind": "string"
806
+ },
807
+ "owner": {
808
+ "kind": "string"
809
+ },
810
+ "kind": {
811
+ "kind": "union",
812
+ "of": [
813
+ {
814
+ "kind": "literal",
815
+ "value": "built-in"
816
+ },
817
+ {
818
+ "kind": "literal",
819
+ "value": "extension"
820
+ },
821
+ {
822
+ "kind": "literal",
823
+ "value": "tool-mode"
824
+ },
825
+ {
826
+ "kind": "literal",
827
+ "value": "mcp"
828
+ },
829
+ {
830
+ "kind": "literal",
831
+ "value": "unknown"
832
+ }
833
+ ]
834
+ },
835
+ "origin": {
836
+ "kind": "union",
837
+ "of": [
838
+ {
839
+ "kind": "literal",
840
+ "value": "dsh-core"
841
+ },
842
+ {
843
+ "kind": "literal",
844
+ "value": "extension"
845
+ },
846
+ {
847
+ "kind": "literal",
848
+ "value": "tool-mode"
849
+ },
850
+ {
851
+ "kind": "literal",
852
+ "value": "mcp"
853
+ },
854
+ {
855
+ "kind": "literal",
856
+ "value": "unknown"
857
+ }
858
+ ]
859
+ },
860
+ "state": {
861
+ "kind": "union",
862
+ "of": [
863
+ {
864
+ "kind": "literal",
865
+ "value": "active"
866
+ },
867
+ {
868
+ "kind": "literal",
869
+ "value": "prepared-cold"
870
+ },
871
+ {
872
+ "kind": "literal",
873
+ "value": "failed"
874
+ }
875
+ ]
876
+ },
877
+ "extension": {
878
+ "kind": "nullable",
879
+ "of": {
880
+ "kind": "string"
881
+ }
882
+ },
883
+ "version": {
884
+ "kind": "nullable",
885
+ "of": {
886
+ "kind": "string"
887
+ }
888
+ },
889
+ "extensionVersion": {
890
+ "kind": "nullable",
891
+ "of": {
892
+ "kind": "string"
893
+ }
894
+ },
895
+ "contractVersion": {
896
+ "kind": "nullable",
897
+ "of": {
898
+ "kind": "string"
899
+ }
900
+ },
901
+ "argumentCount": {
902
+ "kind": "number"
903
+ },
904
+ "lastRegistered": {
905
+ "kind": "nullable",
906
+ "of": {
907
+ "kind": "number"
908
+ }
909
+ },
910
+ "mcpExposed": {
911
+ "kind": "boolean"
912
+ },
913
+ "calls": {
914
+ "kind": "number"
915
+ },
916
+ "success": {
917
+ "kind": "number"
918
+ },
919
+ "lastUsed": {
920
+ "kind": "nullable",
921
+ "of": {
922
+ "kind": "number"
923
+ }
924
+ }
925
+ }
926
+ }
927
+ }
928
+ }
929
+ }
930
+ }
931
+ },
932
+ {
933
+ "method": "mcpStatus",
934
+ "description": "Read the MCP surface status: the bound endpoint, auth mode, clients, and exposed/withheld tools.",
935
+ "parameters": [],
936
+ "result": {
937
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/mcpStatus:result",
938
+ "description": "the MCP status derived from the bound endpoint, identities, surface and ledger.",
939
+ "schema": {
940
+ "kind": "object",
941
+ "fields": {
942
+ "enabled": {
943
+ "kind": "boolean"
944
+ },
945
+ "listening": {
946
+ "kind": "boolean"
947
+ },
948
+ "endpoint": {
949
+ "kind": "nullable",
950
+ "of": {
951
+ "kind": "object",
952
+ "fields": {
953
+ "host": {
954
+ "kind": "string"
955
+ },
956
+ "port": {
957
+ "kind": "number"
958
+ },
959
+ "path": {
960
+ "kind": "string"
961
+ },
962
+ "url": {
963
+ "kind": "string"
964
+ }
965
+ }
966
+ }
967
+ },
968
+ "configured": {
969
+ "kind": "nullable",
970
+ "of": {
971
+ "kind": "object",
972
+ "fields": {
973
+ "host": {
974
+ "kind": "string"
975
+ },
976
+ "port": {
977
+ "kind": "number"
978
+ },
979
+ "path": {
980
+ "kind": "string"
981
+ }
982
+ }
983
+ }
984
+ },
985
+ "transport": {
986
+ "kind": "literal",
987
+ "value": "http"
988
+ },
989
+ "auth": {
990
+ "kind": "object",
991
+ "fields": {
992
+ "scheme": {
993
+ "kind": "union",
994
+ "of": [
995
+ {
996
+ "kind": "literal",
997
+ "value": "static-token"
998
+ },
999
+ {
1000
+ "kind": "literal",
1001
+ "value": "oauth-resource-server"
1002
+ },
1003
+ {
1004
+ "kind": "literal",
1005
+ "value": "none"
1006
+ }
1007
+ ]
1008
+ },
1009
+ "mode": {
1010
+ "kind": "union",
1011
+ "of": [
1012
+ {
1013
+ "kind": "literal",
1014
+ "value": "static-token"
1015
+ },
1016
+ {
1017
+ "kind": "literal",
1018
+ "value": "oauth-resource-server"
1019
+ },
1020
+ {
1021
+ "kind": "literal",
1022
+ "value": "none"
1023
+ }
1024
+ ]
1025
+ },
1026
+ "tokenFile": {
1027
+ "kind": "nullable",
1028
+ "of": {
1029
+ "kind": "string"
1030
+ }
1031
+ }
1032
+ }
1033
+ },
1034
+ "uptimeMs": {
1035
+ "kind": "number"
1036
+ },
1037
+ "clients": {
1038
+ "kind": "array",
1039
+ "of": {
1040
+ "kind": "object",
1041
+ "fields": {
1042
+ "clientId": {
1043
+ "kind": "string"
1044
+ },
1045
+ "id": {
1046
+ "kind": "string"
1047
+ },
1048
+ "label": {
1049
+ "kind": "string"
1050
+ },
1051
+ "grantId": {
1052
+ "kind": "nullable",
1053
+ "of": {
1054
+ "kind": "string"
1055
+ }
1056
+ },
1057
+ "calls": {
1058
+ "kind": "number"
1059
+ },
1060
+ "errors": {
1061
+ "kind": "number"
1062
+ },
1063
+ "lastSeen": {
1064
+ "kind": "nullable",
1065
+ "of": {
1066
+ "kind": "number"
1067
+ }
1068
+ }
1069
+ }
1070
+ }
1071
+ },
1072
+ "exposed": {
1073
+ "kind": "array",
1074
+ "of": {
1075
+ "kind": "string"
1076
+ }
1077
+ },
1078
+ "withheld": {
1079
+ "kind": "array",
1080
+ "of": {
1081
+ "kind": "string"
1082
+ }
1083
+ },
1084
+ "exposedCount": {
1085
+ "kind": "number"
1086
+ },
1087
+ "withheldCount": {
1088
+ "kind": "number"
1089
+ }
1090
+ }
1091
+ }
1092
+ }
1093
+ },
1094
+ {
1095
+ "method": "mcpCalls",
1096
+ "description": "Read the external MCP call log, newest first, from the persisted ledger.",
1097
+ "parameters": [
1098
+ {
1099
+ "name": "query",
1100
+ "wire": "query",
1101
+ "description": "an optional client filter and page; absent means page 1 with the default size.",
1102
+ "acceptsUndefined": true,
1103
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/mcpCalls:query",
1104
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/mcpCalls:query",
1105
+ "schema": {
1106
+ "kind": "optional",
1107
+ "of": {
1108
+ "kind": "object",
1109
+ "fields": {
1110
+ "clientId": {
1111
+ "kind": "optional",
1112
+ "of": {
1113
+ "kind": "string"
1114
+ }
1115
+ },
1116
+ "page": {
1117
+ "kind": "optional",
1118
+ "of": {
1119
+ "kind": "number"
1120
+ }
1121
+ },
1122
+ "pageSize": {
1123
+ "kind": "optional",
1124
+ "of": {
1125
+ "kind": "number"
1126
+ }
1127
+ }
1128
+ }
1129
+ }
1130
+ }
1131
+ }
1132
+ ],
1133
+ "result": {
1134
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/mcpCalls:result",
1135
+ "description": "one page of external calls plus the matching total and ledger client identities.",
1136
+ "schema": {
1137
+ "kind": "object",
1138
+ "fields": {
1139
+ "calls": {
1140
+ "kind": "array",
1141
+ "of": {
1142
+ "kind": "object",
1143
+ "fields": {
1144
+ "time": {
1145
+ "kind": "number"
1146
+ },
1147
+ "tool": {
1148
+ "kind": "string"
1149
+ },
1150
+ "clientId": {
1151
+ "kind": "string"
1152
+ },
1153
+ "grantId": {
1154
+ "kind": "nullable",
1155
+ "of": {
1156
+ "kind": "string"
1157
+ }
1158
+ },
1159
+ "totalMs": {
1160
+ "kind": "number"
1161
+ },
1162
+ "queuedMs": {
1163
+ "kind": "number"
1164
+ },
1165
+ "loadMs": {
1166
+ "kind": "number"
1167
+ },
1168
+ "inferenceMs": {
1169
+ "kind": "number"
1170
+ },
1171
+ "failureClass": {
1172
+ "kind": "string"
1173
+ },
1174
+ "reason": {
1175
+ "kind": "nullable",
1176
+ "of": {
1177
+ "kind": "string"
1178
+ }
1179
+ },
1180
+ "inputBytes": {
1181
+ "kind": "number"
1182
+ },
1183
+ "outputBytes": {
1184
+ "kind": "number"
1185
+ },
1186
+ "receiptId": {
1187
+ "kind": "string"
1188
+ }
1189
+ }
1190
+ }
1191
+ },
1192
+ "total": {
1193
+ "kind": "number"
1194
+ },
1195
+ "page": {
1196
+ "kind": "number"
1197
+ },
1198
+ "pageSize": {
1199
+ "kind": "number"
1200
+ },
1201
+ "clients": {
1202
+ "kind": "array",
1203
+ "of": {
1204
+ "kind": "string"
1205
+ }
1206
+ }
1207
+ }
1208
+ }
1209
+ }
1210
+ },
1211
+ {
1212
+ "method": "toolUsageReport",
1213
+ "description": "Aggregate tool usage over an explicit range from the session projection detail.",
1214
+ "parameters": [
1215
+ {
1216
+ "name": "query",
1217
+ "wire": "query",
1218
+ "description": "an optional named range or explicit from/to epoch milliseconds.",
1219
+ "acceptsUndefined": true,
1220
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/toolUsageReport:query",
1221
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/toolUsageReport:query",
1222
+ "schema": {
1223
+ "kind": "optional",
1224
+ "of": {
1225
+ "kind": "object",
1226
+ "fields": {
1227
+ "range": {
1228
+ "kind": "optional",
1229
+ "of": {
1230
+ "kind": "union",
1231
+ "of": [
1232
+ {
1233
+ "kind": "literal",
1234
+ "value": "24h"
1235
+ },
1236
+ {
1237
+ "kind": "literal",
1238
+ "value": "7d"
1239
+ },
1240
+ {
1241
+ "kind": "literal",
1242
+ "value": "30d"
1243
+ },
1244
+ {
1245
+ "kind": "literal",
1246
+ "value": "all"
1247
+ }
1248
+ ]
1249
+ }
1250
+ },
1251
+ "from": {
1252
+ "kind": "optional",
1253
+ "of": {
1254
+ "kind": "number"
1255
+ }
1256
+ },
1257
+ "to": {
1258
+ "kind": "optional",
1259
+ "of": {
1260
+ "kind": "number"
1261
+ }
1262
+ }
1263
+ }
1264
+ }
1265
+ }
1266
+ }
1267
+ ],
1268
+ "result": {
1269
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/toolUsageReport:result",
1270
+ "description": "the range rollups: totals, by tool/model/owner/workspace/day/error code, and recent calls.",
1271
+ "schema": {
1272
+ "kind": "object",
1273
+ "fields": {
1274
+ "range": {
1275
+ "kind": "union",
1276
+ "of": [
1277
+ {
1278
+ "kind": "literal",
1279
+ "value": "24h"
1280
+ },
1281
+ {
1282
+ "kind": "literal",
1283
+ "value": "7d"
1284
+ },
1285
+ {
1286
+ "kind": "literal",
1287
+ "value": "30d"
1288
+ },
1289
+ {
1290
+ "kind": "literal",
1291
+ "value": "all"
1292
+ }
1293
+ ]
1294
+ },
1295
+ "from": {
1296
+ "kind": "number"
1297
+ },
1298
+ "to": {
1299
+ "kind": "number"
1300
+ },
1301
+ "calls": {
1302
+ "kind": "number"
1303
+ },
1304
+ "errors": {
1305
+ "kind": "number"
1306
+ },
1307
+ "unsettled": {
1308
+ "kind": "number"
1309
+ },
1310
+ "toolMs": {
1311
+ "kind": "number"
1312
+ },
1313
+ "codeCalls": {
1314
+ "kind": "number"
1315
+ },
1316
+ "sessions": {
1317
+ "kind": "number"
1318
+ },
1319
+ "uniqueTools": {
1320
+ "kind": "number"
1321
+ },
1322
+ "successRate": {
1323
+ "kind": "nullable",
1324
+ "of": {
1325
+ "kind": "number"
1326
+ }
1327
+ },
1328
+ "p50": {
1329
+ "kind": "nullable",
1330
+ "of": {
1331
+ "kind": "number"
1332
+ }
1333
+ },
1334
+ "p95": {
1335
+ "kind": "nullable",
1336
+ "of": {
1337
+ "kind": "number"
1338
+ }
1339
+ },
1340
+ "tools": {
1341
+ "kind": "array",
1342
+ "of": {
1343
+ "kind": "object",
1344
+ "fields": {
1345
+ "name": {
1346
+ "kind": "string"
1347
+ },
1348
+ "owner": {
1349
+ "kind": "string"
1350
+ },
1351
+ "calls": {
1352
+ "kind": "number"
1353
+ },
1354
+ "errors": {
1355
+ "kind": "number"
1356
+ },
1357
+ "unsettled": {
1358
+ "kind": "number"
1359
+ },
1360
+ "codeCalls": {
1361
+ "kind": "number"
1362
+ },
1363
+ "directCalls": {
1364
+ "kind": "number"
1365
+ },
1366
+ "totalMs": {
1367
+ "kind": "number"
1368
+ },
1369
+ "maxMs": {
1370
+ "kind": "number"
1371
+ },
1372
+ "p50": {
1373
+ "kind": "nullable",
1374
+ "of": {
1375
+ "kind": "number"
1376
+ }
1377
+ },
1378
+ "p95": {
1379
+ "kind": "nullable",
1380
+ "of": {
1381
+ "kind": "number"
1382
+ }
1383
+ },
1384
+ "firstUsed": {
1385
+ "kind": "nullable",
1386
+ "of": {
1387
+ "kind": "number"
1388
+ }
1389
+ },
1390
+ "lastUsed": {
1391
+ "kind": "nullable",
1392
+ "of": {
1393
+ "kind": "number"
1394
+ }
1395
+ },
1396
+ "argsBytes": {
1397
+ "kind": "number"
1398
+ },
1399
+ "resultBytes": {
1400
+ "kind": "number"
1401
+ }
1402
+ }
1403
+ }
1404
+ },
1405
+ "models": {
1406
+ "kind": "array",
1407
+ "of": {
1408
+ "kind": "object",
1409
+ "fields": {
1410
+ "model": {
1411
+ "kind": "string"
1412
+ },
1413
+ "calls": {
1414
+ "kind": "number"
1415
+ },
1416
+ "errors": {
1417
+ "kind": "number"
1418
+ },
1419
+ "tools": {
1420
+ "kind": "number"
1421
+ },
1422
+ "ms": {
1423
+ "kind": "number"
1424
+ },
1425
+ "p50": {
1426
+ "kind": "nullable",
1427
+ "of": {
1428
+ "kind": "number"
1429
+ }
1430
+ },
1431
+ "p95": {
1432
+ "kind": "nullable",
1433
+ "of": {
1434
+ "kind": "number"
1435
+ }
1436
+ }
1437
+ }
1438
+ }
1439
+ },
1440
+ "days": {
1441
+ "kind": "array",
1442
+ "of": {
1443
+ "kind": "object",
1444
+ "fields": {
1445
+ "day": {
1446
+ "kind": "string"
1447
+ },
1448
+ "calls": {
1449
+ "kind": "number"
1450
+ },
1451
+ "errors": {
1452
+ "kind": "number"
1453
+ },
1454
+ "ms": {
1455
+ "kind": "number"
1456
+ },
1457
+ "unsettled": {
1458
+ "kind": "number"
1459
+ }
1460
+ }
1461
+ }
1462
+ },
1463
+ "workspaces": {
1464
+ "kind": "array",
1465
+ "of": {
1466
+ "kind": "object",
1467
+ "fields": {
1468
+ "workspace": {
1469
+ "kind": "string"
1470
+ },
1471
+ "sessions": {
1472
+ "kind": "number"
1473
+ },
1474
+ "calls": {
1475
+ "kind": "number"
1476
+ },
1477
+ "errors": {
1478
+ "kind": "number"
1479
+ },
1480
+ "ms": {
1481
+ "kind": "number"
1482
+ }
1483
+ }
1484
+ }
1485
+ },
1486
+ "errorCodes": {
1487
+ "kind": "array",
1488
+ "of": {
1489
+ "kind": "object",
1490
+ "fields": {
1491
+ "code": {
1492
+ "kind": "string"
1493
+ },
1494
+ "calls": {
1495
+ "kind": "number"
1496
+ }
1497
+ }
1498
+ }
1499
+ },
1500
+ "recentCalls": {
1501
+ "kind": "array",
1502
+ "of": {
1503
+ "kind": "object",
1504
+ "fields": {
1505
+ "time": {
1506
+ "kind": "number"
1507
+ },
1508
+ "name": {
1509
+ "kind": "string"
1510
+ },
1511
+ "owner": {
1512
+ "kind": "string"
1513
+ },
1514
+ "model": {
1515
+ "kind": "string"
1516
+ },
1517
+ "ms": {
1518
+ "kind": "nullable",
1519
+ "of": {
1520
+ "kind": "number"
1521
+ }
1522
+ },
1523
+ "ok": {
1524
+ "kind": "nullable",
1525
+ "of": {
1526
+ "kind": "boolean"
1527
+ }
1528
+ },
1529
+ "errorCode": {
1530
+ "kind": "nullable",
1531
+ "of": {
1532
+ "kind": "string"
1533
+ }
1534
+ },
1535
+ "kind": {
1536
+ "kind": "union",
1537
+ "of": [
1538
+ {
1539
+ "kind": "literal",
1540
+ "value": "direct"
1541
+ },
1542
+ {
1543
+ "kind": "literal",
1544
+ "value": "code"
1545
+ }
1546
+ ]
1547
+ },
1548
+ "callId": {
1549
+ "kind": "string"
1550
+ },
1551
+ "parentCallId": {
1552
+ "kind": "nullable",
1553
+ "of": {
1554
+ "kind": "string"
1555
+ }
1556
+ },
1557
+ "sessionId": {
1558
+ "kind": "string"
1559
+ },
1560
+ "workspace": {
1561
+ "kind": "nullable",
1562
+ "of": {
1563
+ "kind": "string"
1564
+ }
1565
+ }
1566
+ }
1567
+ }
1568
+ },
1569
+ "histogramScope": {
1570
+ "kind": "literal",
1571
+ "value": "retained"
1572
+ }
1573
+ }
1574
+ }
1575
+ }
1576
+ },
1577
+ {
1578
+ "method": "customToolsDescribe",
1579
+ "description": "List the profile-scoped custom tools and their enabled/exposure state.",
1580
+ "parameters": [],
1581
+ "result": {
1582
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsDescribe:result",
1583
+ "description": "the custom-tool store and its active records.",
1584
+ "schema": {
1585
+ "kind": "object",
1586
+ "fields": {
1587
+ "store": {
1588
+ "kind": "string"
1589
+ },
1590
+ "writable": {
1591
+ "kind": "boolean"
1592
+ },
1593
+ "tools": {
1594
+ "kind": "array",
1595
+ "of": {
1596
+ "kind": "object",
1597
+ "fields": {
1598
+ "id": {
1599
+ "kind": "string"
1600
+ },
1601
+ "name": {
1602
+ "kind": "string"
1603
+ },
1604
+ "title": {
1605
+ "kind": "string"
1606
+ },
1607
+ "description": {
1608
+ "kind": "string"
1609
+ },
1610
+ "kind": {
1611
+ "kind": "union",
1612
+ "of": [
1613
+ {
1614
+ "kind": "literal",
1615
+ "value": "http"
1616
+ },
1617
+ {
1618
+ "kind": "literal",
1619
+ "value": "prompt"
1620
+ },
1621
+ {
1622
+ "kind": "literal",
1623
+ "value": "composite"
1624
+ }
1625
+ ]
1626
+ },
1627
+ "version": {
1628
+ "kind": "number"
1629
+ },
1630
+ "enabled": {
1631
+ "kind": "boolean"
1632
+ },
1633
+ "agentExpose": {
1634
+ "kind": "boolean"
1635
+ },
1636
+ "mcpExpose": {
1637
+ "kind": "boolean"
1638
+ },
1639
+ "updatedAt": {
1640
+ "kind": "string"
1641
+ }
1642
+ }
1643
+ }
1644
+ }
1645
+ }
1646
+ }
1647
+ }
1648
+ },
1649
+ {
1650
+ "method": "customToolsGet",
1651
+ "description": "Read one full custom-tool record for editing; credential values are never included.",
1652
+ "parameters": [
1653
+ {
1654
+ "name": "id",
1655
+ "wire": "id",
1656
+ "description": "custom-tool id.",
1657
+ "acceptsUndefined": false,
1658
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsGet:id",
1659
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsGet:id",
1660
+ "schema": {
1661
+ "kind": "string"
1662
+ }
1663
+ }
1664
+ ],
1665
+ "result": {
1666
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsGet:result",
1667
+ "description": "the active record, or null when it is not present.",
1668
+ "schema": {
1669
+ "kind": "nullable",
1670
+ "of": {
1671
+ "kind": "json"
1672
+ }
1673
+ }
1674
+ }
1675
+ },
1676
+ {
1677
+ "method": "customToolsDraft",
1678
+ "description": "Ask the host model to draft a custom tool from a description; never saves or executes it.",
1679
+ "parameters": [
1680
+ {
1681
+ "name": "description",
1682
+ "wire": "description",
1683
+ "description": "natural-language description.",
1684
+ "acceptsUndefined": false,
1685
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsDraft:description",
1686
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsDraft:description",
1687
+ "schema": {
1688
+ "kind": "string"
1689
+ }
1690
+ }
1691
+ ],
1692
+ "result": {
1693
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsDraft:result",
1694
+ "description": "a validated draft or a named failure; the draft is not saved.",
1695
+ "schema": {
1696
+ "kind": "json"
1697
+ }
1698
+ }
1699
+ },
1700
+ {
1701
+ "method": "customToolsValidate",
1702
+ "description": "Validate a custom-tool draft without persisting or executing it.",
1703
+ "parameters": [
1704
+ {
1705
+ "name": "draft",
1706
+ "wire": "draft",
1707
+ "description": "the user-authored draft.",
1708
+ "acceptsUndefined": false,
1709
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsValidate:draft",
1710
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsValidate:draft",
1711
+ "schema": {
1712
+ "kind": "json"
1713
+ }
1714
+ }
1715
+ ],
1716
+ "result": {
1717
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsValidate:result",
1718
+ "description": "the validation verdict and field issues.",
1719
+ "schema": {
1720
+ "kind": "object",
1721
+ "fields": {
1722
+ "ok": {
1723
+ "kind": "boolean"
1724
+ },
1725
+ "issues": {
1726
+ "kind": "array",
1727
+ "of": {
1728
+ "kind": "object",
1729
+ "fields": {
1730
+ "path": {
1731
+ "kind": "string"
1732
+ },
1733
+ "message": {
1734
+ "kind": "string"
1735
+ }
1736
+ }
1737
+ }
1738
+ }
1739
+ }
1740
+ }
1741
+ }
1742
+ },
1743
+ {
1744
+ "method": "customToolsTest",
1745
+ "description": "Execute a custom-tool draft once with sample arguments; never persists or registers it.",
1746
+ "parameters": [
1747
+ {
1748
+ "name": "draft",
1749
+ "wire": "draft",
1750
+ "description": "the draft to execute.",
1751
+ "acceptsUndefined": false,
1752
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsTest:draft",
1753
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsTest:draft",
1754
+ "schema": {
1755
+ "kind": "json"
1756
+ }
1757
+ },
1758
+ {
1759
+ "name": "args",
1760
+ "wire": "args",
1761
+ "description": "sample arguments.",
1762
+ "acceptsUndefined": false,
1763
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsTest:args",
1764
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsTest:args",
1765
+ "schema": {
1766
+ "kind": "json"
1767
+ }
1768
+ }
1769
+ ],
1770
+ "result": {
1771
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsTest:result",
1772
+ "description": "the test value or a named failure.",
1773
+ "schema": {
1774
+ "kind": "object",
1775
+ "fields": {
1776
+ "ok": {
1777
+ "kind": "boolean"
1778
+ },
1779
+ "value": {
1780
+ "kind": "optional",
1781
+ "of": {
1782
+ "kind": "json"
1783
+ }
1784
+ },
1785
+ "error": {
1786
+ "kind": "optional",
1787
+ "of": {
1788
+ "kind": "object",
1789
+ "fields": {
1790
+ "code": {
1791
+ "kind": "string"
1792
+ },
1793
+ "message": {
1794
+ "kind": "string"
1795
+ }
1796
+ }
1797
+ }
1798
+ }
1799
+ }
1800
+ }
1801
+ }
1802
+ },
1803
+ {
1804
+ "method": "customToolsSave",
1805
+ "description": "Validate, persist and register a new immutable custom-tool version.",
1806
+ "parameters": [
1807
+ {
1808
+ "name": "draft",
1809
+ "wire": "draft",
1810
+ "description": "the draft to save.",
1811
+ "acceptsUndefined": false,
1812
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsSave:draft",
1813
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsSave:draft",
1814
+ "schema": {
1815
+ "kind": "json"
1816
+ }
1817
+ }
1818
+ ],
1819
+ "result": {
1820
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsSave:result",
1821
+ "description": "the persisted record.",
1822
+ "schema": {
1823
+ "kind": "json"
1824
+ }
1825
+ }
1826
+ },
1827
+ {
1828
+ "method": "customToolsSetEnabled",
1829
+ "description": "Enable or disable a saved custom tool and reconcile its registration.",
1830
+ "parameters": [
1831
+ {
1832
+ "name": "id",
1833
+ "wire": "id",
1834
+ "description": "custom-tool id.",
1835
+ "acceptsUndefined": false,
1836
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsSetEnabled:id",
1837
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsSetEnabled:id",
1838
+ "schema": {
1839
+ "kind": "string"
1840
+ }
1841
+ },
1842
+ {
1843
+ "name": "enabled",
1844
+ "wire": "enabled",
1845
+ "description": "desired state.",
1846
+ "acceptsUndefined": false,
1847
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsSetEnabled:enabled",
1848
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsSetEnabled:enabled",
1849
+ "schema": {
1850
+ "kind": "boolean"
1851
+ }
1852
+ }
1853
+ ],
1854
+ "result": {
1855
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsSetEnabled:result",
1856
+ "description": "the updated record.",
1857
+ "schema": {
1858
+ "kind": "json"
1859
+ }
1860
+ }
1861
+ },
1862
+ {
1863
+ "method": "customToolsDelete",
1864
+ "description": "Delete the active pointer for a custom tool and remove its registration.",
1865
+ "parameters": [
1866
+ {
1867
+ "name": "id",
1868
+ "wire": "id",
1869
+ "description": "custom-tool id.",
1870
+ "acceptsUndefined": false,
1871
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsDelete:id",
1872
+ "strictTypeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsDelete:id",
1873
+ "schema": {
1874
+ "kind": "string"
1875
+ }
1876
+ }
1877
+ ],
1878
+ "result": {
1879
+ "typeSymbol": "@try-works/dsh-tool-mode#modelTools/customToolsDelete:result",
1880
+ "description": "whether an active record was removed.",
1881
+ "schema": {
1882
+ "kind": "boolean"
1883
+ }
1884
+ }
1885
+ }
1886
+ ]
1887
+
1888
+ const contribution = {
1889
+ package: PACKAGE,
1890
+ descriptors: descriptorsFromModelToolsSpecs(PACKAGE, SERVICE, NAMESPACE, METHOD_SPECS),
1891
+ }
1892
+
1893
+ /**
1894
+ * Mount the contribution in the calling client plugin's fiber.
1895
+ * @param ctx - the client Cordis context whose Remote service is available.
1896
+ * @returns null when this Host/assembly has no Client Remote service, else
1897
+ * the Remote service and the namespace disposer.
1898
+ */
1899
+ async function mount(ctx) {
1900
+ const remote = typeof ctx?.get === 'function' ? ctx.get('remote') : undefined
1901
+ if (remote === undefined || remote === null || typeof remote.$mount !== 'function') return null
1902
+ const dispose = await remote.$mount(contribution)
1903
+ return { remote, dispose }
1904
+ }
1905
+
1906
+ exports.contribution = contribution
1907
+ exports.mount = mount
1908
+ return module.exports
1909
+ },
1910
+ })