experimental-ash 0.37.0 → 0.38.1

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 (205) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/docs/internals/README.md +1 -1
  3. package/dist/docs/internals/context.md +3 -3
  4. package/dist/docs/internals/core-beliefs.md +2 -2
  5. package/dist/docs/internals/hooks.md +4 -4
  6. package/dist/docs/internals/mechanical-invariants.md +1 -1
  7. package/dist/docs/public/advanced/session-context.md +14 -16
  8. package/dist/src/channel/compiled-channel.d.ts +2 -2
  9. package/dist/src/channel/types.d.ts +1 -1
  10. package/dist/src/compiled/.vendor-stamp.json +4 -3
  11. package/dist/src/compiled/@workflow/core/_workflow-world.d.ts +1 -0
  12. package/dist/src/compiled/@workflow/core/attribute-changes.d.ts +7 -0
  13. package/dist/src/compiled/@workflow/core/encryption.d.ts +15 -0
  14. package/dist/src/compiled/@workflow/core/index.d.ts +1 -0
  15. package/dist/src/compiled/@workflow/core/index.js +2 -2
  16. package/dist/src/compiled/@workflow/core/package.json +1 -1
  17. package/dist/src/compiled/@workflow/core/runtime.js +28 -28
  18. package/dist/src/compiled/@workflow/core/serialization/errors.d.ts +13 -0
  19. package/dist/src/compiled/@workflow/core/serialization/types.d.ts +7 -0
  20. package/dist/src/compiled/@workflow/core/serialization.d.ts +6 -0
  21. package/dist/src/compiled/@workflow/core/set-attributes.d.ts +13 -0
  22. package/dist/src/compiled/@workflow/core/step/context-storage.d.ts +14 -0
  23. package/dist/src/compiled/@workflow/core/types.d.ts +6 -0
  24. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  25. package/dist/src/compiled/@workflow/core/workflow/index.d.ts +1 -0
  26. package/dist/src/compiled/@workflow/core/workflow/set-attributes.d.ts +74 -0
  27. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  28. package/dist/src/compiled/@workflow/errors/index.d.ts +46 -0
  29. package/dist/src/compiled/@workflow/errors/index.js +1 -1
  30. package/dist/src/compiled/@workflow/errors/package.json +1 -1
  31. package/dist/src/compiled/_chunks/workflow/dist-C4EHshZE.js +3 -0
  32. package/dist/src/compiled/_chunks/workflow/resume-hook-D6dFbxMV.js +12 -0
  33. package/dist/src/compiled/_chunks/workflow/sleep-kQ0UwHn0.js +1 -0
  34. package/dist/src/compiled/_chunks/workflow/symbols-DygIC1sj.js +48 -0
  35. package/dist/src/compiled/experimental-ai-sdk-code-mode/LICENSE +21 -0
  36. package/dist/src/compiled/experimental-ai-sdk-code-mode/index.d.ts +144 -0
  37. package/dist/src/compiled/experimental-ai-sdk-code-mode/index.js +482 -0
  38. package/dist/src/compiled/experimental-ai-sdk-code-mode/package.json +7 -0
  39. package/dist/src/context/build-callback-context.d.ts +3 -3
  40. package/dist/src/context/container.d.ts +5 -5
  41. package/dist/src/context/key.d.ts +1 -1
  42. package/dist/src/context/serialize.d.ts +2 -2
  43. package/dist/src/execution/tool-compaction.d.ts +1 -1
  44. package/dist/src/execution/workflow-entry.js +1 -1
  45. package/dist/src/harness/code-mode-approval.d.ts +1 -1
  46. package/dist/src/harness/code-mode-approval.js +1 -1
  47. package/dist/src/harness/code-mode-connection-auth-state.d.ts +1 -1
  48. package/dist/src/harness/code-mode-lifecycle.d.ts +1 -1
  49. package/dist/src/harness/code-mode.d.ts +3 -6
  50. package/dist/src/harness/code-mode.js +1 -1
  51. package/dist/src/harness/tool-loop.js +1 -1
  52. package/dist/src/internal/application/package.js +1 -1
  53. package/dist/src/internal/nitro/host/code-mode-runtime-dependency-plugin.js +1 -1
  54. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  55. package/dist/src/internal/workflow-bundle/builder.js +2 -2
  56. package/dist/src/packages/ash-scaffold/src/channels.js +1 -1
  57. package/dist/src/public/channels/discord/discordChannel.d.ts +3 -4
  58. package/dist/src/public/channels/slack/slackChannel.d.ts +3 -4
  59. package/dist/src/public/channels/teams/teamsChannel.d.ts +3 -4
  60. package/dist/src/public/channels/telegram/telegramChannel.d.ts +3 -4
  61. package/dist/src/public/channels/twilio/twilioChannel.d.ts +3 -4
  62. package/dist/src/public/context/index.d.ts +1 -1
  63. package/dist/src/public/definitions/callback-context.d.ts +1 -1
  64. package/dist/src/public/definitions/defineChannel.d.ts +23 -16
  65. package/dist/src/public/definitions/hook.d.ts +3 -3
  66. package/dist/src/public/definitions/tool.d.ts +8 -6
  67. package/dist/src/public/tool-result-narrowing.d.ts +5 -3
  68. package/dist/src/public/tool-result-narrowing.js +1 -1
  69. package/dist/src/public/tools/approval/approval-helpers.d.ts +3 -3
  70. package/dist/src/public/tools/index.d.ts +1 -1
  71. package/dist/src/runtime/connections/authorization-tokens.d.ts +3 -3
  72. package/dist/src/runtime/connections/principal.d.ts +3 -3
  73. package/dist/src/runtime/framework-tools/code-mode-connection-auth.d.ts +1 -1
  74. package/dist/src/runtime/framework-tools/connection-search.js +1 -1
  75. package/dist/src/runtime/framework-tools/connection-tools.js +1 -1
  76. package/dist/src/runtime/framework-tools/file-state.d.ts +2 -2
  77. package/dist/src/runtime/resolve-connection.d.ts +1 -1
  78. package/dist/src/runtime/resolve-connection.js +1 -1
  79. package/dist/src/runtime/resolve-tool.js +1 -1
  80. package/dist/src/sandbox/state.d.ts +1 -1
  81. package/dist/src/shared/code-mode.d.ts +8 -0
  82. package/dist/src/shared/code-mode.js +1 -1
  83. package/package.json +6 -7
  84. package/dist/src/compiled/_chunks/workflow/dist-DO14ZaQj.js +0 -3
  85. package/dist/src/compiled/_chunks/workflow/resume-hook-DOMbNs-S.js +0 -51
  86. package/dist/src/compiled/_chunks/workflow/sleep-CRjce49s.js +0 -1
  87. package/dist/src/compiled/_chunks/workflow/symbols-D8paKc8P.js +0 -9
  88. package/dist/src/node_modules/.pnpm/@jitl_quickjs-ffi-types@0.32.0/node_modules/@jitl/quickjs-ffi-types/dist/index.js +0 -1
  89. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/emscripten-module.js +0 -1
  90. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/ffi.js +0 -1
  91. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/index.js +0 -1
  92. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/emscripten-module.js +0 -4
  93. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/ffi.js +0 -1
  94. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/index.js +0 -1
  95. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/emscripten-module.js +0 -1
  96. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/ffi.js +0 -1
  97. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/index.js +0 -1
  98. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/emscripten-module.js +0 -1
  99. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/ffi.js +0 -1
  100. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/index.js +0 -1
  101. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/approval-continuation.js +0 -1
  102. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/approval-response.js +0 -1
  103. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/code-mode-tool.js +0 -1
  104. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/continuation-capability.js +0 -1
  105. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/errors.js +0 -1
  106. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/fetch-policy.js +0 -1
  107. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/host-interrupt.js +0 -1
  108. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/index.js +0 -1
  109. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/interrupt-continuation.js +0 -1
  110. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/options.js +0 -1
  111. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/run-code-mode.js +0 -1
  112. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/runtime/manager.js +0 -1
  113. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/runtime/max-workers.js +0 -1
  114. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/runtime/worker-source.js +0 -408
  115. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/serialization.js +0 -1
  116. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/source-cache.js +0 -4
  117. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/telemetry.js +0 -1
  118. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/tool-invocation.js +0 -1
  119. package/dist/src/node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.10_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/tool-prompt.js +0 -9
  120. package/dist/src/node_modules/.pnpm/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/chunk-TAV5CUKK.js +0 -1
  121. package/dist/src/node_modules/.pnpm/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/chunk-V2S4ZYJR.js +0 -6
  122. package/dist/src/node_modules/.pnpm/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/index.js +0 -1
  123. package/dist/src/node_modules/.pnpm/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/module-ES6BEMUI.js +0 -1
  124. package/dist/src/node_modules/.pnpm/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/module-asyncify-2EFITU5U.js +0 -1
  125. package/dist/src/node_modules/.pnpm/quickjs-emscripten@0.32.0/node_modules/quickjs-emscripten/dist/chunk-OHAYRCBA.js +0 -1
  126. package/dist/src/node_modules/.pnpm/quickjs-emscripten@0.32.0/node_modules/quickjs-emscripten/dist/index.js +0 -1
  127. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/index.js +0 -1
  128. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/checks.js +0 -1
  129. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/coerce.js +0 -1
  130. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/compat.js +0 -1
  131. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/errors.js +0 -1
  132. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.js +0 -1
  133. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/from-json-schema.js +0 -1
  134. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/iso.js +0 -1
  135. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/parse.js +0 -1
  136. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/schemas.js +0 -1
  137. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/api.js +0 -1
  138. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/checks.js +0 -1
  139. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/core.js +0 -1
  140. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/doc.js +0 -3
  141. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/errors.js +0 -2
  142. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/index.js +0 -1
  143. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-generator.js +0 -1
  144. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-processors.js +0 -1
  145. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema.js +0 -1
  146. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/parse.js +0 -1
  147. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/regexes.js +0 -1
  148. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/registries.js +0 -1
  149. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/schemas.js +0 -60
  150. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/to-json-schema.js +0 -3
  151. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/util.js +0 -1
  152. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/versions.js +0 -1
  153. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ar.js +0 -1
  154. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/az.js +0 -1
  155. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/be.js +0 -1
  156. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/bg.js +0 -1
  157. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ca.js +0 -1
  158. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/cs.js +0 -1
  159. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/da.js +0 -1
  160. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/de.js +0 -1
  161. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/el.js +0 -1
  162. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/en.js +0 -1
  163. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/eo.js +0 -1
  164. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/es.js +0 -1
  165. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fa.js +0 -1
  166. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fi.js +0 -1
  167. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr-CA.js +0 -1
  168. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr.js +0 -1
  169. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/he.js +0 -1
  170. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hr.js +0 -1
  171. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hu.js +0 -1
  172. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hy.js +0 -1
  173. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/id.js +0 -1
  174. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/index.js +0 -1
  175. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/is.js +0 -1
  176. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/it.js +0 -1
  177. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ja.js +0 -1
  178. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ka.js +0 -1
  179. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/kh.js +0 -1
  180. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/km.js +0 -1
  181. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ko.js +0 -1
  182. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/lt.js +0 -1
  183. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/mk.js +0 -1
  184. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ms.js +0 -1
  185. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/nl.js +0 -1
  186. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/no.js +0 -1
  187. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ota.js +0 -1
  188. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pl.js +0 -1
  189. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ps.js +0 -1
  190. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pt.js +0 -1
  191. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ro.js +0 -1
  192. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ru.js +0 -1
  193. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sl.js +0 -1
  194. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sv.js +0 -1
  195. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ta.js +0 -1
  196. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/th.js +0 -1
  197. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/tr.js +0 -1
  198. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ua.js +0 -1
  199. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uk.js +0 -1
  200. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ur.js +0 -1
  201. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uz.js +0 -1
  202. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/vi.js +0 -1
  203. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/yo.js +0 -1
  204. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-CN.js +0 -1
  205. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-TW.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # experimental-ash
