@ai0x0/codex-ts 0.6.5 → 0.8.0
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 +22 -3
- package/dist/core/src/codex_thread.d.ts +6 -0
- package/dist/core/src/codex_thread.d.ts.map +1 -1
- package/dist/core/src/codex_thread.js +62 -7
- package/dist/core/src/codex_thread.js.map +1 -1
- package/dist/core/src/compact.d.ts +12 -2
- package/dist/core/src/compact.d.ts.map +1 -1
- package/dist/core/src/compact.js +28 -11
- package/dist/core/src/compact.js.map +1 -1
- package/dist/core/src/index.d.ts +4 -4
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/index.js +3 -3
- package/dist/core/src/index.js.map +1 -1
- package/dist/core/src/session/retry.d.ts +47 -5
- package/dist/core/src/session/retry.d.ts.map +1 -1
- package/dist/core/src/session/retry.js +153 -9
- package/dist/core/src/session/retry.js.map +1 -1
- package/dist/core/src/session/turn.d.ts +6 -0
- package/dist/core/src/session/turn.d.ts.map +1 -1
- package/dist/core/src/session/turn.js +77 -27
- package/dist/core/src/session/turn.js.map +1 -1
- package/dist/core/src/skills.d.ts +35 -2
- package/dist/core/src/skills.d.ts.map +1 -1
- package/dist/core/src/skills.js +146 -41
- package/dist/core/src/skills.js.map +1 -1
- package/dist/core/src/state/auto_compact_window.d.ts +58 -4
- package/dist/core/src/state/auto_compact_window.d.ts.map +1 -1
- package/dist/core/src/state/auto_compact_window.js +89 -5
- package/dist/core/src/state/auto_compact_window.js.map +1 -1
- package/dist/core/src/state/token_state.d.ts +3 -3
- package/dist/core/src/state/token_state.d.ts.map +1 -1
- package/dist/core/src/state/token_state.js +36 -8
- package/dist/core/src/state/token_state.js.map +1 -1
- package/dist/core/src/tools/handlers/request_user_input_spec.d.ts +5 -1
- package/dist/core/src/tools/handlers/request_user_input_spec.d.ts.map +1 -1
- package/dist/core/src/tools/handlers/request_user_input_spec.js +7 -1
- package/dist/core/src/tools/handlers/request_user_input_spec.js.map +1 -1
- package/dist/core/src/tools/router.d.ts.map +1 -1
- package/dist/core/src/tools/router.js +7 -5
- package/dist/core/src/tools/router.js.map +1 -1
- package/dist/core/tests/suite/compact.test.js +64 -7
- package/dist/core/tests/suite/compact.test.js.map +1 -1
- package/dist/core/tests/suite/goal.test.js +34 -5
- package/dist/core/tests/suite/goal.test.js.map +1 -1
- package/dist/core/tests/suite/image_input.test.js +23 -0
- package/dist/core/tests/suite/image_input.test.js.map +1 -1
- package/dist/core/tests/suite/reasoning_delta.test.d.ts +11 -0
- package/dist/core/tests/suite/reasoning_delta.test.d.ts.map +1 -0
- package/dist/core/tests/suite/reasoning_delta.test.js +85 -0
- package/dist/core/tests/suite/reasoning_delta.test.js.map +1 -0
- package/dist/core/tests/suite/request_user_input.test.js +25 -3
- package/dist/core/tests/suite/request_user_input.test.js.map +1 -1
- package/dist/core/tests/suite/skills.test.js +30 -2
- package/dist/core/tests/suite/skills.test.js.map +1 -1
- package/dist/core/tests/suite/stream_failure.test.d.ts +11 -0
- package/dist/core/tests/suite/stream_failure.test.d.ts.map +1 -0
- package/dist/core/tests/suite/stream_failure.test.js +162 -0
- package/dist/core/tests/suite/stream_failure.test.js.map +1 -0
- package/dist/core/tests/suite/token_count.test.js +8 -1
- package/dist/core/tests/suite/token_count.test.js.map +1 -1
- package/dist/ext/goal/src/spec.d.ts.map +1 -1
- package/dist/ext/goal/src/spec.js +14 -9
- package/dist/ext/goal/src/spec.js.map +1 -1
- package/dist/ext/goal/src/tool.d.ts +1 -1
- package/dist/ext/goal/src/tool.d.ts.map +1 -1
- package/dist/ext/goal/src/tool.js +71 -20
- package/dist/ext/goal/src/tool.js.map +1 -1
- package/dist/host/src/approvals/policy.d.ts +37 -0
- package/dist/host/src/approvals/policy.d.ts.map +1 -0
- package/dist/host/src/approvals/policy.js +26 -0
- package/dist/host/src/approvals/policy.js.map +1 -0
- package/dist/host/src/backend/types.d.ts +58 -0
- package/dist/host/src/backend/types.d.ts.map +1 -0
- package/dist/host/src/backend/types.js +25 -0
- package/dist/host/src/backend/types.js.map +1 -0
- package/dist/host/src/exec/spec.d.ts +27 -0
- package/dist/host/src/exec/spec.d.ts.map +1 -0
- package/dist/host/src/exec/spec.js +74 -0
- package/dist/host/src/exec/spec.js.map +1 -0
- package/dist/host/src/exec/tools.d.ts +15 -0
- package/dist/host/src/exec/tools.d.ts.map +1 -0
- package/dist/host/src/exec/tools.js +89 -0
- package/dist/host/src/exec/tools.js.map +1 -0
- package/dist/host/src/index.d.ts +8 -0
- package/dist/host/src/index.d.ts.map +1 -0
- package/dist/host/src/index.js +5 -0
- package/dist/host/src/index.js.map +1 -0
- package/dist/protocol/src/index.d.ts +2 -1
- package/dist/protocol/src/index.d.ts.map +1 -1
- package/dist/protocol/src/index.js +1 -1
- package/dist/protocol/src/index.js.map +1 -1
- package/dist/protocol/src/protocol.d.ts +134 -5
- package/dist/protocol/src/protocol.d.ts.map +1 -1
- package/dist/protocol/src/protocol.js +13 -1
- package/dist/protocol/src/protocol.js.map +1 -1
- package/dist/protocol/src/user_input.d.ts +11 -0
- package/dist/protocol/src/user_input.d.ts.map +1 -1
- package/dist/state/src/runtime/goals.d.ts +15 -1
- package/dist/state/src/runtime/goals.d.ts.map +1 -1
- package/dist/state/src/runtime/goals.js +36 -3
- package/dist/state/src/runtime/goals.js.map +1 -1
- package/dist/thread-store/src/types.d.ts +5 -0
- package/dist/thread-store/src/types.d.ts.map +1 -1
- package/dist/tools/src/json_schema.d.ts +2 -0
- package/dist/tools/src/json_schema.d.ts.map +1 -1
- package/dist/tools/src/json_schema.js +4 -0
- package/dist/tools/src/json_schema.js.map +1 -1
- package/package.json +5 -1
|
@@ -9,18 +9,69 @@ import type { RequestUserInputEvent, RequestUserInputResponse } from "./request_
|
|
|
9
9
|
import type { UpdatePlanArgs } from "./plan_tool.js";
|
|
10
10
|
export type ThreadGoalStatus = "Active" | "Paused" | "Blocked" | "UsageLimited" | "BudgetLimited" | "Complete";
|
|
11
11
|
export interface ThreadGoal {
|
|
12
|
+
/** mirrors ThreadGoal.thread_id (protocol.rs:4071) — the owning thread. */
|
|
13
|
+
thread_id: string;
|
|
12
14
|
objective: string;
|
|
13
15
|
status: ThreadGoalStatus;
|
|
14
16
|
token_budget?: number | undefined;
|
|
15
17
|
tokens_used: number;
|
|
16
18
|
time_used_seconds: number;
|
|
19
|
+
/** Unix epoch milliseconds — mirrors created_at/updated_at (protocol.rs:4079). */
|
|
20
|
+
created_at: number;
|
|
21
|
+
updated_at: number;
|
|
17
22
|
}
|
|
23
|
+
/** mirrors MAX_THREAD_GOAL_OBJECTIVE_CHARS (protocol.rs:4053) */
|
|
24
|
+
export declare const MAX_THREAD_GOAL_OBJECTIVE_CHARS = 4000;
|
|
25
|
+
/** mirrors validate_thread_goal_objective (protocol.rs:4055) — returns the
|
|
26
|
+
* error message, or null when the objective is acceptable. */
|
|
27
|
+
export declare function validateThreadGoalObjective(value: string): string | null;
|
|
18
28
|
export interface TurnStartedEvent {
|
|
19
29
|
turn_id: string;
|
|
30
|
+
/** ID of the originating turn in the root thread; equals turn_id for root turns. */
|
|
31
|
+
root_turn_id?: string | undefined;
|
|
32
|
+
/** Persisted for rollout consumers that correlate turns with telemetry traces. */
|
|
33
|
+
trace_id?: string | undefined;
|
|
34
|
+
/** Unix timestamp (seconds) when the turn started. */
|
|
35
|
+
started_at?: number | undefined;
|
|
36
|
+
model_context_window?: number | null | undefined;
|
|
37
|
+
/** Browser port has no collaboration modes; retained only for shape parity. */
|
|
38
|
+
collaboration_mode_kind?: string | undefined;
|
|
20
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* mirrors TurnCompleteEvent (protocol.rs:1986). codex-rs emits this at the END
|
|
42
|
+
* of EVERY turn — successful or not — carrying the terminal error when the turn
|
|
43
|
+
* failed (tasks/mod.rs:803). codex-ts mirrors that: a failing turn now emits
|
|
44
|
+
* BOTH `Error` (unchanged, for hosts that key off it) and a final
|
|
45
|
+
* `TurnComplete` with `error` set, so a host looping until TurnComplete no
|
|
46
|
+
* longer hangs on failure.
|
|
47
|
+
*/
|
|
21
48
|
export interface TurnCompleteEvent {
|
|
22
49
|
turn_id: string;
|
|
23
50
|
last_agent_message?: string | undefined;
|
|
51
|
+
/** Terminal error details when the turn completed unsuccessfully. */
|
|
52
|
+
error?: ErrorEvent | undefined;
|
|
53
|
+
/** Unix timestamp (seconds) when the turn started / completed. */
|
|
54
|
+
started_at?: number | undefined;
|
|
55
|
+
completed_at?: number | undefined;
|
|
56
|
+
/** Turn wall-clock duration in milliseconds, when known. */
|
|
57
|
+
duration_ms?: number | undefined;
|
|
58
|
+
/** Time to the first model token in milliseconds, when known. */
|
|
59
|
+
time_to_first_token_ms?: number | undefined;
|
|
60
|
+
}
|
|
61
|
+
/** mirrors TurnAbortReason (protocol.rs:4209). codex-ts only ever produces
|
|
62
|
+
* `interrupted` (Op.Interrupt); the rest exist for shape parity. */
|
|
63
|
+
export type TurnAbortReason = "interrupted" | "replaced" | "review_ended" | "budget_limited";
|
|
64
|
+
/**
|
|
65
|
+
* mirrors TurnAbortedEvent (protocol.rs:4190). codex-rs ends an aborted turn with
|
|
66
|
+
* THIS event instead of TurnComplete (tasks/mod.rs:785-794), so an interrupted
|
|
67
|
+
* turn has its own terminal event rather than a success-shaped one.
|
|
68
|
+
*/
|
|
69
|
+
export interface TurnAbortedEvent {
|
|
70
|
+
turn_id?: string | undefined;
|
|
71
|
+
reason: TurnAbortReason;
|
|
72
|
+
started_at?: number | undefined;
|
|
73
|
+
completed_at?: number | undefined;
|
|
74
|
+
duration_ms?: number | undefined;
|
|
24
75
|
}
|
|
25
76
|
/** Full assistant text for a completed message */
|
|
26
77
|
export interface AgentMessageEvent {
|
|
@@ -28,23 +79,92 @@ export interface AgentMessageEvent {
|
|
|
28
79
|
}
|
|
29
80
|
/** Streaming text chunk — mirrors AgentMessageContentDeltaEvent */
|
|
30
81
|
export interface AgentMessageContentDeltaEvent {
|
|
82
|
+
thread_id?: string;
|
|
31
83
|
turn_id: string;
|
|
32
84
|
item_id: string;
|
|
33
85
|
delta: string;
|
|
34
86
|
}
|
|
35
|
-
/** Streaming reasoning (thinking) chunk — mirrors codex-rs
|
|
36
|
-
* Emitted while the model streams
|
|
37
|
-
* output_text. Lets hosts show a
|
|
87
|
+
/** Streaming reasoning (thinking) chunk — mirrors codex-rs
|
|
88
|
+
* ReasoningContentDeltaEvent (protocol.rs:1873). Emitted while the model streams
|
|
89
|
+
* its reasoning/thinking, before any final output_text. Lets hosts show a
|
|
90
|
+
* "thinking" state only while truly reasoning. */
|
|
38
91
|
export interface ReasoningContentDeltaEvent {
|
|
92
|
+
thread_id?: string;
|
|
39
93
|
turn_id: string;
|
|
94
|
+
/** Reasoning item this delta belongs to — mirrors item_id (protocol.rs:1876). */
|
|
95
|
+
item_id: string;
|
|
40
96
|
delta: string;
|
|
97
|
+
/**
|
|
98
|
+
* Which reasoning block the delta belongs to — mirrors summary_index
|
|
99
|
+
* (protocol.rs:1880). Sourced from the SSE `summary_index` for
|
|
100
|
+
* `response.reasoning_summary_text.delta` and from `content_index` for
|
|
101
|
+
* `response.reasoning_text.delta` (codex-api/src/sse/responses.rs), so hosts
|
|
102
|
+
* can keep separate reasoning blocks apart. Defaults to 0, like rs's
|
|
103
|
+
* `#[serde(default)]`.
|
|
104
|
+
*/
|
|
105
|
+
summary_index: number;
|
|
41
106
|
}
|
|
42
107
|
export interface ThreadGoalUpdatedEvent {
|
|
108
|
+
/** mirrors ThreadGoalUpdatedEvent.thread_id (protocol.rs:4087) */
|
|
109
|
+
thread_id: string;
|
|
43
110
|
turn_id?: string | undefined;
|
|
44
111
|
goal: ThreadGoal;
|
|
45
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* mirrors codex-rs/protocol/src/protocol.rs CodexErrorInfo (protocol.rs:1758) —
|
|
115
|
+
* the client-facing error classification. codex-ts produces the subset it can
|
|
116
|
+
* actually observe over HTTP/SSE (see codexErrorInfoFor in session/retry.ts);
|
|
117
|
+
* the remaining variants are kept for shape parity with rs.
|
|
118
|
+
*/
|
|
119
|
+
export type CodexErrorInfo = {
|
|
120
|
+
type: "context_window_exceeded";
|
|
121
|
+
} | {
|
|
122
|
+
type: "session_budget_exceeded";
|
|
123
|
+
} | {
|
|
124
|
+
type: "usage_limit_exceeded";
|
|
125
|
+
} | {
|
|
126
|
+
type: "server_overloaded";
|
|
127
|
+
} | {
|
|
128
|
+
type: "cyber_policy";
|
|
129
|
+
} | {
|
|
130
|
+
type: "misalignment_policy_violation";
|
|
131
|
+
} | {
|
|
132
|
+
type: "rate_limit_exceeded";
|
|
133
|
+
} | {
|
|
134
|
+
type: "http_connection_failed";
|
|
135
|
+
http_status_code?: number | undefined;
|
|
136
|
+
} | {
|
|
137
|
+
type: "response_stream_connection_failed";
|
|
138
|
+
http_status_code?: number | undefined;
|
|
139
|
+
} | {
|
|
140
|
+
type: "internal_server_error";
|
|
141
|
+
} | {
|
|
142
|
+
type: "unauthorized";
|
|
143
|
+
} | {
|
|
144
|
+
type: "bad_request";
|
|
145
|
+
} | {
|
|
146
|
+
type: "sandbox_error";
|
|
147
|
+
} | {
|
|
148
|
+
type: "response_stream_disconnected";
|
|
149
|
+
http_status_code?: number | undefined;
|
|
150
|
+
} | {
|
|
151
|
+
type: "response_too_many_failed_attempts";
|
|
152
|
+
http_status_code?: number | undefined;
|
|
153
|
+
} | {
|
|
154
|
+
type: "thread_rollback_failed";
|
|
155
|
+
} | {
|
|
156
|
+
type: "active_turn_not_steerable";
|
|
157
|
+
turn_kind: "review" | "compact";
|
|
158
|
+
} | {
|
|
159
|
+
type: "other";
|
|
160
|
+
};
|
|
46
161
|
export interface ErrorEvent {
|
|
47
162
|
message: string;
|
|
163
|
+
/**
|
|
164
|
+
* mirrors ErrorEvent.codex_error_info (protocol.rs:1925) — lets hosts branch
|
|
165
|
+
* on the error class instead of matching message text.
|
|
166
|
+
*/
|
|
167
|
+
codex_error_info?: CodexErrorInfo | undefined;
|
|
48
168
|
/**
|
|
49
169
|
* Browser-specific extension — no equivalent in codex-rs/protocol ErrorEvent.
|
|
50
170
|
* Lets hosts correlate an error with the turn that produced it (e.g. to
|
|
@@ -58,15 +178,19 @@ export type ContextCompactedEvent = Record<never, never>;
|
|
|
58
178
|
export interface WarningEvent {
|
|
59
179
|
message: string;
|
|
60
180
|
}
|
|
61
|
-
/** mirrors TokenUsage (protocol.rs:
|
|
181
|
+
/** mirrors TokenUsage (protocol.rs:2056) */
|
|
62
182
|
export interface TokenUsage {
|
|
63
183
|
input_tokens: number;
|
|
64
184
|
cached_input_tokens: number;
|
|
185
|
+
/** Prompt-cache WRITE tokens — mirrors cache_write_input_tokens
|
|
186
|
+
* (protocol.rs:2063), read from `usage.input_tokens_details.cache_write_tokens`
|
|
187
|
+
* (codex-api/src/sse/responses.rs:137). 0 when the provider omits it. */
|
|
188
|
+
cache_write_input_tokens: number;
|
|
65
189
|
output_tokens: number;
|
|
66
190
|
reasoning_output_tokens: number;
|
|
67
191
|
total_tokens: number;
|
|
68
192
|
}
|
|
69
|
-
/** mirrors TokenUsageInfo (protocol.rs:
|
|
193
|
+
/** mirrors TokenUsageInfo (protocol.rs:2073) */
|
|
70
194
|
export interface TokenUsageInfo {
|
|
71
195
|
total_token_usage: TokenUsage;
|
|
72
196
|
last_token_usage: TokenUsage;
|
|
@@ -85,6 +209,11 @@ export type EventMsg = {
|
|
|
85
209
|
} | {
|
|
86
210
|
type: "TurnComplete";
|
|
87
211
|
event: TurnCompleteEvent;
|
|
212
|
+
}
|
|
213
|
+
/** mirrors EventMsg::TurnAborted — terminal event for an interrupted turn */
|
|
214
|
+
| {
|
|
215
|
+
type: "TurnAborted";
|
|
216
|
+
event: TurnAbortedEvent;
|
|
88
217
|
} | {
|
|
89
218
|
type: "AgentMessage";
|
|
90
219
|
event: AgentMessageEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../protocol/src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIrD,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,cAAc,GACd,eAAe,GACf,UAAU,CAAC;AAEf,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../protocol/src/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,17 @@
|
|
|
4
4
|
* Subset: Op + EventMsg variants needed for goal, request_user_input,
|
|
5
5
|
* and conversation (turn lifecycle + streaming text).
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
/** mirrors MAX_THREAD_GOAL_OBJECTIVE_CHARS (protocol.rs:4053) */
|
|
8
|
+
export const MAX_THREAD_GOAL_OBJECTIVE_CHARS = 4_000;
|
|
9
|
+
/** mirrors validate_thread_goal_objective (protocol.rs:4055) — returns the
|
|
10
|
+
* error message, or null when the objective is acceptable. */
|
|
11
|
+
export function validateThreadGoalObjective(value) {
|
|
12
|
+
if (value.length === 0) {
|
|
13
|
+
return "goal objective must not be empty";
|
|
14
|
+
}
|
|
15
|
+
if (Array.from(value).length > MAX_THREAD_GOAL_OBJECTIVE_CHARS) {
|
|
16
|
+
return `goal objective must be at most ${MAX_THREAD_GOAL_OBJECTIVE_CHARS} characters`;
|
|
17
|
+
}
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
8
20
|
//# sourceMappingURL=protocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../protocol/src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../protocol/src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgCH,iEAAiE;AACjE,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAErD;+DAC+D;AAC/D,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,+BAA+B,EAAE,CAAC;QAC/D,OAAO,kCAAkC,+BAA+B,aAAa,CAAC;IACxF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -5,5 +5,16 @@ export type UserInput = {
|
|
|
5
5
|
} | {
|
|
6
6
|
type: "image";
|
|
7
7
|
image_url: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Pre-encoded audio data URI forwarded to the Responses API — mirrors
|
|
11
|
+
* `UserInput::Audio { audio_url }` (user_input.rs:41), serialized as
|
|
12
|
+
* `ContentItem::InputAudio { audio_url }` (models.rs:1778). The rs
|
|
13
|
+
* `LocalAudio`/`LocalImage` variants read from disk, so they have no browser
|
|
14
|
+
* equivalent: a host records audio and passes the data URI here directly.
|
|
15
|
+
*/
|
|
16
|
+
| {
|
|
17
|
+
type: "audio";
|
|
18
|
+
audio_url: string;
|
|
8
19
|
};
|
|
9
20
|
//# sourceMappingURL=user_input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user_input.d.ts","sourceRoot":"","sources":["../../../protocol/src/user_input.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAElD,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"user_input.d.ts","sourceRoot":"","sources":["../../../protocol/src/user_input.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAElD,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AACtC;;;;;;GAMG;GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -35,10 +35,24 @@ export declare class GoalStore {
|
|
|
35
35
|
private readonly backend;
|
|
36
36
|
constructor(backend?: GoalBackend);
|
|
37
37
|
getThreadGoal(threadId: string): Promise<ThreadGoal | null>;
|
|
38
|
-
/** Create or replace a thread goal */
|
|
38
|
+
/** Create or replace a thread goal (mirrors replace_thread_goal, goals.rs:158) */
|
|
39
39
|
replaceThreadGoal(threadId: string, objective: string, status: ThreadGoalStatus, token_budget?: number): Promise<ThreadGoal>;
|
|
40
|
+
/**
|
|
41
|
+
* Create a goal only when the thread has no goal, or its goal is already
|
|
42
|
+
* complete. mirrors create_thread_goal (goals.rs:225): upstream changed the
|
|
43
|
+
* `ON CONFLICT(thread_id) DO NOTHING` to `DO UPDATE … WHERE status =
|
|
44
|
+
* 'complete'`, so a finished goal is replaced (usage counters reset to 0)
|
|
45
|
+
* while an UNFINISHED goal still blocks creation. Returns null when blocked.
|
|
46
|
+
*/
|
|
47
|
+
createThreadGoal(threadId: string, objective: string, token_budget?: number): Promise<ThreadGoal | null>;
|
|
40
48
|
/** Apply a partial update to an existing goal */
|
|
41
49
|
updateThreadGoal(threadId: string, update: GoalUpdate): Promise<GoalAccountingOutcome>;
|
|
50
|
+
/**
|
|
51
|
+
* Delete the thread's goal and return what was removed (null when there was
|
|
52
|
+
* none). mirrors delete_thread_goal (goals.rs:472), which upstream changed
|
|
53
|
+
* from `bool` to the deleted row so callers can report/emit it.
|
|
54
|
+
*/
|
|
55
|
+
deleteThreadGoal(threadId: string): Promise<ThreadGoal | null>;
|
|
42
56
|
/**
|
|
43
57
|
* Record token and time usage against the active goal budget.
|
|
44
58
|
* Mirrors the accounting path in GoalStore::account_tokens().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goals.d.ts","sourceRoot":"","sources":["../../../../state/src/runtime/goals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAItF,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC5D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAID,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEjD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI3D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxD;AAID,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC1C;AAID,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAI1C,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,OAAO,GAAE,WAAuC;IAItD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIjE,
|
|
1
|
+
{"version":3,"file":"goals.d.ts","sourceRoot":"","sources":["../../../../state/src/runtime/goals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAItF,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC5D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAID,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEjD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI3D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxD;AAID,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC1C;AAID,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAI1C,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,OAAO,GAAE,WAAuC;IAItD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIjE,kFAAkF;IAC5E,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC;IAgBtB;;;;;;OAMG;IACG,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAQ7B,iDAAiD;IAC3C,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,qBAAqB,CAAC;IAmBjC;;;;OAIG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IASpE;;;OAGG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,qBAAqB,CAAC;CA8BlC"}
|
|
@@ -30,21 +30,39 @@ export class GoalStore {
|
|
|
30
30
|
async getThreadGoal(threadId) {
|
|
31
31
|
return this.backend.getThreadGoal(threadId);
|
|
32
32
|
}
|
|
33
|
-
/** Create or replace a thread goal */
|
|
33
|
+
/** Create or replace a thread goal (mirrors replace_thread_goal, goals.rs:158) */
|
|
34
34
|
async replaceThreadGoal(threadId, objective, status, token_budget) {
|
|
35
|
+
const now = Date.now();
|
|
35
36
|
const goal = {
|
|
37
|
+
thread_id: threadId,
|
|
36
38
|
objective,
|
|
37
39
|
status,
|
|
38
40
|
...(token_budget !== undefined ? { token_budget } : {}),
|
|
39
41
|
tokens_used: 0,
|
|
40
42
|
time_used_seconds: 0,
|
|
43
|
+
created_at: now,
|
|
44
|
+
updated_at: now,
|
|
41
45
|
};
|
|
42
46
|
await this.backend.saveThreadGoal(threadId, goal);
|
|
43
47
|
return goal;
|
|
44
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Create a goal only when the thread has no goal, or its goal is already
|
|
51
|
+
* complete. mirrors create_thread_goal (goals.rs:225): upstream changed the
|
|
52
|
+
* `ON CONFLICT(thread_id) DO NOTHING` to `DO UPDATE … WHERE status =
|
|
53
|
+
* 'complete'`, so a finished goal is replaced (usage counters reset to 0)
|
|
54
|
+
* while an UNFINISHED goal still blocks creation. Returns null when blocked.
|
|
55
|
+
*/
|
|
56
|
+
async createThreadGoal(threadId, objective, token_budget) {
|
|
57
|
+
const existing = await this.getThreadGoal(threadId);
|
|
58
|
+
if (existing !== null && existing.status !== "Complete") {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
return this.replaceThreadGoal(threadId, objective, "Active", token_budget);
|
|
62
|
+
}
|
|
45
63
|
/** Apply a partial update to an existing goal */
|
|
46
64
|
async updateThreadGoal(threadId, update) {
|
|
47
|
-
const existing = await this.
|
|
65
|
+
const existing = await this.getThreadGoal(threadId);
|
|
48
66
|
if (existing === null) {
|
|
49
67
|
return { kind: "Unchanged", goal: null };
|
|
50
68
|
}
|
|
@@ -56,16 +74,30 @@ export class GoalStore {
|
|
|
56
74
|
? {}
|
|
57
75
|
: { token_budget: update.token_budget }
|
|
58
76
|
: {}),
|
|
77
|
+
updated_at: Date.now(),
|
|
59
78
|
};
|
|
60
79
|
await this.backend.saveThreadGoal(threadId, updated);
|
|
61
80
|
return { kind: "Updated", goal: updated };
|
|
62
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Delete the thread's goal and return what was removed (null when there was
|
|
84
|
+
* none). mirrors delete_thread_goal (goals.rs:472), which upstream changed
|
|
85
|
+
* from `bool` to the deleted row so callers can report/emit it.
|
|
86
|
+
*/
|
|
87
|
+
async deleteThreadGoal(threadId) {
|
|
88
|
+
const existing = await this.getThreadGoal(threadId);
|
|
89
|
+
if (existing === null) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
await this.backend.deleteThreadGoal(threadId);
|
|
93
|
+
return existing;
|
|
94
|
+
}
|
|
63
95
|
/**
|
|
64
96
|
* Record token and time usage against the active goal budget.
|
|
65
97
|
* Mirrors the accounting path in GoalStore::account_tokens().
|
|
66
98
|
*/
|
|
67
99
|
async accountTokens(threadId, tokens, elapsedSeconds) {
|
|
68
|
-
const existing = await this.
|
|
100
|
+
const existing = await this.getThreadGoal(threadId);
|
|
69
101
|
if (existing === null || existing.status !== "Active") {
|
|
70
102
|
return { kind: "Unchanged", goal: existing };
|
|
71
103
|
}
|
|
@@ -82,6 +114,7 @@ export class GoalStore {
|
|
|
82
114
|
tokens_used,
|
|
83
115
|
time_used_seconds,
|
|
84
116
|
status,
|
|
117
|
+
updated_at: Date.now(),
|
|
85
118
|
};
|
|
86
119
|
await this.backend.saveThreadGoal(threadId, updated);
|
|
87
120
|
const changed = status !== existing.status || tokens_used !== existing.tokens_used;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goals.js","sourceRoot":"","sources":["../../../../state/src/runtime/goals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,kFAAkF;AAElF,MAAM,OAAO,mBAAmB;IACb,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEvD,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,IAAgB;QACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;CACF;AAeD,iFAAiF;AAEjF,MAAM,OAAO,SAAS;IACH,OAAO,CAAc;IAEtC,YAAY,UAAuB,IAAI,mBAAmB,EAAE;QAC1D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"goals.js","sourceRoot":"","sources":["../../../../state/src/runtime/goals.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,11 @@ export type UserContentPart = {
|
|
|
13
13
|
type: "input_image";
|
|
14
14
|
image_url: string;
|
|
15
15
|
detail?: ImageDetail;
|
|
16
|
+
}
|
|
17
|
+
/** mirrors ContentItem::InputAudio (models.rs:723) — a base64 data URI. */
|
|
18
|
+
| {
|
|
19
|
+
type: "input_audio";
|
|
20
|
+
audio_url: string;
|
|
16
21
|
};
|
|
17
22
|
export type ConversationItem = {
|
|
18
23
|
type: "message";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../thread-store/src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAgB/D,0DAA0D;AAC1D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/D,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../thread-store/src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAgB/D,0DAA0D;AAC1D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/D,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE;AAClE,2EAA2E;GACzE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GACxB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAAC;CACrC,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAQtE,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAA;CAAE,CAAC;AAIxC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAID,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,mEAAmE;IACnE,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC3C"}
|
|
@@ -11,6 +11,8 @@ export interface JsonSchema {
|
|
|
11
11
|
export declare function object(properties: Record<string, JsonSchema>, required?: string[], additionalProperties?: boolean): JsonSchema;
|
|
12
12
|
export declare function string(description?: string): JsonSchema;
|
|
13
13
|
export declare function integer(description?: string): JsonSchema;
|
|
14
|
+
/** mirrors JsonSchema::number (json_schema.rs JsonSchemaPrimitiveType::Number) */
|
|
15
|
+
export declare function number(description?: string): JsonSchema;
|
|
14
16
|
export declare function stringEnum(values: string[], description?: string): JsonSchema;
|
|
15
17
|
export declare function array(items: JsonSchema, description?: string): JsonSchema;
|
|
16
18
|
//# sourceMappingURL=json_schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_schema.d.ts","sourceRoot":"","sources":["../../../tools/src/json_schema.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAChC,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IACxD,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CAC9B;AAED,wBAAgB,MAAM,CACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,QAAQ,CAAC,EAAE,MAAM,EAAE,EACnB,oBAAoB,CAAC,EAAE,OAAO,GAC7B,UAAU,CAOZ;AAED,wBAAgB,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAEvD;AAED,wBAAgB,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAExD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAM7E;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAEzE"}
|
|
1
|
+
{"version":3,"file":"json_schema.d.ts","sourceRoot":"","sources":["../../../tools/src/json_schema.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAChC,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IACxD,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CAC9B;AAED,wBAAgB,MAAM,CACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,QAAQ,CAAC,EAAE,MAAM,EAAE,EACnB,oBAAoB,CAAC,EAAE,OAAO,GAC7B,UAAU,CAOZ;AAED,wBAAgB,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAEvD;AAED,wBAAgB,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAExD;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAEvD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAM7E;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAEzE"}
|
|
@@ -13,6 +13,10 @@ export function string(description) {
|
|
|
13
13
|
export function integer(description) {
|
|
14
14
|
return { type: "integer", ...(description ? { description } : {}) };
|
|
15
15
|
}
|
|
16
|
+
/** mirrors JsonSchema::number (json_schema.rs JsonSchemaPrimitiveType::Number) */
|
|
17
|
+
export function number(description) {
|
|
18
|
+
return { type: "number", ...(description ? { description } : {}) };
|
|
19
|
+
}
|
|
16
20
|
export function stringEnum(values, description) {
|
|
17
21
|
return {
|
|
18
22
|
type: "string",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_schema.js","sourceRoot":"","sources":["../../../tools/src/json_schema.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAYrD,MAAM,UAAU,MAAM,CACpB,UAAsC,EACtC,QAAmB,EACnB,oBAA8B;IAE9B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU;QACV,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,WAAoB;IACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,WAAoB;IAC1C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAgB,EAAE,WAAoB;IAC/D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAiB,EAAE,WAAoB;IAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3E,CAAC"}
|
|
1
|
+
{"version":3,"file":"json_schema.js","sourceRoot":"","sources":["../../../tools/src/json_schema.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAYrD,MAAM,UAAU,MAAM,CACpB,UAAsC,EACtC,QAAmB,EACnB,oBAA8B;IAE9B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU;QACV,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,WAAoB;IACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,WAAoB;IAC1C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAC,WAAoB;IACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAgB,EAAE,WAAoB;IAC/D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAiB,EAAE,WAAoB;IAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai0x0/codex-ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"exports": {
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
"import": "./dist/tools/src/index.js",
|
|
17
17
|
"types": "./dist/tools/src/index.d.ts"
|
|
18
18
|
},
|
|
19
|
+
"./host": {
|
|
20
|
+
"import": "./dist/host/src/index.js",
|
|
21
|
+
"types": "./dist/host/src/index.d.ts"
|
|
22
|
+
},
|
|
19
23
|
"./ext/goal": {
|
|
20
24
|
"import": "./dist/ext/goal/src/index.js",
|
|
21
25
|
"types": "./dist/ext/goal/src/index.d.ts"
|