@abot-ai/runtime 1.0.0 → 1.1.0

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 (549) hide show
  1. package/README.md +17 -3
  2. package/dist/scripts/add-runtime-model.js +4 -0
  3. package/dist/scripts/configure-long-term-memory.d.ts +6 -0
  4. package/dist/scripts/configure-long-term-memory.js +139 -0
  5. package/dist/scripts/init-runtime.js +11 -1
  6. package/dist/scripts/runtime-setup-files.d.ts +1 -0
  7. package/dist/scripts/runtime-setup-files.js +4 -0
  8. package/dist/src/capabilities/normal-invocation/contracts.d.ts +1 -0
  9. package/dist/src/capabilities/normal-invocation/validator.d.ts +5 -0
  10. package/dist/src/capabilities/normal-invocation/validator.js +35 -2
  11. package/dist/src/capabilities/tool-definition-validator/definition-fields.d.ts +7 -0
  12. package/dist/src/capabilities/tool-definition-validator/definition-fields.js +156 -0
  13. package/dist/src/capabilities/tool-definition-validator/definition-parser.d.ts +2 -0
  14. package/dist/src/capabilities/tool-definition-validator/definition-parser.js +76 -0
  15. package/dist/src/capabilities/tool-definition-validator/definition-shape.d.ts +7 -0
  16. package/dist/src/capabilities/tool-definition-validator/definition-shape.js +34 -0
  17. package/dist/src/capabilities/tool-definition-validator/event-presentation.d.ts +2 -0
  18. package/dist/src/capabilities/tool-definition-validator/event-presentation.js +97 -0
  19. package/dist/src/capabilities/tool-definition-validator/module-registry.d.ts +3 -0
  20. package/dist/src/capabilities/tool-definition-validator/module-registry.js +99 -0
  21. package/dist/src/capabilities/tool-definition-validator/payload-channel-spec.d.ts +2 -0
  22. package/dist/src/capabilities/tool-definition-validator/payload-channel-spec.js +190 -0
  23. package/dist/src/capabilities/tool-definition-validator/payload-channel-stage.d.ts +11 -0
  24. package/dist/src/capabilities/tool-definition-validator/payload-channel-stage.js +155 -0
  25. package/dist/src/capabilities/tool-definition-validator/payload-stage-conditions.d.ts +24 -0
  26. package/dist/src/capabilities/tool-definition-validator/payload-stage-conditions.js +193 -0
  27. package/dist/src/capabilities/tool-definition-validator.d.ts +2 -4
  28. package/dist/src/capabilities/tool-definition-validator.js +2 -776
  29. package/dist/src/cli/abot.js +11 -2
  30. package/dist/src/model-gateway/client/embeddings.d.ts +3 -0
  31. package/dist/src/model-gateway/client/embeddings.js +48 -0
  32. package/dist/src/model-gateway/client.d.ts +3 -1
  33. package/dist/src/model-gateway/client.js +5 -0
  34. package/dist/src/model-gateway/embeddings/constants.d.ts +1 -0
  35. package/dist/src/model-gateway/embeddings/constants.js +1 -0
  36. package/dist/src/model-gateway/embeddings/discovery.d.ts +10 -0
  37. package/dist/src/model-gateway/embeddings/discovery.js +39 -0
  38. package/dist/src/model-gateway/embeddings/execution.d.ts +16 -0
  39. package/dist/src/model-gateway/embeddings/execution.js +64 -0
  40. package/dist/src/model-gateway/embeddings/fingerprint.d.ts +3 -0
  41. package/dist/src/model-gateway/embeddings/fingerprint.js +36 -0
  42. package/dist/src/model-gateway/embeddings/profile.d.ts +11 -0
  43. package/dist/src/model-gateway/embeddings/profile.js +37 -0
  44. package/dist/src/model-gateway/embeddings/server-handler.d.ts +3 -0
  45. package/dist/src/model-gateway/embeddings/server-handler.js +89 -0
  46. package/dist/src/model-gateway/embeddings/validation.d.ts +7 -0
  47. package/dist/src/model-gateway/embeddings/validation.js +69 -0
  48. package/dist/src/model-gateway/index.d.ts +5 -3
  49. package/dist/src/model-gateway/index.js +3 -1
  50. package/dist/src/model-gateway/providers/contracts.d.ts +27 -1
  51. package/dist/src/model-gateway/providers/ollama/adapter.js +4 -0
  52. package/dist/src/model-gateway/providers/ollama/base-url.d.ts +1 -0
  53. package/dist/src/model-gateway/providers/ollama/base-url.js +4 -0
  54. package/dist/src/model-gateway/providers/ollama/embedding-models.d.ts +2 -0
  55. package/dist/src/model-gateway/providers/ollama/embedding-models.js +31 -0
  56. package/dist/src/model-gateway/providers/ollama/embeddings.d.ts +2 -0
  57. package/dist/src/model-gateway/providers/ollama/embeddings.js +43 -0
  58. package/dist/src/model-gateway/providers/ollama/request-diagnostics.js +2 -1
  59. package/dist/src/model-gateway/providers/openai/adapter.js +2 -0
  60. package/dist/src/model-gateway/providers/openai/embeddings.d.ts +2 -0
  61. package/dist/src/model-gateway/providers/openai/embeddings.js +87 -0
  62. package/dist/src/model-gateway/providers/openai/payload.js +5 -8
  63. package/dist/src/model-gateway/server/contracts.d.ts +5 -3
  64. package/dist/src/model-gateway/server/create-server.js +9 -0
  65. package/dist/src/model-gateway/server/errors.js +34 -0
  66. package/dist/src/model-gateway/server/index.d.ts +2 -0
  67. package/dist/src/model-gateway/server/index.js +2 -0
  68. package/dist/src/model-gateway/server/provider-fetch.d.ts +5 -3
  69. package/dist/src/model-gateway/server/provider-fetch.js +3 -1
  70. package/dist/src/model-gateway/server/request-body.d.ts +1 -1
  71. package/dist/src/model-gateway/types.d.ts +39 -0
  72. package/dist/src/plugin-contract/manifest.d.ts +1 -0
  73. package/dist/src/runtime/adapters/index.d.ts +4 -0
  74. package/dist/src/runtime/adapters/index.js +4 -0
  75. package/dist/src/runtime/adapters/long-term-memory/file-lock/acquisition.d.ts +2 -0
  76. package/dist/src/runtime/adapters/long-term-memory/file-lock/acquisition.js +77 -0
  77. package/dist/src/runtime/adapters/long-term-memory/file-lock/cleanup.d.ts +4 -0
  78. package/dist/src/runtime/adapters/long-term-memory/file-lock/cleanup.js +52 -0
  79. package/dist/src/runtime/adapters/long-term-memory/file-lock/contracts.d.ts +31 -0
  80. package/dist/src/runtime/adapters/long-term-memory/file-lock/contracts.js +17 -0
  81. package/dist/src/runtime/adapters/long-term-memory/file-lock/install.d.ts +1 -0
  82. package/dist/src/runtime/adapters/long-term-memory/file-lock/install.js +36 -0
  83. package/dist/src/runtime/adapters/long-term-memory/file-lock/owner-record.d.ts +2 -0
  84. package/dist/src/runtime/adapters/long-term-memory/file-lock/owner-record.js +114 -0
  85. package/dist/src/runtime/adapters/long-term-memory/file-lock/snapshot.d.ts +2 -0
  86. package/dist/src/runtime/adapters/long-term-memory/file-lock/snapshot.js +103 -0
  87. package/dist/src/runtime/adapters/long-term-memory/file-lock.d.ts +2 -0
  88. package/dist/src/runtime/adapters/long-term-memory/file-lock.js +10 -0
  89. package/dist/src/runtime/adapters/long-term-memory/file-repository.d.ts +2 -0
  90. package/dist/src/runtime/adapters/long-term-memory/file-repository.js +57 -0
  91. package/dist/src/runtime/adapters/long-term-memory/in-memory-repository.d.ts +2 -0
  92. package/dist/src/runtime/adapters/long-term-memory/in-memory-repository.js +21 -0
  93. package/dist/src/runtime/adapters/long-term-memory/onboarding-config-repository.d.ts +5 -0
  94. package/dist/src/runtime/adapters/long-term-memory/onboarding-config-repository.js +60 -0
  95. package/dist/src/runtime/adapters/long-term-memory/onboarding-service.d.ts +8 -0
  96. package/dist/src/runtime/adapters/long-term-memory/onboarding-service.js +34 -0
  97. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/run.d.ts +7 -1
  98. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/run.js +54 -25
  99. package/dist/src/runtime/adapters/registered-tool-normal-invocations/executor.js +18 -4
  100. package/dist/src/runtime/adapters/registered-tool-normal-invocations/payload/lifecycle.d.ts +6 -1
  101. package/dist/src/runtime/adapters/registered-tool-normal-invocations/payload/lifecycle.js +25 -12
  102. package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/action-fingerprint.d.ts +22 -0
  103. package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/action-fingerprint.js +65 -0
  104. package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/contracts.d.ts +44 -0
  105. package/dist/src/runtime/adapters/registered-tool-normal-invocations.d.ts +1 -1
  106. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/catalog.js +14 -4
  107. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/execution.js +218 -87
  108. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/failure-outcome-fingerprint.d.ts +7 -0
  109. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/failure-outcome-fingerprint.js +84 -0
  110. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-lifecycle.d.ts +5 -4
  111. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-lifecycle.js +7 -1
  112. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-observability.d.ts +35 -0
  113. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-observability.js +32 -0
  114. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-rejection.d.ts +3 -3
  115. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-rejection.js +13 -8
  116. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-stages.d.ts +5 -4
  117. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-stages.js +4 -2
  118. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/result-observer.js +12 -4
  119. package/dist/src/runtime/composition.d.ts +3 -0
  120. package/dist/src/runtime/composition.js +5 -2
  121. package/dist/src/runtime/config/builders.js +34 -1
  122. package/dist/src/runtime/config/effective-model-config-validation.js +9 -0
  123. package/dist/src/runtime/config/embedding-profiles.d.ts +5 -0
  124. package/dist/src/runtime/config/embedding-profiles.js +66 -0
  125. package/dist/src/runtime/config/fields.js +22 -0
  126. package/dist/src/runtime/config/long-term-memory.d.ts +9 -0
  127. package/dist/src/runtime/config/long-term-memory.js +71 -0
  128. package/dist/src/runtime/config/runner/config-normalization.d.ts +16 -0
  129. package/dist/src/runtime/config/runner/config-normalization.js +109 -0
  130. package/dist/src/runtime/config/runner/loader.d.ts +1 -1
  131. package/dist/src/runtime/config/runner/loader.js +2 -69
  132. package/dist/src/runtime/config/runner/model-policy.js +3 -0
  133. package/dist/src/runtime/config/runner/schema-version.d.ts +14 -0
  134. package/dist/src/runtime/config/runner/schema-version.js +35 -0
  135. package/dist/src/runtime/config/runner/versioned-config.d.ts +2 -0
  136. package/dist/src/runtime/config/runner/versioned-config.js +51 -0
  137. package/dist/src/runtime/config/schema.js +36 -0
  138. package/dist/src/runtime/config/types.d.ts +1 -0
  139. package/dist/src/runtime/config/validation/environment-config-validation.d.ts +1 -0
  140. package/dist/src/runtime/config/validation/environment-config-validation.js +41 -0
  141. package/dist/src/runtime/config/validation/model-invocation-config-validation.d.ts +2 -0
  142. package/dist/src/runtime/config/validation/model-invocation-config-validation.js +64 -0
  143. package/dist/src/runtime/config/validation/model-invocation-override-validation.d.ts +2 -0
  144. package/dist/src/runtime/config/validation/model-invocation-override-validation.js +72 -0
  145. package/dist/src/runtime/config/validation/model-profile-validation.d.ts +4 -0
  146. package/dist/src/runtime/config/validation/model-profile-validation.js +87 -0
  147. package/dist/src/runtime/config/validation/model-registry-validation.d.ts +2 -0
  148. package/dist/src/runtime/config/validation/model-registry-validation.js +118 -0
  149. package/dist/src/runtime/config/validation/path-config-validation.d.ts +1 -0
  150. package/dist/src/runtime/config/validation/path-config-validation.js +7 -0
  151. package/dist/src/runtime/config/validation/runtime-config-field-validation.d.ts +12 -0
  152. package/dist/src/runtime/config/validation/runtime-config-field-validation.js +158 -0
  153. package/dist/src/runtime/config/validation/runtime-config-validation-contract.d.ts +9 -0
  154. package/dist/src/runtime/config/validation/runtime-config-validation-contract.js +13 -0
  155. package/dist/src/runtime/config/validation/runtime-root-section-validation.d.ts +6 -0
  156. package/dist/src/runtime/config/validation/runtime-root-section-validation.js +82 -0
  157. package/dist/src/runtime/config/validation/web-ui-config-validation.d.ts +3 -0
  158. package/dist/src/runtime/config/validation/web-ui-config-validation.js +26 -0
  159. package/dist/src/runtime/config/validation.d.ts +4 -15
  160. package/dist/src/runtime/config/validation.js +27 -499
  161. package/dist/src/runtime/config.js +3 -0
  162. package/dist/src/runtime/context/accepted-capability-action.d.ts +11 -0
  163. package/dist/src/runtime/context/accepted-capability-action.js +29 -0
  164. package/dist/src/runtime/context/model-step-compaction.js +6 -0
  165. package/dist/src/runtime/context/operation-supervision-evidence.d.ts +37 -0
  166. package/dist/src/runtime/context/operation-supervision-evidence.js +90 -0
  167. package/dist/src/runtime/context/request-tool-results.d.ts +3 -0
  168. package/dist/src/runtime/context/request-tool-results.js +11 -2
  169. package/dist/src/runtime/default-adapters.d.ts +3 -0
  170. package/dist/src/runtime/default-adapters.js +64 -3
  171. package/dist/src/runtime/index.d.ts +1 -0
  172. package/dist/src/runtime/index.js +1 -0
  173. package/dist/src/runtime/lifecycle/request-finalizer.d.ts +3 -0
  174. package/dist/src/runtime/lifecycle/request-finalizer.js +8 -0
  175. package/dist/src/runtime/long-term-memory/background-save-queue.d.ts +17 -0
  176. package/dist/src/runtime/long-term-memory/background-save-queue.js +66 -0
  177. package/dist/src/runtime/long-term-memory/candidate-persistence.d.ts +16 -0
  178. package/dist/src/runtime/long-term-memory/candidate-persistence.js +109 -0
  179. package/dist/src/runtime/long-term-memory/candidate-preparation.d.ts +8 -0
  180. package/dist/src/runtime/long-term-memory/candidate-preparation.js +36 -0
  181. package/dist/src/runtime/long-term-memory/candidate-processing.d.ts +9 -0
  182. package/dist/src/runtime/long-term-memory/candidate-processing.js +79 -0
  183. package/dist/src/runtime/long-term-memory/contracts.d.ts +108 -0
  184. package/dist/src/runtime/long-term-memory/contracts.js +1 -0
  185. package/dist/src/runtime/long-term-memory/diagnostics.d.ts +9 -0
  186. package/dist/src/runtime/long-term-memory/diagnostics.js +42 -0
  187. package/dist/src/runtime/long-term-memory/embedding-batches.d.ts +13 -0
  188. package/dist/src/runtime/long-term-memory/embedding-batches.js +87 -0
  189. package/dist/src/runtime/long-term-memory/events.d.ts +13 -0
  190. package/dist/src/runtime/long-term-memory/events.js +15 -0
  191. package/dist/src/runtime/long-term-memory/finalization.d.ts +8 -0
  192. package/dist/src/runtime/long-term-memory/finalization.js +24 -0
  193. package/dist/src/runtime/long-term-memory/index.d.ts +6 -0
  194. package/dist/src/runtime/long-term-memory/index.js +6 -0
  195. package/dist/src/runtime/long-term-memory/management/contracts.d.ts +54 -0
  196. package/dist/src/runtime/long-term-memory/management/contracts.js +1 -0
  197. package/dist/src/runtime/long-term-memory/management/errors.d.ts +10 -0
  198. package/dist/src/runtime/long-term-memory/management/errors.js +13 -0
  199. package/dist/src/runtime/long-term-memory/management/mutations.d.ts +17 -0
  200. package/dist/src/runtime/long-term-memory/management/mutations.js +178 -0
  201. package/dist/src/runtime/long-term-memory/management/queries.d.ts +8 -0
  202. package/dist/src/runtime/long-term-memory/management/queries.js +46 -0
  203. package/dist/src/runtime/long-term-memory/management/search.d.ts +7 -0
  204. package/dist/src/runtime/long-term-memory/management/search.js +18 -0
  205. package/dist/src/runtime/long-term-memory/management/service.d.ts +13 -0
  206. package/dist/src/runtime/long-term-memory/management/service.js +61 -0
  207. package/dist/src/runtime/long-term-memory/management/validation.d.ts +24 -0
  208. package/dist/src/runtime/long-term-memory/management/validation.js +77 -0
  209. package/dist/src/runtime/long-term-memory/onboarding/configuration.d.ts +14 -0
  210. package/dist/src/runtime/long-term-memory/onboarding/configuration.js +92 -0
  211. package/dist/src/runtime/long-term-memory/onboarding/contracts.d.ts +52 -0
  212. package/dist/src/runtime/long-term-memory/onboarding/contracts.js +1 -0
  213. package/dist/src/runtime/long-term-memory/onboarding/service.d.ts +21 -0
  214. package/dist/src/runtime/long-term-memory/onboarding/service.js +88 -0
  215. package/dist/src/runtime/long-term-memory/policies/normalization.d.ts +10 -0
  216. package/dist/src/runtime/long-term-memory/policies/normalization.js +45 -0
  217. package/dist/src/runtime/long-term-memory/policies/reconciliation.d.ts +20 -0
  218. package/dist/src/runtime/long-term-memory/policies/reconciliation.js +21 -0
  219. package/dist/src/runtime/long-term-memory/policies/scoring.d.ts +13 -0
  220. package/dist/src/runtime/long-term-memory/policies/scoring.js +55 -0
  221. package/dist/src/runtime/long-term-memory/policies/sensitive-data.d.ts +5 -0
  222. package/dist/src/runtime/long-term-memory/policies/sensitive-data.js +12 -0
  223. package/dist/src/runtime/long-term-memory/projection.d.ts +4 -0
  224. package/dist/src/runtime/long-term-memory/projection.js +39 -0
  225. package/dist/src/runtime/long-term-memory/ranked-search.d.ts +11 -0
  226. package/dist/src/runtime/long-term-memory/ranked-search.js +111 -0
  227. package/dist/src/runtime/long-term-memory/repository-state.d.ts +4 -0
  228. package/dist/src/runtime/long-term-memory/repository-state.js +131 -0
  229. package/dist/src/runtime/long-term-memory/response-context.d.ts +5 -0
  230. package/dist/src/runtime/long-term-memory/response-context.js +21 -0
  231. package/dist/src/runtime/long-term-memory/retrieval.d.ts +8 -0
  232. package/dist/src/runtime/long-term-memory/retrieval.js +73 -0
  233. package/dist/src/runtime/long-term-memory/service.d.ts +10 -0
  234. package/dist/src/runtime/long-term-memory/service.js +83 -0
  235. package/dist/src/runtime/orchestration/capability-adapters/index.d.ts +2 -0
  236. package/dist/src/runtime/orchestration/capability-adapters/index.js +2 -0
  237. package/dist/src/runtime/orchestration/final-response/authoring-contract.d.ts +10 -0
  238. package/dist/src/runtime/orchestration/final-response/authoring-contract.js +94 -0
  239. package/dist/src/runtime/orchestration/final-response/finalization.d.ts +1 -0
  240. package/dist/src/runtime/orchestration/final-response/finalization.js +1 -0
  241. package/dist/src/runtime/orchestration/final-response/format.d.ts +2 -0
  242. package/dist/src/runtime/orchestration/final-response/format.js +49 -0
  243. package/dist/src/runtime/orchestration/final-response/invoke.d.ts +16 -0
  244. package/dist/src/runtime/orchestration/final-response/invoke.js +24 -0
  245. package/dist/src/runtime/orchestration/role-calls/activation-budget.d.ts +14 -0
  246. package/dist/src/runtime/orchestration/role-calls/activation-budget.js +52 -0
  247. package/dist/src/runtime/orchestration/role-calls/candidate-validation.js +154 -0
  248. package/dist/src/runtime/orchestration/role-calls/capability-selection-reconsideration.js +1 -8
  249. package/dist/src/runtime/orchestration/role-calls/capability-selection-supervision-issuance.d.ts +17 -0
  250. package/dist/src/runtime/orchestration/role-calls/capability-selection-supervision-issuance.js +155 -0
  251. package/dist/src/runtime/orchestration/role-calls/capability-selection-supervision.d.ts +78 -0
  252. package/dist/src/runtime/orchestration/role-calls/capability-selection-supervision.js +339 -0
  253. package/dist/src/runtime/orchestration/role-calls/command-decoder.js +35 -10
  254. package/dist/src/runtime/orchestration/role-calls/command-dispatch/active-capability-caller.d.ts +6 -0
  255. package/dist/src/runtime/orchestration/role-calls/command-dispatch/active-capability-caller.js +15 -0
  256. package/dist/src/runtime/orchestration/role-calls/command-dispatch/call-frame-state.d.ts +3 -0
  257. package/dist/src/runtime/orchestration/role-calls/command-dispatch/call-frame-state.js +6 -0
  258. package/dist/src/runtime/orchestration/role-calls/command-dispatch/call-scope-transitions.d.ts +3 -0
  259. package/dist/src/runtime/orchestration/role-calls/command-dispatch/call-scope-transitions.js +86 -0
  260. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-batch-transitions.d.ts +3 -0
  261. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-batch-transitions.js +172 -0
  262. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-execution-state.d.ts +9 -0
  263. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-execution-state.js +28 -0
  264. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-execution-transitions.d.ts +3 -0
  265. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-execution-transitions.js +117 -0
  266. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-invocation.d.ts +4 -0
  267. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-invocation.js +16 -0
  268. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-selection-transition.d.ts +2 -0
  269. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-selection-transition.js +114 -0
  270. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-settlement.d.ts +6 -0
  271. package/dist/src/runtime/orchestration/role-calls/command-dispatch/capability-settlement.js +54 -0
  272. package/dist/src/runtime/orchestration/role-calls/command-dispatch/child-transitions.d.ts +3 -0
  273. package/dist/src/runtime/orchestration/role-calls/command-dispatch/child-transitions.js +206 -0
  274. package/dist/src/runtime/orchestration/role-calls/command-dispatch/operation-supervision-intervention.d.ts +13 -0
  275. package/dist/src/runtime/orchestration/role-calls/command-dispatch/operation-supervision-intervention.js +25 -0
  276. package/dist/src/runtime/orchestration/role-calls/command-dispatch/root-transitions.d.ts +3 -0
  277. package/dist/src/runtime/orchestration/role-calls/command-dispatch/root-transitions.js +70 -0
  278. package/dist/src/runtime/orchestration/role-calls/command-dispatch.d.ts +1 -1
  279. package/dist/src/runtime/orchestration/role-calls/command-dispatch.js +6 -580
  280. package/dist/src/runtime/orchestration/role-calls/contracts.d.ts +45 -5
  281. package/dist/src/runtime/orchestration/role-calls/contracts.js +2 -2
  282. package/dist/src/runtime/orchestration/role-calls/diagnostics.d.ts +4 -0
  283. package/dist/src/runtime/orchestration/role-calls/diagnostics.js +152 -1
  284. package/dist/src/runtime/orchestration/role-calls/index.d.ts +6 -0
  285. package/dist/src/runtime/orchestration/role-calls/index.js +6 -0
  286. package/dist/src/runtime/orchestration/role-calls/ledger.js +131 -7
  287. package/dist/src/runtime/orchestration/role-calls/operation-supervision-issuance.d.ts +11 -0
  288. package/dist/src/runtime/orchestration/role-calls/operation-supervision-issuance.js +66 -0
  289. package/dist/src/runtime/orchestration/role-calls/operation-supervision-projection.d.ts +16 -0
  290. package/dist/src/runtime/orchestration/role-calls/operation-supervision-projection.js +52 -0
  291. package/dist/src/runtime/orchestration/role-calls/operation-supervision-state-validation.d.ts +3 -0
  292. package/dist/src/runtime/orchestration/role-calls/operation-supervision-state-validation.js +151 -0
  293. package/dist/src/runtime/orchestration/role-calls/operation-supervision.d.ts +112 -0
  294. package/dist/src/runtime/orchestration/role-calls/operation-supervision.js +197 -0
  295. package/dist/src/runtime/orchestration/role-calls/reconsideration-cause.d.ts +26 -0
  296. package/dist/src/runtime/orchestration/role-calls/reconsideration-cause.js +127 -0
  297. package/dist/src/runtime/orchestration/role-calls/reducer-primitives.d.ts +1 -2
  298. package/dist/src/runtime/orchestration/role-calls/reducer-primitives.js +2 -12
  299. package/dist/src/runtime/orchestration/role-calls/reducer.js +19 -2
  300. package/dist/src/runtime/orchestration/role-calls/transactions.js +62 -5
  301. package/dist/src/runtime/orchestration/role-executors/activation/capability-continuation.d.ts +15 -0
  302. package/dist/src/runtime/orchestration/role-executors/activation/capability-continuation.js +73 -0
  303. package/dist/src/runtime/orchestration/role-executors/activation/loop.d.ts +0 -1
  304. package/dist/src/runtime/orchestration/role-executors/activation/loop.js +16 -54
  305. package/dist/src/runtime/orchestration/role-executors/activation/result-normalization.js +14 -0
  306. package/dist/src/runtime/orchestration/role-executors/activation/state-validation.d.ts +13 -1
  307. package/dist/src/runtime/orchestration/role-executors/activation/state-validation.js +137 -1
  308. package/dist/src/runtime/orchestration/role-executors/contracts.d.ts +7 -3
  309. package/dist/src/runtime/orchestration/role-executors/diagnostics.d.ts +2 -0
  310. package/dist/src/runtime/orchestration/role-executors/diagnostics.js +1 -6
  311. package/dist/src/runtime/orchestration/worker-capabilities/batch-selection.d.ts +10 -0
  312. package/dist/src/runtime/orchestration/worker-capabilities/batch-selection.js +8 -0
  313. package/dist/src/runtime/orchestration/worker-capabilities/binding/adapter-catalog.d.ts +14 -0
  314. package/dist/src/runtime/orchestration/worker-capabilities/binding/adapter-catalog.js +76 -0
  315. package/dist/src/runtime/orchestration/worker-capabilities/binding/adapter-normalization.d.ts +10 -0
  316. package/dist/src/runtime/orchestration/worker-capabilities/binding/adapter-normalization.js +160 -0
  317. package/dist/src/runtime/orchestration/worker-capabilities/binding/binding-rejection.d.ts +2 -0
  318. package/dist/src/runtime/orchestration/worker-capabilities/binding/binding-rejection.js +8 -0
  319. package/dist/src/runtime/orchestration/worker-capabilities/binding/bound-capability-session.d.ts +24 -0
  320. package/dist/src/runtime/orchestration/worker-capabilities/binding/bound-capability-session.js +100 -0
  321. package/dist/src/runtime/orchestration/worker-capabilities/binding/call-authority.d.ts +29 -0
  322. package/dist/src/runtime/orchestration/worker-capabilities/binding/call-authority.js +193 -0
  323. package/dist/src/runtime/orchestration/worker-capabilities/binding/create-binding.d.ts +11 -0
  324. package/dist/src/runtime/orchestration/worker-capabilities/binding/create-binding.js +109 -0
  325. package/dist/src/runtime/orchestration/worker-capabilities/binding/dependency-results.d.ts +2 -0
  326. package/dist/src/runtime/orchestration/worker-capabilities/binding/dependency-results.js +34 -0
  327. package/dist/src/runtime/orchestration/worker-capabilities/binding/invocation-preparation.d.ts +21 -0
  328. package/dist/src/runtime/orchestration/worker-capabilities/binding/invocation-preparation.js +167 -0
  329. package/dist/src/runtime/orchestration/worker-capabilities/binding.d.ts +1 -13
  330. package/dist/src/runtime/orchestration/worker-capabilities/binding.js +1 -625
  331. package/dist/src/runtime/orchestration/worker-capabilities/contracts.d.ts +57 -14
  332. package/dist/src/runtime/orchestration/worker-capabilities/contracts.js +3 -1
  333. package/dist/src/runtime/orchestration/worker-capabilities/controls.d.ts +7 -0
  334. package/dist/src/runtime/orchestration/worker-capabilities/controls.js +50 -0
  335. package/dist/src/runtime/orchestration/worker-capabilities/error-fingerprint.d.ts +5 -0
  336. package/dist/src/runtime/orchestration/worker-capabilities/error-fingerprint.js +119 -0
  337. package/dist/src/runtime/orchestration/worker-capabilities/errors.d.ts +6 -0
  338. package/dist/src/runtime/orchestration/worker-capabilities/errors.js +11 -0
  339. package/dist/src/runtime/orchestration/worker-capabilities/execution/adapter-exact-result.d.ts +7 -0
  340. package/dist/src/runtime/orchestration/worker-capabilities/execution/adapter-exact-result.js +35 -0
  341. package/dist/src/runtime/orchestration/worker-capabilities/execution/adapter-execution.d.ts +9 -0
  342. package/dist/src/runtime/orchestration/worker-capabilities/execution/adapter-execution.js +28 -0
  343. package/dist/src/runtime/orchestration/worker-capabilities/execution/adapter-result-normalization.d.ts +18 -0
  344. package/dist/src/runtime/orchestration/worker-capabilities/execution/adapter-result-normalization.js +197 -0
  345. package/dist/src/runtime/orchestration/worker-capabilities/execution/adapter-result-references.d.ts +2 -0
  346. package/dist/src/runtime/orchestration/worker-capabilities/execution/adapter-result-references.js +44 -0
  347. package/dist/src/runtime/orchestration/worker-capabilities/execution/context-projection.d.ts +12 -0
  348. package/dist/src/runtime/orchestration/worker-capabilities/execution/context-projection.js +51 -0
  349. package/dist/src/runtime/orchestration/worker-capabilities/execution/invocation-preparation.d.ts +25 -0
  350. package/dist/src/runtime/orchestration/worker-capabilities/execution/invocation-preparation.js +111 -0
  351. package/dist/src/runtime/orchestration/worker-capabilities/execution/ledger-transaction.d.ts +20 -0
  352. package/dist/src/runtime/orchestration/worker-capabilities/execution/ledger-transaction.js +142 -0
  353. package/dist/src/runtime/orchestration/worker-capabilities/execution.d.ts +10 -14
  354. package/dist/src/runtime/orchestration/worker-capabilities/execution.js +84 -357
  355. package/dist/src/runtime/orchestration/worker-capabilities/index.d.ts +3 -0
  356. package/dist/src/runtime/orchestration/worker-capabilities/index.js +3 -0
  357. package/dist/src/runtime/orchestration/worker-capabilities/outcome-fingerprint.d.ts +8 -0
  358. package/dist/src/runtime/orchestration/worker-capabilities/outcome-fingerprint.js +21 -0
  359. package/dist/src/runtime/orchestration/worker-capabilities/payload-author.js +31 -9
  360. package/dist/src/runtime/orchestration/worker-capabilities/payload-contracts.d.ts +15 -6
  361. package/dist/src/runtime/orchestration/worker-capabilities/payload-contracts.js +2 -0
  362. package/dist/src/runtime/orchestration/worker-capabilities/payload-instructions.js +4 -4
  363. package/dist/src/runtime/orchestration/worker-capabilities/preparation-fingerprint.d.ts +23 -0
  364. package/dist/src/runtime/orchestration/worker-capabilities/preparation-fingerprint.js +109 -0
  365. package/dist/src/runtime/plugins/manifest-projection.js +3 -0
  366. package/dist/src/runtime/plugins/manifest-validator.js +20 -0
  367. package/dist/src/runtime/ports.d.ts +10 -1
  368. package/dist/src/runtime/request/contracts.d.ts +7 -0
  369. package/dist/src/runtime/request/dependencies.d.ts +1 -0
  370. package/dist/src/runtime/request/dependencies.js +10 -1
  371. package/dist/src/runtime/request/execution-agent-root-execution.js +5 -4
  372. package/dist/src/runtime/request/execution-facets.d.ts +2 -1
  373. package/dist/src/runtime/request/execution-facets.js +6 -0
  374. package/dist/src/runtime/request/execution-scope-surfaces.js +6 -0
  375. package/dist/src/runtime/request/execution-scope.d.ts +3 -2
  376. package/dist/src/runtime/request/handler.js +4 -1
  377. package/dist/src/runtime/request/result.d.ts +2 -0
  378. package/dist/src/runtime/request/root-contract.d.ts +4 -2
  379. package/dist/src/runtime/request/root-execution-kernel.js +100 -31
  380. package/dist/src/runtime/request/supervisor-root-execution.js +4 -2
  381. package/dist/src/runtime/request/worker-capability-payload-prompts.js +1 -1
  382. package/dist/src/runtime/steps/execution-agent/capability-invocation-contract.d.ts +24 -0
  383. package/dist/src/runtime/steps/execution-agent/capability-invocation-contract.js +52 -0
  384. package/dist/src/runtime/steps/execution-agent/contracts.d.ts +5 -2
  385. package/dist/src/runtime/steps/execution-agent/format.js +19 -6
  386. package/dist/src/runtime/steps/execution-agent/input.js +8 -12
  387. package/dist/src/runtime/steps/execution-agent/parser.js +25 -19
  388. package/dist/src/runtime/steps/execution-agent/prompt.js +3 -2
  389. package/dist/src/runtime/steps/execution-agent/reconsideration-context.d.ts +3 -0
  390. package/dist/src/runtime/steps/execution-agent/reconsideration-context.js +76 -0
  391. package/dist/src/runtime/steps/execution-agent/refinement-prompt.js +4 -4
  392. package/dist/src/runtime/steps/execution-agent/refinement-reconsideration.d.ts +3 -0
  393. package/dist/src/runtime/steps/execution-agent/refinement-reconsideration.js +25 -0
  394. package/dist/src/runtime/steps/execution-agent/refinement.d.ts +4 -7
  395. package/dist/src/runtime/steps/execution-agent/refinement.js +24 -35
  396. package/dist/src/runtime/steps/execution-agent/response-input.d.ts +2 -0
  397. package/dist/src/runtime/steps/execution-agent/response-input.js +22 -6
  398. package/dist/src/runtime/steps/execution-agent/response-prompt.d.ts +1 -1
  399. package/dist/src/runtime/steps/execution-agent/response-prompt.js +8 -3
  400. package/dist/src/runtime/steps/execution-agent/response-run.d.ts +6 -0
  401. package/dist/src/runtime/steps/execution-agent/response-run.js +40 -10
  402. package/dist/src/runtime/steps/execution-agent/run.js +6 -6
  403. package/dist/src/runtime/steps/execution-agent/state-context.d.ts +4 -1
  404. package/dist/src/runtime/steps/execution-agent/state-context.js +40 -23
  405. package/dist/src/runtime/steps/supervisor-response/index.d.ts +1 -1
  406. package/dist/src/runtime/steps/supervisor-response/index.js +1 -1
  407. package/dist/src/runtime/steps/supervisor-response/input.d.ts +13 -5
  408. package/dist/src/runtime/steps/supervisor-response/input.js +27 -8
  409. package/dist/src/runtime/steps/supervisor-response/memory-authoring.d.ts +10 -0
  410. package/dist/src/runtime/steps/supervisor-response/memory-authoring.js +125 -0
  411. package/dist/src/runtime/steps/supervisor-response/prompt.d.ts +4 -0
  412. package/dist/src/runtime/steps/supervisor-response/prompt.js +19 -0
  413. package/dist/src/runtime/steps/supervisor-response/run.d.ts +8 -0
  414. package/dist/src/runtime/steps/supervisor-response/run.js +46 -17
  415. package/dist/src/runtime/steps/worker-decision/contracts.d.ts +8 -1
  416. package/dist/src/runtime/steps/worker-decision/contracts.js +3 -0
  417. package/dist/src/runtime/steps/worker-decision/format.d.ts +4 -0
  418. package/dist/src/runtime/steps/worker-decision/format.js +97 -22
  419. package/dist/src/runtime/steps/worker-decision/input/action-policy.d.ts +9 -0
  420. package/dist/src/runtime/steps/worker-decision/input/action-policy.js +15 -0
  421. package/dist/src/runtime/steps/worker-decision/input/canonical-state.d.ts +2 -2
  422. package/dist/src/runtime/steps/worker-decision/input/canonical-state.js +19 -7
  423. package/dist/src/runtime/steps/worker-decision/input/capability-selection.js +44 -3
  424. package/dist/src/runtime/steps/worker-decision/input/contract.d.ts +1 -0
  425. package/dist/src/runtime/steps/worker-decision/input/contract.js +12 -6
  426. package/dist/src/runtime/steps/worker-decision/input/diagnostic-projection.js +14 -5
  427. package/dist/src/runtime/steps/worker-decision/input/prompt-context.js +9 -6
  428. package/dist/src/runtime/steps/worker-decision/input/reference-context.js +21 -3
  429. package/dist/src/runtime/steps/worker-decision/input/session.js +2 -1
  430. package/dist/src/runtime/steps/worker-decision/input/types.d.ts +6 -1
  431. package/dist/src/runtime/steps/worker-decision/input.d.ts +2 -2
  432. package/dist/src/runtime/steps/worker-decision/input.js +1 -2
  433. package/dist/src/runtime/steps/worker-decision/parser/accepted-decision.d.ts +3 -0
  434. package/dist/src/runtime/steps/worker-decision/parser/accepted-decision.js +70 -0
  435. package/dist/src/runtime/steps/worker-decision/parser/action-validation.d.ts +4 -0
  436. package/dist/src/runtime/steps/worker-decision/parser/action-validation.js +55 -0
  437. package/dist/src/runtime/steps/worker-decision/parser/capability-batch-validation.d.ts +3 -0
  438. package/dist/src/runtime/steps/worker-decision/parser/capability-batch-validation.js +135 -0
  439. package/dist/src/runtime/steps/worker-decision/parser/capability-controls-validation.d.ts +6 -0
  440. package/dist/src/runtime/steps/worker-decision/parser/capability-controls-validation.js +132 -0
  441. package/dist/src/runtime/steps/worker-decision/parser/capability-invocation-validation.d.ts +4 -0
  442. package/dist/src/runtime/steps/worker-decision/parser/capability-invocation-validation.js +104 -0
  443. package/dist/src/runtime/steps/worker-decision/parser/decision-shape-validation.d.ts +4 -0
  444. package/dist/src/runtime/steps/worker-decision/parser/decision-shape-validation.js +28 -0
  445. package/dist/src/runtime/steps/worker-decision/parser/pending-capability-selection-validation.d.ts +4 -0
  446. package/dist/src/runtime/steps/worker-decision/parser/pending-capability-selection-validation.js +105 -0
  447. package/dist/src/runtime/steps/worker-decision/parser/validation-contract.d.ts +50 -0
  448. package/dist/src/runtime/steps/worker-decision/parser/validation-contract.js +19 -0
  449. package/dist/src/runtime/steps/worker-decision/parser.d.ts +5 -1
  450. package/dist/src/runtime/steps/worker-decision/parser.js +32 -426
  451. package/dist/src/runtime/steps/worker-decision/prompt.d.ts +3 -0
  452. package/dist/src/runtime/steps/worker-decision/prompt.js +57 -20
  453. package/dist/src/runtime/steps/worker-decision/result-author.js +11 -1
  454. package/dist/src/runtime/steps/worker-decision/run.js +97 -19
  455. package/dist/src/runtime/validation/strict-record.d.ts +2 -0
  456. package/dist/src/runtime/validation/strict-record.js +12 -0
  457. package/dist/src/shared/model-step-registry-data.json +9 -0
  458. package/dist/src/shared/model-step-registry.d.ts +9 -0
  459. package/dist/src/shared/model-step-registry.generated.d.ts +9 -0
  460. package/dist/src/shared/model-step-registry.generated.js +9 -0
  461. package/dist/src/web-ui/app/ARCHITECTURE.md +1 -1
  462. package/dist/src/web-ui/app/app.js +56 -11
  463. package/dist/src/web-ui/app/components/config-workspace/config-model.js +320 -0
  464. package/dist/src/web-ui/app/components/config-workspace/dashboard-rendering.js +155 -0
  465. package/dist/src/web-ui/app/components/config-workspace/field-rendering.js +278 -0
  466. package/dist/src/web-ui/app/components/config-workspace/model-rendering.js +251 -0
  467. package/dist/src/web-ui/app/components/config-workspace/step-rendering.js +145 -0
  468. package/dist/src/web-ui/app/components/config-workspace/workspace-events.js +271 -0
  469. package/dist/src/web-ui/app/components/config-workspace/workspace-mutations.js +195 -0
  470. package/dist/src/web-ui/app/components/config-workspace/workspace-persistence.js +247 -0
  471. package/dist/src/web-ui/app/components/config-workspace/workspace-view.js +299 -0
  472. package/dist/src/web-ui/app/components/config-workspace.js +179 -866
  473. package/dist/src/web-ui/app/components/conversation-activity.d.ts +7 -1
  474. package/dist/src/web-ui/app/components/long-term-memory/icons.js +16 -0
  475. package/dist/src/web-ui/app/components/long-term-memory/manager.js +192 -0
  476. package/dist/src/web-ui/app/components/long-term-memory/record-editor.d.ts +9 -0
  477. package/dist/src/web-ui/app/components/long-term-memory/record-editor.js +62 -0
  478. package/dist/src/web-ui/app/components/long-term-memory/record-list.d.ts +5 -0
  479. package/dist/src/web-ui/app/components/long-term-memory/record-list.js +97 -0
  480. package/dist/src/web-ui/app/components/long-term-memory/view-model.d.ts +29 -0
  481. package/dist/src/web-ui/app/components/long-term-memory/view-model.js +69 -0
  482. package/dist/src/web-ui/app/components/long-term-memory-setup.js +334 -0
  483. package/dist/src/web-ui/app/components/runtime-setup-guide.d.ts +39 -0
  484. package/dist/src/web-ui/app/components/tool-approval-card.d.ts +18 -0
  485. package/dist/src/web-ui/app/components/workspace-shell.js +48 -7
  486. package/dist/src/web-ui/app/controllers/app-event-bindings.js +43 -6
  487. package/dist/src/web-ui/app/controllers/composer-attachments-controller.d.ts +92 -0
  488. package/dist/src/web-ui/app/controllers/composer-queue-controller.d.ts +109 -0
  489. package/dist/src/web-ui/app/controllers/composer-submit-controller.d.ts +77 -0
  490. package/dist/src/web-ui/app/controllers/conversation-session-controller.d.ts +149 -0
  491. package/dist/src/web-ui/app/controllers/conversation-session-controller.js +43 -3
  492. package/dist/src/web-ui/app/controllers/long-term-memory/controller.d.ts +87 -0
  493. package/dist/src/web-ui/app/controllers/long-term-memory/controller.js +302 -0
  494. package/dist/src/web-ui/app/controllers/long-term-memory/policy.d.ts +14 -0
  495. package/dist/src/web-ui/app/controllers/long-term-memory/policy.js +61 -0
  496. package/dist/src/web-ui/app/controllers/long-term-memory/state.js +85 -0
  497. package/dist/src/web-ui/app/controllers/operations-controller.d.ts +25 -0
  498. package/dist/src/web-ui/app/controllers/realtime-event-controller.d.ts +57 -0
  499. package/dist/src/web-ui/app/controllers/runtime-onboarding-controller.d.ts +32 -0
  500. package/dist/src/web-ui/app/controllers/runtime-selection-controller.d.ts +177 -0
  501. package/dist/src/web-ui/app/controllers/runtime-selection-controller.js +78 -11
  502. package/dist/src/web-ui/app/controllers/tool-approval-controller.d.ts +28 -0
  503. package/dist/src/web-ui/app/index.html +13 -15
  504. package/dist/src/web-ui/app/services/runtime-web-client/memory.js +127 -0
  505. package/dist/src/web-ui/app/services/runtime-web-client.d.ts +84 -0
  506. package/dist/src/web-ui/app/services/runtime-web-client.js +27 -1
  507. package/dist/src/web-ui/app/styles/30-inspector-config.css +151 -1423
  508. package/dist/src/web-ui/app/styles/35-memory-onboarding.css +153 -0
  509. package/dist/src/web-ui/app/styles/36-memory-management.css +419 -0
  510. package/dist/src/web-ui/app/styles/40-config-workspace.css +992 -0
  511. package/dist/src/web-ui/app/styles/90-responsive.css +187 -26
  512. package/dist/src/web-ui/app/styles.css +3 -0
  513. package/dist/src/web-ui/config-dashboard-backend.js +9 -1
  514. package/dist/src/web-ui/local-runtime/api-router.d.ts +4 -2
  515. package/dist/src/web-ui/local-runtime/api-router.js +33 -0
  516. package/dist/src/web-ui/local-runtime/contracts.d.ts +5 -0
  517. package/dist/src/web-ui/local-runtime/memory-management-input.d.ts +12 -0
  518. package/dist/src/web-ui/local-runtime/memory-management-input.js +68 -0
  519. package/dist/src/web-ui/local-runtime/memory-management-response.d.ts +17 -0
  520. package/dist/src/web-ui/local-runtime/memory-management-response.js +47 -0
  521. package/dist/src/web-ui/local-runtime/memory-management-routes.d.ts +24 -0
  522. package/dist/src/web-ui/local-runtime/memory-management-routes.js +128 -0
  523. package/dist/src/web-ui/local-runtime/memory-onboarding-routes.d.ts +17 -0
  524. package/dist/src/web-ui/local-runtime/memory-onboarding-routes.js +81 -0
  525. package/dist/src/web-ui/local-runtime/request-abort.d.ts +7 -0
  526. package/dist/src/web-ui/local-runtime/request-abort.js +19 -0
  527. package/dist/src/web-ui/local-runtime-backend.js +10 -3
  528. package/dist/src/web-ui/server.d.ts +2 -0
  529. package/dist/src/web-ui/server.js +3 -0
  530. package/docs/configuration.md +128 -45
  531. package/docs/installation.md +21 -0
  532. package/docs/known-limitations.md +11 -0
  533. package/docs/long-term-memory.md +181 -0
  534. package/docs/publishing.md +52 -25
  535. package/docs/runtime-invariant-coverage.md +1 -1
  536. package/docs/runtime-library.md +16 -1
  537. package/docs/runtime-prompt-policy-contracts.md +12 -2
  538. package/docs/troubleshooting.md +21 -0
  539. package/examples/models/default.config.json +1 -0
  540. package/examples/request-runner.config.example.json +16 -22
  541. package/examples/runtime.config.example.json +4 -0
  542. package/methodologies/memory-informed-response.md +15 -0
  543. package/methodologies/response-ux.md +17 -0
  544. package/package.json +8 -2
  545. package/plugins/exec/source/handlers.ts +65 -5
  546. package/plugins/exec/src/index.cjs +39 -3
  547. package/plugins/filesystem/plugin.json +1 -0
  548. package/runtime.config.schema.json +30 -0
  549. package/src/runtime/README.md +77 -38
