@detergent-software/atk 8.2.0-dev.2 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,31 @@
1
+ ## [8.2.0](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv8.1.2&targetVersion=GTv8.2.0) (2026-10-06)
2
+
3
+ ### Features
4
+
5
+ * **cli:** add atk deprecate (ATK-122) ([4bcc218](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/4bcc218276a003e733f5eee9ea1d969d9ececf98))
6
+
7
+ ### Bug Fixes
8
+
9
+ * **cli:** check the global deprecation when @org/name falls back (ATK-122) ([5407acd](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/5407acd5e53258f450a84e6f0dda8fb0dd7b4d03))
10
+ * **cli:** exit 1 from every human-mode error (ATK-167) ([77dbad3](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/77dbad308b66fa4bb462245aaf2bcc4b371d3bff))
11
+ * **cli:** exit 1 from human-mode update and sync when assets fail (ATK-154) ([6d0db2e](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/6d0db2e9aaf45125d610b2cf21859a368e2bc972))
12
+ * **cli:** exit 1 when a command crashes in human mode (ATK-167) ([eb039cf](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/eb039cf0dd6d683cf47807112d4b4889b1273834))
13
+ * **cli:** exit interactive setup on Windows without a keypress (ATK-158) ([f8a1510](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/f8a15106ac141da5842939a471ccd4e936602cba))
14
+ * **cli:** hold Windows TTY reads while Ink has raw mode off (ATK-166) ([eaff386](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/eaff386826681705f8e55bfc7eba43bb44ac844e))
15
+ * **cli:** report org-scoped deprecations on install (ATK-122) ([a8fae0c](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/a8fae0c09293d2b5450777d6b7cd34788aa8adb2))
16
+ * **cli:** track the TTY guard's own read state (ATK-166) ([245a2b8](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/245a2b8cf5df145ffc67a96c95f3f3520186d723))
17
+
18
+ ### Refactoring
19
+
20
+ * **cli:** one source for each exit-code decision (ATK-167) ([8a3d2f9](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/8a3d2f9e7f67d506e1156f5cc77a4587cd78c437))
21
+
22
+ ## [8.2.0-dev.3](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv8.2.0-dev.2&targetVersion=GTv8.2.0-dev.3) (2026-10-05)
23
+
24
+ ### Bug Fixes
25
+
26
+ * **cli:** hold Windows TTY reads while Ink has raw mode off (ATK-166) ([eaff386](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/eaff386826681705f8e55bfc7eba43bb44ac844e))
27
+ * **cli:** track the TTY guard's own read state (ATK-166) ([245a2b8](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/245a2b8cf5df145ffc67a96c95f3f3520186d723))
28
+
1
29
  ## [8.2.0-dev.2](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv8.2.0-dev.1&targetVersion=GTv8.2.0-dev.2) (2026-10-05)
2
30
 
3
31
  ### Bug Fixes
package/build/cli.js CHANGED
@@ -7,9 +7,11 @@ import { fileURLToPath } from 'node:url';
7
7
  import Pastel from 'pastel';
8
8
  import { ASCII_ART, GRADIENT } from './components/Header.js';
9
9
  import { noteCachedUpdate } from './lib/update-check.js';
10
+ import { holdCookedTtyReads } from './lib/windows-tty-stdin.js';
10
11
  if (process.platform === 'win32') {
11
12
  register('./windows-esm-loader.js', import.meta.url);
12
13
  }
14
+ holdCookedTtyReads(process.stdin);
13
15
  const __dirname = dirname(fileURLToPath(import.meta.url));
14
16
  const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf8'));
