@try-works/dsh-model-as-tool 0.1.3 → 0.3.6

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 (257) hide show
  1. package/bin/dsh-tool-mode-credentials.mjs +20 -0
  2. package/bin/dsh-tool-mode.mjs +202 -0
  3. package/catalog/desert-ant-models.json +693 -693
  4. package/client/client.model-tools.js +592 -0
  5. package/client/index.js +1679 -0
  6. package/lib/adapters/index.d.ts.map +1 -1
  7. package/lib/adapters/index.js +4 -4
  8. package/lib/bindings.d.ts.map +1 -1
  9. package/lib/bindings.js +26 -25
  10. package/lib/capability.d.ts.map +1 -1
  11. package/lib/capability.js +17 -0
  12. package/lib/capture-path.d.ts +97 -0
  13. package/lib/capture-path.d.ts.map +1 -0
  14. package/lib/capture-path.js +152 -0
  15. package/lib/diagnostics.d.ts +166 -0
  16. package/lib/diagnostics.d.ts.map +1 -0
  17. package/lib/diagnostics.js +135 -0
  18. package/lib/extension-dependencies.d.ts +197 -0
  19. package/lib/extension-dependencies.d.ts.map +1 -0
  20. package/lib/extension-dependencies.js +369 -0
  21. package/lib/extension-dispatch.d.ts +117 -0
  22. package/lib/extension-dispatch.d.ts.map +1 -0
  23. package/lib/extension-dispatch.js +124 -0
  24. package/lib/extension-registrar.d.ts +100 -0
  25. package/lib/extension-registrar.d.ts.map +1 -0
  26. package/lib/extension-registrar.js +134 -0
  27. package/lib/extensions-api.d.ts +217 -0
  28. package/lib/extensions-api.d.ts.map +1 -0
  29. package/lib/extensions-api.js +17 -0
  30. package/lib/extensions-remote.d.ts +54 -0
  31. package/lib/extensions-remote.d.ts.map +1 -0
  32. package/lib/extensions-remote.js +66 -0
  33. package/lib/extensions-service.d.ts +334 -0
  34. package/lib/extensions-service.d.ts.map +1 -0
  35. package/lib/extensions-service.js +1351 -0
  36. package/lib/harness-llm.d.ts +138 -0
  37. package/lib/harness-llm.d.ts.map +1 -0
  38. package/lib/harness-llm.js +218 -0
  39. package/lib/harness-serving.d.ts +95 -0
  40. package/lib/harness-serving.d.ts.map +1 -0
  41. package/lib/harness-serving.js +157 -0
  42. package/lib/headless.d.ts +97 -0
  43. package/lib/headless.d.ts.map +1 -0
  44. package/lib/headless.js +349 -0
  45. package/lib/http-acquisition.d.ts +27 -0
  46. package/lib/http-acquisition.d.ts.map +1 -0
  47. package/lib/http-acquisition.js +136 -0
  48. package/lib/index.d.ts +250 -7
  49. package/lib/index.d.ts.map +1 -1
  50. package/lib/index.js +2625 -70
  51. package/lib/invocation-accounting.d.ts +169 -0
  52. package/lib/invocation-accounting.d.ts.map +1 -0
  53. package/lib/invocation-accounting.js +148 -0
  54. package/lib/legacy-migration.d.ts +95 -0
  55. package/lib/legacy-migration.d.ts.map +1 -0
  56. package/lib/legacy-migration.js +429 -0
  57. package/lib/managed-workers.d.ts +151 -0
  58. package/lib/managed-workers.d.ts.map +1 -0
  59. package/lib/managed-workers.js +249 -0
  60. package/lib/mcp/client-grant.d.ts +74 -0
  61. package/lib/mcp/client-grant.d.ts.map +1 -0
  62. package/lib/mcp/client-grant.js +60 -0
  63. package/lib/mcp/credential-cli.d.ts +38 -0
  64. package/lib/mcp/credential-cli.d.ts.map +1 -0
  65. package/lib/mcp/credential-cli.js +148 -0
  66. package/lib/mcp/credential-store.d.ts +143 -0
  67. package/lib/mcp/credential-store.d.ts.map +1 -0
  68. package/lib/mcp/credential-store.js +454 -0
  69. package/lib/mcp/host-binding.d.ts +25 -0
  70. package/lib/mcp/host-binding.d.ts.map +1 -1
  71. package/lib/mcp/host-binding.js +107 -14
  72. package/lib/mcp/http.d.ts +68 -18
  73. package/lib/mcp/http.d.ts.map +1 -1
  74. package/lib/mcp/http.js +390 -62
  75. package/lib/mcp/oauth.d.ts +149 -0
  76. package/lib/mcp/oauth.d.ts.map +1 -0
  77. package/lib/mcp/oauth.js +396 -0
  78. package/lib/mcp/protocol.d.ts +46 -7
  79. package/lib/mcp/protocol.d.ts.map +1 -1
  80. package/lib/mcp/protocol.js +63 -16
  81. package/lib/mcp/rate-limit.d.ts +68 -0
  82. package/lib/mcp/rate-limit.d.ts.map +1 -0
  83. package/lib/mcp/rate-limit.js +114 -0
  84. package/lib/mcp/sdk-v2.d.ts +17 -0
  85. package/lib/mcp/sdk-v2.d.ts.map +1 -0
  86. package/lib/mcp/sdk-v2.js +181 -0
  87. package/lib/mcp/server.d.ts +11 -1
  88. package/lib/mcp/server.d.ts.map +1 -1
  89. package/lib/mcp/server.js +80 -13
  90. package/lib/mcp/stdio.d.ts.map +1 -1
  91. package/lib/mcp/stdio.js +9 -1
  92. package/lib/mcp/subscriptions.d.ts +43 -1
  93. package/lib/mcp/subscriptions.d.ts.map +1 -1
  94. package/lib/mcp/subscriptions.js +90 -9
  95. package/lib/model-qualification.d.ts +192 -0
  96. package/lib/model-qualification.d.ts.map +1 -0
  97. package/lib/model-qualification.js +178 -0
  98. package/lib/planning.d.ts +246 -0
  99. package/lib/planning.d.ts.map +1 -0
  100. package/lib/planning.js +457 -0
  101. package/lib/prepared-assets.d.ts +178 -0
  102. package/lib/prepared-assets.d.ts.map +1 -0
  103. package/lib/prepared-assets.js +286 -0
  104. package/lib/provider-bridge.d.ts +37 -0
  105. package/lib/provider-bridge.d.ts.map +1 -1
  106. package/lib/provider-bridge.js +189 -12
  107. package/lib/ptc-authority.d.ts +140 -0
  108. package/lib/ptc-authority.d.ts.map +1 -0
  109. package/lib/ptc-authority.js +216 -0
  110. package/lib/ptc-runtime.d.ts +156 -0
  111. package/lib/ptc-runtime.d.ts.map +1 -0
  112. package/lib/ptc-runtime.js +191 -0
  113. package/lib/publication.d.ts +2 -1
  114. package/lib/publication.d.ts.map +1 -1
  115. package/lib/publication.js +13 -5
  116. package/lib/receipt.d.ts.map +1 -1
  117. package/lib/receipt.js +8 -0
  118. package/lib/title-proposal.d.ts +194 -0
  119. package/lib/title-proposal.d.ts.map +1 -0
  120. package/lib/title-proposal.js +244 -0
  121. package/lib/tool-mode-run.d.ts +235 -0
  122. package/lib/tool-mode-run.d.ts.map +1 -0
  123. package/lib/tool-mode-run.js +283 -0
  124. package/lib/types.d.ts +3 -1
  125. package/lib/types.d.ts.map +1 -1
  126. package/lib/update-surface.d.ts +79 -0
  127. package/lib/update-surface.d.ts.map +1 -0
  128. package/lib/update-surface.js +224 -0
  129. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/standard.d.ts +38 -0
  130. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/standard.d.ts.map +1 -0
  131. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/standard.js +445 -0
  132. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-embed.d.ts +14 -0
  133. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-embed.d.ts.map +1 -0
  134. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-embed.js +63 -0
  135. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-rerank.d.ts +14 -0
  136. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-rerank.d.ts.map +1 -0
  137. package/node_modules/@try-works/tool-mode-contracts/lib/contracts/text-rerank.js +76 -0
  138. package/node_modules/@try-works/tool-mode-contracts/lib/dsh.d.ts.map +1 -1
  139. package/node_modules/@try-works/tool-mode-contracts/lib/dsh.js +69 -55
  140. package/node_modules/@try-works/tool-mode-contracts/lib/index.d.ts +4 -1
  141. package/node_modules/@try-works/tool-mode-contracts/lib/index.d.ts.map +1 -1
  142. package/node_modules/@try-works/tool-mode-contracts/lib/index.js +26 -2
  143. package/node_modules/@try-works/tool-mode-contracts/lib/registry.d.ts +28 -2
  144. package/node_modules/@try-works/tool-mode-contracts/lib/registry.d.ts.map +1 -1
  145. package/node_modules/@try-works/tool-mode-contracts/lib/registry.js +93 -10
  146. package/node_modules/@try-works/tool-mode-contracts/package.json +0 -1
  147. package/node_modules/@try-works/tool-mode-extension-sdk/bin/dsh-tool-mode.mjs +20 -0
  148. package/node_modules/@try-works/tool-mode-extension-sdk/lib/cli.d.ts +80 -0
  149. package/node_modules/@try-works/tool-mode-extension-sdk/lib/cli.d.ts.map +1 -0
  150. package/node_modules/@try-works/tool-mode-extension-sdk/lib/cli.js +533 -0
  151. package/node_modules/@try-works/tool-mode-extension-sdk/lib/declarative-recipes.d.ts +83 -0
  152. package/node_modules/@try-works/tool-mode-extension-sdk/lib/declarative-recipes.d.ts.map +1 -0
  153. package/node_modules/@try-works/tool-mode-extension-sdk/lib/declarative-recipes.js +125 -0
  154. package/node_modules/@try-works/tool-mode-extension-sdk/lib/discovery.d.ts +70 -0
  155. package/node_modules/@try-works/tool-mode-extension-sdk/lib/discovery.d.ts.map +1 -0
  156. package/node_modules/@try-works/tool-mode-extension-sdk/lib/discovery.js +201 -0
  157. package/node_modules/@try-works/tool-mode-extension-sdk/lib/errors.d.ts +57 -0
  158. package/node_modules/@try-works/tool-mode-extension-sdk/lib/errors.d.ts.map +1 -0
  159. package/node_modules/@try-works/tool-mode-extension-sdk/lib/errors.js +83 -0
  160. package/node_modules/@try-works/tool-mode-extension-sdk/lib/index.d.ts +31 -0
  161. package/node_modules/@try-works/tool-mode-extension-sdk/lib/index.d.ts.map +1 -0
  162. package/node_modules/@try-works/tool-mode-extension-sdk/lib/index.js +31 -0
  163. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/archive.d.ts +86 -0
  164. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/archive.d.ts.map +1 -0
  165. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/archive.js +185 -0
  166. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/dependencies.d.ts +126 -0
  167. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/dependencies.d.ts.map +1 -0
  168. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/dependencies.js +297 -0
  169. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/lifecycle.d.ts +216 -0
  170. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/lifecycle.d.ts.map +1 -0
  171. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/lifecycle.js +800 -0
  172. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/migration.d.ts +210 -0
  173. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/migration.d.ts.map +1 -0
  174. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/migration.js +368 -0
  175. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/runtime-link.d.ts +63 -0
  176. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/runtime-link.d.ts.map +1 -0
  177. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/runtime-link.js +149 -0
  178. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/source-directory.d.ts +35 -0
  179. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/source-directory.d.ts.map +1 -0
  180. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/source-directory.js +179 -0
  181. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/staged.d.ts +179 -0
  182. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/staged.d.ts.map +1 -0
  183. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/staged.js +235 -0
  184. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/store.d.ts +367 -0
  185. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/store.d.ts.map +1 -0
  186. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/store.js +807 -0
  187. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/update-flow.d.ts +185 -0
  188. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/update-flow.d.ts.map +1 -0
  189. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/update-flow.js +504 -0
  190. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/zip-source.d.ts +17 -0
  191. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/zip-source.d.ts.map +1 -0
  192. package/node_modules/@try-works/tool-mode-extension-sdk/lib/install/zip-source.js +80 -0
  193. package/node_modules/@try-works/tool-mode-extension-sdk/lib/load.d.ts +52 -0
  194. package/node_modules/@try-works/tool-mode-extension-sdk/lib/load.d.ts.map +1 -0
  195. package/node_modules/@try-works/tool-mode-extension-sdk/lib/load.js +102 -0
  196. package/node_modules/@try-works/tool-mode-extension-sdk/lib/manifest.d.ts +171 -0
  197. package/node_modules/@try-works/tool-mode-extension-sdk/lib/manifest.d.ts.map +1 -0
  198. package/node_modules/@try-works/tool-mode-extension-sdk/lib/manifest.js +271 -0
  199. package/node_modules/@try-works/tool-mode-extension-sdk/lib/runtime.d.ts +242 -0
  200. package/node_modules/@try-works/tool-mode-extension-sdk/lib/runtime.d.ts.map +1 -0
  201. package/node_modules/@try-works/tool-mode-extension-sdk/lib/runtime.js +58 -0
  202. package/node_modules/@try-works/tool-mode-extension-sdk/lib/state.d.ts +118 -0
  203. package/node_modules/@try-works/tool-mode-extension-sdk/lib/state.d.ts.map +1 -0
  204. package/node_modules/@try-works/tool-mode-extension-sdk/lib/state.js +113 -0
  205. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker/worker-child.d.ts +2 -0
  206. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker/worker-child.d.ts.map +1 -0
  207. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker/worker-child.js +351 -0
  208. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker.d.ts +150 -0
  209. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker.d.ts.map +1 -0
  210. package/node_modules/@try-works/tool-mode-extension-sdk/lib/worker.js +670 -0
  211. package/node_modules/@try-works/tool-mode-extension-sdk/package.json +53 -0
  212. package/node_modules/@try-works/tool-mode-extension-sdk/schema/extension-manifest-1.1.0.schema.json +253 -0
  213. package/node_modules/@try-works/tool-mode-recipes/bin/tool-mode-recipe.mjs +15 -0
  214. package/node_modules/@try-works/tool-mode-recipes/lib/broker.d.ts +427 -0
  215. package/node_modules/@try-works/tool-mode-recipes/lib/broker.d.ts.map +1 -0
  216. package/node_modules/@try-works/tool-mode-recipes/lib/broker.js +592 -0
  217. package/node_modules/@try-works/tool-mode-recipes/lib/cli.d.ts +60 -0
  218. package/node_modules/@try-works/tool-mode-recipes/lib/cli.d.ts.map +1 -0
  219. package/node_modules/@try-works/tool-mode-recipes/lib/cli.js +936 -0
  220. package/node_modules/@try-works/tool-mode-recipes/lib/dsh-adapter.d.ts +237 -0
  221. package/node_modules/@try-works/tool-mode-recipes/lib/dsh-adapter.d.ts.map +1 -0
  222. package/node_modules/@try-works/tool-mode-recipes/lib/dsh-adapter.js +200 -0
  223. package/node_modules/@try-works/tool-mode-recipes/lib/fixture-provider.d.ts +85 -0
  224. package/node_modules/@try-works/tool-mode-recipes/lib/fixture-provider.d.ts.map +1 -0
  225. package/node_modules/@try-works/tool-mode-recipes/lib/fixture-provider.js +176 -0
  226. package/node_modules/@try-works/tool-mode-recipes/lib/images.d.ts +105 -0
  227. package/node_modules/@try-works/tool-mode-recipes/lib/images.d.ts.map +1 -0
  228. package/node_modules/@try-works/tool-mode-recipes/lib/images.js +129 -0
  229. package/node_modules/@try-works/tool-mode-recipes/lib/index.d.ts +25 -0
  230. package/node_modules/@try-works/tool-mode-recipes/lib/index.d.ts.map +1 -0
  231. package/node_modules/@try-works/tool-mode-recipes/lib/index.js +25 -0
  232. package/node_modules/@try-works/tool-mode-recipes/lib/recipe-format.d.ts +325 -0
  233. package/node_modules/@try-works/tool-mode-recipes/lib/recipe-format.d.ts.map +1 -0
  234. package/node_modules/@try-works/tool-mode-recipes/lib/recipe-format.js +1310 -0
  235. package/node_modules/@try-works/tool-mode-recipes/lib/templates.d.ts +51 -0
  236. package/node_modules/@try-works/tool-mode-recipes/lib/templates.d.ts.map +1 -0
  237. package/node_modules/@try-works/tool-mode-recipes/lib/templates.js +310 -0
  238. package/node_modules/@try-works/tool-mode-recipes/lib/titles.d.ts +227 -0
  239. package/node_modules/@try-works/tool-mode-recipes/lib/titles.d.ts.map +1 -0
  240. package/node_modules/@try-works/tool-mode-recipes/lib/titles.js +407 -0
  241. package/node_modules/@try-works/tool-mode-recipes/package.json +56 -0
  242. package/node_modules/@try-works/tool-mode-recipes/recipes/describe-image.json +38 -0
  243. package/node_modules/@try-works/tool-mode-recipes/recipes/text-title.json +45 -0
  244. package/node_modules/@try-works/tool-mode-recipes/schema/harness-model-recipe.schema.json +273 -0
  245. package/package.json +43 -15
  246. package/remote/spec.mjs +439 -0
  247. package/remote/typert.host.mjs +14 -0
  248. package/remote/typert.remote-client.mjs +16 -0
  249. package/lib/adapters/tongue.d.ts +0 -31
  250. package/lib/adapters/tongue.d.ts.map +0 -1
  251. package/lib/adapters/tongue.js +0 -93
  252. package/lib/adapters/voz.d.ts +0 -28
  253. package/lib/adapters/voz.d.ts.map +0 -1
  254. package/lib/adapters/voz.js +0 -102
  255. /package/{lib → node_modules/@try-works/tool-mode-extension-sdk/lib}/licensing.d.ts +0 -0
  256. /package/{lib → node_modules/@try-works/tool-mode-extension-sdk/lib}/licensing.d.ts.map +0 -0
  257. /package/{lib → node_modules/@try-works/tool-mode-extension-sdk/lib}/licensing.js +0 -0
