@rallycry/conveyor-agent 4.7.1 → 4.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-EBCQISOA.js → chunk-ACPWJ2SL.js} +121 -10
- package/dist/chunk-ACPWJ2SL.js.map +1 -0
- package/dist/cli.js +22 -16
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-EBCQISOA.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
AgentRunner,
|
|
4
4
|
ProjectRunner
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ACPWJ2SL.js";
|
|
6
6
|
|
|
7
7
|
// src/cli.ts
|
|
8
8
|
async function bootstrapFromCodespace(apiUrl) {
|
|
@@ -14,17 +14,23 @@ async function bootstrapFromCodespace(apiUrl) {
|
|
|
14
14
|
process.exit(1);
|
|
15
15
|
}
|
|
16
16
|
const config = await response.json();
|
|
17
|
-
process.env.CONVEYOR_TASK_ID = config.taskId;
|
|
18
|
-
process.env.CONVEYOR_TASK_TOKEN = config.taskToken;
|
|
19
|
-
process.env.CONVEYOR_AGENT_MODE = config.agentMode;
|
|
20
|
-
process.env.CONVEYOR_IS_AUTO = config.isAuto;
|
|
21
|
-
if (config.pullBranch) {
|
|
22
|
-
process.env.CONVEYOR_PULL_BRANCH = config.pullBranch;
|
|
23
|
-
}
|
|
24
17
|
for (const [key, value] of Object.entries(config.envVars ?? {})) {
|
|
25
18
|
process.env[key] = value;
|
|
26
19
|
}
|
|
27
|
-
|
|
20
|
+
if (config.mode === "project") {
|
|
21
|
+
process.env.CONVEYOR_PROJECT_TOKEN = config.projectToken;
|
|
22
|
+
process.env.CONVEYOR_PROJECT_ID = config.projectId;
|
|
23
|
+
console.log(`[conveyor-agent] Bootstrap complete, project ${config.projectId}`);
|
|
24
|
+
} else {
|
|
25
|
+
process.env.CONVEYOR_TASK_ID = config.taskId;
|
|
26
|
+
process.env.CONVEYOR_TASK_TOKEN = config.taskToken;
|
|
27
|
+
process.env.CONVEYOR_AGENT_MODE = config.agentMode;
|
|
28
|
+
process.env.CONVEYOR_IS_AUTO = config.isAuto;
|
|
29
|
+
if (config.pullBranch) {
|
|
30
|
+
process.env.CONVEYOR_PULL_BRANCH = config.pullBranch;
|
|
31
|
+
}
|
|
32
|
+
console.log(`[conveyor-agent] Bootstrap complete, task ${config.taskId}`);
|
|
33
|
+
}
|
|
28
34
|
}
|
|
29
35
|
process.on("uncaughtException", (err) => {
|
|
30
36
|
if (err.code === "EPIPE") return;
|
|
@@ -32,6 +38,13 @@ process.on("uncaughtException", (err) => {
|
|
|
32
38
|
process.exit(1);
|
|
33
39
|
});
|
|
34
40
|
var CONVEYOR_API_URL = process.env.CONVEYOR_API_URL;
|
|
41
|
+
if (process.env.CODESPACE_NAME && !process.env.CONVEYOR_TASK_TOKEN && !process.env.CONVEYOR_PROJECT_TOKEN) {
|
|
42
|
+
if (!CONVEYOR_API_URL) {
|
|
43
|
+
console.error("CONVEYOR_API_URL is required for codespace bootstrap");
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
await bootstrapFromCodespace(CONVEYOR_API_URL);
|
|
47
|
+
}
|
|
35
48
|
var CONVEYOR_PROJECT_TOKEN = process.env.CONVEYOR_PROJECT_TOKEN;
|
|
36
49
|
var CONVEYOR_PROJECT_ID = process.env.CONVEYOR_PROJECT_ID;
|
|
37
50
|
if (CONVEYOR_PROJECT_TOKEN && CONVEYOR_PROJECT_ID) {
|
|
@@ -50,13 +63,6 @@ if (CONVEYOR_PROJECT_TOKEN && CONVEYOR_PROJECT_ID) {
|
|
|
50
63
|
process.exit(1);
|
|
51
64
|
});
|
|
52
65
|
} else {
|
|
53
|
-
if (process.env.CODESPACE_NAME && !process.env.CONVEYOR_TASK_TOKEN) {
|
|
54
|
-
if (!CONVEYOR_API_URL) {
|
|
55
|
-
console.error("CONVEYOR_API_URL is required for codespace bootstrap");
|
|
56
|
-
process.exit(1);
|
|
57
|
-
}
|
|
58
|
-
await bootstrapFromCodespace(CONVEYOR_API_URL);
|
|
59
|
-
}
|
|
60
66
|
const CONVEYOR_TASK_TOKEN = process.env.CONVEYOR_TASK_TOKEN;
|
|
61
67
|
const CONVEYOR_TASK_ID = process.env.CONVEYOR_TASK_ID;
|
|
62
68
|
const CONVEYOR_MODEL = process.env.CONVEYOR_MODEL ?? "claude-sonnet-4-20250514";
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n/* oxlint-disable no-console */\n\nimport { AgentRunner } from \"./runner/index.js\";\nimport { ProjectRunner } from \"./runner/index.js\";\nimport type { AgentEvent, AgentRunnerStatus, RunnerMode } from \"./types.js\";\n\nasync function bootstrapFromCodespace(apiUrl: string): Promise<void> {\n console.log(`[conveyor-agent] Bootstrapping from codespace ${process.env.CODESPACE_NAME}...`);\n const response = await fetch(`${apiUrl}/api/codespace/bootstrap/${process.env.CODESPACE_NAME}`);\n if (!response.ok) {\n const errorText = await response.text();\n console.error(`Bootstrap failed (${response.status}): ${errorText}`);\n process.exit(1);\n }\n const config = (await response.json()) as {\n taskId
|
|
1
|
+
{"version":3,"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n/* oxlint-disable no-console */\n\nimport { AgentRunner } from \"./runner/index.js\";\nimport { ProjectRunner } from \"./runner/index.js\";\nimport type { AgentEvent, AgentRunnerStatus, RunnerMode } from \"./types.js\";\n\nasync function bootstrapFromCodespace(apiUrl: string): Promise<void> {\n console.log(`[conveyor-agent] Bootstrapping from codespace ${process.env.CODESPACE_NAME}...`);\n const response = await fetch(`${apiUrl}/api/codespace/bootstrap/${process.env.CODESPACE_NAME}`);\n if (!response.ok) {\n const errorText = await response.text();\n console.error(`Bootstrap failed (${response.status}): ${errorText}`);\n process.exit(1);\n }\n const config = (await response.json()) as {\n mode?: \"task\" | \"project\";\n taskId?: string;\n taskToken?: string;\n agentMode?: string;\n isAuto?: string;\n pullBranch?: string;\n projectId?: string;\n projectToken?: string;\n apiUrl?: string;\n envVars: Record<string, string>;\n };\n\n // Apply shared env vars first\n for (const [key, value] of Object.entries(config.envVars ?? {})) {\n process.env[key] = value;\n }\n\n if (config.mode === \"project\") {\n // Project codespace → set project runner env vars\n process.env.CONVEYOR_PROJECT_TOKEN = config.projectToken;\n process.env.CONVEYOR_PROJECT_ID = config.projectId;\n console.log(`[conveyor-agent] Bootstrap complete, project ${config.projectId}`);\n } else {\n // Task codespace → existing behavior\n process.env.CONVEYOR_TASK_ID = config.taskId;\n process.env.CONVEYOR_TASK_TOKEN = config.taskToken;\n process.env.CONVEYOR_AGENT_MODE = config.agentMode;\n process.env.CONVEYOR_IS_AUTO = config.isAuto;\n if (config.pullBranch) {\n process.env.CONVEYOR_PULL_BRANCH = config.pullBranch;\n }\n console.log(`[conveyor-agent] Bootstrap complete, task ${config.taskId}`);\n }\n}\n\nprocess.on(\"uncaughtException\", (err: NodeJS.ErrnoException) => {\n if (err.code === \"EPIPE\") return;\n console.error(\"Uncaught exception:\", err);\n process.exit(1);\n});\n\nconst CONVEYOR_API_URL = process.env.CONVEYOR_API_URL;\n\n// Step 1: Codespace bootstrap (before project runner check)\n// Bootstrap runs when in a codespace and neither token is already set.\n// This allows the bootstrap endpoint to return either task or project credentials.\nif (\n process.env.CODESPACE_NAME &&\n !process.env.CONVEYOR_TASK_TOKEN &&\n !process.env.CONVEYOR_PROJECT_TOKEN\n) {\n if (!CONVEYOR_API_URL) {\n console.error(\"CONVEYOR_API_URL is required for codespace bootstrap\");\n process.exit(1);\n }\n await bootstrapFromCodespace(CONVEYOR_API_URL);\n}\n\n// Step 2: Re-read env vars (bootstrap may have set them)\nconst CONVEYOR_PROJECT_TOKEN = process.env.CONVEYOR_PROJECT_TOKEN;\nconst CONVEYOR_PROJECT_ID = process.env.CONVEYOR_PROJECT_ID;\n\n// Step 3: Branch on mode\nif (CONVEYOR_PROJECT_TOKEN && CONVEYOR_PROJECT_ID) {\n // Project runner mode: connect once, auto-handle tasks\n if (!CONVEYOR_API_URL) {\n console.error(\"CONVEYOR_API_URL is required for project mode\");\n process.exit(1);\n }\n\n const projectRunner = new ProjectRunner({\n conveyorApiUrl: CONVEYOR_API_URL,\n projectToken: CONVEYOR_PROJECT_TOKEN,\n projectId: CONVEYOR_PROJECT_ID,\n projectDir: process.env.CONVEYOR_WORKSPACE ?? process.cwd(),\n });\n\n projectRunner.start().catch((error: unknown) => {\n console.error(\"Project runner failed:\", error);\n process.exit(1);\n });\n} else {\n // Standard per-task agent mode\n const CONVEYOR_TASK_TOKEN = process.env.CONVEYOR_TASK_TOKEN;\n const CONVEYOR_TASK_ID = process.env.CONVEYOR_TASK_ID;\n const CONVEYOR_MODEL = process.env.CONVEYOR_MODEL ?? \"claude-sonnet-4-20250514\";\n const CONVEYOR_INSTRUCTIONS = process.env.CONVEYOR_INSTRUCTIONS ?? \"\";\n const CONVEYOR_WORKSPACE = process.env.CONVEYOR_WORKSPACE ?? process.cwd();\n const CONVEYOR_MODE = (process.env.CONVEYOR_MODE ?? \"task\") as RunnerMode;\n const CONVEYOR_AGENT_MODE = process.env.CONVEYOR_AGENT_MODE || undefined;\n const CONVEYOR_IS_AUTO = CONVEYOR_AGENT_MODE\n ? CONVEYOR_AGENT_MODE === \"auto\"\n : process.env.CONVEYOR_IS_AUTO === \"true\";\n\n if (!CONVEYOR_API_URL || !CONVEYOR_TASK_TOKEN || !CONVEYOR_TASK_ID) {\n console.error(\"Missing required environment variables:\");\n console.error(\" CONVEYOR_API_URL - URL of the Conveyor API server\");\n console.error(\" CONVEYOR_TASK_TOKEN - JWT token for task authentication\");\n console.error(\" CONVEYOR_TASK_ID - ID of the task to execute\");\n console.error(\"\");\n console.error(\"Optional:\");\n console.error(\" CONVEYOR_MODE - Runner mode: 'task' (default) or 'pm'\");\n console.error(\" CONVEYOR_MODEL - Claude model to use\");\n console.error(\" CONVEYOR_WORKSPACE - Working directory (defaults to cwd)\");\n console.error(\"\");\n console.error(\"Project runner mode:\");\n console.error(\" CONVEYOR_PROJECT_TOKEN - Project token for project runner\");\n console.error(\" CONVEYOR_PROJECT_ID - Project ID for project runner\");\n process.exit(1);\n }\n\n if (CONVEYOR_MODE !== \"task\" && CONVEYOR_MODE !== \"pm\") {\n console.error(`Invalid CONVEYOR_MODE: \"${CONVEYOR_MODE}\". Must be \"task\" or \"pm\".`);\n process.exit(1);\n }\n\n console.log(`[conveyor-agent] Starting in ${CONVEYOR_MODE} mode`);\n\n const runner = new AgentRunner(\n {\n conveyorApiUrl: CONVEYOR_API_URL,\n taskToken: CONVEYOR_TASK_TOKEN,\n taskId: CONVEYOR_TASK_ID,\n model: CONVEYOR_MODEL,\n instructions: CONVEYOR_INSTRUCTIONS,\n workspaceDir: CONVEYOR_WORKSPACE,\n mode: CONVEYOR_MODE,\n isAuto: CONVEYOR_IS_AUTO,\n },\n {\n onEvent: (event: AgentEvent) => {\n const detail =\n \"message\" in event\n ? event.message\n : \"content\" in event\n ? event.content\n : \"summary\" in event\n ? event.summary\n : \"\";\n console.log(`[${event.type}] ${detail}`);\n },\n onStatusChange: (status: AgentRunnerStatus) => {\n console.log(`[status] ${status}`);\n },\n },\n );\n\n process.on(\"SIGTERM\", () => {\n console.log(\"Received SIGTERM, stopping agent...\");\n runner.stop();\n });\n\n process.on(\"SIGINT\", () => {\n console.log(\"Received SIGINT, stopping agent...\");\n runner.stop();\n });\n\n runner.start().catch((error: unknown) => {\n console.error(\"Agent runner failed:\", error);\n process.exit(1);\n });\n}\n"],"mappings":"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","names":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SDKUserMessage } from '@anthropic-ai/claude-agent-sdk';
|
|
2
2
|
import * as _project_shared from '@project/shared';
|
|
3
|
-
import { AgentRunnerStatus, MultimodalBlock, ChatMessageResponse, TaskFileResponse, TaskContext, AgentEvent, AgentQuestion, IncomingMessagePayload, SetModePayload, AgentMode, SubtaskCreatePayload, SubtaskUpdateFields, SubtaskResponse, StartChildCloudBuildResponse, TaskLookupResponse, UpdateTaskPropertiesPayload, IconListItem, GenerateIconResponse, TaskPropertiesResponse, TriggerIdentificationResponse, ModeTransitionPayload } from '@project/shared';
|
|
3
|
+
import { AgentRunnerStatus, MultimodalBlock, ChatMessageResponse, TaskFileResponse, TaskContext, AgentEvent, AgentQuestion, IncomingMessagePayload, SetModePayload, AgentMode, SubtaskCreatePayload, SubtaskUpdateFields, SubtaskResponse, StartChildCloudBuildResponse, TaskLookupResponse, UpdateTaskPropertiesPayload, IconListItem, GenerateIconResponse, TaskPropertiesResponse, TriggerIdentificationResponse, ModeTransitionPayload, IncidentDTO, TaskIncidentDTO } from '@project/shared';
|
|
4
4
|
export { AgentEvent, ChatMessage, TaskContext, TaskFileContext } from '@project/shared';
|
|
5
5
|
import { ChildProcess } from 'node:child_process';
|
|
6
6
|
|
|
@@ -41,6 +41,7 @@ declare class AgentRunner {
|
|
|
41
41
|
private sessionIds;
|
|
42
42
|
private lastQueryModeRestart;
|
|
43
43
|
private startCommandStarted;
|
|
44
|
+
private nudgedForPR;
|
|
44
45
|
private idleTimer;
|
|
45
46
|
private idleCheckInterval;
|
|
46
47
|
private deferredStartConfig;
|
|
@@ -58,6 +59,7 @@ declare class AgentRunner {
|
|
|
58
59
|
private tryPostContextWorktree;
|
|
59
60
|
private activateWorktree;
|
|
60
61
|
private checkoutWorktreeBranch;
|
|
62
|
+
private maybeSendPRNudge;
|
|
61
63
|
private executeInitialMode;
|
|
62
64
|
private runQuerySafe;
|
|
63
65
|
private runCoreLoop;
|
|
@@ -185,6 +187,8 @@ declare class ConveyorConnection {
|
|
|
185
187
|
getTaskProperties(): Promise<TaskPropertiesResponse>;
|
|
186
188
|
triggerIdentification(): Promise<TriggerIdentificationResponse>;
|
|
187
189
|
emitModeTransition(payload: ModeTransitionPayload): void;
|
|
190
|
+
searchIncidents(status?: string, source?: string): Promise<IncidentDTO[]>;
|
|
191
|
+
getTaskIncidents(taskId?: string): Promise<TaskIncidentDTO[]>;
|
|
188
192
|
disconnect(): void;
|
|
189
193
|
}
|
|
190
194
|
|
package/dist/index.js
CHANGED