@agents-ensemble/cli 0.6.3 → 0.6.5

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.
Files changed (56) hide show
  1. package/dist/async-operator-input.js +1 -1
  2. package/dist/async-operator-input.js.map +1 -1
  3. package/dist/display/session-display-reducer.d.ts.map +1 -1
  4. package/dist/display/session-display-reducer.js +0 -11
  5. package/dist/display/session-display-reducer.js.map +1 -1
  6. package/dist/issue-command.d.ts.map +1 -1
  7. package/dist/issue-command.js +8 -4
  8. package/dist/issue-command.js.map +1 -1
  9. package/dist/prompt-operator-input.d.ts +1 -1
  10. package/dist/prompt-operator-input.d.ts.map +1 -1
  11. package/dist/prompt-operator-input.js +1 -1
  12. package/dist/prompt-operator-input.js.map +1 -1
  13. package/dist/session-log-lines.d.ts.map +1 -1
  14. package/dist/session-log-lines.js +51 -8
  15. package/dist/session-log-lines.js.map +1 -1
  16. package/dist/session-sinks.d.ts.map +1 -1
  17. package/dist/session-sinks.js +2 -10
  18. package/dist/session-sinks.js.map +1 -1
  19. package/dist/tui/compute-operator-input-cursor-y.d.ts +4 -0
  20. package/dist/tui/compute-operator-input-cursor-y.d.ts.map +1 -1
  21. package/dist/tui/compute-operator-input-cursor-y.js +4 -2
  22. package/dist/tui/compute-operator-input-cursor-y.js.map +1 -1
  23. package/dist/tui/create-issue-session-tui-host.d.ts.map +1 -1
  24. package/dist/tui/create-issue-session-tui-host.js +19 -8
  25. package/dist/tui/create-issue-session-tui-host.js.map +1 -1
  26. package/dist/tui/create-issue-session-tui-host.test.js +19 -5
  27. package/dist/tui/create-issue-session-tui-host.test.js.map +1 -1
  28. package/dist/tui/issue-session-tui-stream.d.ts +3 -1
  29. package/dist/tui/issue-session-tui-stream.d.ts.map +1 -1
  30. package/dist/tui/issue-session-tui-stream.js +11 -9
  31. package/dist/tui/issue-session-tui-stream.js.map +1 -1
  32. package/dist/tui/issue-session-tui-stream.test.js +36 -11
  33. package/dist/tui/issue-session-tui-stream.test.js.map +1 -1
  34. package/dist/tui/issue-session-tui.d.ts +7 -3
  35. package/dist/tui/issue-session-tui.d.ts.map +1 -1
  36. package/dist/tui/issue-session-tui.js +37 -21
  37. package/dist/tui/issue-session-tui.js.map +1 -1
  38. package/dist/tui/issue-session-tui.test.js +124 -22
  39. package/dist/tui/issue-session-tui.test.js.map +1 -1
  40. package/dist/tui/pane-layout.d.ts +22 -0
  41. package/dist/tui/pane-layout.d.ts.map +1 -0
  42. package/dist/tui/pane-layout.js +74 -0
  43. package/dist/tui/pane-layout.js.map +1 -0
  44. package/dist/tui/titled-border-pane.d.ts +2 -1
  45. package/dist/tui/titled-border-pane.d.ts.map +1 -1
  46. package/dist/tui/titled-border-pane.js +2 -2
  47. package/dist/tui/titled-border-pane.js.map +1 -1
  48. package/dist/tui/tui-layout-constants.d.ts +2 -2
  49. package/dist/tui/tui-layout-constants.d.ts.map +1 -1
  50. package/dist/tui/tui-layout-constants.js +2 -2
  51. package/dist/tui/tui-layout-constants.js.map +1 -1
  52. package/dist/tui/tui-terminal-size.d.ts +34 -0
  53. package/dist/tui/tui-terminal-size.d.ts.map +1 -0
  54. package/dist/tui/tui-terminal-size.js +163 -0
  55. package/dist/tui/tui-terminal-size.js.map +1 -0
  56. package/package.json +2 -2
