@cortexkit/aft-pi 0.37.0 → 0.37.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAcH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AASpE,OAAO,EACL,KAAK,SAAS,EACd,aAAa,EAId,MAAM,aAAa,CAAC;AA6DrB,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;AAsDD,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,YAAY,EAAE,MAAM,CAAC,CAAC;IACnE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChB;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,CAge9D;AAED,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAcH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AASpE,OAAO,EACL,KAAK,SAAS,EACd,aAAa,EAId,MAAM,aAAa,CAAC;AA8DrB,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;AAsDD,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,YAAY,EAAE,MAAM,CAAC,CAAC;IACnE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChB;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,CA+e9D;AAED,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAC"}
package/dist/index.js CHANGED
@@ -14441,14 +14441,27 @@ function isCompressorHandledRunner(stage) {
14441
14441
  if (tokens.some((token) => token === "&&" || token === "||" || token.includes(";"))) {
14442
14442
  return false;
14443
14443
  }
14444
- const first = runnerName(tokens[0]);
14445
- const second = tokens[1];
14446
- const third = tokens[2];
14447
- const rest = tokens.slice(1);
14444
+ let tokenOffset = 0;
14445
+ while (tokenOffset < tokens.length && isEnvAssignment(tokens[tokenOffset])) {
14446
+ tokenOffset++;
14447
+ }
14448
+ const first = runnerName(tokens[tokenOffset]);
14449
+ const runnerArgs = tokens.slice(tokenOffset + 1);
14450
+ const second = runnerArgs[0];
14451
+ const third = runnerArgs[1];
14452
+ const rest = runnerArgs;
14448
14453
  if (!first)
14449
14454
  return false;
14450
- if (first === "bun")
14451
- return second === "test" || second === "run" && startsWithTest(third);
14455
+ if (first === "bun") {
14456
+ let args = rest;
14457
+ if (args[0] === "--cwd")
14458
+ args = args.slice(2);
14459
+ else if (args[0]?.startsWith("--cwd="))
14460
+ args = args.slice(1);
14461
+ const sub = args[0];
14462
+ const subNext = args[1];
14463
+ return sub === "test" || sub === "run" && startsWithTest(subNext);
14464
+ }
14452
14465
  if (first === "npm" || first === "pnpm") {
14453
14466
  return second === "test" || second === "run" && startsWithTest(third);
14454
14467
  }
@@ -14471,14 +14484,20 @@ function isCompressorHandledRunner(stage) {
14471
14484
  return hasBuildTask(rest, ["test", "check", "build", "assemble", "clean"]);
14472
14485
  }
14473
14486
  if (first === "mvn" || first === "mvnw") {
14474
- return hasBuildTask(rest, ["test", "verify", "package", "install"]);
14487
+ return hasBuildTask(rest, ["test", "verify", "package", "install", "clean"]);
14475
14488
  }
14476
14489
  if (first === "dotnet")
14477
14490
  return ["test", "build"].includes(second ?? "");
14478
14491
  if (first === "rspec")
14479
14492
  return true;
14480
- if (first === "rake")
14481
- return second === "test" || second === "spec";
14493
+ if (first === "rake") {
14494
+ const positionals = rest.filter((a) => !a.startsWith("-"));
14495
+ if (positionals.length === 0)
14496
+ return false;
14497
+ if (positionals.some((a) => a.includes("/") || a.includes(".") || a.includes("=")))
14498
+ return false;
14499
+ return positionals.some((a) => a === "test" || a === "spec");
14500
+ }
14482
14501
  if (first === "phpunit" || first === "pest")
14483
14502
  return true;
14484
14503
  if (first === "xcodebuild")
@@ -14501,6 +14520,11 @@ function isCompressorHandledRunner(stage) {
14501
14520
  "nox"
14502
14521
  ].includes(first);
14503
14522
  }
