@bolt-foundry/gambit 0.8.3 → 0.8.5-rc.10

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 (291) hide show
  1. package/CHANGELOG.md +74 -2
  2. package/README.md +87 -23
  3. package/esm/_dnt.polyfills.d.ts +17 -0
  4. package/esm/_dnt.polyfills.d.ts.map +1 -1
  5. package/esm/_dnt.polyfills.js +123 -0
  6. package/esm/deps/jsr.io/@std/collections/1.1.6/deep_merge.d.ts +322 -0
  7. package/esm/deps/jsr.io/@std/collections/1.1.6/deep_merge.d.ts.map +1 -0
  8. package/esm/deps/jsr.io/@std/collections/1.1.6/deep_merge.js +105 -0
  9. package/esm/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.d.ts +14 -0
  10. package/esm/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.d.ts.map +1 -0
  11. package/esm/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.js +34 -0
  12. package/esm/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.d.ts +13 -0
  13. package/esm/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.d.ts.map +1 -0
  14. package/esm/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.js +18 -0
  15. package/esm/deps/jsr.io/@std/fs/1.0.23/_is_same_path.d.ts +10 -0
  16. package/esm/deps/jsr.io/@std/fs/1.0.23/_is_same_path.d.ts.map +1 -0
  17. package/esm/deps/jsr.io/@std/fs/1.0.23/_is_same_path.js +17 -0
  18. package/esm/deps/jsr.io/@std/fs/1.0.23/_is_subdir.d.ts +12 -0
  19. package/esm/deps/jsr.io/@std/fs/1.0.23/_is_subdir.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@std/fs/1.0.23/_is_subdir.js +25 -0
  21. package/esm/deps/jsr.io/@std/fs/1.0.23/_to_path_string.d.ts +9 -0
  22. package/esm/deps/jsr.io/@std/fs/1.0.23/_to_path_string.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@std/fs/1.0.23/_to_path_string.js +13 -0
  24. package/esm/deps/jsr.io/@std/fs/1.0.23/copy.d.ts +117 -0
  25. package/esm/deps/jsr.io/@std/fs/1.0.23/copy.d.ts.map +1 -0
  26. package/esm/deps/jsr.io/@std/fs/1.0.23/copy.js +313 -0
  27. package/esm/deps/jsr.io/@std/fs/1.0.23/empty_dir.d.ts +48 -0
  28. package/esm/deps/jsr.io/@std/fs/1.0.23/empty_dir.d.ts.map +1 -0
  29. package/esm/deps/jsr.io/@std/fs/1.0.23/empty_dir.js +87 -0
  30. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_dir.d.ts +49 -0
  31. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_dir.d.ts.map +1 -0
  32. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_dir.js +102 -0
  33. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_file.d.ts +47 -0
  34. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_file.d.ts.map +1 -0
  35. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_file.js +90 -0
  36. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_link.d.ts +49 -0
  37. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_link.d.ts.map +1 -0
  38. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_link.js +61 -0
  39. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.d.ts +70 -0
  40. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.d.ts.map +1 -0
  41. package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.js +156 -0
  42. package/esm/deps/jsr.io/@std/fs/1.0.23/eol.d.ts +52 -0
  43. package/esm/deps/jsr.io/@std/fs/1.0.23/eol.d.ts.map +1 -0
  44. package/esm/deps/jsr.io/@std/fs/1.0.23/eol.js +67 -0
  45. package/esm/deps/jsr.io/@std/fs/1.0.23/exists.d.ts +218 -0
  46. package/esm/deps/jsr.io/@std/fs/1.0.23/exists.d.ts.map +1 -0
  47. package/esm/deps/jsr.io/@std/fs/1.0.23/exists.js +271 -0
  48. package/esm/deps/jsr.io/@std/fs/1.0.23/expand_glob.d.ts +267 -0
  49. package/esm/deps/jsr.io/@std/fs/1.0.23/expand_glob.d.ts.map +1 -0
  50. package/esm/deps/jsr.io/@std/fs/1.0.23/expand_glob.js +442 -0
  51. package/esm/deps/jsr.io/@std/fs/1.0.23/mod.d.ts +29 -0
  52. package/esm/deps/jsr.io/@std/fs/1.0.23/mod.d.ts.map +1 -0
  53. package/esm/deps/jsr.io/@std/fs/1.0.23/mod.js +29 -0
  54. package/esm/deps/jsr.io/@std/fs/1.0.23/move.d.ts +86 -0
  55. package/esm/deps/jsr.io/@std/fs/1.0.23/move.d.ts.map +1 -0
  56. package/esm/deps/jsr.io/@std/fs/1.0.23/move.js +142 -0
  57. package/esm/deps/jsr.io/@std/fs/1.0.23/walk.d.ts +777 -0
  58. package/esm/deps/jsr.io/@std/fs/1.0.23/walk.d.ts.map +1 -0
  59. package/esm/deps/jsr.io/@std/fs/1.0.23/walk.js +846 -0
  60. package/esm/deps/jsr.io/@std/json/1.0.3/types.d.ts +7 -0
  61. package/esm/deps/jsr.io/@std/json/1.0.3/types.d.ts.map +1 -0
  62. package/esm/deps/jsr.io/@std/json/1.0.3/types.js +3 -0
  63. package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts +20 -0
  64. package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts.map +1 -0
  65. package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.js +21 -0
  66. package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts +21 -0
  67. package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts.map +1 -0
  68. package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.js +320 -0
  69. package/esm/deps/jsr.io/@std/path/1.1.4/constants.d.ts +1 -1
  70. package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts +93 -0
  71. package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts.map +1 -0
  72. package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.js +753 -0
  73. package/esm/deps/jsr.io/@std/toml/1.0.11/mod.d.ts +109 -0
  74. package/esm/deps/jsr.io/@std/toml/1.0.11/mod.d.ts.map +1 -0
  75. package/esm/deps/jsr.io/@std/toml/1.0.11/mod.js +110 -0
  76. package/esm/deps/jsr.io/@std/toml/1.0.11/parse.d.ts +21 -0
  77. package/esm/deps/jsr.io/@std/toml/1.0.11/parse.d.ts.map +1 -0
  78. package/esm/deps/jsr.io/@std/toml/1.0.11/parse.js +25 -0
  79. package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts +35 -0
  80. package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts.map +1 -0
  81. package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.js +283 -0
  82. package/esm/gambit/simulator-ui/dist/bundle.js +11454 -4639
  83. package/esm/gambit/simulator-ui/dist/bundle.js.map +4 -4
  84. package/esm/mod.d.ts +13 -3
  85. package/esm/mod.d.ts.map +1 -1
  86. package/esm/mod.js +8 -2
  87. package/esm/src/cli_utils.d.ts +1 -0
  88. package/esm/src/cli_utils.d.ts.map +1 -1
  89. package/esm/src/cli_utils.js +13 -1
  90. package/esm/src/default_runtime.d.ts +46 -0
  91. package/esm/src/default_runtime.d.ts.map +1 -0
  92. package/esm/src/default_runtime.js +415 -0
  93. package/esm/src/durable_streams.js +26 -1
  94. package/esm/src/model_matchers.d.ts +10 -0
  95. package/esm/src/model_matchers.d.ts.map +1 -0
  96. package/esm/src/model_matchers.js +26 -0
  97. package/esm/src/openai_compat.d.ts +12 -1
  98. package/esm/src/openai_compat.d.ts.map +1 -1
  99. package/esm/src/openai_compat.js +53 -1
  100. package/esm/src/project_config.d.ts +47 -0
  101. package/esm/src/project_config.d.ts.map +1 -0
  102. package/esm/src/project_config.js +134 -0
  103. package/esm/src/providers/codex.d.ts +37 -0
  104. package/esm/src/providers/codex.d.ts.map +1 -0
  105. package/esm/src/providers/codex.js +810 -0
  106. package/esm/src/providers/google.d.ts +3 -1
  107. package/esm/src/providers/google.d.ts.map +1 -1
  108. package/esm/src/providers/google.js +82 -6
  109. package/esm/src/providers/ollama.d.ts +3 -1
  110. package/esm/src/providers/ollama.d.ts.map +1 -1
  111. package/esm/src/providers/ollama.js +295 -15
  112. package/esm/src/providers/openrouter.d.ts +6 -2
  113. package/esm/src/providers/openrouter.d.ts.map +1 -1
  114. package/esm/src/providers/openrouter.js +317 -23
  115. package/esm/src/providers/router.d.ts +19 -0
  116. package/esm/src/providers/router.d.ts.map +1 -0
  117. package/esm/src/providers/router.js +93 -0
  118. package/esm/src/server.d.ts +9 -0
  119. package/esm/src/server.d.ts.map +1 -1
  120. package/esm/src/server.js +3314 -659
  121. package/esm/src/server_feedback_grading_routes.d.ts +32 -0
  122. package/esm/src/server_feedback_grading_routes.d.ts.map +1 -0
  123. package/esm/src/server_feedback_grading_routes.js +305 -0
  124. package/esm/src/server_helpers.d.ts +4 -0
  125. package/esm/src/server_helpers.d.ts.map +1 -0
  126. package/esm/src/server_helpers.js +46 -0
  127. package/esm/src/server_session_store.d.ts +87 -0
  128. package/esm/src/server_session_store.d.ts.map +1 -0
  129. package/esm/src/server_session_store.js +873 -0
  130. package/esm/src/server_types.d.ts +110 -0
  131. package/esm/src/server_types.d.ts.map +1 -0
  132. package/esm/src/server_types.js +1 -0
  133. package/esm/src/server_ui_routes.d.ts +33 -0
  134. package/esm/src/server_ui_routes.d.ts.map +1 -0
  135. package/esm/src/server_ui_routes.js +136 -0
  136. package/esm/src/session_artifacts.d.ts +22 -0
  137. package/esm/src/session_artifacts.d.ts.map +1 -0
  138. package/esm/src/session_artifacts.js +243 -0
  139. package/esm/src/trace.d.ts.map +1 -1
  140. package/esm/src/trace.js +6 -3
  141. package/esm/src/workspace.d.ts +19 -0
  142. package/esm/src/workspace.d.ts.map +1 -0
  143. package/esm/src/workspace.js +162 -0
  144. package/esm/src/workspace_contract.d.ts +78 -0
  145. package/esm/src/workspace_contract.d.ts.map +1 -0
  146. package/esm/src/workspace_contract.js +76 -0
  147. package/package.json +2 -2
  148. package/script/_dnt.polyfills.d.ts +17 -0
  149. package/script/_dnt.polyfills.d.ts.map +1 -1
  150. package/script/_dnt.polyfills.js +123 -0
  151. package/script/deps/jsr.io/@std/collections/1.1.6/deep_merge.d.ts +322 -0
  152. package/script/deps/jsr.io/@std/collections/1.1.6/deep_merge.d.ts.map +1 -0
  153. package/script/deps/jsr.io/@std/collections/1.1.6/deep_merge.js +108 -0
  154. package/script/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.d.ts +14 -0
  155. package/script/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.d.ts.map +1 -0
  156. package/script/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.js +71 -0
  157. package/script/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.d.ts +13 -0
  158. package/script/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.d.ts.map +1 -0
  159. package/script/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.js +21 -0
  160. package/script/deps/jsr.io/@std/fs/1.0.23/_is_same_path.d.ts +10 -0
  161. package/script/deps/jsr.io/@std/fs/1.0.23/_is_same_path.d.ts.map +1 -0
  162. package/script/deps/jsr.io/@std/fs/1.0.23/_is_same_path.js +20 -0
  163. package/script/deps/jsr.io/@std/fs/1.0.23/_is_subdir.d.ts +12 -0
  164. package/script/deps/jsr.io/@std/fs/1.0.23/_is_subdir.d.ts.map +1 -0
  165. package/script/deps/jsr.io/@std/fs/1.0.23/_is_subdir.js +28 -0
  166. package/script/deps/jsr.io/@std/fs/1.0.23/_to_path_string.d.ts +9 -0
  167. package/script/deps/jsr.io/@std/fs/1.0.23/_to_path_string.d.ts.map +1 -0
  168. package/script/deps/jsr.io/@std/fs/1.0.23/_to_path_string.js +16 -0
  169. package/script/deps/jsr.io/@std/fs/1.0.23/copy.d.ts +117 -0
  170. package/script/deps/jsr.io/@std/fs/1.0.23/copy.d.ts.map +1 -0
  171. package/script/deps/jsr.io/@std/fs/1.0.23/copy.js +350 -0
  172. package/script/deps/jsr.io/@std/fs/1.0.23/empty_dir.d.ts +48 -0
  173. package/script/deps/jsr.io/@std/fs/1.0.23/empty_dir.d.ts.map +1 -0
  174. package/script/deps/jsr.io/@std/fs/1.0.23/empty_dir.js +124 -0
  175. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_dir.d.ts +49 -0
  176. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_dir.d.ts.map +1 -0
  177. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_dir.js +139 -0
  178. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_file.d.ts +47 -0
  179. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_file.d.ts.map +1 -0
  180. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_file.js +127 -0
  181. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_link.d.ts +49 -0
  182. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_link.d.ts.map +1 -0
  183. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_link.js +98 -0
  184. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.d.ts +70 -0
  185. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.d.ts.map +1 -0
  186. package/script/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.js +193 -0
  187. package/script/deps/jsr.io/@std/fs/1.0.23/eol.d.ts +52 -0
  188. package/script/deps/jsr.io/@std/fs/1.0.23/eol.d.ts.map +1 -0
  189. package/script/deps/jsr.io/@std/fs/1.0.23/eol.js +105 -0
  190. package/script/deps/jsr.io/@std/fs/1.0.23/exists.d.ts +218 -0
  191. package/script/deps/jsr.io/@std/fs/1.0.23/exists.d.ts.map +1 -0
  192. package/script/deps/jsr.io/@std/fs/1.0.23/exists.js +308 -0
  193. package/script/deps/jsr.io/@std/fs/1.0.23/expand_glob.d.ts +267 -0
  194. package/script/deps/jsr.io/@std/fs/1.0.23/expand_glob.d.ts.map +1 -0
  195. package/script/deps/jsr.io/@std/fs/1.0.23/expand_glob.js +479 -0
  196. package/script/deps/jsr.io/@std/fs/1.0.23/mod.d.ts +29 -0
  197. package/script/deps/jsr.io/@std/fs/1.0.23/mod.d.ts.map +1 -0
  198. package/script/deps/jsr.io/@std/fs/1.0.23/mod.js +45 -0
  199. package/script/deps/jsr.io/@std/fs/1.0.23/move.d.ts +86 -0
  200. package/script/deps/jsr.io/@std/fs/1.0.23/move.d.ts.map +1 -0
  201. package/script/deps/jsr.io/@std/fs/1.0.23/move.js +179 -0
  202. package/script/deps/jsr.io/@std/fs/1.0.23/walk.d.ts +777 -0
  203. package/script/deps/jsr.io/@std/fs/1.0.23/walk.d.ts.map +1 -0
  204. package/script/deps/jsr.io/@std/fs/1.0.23/walk.js +883 -0
  205. package/script/deps/jsr.io/@std/json/1.0.3/types.d.ts +7 -0
  206. package/script/deps/jsr.io/@std/json/1.0.3/types.d.ts.map +1 -0
  207. package/script/deps/jsr.io/@std/json/1.0.3/types.js +4 -0
  208. package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts +20 -0
  209. package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts.map +1 -0
  210. package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.js +37 -0
  211. package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts +21 -0
  212. package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts.map +1 -0
  213. package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.js +323 -0
  214. package/script/deps/jsr.io/@std/path/1.1.4/constants.d.ts +1 -1
  215. package/script/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts +93 -0
  216. package/script/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts.map +1 -0
  217. package/script/deps/jsr.io/@std/toml/1.0.11/_parser.js +781 -0
  218. package/script/deps/jsr.io/@std/toml/1.0.11/mod.d.ts +109 -0
  219. package/script/deps/jsr.io/@std/toml/1.0.11/mod.d.ts.map +1 -0
  220. package/script/deps/jsr.io/@std/toml/1.0.11/mod.js +126 -0
  221. package/script/deps/jsr.io/@std/toml/1.0.11/parse.d.ts +21 -0
  222. package/script/deps/jsr.io/@std/toml/1.0.11/parse.d.ts.map +1 -0
  223. package/script/deps/jsr.io/@std/toml/1.0.11/parse.js +28 -0
  224. package/script/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts +35 -0
  225. package/script/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts.map +1 -0
  226. package/script/deps/jsr.io/@std/toml/1.0.11/stringify.js +286 -0
  227. package/script/gambit/simulator-ui/dist/bundle.js +11454 -4639
  228. package/script/gambit/simulator-ui/dist/bundle.js.map +4 -4
  229. package/script/mod.d.ts +13 -3
  230. package/script/mod.d.ts.map +1 -1
  231. package/script/mod.js +14 -5
  232. package/script/src/cli_utils.d.ts +1 -0
  233. package/script/src/cli_utils.d.ts.map +1 -1
  234. package/script/src/cli_utils.js +14 -1
  235. package/script/src/default_runtime.d.ts +46 -0
  236. package/script/src/default_runtime.d.ts.map +1 -0
  237. package/script/src/default_runtime.js +452 -0
  238. package/script/src/durable_streams.js +26 -1
  239. package/script/src/model_matchers.d.ts +10 -0
  240. package/script/src/model_matchers.d.ts.map +1 -0
  241. package/script/src/model_matchers.js +29 -0
  242. package/script/src/openai_compat.d.ts +12 -1
  243. package/script/src/openai_compat.d.ts.map +1 -1
  244. package/script/src/openai_compat.js +85 -0
  245. package/script/src/project_config.d.ts +47 -0
  246. package/script/src/project_config.d.ts.map +1 -0
  247. package/script/src/project_config.js +173 -0
  248. package/script/src/providers/codex.d.ts +37 -0
  249. package/script/src/providers/codex.d.ts.map +1 -0
  250. package/script/src/providers/codex.js +850 -0
  251. package/script/src/providers/google.d.ts +3 -1
  252. package/script/src/providers/google.d.ts.map +1 -1
  253. package/script/src/providers/google.js +82 -6
  254. package/script/src/providers/ollama.d.ts +3 -1
  255. package/script/src/providers/ollama.d.ts.map +1 -1
  256. package/script/src/providers/ollama.js +295 -15
  257. package/script/src/providers/openrouter.d.ts +6 -2
  258. package/script/src/providers/openrouter.d.ts.map +1 -1
  259. package/script/src/providers/openrouter.js +317 -23
  260. package/script/src/providers/router.d.ts +19 -0
  261. package/script/src/providers/router.d.ts.map +1 -0
  262. package/script/src/providers/router.js +96 -0
  263. package/script/src/server.d.ts +9 -0
  264. package/script/src/server.d.ts.map +1 -1
  265. package/script/src/server.js +3321 -666
  266. package/script/src/server_feedback_grading_routes.d.ts +32 -0
  267. package/script/src/server_feedback_grading_routes.d.ts.map +1 -0
  268. package/script/src/server_feedback_grading_routes.js +343 -0
  269. package/script/src/server_helpers.d.ts +4 -0
  270. package/script/src/server_helpers.d.ts.map +1 -0
  271. package/script/src/server_helpers.js +84 -0
  272. package/script/src/server_session_store.d.ts +87 -0
  273. package/script/src/server_session_store.d.ts.map +1 -0
  274. package/script/src/server_session_store.js +910 -0
  275. package/script/src/server_types.d.ts +110 -0
  276. package/script/src/server_types.d.ts.map +1 -0
  277. package/script/src/server_types.js +2 -0
  278. package/script/src/server_ui_routes.d.ts +33 -0
  279. package/script/src/server_ui_routes.d.ts.map +1 -0
  280. package/script/src/server_ui_routes.js +173 -0
  281. package/script/src/session_artifacts.d.ts +22 -0
  282. package/script/src/session_artifacts.d.ts.map +1 -0
  283. package/script/src/session_artifacts.js +279 -0
  284. package/script/src/trace.d.ts.map +1 -1
  285. package/script/src/trace.js +6 -3
  286. package/script/src/workspace.d.ts +19 -0
  287. package/script/src/workspace.d.ts.map +1 -0
  288. package/script/src/workspace.js +199 -0
  289. package/script/src/workspace_contract.d.ts +78 -0
  290. package/script/src/workspace_contract.d.ts.map +1 -0
  291. package/script/src/workspace_contract.js +84 -0
