@indianic/dialout 1.5.0 → 1.7.1

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 (118) hide show
  1. package/README.md +3 -1
  2. package/dist/ai-adapters/types.d.ts +2 -2
  3. package/dist/ai-adapters/types.d.ts.map +1 -1
  4. package/dist/ai-adapters/types.js +3 -3
  5. package/dist/ai-adapters/types.js.map +1 -1
  6. package/dist/ai-capabilities/types.d.ts +2 -2
  7. package/dist/ai-capabilities/types.d.ts.map +1 -1
  8. package/dist/ai-launch.d.ts +1 -1
  9. package/dist/ai-launch.d.ts.map +1 -1
  10. package/dist/ai-launch.js +3 -3
  11. package/dist/ai-launch.js.map +1 -1
  12. package/dist/ai-session-detector.d.ts +1 -1
  13. package/dist/ai-session-detector.d.ts.map +1 -1
  14. package/dist/ai-sessions.d.ts +13 -3
  15. package/dist/ai-sessions.d.ts.map +1 -1
  16. package/dist/ai-sessions.js +50 -9
  17. package/dist/ai-sessions.js.map +1 -1
  18. package/dist/ai-transcript-tail.d.ts +2 -1
  19. package/dist/ai-transcript-tail.d.ts.map +1 -1
  20. package/dist/ai-transcript-tail.js +16 -3
  21. package/dist/ai-transcript-tail.js.map +1 -1
  22. package/dist/ai-usage.d.ts +10 -0
  23. package/dist/ai-usage.d.ts.map +1 -0
  24. package/dist/ai-usage.js +101 -0
  25. package/dist/ai-usage.js.map +1 -0
  26. package/dist/config.d.ts +2 -2
  27. package/dist/config.d.ts.map +1 -1
  28. package/dist/config.js +3 -3
  29. package/dist/config.js.map +1 -1
  30. package/dist/tmux-config.d.ts +3 -3
  31. package/dist/tmux-config.d.ts.map +1 -1
  32. package/dist/tmux-config.js +7 -7
  33. package/dist/tmux-config.js.map +1 -1
  34. package/dist/websocket.js +10 -2
  35. package/dist/websocket.js.map +1 -1
  36. package/node_modules/{@dialout/shared → @indianic/dialout-shared}/README.md +2 -2
  37. package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/chat-blocks.d.ts +1 -0
  38. package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/chat-blocks.d.ts.map +1 -1
  39. package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/chat-blocks.js +7 -0
  40. package/node_modules/@indianic/dialout-shared/dist/event-merge.d.ts +17 -0
  41. package/node_modules/@indianic/dialout-shared/dist/event-merge.d.ts.map +1 -0
  42. package/node_modules/@indianic/dialout-shared/dist/event-merge.js +34 -0
  43. package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/index.d.ts +4 -1
  44. package/node_modules/@indianic/dialout-shared/dist/index.d.ts.map +1 -0
  45. package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/index.js +5 -1
  46. package/node_modules/@indianic/dialout-shared/dist/usage.d.ts +30 -0
  47. package/node_modules/@indianic/dialout-shared/dist/usage.d.ts.map +1 -0
  48. package/node_modules/@indianic/dialout-shared/dist/usage.js +11 -0
  49. package/node_modules/{@dialout/shared → @indianic/dialout-shared}/package.json +2 -2
  50. package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/chat-blocks.test.ts +15 -1
  51. package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/chat-blocks.ts +7 -0
  52. package/node_modules/@indianic/dialout-shared/src/event-merge.test.ts +46 -0
  53. package/node_modules/@indianic/dialout-shared/src/event-merge.ts +61 -0
  54. package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/index.ts +5 -1
  55. package/node_modules/@indianic/dialout-shared/src/usage.ts +40 -0
  56. package/package.json +3 -3
  57. package/scripts/postpack.js +3 -3
  58. package/scripts/prepack.js +4 -4
  59. package/node_modules/@dialout/shared/dist/index.d.ts.map +0 -1
  60. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/ai-chat-prefs.d.ts +0 -0
  61. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/ai-chat-prefs.d.ts.map +0 -0
  62. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/ai-chat-prefs.js +0 -0
  63. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/capabilities.d.ts +0 -0
  64. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/capabilities.d.ts.map +0 -0
  65. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/capabilities.js +0 -0
  66. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/command-filter.d.ts +0 -0
  67. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/command-filter.d.ts.map +0 -0
  68. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/command-filter.js +0 -0
  69. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/composer-behaviour.d.ts +0 -0
  70. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/composer-behaviour.d.ts.map +0 -0
  71. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/composer-behaviour.js +0 -0
  72. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/events.d.ts +0 -0
  73. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/events.d.ts.map +0 -0
  74. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/events.js +0 -0
  75. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/kinds.d.ts +0 -0
  76. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/kinds.d.ts.map +0 -0
  77. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/kinds.js +0 -0
  78. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/notify.d.ts +0 -0
  79. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/notify.d.ts.map +0 -0
  80. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/notify.js +0 -0
  81. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/permission.d.ts +0 -0
  82. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/permission.d.ts.map +0 -0
  83. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/permission.js +0 -0
  84. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/scroll-pin.d.ts +0 -0
  85. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/scroll-pin.d.ts.map +0 -0
  86. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/scroll-pin.js +0 -0
  87. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/session.d.ts +0 -0
  88. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/session.d.ts.map +0 -0
  89. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/session.js +0 -0
  90. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/terminal-name.d.ts +0 -0
  91. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/terminal-name.d.ts.map +0 -0
  92. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/terminal-name.js +0 -0
  93. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/tmux-prefs.d.ts +0 -0
  94. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/tmux-prefs.d.ts.map +0 -0
  95. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/tmux-prefs.js +0 -0
  96. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/tool-appearance.d.ts +0 -0
  97. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/tool-appearance.d.ts.map +0 -0
  98. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/dist/tool-appearance.js +0 -0
  99. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/ai-chat-prefs.test.ts +0 -0
  100. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/ai-chat-prefs.ts +0 -0
  101. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/capabilities.ts +0 -0
  102. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/command-filter.test.ts +0 -0
  103. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/command-filter.ts +0 -0
  104. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/composer-behaviour.test.ts +0 -0
  105. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/composer-behaviour.ts +0 -0
  106. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/events.ts +0 -0
  107. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/kinds.ts +0 -0
  108. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/notify.test.ts +0 -0
  109. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/notify.ts +0 -0
  110. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/permission.ts +0 -0
  111. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/scroll-pin.test.ts +0 -0
  112. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/scroll-pin.ts +0 -0
  113. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/session.ts +0 -0
  114. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/terminal-name.ts +0 -0
  115. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/tmux-prefs.test.ts +0 -0
  116. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/tmux-prefs.ts +0 -0
  117. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/tool-appearance.test.ts +0 -0
  118. /package/node_modules/{@dialout/shared → @indianic/dialout-shared}/src/tool-appearance.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,oCAEC;AAGD,gDAEC;AAmBD,oCAEC;AAED,gCAEC;AAED,0CAwBC;AAED,gCAmBC;AAID,oCAIC;AAID,kCAUC;AAED,gCAGC;AAED,sCAEC;AAnJD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AA4BzB;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,OAAe;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,iFAAiF;AACjF,SAAgB,kBAAkB,CAAC,OAAe;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAExC,QAAA,kBAAkB,GAAG,0BAA0B,CAAC;AAChD,QAAA,wBAAwB,GAAG,sBAAsB,CAAC;AAE/D,MAAM,cAAc,GAAgB;IAClC,SAAS,EAAE,0BAAkB;IAC7B,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACjE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;IACnC,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,CAAC;CAChB,CAAC;AAEF,SAAgB,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,UAAU;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,eAAe;IAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO;IAEtC,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,qBAAqB;IACrB,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CACT,iCAAiC,iBAAiB,OAAO,UAAU,SAAS,CAC7E,CAAC;YACF,OAAO,CAAC,GAAG,CACT,8FAA8F,CAC/F,CAAC;YACF,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,wDAAwD;QAC1D,CAAC;IACH,CAAC;IACD,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,UAAU;IACxB,eAAe,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAgB,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAEtE,iEAAiE;IACjE,iEAAiE;IACjE,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACzG,MAAM,CAAC,QAAQ,GAAG,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACrF,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC;IAC1D,CAAC;IAED,sEAAsE;IACtE,iEAAiE;IACjE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACrD,OAAO,YAAY,CAAC,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;AAClE,CAAC;AAED,2EAA2E;AAC3E,4DAA4D;AAC5D,SAAgB,YAAY,CAAC,MAAmB,EAAE,IAAa;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAC5B,OAAO,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAClG,CAAC;AAED,2EAA2E;AAC3E,sEAAsE;AACtE,SAAgB,WAAW,CAAC,IAAY,EAAE,OAAsB,EAAE,UAAU,GAAG,IAAI;IACjF,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IAClE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACrC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,UAAU,CAAC,MAAmB;IAC5C,eAAe,EAAE,CAAC;IAClB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,uFAAuF;AACvF,8EAA8E;AAC9E,uDAAuD;AACvD,2DAA4D;AAAnD,kHAAA,gBAAgB,OAAA"}
