@bolt-foundry/gambit-core 0.8.3 → 0.8.5-rc.11

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 (441) hide show
  1. package/README.md +38 -7
  2. package/cards/context.card.md +4 -4
  3. package/decks/anthropic/agent-sdk/PROMPT.md +9 -0
  4. package/decks/openai/codex-sdk/PROMPT.md +9 -0
  5. package/decks/openai/codex-sdk/codex_client.ts +109 -0
  6. package/decks/openai/codex-sdk/codex_sdk_bridge.deck.ts +36 -0
  7. package/esm/cards/context.card.md +9 -0
  8. package/esm/cards/end.card.md +10 -0
  9. package/esm/cards/generate-test-input.card.md +12 -0
  10. package/esm/cards/respond.card.md +10 -0
  11. package/esm/decks/anthropic/agent-sdk/PROMPT.md +9 -0
  12. package/esm/decks/openai/codex-sdk/PROMPT.md +9 -0
  13. package/esm/decks/openai/codex-sdk/codex_client.ts +109 -0
  14. package/esm/decks/openai/codex-sdk/codex_sdk_bridge.deck.ts +36 -0
  15. package/{script/deps/jsr.io/@std/collections/1.1.4 → esm/deps/jsr.io/@std/collections/1.1.6}/deep_merge.d.ts +2 -2
  16. package/esm/deps/jsr.io/@std/collections/{1.1.4 → 1.1.6}/deep_merge.d.ts.map +1 -1
  17. package/esm/deps/jsr.io/@std/collections/{1.1.4 → 1.1.6}/deep_merge.js +29 -19
  18. package/esm/deps/jsr.io/@std/front-matter/1.0.9/yaml.js +1 -1
  19. package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.js +1 -1
  20. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.d.ts.map +1 -1
  21. package/{script/deps/jsr.io/@std/yaml/1.0.11 → esm/deps/jsr.io/@std/yaml/1.0.12}/_loader_state.d.ts +0 -5
  22. package/esm/deps/jsr.io/@std/yaml/1.0.12/_loader_state.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_loader_state.js +216 -175
  24. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.d.ts.map +1 -1
  25. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.d.ts.map +1 -1
  26. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.d.ts.map +1 -1
  27. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.d.ts.map +1 -1
  28. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.d.ts.map +1 -1
  29. package/{script/deps/jsr.io/@std/yaml/1.0.11 → esm/deps/jsr.io/@std/yaml/1.0.12}/_type/map.d.ts.map +1 -1
  30. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.d.ts.map +1 -1
  31. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.d.ts.map +1 -1
  32. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.d.ts.map +1 -1
  33. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.d.ts.map +1 -1
  34. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.d.ts.map +1 -1
  35. package/{script/deps/jsr.io/@std/yaml/1.0.11 → esm/deps/jsr.io/@std/yaml/1.0.12}/_type/seq.d.ts.map +1 -1
  36. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.d.ts.map +1 -1
  37. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.d.ts.map +1 -1
  38. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.d.ts.map +1 -1
  39. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.d.ts.map +1 -1
  40. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.d.ts.map +1 -1
  41. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.d.ts.map +1 -1
  42. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.d.ts.map +1 -1
  43. package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.js +0 -2
  44. package/esm/mod.d.ts +10 -2
  45. package/esm/mod.d.ts.map +1 -1
  46. package/esm/mod.js +4 -0
  47. package/esm/schemas/graders/contexts/conversation.d.ts +22 -0
  48. package/esm/schemas/graders/contexts/conversation.d.ts.map +1 -0
  49. package/esm/schemas/graders/contexts/conversation.js +17 -0
  50. package/esm/schemas/graders/contexts/conversation.ts +40 -0
  51. package/esm/schemas/graders/contexts/conversation.zod.d.ts +3 -0
  52. package/esm/schemas/graders/contexts/conversation.zod.d.ts.map +1 -0
  53. package/esm/schemas/graders/contexts/conversation.zod.js +2 -0
  54. package/esm/schemas/graders/contexts/conversation.zod.ts +1 -0
  55. package/esm/schemas/graders/contexts/conversation_tools.d.ts +31 -0
  56. package/esm/schemas/graders/contexts/conversation_tools.d.ts.map +1 -0
  57. package/esm/schemas/graders/contexts/conversation_tools.js +25 -0
  58. package/esm/schemas/graders/contexts/conversation_tools.ts +63 -0
  59. package/esm/schemas/graders/contexts/conversation_tools.zod.d.ts +3 -0
  60. package/esm/schemas/graders/contexts/conversation_tools.zod.d.ts.map +1 -0
  61. package/esm/schemas/graders/contexts/conversation_tools.zod.js +2 -0
  62. package/esm/schemas/graders/contexts/conversation_tools.zod.ts +1 -0
  63. package/esm/schemas/graders/contexts/tools.d.ts +4 -0
  64. package/esm/schemas/graders/contexts/tools.d.ts.map +1 -0
  65. package/esm/schemas/graders/contexts/tools.js +3 -0
  66. package/esm/schemas/graders/contexts/tools.ts +5 -0
  67. package/esm/schemas/graders/contexts/tools.zod.d.ts +3 -0
  68. package/esm/schemas/graders/contexts/tools.zod.d.ts.map +1 -0
  69. package/esm/schemas/graders/contexts/tools.zod.js +2 -0
  70. package/esm/schemas/graders/contexts/tools.zod.ts +1 -0
  71. package/esm/schemas/graders/contexts/turn.d.ts +10 -0
  72. package/esm/schemas/graders/contexts/turn.d.ts.map +1 -0
  73. package/esm/schemas/graders/contexts/turn.js +8 -0
  74. package/esm/schemas/graders/contexts/turn.ts +17 -0
  75. package/esm/schemas/graders/contexts/turn.zod.d.ts +3 -0
  76. package/esm/schemas/graders/contexts/turn.zod.d.ts.map +1 -0
  77. package/esm/schemas/graders/contexts/turn.zod.js +2 -0
  78. package/esm/schemas/graders/contexts/turn.zod.ts +1 -0
  79. package/esm/schemas/graders/contexts/turn_tools.d.ts +32 -0
  80. package/esm/schemas/graders/contexts/turn_tools.d.ts.map +1 -0
  81. package/esm/schemas/graders/contexts/turn_tools.js +28 -0
  82. package/esm/schemas/graders/contexts/turn_tools.ts +63 -0
  83. package/esm/schemas/graders/contexts/turn_tools.zod.d.ts +3 -0
  84. package/esm/schemas/graders/contexts/turn_tools.zod.d.ts.map +1 -0
  85. package/esm/schemas/graders/contexts/turn_tools.zod.js +2 -0
  86. package/esm/schemas/graders/contexts/turn_tools.zod.ts +1 -0
  87. package/esm/schemas/graders/grader_output.d.ts +10 -0
  88. package/esm/schemas/graders/grader_output.d.ts.map +1 -0
  89. package/esm/schemas/graders/grader_output.js +8 -0
  90. package/esm/schemas/graders/grader_output.ts +15 -0
  91. package/esm/schemas/graders/grader_output.zod.d.ts +3 -0
  92. package/esm/schemas/graders/grader_output.zod.d.ts.map +1 -0
  93. package/esm/schemas/graders/grader_output.zod.js +2 -0
  94. package/esm/schemas/graders/grader_output.zod.ts +1 -0
  95. package/esm/schemas/graders/respond.d.ts +12 -0
  96. package/esm/schemas/graders/respond.d.ts.map +1 -0
  97. package/esm/schemas/graders/respond.js +10 -0
  98. package/esm/schemas/graders/respond.ts +19 -0
  99. package/esm/schemas/graders/respond.zod.d.ts +3 -0
  100. package/esm/schemas/graders/respond.zod.d.ts.map +1 -0
  101. package/esm/schemas/graders/respond.zod.js +2 -0
  102. package/esm/schemas/graders/respond.zod.ts +1 -0
  103. package/esm/schemas/scenarios/plain_chat_input_optional.d.ts +5 -0
  104. package/esm/schemas/scenarios/plain_chat_input_optional.d.ts.map +1 -0
  105. package/esm/schemas/scenarios/plain_chat_input_optional.js +5 -0
  106. package/esm/schemas/scenarios/plain_chat_input_optional.ts +6 -0
  107. package/esm/schemas/scenarios/plain_chat_input_optional.zod.d.ts +3 -0
  108. package/esm/schemas/scenarios/plain_chat_input_optional.zod.d.ts.map +1 -0
  109. package/esm/schemas/scenarios/plain_chat_input_optional.zod.js +2 -0
  110. package/esm/schemas/scenarios/plain_chat_input_optional.zod.ts +1 -0
  111. package/esm/schemas/scenarios/plain_chat_output.d.ts +5 -0
  112. package/esm/schemas/scenarios/plain_chat_output.d.ts.map +1 -0
  113. package/esm/schemas/scenarios/plain_chat_output.js +4 -0
  114. package/esm/schemas/scenarios/plain_chat_output.ts +5 -0
  115. package/esm/schemas/scenarios/plain_chat_output.zod.d.ts +3 -0
  116. package/esm/schemas/scenarios/plain_chat_output.zod.d.ts.map +1 -0
  117. package/esm/schemas/scenarios/plain_chat_output.zod.js +2 -0
  118. package/esm/schemas/scenarios/plain_chat_output.zod.ts +1 -0
  119. package/esm/snippets/context.md +8 -0
  120. package/esm/snippets/end.md +10 -0
  121. package/esm/snippets/generate-test-input.md +12 -0
  122. package/esm/snippets/init.md +12 -0
  123. package/esm/snippets/respond.md +10 -0
  124. package/esm/snippets/scenario-participant.md +10 -0
  125. package/esm/src/builtins.d.ts +2 -0
  126. package/esm/src/builtins.d.ts.map +1 -1
  127. package/esm/src/builtins.js +45 -1
  128. package/esm/src/constants.d.ts +0 -1
  129. package/esm/src/constants.d.ts.map +1 -1
  130. package/esm/src/constants.js +0 -4
  131. package/esm/src/loader.d.ts.map +1 -1
  132. package/esm/src/loader.js +159 -11
  133. package/esm/src/markdown.d.ts.map +1 -1
  134. package/esm/src/markdown.js +267 -41
  135. package/esm/src/permissions.d.ts +143 -0
  136. package/esm/src/permissions.d.ts.map +1 -0
  137. package/esm/src/permissions.js +406 -0
  138. package/esm/src/runtime.d.ts +43 -3
  139. package/esm/src/runtime.d.ts.map +1 -1
  140. package/esm/src/runtime.js +4372 -406
  141. package/esm/src/runtime_exec_host.d.ts +6 -0
  142. package/esm/src/runtime_exec_host.d.ts.map +1 -0
  143. package/esm/src/runtime_exec_host.js +17 -0
  144. package/esm/src/runtime_exec_host_contract.d.ts +23 -0
  145. package/esm/src/runtime_exec_host_contract.d.ts.map +1 -0
  146. package/esm/src/runtime_exec_host_contract.js +14 -0
  147. package/esm/src/runtime_exec_host_deno.d.ts +3 -0
  148. package/esm/src/runtime_exec_host_deno.d.ts.map +1 -0
  149. package/esm/src/runtime_exec_host_deno.js +35 -0
  150. package/esm/src/runtime_exec_host_unsupported.d.ts +3 -0
  151. package/esm/src/runtime_exec_host_unsupported.d.ts.map +1 -0
  152. package/esm/src/runtime_exec_host_unsupported.js +8 -0
  153. package/esm/src/runtime_worker_host.d.ts +6 -0
  154. package/esm/src/runtime_worker_host.d.ts.map +1 -0
  155. package/esm/src/runtime_worker_host.js +17 -0
  156. package/esm/src/runtime_worker_host_contract.d.ts +33 -0
  157. package/esm/src/runtime_worker_host_contract.d.ts.map +1 -0
  158. package/esm/src/runtime_worker_host_contract.js +14 -0
  159. package/esm/src/runtime_worker_host_deno.d.ts +3 -0
  160. package/esm/src/runtime_worker_host_deno.d.ts.map +1 -0
  161. package/esm/src/runtime_worker_host_deno.js +26 -0
  162. package/esm/src/runtime_worker_host_unsupported.d.ts +3 -0
  163. package/esm/src/runtime_worker_host_unsupported.d.ts.map +1 -0
  164. package/esm/src/runtime_worker_host_unsupported.js +8 -0
  165. package/esm/src/state.d.ts +1 -0
  166. package/esm/src/state.d.ts.map +1 -1
  167. package/esm/src/types.d.ts +259 -3
  168. package/esm/src/types.d.ts.map +1 -1
  169. package/package.json +73 -1
  170. package/schemas/graders/contexts/conversation.ts +32 -9
  171. package/schemas/graders/contexts/conversation.zod.ts +1 -0
  172. package/schemas/graders/contexts/conversation_tools.ts +63 -0
  173. package/schemas/graders/contexts/conversation_tools.zod.ts +1 -0
  174. package/schemas/graders/contexts/tools.ts +5 -0
  175. package/schemas/graders/contexts/tools.zod.ts +1 -0
  176. package/schemas/graders/contexts/turn.ts +8 -1
  177. package/schemas/graders/contexts/turn.zod.ts +1 -0
  178. package/schemas/graders/contexts/turn_tools.ts +63 -0
  179. package/schemas/graders/contexts/turn_tools.zod.ts +1 -0
  180. package/schemas/graders/grader_output.ts +9 -1
  181. package/schemas/graders/grader_output.zod.ts +1 -0
  182. package/schemas/graders/respond.ts +13 -3
  183. package/schemas/graders/respond.zod.ts +1 -0
  184. package/schemas/scenarios/plain_chat_input_optional.ts +6 -0
  185. package/schemas/scenarios/plain_chat_input_optional.zod.ts +1 -0
  186. package/schemas/scenarios/plain_chat_output.ts +5 -0
  187. package/schemas/scenarios/plain_chat_output.zod.ts +1 -0
  188. package/script/cards/context.card.md +9 -0
  189. package/script/cards/end.card.md +10 -0
  190. package/script/cards/generate-test-input.card.md +12 -0
  191. package/script/cards/respond.card.md +10 -0
  192. package/script/decks/anthropic/agent-sdk/PROMPT.md +9 -0
  193. package/script/decks/openai/codex-sdk/PROMPT.md +9 -0
  194. package/script/decks/openai/codex-sdk/codex_client.ts +109 -0
  195. package/script/decks/openai/codex-sdk/codex_sdk_bridge.deck.ts +36 -0
  196. package/{esm/deps/jsr.io/@std/collections/1.1.4 → script/deps/jsr.io/@std/collections/1.1.6}/deep_merge.d.ts +2 -2
  197. package/script/deps/jsr.io/@std/collections/{1.1.4 → 1.1.6}/deep_merge.d.ts.map +1 -1
  198. package/script/deps/jsr.io/@std/collections/{1.1.4 → 1.1.6}/deep_merge.js +29 -19
  199. package/script/deps/jsr.io/@std/front-matter/1.0.9/yaml.js +1 -1
  200. package/script/deps/jsr.io/@std/toml/1.0.11/_parser.js +1 -1
  201. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.d.ts.map +1 -1
  202. package/{esm/deps/jsr.io/@std/yaml/1.0.11 → script/deps/jsr.io/@std/yaml/1.0.12}/_loader_state.d.ts +0 -5
  203. package/script/deps/jsr.io/@std/yaml/1.0.12/_loader_state.d.ts.map +1 -0
  204. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_loader_state.js +216 -175
  205. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.d.ts.map +1 -1
  206. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.d.ts.map +1 -1
  207. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.d.ts.map +1 -1
  208. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.d.ts.map +1 -1
  209. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.d.ts.map +1 -1
  210. package/{esm/deps/jsr.io/@std/yaml/1.0.11 → script/deps/jsr.io/@std/yaml/1.0.12}/_type/map.d.ts.map +1 -1
  211. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.d.ts.map +1 -1
  212. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.d.ts.map +1 -1
  213. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.d.ts.map +1 -1
  214. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.d.ts.map +1 -1
  215. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.d.ts.map +1 -1
  216. package/{esm/deps/jsr.io/@std/yaml/1.0.11 → script/deps/jsr.io/@std/yaml/1.0.12}/_type/seq.d.ts.map +1 -1
  217. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.d.ts.map +1 -1
  218. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.d.ts.map +1 -1
  219. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.d.ts.map +1 -1
  220. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.d.ts.map +1 -1
  221. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.d.ts.map +1 -1
  222. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.d.ts.map +1 -1
  223. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.d.ts.map +1 -1
  224. package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.js +0 -2
  225. package/script/mod.d.ts +10 -2
  226. package/script/mod.d.ts.map +1 -1
  227. package/script/mod.js +12 -1
  228. package/script/schemas/graders/contexts/conversation.d.ts +22 -0
  229. package/script/schemas/graders/contexts/conversation.d.ts.map +1 -0
  230. package/script/schemas/graders/contexts/conversation.js +20 -0
  231. package/script/schemas/graders/contexts/conversation.ts +40 -0
  232. package/script/schemas/graders/contexts/conversation.zod.d.ts +3 -0
  233. package/script/schemas/graders/contexts/conversation.zod.d.ts.map +1 -0
  234. package/script/schemas/graders/contexts/conversation.zod.js +9 -0
  235. package/script/schemas/graders/contexts/conversation.zod.ts +1 -0
  236. package/script/schemas/graders/contexts/conversation_tools.d.ts +31 -0
  237. package/script/schemas/graders/contexts/conversation_tools.d.ts.map +1 -0
  238. package/script/schemas/graders/contexts/conversation_tools.js +28 -0
  239. package/script/schemas/graders/contexts/conversation_tools.ts +63 -0
  240. package/script/schemas/graders/contexts/conversation_tools.zod.d.ts +3 -0
  241. package/script/schemas/graders/contexts/conversation_tools.zod.d.ts.map +1 -0
  242. package/script/schemas/graders/contexts/conversation_tools.zod.js +9 -0
  243. package/script/schemas/graders/contexts/conversation_tools.zod.ts +1 -0
  244. package/script/schemas/graders/contexts/tools.d.ts +4 -0
  245. package/script/schemas/graders/contexts/tools.d.ts.map +1 -0
  246. package/script/schemas/graders/contexts/tools.js +12 -0
  247. package/script/schemas/graders/contexts/tools.ts +5 -0
  248. package/script/schemas/graders/contexts/tools.zod.d.ts +3 -0
  249. package/script/schemas/graders/contexts/tools.zod.d.ts.map +1 -0
  250. package/script/schemas/graders/contexts/tools.zod.js +9 -0
  251. package/script/schemas/graders/contexts/tools.zod.ts +1 -0
  252. package/script/schemas/graders/contexts/turn.d.ts +10 -0
  253. package/script/schemas/graders/contexts/turn.d.ts.map +1 -0
  254. package/script/schemas/graders/contexts/turn.js +10 -0
  255. package/script/schemas/graders/contexts/turn.ts +17 -0
  256. package/script/schemas/graders/contexts/turn.zod.d.ts +3 -0
  257. package/script/schemas/graders/contexts/turn.zod.d.ts.map +1 -0
  258. package/script/schemas/graders/contexts/turn.zod.js +9 -0
  259. package/script/schemas/graders/contexts/turn.zod.ts +1 -0
  260. package/script/schemas/graders/contexts/turn_tools.d.ts +32 -0
  261. package/script/schemas/graders/contexts/turn_tools.d.ts.map +1 -0
  262. package/script/schemas/graders/contexts/turn_tools.js +31 -0
  263. package/script/schemas/graders/contexts/turn_tools.ts +63 -0
  264. package/script/schemas/graders/contexts/turn_tools.zod.d.ts +3 -0
  265. package/script/schemas/graders/contexts/turn_tools.zod.d.ts.map +1 -0
  266. package/script/schemas/graders/contexts/turn_tools.zod.js +9 -0
  267. package/script/schemas/graders/contexts/turn_tools.zod.ts +1 -0
  268. package/script/schemas/graders/grader_output.d.ts +10 -0
  269. package/script/schemas/graders/grader_output.d.ts.map +1 -0
  270. package/script/schemas/graders/grader_output.js +10 -0
  271. package/script/schemas/graders/grader_output.ts +15 -0
  272. package/script/schemas/graders/grader_output.zod.d.ts +3 -0
  273. package/script/schemas/graders/grader_output.zod.d.ts.map +1 -0
  274. package/script/schemas/graders/grader_output.zod.js +9 -0
  275. package/script/schemas/graders/grader_output.zod.ts +1 -0
  276. package/script/schemas/graders/respond.d.ts +12 -0
  277. package/script/schemas/graders/respond.d.ts.map +1 -0
  278. package/script/schemas/graders/respond.js +12 -0
  279. package/script/schemas/graders/respond.ts +19 -0
  280. package/script/schemas/graders/respond.zod.d.ts +3 -0
  281. package/script/schemas/graders/respond.zod.d.ts.map +1 -0
  282. package/script/schemas/graders/respond.zod.js +9 -0
  283. package/script/schemas/graders/respond.zod.ts +1 -0
  284. package/script/schemas/scenarios/plain_chat_input_optional.d.ts +5 -0
  285. package/script/schemas/scenarios/plain_chat_input_optional.d.ts.map +1 -0
  286. package/script/schemas/scenarios/plain_chat_input_optional.js +7 -0
  287. package/script/schemas/scenarios/plain_chat_input_optional.ts +6 -0
  288. package/script/schemas/scenarios/plain_chat_input_optional.zod.d.ts +3 -0
  289. package/script/schemas/scenarios/plain_chat_input_optional.zod.d.ts.map +1 -0
  290. package/script/schemas/scenarios/plain_chat_input_optional.zod.js +9 -0
  291. package/script/schemas/scenarios/plain_chat_input_optional.zod.ts +1 -0
  292. package/script/schemas/scenarios/plain_chat_output.d.ts +5 -0
  293. package/script/schemas/scenarios/plain_chat_output.d.ts.map +1 -0
  294. package/script/schemas/scenarios/plain_chat_output.js +6 -0
  295. package/script/schemas/scenarios/plain_chat_output.ts +5 -0
  296. package/script/schemas/scenarios/plain_chat_output.zod.d.ts +3 -0
  297. package/script/schemas/scenarios/plain_chat_output.zod.d.ts.map +1 -0
  298. package/script/schemas/scenarios/plain_chat_output.zod.js +9 -0
  299. package/script/schemas/scenarios/plain_chat_output.zod.ts +1 -0
  300. package/script/snippets/context.md +8 -0
  301. package/script/snippets/end.md +10 -0
  302. package/script/snippets/generate-test-input.md +12 -0
  303. package/script/snippets/init.md +12 -0
  304. package/script/snippets/respond.md +10 -0
  305. package/script/snippets/scenario-participant.md +10 -0
  306. package/script/src/builtins.d.ts +2 -0
  307. package/script/src/builtins.d.ts.map +1 -1
  308. package/script/src/builtins.js +47 -1
  309. package/script/src/constants.d.ts +0 -1
  310. package/script/src/constants.d.ts.map +1 -1
  311. package/script/src/constants.js +1 -5
  312. package/script/src/loader.d.ts.map +1 -1
  313. package/script/src/loader.js +158 -10
  314. package/script/src/markdown.d.ts.map +1 -1
  315. package/script/src/markdown.js +267 -41
  316. package/script/src/permissions.d.ts +143 -0
  317. package/script/src/permissions.d.ts.map +1 -0
  318. package/script/src/permissions.js +453 -0
  319. package/script/src/runtime.d.ts +43 -3
  320. package/script/src/runtime.d.ts.map +1 -1
  321. package/script/src/runtime.js +4374 -405
  322. package/script/src/runtime_exec_host.d.ts +6 -0
  323. package/script/src/runtime_exec_host.d.ts.map +1 -0
  324. package/script/src/runtime_exec_host.js +56 -0
  325. package/script/src/runtime_exec_host_contract.d.ts +23 -0
  326. package/script/src/runtime_exec_host_contract.d.ts.map +1 -0
  327. package/script/src/runtime_exec_host_contract.js +18 -0
  328. package/script/src/runtime_exec_host_deno.d.ts +3 -0
  329. package/script/src/runtime_exec_host_deno.d.ts.map +1 -0
  330. package/script/src/runtime_exec_host_deno.js +71 -0
  331. package/script/src/runtime_exec_host_unsupported.d.ts +3 -0
  332. package/script/src/runtime_exec_host_unsupported.d.ts.map +1 -0
  333. package/script/src/runtime_exec_host_unsupported.js +11 -0
  334. package/script/src/runtime_worker_host.d.ts +6 -0
  335. package/script/src/runtime_worker_host.d.ts.map +1 -0
  336. package/script/src/runtime_worker_host.js +56 -0
  337. package/script/src/runtime_worker_host_contract.d.ts +33 -0
  338. package/script/src/runtime_worker_host_contract.d.ts.map +1 -0
  339. package/script/src/runtime_worker_host_contract.js +18 -0
  340. package/script/src/runtime_worker_host_deno.d.ts +3 -0
  341. package/script/src/runtime_worker_host_deno.d.ts.map +1 -0
  342. package/script/src/runtime_worker_host_deno.js +62 -0
  343. package/script/src/runtime_worker_host_unsupported.d.ts +3 -0
  344. package/script/src/runtime_worker_host_unsupported.d.ts.map +1 -0
  345. package/script/src/runtime_worker_host_unsupported.js +11 -0
  346. package/script/src/state.d.ts +1 -0
  347. package/script/src/state.d.ts.map +1 -1
  348. package/script/src/types.d.ts +259 -3
  349. package/script/src/types.d.ts.map +1 -1
  350. package/snippets/context.md +8 -0
  351. package/snippets/end.md +10 -0
  352. package/snippets/generate-test-input.md +12 -0
  353. package/snippets/init.md +12 -0
  354. package/snippets/respond.md +10 -0
  355. package/snippets/scenario-participant.md +10 -0
  356. package/esm/deps/jsr.io/@std/collections/1.1.4/_utils.d.ts +0 -6
  357. package/esm/deps/jsr.io/@std/collections/1.1.4/_utils.d.ts.map +0 -1
  358. package/esm/deps/jsr.io/@std/collections/1.1.4/_utils.js +0 -18
  359. package/esm/deps/jsr.io/@std/yaml/1.0.11/_loader_state.d.ts.map +0 -1
  360. package/script/deps/jsr.io/@std/collections/1.1.4/_utils.d.ts +0 -6
  361. package/script/deps/jsr.io/@std/collections/1.1.4/_utils.d.ts.map +0 -1
  362. package/script/deps/jsr.io/@std/collections/1.1.4/_utils.js +0 -21
  363. package/script/deps/jsr.io/@std/yaml/1.0.11/_loader_state.d.ts.map +0 -1
  364. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.d.ts +0 -0
  365. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.js +0 -0
  366. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.d.ts +0 -0
  367. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.js +0 -0
  368. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.d.ts +0 -0
  369. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.js +0 -0
  370. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.d.ts +0 -0
  371. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.js +0 -0
  372. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.d.ts +0 -0
  373. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.js +0 -0
  374. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.d.ts +0 -0
  375. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.js +0 -0
  376. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/map.d.ts +0 -0
  377. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/map.js +0 -0
  378. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.d.ts +0 -0
  379. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.js +0 -0
  380. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.d.ts +0 -0
  381. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.js +0 -0
  382. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.d.ts +0 -0
  383. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.js +0 -0
  384. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.d.ts +0 -0
  385. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.js +0 -0
  386. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.d.ts +0 -0
  387. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.js +0 -0
  388. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/seq.d.ts +0 -0
  389. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/seq.js +0 -0
  390. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.d.ts +0 -0
  391. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.js +0 -0
  392. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.d.ts +0 -0
  393. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.js +0 -0
  394. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.d.ts +0 -0
  395. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.js +0 -0
  396. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.d.ts +0 -0
  397. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.js +0 -0
  398. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.d.ts +0 -0
  399. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.js +0 -0
  400. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.d.ts +0 -0
  401. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.js +0 -0
  402. /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.d.ts +0 -0
  403. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.d.ts +0 -0
  404. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.js +0 -0
  405. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.d.ts +0 -0
  406. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.js +0 -0
  407. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.d.ts +0 -0
  408. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.js +0 -0
  409. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.d.ts +0 -0
  410. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.js +0 -0
  411. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.d.ts +0 -0
  412. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.js +0 -0
  413. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.d.ts +0 -0
  414. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.js +0 -0
  415. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/map.d.ts +0 -0
  416. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/map.js +0 -0
  417. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.d.ts +0 -0
  418. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.js +0 -0
  419. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.d.ts +0 -0
  420. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.js +0 -0
  421. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.d.ts +0 -0
  422. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.js +0 -0
  423. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.d.ts +0 -0
  424. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.js +0 -0
  425. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.d.ts +0 -0
  426. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.js +0 -0
  427. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/seq.d.ts +0 -0
  428. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/seq.js +0 -0
  429. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.d.ts +0 -0
  430. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.js +0 -0
  431. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.d.ts +0 -0
  432. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.js +0 -0
  433. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.d.ts +0 -0
  434. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.js +0 -0
  435. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.d.ts +0 -0
  436. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.js +0 -0
  437. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.d.ts +0 -0
  438. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.js +0 -0
  439. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.d.ts +0 -0
  440. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.js +0 -0
  441. /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.d.ts +0 -0
