@bolt-foundry/gambit-core 0.8.1 → 0.8.5-rc.3
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 +60 -34
- package/cards/context.card.md +5 -5
- package/cards/generate-test-input.card.md +12 -0
- package/{script/deps/jsr.io/@std/collections/1.1.4 → esm/deps/jsr.io/@std/collections/1.1.5}/deep_merge.d.ts +2 -2
- package/esm/deps/jsr.io/@std/collections/{1.1.4 → 1.1.5}/deep_merge.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/collections/{1.1.4 → 1.1.5}/deep_merge.js +29 -19
- package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.js +1 -1
- 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.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_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.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/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.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/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.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_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.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/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.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/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.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/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.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_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.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/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 -0
- package/esm/src/constants.d.ts.map +1 -1
- package/esm/src/constants.js +5 -0
- 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 +119 -13
- package/esm/src/markdown.d.ts.map +1 -1
- package/esm/src/markdown.js +222 -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 +28 -2
- package/esm/src/runtime.d.ts.map +1 -1
- package/esm/src/runtime.js +3051 -100
- 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 +381 -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/{esm/deps/jsr.io/@std/collections/1.1.4 → script/deps/jsr.io/@std/collections/1.1.5}/deep_merge.d.ts +2 -2
- package/script/deps/jsr.io/@std/collections/{1.1.4 → 1.1.5}/deep_merge.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/collections/{1.1.4 → 1.1.5}/deep_merge.js +29 -19
- package/script/deps/jsr.io/@std/toml/1.0.11/_parser.js +1 -1
- 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.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_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.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/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.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/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.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_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.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/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.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/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.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/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.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_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.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/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 -0
- package/script/src/constants.d.ts.map +1 -1
- package/script/src/constants.js +6 -1
- 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 +118 -12
- package/script/src/markdown.d.ts.map +1 -1
- package/script/src/markdown.js +221 -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 +28 -2
- package/script/src/runtime.d.ts.map +1 -1
- package/script/src/runtime.js +3053 -99
- 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 +381 -1
- package/script/src/types.d.ts.map +1 -1
- package/script/src/types.js +103 -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/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/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/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.3",
|
|
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";
|
|
@@ -280,7 +280,7 @@ export type MergeAllSets<T, U, X = PartialByType<T, Set<unknown>>, Y = PartialBy
|
|
|
280
280
|
}> = Z;
|
|
281
281
|
/** Get array values type */
|
|
282
282
|
export type ArrayValueType<T> = T extends Array<infer V> ? V : never;
|
|
283
|
-
/** Merge all
|
|
283
|
+
/** Merge all arrays types definitions from keys present in both objects */
|
|
284
284
|
export type MergeAllArrays<T, U, X = PartialByType<T, Array<unknown>>, Y = PartialByType<U, Array<unknown>>, Z = {
|
|
285
285
|
[K in keyof X & keyof Y]: Array<ArrayValueType<X[K]> | ArrayValueType<Y[K]>>;
|
|
286
286
|
}> = Z;
|
|
@@ -288,7 +288,7 @@ export type MergeAllArrays<T, U, X = PartialByType<T, Array<unknown>>, Y = Parti
|
|
|
288
288
|
export type MapKeyType<T> = T extends Map<infer K, unknown> ? K : never;
|
|
289
289
|
/** Get map values types */
|
|
290
290
|
export type MapValueType<T> = T extends Map<unknown, infer V> ? V : never;
|
|
291
|
-
/** Merge all
|
|
291
|
+
/** Merge all maps types definitions from keys present in both objects */
|
|
292
292
|
export type MergeAllMaps<T, U, X = PartialByType<T, Map<unknown, unknown>>, Y = PartialByType<U, Map<unknown, unknown>>, Z = {
|
|
293
293
|
[K in keyof X & keyof Y]: Map<MapKeyType<X[K]> | MapKeyType<Y[K]>, MapValueType<X[K]> | MapValueType<Y[K]>>;
|
|
294
294
|
}> = Z;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep_merge.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/collections/1.1.
|
|
1
|
+
{"version":3,"file":"deep_merge.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/collections/1.1.5/deep_merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,14 @@
|
|
|
3
3
|
// This module is browser compatible.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.deepMerge = deepMerge;
|
|
6
|
-
|
|
6
|
+
/** Default merging options - cached to avoid object allocation on each call */
|
|
7
|
+
const DEFAULT_OPTIONS = {
|
|
8
|
+
arrays: "merge",
|
|
9
|
+
sets: "merge",
|
|
10
|
+
maps: "merge",
|
|
11
|
+
};
|
|
7
12
|
function deepMerge(record, other, options) {
|
|
8
|
-
return deepMergeInternal(record, other, new Set(), options);
|
|
13
|
+
return deepMergeInternal(record, other, new Set(), options ?? DEFAULT_OPTIONS);
|
|
9
14
|
}
|
|
10
15
|
function deepMergeInternal(record, other, seen, options) {
|
|
11
16
|
const result = {};
|
|
@@ -36,11 +41,7 @@ function deepMergeInternal(record, other, seen, options) {
|
|
|
36
41
|
}
|
|
37
42
|
return result;
|
|
38
43
|
}
|
|
39
|
-
function mergeObjects(left, right, seen, options
|
|
40
|
-
arrays: "merge",
|
|
41
|
-
sets: "merge",
|
|
42
|
-
maps: "merge",
|
|
43
|
-
}) {
|
|
44
|
+
function mergeObjects(left, right, seen, options) {
|
|
44
45
|
// Recursively merge mergeable objects
|
|
45
46
|
if (isMergeable(left) && isMergeable(right)) {
|
|
46
47
|
return deepMergeInternal(left, right, seen, options);
|
|
@@ -56,20 +57,22 @@ function mergeObjects(left, right, seen, options = {
|
|
|
56
57
|
// Handle maps
|
|
57
58
|
if ((left instanceof Map) && (right instanceof Map)) {
|
|
58
59
|
if (options.maps === "merge") {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
const result = new Map(left);
|
|
61
|
+
for (const [k, v] of right) {
|
|
62
|
+
result.set(k, v);
|
|
63
|
+
}
|
|
64
|
+
return result;
|
|
63
65
|
}
|
|
64
66
|
return right;
|
|
65
67
|
}
|
|
66
68
|
// Handle sets
|
|
67
69
|
if ((left instanceof Set) && (right instanceof Set)) {
|
|
68
70
|
if (options.sets === "merge") {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
const result = new Set(left);
|
|
72
|
+
for (const v of right) {
|
|
73
|
+
result.add(v);
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
73
76
|
}
|
|
74
77
|
return right;
|
|
75
78
|
}
|
|
@@ -91,8 +94,15 @@ function isNonNullObject(value) {
|
|
|
91
94
|
return value !== null && typeof value === "object";
|
|
92
95
|
}
|
|
93
96
|
function getKeys(record) {
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
97
|
+
const keys = Object.keys(record);
|
|
98
|
+
const symbols = Object.getOwnPropertySymbols(record);
|
|
99
|
+
// Fast path: most objects have no symbol keys
|
|
100
|
+
if (symbols.length === 0)
|
|
101
|
+
return keys;
|
|
102
|
+
for (const sym of symbols) {
|
|
103
|
+
if (Object.prototype.propertyIsEnumerable.call(record, sym)) {
|
|
104
|
+
keys.push(sym);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return keys;
|
|
98
108
|
}
|
|
@@ -39,7 +39,7 @@ exports.table = table;
|
|
|
39
39
|
exports.tableArray = tableArray;
|
|
40
40
|
exports.toml = toml;
|
|
41
41
|
exports.parserFactory = parserFactory;
|
|
42
|
-
const deep_merge_js_1 = require("../../collections/1.1.
|
|
42
|
+
const deep_merge_js_1 = require("../../collections/1.1.5/deep_merge.js");
|
|
43
43
|
/**
|
|
44
44
|
* Copy of `import { isLeap } from "@std/datetime";` because it cannot be impoted as long as it is unstable.
|
|
45
45
|
*/
|