15
17
  function buildHelpHeader(version) {
package/build/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;IACjC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAEjF,CAAC;AAEF,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7G,MAAM,OAAO,GAAG,KAAK,CAAC;IAEtB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,EAAE,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,EAAE,CAAC;QAC5D,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;IACrB,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC,IAAI;IACvB,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG,CAAC,OAAO;CACrB,CAAC,CAAC;AAEH,qFAAqF;AACrF,oFAAoF;AACpF,+DAA+D;AAC/D,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5D,MAAM,gBAAgB,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;IACjC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAElC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAEjF,CAAC;AAEF,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7G,MAAM,OAAO,GAAG,KAAK,CAAC;IAEtB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,EAAE,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,EAAE,CAAC;QAC5D,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;IACrB,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC,IAAI;IACvB,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,GAAG,CAAC,OAAO;CACrB,CAAC,CAAC;AAEH,qFAAqF;AACrF,oFAAoF;AACpF,+DAA+D;AAC/D,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5D,MAAM,gBAAgB,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,WAAW,4EAAuE,CAAC;AAEhG,eAAO,MAAM,OAAO;;;;;iBAyClB,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,kDA0IpG"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,WAAW,4EAAuE,CAAC;AAEhG,eAAO,MAAM,OAAO;;;;;iBAyClB,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,kDA6HpG"}
@@ -42,7 +42,7 @@ export const options = z.object({
42
42
  });