package/README.md CHANGED
@@ -112,6 +112,14 @@ export default defineCard({
112
112
  });
113
113
  ```
114
114
 
115
+ For built-in Gambit schemas in TypeScript/compute decks, use canonical module
116
+ subpaths:
117
+
118
+ ```
119
+ import contextSchema from "@bolt-foundry/gambit-core/schemas/scenarios/plain_chat_input_optional.zod.ts";
120
+ import responseSchema from "@bolt-foundry/gambit-core/schemas/scenarios/plain_chat_output.zod.ts";
121
+ ```
122
+
115
123
  ## Running decks programmatically
116
124
 
117
125
  The runtime loads the deck (Markdown or TS) and steps through each pass. Provide
@@ -145,7 +153,13 @@ When the deck defines `run`/`execute`, the runtime hands you an
145
153
  [`ExecutionContext`](src/types.ts) with:
146
154
 
147
155
  - `ctx.input`: validated input (narrowable when you type the schema).
148
- - `ctx.spawnAndWait({ path, input })`: call another deck and await the result.
156
+ - `ctx.initialUserMessage`: current turn user message when provided by caller.
157
+ - `ctx.getSessionMeta(key)`: read persisted run/session metadata.
158
+ - `ctx.setSessionMeta(key, value)`: persist metadata for later turns.
159
+ - `ctx.appendMessage({ role, content })`: append chat transcript messages from
160
+ execute decks.
161
+ - `ctx.spawnAndWait({ path, input, initialUserMessage? })`: call another deck
162
+ and await the result; user message is inherited by default unless overridden.
149
163
  - `ctx.return(payload)`: respond early without running guards again.
150
164
  - `ctx.fail({ message, code?, details? })`: aborts the run (throws).
151
165
  - `ctx.log(...)`: emit structured trace entries for observability.
@@ -153,6 +167,22 @@ When the deck defines `run`/`execute`, the runtime hands you an
153
167
  Pass `guardrails`, `initialUserMessage`, `modelOverride`, and
154
168
  `allowRootStringInput` to `runDeck` when scripting custom runtimes.
155
169
 
170
+ ### Worker sandbox behavior in `runDeck`
171
+
172
+ `gambit-core` keeps worker sandboxing opt-in and host-scoped:
173
+
174
+ - `runDeck` enables worker sandboxing only when `workerSandbox: true` is passed
175
+ (or when `GAMBIT_DECK_WORKER_SANDBOX=1|true|yes` is set in Deno).
176
+ - In Deno hosts, worker sandboxing keeps the current worker permission
177
+ enforcement model.
178
+ - In npm/Node/Bun hosts, requesting `workerSandbox: true` throws
179
+ `WorkerSandboxUnsupportedHostError`
180
+ (`code: "worker_sandbox_unsupported_host"`).
181
+ - `workerSandbox: true` with `signal` also throws
182
+ (`code: "worker_sandbox_signal_unsupported"`), because abort signaling is not
183
+ bridged into worker runtimes yet.
184
+ - If sandboxing is not requested, `runDeck` executes in-process.
185
+
156
186
  ## Loading Markdown decks and cards
157
187
 
158
188
  Markdown files use front matter for metadata, with the body becoming the prompt.
@@ -181,8 +211,9 @@ clarifying questions before choosing an action.
181
211
  `loadDeck` normalizes relative paths, merges card fragments, enforces unique
182
212
  action names, and warns about deprecated fields (`actions`,
183
213
  `handlers.onInterval`, `intervalMs`). The Markdown loader also injects helper
184
- text for built-in tools like `gambit_context`, `gambit_respond`, and
185
- `gambit_end` when you add `gambit://` markers.
214
+ text for built-in tools like `gambit_context` when you add `gambit://` markers.
215
+ Legacy `gambit_respond` and `gambit_end` markers are migration-only and now
216
+ hard-fail in default runtime paths.
186
217
 