package/CHANGELOG.md CHANGED
@@ -1,14 +1,86 @@
1
1
  +++
2
2
  [release]
3
- since = "849762245925cce325c04da1d604088370ec3723"
3
+ since = "f9185fb1967a31e92a4a26dbb94cfe1322148406"
4
4
  +++
5
5
 
6
6
  # Changelog
7
7
 
8
- ## Unreleased (v0.8.4)
8
+ ## Unreleased (v0.8.5)
9
9
 
10
10
  - TBD
11
11
 
12
+ ## v0.8.5-rc.10
13
+
14
+ - #4004: add OpenResponses convergence runtime + extensions + async action
15
+ semantics in gambit-core.
16
+ - #4004: retire synthetic respond/end docs and align deck authoring guidance.
17
+ - #4010: fix gambit-core npm runtime layouts to ship built-in snippets/decks.
18
+
19
+ ## v0.8.5-rc.9
20
+
21
+ - TBD
22
+
23
+ ## v0.8.5-rc.8
24
+
25
+ - chore(gambit): cut 0.8.5-rc.7
26
+ - Switch ci-gambit-core to run nix develop via step commands with a profile
27
+ instead of custom shell overrides. This avoids both workflow-parse failures
28
+ and literal path resolution failures.
29
+
30
+ ## v0.8.5-rc.7
31
+
32
+ - chore(gambit): cut 0.8.5-rc.6
33
+ - fix(gambit-ci): stop using github.workspace in shell field
34
+ - fix(gambit): include `src/decks` assets in compiled CLI binaries
35
+
36
+ ## v0.8.5-rc.6
37
+
38
+ - chore(gambit): cut 0.8.5-rc.5 and pin React to 19.2.4
39
+ - chore(repo): pin jsx-runtime imports to react 19.2.4
40
+ - refactor(gambit): Fix left drawer
41
+ - feat(gambit-simulator-ui): send scenario run errors to workbench chat
42
+ - refactor(gambit-simulator-ui): replace placeholders with reusable callout
43
+ - fix(gambit): validate explicit deck path and stabilize stop test
44
+ - feat(simulator-ui): use icon remove action for error context chip
45
+ - fix(gambit): invalidate build deck label cache on frontmatter changes
46
+ - feat(gambit): add workbench composer chip and chat flow updates
47
+
48
+ ## v0.8.5-rc.5
49
+
50
+ - TBD
51
+
52
+ ## v0.8.5-rc.4
53
+
54
+ - chore(infra): run `deno task build_npm` for gambit during `bft precommit`
55
+ - fix(gambit): ignore dnt TS2345 diagnostics from vendored `@std/fs` and
56
+ `@std/toml` npm-compat sources
57
+
58
+ ## v0.8.5-rc.3
59
+
60
+ - fix(gambit-release): support nested core path and cut 0.8.5-rc.2
61
+ - refactor(gambit-core): remove built-in exec tool from runtime
62
+ - fix(gambit-core): partition worker sandbox by runtime host
63
+ - test(gambit-core): add unsupported worker sandbox coverage
64
+ - docs(gambit-core): document worker sandbox host contract
65
+ - ci(gambit-core): gate npm compatibility in core CI
66
+
67
+ ## v0.8.5-rc.2
68
+
69
+ - TBD
70
+
71
+ ## v0.8.5-rc.1
72
+
73
+ - feat(gambit): remove `gambit init`; onboarding now routes through
74
+ `gambit serve`
75
+ - feat(gambit): add `createDefaultedRuntime` and defaulted `runDeck` wrapper
76
+ with CLI-equivalent provider/model routing for library callers
77
+ - refactor(gambit): route CLI runtime/provider setup through shared
78
+ `default_runtime` construction path
79
+ - feat(demo-runner): migrate demo test-deck prompt generation to Gambit default
80
+ runtime wrapper (no hardwired OpenRouter provider)
81
+ - docs(gambit): add migration guidance for `runDeck` wrapper and `runDeckCore`
82
+ replacement mapping
83
+
12
84
  ## v0.8.3