14523
+ function isEnvAssignment(token) {
14524
+ if (!token)
14525
+ return false;
14526
+ return /^[a-zA-Z_][a-zA-Z0-9_]*=/.test(token);
14527
+ }
14504
14528
  function runnerName(token) {
14505
14529
  if (!token)
14506
14530
  return "";
@@ -15676,7 +15700,7 @@ import {
15676
15700
  // package.json
15677
15701
  var package_default = {
15678
15702
  name: "@cortexkit/aft-pi",
15679
- version: "0.37.0",
15703
+ version: "0.37.2",
15680
15704
  type: "module",
15681
15705
  description: "Pi coding agent extension for Agent File Tools (AFT) — tree-sitter and LSP-powered code analysis",
15682
15706
  main: "dist/index.js",
@@ -15699,7 +15723,7 @@ var package_default = {
15699
15723
  "test:unit": "bun test src/__tests__ --path-ignore-patterns 'src/__tests__/e2e/**'"
15700
15724
  },
15701
15725
  dependencies: {
15702
- "@cortexkit/aft-bridge": "0.37.0",
15726
+ "@cortexkit/aft-bridge": "0.37.2",
15703
15727
  "@xterm/headless": "^5.5.0",
15704
15728
  "comment-json": "^5.0.0",
15705
15729
  diff: "^8.0.4",
@@ -15707,12 +15731,12 @@ var package_default = {
15707
15731
  zod: "^4.1.8"
15708
15732
  },
15709
15733
  optionalDependencies: {
15710
- "@cortexkit/aft-darwin-arm64": "0.37.0",
15711
- "@cortexkit/aft-darwin-x64": "0.37.0",
15712
- "@cortexkit/aft-linux-arm64": "0.37.0",
15713
- "@cortexkit/aft-linux-x64": "0.37.0",
15714
- "@cortexkit/aft-win32-arm64": "0.37.0",
15715
- "@cortexkit/aft-win32-x64": "0.37.0"
15734
+ "@cortexkit/aft-darwin-arm64": "0.37.2",
15735
+ "@cortexkit/aft-darwin-x64": "0.37.2",
15736
+ "@cortexkit/aft-linux-arm64": "0.37.2",
15737
+ "@cortexkit/aft-linux-x64": "0.37.2",
15738
+ "@cortexkit/aft-win32-arm64": "0.37.2",
15739
+ "@cortexkit/aft-win32-x64": "0.37.2"
15716
15740
  },
15717
15741
  devDependencies: {
15718
15742
  "@earendil-works/pi-coding-agent": "*",
@@ -32490,6 +32514,21 @@ function registerShutdownCleanup(fn) {
32490
32514
  };
32491
32515
  }
32492
32516
 
32517
+ // src/sync-watch-abort.ts
32518
+ var abortFlags = new Map;
32519
+ function signalSyncWatchAbort(sessionID) {
32520
+ const key = sessionID || "__default__";
32521
+ abortFlags.set(key, true);
32522
+ }
32523
+ function clearSyncWatchAbort(sessionID) {
32524
+ const key = sessionID || "__default__";
32525
+ abortFlags.delete(key);
32526
+ }
32527
+ function isSyncWatchAborted(sessionID) {
32528
+ const key = sessionID || "__default__";
32529
+ return abortFlags.get(key) === true;
32530
+ }
32531
+
32493
32532
  // src/tools/ast.ts
32494
32533
  import { StringEnum } from "@earendil-works/pi-ai";
32495
32534
  import { Type as Type3 } from "typebox";
@@ -33778,11 +33817,41 @@ function createBashWatchTool(ctx) {
33778
33817
  A notification will fire when the pattern matches or the task exits.`, watchDetails);
33779
33818
  }
33780
33819
  const data = await waitForBashStatus(ctx, bridge, extCtx, params.task_id, undefined, waitFor, true, Math.min(coerceOptionalInt(params.timeout_ms, "timeout_ms", 1, MAX_BASH_STATUS_WAIT_TIMEOUT_MS) ?? DEFAULT_BASH_STATUS_WAIT_TIMEOUT_MS, MAX_BASH_STATUS_WAIT_TIMEOUT_MS));
33820
+ if (data.waited?.reason === "user_message") {
33821
+ const convertedText = await convertToAsyncWatchOnAbort(bridge, extCtx, params.task_id, waitFor, params.once !== false);
33822
+ return textResult(convertedText, { waited: data.waited });
33823
+ }
33781
33824
  const text = await formatBashStatus(extCtx, params.task_id, data, undefined);
33782
33825
  return textResult(text, data);
33783
33826
  }
33784
33827
  };
33785
33828
  }
33829
+ async function convertToAsyncWatchOnAbort(bridge, extCtx, taskId, waitFor, once) {
33830
+ if (!waitFor) {
33831
+ return `Sync watch for task ${taskId} was interrupted because you sent a message. ` + `The task is still running in the background. A completion reminder will be ` + `delivered automatically when the task exits; don't poll bash_status.`;
33832
+ }
33833
+ const notifyParams = {
33834
+ task_id: taskId,
33835
+ once
33836
+ };
33837
+ if (waitFor.kind === "regex")
33838
+ notifyParams.regex = waitFor.source;
33839
+ else
33840
+ notifyParams.pattern = waitFor.value;
33841
+ const sessionId = resolveSessionId(extCtx);
33842
+ markExplicitControl(sessionId, taskId, false);
33843
+ try {
33844
+ const registered = await callBashBridge(bridge, "bash_notify", notifyParams, extCtx);
33845
+ if (registered.success === false) {
33846
+ unmarkExplicitControl(sessionId, taskId);
33847
+ return `Sync watch for task ${taskId} was interrupted because you sent a message. ` + `Auto-registering an async watch failed (${String(registered.message ?? "unknown error")}). ` + `The task is still running in the background. A completion reminder will be ` + `delivered automatically when the task exits.`;
33848
+ }
33849
+ return `Sync watch for task ${taskId} was interrupted because you sent a message. ` + `The wait has been converted to an async watch (${registered.watch_id}). ` + `A notification will fire when the pattern matches or the task exits.`;
33850
+ } catch (err) {
33851
+ unmarkExplicitControl(sessionId, taskId);
33852
+ return `Sync watch for task ${taskId} was interrupted because you sent a message. ` + `Auto-registering an async watch failed (${err instanceof Error ? err.message : String(err)}). ` + `The task is still running in the background. A completion reminder will be ` + `delivered automatically when the task exits.`;
33853
+ }
33854
+ }
33786
33855
  function createBashWriteTool(ctx) {
33787
33856
  return {
33788
33857
  name: "bash_write",
@@ -33858,6 +33927,7 @@ async function waitForBashStatus(ctx, bridge, extCtx, taskId, outputMode, waitFo
33858
33927
  transportTimeoutMs: BASH_TRANSPORT_TIMEOUT_MS
33859
33928
  };
33860
33929
  const sessionId = resolveSessionId(extCtx);
33930
+ clearSyncWatchAbort(sessionId);
33861
33931
  if (waitForExit)
33862
33932
  markTaskWaiting(sessionId, taskId);
33863
33933
  let sawTerminal = false;
@@ -33896,6 +33966,9 @@ async function waitForBashStatus(ctx, bridge, extCtx, taskId, outputMode, waitFo
33896
33966
  }
33897
33967
  return withWaited(data, { reason: "exited", elapsed_ms: Date.now() - startedAt });
33898
33968
  }
33969
+ if (isSyncWatchAborted(sessionId)) {
33970
+ return withWaited(data, { reason: "user_message", elapsed_ms: Date.now() - startedAt });
33971
+ }
33899
33972
  if (Date.now() >= deadline) {
33900
33973
  return withWaited(data, { reason: "timeout", elapsed_ms: Date.now() - startedAt });
33901
33974
  }
@@ -36412,6 +36485,9 @@ ${lines}
36412
36485
  runtime: pi
36413
36486
  });
36414
36487
  });
