@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.
Files changed (108) hide show
  1. package/README.md +22 -3
  2. package/dist/core/src/codex_thread.d.ts +6 -0
  3. package/dist/core/src/codex_thread.d.ts.map +1 -1
  4. package/dist/core/src/codex_thread.js +62 -7
  5. package/dist/core/src/codex_thread.js.map +1 -1
  6. package/dist/core/src/compact.d.ts +12 -2
  7. package/dist/core/src/compact.d.ts.map +1 -1
  8. package/dist/core/src/compact.js +28 -11
  9. package/dist/core/src/compact.js.map +1 -1
  10. package/dist/core/src/index.d.ts +4 -4
  11. package/dist/core/src/index.d.ts.map +1 -1
  12. package/dist/core/src/index.js +3 -3
  13. package/dist/core/src/index.js.map +1 -1
  14. package/dist/core/src/session/retry.d.ts +47 -5
  15. package/dist/core/src/session/retry.d.ts.map +1 -1
  16. package/dist/core/src/session/retry.js +153 -9
  17. package/dist/core/src/session/retry.js.map +1 -1
  18. package/dist/core/src/session/turn.d.ts +6 -0
  19. package/dist/core/src/session/turn.d.ts.map +1 -1
  20. package/dist/core/src/session/turn.js +77 -27
  21. package/dist/core/src/session/turn.js.map +1 -1
  22. package/dist/core/src/skills.d.ts +35 -2
  23. package/dist/core/src/skills.d.ts.map +1 -1
  24. package/dist/core/src/skills.js +146 -41
  25. package/dist/core/src/skills.js.map +1 -1
  26. package/dist/core/src/state/auto_compact_window.d.ts +58 -4
  27. package/dist/core/src/state/auto_compact_window.d.ts.map +1 -1
  28. package/dist/core/src/state/auto_compact_window.js +89 -5
  29. package/dist/core/src/state/auto_compact_window.js.map +1 -1
  30. package/dist/core/src/state/token_state.d.ts +3 -3
  31. package/dist/core/src/state/token_state.d.ts.map +1 -1
  32. package/dist/core/src/state/token_state.js +36 -8
  33. package/dist/core/src/state/token_state.js.map +1 -1
  34. package/dist/core/src/tools/handlers/request_user_input_spec.d.ts +5 -1
  35. package/dist/core/src/tools/handlers/request_user_input_spec.d.ts.map +1 -1
  36. package/dist/core/src/tools/handlers/request_user_input_spec.js +7 -1
  37. package/dist/core/src/tools/handlers/request_user_input_spec.js.map +1 -1
  38. package/dist/core/src/tools/router.d.ts.map +1 -1
  39. package/dist/core/src/tools/router.js +7 -5
  40. package/dist/core/src/tools/router.js.map +1 -1
  41. package/dist/core/tests/suite/compact.test.js +64 -7
  42. package/dist/core/tests/suite/compact.test.js.map +1 -1
  43. package/dist/core/tests/suite/goal.test.js +34 -5
  44. package/dist/core/tests/suite/goal.test.js.map +1 -1
  45. package/dist/core/tests/suite/image_input.test.js +23 -0
  46. package/dist/core/tests/suite/image_input.test.js.map +1 -1
  47. package/dist/core/tests/suite/reasoning_delta.test.d.ts +11 -0
  48. package/dist/core/tests/suite/reasoning_delta.test.d.ts.map +1 -0
  49. package/dist/core/tests/suite/reasoning_delta.test.js +85 -0
  50. package/dist/core/tests/suite/reasoning_delta.test.js.map +1 -0
  51. package/dist/core/tests/suite/request_user_input.test.js +25 -3
  52. package/dist/core/tests/suite/request_user_input.test.js.map +1 -1
  53. package/dist/core/tests/suite/skills.test.js +30 -2
  54. package/dist/core/tests/suite/skills.test.js.map +1 -1
  55. package/dist/core/tests/suite/stream_failure.test.d.ts +11 -0
  56. package/dist/core/tests/suite/stream_failure.test.d.ts.map +1 -0
  57. package/dist/core/tests/suite/stream_failure.test.js +162 -0
  58. package/dist/core/tests/suite/stream_failure.test.js.map +1 -0
  59. package/dist/core/tests/suite/token_count.test.js +8 -1
  60. package/dist/core/tests/suite/token_count.test.js.map +1 -1
  61. package/dist/ext/goal/src/spec.d.ts.map +1 -1
  62. package/dist/ext/goal/src/spec.js +14 -9
  63. package/dist/ext/goal/src/spec.js.map +1 -1
  64. package/dist/ext/goal/src/tool.d.ts +1 -1
  65. package/dist/ext/goal/src/tool.d.ts.map +1 -1
  66. package/dist/ext/goal/src/tool.js +71 -20
  67. package/dist/ext/goal/src/tool.js.map +1 -1
  68. package/dist/host/src/approvals/policy.d.ts +37 -0
  69. package/dist/host/src/approvals/policy.d.ts.map +1 -0
  70. package/dist/host/src/approvals/policy.js +26 -0
  71. package/dist/host/src/approvals/policy.js.map +1 -0
  72. package/dist/host/src/backend/types.d.ts +58 -0
  73. package/dist/host/src/backend/types.d.ts.map +1 -0
  74. package/dist/host/src/backend/types.js +25 -0
  75. package/dist/host/src/backend/types.js.map +1 -0
  76. package/dist/host/src/exec/spec.d.ts +27 -0
  77. package/dist/host/src/exec/spec.d.ts.map +1 -0
  78. package/dist/host/src/exec/spec.js +74 -0
  79. package/dist/host/src/exec/spec.js.map +1 -0
  80. package/dist/host/src/exec/tools.d.ts +15 -0
  81. package/dist/host/src/exec/tools.d.ts.map +1 -0
  82. package/dist/host/src/exec/tools.js +89 -0
  83. package/dist/host/src/exec/tools.js.map +1 -0
  84. package/dist/host/src/index.d.ts +8 -0
  85. package/dist/host/src/index.d.ts.map +1 -0
  86. package/dist/host/src/index.js +5 -0
  87. package/dist/host/src/index.js.map +1 -0
  88. package/dist/protocol/src/index.d.ts +2 -1
  89. package/dist/protocol/src/index.d.ts.map +1 -1
  90. package/dist/protocol/src/index.js +1 -1
  91. package/dist/protocol/src/index.js.map +1 -1
  92. package/dist/protocol/src/protocol.d.ts +134 -5
  93. package/dist/protocol/src/protocol.d.ts.map +1 -1
  94. package/dist/protocol/src/protocol.js +13 -1
  95. package/dist/protocol/src/protocol.js.map +1 -1
  96. package/dist/protocol/src/user_input.d.ts +11 -0
  97. package/dist/protocol/src/user_input.d.ts.map +1 -1
  98. package/dist/state/src/runtime/goals.d.ts +15 -1
  99. package/dist/state/src/runtime/goals.d.ts.map +1 -1
  100. package/dist/state/src/runtime/goals.js +36 -3
  101. package/dist/state/src/runtime/goals.js.map +1 -1
  102. package/dist/thread-store/src/types.d.ts +5 -0
  103. package/dist/thread-store/src/types.d.ts.map +1 -1
  104. package/dist/tools/src/json_schema.d.ts +2 -0
  105. package/dist/tools/src/json_schema.d.ts.map +1 -1
  106. package/dist/tools/src/json_schema.js +4 -0
  107. package/dist/tools/src/json_schema.js.map +1 -1
  108. 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 ReasoningContentDeltaEvent.
36
- * Emitted while the model streams its reasoning/thinking, before any final
37
- * output_text. Lets hosts show a "thinking" state only while truly reasoning. */
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:1919) */
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:1933) */
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":"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"}
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
- export {};
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,sCAAsC;IAChC,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC;IAYtB,iDAAiD;IAC3C,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,qBAAqB,CAAC;IAkBjC;;;OAGG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,qBAAqB,CAAC;CA6BlC"}
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.backend.getThreadGoal(threadId);
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.backend.getThreadGoal(threadId);
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":"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"}
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;AAErE,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"}
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.6.5",
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"