13
85
 
14
86
  - fix(gambit): include CLI docs/reference files in binary builds
package/README.md CHANGED
@@ -22,15 +22,14 @@ npx @bolt-foundry/gambit demo
22
22
  Downloads example files (hello decks plus the `examples/` gallery) and sets
23
23
  environment variables.
24
24
 
25
- To scaffold a starter project that you can customize, run:
25
+ To start onboarding with the simulator, run:
26
26
 
27
27
  ```
28
- npx @bolt-foundry/gambit init my-project
28
+ npx @bolt-foundry/gambit serve gambit/hello.deck.md
29
+ open http://localhost:8000/debug
29
30
  ```
30
31
 
31
- This creates a structured skeleton (`decks/`, `actions/`, `graders/`, `tests/`,
32
- `schemas/`, `.gambit/`) with README guides so you can start authoring your own
33
- workflows immediately.
32
+ Use the Build tab to draft your own workspace decks and scenarios.
34
33
 
35
34
  Run an example in the terminal (`repl`):
36
35
 
@@ -100,10 +99,10 @@ Drop into a REPL (streams by default):
100
99
  npx @bolt-foundry/gambit repl <deck>
101
100
  ```
102
101
 
103
- Run a persona against a root deck (test bot):
102
+ Run a persona against a root deck (scenario):
104
103
 
105
104
  ```