@@ -0,0 +1,2 @@
1
+ import type { ToolEventPresentation } from "../tool-types.js";
2
+ export declare function parseEventPresentation(toolName: string, raw: unknown): ToolEventPresentation | undefined;
@@ -0,0 +1,97 @@
1
+ import { isToolDefinitionRecordValue } from "./definition-shape.js";
2
+ const EVENT_PROJECTION_KINDS = [
3
+ "string",
4
+ "number",
5
+ "string_array",
6
+ "length",
7
+ ];
8
+ export function parseEventPresentation(toolName, raw) {
9
+ if (raw === undefined)
10
+ return undefined;
11
+ if (!isToolDefinitionRecordValue(raw)) {
12
+ throw invalidEventPresentation(toolName);
13
+ }
14
+ if (!isToolDefinitionRecordValue(raw.metadata)) {
15
+ throw invalidEventPresentation(toolName);
16
+ }
17
+ const metadata = Object.fromEntries(Object.entries(raw.metadata).map(([key, projection]) => parseEventMetadataProjection(toolName, key, projection)));
18
+ const lifecycle = parseEventLifecycle(toolName, raw.lifecycle);
19
+ return {
20
+ metadata,
21
+ ...(lifecycle ? { lifecycle } : {}),
22
+ };
23
+ }
24
+ function parseEventMetadataProjection(toolName, key, raw) {
25
+ if (!key.trim() || !isToolDefinitionRecordValue(raw)) {
26
+ throw invalidEventMetadataProjection(toolName, key);
27
+ }
28
+ const param = raw.param;
29
+ const kind = raw.kind;
30
+ const fallback = raw.default;
31
+ if (typeof param !== "string" || !param.trim()) {
32
+ throw invalidEventMetadataProjection(toolName, key);
33
+ }
34
+ if (!isEventProjectionKind(kind)) {
35
+ throw invalidEventMetadataProjection(toolName, key);
36
+ }
37
+ if (!hasSupportedEventProjectionDefault(fallback)) {
38
+ throw invalidEventMetadataProjection(toolName, key);
39
+ }
40
+ return [
41
+ key,
42
+ {
43
+ param: param.trim(),
44
+ kind,
45
+ ...(fallback !== undefined ? { default: fallback } : {}),
46
+ },
47
+ ];
48
+ }
49
+ function isEventProjectionKind(value) {
50
+ return EVENT_PROJECTION_KINDS.includes(value);
51
+ }
52
+ function hasSupportedEventProjectionDefault(value) {
53
+ if (value === undefined)
54
+ return true;
55
+ if (typeof value === "string")
56
+ return true;
57
+ if (typeof value === "number")
58
+ return true;
59
+ return typeof value === "boolean";
60
+ }
61
+ function parseEventLifecycle(toolName, raw) {
62
+ if (raw === undefined)
63
+ return undefined;
64
+ if (!isToolDefinitionRecordValue(raw)) {
65
+ throw new Error(`Invalid tool definition for ${toolName} (eventPresentation.lifecycle)`);
66
+ }
67
+ const entries = ["started", "completed", "failed"].flatMap((phase) => {
68
+ const copy = parseEventLifecyclePhase(toolName, phase, raw[phase]);
69
+ return copy ? [[phase, copy]] : [];
70
+ });
71
+ if (entries.length === 0)
72
+ return undefined;
73
+ return Object.fromEntries(entries);
74
+ }
75
+ function parseEventLifecyclePhase(toolName, phase, raw) {
76
+ if (raw === undefined)
77
+ return undefined;
78
+ if (!isToolDefinitionRecordValue(raw)) {
79
+ throw invalidEventLifecyclePhase(toolName, phase);
80
+ }
81
+ if (typeof raw.status !== "string" || raw.status.trim().length === 0) {
82
+ throw invalidEventLifecyclePhase(toolName, phase);
83
+ }
84
+ if (typeof raw.message !== "string" || raw.message.trim().length === 0) {
85
+ throw invalidEventLifecyclePhase(toolName, phase);
86
+ }
87
+ return { status: raw.status.trim(), message: raw.message.trim() };
88
+ }
89
+ function invalidEventPresentation(toolName) {
90
+ return new Error(`Invalid tool definition for ${toolName} (eventPresentation)`);
91
+ }
92
+ function invalidEventMetadataProjection(toolName, key) {
93
+ return new Error(`Invalid tool definition for ${toolName} (eventPresentation.metadata.${key})`);
94
+ }
95
+ function invalidEventLifecyclePhase(toolName, phase) {
96
+ return new Error(`Invalid tool definition for ${toolName} (eventPresentation.lifecycle.${phase})`);
97
+ }
@@ -0,0 +1,3 @@
1
+ import type { ToolModule, ToolModuleDeclaration } from "../tool-types.js";
2
+ export declare function buildToolRegistry(modules: readonly ToolModuleDeclaration[]): ToolModule[];
3
+ export declare function validateToolModuleDeclarations(modules: readonly ToolModuleDeclaration[]): ToolModuleDeclaration[];
@@ -0,0 +1,99 @@
1
+ import { projectNormalInvocationDefinition } from "../normal-invocation/definition-projection.js";
2
+ import { parseToolNormalInvocationContract, parseToolNormalInvocationForDefinition, } from "../normal-invocation/validator.js";
3
+ import { parseToolDefinition } from "./definition-parser.js";
4
+ import { isToolDefinitionRecordValue, readToolDefinitionName, } from "./definition-shape.js";
5
+ export function buildToolRegistry(modules) {
6
+ if (!Array.isArray(modules)) {
7
+ throw new Error("Tool registry modules must be an array");
8
+ }
9
+ const seenNames = new Set();
10
+ return modules.map((module, index) => {
11
+ if (!module || typeof module !== "object") {
12
+ throw new Error(`Invalid tool module entry at index ${index}`);
13
+ }
14
+ const rawDefinition = module.definition;
15
+ const toolName = readToolDefinitionName(rawDefinition);
16
+ const parsedNormalInvocation = parseToolNormalInvocationContract(toolName, module.normalInvocation);
17
+ if (!parsedNormalInvocation) {
18
+ throw new Error(`Invalid tool module for ${toolName} (normalInvocation is required)`);
19
+ }
20
+ const definition = parseToolDefinition(projectCanonicalDefinition({
21
+ toolName,
22
+ rawDefinition,
23
+ normalInvocation: parsedNormalInvocation,
24
+ }));
25
+ if (seenNames.has(definition.name)) {
26
+ throw new Error(`Duplicate tool definition: ${definition.name}`);
27
+ }
28
+ seenNames.add(definition.name);
29
+ if (typeof module.implementation !== "function") {
30
+ throw new Error(`Invalid tool module for ${definition.name} (implementation)`);
31
+ }
32
+ const adapter = parseToolAdapter(definition.name, module.adapter);
33
+ const normalInvocation = parseToolNormalInvocationForDefinition(definition, parsedNormalInvocation);
34
+ return {
35
+ definition,
36
+ implementation: module.implementation,
37
+ ...(adapter ? { adapter } : {}),
38
+ normalInvocation: normalInvocation,
39
+ };
40
+ });
41
+ }
42
+ export function validateToolModuleDeclarations(modules) {
43
+ const resolved = buildToolRegistry(modules);
44
+ return resolved.map((tool, index) => {
45
+ const source = modules[index];
46
+ const { params: _projectedParams, executionEffect: _projectedEffect, ...definition } = tool.definition;
47
+ void _projectedParams;
48
+ void _projectedEffect;
49
+ return {
50
+ definition,
51
+ implementation: tool.implementation,
52
+ ...(tool.adapter ? { adapter: tool.adapter } : {}),
53
+ normalInvocation: tool.normalInvocation,
54
+ };
55
+ });
56
+ }
57
+ function parseToolAdapter(toolName, raw) {
58
+ if (raw === undefined)
59
+ return undefined;
60
+ if (!isToolDefinitionRecordValue(raw)) {
61
+ throw new Error(`Invalid tool module for ${toolName} (adapter)`);
62
+ }
63
+ const normalizeCall = raw.normalizeCall;
64
+ const validateCall = raw.validateCall;
65
+ if (normalizeCall !== undefined && typeof normalizeCall !== "function") {
66
+ throw new Error(`Invalid tool module for ${toolName} (adapter.normalizeCall)`);
67
+ }
68
+ if (validateCall !== undefined && typeof validateCall !== "function") {
69
+ throw new Error(`Invalid tool module for ${toolName} (adapter.validateCall)`);
70
+ }
71
+ const adapter = {};
72
+ if (typeof normalizeCall === "function") {
73
+ adapter.normalizeCall = normalizeCall;
74
+ }
75
+ if (typeof validateCall === "function") {
76
+ adapter.validateCall = validateCall;
77
+ }
78
+ return adapter;
79
+ }
80
+ function projectCanonicalDefinition(params) {
81
+ if (!isToolDefinitionRecordValue(params.rawDefinition)) {
82
+ throw new Error("Invalid tool definition entry (not an object)");
83
+ }
84
+ if (params.rawDefinition.params !== undefined) {
85
+ throw new Error(`Invalid tool definition for ${params.toolName} (params must be omitted when normalInvocation is canonical)`);
86
+ }
87
+ if (params.rawDefinition.executionEffect !== undefined) {
88
+ throw new Error(`Invalid tool definition for ${params.toolName} (executionEffect must be omitted when normalInvocation is canonical)`);
89
+ }
90
+ const projection = projectNormalInvocationDefinition({
91
+ toolName: params.toolName,
92
+ contract: params.normalInvocation,
93
+ });
94
+ return {
95
+ ...params.rawDefinition,
96
+ params: { ...projection.params },
97
+ executionEffect: projection.executionEffect,
98
+ };
99
+ }
@@ -0,0 +1,2 @@
1
+ import type { ToolDefinition } from "../tool-types.js";
2
+ export declare function parsePayloadChannelSpec(toolName: string, params: Record<string, string>, raw: unknown): ToolDefinition["payloadChannelSpec"];
@@ -0,0 +1,190 @@
1
+ import { createInvalidToolDefinitionError as invalidPayloadChannelSpec, isPayloadContextScope, isPayloadResponseFormat, isPayloadTargetContext, isToolDefinitionRecordValue, } from "./definition-shape.js";
2
+ import { parsePayloadChannelStages } from "./payload-channel-stage.js";
3
+ export function parsePayloadChannelSpec(toolName, params, raw) {
4
+ if (raw === undefined)
5
+ return undefined;
6
+ if (!isToolDefinitionRecordValue(raw)) {
7
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec");
8
+ }
9
+ const payloadParams = raw.params;
10
+ const outputParam = raw.outputParam;
11
+ const generationMode = raw.generationMode;
12
+ const targetParam = raw.targetParam;
13
+ const targetRole = raw.targetRole;
14
+ const contextScope = raw.contextScope;
15
+ const targetContext = raw.targetContext;
16
+ const responseFormat = raw.responseFormat;
17
+ const promptHint = raw.promptHint;
18
+ const stages = raw.stages;
19
+ const groundingWindow = raw.groundingWindow;
20
+ const requiresCurrentTargetObservation = raw.requiresCurrentTargetObservation;
21
+ if (!hasSupportedPayloadParameters(payloadParams)) {
22
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.params");
23
+ }
24
+ if (typeof outputParam !== "string" || outputParam.trim().length === 0) {
25
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.outputParam");
26
+ }
27
+ if (generationMode !== "raw_text") {
28
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.generationMode");
29
+ }
30
+ const payloadTargetParam = parsePayloadTargetParam(toolName, targetParam);
31
+ if (targetRole !== undefined && !isPayloadTargetRole(targetRole)) {
32
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.targetRole");
33
+ }
34
+ if (contextScope !== undefined && !isPayloadContextScope(contextScope)) {
35
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.contextScope");
36
+ }
37
+ if (targetContext !== undefined && !isPayloadTargetContext(targetContext)) {
38
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.targetContext");
39
+ }
40
+ if (responseFormat !== undefined &&
41
+ !isPayloadResponseFormat(responseFormat)) {
42
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.responseFormat");
43
+ }
44
+ if (promptHint !== undefined && typeof promptHint !== "string") {
45
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.promptHint");
46
+ }
47
+ if (stages !== undefined && (!Array.isArray(stages) || stages.length === 0)) {
48
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.stages");
49
+ }
50
+ if (!isSupportedGroundingWindow(groundingWindow)) {
51
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.groundingWindow");
52
+ }
53
+ const currentTargetObservation = parseCurrentTargetObservation(toolName, requiresCurrentTargetObservation);
54
+ const parsedStages = Array.isArray(stages)
55
+ ? parsePayloadChannelStages({
56
+ toolName,
57
+ toolParams: params,
58
+ payloadParams,
59
+ finalOutputParam: outputParam,
60
+ stages,
61
+ inheritedResponseFormat: responseFormat,
62
+ })
63
+ : undefined;
64
+ const unknownParam = payloadParams.find((paramName) => !(paramName in params));
65
+ if (unknownParam) {
66
+ throw invalidPayloadChannelSpec(toolName, `payloadChannelSpec unknown param ${unknownParam}`);
67
+ }
68
+ if (!(outputParam in params)) {
69
+ throw invalidPayloadChannelSpec(toolName, `payloadChannelSpec outputParam ${outputParam}`);
70
+ }
71
+ if (params[outputParam] !== "string") {
72
+ throw invalidPayloadChannelSpec(toolName, `payloadChannelSpec outputParam ${outputParam} must be string`);
73
+ }
74
+ if (payloadTargetParam !== undefined && !(payloadTargetParam in params)) {
75
+ throw invalidPayloadChannelSpec(toolName, `payloadChannelSpec unknown targetParam ${payloadTargetParam}`);
76
+ }
77
+ if (payloadTargetParam !== undefined &&
78
+ payloadParams.includes(payloadTargetParam)) {
79
+ throw invalidPayloadChannelSpec(toolName, `payloadChannelSpec targetParam ${payloadTargetParam} must be a visible control param`);
80
+ }
81
+ if (targetContext !== undefined && payloadTargetParam === undefined) {
82
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.targetContext requires targetParam");
83
+ }
84
+ if (parsedStages?.some((stage) => stage.targetContext !== undefined) &&
85
+ payloadTargetParam === undefined) {
86
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec stage targetContext requires targetParam");
87
+ }
88
+ if (parsedStages &&
89
+ parsedStages[parsedStages.length - 1]?.outputParam !== outputParam) {
90
+ throw invalidPayloadChannelSpec(toolName, `payloadChannelSpec final stage must materialize outputParam ${outputParam}`);
91
+ }
92
+ if (currentTargetObservation !== undefined &&
93
+ !(currentTargetObservation.targetParam in params)) {
94
+ throw invalidPayloadChannelSpec(toolName, `payloadChannelSpec requiresCurrentTargetObservation unknown targetParam ${currentTargetObservation.targetParam}`);
95
+ }
96
+ const parsed = {
97
+ params: [...payloadParams],
98
+ outputParam,
99
+ generationMode,
100
+ };
101
+ if (payloadTargetParam) {
102
+ parsed.targetParam = payloadTargetParam;
103
+ }
104
+ if (isPayloadTargetRole(targetRole)) {
105
+ parsed.targetRole = targetRole;
106
+ }
107
+ if (isPayloadContextScope(contextScope)) {
108
+ parsed.contextScope = contextScope;
109
+ }
110
+ if (isPayloadTargetContext(targetContext)) {
111
+ parsed.targetContext = targetContext;
112
+ }
113
+ if (isPayloadResponseFormat(responseFormat)) {
114
+ parsed.responseFormat = responseFormat;
115
+ }
116
+ if (typeof promptHint === "string") {
117
+ parsed.promptHint = promptHint;
118
+ }
119
+ if (parsedStages) {
120
+ parsed.stages = parsedStages;
121
+ }
122
+ if (typeof groundingWindow === "number") {
123
+ parsed.groundingWindow = groundingWindow;
124
+ }
125
+ if (currentTargetObservation) {
126
+ parsed.requiresCurrentTargetObservation = currentTargetObservation;
127
+ }
128
+ return parsed;
129
+ }
130
+ function hasSupportedPayloadParameters(value) {
131
+ if (!Array.isArray(value))
132
+ return false;
133
+ if (value.length === 0)
134
+ return false;
135
+ return value.every((paramName) => typeof paramName === "string" && paramName.trim().length > 0);
136
+ }
137
+ function parsePayloadTargetParam(toolName, value) {
138
+ if (value === undefined)
139
+ return undefined;
140
+ if (typeof value !== "string" || value.trim().length === 0) {
141
+ throw invalidPayloadChannelSpec(toolName, "payloadChannelSpec.targetParam");
142
+ }
143
+ return value.trim();
144
+ }
145
+ function isPayloadTargetRole(value) {
146
+ if (value === "payload_body")
147
+ return true;
148
+ return value === "operation_target";
149
+ }
150
+ function isSupportedGroundingWindow(value) {
151
+ if (value === undefined)
152
+ return true;
153
+ if (typeof value !== "number")
154
+ return false;
155
+ if (!Number.isInteger(value))
156
+ return false;
157
+ return value >= 0;
158
+ }
159
+ function parseCurrentTargetObservation(toolName, raw) {
160
+ if (raw === undefined)
161
+ return undefined;
162
+ if (!isToolDefinitionRecordValue(raw)) {
163
+ throw invalidCurrentTargetObservation(toolName);
164
+ }
165
+ if (typeof raw.targetParam !== "string") {
166
+ throw invalidCurrentTargetObservation(toolName);
167
+ }
168
+ if (raw.targetParam.trim().length === 0) {
169
+ throw invalidCurrentTargetObservation(toolName);
170
+ }
171
+ if (!isCurrentTargetContentRequirement(raw.contentRequirement)) {
172
+ throw invalidCurrentTargetObservation(toolName);
173
+ }
174
+ return {
175
+ targetParam: raw.targetParam,
176
+ ...(raw.contentRequirement
177
+ ? { contentRequirement: raw.contentRequirement }
178
+ : {}),
179
+ };
180
+ }
181
+ function isCurrentTargetContentRequirement(value) {
182
+ if (value === undefined)
183
+ return true;
184
+ if (value === "any")
185
+ return true;
186
+ return value === "full";
187
+ }
188
+ function invalidCurrentTargetObservation(toolName) {
189
+ return invalidPayloadChannelSpec(toolName, "payloadChannelSpec.requiresCurrentTargetObservation");
190
+ }
@@ -0,0 +1,11 @@
1
+ import type { ToolPayloadChannelStageSpec } from "../tool-types.js";
2
+ type PayloadChannelStageParsingContext = Readonly<{
3
+ toolName: string;
4
+ toolParams: Readonly<Record<string, string>>;
5
+ payloadParams: readonly string[];
6
+ finalOutputParam: string;
7
+ stages: readonly unknown[];
8
+ inheritedResponseFormat: unknown;
9
+ }>;
10
+ export declare function parsePayloadChannelStages(context: PayloadChannelStageParsingContext): ToolPayloadChannelStageSpec[];
11
+ export {};
@@ -0,0 +1,155 @@
1
+ import { createInvalidToolDefinitionError as invalidPayloadChannelStage, isPayloadContextScope, isPayloadResponseFormat, isPayloadTargetContext, isToolDefinitionRecordValue, } from "./definition-shape.js";
2
+ import { isPayloadStageMinimumWithinInvocationBounds, parsePayloadStageLiteralOutput, parsePayloadStageMinBytesOverride, } from "./payload-stage-conditions.js";
3
+ export function parsePayloadChannelStages(context) {
4
+ return context.stages.map((stage, index) => parsePayloadChannelStage(context, stage, index));
5
+ }
6
+ function parsePayloadChannelStage(context, raw, stageIndex) {
7
+ const path = `payloadChannelSpec.stages.${stageIndex}`;
8
+ if (!isToolDefinitionRecordValue(raw)) {
9
+ throw invalidPayloadChannelStage(context.toolName, path);
10
+ }
11
+ const outputParam = raw.outputParam;
12
+ const contextScope = raw.contextScope;
13
+ const targetContext = raw.targetContext;
14
+ const responseFormat = raw.responseFormat;
15
+ const targetLineBoundProperties = raw.targetLineBoundProperties;
16
+ const promptHint = raw.promptHint;
17
+ const includeMaterializedParams = raw.includeMaterializedParams;
18
+ const minBytes = raw.minBytes;
19
+ const minBytesOverride = raw.minBytesOverride;
20
+ const literalOutput = raw.literalOutput;
21
+ if (!hasSupportedPayloadStageOutput(context, outputParam)) {
22
+ throw invalidPayloadChannelStage(context.toolName, `${path}.outputParam`);
23
+ }
24
+ if (contextScope !== undefined && !isPayloadContextScope(contextScope)) {
25
+ throw invalidPayloadChannelStage(context.toolName, `${path}.contextScope`);
26
+ }
27
+ if (targetContext !== undefined && !isPayloadTargetContext(targetContext)) {
28
+ throw invalidPayloadChannelStage(context.toolName, `${path}.targetContext`);
29
+ }
30
+ if (responseFormat !== undefined &&
31
+ !isPayloadResponseFormat(responseFormat)) {
32
+ throw invalidPayloadChannelStage(context.toolName, `${path}.responseFormat`);
33
+ }
34
+ if (!hasSupportedTargetLineBoundProperties(targetLineBoundProperties)) {
35
+ throw invalidPayloadChannelStage(context.toolName, `${path}.targetLineBoundProperties`);
36
+ }
37
+ if (promptHint !== undefined && typeof promptHint !== "string") {
38
+ throw invalidPayloadChannelStage(context.toolName, `${path}.promptHint`);
39
+ }
40
+ if (!hasSupportedMaterializedStageInputs(includeMaterializedParams, context.payloadParams)) {
41
+ throw invalidPayloadChannelStage(context.toolName, `${path}.includeMaterializedParams`);
42
+ }
43
+ if (!hasSupportedPayloadStageMinimum(minBytes)) {
44
+ throw invalidPayloadChannelStage(context.toolName, `${path}.minBytes`);
45
+ }
46
+ const normalizedOutputParam = outputParam.trim();
47
+ if (hasPayloadStageByteMinimum(minBytes, minBytesOverride) &&
48
+ normalizedOutputParam !== context.finalOutputParam) {
49
+ throw invalidPayloadChannelStage(context.toolName, `${path} byte minimum must belong to the final payload stage`);
50
+ }
51
+ if (!referencesAvailableMaterializedStageInputs(context.stages, stageIndex, includeMaterializedParams)) {
52
+ throw invalidPayloadChannelStage(context.toolName, `${path} references unavailable materialized params`);
53
+ }
54
+ let parsedMinBytesOverride;
55
+ if (minBytesOverride !== undefined) {
56
+ parsedMinBytesOverride = parsePayloadStageMinBytesOverride({
57
+ toolName: context.toolName,
58
+ stageIndex,
59
+ input: minBytesOverride,
60
+ baseMinBytes: minBytes,
61
+ includeMaterializedParams,
62
+ stages: context.stages,
63
+ inheritedResponseFormat: context.inheritedResponseFormat,
64
+ });
65
+ }
66
+ const parsedLiteralOutput = parsePayloadStageLiteralOutput({
67
+ toolName: context.toolName,
68
+ stageIndex,
69
+ input: literalOutput,
70
+ stageOutputParam: normalizedOutputParam,
71
+ finalOutputParam: context.finalOutputParam,
72
+ stageResponseFormat: responseFormat,
73
+ inheritedResponseFormat: context.inheritedResponseFormat,
74
+ stageTargetLineBoundProperties: targetLineBoundProperties,
75
+ stageMinBytesOverride: minBytesOverride,
76
+ includeMaterializedParams,
77
+ stages: context.stages,
78
+ });
79
+ const parsed = {
80
+ outputParam: normalizedOutputParam,
81
+ };
82
+ if (isPayloadContextScope(contextScope)) {
83
+ parsed.contextScope = contextScope;
84
+ }
85
+ if (isPayloadTargetContext(targetContext)) {
86
+ parsed.targetContext = targetContext;
87
+ }
88
+ if (isPayloadResponseFormat(responseFormat)) {
89
+ parsed.responseFormat = responseFormat;
90
+ }
91
+ if (Array.isArray(targetLineBoundProperties)) {
92
+ parsed.targetLineBoundProperties = [...targetLineBoundProperties];
93
+ }
94
+ if (typeof promptHint === "string") {
95
+ parsed.promptHint = promptHint;
96
+ }
97
+ if (Array.isArray(includeMaterializedParams)) {
98
+ parsed.includeMaterializedParams = [...includeMaterializedParams];
99
+ }
100
+ if (typeof minBytes === "number") {
101
+ parsed.minBytes = minBytes;
102
+ }
103
+ if (parsedMinBytesOverride) {
104
+ parsed.minBytesOverride = parsedMinBytesOverride;
105
+ }
106
+ if (parsedLiteralOutput) {
107
+ parsed.literalOutput = parsedLiteralOutput;
108
+ }
109
+ return parsed;
110
+ }
111
+ function hasSupportedPayloadStageOutput(context, value) {
112
+ if (typeof value !== "string")
113
+ return false;
114
+ if (value.trim().length === 0)
115
+ return false;
116
+ if (!context.payloadParams.includes(value))
117
+ return false;
118
+ return context.toolParams[value] === "string";
119
+ }
120
+ function hasSupportedTargetLineBoundProperties(value) {
121
+ if (value === undefined)
122
+ return true;
123
+ if (!Array.isArray(value))
124
+ return false;
125
+ if (value.length === 0)
126
+ return false;
127
+ if (new Set(value).size !== value.length)
128
+ return false;
129
+ return value.every((property) => typeof property === "string" && property.trim().length > 0);
130
+ }
131
+ function hasSupportedMaterializedStageInputs(value, payloadParams) {
132
+ if (value === undefined)
133
+ return true;
134
+ if (!Array.isArray(value))
135
+ return false;
136
+ return value.every((paramName) => typeof paramName === "string" && payloadParams.includes(paramName));
137
+ }
138
+ function hasSupportedPayloadStageMinimum(value) {
139
+ if (value === undefined)
140
+ return true;
141
+ return isPayloadStageMinimumWithinInvocationBounds(value);
142
+ }
143
+ function hasPayloadStageByteMinimum(minBytes, minBytesOverride) {
144
+ return minBytes !== undefined || minBytesOverride !== undefined;
145
+ }
146
+ function referencesAvailableMaterializedStageInputs(stages, stageIndex, includeMaterializedParams) {
147
+ if (!Array.isArray(includeMaterializedParams))
148
+ return true;
149
+ const priorStageOutputs = new Set(stages
150
+ .slice(0, stageIndex)
151
+ .filter(isToolDefinitionRecordValue)
152
+ .map((stage) => stage.outputParam)
153
+ .filter((paramName) => typeof paramName === "string"));
154
+ return includeMaterializedParams.every((paramName) => priorStageOutputs.has(paramName));
155
+ }
@@ -0,0 +1,24 @@
1
+ import type { ToolPayloadChannelStageSpec } from "../tool-types.js";
2
+ export declare function parsePayloadStageMinBytesOverride(params: Readonly<{
3
+ toolName: string;
4
+ stageIndex: number;
5
+ input: unknown;
6
+ baseMinBytes: unknown;
7
+ includeMaterializedParams: unknown;
8
+ stages: readonly unknown[];
9
+ inheritedResponseFormat: unknown;
10
+ }>): NonNullable<ToolPayloadChannelStageSpec["minBytesOverride"]>;
11
+ export declare function parsePayloadStageLiteralOutput(params: Readonly<{
12
+ toolName: string;
13
+ stageIndex: number;
14
+ input: unknown;
15
+ stageOutputParam: string;
16
+ finalOutputParam: unknown;
17
+ stageResponseFormat: unknown;
18
+ inheritedResponseFormat: unknown;
19
+ stageTargetLineBoundProperties: unknown;
20
+ stageMinBytesOverride: unknown;
21
+ includeMaterializedParams: unknown;
22
+ stages: readonly unknown[];
23
+ }>): NonNullable<ToolPayloadChannelStageSpec["literalOutput"]> | undefined;
24
+ export declare function isPayloadStageMinimumWithinInvocationBounds(value: unknown): value is number;