@cargo-ai/cli 1.0.94 → 1.0.96

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 (123) hide show
  1. package/build/commands/ai/chat.d.ts.map +1 -1
  2. package/build/commands/ai/chat.js +2 -1
  3. package/build/commands/ai/message.d.ts.map +1 -1
  4. package/build/commands/ai/message.js +2 -1
  5. package/build/commands/ai/release.d.ts.map +1 -1
  6. package/build/commands/ai/release.js +7 -6
  7. package/build/commands/ask/harness/approvals.d.ts +7 -0
  8. package/build/commands/ask/harness/approvals.d.ts.map +1 -0
  9. package/build/commands/ask/harness/approvals.js +81 -0
  10. package/build/commands/ask/harness/artifacts.d.ts.map +1 -0
  11. package/build/commands/ask/harness/askUserQuestion.d.ts +69 -0
  12. package/build/commands/ask/harness/askUserQuestion.d.ts.map +1 -0
  13. package/build/commands/ask/harness/askUserQuestion.js +218 -0
  14. package/build/commands/ask/harness/claudeConfig.d.ts.map +1 -0
  15. package/build/commands/ask/{claudeConfig.js → harness/claudeConfig.js} +28 -13
  16. package/build/commands/ask/harness/create.d.ts +59 -0
  17. package/build/commands/ask/harness/create.d.ts.map +1 -0
  18. package/build/commands/ask/harness/create.js +314 -0
  19. package/build/commands/ask/harness/index.d.ts +9 -0
  20. package/build/commands/ask/harness/index.d.ts.map +1 -0
  21. package/build/commands/ask/harness/index.js +8 -0
  22. package/build/commands/ask/harness/ingest.d.ts +25 -0
  23. package/build/commands/ask/harness/ingest.d.ts.map +1 -0
  24. package/build/commands/ask/harness/ingest.js +35 -0
  25. package/build/commands/ask/harness/instructions.d.ts +13 -0
  26. package/build/commands/ask/harness/instructions.d.ts.map +1 -0
  27. package/build/commands/ask/harness/instructions.js +43 -0
  28. package/build/commands/ask/harness/layout.d.ts +23 -0
  29. package/build/commands/ask/harness/layout.d.ts.map +1 -0
  30. package/build/commands/ask/harness/layout.js +32 -0
  31. package/build/commands/ask/harness/mcp.d.ts +25 -0
  32. package/build/commands/ask/harness/mcp.d.ts.map +1 -0
  33. package/build/commands/ask/harness/mcp.js +72 -0
  34. package/build/commands/ask/harness/pnpmShim.d.ts.map +1 -0
  35. package/build/commands/ask/harness/release.d.ts +18 -0
  36. package/build/commands/ask/harness/release.d.ts.map +1 -0
  37. package/build/commands/ask/harness/release.js +117 -0
  38. package/build/commands/ask/harness/sandbox.d.ts +9 -0
  39. package/build/commands/ask/harness/sandbox.d.ts.map +1 -0
  40. package/build/commands/ask/harness/sandbox.js +27 -0
  41. package/build/commands/ask/harness/timing.d.ts +16 -0
  42. package/build/commands/ask/harness/timing.d.ts.map +1 -0
  43. package/build/commands/ask/harness/timing.js +72 -0
  44. package/build/commands/ask/harness/turn.d.ts +152 -0
  45. package/build/commands/ask/harness/turn.d.ts.map +1 -0
  46. package/build/commands/ask/harness/turn.js +676 -0
  47. package/build/commands/ask/harness/usage.d.ts +50 -0
  48. package/build/commands/ask/harness/usage.d.ts.map +1 -0
  49. package/build/commands/ask/harness/usage.js +87 -0
  50. package/build/commands/ask/index.d.ts +9 -0
  51. package/build/commands/ask/index.d.ts.map +1 -1
  52. package/build/commands/ask/index.js +7 -7
  53. package/build/commands/ask/input/completer.d.ts.map +1 -0
  54. package/build/commands/ask/input/index.d.ts +5 -0
  55. package/build/commands/ask/input/index.d.ts.map +1 -0
  56. package/build/commands/ask/input/index.js +4 -0
  57. package/build/commands/ask/input/prompt.d.ts.map +1 -0
  58. package/build/commands/ask/{prompt.js → input/prompt.js} +1 -1
  59. package/build/commands/ask/input/slash.d.ts.map +1 -0
  60. package/build/commands/ask/{slash.js → input/slash.js} +1 -1
  61. package/build/commands/ask/input/typeAhead.d.ts.map +1 -0
  62. package/build/commands/ask/{history.d.ts → persist/history.d.ts} +1 -1
  63. package/build/commands/ask/persist/history.d.ts.map +1 -0
  64. package/build/commands/ask/persist/index.d.ts +4 -0
  65. package/build/commands/ask/persist/index.d.ts.map +1 -0
  66. package/build/commands/ask/persist/index.js +3 -0
  67. package/build/commands/ask/persist/persist.d.ts.map +1 -0
  68. package/build/commands/ask/persist/state.d.ts.map +1 -0
  69. package/build/commands/ask/session/claim.d.ts +56 -0
  70. package/build/commands/ask/session/claim.d.ts.map +1 -0
  71. package/build/commands/ask/session/claim.js +76 -0
  72. package/build/commands/ask/session/index.d.ts +5 -0
  73. package/build/commands/ask/session/index.d.ts.map +1 -0
  74. package/build/commands/ask/session/index.js +4 -0
  75. package/build/commands/ask/session/run.d.ts +36 -0
  76. package/build/commands/ask/session/run.d.ts.map +1 -0
  77. package/build/commands/ask/session/run.js +846 -0
  78. package/build/commands/ask/session/thinking.d.ts.map +1 -0
  79. package/build/commands/ask/session/tree.d.ts +99 -0
  80. package/build/commands/ask/session/tree.d.ts.map +1 -0
  81. package/build/commands/ask/session/tree.js +356 -0
  82. package/package.json +6 -5
  83. package/build/commands/ask/artifacts.d.ts.map +0 -1
  84. package/build/commands/ask/binding.d.ts +0 -13
  85. package/build/commands/ask/binding.d.ts.map +0 -1
  86. package/build/commands/ask/binding.js +0 -19
  87. package/build/commands/ask/claudeConfig.d.ts.map +0 -1
  88. package/build/commands/ask/completer.d.ts.map +0 -1
  89. package/build/commands/ask/history.d.ts.map +0 -1
  90. package/build/commands/ask/localHarness.d.ts +0 -278
  91. package/build/commands/ask/localHarness.d.ts.map +0 -1
  92. package/build/commands/ask/localHarness.js +0 -1300
  93. package/build/commands/ask/messageStream.d.ts +0 -33
  94. package/build/commands/ask/messageStream.d.ts.map +0 -1
  95. package/build/commands/ask/messageStream.js +0 -114
  96. package/build/commands/ask/persist.d.ts.map +0 -1
  97. package/build/commands/ask/pnpmShim.d.ts.map +0 -1
  98. package/build/commands/ask/prompt.d.ts.map +0 -1
  99. package/build/commands/ask/session.d.ts +0 -101
  100. package/build/commands/ask/session.d.ts.map +0 -1
  101. package/build/commands/ask/session.js +0 -1328
  102. package/build/commands/ask/slash.d.ts.map +0 -1
  103. package/build/commands/ask/state.d.ts.map +0 -1
  104. package/build/commands/ask/thinking.d.ts.map +0 -1
  105. package/build/commands/ask/typeAhead.d.ts.map +0 -1
  106. /package/build/commands/ask/{artifacts.d.ts → harness/artifacts.d.ts} +0 -0
  107. /package/build/commands/ask/{artifacts.js → harness/artifacts.js} +0 -0
  108. /package/build/commands/ask/{claudeConfig.d.ts → harness/claudeConfig.d.ts} +0 -0
  109. /package/build/commands/ask/{pnpmShim.d.ts → harness/pnpmShim.d.ts} +0 -0
  110. /package/build/commands/ask/{pnpmShim.js → harness/pnpmShim.js} +0 -0
  111. /package/build/commands/ask/{completer.d.ts → input/completer.d.ts} +0 -0
  112. /package/build/commands/ask/{completer.js → input/completer.js} +0 -0
  113. /package/build/commands/ask/{prompt.d.ts → input/prompt.d.ts} +0 -0
  114. /package/build/commands/ask/{slash.d.ts → input/slash.d.ts} +0 -0
  115. /package/build/commands/ask/{typeAhead.d.ts → input/typeAhead.d.ts} +0 -0
  116. /package/build/commands/ask/{typeAhead.js → input/typeAhead.js} +0 -0
  117. /package/build/commands/ask/{history.js → persist/history.js} +0 -0
  118. /package/build/commands/ask/{persist.d.ts → persist/persist.d.ts} +0 -0
  119. /package/build/commands/ask/{persist.js → persist/persist.js} +0 -0
  120. /package/build/commands/ask/{state.d.ts → persist/state.d.ts} +0 -0
  121. /package/build/commands/ask/{state.js → persist/state.js} +0 -0
  122. /package/build/commands/ask/{thinking.d.ts → session/thinking.d.ts} +0 -0
  123. /package/build/commands/ask/{thinking.js → session/thinking.js} +0 -0
