@bolt-foundry/gambit 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.
- package/CHANGELOG.md +95 -2
- package/README.md +95 -23
- package/esm/_dnt.polyfills.d.ts +17 -0
- package/esm/_dnt.polyfills.d.ts.map +1 -1
- package/esm/_dnt.polyfills.js +123 -0
- package/esm/deps/jsr.io/@std/collections/1.1.6/deep_merge.d.ts +322 -0
- package/esm/deps/jsr.io/@std/collections/1.1.6/deep_merge.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.1.6/deep_merge.js +105 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.d.ts +14 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.js +34 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.d.ts +13 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.js +18 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_is_same_path.d.ts +10 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_is_same_path.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_is_same_path.js +17 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_is_subdir.d.ts +12 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_is_subdir.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_is_subdir.js +25 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_to_path_string.d.ts +9 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_to_path_string.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/_to_path_string.js +13 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/copy.d.ts +117 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/copy.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/copy.js +313 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/empty_dir.d.ts +48 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/empty_dir.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/empty_dir.js +87 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_dir.d.ts +49 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_dir.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_dir.js +102 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_file.d.ts +47 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_file.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_file.js +90 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_link.d.ts +49 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_link.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_link.js +61 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.d.ts +70 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.js +156 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/eol.d.ts +52 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/eol.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/eol.js +67 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/exists.d.ts +218 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/exists.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/exists.js +271 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/expand_glob.d.ts +267 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/expand_glob.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/expand_glob.js +442 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/mod.d.ts +29 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/mod.js +29 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/move.d.ts +86 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/move.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/move.js +142 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/walk.d.ts +777 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/walk.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.23/walk.js +846 -0
- package/esm/deps/jsr.io/@std/json/1.0.3/types.d.ts +7 -0
- package/esm/deps/jsr.io/@std/json/1.0.3/types.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/json/1.0.3/types.js +3 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts +20 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.js +21 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts +21 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.js +320 -0
- package/esm/deps/jsr.io/@std/path/1.1.4/constants.d.ts +1 -1
- package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts +93 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.js +753 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/mod.d.ts +109 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/mod.js +110 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/parse.d.ts +21 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/parse.js +25 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts +35 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.js +283 -0
- package/esm/gambit/simulator-ui/dist/bundle.js +13788 -5157
- package/esm/gambit/simulator-ui/dist/bundle.js.map +4 -4
- package/esm/mod.d.ts +13 -3
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +8 -2
- package/esm/src/cli_utils.d.ts +1 -0
- package/esm/src/cli_utils.d.ts.map +1 -1
- package/esm/src/cli_utils.js +13 -1
- package/esm/src/default_runtime.d.ts +46 -0
- package/esm/src/default_runtime.d.ts.map +1 -0
- package/esm/src/default_runtime.js +415 -0
- package/esm/src/durable_streams.js +26 -1
- package/esm/src/model_matchers.d.ts +10 -0
- package/esm/src/model_matchers.d.ts.map +1 -0
- package/esm/src/model_matchers.js +26 -0
- package/esm/src/openai_compat.d.ts +12 -1
- package/esm/src/openai_compat.d.ts.map +1 -1
- package/esm/src/openai_compat.js +53 -1
- package/esm/src/project_config.d.ts +47 -0
- package/esm/src/project_config.d.ts.map +1 -0
- package/esm/src/project_config.js +134 -0
- package/esm/src/providers/codex.d.ts +37 -0
- package/esm/src/providers/codex.d.ts.map +1 -0
- package/esm/src/providers/codex.js +809 -0
- package/esm/src/providers/google.d.ts +3 -1
- package/esm/src/providers/google.d.ts.map +1 -1
- package/esm/src/providers/google.js +82 -6
- package/esm/src/providers/ollama.d.ts +3 -1
- package/esm/src/providers/ollama.d.ts.map +1 -1
- package/esm/src/providers/ollama.js +295 -15
- package/esm/src/providers/openrouter.d.ts +6 -2
- package/esm/src/providers/openrouter.d.ts.map +1 -1
- package/esm/src/providers/openrouter.js +334 -23
- package/esm/src/providers/router.d.ts +19 -0
- package/esm/src/providers/router.d.ts.map +1 -0
- package/esm/src/providers/router.js +93 -0
- package/esm/src/server.d.ts +9 -0
- package/esm/src/server.d.ts.map +1 -1
- package/esm/src/server.js +3361 -670
- package/esm/src/server_feedback_grading_routes.d.ts +32 -0
- package/esm/src/server_feedback_grading_routes.d.ts.map +1 -0
- package/esm/src/server_feedback_grading_routes.js +305 -0
- package/esm/src/server_helpers.d.ts +4 -0
- package/esm/src/server_helpers.d.ts.map +1 -0
- package/esm/src/server_helpers.js +46 -0
- package/esm/src/server_session_store.d.ts +87 -0
- package/esm/src/server_session_store.d.ts.map +1 -0
- package/esm/src/server_session_store.js +876 -0
- package/esm/src/server_types.d.ts +111 -0
- package/esm/src/server_types.d.ts.map +1 -0
- package/esm/src/server_types.js +1 -0
- package/esm/src/server_ui_routes.d.ts +33 -0
- package/esm/src/server_ui_routes.d.ts.map +1 -0
- package/esm/src/server_ui_routes.js +139 -0
- package/esm/src/session_artifacts.d.ts +22 -0
- package/esm/src/session_artifacts.d.ts.map +1 -0
- package/esm/src/session_artifacts.js +243 -0
- package/esm/src/trace.d.ts.map +1 -1
- package/esm/src/trace.js +6 -3
- package/esm/src/workspace.d.ts +19 -0
- package/esm/src/workspace.d.ts.map +1 -0
- package/esm/src/workspace.js +162 -0
- package/esm/src/workspace_contract.d.ts +78 -0
- package/esm/src/workspace_contract.d.ts.map +1 -0
- package/esm/src/workspace_contract.js +77 -0
- package/package.json +2 -2
- package/script/_dnt.polyfills.d.ts +17 -0
- package/script/_dnt.polyfills.d.ts.map +1 -1
- package/script/_dnt.polyfills.js +123 -0
- package/script/deps/jsr.io/@std/collections/1.1.6/deep_merge.d.ts +322 -0
- package/script/deps/jsr.io/@std/collections/1.1.6/deep_merge.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/collections/1.1.6/deep_merge.js +108 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.d.ts +14 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_create_walk_entry.js +71 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.d.ts +13 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_get_file_info_type.js +21 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_is_same_path.d.ts +10 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_is_same_path.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_is_same_path.js +20 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_is_subdir.d.ts +12 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_is_subdir.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_is_subdir.js +28 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_to_path_string.d.ts +9 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_to_path_string.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/_to_path_string.js +16 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/copy.d.ts +117 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/copy.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/copy.js +350 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/empty_dir.d.ts +48 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/empty_dir.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/empty_dir.js +124 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_dir.d.ts +49 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_dir.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_dir.js +139 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_file.d.ts +47 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_file.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_file.js +127 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_link.d.ts +49 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_link.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_link.js +98 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.d.ts +70 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/ensure_symlink.js +193 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/eol.d.ts +52 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/eol.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/eol.js +105 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/exists.d.ts +218 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/exists.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/exists.js +308 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/expand_glob.d.ts +267 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/expand_glob.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/expand_glob.js +479 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/mod.d.ts +29 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/mod.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/mod.js +45 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/move.d.ts +86 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/move.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/move.js +179 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/walk.d.ts +777 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/walk.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.23/walk.js +883 -0
- package/script/deps/jsr.io/@std/json/1.0.3/types.d.ts +7 -0
- package/script/deps/jsr.io/@std/json/1.0.3/types.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/json/1.0.3/types.js +4 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts +20 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.js +37 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts +21 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.js +323 -0
- package/script/deps/jsr.io/@std/path/1.1.4/constants.d.ts +1 -1
- package/script/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts +93 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/_parser.js +781 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/mod.d.ts +109 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/mod.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/mod.js +126 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/parse.d.ts +21 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/parse.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/parse.js +28 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts +35 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/stringify.js +286 -0
- package/script/gambit/simulator-ui/dist/bundle.js +13788 -5157
- package/script/gambit/simulator-ui/dist/bundle.js.map +4 -4
- package/script/mod.d.ts +13 -3
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +14 -5
- package/script/src/cli_utils.d.ts +1 -0
- package/script/src/cli_utils.d.ts.map +1 -1
- package/script/src/cli_utils.js +14 -1
- package/script/src/default_runtime.d.ts +46 -0
- package/script/src/default_runtime.d.ts.map +1 -0
- package/script/src/default_runtime.js +452 -0
- package/script/src/durable_streams.js +26 -1
- package/script/src/model_matchers.d.ts +10 -0
- package/script/src/model_matchers.d.ts.map +1 -0
- package/script/src/model_matchers.js +29 -0
- package/script/src/openai_compat.d.ts +12 -1
- package/script/src/openai_compat.d.ts.map +1 -1
- package/script/src/openai_compat.js +85 -0
- package/script/src/project_config.d.ts +47 -0
- package/script/src/project_config.d.ts.map +1 -0
- package/script/src/project_config.js +173 -0
- package/script/src/providers/codex.d.ts +37 -0
- package/script/src/providers/codex.d.ts.map +1 -0
- package/script/src/providers/codex.js +849 -0
- package/script/src/providers/google.d.ts +3 -1
- package/script/src/providers/google.d.ts.map +1 -1
- package/script/src/providers/google.js +82 -6
- package/script/src/providers/ollama.d.ts +3 -1
- package/script/src/providers/ollama.d.ts.map +1 -1
- package/script/src/providers/ollama.js +295 -15
- package/script/src/providers/openrouter.d.ts +6 -2
- package/script/src/providers/openrouter.d.ts.map +1 -1
- package/script/src/providers/openrouter.js +334 -23
- package/script/src/providers/router.d.ts +19 -0
- package/script/src/providers/router.d.ts.map +1 -0
- package/script/src/providers/router.js +96 -0
- package/script/src/server.d.ts +9 -0
- package/script/src/server.d.ts.map +1 -1
- package/script/src/server.js +3368 -677
- package/script/src/server_feedback_grading_routes.d.ts +32 -0
- package/script/src/server_feedback_grading_routes.d.ts.map +1 -0
- package/script/src/server_feedback_grading_routes.js +343 -0
- package/script/src/server_helpers.d.ts +4 -0
- package/script/src/server_helpers.d.ts.map +1 -0
- package/script/src/server_helpers.js +84 -0
- package/script/src/server_session_store.d.ts +87 -0
- package/script/src/server_session_store.d.ts.map +1 -0
- package/script/src/server_session_store.js +913 -0
- package/script/src/server_types.d.ts +111 -0
- package/script/src/server_types.d.ts.map +1 -0
- package/script/src/server_types.js +2 -0
- package/script/src/server_ui_routes.d.ts +33 -0
- package/script/src/server_ui_routes.d.ts.map +1 -0
- package/script/src/server_ui_routes.js +176 -0
- package/script/src/session_artifacts.d.ts +22 -0
- package/script/src/session_artifacts.d.ts.map +1 -0
- package/script/src/session_artifacts.js +279 -0
- package/script/src/trace.d.ts.map +1 -1
- package/script/src/trace.js +6 -3
- package/script/src/workspace.d.ts +19 -0
- package/script/src/workspace.d.ts.map +1 -0
- package/script/src/workspace.js +199 -0
- package/script/src/workspace_contract.d.ts +78 -0
- package/script/src/workspace_contract.d.ts.map +1 -0
- package/script/src/workspace_contract.js +85 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,107 @@
|
|
|
1
1
|
+++
|
|
2
2
|
[release]
|
|
3
|
-
since = "
|
|
3
|
+
since = "e5b1e61b190c9b4f3dcc5c80f2d610ddd4f16d80"
|
|
4
4
|
+++
|
|
5
5
|
|
|
6
6
|
# Changelog
|
|
7
7
|
|
|
8
|
-
## Unreleased (v0.8.
|
|
8
|
+
## Unreleased (v0.8.5)
|
|
9
9
|
|
|
10
10
|
- TBD
|
|
11
11
|
|
|
12
|
+
## v0.8.5-rc.11
|
|
13
|
+
|
|
14
|
+
- #4014: restructure FAQ deck and artifact paths.
|
|
15
|
+
- #4029: include response extension schemas in artifact export and default
|
|
16
|
+
`serve --artifact` to the restored workspace.
|
|
17
|
+
- #4046: ship verify workflow updates (feature-flagged routing, consistency UI,
|
|
18
|
+
deterministic fixture seeding, outlier/report controls and chips), harden
|
|
19
|
+
calibrate persistence + status handling, tighten provider/serialization
|
|
20
|
+
behavior, and move unbounded build timeout to explicit deck opt-in.
|
|
21
|
+
- #4048: default verify tab bootstrap flag to enabled.
|
|
22
|
+
- #4049: clamp deck-level `maxTurns` bounds in test run selection.
|
|
23
|
+
- #4053: add grader error chips to workbench chat.
|
|
24
|
+
- #4054: preserve shared references in safe session serialization.
|
|
25
|
+
- #4055: refactor simulator-ui routing to replace nested ternaries.
|
|
26
|
+
- #4057: align verify outlier chip semantics and display.
|
|
27
|
+
- #4060: improve verify report controls and harden concurrent calibrate
|
|
28
|
+
persistence.
|
|
29
|
+
- #4061: align verify turn labels and stabilize initial run filtering.
|
|
30
|
+
- #4064: prevent simulator feedback reason text from being clobbered while
|
|
31
|
+
editing.
|
|
32
|
+
|
|
33
|
+
## v0.8.5-rc.10
|
|
34
|
+
|
|
35
|
+
- #4004: add OpenResponses convergence runtime + extensions + async action
|
|
36
|
+
semantics in gambit-core.
|
|
37
|
+
- #4004: retire synthetic respond/end docs and align deck authoring guidance.
|
|
38
|
+
- #4010: fix gambit-core npm runtime layouts to ship built-in snippets/decks.
|
|
39
|
+
|
|
40
|
+
## v0.8.5-rc.9
|
|
41
|
+
|
|
42
|
+
- TBD
|
|
43
|
+
|
|
44
|
+
## v0.8.5-rc.8
|
|
45
|
+
|
|
46
|
+
- chore(gambit): cut 0.8.5-rc.7
|
|
47
|
+
- Switch ci-gambit-core to run nix develop via step commands with a profile
|
|
48
|
+
instead of custom shell overrides. This avoids both workflow-parse failures
|
|
49
|
+
and literal path resolution failures.
|
|
50
|
+
|
|
51
|
+
## v0.8.5-rc.7
|
|
52
|
+
|
|
53
|
+
- chore(gambit): cut 0.8.5-rc.6
|
|
54
|
+
- fix(gambit-ci): stop using github.workspace in shell field
|
|
55
|
+
- fix(gambit): include `src/decks` assets in compiled CLI binaries
|
|
56
|
+
|
|
57
|
+
## v0.8.5-rc.6
|
|
58
|
+
|
|
59
|
+
- chore(gambit): cut 0.8.5-rc.5 and pin React to 19.2.4
|
|
60
|
+
- chore(repo): pin jsx-runtime imports to react 19.2.4
|
|
61
|
+
- refactor(gambit): Fix left drawer
|
|
62
|
+
- feat(gambit-simulator-ui): send scenario run errors to workbench chat
|
|
63
|
+
- refactor(gambit-simulator-ui): replace placeholders with reusable callout
|
|
64
|
+
- fix(gambit): validate explicit deck path and stabilize stop test
|
|
65
|
+
- feat(simulator-ui): use icon remove action for error context chip
|
|
66
|
+
- fix(gambit): invalidate build deck label cache on frontmatter changes
|
|
67
|
+
- feat(gambit): add workbench composer chip and chat flow updates
|
|
68
|
+
|
|
69
|
+
## v0.8.5-rc.5
|
|
70
|
+
|
|
71
|
+
- TBD
|
|
72
|
+
|
|
73
|
+
## v0.8.5-rc.4
|
|
74
|
+
|
|
75
|
+
- chore(infra): run `deno task build_npm` for gambit during `bft precommit`
|
|
76
|
+
- fix(gambit): ignore dnt TS2345 diagnostics from vendored `@std/fs` and
|
|
77
|
+
`@std/toml` npm-compat sources
|
|
78
|
+
|
|
79
|
+
## v0.8.5-rc.3
|
|
80
|
+
|
|
81
|
+
- fix(gambit-release): support nested core path and cut 0.8.5-rc.2
|
|
82
|
+
- refactor(gambit-core): remove built-in exec tool from runtime
|
|
83
|
+
- fix(gambit-core): partition worker sandbox by runtime host
|
|
84
|
+
- test(gambit-core): add unsupported worker sandbox coverage
|
|
85
|
+
- docs(gambit-core): document worker sandbox host contract
|
|
86
|
+
- ci(gambit-core): gate npm compatibility in core CI
|
|
87
|
+
|
|
88
|
+
## v0.8.5-rc.2
|
|
89
|
+
|
|
90
|
+
- TBD
|
|
91
|
+
|
|
92
|
+
## v0.8.5-rc.1
|
|
93
|
+
|
|
94
|
+
- feat(gambit): remove `gambit init`; onboarding now routes through
|
|
95
|
+
`gambit serve`
|
|
96
|
+
- feat(gambit): add `createDefaultedRuntime` and defaulted `runDeck` wrapper
|
|
97
|
+
with CLI-equivalent provider/model routing for library callers
|
|
98
|
+
- refactor(gambit): route CLI runtime/provider setup through shared
|
|
99
|
+
`default_runtime` construction path
|
|
100
|
+
- feat(demo-runner): migrate demo test-deck prompt generation to Gambit default
|
|
101
|
+
runtime wrapper (no hardwired OpenRouter provider)
|
|
102
|
+
- docs(gambit): add migration guidance for `runDeck` wrapper and `runDeckCore`
|
|
103
|
+
replacement mapping
|
|
104
|
+
|
|
12
105
|
## v0.8.3
|
|
13
106
|
|
|
14
107
|
- 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
|
|
25
|
+
To start onboarding with the simulator, run:
|
|
26
26
|
|
|
27
27
|
```
|
|
28
|
-
npx @bolt-foundry/gambit
|
|
28
|
+
npx @bolt-foundry/gambit serve gambit/hello.deck.md
|
|
29
|
+
open http://localhost:8000/debug
|
|
29
30
|
```
|
|
30
31
|
|
|
31
|
-
|
|
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 (
|
|
102
|
+
Run a persona against a root deck (scenario):
|
|
104
103
|
|
|
105
104
|
```
|
|
106
|
-
npx @bolt-foundry/gambit
|
|
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.
|
|
@@ -151,6 +167,14 @@ It also serves:
|
|
|
151
167
|
```
|
|
152
168
|
http://localhost:8000/test
|
|
153
169
|
http://localhost:8000/grade
|
|
170
|
+
http://localhost:8000/verify (when GAMBIT_SIMULATOR_VERIFY_TAB=1)
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
To seed deterministic Verify fixtures for local iteration:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
cd packages/gambit
|
|
177
|
+
deno task verify:seed-fixture
|
|
154
178
|
```
|
|
155
179
|
|
|
156
180
|
The Debug UI shows transcript lanes plus a trace/tools feed. If the deck has an\
|
|
@@ -173,6 +197,59 @@ Define `contextSchema`/`responseSchema` with Zod to validate IO, and implement\
|
|
|
173
197
|
`ctx.spawnAndWait({ path, input })`. Emit structured trace events with\
|
|
174
198
|
`ctx.log(...)`.
|
|
175
199
|
|
|
200
|
+
### Runtime defaults for programmatic `runDeck`
|
|
201
|
+
|
|
202
|
+
`runDeck` from `@bolt-foundry/gambit` now uses CLI-equivalent provider/model
|
|
203
|
+
defaults (alias expansion, provider routing, fallback behavior).
|
|
204
|
+
|
|
205
|
+
Before (direct-provider setup in each caller):
|
|
206
|
+
|
|
207
|
+
```ts
|
|
208
|
+
import { createOpenRouterProvider, runDeck } from "jsr:@bolt-foundry/gambit";
|
|
209
|
+
|
|
210
|
+
const provider = createOpenRouterProvider({
|
|
211
|
+
apiKey: Deno.env.get("OPENROUTER_API_KEY")!,
|
|
212
|
+
});
|
|
213
|
+
await runDeck({
|
|
214
|
+
path: "./root.deck.md",
|
|
215
|
+
input: { message: "hi" },
|
|
216
|
+
modelProvider: provider,
|
|
217
|
+
});
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
After (defaulted wrapper):
|
|
221
|
+
|
|
222
|
+
```ts
|
|
223
|
+
import { runDeck } from "jsr:@bolt-foundry/gambit";
|
|
224
|
+
|
|
225
|
+
await runDeck({
|
|
226
|
+
path: "./root.deck.md",
|
|
227
|
+
input: { message: "hi" },
|
|
228
|
+
});
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Per-runtime override (shared runtime object):
|
|
232
|
+
|
|
233
|
+
```ts
|
|
234
|
+
import { createDefaultedRuntime, runDeck } from "jsr:@bolt-foundry/gambit";
|
|
235
|
+
|
|
236
|
+
const runtime = await createDefaultedRuntime({
|
|
237
|
+
fallbackProvider: "codex-cli",
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
await runDeck({
|
|
241
|
+
runtime,
|
|
242
|
+
path: "./root.deck.md",
|
|
243
|
+
input: { message: "hi" },
|
|
244
|
+
});
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Replacement mapping:
|
|
248
|
+
|
|
249
|
+
- Legacy direct core passthrough export: `runDeck` -> `runDeckCore`
|
|
250
|
+
- Defaulted wrapper export: `runDeck`
|
|
251
|
+
- Runtime builder: `createDefaultedRuntime`
|
|
252
|
+
|
|
176
253
|
---
|
|
177
254
|
|
|
178
255
|
## Author your first deck
|
|
@@ -226,7 +303,7 @@ npx @bolt-foundry/gambit run ./echo.deck.ts --context '{"text":"ping"}'
|
|
|
226
303
|
+++
|
|
227
304
|
label = "agent_with_time"
|
|
228
305
|
modelParams = { model = "openai/gpt-4o-mini", temperature = 0 }
|
|
229
|
-
[[
|
|
306
|
+
[[actions]]
|
|
230
307
|
name = "get_time"
|
|
231
308
|
path = "./get_time.deck.ts"
|
|
232
309
|
description = "Return the current ISO timestamp."
|
|
@@ -258,10 +335,11 @@ Run it:
|
|
|
258
335
|
npx @bolt-foundry/gambit run ./agent_with_time.deck.md --context '"hello"' --stream
|
|
259
336
|
```
|
|
260
337
|
|
|
261
|
-
###
|
|
338
|
+
### Legacy respond-flow demo (historical compatibility)
|
|
262
339
|
|
|
263
|
-
|
|
264
|
-
|
|
340
|
+
`packages/gambit/examples/respond_flow/` is kept as a legacy compatibility
|
|
341
|
+
example for historical transcript/grader behavior. New decks should return
|
|
342
|
+
schema-valid assistant output directly instead of calling `gambit_respond`.
|
|
265
343
|
|
|
266
344
|
```
|
|
267
345
|
cd packages/gambit
|
|
@@ -271,12 +349,12 @@ npx @bolt-foundry/gambit serve ./examples/respond_flow/decks/root.deck.ts --port
|
|
|
271
349
|
Then:
|
|
272
350
|
|
|
273
351
|
1. Open `http://localhost:8000/test`, pick the **Escalation persona**, and run
|
|
274
|
-
it. Leave the “Use
|
|
275
|
-
seed the init form automatically.
|
|
276
|
-
2. Switch to the Debug tab to inspect the session
|
|
277
|
-
`gambit_respond`
|
|
278
|
-
3. Head to the Calibrate tab and run the **Respond payload grader** to
|
|
279
|
-
|
|
352
|
+
it. Leave the “Use scenario deck input for init” toggle on to see persona
|
|
353
|
+
data seed the init form automatically.
|
|
354
|
+
2. Switch to the Debug tab to inspect the session; this scenario still emits
|
|
355
|
+
legacy `gambit_respond` payloads for compatibility testing.
|
|
356
|
+
3. Head to the Calibrate tab and run the **Respond payload grader** to validate
|
|
357
|
+
historical non-root respond-output handling.
|
|
280
358
|
|
|
281
359
|
## Deno
|
|
282
360
|
|
|
@@ -289,12 +367,6 @@ export OPENROUTER_API_KEY=...
|
|
|
289
367
|
deno run -A jsr:@bolt-foundry/gambit/cli demo
|
|
290
368
|
```
|
|
291
369
|
|
|
292
|
-
Starter project:
|
|
293
|
-
|
|
294
|
-
```
|
|
295
|
-
deno run -A jsr:@bolt-foundry/gambit/cli init my-project
|
|
296
|
-
```
|
|
297
|
-
|
|
298
370
|
Run a deck:
|
|
299
371
|
|
|
300
372
|
```
|
package/esm/_dnt.polyfills.d.ts
CHANGED
|
@@ -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"}
|
package/esm/_dnt.polyfills.js
CHANGED
|
@@ -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
|
+
}
|