@oh-my-pi/pi-coding-agent 17.0.9 → 17.1.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/CHANGELOG.md +54 -0
- package/README.md +1 -1
- package/dist/cli.js +4659 -4261
- package/dist/types/async/job-manager.d.ts +37 -1
- package/dist/types/cli/args.d.ts +2 -0
- package/dist/types/cli/bench-cli.d.ts +41 -0
- package/dist/types/commands/bench.d.ts +15 -3
- package/dist/types/commands/launch.d.ts +4 -0
- package/dist/types/config/model-registry.d.ts +3 -1
- package/dist/types/config/models-config-schema.d.ts +18 -6
- package/dist/types/config/models-config.d.ts +14 -5
- package/dist/types/config/provider-globals.d.ts +2 -2
- package/dist/types/config/service-tier.d.ts +5 -1
- package/dist/types/config/settings-schema.d.ts +316 -47
- package/dist/types/config/settings.d.ts +7 -0
- package/dist/types/dap/client.d.ts +20 -0
- package/dist/types/exec/bash-executor.d.ts +38 -0
- package/dist/types/exec/direnv.d.ts +33 -0
- package/dist/types/export/html/args.d.ts +15 -0
- package/dist/types/export/html/index.d.ts +11 -26
- package/dist/types/export/html/web-palette.d.ts +55 -116
- package/dist/types/extensibility/extensions/loader.d.ts +3 -0
- package/dist/types/extensibility/extensions/types.d.ts +17 -2
- package/dist/types/extensibility/plugins/legacy-pi-compat.d.ts +13 -0
- package/dist/types/live/controller.d.ts +40 -0
- package/dist/types/live/protocol.d.ts +85 -0
- package/dist/types/live/protocol.test.d.ts +1 -0
- package/dist/types/live/transport.d.ts +48 -0
- package/dist/types/live/visualizer.d.ts +33 -0
- package/dist/types/lsp/client.d.ts +16 -1
- package/dist/types/mcp/config-writer.test.d.ts +1 -0
- package/dist/types/mcp/oauth-discovery.d.ts +2 -0
- package/dist/types/mcp/smithery-auth.d.ts +1 -1
- package/dist/types/mcp/smithery-auth.test.d.ts +1 -0
- package/dist/types/memory-backend/tool-names.d.ts +2 -0
- package/dist/types/modes/components/login-dialog.d.ts +2 -2
- package/dist/types/modes/components/plan-review-overlay.d.ts +26 -0
- package/dist/types/modes/components/settings-defs.d.ts +7 -1
- package/dist/types/modes/components/status-line/component.jj-cache.test.d.ts +1 -0
- package/dist/types/modes/components/tool-execution.d.ts +9 -1
- package/dist/types/modes/controllers/command-controller.d.ts +1 -1
- package/dist/types/modes/controllers/event-controller.d.ts +6 -1
- package/dist/types/modes/controllers/live-command-controller.d.ts +14 -0
- package/dist/types/modes/interactive-mode.d.ts +5 -0
- package/dist/types/modes/theme/theme.d.ts +1 -1
- package/dist/types/modes/types.d.ts +3 -1
- package/dist/types/modes/utils/context-usage.d.ts +12 -2
- package/dist/types/plan-mode/plan-files.d.ts +10 -0
- package/dist/types/registry/agent-lifecycle.d.ts +21 -9
- package/dist/types/registry/agent-registry.d.ts +11 -4
- package/dist/types/sdk.d.ts +15 -1
- package/dist/types/secrets/index.d.ts +15 -2
- package/dist/types/secrets/obfuscator.d.ts +113 -15
- package/dist/types/session/acp-permission-gate.d.ts +19 -0
- package/dist/types/session/agent-session-events.d.ts +84 -0
- package/dist/types/session/agent-session-types.d.ts +314 -0
- package/dist/types/session/agent-session.d.ts +118 -755
- package/dist/types/session/async-job-delivery.d.ts +28 -0
- package/dist/types/session/bash-runner.d.ts +75 -0
- package/dist/types/session/blob-store.d.ts +11 -1
- package/dist/types/session/blob-store.test.d.ts +1 -0
- package/dist/types/session/checkpoint-entries.d.ts +28 -0
- package/dist/types/session/eval-runner.d.ts +49 -0
- package/dist/types/session/irc-bridge.d.ts +46 -0
- package/dist/types/session/messages.d.ts +22 -0
- package/dist/types/session/model-controls.d.ts +180 -0
- package/dist/types/session/prewalk.d.ts +46 -0
- package/dist/types/session/queued-messages.d.ts +22 -0
- package/dist/types/session/redis-session-storage.d.ts +1 -0
- package/dist/types/session/retry-fallback-chains.d.ts +74 -0
- package/dist/types/session/role-models.d.ts +15 -0
- package/dist/types/session/session-advisors.d.ts +228 -0
- package/dist/types/session/session-entries.d.ts +8 -0
- package/dist/types/session/session-handoff.d.ts +70 -0
- package/dist/types/session/session-history-format.d.ts +6 -1
- package/dist/types/session/session-maintenance.d.ts +246 -0
- package/dist/types/session/session-manager.d.ts +41 -0
- package/dist/types/session/session-memory.d.ts +56 -0
- package/dist/types/session/session-provider-boundary.d.ts +62 -0
- package/dist/types/session/session-stats.d.ts +48 -0
- package/dist/types/session/session-tools.d.ts +143 -0
- package/dist/types/session/session-workspace.d.ts +32 -0
- package/dist/types/session/stream-guards.d.ts +44 -0
- package/dist/types/session/todo-tracker.d.ts +56 -0
- package/dist/types/session/ttsr-coordinator.d.ts +51 -0
- package/dist/types/session/turn-recovery.d.ts +225 -0
- package/dist/types/system-prompt.d.ts +2 -0
- package/dist/types/task/executor.d.ts +4 -1
- package/dist/types/task/output-manager.d.ts +3 -1
- package/dist/types/tools/approval.d.ts +1 -0
- package/dist/types/tools/browser/launch.d.ts +5 -0
- package/dist/types/tools/image-gen.d.ts +4 -4
- package/dist/types/tools/image-providers.d.ts +38 -0
- package/dist/types/tools/index.d.ts +5 -0
- package/dist/types/tools/path-utils.d.ts +8 -0
- package/dist/types/tools/todo.d.ts +10 -4
- package/dist/types/tools/xdev.d.ts +5 -1
- package/dist/types/tts/streaming-player.d.ts +14 -0
- package/dist/types/tts/vocalizer.d.ts +5 -0
- package/dist/types/utils/jj.d.ts +29 -0
- package/dist/types/utils/lang-from-path.d.ts +1 -0
- package/dist/types/utils/title-generator.d.ts +30 -0
- package/dist/types/vibe/runtime.d.ts +36 -8
- package/dist/types/web/search/index.d.ts +1 -1
- package/dist/types/web/search/provider.d.ts +15 -5
- package/dist/types/web/search/types.d.ts +94 -0
- package/package.json +12 -12
- package/scripts/generate-share-viewer.ts +4 -6
- package/src/advisor/__tests__/advisor.test.ts +643 -0
- package/src/advisor/runtime.ts +144 -43
- package/src/async/job-manager.ts +90 -2
- package/src/cli/args.ts +2 -0
- package/src/cli/auth-gateway-cli.ts +18 -3
- package/src/cli/bench-cli.ts +395 -29
- package/src/cli/flag-tables.ts +3 -0
- package/src/cli/gc-cli.ts +2 -2
- package/src/cli/usage-cli.ts +10 -1
- package/src/collab/host.ts +3 -2
- package/src/commands/bench.ts +18 -4
- package/src/commands/launch.ts +4 -0
- package/src/config/model-registry.ts +10 -2
- package/src/config/models-config-schema.ts +15 -4
- package/src/config/provider-globals.ts +9 -9
- package/src/config/service-tier.ts +26 -1
- package/src/config/settings-schema.ts +209 -51
- package/src/config/settings.ts +81 -2
- package/src/dap/client.ts +37 -4
- package/src/edit/index.ts +49 -12
- package/src/eval/py/executor.ts +103 -33
- package/src/exec/bash-executor.ts +89 -6
- package/src/exec/direnv.ts +145 -0
- package/src/export/html/args.ts +20 -0
- package/src/export/html/index.ts +45 -47
- package/src/export/html/template.css +19 -1
- package/src/export/html/template.html +6 -0
- package/src/export/html/template.js +21 -0
- package/src/export/html/tool-views.generated.js +31 -31
- package/src/export/html/web-palette.ts +116 -132
- package/src/export/share.ts +249 -49
- package/src/extensibility/extensions/loader.ts +29 -1
- package/src/extensibility/extensions/runner.ts +6 -0
- package/src/extensibility/extensions/types.ts +33 -2
- package/src/extensibility/plugins/legacy-pi-compat.ts +19 -1
- package/src/hindsight/state.ts +64 -6
- package/src/internal-urls/local-protocol.ts +2 -1
- package/src/internal-urls/memory-protocol.ts +2 -2
- package/src/internal-urls/skill-protocol.ts +2 -2
- package/src/internal-urls/ssh-protocol.ts +2 -1
- package/src/internal-urls/vault-protocol.ts +2 -1
- package/src/live/audio-worklet.txt +59 -0
- package/src/live/browser-runtime.txt +221 -0
- package/src/live/controller.ts +464 -0
- package/src/live/prompts/agent-final-message.md +3 -0
- package/src/live/prompts/live-instructions.md +23 -0
- package/src/live/protocol.test.ts +140 -0
- package/src/live/protocol.ts +233 -0
- package/src/live/transport.ts +490 -0
- package/src/live/visualizer.ts +234 -0
- package/src/lsp/client.ts +29 -9
- package/src/lsp/index.ts +19 -4
- package/src/main.ts +8 -1
- package/src/mcp/config-writer.test.ts +43 -0
- package/src/mcp/config-writer.ts +109 -82
- package/src/mcp/oauth-discovery.ts +10 -2
- package/src/mcp/smithery-auth.test.ts +29 -0
- package/src/mcp/smithery-auth.ts +3 -2
- package/src/memories/index.ts +40 -20
- package/src/memory-backend/tool-names.ts +2 -0
- package/src/mnemopi/backend.ts +24 -7
- package/src/modes/acp/acp-agent.ts +56 -10
- package/src/modes/acp/acp-event-mapper.ts +8 -1
- package/src/modes/components/agent-hub.ts +1 -1
- package/src/modes/components/login-dialog.ts +14 -4
- package/src/modes/components/plan-review-overlay.ts +350 -35
- package/src/modes/components/settings-defs.ts +23 -1
- package/src/modes/components/settings-selector.ts +169 -1
- package/src/modes/components/status-line/component.jj-cache.test.ts +229 -0
- package/src/modes/components/status-line/component.ts +123 -2
- package/src/modes/components/tool-execution.ts +11 -2
- package/src/modes/controllers/command-controller.ts +56 -15
- package/src/modes/controllers/event-controller.ts +111 -16
- package/src/modes/controllers/extension-ui-controller.test.ts +1 -0
- package/src/modes/controllers/extension-ui-controller.ts +20 -4
- package/src/modes/controllers/live-command-controller.ts +178 -0
- package/src/modes/controllers/mcp-command-controller.ts +10 -1
- package/src/modes/controllers/omfg-controller.ts +44 -40
- package/src/modes/controllers/selector-controller.ts +18 -10
- package/src/modes/controllers/session-focus-controller.ts +6 -1
- package/src/modes/interactive-mode.ts +157 -38
- package/src/modes/runtime-init.ts +2 -0
- package/src/modes/setup-wizard/scenes/web-search.ts +17 -9
- package/src/modes/theme/theme.ts +1 -1
- package/src/modes/types.ts +3 -1
- package/src/modes/utils/context-usage.ts +23 -7
- package/src/modes/utils/ui-helpers.ts +10 -5
- package/src/plan-mode/plan-files.ts +40 -0
- package/src/prompts/bench/cache-prefix-chunk.md +1 -0
- package/src/prompts/bench/cache-prefix.md +3 -0
- package/src/prompts/bench/cache-suffix.md +1 -0
- package/src/prompts/system/custom-system-prompt.md +1 -1
- package/src/prompts/system/project-prompt.md +8 -1
- package/src/prompts/system/subagent-async-pending.md +6 -0
- package/src/prompts/system/system-prompt.md +1 -1
- package/src/prompts/system/workflow-notice.md +48 -40
- package/src/prompts/system/xdev-mount-notice.md +4 -0
- package/src/prompts/tools/todo.md +3 -1
- package/src/registry/agent-lifecycle.ts +116 -46
- package/src/registry/agent-registry.ts +35 -8
- package/src/registry/persisted-agents.ts +26 -2
- package/src/sdk.ts +210 -136
- package/src/secrets/index.ts +127 -4
- package/src/secrets/obfuscator.ts +2328 -105
- package/src/session/acp-permission-gate.ts +165 -0
- package/src/session/agent-session-error-log.test.ts +1 -1
- package/src/session/agent-session-events.ts +66 -0
- package/src/session/agent-session-types.ts +334 -0
- package/src/session/agent-session.ts +1892 -12226
- package/src/session/artifacts.ts +6 -5
- package/src/session/async-job-delivery.ts +74 -0
- package/src/session/bash-runner.ts +326 -0
- package/src/session/blob-store.test.ts +56 -0
- package/src/session/blob-store.ts +18 -2
- package/src/session/checkpoint-entries.ts +81 -0
- package/src/session/eval-runner.ts +212 -0
- package/src/session/indexed-session-storage.ts +9 -2
- package/src/session/irc-bridge.ts +203 -0
- package/src/session/messages.ts +263 -1
- package/src/session/model-controls.ts +714 -0
- package/src/session/prewalk.ts +252 -0
- package/src/session/queued-messages.ts +93 -0
- package/src/session/redis-session-storage.ts +51 -11
- package/src/session/retry-fallback-chains.ts +455 -0
- package/src/session/role-models.ts +85 -0
- package/src/session/session-advisors.ts +1679 -0
- package/src/session/session-context.ts +6 -3
- package/src/session/session-entries.ts +8 -0
- package/src/session/session-handoff.ts +308 -0
- package/src/session/session-history-format.ts +20 -9
- package/src/session/session-loader.ts +0 -46
- package/src/session/session-maintenance.ts +2983 -0
- package/src/session/session-manager.ts +390 -30
- package/src/session/session-memory.ts +222 -0
- package/src/session/session-provider-boundary.ts +307 -0
- package/src/session/session-stats.ts +293 -0
- package/src/session/session-tools.ts +943 -0
- package/src/session/session-workspace.ts +53 -0
- package/src/session/stream-guards.ts +417 -0
- package/src/session/todo-tracker.ts +380 -0
- package/src/session/ttsr-coordinator.ts +496 -0
- package/src/session/turn-recovery.ts +1629 -0
- package/src/slash-commands/builtin-registry.ts +92 -11
- package/src/slash-commands/helpers/usage-report.ts +22 -3
- package/src/system-prompt.ts +41 -17
- package/src/task/executor.ts +285 -70
- package/src/task/index.ts +98 -105
- package/src/task/output-manager.ts +25 -3
- package/src/task/persisted-revive.ts +4 -3
- package/src/task/structured-subagent.ts +1 -0
- package/src/tools/approval.ts +55 -10
- package/src/tools/bash-interactive.ts +26 -0
- package/src/tools/bash-skill-urls.ts +28 -2
- package/src/tools/bash.ts +339 -123
- package/src/tools/browser/launch.ts +9 -1
- package/src/tools/browser/tab-supervisor.ts +8 -5
- package/src/tools/browser.ts +94 -47
- package/src/tools/image-gen.ts +20 -28
- package/src/tools/image-providers.ts +50 -0
- package/src/tools/index.ts +9 -0
- package/src/tools/path-utils.ts +49 -2
- package/src/tools/read.ts +156 -88
- package/src/tools/renderers.ts +7 -1
- package/src/tools/todo.ts +101 -11
- package/src/tools/vibe.ts +1 -2
- package/src/tools/write.ts +51 -1
- package/src/tools/xdev.ts +67 -3
- package/src/tts/streaming-player.ts +62 -4
- package/src/tts/vocalizer.ts +18 -1
- package/src/utils/jj.ts +125 -4
- package/src/utils/lang-from-path.ts +7 -0
- package/src/utils/title-generator.ts +137 -1
- package/src/vibe/runtime.ts +852 -72
- package/src/web/search/index.ts +3 -6
- package/src/web/search/provider.ts +31 -16
- package/src/web/search/providers/xai.ts +7 -1
- package/src/web/search/types.ts +3 -0
|
@@ -45,6 +45,8 @@ export interface AgentRef {
|
|
|
45
45
|
activity?: string;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
export type AgentRefExpectation = AgentRef | AgentSession;
|
|
49
|
+
|
|
48
50
|
export type RegistryEvent =
|
|
49
51
|
| { type: "registered"; ref: AgentRef }
|
|
50
52
|
| { type: "status_changed"; ref: AgentRef }
|
|
@@ -80,6 +82,10 @@ export class AgentRegistry {
|
|
|
80
82
|
readonly #refs = new Map<string, AgentRef>();
|
|
81
83
|
readonly #listeners = new Set<RegistryListener>();
|
|
82
84
|
|
|
85
|
+
#matchesExpected(ref: AgentRef, expected?: AgentRefExpectation): boolean {
|
|
86
|
+
return expected === undefined || ref === expected || ref.session === expected;
|
|
87
|
+
}
|
|
88
|
+
|
|
83
89
|
register(input: RegisterInput): AgentRef {
|
|
84
90
|
const now = Date.now();
|
|
85
91
|
const ref: AgentRef = {
|
|
@@ -98,15 +104,28 @@ export class AgentRegistry {
|
|
|
98
104
|
return ref;
|
|
99
105
|
}
|
|
100
106
|
|
|
101
|
-
|
|
107
|
+
/**
|
|
108
|
+
* Register a new id only when it is absent, or reuse the exact ref a parked
|
|
109
|
+
* revival was authorized to revive. A missing expected ref is a failed CAS:
|
|
110
|
+
* callers must never claim an id after its prior generation disappeared.
|
|
111
|
+
*/
|
|
112
|
+
registerIfAvailable(input: RegisterInput, expected: AgentRef | null): AgentRef | undefined {
|
|
113
|
+
const current = this.#refs.get(input.id);
|
|
114
|
+
if (expected === null) return current ? undefined : this.register(input);
|
|
115
|
+
return current === expected ? current : undefined;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
setStatus(id: string, status: AgentStatus, expected?: AgentRefExpectation): boolean {
|
|
102
119
|
const ref = this.#refs.get(id);
|
|
103
|
-
if (!ref || ref
|
|
120
|
+
if (!ref || !this.#matchesExpected(ref, expected)) return false;
|
|
121
|
+
if (ref.status === status) return true;
|
|
104
122
|
ref.status = status;
|
|
105
123
|
// Activity describes current work; it is meaningless once the agent
|
|
106
124
|
// leaves `running`, so drop it to avoid showing stale work in rosters.
|
|
107
125
|
if (status !== "running") ref.activity = undefined;
|
|
108
126
|
ref.lastActivity = Date.now();
|
|
109
127
|
this.#emit({ type: "status_changed", ref });
|
|
128
|
+
return true;
|
|
110
129
|
}
|
|
111
130
|
|
|
112
131
|
/**
|
|
@@ -133,25 +152,33 @@ export class AgentRegistry {
|
|
|
133
152
|
ref.activity = gist;
|
|
134
153
|
}
|
|
135
154
|
|
|
136
|
-
attachSession(
|
|
155
|
+
attachSession(
|
|
156
|
+
id: string,
|
|
157
|
+
session: AgentSession,
|
|
158
|
+
sessionFile?: string | null,
|
|
159
|
+
expected?: AgentRefExpectation,
|
|
160
|
+
): boolean {
|
|
137
161
|
const ref = this.#refs.get(id);
|
|
138
|
-
if (!ref) return;
|
|
162
|
+
if (!ref || !this.#matchesExpected(ref, expected)) return false;
|
|
139
163
|
ref.session = session;
|
|
140
164
|
if (sessionFile !== undefined) ref.sessionFile = sessionFile;
|
|
141
165
|
ref.lastActivity = Date.now();
|
|
166
|
+
return true;
|
|
142
167
|
}
|
|
143
168
|
|
|
144
|
-
detachSession(id: string):
|
|
169
|
+
detachSession(id: string, expected?: AgentRefExpectation): boolean {
|
|
145
170
|
const ref = this.#refs.get(id);
|
|
146
|
-
if (!ref) return;
|
|
171
|
+
if (!ref || !this.#matchesExpected(ref, expected)) return false;
|
|
147
172
|
ref.session = null;
|
|
173
|
+
return true;
|
|
148
174
|
}
|
|
149
175
|
|
|
150
|
-
unregister(id: string):
|
|
176
|
+
unregister(id: string, expected?: AgentRefExpectation): boolean {
|
|
151
177
|
const ref = this.#refs.get(id);
|
|
152
|
-
if (!ref) return;
|
|
178
|
+
if (!ref || !this.#matchesExpected(ref, expected)) return false;
|
|
153
179
|
this.#refs.delete(id);
|
|
154
180
|
this.#emit({ type: "removed", ref });
|
|
181
|
+
return true;
|
|
155
182
|
}
|
|
156
183
|
|
|
157
184
|
get(id: string): AgentRef | undefined {
|
|
@@ -1,22 +1,45 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import { ADVISOR_TRANSCRIPT_FILENAME, isAdvisorTranscriptName } from "../advisor/transcript-recorder";
|
|
4
|
+
import { SessionManager } from "../session/session-manager";
|
|
5
|
+
import { persistedVibeChildIds } from "../vibe/runtime";
|
|
4
6
|
import { type AgentRegistry, MAIN_AGENT_ID } from "./agent-registry";
|
|
5
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Child ids owned by the Vibe roster persisted in this session file. Vibe
|
|
10
|
+
* workers are revived through the Vibe registry's own journal, so the generic
|
|
11
|
+
* persisted-subagent scan must not register them as plain `sub` refs.
|
|
12
|
+
*/
|
|
13
|
+
async function readPersistedVibeChildIds(sessionFile: string): Promise<Set<string>> {
|
|
14
|
+
let sessionManager: SessionManager;
|
|
15
|
+
try {
|
|
16
|
+
sessionManager = await SessionManager.open(sessionFile, undefined, undefined, { suppressBreadcrumb: true });
|
|
17
|
+
} catch {
|
|
18
|
+
return new Set();
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
return persistedVibeChildIds(sessionManager.getEntries());
|
|
22
|
+
} finally {
|
|
23
|
+
await sessionManager.close();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
6
27
|
/** Register persisted subagent and advisor transcripts as parked registry refs. */
|
|
7
28
|
export async function registerPersistedSubagents(
|
|
8
29
|
registry: AgentRegistry,
|
|
9
30
|
sessionFile: string | null | undefined,
|
|
10
31
|
): Promise<void> {
|
|
11
32
|
if (!sessionFile?.endsWith(".jsonl")) return;
|
|
33
|
+
const vibeOwnedIds = await readPersistedVibeChildIds(sessionFile);
|
|
12
34
|
const root = sessionFile.slice(0, -6);
|
|
13
|
-
await registerPersistedSubagentsFromDir(registry, root, undefined);
|
|
35
|
+
await registerPersistedSubagentsFromDir(registry, root, undefined, vibeOwnedIds);
|
|
14
36
|
}
|
|
15
37
|
|
|
16
38
|
async function registerPersistedSubagentsFromDir(
|
|
17
39
|
registry: AgentRegistry,
|
|
18
40
|
dir: string,
|
|
19
41
|
parentId: string | undefined,
|
|
42
|
+
vibeOwnedIds: ReadonlySet<string>,
|
|
20
43
|
): Promise<void> {
|
|
21
44
|
let entries: fs.Dirent[];
|
|
22
45
|
try {
|
|
@@ -58,6 +81,7 @@ async function registerPersistedSubagentsFromDir(
|
|
|
58
81
|
continue;
|
|
59
82
|
}
|
|
60
83
|
const id = entry.name.slice(0, -6);
|
|
84
|
+
if (vibeOwnedIds.has(id) && registry.get(id)?.sessionFile !== sessionFile) continue;
|
|
61
85
|
if (!registry.get(id)) {
|
|
62
86
|
registry.register({
|
|
63
87
|
id,
|
|
@@ -69,6 +93,6 @@ async function registerPersistedSubagentsFromDir(
|
|
|
69
93
|
status: "parked",
|
|
70
94
|
});
|
|
71
95
|
}
|
|
72
|
-
await registerPersistedSubagentsFromDir(registry, path.join(dir, id), id);
|
|
96
|
+
await registerPersistedSubagentsFromDir(registry, path.join(dir, id), id, vibeOwnedIds);
|
|
73
97
|
}
|
|
74
98
|
}
|