xibecode 0.7.5 → 0.9.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/README.md +20 -44
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +9 -1457
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/run-pr.d.ts.map +1 -1
- package/dist/commands/run-pr.js +12 -1
- package/dist/commands/run-pr.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +48 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/components/AssistantMarkdown.d.ts +10 -0
- package/dist/components/AssistantMarkdown.d.ts.map +1 -0
- package/dist/components/AssistantMarkdown.js +25 -0
- package/dist/components/AssistantMarkdown.js.map +1 -0
- package/dist/components/design-system/ThemeProvider.d.ts +13 -0
- package/dist/components/design-system/ThemeProvider.d.ts.map +1 -0
- package/dist/components/design-system/ThemeProvider.js +21 -0
- package/dist/components/design-system/ThemeProvider.js.map +1 -0
- package/dist/components/design-system/ThemedBox.d.ts +18 -0
- package/dist/components/design-system/ThemedBox.d.ts.map +1 -0
- package/dist/components/design-system/ThemedBox.js +27 -0
- package/dist/components/design-system/ThemedBox.js.map +1 -0
- package/dist/components/design-system/ThemedText.d.ts +11 -0
- package/dist/components/design-system/ThemedText.d.ts.map +1 -0
- package/dist/components/design-system/ThemedText.js +23 -0
- package/dist/components/design-system/ThemedText.js.map +1 -0
- package/dist/core/agent-tool-policies.d.ts +5 -0
- package/dist/core/agent-tool-policies.d.ts.map +1 -0
- package/dist/core/agent-tool-policies.js +18 -0
- package/dist/core/agent-tool-policies.js.map +1 -0
- package/dist/core/agent.d.ts +33 -0
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +325 -101
- package/dist/core/agent.js.map +1 -1
- package/dist/core/background-agent.d.ts.map +1 -1
- package/dist/core/background-agent.js +4 -0
- package/dist/core/background-agent.js.map +1 -1
- package/dist/core/context-compactor.d.ts +10 -0
- package/dist/core/context-compactor.d.ts.map +1 -0
- package/dist/core/context-compactor.js +158 -0
- package/dist/core/context-compactor.js.map +1 -0
- package/dist/core/conversation-recovery.d.ts +9 -0
- package/dist/core/conversation-recovery.d.ts.map +1 -0
- package/dist/core/conversation-recovery.js +15 -0
- package/dist/core/conversation-recovery.js.map +1 -0
- package/dist/core/debug-workflow.d.ts +9 -0
- package/dist/core/debug-workflow.d.ts.map +1 -0
- package/dist/core/debug-workflow.js +19 -0
- package/dist/core/debug-workflow.js.map +1 -0
- package/dist/core/memory-promotions.d.ts +15 -0
- package/dist/core/memory-promotions.d.ts.map +1 -0
- package/dist/core/memory-promotions.js +38 -0
- package/dist/core/memory-promotions.js.map +1 -0
- package/dist/core/memory.d.ts +3 -1
- package/dist/core/memory.d.ts.map +1 -1
- package/dist/core/memory.js +27 -3
- package/dist/core/memory.js.map +1 -1
- package/dist/core/modes.d.ts +1 -0
- package/dist/core/modes.d.ts.map +1 -1
- package/dist/core/modes.js +94 -5
- package/dist/core/modes.js.map +1 -1
- package/dist/core/permission-store.d.ts +15 -0
- package/dist/core/permission-store.d.ts.map +1 -0
- package/dist/core/permission-store.js +30 -0
- package/dist/core/permission-store.js.map +1 -0
- package/dist/core/permissions.d.ts +33 -0
- package/dist/core/permissions.d.ts.map +1 -0
- package/dist/core/permissions.js +139 -0
- package/dist/core/permissions.js.map +1 -0
- package/dist/core/plan-artifacts.d.ts +10 -0
- package/dist/core/plan-artifacts.d.ts.map +1 -0
- package/dist/core/plan-artifacts.js +53 -0
- package/dist/core/plan-artifacts.js.map +1 -0
- package/dist/core/plan-session.d.ts +25 -0
- package/dist/core/plan-session.d.ts.map +1 -0
- package/dist/core/plan-session.js +95 -0
- package/dist/core/plan-session.js.map +1 -0
- package/dist/core/planMode.d.ts +5 -0
- package/dist/core/planMode.d.ts.map +1 -1
- package/dist/core/planMode.js +58 -3
- package/dist/core/planMode.js.map +1 -1
- package/dist/core/session-bridge.d.ts +12 -1
- package/dist/core/session-bridge.d.ts.map +1 -1
- package/dist/core/session-bridge.js +46 -0
- package/dist/core/session-bridge.js.map +1 -1
- package/dist/core/session-manager.d.ts +2 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +3 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/skill-selection.d.ts +36 -0
- package/dist/core/skill-selection.d.ts.map +1 -0
- package/dist/core/skill-selection.js +172 -0
- package/dist/core/skill-selection.js.map +1 -0
- package/dist/core/skills.d.ts +14 -0
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +51 -0
- package/dist/core/skills.js.map +1 -1
- package/dist/core/swarm.d.ts.map +1 -1
- package/dist/core/swarm.js +2 -0
- package/dist/core/swarm.js.map +1 -1
- package/dist/core/task-status.d.ts +13 -0
- package/dist/core/task-status.d.ts.map +1 -0
- package/dist/core/task-status.js +17 -0
- package/dist/core/task-status.js.map +1 -0
- package/dist/core/tool-orchestrator.d.ts +22 -0
- package/dist/core/tool-orchestrator.d.ts.map +1 -0
- package/dist/core/tool-orchestrator.js +56 -0
- package/dist/core/tool-orchestrator.js.map +1 -0
- package/dist/core/tools.d.ts +6 -0
- package/dist/core/tools.d.ts.map +1 -1
- package/dist/core/tools.js +30 -1
- package/dist/core/tools.js.map +1 -1
- package/dist/core/transcript-cleanup.d.ts +8 -0
- package/dist/core/transcript-cleanup.d.ts.map +1 -0
- package/dist/core/transcript-cleanup.js +52 -0
- package/dist/core/transcript-cleanup.js.map +1 -0
- package/dist/ink.d.ts +24 -0
- package/dist/ink.d.ts.map +1 -0
- package/dist/ink.js +56 -0
- package/dist/ink.js.map +1 -0
- package/dist/interactiveHelpers.d.ts +9 -0
- package/dist/interactiveHelpers.d.ts.map +1 -0
- package/dist/interactiveHelpers.js +20 -0
- package/dist/interactiveHelpers.js.map +1 -0
- package/dist/types/command.d.ts +24 -0
- package/dist/types/command.d.ts.map +1 -0
- package/dist/types/command.js +2 -0
- package/dist/types/command.js.map +1 -0
- package/dist/ui/claude-style-chat.d.ts +11 -0
- package/dist/ui/claude-style-chat.d.ts.map +1 -0
- package/dist/ui/claude-style-chat.js +492 -0
- package/dist/ui/claude-style-chat.js.map +1 -0
- package/dist/utils/config.d.ts +6 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/renderOptions.d.ts +7 -0
- package/dist/utils/renderOptions.d.ts.map +1 -0
- package/dist/utils/renderOptions.js +60 -0
- package/dist/utils/renderOptions.js.map +1 -0
- package/dist/utils/tool-display.d.ts +8 -0
- package/dist/utils/tool-display.d.ts.map +1 -0
- package/dist/utils/tool-display.js +213 -0
- package/dist/utils/tool-display.js.map +1 -0
- package/dist/utils/tui-theme.d.ts +78 -0
- package/dist/utils/tui-theme.d.ts.map +1 -0
- package/dist/utils/tui-theme.js +76 -0
- package/dist/utils/tui-theme.js.map +1 -0
- package/dist/webui/server.d.ts +2 -0
- package/dist/webui/server.d.ts.map +1 -1
- package/dist/webui/server.js +9 -1
- package/dist/webui/server.js.map +1 -1
- package/package.json +9 -6
- package/skills/accessibility-web.md +22 -0
- package/skills/ci-cd-github.md +20 -0
- package/skills/code-review-pr.md +25 -0
- package/skills/css-design-tokens.md +18 -0
- package/skills/data-privacy-gdpr.md +18 -0
- package/skills/database-patterns.md +21 -0
- package/skills/debug-production.md +49 -0
- package/skills/dependency-security.md +18 -0
- package/skills/docker-containers.md +19 -0
- package/skills/documentation.md +21 -0
- package/skills/go-conventions.md +19 -0
- package/skills/graphql-apis.md +18 -0
- package/skills/grpc-protobuf.md +18 -0
- package/skills/i18n-l10n.md +18 -0
- package/skills/incident-response.md +18 -0
- package/skills/java-jvm.md +18 -0
- package/skills/kubernetes-basics.md +19 -0
- package/skills/llm-integration.md +18 -0
- package/skills/message-queues-events.md +18 -0
- package/skills/microservices-boundaries.md +18 -0
- package/skills/mobile-native-ui.md +18 -0
- package/skills/mobile-responsive.md +18 -0
- package/skills/monorepo-workflows.md +18 -0
- package/skills/node-api-design.md +21 -0
- package/skills/observability-logging.md +21 -0
- package/skills/openapi-rest.md +18 -0
- package/skills/optimize-performance.md +90 -0
- package/skills/playwright-e2e.md +18 -0
- package/skills/python-quality.md +21 -0
- package/skills/react-next-patterns.md +24 -0
- package/skills/redis-caching.md +18 -0
- package/skills/refactor-clean-code.md +38 -0
- package/skills/rust-patterns.md +18 -0
- package/skills/sandbox-autonomous.md +25 -0
- package/skills/security-audit.md +79 -0
- package/skills/seo-web.md +18 -0
- package/skills/shell-scripting.md +18 -0
- package/skills/terraform-iac.md +18 -0
- package/skills/typescript-quality.md +23 -0
- package/skills/websockets-realtime.md +18 -0
- package/skills/write-tests.md +62 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/** Always injected — safe CLI/automation habits regardless of task wording. */
|
|
2
|
+
export const CORE_BUNDLED_SKILL_NAMES = ['sandbox-autonomous'];
|
|
3
|
+
const PROMPT_STOPWORDS = new Set([
|
|
4
|
+
'the',
|
|
5
|
+
'and',
|
|
6
|
+
'for',
|
|
7
|
+
'with',
|
|
8
|
+
'this',
|
|
9
|
+
'that',
|
|
10
|
+
'from',
|
|
11
|
+
'your',
|
|
12
|
+
'have',
|
|
13
|
+
'has',
|
|
14
|
+
'are',
|
|
15
|
+
'was',
|
|
16
|
+
'were',
|
|
17
|
+
'will',
|
|
18
|
+
'can',
|
|
19
|
+
'not',
|
|
20
|
+
'you',
|
|
21
|
+
'into',
|
|
22
|
+
'about',
|
|
23
|
+
'when',
|
|
24
|
+
'what',
|
|
25
|
+
'which',
|
|
26
|
+
'their',
|
|
27
|
+
'them',
|
|
28
|
+
'then',
|
|
29
|
+
'than',
|
|
30
|
+
'also',
|
|
31
|
+
'just',
|
|
32
|
+
'add',
|
|
33
|
+
'all',
|
|
34
|
+
'get',
|
|
35
|
+
'use',
|
|
36
|
+
'using',
|
|
37
|
+
'new',
|
|
38
|
+
'how',
|
|
39
|
+
'out',
|
|
40
|
+
'our',
|
|
41
|
+
'but',
|
|
42
|
+
'any',
|
|
43
|
+
'its',
|
|
44
|
+
'may',
|
|
45
|
+
'now',
|
|
46
|
+
'one',
|
|
47
|
+
'two',
|
|
48
|
+
'way',
|
|
49
|
+
'who',
|
|
50
|
+
'did',
|
|
51
|
+
'let',
|
|
52
|
+
]);
|
|
53
|
+
export function tokenizeTaskPrompt(taskPrompt) {
|
|
54
|
+
const lower = taskPrompt.toLowerCase();
|
|
55
|
+
return lower
|
|
56
|
+
.split(/[^a-z0-9]+/g)
|
|
57
|
+
.filter((t) => t.length >= 3 && !PROMPT_STOPWORDS.has(t));
|
|
58
|
+
}
|
|
59
|
+
/** dependency + devDependency names (and scoped short names) from package.json */
|
|
60
|
+
export function extractDepTokens(pkg) {
|
|
61
|
+
const out = new Set();
|
|
62
|
+
const addKey = (k) => {
|
|
63
|
+
const key = k.toLowerCase();
|
|
64
|
+
out.add(key);
|
|
65
|
+
if (key.startsWith('@')) {
|
|
66
|
+
const parts = key.split('/');
|
|
67
|
+
const short = parts[parts.length - 1];
|
|
68
|
+
if (short && short.length > 1)
|
|
69
|
+
out.add(short);
|
|
70
|
+
if (parts.length >= 2)
|
|
71
|
+
out.add(parts.slice(0, 2).join('/'));
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const merge = (obj) => {
|
|
75
|
+
if (!obj)
|
|
76
|
+
return;
|
|
77
|
+
for (const k of Object.keys(obj))
|
|
78
|
+
addKey(k);
|
|
79
|
+
};
|
|
80
|
+
merge(pkg.dependencies);
|
|
81
|
+
merge(pkg.devDependencies);
|
|
82
|
+
merge(pkg.peerDependencies);
|
|
83
|
+
merge(pkg.optionalDependencies);
|
|
84
|
+
return out;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Score how relevant a bundled skill is to the task prompt and dependency tokens.
|
|
88
|
+
*/
|
|
89
|
+
export function scoreSkillRelevance(skill, promptTokens, depTokens) {
|
|
90
|
+
const text = [skill.name, skill.description, ...(skill.tags || [])].join(' ').toLowerCase();
|
|
91
|
+
const nameLower = skill.name.toLowerCase().replace(/-/g, ' ');
|
|
92
|
+
let score = 0;
|
|
93
|
+
for (const t of promptTokens) {
|
|
94
|
+
if (t.length < 3)
|
|
95
|
+
continue;
|
|
96
|
+
if (text.includes(t) || nameLower.includes(t))
|
|
97
|
+
score += 3;
|
|
98
|
+
}
|
|
99
|
+
for (const d of depTokens) {
|
|
100
|
+
if (d.length < 2)
|
|
101
|
+
continue;
|
|
102
|
+
if (text.includes(d))
|
|
103
|
+
score += 5;
|
|
104
|
+
if (skill.name.toLowerCase().includes(d.replace(/[@/]/g, '-')))
|
|
105
|
+
score += 4;
|
|
106
|
+
}
|
|
107
|
+
// Light synonym hints when deps are empty but prompt mentions stacks
|
|
108
|
+
if (depTokens.size === 0 && promptTokens.length > 0) {
|
|
109
|
+
const joined = promptTokens.join(' ');
|
|
110
|
+
if (joined.includes('react') && (skill.name.includes('react') || text.includes('react')))
|
|
111
|
+
score += 2;
|
|
112
|
+
if (joined.includes('next') && skill.name.includes('next'))
|
|
113
|
+
score += 2;
|
|
114
|
+
}
|
|
115
|
+
return score;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Pick a subset of bundled skills: core names first, then prompt/dependency matches (score ≥ threshold),
|
|
119
|
+
* then pad to minSkills with next-best entries. Does not fill to maxSkills with unrelated skills.
|
|
120
|
+
*/
|
|
121
|
+
export function selectRelevantBuiltInSkills(builtInSkills, taskPrompt, depTokens, options) {
|
|
122
|
+
const maxSkills = Math.max(1, options?.maxSkills ?? 12);
|
|
123
|
+
const minSkills = Math.min(maxSkills, Math.max(1, options?.minSkills ?? 5));
|
|
124
|
+
const minScore = options?.minScore ?? 2;
|
|
125
|
+
if (builtInSkills.length === 0)
|
|
126
|
+
return [];
|
|
127
|
+
const byName = new Map(builtInSkills.map((s) => [s.name, s]));
|
|
128
|
+
const promptTokens = tokenizeTaskPrompt(taskPrompt);
|
|
129
|
+
const scored = builtInSkills.map((s) => ({
|
|
130
|
+
skill: s,
|
|
131
|
+
score: scoreSkillRelevance(s, promptTokens, depTokens),
|
|
132
|
+
}));
|
|
133
|
+
scored.sort((a, b) => {
|
|
134
|
+
if (b.score !== a.score)
|
|
135
|
+
return b.score - a.score;
|
|
136
|
+
return a.skill.name.localeCompare(b.skill.name);
|
|
137
|
+
});
|
|
138
|
+
const selected = [];
|
|
139
|
+
const seen = new Set();
|
|
140
|
+
for (const name of CORE_BUNDLED_SKILL_NAMES) {
|
|
141
|
+
const sk = byName.get(name);
|
|
142
|
+
if (sk && !seen.has(sk.name)) {
|
|
143
|
+
selected.push(sk);
|
|
144
|
+
seen.add(sk.name);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
for (const { skill, score } of scored) {
|
|
148
|
+
if (seen.has(skill.name))
|
|
149
|
+
continue;
|
|
150
|
+
if (selected.length >= maxSkills)
|
|
151
|
+
break;
|
|
152
|
+
if (score >= minScore) {
|
|
153
|
+
selected.push(skill);
|
|
154
|
+
seen.add(skill.name);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
for (const { skill } of scored) {
|
|
158
|
+
if (selected.length >= minSkills || selected.length >= maxSkills)
|
|
159
|
+
break;
|
|
160
|
+
if (seen.has(skill.name))
|
|
161
|
+
continue;
|
|
162
|
+
selected.push(skill);
|
|
163
|
+
seen.add(skill.name);
|
|
164
|
+
}
|
|
165
|
+
return selected.slice(0, maxSkills);
|
|
166
|
+
}
|
|
167
|
+
export function formatSelectionSummary(selected, totalBundled) {
|
|
168
|
+
if (totalBundled === 0)
|
|
169
|
+
return '';
|
|
170
|
+
return `Selected **${selected.length}** of **${totalBundled}** bundled skills for this run (from your task wording and \`package.json\` dependencies).`;
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=skill-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-selection.js","sourceRoot":"","sources":["../../src/core/skill-selection.ts"],"names":[],"mappings":"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"}
|
package/dist/core/skills.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type MarketplaceSkillResult } from './marketplace-client.js';
|
|
2
2
|
import { type SkillsShResult } from './skills-sh-client.js';
|
|
3
3
|
import { ProviderType } from '../utils/config.js';
|
|
4
|
+
import { type SkillSelectionOptions } from './skill-selection.js';
|
|
4
5
|
export interface Skill {
|
|
5
6
|
name: string;
|
|
6
7
|
description: string;
|
|
@@ -9,6 +10,8 @@ export interface Skill {
|
|
|
9
10
|
}
|
|
10
11
|
export declare class SkillManager {
|
|
11
12
|
private skills;
|
|
13
|
+
/** Skills loaded from the shipped `skills/` directory (for system-prompt injection). */
|
|
14
|
+
private builtInSkills;
|
|
12
15
|
private builtInSkillsDir;
|
|
13
16
|
private userSkillsDir;
|
|
14
17
|
private marketplace;
|
|
@@ -20,6 +23,17 @@ export declare class SkillManager {
|
|
|
20
23
|
private parseSkillFile;
|
|
21
24
|
getSkill(name: string): Skill | undefined;
|
|
22
25
|
listSkills(): Skill[];
|
|
26
|
+
/**
|
|
27
|
+
* Build the bundled-skills block for the system prompt by **selecting** skills that match
|
|
28
|
+
* the task text and `package.json` dependencies (plus a small always-on core set).
|
|
29
|
+
*/
|
|
30
|
+
buildDefaultSkillsPromptForTask(taskPrompt: string, cwd: string, options?: SkillSelectionOptions): Promise<string>;
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated Prefer `buildDefaultSkillsPromptForTask` so selection scales with many bundled skills.
|
|
33
|
+
* Formats every loaded built-in skill (no dependency-aware selection).
|
|
34
|
+
*/
|
|
35
|
+
formatBuiltInSkillsForSystemPrompt(): string;
|
|
36
|
+
private formatSelectedBuiltInSkillsForPrompt;
|
|
23
37
|
searchSkills(query: string): Skill[];
|
|
24
38
|
/**
|
|
25
39
|
* Search the Skills Marketplace for community skills
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/core/skills.js
CHANGED
|
@@ -5,10 +5,13 @@ import { dirname } from 'path';
|
|
|
5
5
|
import { crawlDocs, generateSkillFromDocs } from './docs-scraper.js';
|
|
6
6
|
import { MarketplaceClient } from './marketplace-client.js';
|
|
7
7
|
import { SkillsShClient } from './skills-sh-client.js';
|
|
8
|
+
import { extractDepTokens, selectRelevantBuiltInSkills, formatSelectionSummary, } from './skill-selection.js';
|
|
8
9
|
const __filename = fileURLToPath(import.meta.url);
|
|
9
10
|
const __dirname = dirname(__filename);
|
|
10
11
|
export class SkillManager {
|
|
11
12
|
skills = new Map();
|
|
13
|
+
/** Skills loaded from the shipped `skills/` directory (for system-prompt injection). */
|
|
14
|
+
builtInSkills = [];
|
|
12
15
|
builtInSkillsDir;
|
|
13
16
|
userSkillsDir;
|
|
14
17
|
marketplace;
|
|
@@ -29,6 +32,7 @@ export class SkillManager {
|
|
|
29
32
|
};
|
|
30
33
|
}
|
|
31
34
|
async loadSkills() {
|
|
35
|
+
this.builtInSkills = [];
|
|
32
36
|
// Load built-in skills
|
|
33
37
|
await this.loadSkillsFromDirectory(this.builtInSkillsDir, 'built-in');
|
|
34
38
|
// Load user skills (if directory exists)
|
|
@@ -50,6 +54,9 @@ export class SkillManager {
|
|
|
50
54
|
const skill = this.parseSkillFile(content, file);
|
|
51
55
|
if (skill) {
|
|
52
56
|
this.skills.set(skill.name, skill);
|
|
57
|
+
if (source === 'built-in') {
|
|
58
|
+
this.builtInSkills.push(skill);
|
|
59
|
+
}
|
|
53
60
|
}
|
|
54
61
|
}
|
|
55
62
|
}
|
|
@@ -95,6 +102,50 @@ export class SkillManager {
|
|
|
95
102
|
listSkills() {
|
|
96
103
|
return Array.from(this.skills.values());
|
|
97
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Build the bundled-skills block for the system prompt by **selecting** skills that match
|
|
107
|
+
* the task text and `package.json` dependencies (plus a small always-on core set).
|
|
108
|
+
*/
|
|
109
|
+
async buildDefaultSkillsPromptForTask(taskPrompt, cwd, options) {
|
|
110
|
+
if (this.builtInSkills.length === 0)
|
|
111
|
+
return '';
|
|
112
|
+
let depTokens = new Set();
|
|
113
|
+
try {
|
|
114
|
+
const raw = await fs.readFile(path.join(cwd, 'package.json'), 'utf-8');
|
|
115
|
+
depTokens = extractDepTokens(JSON.parse(raw));
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
/* no package.json */
|
|
119
|
+
}
|
|
120
|
+
const selected = selectRelevantBuiltInSkills(this.builtInSkills, taskPrompt, depTokens, options);
|
|
121
|
+
const summary = formatSelectionSummary(selected, this.builtInSkills.length);
|
|
122
|
+
return this.formatSelectedBuiltInSkillsForPrompt(selected, summary);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* @deprecated Prefer `buildDefaultSkillsPromptForTask` so selection scales with many bundled skills.
|
|
126
|
+
* Formats every loaded built-in skill (no dependency-aware selection).
|
|
127
|
+
*/
|
|
128
|
+
formatBuiltInSkillsForSystemPrompt() {
|
|
129
|
+
if (this.builtInSkills.length === 0)
|
|
130
|
+
return '';
|
|
131
|
+
return this.formatSelectedBuiltInSkillsForPrompt(this.builtInSkills, formatSelectionSummary(this.builtInSkills, this.builtInSkills.length));
|
|
132
|
+
}
|
|
133
|
+
formatSelectedBuiltInSkillsForPrompt(selected, selectionSummary) {
|
|
134
|
+
if (selected.length === 0)
|
|
135
|
+
return '';
|
|
136
|
+
const maxTotal = 28_000;
|
|
137
|
+
const intro = selectionSummary +
|
|
138
|
+
'\n\nApply the subsections below when they fit the work. For more domain skills, use `search_skills_sh` or add files under `.xibecode/skills`.\n\n';
|
|
139
|
+
const sorted = [...selected].sort((a, b) => a.name.localeCompare(b.name));
|
|
140
|
+
const parts = sorted.map((s) => `### ${s.name}\n*${s.description}*\n\n${s.instructions}`);
|
|
141
|
+
let body = `## Default bundled skills\n\n${intro}` + parts.join('\n\n---\n\n');
|
|
142
|
+
if (body.length > maxTotal) {
|
|
143
|
+
body =
|
|
144
|
+
body.slice(0, maxTotal) +
|
|
145
|
+
'\n\n[Bundled skills truncated for length; follow the skill titles above and general best practices.]';
|
|
146
|
+
}
|
|
147
|
+
return body;
|
|
148
|
+
}
|
|
98
149
|
searchSkills(query) {
|
|
99
150
|
const lowerQuery = query.toLowerCase();
|
|
100
151
|
return this.listSkills().filter(skill => skill.name.toLowerCase().includes(lowerQuery) ||
|
package/dist/core/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAA0B,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAA+B,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAuB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/core/swarm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../src/core/swarm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../src/core/swarm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;CACzD;AAED,qBAAa,iBAAiB;IACd,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,sBAAsB;IAE3D;;;OAGG;IACG,eAAe,CACjB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAkB,GAC9B,OAAO,CAAC,aAAa,CAAC;YA6BX,QAAQ;CA6CzB"}
|
package/dist/core/swarm.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getWorkerBlockedTools } from './agent-tool-policies.js';
|
|
1
2
|
export class SwarmOrchestrator {
|
|
2
3
|
backgroundAgent;
|
|
3
4
|
constructor(backgroundAgent) {
|
|
@@ -20,6 +21,7 @@ IMPORTANT INSTRUCTIONS:
|
|
|
20
21
|
2. Focus ONLY on this task.
|
|
21
22
|
3. When finished, you MUST output the following tag:
|
|
22
23
|
[[TASK_COMPLETE | summary=Task finished successfully]]
|
|
24
|
+
4. Never call restricted coordinator tools: ${getWorkerBlockedTools().join(', ')}.
|
|
23
25
|
`;
|
|
24
26
|
try {
|
|
25
27
|
const taskId = await this.backgroundAgent.startTask(prompt);
|
package/dist/core/swarm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/core/swarm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/core/swarm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AASjE,MAAM,OAAO,iBAAiB;IACN;IAApB,YAAoB,eAAuC;QAAvC,oBAAe,GAAf,eAAe,CAAwB;IAAI,CAAC;IAEhE;;;OAGG;IACH,KAAK,CAAC,eAAe,CACjB,IAAe,EACf,IAAY,EACZ,YAAoB,KAAK,GAAG,CAAC,CAAC,4BAA4B;;QAG1D,sEAAsE;QACtE,MAAM,MAAM,GAAG,mBAAmB,IAAI;;;EAG5C,IAAI;;;sCAGgC,IAAI;;;;8CAII,qBAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;CAC/E,CAAC;QAEM,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,4BAA4B,KAAK,CAAC,OAAO,EAAE;gBACnD,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,QAAQ;aACnB,CAAC;QACN,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,SAAiB;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,YAAY;QAEvC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAExD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,iDAAiD;gBACjD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;gBAChE,SAAS;YACb,CAAC;YAED,wBAAwB;YACxB,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC5D,OAAO;oBACH,OAAO,EAAE,IAAI,CAAC,MAAM,KAAK,WAAW;oBACpC,MAAM,EAAE,IAAI;oBACZ,MAAM;oBACN,MAAM,EAAE,IAAI,CAAC,MAAM;iBACtB,CAAC;YACN,CAAC;YAED,yEAAyE;YACzE,wFAAwF;YACxF,kGAAkG;YAClG,sFAAsF;YACtF,gFAAgF;YAChF,qFAAqF;YACrF,uEAAuE;YACvE,uDAAuD;YACvD,gEAAgE;YAChE,yBAAyB;YAEzB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,wCAAwC;YAChD,MAAM;YACN,MAAM,EAAE,SAAS;SACpB,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type TaskLifecycleStatus = 'queued' | 'running' | 'completed' | 'failed' | 'killed';
|
|
2
|
+
export interface TaskStatusSnapshot {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
status: TaskLifecycleStatus;
|
|
6
|
+
updatedAt: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class TaskStatusStore {
|
|
9
|
+
private readonly statuses;
|
|
10
|
+
upsert(id: string, label: string, status: TaskLifecycleStatus): TaskStatusSnapshot;
|
|
11
|
+
list(): TaskStatusSnapshot[];
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=task-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-status.d.ts","sourceRoot":"","sources":["../../src/core/task-status.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3F,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAElE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,kBAAkB;IAWlF,IAAI,IAAI,kBAAkB,EAAE;CAK7B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export class TaskStatusStore {
|
|
2
|
+
statuses = new Map();
|
|
3
|
+
upsert(id, label, status) {
|
|
4
|
+
const snapshot = {
|
|
5
|
+
id,
|
|
6
|
+
label,
|
|
7
|
+
status,
|
|
8
|
+
updatedAt: new Date().toISOString(),
|
|
9
|
+
};
|
|
10
|
+
this.statuses.set(id, snapshot);
|
|
11
|
+
return snapshot;
|
|
12
|
+
}
|
|
13
|
+
list() {
|
|
14
|
+
return Array.from(this.statuses.values()).sort((a, b) => Date.parse(b.updatedAt) - Date.parse(a.updatedAt));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=task-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-status.js","sourceRoot":"","sources":["../../src/core/task-status.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,eAAe;IACT,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IAElE,MAAM,CAAC,EAAU,EAAE,KAAa,EAAE,MAA2B;QAC3D,MAAM,QAAQ,GAAuB;YACnC,EAAE;YACF,KAAK;YACL,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAC5D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ToolUseBlock } from '@anthropic-ai/sdk/resources/messages';
|
|
2
|
+
export interface ToolExecutionUpdate {
|
|
3
|
+
toolUse: ToolUseBlock;
|
|
4
|
+
index: number;
|
|
5
|
+
result: any;
|
|
6
|
+
success: boolean;
|
|
7
|
+
}
|
|
8
|
+
export type ToolExecutorCallback = (toolUse: ToolUseBlock, index: number) => Promise<ToolExecutionUpdate>;
|
|
9
|
+
type ToolBatch = {
|
|
10
|
+
isConcurrent: boolean;
|
|
11
|
+
blocks: Array<{
|
|
12
|
+
toolUse: ToolUseBlock;
|
|
13
|
+
index: number;
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
16
|
+
export declare class ToolOrchestrator {
|
|
17
|
+
partition(toolUseBlocks: ToolUseBlock[]): ToolBatch[];
|
|
18
|
+
executeBatches(toolUseBlocks: ToolUseBlock[], executeTool: ToolExecutorCallback): Promise<ToolExecutionUpdate[]>;
|
|
19
|
+
private isConcurrencySafe;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=tool-orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/tool-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAkB1G,KAAK,SAAS,GAAG;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,SAAS,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE;IAkB/C,cAAc,CAClB,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,oBAAoB,GAChC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAoBjC,OAAO,CAAC,iBAAiB;CAG1B"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
const CONCURRENCY_SAFE_TOOLS = new Set([
|
|
2
|
+
'read_file',
|
|
3
|
+
'read_multiple_files',
|
|
4
|
+
'list_directory',
|
|
5
|
+
'search_files',
|
|
6
|
+
'get_context',
|
|
7
|
+
'get_git_status',
|
|
8
|
+
'get_git_changed_files',
|
|
9
|
+
'get_git_diff_summary',
|
|
10
|
+
'fetch_url',
|
|
11
|
+
'web_search',
|
|
12
|
+
'get_test_status',
|
|
13
|
+
'find_files',
|
|
14
|
+
'grep_code',
|
|
15
|
+
]);
|
|
16
|
+
export class ToolOrchestrator {
|
|
17
|
+
partition(toolUseBlocks) {
|
|
18
|
+
const batches = [];
|
|
19
|
+
for (let index = 0; index < toolUseBlocks.length; index += 1) {
|
|
20
|
+
const toolUse = toolUseBlocks[index];
|
|
21
|
+
const isConcurrent = this.isConcurrencySafe(toolUse.name);
|
|
22
|
+
const lastBatch = batches[batches.length - 1];
|
|
23
|
+
if (isConcurrent && lastBatch?.isConcurrent) {
|
|
24
|
+
lastBatch.blocks.push({ toolUse, index });
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
batches.push({
|
|
28
|
+
isConcurrent,
|
|
29
|
+
blocks: [{ toolUse, index }],
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return batches;
|
|
34
|
+
}
|
|
35
|
+
async executeBatches(toolUseBlocks, executeTool) {
|
|
36
|
+
const updates = [];
|
|
37
|
+
const batches = this.partition(toolUseBlocks);
|
|
38
|
+
for (const batch of batches) {
|
|
39
|
+
if (batch.isConcurrent) {
|
|
40
|
+
const batchUpdates = await Promise.all(batch.blocks.map(({ toolUse, index }) => executeTool(toolUse, index)));
|
|
41
|
+
updates.push(...batchUpdates);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
for (const { toolUse, index } of batch.blocks) {
|
|
45
|
+
updates.push(await executeTool(toolUse, index));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
updates.sort((a, b) => a.index - b.index);
|
|
50
|
+
return updates;
|
|
51
|
+
}
|
|
52
|
+
isConcurrencySafe(toolName) {
|
|
53
|
+
return CONCURRENCY_SAFE_TOOLS.has(toolName);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=tool-orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-orchestrator.js","sourceRoot":"","sources":["../../src/core/tool-orchestrator.ts"],"names":[],"mappings":"AAWA,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,WAAW;IACX,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,uBAAuB;IACvB,sBAAsB;IACtB,WAAW;IACX,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,WAAW;CACZ,CAAC,CAAC;AAOH,MAAM,OAAO,gBAAgB;IAC3B,SAAS,CAAC,aAA6B;QACrC,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAE,CAAC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,YAAY,IAAI,SAAS,EAAE,YAAY,EAAE,CAAC;gBAC5C,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC;oBACX,YAAY;oBACZ,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,aAA6B,EAC7B,WAAiC;QAEjC,MAAM,OAAO,GAA0B,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CACtE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC9C,OAAO,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,QAAgB;QACxC,OAAO,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF"}
|
package/dist/core/tools.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { PluginManager } from './plugins.js';
|
|
|
4
4
|
import { MCPClientManager } from './mcp-client.js';
|
|
5
5
|
import { NeuralMemory } from './memory.js';
|
|
6
6
|
import { SkillManager } from './skills.js';
|
|
7
|
+
import { PermissionManager, type PermissionMode } from './permissions.js';
|
|
7
8
|
/**
|
|
8
9
|
* Interface for tool executors
|
|
9
10
|
*
|
|
@@ -92,6 +93,7 @@ export declare class CodingToolExecutor implements ToolExecutor {
|
|
|
92
93
|
private platform;
|
|
93
94
|
private dryRun;
|
|
94
95
|
private testCommandOverride?;
|
|
96
|
+
private permissionManager;
|
|
95
97
|
/** Session-scoped tools synthesized by the agent (meta-agent). Execution is sandboxed via run_command. */
|
|
96
98
|
private dynamicTools;
|
|
97
99
|
/**
|
|
@@ -132,6 +134,7 @@ export declare class CodingToolExecutor implements ToolExecutor {
|
|
|
132
134
|
mcpClientManager?: MCPClientManager;
|
|
133
135
|
memory?: NeuralMemory;
|
|
134
136
|
skillManager?: SkillManager;
|
|
137
|
+
permissionManager?: PermissionManager;
|
|
135
138
|
});
|
|
136
139
|
private currentMode;
|
|
137
140
|
/**
|
|
@@ -155,6 +158,8 @@ export declare class CodingToolExecutor implements ToolExecutor {
|
|
|
155
158
|
* @since 0.1.0
|
|
156
159
|
*/
|
|
157
160
|
setMode(mode: AgentMode): void;
|
|
161
|
+
setPermissionMode(permissionMode: PermissionMode): void;
|
|
162
|
+
getPermissionContext(): import("./permissions.js").ToolPermissionContext;
|
|
158
163
|
/**
|
|
159
164
|
* Safely parse tool input - handles string JSON, null, undefined
|
|
160
165
|
*
|
|
@@ -164,6 +169,7 @@ export declare class CodingToolExecutor implements ToolExecutor {
|
|
|
164
169
|
* @internal
|
|
165
170
|
*/
|
|
166
171
|
private parseInput;
|
|
172
|
+
private resolveToolCategory;
|
|
167
173
|
/**
|
|
168
174
|
* Execute a tool with given input
|
|
169
175
|
*
|
package/dist/core/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"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"}
|