106
- npx @bolt-foundry/gambit test-bot <root-deck> --test-deck <persona-deck>
105
+ npx @bolt-foundry/gambit scenario <root-deck> --test-deck <persona-deck>
107
106
  ```
108
107
 
109
108
  Grade a saved session:
@@ -124,6 +123,23 @@ Tracing and state: 
124
123
  `--verbose` to print events\
125
124
  `--state <file>` to persist a session.
126
125
 
126
+ ### Worker sandbox defaults
127
+
128
+ - Deck-executing CLI surfaces default to worker sandbox execution.
129
+ - Use `--no-worker-sandbox` (or `--legacy-exec`) to force legacy in-process
130
+ execution.
131
+ - `--worker-sandbox` explicitly forces worker execution on.
132
+ - `--sandbox` / `--no-sandbox` are deprecated aliases.
133
+ - `gambit.toml` equivalent:
134
+ ```toml
135
+ [execution]
136
+ worker_sandbox = false # same as --no-worker-sandbox
137
+ # legacy_exec = true # equivalent rollback toggle
138
+ ```
139
+
140
+ The npm launcher (`npx @bolt-foundry/gambit ...`) runs the Gambit CLI binary for
141
+ your platform, so these defaults and flags apply there as well.
142
+
127
143
  ## Using the Simulator
128
144
 
129
145
  The simulator is the local Debug UI that streams runs and renders traces.
@@ -173,6 +189,59 @@ Define `contextSchema`/`responseSchema` with Zod to validate IO, and implement\
173
189
  `ctx.spawnAndWait({ path, input })`. Emit structured trace events with\
174
190
  `ctx.log(...)`.
175
191
 
192
+ ### Runtime defaults for programmatic `runDeck`
193
+
194
+ `runDeck` from `@bolt-foundry/gambit` now uses CLI-equivalent provider/model
195
+ defaults (alias expansion, provider routing, fallback behavior).
196
+
197
+ Before (direct-provider setup in each caller):
198
+
199
+ ```ts
200
+ import { createOpenRouterProvider, runDeck } from "jsr:@bolt-foundry/gambit";
201
+
202
+ const provider = createOpenRouterProvider({
203
+ apiKey: Deno.env.get("OPENROUTER_API_KEY")!,
204
+ });
205
+ await runDeck({
206
+ path: "./root.deck.md",
207
+ input: { message: "hi" },
208
+ modelProvider: provider,
209
+ });
210
+ ```
211
+
212
+ After (defaulted wrapper):
213
+
214
+ ```ts
215
+ import { runDeck } from "jsr:@bolt-foundry/gambit";
216
+
217
+ await runDeck({
218
+ path: "./root.deck.md",
219
+ input: { message: "hi" },
220
+ });
221
+ ```
222
+
223
+ Per-runtime override (shared runtime object):
224
+
225
+ ```ts
226
+ import { createDefaultedRuntime, runDeck } from "jsr:@bolt-foundry/gambit";
227
+
228
+ const runtime = await createDefaultedRuntime({
229
+ fallbackProvider: "codex-cli",
230
+ });
231
+
232
+ await runDeck({
233
+ runtime,
234
+ path: "./root.deck.md",
235
+ input: { message: "hi" },
236
+ });
237
+ ```
238
+
239
+ Replacement mapping:
240
+
241
+ - Legacy direct core passthrough export: `runDeck` -> `runDeckCore`
242
+ - Defaulted wrapper export: `runDeck`
243
+ - Runtime builder: `createDefaultedRuntime`
244
+
176
245
  ---
177
246
 
178
247
  ## Author your first deck
@@ -226,7 +295,7 @@ npx @bolt-foundry/gambit run ./echo.deck.ts --context '{"text":"ping"}'
226
295
  +++
227
296
  label = "agent_with_time"
228
297
  modelParams = { model = "openai/gpt-4o-mini", temperature = 0 }
229
- [[actionDecks]]
298
+ [[actions]]
230
299
  name = "get_time"
231
300
  path = "./get_time.deck.ts"
232
301
  description = "Return the current ISO timestamp."
@@ -258,10 +327,11 @@ Run it:
258
327
  npx @bolt-foundry/gambit run ./agent_with_time.deck.md --context '"hello"' --stream
259
328
  ```
