@trenchwork/erosolar 1.1.62 → 1.2.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/dist/capabilities/todoCapability.js +2 -2
- package/dist/capabilities/todoCapability.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/contracts/v1/agent.d.ts +12 -2
- package/dist/contracts/v1/agent.d.ts.map +1 -1
- package/dist/core/adversarialCorrection.d.ts +22 -0
- package/dist/core/adversarialCorrection.d.ts.map +1 -0
- package/dist/core/adversarialCorrection.js +25 -0
- package/dist/core/adversarialCorrection.js.map +1 -0
- package/dist/core/agent.d.ts +2 -0
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +11 -45
- package/dist/core/agent.js.map +1 -1
- package/dist/core/contextManager.d.ts.map +1 -1
- package/dist/core/contextManager.js +5 -2
- package/dist/core/contextManager.js.map +1 -1
- package/dist/core/errorClassification.d.ts +44 -0
- package/dist/core/errorClassification.d.ts.map +1 -0
- package/dist/core/errorClassification.js +333 -0
- package/dist/core/errorClassification.js.map +1 -0
- package/dist/core/failureRegistry.d.ts +30 -0
- package/dist/core/failureRegistry.d.ts.map +1 -0
- package/dist/core/failureRegistry.js +74 -0
- package/dist/core/failureRegistry.js.map +1 -0
- package/dist/core/hitl.d.ts.map +1 -1
- package/dist/core/hitl.js +8 -0
- package/dist/core/hitl.js.map +1 -1
- package/dist/core/hostedAuth.d.ts +88 -0
- package/dist/core/hostedAuth.d.ts.map +1 -0
- package/dist/core/hostedAuth.js +219 -0
- package/dist/core/hostedAuth.js.map +1 -0
- package/dist/core/quota.d.ts +61 -0
- package/dist/core/quota.d.ts.map +1 -0
- package/dist/core/quota.js +104 -0
- package/dist/core/quota.js.map +1 -0
- package/dist/core/quotaErrors.d.ts.map +1 -1
- package/dist/core/quotaErrors.js +3 -5
- package/dist/core/quotaErrors.js.map +1 -1
- package/dist/core/resultVerification.d.ts +3 -2
- package/dist/core/resultVerification.d.ts.map +1 -1
- package/dist/core/resultVerification.js +3 -2
- package/dist/core/resultVerification.js.map +1 -1
- package/dist/core/secretStore.d.ts +11 -0
- package/dist/core/secretStore.d.ts.map +1 -1
- package/dist/core/secretStore.js +25 -0
- package/dist/core/secretStore.js.map +1 -1
- package/dist/core/slashCommands.d.ts.map +1 -1
- package/dist/core/slashCommands.js +4 -0
- package/dist/core/slashCommands.js.map +1 -1
- package/dist/core/thinkingVerbs.d.ts +31 -0
- package/dist/core/thinkingVerbs.d.ts.map +1 -0
- package/dist/core/thinkingVerbs.js +58 -0
- package/dist/core/thinkingVerbs.js.map +1 -0
- package/dist/core/turnGovernor.d.ts +63 -0
- package/dist/core/turnGovernor.d.ts.map +1 -0
- package/dist/core/turnGovernor.js +94 -0
- package/dist/core/turnGovernor.js.map +1 -0
- package/dist/core/updateChecker.d.ts.map +1 -1
- package/dist/core/updateChecker.js +5 -1
- package/dist/core/updateChecker.js.map +1 -1
- package/dist/core/usage.d.ts +28 -0
- package/dist/core/usage.d.ts.map +1 -0
- package/dist/core/usage.js +77 -0
- package/dist/core/usage.js.map +1 -0
- package/dist/headless/interactiveShell.d.ts +6 -0
- package/dist/headless/interactiveShell.d.ts.map +1 -1
- package/dist/headless/interactiveShell.js +262 -42
- package/dist/headless/interactiveShell.js.map +1 -1
- package/dist/plugins/providers/deepseek/index.d.ts.map +1 -1
- package/dist/plugins/providers/deepseek/index.js +8 -5
- package/dist/plugins/providers/deepseek/index.js.map +1 -1
- package/dist/providers/baseProvider.d.ts +5 -13
- package/dist/providers/baseProvider.d.ts.map +1 -1
- package/dist/providers/baseProvider.js +12 -66
- package/dist/providers/baseProvider.js.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.js +27 -76
- package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
- package/dist/providers/resilientProvider.d.ts +2 -9
- package/dist/providers/resilientProvider.d.ts.map +1 -1
- package/dist/providers/resilientProvider.js +13 -199
- package/dist/providers/resilientProvider.js.map +1 -1
- package/dist/runtime/agentController.d.ts.map +1 -1
- package/dist/runtime/agentController.js +7 -0
- package/dist/runtime/agentController.js.map +1 -1
- package/dist/shell/toolPresentation.d.ts +7 -0
- package/dist/shell/toolPresentation.d.ts.map +1 -1
- package/dist/shell/toolPresentation.js +78 -4
- package/dist/shell/toolPresentation.js.map +1 -1
- package/dist/tools/bashTools.d.ts.map +1 -1
- package/dist/tools/bashTools.js +9 -3
- package/dist/tools/bashTools.js.map +1 -1
- package/dist/tools/grepTools.d.ts.map +1 -1
- package/dist/tools/grepTools.js +10 -1
- package/dist/tools/grepTools.js.map +1 -1
- package/dist/tools/memoryTools.d.ts +7 -0
- package/dist/tools/memoryTools.d.ts.map +1 -1
- package/dist/tools/memoryTools.js +17 -0
- package/dist/tools/memoryTools.js.map +1 -1
- package/dist/tools/searchTools.d.ts.map +1 -1
- package/dist/tools/searchTools.js +5 -4
- package/dist/tools/searchTools.js.map +1 -1
- package/dist/tools/todoTools.d.ts +3 -4
- package/dist/tools/todoTools.d.ts.map +1 -1
- package/dist/tools/todoTools.js +23 -4
- package/dist/tools/todoTools.js.map +1 -1
- package/dist/tools/webTools.d.ts.map +1 -1
- package/dist/tools/webTools.js +3 -1
- package/dist/tools/webTools.js.map +1 -1
- package/dist/ui/ink/ChatStatic.d.ts.map +1 -1
- package/dist/ui/ink/ChatStatic.js +21 -5
- package/dist/ui/ink/ChatStatic.js.map +1 -1
- package/dist/ui/ink/InkPromptController.d.ts +5 -0
- package/dist/ui/ink/InkPromptController.d.ts.map +1 -1
- package/dist/ui/ink/InkPromptController.js +16 -6
- package/dist/ui/ink/InkPromptController.js.map +1 -1
- package/dist/ui/ink/Prompt.d.ts +6 -0
- package/dist/ui/ink/Prompt.d.ts.map +1 -1
- package/dist/ui/ink/Prompt.js +69 -10
- package/dist/ui/ink/Prompt.js.map +1 -1
- package/dist/ui/ink/StatusLine.d.ts +6 -0
- package/dist/ui/ink/StatusLine.d.ts.map +1 -1
- package/dist/ui/ink/StatusLine.js +17 -3
- package/dist/ui/ink/StatusLine.js.map +1 -1
- package/dist/ui/ink/pasteBuffer.d.ts +44 -0
- package/dist/ui/ink/pasteBuffer.d.ts.map +1 -0
- package/dist/ui/ink/pasteBuffer.js +73 -0
- package/dist/ui/ink/pasteBuffer.js.map +1 -0
- package/package.json +1 -1
- package/dist/core/index.d.ts +0 -7
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -7
- package/dist/core/index.js.map +0 -1
- package/dist/core/providerKeys.d.ts +0 -20
- package/dist/core/providerKeys.d.ts.map +0 -1
- package/dist/core/providerKeys.js +0 -40
- package/dist/core/providerKeys.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -49
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -104
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +0 -10
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +0 -110
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +0 -1
- package/dist/plugins/tools/bash/localBashPlugin.d.ts +0 -3
- package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/bash/localBashPlugin.js +0 -14
- package/dist/plugins/tools/bash/localBashPlugin.js.map +0 -1
- package/dist/plugins/tools/edit/editPlugin.d.ts +0 -9
- package/dist/plugins/tools/edit/editPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/edit/editPlugin.js +0 -15
- package/dist/plugins/tools/edit/editPlugin.js.map +0 -1
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +0 -3
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +0 -9
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +0 -1
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +0 -3
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +0 -14
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +0 -1
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts +0 -3
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js +0 -9
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js.map +0 -1
- package/dist/plugins/tools/index.d.ts +0 -3
- package/dist/plugins/tools/index.d.ts.map +0 -1
- package/dist/plugins/tools/index.js +0 -3
- package/dist/plugins/tools/index.js.map +0 -1
- package/dist/plugins/tools/integrity/integrityPlugin.d.ts +0 -3
- package/dist/plugins/tools/integrity/integrityPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/integrity/integrityPlugin.js +0 -31
- package/dist/plugins/tools/integrity/integrityPlugin.js.map +0 -1
- package/dist/plugins/tools/mcp/mcpPlugin.d.ts +0 -3
- package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/mcp/mcpPlugin.js +0 -27
- package/dist/plugins/tools/mcp/mcpPlugin.js.map +0 -1
- package/dist/plugins/tools/nodeDefaults.d.ts +0 -13
- package/dist/plugins/tools/nodeDefaults.d.ts.map +0 -1
- package/dist/plugins/tools/nodeDefaults.js +0 -33
- package/dist/plugins/tools/nodeDefaults.js.map +0 -1
- package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts +0 -3
- package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/orchestration/orchestrationPlugin.js +0 -340
- package/dist/plugins/tools/orchestration/orchestrationPlugin.js.map +0 -1
- package/dist/plugins/tools/registry.d.ts +0 -22
- package/dist/plugins/tools/registry.d.ts.map +0 -1
- package/dist/plugins/tools/registry.js +0 -58
- package/dist/plugins/tools/registry.js.map +0 -1
- package/dist/plugins/tools/search/localSearchPlugin.d.ts +0 -3
- package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/search/localSearchPlugin.js +0 -14
- package/dist/plugins/tools/search/localSearchPlugin.js.map +0 -1
- package/dist/plugins/tools/skills/skillPlugin.d.ts +0 -3
- package/dist/plugins/tools/skills/skillPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/skills/skillPlugin.js +0 -27
- package/dist/plugins/tools/skills/skillPlugin.js.map +0 -1
- package/dist/plugins/tools/todo/todoPlugin.d.ts +0 -3
- package/dist/plugins/tools/todo/todoPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/todo/todoPlugin.js +0 -10
- package/dist/plugins/tools/todo/todoPlugin.js.map +0 -1
- package/dist/runtime/agentWorkerPool.d.ts +0 -167
- package/dist/runtime/agentWorkerPool.d.ts.map +0 -1
- package/dist/runtime/agentWorkerPool.js +0 -435
- package/dist/runtime/agentWorkerPool.js.map +0 -1
- package/dist/shell/autoExecutor.d.ts +0 -70
- package/dist/shell/autoExecutor.d.ts.map +0 -1
- package/dist/shell/autoExecutor.js +0 -320
- package/dist/shell/autoExecutor.js.map +0 -1
- package/dist/shell/commandRegistry.d.ts +0 -122
- package/dist/shell/commandRegistry.d.ts.map +0 -1
- package/dist/shell/commandRegistry.js +0 -355
- package/dist/shell/commandRegistry.js.map +0 -1
- package/dist/shell/composableMessage.d.ts +0 -178
- package/dist/shell/composableMessage.d.ts.map +0 -1
- package/dist/shell/composableMessage.js +0 -384
- package/dist/shell/composableMessage.js.map +0 -1
- package/dist/shell/vimMode.d.ts +0 -66
- package/dist/shell/vimMode.d.ts.map +0 -1
- package/dist/shell/vimMode.js +0 -435
- package/dist/shell/vimMode.js.map +0 -1
- package/dist/tools/localExplore.d.ts +0 -38
- package/dist/tools/localExplore.d.ts.map +0 -1
- package/dist/tools/localExplore.js +0 -30
- package/dist/tools/localExplore.js.map +0 -1
package/dist/core/index.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core Layer - Erosolar CLI Core Systems
|
|
3
|
-
*/
|
|
4
|
-
export { checkForUpdates, maybeAutoUpdate, formatUpdateNotification, formatUpdateBanner, getUpdateDecision, shouldShowUpdateNotification, readAutoUpdateState, performBackgroundUpdate, performUpdate, updateAndContinue, installPackageVersion, runNpmInstall, saveSessionState, loadSessionState, clearSessionState, hasPendingSession, } from './updateChecker.js';
|
|
5
|
-
export { loadModelPreference, saveModelPreference, loadSessionPreferences, saveSessionPreferences, loadFeatureFlags, saveFeatureFlags, } from './preferences.js';
|
|
6
|
-
export { InputProtection, initializeInputProtection, getInputProtection, validateChatInput, validatePromptSubmit, } from './inputProtection.js';
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAKlB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,GAGjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GAIrB,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provider key resolution utilities.
|
|
3
|
-
* Supports user-supplied overrides (USER_<KEY>) with environment fallbacks.
|
|
4
|
-
* If neither is set, reports as missing so the runtime can prompt the user.
|
|
5
|
-
*/
|
|
6
|
-
export type KeySource = 'user' | 'env' | 'missing';
|
|
7
|
-
export interface ResolvedKey {
|
|
8
|
-
name: string;
|
|
9
|
-
value?: string;
|
|
10
|
-
source: KeySource;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Resolves a list of keys, preferring user-supplied overrides.
|
|
14
|
-
*/
|
|
15
|
-
export declare function resolveKeys(names: string[]): ResolvedKey[];
|
|
16
|
-
/**
|
|
17
|
-
* Builds a user-facing message listing missing keys and how to provide them.
|
|
18
|
-
*/
|
|
19
|
-
export declare function buildMissingKeyMessage(names: string[]): string | null;
|
|
20
|
-
//# sourceMappingURL=providerKeys.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"providerKeys.d.ts","sourceRoot":"","sources":["../../src/core/providerKeys.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;CACnB;AAcD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAYrE"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provider key resolution utilities.
|
|
3
|
-
* Supports user-supplied overrides (USER_<KEY>) with environment fallbacks.
|
|
4
|
-
* If neither is set, reports as missing so the runtime can prompt the user.
|
|
5
|
-
*/
|
|
6
|
-
function pickKey(name) {
|
|
7
|
-
const user = process.env[`USER_${name}`];
|
|
8
|
-
if (user && user !== 'CHANGE_ME') {
|
|
9
|
-
return { name, value: user, source: 'user' };
|
|
10
|
-
}
|
|
11
|
-
const env = process.env[name];
|
|
12
|
-
if (env && env !== 'CHANGE_ME') {
|
|
13
|
-
return { name, value: env, source: 'env' };
|
|
14
|
-
}
|
|
15
|
-
return { name, source: 'missing' };
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Resolves a list of keys, preferring user-supplied overrides.
|
|
19
|
-
*/
|
|
20
|
-
export function resolveKeys(names) {
|
|
21
|
-
return names.map((n) => pickKey(n));
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Builds a user-facing message listing missing keys and how to provide them.
|
|
25
|
-
*/
|
|
26
|
-
export function buildMissingKeyMessage(names) {
|
|
27
|
-
const resolved = resolveKeys(names);
|
|
28
|
-
const missing = resolved.filter((r) => r.source === 'missing').map((r) => r.name);
|
|
29
|
-
if (missing.length === 0)
|
|
30
|
-
return null;
|
|
31
|
-
const lines = [
|
|
32
|
-
'The following API keys or connections are missing:',
|
|
33
|
-
...missing.map((m) => `- ${m} (set USER_${m} for user-scoped, or ${m} for env-scoped)`),
|
|
34
|
-
'',
|
|
35
|
-
'You can provide user-scoped keys by setting USER_<KEY> (preferred for per-user billing),',
|
|
36
|
-
'or set the env var globally if you intend to bill via platform keys.',
|
|
37
|
-
];
|
|
38
|
-
return lines.join('\n');
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=providerKeys.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"providerKeys.js","sourceRoot":"","sources":["../../src/core/providerKeys.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACzC,IAAI,IAAI,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAe;IACzC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAe;IACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,KAAK,GAAG;QACZ,oDAAoD;QACpD,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,wBAAwB,CAAC,kBAAkB,CAAC;QACvF,EAAE;QACF,0FAA0F;QAC1F,sEAAsE;KACvE,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/plugins/index.d.ts
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin System - Root Index
|
|
3
|
-
*
|
|
4
|
-
* Aggregates all plugin functionality for easy import.
|
|
5
|
-
*
|
|
6
|
-
* Principal Investigator: Bo Shang
|
|
7
|
-
* Framework: agi-cli
|
|
8
|
-
*/
|
|
9
|
-
export { registerToolPlugin, unregisterToolPlugin, listRegisteredToolPlugins, instantiateToolPlugins, type ToolPlugin, type ToolPluginContext, type ToolPluginTarget, } from './tools/index.js';
|
|
10
|
-
export { registerDefaultNodeToolPlugins } from './tools/nodeDefaults.js';
|
|
11
|
-
export interface LoadedPlugin {
|
|
12
|
-
id: string;
|
|
13
|
-
name: string;
|
|
14
|
-
version: string;
|
|
15
|
-
enabled: boolean;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Register a plugin as loaded
|
|
19
|
-
*/
|
|
20
|
-
export declare function markPluginLoaded(plugin: LoadedPlugin): void;
|
|
21
|
-
/**
|
|
22
|
-
* Get a loaded plugin by ID
|
|
23
|
-
*/
|
|
24
|
-
export declare function getLoadedPlugin(id: string): LoadedPlugin | undefined;
|
|
25
|
-
/**
|
|
26
|
-
* List all loaded plugins
|
|
27
|
-
*/
|
|
28
|
-
export declare function listLoadedPlugins(): LoadedPlugin[];
|
|
29
|
-
/**
|
|
30
|
-
* List available plugins (combines loaded + builtin)
|
|
31
|
-
*/
|
|
32
|
-
export declare function listAvailablePlugins(): string[];
|
|
33
|
-
/**
|
|
34
|
-
* Get all plugin tool suites
|
|
35
|
-
*/
|
|
36
|
-
export declare function getAllPluginToolSuites(): LoadedPlugin[];
|
|
37
|
-
/**
|
|
38
|
-
* Load a plugin by ID
|
|
39
|
-
*/
|
|
40
|
-
export declare function loadPlugin(id: string): Promise<LoadedPlugin | null>;
|
|
41
|
-
/**
|
|
42
|
-
* Get plugin IDs from command line flags
|
|
43
|
-
*/
|
|
44
|
-
export declare function getPluginIdsFromFlags(flags: Record<string, boolean>): string[];
|
|
45
|
-
/**
|
|
46
|
-
* Builtin plugin identifiers
|
|
47
|
-
*/
|
|
48
|
-
export declare const BUILTIN_PLUGINS: readonly ["tool.filesystem.local", "tool.bash.local", "tool.search.local", "tool.edit", "tool.enhanced-git", "tool.git-history"];
|
|
49
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAGzE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAS/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,EAAE,CAEvD;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAsBzE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAkB9E;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,kIAOlB,CAAC"}
|
package/dist/plugins/index.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin System - Root Index
|
|
3
|
-
*
|
|
4
|
-
* Aggregates all plugin functionality for easy import.
|
|
5
|
-
*
|
|
6
|
-
* Principal Investigator: Bo Shang
|
|
7
|
-
* Framework: agi-cli
|
|
8
|
-
*/
|
|
9
|
-
// Re-export tool plugin system
|
|
10
|
-
export { registerToolPlugin, unregisterToolPlugin, listRegisteredToolPlugins, instantiateToolPlugins, } from './tools/index.js';
|
|
11
|
-
export { registerDefaultNodeToolPlugins } from './tools/nodeDefaults.js';
|
|
12
|
-
// Track loaded plugins
|
|
13
|
-
const loadedPlugins = new Map();
|
|
14
|
-
/**
|
|
15
|
-
* Register a plugin as loaded
|
|
16
|
-
*/
|
|
17
|
-
export function markPluginLoaded(plugin) {
|
|
18
|
-
loadedPlugins.set(plugin.id, plugin);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Get a loaded plugin by ID
|
|
22
|
-
*/
|
|
23
|
-
export function getLoadedPlugin(id) {
|
|
24
|
-
return loadedPlugins.get(id);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* List all loaded plugins
|
|
28
|
-
*/
|
|
29
|
-
export function listLoadedPlugins() {
|
|
30
|
-
return Array.from(loadedPlugins.values());
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* List available plugins (combines loaded + builtin)
|
|
34
|
-
*/
|
|
35
|
-
export function listAvailablePlugins() {
|
|
36
|
-
const available = new Set();
|
|
37
|
-
for (const id of BUILTIN_PLUGINS) {
|
|
38
|
-
available.add(id);
|
|
39
|
-
}
|
|
40
|
-
for (const id of loadedPlugins.keys()) {
|
|
41
|
-
available.add(id);
|
|
42
|
-
}
|
|
43
|
-
return Array.from(available);
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Get all plugin tool suites
|
|
47
|
-
*/
|
|
48
|
-
export function getAllPluginToolSuites() {
|
|
49
|
-
return listLoadedPlugins().filter((p) => p.enabled);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Load a plugin by ID
|
|
53
|
-
*/
|
|
54
|
-
export async function loadPlugin(id) {
|
|
55
|
-
// Check if already loaded
|
|
56
|
-
const existing = loadedPlugins.get(id);
|
|
57
|
-
if (existing) {
|
|
58
|
-
return existing;
|
|
59
|
-
}
|
|
60
|
-
// Check if it's a builtin plugin
|
|
61
|
-
if (!BUILTIN_PLUGINS.includes(id)) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
// Create a loaded plugin entry
|
|
65
|
-
const plugin = {
|
|
66
|
-
id,
|
|
67
|
-
name: id.replace(/-/g, ' ').replace(/\b\w/g, (c) => c.toUpperCase()),
|
|
68
|
-
version: '1.0.0',
|
|
69
|
-
enabled: true,
|
|
70
|
-
};
|
|
71
|
-
loadedPlugins.set(id, plugin);
|
|
72
|
-
return plugin;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Get plugin IDs from command line flags
|
|
76
|
-
*/
|
|
77
|
-
export function getPluginIdsFromFlags(flags) {
|
|
78
|
-
const ids = new Set();
|
|
79
|
-
// Convenience flags
|
|
80
|
-
if (flags['allPlugins']) {
|
|
81
|
-
BUILTIN_PLUGINS.forEach((id) => ids.add(id));
|
|
82
|
-
}
|
|
83
|
-
if (flags['coding']) {
|
|
84
|
-
ids.add('tool.enhanced-git');
|
|
85
|
-
}
|
|
86
|
-
for (const [flag, enabled] of Object.entries(flags)) {
|
|
87
|
-
if (enabled && BUILTIN_PLUGINS.includes(flag)) {
|
|
88
|
-
ids.add(flag);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return Array.from(ids);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Builtin plugin identifiers
|
|
95
|
-
*/
|
|
96
|
-
export const BUILTIN_PLUGINS = [
|
|
97
|
-
'tool.filesystem.local',
|
|
98
|
-
'tool.bash.local',
|
|
99
|
-
'tool.search.local',
|
|
100
|
-
'tool.edit',
|
|
101
|
-
'tool.enhanced-git',
|
|
102
|
-
'tool.git-history',
|
|
103
|
-
];
|
|
104
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { ToolPlugin } from '../registry.js';
|
|
2
|
-
import type { LLMProvider } from '../../../core/types.js';
|
|
3
|
-
export interface AgentSpawningOptions {
|
|
4
|
-
provider: LLMProvider;
|
|
5
|
-
workingDir?: string;
|
|
6
|
-
providerId?: string;
|
|
7
|
-
modelId?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare function createAgentSpawningToolPlugin(options: AgentSpawningOptions): ToolPlugin;
|
|
10
|
-
//# sourceMappingURL=agentSpawningPlugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agentSpawningPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/agentSpawning/agentSpawningPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAmB1D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAiHD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAMvF"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { LeanAgent } from '../../../leanAgent.js';
|
|
2
|
-
/** Maximum number of parallel sub-agents */
|
|
3
|
-
const MAX_CONCURRENCY = 5;
|
|
4
|
-
class AgentSpawningModule {
|
|
5
|
-
options;
|
|
6
|
-
id = 'tool.agent-spawning';
|
|
7
|
-
description = 'Spawn parallel sub-agents for independent tasks.';
|
|
8
|
-
constructor(options) {
|
|
9
|
-
this.options = options;
|
|
10
|
-
}
|
|
11
|
-
async create() {
|
|
12
|
-
const opts = this.options;
|
|
13
|
-
const tools = [
|
|
14
|
-
{
|
|
15
|
-
name: 'parallel_agents',
|
|
16
|
-
description: 'Execute multiple independent tasks in parallel using sub-agents. ' +
|
|
17
|
-
'Each sub-agent gets its own tool suite (filesystem, edit, bash, search, git, web) and works independently. ' +
|
|
18
|
-
'Use this when you need to perform several independent operations simultaneously ' +
|
|
19
|
-
'(e.g., creating multiple files, searching in different places, running independent edits). ' +
|
|
20
|
-
'Do NOT use for tasks that depend on each other or for single small tasks.\n\n' +
|
|
21
|
-
'Parameter `tasks`: A JSON string encoding an array of objects, each with:\n' +
|
|
22
|
-
' - id: unique string identifier for the task\n' +
|
|
23
|
-
' - description: short label (3-5 words)\n' +
|
|
24
|
-
' - prompt: full instructions for the sub-agent',
|
|
25
|
-
parameters: {
|
|
26
|
-
type: 'object',
|
|
27
|
-
properties: {
|
|
28
|
-
tasks: {
|
|
29
|
-
type: 'string',
|
|
30
|
-
description: 'JSON array of task objects: [{"id":"string","description":"short label","prompt":"full instructions"}]',
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
required: ['tasks'],
|
|
34
|
-
},
|
|
35
|
-
handler: async (args) => {
|
|
36
|
-
let taskSpecs;
|
|
37
|
-
try {
|
|
38
|
-
taskSpecs = JSON.parse(args.tasks);
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
return 'Error: Could not parse tasks JSON. Provide a valid JSON array of {id, description, prompt} objects.';
|
|
42
|
-
}
|
|
43
|
-
if (!Array.isArray(taskSpecs) || taskSpecs.length === 0) {
|
|
44
|
-
return 'Error: tasks must be a non-empty JSON array.';
|
|
45
|
-
}
|
|
46
|
-
if (taskSpecs.length > MAX_CONCURRENCY) {
|
|
47
|
-
return `Error: Maximum ${MAX_CONCURRENCY} parallel tasks allowed. Got ${taskSpecs.length}.`;
|
|
48
|
-
}
|
|
49
|
-
// Validate each task
|
|
50
|
-
for (const t of taskSpecs) {
|
|
51
|
-
if (!t.id || !t.prompt) {
|
|
52
|
-
return `Error: Each task must have "id" and "prompt" fields. Invalid task: ${JSON.stringify(t)}`;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
// Execute tasks in parallel
|
|
56
|
-
const results = await Promise.all(taskSpecs.map(async (task) => {
|
|
57
|
-
try {
|
|
58
|
-
const subAgent = new LeanAgent({
|
|
59
|
-
provider: opts.provider,
|
|
60
|
-
workingDir: opts.workingDir ?? process.cwd(),
|
|
61
|
-
providerId: opts.providerId,
|
|
62
|
-
modelId: opts.modelId,
|
|
63
|
-
systemPrompt: 'You are a focused sub-agent executing a specific task. ' +
|
|
64
|
-
'Complete the task efficiently and report what you did. ' +
|
|
65
|
-
`Working directory: ${opts.workingDir ?? process.cwd()}`,
|
|
66
|
-
});
|
|
67
|
-
const response = await subAgent.chat(task.prompt, false);
|
|
68
|
-
return {
|
|
69
|
-
id: task.id,
|
|
70
|
-
description: task.description || task.id,
|
|
71
|
-
success: true,
|
|
72
|
-
output: response.content,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
return {
|
|
77
|
-
id: task.id,
|
|
78
|
-
description: task.description || task.id,
|
|
79
|
-
success: false,
|
|
80
|
-
output: `Error: ${error.message}`,
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
}));
|
|
84
|
-
// Format results
|
|
85
|
-
const lines = [`Parallel execution complete: ${results.length} tasks`];
|
|
86
|
-
for (const r of results) {
|
|
87
|
-
const status = r.success ? 'OK' : 'FAILED';
|
|
88
|
-
lines.push(`\n--- [${status}] ${r.id}: ${r.description} ---`);
|
|
89
|
-
lines.push(r.output);
|
|
90
|
-
}
|
|
91
|
-
return lines.join('\n');
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
];
|
|
95
|
-
const toolSuite = {
|
|
96
|
-
id: 'agent-spawning.tools',
|
|
97
|
-
description: 'Parallel agent spawning tools',
|
|
98
|
-
tools,
|
|
99
|
-
};
|
|
100
|
-
return { id: this.id, description: this.description, toolSuite };
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
export function createAgentSpawningToolPlugin(options) {
|
|
104
|
-
return {
|
|
105
|
-
id: 'tool.agent-spawning',
|
|
106
|
-
targets: ['universal'],
|
|
107
|
-
create: () => new AgentSpawningModule(options),
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=agentSpawningPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agentSpawningPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/agentSpawning/agentSpawningPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localBashPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/bash/localBashPlugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wBAAgB,yBAAyB,IAAI,UAAU,CAWtD"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { BashCapabilityModule } from '../../../capabilities/bashCapability.js';
|
|
2
|
-
export function createLocalBashToolPlugin() {
|
|
3
|
-
return {
|
|
4
|
-
id: 'tool.bash.local',
|
|
5
|
-
description: 'Local bash execution with sandbox awareness.',
|
|
6
|
-
targets: ['node', 'cloud'],
|
|
7
|
-
create: (context) => {
|
|
8
|
-
return new BashCapabilityModule({
|
|
9
|
-
workingDir: context.workingDir,
|
|
10
|
-
});
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=localBashPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localBashPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/bash/localBashPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAG/E,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAClB,OAAO,IAAI,oBAAoB,CAAC;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ToolPlugin } from '../registry.js';
|
|
2
|
-
/**
|
|
3
|
-
* Edit Tool Plugin
|
|
4
|
-
*
|
|
5
|
-
* Registers the Edit capability for surgical file modifications.
|
|
6
|
-
* Available in node and cloud runtimes.
|
|
7
|
-
*/
|
|
8
|
-
export declare function createEditToolPlugin(): ToolPlugin;
|
|
9
|
-
//# sourceMappingURL=editPlugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/edit/editPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,CAMjD"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { EditCapabilityModule } from '../../../capabilities/editCapability.js';
|
|
2
|
-
/**
|
|
3
|
-
* Edit Tool Plugin
|
|
4
|
-
*
|
|
5
|
-
* Registers the Edit capability for surgical file modifications.
|
|
6
|
-
* Available in node and cloud runtimes.
|
|
7
|
-
*/
|
|
8
|
-
export function createEditToolPlugin() {
|
|
9
|
-
return {
|
|
10
|
-
id: 'tool.edit',
|
|
11
|
-
targets: ['node', 'cloud'],
|
|
12
|
-
create: () => new EditCapabilityModule(),
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=editPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/edit/editPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,EAAE,EAAE,WAAW;QACf,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAoB,EAAE;KACzC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhancedGitPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/enhancedGit/enhancedGitPlugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wBAAgB,2BAA2B,IAAI,UAAU,CAMxD"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { EnhancedGitCapabilityModule } from '../../../capabilities/enhancedGitCapability.js';
|
|
2
|
-
export function createEnhancedGitToolPlugin() {
|
|
3
|
-
return {
|
|
4
|
-
id: 'tool.enhanced-git',
|
|
5
|
-
targets: ['node', 'cloud'],
|
|
6
|
-
create: () => new EnhancedGitCapabilityModule(),
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=enhancedGitPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhancedGitPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/enhancedGit/enhancedGitPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAG7F,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,EAAE,EAAE,mBAAmB;QACvB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,2BAA2B,EAAE;KAChD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localFilesystemPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/filesystem/localFilesystemPlugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wBAAgB,+BAA+B,IAAI,UAAU,CAW5D"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { FilesystemCapabilityModule } from '../../../capabilities/filesystemCapability.js';
|
|
2
|
-
export function createLocalFilesystemToolPlugin() {
|
|
3
|
-
return {
|
|
4
|
-
id: 'tool.filesystem.local',
|
|
5
|
-
description: 'Local file system access for Node/Cloud runtimes.',
|
|
6
|
-
targets: ['node', 'cloud'],
|
|
7
|
-
create: (context) => {
|
|
8
|
-
return new FilesystemCapabilityModule({
|
|
9
|
-
workingDir: context.workingDir,
|
|
10
|
-
});
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=localFilesystemPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localFilesystemPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/filesystem/localFilesystemPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAG3F,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,mDAAmD;QAChE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAClB,OAAO,IAAI,0BAA0B,CAAC;gBACpC,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gitHistoryPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/gitHistory/gitHistoryPlugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wBAAgB,0BAA0B,IAAI,UAAU,CAMvD"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { GitHistoryCapabilityModule } from '../../../capabilities/gitHistoryCapability.js';
|
|
2
|
-
export function createGitHistoryToolPlugin() {
|
|
3
|
-
return {
|
|
4
|
-
id: 'tool.git-history',
|
|
5
|
-
targets: ['node', 'cloud'],
|
|
6
|
-
create: () => new GitHistoryCapabilityModule(),
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=gitHistoryPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gitHistoryPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/gitHistory/gitHistoryPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAG3F,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,EAAE,EAAE,kBAAkB;QACtB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,0BAA0B,EAAE;KAC/C,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { registerToolPlugin, unregisterToolPlugin, listRegisteredToolPlugins, instantiateToolPlugins, type ToolPlugin, type ToolPluginContext, type ToolPluginTarget, } from './registry.js';
|
|
2
|
-
export { registerDefaultNodeToolPlugins } from './nodeDefaults.js';
|
|
3
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,GAIvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"integrityPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/integrity/integrityPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA6BjD,wBAAgB,yBAAyB,IAAI,UAAU,CAMtD"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
class IntegrityCapabilityModule {
|
|
2
|
-
id = 'tool.integrity';
|
|
3
|
-
description = 'Integrity and validation helpers';
|
|
4
|
-
async create() {
|
|
5
|
-
const tools = [
|
|
6
|
-
{
|
|
7
|
-
name: 'integrity_check',
|
|
8
|
-
description: 'Verify workspace integrity.',
|
|
9
|
-
handler: async () => 'Integrity check passed',
|
|
10
|
-
},
|
|
11
|
-
];
|
|
12
|
-
const toolSuite = {
|
|
13
|
-
id: 'integrity.tools',
|
|
14
|
-
description: 'Integrity utilities',
|
|
15
|
-
tools,
|
|
16
|
-
};
|
|
17
|
-
return {
|
|
18
|
-
id: this.id,
|
|
19
|
-
description: this.description,
|
|
20
|
-
toolSuite,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export function createIntegrityToolPlugin() {
|
|
25
|
-
return {
|
|
26
|
-
id: 'tool.integrity',
|
|
27
|
-
targets: ['universal'],
|
|
28
|
-
create: () => new IntegrityCapabilityModule(),
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=integrityPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"integrityPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/integrity/integrityPlugin.ts"],"names":[],"mappings":"AAIA,MAAM,yBAAyB;IAC7B,EAAE,GAAG,gBAAgB,CAAC;IACtB,WAAW,GAAG,kCAAkC,CAAC;IAEjD,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,GAAqB;YAC9B;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,6BAA6B;gBAC1C,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,wBAAwB;aAC9C;SACF,CAAC;QAEF,MAAM,SAAS,GAAc;YAC3B,EAAE,EAAE,iBAAiB;YACrB,WAAW,EAAE,qBAAqB;YAClC,KAAK;SACN,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS;SACV,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,EAAE,EAAE,gBAAgB;QACpB,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,yBAAyB,EAAE;KAC9C,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcpPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/mcp/mcpPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAyBjD,wBAAgB,mBAAmB,IAAI,UAAU,CAMhD"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
class McpCapabilityModule {
|
|
2
|
-
id = 'tool.mcp';
|
|
3
|
-
description = 'MCP bridge (stubbed)';
|
|
4
|
-
async create() {
|
|
5
|
-
const tools = [
|
|
6
|
-
{
|
|
7
|
-
name: 'mcp_call',
|
|
8
|
-
description: 'Call an MCP server.',
|
|
9
|
-
handler: async ({ target }) => `MCP called: ${target ?? 'default'}`,
|
|
10
|
-
},
|
|
11
|
-
];
|
|
12
|
-
const toolSuite = {
|
|
13
|
-
id: 'mcp.tools',
|
|
14
|
-
description: 'MCP integration',
|
|
15
|
-
tools,
|
|
16
|
-
};
|
|
17
|
-
return { id: this.id, description: this.description, toolSuite };
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
export function createMcpToolPlugin() {
|
|
21
|
-
return {
|
|
22
|
-
id: 'tool.mcp',
|
|
23
|
-
targets: ['universal'],
|
|
24
|
-
create: () => new McpCapabilityModule(),
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=mcpPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcpPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/mcp/mcpPlugin.ts"],"names":[],"mappings":"AAIA,MAAM,mBAAmB;IACvB,EAAE,GAAG,UAAU,CAAC;IAChB,WAAW,GAAG,sBAAsB,CAAC;IAErC,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,GAAqB;YAC9B;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,qBAAqB;gBAClC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAuB,EAAE,EAAE,CAAC,eAAe,MAAM,IAAI,SAAS,EAAE;aACzF;SACF,CAAC;QAEF,MAAM,SAAS,GAAc;YAC3B,EAAE,EAAE,WAAW;YACf,WAAW,EAAE,iBAAiB;YAC9B,KAAK;SACN,CAAC;QAEF,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;IACnE,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,EAAE,EAAE,UAAU;QACd,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAmB,EAAE;KACxC,CAAC;AACJ,CAAC"}
|