crewx-agent-cli 0.2.3 → 0.2.5
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 +79 -4
- package/dist/adapters.d.ts +12 -0
- package/dist/adapters.d.ts.map +1 -1
- package/dist/adapters.js +112 -40
- package/dist/adapters.js.map +1 -1
- package/dist/api.d.ts +40 -17
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +187 -11
- package/dist/api.js.map +1 -1
- package/dist/bridge-watchdog.d.ts +10 -0
- package/dist/bridge-watchdog.d.ts.map +1 -0
- package/dist/bridge-watchdog.js +45 -0
- package/dist/bridge-watchdog.js.map +1 -0
- package/dist/config.d.ts +9 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +53 -2
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +6 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +11 -1
- package/dist/constants.js.map +1 -1
- package/dist/daemon.d.ts +34 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +507 -102
- package/dist/daemon.js.map +1 -1
- package/dist/errors.d.ts +4 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +3 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -6
- package/dist/index.js.map +1 -1
- package/dist/join.d.ts +1 -0
- package/dist/join.d.ts.map +1 -1
- package/dist/join.js +13 -0
- package/dist/join.js.map +1 -1
- package/dist/outbox.d.ts +22 -0
- package/dist/outbox.d.ts.map +1 -0
- package/dist/outbox.js +189 -0
- package/dist/outbox.js.map +1 -0
- package/dist/process-lock.d.ts +31 -0
- package/dist/process-lock.d.ts.map +1 -0
- package/dist/process-lock.js +272 -0
- package/dist/process-lock.js.map +1 -0
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +7 -0
- package/dist/prompt.js.map +1 -1
- package/dist/runtime-proxy.d.ts +18 -0
- package/dist/runtime-proxy.d.ts.map +1 -0
- package/dist/runtime-proxy.js +221 -0
- package/dist/runtime-proxy.js.map +1 -0
- package/package.json +6 -2
package/dist/api.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { AssignmentControlResponseSchema, OutboundEventBatchSchema, PollResponseSchema, SessionRegistrationResponseSchema, StatusResponseSchema, } from "crewx-agent-protocol";
|
|
2
|
-
import { API_PATH, CLI_NAME, CLI_VERSION } from "./constants.js";
|
|
1
|
+
import { AssignmentControlResponseSchema, ListPageEnvelopeSchema, ListPageRequestSchema, OutboundEventBatchSchema, PollResponseSchema, SessionRegistrationResponseSchema, StatusResponseSchema, } from "crewx-agent-protocol";
|
|
2
|
+
import { API_PATH, CLI_NAME, CLI_VERSION, DEFAULT_API_REQUEST_TIMEOUT_MS, MAX_EVENT_BATCH_BYTES, MAX_API_RESPONSE_BYTES, } from "./constants.js";
|
|
3
3
|
import { CliError, redactSecrets } from "./errors.js";
|
|
4
4
|
export class ApiError extends CliError {
|
|
5
|
+
code;
|
|
5
6
|
status;
|
|
6
7
|
retryable;
|
|
7
8
|
retryAfterMs;
|
|
8
9
|
constructor(message, options = {}) {
|
|
9
10
|
super(message, 1, options.cause ? { cause: options.cause } : undefined);
|
|
10
11
|
this.name = "ApiError";
|
|
12
|
+
this.code = options.code ?? "api_error";
|
|
11
13
|
this.status = options.status;
|
|
12
14
|
this.retryAfterMs = options.retryAfterMs;
|
|
13
15
|
this.retryable =
|
|
@@ -15,6 +17,12 @@ export class ApiError extends CliError {
|
|
|
15
17
|
(options.status === undefined || options.status >= 500);
|
|
16
18
|
}
|
|
17
19
|
}
|
|
20
|
+
export function serializeOutboundEventBatch(sessionId, events) {
|
|
21
|
+
return JSON.stringify({
|
|
22
|
+
session_id: sessionId,
|
|
23
|
+
events,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
18
26
|
export function apiBaseUrl(baseUrl) {
|
|
19
27
|
const url = new URL(baseUrl);
|
|
20
28
|
const pathname = url.pathname.replace(/\/+$/, "");
|
|
@@ -58,6 +66,54 @@ function retryAfterMilliseconds(value) {
|
|
|
58
66
|
return undefined;
|
|
59
67
|
return Math.max(0, retryAt - Date.now());
|
|
60
68
|
}
|
|
69
|
+
async function readResponseText(response, maximumBytes = MAX_API_RESPONSE_BYTES) {
|
|
70
|
+
const declaredLength = Number(response.headers.get("content-length") ?? "0");
|
|
71
|
+
if (Number.isFinite(declaredLength) && declaredLength > maximumBytes) {
|
|
72
|
+
throw new ApiError(`CrewX returned a response larger than ${String(maximumBytes)} bytes.`, { code: "response_too_large", retryable: false });
|
|
73
|
+
}
|
|
74
|
+
if (!response.body)
|
|
75
|
+
return "";
|
|
76
|
+
const reader = response.body.getReader();
|
|
77
|
+
const decoder = new TextDecoder("utf-8", { fatal: true });
|
|
78
|
+
let total = 0;
|
|
79
|
+
let text = "";
|
|
80
|
+
try {
|
|
81
|
+
while (true) {
|
|
82
|
+
const part = await reader.read();
|
|
83
|
+
if (part.done)
|
|
84
|
+
break;
|
|
85
|
+
total += part.value.byteLength;
|
|
86
|
+
if (total > maximumBytes) {
|
|
87
|
+
await reader.cancel();
|
|
88
|
+
throw new ApiError(`CrewX returned a response larger than ${String(maximumBytes)} bytes.`, { code: "response_too_large", retryable: false });
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
text += decoder.decode(part.value, { stream: true });
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
throw new ApiError("CrewX returned invalid UTF-8.", {
|
|
95
|
+
code: "invalid_response_encoding",
|
|
96
|
+
retryable: false,
|
|
97
|
+
cause: error,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
text += decoder.decode();
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
throw new ApiError("CrewX returned invalid UTF-8.", {
|
|
106
|
+
code: "invalid_response_encoding",
|
|
107
|
+
retryable: false,
|
|
108
|
+
cause: error,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return text;
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
reader.releaseLock();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
61
117
|
function objectPayload(value, label) {
|
|
62
118
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
63
119
|
throw new ApiError(`CrewX returned an invalid ${label} response.`, {
|
|
@@ -80,14 +136,76 @@ function resources(value, key) {
|
|
|
80
136
|
}
|
|
81
137
|
return items.map((item) => objectPayload(item, key));
|
|
82
138
|
}
|
|
139
|
+
function resourcePage(value, key) {
|
|
140
|
+
const payload = objectPayload(value, key);
|
|
141
|
+
const items = resources(payload, key);
|
|
142
|
+
const parsed = ListPageEnvelopeSchema.safeParse(payload);
|
|
143
|
+
if (!parsed.success) {
|
|
144
|
+
throw new ApiError(`CrewX returned invalid pagination metadata for ${key}.`, { code: "invalid_pagination", retryable: false });
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
items,
|
|
148
|
+
nextCursor: parsed.data.next_cursor ?? null,
|
|
149
|
+
paginated: parsed.data.next_cursor !== undefined,
|
|
150
|
+
...(parsed.data.meta ? { meta: parsed.data.meta } : {}),
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
const MAX_RESOURCE_LIST_PAGES = 1_000;
|
|
154
|
+
const MAX_RESOURCE_LIST_ITEMS = 10_000;
|
|
155
|
+
const MAX_RESOURCE_LIST_BYTES = 16 * 1024 * 1024;
|
|
156
|
+
async function collectResourcePages(load, pageMethod) {
|
|
157
|
+
const items = [];
|
|
158
|
+
const visited = new Set();
|
|
159
|
+
let cursor = 0;
|
|
160
|
+
let encodedBytes = 2;
|
|
161
|
+
for (let pageNumber = 0; pageNumber < MAX_RESOURCE_LIST_PAGES; pageNumber += 1) {
|
|
162
|
+
if (visited.has(cursor)) {
|
|
163
|
+
throw new ApiError("CrewX returned a repeated list cursor.", {
|
|
164
|
+
code: "invalid_pagination",
|
|
165
|
+
retryable: false,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
visited.add(cursor);
|
|
169
|
+
const page = await load(cursor);
|
|
170
|
+
for (const item of page.items) {
|
|
171
|
+
const serialized = JSON.stringify(item);
|
|
172
|
+
const itemBytes = Buffer.byteLength(serialized, "utf8") + (items.length === 0 ? 0 : 1);
|
|
173
|
+
if (items.length >= MAX_RESOURCE_LIST_ITEMS ||
|
|
174
|
+
encodedBytes + itemBytes > MAX_RESOURCE_LIST_BYTES) {
|
|
175
|
+
throw new ApiError(`CrewX list results exceed the safe aggregate limit of ${String(MAX_RESOURCE_LIST_ITEMS)} items or ${String(MAX_RESOURCE_LIST_BYTES)} encoded bytes. Narrow the filters or use ${pageMethod} for explicit page-by-page processing.`, {
|
|
176
|
+
code: "narrow_filters_or_use_page_method",
|
|
177
|
+
retryable: false,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
items.push(item);
|
|
181
|
+
encodedBytes += itemBytes;
|
|
182
|
+
}
|
|
183
|
+
if (!page.paginated || page.nextCursor === null)
|
|
184
|
+
return items;
|
|
185
|
+
if (page.nextCursor <= cursor) {
|
|
186
|
+
throw new ApiError("CrewX returned a list cursor that did not advance.", {
|
|
187
|
+
code: "invalid_pagination",
|
|
188
|
+
retryable: false,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
cursor = page.nextCursor;
|
|
192
|
+
}
|
|
193
|
+
throw new ApiError("CrewX returned too many list pages. Narrow the list with filters or request individual pages.", { code: "pagination_limit_exceeded", retryable: false });
|
|
194
|
+
}
|
|
83
195
|
export class CrewXApi {
|
|
84
196
|
baseUrl;
|
|
85
197
|
token;
|
|
86
198
|
fetch;
|
|
199
|
+
requestTimeoutMs;
|
|
200
|
+
maxResponseBytes;
|
|
87
201
|
constructor(options) {
|
|
88
202
|
this.baseUrl = apiBaseUrl(options.url);
|
|
89
203
|
this.token = options.token;
|
|
90
204
|
this.fetch = options.fetch ?? globalThis.fetch;
|
|
205
|
+
this.requestTimeoutMs =
|
|
206
|
+
options.requestTimeoutMs ?? DEFAULT_API_REQUEST_TIMEOUT_MS;
|
|
207
|
+
this.maxResponseBytes =
|
|
208
|
+
options.maxResponseBytes ?? MAX_API_RESPONSE_BYTES;
|
|
91
209
|
}
|
|
92
210
|
async request(path, init = {}) {
|
|
93
211
|
const url = `${this.baseUrl}${path}`;
|
|
@@ -98,16 +216,31 @@ export class CrewXApi {
|
|
|
98
216
|
if (init.body !== undefined)
|
|
99
217
|
headers.set("content-type", "application/json");
|
|
100
218
|
let response;
|
|
219
|
+
const timeoutSignal = AbortSignal.timeout(this.requestTimeoutMs);
|
|
220
|
+
const requestSignal = init.signal
|
|
221
|
+
? AbortSignal.any([init.signal, timeoutSignal])
|
|
222
|
+
: timeoutSignal;
|
|
101
223
|
try {
|
|
102
|
-
response = await this.fetch(url, {
|
|
224
|
+
response = await this.fetch(url, {
|
|
225
|
+
...init,
|
|
226
|
+
headers,
|
|
227
|
+
// A redirect to another origin must never receive the reusable agent
|
|
228
|
+
// bearer. CrewX API routes are canonical and do not require redirects.
|
|
229
|
+
redirect: "error",
|
|
230
|
+
signal: requestSignal,
|
|
231
|
+
});
|
|
103
232
|
}
|
|
104
233
|
catch (error) {
|
|
105
|
-
|
|
234
|
+
const timedOut = timeoutSignal.aborted && !init.signal?.aborted;
|
|
235
|
+
throw new ApiError(redactSecrets(timedOut
|
|
236
|
+
? `CrewX request timed out after ${String(this.requestTimeoutMs)}ms at ${this.baseUrl}.`
|
|
237
|
+
: `Unable to reach CrewX at ${this.baseUrl}: ${networkErrorDetail(error)}`, [this.token]), {
|
|
238
|
+
code: timedOut ? "request_timeout" : "network_error",
|
|
106
239
|
retryable: true,
|
|
107
240
|
cause: error,
|
|
108
241
|
});
|
|
109
242
|
}
|
|
110
|
-
const text = await response.
|
|
243
|
+
const text = await readResponseText(response, this.maxResponseBytes);
|
|
111
244
|
let payload;
|
|
112
245
|
if (text.length > 0) {
|
|
113
246
|
try {
|
|
@@ -123,6 +256,15 @@ export class CrewXApi {
|
|
|
123
256
|
: previewResponse(text);
|
|
124
257
|
const suffix = serverMessage ? `: ${serverMessage}` : "";
|
|
125
258
|
throw new ApiError(redactSecrets(`CrewX API returned ${response.status} ${response.statusText}${suffix}`, [this.token]), {
|
|
259
|
+
code: response.status === 401
|
|
260
|
+
? "unauthorized"
|
|
261
|
+
: response.status === 408
|
|
262
|
+
? "request_timeout"
|
|
263
|
+
: response.status === 429
|
|
264
|
+
? "rate_limited"
|
|
265
|
+
: response.status >= 500
|
|
266
|
+
? "server_error"
|
|
267
|
+
: "api_error",
|
|
126
268
|
status: response.status,
|
|
127
269
|
retryAfterMs: retryAfterMilliseconds(response.headers.get("retry-after")),
|
|
128
270
|
retryable: response.status === 408 ||
|
|
@@ -173,10 +315,13 @@ export class CrewXApi {
|
|
|
173
315
|
});
|
|
174
316
|
return PollResponseSchema.parse(payload);
|
|
175
317
|
}
|
|
176
|
-
async control(sessionId, assignmentId, signal) {
|
|
318
|
+
async control(sessionId, assignmentId, signal, assignmentEventCursor) {
|
|
177
319
|
const query = new URLSearchParams({
|
|
178
320
|
session_id: sessionId,
|
|
179
321
|
assignment_id: assignmentId,
|
|
322
|
+
...(assignmentEventCursor !== undefined
|
|
323
|
+
? { assignment_event_cursor: String(assignmentEventCursor) }
|
|
324
|
+
: {}),
|
|
180
325
|
});
|
|
181
326
|
const payload = await this.request(`/control?${query.toString()}`, {
|
|
182
327
|
method: "GET",
|
|
@@ -185,17 +330,28 @@ export class CrewXApi {
|
|
|
185
330
|
return AssignmentControlResponseSchema.parse(payload);
|
|
186
331
|
}
|
|
187
332
|
async sendEvents(sessionId, events, signal) {
|
|
188
|
-
const
|
|
333
|
+
const payload = OutboundEventBatchSchema.parse({
|
|
189
334
|
session_id: sessionId,
|
|
190
335
|
events,
|
|
191
336
|
});
|
|
337
|
+
const body = serializeOutboundEventBatch(payload.session_id, payload.events);
|
|
338
|
+
if (Buffer.byteLength(body, "utf8") > MAX_EVENT_BATCH_BYTES) {
|
|
339
|
+
throw new ApiError(`CrewX event batch exceeds the ${String(MAX_EVENT_BATCH_BYTES)} byte client limit.`, { code: "event_batch_too_large", retryable: false });
|
|
340
|
+
}
|
|
192
341
|
await this.request("/events", {
|
|
193
342
|
method: "POST",
|
|
194
|
-
body
|
|
343
|
+
body,
|
|
195
344
|
...(signal ? { signal } : {}),
|
|
196
345
|
});
|
|
197
346
|
}
|
|
198
347
|
async listTasks(options = {}, signal) {
|
|
348
|
+
return collectResourcePages((cursor) => this.listTaskPage({ ...options, cursor, limit: 50 }, signal), "listTaskPage");
|
|
349
|
+
}
|
|
350
|
+
async listTaskPage(options = {}, signal) {
|
|
351
|
+
const page = ListPageRequestSchema.parse({
|
|
352
|
+
cursor: options.cursor,
|
|
353
|
+
limit: options.limit,
|
|
354
|
+
});
|
|
199
355
|
const query = new URLSearchParams();
|
|
200
356
|
if (options.status)
|
|
201
357
|
query.set("status", options.status);
|
|
@@ -205,12 +361,14 @@ export class CrewXApi {
|
|
|
205
361
|
query.set("include_epics", "1");
|
|
206
362
|
if (options.search)
|
|
207
363
|
query.set("search", options.search);
|
|
364
|
+
query.set("cursor", String(page.cursor));
|
|
365
|
+
query.set("limit", String(page.limit));
|
|
208
366
|
const suffix = query.size > 0 ? `?${query.toString()}` : "";
|
|
209
367
|
const payload = await this.request(`/tasks${suffix}`, {
|
|
210
368
|
method: "GET",
|
|
211
369
|
...(signal ? { signal } : {}),
|
|
212
370
|
});
|
|
213
|
-
return
|
|
371
|
+
return resourcePage(payload, "tasks");
|
|
214
372
|
}
|
|
215
373
|
async createTask(input, signal) {
|
|
216
374
|
const payload = await this.request("/tasks", {
|
|
@@ -229,15 +387,24 @@ export class CrewXApi {
|
|
|
229
387
|
return resource(payload, "task");
|
|
230
388
|
}
|
|
231
389
|
async listDocuments(options = {}, signal) {
|
|
390
|
+
return collectResourcePages((cursor) => this.listDocumentPage({ ...options, cursor, limit: 50 }, signal), "listDocumentPage");
|
|
391
|
+
}
|
|
392
|
+
async listDocumentPage(options = {}, signal) {
|
|
393
|
+
const page = ListPageRequestSchema.parse({
|
|
394
|
+
cursor: options.cursor,
|
|
395
|
+
limit: options.limit,
|
|
396
|
+
});
|
|
232
397
|
const query = new URLSearchParams();
|
|
233
398
|
if (options.search)
|
|
234
399
|
query.set("search", options.search);
|
|
400
|
+
query.set("cursor", String(page.cursor));
|
|
401
|
+
query.set("limit", String(page.limit));
|
|
235
402
|
const suffix = query.size > 0 ? `?${query.toString()}` : "";
|
|
236
403
|
const payload = await this.request(`/documents${suffix}`, {
|
|
237
404
|
method: "GET",
|
|
238
405
|
...(signal ? { signal } : {}),
|
|
239
406
|
});
|
|
240
|
-
return
|
|
407
|
+
return resourcePage(payload, "documents");
|
|
241
408
|
}
|
|
242
409
|
async createDocument(input, signal) {
|
|
243
410
|
const payload = await this.request("/documents", {
|
|
@@ -256,6 +423,13 @@ export class CrewXApi {
|
|
|
256
423
|
return resource(payload, "document");
|
|
257
424
|
}
|
|
258
425
|
async listMemories(options = {}, signal) {
|
|
426
|
+
return collectResourcePages((cursor) => this.listMemoryPage({ ...options, cursor, limit: 50 }, signal), "listMemoryPage");
|
|
427
|
+
}
|
|
428
|
+
async listMemoryPage(options = {}, signal) {
|
|
429
|
+
const page = ListPageRequestSchema.parse({
|
|
430
|
+
cursor: options.cursor,
|
|
431
|
+
limit: options.limit,
|
|
432
|
+
});
|
|
259
433
|
const query = new URLSearchParams();
|
|
260
434
|
if (options.search)
|
|
261
435
|
query.set("search", options.search);
|
|
@@ -265,12 +439,14 @@ export class CrewXApi {
|
|
|
265
439
|
query.set("scope", options.scope);
|
|
266
440
|
if (options.channelId !== undefined)
|
|
267
441
|
query.set("channel_id", String(options.channelId));
|
|
442
|
+
query.set("cursor", String(page.cursor));
|
|
443
|
+
query.set("limit", String(page.limit));
|
|
268
444
|
const suffix = query.size > 0 ? `?${query.toString()}` : "";
|
|
269
445
|
const payload = await this.request(`/memories${suffix}`, {
|
|
270
446
|
method: "GET",
|
|
271
447
|
...(signal ? { signal } : {}),
|
|
272
448
|
});
|
|
273
|
-
return
|
|
449
|
+
return resourcePage(payload, "memories");
|
|
274
450
|
}
|
|
275
451
|
async createMemory(input, signal) {
|
|
276
452
|
const payload = await this.request("/memories", {
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Readable } from "node:stream";
|
|
2
|
+
export type OpenBridgeWatchdog = (descriptor: number) => Readable;
|
|
3
|
+
/**
|
|
4
|
+
* A Bridge-launched CLI inherits a read-only pipe. The Bridge keeps the write
|
|
5
|
+
* end open for the lifetime of the supervised runner. Kernel EOF is therefore
|
|
6
|
+
* a reliable parent-death signal even when launchd/systemd kills the Bridge
|
|
7
|
+
* without giving it a chance to run cleanup handlers.
|
|
8
|
+
*/
|
|
9
|
+
export declare function attachBridgeWatchdog(controller: AbortController, environment?: NodeJS.ProcessEnv, openWatchdog?: OpenBridgeWatchdog): (() => void) | undefined;
|
|
10
|
+
//# sourceMappingURL=bridge-watchdog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-watchdog.d.ts","sourceRoot":"","sources":["../src/bridge-watchdog.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,MAAM,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,QAAQ,CAAC;AASlE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,eAAe,EAC3B,WAAW,GAAE,MAAM,CAAC,UAAwB,EAC5C,YAAY,GAAE,kBAA8C,GAC3D,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAkC1B"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createReadStream } from "node:fs";
|
|
2
|
+
import { CliError } from "./errors.js";
|
|
3
|
+
function defaultOpenBridgeWatchdog(descriptor) {
|
|
4
|
+
return createReadStream("/dev/null", {
|
|
5
|
+
fd: descriptor,
|
|
6
|
+
autoClose: true,
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A Bridge-launched CLI inherits a read-only pipe. The Bridge keeps the write
|
|
11
|
+
* end open for the lifetime of the supervised runner. Kernel EOF is therefore
|
|
12
|
+
* a reliable parent-death signal even when launchd/systemd kills the Bridge
|
|
13
|
+
* without giving it a chance to run cleanup handlers.
|
|
14
|
+
*/
|
|
15
|
+
export function attachBridgeWatchdog(controller, environment = process.env, openWatchdog = defaultOpenBridgeWatchdog) {
|
|
16
|
+
const rawDescriptor = environment.CREWX_BRIDGE_WATCHDOG_FD;
|
|
17
|
+
if (rawDescriptor === undefined)
|
|
18
|
+
return undefined;
|
|
19
|
+
const descriptor = Number(rawDescriptor);
|
|
20
|
+
if (!Number.isSafeInteger(descriptor) ||
|
|
21
|
+
descriptor < 3 ||
|
|
22
|
+
descriptor > 255) {
|
|
23
|
+
throw new CliError("The CrewX Bridge watchdog descriptor is invalid.", 1, { code: "invalid_bridge_watchdog" });
|
|
24
|
+
}
|
|
25
|
+
const watchdog = openWatchdog(descriptor);
|
|
26
|
+
let detached = false;
|
|
27
|
+
const parentExited = () => {
|
|
28
|
+
if (!detached)
|
|
29
|
+
controller.abort("CrewX Bridge parent exited.");
|
|
30
|
+
};
|
|
31
|
+
watchdog.once("end", parentExited);
|
|
32
|
+
watchdog.once("close", parentExited);
|
|
33
|
+
watchdog.once("error", parentExited);
|
|
34
|
+
watchdog.resume();
|
|
35
|
+
return () => {
|
|
36
|
+
if (detached)
|
|
37
|
+
return;
|
|
38
|
+
detached = true;
|
|
39
|
+
watchdog.removeListener("end", parentExited);
|
|
40
|
+
watchdog.removeListener("close", parentExited);
|
|
41
|
+
watchdog.removeListener("error", parentExited);
|
|
42
|
+
watchdog.destroy();
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=bridge-watchdog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-watchdog.js","sourceRoot":"","sources":["../src/bridge-watchdog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,SAAS,yBAAyB,CAAC,UAAkB;IACnD,OAAO,gBAAgB,CAAC,WAAW,EAAE;QACnC,EAAE,EAAE,UAAU;QACd,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAA2B,EAC3B,cAAiC,OAAO,CAAC,GAAG,EAC5C,eAAmC,yBAAyB;IAE5D,MAAM,aAAa,GAAG,WAAW,CAAC,wBAAwB,CAAC;IAC3D,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;QACjC,UAAU,GAAG,CAAC;QACd,UAAU,GAAG,GAAG,EAChB,CAAC;QACD,MAAM,IAAI,QAAQ,CAChB,kDAAkD,EAClD,CAAC,EACD,EAAE,IAAI,EAAE,yBAAyB,EAAE,CACpC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,YAAY,GAAG,GAAS,EAAE;QAC9B,IAAI,CAAC,QAAQ;YAAE,UAAU,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjE,CAAC,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAElB,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7C,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC/C,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC/C,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -7,13 +7,21 @@ export interface StoredConfig {
|
|
|
7
7
|
export interface ResolvedConfig extends StoredConfig {
|
|
8
8
|
path: string;
|
|
9
9
|
urlSource: 'environment' | 'file';
|
|
10
|
-
tokenSource: 'environment' | 'file';
|
|
10
|
+
tokenSource: 'bridge_pipe' | 'environment' | 'file';
|
|
11
11
|
}
|
|
12
12
|
export interface ConfigEnvironment {
|
|
13
13
|
CREWX_URL?: string | undefined;
|
|
14
14
|
CREWX_TOKEN?: string | undefined;
|
|
15
|
+
CREWX_RUN_CREDENTIAL_FD?: string | undefined;
|
|
15
16
|
XDG_CONFIG_HOME?: string | undefined;
|
|
16
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Bridge hands a per-run bearer to the CLI through a one-shot inherited pipe
|
|
20
|
+
* rather than the exec environment. This is defense in depth against
|
|
21
|
+
* accidental environment inheritance and `/proc/<pid>/environ` inspection;
|
|
22
|
+
* it is not a security boundary against code running as the same OS user.
|
|
23
|
+
*/
|
|
24
|
+
export declare function readBridgeRunCredential(environment?: ConfigEnvironment): string | undefined;
|
|
17
25
|
export declare function configPath(environment?: ConfigEnvironment): string;
|
|
18
26
|
export declare function normalizeUrl(input: string): string;
|
|
19
27
|
export declare function readStoredConfig(environment?: ConfigEnvironment): Promise<StoredConfig | undefined>;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,aAAa,GAAG,MAAM,CAAC;IAClC,WAAW,EAAE,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC;CACrD;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAID;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,GAAE,iBAA+B,GAC3C,MAAM,GAAG,SAAS,CAkCpB;AAED,wBAAgB,UAAU,CAAC,WAAW,GAAE,iBAA+B,GAAG,MAAM,CAG/E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAwBlD;AAsBD,wBAAsB,gBAAgB,CACpC,WAAW,GAAE,iBAA+B,GAC3C,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAgBnC;AAED,wBAAsB,aAAa,CACjC,WAAW,GAAE,iBAA+B,GAC3C,OAAO,CAAC,cAAc,CAAC,CA2BzB;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAChE,WAAW,GAAE,iBAA+B,GAC3C,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
|
package/dist/config.js
CHANGED
|
@@ -1,7 +1,53 @@
|
|
|
1
|
+
import { closeSync, readFileSync } from 'node:fs';
|
|
1
2
|
import { chmod, mkdir, open, readFile, rename } from 'node:fs/promises';
|
|
2
3
|
import { homedir } from 'node:os';
|
|
3
4
|
import { dirname, join } from 'node:path';
|
|
4
5
|
import { CliError } from './errors.js';
|
|
6
|
+
const MAX_RUN_CREDENTIAL_BYTES = 8 * 1024;
|
|
7
|
+
/**
|
|
8
|
+
* Bridge hands a per-run bearer to the CLI through a one-shot inherited pipe
|
|
9
|
+
* rather than the exec environment. This is defense in depth against
|
|
10
|
+
* accidental environment inheritance and `/proc/<pid>/environ` inspection;
|
|
11
|
+
* it is not a security boundary against code running as the same OS user.
|
|
12
|
+
*/
|
|
13
|
+
export function readBridgeRunCredential(environment = process.env) {
|
|
14
|
+
const descriptorValue = environment.CREWX_RUN_CREDENTIAL_FD?.trim();
|
|
15
|
+
if (!descriptorValue)
|
|
16
|
+
return undefined;
|
|
17
|
+
if (!/^\d+$/.test(descriptorValue)) {
|
|
18
|
+
throw new CliError('CrewX Bridge supplied an invalid run credential pipe.');
|
|
19
|
+
}
|
|
20
|
+
const descriptor = Number(descriptorValue);
|
|
21
|
+
if (!Number.isSafeInteger(descriptor) || descriptor < 3 || descriptor > 255) {
|
|
22
|
+
throw new CliError('CrewX Bridge supplied an invalid run credential pipe.');
|
|
23
|
+
}
|
|
24
|
+
let raw;
|
|
25
|
+
try {
|
|
26
|
+
raw = readFileSync(descriptor, 'utf8');
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
throw new CliError('CrewX Bridge could not read the one-shot run credential.', 1, {
|
|
30
|
+
cause: error,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
try {
|
|
35
|
+
closeSync(descriptor);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// Reading a pipe that was already closed is a terminal credential error
|
|
39
|
+
// above; closing again must not replace that actionable failure.
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (Buffer.byteLength(raw, 'utf8') > MAX_RUN_CREDENTIAL_BYTES) {
|
|
43
|
+
throw new CliError('CrewX Bridge supplied an oversized run credential.');
|
|
44
|
+
}
|
|
45
|
+
const token = raw.trim();
|
|
46
|
+
if (!/^crwx_[A-Za-z0-9_-]{8,4091}$/.test(token)) {
|
|
47
|
+
throw new CliError('CrewX Bridge supplied an invalid run credential.');
|
|
48
|
+
}
|
|
49
|
+
return token;
|
|
50
|
+
}
|
|
5
51
|
export function configPath(environment = process.env) {
|
|
6
52
|
const base = environment.XDG_CONFIG_HOME?.trim() || join(homedir(), '.config');
|
|
7
53
|
return join(base, 'crewx', 'config.json');
|
|
@@ -69,7 +115,8 @@ export async function readStoredConfig(environment = process.env) {
|
|
|
69
115
|
}
|
|
70
116
|
export async function resolveConfig(environment = process.env) {
|
|
71
117
|
const environmentUrl = environment.CREWX_URL?.trim();
|
|
72
|
-
const
|
|
118
|
+
const bridgeToken = readBridgeRunCredential(environment);
|
|
119
|
+
const environmentToken = bridgeToken ?? environment.CREWX_TOKEN?.trim();
|
|
73
120
|
const stored = environmentUrl && environmentToken ? undefined : await readStoredConfig(environment);
|
|
74
121
|
const url = environmentUrl || stored?.url;
|
|
75
122
|
const token = environmentToken || stored?.token;
|
|
@@ -83,7 +130,11 @@ export async function resolveConfig(environment = process.env) {
|
|
|
83
130
|
...(stored?.name ? { name: stored.name } : {}),
|
|
84
131
|
path: configPath(environment),
|
|
85
132
|
urlSource: environmentUrl ? 'environment' : 'file',
|
|
86
|
-
tokenSource:
|
|
133
|
+
tokenSource: bridgeToken
|
|
134
|
+
? 'bridge_pipe'
|
|
135
|
+
: environmentToken
|
|
136
|
+
? 'environment'
|
|
137
|
+
: 'file',
|
|
87
138
|
};
|
|
88
139
|
}
|
|
89
140
|
export async function saveConfig(input, environment = process.env) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
export declare const CLI_NAME = "crewx";
|
|
2
|
-
export declare const CLI_VERSION
|
|
2
|
+
export declare const CLI_VERSION: string;
|
|
3
3
|
export declare const API_PATH = "/api/agent/v1";
|
|
4
4
|
export declare const DEFAULT_ADAPTER = "codex";
|
|
5
5
|
export declare const DEFAULT_POLL_INTERVAL_MS = 2000;
|
|
6
|
+
export declare const DEFAULT_API_REQUEST_TIMEOUT_MS = 20000;
|
|
7
|
+
export declare const MAX_API_RESPONSE_BYTES: number;
|
|
8
|
+
export declare const MAX_BUFFERED_EVENT_BYTES: number;
|
|
9
|
+
export declare const MAX_BUFFERED_EVENTS = 512;
|
|
10
|
+
export declare const MAX_EVENT_BATCH_BYTES: number;
|
|
6
11
|
export declare const DEFAULT_RUN_TIMEOUT_MS: number;
|
|
7
12
|
export declare const MAX_AGENT_OUTPUT_BYTES: number;
|
|
8
13
|
export declare const MAX_EVENT_CONTENT_LENGTH = 32000;
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ,UAAU,CAAC;AAChC,eAAO,MAAM,WAAW,QAA0B,CAAC;AACnD,eAAO,MAAM,QAAQ,kBAAkB,CAAC;AACxC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,eAAO,MAAM,sBAAsB,QAAkB,CAAC;AACtD,eAAO,MAAM,wBAAwB,QAAkB,CAAC;AACxD,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,qBAAqB,QAAa,CAAC;AAChD,eAAO,MAAM,sBAAsB,QAAkB,CAAC;AACtD,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AACvD,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C,eAAO,MAAM,kBAAkB,QAAS,CAAC"}
|