260
329
 
261
- ### Respond flow demo (non-root decks + grading)
330
+ ### Legacy respond-flow demo (historical compatibility)
262
331
 
263
- Need a turnkey scenario that hits personas → init → non-root `gambit_respond`
264
- payloads graders? Use the example in `packages/gambit/examples/respond_flow/`.
332
+ `packages/gambit/examples/respond_flow/` is kept as a legacy compatibility
333
+ example for historical transcript/grader behavior. New decks should return
334
+ schema-valid assistant output directly instead of calling `gambit_respond`.
265
335
 
266
336
  ```
267
337
  cd packages/gambit
@@ -271,12 +341,12 @@ npx @bolt-foundry/gambit serve ./examples/respond_flow/decks/root.deck.ts --port
271
341
  Then:
272
342
 
273
343
  1. Open `http://localhost:8000/test`, pick the **Escalation persona**, and run
274
- it. Leave the “Use test deck input for init” toggle on to see persona data
275
- seed the init form automatically.
276
- 2. Switch to the Debug tab to inspect the session—the child deck emits a
277
- `gambit_respond` payload that now shows up as a structured assistant turn.
278
- 3. Head to the Calibrate tab and run the **Respond payload grader** to exercise
279
- grading on the non-root respond output.
344
+ it. Leave the “Use scenario deck input for init” toggle on to see persona
345
+ data seed the init form automatically.
346
+ 2. Switch to the Debug tab to inspect the session; this scenario still emits
347
+ legacy `gambit_respond` payloads for compatibility testing.
348
+ 3. Head to the Calibrate tab and run the **Respond payload grader** to validate
349
+ historical non-root respond-output handling.
280
350
 