@@ -0,0 +1,445 @@
1
+ /**
2
+ * The remaining standard tool contracts (EXT-21, task-69).
3
+ *
4
+ * These descriptors are SCHEMAS AND SEMANTICS ONLY — no model bindings, no
5
+ * weights, no host code (EXT-17). Each is a closed schema with honest
6
+ * `semantics`, `limits` and `unsupported` records, matching the vocabulary the
7
+ * host registers and the extension packages implement against.
8
+ *
9
+ * @module @try-works/tool-mode-contracts/contracts/standard
10
+ */
11
+ import { withMeta } from "../meta.js";
12
+ /** The `text.title` contract at version 1.0.0 (RCP-12). */
13
+ export const textTitle = {
14
+ contract: 'text.title',
15
+ version: '1.0.0',
16
+ toolName: 'text_title',
17
+ description: 'Propose a bounded title and one-sentence description for supplied text through an authorized harness model.',
18
+ inputSchema: {
19
+ type: 'object',
20
+ additionalProperties: false,
21
+ required: ['text'],
22
+ properties: {
23
+ text: { type: 'string', minLength: 1, maxLength: 32768 },
24
+ kind: { type: 'string', enum: ['section', 'page', 'document'], default: 'section' },
25
+ repairFeedback: { type: 'string', minLength: 1, maxLength: 512 },
26
+ },
27
+ },
28
+ outputSchema: withMeta({
29
+ title: { type: 'string', minLength: 1, maxLength: 80 },
30
+ description: { type: 'string', minLength: 1, maxLength: 240 },
31
+ }, ['title', 'description']),
32
+ semantics: {
33
+ scoreKind: 'none',
34
+ calibrated: false,
35
+ emptyInputMeaning: 'binding-error',
36
+ appliesTo: 'written-text-only',
37
+ },
38
+ limits: {
39
+ maxInputCharacters: 32768,
40
+ maxTitleCharacters: 80,
41
+ maxDescriptionCharacters: 240,
42
+ maxRepairs: 1,
43
+ },
44
+ unsupported: [
45
+ 'Invented facts: the title must state only what the text supports.',
46
+ 'Empty titles and descriptions.',
47
+ ],
48
+ };
49
+ /** The `image.describe` contract at version 1.0.0 (HLM-12). */
50
+ export const imageDescribe = {
51
+ contract: 'image.describe',
52
+ version: '1.0.0',
53
+ toolName: 'describe_image',
54
+ description: 'Describe the visible content of an approved image through an authorized harness model, with honest uncertainty.',
55
+ inputSchema: {
56
+ type: 'object',
57
+ additionalProperties: false,
58
+ required: ['image_path'],
59
+ properties: {
60
+ image_path: { type: 'string', minLength: 1, description: 'An approved image resolved by the host.' },
61
+ focus: { type: 'string', minLength: 1, maxLength: 500 },
62
+ },
63
+ },
64
+ outputSchema: withMeta({
65
+ description: { type: 'string', minLength: 1 },
66
+ }, ['description']),
67
+ semantics: {
68
+ scoreKind: 'none',
69
+ calibrated: false,
70
+ emptyInputMeaning: 'binding-error',
71
+ appliesTo: 'visible-image-content',
72
+ },
73
+ limits: {
74
+ maxImages: 1,
75
+ maxFocusCharacters: 500,
76
+ },
77
+ unsupported: [
78
+ 'Invented hidden facts, exact OCR or full transcription claims.',
79
+ 'Treating text drawn in the image as instructions.',
80
+ ],
81
+ };
82
+ /** The `embed.multimodal` contract at version 1.0.0 (EmbeddingGemma family). */
83
+ export const multimodalEmbed = {
84
+ contract: 'embed.multimodal',
85
+ version: '1.0.0',
86
+ toolName: 'multimodal_embed',
87
+ description: 'Embed a text, image or audio input into a shared vector space.',
88
+ inputSchema: {
89
+ type: 'object',
90
+ additionalProperties: false,
91
+ required: ['input'],
92
+ properties: {
93
+ input: {
94
+ type: 'object',
95
+ additionalProperties: false,
96
+ required: ['kind'],
97
+ properties: {
98
+ kind: { type: 'string', enum: ['text', 'image', 'audio'] },
99
+ text: { type: 'string', minLength: 1, maxLength: 32768 },
100
+ media: { type: 'string', description: 'An approved media reference resolved by the host.' },
101
+ },
102
+ },
103
+ },
104
+ },
105
+ outputSchema: withMeta({
106
+ embedding: { type: 'array', items: { type: 'number' }, minItems: 1 },
107
+ dimensions: { type: 'integer', minimum: 1 },
108
+ }, ['embedding', 'dimensions']),
109
+ semantics: {
110
+ scoreKind: 'none',
111
+ calibrated: false,
112
+ emptyInputMeaning: 'binding-error',
113
+ appliesTo: 'text-image-audio',
114
+ },
115
+ limits: {
116
+ maxInputCharacters: 32768,
117
+ maxMediaBytes: 8388608,
118
+ },
119
+ unsupported: ['Video frames beyond the declared sampler.'],
120
+ };
121
+ /** The `semantic.similarity` contract at version 1.0.0. */
122
+ export const semanticSimilarity = {
123
+ contract: 'semantic.similarity',
124
+ version: '1.0.0',
125
+ toolName: 'semantic_similarity',
126
+ description: 'Score the similarity of two bounded texts.',
127
+ inputSchema: {
128
+ type: 'object',
129
+ additionalProperties: false,
130
+ required: ['left', 'right'],
131
+ properties: {
132
+ left: { type: 'string', minLength: 1, maxLength: 32768 },
133
+ right: { type: 'string', minLength: 1, maxLength: 32768 },
134
+ },
135
+ },
136
+ outputSchema: withMeta({ score: { type: 'number' } }, ['score']),
137
+ semantics: {
138
+ scoreKind: 'cosine-similarity',
139
+ calibrated: false,
140
+ emptyInputMeaning: 'binding-error',
141
+ appliesTo: 'written-text-only',
142
+ },
143
+ limits: { maxInputCharacters: 32768 },
144
+ unsupported: ['Calibrated probabilities.'],
145
+ };
146
+ /** The `semantic.rank` contract at version 1.0.0. */
147
+ export const semanticRank = {
148
+ contract: 'semantic.rank',
149
+ version: '1.0.0',
150
+ toolName: 'semantic_rank',
151
+ description: 'Rank candidates by semantic distance to a query.',
152
+ inputSchema: {
153
+ type: 'object',
154
+ additionalProperties: false,
155
+ required: ['query', 'candidates'],
156
+ properties: {
157
+ query: { type: 'string', minLength: 1, maxLength: 4096 },
158
+ candidates: {
159
+ type: 'array', minItems: 1, maxItems: 100,
160
+ items: { type: 'string', minLength: 1, maxLength: 8192 },
161
+ },
162
+ },
163
+ },
164
+ outputSchema: withMeta({
165
+ ranked: {
166
+ type: 'array',
167
+ items: {
168
+ type: 'object',
169
+ additionalProperties: false,
170
+ required: ['index', 'score'],
171
+ properties: { index: { type: 'integer', minimum: 0 }, score: { type: 'number' } },
172
+ },
173
+ },
174
+ }, ['ranked']),
175
+ semantics: {
176
+ scoreKind: 'cosine-similarity',
177
+ calibrated: false,
178
+ emptyInputMeaning: 'binding-error',
179
+ appliesTo: 'written-text-only',
180
+ },
181
+ limits: { maxCandidates: 100 },
182
+ unsupported: ['Calibrated probabilities.'],
183
+ };
184
+ /** The `semantic.classify` contract at version 1.0.0. */
185
+ export const semanticClassify = {
186
+ contract: 'semantic.classify',
187
+ version: '1.0.0',
188
+ toolName: 'semantic_classify',
189
+ description: 'Classify a text into the closest of the supplied labels, with the ability to abstain.',
190
+ inputSchema: {
191
+ type: 'object',
192
+ additionalProperties: false,
193
+ required: ['text', 'labels'],
194
+ properties: {
195
+ text: { type: 'string', minLength: 1, maxLength: 32768 },
196
+ labels: { type: 'array', minItems: 1, maxItems: 64, items: { type: 'string', minLength: 1, maxLength: 200 } },
197
+ },
198
+ },
199
+ outputSchema: withMeta({
200
+ label: { type: ['string', 'null'] },
201
+ abstained: { type: 'boolean' },
202
+ scores: { type: 'array', items: { type: 'number' } },
203
+ }, ['label', 'abstained', 'scores']),
204
+ semantics: {
205
+ scoreKind: 'cosine-similarity',
206
+ calibrated: false,
207
+ emptyInputMeaning: 'binding-error',
208
+ appliesTo: 'written-text-only',
209
+ },
210
+ limits: { maxLabels: 64 },
211
+ unsupported: ['Forcing a label when every score is below the abstain margin.'],
212
+ };
213
+ /** The `semantic.deduplicate` contract at version 1.0.0. */
214
+ export const semanticDeduplicate = {
215
+ contract: 'semantic.deduplicate',
216
+ version: '1.0.0',
217
+ toolName: 'semantic_deduplicate',
218
+ description: 'Group near-duplicate texts into greedy clusters around their representatives.',
219
+ inputSchema: {
220
+ type: 'object',
221
+ additionalProperties: false,
222
+ required: ['texts'],
223
+ properties: {
224
+ texts: { type: 'array', minItems: 1, maxItems: 1000, items: { type: 'string', minLength: 1, maxLength: 8192 } },
225
+ },
226
+ },
227
+ outputSchema: withMeta({
228
+ groups: {
229
+ type: 'array',
230
+ items: {
231
+ type: 'object',
232
+ additionalProperties: false,
233
+ required: ['members'],
234
+ properties: { members: { type: 'array', items: { type: 'integer', minimum: 0 } } },
235
+ },
236
+ },
237
+ }, ['groups']),
238
+ semantics: {
239
+ scoreKind: 'cosine-similarity',
240
+ calibrated: false,
241
+ emptyInputMeaning: 'binding-error',
242
+ appliesTo: 'written-text-only',
243
+ },
244
+ limits: { maxTexts: 1000 },
245
+ unsupported: ['Transitive-closure equivalence: clustering is greedy, not global.'],
246
+ };
247
+ /** The `media.find_moments` contract at version 1.0.0. */
248
+ export const mediaFindMoments = {
249
+ contract: 'media.find_moments',
250
+ version: '1.0.0',
251
+ toolName: 'media_find_moments',
252
+ description: 'Find the media windows most relevant to a query within approved media.',
253
+ inputSchema: {
254
+ type: 'object',
255
+ additionalProperties: false,
256
+ required: ['media', 'query'],
257
+ properties: {
258
+ media: { type: 'string', description: 'An approved media reference resolved by the host.' },
259
+ query: { type: 'string', minLength: 1, maxLength: 4096 },
260
+ },
261
+ },
262
+ outputSchema: withMeta({
263
+ windows: {
264
+ type: 'array',
265
+ items: {
266
+ type: 'object',
267
+ additionalProperties: false,
268
+ required: ['startMs', 'endMs', 'score'],
269
+ properties: {
270
+ startMs: { type: 'number', minimum: 0 },
271
+ endMs: { type: 'number', minimum: 0 },
272
+ score: { type: 'number' },
273
+ },
274
+ },
275
+ },
276
+ }, ['windows']),
277
+ semantics: {
278
+ scoreKind: 'cosine-similarity',
279
+ calibrated: false,
280
+ emptyInputMeaning: 'binding-error',
281
+ appliesTo: 'approved-media',
282
+ },
283
+ limits: { maxWindows: 32, maxQueryCharacters: 4096 },
284
+ unsupported: ['Windows outside the approved media bounds.'],
285
+ };
286
+ /** The `decision.choose` contract at version 1.0.0 (Laya family). */
287
+ export const decisionChoose = {
288
+ contract: 'decision.choose',
289
+ version: '1.0.0',
290
+ toolName: 'decision_choose',
291
+ description: 'Choose one option from a bounded set for a stated decision, with a confidence verdict.',
292
+ inputSchema: {
293
+ type: 'object',
294
+ additionalProperties: false,
295
+ required: ['decision', 'options'],
296
+ properties: {
297
+ decision: { type: 'string', minLength: 1, maxLength: 4096 },
298
+ options: { type: 'array', minItems: 2, maxItems: 16, items: { type: 'string', minLength: 1, maxLength: 400 } },
299
+ },
300
+ },
301
+ outputSchema: withMeta({
302
+ chosen: { type: 'integer', minimum: 0 },
303
+ confidence: { type: 'string', enum: ['confident', 'likely', 'tentative'] },
304
+ reason: { type: 'string', minLength: 1 },
305
+ }, ['chosen', 'confidence', 'reason']),
306
+ semantics: {
307
+ scoreKind: 'vendor-reported-confidence',
308
+ calibrated: false,
309
+ emptyInputMeaning: 'binding-error',
310
+ appliesTo: 'stated-decision',
311
+ },
312
+ limits: { maxOptions: 16 },
313
+ unsupported: ['Open-ended generation: this contract chooses, it does not compose.'],
314
+ };
315
+ /** The `decision.test` contract at version 1.0.0. */
316
+ export const decisionTest = {
317
+ contract: 'decision.test',
318
+ version: '1.0.0',
319
+ toolName: 'decision_test',
320
+ description: 'Test a binary predicate against supplied text and report the verdict with evidence.',
321
+ inputSchema: {
322
+ type: 'object',
323
+ additionalProperties: false,
324
+ required: ['text', 'predicate'],
325
+ properties: {
326
+ text: { type: 'string', minLength: 1, maxLength: 32768 },
327
+ predicate: { type: 'string', minLength: 1, maxLength: 1000 },
328
+ },
329
+ },
330
+ outputSchema: withMeta({
331
+ verdict: { type: 'boolean' },
332
+ confidence: { type: 'string', enum: ['confident', 'likely', 'tentative'] },
333
+ evidence: { type: 'string', minLength: 1 },
334
+ }, ['verdict', 'confidence', 'evidence']),
335
+ semantics: {
336
+ scoreKind: 'vendor-reported-confidence',
337
+ calibrated: false,
338
+ emptyInputMeaning: 'binding-error',
339
+ appliesTo: 'written-text-only',
340
+ },
341
+ limits: { maxInputCharacters: 32768 },
342
+ unsupported: ['Testing predicates about content outside the supplied text.'],
343
+ };
344
+ /** The `decision.score` contract at version 1.0.0. */
345
+ export const decisionScore = {
346
+ contract: 'decision.score',
347
+ version: '1.0.0',
348
+ toolName: 'decision_score',
349
+ description: 'Score supplied options against one criterion on a declared bounded scale.',
350
+ inputSchema: {
351
+ type: 'object',
352
+ additionalProperties: false,
353
+ required: ['criterion', 'options'],
354
+ properties: {
355
+ criterion: { type: 'string', minLength: 1, maxLength: 2000 },
356
+ options: { type: 'array', minItems: 1, maxItems: 16, items: { type: 'string', minLength: 1, maxLength: 400 } },
357
+ },
358
+ },
359
+ outputSchema: withMeta({
360
+ scores: {
361
+ type: 'array',
362
+ items: {
363
+ type: 'object',
364
+ additionalProperties: false,
365
+ required: ['index', 'score'],
366
+ properties: { index: { type: 'integer', minimum: 0 }, score: { type: 'number', minimum: 0, maximum: 10 } },
367
+ },
368
+ },
369
+ }, ['scores']),
370
+ semantics: {
371
+ scoreKind: 'bounded-scale-0-10',
372
+ calibrated: false,
373
+ emptyInputMeaning: 'binding-error',
374
+ appliesTo: 'stated-criterion',
375
+ },
376
+ limits: { maxOptions: 16 },
377
+ unsupported: ['Scores outside the declared 0-10 scale.'],
378
+ };
379
+ /** The `structured.extract` contract at version 1.0.0 (Needle family). */
380
+ export const structuredExtract = {
381
+ contract: 'structured.extract',
382
+ version: '1.0.0',
383
+ toolName: 'structured_extract',
384
+ description: 'Extract typed fields from supplied text against the caller-declared, host-approved schema snapshot.',
385
+ inputSchema: {
386
+ type: 'object',
387
+ additionalProperties: false,
388
+ required: ['text', 'schema'],
389
+ properties: {
390
+ text: { type: 'string', minLength: 1, maxLength: 32768 },
391
+ schema: { type: 'object', description: 'The host-approved extraction schema snapshot (NDL-02).' },
392
+ },
393
+ },
394
+ outputSchema: withMeta({
395
+ extracted: { type: 'object', description: 'The typed extraction payload.' },
396
+ }, ['extracted']),
397
+ semantics: {
398
+ scoreKind: 'none',
399
+ calibrated: false,
400
+ emptyInputMeaning: 'binding-error',
401
+ appliesTo: 'written-text-only',
402
+ },
403
+ limits: { maxInputCharacters: 32768 },
404
+ unsupported: ['Executing a caller-supplied schema that the host has not approved.'],
405
+ };
406
+ /** The `plan.tools` contract at version 1.0.0 (Needle family). */
407
+ export const toolsPlan = {
408
+ contract: 'plan.tools',
409
+ version: '1.0.0',
410
+ toolName: 'tools_plan',
411
+ description: 'Propose a read-only tool plan against the host-frozen authorized tool snapshot (NDL-02).',
412
+ inputSchema: {
413
+ type: 'object',
414
+ additionalProperties: false,
415
+ required: ['objective'],
416
+ properties: {
417
+ objective: { type: 'string', minLength: 1, maxLength: 4096 },
418
+ },
419
+ },
420
+ outputSchema: withMeta({
421
+ proposal: {
422
+ type: 'array',
423
+ items: {
424
+ type: 'object',
425
+ additionalProperties: false,
426
+ required: ['tool', 'arguments'],
427
+ properties: {
428
+ tool: { type: 'string', minLength: 1 },
429
+ arguments: { type: 'object' },
430
+ },
431
+ },
432
+ },
433
+ }, ['proposal']),
434
+ semantics: {
435
+ scoreKind: 'none',
436
+ calibrated: false,
437
+ emptyInputMeaning: 'binding-error',
438
+ appliesTo: 'proposal-only',
439
+ },
440
+ limits: { maxObjectiveCharacters: 4096 },
441
+ unsupported: [
442
+ 'Executing the proposal: this contract proposes; the host re-checks authorization before any dispatch (NDL-03).',
443
+ ],
444
+ };
445
+ //# sourceMappingURL=standard.js.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `text.embed` — the legacy MiniLM text-embedding contract (TOOL-04, BASE-12).
3
+ *
4
+ * Model-free: any conforming implementation binds to it. This is the 384-
5
+ * dimensional MiniLM space, PRESERVED separately from the EmbeddingGemma 2
6
+ * 768-dimensional space — the two must never be mixed, and a stored 384-d
7
+ * index must never be quietly fed 768-wide vectors.
8
+ *
9
+ * @module @try-works/tool-mode-contracts/contracts/text-embed
10
+ */
11
+ import type { ToolContract } from '../registry.ts';
12
+ /** The `text.embed` contract at version 1.0.0. */
13
+ export declare const textEmbed: ToolContract;
14
+ //# sourceMappingURL=text-embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-embed.d.ts","sourceRoot":"","sources":["../../src/contracts/text-embed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,kDAAkD;AAClD,eAAO,MAAM,SAAS,EAAE,YA0DvB,CAAA"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * `text.embed` — the legacy MiniLM text-embedding contract (TOOL-04, BASE-12).
3
+ *
4
+ * Model-free: any conforming implementation binds to it. This is the 384-
5
+ * dimensional MiniLM space, PRESERVED separately from the EmbeddingGemma 2
6
+ * 768-dimensional space — the two must never be mixed, and a stored 384-d
7
+ * index must never be quietly fed 768-wide vectors.
8
+ *
9
+ * @module @try-works/tool-mode-contracts/contracts/text-embed
10
+ */
11
+ import { withMeta } from "../meta.js";
12
+ /** The `text.embed` contract at version 1.0.0. */
13
+ export const textEmbed = {
14
+ contract: 'text.embed',
15
+ version: '1.0.0',
16
+ toolName: 'text_embed',
17
+ description: 'Embed a batch of texts into the legacy 384-dimensional MiniLM embedding space (mean pooling, '
18
+ + 'L2-normalized, input order preserved). This is a compatibility space: stored 384-d vectors and '
19
+ + 'indexes remain pinned to it, and switching to another model requires explicit re-embedding. '
20
+ + 'All values are finite; an empty or overlong batch is refused, never silently truncated.',
21
+ inputSchema: {
22
+ type: 'object',
23
+ additionalProperties: false,
24
+ required: ['texts'],
25
+ properties: {
26
+ texts: {
27
+ type: 'array',
28
+ minItems: 1,
29
+ maxItems: 32,
30
+ items: { type: 'string', minLength: 1, maxLength: 32768 },
31
+ description: 'The texts in the caller\'s order; that order is the embedding order (TOOL-04).',
32
+ },
33
+ },
34
+ },
35
+ outputSchema: withMeta({
36
+ embeddings: {
37
+ type: 'array',
38
+ items: {
39
+ type: 'array',
40
+ items: { type: 'number' },
41
+ description: 'One 384-dimensional L2-normalized vector per input text, in input order.',
42
+ },
43
+ },
44
+ dimensions: { const: 384 },
45
+ normalized: { const: true },
46
+ }, ['embeddings', 'dimensions', 'normalized']),
47
+ semantics: {
48
+ scoreKind: 'none',
49
+ calibrated: false,
50
+ emptyInputMeaning: 'binding-error',
51
+ appliesTo: 'written-text-only',
52
+ },
53
+ limits: {
54
+ maxTexts: 32,
55
+ maxInputCharacters: 32768,
56
+ dimensions: 384,
57
+ },
58
+ unsupported: [
59
+ 'Mixing 384-dimensional and 768-dimensional vectors in one index.',
60
+ 'Silently truncating an overlong batch.',
61
+ ],
62
+ };
63
+ //# sourceMappingURL=text-embed.js.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `text.rerank` — the cross-encoder reranking contract (TOOL-05).
3
+ *
4
+ * Model-free: any conforming implementation binds to it. The scores are
5
+ * RANKING LOGITS from a cross-encoder — not embedding cosines, and the two
6
+ * score kinds are never interchangeable (the semantic_rank tool's
7
+ * cosine_similarity is a different quantity).
8
+ *
9
+ * @module @try-works/tool-mode-contracts/contracts/text-rerank
10
+ */
11
+ import type { ToolContract } from '../registry.ts';
12
+ /** The `text.rerank` contract at version 1.0.0. */
13
+ export declare const textRerank: ToolContract;
14
+ //# sourceMappingURL=text-rerank.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-rerank.d.ts","sourceRoot":"","sources":["../../src/contracts/text-rerank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,mDAAmD;AACnD,eAAO,MAAM,UAAU,EAAE,YAuExB,CAAA"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * `text.rerank` — the cross-encoder reranking contract (TOOL-05).
3
+ *
4
+ * Model-free: any conforming implementation binds to it. The scores are
5
+ * RANKING LOGITS from a cross-encoder — not embedding cosines, and the two
6
+ * score kinds are never interchangeable (the semantic_rank tool's
7
+ * cosine_similarity is a different quantity).
8
+ *
9
+ * @module @try-works/tool-mode-contracts/contracts/text-rerank
10
+ */
11
+ import { withMeta } from "../meta.js";
12
+ /** The `text.rerank` contract at version 1.0.0. */
13
+ export const textRerank = {
14
+ contract: 'text.rerank',
15
+ version: '1.0.0',
16
+ toolName: 'text_rerank',
17
+ description: 'Score query/document pairs with a cross-encoder and return the caller\'s own ids in descending '
18
+ + 'ranking-logit order with exact ties broken by input order. The scores are cross-encoder '
19
+ + 'logits (scoreKind "ranking_logit"), NOT embedding cosines: the two are not interchangeable. '
20
+ + 'A positive top_k within the candidate count is required when supplied.',
21
+ inputSchema: {
22
+ type: 'object',
23
+ additionalProperties: false,
24
+ required: ['query', 'documents'],
25
+ properties: {
26
+ query: { type: 'string', minLength: 1, maxLength: 32768 },
27
+ documents: {
28
+ type: 'array',
29
+ minItems: 1,
30
+ maxItems: 256,
31
+ items: {
32
+ type: 'object',
33
+ additionalProperties: false,
34
+ required: ['id', 'text'],
35
+ properties: {
36
+ id: { type: 'string', minLength: 1, maxLength: 128 },
37
+ text: { type: 'string', minLength: 1, maxLength: 32768 },
38
+ },
39
+ },
40
+ description: 'The documents in the caller\'s order; that order breaks exact score ties (TOOL-05).',
41
+ },
42
+ top_k: { type: 'integer', minimum: 1, maximum: 256 },
43
+ },
44
+ },
45
+ outputSchema: withMeta({
46
+ results: {
47
+ type: 'array',
48
+ items: {
49
+ type: 'object',
50
+ additionalProperties: false,
51
+ required: ['id', 'score'],
52
+ properties: {
53
+ id: { type: 'string' },
54
+ score: { type: 'number' },
55
+ },
56
+ },
57
+ },
58
+ scoreKind: { const: 'ranking_logit' },
59
+ }, ['results', 'scoreKind']),
60
+ semantics: {
61
+ scoreKind: 'ranking-logit',
62
+ calibrated: false,
63
+ emptyInputMeaning: 'binding-error',
64
+ appliesTo: 'written-text-only',
65
+ },
66
+ limits: {
67
+ maxDocuments: 256,
68
+ maxInputCharacters: 32768,
69
+ maxTopK: 256,
70
+ },
71
+ unsupported: [
72
+ 'Treating ranking logits as embedding cosines.',
73
+ 'Negative or zero top_k when supplied.',
74
+ ],
75
+ };
76
+ //# sourceMappingURL=text-rerank.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dsh.d.ts","sourceRoot":"","sources":["../src/dsh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,wEAAwE;AACxE,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AAEhE,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAEvD,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAA;IAClC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5C;AAED,6EAA6E;AAC7E,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAkB,IAAI,qBAAoB;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;gBAC3B,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE;CAO7D;AAyFD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,aAAa,CAuBlE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,aAAa,CAErE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;AAElF,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc,EAAE,CAqCxE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,aAAa,CAsB3F"}
1
+ {"version":3,"file":"dsh.d.ts","sourceRoot":"","sources":["../src/dsh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,wEAAwE;AACxE,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AAEhE,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAEvD,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAA;IAClC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5C;AAED,6EAA6E;AAC7E,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAkB,IAAI,qBAAoB;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;gBAC3B,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE;CAO7D;AAuHD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,aAAa,CAuBlE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,aAAa,CAErE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;AAElF,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc,EAAE,CAqCxE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,aAAa,CAiB3F"}