@cortexkit/aft-pi 0.47.2 → 0.48.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/config.d.ts +15 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +105 -65
- package/dist/tools/_shared.d.ts +2 -1
- package/dist/tools/_shared.d.ts.map +1 -1
- package/dist/tools/bash.d.ts +1 -0
- package/dist/tools/bash.d.ts.map +1 -1
- package/package.json +8 -8
package/dist/config.d.ts
CHANGED
|
@@ -102,6 +102,14 @@ export type ToolSurface = "minimal" | "recommended" | "all";
|
|
|
102
102
|
* - `bash: false` → hoist disabled entirely; Pi's native bash stays
|
|
103
103
|
* - `bash: { ... }` → partial override; missing sub-keys default to true
|
|
104
104
|
*/
|
|
105
|
+
export interface SandboxConfig {
|
|
106
|
+
/** Enable native containment for first-party bash and PTY processes. Default: false. */
|
|
107
|
+
enabled?: boolean;
|
|
108
|
+
/** Additional absolute directories where sandboxed commands may write. User config only. */
|
|
109
|
+
write_allow?: string[];
|
|
110
|
+
/** Additional absolute paths sandboxed commands may not read. Project config may add entries. */
|
|
111
|
+
read_deny?: string[];
|
|
112
|
+
}
|
|
105
113
|
export interface BashConfig {
|
|
106
114
|
rewrite?: boolean;
|
|
107
115
|
compress?: boolean;
|
|
@@ -143,6 +151,8 @@ export interface AftConfig {
|
|
|
143
151
|
inspect?: InspectConfig;
|
|
144
152
|
/** Undo backup config. User-only: project config cannot disable or shrink a user's safety net. */
|
|
145
153
|
backup?: BackupConfig;
|
|
154
|
+
/** Native first-party bash sandbox. Write allowances are user-only; a project may enable but never disable. */
|
|
155
|
+
sandbox?: SandboxConfig;
|
|
146
156
|
/**
|
|
147
157
|
* Bash tool family (hoist + rewrite + compress + background execution).
|
|
148
158
|
* Default on for `tool_surface: recommended`/`all`, off for `minimal`.
|
|
@@ -264,6 +274,11 @@ export declare const AftConfigSchema: z.ZodPreprocess<z.ZodObject<{
|
|
|
264
274
|
max_depth: z.ZodOptional<z.ZodNumber>;
|
|
265
275
|
max_file_size: z.ZodOptional<z.ZodNumber>;
|
|
266
276
|
}, z.core.$strip>>;
|
|
277
|
+
sandbox: z.ZodOptional<z.ZodObject<{
|
|
278
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
279
|
+
write_allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
280
|
+
read_deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
281
|
+
}, z.core.$strip>>;
|
|
267
282
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
268
283
|
rewrite: z.ZodOptional<z.ZodBoolean>;
|
|
269
284
|
compress: z.ZodOptional<z.ZodBoolean>;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAgBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAUpE,OAAO,EACL,KAAK,SAAS,EAGd,mBAAmB,EACnB,aAAa,EAId,MAAM,aAAa,CAAC;AAkErB,KAAK,mBAAmB,GAAG;IACzB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C,CAAC;AAEF,iBAAS,4BAA4B,CACnC,OAAO,EAAE,MAAM,mBAAmB,GAAG,SAAS,EAC9C,sBAAsB,GAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAgB,IAOrE,eAAe,MAAM,EAAE,YAAY,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyCjF;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAgBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAUpE,OAAO,EACL,KAAK,SAAS,EAGd,mBAAmB,EACnB,aAAa,EAId,MAAM,aAAa,CAAC;AAkErB,KAAK,mBAAmB,GAAG;IACzB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C,CAAC;AAEF,iBAAS,4BAA4B,CACnC,OAAO,EAAE,MAAM,mBAAmB,GAAG,SAAS,EAC9C,sBAAsB,GAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAgB,IAOrE,eAAe,MAAM,EAAE,YAAY,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyCjF;AA2ED,iBAAS,0BAA0B,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,GAC7C,IAAI,CAUN;AAED,iBAAS,wBAAwB,CAC/B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,GAAG,UAAU,CAAC,GACtD,OAAO,CAGT;AAED,iBAAS,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG9E;AASD,iBAAe,iCAAiC,CAAC,OAAO,EAAE;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,OAAO,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC1E,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoChB;AAED;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,GAAG;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAqEA;AAED;;;;GAIG;AACH,yBAA+B,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAwjB9D;AAED,eAAO,MAAM,QAAQ;;;;;;;CAOpB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14747,6 +14747,9 @@ class SubcTransportPool {
|
|
|
14747
14747
|
if (record.routeEntry === entry2) {
|
|
14748
14748
|
entry2.closed = true;
|
|
14749
14749
|
record.routeEntry = null;
|
|
14750
|
+
if (entry2.handle != null) {
|
|
14751
|
+
safeCloseRoute(entry2.client, entry2.handle);
|
|
14752
|
+
}
|
|
14750
14753
|
}
|
|
14751
14754
|
};
|
|
14752
14755
|
const handleRequestFailure = (err, entry2) => {
|
|
@@ -15792,7 +15795,7 @@ import {
|
|
|
15792
15795
|
// package.json
|
|
15793
15796
|
var package_default = {
|
|
15794
15797
|
name: "@cortexkit/aft-pi",
|
|
15795
|
-
version: "0.
|
|
15798
|
+
version: "0.48.0",
|
|
15796
15799
|
type: "module",
|
|
15797
15800
|
description: "Pi coding agent extension for Agent File Tools (AFT) — tree-sitter and LSP-powered code analysis",
|
|
15798
15801
|
main: "dist/index.js",
|
|
@@ -15815,19 +15818,19 @@ var package_default = {
|
|
|
15815
15818
|
"test:unit": "bun test src/__tests__ --path-ignore-patterns 'src/__tests__/e2e/**'"
|
|
15816
15819
|
},
|
|
15817
15820
|
dependencies: {
|
|
15818
|
-
"@cortexkit/aft-bridge": "0.
|
|
15821
|
+
"@cortexkit/aft-bridge": "0.48.0",
|
|
15819
15822
|
"comment-json": "^5.0.0",
|
|
15820
15823
|
diff: "^8.0.4",
|
|
15821
15824
|
typebox: "1.1.38",
|
|
15822
15825
|
zod: "^4.4.3"
|
|
15823
15826
|
},
|
|
15824
15827
|
optionalDependencies: {
|
|
15825
|
-
"@cortexkit/aft-darwin-arm64": "0.
|
|
15826
|
-
"@cortexkit/aft-darwin-x64": "0.
|
|
15827
|
-
"@cortexkit/aft-linux-arm64": "0.
|
|
15828
|
-
"@cortexkit/aft-linux-x64": "0.
|
|
15829
|
-
"@cortexkit/aft-win32-arm64": "0.
|
|
15830
|
-
"@cortexkit/aft-win32-x64": "0.
|
|
15828
|
+
"@cortexkit/aft-darwin-arm64": "0.48.0",
|
|
15829
|
+
"@cortexkit/aft-darwin-x64": "0.48.0",
|
|
15830
|
+
"@cortexkit/aft-linux-arm64": "0.48.0",
|
|
15831
|
+
"@cortexkit/aft-linux-x64": "0.48.0",
|
|
15832
|
+
"@cortexkit/aft-win32-arm64": "0.48.0",
|
|
15833
|
+
"@cortexkit/aft-win32-x64": "0.48.0"
|
|
15831
15834
|
},
|
|
15832
15835
|
devDependencies: {
|
|
15833
15836
|
"@earendil-works/pi-coding-agent": "^0.80.2",
|
|
@@ -16083,10 +16086,12 @@ function resolveSessionId(extCtx) {
|
|
|
16083
16086
|
|
|
16084
16087
|
class BridgeError extends Error {
|
|
16085
16088
|
code;
|
|
16086
|
-
|
|
16089
|
+
response;
|
|
16090
|
+
constructor(message, code, response) {
|
|
16087
16091
|
super(message);
|
|
16088
16092
|
this.name = "BridgeError";
|
|
16089
16093
|
this.code = code;
|
|
16094
|
+
this.response = response;
|
|
16090
16095
|
}
|
|
16091
16096
|
}
|
|
16092
16097
|
async function callBridge(bridge, command, params = {}, extCtx, options) {
|
|
@@ -16103,7 +16108,7 @@ async function callBridge(bridge, command, params = {}, extCtx, options) {
|
|
|
16103
16108
|
};
|
|
16104
16109
|
const response = await bridge.send(command, merged, Object.keys(sendOptions).length > 0 ? sendOptions : undefined);
|
|
16105
16110
|
if (response.success === false) {
|
|
16106
|
-
throw new BridgeError(formatBridgeErrorMessage(command, response, merged), typeof response.code === "string" ? response.code : "");
|
|
16111
|
+
throw new BridgeError(formatBridgeErrorMessage(command, response, merged), typeof response.code === "string" ? response.code : "", response);
|
|
16107
16112
|
}
|
|
16108
16113
|
ingestBgCompletions(sessionId, response.bg_completions);
|
|
16109
16114
|
return response;
|
|
@@ -30831,6 +30836,11 @@ var BashFeaturesSchema = exports_external.object({
|
|
|
30831
30836
|
foreground_wait_window_ms: exports_external.number().int().positive().optional()
|
|
30832
30837
|
});
|
|
30833
30838
|
var BashConfigSchema = exports_external.union([exports_external.boolean(), BashFeaturesSchema]);
|
|
30839
|
+
var SandboxConfigSchema = exports_external.object({
|
|
30840
|
+
enabled: exports_external.boolean().optional(),
|
|
30841
|
+
write_allow: exports_external.array(exports_external.string()).optional(),
|
|
30842
|
+
read_deny: exports_external.array(exports_external.string()).optional()
|
|
30843
|
+
});
|
|
30834
30844
|
var BridgeConfigSchema = exports_external.object({
|
|
30835
30845
|
request_timeout_ms: exports_external.number().int().min(1000, { message: "bridge.request_timeout_ms must be at least 1000" }).optional(),
|
|
30836
30846
|
hang_threshold: exports_external.number().int().min(1, { message: "bridge.hang_threshold must be at least 1" }).optional()
|
|
@@ -30871,6 +30881,7 @@ var AftConfigSchema = exports_external.preprocess((value) => stripHarnessSpecifi
|
|
|
30871
30881
|
callgraph_chunk_size: exports_external.number().optional(),
|
|
30872
30882
|
inspect: InspectConfigSchema.optional(),
|
|
30873
30883
|
backup: BackupConfigSchema.optional(),
|
|
30884
|
+
sandbox: SandboxConfigSchema.optional(),
|
|
30874
30885
|
bash: BashConfigSchema.optional(),
|
|
30875
30886
|
experimental: ExperimentalConfigSchema.optional(),
|
|
30876
30887
|
lsp: LspConfigSchema.optional(),
|
|
@@ -31135,6 +31146,15 @@ function mergeInspectConfig(baseInspect, overrideInspect) {
|
|
|
31135
31146
|
}
|
|
31136
31147
|
return Object.fromEntries(Object.entries(inspect).filter(([, value]) => value !== undefined));
|
|
31137
31148
|
}
|
|
31149
|
+
function mergeSandboxConfig(base, project) {
|
|
31150
|
+
const readDeny = [...new Set([...base?.read_deny ?? [], ...project?.read_deny ?? []])];
|
|
31151
|
+
const merged = {
|
|
31152
|
+
...base,
|
|
31153
|
+
...readDeny.length > 0 ? { read_deny: readDeny } : {},
|
|
31154
|
+
...project?.enabled === true ? { enabled: true } : {}
|
|
31155
|
+
};
|
|
31156
|
+
return Object.keys(merged).length > 0 ? merged : undefined;
|
|
31157
|
+
}
|
|
31138
31158
|
function mergeBashConfig(baseBash, overrideBash) {
|
|
31139
31159
|
if (baseBash === undefined && overrideBash === undefined)
|
|
31140
31160
|
return;
|
|
@@ -31218,6 +31238,10 @@ function getStrippedTopLevelKeys(override) {
|
|
|
31218
31238
|
stripped.push("bridge");
|
|
31219
31239
|
if (override.backup !== undefined)
|
|
31220
31240
|
stripped.push("backup");
|
|
31241
|
+
if (override.sandbox?.enabled === false)
|
|
31242
|
+
stripped.push("sandbox.enabled");
|
|
31243
|
+
if (override.sandbox?.write_allow !== undefined)
|
|
31244
|
+
stripped.push("sandbox.write_allow");
|
|
31221
31245
|
if (override.subc !== undefined)
|
|
31222
31246
|
stripped.push("subc");
|
|
31223
31247
|
if (override.disabled_tools?.includes("aft_safety"))
|
|
@@ -31236,6 +31260,7 @@ function mergeConfigs(base, override) {
|
|
|
31236
31260
|
const experimental = mergeExperimentalConfig(base.experimental, override.experimental);
|
|
31237
31261
|
const bash = mergeBashConfig(base.bash, override.bash);
|
|
31238
31262
|
const inspect = mergeInspectConfig(base.inspect, override.inspect);
|
|
31263
|
+
const sandbox = mergeSandboxConfig(base.sandbox, override.sandbox);
|
|
31239
31264
|
const bridge = base.bridge;
|
|
31240
31265
|
const safeOverride = pickProjectSafeFields(override);
|
|
31241
31266
|
delete safeOverride.bash;
|
|
@@ -31248,6 +31273,7 @@ function mergeConfigs(base, override) {
|
|
|
31248
31273
|
...lsp ? { lsp } : {},
|
|
31249
31274
|
...bash !== undefined ? { bash } : {},
|
|
31250
31275
|
...inspect !== undefined ? { inspect } : {},
|
|
31276
|
+
...sandbox !== undefined ? { sandbox } : {},
|
|
31251
31277
|
experimental,
|
|
31252
31278
|
semantic,
|
|
31253
31279
|
...bridge !== undefined ? { bridge } : {},
|
|
@@ -34362,7 +34388,6 @@ function registerAstTools(pi, ctx, surface) {
|
|
|
34362
34388
|
}
|
|
34363
34389
|
|
|
34364
34390
|
// src/tools/bash.ts
|
|
34365
|
-
import * as fs3 from "node:fs/promises";
|
|
34366
34391
|
import { Container as Container3, Spacer as Spacer3, Text as Text3 } from "@earendil-works/pi-tui";
|
|
34367
34392
|
import { Type as Type4 } from "typebox";
|
|
34368
34393
|
var BASH_WAIT_POLL_INTERVAL_MS = 100;
|
|
@@ -34398,6 +34423,9 @@ var BashBaseParams = {
|
|
|
34398
34423
|
})),
|
|
34399
34424
|
wait: Type4.Optional(Type4.Boolean({
|
|
34400
34425
|
description: "When true, run in the foreground without auto-promoting and wait until the command finishes or reaches its timeout; if you send a new message, the wait detaches to background. Use only when you know the result is required before doing anything else."
|
|
34426
|
+
})),
|
|
34427
|
+
sandbox: Type4.Optional(Type4.Literal("host", {
|
|
34428
|
+
description: "Request one-command approval to run unsandboxed on the host; use only when native sandboxing blocks required work, and note that it is a no-op when sandboxing is disabled."
|
|
34401
34429
|
}))
|
|
34402
34430
|
};
|
|
34403
34431
|
var BashBackgroundFlagParam = {
|
|
@@ -34480,6 +34508,48 @@ async function callBashBridge(bridge, command, params = {}, extCtx, options) {
|
|
|
34480
34508
|
keepBridgeOnTimeout: true
|
|
34481
34509
|
});
|
|
34482
34510
|
}
|
|
34511
|
+
function piEscalationAskText(ask) {
|
|
34512
|
+
return `This command will run UNSANDBOXED on the host.
|
|
34513
|
+
|
|
34514
|
+
Exact command:
|
|
34515
|
+
${ask.command ?? ""}
|
|
34516
|
+
|
|
34517
|
+
Working directory:
|
|
34518
|
+
${ask.cwd ?? ""}`;
|
|
34519
|
+
}
|
|
34520
|
+
async function callBashWithPermissionLoop(bridge, params, extCtx, options) {
|
|
34521
|
+
const granted = Array.isArray(params.permissions_granted) ? params.permissions_granted.filter((value) => typeof value === "string") : [];
|
|
34522
|
+
for (let round = 0;round < 8; round++) {
|
|
34523
|
+
try {
|
|
34524
|
+
return await callBashBridge(bridge, "bash", { ...params, ...granted.length > 0 ? { permissions_granted: granted } : {} }, extCtx, options);
|
|
34525
|
+
} catch (error53) {
|
|
34526
|
+
if (!(error53 instanceof BridgeError)) {
|
|
34527
|
+
if (error53 instanceof Error && error53.message.includes("permission_required")) {
|
|
34528
|
+
throw new Error("Permission ask reached Pi adapter — this is a bug.");
|
|
34529
|
+
}
|
|
34530
|
+
throw error53;
|
|
34531
|
+
}
|
|
34532
|
+
if (error53.code !== "permission_required")
|
|
34533
|
+
throw error53;
|
|
34534
|
+
const asks = Array.isArray(error53.response?.asks) ? error53.response.asks : [];
|
|
34535
|
+
if (asks.length === 0 || asks.some((ask) => ask.kind !== "escalation")) {
|
|
34536
|
+
throw new Error("Permission ask reached Pi adapter without a host escalation grant — this is a bug.");
|
|
34537
|
+
}
|
|
34538
|
+
if (!extCtx.hasUI || typeof extCtx.ui?.confirm !== "function") {
|
|
34539
|
+
throw new BridgeError("Permission denied: host escalation approval requires an interactive UI.", "permission_denied");
|
|
34540
|
+
}
|
|
34541
|
+
for (const ask of asks) {
|
|
34542
|
+
const approved = await extCtx.ui.confirm("Run command unsandboxed on host?", piEscalationAskText(ask), { signal: extCtx.signal });
|
|
34543
|
+
if (!approved) {
|
|
34544
|
+
throw new BridgeError("Permission denied: unsandboxed host execution was denied.", "permission_denied");
|
|
34545
|
+
}
|
|
34546
|
+
if (ask.grant_id && !granted.includes(ask.grant_id))
|
|
34547
|
+
granted.push(ask.grant_id);
|
|
34548
|
+
}
|
|
34549
|
+
}
|
|
34550
|
+
}
|
|
34551
|
+
throw new Error("bash permission retry failed: too many rounds");
|
|
34552
|
+
}
|
|
34483
34553
|
function truncateToVisualLines(text, maxLines) {
|
|
34484
34554
|
const lines = text.split(`
|
|
34485
34555
|
`);
|
|
@@ -34555,7 +34625,7 @@ DO NOT use bash for code search or code exploration. If you are about to run gre
|
|
|
34555
34625
|
}
|
|
34556
34626
|
const bridgeCommand = spawnContext.command;
|
|
34557
34627
|
let streamed = "";
|
|
34558
|
-
const response = await
|
|
34628
|
+
const response = await callBashWithPermissionLoop(bridge, {
|
|
34559
34629
|
command: bridgeCommand,
|
|
34560
34630
|
timeout: effectiveTimeout,
|
|
34561
34631
|
workdir: spawnContext.cwd ?? params.workdir,
|
|
@@ -34569,7 +34639,8 @@ DO NOT use bash for code search or code exploration. If you are about to run gre
|
|
|
34569
34639
|
pty_cols: ptyCols,
|
|
34570
34640
|
foreground_orchestrate: true,
|
|
34571
34641
|
block_to_completion: blockToCompletion,
|
|
34572
|
-
wait: requestedWait
|
|
34642
|
+
wait: requestedWait,
|
|
34643
|
+
sandbox: params.sandbox
|
|
34573
34644
|
}, extCtx, {
|
|
34574
34645
|
transportTimeoutMs: orchestratedTransportTimeoutMs(blockToCompletion, requestedWait, effectiveTimeout, foregroundWaitMs),
|
|
34575
34646
|
onProgress: ({ text }) => {
|
|
@@ -34577,11 +34648,6 @@ DO NOT use bash for code search or code exploration. If you are about to run gre
|
|
|
34577
34648
|
const displayText = truncateToVisualLines(streamed, 100);
|
|
34578
34649
|
onUpdate?.(bashResult(displayText, { streaming: true }));
|
|
34579
34650
|
}
|
|
34580
|
-
}).catch((err) => {
|
|
34581
|
-
if (err instanceof Error && err.message.includes("permission_required")) {
|
|
34582
|
-
throw new Error("Permission ask reached Pi adapter — this is a bug. Pi has no permission system.");
|
|
34583
|
-
}
|
|
34584
|
-
throw err;
|
|
34585
34651
|
});
|
|
34586
34652
|
if (response.success === false) {
|
|
34587
34653
|
throw new Error(response.message ?? "bash failed");
|
|
@@ -34769,8 +34835,13 @@ function bashKillResult(output, details) {
|
|
|
34769
34835
|
details
|
|
34770
34836
|
};
|
|
34771
34837
|
}
|
|
34772
|
-
async function bashStatusSnapshot(bridge, extCtx, taskId, outputMode, options) {
|
|
34773
|
-
return await callBashBridge(bridge, "bash_status", {
|
|
34838
|
+
async function bashStatusSnapshot(bridge, extCtx, taskId, outputMode, options, cursor) {
|
|
34839
|
+
return await callBashBridge(bridge, "bash_status", {
|
|
34840
|
+
task_id: taskId,
|
|
34841
|
+
output_mode: outputMode,
|
|
34842
|
+
output_offset: cursor?.output,
|
|
34843
|
+
stderr_offset: cursor?.stderr
|
|
34844
|
+
}, extCtx, options);
|
|
34774
34845
|
}
|
|
34775
34846
|
async function waitForBashStatus(ctx, bridge, extCtx, taskId, outputMode, waitFor, waitForExit, effectiveWaitMs) {
|
|
34776
34847
|
const startedAt = Date.now();
|
|
@@ -34797,7 +34868,7 @@ async function waitForBashStatus(ctx, bridge, extCtx, taskId, outputMode, waitFo
|
|
|
34797
34868
|
while (true) {
|
|
34798
34869
|
let data;
|
|
34799
34870
|
try {
|
|
34800
|
-
data = await bashStatusSnapshot(bridge, extCtx, taskId, outputMode, bridgeOptions);
|
|
34871
|
+
data = await bashStatusSnapshot(bridge, extCtx, taskId, outputMode, bridgeOptions, waitFor ? spillCursor : undefined);
|
|
34801
34872
|
} catch (err) {
|
|
34802
34873
|
if (!isBridgeTransportTimeout(err))
|
|
34803
34874
|
throw err;
|
|
@@ -34878,14 +34949,9 @@ async function waitForBashStatus(ctx, bridge, extCtx, taskId, outputMode, waitFo
|
|
|
34878
34949
|
}
|
|
34879
34950
|
}
|
|
34880
34951
|
async function readNewTaskOutput(data, cursor) {
|
|
34881
|
-
const
|
|
34882
|
-
const
|
|
34883
|
-
if (
|
|
34884
|
-
return;
|
|
34885
|
-
const stdoutBytes = outputPath ? await readFileBytesFrom(outputPath, cursor.output) : Buffer.alloc(0);
|
|
34886
|
-
const stderrBytes = stderrPath ? await readFileBytesFrom(stderrPath, cursor.stderr) : Buffer.alloc(0);
|
|
34887
|
-
const bytesRead = stdoutBytes.length + stderrBytes.length;
|
|
34888
|
-
if (bytesRead === 0)
|
|
34952
|
+
const stdoutBytes = typeof data.output_chunk_base64 === "string" ? Buffer.from(data.output_chunk_base64, "base64") : Buffer.alloc(0);
|
|
34953
|
+
const stderrBytes = typeof data.stderr_chunk_base64 === "string" ? Buffer.from(data.stderr_chunk_base64, "base64") : Buffer.alloc(0);
|
|
34954
|
+
if (stdoutBytes.length + stderrBytes.length === 0)
|
|
34889
34955
|
return;
|
|
34890
34956
|
const chunks = [];
|
|
34891
34957
|
if (stdoutBytes.length > 0) {
|
|
@@ -34905,31 +34971,11 @@ async function readNewTaskOutput(data, cursor) {
|
|
|
34905
34971
|
return {
|
|
34906
34972
|
chunks,
|
|
34907
34973
|
nextCursor: {
|
|
34908
|
-
output: cursor.output + stdoutBytes.length,
|
|
34909
|
-
stderr: cursor.stderr + stderrBytes.length
|
|
34974
|
+
output: typeof data.output_next_offset === "number" ? data.output_next_offset : cursor.output + stdoutBytes.length,
|
|
34975
|
+
stderr: typeof data.stderr_next_offset === "number" ? data.stderr_next_offset : cursor.stderr + stderrBytes.length
|
|
34910
34976
|
}
|
|
34911
34977
|
};
|
|
34912
34978
|
}
|
|
34913
|
-
async function readFileBytesFrom(outputPath, cursor) {
|
|
34914
|
-
const handle = await fs3.open(outputPath, "r");
|
|
34915
|
-
try {
|
|
34916
|
-
const chunks = [];
|
|
34917
|
-
let offset = cursor;
|
|
34918
|
-
while (true) {
|
|
34919
|
-
const buffer2 = Buffer.allocUnsafe(64 * 1024);
|
|
34920
|
-
const { bytesRead } = await handle.read(buffer2, 0, buffer2.length, offset);
|
|
34921
|
-
if (bytesRead === 0)
|
|
34922
|
-
break;
|
|
34923
|
-
chunks.push(Buffer.from(buffer2.subarray(0, bytesRead)));
|
|
34924
|
-
offset += bytesRead;
|
|
34925
|
-
}
|
|
34926
|
-
return Buffer.concat(chunks);
|
|
34927
|
-
} finally {
|
|
34928
|
-
await handle.close().catch(() => {
|
|
34929
|
-
return;
|
|
34930
|
-
});
|
|
34931
|
-
}
|
|
34932
|
-
}
|
|
34933
34979
|
function parseWaitPattern(value) {
|
|
34934
34980
|
if (typeof value === "string")
|
|
34935
34981
|
return { kind: "substring", value };
|
|
@@ -35037,18 +35083,15 @@ A completion reminder will be delivered automatically; don't poll.`;
|
|
|
35037
35083
|
return text;
|
|
35038
35084
|
}
|
|
35039
35085
|
async function formatPtyStatus(_extCtx, taskId, details, requestedOutputMode) {
|
|
35040
|
-
if (!details.output_path)
|
|
35041
|
-
return `
|
|
35042
|
-
[PTY output path unavailable]`;
|
|
35043
35086
|
const outputMode = requestedOutputMode ?? "screen";
|
|
35044
|
-
const raw =
|
|
35087
|
+
const raw = typeof details.pty_raw === "string" ? details.pty_raw : "";
|
|
35045
35088
|
let suffix = "";
|
|
35046
35089
|
if (outputMode === "raw") {
|
|
35047
|
-
suffix = raw
|
|
35048
|
-
${raw
|
|
35090
|
+
suffix = raw.length > 0 ? `
|
|
35091
|
+
${raw}` : "";
|
|
35049
35092
|
} else if (outputMode === "both") {
|
|
35050
35093
|
suffix = `
|
|
35051
|
-
${JSON.stringify({ screen: details.pty_screen ?? "", raw
|
|
35094
|
+
${JSON.stringify({ screen: details.pty_screen ?? "", raw }, null, 2)}`;
|
|
35052
35095
|
} else {
|
|
35053
35096
|
suffix = details.pty_screen ? `
|
|
35054
35097
|
${details.pty_screen}` : "";
|
|
@@ -36808,14 +36851,11 @@ var PLUGIN_VERSION = (() => {
|
|
|
36808
36851
|
return "0.0.0";
|
|
36809
36852
|
}
|
|
36810
36853
|
})();
|
|
36811
|
-
var ANNOUNCEMENT_VERSION = "0.
|
|
36854
|
+
var ANNOUNCEMENT_VERSION = "0.48.0";
|
|
36812
36855
|
var ANNOUNCEMENT_FEATURES = [
|
|
36813
|
-
"
|
|
36814
|
-
"Fixed:
|
|
36815
|
-
"Fixed:
|
|
36816
|
-
"Fixed: bash_watch could report a match that spanned the stdout/stderr seam; streams are now scanned independently.",
|
|
36817
|
-
"GitHub and GitLab file links (…/blob/…) now read raw file content in aft_outline/aft_zoom, and documentation heading lookups tolerate numeric prefixes, link labels, emoji, and anchor slugs.",
|
|
36818
|
-
"bash now finds tools on a PATH exported from your shell rc (e.g. zsh .zshrc), and several warm hot paths got faster."
|
|
36856
|
+
"New (beta, off by default): an optional native sandbox for hoisted bash. Confines commands to your project and blocks reads of your credentials (~/.ssh, ~/.aws, cloud configs). Enable with sandbox.enabled in aft.jsonc — macOS and Linux; see docs/config.md for the platform matrix.",
|
|
36857
|
+
"Fixed: Windows background bash tasks could report failed with no exit code after a detach/rebind — completion is now recorded reliably.",
|
|
36858
|
+
"Fixed: search no longer rebuilds its index unnecessarily for repositories with grafted history."
|
|
36819
36859
|
];
|
|
36820
36860
|
var ANNOUNCEMENT_FOOTER = "Join us on Discord: https://discord.gg/DSa65w8wuf";
|
|
36821
36861
|
var ALL_ONLY_TOOLS = new Set(["aft_callgraph", "aft_delete", "aft_move", "aft_refactor"]);
|
package/dist/tools/_shared.d.ts
CHANGED
|
@@ -46,7 +46,8 @@ export declare function resolveSessionId(extCtx: ExtensionContext): string | und
|
|
|
46
46
|
*/
|
|
47
47
|
export declare class BridgeError extends Error {
|
|
48
48
|
readonly code: string;
|
|
49
|
-
|
|
49
|
+
readonly response?: Record<string, unknown>;
|
|
50
|
+
constructor(message: string, code: string, response?: Record<string, unknown>);
|
|
50
51
|
}
|
|
51
52
|
/**
|
|
52
53
|
* Call a bridge command and throw a BridgeError on failure.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../src/tools/_shared.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1E,KAAK,YAAY,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACtE,KAAK,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC;AAE/C;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,oBAAyB,+DAK5E,CAAC;AAIJ,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,+BAA+B,EAC/B,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAE/B,gEAAgE;AAChE,wBAAgB,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAQ9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAK7E;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../src/tools/_shared.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/bash.d.ts
CHANGED
package/dist/tools/bash.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cortexkit/aft-pi",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.48.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Pi coding agent extension for Agent File Tools (AFT) — tree-sitter and LSP-powered code analysis",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,19 +23,19 @@
|
|
|
23
23
|
"test:unit": "bun test src/__tests__ --path-ignore-patterns 'src/__tests__/e2e/**'"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@cortexkit/aft-bridge": "0.
|
|
26
|
+
"@cortexkit/aft-bridge": "0.48.0",
|
|
27
27
|
"comment-json": "^5.0.0",
|
|
28
28
|
"diff": "^8.0.4",
|
|
29
29
|
"typebox": "1.1.38",
|
|
30
30
|
"zod": "^4.4.3"
|
|
31
31
|
},
|
|
32
32
|
"optionalDependencies": {
|
|
33
|
-
"@cortexkit/aft-darwin-arm64": "0.
|
|
34
|
-
"@cortexkit/aft-darwin-x64": "0.
|
|
35
|
-
"@cortexkit/aft-linux-arm64": "0.
|
|
36
|
-
"@cortexkit/aft-linux-x64": "0.
|
|
37
|
-
"@cortexkit/aft-win32-arm64": "0.
|
|
38
|
-
"@cortexkit/aft-win32-x64": "0.
|
|
33
|
+
"@cortexkit/aft-darwin-arm64": "0.48.0",
|
|
34
|
+
"@cortexkit/aft-darwin-x64": "0.48.0",
|
|
35
|
+
"@cortexkit/aft-linux-arm64": "0.48.0",
|
|
36
|
+
"@cortexkit/aft-linux-x64": "0.48.0",
|
|
37
|
+
"@cortexkit/aft-win32-arm64": "0.48.0",
|
|
38
|
+
"@cortexkit/aft-win32-x64": "0.48.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@earendil-works/pi-coding-agent": "^0.80.2",
|