36488
+ pi.on("input", (_event, extCtx) => {
36489
+ signalSyncWatchAbort(resolveSessionId(extCtx));
36490
+ });
36415
36491
  const unregisterShutdownCleanup = registerShutdownCleanup(async () => {
36416
36492
  try {
36417
36493
  await Promise.allSettled([abortInFlightAutoInstalls(), abortInFlightGithubInstalls()]);
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Per-session abort flags for sync bash_watch waits.
3
+ *
4
+ * When a user sends a message while the agent is blocked in a sync
5
+ * bash_watch wait, the `input` event handler sets an abort flag for that
6
+ * session. The sync wait poll loop checks the flag each iteration and
7
+ * on abort: (1) stops blocking, (2) auto-registers the equivalent async
8
+ * watch so the completion/pattern notification still arrives, (3) returns
9
+ * text telling the agent the wait converted to async.
10
+ *
11
+ * Edge cases:
12
+ * - The flag is cleared at sync-wait start so stale flags from previous
13
+ * turns don't insta-abort a new wait.
14
+ * - A wait that already matched/exited wins over abort (the flag is
15
+ * checked only at the top of the poll loop, after match/exit checks).
16
+ * - Subagent sessions behave identically — the flag is keyed by sessionID.
17
+ */
18
+ /** Signal that a sync watch for this session should abort. */
19
+ export declare function signalSyncWatchAbort(sessionID: string | undefined): void;
20
+ /** Clear any stale abort flag at the start of a new sync wait. */
21
+ export declare function clearSyncWatchAbort(sessionID: string | undefined): void;
22
+ /** Check whether the abort flag is set for this session. Does NOT clear it. */
23
+ export declare function isSyncWatchAborted(sessionID: string | undefined): boolean;
24
+ /** Test-only: reset all abort flags. */
25
+ export declare function __resetSyncWatchAbortForTests(): void;
26
+ //# sourceMappingURL=sync-watch-abort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-watch-abort.d.ts","sourceRoot":"","sources":["../src/sync-watch-abort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAGxE;AAED,kEAAkE;AAClE,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAGvE;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGzE;AAED,wCAAwC;AACxC,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD"}
@@ -24,7 +24,7 @@ declare const BashWriteParams: Type.TObject<{
24
24
  }>]>>]>;
25
25
  }>;
