@llblab/pi-actors 0.42.3 → 0.43.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/AGENTS.md +121 -175
- package/CHANGELOG.md +12 -0
- package/README.md +113 -276
- package/dist/fixtures/protocol/control-endpoint.json +6 -0
- package/dist/fixtures/protocol/control-record.json +9 -0
- package/dist/fixtures/protocol/recipe-summary.json +4 -12
- package/dist/fixtures/protocol/trace-event.json +9 -0
- package/dist/lib/async-runs.d.ts +14 -38
- package/dist/lib/async-runs.js +158 -108
- package/dist/lib/control.d.ts +12 -0
- package/dist/lib/control.js +84 -0
- package/dist/lib/execution-sessions.d.ts +17 -0
- package/dist/lib/execution-sessions.js +85 -0
- package/dist/lib/file-state.d.ts +1 -0
- package/dist/lib/file-state.js +17 -5
- package/dist/lib/inspector-actions.d.ts +2 -2
- package/dist/lib/inspector-actions.js +2 -2
- package/dist/lib/inspector-command.js +3 -3
- package/dist/lib/inspector-overlay.d.ts +52 -70
- package/dist/lib/inspector-overlay.js +532 -905
- package/dist/lib/inspector.d.ts +3 -71
- package/dist/lib/inspector.js +19 -665
- package/dist/lib/limits.d.ts +4 -2
- package/dist/lib/limits.js +4 -2
- package/dist/lib/observability.d.ts +16 -16
- package/dist/lib/observability.js +43 -82
- package/dist/lib/prompts.d.ts +1 -1
- package/dist/lib/prompts.js +2 -2
- package/dist/lib/recipe-control.d.ts +7 -0
- package/dist/lib/recipe-control.js +39 -0
- package/dist/lib/recipes-discovery.js +2 -0
- package/dist/lib/recipes-references.d.ts +1 -14
- package/dist/lib/recipes-references.js +6 -21
- package/dist/lib/review-projection.js +1 -5
- package/dist/lib/run-ui-runtime.js +2 -2
- package/dist/lib/runs-control-delivery.d.ts +21 -0
- package/dist/lib/runs-control-delivery.js +127 -0
- package/dist/lib/runs-controls.d.ts +35 -0
- package/dist/lib/runs-controls.js +144 -0
- package/dist/lib/runs-retention.d.ts +7 -0
- package/dist/lib/runs-retention.js +27 -3
- package/dist/lib/runs-start.js +4 -2
- package/dist/lib/runs-status.js +11 -6
- package/dist/lib/runs-trace.d.ts +24 -0
- package/dist/lib/runs-trace.js +98 -0
- package/dist/lib/runtime-notifier.d.ts +1 -1
- package/dist/lib/runtime-notifier.js +1 -1
- package/dist/lib/tools-inspect.d.ts +3 -3
- package/dist/lib/tools-inspect.js +203 -708
- package/dist/lib/tools-local.js +2 -10
- package/dist/lib/tools-message.d.ts +7 -7
- package/dist/lib/tools-message.js +95 -396
- package/dist/lib/tools-response.d.ts +1 -4
- package/dist/lib/tools-response.js +5 -39
- package/dist/lib/tools-spawn.js +16 -28
- package/dist/lib/tools.js +1 -2
- package/dist/lib/trace-projection.d.ts +22 -0
- package/dist/lib/trace-projection.js +165 -0
- package/dist/recipes/draft-review.json +0 -10
- package/dist/recipes/lens-swarm.json +0 -14
- package/dist/recipes/music-player.json +10 -19
- package/dist/recipes/pipeline-architect-coordinator.json +0 -11
- package/dist/recipes/pipeline-artifact-bundle.json +1 -22
- package/dist/recipes/pipeline-artifact-report.json +1 -18
- package/dist/recipes/pipeline-artifact-write.json +1 -18
- package/dist/recipes/pipeline-async-run-ops.json +0 -12
- package/dist/recipes/pipeline-checkpoint-continuation.json +0 -14
- package/dist/recipes/pipeline-development-tasking.json +0 -12
- package/dist/recipes/pipeline-docs-maintenance.json +0 -12
- package/dist/recipes/pipeline-media-library.json +0 -12
- package/dist/recipes/pipeline-quorum-review.json +0 -12
- package/dist/recipes/pipeline-release-readiness.json +0 -12
- package/dist/recipes/pipeline-release-summary.json +0 -12
- package/dist/recipes/pipeline-repo-health.json +0 -12
- package/dist/recipes/pipeline-research-synthesis.json +0 -11
- package/dist/recipes/pipeline-review-readiness.json +0 -12
- package/dist/recipes/resource-locker.json +27 -0
- package/dist/recipes/subagent-artifact.json +0 -9
- package/dist/recipes/subagent-checkpoint.json +0 -10
- package/dist/recipes/subagent-conflict-report.json +0 -11
- package/dist/recipes/subagent-contradiction-map.json +0 -11
- package/dist/recipes/subagent-critic.json +0 -11
- package/dist/recipes/subagent-evidence-map.json +0 -11
- package/dist/recipes/subagent-followup.json +0 -10
- package/dist/recipes/subagent-judge.json +0 -11
- package/dist/recipes/subagent-merge.json +0 -11
- package/dist/recipes/subagent-normalize.json +0 -11
- package/dist/recipes/subagent-plan.json +0 -11
- package/dist/recipes/subagent-preflight.json +0 -11
- package/dist/recipes/subagent-prompt.json +0 -10
- package/dist/recipes/subagent-quorum.json +0 -10
- package/dist/recipes/subagent-review-coordinator.json +0 -14
- package/dist/recipes/subagent-review.json +0 -11
- package/dist/recipes/subagent-task-card.json +0 -11
- package/dist/recipes/subagent-tools.json +0 -10
- package/dist/recipes/subagent-verify.json +0 -11
- package/dist/recipes/subagents-prompts.json +0 -10
- package/dist/recipes/tool-review.json +0 -10
- package/dist/scripts/async-runner.mjs +25 -25
- package/dist/scripts/conformance.mjs +4 -2
- package/dist/scripts/locker.mjs +200 -66
- package/dist/scripts/music-player.mjs +159 -150
- package/dist/scripts/recipe-utils.mjs +6 -96
- package/dist/scripts/release-gates.mjs +60 -0
- package/dist/scripts/validate-recipe.mjs +3 -53
- package/dist/skills/actors/SKILL.md +53 -266
- package/dist/skills/swarm/SKILL.md +11 -33
- package/docs/0.43-baseline.md +44 -0
- package/docs/README.md +3 -3
- package/docs/actor-inspector.md +26 -64
- package/docs/actors-deep-reference.md +92 -50
- package/docs/async-runs.md +81 -328
- package/docs/command-templates.md +2 -2
- package/docs/component-recipes.md +30 -133
- package/docs/recipe-library.md +57 -182
- package/docs/task-first-recipes.md +10 -12
- package/docs/template-recipes.md +76 -289
- package/docs/tool-registry.md +41 -161
- package/fixtures/protocol/control-endpoint.json +6 -0
- package/fixtures/protocol/control-record.json +9 -0
- package/fixtures/protocol/recipe-summary.json +4 -12
- package/fixtures/protocol/trace-event.json +9 -0
- package/lib/async-runs.ts +202 -201
- package/lib/control.ts +102 -0
- package/lib/execution-sessions.ts +111 -0
- package/lib/file-state.ts +17 -4
- package/lib/inspector-actions.ts +2 -2
- package/lib/inspector-command.ts +3 -3
- package/lib/inspector-overlay.ts +577 -1121
- package/lib/inspector.ts +46 -979
- package/lib/limits.ts +4 -2
- package/lib/observability.ts +60 -101
- package/lib/prompts.ts +2 -2
- package/lib/recipe-control.ts +45 -0
- package/lib/recipes-discovery.ts +2 -0
- package/lib/recipes-references.ts +9 -45
- package/lib/review-projection.ts +1 -5
- package/lib/run-ui-runtime.ts +2 -2
- package/lib/runs-control-delivery.ts +181 -0
- package/lib/runs-controls.ts +204 -0
- package/lib/runs-retention.ts +38 -3
- package/lib/runs-start.ts +4 -2
- package/lib/runs-status.ts +11 -6
- package/lib/runs-trace.ts +132 -0
- package/lib/runtime-notifier.ts +1 -1
- package/lib/tools-inspect.ts +240 -901
- package/lib/tools-local.ts +2 -12
- package/lib/tools-message.ts +112 -519
- package/lib/tools-response.ts +5 -52
- package/lib/tools-spawn.ts +16 -32
- package/lib/tools.ts +1 -2
- package/lib/trace-projection.ts +221 -0
- package/package.json +2 -1
- package/recipes/draft-review.json +0 -10
- package/recipes/lens-swarm.json +0 -14
- package/recipes/music-player.json +10 -19
- package/recipes/pipeline-architect-coordinator.json +0 -11
- package/recipes/pipeline-artifact-bundle.json +1 -22
- package/recipes/pipeline-artifact-report.json +1 -18
- package/recipes/pipeline-artifact-write.json +1 -18
- package/recipes/pipeline-async-run-ops.json +0 -12
- package/recipes/pipeline-checkpoint-continuation.json +0 -14
- package/recipes/pipeline-development-tasking.json +0 -12
- package/recipes/pipeline-docs-maintenance.json +0 -12
- package/recipes/pipeline-media-library.json +0 -12
- package/recipes/pipeline-quorum-review.json +0 -12
- package/recipes/pipeline-release-readiness.json +0 -12
- package/recipes/pipeline-release-summary.json +0 -12
- package/recipes/pipeline-repo-health.json +0 -12
- package/recipes/pipeline-research-synthesis.json +0 -11
- package/recipes/pipeline-review-readiness.json +0 -12
- package/recipes/resource-locker.json +27 -0
- package/recipes/subagent-artifact.json +0 -9
- package/recipes/subagent-checkpoint.json +0 -10
- package/recipes/subagent-conflict-report.json +0 -11
- package/recipes/subagent-contradiction-map.json +0 -11
- package/recipes/subagent-critic.json +0 -11
- package/recipes/subagent-evidence-map.json +0 -11
- package/recipes/subagent-followup.json +0 -10
- package/recipes/subagent-judge.json +0 -11
- package/recipes/subagent-merge.json +0 -11
- package/recipes/subagent-normalize.json +0 -11
- package/recipes/subagent-plan.json +0 -11
- package/recipes/subagent-preflight.json +0 -11
- package/recipes/subagent-prompt.json +0 -10
- package/recipes/subagent-quorum.json +0 -10
- package/recipes/subagent-review-coordinator.json +0 -14
- package/recipes/subagent-review.json +0 -11
- package/recipes/subagent-task-card.json +0 -11
- package/recipes/subagent-tools.json +0 -10
- package/recipes/subagent-verify.json +0 -11
- package/recipes/subagents-prompts.json +0 -10
- package/recipes/tool-review.json +0 -10
- package/scripts/async-runner.mjs +25 -25
- package/scripts/conformance.mjs +4 -2
- package/scripts/locker.mjs +200 -66
- package/scripts/music-player.mjs +159 -150
- package/scripts/recipe-utils.mjs +6 -96
- package/scripts/release-gates.mjs +60 -0
- package/scripts/validate-recipe.mjs +3 -53
- package/skills/actors/SKILL.md +53 -266
- package/skills/swarm/SKILL.md +11 -33
- package/dist/fixtures/protocol/actor-message-branch.json +0 -13
- package/dist/fixtures/protocol/mailbox-contract.json +0 -15
- package/dist/fixtures/protocol/room-message.json +0 -11
- package/dist/fixtures/protocol/room-roster.json +0 -11
- package/dist/fixtures/protocol/run-inbox-message.json +0 -9
- package/dist/fixtures/protocol/run-outbox-event.json +0 -9
- package/dist/lib/mailbox-loop.d.ts +0 -41
- package/dist/lib/mailbox-loop.js +0 -60
- package/dist/lib/messages.d.ts +0 -25
- package/dist/lib/messages.js +0 -122
- package/dist/lib/rooms.d.ts +0 -104
- package/dist/lib/rooms.js +0 -647
- package/dist/lib/runs-mailbox.d.ts +0 -25
- package/dist/lib/runs-mailbox.js +0 -146
- package/dist/lib/runs-messages.d.ts +0 -15
- package/dist/lib/runs-messages.js +0 -179
- package/dist/lib/runs-outbox.d.ts +0 -41
- package/dist/lib/runs-outbox.js +0 -87
- package/dist/lib/tools-mailbox.d.ts +0 -8
- package/dist/lib/tools-mailbox.js +0 -48
- package/dist/recipes/actor-worker.json +0 -39
- package/dist/recipes/coordinator-locker.json +0 -45
- package/dist/recipes/locker.json +0 -45
- package/dist/recipes/pipeline-room-swarm.json +0 -50
- package/dist/recipes/subagent-message.json +0 -32
- package/dist/recipes/utility-actor-message.json +0 -23
- package/dist/scripts/actor-worker.mjs +0 -214
- package/dist/scripts/coordinator.mjs +0 -799
- package/docs/actor-messages.md +0 -225
- package/fixtures/protocol/actor-message-branch.json +0 -13
- package/fixtures/protocol/mailbox-contract.json +0 -15
- package/fixtures/protocol/room-message.json +0 -11
- package/fixtures/protocol/room-roster.json +0 -11
- package/fixtures/protocol/run-inbox-message.json +0 -9
- package/fixtures/protocol/run-outbox-event.json +0 -9
- package/lib/mailbox-loop.ts +0 -144
- package/lib/messages.ts +0 -151
- package/lib/rooms.ts +0 -939
- package/lib/runs-mailbox.ts +0 -208
- package/lib/runs-messages.ts +0 -252
- package/lib/runs-outbox.ts +0 -144
- package/lib/tools-mailbox.ts +0 -56
- package/recipes/actor-worker.json +0 -39
- package/recipes/coordinator-locker.json +0 -45
- package/recipes/locker.json +0 -45
- package/recipes/pipeline-room-swarm.json +0 -50
- package/recipes/subagent-message.json +0 -32
- package/recipes/utility-actor-message.json +0 -23
- package/scripts/actor-worker.mjs +0 -214
- package/scripts/coordinator.mjs +0 -799
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run-owned execution session evidence.
|
|
3
|
+
* Zones: execution manifest session discovery, canonical containment, rich turn correlation
|
|
4
|
+
* Owns reusable agent-turn loading; Trace and TUI projection stay in their adapters.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import * as fs from "node:fs";
|
|
8
|
+
import * as path from "node:path";
|
|
9
|
+
|
|
10
|
+
import * as SessionEvidence from "./session-evidence.ts";
|
|
11
|
+
import { readJsonFileResilient } from "./state-readers.ts";
|
|
12
|
+
|
|
13
|
+
export interface ExecutionTurnItem extends SessionEvidence.SessionEvidenceTurn {
|
|
14
|
+
commandId: string;
|
|
15
|
+
diagnostics: string[];
|
|
16
|
+
promptBytes?: number;
|
|
17
|
+
promptFile?: string;
|
|
18
|
+
recipeContext?: unknown;
|
|
19
|
+
sessionFile: string;
|
|
20
|
+
sessionTruncated: boolean;
|
|
21
|
+
stage?: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function ownedSessionPath(
|
|
25
|
+
stateDir: string,
|
|
26
|
+
sessionFile: string,
|
|
27
|
+
): string | undefined {
|
|
28
|
+
if (path.isAbsolute(sessionFile)) return undefined;
|
|
29
|
+
const sessionsRoot = path.resolve(stateDir, "sessions");
|
|
30
|
+
const resolved = path.resolve(stateDir, sessionFile);
|
|
31
|
+
if (!resolved.startsWith(`${sessionsRoot}${path.sep}`)) return undefined;
|
|
32
|
+
try {
|
|
33
|
+
const canonicalRoot = fs.realpathSync(sessionsRoot);
|
|
34
|
+
const canonicalFile = fs.realpathSync(resolved);
|
|
35
|
+
return canonicalFile.startsWith(`${canonicalRoot}${path.sep}`)
|
|
36
|
+
? canonicalFile
|
|
37
|
+
: undefined;
|
|
38
|
+
} catch {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function readExecutionTurns(stateDir: string): ExecutionTurnItem[] {
|
|
44
|
+
const execution = readJsonFileResilient<Record<string, unknown>>(
|
|
45
|
+
path.join(stateDir, "execution.json"),
|
|
46
|
+
{},
|
|
47
|
+
).value;
|
|
48
|
+
const commands = Array.isArray(execution.commands)
|
|
49
|
+
? (execution.commands as Array<Record<string, unknown>>)
|
|
50
|
+
: [];
|
|
51
|
+
const recordedFiles = new Set(
|
|
52
|
+
commands.flatMap((command) =>
|
|
53
|
+
(Array.isArray(command.session_files) ? command.session_files : []).filter(
|
|
54
|
+
(file): file is string => typeof file === "string",
|
|
55
|
+
),
|
|
56
|
+
),
|
|
57
|
+
);
|
|
58
|
+
let discoveredCommands: Array<Record<string, unknown>> = [];
|
|
59
|
+
try {
|
|
60
|
+
const sessionsDir = path.join(stateDir, "sessions");
|
|
61
|
+
discoveredCommands = fs
|
|
62
|
+
.readdirSync(sessionsDir, { withFileTypes: true })
|
|
63
|
+
.filter((entry) => entry.isDirectory())
|
|
64
|
+
.flatMap((entry) => {
|
|
65
|
+
const files = fs
|
|
66
|
+
.readdirSync(path.join(sessionsDir, entry.name), {
|
|
67
|
+
withFileTypes: true,
|
|
68
|
+
})
|
|
69
|
+
.filter((file) => file.isFile() && file.name.endsWith(".jsonl"))
|
|
70
|
+
.map((file) => path.posix.join("sessions", entry.name, file.name))
|
|
71
|
+
.filter((file) => !recordedFiles.has(file));
|
|
72
|
+
return files.length > 0
|
|
73
|
+
? [{ id: entry.name, session_files: files, stage: "subagent" }]
|
|
74
|
+
: [];
|
|
75
|
+
});
|
|
76
|
+
} catch {
|
|
77
|
+
discoveredCommands = [];
|
|
78
|
+
}
|
|
79
|
+
return [...commands, ...discoveredCommands]
|
|
80
|
+
.flatMap((command) =>
|
|
81
|
+
(Array.isArray(command.session_files) ? command.session_files : [])
|
|
82
|
+
.filter((file): file is string => typeof file === "string")
|
|
83
|
+
.flatMap((file) => {
|
|
84
|
+
const sessionPath = ownedSessionPath(stateDir, file);
|
|
85
|
+
if (!sessionPath) return [];
|
|
86
|
+
const session = SessionEvidence.readSessionEvidence(sessionPath);
|
|
87
|
+
return session.turns.map((turn) => ({
|
|
88
|
+
...turn,
|
|
89
|
+
commandId: String(command.id ?? "unknown"),
|
|
90
|
+
diagnostics: session.diagnostics.map((item) =>
|
|
91
|
+
`${item.line === undefined ? "" : `line ${item.line}: `}${item.message}`,
|
|
92
|
+
),
|
|
93
|
+
...(typeof command.prompt_bytes === "number"
|
|
94
|
+
? { promptBytes: command.prompt_bytes }
|
|
95
|
+
: {}),
|
|
96
|
+
...(typeof command.prompt_file === "string"
|
|
97
|
+
? { promptFile: command.prompt_file }
|
|
98
|
+
: {}),
|
|
99
|
+
...(command.recipe_context !== undefined
|
|
100
|
+
? { recipeContext: command.recipe_context }
|
|
101
|
+
: {}),
|
|
102
|
+
sessionFile: file,
|
|
103
|
+
sessionTruncated: session.truncated,
|
|
104
|
+
...(typeof command.stage === "string"
|
|
105
|
+
? { stage: command.stage }
|
|
106
|
+
: {}),
|
|
107
|
+
}));
|
|
108
|
+
}),
|
|
109
|
+
)
|
|
110
|
+
.map((turn, index) => ({ ...turn, index: index + 1 }));
|
|
111
|
+
}
|
package/lib/file-state.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { createHash, randomUUID } from "node:crypto";
|
|
8
8
|
import {
|
|
9
9
|
existsSync,
|
|
10
|
+
lstatSync,
|
|
10
11
|
mkdirSync,
|
|
11
12
|
readFileSync,
|
|
12
13
|
realpathSync,
|
|
@@ -25,8 +26,16 @@ const FILE_MUTATION_LOCK_ROOT = join(tmpdir(), "pi-actors-file-locks");
|
|
|
25
26
|
|
|
26
27
|
function canonicalMutationPath(path: string): string {
|
|
27
28
|
const absolute = resolve(path);
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
try {
|
|
30
|
+
if (lstatSync(absolute).isSymbolicLink()) {
|
|
31
|
+
const target = realpathSync.native(absolute);
|
|
32
|
+
return process.platform === "win32" ? target.toLowerCase() : target;
|
|
33
|
+
}
|
|
34
|
+
} catch {
|
|
35
|
+
/* Materialization may race lock-key derivation; canonicalize through the parent. */
|
|
36
|
+
}
|
|
37
|
+
const suffix: string[] = [basename(absolute)];
|
|
38
|
+
let existing = dirname(absolute);
|
|
30
39
|
while (!existsSync(existing)) {
|
|
31
40
|
const parent = dirname(existing);
|
|
32
41
|
if (parent === existing || existing === parse(existing).root) break;
|
|
@@ -235,11 +244,11 @@ export function withFileMutationLock<T>(
|
|
|
235
244
|
}
|
|
236
245
|
}
|
|
237
246
|
|
|
238
|
-
export function
|
|
247
|
+
export function writeTextAtomic(path: string, content: string): void {
|
|
239
248
|
mkdirSync(dirname(path), { recursive: true });
|
|
240
249
|
const tempPath = `${path}.${process.pid}.${Date.now()}.${randomUUID()}.tmp`;
|
|
241
250
|
try {
|
|
242
|
-
writeFileSync(tempPath,
|
|
251
|
+
writeFileSync(tempPath, content, "utf8");
|
|
243
252
|
renameSync(tempPath, path);
|
|
244
253
|
} catch (error) {
|
|
245
254
|
try {
|
|
@@ -250,3 +259,7 @@ export function writeJsonAtomic(path: string, value: unknown): void {
|
|
|
250
259
|
throw error;
|
|
251
260
|
}
|
|
252
261
|
}
|
|
262
|
+
|
|
263
|
+
export function writeJsonAtomic(path: string, value: unknown): void {
|
|
264
|
+
writeTextAtomic(path, `${JSON.stringify(value, null, 2)}\n`);
|
|
265
|
+
}
|
package/lib/inspector-actions.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Actor Inspector
|
|
2
|
+
* Actor Inspector actions for concrete Run instances.
|
|
3
3
|
* Owns: exact-session run-action authorization, canonical kill routing, and bounded operator feedback.
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -29,7 +29,7 @@ function bounded(value: unknown): string {
|
|
|
29
29
|
: `${text.slice(0, FEEDBACK_LIMIT - 1)}…`;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
export function
|
|
32
|
+
export function killOwnedRunFromInspector(
|
|
33
33
|
ownerId: string,
|
|
34
34
|
run: string,
|
|
35
35
|
stateRoot: string,
|
package/lib/inspector-command.ts
CHANGED
|
@@ -14,8 +14,8 @@ export function registerActorInspectorCommand(
|
|
|
14
14
|
pi: Pi.ExtensionAPI,
|
|
15
15
|
getRunOwnerId: (ctx: Pi.ExtensionContext) => string,
|
|
16
16
|
): void {
|
|
17
|
-
pi.registerCommand("
|
|
18
|
-
description: "Open the keyboard-driven
|
|
17
|
+
pi.registerCommand("actor-inspector", {
|
|
18
|
+
description: "Open the keyboard-driven Actor Inspector",
|
|
19
19
|
handler: async (_args, ctx) => {
|
|
20
20
|
ctx.ui.setWidget("zz-pi-actors-comms", undefined);
|
|
21
21
|
await ctx.ui.custom<void>(
|
|
@@ -23,7 +23,7 @@ export function registerActorInspectorCommand(
|
|
|
23
23
|
new InspectorOverlay.ActorInspectorOverlay({
|
|
24
24
|
done,
|
|
25
25
|
killRun: (run, runInstanceId) =>
|
|
26
|
-
InspectorActions.
|
|
26
|
+
InspectorActions.killOwnedRunFromInspector(
|
|
27
27
|
getRunOwnerId(ctx),
|
|
28
28
|
run,
|
|
29
29
|
Paths.EXTENSION_RUNTIME_PATHS.runStateRoot,
|