281
351
  ## Deno
282
352
 
@@ -289,12 +359,6 @@ export OPENROUTER_API_KEY=...
289
359
  deno run -A jsr:@bolt-foundry/gambit/cli demo
290
360
  ```
291
361
 
292
- Starter project:
293
-
294
- ```
295
- deno run -A jsr:@bolt-foundry/gambit/cli init my-project
296
- ```
297
-
298
362
  Run a deck:
299
363
 
300
364
  ```
@@ -97,5 +97,22 @@ interface ImportMetaPonyfill extends ImportMetaPonyfillCommonjs, ImportMetaPonyf
97
97
  export declare let import_meta_ponyfill_commonjs: ImportMetaPonyfillCommonjs;
98
98
  export declare let import_meta_ponyfill_esmodule: ImportMetaPonyfillEsmodule;
99
99
  export declare let import_meta_ponyfill: ImportMetaPonyfill;
100
+ declare global {
101
+ interface Object {
102
+ /**
103
+ * Determines whether an object has a property with the specified name.
104
+ * @param o An object.
105
+ * @param v A property name.
106
+ */
107
+ hasOwn(o: object, v: PropertyKey): boolean;
108
+ }
109
+ }
110
+ export {};
111
+ declare global {
112
+ interface ArrayConstructor {
113
+ fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | Promise<T>> | ArrayLike<T | Promise<T>>): Promise<T[]>;
114
+ fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U, thisArg?: any): Promise<Awaited<U>[]>;
115
+ }
116
+ }
100
117
  export {};
