@bastani/atomic 0.9.19-alpha.2 → 0.9.19-alpha.4
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 +42 -0
- package/dist/builtin/intercom/CHANGELOG.md +15 -0
- package/dist/builtin/intercom/broker/broker.ts +8 -0
- package/dist/builtin/intercom/broker/client.ts +18 -0
- package/dist/builtin/intercom/broker/send-handler.ts +9 -0
- package/dist/builtin/intercom/index.bundle.mjs +161 -30
- package/dist/builtin/intercom/package.json +1 -1
- package/dist/builtin/intercom/types.ts +2 -1
- package/dist/builtin/mcp/package.json +1 -1
- package/dist/builtin/subagents/CHANGELOG.md +18 -0
- package/dist/builtin/subagents/README.md +14 -14
- package/dist/builtin/subagents/package.json +1 -1
- package/dist/builtin/subagents/skills/subagent/SKILL.md +14 -14
- package/dist/builtin/subagents/src/extension/index.bundle.mjs +142 -60
- package/dist/builtin/web-access/package.json +1 -1
- package/dist/builtin/workflows/CHANGELOG.md +33 -0
- package/dist/builtin/workflows/README.md +14 -15
- package/dist/builtin/workflows/builtin/{chunk-mygmtz6e.js → chunk-9k3ywfgd.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-r9qq7xfj.js → chunk-ahbntmx2.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-zggjyg5z.js → chunk-n8zysf1t.js} +1 -1
- package/dist/builtin/workflows/builtin/goal.js +2 -2
- package/dist/builtin/workflows/builtin/index.js +3 -3
- package/dist/builtin/workflows/builtin/ralph.js +2 -2
- package/dist/builtin/workflows/package.json +5 -5
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +171 -207
- package/dist/builtin/workflows/src/index.js +33 -6
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +2 -1
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +1 -1
- package/dist/core/agent-session-auto-compaction.js +1 -1
- package/dist/core/agent-session-auto-compaction.js.map +1 -1
- package/dist/core/agent-session-compaction.js +1 -1
- package/dist/core/agent-session-compaction.js.map +1 -1
- package/dist/core/agent-session-custom-message-commit.d.ts.map +1 -1
- package/dist/core/agent-session-custom-message-commit.js +33 -2
- package/dist/core/agent-session-custom-message-commit.js.map +1 -1
- package/dist/core/agent-session-message-queue.d.ts +1 -1
- package/dist/core/agent-session-message-queue.d.ts.map +1 -1
- package/dist/core/agent-session-message-queue.js +22 -8
- package/dist/core/agent-session-message-queue.js.map +1 -1
- package/dist/core/agent-session-methods.d.ts +7 -1
- package/dist/core/agent-session-methods.d.ts.map +1 -1
- package/dist/core/agent-session-methods.js.map +1 -1
- package/dist/core/agent-session-persistent-custom-messages.d.ts +1 -1
- package/dist/core/agent-session-persistent-custom-messages.d.ts.map +1 -1
- package/dist/core/agent-session-persistent-custom-messages.js +13 -3
- package/dist/core/agent-session-persistent-custom-messages.js.map +1 -1
- package/dist/core/agent-session-post-tool-compaction.js +1 -1
- package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
- package/dist/core/agent-session-prompt.d.ts.map +1 -1
- package/dist/core/agent-session-prompt.js +83 -0
- package/dist/core/agent-session-prompt.js.map +1 -1
- package/dist/core/agent-session-queue-pause.d.ts.map +1 -1
- package/dist/core/agent-session-queue-pause.js +11 -0
- package/dist/core/agent-session-queue-pause.js.map +1 -1
- package/dist/core/agent-session-tasks.d.ts +5 -0
- package/dist/core/agent-session-tasks.d.ts.map +1 -1
- package/dist/core/agent-session-tasks.js +8 -1
- package/dist/core/agent-session-tasks.js.map +1 -1
- package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
- package/dist/core/agent-session-tool-hooks.js +2 -0
- package/dist/core/agent-session-tool-hooks.js.map +1 -1
- package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
- package/dist/core/agent-session-tool-registry.js +12 -0
- package/dist/core/agent-session-tool-registry.js.map +1 -1
- package/dist/core/agent-session-transfer.d.ts.map +1 -1
- package/dist/core/agent-session-transfer.js +7 -0
- package/dist/core/agent-session-transfer.js.map +1 -1
- package/dist/core/agent-session-types.d.ts +2 -0
- package/dist/core/agent-session-types.d.ts.map +1 -1
- package/dist/core/agent-session-types.js +2 -0
- package/dist/core/agent-session-types.js.map +1 -1
- package/dist/core/agent-session.d.ts +4 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +22 -0
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/extensions/context-types.d.ts +6 -0
- package/dist/core/extensions/context-types.d.ts.map +1 -1
- package/dist/core/extensions/context-types.js.map +1 -1
- package/dist/core/extensions/loader-api.d.ts.map +1 -1
- package/dist/core/extensions/loader-api.js +3 -0
- package/dist/core/extensions/loader-api.js.map +1 -1
- package/dist/core/extensions/loader-host-modules.d.ts +1 -1
- package/dist/core/extensions/loader-host-modules.d.ts.map +1 -1
- package/dist/core/extensions/loader-host-modules.js +2 -1
- package/dist/core/extensions/loader-host-modules.js.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.js +4 -1
- package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
- package/dist/core/extensions/runner-context.d.ts +1 -1
- package/dist/core/extensions/runner-context.d.ts.map +1 -1
- package/dist/core/extensions/runner-context.js +9 -3
- package/dist/core/extensions/runner-context.js.map +1 -1
- package/dist/core/extensions/runner.js +1 -1
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/workflow-events.d.ts +1 -1
- package/dist/core/extensions/workflow-events.d.ts.map +1 -1
- package/dist/core/extensions/workflow-events.js.map +1 -1
- package/dist/core/retry-policy.d.ts +1 -0
- package/dist/core/retry-policy.d.ts.map +1 -1
- package/dist/core/retry-policy.js +2 -1
- package/dist/core/retry-policy.js.map +1 -1
- package/dist/core/sdk-exports.d.ts +1 -1
- package/dist/core/sdk-exports.d.ts.map +1 -1
- package/dist/core/sdk-exports.js +1 -1
- package/dist/core/sdk-exports.js.map +1 -1
- package/dist/core/settings-manager-basic-accessors.d.ts +6 -3
- package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-basic-accessors.js +25 -8
- package/dist/core/settings-manager-basic-accessors.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-types.d.ts +6 -0
- package/dist/core/settings-types.d.ts.map +1 -1
- package/dist/core/settings-types.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +4 -5
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/tasks/agent-adapter.d.ts +14 -2
- package/dist/core/tasks/agent-adapter.d.ts.map +1 -1
- package/dist/core/tasks/agent-adapter.js +45 -4
- package/dist/core/tasks/agent-adapter.js.map +1 -1
- package/dist/core/tasks/completion.d.ts.map +1 -1
- package/dist/core/tasks/completion.js +5 -1
- package/dist/core/tasks/completion.js.map +1 -1
- package/dist/core/tasks/pause.d.ts +4 -0
- package/dist/core/tasks/pause.d.ts.map +1 -0
- package/dist/core/tasks/pause.js +49 -0
- package/dist/core/tasks/pause.js.map +1 -0
- package/dist/core/tasks/supervisor.d.ts +3 -1
- package/dist/core/tasks/supervisor.d.ts.map +1 -1
- package/dist/core/tasks/supervisor.js +48 -22
- package/dist/core/tasks/supervisor.js.map +1 -1
- package/dist/core/tools/bash-pty-native.d.ts +16 -2
- package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
- package/dist/core/tools/bash-pty-native.js +82 -0
- package/dist/core/tools/bash-pty-native.js.map +1 -1
- package/dist/core/tools/bash.d.ts +15 -2
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +49 -4
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/index.d.ts +4 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +12 -0
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/kill.d.ts +17 -0
- package/dist/core/tools/kill.d.ts.map +1 -0
- package/dist/core/tools/kill.js +49 -0
- package/dist/core/tools/kill.js.map +1 -0
- package/dist/core/tools/powershell.d.ts +84 -28
- package/dist/core/tools/powershell.d.ts.map +1 -1
- package/dist/core/tools/powershell.js +11 -3
- package/dist/core/tools/powershell.js.map +1 -1
- package/dist/core/tools/resource-selectors.d.ts +1 -1
- package/dist/core/tools/resource-selectors.d.ts.map +1 -1
- package/dist/core/tools/resource-selectors.js +7 -4
- package/dist/core/tools/resource-selectors.js.map +1 -1
- package/dist/core/workflow-stage-admission.d.ts +14 -0
- package/dist/core/workflow-stage-admission.d.ts.map +1 -1
- package/dist/core/workflow-stage-admission.js +63 -3
- package/dist/core/workflow-stage-admission.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.js +3 -2
- package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
- package/dist/modes/interactive/components/task-row.d.ts.map +1 -1
- package/dist/modes/interactive/components/task-row.js +8 -1
- package/dist/modes/interactive/components/task-row.js.map +1 -1
- package/docs/background-tasks.md +31 -2
- package/docs/compaction.md +20 -0
- package/docs/computer-use.md +390 -0
- package/docs/development.md +23 -74
- package/docs/docs.json +1 -0
- package/docs/extensions.md +15 -1
- package/docs/herdr.md +26 -77
- package/docs/index.md +1 -0
- package/docs/intercom.md +14 -2
- package/docs/models/evals.md +2 -0
- package/docs/models/model-selection.md +10 -7
- package/docs/quickstart.md +1 -1
- package/docs/sdk.md +11 -1
- package/docs/settings.md +24 -0
- package/docs/subagents.md +10 -6
- package/docs/tmux.md +2 -0
- package/docs/tools.md +11 -1
- package/docs/usage.md +1 -1
- package/docs/workflows/api-reference.md +5 -4
- package/docs/workflows/authoring.md +3 -3
- package/docs/workflows/operations.md +44 -33
- package/docs/workflows/reliable-design.md +3 -3
- package/docs/workflows/verification.md +99 -40
- package/docs/workflows.md +4 -2
- package/npm-shrinkwrap.json +59 -59
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/tools/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/tools/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tools/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export { BASH_SHELL_PRESENTATION, bashToolSystemPromptContribution, createBashTo
|
|
|
3
3
|
export { createEditTool, createEditToolDefinition, editToolSystemPromptContribution, } from "./edit.js";
|
|
4
4
|
export { withFileMutationQueue } from "./file-mutation-queue.js";
|
|
5
5
|
export { createFindTool, createFindToolDefinition, findToolSystemPromptContribution, } from "./find.js";
|
|
6
|
+
export { createKillTool, createKillToolDefinition } from "./kill.js";
|
|
6
7
|
export { createLsTool, createLsToolDefinition, lsToolSystemPromptContribution, } from "./ls.js";
|
|
7
8
|
export { createLocalPowerShellOperations, createPowerShellTool, createPowerShellToolDefinition, } from "./powershell.js";
|
|
8
9
|
export { createReadTool, createReadToolDefinition, readToolSystemPromptContribution, } from "./read.js";
|
|
@@ -17,6 +18,7 @@ import { createBashTool, createBashToolDefinition } from "./bash.js";
|
|
|
17
18
|
import { createEditTool, createEditToolDefinition } from "./edit.js";
|
|
18
19
|
import { createFindTool, createFindToolDefinition } from "./find.js";
|
|
19
20
|
import { createHashlineSnapshotStore } from "./hashline.js";
|
|
21
|
+
import { createKillTool, createKillToolDefinition } from "./kill.js";
|
|
20
22
|
import { createLsTool, createLsToolDefinition } from "./ls.js";
|
|
21
23
|
import { createPowerShellTool, createPowerShellToolDefinition } from "./powershell.js";
|
|
22
24
|
import { createReadTool, createReadToolDefinition } from "./read.js";
|
|
@@ -32,6 +34,7 @@ export const allToolNames = new Set([
|
|
|
32
34
|
"read",
|
|
33
35
|
"bash",
|
|
34
36
|
"powershell",
|
|
37
|
+
"kill",
|
|
35
38
|
"edit",
|
|
36
39
|
"write",
|
|
37
40
|
"find",
|
|
@@ -54,6 +57,7 @@ export function getDefaultToolNames(options) {
|
|
|
54
57
|
"read",
|
|
55
58
|
"bash",
|
|
56
59
|
...(powerShell ? ["powershell"] : []),
|
|
60
|
+
"kill",
|
|
57
61
|
"edit",
|
|
58
62
|
"write",
|
|
59
63
|
"find",
|
|
@@ -73,6 +77,8 @@ export function createToolDefinition(toolName, cwd, options) {
|
|
|
73
77
|
return createBashToolDefinition(cwd, options?.bash);
|
|
74
78
|
case "powershell":
|
|
75
79
|
return createPowerShellToolDefinition(cwd, options?.powershell);
|
|
80
|
+
case "kill":
|
|
81
|
+
return createKillToolDefinition(options?.kill);
|
|
76
82
|
case "edit":
|
|
77
83
|
return createEditToolDefinition(cwd, { ...options?.edit, hashlineStore });
|
|
78
84
|
case "write":
|
|
@@ -100,6 +106,8 @@ export function createTool(toolName, cwd, options) {
|
|
|
100
106
|
return createBashTool(cwd, options?.bash);
|
|
101
107
|
case "powershell":
|
|
102
108
|
return createPowerShellTool(cwd, options?.powershell);
|
|
109
|
+
case "kill":
|
|
110
|
+
return createKillTool(options?.kill);
|
|
103
111
|
case "edit":
|
|
104
112
|
return createEditTool(cwd, { ...options?.edit, hashlineStore });
|
|
105
113
|
case "write":
|
|
@@ -123,6 +131,7 @@ export function createCodingToolDefinitions(cwd, options) {
|
|
|
123
131
|
return [
|
|
124
132
|
createReadToolDefinition(cwd, { ...options?.read, hashlineStore }),
|
|
125
133
|
createBashToolDefinition(cwd, options?.bash),
|
|
134
|
+
createKillToolDefinition(options?.kill),
|
|
126
135
|
createEditToolDefinition(cwd, { ...options?.edit, hashlineStore }),
|
|
127
136
|
createWriteToolDefinition(cwd, { ...options?.write, hashlineStore }),
|
|
128
137
|
createFindToolDefinition(cwd, options?.find),
|
|
@@ -143,6 +152,7 @@ export function createAllToolDefinitions(cwd, options) {
|
|
|
143
152
|
const definitions = {
|
|
144
153
|
read: createReadToolDefinition(cwd, { ...options?.read, hashlineStore }),
|
|
145
154
|
bash: createBashToolDefinition(cwd, options?.bash),
|
|
155
|
+
kill: createKillToolDefinition(options?.kill),
|
|
146
156
|
edit: createEditToolDefinition(cwd, { ...options?.edit, hashlineStore }),
|
|
147
157
|
write: createWriteToolDefinition(cwd, { ...options?.write, hashlineStore }),
|
|
148
158
|
find: createFindToolDefinition(cwd, options?.find),
|
|
@@ -161,6 +171,7 @@ export function createCodingTools(cwd, options) {
|
|
|
161
171
|
return [
|
|
162
172
|
createReadTool(cwd, { ...options?.read, hashlineStore }),
|
|
163
173
|
createBashTool(cwd, options?.bash),
|
|
174
|
+
createKillTool(options?.kill),
|
|
164
175
|
createEditTool(cwd, { ...options?.edit, hashlineStore }),
|
|
165
176
|
createWriteTool(cwd, { ...options?.write, hashlineStore }),
|
|
166
177
|
createFindTool(cwd, options?.find),
|
|
@@ -181,6 +192,7 @@ export function createAllTools(cwd, options) {
|
|
|
181
192
|
const tools = {
|
|
182
193
|
read: createReadTool(cwd, { ...options?.read, hashlineStore }),
|
|
183
194
|
bash: createBashTool(cwd, options?.bash),
|
|
195
|
+
kill: createKillTool(options?.kill),
|
|
184
196
|
edit: createEditTool(cwd, { ...options?.edit, hashlineStore }),
|
|
185
197
|
write: createWriteTool(cwd, { ...options?.write, hashlineStore }),
|
|
186
198
|
find: createFindTool(cwd, options?.find),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/tools/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { createAskUserQuestionToolDefinition } from \"./ask-user-question/index.ts\";\nexport {\n\tBASH_SHELL_PRESENTATION,\n\ttype BashOperations,\n\ttype BashSpawnContext,\n\ttype BashSpawnHook,\n\ttype BashToolDetails,\n\ttype BashToolInput,\n\ttype BashToolOptions,\n\tbashToolSystemPromptContribution,\n\tcreateBashTool,\n\tcreateBashToolDefinition,\n\tcreateLocalBashOperations,\n\ttype ShellToolPresentation,\n} from \"./bash.js\";\nexport {\n\tcreateEditTool,\n\tcreateEditToolDefinition,\n\ttype EditOperations,\n\ttype EditToolDetails,\n\ttype EditToolInput,\n\ttype EditToolOptions,\n\teditToolSystemPromptContribution,\n} from \"./edit.ts\";\nexport { withFileMutationQueue } from \"./file-mutation-queue.ts\";\nexport {\n\tcreateFindTool,\n\tcreateFindToolDefinition,\n\ttype FindOperations,\n\ttype FindToolDetails,\n\ttype FindToolInput,\n\ttype FindToolOptions,\n\tfindToolSystemPromptContribution,\n} from \"./find.ts\";\nexport {\n\tcreateLsTool,\n\tcreateLsToolDefinition,\n\ttype LsOperations,\n\ttype LsToolDetails,\n\ttype LsToolInput,\n\ttype LsToolOptions,\n\tlsToolSystemPromptContribution,\n} from \"./ls.ts\";\nexport {\n\tcreateLocalPowerShellOperations,\n\tcreatePowerShellTool,\n\tcreatePowerShellToolDefinition,\n\ttype PowerShellOperations,\n\ttype PowerShellSpawnContext,\n\ttype PowerShellSpawnHook,\n\ttype PowerShellToolDetails,\n\ttype PowerShellToolInput,\n\ttype PowerShellToolOptions,\n} from \"./powershell.ts\";\nexport {\n\tcreateReadTool,\n\tcreateReadToolDefinition,\n\ttype ReadOperations,\n\ttype ReadToolDetails,\n\ttype ReadToolInput,\n\ttype ReadToolOptions,\n\treadToolSystemPromptContribution,\n} from \"./read.ts\";\nexport {\n\tcreateSearchTool,\n\tcreateSearchToolDefinition,\n\ttype SearchToolDetails,\n\ttype SearchToolInput,\n\ttype SearchToolOptions,\n\tsearchToolSystemPromptContribution,\n} from \"./search.ts\";\nexport {\n\tcreateStructuredOutputCapture,\n\tcreateStructuredOutputTool,\n\ttype JsonObject,\n\ttype JsonPrimitive,\n\ttype JsonValue,\n\tSTRUCTURED_OUTPUT_TOOL_NAME,\n\ttype StructuredOutputCapture,\n\ttype StructuredOutputFileCapture,\n\ttype StructuredOutputToolOptions,\n} from \"./structured-output.ts\";\nexport { createTodoToolDefinition } from \"./todos.ts\";\nexport {\n\tDEFAULT_MAX_BYTES,\n\tDEFAULT_MAX_LINES,\n\tformatSize,\n\ttype TruncationOptions,\n\ttype TruncationResult,\n\ttruncateHead,\n\ttruncateLine,\n\ttruncateTail,\n} from \"./truncate.ts\";\nexport {\n\tcreateWriteTool,\n\tcreateWriteToolDefinition,\n\ttype WriteOperations,\n\ttype WriteToolInput,\n\ttype WriteToolOptions,\n\twriteToolSystemPromptContribution,\n} from \"./write.ts\";\n\nimport type { AgentTool } from \"@earendil-works/pi-agent-core\";\nimport type { TSchema } from \"typebox\";\nimport { isPowerShellAvailable } from \"../../utils/shell.ts\";\nimport type { ToolDefinition } from \"../extensions/types.ts\";\nimport { createAskUserQuestionToolDefinition } from \"./ask-user-question/index.ts\";\nimport { type BashToolOptions, createBashTool, createBashToolDefinition } from \"./bash.js\";\nimport { createEditTool, createEditToolDefinition, type EditToolOptions } from \"./edit.ts\";\nimport { createFindTool, createFindToolDefinition, type FindToolOptions } from \"./find.ts\";\nimport { createHashlineSnapshotStore, type HashlineSnapshotStore } from \"./hashline.ts\";\nimport { createLsTool, createLsToolDefinition, type LsToolOptions } from \"./ls.ts\";\nimport { createPowerShellTool, createPowerShellToolDefinition, type PowerShellToolOptions } from \"./powershell.ts\";\nimport { createReadTool, createReadToolDefinition, type ReadToolOptions } from \"./read.ts\";\nimport { createSearchTool, createSearchToolDefinition, type SearchToolOptions } from \"./search.ts\";\nimport { createTodoToolDefinition } from \"./todos.ts\";\nimport { wrapToolDefinition } from \"./tool-definition-wrapper.ts\";\nimport { createWriteTool, createWriteToolDefinition, type WriteToolOptions } from \"./write.ts\";\n\nexport type Tool = AgentTool<TSchema, unknown>;\nexport type ToolDef = ToolDefinition<TSchema, unknown>;\nexport type ToolName =\n\t| \"read\"\n\t| \"bash\"\n\t| \"powershell\"\n\t| \"edit\"\n\t| \"write\"\n\t| \"find\"\n\t| \"search\"\n\t| \"ls\"\n\t| \"ask_user_question\"\n\t| \"todo\";\nexport type BuiltinToolMap<T> = Omit<Record<ToolName, T>, \"powershell\"> & { powershell?: T };\n// The universe of built-in tool names, matching the `ToolName` union exactly.\n// Availability is decided per platform in `getDefaultToolNames()` and\n// `createAllToolDefinitions()`; this set stays static so a name is never\n// \"unknown\" merely because the host cannot run it.\nexport const allToolNames: Set<ToolName> = new Set([\n\t\"read\",\n\t\"bash\",\n\t\"powershell\",\n\t\"edit\",\n\t\"write\",\n\t\"find\",\n\t\"search\",\n\t\"ls\",\n\t\"ask_user_question\",\n\t\"todo\",\n]);\n\n/**\n * Built-in tools enabled at startup.\n *\n * `powershell` is conditional: it is Windows-only and additionally needs a\n * resolvable `pwsh.exe`/`powershell.exe`. That probe reads PATH, so it runs per\n * call rather than at module load, and callers can decide it explicitly through\n * `powerShellAvailable` instead of depending on the host running the process.\n */\nexport function getDefaultToolNames(options?: { powerShellAvailable?: boolean }): readonly ToolName[] {\n\tconst powerShell = options?.powerShellAvailable ?? isPowerShellAvailable();\n\treturn [\n\t\t\"read\",\n\t\t\"bash\",\n\t\t...(powerShell ? ([\"powershell\"] as const satisfies readonly ToolName[]) : []),\n\t\t\"edit\",\n\t\t\"write\",\n\t\t\"find\",\n\t\t\"search\",\n\t\t\"ask_user_question\",\n\t\t\"todo\",\n\t];\n}\n\nexport interface ToolsOptions {\n\tread?: ReadToolOptions;\n\tbash?: BashToolOptions;\n\tpowershell?: PowerShellToolOptions;\n\twrite?: WriteToolOptions;\n\tedit?: EditToolOptions;\n\tfind?: FindToolOptions;\n\tsearch?: SearchToolOptions;\n\tls?: LsToolOptions;\n\thashlineStore?: HashlineSnapshotStore;\n}\n\nexport function createToolDefinition(toolName: ToolName, cwd: string, options?: ToolsOptions): ToolDef {\n\t// Default a shared store so the singular factories don't hand read/edit/\n\t// write/search isolated stores (which silently degrades drift recovery).\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\tswitch (toolName) {\n\t\tcase \"read\":\n\t\t\treturn createReadToolDefinition(cwd, { ...options?.read, hashlineStore });\n\t\tcase \"bash\":\n\t\t\treturn createBashToolDefinition(cwd, options?.bash);\n\t\tcase \"powershell\":\n\t\t\treturn createPowerShellToolDefinition(cwd, options?.powershell);\n\t\tcase \"edit\":\n\t\t\treturn createEditToolDefinition(cwd, { ...options?.edit, hashlineStore });\n\t\tcase \"write\":\n\t\t\treturn createWriteToolDefinition(cwd, { ...options?.write, hashlineStore });\n\t\tcase \"find\":\n\t\t\treturn createFindToolDefinition(cwd, options?.find);\n\t\tcase \"search\":\n\t\t\treturn createSearchToolDefinition(cwd, { ...options?.search, hashlineStore });\n\t\tcase \"ls\":\n\t\t\treturn createLsToolDefinition(cwd, options?.ls);\n\t\tcase \"ask_user_question\":\n\t\t\treturn createAskUserQuestionToolDefinition();\n\t\tcase \"todo\":\n\t\t\treturn createTodoToolDefinition(cwd);\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown tool name: ${toolName}`);\n\t}\n}\n\nexport function createTool(toolName: ToolName, cwd: string, options?: ToolsOptions): Tool {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\tswitch (toolName) {\n\t\tcase \"read\":\n\t\t\treturn createReadTool(cwd, { ...options?.read, hashlineStore });\n\t\tcase \"bash\":\n\t\t\treturn createBashTool(cwd, options?.bash);\n\t\tcase \"powershell\":\n\t\t\treturn createPowerShellTool(cwd, options?.powershell);\n\t\tcase \"edit\":\n\t\t\treturn createEditTool(cwd, { ...options?.edit, hashlineStore });\n\t\tcase \"write\":\n\t\t\treturn createWriteTool(cwd, { ...options?.write, hashlineStore });\n\t\tcase \"find\":\n\t\t\treturn createFindTool(cwd, options?.find);\n\t\tcase \"search\":\n\t\t\treturn createSearchTool(cwd, { ...options?.search, hashlineStore });\n\t\tcase \"ls\":\n\t\t\treturn createLsTool(cwd, options?.ls);\n\t\tcase \"ask_user_question\":\n\t\t\treturn wrapToolDefinition(createAskUserQuestionToolDefinition());\n\t\tcase \"todo\":\n\t\t\treturn wrapToolDefinition(createTodoToolDefinition(cwd));\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown tool name: ${toolName}`);\n\t}\n}\n\nexport function createCodingToolDefinitions(cwd: string, options?: ToolsOptions): ToolDef[] {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\treturn [\n\t\tcreateReadToolDefinition(cwd, { ...options?.read, hashlineStore }),\n\t\tcreateBashToolDefinition(cwd, options?.bash),\n\t\tcreateEditToolDefinition(cwd, { ...options?.edit, hashlineStore }),\n\t\tcreateWriteToolDefinition(cwd, { ...options?.write, hashlineStore }),\n\t\tcreateFindToolDefinition(cwd, options?.find),\n\t\tcreateSearchToolDefinition(cwd, { ...options?.search, hashlineStore }),\n\t];\n}\n\nexport function createReadOnlyToolDefinitions(cwd: string, options?: ToolsOptions): ToolDef[] {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\treturn [\n\t\tcreateReadToolDefinition(cwd, { ...options?.read, hashlineStore }),\n\t\tcreateFindToolDefinition(cwd, options?.find),\n\t\tcreateSearchToolDefinition(cwd, { ...options?.search, hashlineStore }),\n\t\tcreateLsToolDefinition(cwd, options?.ls),\n\t];\n}\n\nexport function createAllToolDefinitions(cwd: string, options?: ToolsOptions): BuiltinToolMap<ToolDef> {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\tconst definitions: BuiltinToolMap<ToolDef> = {\n\t\tread: createReadToolDefinition(cwd, { ...options?.read, hashlineStore }),\n\t\tbash: createBashToolDefinition(cwd, options?.bash),\n\t\tedit: createEditToolDefinition(cwd, { ...options?.edit, hashlineStore }),\n\t\twrite: createWriteToolDefinition(cwd, { ...options?.write, hashlineStore }),\n\t\tfind: createFindToolDefinition(cwd, options?.find),\n\t\tsearch: createSearchToolDefinition(cwd, { ...options?.search, hashlineStore }),\n\t\tls: createLsToolDefinition(cwd, options?.ls),\n\t\task_user_question: createAskUserQuestionToolDefinition(),\n\t\ttodo: createTodoToolDefinition(cwd),\n\t};\n\tif (isPowerShellAvailable()) {\n\t\tdefinitions.powershell = createPowerShellToolDefinition(cwd, options?.powershell);\n\t}\n\treturn definitions;\n}\n\nexport function createCodingTools(cwd: string, options?: ToolsOptions): Tool[] {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\treturn [\n\t\tcreateReadTool(cwd, { ...options?.read, hashlineStore }),\n\t\tcreateBashTool(cwd, options?.bash),\n\t\tcreateEditTool(cwd, { ...options?.edit, hashlineStore }),\n\t\tcreateWriteTool(cwd, { ...options?.write, hashlineStore }),\n\t\tcreateFindTool(cwd, options?.find),\n\t\tcreateSearchTool(cwd, { ...options?.search, hashlineStore }),\n\t];\n}\n\nexport function createReadOnlyTools(cwd: string, options?: ToolsOptions): Tool[] {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\treturn [\n\t\tcreateReadTool(cwd, { ...options?.read, hashlineStore }),\n\t\tcreateFindTool(cwd, options?.find),\n\t\tcreateSearchTool(cwd, { ...options?.search, hashlineStore }),\n\t\tcreateLsTool(cwd, options?.ls),\n\t];\n}\n\nexport function createAllTools(cwd: string, options?: ToolsOptions): BuiltinToolMap<Tool> {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\tconst tools: BuiltinToolMap<Tool> = {\n\t\tread: createReadTool(cwd, { ...options?.read, hashlineStore }),\n\t\tbash: createBashTool(cwd, options?.bash),\n\t\tedit: createEditTool(cwd, { ...options?.edit, hashlineStore }),\n\t\twrite: createWriteTool(cwd, { ...options?.write, hashlineStore }),\n\t\tfind: createFindTool(cwd, options?.find),\n\t\tsearch: createSearchTool(cwd, { ...options?.search, hashlineStore }),\n\t\tls: createLsTool(cwd, options?.ls),\n\t\task_user_question: wrapToolDefinition(createAskUserQuestionToolDefinition()),\n\t\ttodo: wrapToolDefinition(createTodoToolDefinition(cwd)),\n\t};\n\tif (isPowerShellAvailable()) {\n\t\ttools.powershell = createPowerShellTool(cwd, options?.powershell);\n\t}\n\treturn tools;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/tools/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { createAskUserQuestionToolDefinition } from \"./ask-user-question/index.ts\";\nexport {\n\tBASH_SHELL_PRESENTATION,\n\ttype BashOperations,\n\ttype BashSpawnContext,\n\ttype BashSpawnHook,\n\ttype BashToolDetails,\n\ttype BashToolInput,\n\ttype BashToolOptions,\n\tbashToolSystemPromptContribution,\n\tcreateBashTool,\n\tcreateBashToolDefinition,\n\tcreateLocalBashOperations,\n\ttype ShellToolPresentation,\n} from \"./bash.js\";\nexport {\n\tcreateEditTool,\n\tcreateEditToolDefinition,\n\ttype EditOperations,\n\ttype EditToolDetails,\n\ttype EditToolInput,\n\ttype EditToolOptions,\n\teditToolSystemPromptContribution,\n} from \"./edit.ts\";\nexport { withFileMutationQueue } from \"./file-mutation-queue.ts\";\nexport {\n\tcreateFindTool,\n\tcreateFindToolDefinition,\n\ttype FindOperations,\n\ttype FindToolDetails,\n\ttype FindToolInput,\n\ttype FindToolOptions,\n\tfindToolSystemPromptContribution,\n} from \"./find.ts\";\nexport { createKillTool, createKillToolDefinition, type KillToolOptions } from \"./kill.ts\";\nexport {\n\tcreateLsTool,\n\tcreateLsToolDefinition,\n\ttype LsOperations,\n\ttype LsToolDetails,\n\ttype LsToolInput,\n\ttype LsToolOptions,\n\tlsToolSystemPromptContribution,\n} from \"./ls.ts\";\nexport {\n\tcreateLocalPowerShellOperations,\n\tcreatePowerShellTool,\n\tcreatePowerShellToolDefinition,\n\ttype PowerShellOperations,\n\ttype PowerShellSpawnContext,\n\ttype PowerShellSpawnHook,\n\ttype PowerShellToolDetails,\n\ttype PowerShellToolInput,\n\ttype PowerShellToolOptions,\n} from \"./powershell.ts\";\nexport {\n\tcreateReadTool,\n\tcreateReadToolDefinition,\n\ttype ReadOperations,\n\ttype ReadToolDetails,\n\ttype ReadToolInput,\n\ttype ReadToolOptions,\n\treadToolSystemPromptContribution,\n} from \"./read.ts\";\nexport {\n\tcreateSearchTool,\n\tcreateSearchToolDefinition,\n\ttype SearchToolDetails,\n\ttype SearchToolInput,\n\ttype SearchToolOptions,\n\tsearchToolSystemPromptContribution,\n} from \"./search.ts\";\nexport {\n\tcreateStructuredOutputCapture,\n\tcreateStructuredOutputTool,\n\ttype JsonObject,\n\ttype JsonPrimitive,\n\ttype JsonValue,\n\tSTRUCTURED_OUTPUT_TOOL_NAME,\n\ttype StructuredOutputCapture,\n\ttype StructuredOutputFileCapture,\n\ttype StructuredOutputToolOptions,\n} from \"./structured-output.ts\";\nexport { createTodoToolDefinition } from \"./todos.ts\";\nexport {\n\tDEFAULT_MAX_BYTES,\n\tDEFAULT_MAX_LINES,\n\tformatSize,\n\ttype TruncationOptions,\n\ttype TruncationResult,\n\ttruncateHead,\n\ttruncateLine,\n\ttruncateTail,\n} from \"./truncate.ts\";\nexport {\n\tcreateWriteTool,\n\tcreateWriteToolDefinition,\n\ttype WriteOperations,\n\ttype WriteToolInput,\n\ttype WriteToolOptions,\n\twriteToolSystemPromptContribution,\n} from \"./write.ts\";\n\nimport type { AgentTool } from \"@earendil-works/pi-agent-core\";\nimport type { TSchema } from \"typebox\";\nimport { isPowerShellAvailable } from \"../../utils/shell.ts\";\nimport type { ToolDefinition } from \"../extensions/types.ts\";\nimport { createAskUserQuestionToolDefinition } from \"./ask-user-question/index.ts\";\nimport { type BashToolOptions, createBashTool, createBashToolDefinition } from \"./bash.js\";\nimport { createEditTool, createEditToolDefinition, type EditToolOptions } from \"./edit.ts\";\nimport { createFindTool, createFindToolDefinition, type FindToolOptions } from \"./find.ts\";\nimport { createHashlineSnapshotStore, type HashlineSnapshotStore } from \"./hashline.ts\";\nimport { createKillTool, createKillToolDefinition, type KillToolOptions } from \"./kill.ts\";\nimport { createLsTool, createLsToolDefinition, type LsToolOptions } from \"./ls.ts\";\nimport { createPowerShellTool, createPowerShellToolDefinition, type PowerShellToolOptions } from \"./powershell.ts\";\nimport { createReadTool, createReadToolDefinition, type ReadToolOptions } from \"./read.ts\";\nimport { createSearchTool, createSearchToolDefinition, type SearchToolOptions } from \"./search.ts\";\nimport { createTodoToolDefinition } from \"./todos.ts\";\nimport { wrapToolDefinition } from \"./tool-definition-wrapper.ts\";\nimport { createWriteTool, createWriteToolDefinition, type WriteToolOptions } from \"./write.ts\";\n\nexport type Tool = AgentTool<TSchema, unknown>;\nexport type ToolDef = ToolDefinition<TSchema, unknown>;\nexport type ToolName =\n\t| \"read\"\n\t| \"bash\"\n\t| \"powershell\"\n\t| \"kill\"\n\t| \"edit\"\n\t| \"write\"\n\t| \"find\"\n\t| \"search\"\n\t| \"ls\"\n\t| \"ask_user_question\"\n\t| \"todo\";\nexport type BuiltinToolMap<T> = Omit<Record<ToolName, T>, \"powershell\"> & { powershell?: T };\n// The universe of built-in tool names, matching the `ToolName` union exactly.\n// Availability is decided per platform in `getDefaultToolNames()` and\n// `createAllToolDefinitions()`; this set stays static so a name is never\n// \"unknown\" merely because the host cannot run it.\nexport const allToolNames: Set<ToolName> = new Set([\n\t\"read\",\n\t\"bash\",\n\t\"powershell\",\n\t\"kill\",\n\t\"edit\",\n\t\"write\",\n\t\"find\",\n\t\"search\",\n\t\"ls\",\n\t\"ask_user_question\",\n\t\"todo\",\n]);\n\n/**\n * Built-in tools enabled at startup.\n *\n * `powershell` is conditional: it is Windows-only and additionally needs a\n * resolvable `pwsh.exe`/`powershell.exe`. That probe reads PATH, so it runs per\n * call rather than at module load, and callers can decide it explicitly through\n * `powerShellAvailable` instead of depending on the host running the process.\n */\nexport function getDefaultToolNames(options?: { powerShellAvailable?: boolean }): readonly ToolName[] {\n\tconst powerShell = options?.powerShellAvailable ?? isPowerShellAvailable();\n\treturn [\n\t\t\"read\",\n\t\t\"bash\",\n\t\t...(powerShell ? ([\"powershell\"] as const satisfies readonly ToolName[]) : []),\n\t\t\"kill\",\n\t\t\"edit\",\n\t\t\"write\",\n\t\t\"find\",\n\t\t\"search\",\n\t\t\"ask_user_question\",\n\t\t\"todo\",\n\t];\n}\n\nexport interface ToolsOptions {\n\tread?: ReadToolOptions;\n\tbash?: BashToolOptions;\n\tpowershell?: PowerShellToolOptions;\n\tkill?: KillToolOptions;\n\twrite?: WriteToolOptions;\n\tedit?: EditToolOptions;\n\tfind?: FindToolOptions;\n\tsearch?: SearchToolOptions;\n\tls?: LsToolOptions;\n\thashlineStore?: HashlineSnapshotStore;\n}\n\nexport function createToolDefinition(toolName: ToolName, cwd: string, options?: ToolsOptions): ToolDef {\n\t// Default a shared store so the singular factories don't hand read/edit/\n\t// write/search isolated stores (which silently degrades drift recovery).\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\tswitch (toolName) {\n\t\tcase \"read\":\n\t\t\treturn createReadToolDefinition(cwd, { ...options?.read, hashlineStore });\n\t\tcase \"bash\":\n\t\t\treturn createBashToolDefinition(cwd, options?.bash);\n\t\tcase \"powershell\":\n\t\t\treturn createPowerShellToolDefinition(cwd, options?.powershell);\n\t\tcase \"kill\":\n\t\t\treturn createKillToolDefinition(options?.kill);\n\t\tcase \"edit\":\n\t\t\treturn createEditToolDefinition(cwd, { ...options?.edit, hashlineStore });\n\t\tcase \"write\":\n\t\t\treturn createWriteToolDefinition(cwd, { ...options?.write, hashlineStore });\n\t\tcase \"find\":\n\t\t\treturn createFindToolDefinition(cwd, options?.find);\n\t\tcase \"search\":\n\t\t\treturn createSearchToolDefinition(cwd, { ...options?.search, hashlineStore });\n\t\tcase \"ls\":\n\t\t\treturn createLsToolDefinition(cwd, options?.ls);\n\t\tcase \"ask_user_question\":\n\t\t\treturn createAskUserQuestionToolDefinition();\n\t\tcase \"todo\":\n\t\t\treturn createTodoToolDefinition(cwd);\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown tool name: ${toolName}`);\n\t}\n}\n\nexport function createTool(toolName: ToolName, cwd: string, options?: ToolsOptions): Tool {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\tswitch (toolName) {\n\t\tcase \"read\":\n\t\t\treturn createReadTool(cwd, { ...options?.read, hashlineStore });\n\t\tcase \"bash\":\n\t\t\treturn createBashTool(cwd, options?.bash);\n\t\tcase \"powershell\":\n\t\t\treturn createPowerShellTool(cwd, options?.powershell);\n\t\tcase \"kill\":\n\t\t\treturn createKillTool(options?.kill);\n\t\tcase \"edit\":\n\t\t\treturn createEditTool(cwd, { ...options?.edit, hashlineStore });\n\t\tcase \"write\":\n\t\t\treturn createWriteTool(cwd, { ...options?.write, hashlineStore });\n\t\tcase \"find\":\n\t\t\treturn createFindTool(cwd, options?.find);\n\t\tcase \"search\":\n\t\t\treturn createSearchTool(cwd, { ...options?.search, hashlineStore });\n\t\tcase \"ls\":\n\t\t\treturn createLsTool(cwd, options?.ls);\n\t\tcase \"ask_user_question\":\n\t\t\treturn wrapToolDefinition(createAskUserQuestionToolDefinition());\n\t\tcase \"todo\":\n\t\t\treturn wrapToolDefinition(createTodoToolDefinition(cwd));\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown tool name: ${toolName}`);\n\t}\n}\n\nexport function createCodingToolDefinitions(cwd: string, options?: ToolsOptions): ToolDef[] {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\treturn [\n\t\tcreateReadToolDefinition(cwd, { ...options?.read, hashlineStore }),\n\t\tcreateBashToolDefinition(cwd, options?.bash),\n\t\tcreateKillToolDefinition(options?.kill),\n\t\tcreateEditToolDefinition(cwd, { ...options?.edit, hashlineStore }),\n\t\tcreateWriteToolDefinition(cwd, { ...options?.write, hashlineStore }),\n\t\tcreateFindToolDefinition(cwd, options?.find),\n\t\tcreateSearchToolDefinition(cwd, { ...options?.search, hashlineStore }),\n\t];\n}\n\nexport function createReadOnlyToolDefinitions(cwd: string, options?: ToolsOptions): ToolDef[] {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\treturn [\n\t\tcreateReadToolDefinition(cwd, { ...options?.read, hashlineStore }),\n\t\tcreateFindToolDefinition(cwd, options?.find),\n\t\tcreateSearchToolDefinition(cwd, { ...options?.search, hashlineStore }),\n\t\tcreateLsToolDefinition(cwd, options?.ls),\n\t];\n}\n\nexport function createAllToolDefinitions(cwd: string, options?: ToolsOptions): BuiltinToolMap<ToolDef> {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\tconst definitions: BuiltinToolMap<ToolDef> = {\n\t\tread: createReadToolDefinition(cwd, { ...options?.read, hashlineStore }),\n\t\tbash: createBashToolDefinition(cwd, options?.bash),\n\t\tkill: createKillToolDefinition(options?.kill),\n\t\tedit: createEditToolDefinition(cwd, { ...options?.edit, hashlineStore }),\n\t\twrite: createWriteToolDefinition(cwd, { ...options?.write, hashlineStore }),\n\t\tfind: createFindToolDefinition(cwd, options?.find),\n\t\tsearch: createSearchToolDefinition(cwd, { ...options?.search, hashlineStore }),\n\t\tls: createLsToolDefinition(cwd, options?.ls),\n\t\task_user_question: createAskUserQuestionToolDefinition(),\n\t\ttodo: createTodoToolDefinition(cwd),\n\t};\n\tif (isPowerShellAvailable()) {\n\t\tdefinitions.powershell = createPowerShellToolDefinition(cwd, options?.powershell);\n\t}\n\treturn definitions;\n}\n\nexport function createCodingTools(cwd: string, options?: ToolsOptions): Tool[] {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\treturn [\n\t\tcreateReadTool(cwd, { ...options?.read, hashlineStore }),\n\t\tcreateBashTool(cwd, options?.bash),\n\t\tcreateKillTool(options?.kill),\n\t\tcreateEditTool(cwd, { ...options?.edit, hashlineStore }),\n\t\tcreateWriteTool(cwd, { ...options?.write, hashlineStore }),\n\t\tcreateFindTool(cwd, options?.find),\n\t\tcreateSearchTool(cwd, { ...options?.search, hashlineStore }),\n\t];\n}\n\nexport function createReadOnlyTools(cwd: string, options?: ToolsOptions): Tool[] {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\treturn [\n\t\tcreateReadTool(cwd, { ...options?.read, hashlineStore }),\n\t\tcreateFindTool(cwd, options?.find),\n\t\tcreateSearchTool(cwd, { ...options?.search, hashlineStore }),\n\t\tcreateLsTool(cwd, options?.ls),\n\t];\n}\n\nexport function createAllTools(cwd: string, options?: ToolsOptions): BuiltinToolMap<Tool> {\n\tconst hashlineStore = options?.hashlineStore ?? createHashlineSnapshotStore();\n\tconst tools: BuiltinToolMap<Tool> = {\n\t\tread: createReadTool(cwd, { ...options?.read, hashlineStore }),\n\t\tbash: createBashTool(cwd, options?.bash),\n\t\tkill: createKillTool(options?.kill),\n\t\tedit: createEditTool(cwd, { ...options?.edit, hashlineStore }),\n\t\twrite: createWriteTool(cwd, { ...options?.write, hashlineStore }),\n\t\tfind: createFindTool(cwd, options?.find),\n\t\tsearch: createSearchTool(cwd, { ...options?.search, hashlineStore }),\n\t\tls: createLsTool(cwd, options?.ls),\n\t\task_user_question: wrapToolDefinition(createAskUserQuestionToolDefinition()),\n\t\ttodo: wrapToolDefinition(createTodoToolDefinition(cwd)),\n\t};\n\tif (isPowerShellAvailable()) {\n\t\ttools.powershell = createPowerShellTool(cwd, options?.powershell);\n\t}\n\treturn tools;\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Type } from "typebox";
|
|
2
|
+
import type { ToolDefinition } from "../extensions/types.ts";
|
|
3
|
+
import type { CancelReceipt } from "../tasks/contracts.js";
|
|
4
|
+
import type { SupervisedCommandOwner } from "./bash-pty-native.js";
|
|
5
|
+
declare const killSchema: Type.TObject<{
|
|
6
|
+
id: Type.TString;
|
|
7
|
+
}>;
|
|
8
|
+
export interface KillToolOptions {
|
|
9
|
+
/** Resolve the live trusted owner at execution time, including after session switches. */
|
|
10
|
+
taskOwner?: () => SupervisedCommandOwner;
|
|
11
|
+
}
|
|
12
|
+
export declare function createKillToolDefinition(options?: KillToolOptions): ToolDefinition<typeof killSchema, CancelReceipt>;
|
|
13
|
+
export declare function createKillTool(options?: KillToolOptions): import("@earendil-works/pi-agent-core").AgentTool<Type.TObject<{
|
|
14
|
+
id: Type.TString;
|
|
15
|
+
}>, CancelReceipt>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=kill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kill.d.ts","sourceRoot":"","sources":["../../../src/core/tools/kill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAU,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE,QAAA,MAAM,UAAU;;EAEd,CAAC;AAEH,MAAM,WAAW,eAAe;IAC/B,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,sBAAsB,CAAC;CACzC;AAED,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC,OAAO,UAAU,EAAE,aAAa,CAAC,CAiCpH;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe;;mBAEvD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Type } from "typebox";
|
|
2
|
+
import { experimentalToolSamplingProperty } from "../experimental.js";
|
|
3
|
+
import { wrapToolDefinition } from "./tool-definition-wrapper.js";
|
|
4
|
+
const killSchema = Type.Object({
|
|
5
|
+
id: Type.String({ description: "Task ID returned by a background or auto-yielded bash or powershell call" }),
|
|
6
|
+
});
|
|
7
|
+
export function createKillToolDefinition(options) {
|
|
8
|
+
return {
|
|
9
|
+
name: "kill",
|
|
10
|
+
label: "Kill",
|
|
11
|
+
description: "Stop an owned background bash or PowerShell task by its task ID, not a PID. Does not stop subagents or other owners' tasks. Returns the cancellation decision and current execution/cleanup state; a cancellation request alone does not confirm termination.",
|
|
12
|
+
parameters: killSchema,
|
|
13
|
+
...experimentalToolSamplingProperty(),
|
|
14
|
+
promptSnippet: "Stop an owned background shell task by task ID",
|
|
15
|
+
execute: async (_toolCallId, { id }) => {
|
|
16
|
+
const binding = options?.taskOwner?.();
|
|
17
|
+
if (!binding)
|
|
18
|
+
throw new Error("kill requires a supported task owner");
|
|
19
|
+
const { supervisor, owner } = binding;
|
|
20
|
+
const task = supervisor.lookupTask(owner, id);
|
|
21
|
+
if (!task.ok)
|
|
22
|
+
throw new Error(`${task.error.code}: ${task.error.message}`);
|
|
23
|
+
const watched = supervisor.watchOwnerTasks(owner);
|
|
24
|
+
if (!watched.ok)
|
|
25
|
+
throw new Error(`${watched.error.code}: ${watched.error.message}`);
|
|
26
|
+
try {
|
|
27
|
+
const record = watched.value.snapshot.tasks.find((entry) => entry.ref.taskId === id);
|
|
28
|
+
if (record?.kind !== "command")
|
|
29
|
+
throw new Error("kill only supports shell tasks");
|
|
30
|
+
const result = await supervisor.cancelTask(task.value, "user");
|
|
31
|
+
if (!result.ok)
|
|
32
|
+
throw new Error(`${result.error.code}: ${result.error.message}`);
|
|
33
|
+
const receipt = result.value;
|
|
34
|
+
return {
|
|
35
|
+
content: [{ type: "text", text: JSON.stringify(receipt) }],
|
|
36
|
+
details: receipt,
|
|
37
|
+
...(receipt.cleanup.kind === "failed" ? { isError: true } : {}),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
watched.value.dispose();
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export function createKillTool(options) {
|
|
47
|
+
return wrapToolDefinition(createKillToolDefinition(options));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=kill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kill.js","sourceRoot":"","sources":["../../../src/core/tools/kill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAItE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0EAA0E,EAAE,CAAC;CAC5G,CAAC,CAAC;AAOH,MAAM,UAAU,wBAAwB,CAAC,OAAyB;IACjE,OAAO;QACN,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,WAAW,EACV,+PAA+P;QAChQ,UAAU,EAAE,UAAU;QACtB,GAAG,gCAAgC,EAAE;QACrC,aAAa,EAAE,gDAAgD;QAC/D,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YACtC,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,EAAY,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;gBACrF,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAClF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC7B,OAAO;oBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1D,OAAO,EAAE,OAAO;oBAChB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/D,CAAC;YACH,CAAC;oBAAS,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAyB;IACvD,OAAO,kBAAkB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC","sourcesContent":["import { Type } from \"typebox\";\nimport { experimentalToolSamplingProperty } from \"../experimental.ts\";\nimport type { ToolDefinition } from \"../extensions/types.ts\";\nimport type { CancelReceipt, TaskId } from \"../tasks/contracts.js\";\nimport type { SupervisedCommandOwner } from \"./bash-pty-native.js\";\nimport { wrapToolDefinition } from \"./tool-definition-wrapper.ts\";\n\nconst killSchema = Type.Object({\n\tid: Type.String({ description: \"Task ID returned by a background or auto-yielded bash or powershell call\" }),\n});\n\nexport interface KillToolOptions {\n\t/** Resolve the live trusted owner at execution time, including after session switches. */\n\ttaskOwner?: () => SupervisedCommandOwner;\n}\n\nexport function createKillToolDefinition(options?: KillToolOptions): ToolDefinition<typeof killSchema, CancelReceipt> {\n\treturn {\n\t\tname: \"kill\",\n\t\tlabel: \"Kill\",\n\t\tdescription:\n\t\t\t\"Stop an owned background bash or PowerShell task by its task ID, not a PID. Does not stop subagents or other owners' tasks. Returns the cancellation decision and current execution/cleanup state; a cancellation request alone does not confirm termination.\",\n\t\tparameters: killSchema,\n\t\t...experimentalToolSamplingProperty(),\n\t\tpromptSnippet: \"Stop an owned background shell task by task ID\",\n\t\texecute: async (_toolCallId, { id }) => {\n\t\t\tconst binding = options?.taskOwner?.();\n\t\t\tif (!binding) throw new Error(\"kill requires a supported task owner\");\n\t\t\tconst { supervisor, owner } = binding;\n\t\t\tconst task = supervisor.lookupTask(owner, id as TaskId);\n\t\t\tif (!task.ok) throw new Error(`${task.error.code}: ${task.error.message}`);\n\t\t\tconst watched = supervisor.watchOwnerTasks(owner);\n\t\t\tif (!watched.ok) throw new Error(`${watched.error.code}: ${watched.error.message}`);\n\t\t\ttry {\n\t\t\t\tconst record = watched.value.snapshot.tasks.find((entry) => entry.ref.taskId === id);\n\t\t\t\tif (record?.kind !== \"command\") throw new Error(\"kill only supports shell tasks\");\n\t\t\t\tconst result = await supervisor.cancelTask(task.value, \"user\");\n\t\t\t\tif (!result.ok) throw new Error(`${result.error.code}: ${result.error.message}`);\n\t\t\t\tconst receipt = result.value;\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: JSON.stringify(receipt) }],\n\t\t\t\t\tdetails: receipt,\n\t\t\t\t\t...(receipt.cleanup.kind === \"failed\" ? { isError: true } : {}),\n\t\t\t\t};\n\t\t\t} finally {\n\t\t\t\twatched.value.dispose();\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function createKillTool(options?: KillToolOptions) {\n\treturn wrapToolDefinition(createKillToolDefinition(options));\n}\n"]}
|
|
@@ -2,7 +2,7 @@ import { type BashOperations, type BashSpawnContext, type BashSpawnHook, type Ba
|
|
|
2
2
|
import { type SupervisedCommandOwner } from "./bash-pty-native.js";
|
|
3
3
|
export declare const powershellToolSystemPromptContribution: Readonly<{
|
|
4
4
|
readonly snippet: "Execute PowerShell commands.";
|
|
5
|
-
readonly guidelines: readonly ["You can inspect ATOMIC_* or PI_* environment variables for current model and session details."];
|
|
5
|
+
readonly guidelines: readonly ["You can inspect ATOMIC_* or PI_* environment variables for current model and session details.", "Use { action: \"wait\", id: taskId, budgetMs: 1000 } to observe an existing shell task without executing another command. Omit budgetMs for owner policy; zero polls. Waiting does not extend execution timeout or owner lifetime."];
|
|
6
6
|
}>;
|
|
7
7
|
export type PowerShellOperations = BashOperations;
|
|
8
8
|
export type PowerShellToolDetails = BashToolDetails;
|
|
@@ -14,80 +14,136 @@ export declare function createLocalPowerShellOperations(binding?: {
|
|
|
14
14
|
taskOwner?: SupervisedCommandOwner;
|
|
15
15
|
}): PowerShellOperations;
|
|
16
16
|
export declare function createPowerShellToolDefinition(cwd: string, options?: PowerShellToolOptions): {
|
|
17
|
-
parameters: import("typebox").
|
|
18
|
-
command:
|
|
19
|
-
env
|
|
20
|
-
timeout
|
|
21
|
-
wait
|
|
22
|
-
cwd
|
|
23
|
-
pty
|
|
24
|
-
}
|
|
17
|
+
parameters: import("typebox").TUnsafe<({
|
|
18
|
+
command: string;
|
|
19
|
+
env?: Record<string, string> | undefined;
|
|
20
|
+
timeout?: number | undefined;
|
|
21
|
+
wait?: import("../tasks/contracts.ts").WaitPolicy | undefined;
|
|
22
|
+
cwd?: string | undefined;
|
|
23
|
+
pty?: boolean | undefined;
|
|
24
|
+
} & {
|
|
25
|
+
action?: never;
|
|
26
|
+
id?: never;
|
|
27
|
+
budgetMs?: never;
|
|
28
|
+
}) | ({
|
|
29
|
+
action: "wait";
|
|
30
|
+
id: string;
|
|
31
|
+
budgetMs?: number;
|
|
32
|
+
} & Partial<Record<"command" | "cwd" | "env" | "pty" | "timeout" | "wait", never>>)>;
|
|
25
33
|
constrainedSampling?: false | import("@bastani/pi-ai").ConstrainedSamplingConfig;
|
|
26
34
|
maxResultSizeChars?: number;
|
|
27
35
|
structuredOutput?: true;
|
|
28
36
|
renderShell?: "default" | "self";
|
|
29
|
-
prepareArguments?: ((args: unknown) => {
|
|
37
|
+
prepareArguments?: ((args: unknown) => ({
|
|
30
38
|
command: string;
|
|
31
39
|
env?: Record<string, string> | undefined;
|
|
32
40
|
timeout?: number | undefined;
|
|
33
41
|
wait?: import("../tasks/contracts.ts").WaitPolicy | undefined;
|
|
34
42
|
cwd?: string | undefined;
|
|
35
43
|
pty?: boolean | undefined;
|
|
36
|
-
}
|
|
44
|
+
} & {
|
|
45
|
+
action?: never;
|
|
46
|
+
id?: never;
|
|
47
|
+
budgetMs?: never;
|
|
48
|
+
}) | ({
|
|
49
|
+
action: "wait";
|
|
50
|
+
id: string;
|
|
51
|
+
budgetMs?: number;
|
|
52
|
+
} & Partial<Record<"command" | "cwd" | "env" | "pty" | "timeout" | "wait", never>>)) | undefined;
|
|
37
53
|
executionMode?: import("@earendil-works/pi-agent-core").ToolExecutionMode;
|
|
38
|
-
renderCall?: ((args: {
|
|
54
|
+
renderCall?: ((args: ({
|
|
39
55
|
command: string;
|
|
40
56
|
env?: Record<string, string> | undefined;
|
|
41
57
|
timeout?: number | undefined;
|
|
42
58
|
wait?: import("../tasks/contracts.ts").WaitPolicy | undefined;
|
|
43
59
|
cwd?: string | undefined;
|
|
44
60
|
pty?: boolean | undefined;
|
|
45
|
-
}
|
|
61
|
+
} & {
|
|
62
|
+
action?: never;
|
|
63
|
+
id?: never;
|
|
64
|
+
budgetMs?: never;
|
|
65
|
+
}) | ({
|
|
66
|
+
action: "wait";
|
|
67
|
+
id: string;
|
|
68
|
+
budgetMs?: number;
|
|
69
|
+
} & Partial<Record<"command" | "cwd" | "env" | "pty" | "timeout" | "wait", never>>), theme: import("../../index.ts").Theme, context: import("../extensions/tool-types.ts").ToolRenderContext<{
|
|
46
70
|
startedAt: number | undefined;
|
|
47
71
|
endedAt: number | undefined;
|
|
48
72
|
interval: NodeJS.Timeout | undefined;
|
|
49
|
-
}, {
|
|
73
|
+
}, ({
|
|
50
74
|
command: string;
|
|
51
75
|
env?: Record<string, string> | undefined;
|
|
52
76
|
timeout?: number | undefined;
|
|
53
77
|
wait?: import("../tasks/contracts.ts").WaitPolicy | undefined;
|
|
54
78
|
cwd?: string | undefined;
|
|
55
79
|
pty?: boolean | undefined;
|
|
56
|
-
}
|
|
80
|
+
} & {
|
|
81
|
+
action?: never;
|
|
82
|
+
id?: never;
|
|
83
|
+
budgetMs?: never;
|
|
84
|
+
}) | ({
|
|
85
|
+
action: "wait";
|
|
86
|
+
id: string;
|
|
87
|
+
budgetMs?: number;
|
|
88
|
+
} & Partial<Record<"command" | "cwd" | "env" | "pty" | "timeout" | "wait", never>>)>) => import("@earendil-works/pi-tui").Component) | undefined;
|
|
57
89
|
renderResult?: ((result: import("@earendil-works/pi-agent-core").AgentToolResult<BashToolDetails | undefined>, options: import("../index.ts").ToolRenderResultOptions, theme: import("../../index.ts").Theme, context: import("../extensions/tool-types.ts").ToolRenderContext<{
|
|
58
90
|
startedAt: number | undefined;
|
|
59
91
|
endedAt: number | undefined;
|
|
60
92
|
interval: NodeJS.Timeout | undefined;
|
|
61
|
-
}, {
|
|
93
|
+
}, ({
|
|
62
94
|
command: string;
|
|
63
95
|
env?: Record<string, string> | undefined;
|
|
64
96
|
timeout?: number | undefined;
|
|
65
97
|
wait?: import("../tasks/contracts.ts").WaitPolicy | undefined;
|
|
66
98
|
cwd?: string | undefined;
|
|
67
99
|
pty?: boolean | undefined;
|
|
68
|
-
}
|
|
100
|
+
} & {
|
|
101
|
+
action?: never;
|
|
102
|
+
id?: never;
|
|
103
|
+
budgetMs?: never;
|
|
104
|
+
}) | ({
|
|
105
|
+
action: "wait";
|
|
106
|
+
id: string;
|
|
107
|
+
budgetMs?: number;
|
|
108
|
+
} & Partial<Record<"command" | "cwd" | "env" | "pty" | "timeout" | "wait", never>>)>) => import("@earendil-works/pi-tui").Component) | undefined;
|
|
69
109
|
name: string;
|
|
70
110
|
label: string;
|
|
71
|
-
execute(toolCallId: string, params: {
|
|
111
|
+
execute(toolCallId: string, params: ({
|
|
72
112
|
command: string;
|
|
73
113
|
env?: Record<string, string> | undefined;
|
|
74
114
|
timeout?: number | undefined;
|
|
75
115
|
wait?: import("../tasks/contracts.ts").WaitPolicy | undefined;
|
|
76
116
|
cwd?: string | undefined;
|
|
77
117
|
pty?: boolean | undefined;
|
|
78
|
-
}
|
|
118
|
+
} & {
|
|
119
|
+
action?: never;
|
|
120
|
+
id?: never;
|
|
121
|
+
budgetMs?: never;
|
|
122
|
+
}) | ({
|
|
123
|
+
action: "wait";
|
|
124
|
+
id: string;
|
|
125
|
+
budgetMs?: number;
|
|
126
|
+
} & Partial<Record<"command" | "cwd" | "env" | "pty" | "timeout" | "wait", never>>), signal: AbortSignal | undefined, onUpdate: import("@earendil-works/pi-agent-core").AgentToolUpdateCallback<BashToolDetails | undefined> | undefined, ctx: import("../sdk-exports.ts").ExtensionContext): Promise<import("@earendil-works/pi-agent-core").AgentToolResult<BashToolDetails | undefined>>;
|
|
79
127
|
description: string;
|
|
80
128
|
promptSnippet: "Execute PowerShell commands.";
|
|
81
|
-
promptGuidelines: "You can inspect ATOMIC_* or PI_* environment variables for current model and session details."[] | undefined;
|
|
129
|
+
promptGuidelines: ("Use { action: \"wait\", id: taskId, budgetMs: 1000 } to observe an existing shell task without executing another command. Omit budgetMs for owner policy; zero polls. Waiting does not extend execution timeout or owner lifetime." | "You can inspect ATOMIC_* or PI_* environment variables for current model and session details.")[] | undefined;
|
|
82
130
|
};
|
|
83
|
-
export declare function createPowerShellTool(cwd: string, options?: PowerShellToolOptions): import("@earendil-works/pi-agent-core").AgentTool<import("typebox").
|
|
84
|
-
command:
|
|
85
|
-
env
|
|
86
|
-
timeout
|
|
87
|
-
wait
|
|
88
|
-
cwd
|
|
89
|
-
pty
|
|
90
|
-
}
|
|
131
|
+
export declare function createPowerShellTool(cwd: string, options?: PowerShellToolOptions): import("@earendil-works/pi-agent-core").AgentTool<import("typebox").TUnsafe<({
|
|
132
|
+
command: string;
|
|
133
|
+
env?: Record<string, string> | undefined;
|
|
134
|
+
timeout?: number | undefined;
|
|
135
|
+
wait?: import("../tasks/contracts.ts").WaitPolicy | undefined;
|
|
136
|
+
cwd?: string | undefined;
|
|
137
|
+
pty?: boolean | undefined;
|
|
138
|
+
} & {
|
|
139
|
+
action?: never;
|
|
140
|
+
id?: never;
|
|
141
|
+
budgetMs?: never;
|
|
142
|
+
}) | ({
|
|
143
|
+
action: "wait";
|
|
144
|
+
id: string;
|
|
145
|
+
budgetMs?: number;
|
|
146
|
+
} & Partial<Record<"command" | "cwd" | "env" | "pty" | "timeout" | "wait", never>>)>, BashToolDetails | undefined>;
|
|
91
147
|
export type PowerShellSpawnContext = BashSpawnContext;
|
|
92
148
|
export type PowerShellSpawnHook = BashSpawnHook;
|
|
93
149
|
//# sourceMappingURL=powershell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powershell.d.ts","sourceRoot":"","sources":["../../../src/core/tools/powershell.ts"],"names":[],"mappings":"AASA,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EAIpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAGN,KAAK,sBAAsB,EAE3B,MAAM,sBAAsB,CAAC;AAS9B,eAAO,MAAM,sCAAsC;sBACzC,8BAA8B;;
|
|
1
|
+
{"version":3,"file":"powershell.d.ts","sourceRoot":"","sources":["../../../src/core/tools/powershell.ts"],"names":[],"mappings":"AASA,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EAIpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAGN,KAAK,sBAAsB,EAE3B,MAAM,sBAAsB,CAAC;AAS9B,eAAO,MAAM,sCAAsC;sBACzC,8BAA8B;;EAK7B,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC;AACpD,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAChD,MAAM,WAAW,qBAChB,SAAQ,IAAI,CAAC,eAAe,EAAE,0BAA0B,GAAG,WAAW,GAAG,WAAW,CAAC;IACrF,UAAU,CAAC,EAAE,cAAc,CAAC;CAC5B;AACD,wBAAgB,+BAA+B,CAAC,OAAO,CAAC,EAAE;IACzD,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACnC,GAAG,oBAAoB,CA0DvB;AACD,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC9F;AACD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB;;;;;;;;;;;;;;;mHAEhF;AACD,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AACtD,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC"}
|
|
@@ -13,6 +13,7 @@ export const powershellToolSystemPromptContribution = Object.freeze({
|
|
|
13
13
|
snippet: "Execute PowerShell commands.",
|
|
14
14
|
guidelines: Object.freeze([
|
|
15
15
|
"You can inspect ATOMIC_* or PI_* environment variables for current model and session details.",
|
|
16
|
+
'Use { action: "wait", id: taskId, budgetMs: 1000 } to observe an existing shell task without executing another command. Omit budgetMs for owner policy; zero polls. Waiting does not extend execution timeout or owner lifetime.',
|
|
16
17
|
]),
|
|
17
18
|
});
|
|
18
19
|
export function createLocalPowerShellOperations(binding) {
|
|
@@ -89,7 +90,13 @@ export function createLocalPowerShellOperations(binding) {
|
|
|
89
90
|
}
|
|
90
91
|
export function createPowerShellToolDefinition(cwd, options = {}) {
|
|
91
92
|
const definition = createBashToolDefinition(cwd, {
|
|
92
|
-
|
|
93
|
+
exposeSessionEnvironment: options.exposeSessionEnvironment,
|
|
94
|
+
spawnHook: options.spawnHook,
|
|
95
|
+
// Preserve lazy session ownership instead of reading an accessor at registration.
|
|
96
|
+
get taskOwner() {
|
|
97
|
+
return options.taskOwner;
|
|
98
|
+
},
|
|
99
|
+
shellDialect: "powershell",
|
|
93
100
|
operations: options.operations ?? createLocalPowerShellOperations({ taskOwner: options.taskOwner }),
|
|
94
101
|
}, POWERSHELL_PRESENTATION);
|
|
95
102
|
return {
|
|
@@ -98,10 +105,11 @@ export function createPowerShellToolDefinition(cwd, options = {}) {
|
|
|
98
105
|
label: "powershell",
|
|
99
106
|
async execute(...args) {
|
|
100
107
|
// The internal local adapter is not evidence of a supported owner.
|
|
101
|
-
|
|
108
|
+
if (args[1].action === undefined)
|
|
109
|
+
validateBashWait(args[1].wait, !!options.operations || !!options.taskOwner);
|
|
102
110
|
return definition.execute(...args);
|
|
103
111
|
},
|
|
104
|
-
description:
|
|
112
|
+
description: 'Execute a PowerShell command or observe an existing task with action: "wait", id, and optional budgetMs. Owner-bound commands automatically yield after 10s by default without stopping execution. Unbound commands wait for completion; background and existing-task waits require a task owner.',
|
|
105
113
|
promptSnippet: powershellToolSystemPromptContribution.snippet,
|
|
106
114
|
promptGuidelines: options.exposeSessionEnvironment === false
|
|
107
115
|
? undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powershell.js","sourceRoot":"","sources":["../../../src/core/tools/powershell.ts"],"names":[],"mappings":"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","sourcesContent":["import { APP_NAME } from \"../../config.js\";\nimport { createChildProcessEnvironment, waitForChildProcess } from \"../../utils/child-process.ts\";\nimport {\n\tgetPowerShellConfig,\n\tgetShellEnv,\n\tkillProcessTree,\n\ttrackDetachedChildPid,\n\tuntrackDetachedChildPid,\n} from \"../../utils/shell.ts\";\nimport {\n\ttype BashOperations,\n\ttype BashSpawnContext,\n\ttype BashSpawnHook,\n\ttype BashToolDetails,\n\ttype BashToolInput,\n\ttype BashToolOptions,\n\tcreateBashToolDefinition,\n\ttype ShellToolPresentation,\n\tvalidateExplicitTimeoutSeconds,\n} from \"./bash.js\";\nimport {\n\texecuteNativePty,\n\texecuteSupervisedCommand,\n\ttype SupervisedCommandOwner,\n\tvalidateBashWait,\n} from \"./bash-pty-native.js\";\nimport { wrapToolDefinition } from \"./tool-definition-wrapper.ts\";\n\nconst POWERSHELL_PRESENTATION: ShellToolPresentation = {\n\tprompt: \"PS>\",\n\ttempFilePrefix: `${APP_NAME}-powershell`,\n};\n\nconst UTF8_OUTPUT_PREFIX = \"try { [Console]::OutputEncoding=[System.Text.Encoding]::UTF8 } catch {}\\n\";\nexport const powershellToolSystemPromptContribution = Object.freeze({\n\tsnippet: \"Execute PowerShell commands.\",\n\tguidelines: Object.freeze([\n\t\t\"You can inspect ATOMIC_* or PI_* environment variables for current model and session details.\",\n\t] as const),\n} as const);\nexport type PowerShellOperations = BashOperations;\nexport type PowerShellToolDetails = BashToolDetails;\nexport type PowerShellToolInput = BashToolInput;\nexport interface PowerShellToolOptions\n\textends Pick<BashToolOptions, \"exposeSessionEnvironment\" | \"spawnHook\" | \"taskOwner\"> {\n\toperations?: BashOperations;\n}\nexport function createLocalPowerShellOperations(binding?: {\n\ttaskOwner?: SupervisedCommandOwner;\n}): PowerShellOperations {\n\treturn {\n\t\texec: async (command, cwd, options) => {\n\t\t\tvalidateBashWait(options.wait, !!binding?.taskOwner);\n\t\t\tif (options.timeout !== undefined) validateExplicitTimeoutSeconds(options.timeout);\n\t\t\tif (options.signal?.aborted) throw new Error(\"aborted\");\n\t\t\tconst { shell, args } = getPowerShellConfig();\n\t\t\tconst pty = !!options.pty && process.env.PI_NO_PTY !== \"1\" && process.env.ATOMIC_NO_PTY !== \"1\";\n\t\t\tif (binding?.taskOwner || pty) {\n\t\t\t\t// EncodedCommand avoids native argument parsing differences between PowerShell 5 and 7.\n\t\t\t\tconst encoded = Buffer.from(`${UTF8_OUTPUT_PREFIX}${command}`, \"utf16le\").toString(\"base64\");\n\t\t\t\tconst execution = {\n\t\t\t\t\t...options,\n\t\t\t\t\tshellConfig: { shell, args: [...args.slice(0, -1), \"-EncodedCommand\"] },\n\t\t\t\t\tcommandDescription: command,\n\t\t\t\t\ttaskOwner: binding?.taskOwner,\n\t\t\t\t};\n\t\t\t\treturn binding?.taskOwner\n\t\t\t\t\t? executeSupervisedCommand(encoded, cwd, execution, pty)\n\t\t\t\t\t: executeNativePty(encoded, cwd, execution);\n\t\t\t}\n\t\t\tconst { spawn } = await import(\"node:child_process\");\n\t\t\tif (options.signal?.aborted) throw new Error(\"aborted\");\n\t\t\tconst child = spawn(shell, [...args, `${UTF8_OUTPUT_PREFIX}${command}`], {\n\t\t\t\tcwd,\n\t\t\t\tenv: createChildProcessEnvironment(undefined, options.env ?? getShellEnv()),\n\t\t\t\twindowsHide: true,\n\t\t\t});\n\t\t\tif (child.pid) trackDetachedChildPid(child.pid);\n\t\t\tlet timedOut = false;\n\t\t\tlet timeoutHandle: ReturnType<typeof setTimeout> | undefined;\n\t\t\tconst onAbort = () => {\n\t\t\t\tif (child.pid) killProcessTree(child.pid);\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tif (options.timeout !== undefined && options.timeout > 0) {\n\t\t\t\t\ttimeoutHandle = setTimeout(() => {\n\t\t\t\t\t\ttimedOut = true;\n\t\t\t\t\t\tif (child.pid) killProcessTree(child.pid);\n\t\t\t\t\t}, options.timeout * 1000);\n\t\t\t\t}\n\t\t\t\tchild.stdout?.on(\"data\", (data: Buffer) => options.onData(data, \"stdout\"));\n\t\t\t\tchild.stderr?.on(\"data\", (data: Buffer) => options.onData(data, \"stderr\"));\n\t\t\t\tif (options.signal) {\n\t\t\t\t\tif (options.signal.aborted) onAbort();\n\t\t\t\t\telse options.signal.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\t\t}\n\t\t\t\tconst exitCode = await waitForChildProcess(child);\n\t\t\t\tif (options.signal?.aborted) throw new Error(\"aborted\");\n\t\t\t\tif (timedOut) throw new Error(`timeout:${options.timeout}`);\n\t\t\t\treturn { exitCode };\n\t\t\t} finally {\n\t\t\t\tif (child.pid) untrackDetachedChildPid(child.pid);\n\t\t\t\tif (timeoutHandle) clearTimeout(timeoutHandle);\n\t\t\t\toptions.signal?.removeEventListener(\"abort\", onAbort);\n\t\t\t}\n\t\t},\n\t};\n}\nexport function createPowerShellToolDefinition(cwd: string, options: PowerShellToolOptions = {}) {\n\tconst definition = createBashToolDefinition(\n\t\tcwd,\n\t\t{\n\t\t\t...options,\n\t\t\toperations: options.operations ?? createLocalPowerShellOperations({ taskOwner: options.taskOwner }),\n\t\t},\n\t\tPOWERSHELL_PRESENTATION,\n\t);\n\treturn {\n\t\t...definition,\n\t\tname: \"powershell\",\n\t\tlabel: \"powershell\",\n\t\tasync execute(...args: Parameters<typeof definition.execute>) {\n\t\t\t// The internal local adapter is not evidence of a supported owner.\n\t\t\tvalidateBashWait(args[1].wait, !!options.operations || !!options.taskOwner);\n\t\t\treturn definition.execute(...args);\n\t\t},\n\t\tdescription:\n\t\t\t\"Execute a PowerShell command with optional PTY and foreground/background observation. Owner-bound calls automatically yield after 10s by default without stopping execution. Unbound calls wait for completion; background requires a task owner.\",\n\t\tpromptSnippet: powershellToolSystemPromptContribution.snippet,\n\t\tpromptGuidelines:\n\t\t\toptions.exposeSessionEnvironment === false\n\t\t\t\t? undefined\n\t\t\t\t: [...powershellToolSystemPromptContribution.guidelines],\n\t};\n}\nexport function createPowerShellTool(cwd: string, options?: PowerShellToolOptions) {\n\treturn wrapToolDefinition(createPowerShellToolDefinition(cwd, options));\n}\nexport type PowerShellSpawnContext = BashSpawnContext;\nexport type PowerShellSpawnHook = BashSpawnHook;\n"]}
|
|
1
|
+
{"version":3,"file":"powershell.js","sourceRoot":"","sources":["../../../src/core/tools/powershell.ts"],"names":[],"mappings":"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","sourcesContent":["import { APP_NAME } from \"../../config.js\";\nimport { createChildProcessEnvironment, waitForChildProcess } from \"../../utils/child-process.ts\";\nimport {\n\tgetPowerShellConfig,\n\tgetShellEnv,\n\tkillProcessTree,\n\ttrackDetachedChildPid,\n\tuntrackDetachedChildPid,\n} from \"../../utils/shell.ts\";\nimport {\n\ttype BashOperations,\n\ttype BashSpawnContext,\n\ttype BashSpawnHook,\n\ttype BashToolDetails,\n\ttype BashToolInput,\n\ttype BashToolOptions,\n\tcreateBashToolDefinition,\n\ttype ShellToolPresentation,\n\tvalidateExplicitTimeoutSeconds,\n} from \"./bash.js\";\nimport {\n\texecuteNativePty,\n\texecuteSupervisedCommand,\n\ttype SupervisedCommandOwner,\n\tvalidateBashWait,\n} from \"./bash-pty-native.js\";\nimport { wrapToolDefinition } from \"./tool-definition-wrapper.ts\";\n\nconst POWERSHELL_PRESENTATION: ShellToolPresentation = {\n\tprompt: \"PS>\",\n\ttempFilePrefix: `${APP_NAME}-powershell`,\n};\n\nconst UTF8_OUTPUT_PREFIX = \"try { [Console]::OutputEncoding=[System.Text.Encoding]::UTF8 } catch {}\\n\";\nexport const powershellToolSystemPromptContribution = Object.freeze({\n\tsnippet: \"Execute PowerShell commands.\",\n\tguidelines: Object.freeze([\n\t\t\"You can inspect ATOMIC_* or PI_* environment variables for current model and session details.\",\n\t\t'Use { action: \"wait\", id: taskId, budgetMs: 1000 } to observe an existing shell task without executing another command. Omit budgetMs for owner policy; zero polls. Waiting does not extend execution timeout or owner lifetime.',\n\t] as const),\n} as const);\nexport type PowerShellOperations = BashOperations;\nexport type PowerShellToolDetails = BashToolDetails;\nexport type PowerShellToolInput = BashToolInput;\nexport interface PowerShellToolOptions\n\textends Pick<BashToolOptions, \"exposeSessionEnvironment\" | \"spawnHook\" | \"taskOwner\"> {\n\toperations?: BashOperations;\n}\nexport function createLocalPowerShellOperations(binding?: {\n\ttaskOwner?: SupervisedCommandOwner;\n}): PowerShellOperations {\n\treturn {\n\t\texec: async (command, cwd, options) => {\n\t\t\tvalidateBashWait(options.wait, !!binding?.taskOwner);\n\t\t\tif (options.timeout !== undefined) validateExplicitTimeoutSeconds(options.timeout);\n\t\t\tif (options.signal?.aborted) throw new Error(\"aborted\");\n\t\t\tconst { shell, args } = getPowerShellConfig();\n\t\t\tconst pty = !!options.pty && process.env.PI_NO_PTY !== \"1\" && process.env.ATOMIC_NO_PTY !== \"1\";\n\t\t\tif (binding?.taskOwner || pty) {\n\t\t\t\t// EncodedCommand avoids native argument parsing differences between PowerShell 5 and 7.\n\t\t\t\tconst encoded = Buffer.from(`${UTF8_OUTPUT_PREFIX}${command}`, \"utf16le\").toString(\"base64\");\n\t\t\t\tconst execution = {\n\t\t\t\t\t...options,\n\t\t\t\t\tshellConfig: { shell, args: [...args.slice(0, -1), \"-EncodedCommand\"] },\n\t\t\t\t\tcommandDescription: command,\n\t\t\t\t\ttaskOwner: binding?.taskOwner,\n\t\t\t\t};\n\t\t\t\treturn binding?.taskOwner\n\t\t\t\t\t? executeSupervisedCommand(encoded, cwd, execution, pty)\n\t\t\t\t\t: executeNativePty(encoded, cwd, execution);\n\t\t\t}\n\t\t\tconst { spawn } = await import(\"node:child_process\");\n\t\t\tif (options.signal?.aborted) throw new Error(\"aborted\");\n\t\t\tconst child = spawn(shell, [...args, `${UTF8_OUTPUT_PREFIX}${command}`], {\n\t\t\t\tcwd,\n\t\t\t\tenv: createChildProcessEnvironment(undefined, options.env ?? getShellEnv()),\n\t\t\t\twindowsHide: true,\n\t\t\t});\n\t\t\tif (child.pid) trackDetachedChildPid(child.pid);\n\t\t\tlet timedOut = false;\n\t\t\tlet timeoutHandle: ReturnType<typeof setTimeout> | undefined;\n\t\t\tconst onAbort = () => {\n\t\t\t\tif (child.pid) killProcessTree(child.pid);\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tif (options.timeout !== undefined && options.timeout > 0) {\n\t\t\t\t\ttimeoutHandle = setTimeout(() => {\n\t\t\t\t\t\ttimedOut = true;\n\t\t\t\t\t\tif (child.pid) killProcessTree(child.pid);\n\t\t\t\t\t}, options.timeout * 1000);\n\t\t\t\t}\n\t\t\t\tchild.stdout?.on(\"data\", (data: Buffer) => options.onData(data, \"stdout\"));\n\t\t\t\tchild.stderr?.on(\"data\", (data: Buffer) => options.onData(data, \"stderr\"));\n\t\t\t\tif (options.signal) {\n\t\t\t\t\tif (options.signal.aborted) onAbort();\n\t\t\t\t\telse options.signal.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\t\t}\n\t\t\t\tconst exitCode = await waitForChildProcess(child);\n\t\t\t\tif (options.signal?.aborted) throw new Error(\"aborted\");\n\t\t\t\tif (timedOut) throw new Error(`timeout:${options.timeout}`);\n\t\t\t\treturn { exitCode };\n\t\t\t} finally {\n\t\t\t\tif (child.pid) untrackDetachedChildPid(child.pid);\n\t\t\t\tif (timeoutHandle) clearTimeout(timeoutHandle);\n\t\t\t\toptions.signal?.removeEventListener(\"abort\", onAbort);\n\t\t\t}\n\t\t},\n\t};\n}\nexport function createPowerShellToolDefinition(cwd: string, options: PowerShellToolOptions = {}) {\n\tconst definition = createBashToolDefinition(\n\t\tcwd,\n\t\t{\n\t\t\texposeSessionEnvironment: options.exposeSessionEnvironment,\n\t\t\tspawnHook: options.spawnHook,\n\t\t\t// Preserve lazy session ownership instead of reading an accessor at registration.\n\t\t\tget taskOwner() {\n\t\t\t\treturn options.taskOwner;\n\t\t\t},\n\t\t\tshellDialect: \"powershell\",\n\t\t\toperations: options.operations ?? createLocalPowerShellOperations({ taskOwner: options.taskOwner }),\n\t\t},\n\t\tPOWERSHELL_PRESENTATION,\n\t);\n\treturn {\n\t\t...definition,\n\t\tname: \"powershell\",\n\t\tlabel: \"powershell\",\n\t\tasync execute(...args: Parameters<typeof definition.execute>) {\n\t\t\t// The internal local adapter is not evidence of a supported owner.\n\t\t\tif (args[1].action === undefined) validateBashWait(args[1].wait, !!options.operations || !!options.taskOwner);\n\t\t\treturn definition.execute(...args);\n\t\t},\n\t\tdescription:\n\t\t\t'Execute a PowerShell command or observe an existing task with action: \"wait\", id, and optional budgetMs. Owner-bound commands automatically yield after 10s by default without stopping execution. Unbound commands wait for completion; background and existing-task waits require a task owner.',\n\t\tpromptSnippet: powershellToolSystemPromptContribution.snippet,\n\t\tpromptGuidelines:\n\t\t\toptions.exposeSessionEnvironment === false\n\t\t\t\t? undefined\n\t\t\t\t: [...powershellToolSystemPromptContribution.guidelines],\n\t};\n}\nexport function createPowerShellTool(cwd: string, options?: PowerShellToolOptions) {\n\treturn wrapToolDefinition(createPowerShellToolDefinition(cwd, options));\n}\nexport type PowerShellSpawnContext = BashSpawnContext;\nexport type PowerShellSpawnHook = BashSpawnHook;\n"]}
|
|
@@ -40,7 +40,7 @@ export declare function resolveInternalSelector(value: string, cwd: string): str
|
|
|
40
40
|
export declare function readInternalSelector(value: string, cwd: string, context?: InternalResourceContext): Promise<string>;
|
|
41
41
|
export declare function writeInternalSelector(value: string, cwd: string, content: string, context?: InternalResourceContext): Promise<void>;
|
|
42
42
|
export declare function searchInternalSelector(value: string, cwd: string, pattern: string, ignoreCase?: boolean, literal?: boolean, context?: InternalResourceContext, contextBefore?: number, contextAfter?: number): Promise<string>;
|
|
43
|
-
export declare function expandShellInternalUrls(text: string, cwd: string, context?: InternalResourceContext, quote?: boolean): Promise<string>;
|
|
43
|
+
export declare function expandShellInternalUrls(text: string, cwd: string, context?: InternalResourceContext, quote?: boolean, dialect?: "posix" | "powershell"): Promise<string>;
|
|
44
44
|
export declare function readSqliteSelector(selector: SqliteSelector): string;
|
|
45
45
|
export declare function writeSqliteSelector(selector: SqliteSelector, content: string): string;
|
|
46
46
|
export declare function searchSqliteSelector(selector: SqliteSelector, pattern: string, ignoreCase?: boolean, contextBefore?: number, contextAfter?: number): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-selectors.d.ts","sourceRoot":"","sources":["../../../src/core/tools/resource-selectors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resource-selectors.d.ts","sourceRoot":"","sources":["../../../src/core/tools/resource-selectors.ts"],"names":[],"mappings":"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"}
|