43
43
  export default function Setup({ options: { org: orgFlag, projectRoot, tool: toolFlags, yes } }) {
44
44
  const { exit } = useApp();
45
- const { isRawModeSupported: isTTY, stdin } = useStdin();
45
+ const { isRawModeSupported: isTTY } = useStdin();
46
46
  const flags = {
47
47
  isTTY,
48
48
  orgFlag,
@@ -58,18 +58,6 @@ export default function Setup({ options: { org: orgFlag, projectRoot, tool: tool
58
58
  dispatch({ type: 'SUBMIT_ORG' });
59
59
  }, [dispatch]);
60
60
  // ---------------------------------------------------------------------------
61
- // Release stdin once the prompts are done
62
- // ---------------------------------------------------------------------------
63
- // Ink turns raw mode off when the last prompt unmounts but leaves the TTY reading. On
64
- // Windows that read becomes a cooked console read that can't be cancelled, so the
65
- // process wouldn't exit until the next keypress (ATK-158). Nothing in setup reads input
66
- // after its prompts, so nothing may call useInput from 'creating' on.
67
- useEffect(() => {
68
- if (state.phase === 'creating' && isTTY) {
69
- stdin.destroy();
70
- }
71
- }, [state.phase, isTTY, stdin]);
72
- // ---------------------------------------------------------------------------
73
61
  // Exit effect
74
62
  // ---------------------------------------------------------------------------
75
63
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAClD,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,CAAC,MAAM,WAAW,GAAG,oEAAoE,CAAC;AAEhG,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,4BAA4B;KAC1C,CAAC,CACH;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,sFAAsF;IACtF,mFAAmF;IACnF,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EACT,6IAA6I;QAC/I,gBAAgB,EAAE,OAAO;KAC1B,CAAC,CACH;IACH,GAAG,EAAE,CAAC;SACH,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,yCAAyC;KACvD,CAAC,CACH;CACJ,CAAC,CAAC;AAMH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAS;IACnG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEjD,MAAM,KAAK,GAAe;QACxB,KAAK;QACL,OAAO;QACP,WAAW;QACX,SAAS;QACT,GAAG;KACJ,CAAC;IAEF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAE/C,8EAA8E;IAC9E,iCAAiC;IACjC,8EAA8E;IAC9E,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,MAAc,EAAE,EAAE;QACjB,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACnC,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,8EAA8E;IAC9E,cAAc;IACd,8EAA8E;IAC9E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBAC5B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;gBACD,IAAI,EAAE,CAAC;YACT,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,OAAO,GAAG,EAAE;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAExB,8EAA8E;IAC9E,SAAS;IACT,8EAA8E;IAE9E,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,KAAC,SAAS,IAAC,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,GAAI,CAAC;IACxG,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAC,OAAO,IAAC,OAAO,EAAC,4BAA4B,GAAG,CAAC;IAC1D,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;QAClC,MAAM,KAAK,GAAsB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,GAAG;YACzB,GAAG,EAAE,OAAO,CAAC,IAAI;YACjB,KAAK,EAAE,OAAO,CAAC,WAAW;SAC3B,CAAC,CAAC,CAAC;QAEJ,OAAO,CACL,KAAC,eAAe,IACd,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,kBAAkB,EAAC,sCAAsC,EACzD,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EACpD,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAClE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAC3D,YAAY,EAAE,KAAK,CAAC,aAAa,EACjC,KAAK,EACH,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,IAAI,gDAAiC,EAC3C,KAAC,IAAI,IAAC,QAAQ,2DAA4C,IACrD,GAET,CACH,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACzB,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,IAAI,GAAQ,EAChC,KAAC,IAAI,kEAAuD,EAC5D,KAAC,SAAS,IACR,KAAK,QACL,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EACzD,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,KAAK,CAAC,QAAQ,GACrB,IACE,GACF,CACP,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,KAAC,OAAO,IAAC,OAAO,EAAC,uBAAuB,GAAG,CAAC;IACrD,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,oCAEjB,GACH,EACL,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3C,MAAC,IAAI,eACF,IAAI,EACL,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,kBAAS,OAAE,MAAM,CAAC,KAAK,EACzC,MAAM,CAAC,MAAM,IAAI,MAAC,IAAI,IAAC,QAAQ,yBAAI,MAAM,CAAC,MAAM,SAAS,KAHjD,KAAK,CAIT,CACR,CAAC,EACF,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,QAAQ,gCAAW,KAAK,CAAC,UAAU,IAAQ,GAC7C,EACN,MAAC,IAAI,IAAC,QAAQ,8BAAS,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAQ,IACzD,CACP,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,24 @@
1
+ /** The parts of a TTY stdin (`tty.ReadStream`) the guard wraps. */
2
+ export interface RawModeStdin {
3
+ readonly isRaw?: boolean;
4
+ readonly isTTY?: boolean;
5
+ setRawMode?(mode: boolean): unknown;
6
+ }
7
+ /**
8
+ * Keep a Windows TTY stdin from reading while raw mode is off.
9
+ *
10
+ * Ink turns raw mode off between prompts and on exit but leaves the TTY reading, and a
11
+ * TTY stream restarts its read on every `stdin.read()`. On Windows that read becomes a
12
+ * cooked console read that libuv can't cancel under ConPTY: the process won't exit until
13
+ * a key is pressed, and the next prompt loses its input to the stale line read
14
+ * (ATK-158, ATK-166). So a read is stopped before raw mode turns off, a read started
15
+ * while cooked is held back, and a held read starts once raw mode is back on.
16
+ *
17
+ * Does nothing off Windows, without a TTY, or if Node's handle doesn't look as expected.
18
+ * Once installed, nothing on Windows can read the TTY in cooked mode (e.g. readline).
19
+ *
20
+ * @param stdin - The process's stdin.
21
+ * @param platform - The platform to act for (tests pass it explicitly).
22
+ */
23
+ export declare function holdCookedTtyReads(stdin: RawModeStdin, platform?: NodeJS.Platform): void;
24
+ //# sourceMappingURL=windows-tty-stdin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-tty-stdin.d.ts","sourceRoot":"","sources":["../../src/lib/windows-tty-stdin.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CACrC;AAQD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,IAAI,CA4C1G"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Keep a Windows TTY stdin from reading while raw mode is off.
3
+ *
4
+ * Ink turns raw mode off between prompts and on exit but leaves the TTY reading, and a
5
+ * TTY stream restarts its read on every `stdin.read()`. On Windows that read becomes a
6
+ * cooked console read that libuv can't cancel under ConPTY: the process won't exit until
7
+ * a key is pressed, and the next prompt loses its input to the stale line read
8
+ * (ATK-158, ATK-166). So a read is stopped before raw mode turns off, a read started
9
+ * while cooked is held back, and a held read starts once raw mode is back on.
10
+ *
11
+ * Does nothing off Windows, without a TTY, or if Node's handle doesn't look as expected.
12
+ * Once installed, nothing on Windows can read the TTY in cooked mode (e.g. readline).
13
+ *
14
+ * @param stdin - The process's stdin.
15
+ * @param platform - The platform to act for (tests pass it explicitly).
16
+ */
17
+ export function holdCookedTtyReads(stdin, platform = process.platform) {
18
+ if (platform !== 'win32' || !stdin.isTTY || !stdin.setRawMode)
19
+ return;
20
+ const handle = Reflect.get(stdin, '_handle');
21
+ if (!isTtyHandle(handle))
22
+ return;
23
+ const setRawMode = stdin.setRawMode.bind(stdin);
24
+ const readStart = handle.readStart.bind(handle);
25
+ const readStop = handle.readStop.bind(handle);
26
+ // Whether libuv is reading, and whether Node asked for a read that is being held.
27
+ let reading = false;
28
+ let heldRead = false;
29
+ const startRead = () => {
30
+ const err = readStart();
31
+ reading = err === 0;
32
+ return err;
33
+ };
34
+ handle.readStart = () => {
35
+ if (stdin.isRaw)
36
+ return startRead();
37
+ heldRead = true;
38
+ return 0;
39
+ };
40
+ handle.readStop = () => {
41
+ heldRead = false;
42
+ reading = false;
43
+ return readStop();
44
+ };
45
+ stdin.setRawMode = (mode) => {
46
+ if (!mode && reading) {
47
+ readStop();
48
+ reading = false;
49
+ heldRead = true;
50
+ }
51
+ const result = setRawMode(mode);
52
+ // Only once the switch took, and never on a handle that destroy() has closed.
53
+ if (stdin.isRaw && heldRead && Reflect.get(stdin, '_handle') === handle) {
54
+ heldRead = false;
55
+ startRead();
56
+ }
57
+ return result;
58
+ };
59
+ }
60
+ function isTtyHandle(value) {
61
+ return (typeof value === 'object' &&
62
+ value !== null &&
63
+ 'readStart' in value &&
64
+ typeof value.readStart === 'function' &&
65
+ 'readStop' in value &&
66
+ typeof value.readStop === 'function');
67
+ }
68
+ //# sourceMappingURL=windows-tty-stdin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-tty-stdin.js","sourceRoot":"","sources":["../../src/lib/windows-tty-stdin.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAmB,EAAE,WAA4B,OAAO,CAAC,QAAQ;IAClG,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU;QAAE,OAAO;IACtE,MAAM,MAAM,GAAY,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACtD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO;IAEjC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9C,kFAAkF;IAClF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;QACtB,IAAI,KAAK,CAAC,KAAK;YAAE,OAAO,SAAS,EAAE,CAAC;QACpC,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,CAAC,QAAQ,GAAG,GAAG,EAAE;QACrB,QAAQ,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,KAAK,CAAC;QAChB,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,KAAK,CAAC,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;QACnC,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YACrB,QAAQ,EAAE,CAAC;YACX,OAAO,GAAG,KAAK,CAAC;YAChB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,8EAA8E;QAC9E,IAAI,KAAK,CAAC,KAAK,IAAI,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,MAAM,EAAE,CAAC;YACxE,QAAQ,GAAG,KAAK,CAAC;YACjB,SAAS,EAAE,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK;QACpB,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU;QACrC,UAAU,IAAI,KAAK;QACnB,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,CACrC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@detergent-software/atk",
3
- "version": "8.2.0-dev.2",
3
+ "version": "8.2.0",
4
4
  "description": "Agentic Tool Kit — CLI for managing AI coding tool assets.",
5
5
  "type": "module",
6
6
  "bin": {