101
118
  //# sourceMappingURL=_dnt.polyfills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"_dnt.polyfills.d.ts","sourceRoot":"","sources":["../src/_dnt.polyfills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAgC,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB;;;;;;;;;;;;;;WAcG;QACH,GAAG,EAAE,MAAM,CAAC;QACZ;;;;;;;;;;;;WAYG;QACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC;QACtE;;;;;;;;WAQG;QACH,IAAI,EAAE,OAAO,CAAC;QAEd;;;;;;;;;;;;WAYG;QACH,QAAQ,EAAE,MAAM,CAAC;QAEjB;;;;;;;;;;;;WAYG;QACH,OAAO,EAAE,MAAM,CAAC;KACjB;CACF;AAED,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,KAAK,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,UAAU,0BAA0B;IAClC,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;CACxD;AACD,UAAU,0BAA0B;IAClC,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;CACtC;AACD,UAAU,kBACR,SAAQ,0BAA0B,EAAE,0BAA0B;CAC/D;AAiBD,eAAO,IAAI,6BAA6B,EA2BnC,0BAA0B,CAAC;AAMhC,eAAO,IAAI,6BAA6B,EA4DnC,0BAA0B,CAAC;AAMhC,eAAO,IAAI,oBAAoB,EAoB1B,kBAAkB,CAAC"}
