@dougbots/avenor-core 0.2.0 → 0.3.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/index.d.ts +7 -0
- package/dist/index.js +44 -30
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -63,6 +63,8 @@ interface RunInfo {
|
|
|
63
63
|
eventLogPath: string;
|
|
64
64
|
runtimeId?: string;
|
|
65
65
|
sessionId?: string;
|
|
66
|
+
brokerUrl?: string;
|
|
67
|
+
parentToken?: string;
|
|
66
68
|
}
|
|
67
69
|
interface SupervisorOptions {
|
|
68
70
|
binaryPath?: string;
|
|
@@ -105,10 +107,14 @@ declare function spawnTool(args: {
|
|
|
105
107
|
serverUrl?: string;
|
|
106
108
|
sessionId?: string;
|
|
107
109
|
supervisorId?: string;
|
|
110
|
+
parent_run_id?: string;
|
|
108
111
|
}): Promise<{
|
|
109
112
|
run_id: string;
|
|
110
113
|
label: string;
|
|
111
114
|
supervisor_id: string;
|
|
115
|
+
runtime_id?: string;
|
|
116
|
+
broker_url?: string;
|
|
117
|
+
parent_token?: string;
|
|
112
118
|
}>;
|
|
113
119
|
//#endregion
|
|
114
120
|
//#region src/tools/status.d.ts
|
|
@@ -116,6 +122,7 @@ interface StatusResult {
|
|
|
116
122
|
run_id: string;
|
|
117
123
|
label: string;
|
|
118
124
|
status: string;
|
|
125
|
+
runtime_id?: string;
|
|
119
126
|
phase?: string;
|
|
120
127
|
phase_label?: string;
|
|
121
128
|
pending_permission?: {
|
package/dist/index.js
CHANGED
|
@@ -399,7 +399,9 @@ var Supervisor = class Supervisor {
|
|
|
399
399
|
sentinelPath: result.sentinel_file ?? sentinelPath,
|
|
400
400
|
eventLogPath: result.on_event ?? eventLogPath,
|
|
401
401
|
runtimeId: result.runtime_id,
|
|
402
|
-
sessionId: result.session_id
|
|
402
|
+
sessionId: result.session_id,
|
|
403
|
+
brokerUrl: result.broker_url,
|
|
404
|
+
parentToken: result.parent_token
|
|
403
405
|
};
|
|
404
406
|
this.runs.set(runInfo.label, runInfo);
|
|
405
407
|
this.runs.set(runId, runInfo);
|
|
@@ -481,30 +483,35 @@ async function spawnTool(args) {
|
|
|
481
483
|
const { client, isSingleton, supervisorId } = await getSupervisorClient(args.supervisorId);
|
|
482
484
|
const { sentinelPath, eventLogPath } = ensureRunPaths(runId);
|
|
483
485
|
try {
|
|
486
|
+
const result = await client.spawn({
|
|
487
|
+
agent: args.agent,
|
|
488
|
+
prompt: args.prompt,
|
|
489
|
+
prompt_file: args.promptFile,
|
|
490
|
+
label,
|
|
491
|
+
dir: args.dir,
|
|
492
|
+
timeout: args.timeout !== void 0 ? validateTimeout(args.timeout) : void 0,
|
|
493
|
+
model: args.model,
|
|
494
|
+
backend: args.backend,
|
|
495
|
+
server_url: args.serverUrl,
|
|
496
|
+
session_id: args.sessionId,
|
|
497
|
+
sentinel_file: sentinelPath,
|
|
498
|
+
on_event: eventLogPath,
|
|
499
|
+
parent_run_id: args.parent_run_id
|
|
500
|
+
});
|
|
484
501
|
return {
|
|
485
|
-
run_id:
|
|
486
|
-
agent: args.agent,
|
|
487
|
-
prompt: args.prompt,
|
|
488
|
-
prompt_file: args.promptFile,
|
|
489
|
-
label,
|
|
490
|
-
dir: args.dir,
|
|
491
|
-
timeout: args.timeout !== void 0 ? validateTimeout(args.timeout) : void 0,
|
|
492
|
-
model: args.model,
|
|
493
|
-
backend: args.backend,
|
|
494
|
-
server_url: args.serverUrl,
|
|
495
|
-
session_id: args.sessionId,
|
|
496
|
-
sentinel_file: sentinelPath,
|
|
497
|
-
on_event: eventLogPath
|
|
498
|
-
})).runtime_id ?? runId,
|
|
502
|
+
run_id: result.runtime_id ?? runId,
|
|
499
503
|
label,
|
|
500
|
-
supervisor_id: supervisorId
|
|
504
|
+
supervisor_id: supervisorId,
|
|
505
|
+
runtime_id: result.runtime_id,
|
|
506
|
+
broker_url: result.broker_url,
|
|
507
|
+
parent_token: result.parent_token
|
|
501
508
|
};
|
|
502
509
|
} finally {
|
|
503
510
|
if (!isSingleton) client.close();
|
|
504
511
|
}
|
|
505
512
|
}
|
|
506
513
|
const sup = await Supervisor.get();
|
|
507
|
-
await sup.spawn({
|
|
514
|
+
const runInfo = await sup.spawn({
|
|
508
515
|
agent: args.agent,
|
|
509
516
|
prompt: args.prompt,
|
|
510
517
|
prompt_file: args.promptFile,
|
|
@@ -514,12 +521,16 @@ async function spawnTool(args) {
|
|
|
514
521
|
model: args.model,
|
|
515
522
|
backend: args.backend,
|
|
516
523
|
server_url: args.serverUrl,
|
|
517
|
-
session_id: args.sessionId
|
|
524
|
+
session_id: args.sessionId,
|
|
525
|
+
parent_run_id: args.parent_run_id
|
|
518
526
|
});
|
|
519
527
|
return {
|
|
520
528
|
run_id: runId,
|
|
521
529
|
label,
|
|
522
|
-
supervisor_id: sup.supervisorId
|
|
530
|
+
supervisor_id: sup.supervisorId,
|
|
531
|
+
runtime_id: runInfo.runtimeId,
|
|
532
|
+
broker_url: runInfo.brokerUrl,
|
|
533
|
+
parent_token: runInfo.parentToken
|
|
523
534
|
};
|
|
524
535
|
}
|
|
525
536
|
//#endregion
|
|
@@ -556,21 +567,22 @@ async function sentinelExists(filePath) {
|
|
|
556
567
|
return false;
|
|
557
568
|
}
|
|
558
569
|
}
|
|
570
|
+
function sentinelStatusToResult(sentinelStatus) {
|
|
571
|
+
switch (sentinelStatus) {
|
|
572
|
+
case "DONE": return "done";
|
|
573
|
+
case "FAILED": return "failed";
|
|
574
|
+
case "TIMEOUT": return "timeout";
|
|
575
|
+
case "KILLED": return "killed";
|
|
576
|
+
case "BLOCKED": return "failed";
|
|
577
|
+
default: return "running";
|
|
578
|
+
}
|
|
579
|
+
}
|
|
559
580
|
function translateStatus(rawPhase, sentinelData) {
|
|
560
581
|
const sentinelStatus = sentinelData?._status;
|
|
561
582
|
switch (rawPhase) {
|
|
562
|
-
case "idle":
|
|
583
|
+
case "idle": return sentinelStatus ? sentinelStatusToResult(sentinelStatus) : "running";
|
|
563
584
|
case "running": return "running";
|
|
564
|
-
case "ended":
|
|
565
|
-
if (sentinelStatus) switch (sentinelStatus) {
|
|
566
|
-
case "DONE": return "done";
|
|
567
|
-
case "FAILED": return "failed";
|
|
568
|
-
case "TIMEOUT": return "timeout";
|
|
569
|
-
case "KILLED": return "killed";
|
|
570
|
-
case "BLOCKED": return "failed";
|
|
571
|
-
default: return "running";
|
|
572
|
-
}
|
|
573
|
-
return "running";
|
|
585
|
+
case "ended": return sentinelStatus ? sentinelStatusToResult(sentinelStatus) : "running";
|
|
574
586
|
case "DONE": return "done";
|
|
575
587
|
case "FAILED": return "failed";
|
|
576
588
|
case "TIMEOUT": return "timeout";
|
|
@@ -587,6 +599,7 @@ async function buildRunStatus(client, runInfo, liveStatus) {
|
|
|
587
599
|
run_id: runInfo.label,
|
|
588
600
|
label: runInfo.label,
|
|
589
601
|
status: translated,
|
|
602
|
+
runtime_id: liveStatus?.runtime_id ?? runInfo.runtimeId,
|
|
590
603
|
phase: liveStatus?.phase,
|
|
591
604
|
phase_label: liveStatus?.phase_label,
|
|
592
605
|
session_id: sentinel?.SESSION ?? liveStatus?.session_id ?? void 0,
|
|
@@ -623,6 +636,7 @@ async function statusTool(args) {
|
|
|
623
636
|
run_id: args.runId,
|
|
624
637
|
label: args.runId,
|
|
625
638
|
status: translateStatus(liveStatus?.phase ?? liveStatus?.status ?? "running", sentinel),
|
|
639
|
+
runtime_id: liveStatus?.runtime_id,
|
|
626
640
|
phase: liveStatus?.phase,
|
|
627
641
|
phase_label: liveStatus?.phase_label,
|
|
628
642
|
session_id: sentinel?.SESSION ?? liveStatus?.session_id ?? void 0,
|