@@ -0,0 +1,74 @@
1
+ import { INPUT_PANE_BORDER_ROWS, PANE_BORDER_ROWS, WORKER_PANE_HEIGHT, } from './tui-layout-constants.js';
2
+ // A titled pane needs a title row and a bottom border row. Keep one content row
3
+ // for the activity pane whenever the other panes have enough spare height, but
4
+ // allow it to compact to the frame-only minimum before clipping the input.
5
+ const MIN_TITLED_PANE_HEIGHT = PANE_BORDER_ROWS;
6
+ const MIN_ACTIVITY_PANE_HEIGHT = PANE_BORDER_ROWS;
7
+ const PREFERRED_ACTIVITY_PANE_HEIGHT = PANE_BORDER_ROWS + 1;
8
+ const MIN_INPUT_PANE_HEIGHT = INPUT_PANE_BORDER_ROWS + 1;
9
+ function shrinkHeight(current, minimum, amount) {
10
+ const reducible = Math.max(0, current - minimum);
11
+ const reduction = Math.min(reducible, amount);
12
+ return { height: current - reduction, remaining: amount - reduction };
13
+ }
14
+ /**
15
+ * Fits the pane layout into the already-reserved live frame.
16
+ *
17
+ * The activity pane is the flexible region. On short terminals, reduce the
18
+ * worker pane first, then the activity pane's spare content row, before
19
+ * compacting open questions or input. This prevents a height=1 titled pane
20
+ * from rendering only a stray bottom border without hiding the input row.
21
+ */
22
+ export function resolvePaneHeights(params) {
23
+ const frameLimit = Math.max(1, Math.floor(params.liveFrameRows));
24
+ let workerPaneHeight = Math.max(MIN_TITLED_PANE_HEIGHT, params.workerPaneHeight ?? WORKER_PANE_HEIGHT);
25
+ let activityPaneHeight = Math.max(PREFERRED_ACTIVITY_PANE_HEIGHT, Math.floor(params.activityPaneHeight));
26
+ let openQuestionsPaneHeight = params.openQuestionsPaneHeight > 0
27
+ ? Math.max(MIN_TITLED_PANE_HEIGHT, Math.floor(params.openQuestionsPaneHeight))
28
+ : 0;
29
+ let inputPaneHeight = Math.max(MIN_INPUT_PANE_HEIGHT, Math.floor(params.inputPaneHeight));
30
+ let overflow = workerPaneHeight +
31
+ activityPaneHeight +
32
+ openQuestionsPaneHeight +
33
+ inputPaneHeight -
34
+ frameLimit;
35
+ if (overflow > 0) {
36
+ const shrunk = shrinkHeight(workerPaneHeight, MIN_TITLED_PANE_HEIGHT, overflow);
37
+ workerPaneHeight = shrunk.height;
38
+ overflow = shrunk.remaining;
39
+ }
40
+ if (overflow > 0) {
41
+ const shrunk = shrinkHeight(activityPaneHeight, MIN_ACTIVITY_PANE_HEIGHT, overflow);
42
+ activityPaneHeight = shrunk.height;
43
+ overflow = shrunk.remaining;
44
+ }
45
+ if (overflow > 0 && openQuestionsPaneHeight > 0) {
46
+ const shrunk = shrinkHeight(openQuestionsPaneHeight, MIN_TITLED_PANE_HEIGHT, overflow);
47
+ openQuestionsPaneHeight = shrunk.height;
48
+ overflow = shrunk.remaining;
49
+ }
50
+ if (overflow > 0) {
51
+ const shrunk = shrinkHeight(inputPaneHeight, MIN_INPUT_PANE_HEIGHT, overflow);
52
+ inputPaneHeight = shrunk.height;
53
+ overflow = shrunk.remaining;
54
+ }
55
+ // Reallocate all remaining rows to the activity pane after compacting the
56
+ // fixed panes. The normal short-terminal case keeps one content row; when
57
+ // necessary, the activity pane remains at its frame-only two-row minimum.
58
+ activityPaneHeight = Math.max(MIN_TITLED_PANE_HEIGHT, frameLimit -
59
+ workerPaneHeight -
60
+ openQuestionsPaneHeight -
61
+ inputPaneHeight);
62
+ // If the terminal is smaller than every pane minimum, the root clips the
63
+ // content, but each titled pane still receives a non-broken frame height.
64
+ if (overflow > 0) {
65
+ activityPaneHeight = Math.max(MIN_TITLED_PANE_HEIGHT, activityPaneHeight - overflow);
66
+ }
67
+ return {
68
+ workerPaneHeight,
69
+ activityPaneHeight,
70
+ openQuestionsPaneHeight,
71
+ inputPaneHeight,
72
+ };
73
+ }
74
+ //# sourceMappingURL=pane-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pane-layout.js","sourceRoot":"","sources":["../../src/tui/pane-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AASnC,gFAAgF;AAChF,+EAA+E;AAC/E,2EAA2E;AAC3E,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAChD,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AAClD,MAAM,8BAA8B,GAAG,gBAAgB,GAAG,CAAC,CAAC;AAC5D,MAAM,qBAAqB,GAAG,sBAAsB,GAAG,CAAC,CAAC;AAEzD,SAAS,YAAY,CAAC,OAAe,EAAE,OAAe,EAAE,MAAc;IAIpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9C,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;AACxE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAMlC;IACC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACjE,IAAI,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAC7B,sBAAsB,EACtB,MAAM,CAAC,gBAAgB,IAAI,kBAAkB,CAC9C,CAAC;IACF,IAAI,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAC/B,8BAA8B,EAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CACtC,CAAC;IACF,IAAI,uBAAuB,GACzB,MAAM,CAAC,uBAAuB,GAAG,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,IAAI,eAAe,GAAG,IAAI,CAAC,GAAG,CAC5B,qBAAqB,EACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CACnC,CAAC;IAEF,IAAI,QAAQ,GACV,gBAAgB;QAChB,kBAAkB;QAClB,uBAAuB;QACvB,eAAe;QACf,UAAU,CAAC;IAEb,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,YAAY,CACzB,gBAAgB,EAChB,sBAAsB,EACtB,QAAQ,CACT,CAAC;QACF,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;QACjC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,YAAY,CACzB,kBAAkB,EAClB,wBAAwB,EACxB,QAAQ,CACT,CAAC;QACF,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,IAAI,uBAAuB,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,YAAY,CACzB,uBAAuB,EACvB,sBAAsB,EACtB,QAAQ,CACT,CAAC;QACF,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;QACxC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QAC9E,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;QAChC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAC3B,sBAAsB,EACtB,UAAU;QACR,gBAAgB;QAChB,uBAAuB;QACvB,eAAe,CAClB,CAAC;IAEF,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAC3B,sBAAsB,EACtB,kBAAkB,GAAG,QAAQ,CAC9B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,gBAAgB;QAChB,kBAAkB;QAClB,uBAAuB;QACvB,eAAe;KAChB,CAAC;AACJ,CAAC"}
@@ -11,10 +11,11 @@ export interface TitledBorderPaneProps {
11
11
  borderStyle: TuiBorderStyle;
12
12
  borderColor?: BoxProps['borderColor'];
13
13
  height: number;
14
+ terminalColumns?: number;
14
15
  paddingX?: number;
15
16
  titleBold?: boolean;
16
17
  children: ReactNode;
17
18
  }
