@rallycry/conveyor-agent 10.8.2 → 10.9.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/dist/{chunk-LBMFXTIV.js → chunk-H3OGNJS4.js} +281 -21
- package/dist/chunk-H3OGNJS4.js.map +1 -0
- package/dist/cli.js +5 -3
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/runtime/entrypoint.sh +24 -1
- package/dist/chunk-LBMFXTIV.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -214,6 +214,20 @@ declare class AgentConnection {
|
|
|
214
214
|
emitRateLimitPause(resetsAt: string): void;
|
|
215
215
|
updateStatus(status: string): void;
|
|
216
216
|
emitCodeReviewResult(content: string, approved: boolean): void;
|
|
217
|
+
/**
|
|
218
|
+
* The session's key hit a hard usage cap — ask the server to stamp it
|
|
219
|
+
* limited and hand back the best remaining key's credential env (or a
|
|
220
|
+
* requeue confirmation when none is left). Awaited: the caller swaps
|
|
221
|
+
* credentials and resumes on success, so it needs the real response.
|
|
222
|
+
*/
|
|
223
|
+
cycleCodingAgentKey(rateLimitType: string, resetsAt?: string): Promise<{
|
|
224
|
+
cycled: true;
|
|
225
|
+
label: string;
|
|
226
|
+
envVars: Record<string, string>;
|
|
227
|
+
} | {
|
|
228
|
+
cycled: false;
|
|
229
|
+
resetsAt: string;
|
|
230
|
+
}>;
|
|
217
231
|
askUserQuestion(questions: AgentQuestion[]): Promise<Record<string, string>>;
|
|
218
232
|
getTaskProperties(): Promise<{
|
|
219
233
|
plan?: string;
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rallycry/conveyor-agent",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.9.0",
|
|
4
4
|
"description": "Conveyor Agent Runner v10 - PTY harness for the task chat (SDK harness for audit/project-chat). Agent-as-User architecture with BaseService patterns. Works locally too.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent",
|
package/runtime/entrypoint.sh
CHANGED
|
@@ -358,7 +358,7 @@ if [ -n "${CONVEYOR_USER_ID}" ] && [ -n "${USER_HOME_PROJECT_ID}" ] && [ -d "${U
|
|
|
358
358
|
# TUI at a startup dialog, and the vector that let one poisoned
|
|
359
359
|
# customApiKeyResponses write brick every future pod. Nothing load-bearing
|
|
360
360
|
# lives only in ~/.claude.json: credentials are in ~/.claude/.credentials.json
|
|
361
|
-
# (
|
|
361
|
+
# (pod-local via symlink, see below) and transcripts in ~/.claude/projects.
|
|
362
362
|
# The agent's ensureClaudeOnboarding + the seed below rebuild every first-run
|
|
363
363
|
# gate this file needs, fresh, on each boot.
|
|
364
364
|
rm -rf /home/conveyor/.claude /home/conveyor/.config/claude 2>/dev/null || true
|
|
@@ -372,6 +372,29 @@ if [ -n "${CONVEYOR_USER_ID}" ] && [ -n "${USER_HOME_PROJECT_ID}" ] && [ -d "${U
|
|
|
372
372
|
rm -rf /home/conveyor/.claude.json 2>/dev/null || true
|
|
373
373
|
seed_claude_json /home/conveyor/.claude.json
|
|
374
374
|
|
|
375
|
+
# Pod-local ~/.claude/.credentials.json: the TUI and the usage probe
|
|
376
|
+
# authenticate from this file, while the server attributes usage samples to
|
|
377
|
+
# the key stamped on THIS pod's session. As a shared file (it lives inside
|
|
378
|
+
# the symlinked ~/.claude), concurrent pods booted under different keys
|
|
379
|
+
# clobbered it last-writer-wins, so every pod probed whichever ACCOUNT booted
|
|
380
|
+
# most recently — cross-wiring usage attribution between the user's keys
|
|
381
|
+
# (seen live 2026-07-14). Same cure as ~/.claude.json above, except the CLI
|
|
382
|
+
# derives this path from ~/.claude, so the shared dir keeps a SYMLINK to an
|
|
383
|
+
# absolute pod-local path — which resolves per-pod. Racing pods all write the
|
|
384
|
+
# identical symlink value, so the ln itself cannot lose data. Best-effort: on
|
|
385
|
+
# failure the file stays shared and the agent's sampler identity guard still
|
|
386
|
+
# blocks wrong-account attribution.
|
|
387
|
+
CRED_SHARED="${USER_HOME_ROOT}/.claude/.credentials.json"
|
|
388
|
+
CRED_POD_LOCAL="/home/conveyor/.claude-credentials.pod.json"
|
|
389
|
+
if [ -f "${CRED_SHARED}" ] && [ ! -L "${CRED_SHARED}" ]; then
|
|
390
|
+
# Legacy shared regular file: carry its contents into this pod so auth
|
|
391
|
+
# survives the cutover; the agent re-synthesizes from its own token at
|
|
392
|
+
# spawn anyway.
|
|
393
|
+
cp "${CRED_SHARED}" "${CRED_POD_LOCAL}" 2>/dev/null || true
|
|
394
|
+
fi
|
|
395
|
+
ln -sfn "${CRED_POD_LOCAL}" "${CRED_SHARED}" 2>/dev/null || true
|
|
396
|
+
chmod 600 "${CRED_POD_LOCAL}" 2>/dev/null || true
|
|
397
|
+
|
|
375
398
|
# OpenCode state (sessions + config) persists the same way as ~/.claude.
|
|
376
399
|
mkdir -p "${USER_HOME_ROOT}/.local/share/opencode" "${USER_HOME_ROOT}/.config/opencode" 2>/dev/null || true
|
|
377
400
|
rm -rf /home/conveyor/.local/share/opencode /home/conveyor/.config/opencode 2>/dev/null || true
|