1
+ {"version":3,"file":"_dnt.polyfills.d.ts","sourceRoot":"","sources":["../src/_dnt.polyfills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAgC,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB;;;;;;;;;;;;;;WAcG;QACH,GAAG,EAAE,MAAM,CAAC;QACZ;;;;;;;;;;;;WAYG;QACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC;QACtE;;;;;;;;WAQG;QACH,IAAI,EAAE,OAAO,CAAC;QAEd;;;;;;;;;;;;WAYG;QACH,QAAQ,EAAE,MAAM,CAAC;QAEjB;;;;;;;;;;;;WAYG;QACH,OAAO,EAAE,MAAM,CAAC;KACjB;CACF;AAED,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,KAAK,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,UAAU,0BAA0B;IAClC,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;CACxD;AACD,UAAU,0BAA0B;IAClC,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;CACtC;AACD,UAAU,kBACR,SAAQ,0BAA0B,EAAE,0BAA0B;CAC/D;AAiBD,eAAO,IAAI,6BAA6B,EA2BnC,0BAA0B,CAAC;AAMhC,eAAO,IAAI,6BAA6B,EA4DnC,0BAA0B,CAAC;AAMhC,eAAO,IAAI,oBAAoB,EAoB1B,kBAAkB,CAAC;AAgBxB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd;;;;WAIG;QACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;KAC5C;CACF;AAED,OAAO,EAAE,CAAC;AAEV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,gBAAgB;QACxB,SAAS,CAAC,CAAC,EACP,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAC7F,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAEhB,SAAS,CAAC,CAAC,EAAE,CAAC,EACV,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAClE,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAC/B,OAAO,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC1B;CACF;AAoID,OAAO,EAAE,CAAC"}
@@ -125,3 +125,126 @@ export let import_meta_ponyfill = ((...args) => {
125
125
  //@ts-ignore
126
126
  return import_meta_ponyfill(...args);
127
127
  });
128
+ // https://github.com/tc39/proposal-accessible-object-hasownproperty/blob/main/polyfill.js
129
+ if (!Object.hasOwn) {
130
+ Object.defineProperty(Object, "hasOwn", {
131
+ value: function (object, property) {
132
+ if (object == null) {
133
+ throw new TypeError("Cannot convert undefined or null to object");
134
+ }
135
+ return Object.prototype.hasOwnProperty.call(Object(object), property);
136
+ },
137
+ configurable: true,
138
+ enumerable: false,
139
+ writable: true,
140
+ });
141
+ }
142
+ // From https://github.com/es-shims/array-from-async/blob/4a5ff83947b861f35b380d5d4f20da2f07698638/index.mjs
143
+ // Tried to have dnt depend on the package instead, but it distributes as an
144
+ // ES module, so doesn't work with CommonJS.
145
+ //
146
+ // Code below:
147
+ //
148
+ // Copyright 2021 J. S. Choi
149
+ //
150
+ // Redistribution and use in source and binary forms, with or without
151
+ // modification, are permitted provided that the following conditions
152
+ // are met:
153
+ //
154
+ // 1. Redistributions of source code must retain the above copyright
155
+ // notice, this list of conditions and the following disclaimer.
156
+ //
157
+ // 2. Redistributions in binary form must reproduce the above copyright
158
+ // notice, this list of conditions and the following disclaimer in the
159
+ // documentation and/or other materials provided with the distribution.
160
+ //
161
+ // 3. Neither the name of the copyright holder nor the names of its
162
+ // contributors may be used to endorse or promote products derived from
163
+ // this software without specific prior written permission.
164
+ //
165
+ // **This software is provided by the copyright holders and contributors
166
+ // "as is" and any express or implied warranties, including, but not
167
+ // limited to, the implied warranties of merchantability and fitness for a
168
+ // particular purpose are disclaimed. In no event shall the copyright
169
+ // holder or contributors be liable for any direct, indirect, incidental,
170
+ // special, exemplary, or consequential damages (including, but not limited
171
+ // to, procurement of substitute goods or services; loss of use, data, or
172
+ // profits; or business interruption) however caused and on any theory of
173
+ // liability, whether in contract, strict liability, or tort (including
174
+ // negligence or otherwise) arising in any way out of the use of this
175
+ // software, even if advised of the possibility of such damage.**
176
+ const { MAX_SAFE_INTEGER } = Number;
177
+ const iteratorSymbol = Symbol.iterator;
178
+ const asyncIteratorSymbol = Symbol.asyncIterator;
179
+ const IntrinsicArray = Array;
180
+ const tooLongErrorMessage = 'Input is too long and exceeded Number.MAX_SAFE_INTEGER times.';
181
+ function isConstructor(obj) {
182
+ if (obj != null) {
183
+ const prox = new Proxy(obj, {
184
+ construct() {
185
+ return prox;
186
+ },
187
+ });
188
+ try {
189
+ new prox;
190
+ return true;
191
+ }
192
+ catch (err) {
193
+ return false;
194
+ }
195
+ }
196
+ else {
197
+ return false;
198
+ }
199
+ }
200
+ async function fromAsync(items, mapfn, thisArg) {
201
+ const itemsAreIterable = (asyncIteratorSymbol in items ||
202
+ iteratorSymbol in items);
203
+ if (itemsAreIterable) {
204
+ const result = isConstructor(this)
205
+ ? new this
206
+ : IntrinsicArray(0);
207
+ let i = 0;
208
+ for await (const v of items) {
209
+ if (i > MAX_SAFE_INTEGER) {
210
+ throw TypeError(tooLongErrorMessage);
211
+ }
212
+ else if (mapfn) {
213
+ result[i] = await mapfn.call(thisArg, v, i);
214
+ }
215
+ else {
216
+ result[i] = v;
217
+ }
218
+ i++;
219
+ }
220
+ result.length = i;
221
+ return result;
222
+ }
223
+ else {
224
+ // In this case, the items are assumed to be an arraylike object with
225
+ // a length property and integer properties for each element.
226
+ const { length } = items;
227
+ const result = isConstructor(this)
228
+ ? new this(length)
229
+ : IntrinsicArray(length);
230
+ let i = 0;
231
+ while (i < length) {
232
+ if (i > MAX_SAFE_INTEGER) {
233
+ throw TypeError(tooLongErrorMessage);
234
+ }
235
+ const v = await items[i];
236
+ if (mapfn) {
237
+ result[i] = await mapfn.call(thisArg, v, i);
238
+ }
239
+ else {
240
+ result[i] = v;
241
+ }
242
+ i++;
243
+ }
244
+ result.length = i;
245
+ return result;
246
+ }
247
+ }
248
+ if (!Array.fromAsync) {
249
+ Array.fromAsync = fromAsync;
250
+ }