@@ -1,278 +0,0 @@
1
- import type { Api } from "../../api.js";
2
- /**
3
- * Always-on local-copy rails, plus CDK rails only when `dir` is a CDK project.
4
- * Exported for tests.
5
- */
6
- export declare function localHarnessInstructions(dir: string): string;
7
- /** Exported for tests. */
8
- export declare function localHarnessSkills(dir: string): Array<{
9
- name: string;
10
- description: string;
11
- content: string;
12
- }>;
13
- /**
14
- * A built-in tool Claude Code wants to run that `permissionMode` does not
15
- * auto-approve (anything that writes or shells out under `allow-reads`).
16
- */
17
- export type LocalToolApproval = {
18
- approvalId: string;
19
- toolCallId: string;
20
- toolName: string;
21
- /** Compact one-line rendering of the tool input, for the prompt. */
22
- summary: string;
23
- input: unknown;
24
- };
25
- /** A tool starting or finishing, so the caller can show what is happening. */
26
- export type LocalToolActivity = {
27
- kind: "start";
28
- toolCallId: string;
29
- toolName: string;
30
- summary: string;
31
- } | {
32
- kind: "end";
33
- toolCallId: string;
34
- toolName: string;
35
- isError: boolean;
36
- }
37
- /**
38
- * Announced, then never run — a tool whose input stopped mid-stream, one
39
- * that was refused, or a sibling whose approval request the harness lost.
40
- * None of them report a result, so `end` never comes: a caller tracking
41
- * what is live has to be told, or it shows that tool for the rest of the
42
- * turn. `retractAbandonedCalls` decides which calls qualify and when.
43
- */
44
- | {
45
- kind: "dropped";
46
- toolCallId: string;
47
- toolName: string;
48
- };
49
- export type LocalStreamHandlers = {
50
- onTextDelta?: (delta: string) => void;
51
- /**
52
- * Decide whether the tool may run. Omitted (`--print`, non-interactive)
53
- * means deny — the turn continues and the model reports what it could not
54
- * do rather than silently running commands on the user's machine.
55
- */
56
- onApproval?: (approval: LocalToolApproval) => Promise<boolean>;
57
- onActivity?: (activity: LocalToolActivity) => void;
58
- /** Path of a file the turn wrote or edited, as the tool named it. */
59
- onFileTouched?: (path: string) => void;
60
- /** Something worth saying that is not part of the reply. */
61
- onNotice?: (message: string) => void;
62
- };
63
- export type LocalStreamOptions = LocalStreamHandlers & {
64
- /** Aborts the turn; the harness interrupts Claude Code gracefully. */
65
- abortSignal?: AbortSignal;
66
- /**
67
- * Fired when the stall watchdog gives up, before the turn is rejected.
68
- * Should abort `abortSignal` so Claude Code stops rather than being torn
69
- * down out from under a still-open bridge.
70
- */
71
- onStall?: () => void;
72
- };
73
- /**
74
- * What one turn spent upstream, summed over the streams a suspended turn is
75
- * made of. `costUsd` is Claude Code's own accounting; the API prices it into
76
- * credits so the CLI never states a credit count itself.
77
- */
78
- export type LocalTurnUsage = {
79
- costUsd: number;
80
- totalTokens: number;
81
- inputTokens: number;
82
- outputTokens: number;
83
- cacheReadTokens: number;
84
- cacheWriteTokens: number;
85
- reasoningTokens: number;
86
- };
87
- /**
88
- * Text and usage of a turn in progress, owned by the caller rather than by
89
- * `runPromptTurn`: a cancelled or failed turn still spent those tokens, and
90
- * they have to reach the API anyway.
91
- */
92
- export type LocalTurnAccumulator = {
93
- chunks: string[];
94
- usage: LocalTurnUsage;
95
- };
96
- /** Exported for tests. */
97
- export declare function createTurnAccumulator(): LocalTurnAccumulator;
98
- export type LocalHarnessHandle = {
99
- streamPrompt: (question: string, options?: LocalStreamOptions) => Promise<string>;
100
- /**
101
- * When a turn last reached Anthropic, or undefined if none has. The proxy
102
- * token re-arms on every call it makes, so this — not the mint time — is
103
- * what its real expiry runs from.
104
- */
105
- proxyLastUsedAtMs: () => number | undefined;
106
- /** Stops Claude Code and its bridge; the session is not resumable. */
107
- close: () => Promise<void>;
108
- };
109
- /**
110
- * The workspace half of local Ask: the hosted Cargo MCP server, reached
111
- * through this CLI's own `mcp` bridge.
112
- *
113
- * Going through the bridge rather than configuring the HTTP endpoint directly
114
- * is what keeps a long chat working — the bridge rebuilds the `Authorization`
115
- * header per request from the same credentials every other command uses, so an
116
- * OAuth session that expires mid-session renews instead of 401ing. `CARGO_BASE_URL`
117
- * is pinned so the bridge cannot end up on a different API than this session.
118
- *
119
- * Everything the workspace can do arrives this way: actions, runs, models and
120
- * SQL, the context, usage. That includes `execute_action`, which spends credits
121
- * and writes to connected systems — see the approval note on
122
- * `isAutoApproved`.
123
- */
124
- /**
125
- * What Claude Code mounts this server as, and so the `mcp__<server>__` prefix
126
- * its tools carry. Read by `isAutoApproved`, which trusts this server and no
127
- * other — see the note there.
128
- *
129
- * Exported for tests.
130
- */
131
- export declare const CARGO_MCP_SERVER_NAME = "cargo";
132
- type WorkspaceLayout = {
133
- sandboxCwd: string;
134
- /** `undefined` leaves the harness its per-session default. */
135
- workDir: string | undefined;
136
- };
137
- /**
138
- * Where to root the sandbox, and which directory inside it the session works in.
139
- *
140
- * The harness gives every session a work directory under the sandbox root and
141
- * starts Claude Code there — `cwd: workdir` in the bridge — and it refuses to
142
- * use the root itself. Rooted at the project, that means the agent begins in an
143
- * empty `claude-code-<sessionId>` directory one level below the working copy it
144
- * was asked about. Rooting at the project's parent instead makes the session
145
- * work directory *be* the project, so the agent starts where the user is, and
146
- * the harness's own artifacts land beside the project rather than in it.
147
- *
148
- * Falls back to the project when the parent cannot serve — a project at a
149
- * filesystem root has no usable name, and a parent we cannot write to would
150
- * fail the session at startup. The per-session directory returns in that case,
151
- * and `pruneHarnessArtifacts` sweeps it once it is cold.
152
- */
153
- export declare function resolveWorkspaceLayout(dir: string): WorkspaceLayout;
154
- export declare function createLocalHarness(input: {
155
- api: Api;
156
- /**
157
- * Cargo API origin (`config.baseUrl`). The Anthropic proxy is mounted on
158
- * the API as `/sandbox/anthropic` — same host the backend uses via
159
- * `config.app.url` (which is the API URL, not the web app).
160
- */
161
- apiBaseUrl: string;
162
- dir: string;
163
- chatUuid: string;
164
- agentUuid?: string;
165
- proxyToken: string;
166
- /**
167
- * Earlier turns of this chat, from `loadChatHistoryPreamble`. The session is
168
- * always new, so this is the only thing that carries a `--continue` chat
169
- * across CLI runs.
170
- */
171
- history?: string;
172
- /**
173
- * The id the caller claimed the chat with. Sent with the ingest so recording
174
- * a turn releases this session's claim and not one taken after it.
175
- */
176
- turnOwnerId?: string;
177
- }): Promise<LocalHarnessHandle>;
178
- export type StreamLike = {
179
- fullStream: AsyncIterable<unknown>;
180
- text: PromiseLike<string>;
181
- };
182
- type ApprovalContinuation = {
183
- approvalResponse: {
184
- type: "tool-approval-response";
185
- approvalId: string;
186
- approved: boolean;
187
- reason?: string;
188
- };
189
- toolCall: {
190
- type: "tool-call";
191
- toolCallId: string;
192
- toolName: string;
193
- input: unknown;
194
- };
195
- };
196
- /** The two harness calls a turn needs. Split out so tests can fake them. */
197
- export type TurnDriver = {
198
- start: () => Promise<StreamLike>;
199
- continueWithApprovals: (continuations: readonly ApprovalContinuation[]) => Promise<StreamLike>;
200
- };
201
- /**
202
- * Run one turn to completion, answering approval requests along the way.
203
- *
204
- * A turn suspends whenever Claude Code wants a tool `permissionMode` does not
205
- * cover: the stream ends with the approvals still pending, and the turn only
206
- * finishes once decisions are fed back in. Exported for tests.
207
- */
208
- export declare function runPromptTurn(input: {
209
- driver: TurnDriver;
210
- handlers: LocalStreamHandlers | undefined;
211
- accumulator?: LocalTurnAccumulator;
212
- /**
213
- * Filled with approvals the harness asked about and drained as each is
214
- * answered, so a turn that ends mid-question leaves the unanswered ones
215
- * behind for the caller to deny.
216
- */
217
- unanswered?: LocalToolApproval[];
218
- /** Overridden by tests; `Infinity` waits forever. */
219
- stallTimeoutMs?: number;
220
- /** The same, for the stream while a tool is executing. */
221
- toolStallTimeoutMs?: number;
222
- /**
223
- * Called when the stall watchdog fires, before the turn is rejected — abort
224
- * the harness stream so Claude Code does not keep running after we give up.
225
- */
226
- onStall?: () => void;
227
- }): Promise<string>;
228
- /**
229
- * The previous turn could not be wound down, so this session cannot take
230
- * another prompt. Raised rather than pressed on with: the harness would either
231
- * refuse the prompt itself or run it alongside the turn we failed to finish.
232
- *
233
- * The caller's recovery is to replace the session — nothing about a wedged
234
- * runtime gets better by asking it again.
235
- */
236
- export declare class HarnessTurnStuck extends Error {
237
- constructor();
238
- }
239
- /**
240
- * The turn produced nothing for `TURN_STALL_TIMEOUT_MS` while no tool was in
241
- * flight. Common causes: a step that asked to run several confirmable tools at
242
- * once (the harness only surfaces one approval), or the Claude Code bridge
243
- * going silent. Recoverable — replace the session and ask again.
244
- */
245
- export declare class HarnessTurnStalled extends Error {
246
- constructor(timeoutMs: number, whileToolRunning?: boolean);
247
- }
248
- /**
249
- * The Claude Code bridge dropped mid-turn. Same recovery as a stall: the
250
- * process behind the session is gone, so the next question needs a new one.
251
- */
252
- export declare function isBridgeClosedError(error: unknown): boolean;
253
- /**
254
- * Wait for `work`, but give up after `timeoutMs` rather than blocking a
255
- * teardown forever. Resolves either way; the caller has already decided that
256
- * an unfinished result is better than waiting.
257
- *
258
- * Exported for tests.
259
- */
260
- export declare function settleWithin(work: Promise<unknown>, timeoutMs: number): Promise<void>;
261
- /** Exported for tests. */
262
- export declare function isAutoApproved(toolName: string): boolean;
263
- /** Exported for tests. */
264
- export declare function isAlwaysDenied(toolName: string): boolean;
265
- /**
266
- * What Claude Code says the turn cost, off the `finish` part.
267
- *
268
- * Two keys, because the value is renamed on its way here: the bridge emits
269
- * `harnessMetadata`, and `HarnessAgent` republishes the same object as
270
- * `providerMetadata` on the parts this code actually reads. Looking only for
271
- * the bridge's name found nothing, so every local turn was ingested at a cost
272
- * of zero and priced into no credits at all.
273
- *
274
- * Exported for tests.
275
- */
276
- export declare function readClaudeCodeCostUsd(part: Record<string, unknown>): number | undefined;
277
- export {};
278
- //# sourceMappingURL=localHarness.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"localHarness.d.ts","sourceRoot":"","sources":["../../../src/commands/ask/localHarness.ts"],"names":[],"mappings":"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"}