187
218
  ## Compatibility and utilities
188
219
 
@@ -194,9 +225,9 @@ text for built-in tools like `gambit_context`, `gambit_respond`, and
194
225
  conforming to the `responses()` signature in `ModelProvider`.
195
226
  - **Constants**:
196
227
  [`GAMBIT_TOOL_CONTEXT`, `GAMBIT_TOOL_RESPOND`, `GAMBIT_TOOL_END`](src/constants.ts)
197
- (`GAMBIT_TOOL_INIT` remains as a deprecated alias). define the reserved tool
198
- names the runtime expects when the assistant starts, responds, and explicitly
199
- ends runs.
228
+ (`GAMBIT_TOOL_INIT` remains as a deprecated alias). `GAMBIT_TOOL_RESPOND` and
229
+ `GAMBIT_TOOL_END` remain for migration detection and legacy trace handling;
230
+ default runtime paths no longer expose them as callable synthetic tools.
200
231
 
201
232
  ## Persisted state and traces
202
233
 
@@ -211,7 +242,7 @@ stream them to your own observability stack.
211
242
 
212
243
  ## Local development
213
244
 
214
- From `packages/gambit-core/`:
245
+ From this package directory:
215
246
 
216
247
  ```
217
248
  deno task fmt # format sources
@@ -3,7 +3,7 @@ label = "Gambit context primer"
3
3
  +++
4
4
 
5
5
  You will automatically receive a `gambit_context` tool result at the start of
6
- the run whenever the caller supplies `--context` (formerly `--init`). This
7
- payload contains run metadata or seeded inputs. Read it before you respond,
8
- treat it as trusted context, and keep it on hand throughout the workflow so
9
- downstream actions have the right data.
6
+ the run whenever the caller supplies `--context`. This payload contains run
7
+ metadata or seeded inputs. Read it before you respond, treat it as trusted
8
+ context, and keep it on hand throughout the workflow so downstream actions have
9
+ the right data. Do not call `gambit_context` yourself; runtime injects it once.
@@ -0,0 +1,9 @@
1
+ +++
2
+ label = "Anthropic agent SDK bridge"
3
+ contextSchema = "gambit://schemas/scenarios/plain_chat_input_optional.zod.ts"
4
+ responseSchema = "gambit://schemas/scenarios/plain_chat_output.zod.ts"
5
+ +++
6
+
7
+ This stdlib deck provides the default bridge between the Anthropic agent SDK
8
+ runtime and Gambit decks. It is intentionally minimal; downstream runners supply
9
+ the actual runtime behavior.
@@ -0,0 +1,9 @@
1
+ +++
2
+ label = "Codex SDK bridge"
3
+ contextSchema = "gambit://schemas/scenarios/plain_chat_input_optional.zod.ts"
4
+ responseSchema = "gambit://schemas/scenarios/plain_chat_output.zod.ts"
5
+ +++
6
+
7
+ This stdlib deck provides the default bridge between the Codex SDK runtime and
8
+ Gambit decks. It is intentionally minimal; downstream runners supply the actual
9
+ runtime behavior.
@@ -0,0 +1,109 @@
1
+ export type CodexTurnInput = {
2
+ userText: string;
3
+ threadId?: string;
4
+ systemPrompt?: string;
5
+ };
6
+
7
+ export type CodexTurnOutput = {
8
+ threadId: string;
9
+ assistantText: string;
10
+ };
11
+
12
+ type CodexEvent =
13
+ | { type: "thread.started"; thread_id?: unknown }
14
+ | {
15
+ type: "item.completed";
16
+ item?: { type?: unknown; text?: unknown };
17
+ }
18
+ | { type: string; [key: string]: unknown };
19
+
20
+ function runCwd(): string {
21
+ const botRoot = Deno.env.get("GAMBIT_BOT_ROOT");
22
+ if (typeof botRoot === "string" && botRoot.trim().length > 0) {
23
+ return botRoot.trim();
24
+ }
25
+ return Deno.cwd();
26
+ }
27
+
28
+ function parseCodexEvents(stdout: string): {
29
+ threadId?: string;
30
+ assistantText?: string;
31
+ } {
32
+ let threadId: string | undefined;
33
+ let assistantText: string | undefined;
34
+
35
+ for (const line of stdout.split(/\r?\n/)) {
36
+ const trimmed = line.trim();
37
+ if (!trimmed.startsWith("{")) continue;
38
+ let parsed: CodexEvent | null = null;
39
+ try {
40
+ parsed = JSON.parse(trimmed) as CodexEvent;
41
+ } catch {
42
+ continue;
43
+ }
44
+ if (!parsed || typeof parsed !== "object") continue;
45
+ if (parsed.type === "thread.started") {
46
+ if (typeof parsed.thread_id === "string" && parsed.thread_id.trim()) {
47
+ threadId = parsed.thread_id.trim();
48
+ }
49
+ continue;
50
+ }
51
+ if (parsed.type === "item.completed") {
52
+ const item = parsed.item;
53
+ if (!item || typeof item !== "object") continue;
54
+ const rec = item as Record<string, unknown>;
55
+ if (rec.type !== "agent_message") continue;
56
+ if (typeof rec.text !== "string") continue;
57
+ const next = rec.text.trim();
58
+ if (next) assistantText = next;
59
+ }
60
+ }
61
+
62
+ return { threadId, assistantText };
63
+ }
64
+
65
+ export async function sendCodexTurn(
66
+ input: CodexTurnInput,
67
+ ): Promise<CodexTurnOutput> {
68
+ const prompt = input.systemPrompt && input.systemPrompt.trim()
69
+ ? `${input.systemPrompt.trim()}\n\n${input.userText}`
70
+ : input.userText;
71
+
72
+ const args = input.threadId
73
+ ? [
74
+ "exec",
75
+ "resume",
76
+ "--skip-git-repo-check",
77
+ "--json",
78
+ input.threadId,
79
+ prompt,
80
+ ]
81
+ : ["exec", "--skip-git-repo-check", "--json", prompt];
82
+
83
+ const out = await new Deno.Command("codex", {
84
+ args,
85
+ cwd: runCwd(),
86
+ stdout: "piped",
87
+ stderr: "piped",
88
+ }).output();
89
+
90
+ const stdout = new TextDecoder().decode(out.stdout);
91
+ const stderr = new TextDecoder().decode(out.stderr);
92
+ if (!out.success) {
93
+ throw new Error(
94
+ `codex exec failed (exit ${out.code}): ${stderr.trim() || stdout.trim()}`,
95
+ );
96
+ }
97
+
98
+ const parsed = parseCodexEvents(stdout);
99
+ const threadId = parsed.threadId ?? input.threadId;
100
+ if (!threadId) {
101
+ throw new Error(
102
+ `codex exec succeeded but no thread id found in output: ${stdout.trim()}`,
103
+ );
104
+ }
105
+ return {
106
+ threadId,
107
+ assistantText: parsed.assistantText ?? "",
108
+ };
109
+ }
@@ -0,0 +1,36 @@
1
+ import { defineDeck } from "../../../src/definitions.ts";
2
+ import { z } from "zod";
3
+ import { sendCodexTurn } from "./codex_client.ts";
4
+
5
+ const CODEX_THREAD_META_KEY = "codex.threadId";
6
+
7
+ export default defineDeck({
8
+ label: "codex_sdk_bridge",
9
+ contextSchema: z.string().optional(),
10
+ responseSchema: z.string(),
11
+ async run(ctx) {
12
+ const userText = typeof ctx.initialUserMessage === "string" &&
13
+ ctx.initialUserMessage.trim()
14
+ ? ctx.initialUserMessage.trim()
15
+ : typeof ctx.input === "string" && ctx.input.trim()
16
+ ? ctx.input.trim()
17
+ : "";
18
+
19
+ if (!userText) return "";
20
+
21
+ const priorThreadId = ctx.getSessionMeta<string>(CODEX_THREAD_META_KEY);
22
+ const systemPrompt = ctx.getSessionMeta<string>("codex.systemPrompt");
23
+
24
+ ctx.appendMessage({ role: "user", content: userText });
25
+
26
+ const result = await sendCodexTurn({
27
+ userText,
28
+ threadId: priorThreadId,
29
+ systemPrompt,
30
+ });
31
+
32
+ ctx.setSessionMeta(CODEX_THREAD_META_KEY, result.threadId);
33
+ ctx.appendMessage({ role: "assistant", content: result.assistantText });
34
+ return result.assistantText;
35
+ },
36
+ });
@@ -0,0 +1,9 @@
1
+ +++
2
+ label = "Gambit context primer"
3
+ +++
4
+
5
+ You will automatically receive a `gambit_context` tool result at the start of
6
+ the run whenever the caller supplies `--context`. This payload contains run
7
+ metadata or seeded inputs. Read it before you respond, treat it as trusted
8
+ context, and keep it on hand throughout the workflow so downstream actions have
9
+ the right data. Do not call `gambit_context` yourself; runtime injects it once.
@@ -0,0 +1,10 @@
1
+ +++
2
+ label = "Explicitly end the run"
3
+ allowEnd = true
4
+ +++
5
+
6
+ If the entire conversation/workflow is complete and you must stop all further
7
+ turns, call the `gambit_end` tool with an optional `message`, `payload`,
8
+ `status`, `code`, or `meta`. Only use this when you want Gambit to halt entirely
9
+ (no more user messages). Otherwise continue with normal responses or
10
+ `gambit_respond`.
@@ -0,0 +1,12 @@
1
+ +++
2
+ label = "Generate test input"
3
+ +++
4
+
5
+ When you receive a user message with:
6
+
7
+ { "type": "gambit_test_bot_init_fill", "missing": ["path.to.field", "..."],
8
+ "current": { ... }, "schemaHints": [ ... ] }
9
+
10
+ Return ONLY valid JSON that supplies values for the missing fields. Do not
11
+ include any fields that are not listed in "missing". If the only missing path is
12
+ "(root)", return the full init JSON value.
@@ -0,0 +1,10 @@
1
+ +++
2
+ label = "Call gambit_respond"
3
+ respond = true
4
+ +++
5
+
6
+ When you finish this workflow, do **not** emit a normal assistant reply.
7
+ Instead, call the `gambit_respond` tool exactly once with a JSON envelope that
8
+ includes your validated `payload` plus optional `status`, `message`, `code`, or
9
+ `meta` fields. This keeps outputs structured and lets Gambit capture the result
10
+ even when guardrails stop the run early.
@@ -0,0 +1,9 @@
1
+ +++
2
+ label = "Anthropic agent SDK bridge"
3
+ contextSchema = "gambit://schemas/scenarios/plain_chat_input_optional.zod.ts"
4
+ responseSchema = "gambit://schemas/scenarios/plain_chat_output.zod.ts"
5
+ +++
6
+
7
+ This stdlib deck provides the default bridge between the Anthropic agent SDK
8
+ runtime and Gambit decks. It is intentionally minimal; downstream runners supply
9
+ the actual runtime behavior.
@@ -0,0 +1,9 @@
1
+ +++
2
+ label = "Codex SDK bridge"
3
+ contextSchema = "gambit://schemas/scenarios/plain_chat_input_optional.zod.ts"
4
+ responseSchema = "gambit://schemas/scenarios/plain_chat_output.zod.ts"
5
+ +++
6
+
7
+ This stdlib deck provides the default bridge between the Codex SDK runtime and
8
+ Gambit decks. It is intentionally minimal; downstream runners supply the actual
9
+ runtime behavior.
@@ -0,0 +1,109 @@
1
+ export type CodexTurnInput = {
2
+ userText: string;
3
+ threadId?: string;
4
+ systemPrompt?: string;
5
+ };
6
+
7
+ export type CodexTurnOutput = {
8
+ threadId: string;
9
+ assistantText: string;
10
+ };
11
+
12
+ type CodexEvent =
13
+ | { type: "thread.started"; thread_id?: unknown }
14
+ | {
15
+ type: "item.completed";
16
+ item?: { type?: unknown; text?: unknown };
17
+ }
18
+ | { type: string; [key: string]: unknown };
19
+
20
+ function runCwd(): string {
21
+ const botRoot = Deno.env.get("GAMBIT_BOT_ROOT");
22
+ if (typeof botRoot === "string" && botRoot.trim().length > 0) {
23
+ return botRoot.trim();
24
+ }
25
+ return Deno.cwd();
26
+ }
27
+
28
+ function parseCodexEvents(stdout: string): {
29
+ threadId?: string;
30
+ assistantText?: string;
31
+ } {
32
+ let threadId: string | undefined;
33
+ let assistantText: string | undefined;
34
+
35
+ for (const line of stdout.split(/\r?\n/)) {
36
+ const trimmed = line.trim();
37
+ if (!trimmed.startsWith("{")) continue;
38
+ let parsed: CodexEvent | null = null;
39
+ try {
40
+ parsed = JSON.parse(trimmed) as CodexEvent;
41
+ } catch {
42
+ continue;
43
+ }
44
+ if (!parsed || typeof parsed !== "object") continue;
45
+ if (parsed.type === "thread.started") {
46
+ if (typeof parsed.thread_id === "string" && parsed.thread_id.trim()) {
47
+ threadId = parsed.thread_id.trim();
48
+ }
49
+ continue;
50
+ }
51
+ if (parsed.type === "item.completed") {
52
+ const item = parsed.item;
53
+ if (!item || typeof item !== "object") continue;
54
+ const rec = item as Record<string, unknown>;
55
+ if (rec.type !== "agent_message") continue;
56
+ if (typeof rec.text !== "string") continue;
57
+ const next = rec.text.trim();
58
+ if (next) assistantText = next;
59
+ }
60
+ }
61
+
62
+ return { threadId, assistantText };
63
+ }
64
+
65
+ export async function sendCodexTurn(
66
+ input: CodexTurnInput,
67
+ ): Promise<CodexTurnOutput> {
68
+ const prompt = input.systemPrompt && input.systemPrompt.trim()
69
+ ? `${input.systemPrompt.trim()}\n\n${input.userText}`
70
+ : input.userText;
71
+
72
+ const args = input.threadId
73
+ ? [
74
+ "exec",
75
+ "resume",
76
+ "--skip-git-repo-check",
77
+ "--json",
78
+ input.threadId,
79
+ prompt,
80
+ ]
81
+ : ["exec", "--skip-git-repo-check", "--json", prompt];
82
+
83
+ const out = await new Deno.Command("codex", {
84
+ args,
85
+ cwd: runCwd(),
86
+ stdout: "piped",
87
+ stderr: "piped",
88
+ }).output();
89
+
90
+ const stdout = new TextDecoder().decode(out.stdout);
91
+ const stderr = new TextDecoder().decode(out.stderr);
92
+ if (!out.success) {
93
+ throw new Error(
94
+ `codex exec failed (exit ${out.code}): ${stderr.trim() || stdout.trim()}`,
95
+ );
96
+ }
97
+
98
+ const parsed = parseCodexEvents(stdout);
99
+ const threadId = parsed.threadId ?? input.threadId;
100
+ if (!threadId) {
101
+ throw new Error(
102
+ `codex exec succeeded but no thread id found in output: ${stdout.trim()}`,
103
+ );
104
+ }
105
+ return {
106
+ threadId,
107
+ assistantText: parsed.assistantText ?? "",
108
+ };
109
+ }
@@ -0,0 +1,36 @@
1
+ import { defineDeck } from "../../../src/definitions.ts";
2
+ import { z } from "zod";
3
+ import { sendCodexTurn } from "./codex_client.ts";
4
+
5
+ const CODEX_THREAD_META_KEY = "codex.threadId";
6
+
7
+ export default defineDeck({
8
+ label: "codex_sdk_bridge",
9
+ contextSchema: z.string().optional(),
10
+ responseSchema: z.string(),
11
+ async run(ctx) {
12
+ const userText = typeof ctx.initialUserMessage === "string" &&
13
+ ctx.initialUserMessage.trim()
14
+ ? ctx.initialUserMessage.trim()
15
+ : typeof ctx.input === "string" && ctx.input.trim()
16
+ ? ctx.input.trim()
17
+ : "";
18
+
19
+ if (!userText) return "";
20
+
21
+ const priorThreadId = ctx.getSessionMeta<string>(CODEX_THREAD_META_KEY);
22
+ const systemPrompt = ctx.getSessionMeta<string>("codex.systemPrompt");
23
+
24
+ ctx.appendMessage({ role: "user", content: userText });
25
+
26
+ const result = await sendCodexTurn({
27
+ userText,
28
+ threadId: priorThreadId,
29
+ systemPrompt,
30
+ });
31
+
32
+ ctx.setSessionMeta(CODEX_THREAD_META_KEY, result.threadId);
33
+ ctx.appendMessage({ role: "assistant", content: result.assistantText });
34
+ return result.assistantText;
35
+ },
36
+ });
@@ -280,7 +280,7 @@ export type MergeAllSets<T, U, X = PartialByType<T, Set<unknown>>, Y = PartialBy
280
280
  }> = Z;
281
281
  /** Get array values type */
282
282
  export type ArrayValueType<T> = T extends Array<infer V> ? V : never;
283
- /** Merge all sets types definitions from keys present in both objects */
283
+ /** Merge all arrays types definitions from keys present in both objects */
284
284
  export type MergeAllArrays<T, U, X = PartialByType<T, Array<unknown>>, Y = PartialByType<U, Array<unknown>>, Z = {
285
285
  [K in keyof X & keyof Y]: Array<ArrayValueType<X[K]> | ArrayValueType<Y[K]>>;
286
286
  }> = Z;
@@ -288,7 +288,7 @@ export type MergeAllArrays<T, U, X = PartialByType<T, Array<unknown>>, Y = Parti
288
288
  export type MapKeyType<T> = T extends Map<infer K, unknown> ? K : never;
289
289
  /** Get map values types */
290
290
  export type MapValueType<T> = T extends Map<unknown, infer V> ? V : never;
291
- /** Merge all sets types definitions from keys present in both objects */
291
+ /** Merge all maps types definitions from keys present in both objects */
292
292
  export type MergeAllMaps<T, U, X = PartialByType<T, Map<unknown, unknown>>, Y = PartialByType<U, Map<unknown, unknown>>, Z = {
293
293
  [K in keyof X & keyof Y]: Map<MapKeyType<X[K]> | MapKeyType<Y[K]>, MapValueType<X[K]> | MapValueType<Y[K]>>;
294
294
  }> = Z;
@@ -1 +1 @@
1
- {"version":3,"file":"deep_merge.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/collections/1.1.4/deep_merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deep_merge.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/collections/1.1.6/deep_merge.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  // Copyright 2018-2026 the Deno authors. MIT license.
2
2
  // This module is browser compatible.
3
- import { filterInPlace } from "./_utils.js";
3
+ /** Default merging options - cached to avoid object allocation on each call */
4
+ const DEFAULT_OPTIONS = {
5
+ arrays: "merge",
6
+ sets: "merge",
7
+ maps: "merge",
8
+ };
4
9
  export function deepMerge(record, other, options) {
5
- return deepMergeInternal(record, other, new Set(), options);
10
+ return deepMergeInternal(record, other, new Set(), options ?? DEFAULT_OPTIONS);
6
11
  }
7
12
  function deepMergeInternal(record, other, seen, options) {
8
13
  const result = {};
@@ -33,11 +38,7 @@ function deepMergeInternal(record, other, seen, options) {
33
38
  }
34
39
  return result;
35
40
  }
36
- function mergeObjects(left, right, seen, options = {
37
- arrays: "merge",
38
- sets: "merge",
39
- maps: "merge",
40
- }) {
41
+ function mergeObjects(left, right, seen, options) {
41
42
  // Recursively merge mergeable objects
42
43
  if (isMergeable(left) && isMergeable(right)) {
43
44
  return deepMergeInternal(left, right, seen, options);
@@ -53,20 +54,22 @@ function mergeObjects(left, right, seen, options = {
53
54
  // Handle maps
54
55
  if ((left instanceof Map) && (right instanceof Map)) {
55
56
  if (options.maps === "merge") {
56
- return new Map([
57
- ...left,
58
- ...right,
59
- ]);
57
+ const result = new Map(left);
58
+ for (const [k, v] of right) {
59
+ result.set(k, v);
60
+ }
61
+ return result;
60
62
  }
61
63
  return right;
62
64
  }
63
65
  // Handle sets
64
66
  if ((left instanceof Set) && (right instanceof Set)) {
65
67
  if (options.sets === "merge") {
66
- return new Set([
67
- ...left,
68
- ...right,
69
- ]);
68
+ const result = new Set(left);
69
+ for (const v of right) {
70
+ result.add(v);
71
+ }
72
+ return result;
70
73
  }
71
74
  return right;
72
75
  }
@@ -88,8 +91,15 @@ function isNonNullObject(value) {
88
91
  return value !== null && typeof value === "object";
89
92
  }
90
93
  function getKeys(record) {
91
- const result = Object.getOwnPropertySymbols(record);
92
- filterInPlace(result, (key) => Object.prototype.propertyIsEnumerable.call(record, key));
93
- result.push(...Object.keys(record));
94
- return result;
94
+ const keys = Object.keys(record);
95
+ const symbols = Object.getOwnPropertySymbols(record);
96
+ // Fast path: most objects have no symbol keys
97
+ if (symbols.length === 0)
98
+ return keys;
99
+ for (const sym of symbols) {
100
+ if (Object.prototype.propertyIsEnumerable.call(record, sym)) {
101
+ keys.push(sym);
102
+ }
103
+ }
104
+ return keys;
95
105
  }
@@ -1,7 +1,7 @@
1
1
  // Copyright 2018-2025 the Deno authors. MIT license.
2
2
  // This module is browser compatible.
3
3
  import { extractFrontMatter } from "./_shared.js";
4
- import { parse } from "../../yaml/1.0.11/parse.js";
4
+ import { parse } from "../../yaml/1.0.12/parse.js";
5
5
  import { EXTRACT_YAML_REGEXP } from "./_formats.js";
6
6
  /**
7
7
  * Extracts and parses {@link https://yaml.org | YAML} from the metadata of
@@ -12,7 +12,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
12
12
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
13
13
  };
14
14
  var _Scanner_whitespace, _Scanner_position, _Scanner_source;
15
- import { deepMerge } from "../../collections/1.1.4/deep_merge.js";
15
+ import { deepMerge } from "../../collections/1.1.6/deep_merge.js";
16
16
  /**
17
17
  * Copy of `import { isLeap } from "@std/datetime";` because it cannot be impoted as long as it is unstable.
18
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"_chars.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.11/_chars.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,GAAG,QAAS,CAAC;AAC1B,eAAO,MAAM,GAAG,IAAO,CAAC;AACxB,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,eAAe,KAAO,CAAC;AACpC,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,WAAW,KAAO,CAAC;AAChC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,OAAO,KAAO,CAAC;AAC5B,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,QAAQ,KAAO,CAAC;AAC7B,eAAO,MAAM,IAAI,KAAO,CAAC;AACzB,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,GAAG,KAAO,CAAC;AACxB,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,QAAQ,KAAO,CAAC;AAC7B,eAAO,MAAM,aAAa,KAAO,CAAC;AAClC,eAAO,MAAM,mBAAmB,KAAO,CAAC;AACxC,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,oBAAoB,KAAO,CAAC;AACzC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,kBAAkB,MAAO,CAAC;AACvC,eAAO,MAAM,aAAa,MAAO,CAAC;AAClC,eAAO,MAAM,mBAAmB,MAAO,CAAC;AAExC,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAExC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAQlD"}
1
+ {"version":3,"file":"_chars.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_chars.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,GAAG,QAAS,CAAC;AAC1B,eAAO,MAAM,GAAG,IAAO,CAAC;AACxB,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,eAAe,KAAO,CAAC;AACpC,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,WAAW,KAAO,CAAC;AAChC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,OAAO,KAAO,CAAC;AAC5B,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,QAAQ,KAAO,CAAC;AAC7B,eAAO,MAAM,IAAI,KAAO,CAAC;AACzB,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,GAAG,KAAO,CAAC;AACxB,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,QAAQ,KAAO,CAAC;AAC7B,eAAO,MAAM,aAAa,KAAO,CAAC;AAClC,eAAO,MAAM,mBAAmB,KAAO,CAAC;AACxC,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,oBAAoB,KAAO,CAAC;AACzC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,kBAAkB,MAAO,CAAC;AACvC,eAAO,MAAM,aAAa,MAAO,CAAC;AAClC,eAAO,MAAM,mBAAmB,MAAO,CAAC;AAExC,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAExC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAQlD"}
@@ -16,11 +16,8 @@ interface State {
16
16
  }
17
17
  export declare class LoaderState {
18
18
  #private;
19
- input: string;
20
- length: number;
21
19
  lineIndent: number;
22
20
  lineStart: number;
23
- position: number;
24
21
  line: number;
25
22
  onWarning: ((error: Error) => void) | undefined;
26
23
  allowDuplicateKeys: boolean;
@@ -33,8 +30,6 @@ export declare class LoaderState {
33
30
  skipWhitespaces(): void;
34
31
  skipComment(): void;
35
32
  readIndent(): void;
36
- peek(offset?: number): number;
37
- next(): number;
38
33
  dispatchWarning(message: string): void;
39
34
  yamlDirectiveHandler(args: string[]): string | null;
40
35
  tagDirectiveHandler(args: string[]): void;