@esso0428/pi-subagents 0.15.5 → 0.15.7
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 +10 -19
- package/README.md +5 -5
- package/dist/agent-history-list.d.ts +19 -0
- package/dist/agent-history-list.d.ts.map +1 -0
- package/dist/agent-history-list.js +69 -0
- package/dist/agent-history-list.js.map +1 -0
- package/dist/agent-history.d.ts +2 -1
- package/dist/agent-history.d.ts.map +1 -0
- package/dist/agent-history.js +32 -34
- package/dist/agent-history.js.map +1 -0
- package/dist/agent-manager.d.ts +24 -8
- package/dist/agent-manager.d.ts.map +1 -0
- package/dist/agent-manager.js +171 -93
- package/dist/agent-manager.js.map +1 -0
- package/dist/agent-runner.d.ts +1 -0
- package/dist/agent-runner.d.ts.map +1 -0
- package/dist/agent-runner.js +75 -86
- package/dist/agent-runner.js.map +1 -0
- package/dist/agent-types.d.ts +1 -0
- package/dist/agent-types.d.ts.map +1 -0
- package/dist/agent-types.js +28 -45
- package/dist/agent-types.js.map +1 -0
- package/dist/context.d.ts +1 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +3 -6
- package/dist/context.js.map +1 -0
- package/dist/cross-extension-rpc.d.ts +1 -0
- package/dist/cross-extension-rpc.d.ts.map +1 -0
- package/dist/cross-extension-rpc.js +6 -9
- package/dist/cross-extension-rpc.js.map +1 -0
- package/dist/custom-agents.d.ts +1 -0
- package/dist/custom-agents.d.ts.map +1 -0
- package/dist/custom-agents.js +16 -18
- package/dist/custom-agents.js.map +1 -0
- package/dist/default-agents.d.ts +1 -0
- package/dist/default-agents.d.ts.map +1 -0
- package/dist/default-agents.js +2 -4
- package/dist/default-agents.js.map +1 -0
- package/dist/enabled-models.d.ts +1 -0
- package/dist/enabled-models.d.ts.map +1 -0
- package/dist/enabled-models.js +12 -16
- package/dist/enabled-models.js.map +1 -0
- package/dist/env.d.ts +1 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +2 -4
- package/dist/env.js.map +1 -0
- package/dist/group-join.d.ts +1 -0
- package/dist/group-join.d.ts.map +1 -0
- package/dist/group-join.js +2 -5
- package/dist/group-join.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +306 -292
- package/dist/index.js.map +1 -0
- package/dist/invocation-config.d.ts +1 -0
- package/dist/invocation-config.d.ts.map +1 -0
- package/dist/invocation-config.js +3 -6
- package/dist/invocation-config.js.map +1 -0
- package/dist/memory.d.ts +1 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +25 -34
- package/dist/memory.js.map +1 -0
- package/dist/model-resolver.d.ts +1 -0
- package/dist/model-resolver.d.ts.map +1 -0
- package/dist/model-resolver.js +2 -4
- package/dist/model-resolver.js.map +1 -0
- package/dist/nico-overrides.d.ts +1 -0
- package/dist/nico-overrides.d.ts.map +1 -0
- package/dist/nico-overrides.js +15 -20
- package/dist/nico-overrides.js.map +1 -0
- package/dist/output-file.d.ts +1 -0
- package/dist/output-file.d.ts.map +1 -0
- package/dist/output-file.js +17 -22
- package/dist/output-file.js.map +1 -0
- package/dist/prompts.d.ts +1 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +2 -4
- package/dist/prompts.js.map +1 -0
- package/dist/schedule-store.d.ts +1 -0
- package/dist/schedule-store.d.ts.map +1 -0
- package/dist/schedule-store.js +17 -21
- package/dist/schedule-store.js.map +1 -0
- package/dist/schedule.d.ts +1 -0
- package/dist/schedule.d.ts.map +1 -0
- package/dist/schedule.js +9 -12
- package/dist/schedule.js.map +1 -0
- package/dist/settings.d.ts +1 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +16 -23
- package/dist/settings.js.map +1 -0
- package/dist/skill-loader.d.ts +1 -0
- package/dist/skill-loader.d.ts.map +1 -0
- package/dist/skill-loader.js +21 -23
- package/dist/skill-loader.js.map +1 -0
- package/dist/status-note.d.ts +1 -0
- package/dist/status-note.d.ts.map +1 -0
- package/dist/status-note.js +2 -4
- package/dist/status-note.js.map +1 -0
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -4
- package/dist/types.js.map +1 -0
- package/dist/ui/agent-widget.d.ts +2 -5
- package/dist/ui/agent-widget.d.ts.map +1 -0
- package/dist/ui/agent-widget.js +29 -51
- package/dist/ui/agent-widget.js.map +1 -0
- package/dist/ui/ccstyle/diff/ansi-utils.d.ts +11 -0
- package/dist/ui/ccstyle/diff/ansi-utils.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/ansi-utils.js +145 -0
- package/dist/ui/ccstyle/diff/ansi-utils.js.map +1 -0
- package/dist/ui/ccstyle/diff/diff-presentation.d.ts +12 -0
- package/dist/ui/ccstyle/diff/diff-presentation.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/diff-presentation.js +49 -0
- package/dist/ui/ccstyle/diff/diff-presentation.js.map +1 -0
- package/dist/ui/ccstyle/diff/diff-renderer.d.ts +46 -0
- package/dist/ui/ccstyle/diff/diff-renderer.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/diff-renderer.js +2044 -0
- package/dist/ui/ccstyle/diff/diff-renderer.js.map +1 -0
- package/dist/ui/ccstyle/diff/line-width-safety.d.ts +12 -0
- package/dist/ui/ccstyle/diff/line-width-safety.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/line-width-safety.js +59 -0
- package/dist/ui/ccstyle/diff/line-width-safety.js.map +1 -0
- package/dist/ui/ccstyle/diff/render-utils.d.ts +6 -0
- package/dist/ui/ccstyle/diff/render-utils.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/render-utils.js +25 -0
- package/dist/ui/ccstyle/diff/render-utils.js.map +1 -0
- package/dist/ui/ccstyle/diff/types.d.ts +22 -0
- package/dist/ui/ccstyle/diff/types.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/types.js +10 -0
- package/dist/ui/ccstyle/diff/types.js.map +1 -0
- package/dist/ui/ccstyle/diff/write-display-utils.d.ts +2 -0
- package/dist/ui/ccstyle/diff/write-display-utils.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/write-display-utils.js +12 -0
- package/dist/ui/ccstyle/diff/write-display-utils.js.map +1 -0
- package/dist/ui/ccstyle/tool-renderer.d.ts +17 -0
- package/dist/ui/ccstyle/tool-renderer.d.ts.map +1 -0
- package/dist/ui/ccstyle/tool-renderer.js +58 -0
- package/dist/ui/ccstyle/tool-renderer.js.map +1 -0
- package/dist/ui/ccstyle/tool-result.d.ts +24 -0
- package/dist/ui/ccstyle/tool-result.d.ts.map +1 -0
- package/dist/ui/ccstyle/tool-result.js +193 -0
- package/dist/ui/ccstyle/tool-result.js.map +1 -0
- package/dist/ui/conversation-blocks.d.ts +46 -0
- package/dist/ui/conversation-blocks.d.ts.map +1 -0
- package/dist/ui/conversation-blocks.js +306 -0
- package/dist/ui/conversation-blocks.js.map +1 -0
- package/dist/ui/conversation-nvim.d.ts +8 -0
- package/dist/ui/conversation-nvim.d.ts.map +1 -0
- package/dist/ui/conversation-nvim.js +117 -0
- package/dist/ui/conversation-nvim.js.map +1 -0
- package/dist/ui/conversation-role.d.ts +13 -0
- package/dist/ui/conversation-role.d.ts.map +1 -0
- package/dist/ui/conversation-role.js +39 -0
- package/dist/ui/conversation-role.js.map +1 -0
- package/dist/ui/conversation-search.d.ts +39 -0
- package/dist/ui/conversation-search.d.ts.map +1 -0
- package/dist/ui/conversation-search.js +124 -0
- package/dist/ui/conversation-search.js.map +1 -0
- package/dist/ui/conversation-timeline.d.ts +62 -0
- package/dist/ui/conversation-timeline.d.ts.map +1 -0
- package/dist/ui/conversation-timeline.js +263 -0
- package/dist/ui/conversation-timeline.js.map +1 -0
- package/dist/ui/conversation-viewer.d.ts +62 -20
- package/dist/ui/conversation-viewer.d.ts.map +1 -0
- package/dist/ui/conversation-viewer.js +449 -224
- package/dist/ui/conversation-viewer.js.map +1 -0
- package/dist/ui/fleet-list.d.ts +24 -11
- package/dist/ui/fleet-list.d.ts.map +1 -0
- package/dist/ui/fleet-list.js +86 -78
- package/dist/ui/fleet-list.js.map +1 -0
- package/dist/ui/schedule-menu.d.ts +1 -0
- package/dist/ui/schedule-menu.d.ts.map +1 -0
- package/dist/ui/schedule-menu.js +2 -4
- package/dist/ui/schedule-menu.js.map +1 -0
- package/dist/ui/viewer-keys.d.ts +1 -0
- package/dist/ui/viewer-keys.d.ts.map +1 -0
- package/dist/ui/viewer-keys.js +8 -10
- package/dist/ui/viewer-keys.js.map +1 -0
- package/dist/usage.d.ts +1 -0
- package/dist/usage.d.ts.map +1 -0
- package/dist/usage.js +5 -10
- package/dist/usage.js.map +1 -0
- package/dist/worktree.d.ts +1 -0
- package/dist/worktree.d.ts.map +1 -0
- package/dist/worktree.js +27 -31
- package/dist/worktree.js.map +1 -0
- package/dist/write-execution.d.ts +42 -0
- package/dist/write-execution.d.ts.map +1 -0
- package/dist/write-execution.js +138 -0
- package/dist/write-execution.js.map +1 -0
- package/package.json +1 -1
- package/src/agent-history-list.ts +91 -0
- package/src/agent-history.ts +12 -17
- package/src/agent-manager.ts +169 -81
- package/src/agent-runner.ts +12 -13
- package/src/index.ts +117 -98
- package/src/output-file.ts +1 -1
- package/src/types.ts +4 -1
- package/src/ui/agent-widget.ts +3 -9
- package/src/ui/ccstyle/ATTRIBUTION.md +37 -0
- package/src/ui/ccstyle/diff/ansi-utils.ts +168 -0
- package/src/ui/ccstyle/diff/diff-presentation.ts +70 -0
- package/src/ui/ccstyle/diff/diff-renderer.ts +3148 -0
- package/src/ui/ccstyle/diff/line-width-safety.ts +92 -0
- package/src/ui/ccstyle/diff/render-utils.ts +32 -0
- package/src/ui/ccstyle/diff/types.ts +33 -0
- package/src/ui/ccstyle/diff/write-display-utils.ts +12 -0
- package/src/ui/ccstyle/tool-renderer.ts +71 -0
- package/src/ui/ccstyle/tool-result.ts +238 -0
- package/src/ui/conversation-blocks.ts +404 -0
- package/src/ui/conversation-nvim.ts +127 -0
- package/src/ui/conversation-role.ts +45 -0
- package/src/ui/conversation-search.ts +161 -0
- package/src/ui/conversation-timeline.ts +315 -0
- package/src/ui/conversation-viewer.ts +418 -210
- package/src/ui/fleet-list.ts +73 -52
- package/src/write-execution.ts +180 -0
- package/test/agent-history-list.test.ts +121 -0
- package/test/agent-manager-history.test.ts +59 -58
- package/test/agent-menu-history-navigation.test.ts +86 -0
- package/test/output-file-history.test.ts +50 -0
- package/test/ui/conversation-blocks.test.ts +103 -0
- package/test/ui/conversation-diff.test.ts +91 -0
- package/test/ui/conversation-search.test.ts +55 -0
- package/test/ui/conversation-viewer.test.ts +182 -0
- package/test/ui/fleet-list.test.ts +131 -0
- package/test/write-execution.test.ts +83 -0
- package/tsconfig.json +16 -0
- package/vitest.temp.config.mts +6 -0
- package/dist/ui/markdown-result.d.ts +0 -3
- package/dist/ui/markdown-result.js +0 -53
- package/src/ui/markdown-result.ts +0 -56
- package/test/agent-history.test.ts +0 -63
- package/test/ui/markdown-result.test.ts +0 -45
package/dist/output-file.js
CHANGED
|
@@ -1,25 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* output-file.ts — Streaming JSONL output file for agent transcripts.
|
|
4
3
|
*
|
|
5
4
|
* Creates a per-agent output file that streams conversation turns as JSONL,
|
|
6
5
|
* matching Claude Code's task output file format.
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports.writeInitialEntry = writeInitialEntry;
|
|
12
|
-
exports.streamToOutputFile = streamToOutputFile;
|
|
13
|
-
const node_fs_1 = require("node:fs");
|
|
14
|
-
const node_os_1 = require("node:os");
|
|
15
|
-
const node_path_1 = require("node:path");
|
|
7
|
+
import { appendFileSync, chmodSync, mkdirSync, writeFileSync } from "node:fs";
|
|
8
|
+
import { tmpdir } from "node:os";
|
|
9
|
+
import { join } from "node:path";
|
|
16
10
|
/**
|
|
17
11
|
* Encode a cwd path as a filesystem-safe directory name. Handles:
|
|
18
12
|
* - POSIX: "/home/user/project" → "home-user-project"
|
|
19
13
|
* - Windows: "C:\Users\foo\project" → "Users-foo-project"
|
|
20
14
|
* - UNC: "\\\\server\\share\\project" → "server-share-project"
|
|
21
15
|
*/
|
|
22
|
-
function encodeCwd(cwd) {
|
|
16
|
+
export function encodeCwd(cwd) {
|
|
23
17
|
return cwd
|
|
24
18
|
.replace(/[/\\]/g, "-") // both separators → dash
|
|
25
19
|
.replace(/^[A-Za-z]:-/, "") // strip Windows drive prefix ("C:-")
|
|
@@ -27,25 +21,25 @@ function encodeCwd(cwd) {
|
|
|
27
21
|
}
|
|
28
22
|
/** Create the output file path, ensuring the directory exists.
|
|
29
23
|
* Mirrors Claude Code's layout: /tmp/{prefix}-{uid}/{encoded-cwd}/{sessionId}/tasks/{agentId}.output */
|
|
30
|
-
function createOutputFilePath(cwd, agentId, sessionId) {
|
|
24
|
+
export function createOutputFilePath(cwd, agentId, sessionId) {
|
|
31
25
|
const encoded = encodeCwd(cwd);
|
|
32
|
-
const root =
|
|
33
|
-
|
|
26
|
+
const root = join(tmpdir(), `pi-subagents-${process.getuid?.() ?? 0}`);
|
|
27
|
+
mkdirSync(root, { recursive: true, mode: 0o700 });
|
|
34
28
|
// chmod is a no-op on Windows and throws on some Windows filesystems.
|
|
35
29
|
// On Unix we still want to enforce 0o700 past umask, so only swallow on Windows.
|
|
36
30
|
try {
|
|
37
|
-
|
|
31
|
+
chmodSync(root, 0o700);
|
|
38
32
|
}
|
|
39
33
|
catch (err) {
|
|
40
34
|
if (process.platform !== "win32")
|
|
41
35
|
throw err;
|
|
42
36
|
}
|
|
43
|
-
const dir =
|
|
44
|
-
|
|
45
|
-
return
|
|
37
|
+
const dir = join(root, encoded, sessionId, "tasks");
|
|
38
|
+
mkdirSync(dir, { recursive: true });
|
|
39
|
+
return join(dir, `${agentId}.output`);
|
|
46
40
|
}
|
|
47
41
|
/** Write the initial user prompt entry. */
|
|
48
|
-
function writeInitialEntry(path, agentId, prompt, cwd) {
|
|
42
|
+
export function writeInitialEntry(path, agentId, prompt, cwd) {
|
|
49
43
|
const entry = {
|
|
50
44
|
isSidechain: true,
|
|
51
45
|
agentId,
|
|
@@ -54,15 +48,15 @@ function writeInitialEntry(path, agentId, prompt, cwd) {
|
|
|
54
48
|
timestamp: new Date().toISOString(),
|
|
55
49
|
cwd,
|
|
56
50
|
};
|
|
57
|
-
|
|
51
|
+
writeFileSync(path, JSON.stringify(entry) + "\n", "utf-8");
|
|
58
52
|
}
|
|
59
53
|
/**
|
|
60
54
|
* Subscribe to session events and flush new messages to the output file on each turn_end.
|
|
61
55
|
* Returns a cleanup function that does a final flush and unsubscribes.
|
|
62
56
|
*/
|
|
63
|
-
function streamToOutputFile(session, path, agentId, cwd, historyPath) {
|
|
64
|
-
const outputPaths = historyPath && historyPath !== path ? [path, historyPath] : [path];
|
|
57
|
+
export function streamToOutputFile(session, path, agentId, cwd, historyPath) {
|
|
65
58
|
let writtenCount = 1; // initial user prompt already written
|
|
59
|
+
const outputPaths = historyPath && historyPath !== path ? [path, historyPath] : [path];
|
|
66
60
|
const flush = () => {
|
|
67
61
|
const messages = session.messages;
|
|
68
62
|
while (writtenCount < messages.length) {
|
|
@@ -77,7 +71,7 @@ function streamToOutputFile(session, path, agentId, cwd, historyPath) {
|
|
|
77
71
|
};
|
|
78
72
|
for (const outputPath of outputPaths) {
|
|
79
73
|
try {
|
|
80
|
-
|
|
74
|
+
appendFileSync(outputPath, JSON.stringify(entry) + "\n", "utf-8");
|
|
81
75
|
}
|
|
82
76
|
catch { /* ignore write errors */ }
|
|
83
77
|
}
|
|
@@ -108,3 +102,4 @@ function streamToOutputFile(session, path, agentId, cwd, historyPath) {
|
|
|
108
102
|
unsubscribe();
|
|
109
103
|
};
|
|
110
104
|
}
|
|
105
|
+
//# sourceMappingURL=output-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-file.js","sourceRoot":"","sources":["../src/output-file.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts.d.ts
CHANGED
|
@@ -30,3 +30,4 @@ export interface PromptExtras {
|
|
|
30
30
|
* @param extras Optional extra sections to inject (memory, preloaded skills).
|
|
31
31
|
*/
|
|
32
32
|
export declare function buildAgentPrompt(config: AgentConfig, cwd: string, env: EnvInfo, parentSystemPrompt?: string, extras?: PromptExtras): string;
|
|
33
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvD,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC3B,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,OAAO,EACZ,kBAAkB,CAAC,EAAE,MAAM,EAC3B,MAAM,CAAC,EAAE,YAAY,GACpB,MAAM,CAuDR"}
|
package/dist/prompts.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* prompts.ts — System prompt builder for agents.
|
|
4
3
|
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.buildAgentPrompt = buildAgentPrompt;
|
|
7
4
|
/**
|
|
8
5
|
* Build the system prompt for an agent from its config.
|
|
9
6
|
*
|
|
@@ -21,7 +18,7 @@ exports.buildAgentPrompt = buildAgentPrompt;
|
|
|
21
18
|
* @param parentSystemPrompt The parent agent's effective system prompt (for append mode).
|
|
22
19
|
* @param extras Optional extra sections to inject (memory, preloaded skills).
|
|
23
20
|
*/
|
|
24
|
-
function buildAgentPrompt(config, cwd, env, parentSystemPrompt, extras) {
|
|
21
|
+
export function buildAgentPrompt(config, cwd, env, parentSystemPrompt, extras) {
|
|
25
22
|
const activeAgentTag = `<active_agent name="${config.name}"/>\n\n`;
|
|
26
23
|
const envBlock = `# Environment
|
|
27
24
|
Working directory: ${cwd}
|
|
@@ -74,3 +71,4 @@ const genericBase = `# Role
|
|
|
74
71
|
You are a general-purpose coding agent for complex, multi-step tasks.
|
|
75
72
|
You have full access to read, write, edit files, and execute commands.
|
|
76
73
|
Do what has been asked; nothing more, nothing less.`;
|
|
74
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAmB,EACnB,GAAW,EACX,GAAY,EACZ,kBAA2B,EAC3B,MAAqB;IAErB,MAAM,cAAc,GAAG,uBAAuB,MAAM,CAAC,IAAI,SAAS,CAAC;IAEnE,MAAM,QAAQ,GAAG;qBACE,GAAG;EACtB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,gCAAgC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,sBAAsB;YAC3E,GAAG,CAAC,QAAQ,EAAE,CAAC;IAEzB,+BAA+B;IAC/B,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;QACxB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvC,aAAa,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvF,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,kBAAkB,IAAI,WAAW,CAAC;QAEnD,MAAM,MAAM,GAAG;;;;;;;;;;;qBAWE,CAAC;QAElB,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE;YAC/C,CAAC,CAAC,6BAA6B,MAAM,CAAC,YAAY,yBAAyB;YAC3E,CAAC,CAAC,EAAE,CAAC;QAEP,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,OAAO,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC;IACxG,CAAC;IAED,gEAAgE;IAChE,MAAM,aAAa,GAAG;;;EAGtB,QAAQ,EAAE,CAAC;IAEX,OAAO,cAAc,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;AACtF,CAAC;AAED,oFAAoF;AACpF,MAAM,WAAW,GAAG;;;oDAGgC,CAAC"}
|
package/dist/schedule-store.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-store.d.ts","sourceRoot":"","sources":["../src/schedule-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,YAAY,CAAC;AAqCvE,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAwC;gBAExC,QAAQ,EAAE,MAAM;IAM5B,8EAA8E;IAC9E,OAAO,CAAC,SAAS;IAIjB,uEAAuE;IACvE,OAAO,CAAC,IAAI;IASZ,0DAA0D;IAC1D,OAAO,CAAC,IAAI;IAOZ,uDAAuD;IACvD,OAAO,CAAC,QAAQ;IAahB,6DAA6D;IAC7D,IAAI,IAAI,iBAAiB,EAAE;IAI3B,wCAAwC;IACxC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAOjD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI9C,GAAG,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;IAMjC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,GAAG,SAAS;IAapF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAM3B,4EAA4E;IAC5E,iBAAiB,IAAI,IAAI;CAK1B"}
|
package/dist/schedule-store.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* schedule-store.ts — File-backed store for scheduled subagents.
|
|
4
3
|
*
|
|
@@ -10,11 +9,8 @@
|
|
|
10
9
|
* mutation acquires a PID-based exclusion lock, re-reads the latest state
|
|
11
10
|
* from disk, applies the change, atomic-writes via temp+rename, releases.
|
|
12
11
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
exports.resolveStorePath = resolveStorePath;
|
|
16
|
-
const node_fs_1 = require("node:fs");
|
|
17
|
-
const node_path_1 = require("node:path");
|
|
12
|
+
import { existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
13
|
+
import { dirname, join } from "node:path";
|
|
18
14
|
const LOCK_RETRY_MS = 50;
|
|
19
15
|
const LOCK_MAX_RETRIES = 100;
|
|
20
16
|
function isProcessRunning(pid) {
|
|
@@ -29,15 +25,15 @@ function isProcessRunning(pid) {
|
|
|
29
25
|
function acquireLock(lockPath) {
|
|
30
26
|
for (let i = 0; i < LOCK_MAX_RETRIES; i++) {
|
|
31
27
|
try {
|
|
32
|
-
|
|
28
|
+
writeFileSync(lockPath, `${process.pid}`, { flag: "wx" });
|
|
33
29
|
return;
|
|
34
30
|
}
|
|
35
31
|
catch (e) {
|
|
36
32
|
if (e.code === "EEXIST") {
|
|
37
33
|
try {
|
|
38
|
-
const pid = parseInt(
|
|
34
|
+
const pid = parseInt(readFileSync(lockPath, "utf-8"), 10);
|
|
39
35
|
if (pid && !isProcessRunning(pid)) {
|
|
40
|
-
|
|
36
|
+
unlinkSync(lockPath);
|
|
41
37
|
continue;
|
|
42
38
|
}
|
|
43
39
|
}
|
|
@@ -53,15 +49,15 @@ function acquireLock(lockPath) {
|
|
|
53
49
|
}
|
|
54
50
|
function releaseLock(lockPath) {
|
|
55
51
|
try {
|
|
56
|
-
|
|
52
|
+
unlinkSync(lockPath);
|
|
57
53
|
}
|
|
58
54
|
catch { /* ignore */ }
|
|
59
55
|
}
|
|
60
56
|
/** Resolve the storage path for a session-scoped store. */
|
|
61
|
-
function resolveStorePath(cwd, sessionId) {
|
|
62
|
-
return
|
|
57
|
+
export function resolveStorePath(cwd, sessionId) {
|
|
58
|
+
return join(cwd, ".pi", "subagent-schedules", `${sessionId}.json`);
|
|
63
59
|
}
|
|
64
|
-
class ScheduleStore {
|
|
60
|
+
export class ScheduleStore {
|
|
65
61
|
filePath;
|
|
66
62
|
lockPath;
|
|
67
63
|
jobs = new Map();
|
|
@@ -72,14 +68,14 @@ class ScheduleStore {
|
|
|
72
68
|
}
|
|
73
69
|
/** Create the backing directory lazily — only when we're about to persist. */
|
|
74
70
|
ensureDir() {
|
|
75
|
-
|
|
71
|
+
mkdirSync(dirname(this.filePath), { recursive: true });
|
|
76
72
|
}
|
|
77
73
|
/** Load from disk into the in-memory cache. Silent on parse errors. */
|
|
78
74
|
load() {
|
|
79
|
-
if (!
|
|
75
|
+
if (!existsSync(this.filePath))
|
|
80
76
|
return;
|
|
81
77
|
try {
|
|
82
|
-
const data = JSON.parse(
|
|
78
|
+
const data = JSON.parse(readFileSync(this.filePath, "utf-8"));
|
|
83
79
|
this.jobs.clear();
|
|
84
80
|
for (const j of data.jobs ?? [])
|
|
85
81
|
this.jobs.set(j.id, j);
|
|
@@ -90,8 +86,8 @@ class ScheduleStore {
|
|
|
90
86
|
save() {
|
|
91
87
|
const data = { version: 1, jobs: [...this.jobs.values()] };
|
|
92
88
|
const tmp = this.filePath + ".tmp";
|
|
93
|
-
|
|
94
|
-
|
|
89
|
+
writeFileSync(tmp, JSON.stringify(data, null, 2));
|
|
90
|
+
renameSync(tmp, this.filePath);
|
|
95
91
|
}
|
|
96
92
|
/** Acquire lock → reload → mutate → save → release. */
|
|
97
93
|
withLock(fn) {
|
|
@@ -149,12 +145,12 @@ class ScheduleStore {
|
|
|
149
145
|
}
|
|
150
146
|
/** Delete the backing file (used when no jobs remain, optional cleanup). */
|
|
151
147
|
deleteFileIfEmpty() {
|
|
152
|
-
if (this.jobs.size === 0 &&
|
|
148
|
+
if (this.jobs.size === 0 && existsSync(this.filePath)) {
|
|
153
149
|
try {
|
|
154
|
-
|
|
150
|
+
unlinkSync(this.filePath);
|
|
155
151
|
}
|
|
156
152
|
catch { /* ignore */ }
|
|
157
153
|
}
|
|
158
154
|
}
|
|
159
155
|
}
|
|
160
|
-
|
|
156
|
+
//# sourceMappingURL=schedule-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-store.js","sourceRoot":"","sources":["../src/schedule-store.ts"],"names":[],"mappings":"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"}
|
package/dist/schedule.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"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"}
|
package/dist/schedule.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* schedule.ts — `SubagentScheduler`: timer-driven dispatcher of scheduled subagents.
|
|
4
3
|
*
|
|
@@ -15,12 +14,10 @@
|
|
|
15
14
|
* - Result delivery is implicit: spawn → background completion → existing
|
|
16
15
|
* `subagent-notification` followUp path. No new delivery code.
|
|
17
16
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const model_resolver_js_1 = require("./model-resolver.js");
|
|
23
|
-
class SubagentScheduler {
|
|
17
|
+
import { Cron } from "croner";
|
|
18
|
+
import { nanoid } from "nanoid";
|
|
19
|
+
import { resolveModel } from "./model-resolver.js";
|
|
20
|
+
export class SubagentScheduler {
|
|
24
21
|
jobs = new Map();
|
|
25
22
|
intervals = new Map();
|
|
26
23
|
store;
|
|
@@ -65,7 +62,7 @@ class SubagentScheduler {
|
|
|
65
62
|
buildJob(input) {
|
|
66
63
|
const detected = SubagentScheduler.detectSchedule(input.schedule);
|
|
67
64
|
return {
|
|
68
|
-
id:
|
|
65
|
+
id: nanoid(10),
|
|
69
66
|
name: input.name,
|
|
70
67
|
description: input.description,
|
|
71
68
|
schedule: detected.normalized,
|
|
@@ -168,7 +165,7 @@ class SubagentScheduler {
|
|
|
168
165
|
}
|
|
169
166
|
}
|
|
170
167
|
else {
|
|
171
|
-
const cron = new
|
|
168
|
+
const cron = new Cron(job.schedule, () => this.executeJob(job.id));
|
|
172
169
|
this.jobs.set(job.id, cron);
|
|
173
170
|
}
|
|
174
171
|
}
|
|
@@ -210,7 +207,7 @@ class SubagentScheduler {
|
|
|
210
207
|
// if resolution fails; the spawn path handles undefined model gracefully.
|
|
211
208
|
let resolvedModel;
|
|
212
209
|
if (job.model) {
|
|
213
|
-
const r =
|
|
210
|
+
const r = resolveModel(job.model, ctx.modelRegistry);
|
|
214
211
|
if (typeof r !== "string")
|
|
215
212
|
resolvedModel = r;
|
|
216
213
|
}
|
|
@@ -316,7 +313,7 @@ class SubagentScheduler {
|
|
|
316
313
|
}
|
|
317
314
|
try {
|
|
318
315
|
// Croner validates by construction.
|
|
319
|
-
new
|
|
316
|
+
new Cron(expr, () => { });
|
|
320
317
|
return { valid: true };
|
|
321
318
|
}
|
|
322
319
|
catch (e) {
|
|
@@ -339,4 +336,4 @@ class SubagentScheduler {
|
|
|
339
336
|
return parseInt(m[1], 10) * { s: 1000, m: 60_000, h: 3_600_000, d: 86_400_000 }[m[2]];
|
|
340
337
|
}
|
|
341
338
|
}
|
|
342
|
-
|
|
339
|
+
//# sourceMappingURL=schedule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule.js","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"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"}
|
package/dist/settings.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/settings.js
CHANGED
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Persistence for pi-subagents operational settings.
|
|
3
2
|
// - Global: ~/.pi/agent/subagents.json (via getAgentDir()) — manual defaults, never written here
|
|
4
3
|
// - Project: <cwd>/.pi/subagents.json — written by /agents → Settings; overrides global on load
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
exports.applySettings = applySettings;
|
|
9
|
-
exports.persistToastFor = persistToastFor;
|
|
10
|
-
exports.applyAndEmitLoaded = applyAndEmitLoaded;
|
|
11
|
-
exports.saveAndEmitChanged = saveAndEmitChanged;
|
|
12
|
-
const node_fs_1 = require("node:fs");
|
|
13
|
-
const node_path_1 = require("node:path");
|
|
14
|
-
const pi_coding_agent_1 = require("@earendil-works/pi-coding-agent");
|
|
4
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
5
|
+
import { dirname, join } from "node:path";
|
|
6
|
+
import { getAgentDir } from "@earendil-works/pi-coding-agent";
|
|
15
7
|
const VALID_JOIN_MODES = new Set(["async", "group", "smart"]);
|
|
16
8
|
const VALID_TOOL_DESCRIPTION_MODES = new Set(["full", "compact", "custom"]);
|
|
17
9
|
const VALID_WIDGET_MODES = new Set(["all", "background", "off"]);
|
|
@@ -69,10 +61,10 @@ function sanitize(raw) {
|
|
|
69
61
|
return out;
|
|
70
62
|
}
|
|
71
63
|
function globalPath() {
|
|
72
|
-
return
|
|
64
|
+
return join(getAgentDir(), "subagents.json");
|
|
73
65
|
}
|
|
74
66
|
function projectPath(cwd) {
|
|
75
|
-
return
|
|
67
|
+
return join(cwd, ".pi", "subagents.json");
|
|
76
68
|
}
|
|
77
69
|
/**
|
|
78
70
|
* Read a settings file. Missing file is silent (returns `{}`). A file that
|
|
@@ -80,10 +72,10 @@ function projectPath(cwd) {
|
|
|
80
72
|
* silently reverted to defaults — and still returns `{}` so startup proceeds.
|
|
81
73
|
*/
|
|
82
74
|
function readSettingsFile(path) {
|
|
83
|
-
if (!
|
|
75
|
+
if (!existsSync(path))
|
|
84
76
|
return {};
|
|
85
77
|
try {
|
|
86
|
-
return sanitize(JSON.parse(
|
|
78
|
+
return sanitize(JSON.parse(readFileSync(path, "utf-8")));
|
|
87
79
|
}
|
|
88
80
|
catch (err) {
|
|
89
81
|
const reason = err instanceof Error ? err.message : String(err);
|
|
@@ -92,7 +84,7 @@ function readSettingsFile(path) {
|
|
|
92
84
|
}
|
|
93
85
|
}
|
|
94
86
|
/** Load merged settings: global provides defaults, project overrides. */
|
|
95
|
-
function loadSettings(cwd = process.cwd()) {
|
|
87
|
+
export function loadSettings(cwd = process.cwd()) {
|
|
96
88
|
return { ...readSettingsFile(globalPath()), ...readSettingsFile(projectPath(cwd)) };
|
|
97
89
|
}
|
|
98
90
|
/**
|
|
@@ -100,11 +92,11 @@ function loadSettings(cwd = process.cwd()) {
|
|
|
100
92
|
* Returns `true` on success, `false` if the write (or mkdir) failed so the
|
|
101
93
|
* caller can surface a warning — persistence isn't fatal but isn't silent.
|
|
102
94
|
*/
|
|
103
|
-
function saveSettings(s, cwd = process.cwd()) {
|
|
95
|
+
export function saveSettings(s, cwd = process.cwd()) {
|
|
104
96
|
const path = projectPath(cwd);
|
|
105
97
|
try {
|
|
106
|
-
|
|
107
|
-
|
|
98
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
99
|
+
writeFileSync(path, JSON.stringify(s, null, 2), "utf-8");
|
|
108
100
|
return true;
|
|
109
101
|
}
|
|
110
102
|
catch {
|
|
@@ -112,7 +104,7 @@ function saveSettings(s, cwd = process.cwd()) {
|
|
|
112
104
|
}
|
|
113
105
|
}
|
|
114
106
|
/** Apply persisted settings to the in-memory state via caller-supplied setters. */
|
|
115
|
-
function applySettings(s, appliers) {
|
|
107
|
+
export function applySettings(s, appliers) {
|
|
116
108
|
if (typeof s.maxConcurrent === "number")
|
|
117
109
|
appliers.setMaxConcurrent(s.maxConcurrent);
|
|
118
110
|
if (typeof s.defaultMaxTurns === "number")
|
|
@@ -141,7 +133,7 @@ function applySettings(s, appliers) {
|
|
|
141
133
|
* routes the success/failure of `saveSettings` into the right message + level
|
|
142
134
|
* so the UI layer (index.ts) stays a thin wire between input and notification.
|
|
143
135
|
*/
|
|
144
|
-
function persistToastFor(successMsg, persisted) {
|
|
136
|
+
export function persistToastFor(successMsg, persisted) {
|
|
145
137
|
return persisted
|
|
146
138
|
? { message: successMsg, level: "info" }
|
|
147
139
|
: { message: `${successMsg} (session only; failed to persist)`, level: "warning" };
|
|
@@ -151,7 +143,7 @@ function persistToastFor(successMsg, persisted) {
|
|
|
151
143
|
* `subagents:settings_loaded` lifecycle event. Returns the loaded settings so
|
|
152
144
|
* callers can log/inspect. Extension init wires this once.
|
|
153
145
|
*/
|
|
154
|
-
function applyAndEmitLoaded(appliers, emit, cwd = process.cwd()) {
|
|
146
|
+
export function applyAndEmitLoaded(appliers, emit, cwd = process.cwd()) {
|
|
155
147
|
const settings = loadSettings(cwd);
|
|
156
148
|
applySettings(settings, appliers);
|
|
157
149
|
emit("subagents:settings_loaded", { settings });
|
|
@@ -163,8 +155,9 @@ function applyAndEmitLoaded(appliers, emit, cwd = process.cwd()) {
|
|
|
163
155
|
* return the toast the UI should display. Event payload carries the `persisted`
|
|
164
156
|
* flag so listeners can react to write failures.
|
|
165
157
|
*/
|
|
166
|
-
function saveAndEmitChanged(snapshot, successMsg, emit, cwd = process.cwd()) {
|
|
158
|
+
export function saveAndEmitChanged(snapshot, successMsg, emit, cwd = process.cwd()) {
|
|
167
159
|
const persisted = saveSettings(snapshot, cwd);
|
|
168
160
|
emit("subagents:settings_changed", { settings: snapshot, persisted });
|
|
169
161
|
return persistToastFor(successMsg, persisted);
|
|
170
162
|
}
|
|
163
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/skill-loader.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-loader.d.ts","sourceRoot":"","sources":["../src/skill-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAEjF"}
|
package/dist/skill-loader.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* skill-loader.ts — Preload named skills.
|
|
4
3
|
*
|
|
@@ -18,26 +17,24 @@
|
|
|
18
17
|
*
|
|
19
18
|
* Symlinks are rejected for security (deviation from Pi, which follows them).
|
|
20
19
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const memory_js_1 = require("./memory.js");
|
|
28
|
-
function preloadSkills(skillNames, cwd) {
|
|
20
|
+
import { existsSync, readdirSync } from "node:fs";
|
|
21
|
+
import { homedir } from "node:os";
|
|
22
|
+
import { join } from "node:path";
|
|
23
|
+
import { getAgentDir } from "@earendil-works/pi-coding-agent";
|
|
24
|
+
import { isSymlink, isUnsafeName, safeReadFile } from "./memory.js";
|
|
25
|
+
export function preloadSkills(skillNames, cwd) {
|
|
29
26
|
return skillNames.map((name) => ({ name, content: loadSkillContent(name, cwd) }));
|
|
30
27
|
}
|
|
31
28
|
function loadSkillContent(name, cwd) {
|
|
32
|
-
if (
|
|
29
|
+
if (isUnsafeName(name)) {
|
|
33
30
|
return `(Skill "${name}" skipped: name contains path traversal characters)`;
|
|
34
31
|
}
|
|
35
32
|
const roots = [
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
join(cwd, ".pi", "skills"), // project — Pi standard
|
|
34
|
+
join(cwd, ".agents", "skills"), // project — Agent Skills spec
|
|
35
|
+
join(getAgentDir(), "skills"), // user — Pi standard
|
|
36
|
+
join(homedir(), ".agents", "skills"), // user — Agent Skills spec
|
|
37
|
+
join(homedir(), ".pi", "skills"), // legacy global, pre-Pi
|
|
41
38
|
];
|
|
42
39
|
for (const root of roots) {
|
|
43
40
|
const content = findInRoot(root, name);
|
|
@@ -47,16 +44,16 @@ function loadSkillContent(name, cwd) {
|
|
|
47
44
|
return `(Skill "${name}" not found in .pi/skills/, .agents/skills/, or global skill locations)`;
|
|
48
45
|
}
|
|
49
46
|
function findInRoot(root, name) {
|
|
50
|
-
if (
|
|
47
|
+
if (isSymlink(root))
|
|
51
48
|
return undefined; // reject symlinked roots entirely
|
|
52
|
-
const flat =
|
|
49
|
+
const flat = safeReadFile(join(root, `${name}.md`))?.trim();
|
|
53
50
|
if (flat !== undefined)
|
|
54
51
|
return flat;
|
|
55
52
|
return findSkillDirectory(root, name);
|
|
56
53
|
}
|
|
57
54
|
/** BFS under `root` for a directory named `name` containing `SKILL.md`. Pi-conforming filters. */
|
|
58
55
|
function findSkillDirectory(root, name) {
|
|
59
|
-
if (!
|
|
56
|
+
if (!existsSync(root))
|
|
60
57
|
return undefined;
|
|
61
58
|
const queue = [root];
|
|
62
59
|
while (queue.length > 0) {
|
|
@@ -65,7 +62,7 @@ function findSkillDirectory(root, name) {
|
|
|
65
62
|
continue;
|
|
66
63
|
let entries;
|
|
67
64
|
try {
|
|
68
|
-
entries =
|
|
65
|
+
entries = readdirSync(current, { withFileTypes: true });
|
|
69
66
|
}
|
|
70
67
|
catch {
|
|
71
68
|
continue;
|
|
@@ -78,12 +75,12 @@ function findSkillDirectory(root, name) {
|
|
|
78
75
|
if (entry.name.startsWith(".") || entry.name === "node_modules")
|
|
79
76
|
continue;
|
|
80
77
|
// Symlinked dirs already filtered by entry.isDirectory() — Dirent uses lstat semantics.
|
|
81
|
-
const path =
|
|
82
|
-
const skillMd =
|
|
83
|
-
const isSkillDir =
|
|
78
|
+
const path = join(current, entry.name);
|
|
79
|
+
const skillMd = join(path, "SKILL.md");
|
|
80
|
+
const isSkillDir = existsSync(skillMd);
|
|
84
81
|
if (isSkillDir) {
|
|
85
82
|
if (entry.name === name) {
|
|
86
|
-
const content =
|
|
83
|
+
const content = safeReadFile(skillMd)?.trim();
|
|
87
84
|
if (content !== undefined)
|
|
88
85
|
return content;
|
|
89
86
|
}
|
|
@@ -94,3 +91,4 @@ function findSkillDirectory(root, name) {
|
|
|
94
91
|
}
|
|
95
92
|
return undefined;
|
|
96
93
|
}
|
|
94
|
+
//# sourceMappingURL=skill-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-loader.js","sourceRoot":"","sources":["../src/skill-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/status-note.d.ts
CHANGED