2
2
 
3
+ ## 0.38.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 0a88b75: Prevent `toolResultFrom` from matching the wrong definition when tools share a description or MCP connections share a URL. Runtime resolution now prefers source-derived identity keys and treats colliding fallback keys as non-matching.
8
+ - 8b0a7d8: Upgrade `@workflow/core` to `5.0.0-beta.10`, `@workflow/world-local` to
9
+ `5.0.0-beta.11`, and `@workflow/errors` to `5.0.0-beta.6`. Picks up
10
+ step-side `experimental_setAttributes` ([vercel/workflow#2157][1]) and
11
+ escapes the abandoned November 2025 `@workflow/world-local` slots that
12
+ broke `@workflow/core@5.0.0-beta.9`'s pin chain
13
+ ([vercel/workflow#2168][2], [vercel/workflow#2162][3]). No runtime or
14
+ public API changes — this is the dependency-bump prerequisite for the
15
+ `$ash.*` workflow attribute emission work (see
16
+ `research/active/workflow-run-attributes.md`).
17
+
18
+ [1]: https://github.com/vercel/workflow/pull/2157
19
+ [2]: https://github.com/vercel/workflow/pull/2168
20
+ [3]: https://github.com/vercel/workflow/pull/2162
21
+
22
+ ## 0.38.0
23
+
24
+ ### Minor Changes
25
+
26
+ - e157d85: Tool approval callbacks now receive schema-typed `toolInput`, and raw
27
+ `defineChannel` calls can advertise typed cross-channel receive args.
28
+
29
+ ### Patch Changes
30
+
31
+ - 6563a08: Fix flaky `HookConflictError` in the driver loop by using SDK-generated hook tokens for turn completion instead of explicit deterministic tokens that could collide during handler re-entry.
32
+ - 1a962b8: Rename `AshCallbackContext` to `SessionContext` and export a new `ChannelContext<TCtx>` type from `defineChannel`. `ToolContext` and `HookContext` are unchanged aliases that now extend `SessionContext`.
33
+ - f243a3e: Vendor the code-mode runtime and only include its inline worker assets in hosted function bundles when `CODE_MODE=1`.
34
+
3
35
  ## 0.37.0
4
36
 
5
37
  ### Minor Changes
@@ -6,7 +6,7 @@ The architecture is a three-layer split:
6
6
  - **The harness** does one unit of AI work and returns `{ session, next }`.
7
7
  - **The runtime** persists state, follows `next`, streams events, and owns workflow primitives.
8
8
 
9
- All runtime state flows through a single `AshContext` bound by one `AsyncLocalStorage`. Authored code should not know anything about workflow orchestration.
9
+ All runtime state flows through a single `AlsContext` bound by one `AsyncLocalStorage`. Authored code should not know anything about workflow orchestration.
10
10
 
11
11
  ## Start Here
12
12
 
@@ -1,13 +1,13 @@
1
1
  # Unified Context
2
2
 
3
- Ash uses a single `AshContext` container bound by one `AsyncLocalStorage` instance. No secondary storage, no custom dehydration, no out-of-band parameter passing.
3
+ Ash uses a single `AlsContext` container bound by one `AsyncLocalStorage` instance. No secondary storage, no custom dehydration, no out-of-band parameter passing.
4
4
 
5
5
  ## Core Model
6
6
 
7
7
  `ContextContainer` holds a durable map and a virtual overlay. Reads check the virtual overlay first, then the durable map. Writes always target the durable map.
8
8
 
9
9
  ```ts
10
- interface AshContext {
10
+ interface AlsContext {
11
11
  get<T>(key: ContextKey<T>): T | undefined;
12
12
  require<T>(key: ContextKey<T>): T;
13
13
  has<T>(key: ContextKey<T>): boolean;
@@ -26,7 +26,7 @@ ContextReader { get, require, has }
26
26
  ↑ extends
27
27
  ContextAccessor { set, ensure }
28
28
  ↑ extends
29
- AshContext { entries() }
29
+ AlsContext { entries() }
30
30
  ```
31
31
 
32
32
  ## Seed Keys
@@ -14,7 +14,7 @@ That is why authored identifiers are derived from paths. A file path is a single
14
14
  source of truth; a repeated `name` field is a second source that can drift.
15
15
 
16
16
  The hooks surface (`agent/hooks/`) deliberately reuses the unified
17
- `AshContext` rather than introducing a parallel state-patch channel:
17
+ `AlsContext` rather than introducing a parallel state-patch channel:
18
18
  hooks read and write through `ctx` like every other authored function.
19
19
  One context, one set of keys, one place to look when debugging.
20
20
 
@@ -36,7 +36,7 @@ and easier to fork accidentally.
36
36
 
37
37
  ## Context Is A Single Ambient Contract
38
38
 
39
- Ash uses one `AshContext` container for runtime state. Seed keys carry
39
+ Ash uses one `AlsContext` container for runtime state. Seed keys carry
40
40
  serializable values across step boundaries; providers derive values for the
41
41
  current step. Additional `AsyncLocalStorage` instances or hidden dehydration
42
42
  protocols create parallel contracts that agents and humans must rediscover.
@@ -17,10 +17,10 @@ inside the agent" and "extension contributed by a plugin": both flow
17
17
  through one runtime registry, one `HookContext`, one set of ordering
18
18
  rules.
19
19
 
20
- The hooks surface deliberately reuses the unified `AshContext`:
21
- `HookContext` extends `AshCallbackContext`, giving hooks the same
20
+ The hooks surface deliberately reuses the unified `AlsContext`:
21
+ `HookContext` extends `SessionContext`, giving hooks the same
22
22
  context surface tools, providers, and channels get. There is no
23
- parallel state-patch channel — one `AshContext`, one set of keys, one
23
+ parallel state-patch channel — one `AlsContext`, one set of keys, one
24
24
  place to look when debugging.
25
25
 
26
26
  `HookContext` carries `agent`, `channel`, and `session` (which includes
@@ -200,5 +200,5 @@ documented expectations:
200
200
 
201
201
  - [Hooks](../public/hooks.md) — author-facing reference
202
202
  - [Discovery](./discovery.md) — discovery layout and the unified slot walker
203
- - [Unified Context](./context.md) — `AshContext` surface shared by hooks
203
+ - [Unified Context](./context.md) — `AlsContext` surface shared by hooks
204
204
  - [Message Runtime](./message-runtime.md) — runtime stream events
@@ -88,7 +88,7 @@ invariant is enforced structurally by the `runStep` ALS-scope split
88
88
  ### One Ambient Context Contract
89
89
 
90
90
  Do not introduce additional `new AsyncLocalStorage()` instances for Ash runtime
91
- state. Ambient state should flow through the single `AshContext` container and
91
+ state. Ambient state should flow through the single `AlsContext` container and
92
92
  its provider/seed model.
93
93
 
94
94
  Enforcement target: a source-shape test that allowlists the context storage
@@ -165,10 +165,10 @@ export default defineHook({
165
165
 
166
166
  ### API
167
167
 
168
- | Method | Description |
169
- | ------------ | -------------------------------------------------------------------------------- |
170
- | `get()` | Read the current value. Returns `initial()` on first access. Throws outside ALS. |
171
- | `update(fn)` | Apply a function to the current value. Throws outside ALS. |
168
+ | Method | Description |
169
+ | ------------ | ------------------------------------------------------------------------------------------ |
170
+ | `get()` | Read the current value. Returns `initial()` on first access. Throws outside managed scope. |
171
+ | `update(fn)` | Apply a function to the current value. Throws outside managed scope. |
172
172
 
173
173
  ## Where These APIs Work
174
174
 
@@ -189,20 +189,18 @@ explaining the required scope.
189
189
 
190
190
  ## How It Works
191
191
 
192
- All runtime accessors read from the same `AshContext` container bound by a single `AsyncLocalStorage`.
193
- The framework sets up this context before invoking authored code:
192
+ The framework sets up a context container before invoking authored code:
194
193
 
195
- 1. The runtime entry point creates an `AshContext` and populates durable seed keys (auth, session
196
- ID, compiled bundle).
197
- 2. Before each step, providers create virtual step-local values (session metadata, sandbox access,
198
- skill access) from the current context.
199
- 3. The step callback runs inside the `AsyncLocalStorage` scope, making the context available to
200
- all authored code in the call chain.
201
- 4. After the step, framework providers with provider-owned mutable state (for example the sandbox)
202
- commit those changes back onto the harness session.
194
+ 1. The runtime populates durable seed values (auth, session ID, compiled bundle).
195
+ 2. Before each step, the framework derives step-local values (session metadata, sandbox access,
196
+ skill access) from the durable state.
197
+ 3. Authored code runs inside the managed scope, so `ctx` and `defineState` accessors resolve
198
+ automatically.
199
+ 4. After the step, the framework commits mutable state (for example sandbox changes) back to
200
+ the durable session.
203
201
 
204
- This lifecycle is fully managed by the framework. Authored code only needs to call the public
205
- accessors.
202
+ This lifecycle is fully managed by the framework. Authored code only needs to use `ctx` and
203
+ the public accessors.
206
204
 
207
205
  ## What To Read Next
208
206
 
@@ -3,7 +3,7 @@ import type { RouteHandler, SendFn } from "#channel/routes.js";
3
3
  import type { Session } from "#channel/session.js";
4
4
  import type { SessionAuthContext } from "#channel/types.js";
5
5
  export declare const CHANNEL_SENTINEL: "ash:channel";
6
- export interface CompiledChannel<TState = undefined> {
6
+ export interface CompiledChannel<TState = undefined, TReceiveArgs = Record<string, unknown>> {
7
7
  readonly __kind: typeof CHANNEL_SENTINEL;
8
8
  readonly routes: readonly {
9
9
  method: string;
@@ -13,7 +13,7 @@ export interface CompiledChannel<TState = undefined> {
13
13
  readonly adapter: ChannelAdapter<any>;
14
14
  readonly receive?: (input: {
15
15
  readonly message: string;
16
- readonly args: Readonly<Record<string, unknown>>;
16
+ readonly args: Readonly<TReceiveArgs>;
17
17
  readonly auth: SessionAuthContext | null;
18
18
  }, args: {
19
19
  send: SendFn<TState>;
@@ -248,7 +248,7 @@ export interface Runtime {
248
248
  * Starts a new run from a flat platform-shape input.
249
249
  *
250
250
  * The runtime loads the compiled bundle (using the node id
251
- * baked in at construction time), builds the seeded {@link AshContext},
251
+ * baked in at construction time), builds the seeded {@link AlsContext},
252
252
  * and drives the step loop to completion.
253
253
  */
254
254
  run(input: RunInput): Promise<RunHandle>;
@@ -6,6 +6,7 @@
6
6
  "@chat-adapter/state-memory": "4.29.0",
7
7
  "chokidar": "5.0.0",
8
8
  "commander": "14.0.3",
9
+ "experimental-ai-sdk-code-mode": "1.0.10",
9
10
  "@ai-sdk/google": "4.0.0-canary.73",
10
11
  "gray-matter": "4.0.3",
11
12
  "jose": "6.2.3",
@@ -21,10 +22,10 @@
21
22
  "turndown": "7.2.4",
22
23
  "@vercel/oidc": "3.4.1",
23
24
  "@vercel/sandbox": "2.0.1",
24
- "@workflow/core": "5.0.0-beta.7",
25
- "@workflow/errors": "5.0.0-beta.4",
25
+ "@workflow/core": "5.0.0-beta.10",
26
+ "@workflow/errors": "5.0.0-beta.6",
26
27
  "zod": "4.4.3",
27
28
  "zod-validation-error": "5.0.0"
28
29
  },
29
- "scriptHash": "de60e990328c8664beec98bc5e81625ecdc0cdace1ba8bd8aa267bf9bea29af4"
30
+ "scriptHash": "6a2fa642d99a77617cbfb4e0dc7bbbd774c22d880ea5726a09069c812896bfdd"
30
31
  }
@@ -4,6 +4,7 @@
4
4
  type JsonishRecord = Record<string, any>;
5
5
  type PaginatedResponse<T> = { cursor?: string | null; data: T[]; hasMore?: boolean };
6
6
 
7
+ export type AttributeChange = JsonishRecord;
7
8
  export interface Event extends JsonishRecord {
8
9
  correlationId?: string | null;
9
10
  eventType?: string;
@@ -0,0 +1,7 @@
1
+ import { type AttributeChange } from './_workflow-world.js';
2
+ interface AttributeChangeOptions {
3
+ allowReservedAttributes?: boolean;
4
+ }
5
+ export declare function normalizeAttributeChanges(attrs: Record<string, string | undefined>, options?: AttributeChangeOptions): AttributeChange[];
6
+ export {};
7
+ //# sourceMappingURL=attribute-changes.d.ts.map
@@ -43,6 +43,21 @@ export declare function encrypt(key: CryptoKey, data: Uint8Array): Promise<Uint8
43
43
  /**
44
44
  * Decrypt data using AES-256-GCM.
45
45
  *
46
+ * Any failure inside the Web Crypto layer — most commonly an
47
+ * `OperationError: The operation failed for an operation-specific reason`
48
+ * raised by `AESCipherJob.onDone` when the GCM authentication tag does
49
+ * not verify — is rewrapped as {@link RuntimeDecryptionError}. The
50
+ * wrapped error carries the original DOMException as `cause`, plus a
51
+ * small diagnostic context (`operation`, input `byteLength`) to help
52
+ * disambiguate ciphertext corruption from key mismatch from truncated
53
+ * transport reads.
54
+ *
55
+ * Note: `data` is the raw AES payload (`[nonce][ciphertext + tag]`), not a
56
+ * format-prefixed envelope — callers strip the `encr` marker via
57
+ * `decodeFormatPrefix()` before reaching this function. The outer
58
+ * envelope's format prefix is therefore attached by the serialization
59
+ * layer (`serialization/encryption.ts`), which is the layer that has it.
60
+ *
46
61
  * @param key - CryptoKey from `importKey()`
47
62
  * @param data - `[nonce (12 bytes)][ciphertext + GCM auth tag]`
48
63
  * @returns Decrypted plaintext
@@ -12,6 +12,7 @@
12
12
  export { FatalError, RetryableError, type RetryableErrorOptions, } from '#compiled/@workflow/errors/index.js';
13
13
  export { createHook, createWebhook, type Hook, type HookOptions, type RequestWithResponse, type Webhook, type WebhookOptions, } from './create-hook.js';
14
14
  export { defineHook, type TypedHook } from './define-hook.js';
15
+ export { experimental_setAttributes } from './set-attributes.js';
15
16
  export { sleep } from './sleep.js';
16
17
  export { getStepMetadata, type StepMetadata, } from './step/get-step-metadata.js';
17
18
  export { getWorkflowMetadata, type WorkflowMetadata, } from './step/get-workflow-metadata.js';
@@ -1,2 +1,2 @@
1
- import{i as e,s as t}from"../../_chunks/workflow/dist-DO14ZaQj.js";import{_ as n,c as r,s as i,v as a,y as o}from"../../_chunks/workflow/symbols-D8paKc8P.js";import{Bt as s,C as c,I as l,R as u,Vt as d,m as f,n as p,x as m,zt as h}from"../../_chunks/workflow/resume-hook-DOMbNs-S.js";import{t as g}from"../../_chunks/workflow/sleep-CRjce49s.js";function _(e){a(`createHook()`,`https://workflow-sdk.dev/docs/api-reference/workflow/create-hook`,_)}function v(e){a(`createWebhook()`,`https://workflow-sdk.dev/docs/api-reference/workflow/create-webhook`,v)}function y({schema:e}={}){function t(e){a(`defineHook().create()`,`https://workflow-sdk.dev/docs/api-reference/workflow/define-hook`,t)}return{create:t,async resume(t,n){if(!e?.[`~standard`])return await p(t,n);let r=e[`~standard`].validate(n);if(r instanceof Promise&&(r=await r),r.issues){let e=r.issues.map(e=>{let t=e.path?.map(e=>String(typeof e==`object`&&e?e.key:e)).join(`.`);return t?` at "${t}": ${e.message}`:` ${e.message}`});throw Error(`Hook payload did not match the defined schema:\n${e.join(`
2
- `)}`)}return await p(t,r.value)}}}function b(){let e=u.getStore();return e||n(`getStepMetadata()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-step-metadata`,b),e.stepMetadata}function x(){let e=u.getStore();return e||o(`getWorkflowMetadata()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-workflow-metadata`,x),e.workflowMetadata}function S(e={}){let t=u.getStore();t||o(`getWritable()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-writable`,S);let{namespace:n}=e,a=t.workflowMetadata.workflowRunId,p=l(a,n),g=c(m(globalThis,t.ops,a,t.encryptionKey),t.encryptionKey),_=new f(a,p),v=h();return t.ops.push(v.promise),s(g.readable,_,v).catch(()=>{}),d(g.writable,v),Object.defineProperty(g.writable,i,{value:p,writable:!1}),Object.defineProperty(g.writable,r,{value:a,writable:!1}),g.writable}export{e as FatalError,t as RetryableError,_ as createHook,v as createWebhook,y as defineHook,b as getStepMetadata,x as getWorkflowMetadata,S as getWritable,g as sleep};
1
+ import{i as e,s as t}from"../../_chunks/workflow/dist-C4EHshZE.js";import{c as n,et as r,nt as i,s as a,tt as o}from"../../_chunks/workflow/symbols-DygIC1sj.js";import{Bt as s,C as c,I as l,R as u,Rt as d,Vt as f,m as p,n as m,x as h,zt as g}from"../../_chunks/workflow/resume-hook-D6dFbxMV.js";import{n as _,t as v}from"../../_chunks/workflow/sleep-kQ0UwHn0.js";function y(e){o(`createHook()`,`https://workflow-sdk.dev/docs/api-reference/workflow/create-hook`,y)}function b(e){o(`createWebhook()`,`https://workflow-sdk.dev/docs/api-reference/workflow/create-webhook`,b)}function x({schema:e}={}){function t(e){o(`defineHook().create()`,`https://workflow-sdk.dev/docs/api-reference/workflow/define-hook`,t)}return{create:t,async resume(t,n){if(!e?.[`~standard`])return await m(t,n);let r=e[`~standard`].validate(n);if(r instanceof Promise&&(r=await r),r.issues){let e=r.issues.map(e=>{let t=e.path?.map(e=>String(typeof e==`object`&&e?e.key:e)).join(`.`);return t?` at "${t}": ${e.message}`:` ${e.message}`});throw Error(`Hook payload did not match the defined schema:\n${e.join(`
2
+ `)}`)}return await m(t,r.value)}}}const S=Symbol.for(`@workflow/setAttributes//unsupportedWorldWarned`);async function C(t,n={}){let r=u.getStore()?.workflowMetadata?.workflowRunId;if(!r)throw new e(`experimental_setAttributes() must be called from a 'use workflow' or 'use step' function. Calling it from plain host code is not supported.`);let i=_(t,n);if(i.length===0)return;let a=await d();if(typeof a.runs.experimentalSetAttributes!=`function`){let e=globalThis;if(!e[S]){e[S]=!0;let t=`name`in a&&typeof a.name==`string`?a.name:``,n=t?` (${t})`:``;console.warn(`[workflow] setAttributes: the current world implementation${n} does not implement experimentalSetAttributes; this call (and any subsequent setAttributes calls in this process) is a no-op. Attributes will become available once the world adapter adds support.`)}return}await a.runs.experimentalSetAttributes(r,i,n.allowReservedAttributes===!0?{allowReservedAttributes:!0}:{})}function w(){let e=u.getStore();return e||r(`getStepMetadata()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-step-metadata`,w),e.stepMetadata}function T(){let e=u.getStore();return e||i(`getWorkflowMetadata()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-workflow-metadata`,T),e.workflowMetadata}function E(e={}){let t=u.getStore();t||i(`getWritable()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-writable`,E);let{namespace:r}=e,o=t.workflowMetadata.workflowRunId,d=l(o,r),m=t.writables??=new Map,_=m.get(d);if(_)return _.writable;let v=c(h(globalThis,t.ops,o,t.encryptionKey),t.encryptionKey),y=new p(o,d),b=g();return t.ops.push(b.promise),s(v.readable,y,b).catch(()=>{}),f(v.writable,b),Object.defineProperty(v.writable,a,{value:d,writable:!1}),Object.defineProperty(v.writable,n,{value:o,writable:!1}),m.set(d,{writable:v.writable,state:b}),v.writable}export{e as FatalError,t as RetryableError,y as createHook,b as createWebhook,x as defineHook,C as experimental_setAttributes,w as getStepMetadata,T as getWorkflowMetadata,E as getWritable,v as sleep};
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "experimental-ash-compiled-workflow-core",
3
- "version": "5.0.0-beta.7",
3
+ "version": "5.0.0-beta.10",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "license": "Apache-2.0"