@@ -1,5 +1,5 @@
1
- import { TmuxPrefs } from '@dialout/shared';
2
- export type { TmuxPrefs, TmuxStatusPrefs } from '@dialout/shared';
3
- export { DEFAULT_TMUX_PREFS, STATUS_TOKENS, compileStatusTemplate, } from '@dialout/shared';
1
+ import { TmuxPrefs } from '@indianic/dialout-shared';
2
+ export type { TmuxPrefs, TmuxStatusPrefs } from '@indianic/dialout-shared';
3
+ export { DEFAULT_TMUX_PREFS, STATUS_TOKENS, compileStatusTemplate, } from '@indianic/dialout-shared';
4
4
  export declare function renderTmuxConf(prefs: TmuxPrefs): string;
5
5
  //# sourceMappingURL=tmux-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tmux-config.d.ts","sourceRoot":"","sources":["../src/tmux-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6C,MAAM,iBAAiB,CAAC;AAkBvF,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAAE,aAAa,EAAE,qBAAqB,GACzD,MAAM,iBAAiB,CAAC;AAqDzB,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA4DvD"}
1
+ {"version":3,"file":"tmux-config.d.ts","sourceRoot":"","sources":["../src/tmux-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6C,MAAM,0BAA0B,CAAC;AAkBhG,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAAE,aAAa,EAAE,qBAAqB,GACzD,MAAM,0BAA0B,CAAC;AAqDlC,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA4DvD"}
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.compileStatusTemplate = exports.STATUS_TOKENS = exports.DEFAULT_TMUX_PREFS = void 0;
4
4
  exports.renderTmuxConf = renderTmuxConf;
5
- const shared_1 = require("@dialout/shared");
6
- var shared_2 = require("@dialout/shared");
7
- Object.defineProperty(exports, "DEFAULT_TMUX_PREFS", { enumerable: true, get: function () { return shared_2.DEFAULT_TMUX_PREFS; } });
8
- Object.defineProperty(exports, "STATUS_TOKENS", { enumerable: true, get: function () { return shared_2.STATUS_TOKENS; } });
9
- Object.defineProperty(exports, "compileStatusTemplate", { enumerable: true, get: function () { return shared_2.compileStatusTemplate; } });
5
+ const dialout_shared_1 = require("@indianic/dialout-shared");
6
+ var dialout_shared_2 = require("@indianic/dialout-shared");
7
+ Object.defineProperty(exports, "DEFAULT_TMUX_PREFS", { enumerable: true, get: function () { return dialout_shared_2.DEFAULT_TMUX_PREFS; } });
8
+ Object.defineProperty(exports, "STATUS_TOKENS", { enumerable: true, get: function () { return dialout_shared_2.STATUS_TOKENS; } });
9
+ Object.defineProperty(exports, "compileStatusTemplate", { enumerable: true, get: function () { return dialout_shared_2.compileStatusTemplate; } });
10
10
  // Clipboard tools, most-preferred first. ONE chain: pbcopy must be tried before
11
11
  // the Linux tools, because xclip and xsel are installable on macOS via Homebrew
12
12
  // and an independent Linux branch would fire there too, binding copy through a
@@ -102,8 +102,8 @@ function renderTmuxConf(prefs) {
102
102
  `set-option -g status ${prefs.status.enabled ? 'on' : 'off'}`,
103
103
  `set-option -g status-position ${prefs.status.position}`,
104
104
  `set-option -g status-style "bg=${prefs.status.bg},fg=${prefs.status.fg}"`,
105
- `set-option -g status-left "${(0, shared_1.compileStatusTemplate)(prefs.status.left)}"`,
106
- `set-option -g status-right "${(0, shared_1.compileStatusTemplate)(prefs.status.right)}"`,
105
+ `set-option -g status-left "${(0, dialout_shared_1.compileStatusTemplate)(prefs.status.left)}"`,
106
+ `set-option -g status-right "${(0, dialout_shared_1.compileStatusTemplate)(prefs.status.right)}"`,
107
107
  '',
108
108
  '# Clipboard: one chain, first available tool wins.',
109
109
  ...clipboardChain(),
@@ -1 +1 @@
1
- {"version":3,"file":"tmux-config.js","sourceRoot":"","sources":["../src/tmux-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmux-config.js","sourceRoot":"","sources":["../src/tmux-config.ts"],"names":[],"mappings":"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"}
package/dist/websocket.js CHANGED
@@ -328,9 +328,9 @@ async function handleMessage(msg, config) {
328
328
  const name = String(msg.tmuxName || '');
329
329
  if (!name)
330
330
  break;
331
- (0, ai_sessions_1.openAiSession)(name, (events, status) => {
331
+ (0, ai_sessions_1.openAiSession)(name, (events, status, usage, meta) => {
332
332
  if (ws && ws.readyState === ws_1.default.OPEN) {
333
- ws.send(JSON.stringify({ type: 'ai_session_events', tmuxName: name, events, status }));
333
+ ws.send(JSON.stringify({ type: 'ai_session_events', tmuxName: name, events, status, usage, ...meta }));
334
334
  }
335
335
  });
336
336
  break;
@@ -361,6 +361,14 @@ async function handleMessage(msg, config) {
361
361
  void pollAiSessions();
362
362
  break;
363
363
  }
364
+ case 'ai_session_history': {
365
+ // "Load earlier": the answer goes out on the session's event stream.
366
+ const name = String(msg.tmuxName || '');
367
+ const before = Number(msg.before);
368
+ if (name && Number.isFinite(before))
369
+ (0, ai_sessions_1.sendAiHistory)(name, before);
370
+ break;
371
+ }
364
372
  case 'ai_session_close': {
365
373
  (0, ai_sessions_1.closeAiSession)(String(msg.tmuxName || ''));
366
374
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- # @dialout/shared
1
+ # @indianic/dialout-shared
2
2
 
3
3
  Domain types and pure functions used by the web app, the agent, and (next)
4
4
  the React Native app. Nothing in here imports `fs`, `next/…`, or
@@ -12,5 +12,5 @@ the previous copies had already drifted (`origin` / `permissionMode` missing
12
12
  from the web `AiSessionSummary`).
13
13
 
14
14
  ```ts
15
- import { groupEvents, shouldNotifyAi, PERMISSION_MODES } from '@dialout/shared';
15
+ import { groupEvents, shouldNotifyAi, PERMISSION_MODES } from '@indianic/dialout-shared';
16
16
  ```
@@ -30,4 +30,5 @@ export type ChatBlock = {
30
30
  status: string;
31
31
  };
32
32
  export declare function groupEvents(events: AiEvent[]): ChatBlock[];
33
+ export declare function toolGroupStartsOpen(items: ToolItem[]): boolean;
33
34
  //# sourceMappingURL=chat-blocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-blocks.d.ts","sourceRoot":"","sources":["../src/chat-blocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAM,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAK,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAI,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAIvD,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CA0D1D"}
1
+ {"version":3,"file":"chat-blocks.d.ts","sourceRoot":"","sources":["../src/chat-blocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAM,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAK,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAI,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAIvD,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CA0D1D;AAKD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAE9D"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.groupEvents = groupEvents;
4
+ exports.toolGroupStartsOpen = toolGroupStartsOpen;
4
5
  // Grouping only ever merges ADJACENT events, so the worst case for an adapter
5
6
  // that interleaves is two blocks instead of one — never a reordering.
6
7
  function groupEvents(events) {
@@ -59,3 +60,9 @@ function groupEvents(events) {
59
60
  });
60
61
  return blocks;
61
62
  }
63
+ // A failure is never hidden behind a toggle: an error the reader has to
64
+ // expand to see is an error they will miss. Everything else starts closed —
65
+ // most readers want the message, not the trace.
66
+ function toolGroupStartsOpen(items) {
67
+ return items.some((t) => t.ok === false);
68
+ }
@@ -0,0 +1,17 @@
1
+ import type { AiEvent } from './events';
2
+ export interface TranscriptState {
3
+ events: AiEvent[];
4
+ /** Absolute index of events[0], or null when the agent does not number them. */
5
+ firstSeq: number | null;
6
+ /** Older events still available on the agent before firstSeq. */
7
+ earlier: number;
8
+ }
9
+ export interface EventsMeta {
10
+ replay?: boolean;
11
+ history?: boolean;
12
+ firstSeq?: number;
13
+ earlier?: number;
14
+ }
15
+ export declare const EMPTY_TRANSCRIPT: TranscriptState;
16
+ export declare function mergeEvents(state: TranscriptState, incoming: AiEvent[], meta?: EventsMeta): TranscriptState;
17
+ //# sourceMappingURL=event-merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-merge.d.ts","sourceRoot":"","sources":["../src/event-merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAiBxC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,gBAAgB,EAAE,eAA4D,CAAC;AAE5F,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,GAAE,UAAe,GAAG,eAAe,CA0B/G"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EMPTY_TRANSCRIPT = void 0;
4
+ exports.mergeEvents = mergeEvents;
5
+ exports.EMPTY_TRANSCRIPT = { events: [], firstSeq: null, earlier: 0 };
6
+ function mergeEvents(state, incoming, meta = {}) {
7
+ const seq = typeof meta.firstSeq === 'number' ? meta.firstSeq : null;
8
+ if (meta.replay) {
9
+ return { events: incoming, firstSeq: seq, earlier: meta.earlier ?? 0 };
10
+ }
11
+ if (meta.history) {
12
+ if (seq === null || state.firstSeq === null)
13
+ return state;
14
+ const keep = Math.min(incoming.length, state.firstSeq - seq);
15
+ if (keep <= 0)
16
+ return state; // already held
17
+ return {
18
+ events: [...incoming.slice(0, keep), ...state.events],
19
+ firstSeq: seq,
20
+ earlier: meta.earlier ?? 0,
21
+ };
22
+ }
23
+ if (!incoming.length)
24
+ return state;
25
+ if (seq !== null && state.firstSeq !== null) {
26
+ const next = state.firstSeq + state.events.length;
27
+ const overlap = next - seq;
28
+ if (overlap >= incoming.length)
29
+ return state;
30
+ if (overlap > 0)
31
+ return { ...state, events: [...state.events, ...incoming.slice(overlap)] };
32
+ }
33
+ return { ...state, events: [...state.events, ...incoming] };
34
+ }
@@ -4,11 +4,12 @@ export { PREVIEW_LIMIT, preview } from './events';
4
4
  export type { PermissionMode } from './permission';
5
5
  export { PERMISSION_MODES, isPermissionMode } from './permission';
6
6
  export type { AiSessionSummary } from './session';
7
+ export type { AiUsage, AiRateWindow } from './usage';
7
8
  export { REPLAY_LIMIT } from './session';
8
9
  export type { CommandSource, AiCommand, McpServerInfo, AiCapabilities } from './capabilities';
9
10
  export { NOTIFY_COOLDOWN_MS, shouldNotifyAi } from './notify';
10
11
  export type { ToolItem, ChatBlock } from './chat-blocks';
11
- export { groupEvents } from './chat-blocks';
12
+ export { groupEvents, toolGroupStartsOpen } from './chat-blocks';
12
13
  export { PIN_THRESHOLD_PX, shouldFollow } from './scroll-pin';
13
14
  export type { ToolClass, ToolAppearance } from './tool-appearance';
14
15
  export { toolClass, toolAppearance } from './tool-appearance';
@@ -20,4 +21,6 @@ export type { TerminalNameVars } from './terminal-name';
20
21
  export { DEFAULT_TERMINAL_TEMPLATE, TERMINAL_NAME_TOKENS, factsFromSession, renderTerminalName } from './terminal-name';
21
22
  export type { TmuxPrefs, TmuxStatusPrefs } from './tmux-prefs';
22
23
  export { DEFAULT_TMUX_PREFS, STATUS_TOKENS, MAX_STATUS_TEMPLATE, compileStatusTemplate, isValidStatusTemplate, isValidTmuxColor, resolveTmuxPrefs, } from './tmux-prefs';
24
+ export type { TranscriptState, EventsMeta } from './event-merge';
25
+ export { EMPTY_TRANSCRIPT, mergeEvents } from './event-merge';
23
26
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAElD,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAElE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9F,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE9D,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAErG,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAExH,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAAE,aAAa,EAAE,mBAAmB,EACtD,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,GACjF,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveTmuxPrefs = exports.isValidTmuxColor = exports.isValidStatusTemplate = exports.compileStatusTemplate = exports.MAX_STATUS_TEMPLATE = exports.STATUS_TOKENS = exports.DEFAULT_TMUX_PREFS = exports.renderTerminalName = exports.factsFromSession = exports.TERMINAL_NAME_TOKENS = exports.DEFAULT_TERMINAL_TEMPLATE = exports.setFunctionKeysVisible = exports.getFunctionKeysVisible = exports.FUNCTION_KEYS_PREF = exports.shouldSubmitOnEnter = exports.COARSE_POINTER_QUERY = exports.rankCommands = exports.commandQuery = exports.toolAppearance = exports.toolClass = exports.shouldFollow = exports.PIN_THRESHOLD_PX = exports.groupEvents = exports.shouldNotifyAi = exports.NOTIFY_COOLDOWN_MS = exports.REPLAY_LIMIT = exports.isPermissionMode = exports.PERMISSION_MODES = exports.preview = exports.PREVIEW_LIMIT = void 0;
3
+ exports.mergeEvents = exports.EMPTY_TRANSCRIPT = exports.resolveTmuxPrefs = exports.isValidTmuxColor = exports.isValidStatusTemplate = exports.compileStatusTemplate = exports.MAX_STATUS_TEMPLATE = exports.STATUS_TOKENS = exports.DEFAULT_TMUX_PREFS = exports.renderTerminalName = exports.factsFromSession = exports.TERMINAL_NAME_TOKENS = exports.DEFAULT_TERMINAL_TEMPLATE = exports.setFunctionKeysVisible = exports.getFunctionKeysVisible = exports.FUNCTION_KEYS_PREF = exports.shouldSubmitOnEnter = exports.COARSE_POINTER_QUERY = exports.rankCommands = exports.commandQuery = exports.toolAppearance = exports.toolClass = exports.shouldFollow = exports.PIN_THRESHOLD_PX = exports.toolGroupStartsOpen = exports.groupEvents = exports.shouldNotifyAi = exports.NOTIFY_COOLDOWN_MS = exports.REPLAY_LIMIT = exports.isPermissionMode = exports.PERMISSION_MODES = exports.preview = exports.PREVIEW_LIMIT = void 0;
4
4
  var events_1 = require("./events");
5
5
  Object.defineProperty(exports, "PREVIEW_LIMIT", { enumerable: true, get: function () { return events_1.PREVIEW_LIMIT; } });
6
6
  Object.defineProperty(exports, "preview", { enumerable: true, get: function () { return events_1.preview; } });
@@ -14,6 +14,7 @@ Object.defineProperty(exports, "NOTIFY_COOLDOWN_MS", { enumerable: true, get: fu
14
14
  Object.defineProperty(exports, "shouldNotifyAi", { enumerable: true, get: function () { return notify_1.shouldNotifyAi; } });
15
15
  var chat_blocks_1 = require("./chat-blocks");
16
16
  Object.defineProperty(exports, "groupEvents", { enumerable: true, get: function () { return chat_blocks_1.groupEvents; } });
17
+ Object.defineProperty(exports, "toolGroupStartsOpen", { enumerable: true, get: function () { return chat_blocks_1.toolGroupStartsOpen; } });
17
18
  var scroll_pin_1 = require("./scroll-pin");
18
19
  Object.defineProperty(exports, "PIN_THRESHOLD_PX", { enumerable: true, get: function () { return scroll_pin_1.PIN_THRESHOLD_PX; } });
19
20
  Object.defineProperty(exports, "shouldFollow", { enumerable: true, get: function () { return scroll_pin_1.shouldFollow; } });
@@ -43,3 +44,6 @@ Object.defineProperty(exports, "compileStatusTemplate", { enumerable: true, get:
43
44
  Object.defineProperty(exports, "isValidStatusTemplate", { enumerable: true, get: function () { return tmux_prefs_1.isValidStatusTemplate; } });
44
45
  Object.defineProperty(exports, "isValidTmuxColor", { enumerable: true, get: function () { return tmux_prefs_1.isValidTmuxColor; } });
45
46
  Object.defineProperty(exports, "resolveTmuxPrefs", { enumerable: true, get: function () { return tmux_prefs_1.resolveTmuxPrefs; } });
47
+ var event_merge_1 = require("./event-merge");
48
+ Object.defineProperty(exports, "EMPTY_TRANSCRIPT", { enumerable: true, get: function () { return event_merge_1.EMPTY_TRANSCRIPT; } });
49
+ Object.defineProperty(exports, "mergeEvents", { enumerable: true, get: function () { return event_merge_1.mergeEvents; } });
@@ -0,0 +1,30 @@
1
+ export interface AiRateWindow {
2
+ /** 0–100, as the vendor reports it. */
3
+ usedPercent: number;
4
+ /** Length of the window in minutes: 300 is the 5-hour session, 10080 the week. */
5
+ windowMinutes: number;
6
+ /** Unix ms when the window resets, or 0 when not reported. */
7
+ resetsAt: number;
8
+ }
9
+ export interface AiUsage {
10
+ model: string;
11
+ /** Reasoning effort, when the vendor records it (codex turn_context). */
12
+ effort?: string;
13
+ /** Tokens in the context on the most recent turn. */
14
+ contextTokens: number;
15
+ /** The model's context window, ONLY when the transcript states it. */
16
+ contextWindow?: number;
17
+ /** Output tokens across the whole session. */
18
+ outputTokens: number;
19
+ /** Model responses counted so far. */
20
+ turns: number;
21
+ /** Plan limits, when the vendor writes them into the transcript (codex). */
22
+ rateLimits?: {
23
+ primary?: AiRateWindow;
24
+ secondary?: AiRateWindow;
25
+ plan?: string;
26
+ };
27
+ /** Timestamp of the record the figures came from. */
28
+ at?: string;
29
+ }
30
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,YAAY,CAAC;QACvB,SAAS,CAAC,EAAE,YAAY,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,qDAAqD;IACrD,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ // Token and plan-limit figures for one AI session, read from the same JSONL
3
+ // transcript the chat is built from. Nothing here is estimated by the agent:
4
+ // a field is present only when the vendor's transcript actually recorded it.
5
+ //
6
+ // Deliberately NOT an AiEvent. Usage rides beside the event stream on each
7
+ // ai_session_events message, because as an event it would (a) count against
8
+ // the replay window and push real messages out of it, and (b) become the
9
+ // "last event" that deriveStatus inspects, so a settled assistant reply would
10
+ // never read as waiting_input.
11
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "@dialout/shared",
3
- "version": "1.0.0",
2
+ "name": "@indianic/dialout-shared",
3
+ "version": "1.2.0",
4
4
  "description": "Types and constants shared by the Dialout server, agent and mobile app.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org"
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect } from 'vitest';
2
- import { groupEvents } from './chat-blocks';
2
+ import { groupEvents, toolGroupStartsOpen } from './chat-blocks';
3
3
  import type { AiEvent } from './events';
4
4
 
5
5
  const call = (id: string, name: string): AiEvent =>
@@ -63,3 +63,17 @@ describe('groupEvents', () => {
63
63
  expect(new Set(keys).size).toBe(keys.length);
64
64
  });
65
65
  });
66
+
67
+ describe('toolGroupStartsOpen', () => {
68
+ const item = (ok: boolean | null) =>
69
+ ({ id: 'x', name: 'Bash', summary: '', ok, resultPreview: null, resultLines: null });
70
+
71
+ it('is closed for successes and calls still running', () => {
72
+ expect(toolGroupStartsOpen([item(true), item(null)])).toBe(false);
73
+ expect(toolGroupStartsOpen([])).toBe(false);
74
+ });
75
+
76
+ it('is open as soon as one item failed', () => {
77
+ expect(toolGroupStartsOpen([item(true), item(false)])).toBe(true);
78
+ });
79
+ });
@@ -77,3 +77,10 @@ export function groupEvents(events: AiEvent[]): ChatBlock[] {
77
77
 
78
78
  return blocks;
79
79
  }
80
+
81
+ // A failure is never hidden behind a toggle: an error the reader has to
82
+ // expand to see is an error they will miss. Everything else starts closed —
83
+ // most readers want the message, not the trace.
84
+ export function toolGroupStartsOpen(items: ToolItem[]): boolean {
85
+ return items.some((t) => t.ok === false);
86
+ }
@@ -0,0 +1,46 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import type { AiEvent } from './events';
3
+ import { EMPTY_TRANSCRIPT, mergeEvents } from './event-merge';
4
+
5
+ const ev = (n: number): AiEvent => ({ kind: 'message', role: 'user', text: `m${n}`, id: `m${n}` });
6
+ const range = (a: number, b: number) => Array.from({ length: b - a }, (_, i) => ev(a + i));
7
+ const texts = (s: { events: AiEvent[] }) => s.events.map((e) => (e as any).text);
8
+
9
+ describe('mergeEvents', () => {
10
+ it('replay replaces, so a reconnect never duplicates history', () => {
11
+ let s = mergeEvents(EMPTY_TRANSCRIPT, range(250, 450), { replay: true, firstSeq: 250, earlier: 250 });
12
+ s = mergeEvents(s, range(250, 450), { replay: true, firstSeq: 250, earlier: 250 });
13
+ expect(s.events).toHaveLength(200);
14
+ expect(s).toMatchObject({ firstSeq: 250, earlier: 250 });
15
+ });
16
+
17
+ it('history prepends only what is not held', () => {
18
+ let s = mergeEvents(EMPTY_TRANSCRIPT, range(250, 450), { replay: true, firstSeq: 250, earlier: 250 });
19
+ s = mergeEvents(s, range(50, 250), { history: true, firstSeq: 50, earlier: 50 });
20
+ expect(texts(s)[0]).toBe('m50');
21
+ expect(s.events).toHaveLength(400);
22
+ // The same page again (double tap, or another device) changes nothing.
23
+ expect(mergeEvents(s, range(50, 250), { history: true, firstSeq: 50, earlier: 50 })).toBe(s);
24
+ // An overlapping page keeps only the older part.
25
+ s = mergeEvents(s, range(0, 100), { history: true, firstSeq: 0, earlier: 0 });
26
+ expect(texts(s).slice(0, 51)).toEqual(range(0, 51).map((e) => (e as any).text));
27
+ expect(s.events).toHaveLength(450);
28
+ expect(s.earlier).toBe(0);
29
+ });
30
+
31
+ it('live appends and trims overlap with the tail', () => {
32
+ let s = mergeEvents(EMPTY_TRANSCRIPT, range(0, 3), { replay: true, firstSeq: 0, earlier: 0 });
33
+ s = mergeEvents(s, range(2, 5), { firstSeq: 2 });
34
+ expect(texts(s)).toEqual(['m0', 'm1', 'm2', 'm3', 'm4']);
35
+ expect(mergeEvents(s, range(3, 5), { firstSeq: 3 })).toBe(s);
36
+ });
37
+
38
+ it('an agent without paging is a plain append', () => {
39
+ let s = mergeEvents(EMPTY_TRANSCRIPT, range(0, 2));
40
+ s = mergeEvents(s, range(2, 3));
41
+ expect(texts(s)).toEqual(['m0', 'm1', 'm2']);
42
+ expect(s.firstSeq).toBeNull();
43
+ // A history page cannot be placed without numbering, so it is ignored.
44
+ expect(mergeEvents(s, range(0, 1), { history: true, firstSeq: 0 })).toBe(s);
45
+ });
46
+ });
@@ -0,0 +1,61 @@
1
+ import type { AiEvent } from './events';
2
+
3
+ // How a client folds ai_session_events messages into its transcript.
4
+ //
5
+ // The agent numbers every event with an absolute index (firstSeq is the index
6
+ // of the first event in a message), so three kinds of message can be merged
7
+ // without duplicates or gaps:
8
+ //
9
+ // replay first message after an open — the newest page. REPLACES the list,
10
+ // which is also what makes a reconnect safe: every open replays.
11
+ // history a "load earlier" page. PREPENDS, trimmed to what is not already
12
+ // held (two taps, or another device asking, can overlap).
13
+ // live everything else. APPENDS, trimmed of any overlap with the tail.
14
+ //
15
+ // An agent older than paging sends none of the fields; its messages are plain
16
+ // appends, which is exactly how clients behaved before.
17
+
18
+ export interface TranscriptState {
19
+ events: AiEvent[];
20
+ /** Absolute index of events[0], or null when the agent does not number them. */
21
+ firstSeq: number | null;
22
+ /** Older events still available on the agent before firstSeq. */
23
+ earlier: number;
24
+ }
25
+
26
+ export interface EventsMeta {
27
+ replay?: boolean;
28
+ history?: boolean;
29
+ firstSeq?: number;
30
+ earlier?: number;
31
+ }
32
+
33
+ export const EMPTY_TRANSCRIPT: TranscriptState = { events: [], firstSeq: null, earlier: 0 };
34
+
35
+ export function mergeEvents(state: TranscriptState, incoming: AiEvent[], meta: EventsMeta = {}): TranscriptState {
36
+ const seq = typeof meta.firstSeq === 'number' ? meta.firstSeq : null;
37
+
38
+ if (meta.replay) {
39
+ return { events: incoming, firstSeq: seq, earlier: meta.earlier ?? 0 };
40
+ }
41
+
42
+ if (meta.history) {
43
+ if (seq === null || state.firstSeq === null) return state;
44
+ const keep = Math.min(incoming.length, state.firstSeq - seq);
45
+ if (keep <= 0) return state; // already held
46
+ return {
47
+ events: [...incoming.slice(0, keep), ...state.events],
48
+ firstSeq: seq,
49
+ earlier: meta.earlier ?? 0,
50
+ };
51
+ }
52
+
53
+ if (!incoming.length) return state;
54
+ if (seq !== null && state.firstSeq !== null) {
55
+ const next = state.firstSeq + state.events.length;
56
+ const overlap = next - seq;
57
+ if (overlap >= incoming.length) return state;
58
+ if (overlap > 0) return { ...state, events: [...state.events, ...incoming.slice(overlap)] };
59
+ }
60
+ return { ...state, events: [...state.events, ...incoming] };
61
+ }
@@ -7,6 +7,7 @@ export type { PermissionMode } from './permission';
7
7
  export { PERMISSION_MODES, isPermissionMode } from './permission';
8
8
 
9
9
  export type { AiSessionSummary } from './session';
10
+ export type { AiUsage, AiRateWindow } from './usage';
10
11
  export { REPLAY_LIMIT } from './session';
11
12
 
12
13
  export type { CommandSource, AiCommand, McpServerInfo, AiCapabilities } from './capabilities';
@@ -14,7 +15,7 @@ export type { CommandSource, AiCommand, McpServerInfo, AiCapabilities } from './
14
15
  export { NOTIFY_COOLDOWN_MS, shouldNotifyAi } from './notify';
15
16
 
16
17
  export type { ToolItem, ChatBlock } from './chat-blocks';
17
- export { groupEvents } from './chat-blocks';
18
+ export { groupEvents, toolGroupStartsOpen } from './chat-blocks';
18
19
 
19
20
  export { PIN_THRESHOLD_PX, shouldFollow } from './scroll-pin';
20
21
 
@@ -36,3 +37,6 @@ export {
36
37
  DEFAULT_TMUX_PREFS, STATUS_TOKENS, MAX_STATUS_TEMPLATE,
37
38
  compileStatusTemplate, isValidStatusTemplate, isValidTmuxColor, resolveTmuxPrefs,
38
39
  } from './tmux-prefs';
40
+
41
+ export type { TranscriptState, EventsMeta } from './event-merge';
42
+ export { EMPTY_TRANSCRIPT, mergeEvents } from './event-merge';
@@ -0,0 +1,40 @@
1
+ // Token and plan-limit figures for one AI session, read from the same JSONL
2
+ // transcript the chat is built from. Nothing here is estimated by the agent:
3
+ // a field is present only when the vendor's transcript actually recorded it.
4
+ //
5
+ // Deliberately NOT an AiEvent. Usage rides beside the event stream on each
6
+ // ai_session_events message, because as an event it would (a) count against
7
+ // the replay window and push real messages out of it, and (b) become the
8
+ // "last event" that deriveStatus inspects, so a settled assistant reply would
9
+ // never read as waiting_input.
10
+
11
+ export interface AiRateWindow {
12
+ /** 0–100, as the vendor reports it. */
13
+ usedPercent: number;
14
+ /** Length of the window in minutes: 300 is the 5-hour session, 10080 the week. */
15
+ windowMinutes: number;
16
+ /** Unix ms when the window resets, or 0 when not reported. */
17
+ resetsAt: number;
18
+ }
19
+
20
+ export interface AiUsage {
21
+ model: string;
22
+ /** Reasoning effort, when the vendor records it (codex turn_context). */
23
+ effort?: string;
24
+ /** Tokens in the context on the most recent turn. */
25
+ contextTokens: number;
26
+ /** The model's context window, ONLY when the transcript states it. */
27
+ contextWindow?: number;
28
+ /** Output tokens across the whole session. */
29
+ outputTokens: number;
30
+ /** Model responses counted so far. */
31
+ turns: number;
32
+ /** Plan limits, when the vendor writes them into the transcript (codex). */
33
+ rateLimits?: {
34
+ primary?: AiRateWindow;
35
+ secondary?: AiRateWindow;
36
+ plan?: string;
37
+ };
38
+ /** Timestamp of the record the figures came from. */
39
+ at?: string;
40
+ }