18
19
  /** 上枠線にタイトルを埋め込んだ Ink ペイン。内側タイトル行は持たない。 */
19
- export declare function TitledBorderPane({ title, titleSuffix, titleRight, titleRightIssueUrl, titleRightLinkMode, borderStyle, borderColor, height, paddingX, titleBold, children, }: TitledBorderPaneProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function TitledBorderPane({ title, titleSuffix, titleRight, titleRightIssueUrl, titleRightLinkMode, borderStyle, borderColor, height, terminalColumns, paddingX, titleBold, children, }: TitledBorderPaneProps): import("react/jsx-runtime").JSX.Element;
20
21
  //# sourceMappingURL=titled-border-pane.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"titled-border-pane.d.ts","sourceRoot":"","sources":["../../src/tui/titled-border-pane.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAoBD,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAA4B,EAC5B,WAAW,EACX,WAAW,EACX,MAAM,EACN,QAAY,EACZ,SAAgB,EAChB,QAAQ,GACT,EAAE,qBAAqB,2CA0EvB"}
1
+ {"version":3,"file":"titled-border-pane.d.ts","sourceRoot":"","sources":["../../src/tui/titled-border-pane.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAoBD,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAA4B,EAC5B,WAAW,EACX,WAAW,EACX,MAAM,EACN,eAAe,EACf,QAAY,EACZ,SAAgB,EAChB,QAAQ,GACT,EAAE,qBAAqB,2CA0EvB"}
@@ -14,8 +14,8 @@ function renderTitleRight(params) {
14
14
  return _jsx(Text, { color: borderColor, children: titleRight });
15
15
  }
16
16
  /** 上枠線にタイトルを埋め込んだ Ink ペイン。内側タイトル行は持たない。 */
17
- export function TitledBorderPane({ title, titleSuffix, titleRight, titleRightIssueUrl, titleRightLinkMode = 'label', borderStyle, borderColor, height, paddingX = 1, titleBold = true, children, }) {
18
- const totalWidth = process.stdout.columns ?? 80;
17
+ export function TitledBorderPane({ title, titleSuffix, titleRight, titleRightIssueUrl, titleRightLinkMode = 'label', borderStyle, borderColor, height, terminalColumns, paddingX = 1, titleBold = true, children, }) {
18
+ const totalWidth = terminalColumns ?? process.stdout.columns ?? 80;
19
19
  const titleRightText = titleRightIssueUrl && titleRightLinkMode === 'url'
20
20
  ? formatIssueReference(titleRightIssueUrl, 'url')
21
21
  : titleRight;
@@ -1 +1 @@
1
- {"version":3,"file":"titled-border-pane.js","sourceRoot":"","sources":["../../src/tui/titled-border-pane.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"titled-border-pane.js","sourceRoot":"","sources":["../../src/tui/titled-border-pane.tsx"],"names":[],"mappings":"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"}
@@ -34,9 +34,9 @@ export declare const OPEN_QUESTIONS_PANE_MAX_DISPLAY_LINES = 8;
34
34
  /** Open questions ペインタイトルに付与する選択操作ヒント。 */
35
35
  export declare const OPEN_QUESTIONS_SELECTION_HINT = " \u2014 Shift+\u2191\u2193\u3067\u9078\u629E";
36
36
  /** Open questions がないときに Operator input へ表示する任意入力 prompt。 */
37
- export declare const OPERATOR_INPUT_DISCRETIONARY_HINT = "\u4EFB\u610F\u306E\u30BF\u30A4\u30DF\u30F3\u30B0\u3067\u5165\u529B \u00B7 /exit \u3067\u7D42\u4E86";
37
+ export declare const OPERATOR_INPUT_DISCRETIONARY_HINT = "\u4EFB\u610F\u306E\u30BF\u30A4\u30DF\u30F3\u30B0\u3067\u5165\u529B \u00B7 /reconnect \u3067\u518D\u63A5\u7D9A \u00B7 /exit \u3067\u7D42\u4E86";
38
38
  /** post-loop 待機中に Operator input へ表示する追加入力 prompt。 */
39
- export declare const OPERATOR_INPUT_POST_LOOP_HINT = "\u8FFD\u52A0\u6307\u793A\u3092\u5165\u529B\u3059\u308B\u304B /exit \u3067\u7D42\u4E86";
39
+ export declare const OPERATOR_INPUT_POST_LOOP_HINT = "\u8FFD\u52A0\u6307\u793A\u3092\u5165\u529B\u3059\u308B\u304B /reconnect \u3067\u518D\u63A5\u7D9A \u00B7 /exit \u3067\u7D42\u4E86";
40
40
  /** 終了処理中に Operator input へ表示する prompt。 */
41
41
  export declare const OPERATOR_INPUT_SHUTTING_DOWN_HINT = "\u7D42\u4E86\u3057\u3066\u3044\u307E\u3059\u2026";
42
42
  /** 入力ペインの枠線(上下)行数。`PANE_BORDER_ROWS` と同値。 */
@@ -1 +1 @@
1
- {"version":3,"file":"tui-layout-constants.d.ts","sourceRoot":"","sources":["../../src/tui/tui-layout-constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,6BAA6B;AAC7B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,oEAAoE;AACpE,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,2BAA2B;AAC3B,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,qDAAqD;AACrD,eAAO,MAAM,yBAAyB,mBAAmB,CAAC;AAE1D,kCAAkC;AAClC,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AAEjD,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C,mCAAmC;AACnC,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAE5C,4CAA4C;AAC5C,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,+CAA+C;AAC/C,eAAO,MAAM,oCAAoC,OAAO,CAAC;AAEzD,sCAAsC;AACtC,eAAO,MAAM,qCAAqC,IAAI,CAAC;AAEvD,0CAA0C;AAC1C,eAAO,MAAM,6BAA6B,iDAAmB,CAAC;AAE9D,6DAA6D;AAC7D,eAAO,MAAM,iCAAiC,uGAA4B,CAAC;AAE3E,sDAAsD;AACtD,eAAO,MAAM,6BAA6B,0FAAyB,CAAC;AAEpE,0CAA0C;AAC1C,eAAO,MAAM,iCAAiC,qDAAa,CAAC;AAE5D,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB,IAAmB,CAAC;AAEvD,kCAAkC;AAClC,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,kDAAkD;AAClD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAkD,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,gCAAgC;AAChC,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD,uBAAuB;AACvB,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,0BAA0B;AAC1B,eAAO,MAAM,4BAA4B,IAAI,CAAC"}
1
+ {"version":3,"file":"tui-layout-constants.d.ts","sourceRoot":"","sources":["../../src/tui/tui-layout-constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,6BAA6B;AAC7B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,oEAAoE;AACpE,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,2BAA2B;AAC3B,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,qDAAqD;AACrD,eAAO,MAAM,yBAAyB,mBAAmB,CAAC;AAE1D,kCAAkC;AAClC,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AAEjD,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C,mCAAmC;AACnC,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAE5C,4CAA4C;AAC5C,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,+CAA+C;AAC/C,eAAO,MAAM,oCAAoC,OAAO,CAAC;AAEzD,sCAAsC;AACtC,eAAO,MAAM,qCAAqC,IAAI,CAAC;AAEvD,0CAA0C;AAC1C,eAAO,MAAM,6BAA6B,iDAAmB,CAAC;AAE9D,6DAA6D;AAC7D,eAAO,MAAM,iCAAiC,kJACD,CAAC;AAE9C,sDAAsD;AACtD,eAAO,MAAM,6BAA6B,qIACA,CAAC;AAE3C,0CAA0C;AAC1C,eAAO,MAAM,iCAAiC,qDAAa,CAAC;AAE5D,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB,IAAmB,CAAC;AAEvD,kCAAkC;AAClC,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,kDAAkD;AAClD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAkD,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,gCAAgC;AAChC,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD,uBAAuB;AACvB,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,0BAA0B;AAC1B,eAAO,MAAM,4BAA4B,IAAI,CAAC"}
@@ -34,9 +34,9 @@ export const OPEN_QUESTIONS_PANE_MAX_DISPLAY_LINES = 8;
34
34
  /** Open questions ペインタイトルに付与する選択操作ヒント。 */
35
35
  export const OPEN_QUESTIONS_SELECTION_HINT = ' — Shift+↑↓で選択';
36
36
  /** Open questions がないときに Operator input へ表示する任意入力 prompt。 */
37
- export const OPERATOR_INPUT_DISCRETIONARY_HINT = '任意のタイミングで入力 · /exit で終了';
37
+ export const OPERATOR_INPUT_DISCRETIONARY_HINT = '任意のタイミングで入力 · /reconnect で再接続 · /exit で終了';
38
38
  /** post-loop 待機中に Operator input へ表示する追加入力 prompt。 */
39
- export const OPERATOR_INPUT_POST_LOOP_HINT = '追加指示を入力するか /exit で終了';
39
+ export const OPERATOR_INPUT_POST_LOOP_HINT = '追加指示を入力するか /reconnect で再接続 · /exit で終了';
40
40
  /** 終了処理中に Operator input へ表示する prompt。 */
41
41
  export const OPERATOR_INPUT_SHUTTING_DOWN_HINT = '終了しています…';
42
42
  /** 入力ペインの枠線(上下)行数。`PANE_BORDER_ROWS` と同値。 */
@@ -1 +1 @@
1
- {"version":3,"file":"tui-layout-constants.js","sourceRoot":"","sources":["../../src/tui/tui-layout-constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,6BAA6B;AAC7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEpC,oEAAoE;AACpE,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAE/C,2BAA2B;AAC3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C,qDAAqD;AACrD,MAAM,CAAC,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;AAE1D,kCAAkC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAEjD,kDAAkD;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C,mCAAmC;AACnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE5C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C,sDAAsD;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAEzD,sCAAsC;AACtC,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC;AAEvD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,6BAA6B,GAAG,gBAAgB,CAAC;AAE9D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,iCAAiC,GAAG,yBAAyB,CAAC;AAE3E,sDAAsD;AACtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,sBAAsB,CAAC;AAEpE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iCAAiC,GAAG,UAAU,CAAC;AAE5D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAEvD,kCAAkC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,kDAAkD;AAClD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,8BAA8B,GAAG,cAAc,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD,gCAAgC;AAChC,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAEhD,uBAAuB;AACvB,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C,0BAA0B;AAC1B,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"tui-layout-constants.js","sourceRoot":"","sources":["../../src/tui/tui-layout-constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,6BAA6B;AAC7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEpC,oEAAoE;AACpE,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAE/C,2BAA2B;AAC3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C,qDAAqD;AACrD,MAAM,CAAC,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;AAE1D,kCAAkC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAEjD,kDAAkD;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C,mCAAmC;AACnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE5C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C,sDAAsD;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAEzD,sCAAsC;AACtC,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC;AAEvD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,6BAA6B,GAAG,gBAAgB,CAAC;AAE9D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,iCAAiC,GAC5C,2CAA2C,CAAC;AAE9C,sDAAsD;AACtD,MAAM,CAAC,MAAM,6BAA6B,GACxC,wCAAwC,CAAC;AAE3C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iCAAiC,GAAG,UAAU,CAAC;AAE5D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAEvD,kCAAkC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,kDAAkD;AAClD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,8BAA8B,GAAG,cAAc,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD,gCAAgC;AAChC,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAEhD,uBAAuB;AACvB,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C,0BAA0B;AAC1B,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ export declare const TUI_RESIZE_SETTLE_MS = 100;
2
+ export interface TuiTerminalSize {
3
+ readonly columns: number;
4
+ readonly rows: number;
5
+ }
6
+ export interface TuiTerminalSizeStore {
7
+ getSnapshot: () => TuiTerminalSize;
8
+ subscribe: (listener: () => void) => () => void;
9
+ dispose: () => void;
10
+ }
11
+ type TuiResizeSource = Pick<NodeJS.WriteStream, 'columns' | 'rows' | 'on' | 'off'>;
12
+ export declare function readTuiTerminalSize(stdout: Pick<NodeJS.WriteStream, 'columns' | 'rows'>): TuiTerminalSize;
13
+ export declare function createTuiTerminalSizeStore(stdout?: TuiResizeSource, settleMs?: number, onSettled?: (size: TuiTerminalSize) => void): TuiTerminalSizeStore;
14
+ export interface TuiResizeController {
15
+ readonly stdout: NodeJS.WriteStream;
16
+ readonly terminalSize: TuiTerminalSizeStore;
17
+ dispose: () => void;
18
+ }
19
+ /**
20
+ * Ink listens to stdout.resize independently of React. Delay that notification
21
+ * until the same settled snapshot used by the TUI has been rendered, so Ink
22
+ * does not serialize an old-width frame between SIGWINCH bursts.
23
+ *
24
+ * Ink 7 decides whether to emit clearTerminal by comparing the previous frame
25
+ * height with the current viewport. On a terminal shrink, that comparison can
26
+ * classify the old frame as fullscreen even when it did not fill the old
27
+ * viewport. Keep Ink's private viewport row value at a high-water mark while
28
+ * the TUI uses the actual settled rows from terminalSize; this prevents the
29
+ * renderer's fullscreen-clear fallback from erasing scrollback on shrink.
30
+ */
31
+ export declare function createTuiResizeController(stdout?: NodeJS.WriteStream, settleMs?: number): TuiResizeController;
32
+ export declare function useTuiTerminalSize(externalStore?: TuiTerminalSizeStore): TuiTerminalSize;
33
+ export {};
34
+ //# sourceMappingURL=tui-terminal-size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-terminal-size.d.ts","sourceRoot":"","sources":["../../src/tui/tui-terminal-size.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,eAAe,CAAC;IACnC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;AASnF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC,GACnD,eAAe,CAKjB;AAMD,wBAAgB,0BAA0B,CACxC,MAAM,GAAE,eAAgC,EACxC,QAAQ,GAAE,MAA6B,EACvC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,GAC1C,oBAAoB,CA4DtB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,GAAE,MAAM,CAAC,WAA4B,EAC3C,QAAQ,GAAE,MAA6B,GACtC,mBAAmB,CA2ErB;AAED,wBAAgB,kBAAkB,CAChC,aAAa,CAAC,EAAE,oBAAoB,GACnC,eAAe,CAqBjB"}
@@ -0,0 +1,163 @@
1
+ import { useEffect, useMemo, useSyncExternalStore } from 'react';
2
+ export const TUI_RESIZE_SETTLE_MS = 100;
3
+ function resolveDimension(value, fallback) {
4
+ return typeof value === 'number' && Number.isFinite(value) && value > 0
5
+ ? Math.floor(value)
6
+ : fallback;
7
+ }
8
+ export function readTuiTerminalSize(stdout) {
9
+ return {
10
+ columns: resolveDimension(stdout.columns, 80),
11
+ rows: resolveDimension(stdout.rows, 24),
12
+ };
13
+ }
14
+ function sameSize(left, right) {
15
+ return left.columns === right.columns && left.rows === right.rows;
16
+ }
17
+ export function createTuiTerminalSizeStore(stdout = process.stdout, settleMs = TUI_RESIZE_SETTLE_MS, onSettled) {
18
+ let snapshot = readTuiTerminalSize(stdout);
19
+ let settleTimer;
20
+ let disposed = false;
21
+ const subscribers = new Set();
22
+ const settleResize = () => {
23
+ settleTimer = undefined;
24
+ if (disposed) {
25
+ return;
26
+ }
27
+ const next = readTuiTerminalSize(stdout);
28
+ if (sameSize(snapshot, next)) {
29
+ return;
30
+ }
31
+ snapshot = next;
32
+ for (const subscriber of [...subscribers]) {
33
+ subscriber();
34
+ }
35
+ onSettled?.(snapshot);
36
+ };
37
+ const onResize = () => {
38
+ if (disposed) {
39
+ return;
40
+ }
41
+ if (settleTimer !== undefined) {
42
+ clearTimeout(settleTimer);
43
+ }
44
+ settleTimer = setTimeout(settleResize, Math.max(0, settleMs));
45
+ };
46
+ stdout.on('resize', onResize);
47
+ return {
48
+ getSnapshot: () => snapshot,
49
+ subscribe: (listener) => {
50
+ if (disposed) {
51
+ return () => { };
52
+ }
53
+ subscribers.add(listener);
54
+ return () => {
55
+ subscribers.delete(listener);
56
+ };
57
+ },
58
+ dispose: () => {
59
+ if (disposed) {
60
+ return;
61
+ }
62
+ disposed = true;
63
+ stdout.off('resize', onResize);
64
+ if (settleTimer !== undefined) {
65
+ clearTimeout(settleTimer);
66
+ settleTimer = undefined;
67
+ }
68
+ subscribers.clear();
69
+ },
70
+ };
71
+ }
72
+ /**
73
+ * Ink listens to stdout.resize independently of React. Delay that notification
74
+ * until the same settled snapshot used by the TUI has been rendered, so Ink
75
+ * does not serialize an old-width frame between SIGWINCH bursts.
76
+ *
77
+ * Ink 7 decides whether to emit clearTerminal by comparing the previous frame
78
+ * height with the current viewport. On a terminal shrink, that comparison can
79
+ * classify the old frame as fullscreen even when it did not fill the old
80
+ * viewport. Keep Ink's private viewport row value at a high-water mark while
81
+ * the TUI uses the actual settled rows from terminalSize; this prevents the
82
+ * renderer's fullscreen-clear fallback from erasing scrollback on shrink.
83
+ */
84
+ export function createTuiResizeController(stdout = process.stdout, settleMs = TUI_RESIZE_SETTLE_MS) {
85
+ const resizeListeners = new Set();
86
+ let disposed = false;
87
+ let inkViewportRows = readTuiTerminalSize(stdout).rows;
88
+ const terminalSize = createTuiTerminalSizeStore(stdout, settleMs, (size) => {
89
+ if (disposed) {
90
+ return;
91
+ }
92
+ inkViewportRows = Math.max(inkViewportRows, size.rows);
93
+ queueMicrotask(() => {
94
+ if (disposed) {
95
+ return;
96
+ }
97
+ for (const listener of [...resizeListeners]) {
98
+ listener();
99
+ }
100
+ });
101
+ });
102
+ const resizeAwareStdout = new Proxy(stdout, {
103
+ get(target, property, receiver) {
104
+ if (property === 'columns' || property === 'rows') {
105
+ return property === 'rows'
106
+ ? inkViewportRows
107
+ : terminalSize.getSnapshot().columns;
108
+ }
109
+ if (property === 'on' || property === 'addListener') {
110
+ return (event, listener) => {
111
+ if (event === 'resize') {
112
+ resizeListeners.add(listener);
113
+ return resizeAwareStdout;
114
+ }
115
+ const method = Reflect.get(target, property, target);
116
+ return method.call(target, event, listener);
117
+ };
118
+ }
119
+ if (property === 'off' || property === 'removeListener') {
120
+ return (event, listener) => {
121
+ if (event === 'resize') {
122
+ resizeListeners.delete(listener);
123
+ return resizeAwareStdout;
124
+ }
125
+ const method = Reflect.get(target, property, target);
126
+ return method.call(target, event, listener);
127
+ };
128
+ }
129
+ const value = Reflect.get(target, property, receiver);
130
+ return typeof value === 'function' ? value.bind(target) : value;
131
+ },
132
+ });
133
+ const controller = {
134
+ stdout: resizeAwareStdout,
135
+ terminalSize,
136
+ dispose: () => {
137
+ if (disposed) {
138
+ return;
139
+ }
140
+ disposed = true;
141
+ terminalSize.dispose();
142
+ resizeListeners.clear();
143
+ },
144
+ };
145
+ return controller;
146
+ }
147
+ export function useTuiTerminalSize(externalStore) {
148
+ const ownedStore = useMemo(() => (externalStore ? undefined : createTuiTerminalSizeStore()), [externalStore]);
149
+ const store = externalStore ?? ownedStore;
150
+ useEffect(() => {
151
+ if (!ownedStore) {
152
+ return;
153
+ }
154
+ return () => {
155
+ ownedStore.dispose();
156
+ };
157
+ }, [ownedStore]);
158
+ if (!store) {
159
+ throw new Error('TUI terminal size store is unavailable');
160
+ }
161
+ return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
162
+ }
163
+ //# sourceMappingURL=tui-terminal-size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-terminal-size.js","sourceRoot":"","sources":["../../src/tui/tui-terminal-size.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agents-ensemble/cli",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "type": "module",
5
5
  "description": "ensemble CLI — Issue-based agent orchestration",
6
6
  "bin": {
@@ -17,7 +17,7 @@
17
17
  "react": "19.2.0",
18
18
  "react-ink-textarea": "npm:@otolab/react-ink-textarea@0.4.1-otolab.3",
19
19
  "string-width": "8.1.0",
20
- "@agents-ensemble/core": "0.6.3"
20
+ "@agents-ensemble/core": "0.6.5"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/js-yaml": "4.0.9",