@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/agent-types.js
CHANGED
|
@@ -1,30 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* agent-types.ts — Unified agent type registry.
|
|
4
3
|
*
|
|
5
4
|
* Merges embedded default agents with user-defined agents from .pi/agents/*.md, .agents/agents/*.md, and global agents.
|
|
6
5
|
* User agents override defaults with the same name. Disabled agents are kept but excluded from spawning.
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports.setDefaultsDisabled = setDefaultsDisabled;
|
|
12
|
-
exports.registerAgents = registerAgents;
|
|
13
|
-
exports.applyNicoOverrides = applyNicoOverrides;
|
|
14
|
-
exports.resolveType = resolveType;
|
|
15
|
-
exports.getAgentConfig = getAgentConfig;
|
|
16
|
-
exports.getAvailableTypes = getAvailableTypes;
|
|
17
|
-
exports.getAllTypes = getAllTypes;
|
|
18
|
-
exports.getDefaultAgentNames = getDefaultAgentNames;
|
|
19
|
-
exports.getUserAgentNames = getUserAgentNames;
|
|
20
|
-
exports.isValidType = isValidType;
|
|
21
|
-
exports.getMemoryToolNames = getMemoryToolNames;
|
|
22
|
-
exports.getReadOnlyMemoryToolNames = getReadOnlyMemoryToolNames;
|
|
23
|
-
exports.getToolNamesForType = getToolNamesForType;
|
|
24
|
-
exports.getConfig = getConfig;
|
|
25
|
-
const pi_coding_agent_1 = require("@earendil-works/pi-coding-agent");
|
|
26
|
-
const default_agents_js_1 = require("./default-agents.js");
|
|
27
|
-
const nico_overrides_js_1 = require("./nico-overrides.js");
|
|
7
|
+
import { createCodingTools, createReadOnlyTools } from "@earendil-works/pi-coding-agent";
|
|
8
|
+
import { DEFAULT_AGENTS } from "./default-agents.js";
|
|
9
|
+
import { applyNicoOverridesToMap, readNicoAgentOverrides } from "./nico-overrides.js";
|
|
28
10
|
/**
|
|
29
11
|
* All known built-in tool names, derived from pi's own tool factories rather
|
|
30
12
|
* than hardcoded so the set tracks pi-mono if it adds/renames a built-in.
|
|
@@ -33,27 +15,27 @@ const nico_overrides_js_1 = require("./nico-overrides.js");
|
|
|
33
15
|
* (read, bash, edit, write, grep, find, ls). The `cwd` only binds tool
|
|
34
16
|
* operations we never invoke here — we read each tool's `.name` and discard it.
|
|
35
17
|
*/
|
|
36
|
-
|
|
37
|
-
...new Set([...
|
|
18
|
+
export const BUILTIN_TOOL_NAMES = [
|
|
19
|
+
...new Set([...createCodingTools("."), ...createReadOnlyTools(".")].map((t) => t.name)),
|
|
38
20
|
];
|
|
39
21
|
/** Unified runtime registry of all agents (defaults + user-defined). */
|
|
40
22
|
const agents = new Map();
|
|
41
23
|
/** When true, DEFAULT_AGENTS are skipped during registration. */
|
|
42
24
|
let disableDefaults = false;
|
|
43
25
|
/** Check whether default agents are disabled. */
|
|
44
|
-
function isDefaultsDisabled() { return disableDefaults; }
|
|
26
|
+
export function isDefaultsDisabled() { return disableDefaults; }
|
|
45
27
|
/** Set whether default agents are disabled. */
|
|
46
|
-
function setDefaultsDisabled(b) { disableDefaults = b; }
|
|
28
|
+
export function setDefaultsDisabled(b) { disableDefaults = b; }
|
|
47
29
|
/**
|
|
48
30
|
* Register agents into the unified registry.
|
|
49
31
|
* Starts with DEFAULT_AGENTS, then overlays user agents (overrides defaults with same name).
|
|
50
32
|
* Disabled agents (enabled === false) are kept in the registry but excluded from spawning.
|
|
51
33
|
*/
|
|
52
|
-
function registerAgents(userAgents) {
|
|
34
|
+
export function registerAgents(userAgents) {
|
|
53
35
|
agents.clear();
|
|
54
36
|
// Start with defaults (unless disabled via settings)
|
|
55
37
|
if (!disableDefaults) {
|
|
56
|
-
for (const [name, config] of
|
|
38
|
+
for (const [name, config] of DEFAULT_AGENTS) {
|
|
57
39
|
agents.set(name, config);
|
|
58
40
|
}
|
|
59
41
|
}
|
|
@@ -68,9 +50,9 @@ function registerAgents(userAgents) {
|
|
|
68
50
|
* them as the highest-priority layer. Auto-registers agents that don't
|
|
69
51
|
* exist in the registry yet.
|
|
70
52
|
*/
|
|
71
|
-
function applyNicoOverrides() {
|
|
72
|
-
const { overrides, defaultModel } =
|
|
73
|
-
|
|
53
|
+
export function applyNicoOverrides() {
|
|
54
|
+
const { overrides, defaultModel } = readNicoAgentOverrides(process.cwd());
|
|
55
|
+
applyNicoOverridesToMap(agents, overrides, defaultModel);
|
|
74
56
|
}
|
|
75
57
|
/** Case-insensitive key resolution. */
|
|
76
58
|
function resolveKey(name) {
|
|
@@ -84,38 +66,38 @@ function resolveKey(name) {
|
|
|
84
66
|
return undefined;
|
|
85
67
|
}
|
|
86
68
|
/** Resolve a type name case-insensitively. Returns the canonical key or undefined. */
|
|
87
|
-
function resolveType(name) {
|
|
69
|
+
export function resolveType(name) {
|
|
88
70
|
return resolveKey(name);
|
|
89
71
|
}
|
|
90
72
|
/** Get the agent config for a type (case-insensitive). */
|
|
91
|
-
function getAgentConfig(name) {
|
|
73
|
+
export function getAgentConfig(name) {
|
|
92
74
|
const key = resolveKey(name);
|
|
93
75
|
return key ? agents.get(key) : undefined;
|
|
94
76
|
}
|
|
95
77
|
/** Get all enabled type names (for spawning and tool descriptions). */
|
|
96
|
-
function getAvailableTypes() {
|
|
78
|
+
export function getAvailableTypes() {
|
|
97
79
|
return [...agents.entries()]
|
|
98
80
|
.filter(([_, config]) => config.enabled !== false)
|
|
99
81
|
.map(([name]) => name);
|
|
100
82
|
}
|
|
101
83
|
/** Get all type names including disabled (for UI listing). */
|
|
102
|
-
function getAllTypes() {
|
|
84
|
+
export function getAllTypes() {
|
|
103
85
|
return [...agents.keys()];
|
|
104
86
|
}
|
|
105
87
|
/** Get names of default agents currently in the registry. */
|
|
106
|
-
function getDefaultAgentNames() {
|
|
88
|
+
export function getDefaultAgentNames() {
|
|
107
89
|
return [...agents.entries()]
|
|
108
90
|
.filter(([_, config]) => config.isDefault === true)
|
|
109
91
|
.map(([name]) => name);
|
|
110
92
|
}
|
|
111
93
|
/** Get names of user-defined agents (non-defaults) currently in the registry. */
|
|
112
|
-
function getUserAgentNames() {
|
|
94
|
+
export function getUserAgentNames() {
|
|
113
95
|
return [...agents.entries()]
|
|
114
96
|
.filter(([_, config]) => config.isDefault !== true)
|
|
115
97
|
.map(([name]) => name);
|
|
116
98
|
}
|
|
117
99
|
/** Check if a type is valid and enabled (case-insensitive). */
|
|
118
|
-
function isValidType(type) {
|
|
100
|
+
export function isValidType(type) {
|
|
119
101
|
const key = resolveKey(type);
|
|
120
102
|
if (!key)
|
|
121
103
|
return false;
|
|
@@ -126,7 +108,7 @@ const MEMORY_TOOL_NAMES = ["read", "write", "edit"];
|
|
|
126
108
|
/**
|
|
127
109
|
* Get memory tool names (read/write/edit) not already in the provided set.
|
|
128
110
|
*/
|
|
129
|
-
function getMemoryToolNames(existingToolNames) {
|
|
111
|
+
export function getMemoryToolNames(existingToolNames) {
|
|
130
112
|
return MEMORY_TOOL_NAMES.filter(n => !existingToolNames.has(n));
|
|
131
113
|
}
|
|
132
114
|
/** Tool names needed for read-only memory access. */
|
|
@@ -134,27 +116,27 @@ const READONLY_MEMORY_TOOL_NAMES = ["read"];
|
|
|
134
116
|
/**
|
|
135
117
|
* Get read-only memory tool names not already in the provided set.
|
|
136
118
|
*/
|
|
137
|
-
function getReadOnlyMemoryToolNames(existingToolNames) {
|
|
119
|
+
export function getReadOnlyMemoryToolNames(existingToolNames) {
|
|
138
120
|
return READONLY_MEMORY_TOOL_NAMES.filter(n => !existingToolNames.has(n));
|
|
139
121
|
}
|
|
140
122
|
/** Get built-in tool names for a type (case-insensitive). */
|
|
141
|
-
function getToolNamesForType(type) {
|
|
123
|
+
export function getToolNamesForType(type) {
|
|
142
124
|
const key = resolveKey(type);
|
|
143
125
|
const raw = key ? agents.get(key) : undefined;
|
|
144
126
|
const config = raw?.enabled !== false ? raw : undefined;
|
|
145
127
|
// `undefined` (definition omitted the field) → all built-ins; an explicit `[]`
|
|
146
128
|
// (`tools: none` or a `tools:` with only `ext:` entries) → zero built-ins.
|
|
147
|
-
return config?.builtinToolNames ?? [...
|
|
129
|
+
return config?.builtinToolNames ?? [...BUILTIN_TOOL_NAMES];
|
|
148
130
|
}
|
|
149
131
|
/** Get config for a type (case-insensitive, returns a SubagentTypeConfig-compatible object). Falls back to general-purpose. */
|
|
150
|
-
function getConfig(type) {
|
|
132
|
+
export function getConfig(type) {
|
|
151
133
|
const key = resolveKey(type);
|
|
152
134
|
const config = key ? agents.get(key) : undefined;
|
|
153
135
|
if (config && config.enabled !== false) {
|
|
154
136
|
return {
|
|
155
137
|
displayName: config.displayName ?? config.name,
|
|
156
138
|
description: config.description,
|
|
157
|
-
builtinToolNames: config.builtinToolNames ??
|
|
139
|
+
builtinToolNames: config.builtinToolNames ?? BUILTIN_TOOL_NAMES,
|
|
158
140
|
extensions: config.extensions,
|
|
159
141
|
excludeExtensions: config.excludeExtensions,
|
|
160
142
|
skills: config.skills,
|
|
@@ -167,7 +149,7 @@ function getConfig(type) {
|
|
|
167
149
|
return {
|
|
168
150
|
displayName: gp.displayName ?? gp.name,
|
|
169
151
|
description: gp.description,
|
|
170
|
-
builtinToolNames: gp.builtinToolNames ??
|
|
152
|
+
builtinToolNames: gp.builtinToolNames ?? BUILTIN_TOOL_NAMES,
|
|
171
153
|
extensions: gp.extensions,
|
|
172
154
|
excludeExtensions: gp.excludeExtensions,
|
|
173
155
|
skills: gp.skills,
|
|
@@ -178,9 +160,10 @@ function getConfig(type) {
|
|
|
178
160
|
return {
|
|
179
161
|
displayName: "Agent",
|
|
180
162
|
description: "General-purpose agent for complex, multi-step tasks",
|
|
181
|
-
builtinToolNames:
|
|
163
|
+
builtinToolNames: BUILTIN_TOOL_NAMES,
|
|
182
164
|
extensions: true,
|
|
183
165
|
skills: true,
|
|
184
166
|
promptMode: "append",
|
|
185
167
|
};
|
|
186
168
|
}
|
|
169
|
+
//# sourceMappingURL=agent-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-types.js","sourceRoot":"","sources":["../src/agent-types.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,uDAAuD;AACvD,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAKtD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAsChE"}
|
package/dist/context.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* context.ts — Extract parent conversation context for subagent inheritance.
|
|
4
3
|
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.extractText = extractText;
|
|
7
|
-
exports.buildParentContext = buildParentContext;
|
|
8
4
|
/** Extract text from a message content block array. */
|
|
9
|
-
function extractText(content) {
|
|
5
|
+
export function extractText(content) {
|
|
10
6
|
return content
|
|
11
7
|
.filter((c) => c.type === "text")
|
|
12
8
|
.map((c) => c.text ?? "")
|
|
@@ -17,7 +13,7 @@ function extractText(content) {
|
|
|
17
13
|
* Used when inherit_context is true to give the subagent visibility
|
|
18
14
|
* into what has been discussed/done so far.
|
|
19
15
|
*/
|
|
20
|
-
function buildParentContext(ctx) {
|
|
16
|
+
export function buildParentContext(ctx) {
|
|
21
17
|
const entries = ctx.sessionManager.getBranch();
|
|
22
18
|
if (!entries || entries.length === 0)
|
|
23
19
|
return "";
|
|
@@ -58,3 +54,4 @@ ${parts.join("\n\n")}
|
|
|
58
54
|
# Your Task (below)
|
|
59
55
|
`;
|
|
60
56
|
}
|
|
57
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,uDAAuD;AACvD,MAAM,UAAU,WAAW,CAAC,OAAkB;IAC5C,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;SACrC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;SAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAqB;IACtD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;IAC/C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;YAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAC1C,CAAC,CAAC,GAAG,CAAC,OAAO;oBACb,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC7B,IAAI,IAAI,CAAC,IAAI,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,IAAI,CAAC,IAAI,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,qDAAqD;QACvD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,2DAA2D;YAC3D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,OAAO;;;;EAIP,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;;;;CAInB,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-extension-rpc.d.ts","sourceRoot":"","sources":["../src/cross-extension-rpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAChE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1C;AAED,gEAAgE;AAChE,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,IAAI,IACzB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,CAAC;IACrF,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,QAAQ,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AA0BD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CA+C5D"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Cross-extension RPC handlers for the subagents extension.
|
|
4
3
|
*
|
|
@@ -9,12 +8,9 @@
|
|
|
9
8
|
* success → { success: true, data?: T }
|
|
10
9
|
* error → { success: false, error: string }
|
|
11
10
|
*/
|
|
12
|
-
|
|
13
|
-
exports.PROTOCOL_VERSION = void 0;
|
|
14
|
-
exports.registerRpcHandlers = registerRpcHandlers;
|
|
15
|
-
const model_resolver_js_1 = require("./model-resolver.js");
|
|
11
|
+
import { resolveModel } from "./model-resolver.js";
|
|
16
12
|
/** RPC protocol version — bumped when the envelope or method contracts change. */
|
|
17
|
-
|
|
13
|
+
export const PROTOCOL_VERSION = 2;
|
|
18
14
|
/**
|
|
19
15
|
* Wire a single RPC handler: listen on `channel`, run `fn(params)`,
|
|
20
16
|
* emit the reply envelope on `channel:reply:${requestId}`.
|
|
@@ -40,10 +36,10 @@ function handleRpc(events, channel, fn) {
|
|
|
40
36
|
* Register ping, spawn, and stop RPC handlers on the event bus.
|
|
41
37
|
* Returns unsub functions for cleanup.
|
|
42
38
|
*/
|
|
43
|
-
function registerRpcHandlers(deps) {
|
|
39
|
+
export function registerRpcHandlers(deps) {
|
|
44
40
|
const { events, pi, getCtx, manager } = deps;
|
|
45
41
|
const unsubPing = handleRpc(events, "subagents:rpc:ping", () => {
|
|
46
|
-
return { version:
|
|
42
|
+
return { version: PROTOCOL_VERSION };
|
|
47
43
|
});
|
|
48
44
|
const unsubSpawn = handleRpc(events, "subagents:rpc:spawn", ({ type, prompt, options }) => {
|
|
49
45
|
const ctx = getCtx();
|
|
@@ -61,7 +57,7 @@ function registerRpcHandlers(deps) {
|
|
|
61
57
|
if (!registry) {
|
|
62
58
|
throw new Error(`Model override "${normalizedOptions.model}" provided but ctx.modelRegistry is unavailable`);
|
|
63
59
|
}
|
|
64
|
-
const resolved =
|
|
60
|
+
const resolved = resolveModel(normalizedOptions.model, registry);
|
|
65
61
|
if (typeof resolved === "string") {
|
|
66
62
|
// resolveModel returns a human-readable error string when the
|
|
67
63
|
// input doesn't match any available model. Surface it instead of
|
|
@@ -78,3 +74,4 @@ function registerRpcHandlers(deps) {
|
|
|
78
74
|
});
|
|
79
75
|
return { unsubPing, unsubSpawn, unsubStop };
|
|
80
76
|
}
|
|
77
|
+
//# sourceMappingURL=cross-extension-rpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-extension-rpc.js","sourceRoot":"","sources":["../src/cross-extension-rpc.ts"],"names":[],"mappings":"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"}
|
package/dist/custom-agents.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-agents.d.ts","sourceRoot":"","sources":["../src/custom-agents.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,WAAW,EAA8B,MAAM,YAAY,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAUtE"}
|
package/dist/custom-agents.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* custom-agents.ts — Load user-defined agents from project (.pi/agents/, plus the shared .agents/agents/ workspace) and global ($PI_CODING_AGENT_DIR/agents/, default ~/.pi/agent/agents/) locations.
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const pi_coding_agent_1 = require("@earendil-works/pi-coding-agent");
|
|
10
|
-
const agent_types_js_1 = require("./agent-types.js");
|
|
4
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
5
|
+
import { basename, join } from "node:path";
|
|
6
|
+
import { getAgentDir, parseFrontmatter } from "@earendil-works/pi-coding-agent";
|
|
7
|
+
import { BUILTIN_TOOL_NAMES } from "./agent-types.js";
|
|
11
8
|
/**
|
|
12
9
|
* Scan for custom agent .md files from multiple locations.
|
|
13
10
|
* Discovery hierarchy (higher priority wins):
|
|
@@ -20,10 +17,10 @@ const agent_types_js_1 = require("./agent-types.js");
|
|
|
20
17
|
* authority; .agents/agents is an additional read location.
|
|
21
18
|
* Any name is allowed — names matching defaults (e.g. "Explore") override them.
|
|
22
19
|
*/
|
|
23
|
-
function loadCustomAgents(cwd) {
|
|
24
|
-
const globalDir =
|
|
25
|
-
const workspaceProjectDir =
|
|
26
|
-
const projectDir =
|
|
20
|
+
export function loadCustomAgents(cwd) {
|
|
21
|
+
const globalDir = join(getAgentDir(), "agents");
|
|
22
|
+
const workspaceProjectDir = join(cwd, ".agents", "agents");
|
|
23
|
+
const projectDir = join(cwd, ".pi", "agents");
|
|
27
24
|
const agents = new Map();
|
|
28
25
|
loadFromDir(globalDir, agents, "global"); // lowest priority
|
|
29
26
|
loadFromDir(workspaceProjectDir, agents, "project"); // shared workspace
|
|
@@ -32,25 +29,25 @@ function loadCustomAgents(cwd) {
|
|
|
32
29
|
}
|
|
33
30
|
/** Load agent configs from a directory into the map. */
|
|
34
31
|
function loadFromDir(dir, agents, source) {
|
|
35
|
-
if (!
|
|
32
|
+
if (!existsSync(dir))
|
|
36
33
|
return;
|
|
37
34
|
let files;
|
|
38
35
|
try {
|
|
39
|
-
files =
|
|
36
|
+
files = readdirSync(dir).filter(f => f.endsWith(".md"));
|
|
40
37
|
}
|
|
41
38
|
catch {
|
|
42
39
|
return;
|
|
43
40
|
}
|
|
44
41
|
for (const file of files) {
|
|
45
|
-
const name =
|
|
42
|
+
const name = basename(file, ".md");
|
|
46
43
|
let content;
|
|
47
44
|
try {
|
|
48
|
-
content =
|
|
45
|
+
content = readFileSync(join(dir, file), "utf-8");
|
|
49
46
|
}
|
|
50
47
|
catch {
|
|
51
48
|
continue;
|
|
52
49
|
}
|
|
53
|
-
const { frontmatter: fm, body } =
|
|
50
|
+
const { frontmatter: fm, body } = parseFrontmatter(content);
|
|
54
51
|
const { builtinToolNames, extSelectors } = parseToolsField(fm.tools);
|
|
55
52
|
agents.set(name, {
|
|
56
53
|
name,
|
|
@@ -119,13 +116,13 @@ function csvList(val, defaults) {
|
|
|
119
116
|
* `tools:` present with only `ext:` entries → zero built-ins (use `*`).
|
|
120
117
|
*/
|
|
121
118
|
function parseToolsField(val) {
|
|
122
|
-
const entries = csvList(val,
|
|
119
|
+
const entries = csvList(val, BUILTIN_TOOL_NAMES);
|
|
123
120
|
const isWildcard = (e) => e === "*" || e.toLowerCase() === "all";
|
|
124
121
|
const hasWildcard = entries.some(isWildcard);
|
|
125
122
|
const plain = entries.filter(e => !isWildcard(e) && !e.startsWith("ext:"));
|
|
126
123
|
const extEntries = entries.filter(e => e.startsWith("ext:"));
|
|
127
124
|
return {
|
|
128
|
-
builtinToolNames: hasWildcard ? [...new Set([...
|
|
125
|
+
builtinToolNames: hasWildcard ? [...new Set([...BUILTIN_TOOL_NAMES, ...plain])] : plain,
|
|
129
126
|
extSelectors: extEntries.length > 0 ? extEntries : undefined,
|
|
130
127
|
};
|
|
131
128
|
}
|
|
@@ -157,3 +154,4 @@ function inheritField(val) {
|
|
|
157
154
|
const items = csvList(val, []);
|
|
158
155
|
return items.length > 0 ? items : false;
|
|
159
156
|
}
|
|
157
|
+
//# sourceMappingURL=custom-agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-agents.js","sourceRoot":"","sources":["../src/custom-agents.ts"],"names":[],"mappings":"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"}
|
package/dist/default-agents.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-agents.d.ts","sourceRoot":"","sources":["../src/default-agents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,eAAO,MAAM,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAmHlD,CAAC"}
|
package/dist/default-agents.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* default-agents.ts — Embedded default agent configurations.
|
|
4
3
|
*
|
|
5
4
|
* These are always available but can be overridden by user .md files with the same name.
|
|
6
5
|
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.DEFAULT_AGENTS = void 0;
|
|
9
6
|
const READ_ONLY_TOOLS = ["read", "bash", "grep", "find", "ls"];
|
|
10
|
-
|
|
7
|
+
export const DEFAULT_AGENTS = new Map([
|
|
11
8
|
[
|
|
12
9
|
"general-purpose",
|
|
13
10
|
{
|
|
@@ -123,3 +120,4 @@ List 3-5 files most critical for implementing this plan:
|
|
|
123
120
|
},
|
|
124
121
|
],
|
|
125
122
|
]);
|
|
123
|
+
//# sourceMappingURL=default-agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-agents.js","sourceRoot":"","sources":["../src/default-agents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,cAAc,GAA6B,IAAI,GAAG,CAAC;IAC9D;QACE,iBAAiB;QACjB;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,yRAAyR;YACtS,mFAAmF;YACnF,kGAAkG;YAClG,+GAA+G;YAC/G,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,IAAI;SAChB;KACF;IACD;QACE,SAAS;QACT;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,2mBAA2mB;YACxnB,gBAAgB,EAAE,eAAe;YACjC,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI;YACZ,2EAA2E;YAC3E,4EAA4E;YAC5E,wEAAwE;YACxE,KAAK,EAAE,4BAA4B;YACnC,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2BM;YACpB,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,IAAI;SAChB;KACF;IACD;QACE,MAAM;QACN;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,oOAAoO;YACjP,gBAAgB,EAAE,eAAe;YACjC,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CAuCyB;YACvC,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,IAAI;SAChB;KACF;CACF,CAAC,CAAC"}
|
package/dist/enabled-models.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enabled-models.d.ts","sourceRoot":"","sources":["../src/enabled-models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,IAAI,OAAO,EAAE,CAAC;IACpB,YAAY,CAAC,IAAI,OAAO,EAAE,CAAC;CAC5B;AAsBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAGnE;AAgCD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAC9B,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,GAAE,MAAsB,GAC1B,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAgCzB;AAID;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EACvC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GACnB,OAAO,CAET"}
|
package/dist/enabled-models.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Reads `enabledModels` from pi's settings (global `<agentDir>/settings.json`
|
|
4
3
|
* + project-local `<cwd>/.pi/settings.json`, project wins) and resolves
|
|
@@ -26,26 +25,22 @@
|
|
|
26
25
|
* enabledModels = ["anthropic/claude-sonnet-4-6", "anthropic/claude-opus-4-6"]
|
|
27
26
|
* → resolves to { "anthropic/claude-sonnet-4-6", "anthropic/claude-opus-4-6" }
|
|
28
27
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
exports.isModelInScope = isModelInScope;
|
|
33
|
-
const node_fs_1 = require("node:fs");
|
|
34
|
-
const node_path_1 = require("node:path");
|
|
35
|
-
const pi_coding_agent_1 = require("@earendil-works/pi-coding-agent");
|
|
28
|
+
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
29
|
+
import { join } from "node:path";
|
|
30
|
+
import { getAgentDir } from "@earendil-works/pi-coding-agent";
|
|
36
31
|
/** Paths to pi's settings.json files: [project, global] (project takes precedence). */
|
|
37
32
|
function settingsPaths(cwd) {
|
|
38
33
|
return [
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
join(cwd, ".pi", "settings.json"),
|
|
35
|
+
join(getAgentDir(), "settings.json"),
|
|
41
36
|
];
|
|
42
37
|
}
|
|
43
38
|
/** Read `enabledModels` from a single settings.json file. Undefined when missing or absent. */
|
|
44
39
|
function readField(path) {
|
|
45
|
-
if (!
|
|
40
|
+
if (!existsSync(path))
|
|
46
41
|
return undefined;
|
|
47
42
|
try {
|
|
48
|
-
const raw = JSON.parse(
|
|
43
|
+
const raw = JSON.parse(readFileSync(path, "utf-8"));
|
|
49
44
|
if (Array.isArray(raw?.enabledModels))
|
|
50
45
|
return raw.enabledModels;
|
|
51
46
|
}
|
|
@@ -60,7 +55,7 @@ function readField(path) {
|
|
|
60
55
|
* (and matches our own loadSettings precedence in src/settings.ts).
|
|
61
56
|
* Returns undefined when neither file has the field.
|
|
62
57
|
*/
|
|
63
|
-
function readEnabledModels(cwd) {
|
|
58
|
+
export function readEnabledModels(cwd) {
|
|
64
59
|
const [project, global] = settingsPaths(cwd);
|
|
65
60
|
return readField(project) ?? readField(global);
|
|
66
61
|
}
|
|
@@ -85,14 +80,14 @@ let cachedPatternsKey = "";
|
|
|
85
80
|
/** mtime+size hash of one file, or "missing" if absent. */
|
|
86
81
|
function hashOf(path) {
|
|
87
82
|
try {
|
|
88
|
-
const s =
|
|
83
|
+
const s = statSync(path);
|
|
89
84
|
return `${s.mtimeMs}-${s.size}`;
|
|
90
85
|
}
|
|
91
86
|
catch {
|
|
92
87
|
return "missing";
|
|
93
88
|
}
|
|
94
89
|
}
|
|
95
|
-
function resolveEnabledModels(patterns, registry, cwd = process.cwd()) {
|
|
90
|
+
export function resolveEnabledModels(patterns, registry, cwd = process.cwd()) {
|
|
96
91
|
// Fast path: check cache (stat both project and global settings.json files)
|
|
97
92
|
const patternsKey = JSON.stringify(patterns);
|
|
98
93
|
const [project, global] = settingsPaths(cwd);
|
|
@@ -126,7 +121,7 @@ function resolveEnabledModels(patterns, registry, cwd = process.cwd()) {
|
|
|
126
121
|
* (`provider/id` lowercase) so callers don't have to reproduce it —
|
|
127
122
|
* both set-building (resolveExact) and lookup go through `modelKey`.
|
|
128
123
|
*/
|
|
129
|
-
function isModelInScope(model, allowed) {
|
|
124
|
+
export function isModelInScope(model, allowed) {
|
|
130
125
|
return allowed.has(modelKey(model));
|
|
131
126
|
}
|
|
132
127
|
/** Canonical lowercase `provider/id` key for the allowed set. */
|
|
@@ -148,3 +143,4 @@ function resolveExact(pattern, available, allowed) {
|
|
|
148
143
|
allowed.add(modelKey(exact));
|
|
149
144
|
}
|
|
150
145
|
}
|
|
146
|
+
//# sourceMappingURL=enabled-models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enabled-models.js","sourceRoot":"","sources":["../src/enabled-models.ts"],"names":[],"mappings":"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"}
|
package/dist/env.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,wBAAsB,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyB/E"}
|
package/dist/env.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* env.ts — Detect environment info (git, platform) for subagent system prompts.
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
exports.detectEnv = detectEnv;
|
|
7
|
-
async function detectEnv(pi, cwd) {
|
|
4
|
+
export async function detectEnv(pi, cwd) {
|
|
8
5
|
let isGitRepo = false;
|
|
9
6
|
let branch = "";
|
|
10
7
|
try {
|
|
@@ -29,3 +26,4 @@ async function detectEnv(pi, cwd) {
|
|
|
29
26
|
platform: process.platform,
|
|
30
27
|
};
|
|
31
28
|
}
|
|
29
|
+
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAAgB,EAAE,GAAW;IAC3D,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1F,MAAM,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS;QACT,MAAM;QACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC"}
|
package/dist/group-join.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-join.d.ts","sourceRoot":"","sources":["../src/group-join.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAiBlF,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,YAAY;IALtB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,YAAY,CAA6B;gBAGvC,SAAS,EAAE,gBAAgB,EAC3B,YAAY,SAAkB;IAGxC,2DAA2D;IAC3D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAcxD;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM;IA0BnE,OAAO,CAAC,SAAS;IAyBjB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,YAAY;IASpB,uCAAuC;IACvC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAInC,OAAO,IAAI,IAAI;CAOhB"}
|
package/dist/group-join.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* group-join.ts — Manages grouped background agent completion notifications.
|
|
4
3
|
*
|
|
@@ -6,13 +5,11 @@
|
|
|
6
5
|
* agents in a group are held until all complete (or a timeout fires),
|
|
7
6
|
* then a single consolidated notification is sent.
|
|
8
7
|
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.GroupJoinManager = void 0;
|
|
11
8
|
/** Default timeout: 30s after first completion in a group. */
|
|
12
9
|
const DEFAULT_TIMEOUT = 30_000;
|
|
13
10
|
/** Straggler re-batch timeout: 15s. */
|
|
14
11
|
const STRAGGLER_TIMEOUT = 15_000;
|
|
15
|
-
class GroupJoinManager {
|
|
12
|
+
export class GroupJoinManager {
|
|
16
13
|
deliverCb;
|
|
17
14
|
groupTimeout;
|
|
18
15
|
groups = new Map();
|
|
@@ -117,4 +114,4 @@ class GroupJoinManager {
|
|
|
117
114
|
this.agentToGroup.clear();
|
|
118
115
|
}
|
|
119
116
|
}
|
|
120
|
-
|
|
117
|
+
//# sourceMappingURL=group-join.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-join.js","sourceRoot":"","sources":["../src/group-join.ts"],"names":[],"mappings":"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"}
|