26
26
  interface BashStatusWaited {
27
- reason: "matched" | "exited" | "timeout";
27
+ reason: "matched" | "exited" | "timeout" | "user_message";
28
28
  elapsed_ms: number;
29
29
  match?: string;
30
30
  match_offset?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,gBAAgB,EAEjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAiB5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgGjD,QAAA,MAAM,cAAc;;EAIlB,CAAC;AAEH,QAAA,MAAM,gBAAgB;;;EAUpB,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;EAQnB,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;EA+BnB,CAAC;AAWH,UAAU,gBAAgB;IACxB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAAG;AAoD7D,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,aAAa,EAClB,mBAAmB,UAAQ,GAC1B,IAAI,CAwON;AAmED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa;;;;;;;;;yBASpC,MAAM,UACX,MAAM,CAAC,OAAO,gBAAgB,CAAC,WAC9B,WAAW,GAAG,SAAS,aACrB,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,UACrE,gBAAgB;EAc7B;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa;;;;;;;;;;;;;;yBASnC,MAAM,UACX,MAAM,CAAC,OAAO,eAAe,CAAC,WAC7B,WAAW,GAAG,SAAS,aACrB,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,UACpE,gBAAgB;EA2D7B;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa;;;;;;;;;;;yBAanC,MAAM,UACX,MAAM,CAAC,OAAO,eAAe,CAAC,WAC7B,WAAW,GAAG,SAAS,aACrB,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,UACpE,gBAAgB;EAe7B;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa;;;;;;;;yBASlC,MAAM,UACX,MAAM,CAAC,OAAO,cAAc,CAAC,WAC5B,WAAW,GAAG,SAAS,aACrB,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,UACnE,gBAAgB;EAe7B"}
1
+ {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,gBAAgB,EAEjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAkB5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgGjD,QAAA,MAAM,cAAc;;EAIlB,CAAC;AAEH,QAAA,MAAM,gBAAgB;;;EAUpB,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;EAQnB,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;EA+BnB,CAAC;AAWH,UAAU,gBAAgB;IACxB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAAG;AAoD7D,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,aAAa,EAClB,mBAAmB,UAAQ,GAC1B,IAAI,CAwON;AAmED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa;;;;;;;;;yBASpC,MAAM,UACX,MAAM,CAAC,OAAO,gBAAgB,CAAC,WAC9B,WAAW,GAAG,SAAS,aACrB,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,UACrE,gBAAgB;EAc7B;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa;;;;;;;;;;;;;;yBASnC,MAAM,UACX,MAAM,CAAC,OAAO,eAAe,CAAC,WAC7B,WAAW,GAAG,SAAS,aACrB,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,UACpE,gBAAgB;EAwE7B;AA8DD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa;;;;;;;;;;;yBAanC,MAAM,UACX,MAAM,CAAC,OAAO,eAAe,CAAC,WAC7B,WAAW,GAAG,SAAS,aACrB,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,UACpE,gBAAgB;EAe7B;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa;;;;;;;;yBASlC,MAAM,UACX,MAAM,CAAC,OAAO,cAAc,CAAC,WAC5B,WAAW,GAAG,SAAS,aACrB,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,UACnE,gBAAgB;EAe7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cortexkit/aft-pi",
3
- "version": "0.37.0",
3
+ "version": "0.37.2",
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,7 +23,7 @@
23
23
  "test:unit": "bun test src/__tests__ --path-ignore-patterns 'src/__tests__/e2e/**'"
24
24
  },
25
25
  "dependencies": {
26
- "@cortexkit/aft-bridge": "0.37.0",
26
+ "@cortexkit/aft-bridge": "0.37.2",
27
27
  "@xterm/headless": "^5.5.0",
28
28
  "comment-json": "^5.0.0",
29
29
  "diff": "^8.0.4",
@@ -31,12 +31,12 @@
31
31
  "zod": "^4.1.8"
32
32
  },
33
33
  "optionalDependencies": {
34
- "@cortexkit/aft-darwin-arm64": "0.37.0",
35
- "@cortexkit/aft-darwin-x64": "0.37.0",
36
- "@cortexkit/aft-linux-arm64": "0.37.0",
37
- "@cortexkit/aft-linux-x64": "0.37.0",
38
- "@cortexkit/aft-win32-arm64": "0.37.0",
39
- "@cortexkit/aft-win32-x64": "0.37.0"
34
+ "@cortexkit/aft-darwin-arm64": "0.37.2",
35
+ "@cortexkit/aft-darwin-x64": "0.37.2",
36
+ "@cortexkit/aft-linux-arm64": "0.37.2",
37
+ "@cortexkit/aft-linux-x64": "0.37.2",
38
+ "@cortexkit/aft-win32-arm64": "0.37.2",
39
+ "@cortexkit/aft-win32-x64": "0.37.2"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@earendil-works/pi-coding-agent": "*",