@bolt-foundry/gambit-core 0.8.1 → 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.
- package/README.md +61 -34
- package/cards/context.card.md +5 -5
- package/cards/generate-test-input.card.md +12 -0
- package/decks/anthropic/agent-sdk/PROMPT.md +9 -0
- package/decks/openai/codex-sdk/PROMPT.md +9 -0
- package/decks/openai/codex-sdk/codex_client.ts +109 -0
- package/decks/openai/codex-sdk/codex_sdk_bridge.deck.ts +36 -0
- package/esm/cards/context.card.md +9 -0
- package/esm/cards/end.card.md +10 -0
- package/esm/cards/generate-test-input.card.md +12 -0
- package/esm/cards/respond.card.md +10 -0
- package/esm/decks/anthropic/agent-sdk/PROMPT.md +9 -0
- package/esm/decks/openai/codex-sdk/PROMPT.md +9 -0
- package/esm/decks/openai/codex-sdk/codex_client.ts +109 -0
- package/esm/decks/openai/codex-sdk/codex_sdk_bridge.deck.ts +36 -0
- 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
- package/esm/deps/jsr.io/@std/collections/{1.1.4 → 1.1.6}/deep_merge.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/collections/{1.1.4 → 1.1.6}/deep_merge.js +29 -19
- package/esm/deps/jsr.io/@std/front-matter/1.0.9/yaml.js +1 -1
- package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.js +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.d.ts.map +1 -1
- 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
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_loader_state.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_loader_state.js +216 -175
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.d.ts.map +1 -1
- 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
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.d.ts.map +1 -1
- 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
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.js +0 -2
- package/esm/mod.d.ts +20 -10
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +11 -5
- package/esm/schemas/graders/contexts/conversation.d.ts +22 -0
- package/esm/schemas/graders/contexts/conversation.d.ts.map +1 -0
- package/esm/schemas/graders/contexts/conversation.js +17 -0
- package/esm/schemas/graders/contexts/conversation.ts +40 -0
- package/esm/schemas/graders/contexts/conversation.zod.d.ts +3 -0
- package/esm/schemas/graders/contexts/conversation.zod.d.ts.map +1 -0
- package/esm/schemas/graders/contexts/conversation.zod.js +2 -0
- package/esm/schemas/graders/contexts/conversation.zod.ts +1 -0
- package/esm/schemas/graders/contexts/conversation_tools.d.ts +31 -0
- package/esm/schemas/graders/contexts/conversation_tools.d.ts.map +1 -0
- package/esm/schemas/graders/contexts/conversation_tools.js +25 -0
- package/esm/schemas/graders/contexts/conversation_tools.ts +63 -0
- package/esm/schemas/graders/contexts/conversation_tools.zod.d.ts +3 -0
- package/esm/schemas/graders/contexts/conversation_tools.zod.d.ts.map +1 -0
- package/esm/schemas/graders/contexts/conversation_tools.zod.js +2 -0
- package/esm/schemas/graders/contexts/conversation_tools.zod.ts +1 -0
- package/esm/schemas/graders/contexts/tools.d.ts +4 -0
- package/esm/schemas/graders/contexts/tools.d.ts.map +1 -0
- package/esm/schemas/graders/contexts/tools.js +3 -0
- package/esm/schemas/graders/contexts/tools.ts +5 -0
- package/esm/schemas/graders/contexts/tools.zod.d.ts +3 -0
- package/esm/schemas/graders/contexts/tools.zod.d.ts.map +1 -0
- package/esm/schemas/graders/contexts/tools.zod.js +2 -0
- package/esm/schemas/graders/contexts/tools.zod.ts +1 -0
- package/esm/schemas/graders/contexts/turn.d.ts +10 -0
- package/esm/schemas/graders/contexts/turn.d.ts.map +1 -0
- package/esm/schemas/graders/contexts/turn.js +8 -0
- package/esm/schemas/graders/contexts/turn.ts +17 -0
- package/esm/schemas/graders/contexts/turn.zod.d.ts +3 -0
- package/esm/schemas/graders/contexts/turn.zod.d.ts.map +1 -0
- package/esm/schemas/graders/contexts/turn.zod.js +2 -0
- package/esm/schemas/graders/contexts/turn.zod.ts +1 -0
- package/esm/schemas/graders/contexts/turn_tools.d.ts +32 -0
- package/esm/schemas/graders/contexts/turn_tools.d.ts.map +1 -0
- package/esm/schemas/graders/contexts/turn_tools.js +28 -0
- package/esm/schemas/graders/contexts/turn_tools.ts +63 -0
- package/esm/schemas/graders/contexts/turn_tools.zod.d.ts +3 -0
- package/esm/schemas/graders/contexts/turn_tools.zod.d.ts.map +1 -0
- package/esm/schemas/graders/contexts/turn_tools.zod.js +2 -0
- package/esm/schemas/graders/contexts/turn_tools.zod.ts +1 -0
- package/esm/schemas/graders/grader_output.d.ts +10 -0
- package/esm/schemas/graders/grader_output.d.ts.map +1 -0
- package/esm/schemas/graders/grader_output.js +8 -0
- package/esm/schemas/graders/grader_output.ts +15 -0
- package/esm/schemas/graders/grader_output.zod.d.ts +3 -0
- package/esm/schemas/graders/grader_output.zod.d.ts.map +1 -0
- package/esm/schemas/graders/grader_output.zod.js +2 -0
- package/esm/schemas/graders/grader_output.zod.ts +1 -0
- package/esm/schemas/graders/respond.d.ts +12 -0
- package/esm/schemas/graders/respond.d.ts.map +1 -0
- package/esm/schemas/graders/respond.js +10 -0
- package/esm/schemas/graders/respond.ts +19 -0
- package/esm/schemas/graders/respond.zod.d.ts +3 -0
- package/esm/schemas/graders/respond.zod.d.ts.map +1 -0
- package/esm/schemas/graders/respond.zod.js +2 -0
- package/esm/schemas/graders/respond.zod.ts +1 -0
- package/esm/schemas/scenarios/plain_chat_input_optional.d.ts +5 -0
- package/esm/schemas/scenarios/plain_chat_input_optional.d.ts.map +1 -0
- package/esm/schemas/scenarios/plain_chat_input_optional.js +5 -0
- package/esm/schemas/scenarios/plain_chat_input_optional.ts +6 -0
- package/esm/schemas/scenarios/plain_chat_input_optional.zod.d.ts +3 -0
- package/esm/schemas/scenarios/plain_chat_input_optional.zod.d.ts.map +1 -0
- package/esm/schemas/scenarios/plain_chat_input_optional.zod.js +2 -0
- package/esm/schemas/scenarios/plain_chat_input_optional.zod.ts +1 -0
- package/esm/schemas/scenarios/plain_chat_output.d.ts +5 -0
- package/esm/schemas/scenarios/plain_chat_output.d.ts.map +1 -0
- package/esm/schemas/scenarios/plain_chat_output.js +4 -0
- package/esm/schemas/scenarios/plain_chat_output.ts +5 -0
- package/esm/schemas/scenarios/plain_chat_output.zod.d.ts +3 -0
- package/esm/schemas/scenarios/plain_chat_output.zod.d.ts.map +1 -0
- package/esm/schemas/scenarios/plain_chat_output.zod.js +2 -0
- package/esm/schemas/scenarios/plain_chat_output.zod.ts +1 -0
- package/esm/snippets/context.md +8 -0
- package/esm/snippets/end.md +10 -0
- package/esm/snippets/generate-test-input.md +12 -0
- package/esm/snippets/init.md +12 -0
- package/esm/snippets/respond.md +10 -0
- package/esm/snippets/scenario-participant.md +10 -0
- package/esm/src/builtins.d.ts +2 -0
- package/esm/src/builtins.d.ts.map +1 -1
- package/esm/src/builtins.js +45 -1
- package/esm/src/constants.d.ts +4 -1
- package/esm/src/constants.d.ts.map +1 -1
- package/esm/src/constants.js +5 -4
- package/esm/src/definitions.d.ts +5 -1
- package/esm/src/definitions.d.ts.map +1 -1
- package/esm/src/loader.d.ts.map +1 -1
- package/esm/src/loader.js +220 -13
- package/esm/src/markdown.d.ts.map +1 -1
- package/esm/src/markdown.js +322 -53
- package/esm/src/permissions.d.ts +143 -0
- package/esm/src/permissions.d.ts.map +1 -0
- package/esm/src/permissions.js +406 -0
- package/esm/src/render.d.ts.map +1 -1
- package/esm/src/render.js +22 -8
- package/esm/src/runtime.d.ts +44 -3
- package/esm/src/runtime.d.ts.map +1 -1
- package/esm/src/runtime.js +4629 -407
- package/esm/src/runtime_exec_host.d.ts +6 -0
- package/esm/src/runtime_exec_host.d.ts.map +1 -0
- package/esm/src/runtime_exec_host.js +17 -0
- package/esm/src/runtime_exec_host_contract.d.ts +23 -0
- package/esm/src/runtime_exec_host_contract.d.ts.map +1 -0
- package/esm/src/runtime_exec_host_contract.js +14 -0
- package/esm/src/runtime_exec_host_deno.d.ts +3 -0
- package/esm/src/runtime_exec_host_deno.d.ts.map +1 -0
- package/esm/src/runtime_exec_host_deno.js +35 -0
- package/esm/src/runtime_exec_host_unsupported.d.ts +3 -0
- package/esm/src/runtime_exec_host_unsupported.d.ts.map +1 -0
- package/esm/src/runtime_exec_host_unsupported.js +8 -0
- package/esm/src/runtime_worker_host.d.ts +6 -0
- package/esm/src/runtime_worker_host.d.ts.map +1 -0
- package/esm/src/runtime_worker_host.js +17 -0
- package/esm/src/runtime_worker_host_contract.d.ts +33 -0
- package/esm/src/runtime_worker_host_contract.d.ts.map +1 -0
- package/esm/src/runtime_worker_host_contract.js +14 -0
- package/esm/src/runtime_worker_host_deno.d.ts +3 -0
- package/esm/src/runtime_worker_host_deno.d.ts.map +1 -0
- package/esm/src/runtime_worker_host_deno.js +26 -0
- package/esm/src/runtime_worker_host_unsupported.d.ts +3 -0
- package/esm/src/runtime_worker_host_unsupported.d.ts.map +1 -0
- package/esm/src/runtime_worker_host_unsupported.js +8 -0
- package/esm/src/state.d.ts +4 -1
- package/esm/src/state.d.ts.map +1 -1
- package/esm/src/state.js +48 -2
- package/esm/src/types.d.ts +405 -1
- package/esm/src/types.d.ts.map +1 -1
- package/esm/src/types.js +102 -1
- package/package.json +73 -2
- package/schemas/graders/contexts/conversation.ts +32 -9
- package/schemas/graders/contexts/conversation.zod.ts +1 -0
- package/schemas/graders/contexts/conversation_tools.ts +63 -0
- package/schemas/graders/contexts/conversation_tools.zod.ts +1 -0
- package/schemas/graders/contexts/tools.ts +5 -0
- package/schemas/graders/contexts/tools.zod.ts +1 -0
- package/schemas/graders/contexts/turn.ts +8 -1
- package/schemas/graders/contexts/turn.zod.ts +1 -0
- package/schemas/graders/contexts/turn_tools.ts +63 -0
- package/schemas/graders/contexts/turn_tools.zod.ts +1 -0
- package/schemas/graders/grader_output.ts +15 -0
- package/schemas/graders/grader_output.zod.ts +1 -0
- package/schemas/graders/respond.ts +13 -3
- package/schemas/graders/respond.zod.ts +1 -0
- package/schemas/scenarios/plain_chat_input_optional.ts +6 -0
- package/schemas/scenarios/plain_chat_input_optional.zod.ts +1 -0
- package/schemas/scenarios/plain_chat_output.ts +5 -0
- package/schemas/scenarios/plain_chat_output.zod.ts +1 -0
- package/script/cards/context.card.md +9 -0
- package/script/cards/end.card.md +10 -0
- package/script/cards/generate-test-input.card.md +12 -0
- package/script/cards/respond.card.md +10 -0
- package/script/decks/anthropic/agent-sdk/PROMPT.md +9 -0
- package/script/decks/openai/codex-sdk/PROMPT.md +9 -0
- package/script/decks/openai/codex-sdk/codex_client.ts +109 -0
- package/script/decks/openai/codex-sdk/codex_sdk_bridge.deck.ts +36 -0
- 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
- package/script/deps/jsr.io/@std/collections/{1.1.4 → 1.1.6}/deep_merge.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/collections/{1.1.4 → 1.1.6}/deep_merge.js +29 -19
- package/script/deps/jsr.io/@std/front-matter/1.0.9/yaml.js +1 -1
- package/script/deps/jsr.io/@std/toml/1.0.11/_parser.js +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.d.ts.map +1 -1
- 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
- package/script/deps/jsr.io/@std/yaml/1.0.12/_loader_state.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_loader_state.js +216 -175
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.d.ts.map +1 -1
- 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
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.d.ts.map +1 -1
- 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
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.js +0 -2
- package/script/mod.d.ts +20 -10
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +25 -9
- package/script/schemas/graders/contexts/conversation.d.ts +22 -0
- package/script/schemas/graders/contexts/conversation.d.ts.map +1 -0
- package/script/schemas/graders/contexts/conversation.js +20 -0
- package/script/schemas/graders/contexts/conversation.ts +40 -0
- package/script/schemas/graders/contexts/conversation.zod.d.ts +3 -0
- package/script/schemas/graders/contexts/conversation.zod.d.ts.map +1 -0
- package/script/schemas/graders/contexts/conversation.zod.js +9 -0
- package/script/schemas/graders/contexts/conversation.zod.ts +1 -0
- package/script/schemas/graders/contexts/conversation_tools.d.ts +31 -0
- package/script/schemas/graders/contexts/conversation_tools.d.ts.map +1 -0
- package/script/schemas/graders/contexts/conversation_tools.js +28 -0
- package/script/schemas/graders/contexts/conversation_tools.ts +63 -0
- package/script/schemas/graders/contexts/conversation_tools.zod.d.ts +3 -0
- package/script/schemas/graders/contexts/conversation_tools.zod.d.ts.map +1 -0
- package/script/schemas/graders/contexts/conversation_tools.zod.js +9 -0
- package/script/schemas/graders/contexts/conversation_tools.zod.ts +1 -0
- package/script/schemas/graders/contexts/tools.d.ts +4 -0
- package/script/schemas/graders/contexts/tools.d.ts.map +1 -0
- package/script/schemas/graders/contexts/tools.js +12 -0
- package/script/schemas/graders/contexts/tools.ts +5 -0
- package/script/schemas/graders/contexts/tools.zod.d.ts +3 -0
- package/script/schemas/graders/contexts/tools.zod.d.ts.map +1 -0
- package/script/schemas/graders/contexts/tools.zod.js +9 -0
- package/script/schemas/graders/contexts/tools.zod.ts +1 -0
- package/script/schemas/graders/contexts/turn.d.ts +10 -0
- package/script/schemas/graders/contexts/turn.d.ts.map +1 -0
- package/script/schemas/graders/contexts/turn.js +10 -0
- package/script/schemas/graders/contexts/turn.ts +17 -0
- package/script/schemas/graders/contexts/turn.zod.d.ts +3 -0
- package/script/schemas/graders/contexts/turn.zod.d.ts.map +1 -0
- package/script/schemas/graders/contexts/turn.zod.js +9 -0
- package/script/schemas/graders/contexts/turn.zod.ts +1 -0
- package/script/schemas/graders/contexts/turn_tools.d.ts +32 -0
- package/script/schemas/graders/contexts/turn_tools.d.ts.map +1 -0
- package/script/schemas/graders/contexts/turn_tools.js +31 -0
- package/script/schemas/graders/contexts/turn_tools.ts +63 -0
- package/script/schemas/graders/contexts/turn_tools.zod.d.ts +3 -0
- package/script/schemas/graders/contexts/turn_tools.zod.d.ts.map +1 -0
- package/script/schemas/graders/contexts/turn_tools.zod.js +9 -0
- package/script/schemas/graders/contexts/turn_tools.zod.ts +1 -0
- package/script/schemas/graders/grader_output.d.ts +10 -0
- package/script/schemas/graders/grader_output.d.ts.map +1 -0
- package/script/schemas/graders/grader_output.js +10 -0
- package/script/schemas/graders/grader_output.ts +15 -0
- package/script/schemas/graders/grader_output.zod.d.ts +3 -0
- package/script/schemas/graders/grader_output.zod.d.ts.map +1 -0
- package/script/schemas/graders/grader_output.zod.js +9 -0
- package/script/schemas/graders/grader_output.zod.ts +1 -0
- package/script/schemas/graders/respond.d.ts +12 -0
- package/script/schemas/graders/respond.d.ts.map +1 -0
- package/script/schemas/graders/respond.js +12 -0
- package/script/schemas/graders/respond.ts +19 -0
- package/script/schemas/graders/respond.zod.d.ts +3 -0
- package/script/schemas/graders/respond.zod.d.ts.map +1 -0
- package/script/schemas/graders/respond.zod.js +9 -0
- package/script/schemas/graders/respond.zod.ts +1 -0
- package/script/schemas/scenarios/plain_chat_input_optional.d.ts +5 -0
- package/script/schemas/scenarios/plain_chat_input_optional.d.ts.map +1 -0
- package/script/schemas/scenarios/plain_chat_input_optional.js +7 -0
- package/script/schemas/scenarios/plain_chat_input_optional.ts +6 -0
- package/script/schemas/scenarios/plain_chat_input_optional.zod.d.ts +3 -0
- package/script/schemas/scenarios/plain_chat_input_optional.zod.d.ts.map +1 -0
- package/script/schemas/scenarios/plain_chat_input_optional.zod.js +9 -0
- package/script/schemas/scenarios/plain_chat_input_optional.zod.ts +1 -0
- package/script/schemas/scenarios/plain_chat_output.d.ts +5 -0
- package/script/schemas/scenarios/plain_chat_output.d.ts.map +1 -0
- package/script/schemas/scenarios/plain_chat_output.js +6 -0
- package/script/schemas/scenarios/plain_chat_output.ts +5 -0
- package/script/schemas/scenarios/plain_chat_output.zod.d.ts +3 -0
- package/script/schemas/scenarios/plain_chat_output.zod.d.ts.map +1 -0
- package/script/schemas/scenarios/plain_chat_output.zod.js +9 -0
- package/script/schemas/scenarios/plain_chat_output.zod.ts +1 -0
- package/script/snippets/context.md +8 -0
- package/script/snippets/end.md +10 -0
- package/script/snippets/generate-test-input.md +12 -0
- package/script/snippets/init.md +12 -0
- package/script/snippets/respond.md +10 -0
- package/script/snippets/scenario-participant.md +10 -0
- package/script/src/builtins.d.ts +2 -0
- package/script/src/builtins.d.ts.map +1 -1
- package/script/src/builtins.js +47 -1
- package/script/src/constants.d.ts +4 -1
- package/script/src/constants.d.ts.map +1 -1
- package/script/src/constants.js +6 -5
- package/script/src/definitions.d.ts +5 -1
- package/script/src/definitions.d.ts.map +1 -1
- package/script/src/loader.d.ts.map +1 -1
- package/script/src/loader.js +219 -12
- package/script/src/markdown.d.ts.map +1 -1
- package/script/src/markdown.js +321 -52
- package/script/src/permissions.d.ts +143 -0
- package/script/src/permissions.d.ts.map +1 -0
- package/script/src/permissions.js +453 -0
- package/script/src/render.d.ts.map +1 -1
- package/script/src/render.js +22 -8
- package/script/src/runtime.d.ts +44 -3
- package/script/src/runtime.d.ts.map +1 -1
- package/script/src/runtime.js +4631 -406
- package/script/src/runtime_exec_host.d.ts +6 -0
- package/script/src/runtime_exec_host.d.ts.map +1 -0
- package/script/src/runtime_exec_host.js +56 -0
- package/script/src/runtime_exec_host_contract.d.ts +23 -0
- package/script/src/runtime_exec_host_contract.d.ts.map +1 -0
- package/script/src/runtime_exec_host_contract.js +18 -0
- package/script/src/runtime_exec_host_deno.d.ts +3 -0
- package/script/src/runtime_exec_host_deno.d.ts.map +1 -0
- package/script/src/runtime_exec_host_deno.js +71 -0
- package/script/src/runtime_exec_host_unsupported.d.ts +3 -0
- package/script/src/runtime_exec_host_unsupported.d.ts.map +1 -0
- package/script/src/runtime_exec_host_unsupported.js +11 -0
- package/script/src/runtime_worker_host.d.ts +6 -0
- package/script/src/runtime_worker_host.d.ts.map +1 -0
- package/script/src/runtime_worker_host.js +56 -0
- package/script/src/runtime_worker_host_contract.d.ts +33 -0
- package/script/src/runtime_worker_host_contract.d.ts.map +1 -0
- package/script/src/runtime_worker_host_contract.js +18 -0
- package/script/src/runtime_worker_host_deno.d.ts +3 -0
- package/script/src/runtime_worker_host_deno.d.ts.map +1 -0
- package/script/src/runtime_worker_host_deno.js +62 -0
- package/script/src/runtime_worker_host_unsupported.d.ts +3 -0
- package/script/src/runtime_worker_host_unsupported.d.ts.map +1 -0
- package/script/src/runtime_worker_host_unsupported.js +11 -0
- package/script/src/state.d.ts +4 -1
- package/script/src/state.d.ts.map +1 -1
- package/script/src/state.js +48 -2
- package/script/src/types.d.ts +405 -1
- package/script/src/types.d.ts.map +1 -1
- package/script/src/types.js +103 -0
- package/snippets/context.md +8 -0
- package/snippets/end.md +10 -0
- package/snippets/generate-test-input.md +12 -0
- package/snippets/init.md +12 -0
- package/snippets/respond.md +10 -0
- package/snippets/scenario-participant.md +10 -0
- package/esm/deps/jsr.io/@std/collections/1.1.4/_utils.d.ts +0 -6
- package/esm/deps/jsr.io/@std/collections/1.1.4/_utils.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/collections/1.1.4/_utils.js +0 -18
- package/esm/deps/jsr.io/@std/yaml/1.0.11/_loader_state.d.ts.map +0 -1
- package/esm/src/openai_compat.d.ts +0 -63
- package/esm/src/openai_compat.d.ts.map +0 -1
- package/esm/src/openai_compat.js +0 -272
- package/esm/src/providers/openrouter.d.ts +0 -8
- package/esm/src/providers/openrouter.d.ts.map +0 -1
- package/esm/src/providers/openrouter.js +0 -168
- package/script/deps/jsr.io/@std/collections/1.1.4/_utils.d.ts +0 -6
- package/script/deps/jsr.io/@std/collections/1.1.4/_utils.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/collections/1.1.4/_utils.js +0 -21
- package/script/deps/jsr.io/@std/yaml/1.0.11/_loader_state.d.ts.map +0 -1
- package/script/src/openai_compat.d.ts +0 -63
- package/script/src/openai_compat.d.ts.map +0 -1
- package/script/src/openai_compat.js +0 -276
- package/script/src/providers/openrouter.d.ts +0 -8
- package/script/src/providers/openrouter.d.ts.map +0 -1
- package/script/src/providers/openrouter.js +0 -207
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/map.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/map.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/seq.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/seq.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/map.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/map.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/seq.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/seq.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.d.ts +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.js +0 -0
- /package/script/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.d.ts +0 -0
package/esm/src/types.js
CHANGED
|
@@ -1 +1,102 @@
|
|
|
1
|
-
|
|
1
|
+
// Type fixtures to keep Open Responses shapes checked.
|
|
2
|
+
const responseMessageFixture = {
|
|
3
|
+
type: "message",
|
|
4
|
+
role: "user",
|
|
5
|
+
content: [{ type: "input_text", text: "Hello there." }],
|
|
6
|
+
id: "msg_1",
|
|
7
|
+
};
|
|
8
|
+
const responseFunctionCallFixture = {
|
|
9
|
+
type: "function_call",
|
|
10
|
+
call_id: "call_1",
|
|
11
|
+
name: "lookup",
|
|
12
|
+
arguments: '{"query":"hello"}',
|
|
13
|
+
id: "call_1",
|
|
14
|
+
};
|
|
15
|
+
const responseFunctionOutputFixture = {
|
|
16
|
+
type: "function_call_output",
|
|
17
|
+
call_id: "call_1",
|
|
18
|
+
output: '{"result":"ok"}',
|
|
19
|
+
id: "out_1",
|
|
20
|
+
};
|
|
21
|
+
const responseAssistantFixture = {
|
|
22
|
+
type: "message",
|
|
23
|
+
role: "assistant",
|
|
24
|
+
content: [{ type: "output_text", text: "Hello!" }],
|
|
25
|
+
id: "msg_2",
|
|
26
|
+
};
|
|
27
|
+
const responseToolFixture = {
|
|
28
|
+
type: "function",
|
|
29
|
+
function: {
|
|
30
|
+
name: "lookup",
|
|
31
|
+
description: "Lookup helper",
|
|
32
|
+
parameters: { query: "string" },
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
const responseToolChoiceFixture = {
|
|
36
|
+
type: "function",
|
|
37
|
+
function: { name: "lookup" },
|
|
38
|
+
};
|
|
39
|
+
const createResponseRequestFixture = {
|
|
40
|
+
model: "gpt-4o-mini",
|
|
41
|
+
input: [
|
|
42
|
+
responseMessageFixture,
|
|
43
|
+
responseFunctionCallFixture,
|
|
44
|
+
responseFunctionOutputFixture,
|
|
45
|
+
responseAssistantFixture,
|
|
46
|
+
],
|
|
47
|
+
instructions: "Be brief.",
|
|
48
|
+
tools: [responseToolFixture],
|
|
49
|
+
tool_choice: responseToolChoiceFixture,
|
|
50
|
+
stream: true,
|
|
51
|
+
max_output_tokens: 256,
|
|
52
|
+
metadata: { source: "fixture" },
|
|
53
|
+
params: { temperature: 0.2 },
|
|
54
|
+
};
|
|
55
|
+
const createResponseResponseFixture = {
|
|
56
|
+
id: "resp_1",
|
|
57
|
+
object: "response",
|
|
58
|
+
model: "gpt-4o-mini",
|
|
59
|
+
created: 1_700_000_000,
|
|
60
|
+
status: "completed",
|
|
61
|
+
output: [responseAssistantFixture],
|
|
62
|
+
usage: { promptTokens: 10, completionTokens: 4, totalTokens: 14 },
|
|
63
|
+
};
|
|
64
|
+
const responseEventsFixture = [
|
|
65
|
+
{ type: "response.created", response: createResponseResponseFixture },
|
|
66
|
+
{
|
|
67
|
+
type: "response.output_text.delta",
|
|
68
|
+
output_index: 0,
|
|
69
|
+
delta: "Hel",
|
|
70
|
+
item_id: "msg_2",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
type: "response.output_text.done",
|
|
74
|
+
output_index: 0,
|
|
75
|
+
text: "Hello!",
|
|
76
|
+
item_id: "msg_2",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
type: "response.output_item.added",
|
|
80
|
+
output_index: 0,
|
|
81
|
+
item: responseAssistantFixture,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: "response.output_item.done",
|
|
85
|
+
output_index: 0,
|
|
86
|
+
item: responseAssistantFixture,
|
|
87
|
+
},
|
|
88
|
+
{ type: "response.completed", response: createResponseResponseFixture },
|
|
89
|
+
];
|
|
90
|
+
export const openResponsesTypeFixtures = {
|
|
91
|
+
request: createResponseRequestFixture,
|
|
92
|
+
response: createResponseResponseFixture,
|
|
93
|
+
items: [
|
|
94
|
+
responseMessageFixture,
|
|
95
|
+
responseFunctionCallFixture,
|
|
96
|
+
responseFunctionOutputFixture,
|
|
97
|
+
responseAssistantFixture,
|
|
98
|
+
],
|
|
99
|
+
events: responseEventsFixture,
|
|
100
|
+
tool: responseToolFixture,
|
|
101
|
+
toolChoice: responseToolChoiceFixture,
|
|
102
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bolt-foundry/gambit-core",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.5-rc.10",
|
|
4
4
|
"description": "Core runtime for Gambit decks.",
|
|
5
5
|
"homepage": "https://github.com/bolt-foundry/gambit",
|
|
6
6
|
"repository": {
|
|
@@ -17,11 +17,82 @@
|
|
|
17
17
|
".": {
|
|
18
18
|
"import": "./esm/mod.js",
|
|
19
19
|
"require": "./script/mod.js"
|
|
20
|
+
},
|
|
21
|
+
"./schemas/graders/respond.ts": {
|
|
22
|
+
"import": "./esm/schemas/graders/respond.js",
|
|
23
|
+
"require": "./script/schemas/graders/respond.js"
|
|
24
|
+
},
|
|
25
|
+
"./schemas/graders/respond.zod.ts": {
|
|
26
|
+
"import": "./esm/schemas/graders/respond.zod.js",
|
|
27
|
+
"require": "./script/schemas/graders/respond.zod.js"
|
|
28
|
+
},
|
|
29
|
+
"./schemas/graders/grader_output.ts": {
|
|
30
|
+
"import": "./esm/schemas/graders/grader_output.js",
|
|
31
|
+
"require": "./script/schemas/graders/grader_output.js"
|
|
32
|
+
},
|
|
33
|
+
"./schemas/graders/grader_output.zod.ts": {
|
|
34
|
+
"import": "./esm/schemas/graders/grader_output.zod.js",
|
|
35
|
+
"require": "./script/schemas/graders/grader_output.zod.js"
|
|
36
|
+
},
|
|
37
|
+
"./schemas/graders/contexts/turn.ts": {
|
|
38
|
+
"import": "./esm/schemas/graders/contexts/turn.js",
|
|
39
|
+
"require": "./script/schemas/graders/contexts/turn.js"
|
|
40
|
+
},
|
|
41
|
+
"./schemas/graders/contexts/turn.zod.ts": {
|
|
42
|
+
"import": "./esm/schemas/graders/contexts/turn.zod.js",
|
|
43
|
+
"require": "./script/schemas/graders/contexts/turn.zod.js"
|
|
44
|
+
},
|
|
45
|
+
"./schemas/graders/contexts/turn_tools.ts": {
|
|
46
|
+
"import": "./esm/schemas/graders/contexts/turn_tools.js",
|
|
47
|
+
"require": "./script/schemas/graders/contexts/turn_tools.js"
|
|
48
|
+
},
|
|
49
|
+
"./schemas/graders/contexts/turn_tools.zod.ts": {
|
|
50
|
+
"import": "./esm/schemas/graders/contexts/turn_tools.zod.js",
|
|
51
|
+
"require": "./script/schemas/graders/contexts/turn_tools.zod.js"
|
|
52
|
+
},
|
|
53
|
+
"./schemas/graders/contexts/conversation.ts": {
|
|
54
|
+
"import": "./esm/schemas/graders/contexts/conversation.js",
|
|
55
|
+
"require": "./script/schemas/graders/contexts/conversation.js"
|
|
56
|
+
},
|
|
57
|
+
"./schemas/graders/contexts/conversation.zod.ts": {
|
|
58
|
+
"import": "./esm/schemas/graders/contexts/conversation.zod.js",
|
|
59
|
+
"require": "./script/schemas/graders/contexts/conversation.zod.js"
|
|
60
|
+
},
|
|
61
|
+
"./schemas/graders/contexts/conversation_tools.ts": {
|
|
62
|
+
"import": "./esm/schemas/graders/contexts/conversation_tools.js",
|
|
63
|
+
"require": "./script/schemas/graders/contexts/conversation_tools.js"
|
|
64
|
+
},
|
|
65
|
+
"./schemas/graders/contexts/conversation_tools.zod.ts": {
|
|
66
|
+
"import": "./esm/schemas/graders/contexts/conversation_tools.zod.js",
|
|
67
|
+
"require": "./script/schemas/graders/contexts/conversation_tools.zod.js"
|
|
68
|
+
},
|
|
69
|
+
"./schemas/graders/contexts/tools.ts": {
|
|
70
|
+
"import": "./esm/schemas/graders/contexts/tools.js",
|
|
71
|
+
"require": "./script/schemas/graders/contexts/tools.js"
|
|
72
|
+
},
|
|
73
|
+
"./schemas/graders/contexts/tools.zod.ts": {
|
|
74
|
+
"import": "./esm/schemas/graders/contexts/tools.zod.js",
|
|
75
|
+
"require": "./script/schemas/graders/contexts/tools.zod.js"
|
|
76
|
+
},
|
|
77
|
+
"./schemas/scenarios/plain_chat_input_optional.ts": {
|
|
78
|
+
"import": "./esm/schemas/scenarios/plain_chat_input_optional.js",
|
|
79
|
+
"require": "./script/schemas/scenarios/plain_chat_input_optional.js"
|
|
80
|
+
},
|
|
81
|
+
"./schemas/scenarios/plain_chat_input_optional.zod.ts": {
|
|
82
|
+
"import": "./esm/schemas/scenarios/plain_chat_input_optional.zod.js",
|
|
83
|
+
"require": "./script/schemas/scenarios/plain_chat_input_optional.zod.js"
|
|
84
|
+
},
|
|
85
|
+
"./schemas/scenarios/plain_chat_output.ts": {
|
|
86
|
+
"import": "./esm/schemas/scenarios/plain_chat_output.js",
|
|
87
|
+
"require": "./script/schemas/scenarios/plain_chat_output.js"
|
|
88
|
+
},
|
|
89
|
+
"./schemas/scenarios/plain_chat_output.zod.ts": {
|
|
90
|
+
"import": "./esm/schemas/scenarios/plain_chat_output.zod.js",
|
|
91
|
+
"require": "./script/schemas/scenarios/plain_chat_output.zod.js"
|
|
20
92
|
}
|
|
21
93
|
},
|
|
22
94
|
"scripts": {},
|
|
23
95
|
"dependencies": {
|
|
24
|
-
"openai": "^4.78.1",
|
|
25
96
|
"zod": "^3.23.8",
|
|
26
97
|
"zod-to-json-schema": "^3.23.0",
|
|
27
98
|
"@deno/shim-deno": "~0.18.0"
|
|
@@ -1,17 +1,40 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
type GraderMessage = {
|
|
4
|
+
role: string;
|
|
5
|
+
content?: unknown;
|
|
6
|
+
name?: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
type GraderConversation = {
|
|
10
|
+
messages?: Array<GraderMessage>;
|
|
11
|
+
meta?: Record<string, unknown>;
|
|
12
|
+
notes?: {
|
|
13
|
+
text?: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
type GraderConversationContext = {
|
|
18
|
+
session: GraderConversation;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const graderMessageSchema: z.ZodType<GraderMessage> = z.object({
|
|
4
22
|
role: z.string(),
|
|
5
23
|
content: z.any().optional(),
|
|
6
24
|
name: z.string().optional(),
|
|
7
25
|
});
|
|
8
26
|
|
|
9
|
-
export const graderConversationSchema = z.object(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
})
|
|
27
|
+
export const graderConversationSchema: z.ZodType<GraderConversation> = z.object(
|
|
28
|
+
{
|
|
29
|
+
messages: z.array(graderMessageSchema).optional(),
|
|
30
|
+
meta: z.record(z.any()).optional(),
|
|
31
|
+
notes: z.object({ text: z.string().optional() }).optional(),
|
|
32
|
+
},
|
|
33
|
+
);
|
|
14
34
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
35
|
+
const graderConversationContextSchema: z.ZodType<GraderConversationContext> = z
|
|
36
|
+
.object({
|
|
37
|
+
session: graderConversationSchema,
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
export default graderConversationContextSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./conversation.ts";
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
type GraderToolCall = {
|
|
4
|
+
id?: string;
|
|
5
|
+
type?: string;
|
|
6
|
+
function: {
|
|
7
|
+
name: string;
|
|
8
|
+
arguments?: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
type GraderConversationMessageWithTools = {
|
|
13
|
+
role: string;
|
|
14
|
+
content?: unknown;
|
|
15
|
+
name?: string;
|
|
16
|
+
tool_calls?: Array<GraderToolCall>;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
type GraderConversationWithTools = {
|
|
20
|
+
messages?: Array<GraderConversationMessageWithTools>;
|
|
21
|
+
meta?: Record<string, unknown>;
|
|
22
|
+
notes?: {
|
|
23
|
+
text?: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
type GraderConversationToolsContext = {
|
|
28
|
+
session: GraderConversationWithTools;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const graderToolCallSchema: z.ZodType<GraderToolCall> = z.object({
|
|
32
|
+
id: z.string().optional(),
|
|
33
|
+
type: z.string().optional(),
|
|
34
|
+
function: z.object({
|
|
35
|
+
name: z.string(),
|
|
36
|
+
arguments: z.string().optional(),
|
|
37
|
+
}),
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
export const graderConversationMessageWithToolsSchema: z.ZodType<
|
|
41
|
+
GraderConversationMessageWithTools
|
|
42
|
+
> = z.object({
|
|
43
|
+
role: z.string(),
|
|
44
|
+
content: z.any().optional(),
|
|
45
|
+
name: z.string().optional(),
|
|
46
|
+
tool_calls: z.array(graderToolCallSchema).optional(),
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
export const graderConversationWithToolsSchema: z.ZodType<
|
|
50
|
+
GraderConversationWithTools
|
|
51
|
+
> = z.object({
|
|
52
|
+
messages: z.array(graderConversationMessageWithToolsSchema).optional(),
|
|
53
|
+
meta: z.record(z.any()).optional(),
|
|
54
|
+
notes: z.object({ text: z.string().optional() }).optional(),
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
const graderConversationToolsContextSchema: z.ZodType<
|
|
58
|
+
GraderConversationToolsContext
|
|
59
|
+
> = z.object({
|
|
60
|
+
session: graderConversationWithToolsSchema,
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
export default graderConversationToolsContextSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./conversation_tools.ts";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./turn_tools.ts";
|
|
@@ -4,7 +4,14 @@ import {
|
|
|
4
4
|
graderMessageSchema,
|
|
5
5
|
} from "./conversation.ts";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
type GraderTurnContext = {
|
|
8
|
+
session: z.infer<typeof graderConversationSchema>;
|
|
9
|
+
messageToGrade: z.infer<typeof graderMessageSchema>;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const graderTurnContextSchema: z.ZodType<GraderTurnContext> = z.object({
|
|
8
13
|
session: graderConversationSchema,
|
|
9
14
|
messageToGrade: graderMessageSchema,
|
|
10
15
|
});
|
|
16
|
+
|
|
17
|
+
export default graderTurnContextSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./turn.ts";
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
type GraderToolCall = {
|
|
4
|
+
id?: string;
|
|
5
|
+
type?: string;
|
|
6
|
+
function: {
|
|
7
|
+
name: string;
|
|
8
|
+
arguments?: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
type GraderMessageWithTools = {
|
|
13
|
+
role: string;
|
|
14
|
+
content?: unknown;
|
|
15
|
+
name?: string;
|
|
16
|
+
tool_calls?: Array<GraderToolCall>;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
type GraderConversationWithTools = {
|
|
20
|
+
messages?: Array<GraderMessageWithTools>;
|
|
21
|
+
meta?: Record<string, unknown>;
|
|
22
|
+
notes?: {
|
|
23
|
+
text?: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
type GraderTurnToolsContext = {
|
|
28
|
+
session: GraderConversationWithTools;
|
|
29
|
+
messageToGrade: GraderMessageWithTools;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const graderToolCallSchema: z.ZodType<GraderToolCall> = z.object({
|
|
33
|
+
id: z.string().optional(),
|
|
34
|
+
type: z.string().optional(),
|
|
35
|
+
function: z.object({
|
|
36
|
+
name: z.string(),
|
|
37
|
+
arguments: z.string().optional(),
|
|
38
|
+
}),
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export const graderMessageWithToolsSchema: z.ZodType<GraderMessageWithTools> = z
|
|
42
|
+
.object({
|
|
43
|
+
role: z.string(),
|
|
44
|
+
content: z.any().optional(),
|
|
45
|
+
name: z.string().optional(),
|
|
46
|
+
tool_calls: z.array(graderToolCallSchema).optional(),
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
export const graderConversationWithToolsSchema: z.ZodType<
|
|
50
|
+
GraderConversationWithTools
|
|
51
|
+
> = z.object({
|
|
52
|
+
messages: z.array(graderMessageWithToolsSchema).optional(),
|
|
53
|
+
meta: z.record(z.any()).optional(),
|
|
54
|
+
notes: z.object({ text: z.string().optional() }).optional(),
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
const graderTurnToolsContextSchema: z.ZodType<GraderTurnToolsContext> = z
|
|
58
|
+
.object({
|
|
59
|
+
session: graderConversationWithToolsSchema,
|
|
60
|
+
messageToGrade: graderMessageWithToolsSchema,
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
export default graderTurnToolsContextSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./turn_tools.ts";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
type GraderOutput = {
|
|
4
|
+
score: number;
|
|
5
|
+
reason: string;
|
|
6
|
+
evidence?: Array<string>;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const graderOutputSchema: z.ZodType<GraderOutput> = z.object({
|
|
10
|
+
score: z.number().int().min(-3).max(3),
|
|
11
|
+
reason: z.string(),
|
|
12
|
+
evidence: z.array(z.string()).optional(),
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
export default graderOutputSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./grader_output.ts";
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
type RespondEnvelope = {
|
|
4
|
+
payload?: unknown;
|
|
5
|
+
status?: number;
|
|
6
|
+
message?: string;
|
|
7
|
+
code?: string;
|
|
8
|
+
meta?: Record<string, unknown>;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const respondSchema: z.ZodType<RespondEnvelope> = z.object({
|
|
4
12
|
payload: z.any().optional(),
|
|
5
|
-
status: z.
|
|
13
|
+
status: z.number().int().optional(),
|
|
6
14
|
message: z.string().optional(),
|
|
7
|
-
code: z.
|
|
15
|
+
code: z.string().optional(),
|
|
8
16
|
meta: z.record(z.any()).optional(),
|
|
9
17
|
});
|
|
18
|
+
|
|
19
|
+
export default respondSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./respond.ts";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./plain_chat_input_optional.ts";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./plain_chat_output.ts";
|
|
@@ -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
|
+
}
|