zerg-ztc 0.1.3 → 0.1.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 (147) hide show
  1. package/dist/App.d.ts.map +1 -1
  2. package/dist/App.js +183 -19
  3. package/dist/App.js.map +1 -1
  4. package/dist/agent/agent.d.ts.map +1 -1
  5. package/dist/agent/agent.js +3 -1
  6. package/dist/agent/agent.js.map +1 -1
  7. package/dist/agent/commands/config.d.ts.map +1 -1
  8. package/dist/agent/commands/config.js +68 -2
  9. package/dist/agent/commands/config.js.map +1 -1
  10. package/dist/agent/commands/index.d.ts.map +1 -1
  11. package/dist/agent/commands/index.js +4 -1
  12. package/dist/agent/commands/index.js.map +1 -1
  13. package/dist/agent/commands/input_mode.d.ts +3 -0
  14. package/dist/agent/commands/input_mode.d.ts.map +1 -0
  15. package/dist/agent/commands/input_mode.js +21 -0
  16. package/dist/agent/commands/input_mode.js.map +1 -0
  17. package/dist/agent/commands/keybindings.d.ts +3 -0
  18. package/dist/agent/commands/keybindings.d.ts.map +1 -0
  19. package/dist/agent/commands/keybindings.js +38 -0
  20. package/dist/agent/commands/keybindings.js.map +1 -0
  21. package/dist/agent/commands/types.d.ts +2 -0
  22. package/dist/agent/commands/types.d.ts.map +1 -1
  23. package/dist/agent/commands/update.d.ts +3 -0
  24. package/dist/agent/commands/update.d.ts.map +1 -0
  25. package/dist/agent/commands/update.js +33 -0
  26. package/dist/agent/commands/update.js.map +1 -0
  27. package/dist/cli.js +68 -16
  28. package/dist/cli.js.map +1 -1
  29. package/dist/components/ActivityLine.d.ts +11 -0
  30. package/dist/components/ActivityLine.d.ts.map +1 -0
  31. package/dist/components/ActivityLine.js +9 -0
  32. package/dist/components/ActivityLine.js.map +1 -0
  33. package/dist/components/FullScreen.d.ts +1 -0
  34. package/dist/components/FullScreen.d.ts.map +1 -1
  35. package/dist/components/FullScreen.js +30 -30
  36. package/dist/components/FullScreen.js.map +1 -1
  37. package/dist/components/InputArea.d.ts.map +1 -1
  38. package/dist/components/InputArea.js +476 -19
  39. package/dist/components/InputArea.js.map +1 -1
  40. package/dist/components/MessageList.d.ts +2 -1
  41. package/dist/components/MessageList.d.ts.map +1 -1
  42. package/dist/components/MessageList.js +41 -2
  43. package/dist/components/MessageList.js.map +1 -1
  44. package/dist/components/SingleMessage.d.ts +9 -0
  45. package/dist/components/SingleMessage.d.ts.map +1 -0
  46. package/dist/components/SingleMessage.js +27 -0
  47. package/dist/components/SingleMessage.js.map +1 -0
  48. package/dist/components/StatusBar.d.ts +2 -0
  49. package/dist/components/StatusBar.d.ts.map +1 -1
  50. package/dist/components/StatusBar.js +3 -1
  51. package/dist/components/StatusBar.js.map +1 -1
  52. package/dist/components/index.d.ts +2 -0
  53. package/dist/components/index.d.ts.map +1 -1
  54. package/dist/components/index.js +2 -0
  55. package/dist/components/index.js.map +1 -1
  56. package/dist/config/types.d.ts +1 -0
  57. package/dist/config/types.d.ts.map +1 -1
  58. package/dist/config.d.ts.map +1 -1
  59. package/dist/config.js +8 -0
  60. package/dist/config.js.map +1 -1
  61. package/dist/types.d.ts +1 -0
  62. package/dist/types.d.ts.map +1 -1
  63. package/dist/ui/core/input_segments.d.ts +1 -0
  64. package/dist/ui/core/input_segments.d.ts.map +1 -1
  65. package/dist/ui/core/input_segments.js +46 -14
  66. package/dist/ui/core/input_segments.js.map +1 -1
  67. package/dist/ui/core/types.d.ts +1 -0
  68. package/dist/ui/core/types.d.ts.map +1 -1
  69. package/dist/ui/ink/render.d.ts +3 -1
  70. package/dist/ui/ink/render.d.ts.map +1 -1
  71. package/dist/ui/ink/render.js +7 -5
  72. package/dist/ui/ink/render.js.map +1 -1
  73. package/dist/ui/views/activity_line.d.ts +11 -0
  74. package/dist/ui/views/activity_line.d.ts.map +1 -0
  75. package/dist/ui/views/activity_line.js +20 -0
  76. package/dist/ui/views/activity_line.js.map +1 -0
  77. package/dist/ui/views/app.d.ts +5 -1
  78. package/dist/ui/views/app.d.ts.map +1 -1
  79. package/dist/ui/views/app.js +18 -14
  80. package/dist/ui/views/app.js.map +1 -1
  81. package/dist/ui/views/header.d.ts.map +1 -1
  82. package/dist/ui/views/header.js +7 -5
  83. package/dist/ui/views/header.js.map +1 -1
  84. package/dist/ui/views/input_area.d.ts.map +1 -1
  85. package/dist/ui/views/input_area.js +25 -12
  86. package/dist/ui/views/input_area.js.map +1 -1
  87. package/dist/ui/views/message_list.d.ts +3 -2
  88. package/dist/ui/views/message_list.d.ts.map +1 -1
  89. package/dist/ui/views/message_list.js +33 -19
  90. package/dist/ui/views/message_list.js.map +1 -1
  91. package/dist/ui/views/status_bar.d.ts +3 -1
  92. package/dist/ui/views/status_bar.d.ts.map +1 -1
  93. package/dist/ui/views/status_bar.js +8 -2
  94. package/dist/ui/views/status_bar.js.map +1 -1
  95. package/dist/utils/spinner_frames.d.ts +2 -0
  96. package/dist/utils/spinner_frames.d.ts.map +1 -0
  97. package/dist/utils/spinner_frames.js +2 -0
  98. package/dist/utils/spinner_frames.js.map +1 -0
  99. package/dist/utils/spinner_verbs.d.ts +4 -0
  100. package/dist/utils/spinner_verbs.d.ts.map +1 -0
  101. package/dist/utils/spinner_verbs.js +22 -0
  102. package/dist/utils/spinner_verbs.js.map +1 -0
  103. package/dist/utils/tool_trace.d.ts.map +1 -1
  104. package/dist/utils/tool_trace.js +12 -2
  105. package/dist/utils/tool_trace.js.map +1 -1
  106. package/dist/utils/update.d.ts +9 -0
  107. package/dist/utils/update.d.ts.map +1 -0
  108. package/dist/utils/update.js +37 -0
  109. package/dist/utils/update.js.map +1 -0
  110. package/dist/utils/version.d.ts +2 -0
  111. package/dist/utils/version.d.ts.map +1 -0
  112. package/dist/utils/version.js +16 -0
  113. package/dist/utils/version.js.map +1 -0
  114. package/package.json +1 -1
  115. package/src/App.tsx +226 -32
  116. package/src/agent/agent.ts +3 -1
  117. package/src/agent/commands/config.ts +76 -2
  118. package/src/agent/commands/index.ts +6 -0
  119. package/src/agent/commands/input_mode.ts +22 -0
  120. package/src/agent/commands/keybindings.ts +40 -0
  121. package/src/agent/commands/types.ts +2 -0
  122. package/src/agent/commands/update.ts +32 -0
  123. package/src/cli.tsx +77 -15
  124. package/src/components/ActivityLine.tsx +23 -0
  125. package/src/components/FullScreen.tsx +41 -35
  126. package/src/components/InputArea.tsx +489 -19
  127. package/src/components/MessageList.tsx +52 -6
  128. package/src/components/SingleMessage.tsx +59 -0
  129. package/src/components/StatusBar.tsx +6 -0
  130. package/src/components/index.tsx +3 -1
  131. package/src/config/types.ts +1 -0
  132. package/src/config.ts +8 -0
  133. package/src/types.ts +1 -0
  134. package/src/ui/core/input_segments.ts +49 -14
  135. package/src/ui/core/types.ts +1 -0
  136. package/src/ui/ink/render.tsx +16 -5
  137. package/src/ui/views/activity_line.ts +33 -0
  138. package/src/ui/views/app.ts +25 -13
  139. package/src/ui/views/header.ts +7 -5
  140. package/src/ui/views/input_area.ts +28 -17
  141. package/src/ui/views/message_list.ts +36 -20
  142. package/src/ui/views/status_bar.ts +11 -1
  143. package/src/utils/spinner_frames.ts +1 -0
  144. package/src/utils/spinner_verbs.ts +23 -0
  145. package/src/utils/tool_trace.ts +12 -2
  146. package/src/utils/update.ts +44 -0
  147. package/src/utils/version.ts +15 -0
@@ -1,7 +1,8 @@
1
+ import { DEFAULT_SPINNER_VERBS, formatSpinnerVerbs, parseSpinnerVerbs } from '../../utils/spinner_verbs.js';
1
2
  export const configCommand = {
2
3
  name: 'config',
3
4
  description: 'Manage configuration',
4
- usage: '<show|key|provider|endpoint|model> [value]',
5
+ usage: '<show|key|provider|endpoint|model|spinner> [value]',
5
6
  handler: async (args, ctx) => {
6
7
  const [subCmd, ...rest] = args;
7
8
  const value = rest.join(' ');
@@ -21,6 +22,7 @@ export const configCommand = {
21
22
  ` Max Tokens: ${config.maxTokens}`,
22
23
  ` Zerg Endpoint: ${config.zergEndpoint || '(not set)'}`,
23
24
  ` Emulation: ${ctx.config.getEmulationId() || '(none)'}`,
25
+ ` Spinner verbs: ${formatSpinnerVerbs(config.spinnerVerbs || DEFAULT_SPINNER_VERBS)}`,
24
26
  '',
25
27
  `Config storage: ${ctx.config.locationLabel || '~/.ztc/config.json'}`
26
28
  ].join('\n')
@@ -109,10 +111,74 @@ export const configCommand = {
109
111
  content: `✓ Model updated: ${value}`
110
112
  });
111
113
  break;
114
+ case 'spinner': {
115
+ const [action, ...restParts] = rest;
116
+ const actionValue = restParts.join(' ');
117
+ const current = ctx.config.get().spinnerVerbs || DEFAULT_SPINNER_VERBS;
118
+ if (!action || action === 'show') {
119
+ ctx.addMessage({
120
+ role: 'system',
121
+ content: `Spinner verbs:\n ${formatSpinnerVerbs(current)}\n\nUsage:\n /config spinner show\n /config spinner set <verb1, verb2, ...>\n /config spinner add <verb>\n /config spinner remove <verb>\n /config spinner reset\n /config spinner off`
122
+ });
123
+ return;
124
+ }
125
+ if (action === 'reset') {
126
+ ctx.config.set('spinnerVerbs', DEFAULT_SPINNER_VERBS);
127
+ ctx.config.save();
128
+ ctx.addMessage({ role: 'system', content: '✓ Spinner verbs reset to defaults.' });
129
+ return;
130
+ }
131
+ if (action === 'off') {
132
+ ctx.config.set('spinnerVerbs', []);
133
+ ctx.config.save();
134
+ ctx.addMessage({ role: 'system', content: '✓ Spinner verbs disabled.' });
135
+ return;
136
+ }
137
+ if (action === 'set') {
138
+ const verbs = parseSpinnerVerbs(actionValue);
139
+ if (verbs.length === 0) {
140
+ ctx.addMessage({ role: 'system', content: 'Usage: /config spinner set <verb1, verb2, ...>' });
141
+ return;
142
+ }
143
+ ctx.config.set('spinnerVerbs', verbs);
144
+ ctx.config.save();
145
+ ctx.addMessage({ role: 'system', content: `✓ Spinner verbs updated: ${formatSpinnerVerbs(verbs)}` });
146
+ return;
147
+ }
148
+ if (action === 'add') {
149
+ const verbs = parseSpinnerVerbs(actionValue);
150
+ if (verbs.length === 0) {
151
+ ctx.addMessage({ role: 'system', content: 'Usage: /config spinner add <verb>' });
152
+ return;
153
+ }
154
+ const next = [...current, ...verbs];
155
+ ctx.config.set('spinnerVerbs', next);
156
+ ctx.config.save();
157
+ ctx.addMessage({ role: 'system', content: `✓ Added spinner verbs: ${formatSpinnerVerbs(verbs)}` });
158
+ return;
159
+ }
160
+ if (action === 'remove') {
161
+ const verbs = parseSpinnerVerbs(actionValue).map(v => v.toLowerCase());
162
+ if (verbs.length === 0) {
163
+ ctx.addMessage({ role: 'system', content: 'Usage: /config spinner remove <verb>' });
164
+ return;
165
+ }
166
+ const next = current.filter(v => !verbs.includes(v.toLowerCase()));
167
+ ctx.config.set('spinnerVerbs', next);
168
+ ctx.config.save();
169
+ ctx.addMessage({ role: 'system', content: `✓ Removed spinner verbs: ${formatSpinnerVerbs(verbs)}` });
170
+ return;
171
+ }
172
+ ctx.addMessage({
173
+ role: 'system',
174
+ content: 'Usage: /config spinner <show|set|add|remove|reset|off> [value]'
175
+ });
176
+ break;
177
+ }
112
178
  default:
113
179
  ctx.addMessage({
114
180
  role: 'system',
115
- content: 'Usage: /config <show|key|provider|endpoint|model> [value]\n\nExamples:\n /config show Show current config\n /config key sk-ant-... Set API key (current provider)\n /config key openai sk-... Set API key for provider\n /config provider openai Set provider\n /config endpoint https://api.example.com/v1 Set OpenAI-compatible base URL\n /config model claude-opus-4-20250514 Set model'
181
+ content: 'Usage: /config <show|key|provider|endpoint|model|spinner> [value]\n\nExamples:\n /config show Show current config\n /config key sk-ant-... Set API key (current provider)\n /config key openai sk-... Set API key for provider\n /config provider openai Set provider\n /config endpoint https://api.example.com/v1 Set OpenAI-compatible base URL\n /config model claude-opus-4-20250514 Set model\n /config spinner set Reticulating splines, Organizing thoughts'
116
182
  });
117
183
  }
118
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/agent/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/agent/commands/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAE5G,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,sBAAsB;IACnC,KAAK,EAAE,oDAAoD;IAC3D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE7B,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM;gBACT,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACvB,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC7B,CAAC;gBACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAChC,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE;wBACP,wBAAwB;wBACxB,cAAc,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE;wBAC5C,eAAe,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;wBACzC,YAAY,MAAM,CAAC,KAAK,EAAE;wBAC1B,iBAAiB,MAAM,CAAC,SAAS,EAAE;wBACnC,oBAAoB,MAAM,CAAC,YAAY,IAAI,WAAW,EAAE;wBACxD,gBAAgB,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,QAAQ,EAAE;wBACzD,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,YAAY,IAAI,qBAAqB,CAAC,EAAE;wBACtF,EAAE;wBACF,mBAAmB,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,oBAAoB,EAAE;qBACtE,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,KAAK;gBACR,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,GAAG,CAAC,UAAU,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,oBAAoB,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,uCAAuC;qBACjG,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxC,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,GAAG,CAAC,UAAU,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,yCAAyC;qBACnD,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,IAAI,QAAQ,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9D,GAAG,CAAC,UAAU,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,yGAAyG;qBACnH,CAAC,CAAC;gBACL,CAAC;gBAED,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,GAAG,CAAC,WAAW,EAAE,CAAC;gBAClB,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,sBAAsB,QAAQ,MAAM,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,gBAAgB,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,oBAAoB,EAAE;iBAC5I,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,UAAU;gBACb,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,GAAG,CAAC,UAAU,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,qBAAqB,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,mFAAmF;qBAC1I,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC9B,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,GAAG,CAAC,WAAW,EAAE,CAAC;gBAClB,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uBAAuB,KAAK,EAAE;iBACxC,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,UAAU;gBACb,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,GAAG,CAAC,UAAU,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,uCAAuC,GAAG,CAAC,MAAM,CAAC,0BAA0B,EAAE,IAAI,WAAW,mCAAmC;qBAC1I,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;gBAC7C,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,GAAG,CAAC,WAAW,EAAE,CAAC;gBAClB,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,yCAAyC,KAAK,EAAE;iBAC1D,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,GAAG,CAAC,UAAU,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,kBAAkB,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,6IAA6I;qBAC/L,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,GAAG,CAAC,WAAW,EAAE,CAAC;gBAClB,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,oBAAoB,KAAK,EAAE;iBACrC,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;gBACpC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,IAAI,qBAAqB,CAAC;gBAEvE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACjC,GAAG,CAAC,UAAU,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,qBAAqB,kBAAkB,CAAC,OAAO,CAAC,8LAA8L;qBACxP,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;oBACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;oBACtD,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClB,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC,CAAC;oBAClF,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;oBACnC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClB,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;oBACzE,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;wBAC9F,OAAO;oBACT,CAAC;oBACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;oBACtC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClB,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,4BAA4B,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrG,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAC;wBACjF,OAAO;oBACT,CAAC;oBACD,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;oBACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBACrC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClB,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnG,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;oBACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;wBACpF,OAAO;oBACT,CAAC;oBACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBACnE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBACrC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClB,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,4BAA4B,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrG,OAAO;gBACT,CAAC;gBAED,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,gEAAgE;iBAC1E,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED;gBACE,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,yhBAAyhB;iBACniB,CAAC,CAAC;QACP,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAwBrC,eAAO,MAAM,QAAQ,WAAc,CAAC;AACpC,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA2BrC,eAAO,MAAM,QAAQ,WAAc,CAAC;AACpC,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -12,8 +12,11 @@ import { modelCommand } from './model.js';
12
12
  import { permissionsCommand } from './permissions.js';
13
13
  import { skillsCommand } from './skills.js';
14
14
  import { retryCommand } from './retry.js';
15
+ import { inputModeCommand } from './input_mode.js';
16
+ import { keybindingsCommand } from './keybindings.js';
17
+ import { updateCommand } from './update.js';
15
18
  const commandList = [];
16
19
  const helpCommand = makeHelpCommand(() => commandList);
17
- commandList.push(helpCommand, configCommand, debugCommand, clearCommand, statusCommand, emulationCommand, shellCommand, cdCommand, clipboardCommand, modelsCommand, modelCommand, permissionsCommand, skillsCommand, retryCommand, exitCommand);
20
+ commandList.push(helpCommand, configCommand, debugCommand, clearCommand, statusCommand, emulationCommand, shellCommand, cdCommand, clipboardCommand, modelsCommand, modelCommand, permissionsCommand, skillsCommand, keybindingsCommand, updateCommand, inputModeCommand, retryCommand, exitCommand);
18
21
  export const commands = commandList;
19
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,MAAM,WAAW,GAAc,EAAE,CAAC;AAElC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;AAEvD,WAAW,CAAC,IAAI,CACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,WAAW,CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,GAAc,EAAE,CAAC;AAElC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;AAEvD,WAAW,CAAC,IAAI,CACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,WAAW,CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from './types.js';
2
+ export declare const inputModeCommand: Command;
3
+ //# sourceMappingURL=input_mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input_mode.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/input_mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,eAAO,MAAM,gBAAgB,EAAE,OAmB9B,CAAC"}
@@ -0,0 +1,21 @@
1
+ export const inputModeCommand = {
2
+ name: 'inputmode',
3
+ description: 'Set input mode while an agent is running',
4
+ usage: '<queue|interrupt>',
5
+ handler: (args, ctx) => {
6
+ const mode = (args[0] || '').toLowerCase();
7
+ if (mode !== 'queue' && mode !== 'interrupt') {
8
+ ctx.addMessage({
9
+ role: 'system',
10
+ content: `Current input mode: ${ctx.getInputMode()}\n\nUsage: /inputmode <queue|interrupt>`
11
+ });
12
+ return;
13
+ }
14
+ ctx.setInputMode(mode);
15
+ ctx.addMessage({
16
+ role: 'system',
17
+ content: `✓ Input mode set: ${mode}`
18
+ });
19
+ }
20
+ };
21
+ //# sourceMappingURL=input_mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input_mode.js","sourceRoot":"","sources":["../../../src/agent/commands/input_mode.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,0CAA0C;IACvD,KAAK,EAAE,mBAAmB;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC7C,GAAG,CAAC,UAAU,CAAC;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB,GAAG,CAAC,YAAY,EAAE,yCAAyC;aAC5F,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvB,GAAG,CAAC,UAAU,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,qBAAqB,IAAI,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from './types.js';
2
+ export declare const keybindingsCommand: Command;
3
+ //# sourceMappingURL=keybindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keybindings.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/keybindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAiCrC,eAAO,MAAM,kBAAkB,EAAE,OAMhC,CAAC"}
@@ -0,0 +1,38 @@
1
+ const lines = [
2
+ 'Keybindings (readline-style):',
3
+ '',
4
+ 'Movement:',
5
+ ' Ctrl+A start of line',
6
+ ' Ctrl+E end of line',
7
+ ' Ctrl+B move left',
8
+ ' Ctrl+F move right',
9
+ ' Alt+B word left',
10
+ ' Alt+F word right',
11
+ '',
12
+ 'Editing:',
13
+ ' Ctrl+U kill to start',
14
+ ' Ctrl+K kill to end',
15
+ ' Ctrl+W kill previous word',
16
+ ' Alt+D kill next word',
17
+ ' Ctrl+D delete forward',
18
+ ' Ctrl+Y yank',
19
+ ' Alt+Y yank-pop',
20
+ ' Ctrl+T transpose chars',
21
+ ' Alt+T transpose words',
22
+ '',
23
+ 'History:',
24
+ ' Ctrl+P previous',
25
+ ' Ctrl+N next',
26
+ ' Up/Down arrows also work',
27
+ '',
28
+ 'Input mode:',
29
+ ' /inputmode queue|interrupt'
30
+ ];
31
+ export const keybindingsCommand = {
32
+ name: 'keybindings',
33
+ description: 'Show keybindings',
34
+ handler: (_args, ctx) => {
35
+ ctx.addMessage({ role: 'system', content: lines.join('\n') });
36
+ }
37
+ };
38
+ //# sourceMappingURL=keybindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keybindings.js","sourceRoot":"","sources":["../../../src/agent/commands/keybindings.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG;IACZ,+BAA+B;IAC/B,EAAE;IACF,WAAW;IACX,yBAAyB;IACzB,uBAAuB;IACvB,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,sBAAsB;IACtB,EAAE;IACF,UAAU;IACV,yBAAyB;IACzB,uBAAuB;IACvB,8BAA8B;IAC9B,0BAA0B;IAC1B,0BAA0B;IAC1B,gBAAgB;IAChB,oBAAoB;IACpB,2BAA2B;IAC3B,2BAA2B;IAC3B,EAAE;IACF,UAAU;IACV,oBAAoB;IACpB,gBAAgB;IAChB,4BAA4B;IAC5B,EAAE;IACF,aAAa;IACb,8BAA8B;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAY;IACzC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,kBAAkB;IAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;CACF,CAAC"}
@@ -60,6 +60,8 @@ export interface CommandContext {
60
60
  clipboard: ClipboardController;
61
61
  models: ModelsController;
62
62
  skills: SkillsController;
63
+ getInputMode: () => 'queue' | 'interrupt';
64
+ setInputMode: (mode: 'queue' | 'interrupt') => void;
63
65
  }
64
66
  export interface Command {
65
67
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from './types.js';
2
+ export declare const updateCommand: Command;
3
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,eAAO,MAAM,aAAa,EAAE,OA2B3B,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { getVersion } from '../../utils/version.js';
2
+ import { checkForUpdate } from '../../utils/update.js';
3
+ export const updateCommand = {
4
+ name: 'update',
5
+ description: 'Check for updates and install the latest version',
6
+ handler: async (_args, ctx) => {
7
+ try {
8
+ ctx.addMessage({ role: 'system', content: 'Checking for updates...' });
9
+ const current = getVersion();
10
+ const info = await checkForUpdate(current);
11
+ if (!info.hasUpdate) {
12
+ ctx.addMessage({ role: 'system', content: `ZTC is up to date (v${current}).` });
13
+ return;
14
+ }
15
+ ctx.addMessage({ role: 'system', content: `Updating to v${info.latest}...` });
16
+ const result = await ctx.shell.run('npm install -g zerg-ztc@latest');
17
+ if (result.exitCode === 0) {
18
+ ctx.addMessage({ role: 'system', content: `✓ Updated to v${info.latest}. Restart ZTC to use the new version.` });
19
+ }
20
+ else {
21
+ ctx.addMessage({
22
+ role: 'system',
23
+ content: `Update failed (exit ${result.exitCode}).\n${result.stderr || result.stdout || ''}`.trim()
24
+ });
25
+ }
26
+ }
27
+ catch (err) {
28
+ const message = err instanceof Error ? err.message : 'Update failed';
29
+ ctx.addMessage({ role: 'system', content: `Update failed: ${message}` });
30
+ }
31
+ }
32
+ };
33
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/agent/commands/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,kDAAkD;IAC/D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,OAAO,IAAI,EAAE,CAAC,CAAC;gBAChF,OAAO;YACT,CAAC;YACD,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YACrE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,IAAI,CAAC,MAAM,uCAAuC,EAAE,CAAC,CAAC;YACnH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uBAAuB,MAAM,CAAC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;iBACpG,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACrE,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;CACF,CAAC"}
package/dist/cli.js CHANGED
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { render } from 'ink';
4
- import { resolve, dirname } from 'path';
5
- import { statSync, readFileSync } from 'fs';
6
- import { fileURLToPath } from 'url';
4
+ import { resolve } from 'path';
5
+ import { statSync } from 'fs';
7
6
  import { App } from './App.js';
8
7
  import { configStore } from './config.js';
8
+ import { getVersion } from './utils/version.js';
9
9
  // --- CLI Entry Point ---
10
10
  // Parse command line args
11
11
  const args = process.argv.slice(2);
@@ -69,26 +69,78 @@ if (cwdIndex >= 0) {
69
69
  }
70
70
  async function main() {
71
71
  await configStore.load(true);
72
+ const isTty = Boolean(process.stdout.isTTY);
73
+ const useAltScreen = isTty
74
+ && process.env.ZTC_ALT_SCREEN === '1'
75
+ && process.env.ZTC_NO_ALT_SCREEN !== '1'
76
+ && process.env.ZTC_SCROLLBACK !== '1';
77
+ if (useAltScreen) {
78
+ process.stdout.write('\x1b[?1049h');
79
+ process.stdout.write('\x1b[?25l');
80
+ }
81
+ if (isTty) {
82
+ // Clear screen and move cursor home for a clean start
83
+ process.stdout.write('\x1b[2J');
84
+ process.stdout.write('\x1b[H');
85
+ }
86
+ // In scrollback mode, print a static header once at startup
87
+ const scrollback = !useAltScreen;
88
+ if (scrollback && isTty) {
89
+ const version = getVersion();
90
+ const dateLabel = new Date().toLocaleDateString('en-US', {
91
+ month: 'short',
92
+ day: '2-digit',
93
+ year: 'numeric'
94
+ });
95
+ const cols = process.stdout.columns || 80;
96
+ const title = 'Zerg Terminal Client';
97
+ const right = `${dateLabel} • v${version} • Ctrl+C exit • /help`;
98
+ const padding = Math.max(0, cols - title.length - right.length - 4);
99
+ const borderLine = '─'.repeat(cols - 2);
100
+ console.log(`┌${borderLine}┐`);
101
+ console.log(`│ ${title}${' '.repeat(padding)}${right} │`);
102
+ console.log(`└${borderLine}┘`);
103
+ console.log(''); // Extra line after header
104
+ }
105
+ // Enable bracketed paste mode so we can detect paste boundaries
106
+ process.stdout.write('\x1b[?2004h');
107
+ // Enable Kitty keyboard protocol (progressive enhancement)
108
+ // This allows detection of Cmd+V and other modifier combinations
109
+ // Flags: 1 = disambiguate escape codes, 2 = report event types, 4 = report alternate keys, 8 = report all keys
110
+ // Using flags=1 for basic disambiguation which reports Cmd+V as CSI sequence
111
+ process.stdout.write('\x1b[>1u');
112
+ if (useAltScreen) {
113
+ // Wrap stdout.write to use synchronized output (reduces flicker)
114
+ // DECSM/DECRM 2026 tells terminal to batch updates
115
+ const originalWrite = process.stdout.write.bind(process.stdout);
116
+ let syncPending = false;
117
+ process.stdout.write = function (chunk, encoding, callback) {
118
+ if (!syncPending) {
119
+ syncPending = true;
120
+ originalWrite('\x1b[?2026h'); // Begin synchronized update
121
+ setImmediate(() => {
122
+ originalWrite('\x1b[?2026l'); // End synchronized update
123
+ syncPending = false;
124
+ });
125
+ }
126
+ return originalWrite(chunk, encoding, callback);
127
+ };
128
+ }
72
129
  // Render the app
73
- // Note: FullScreen component handles alternate screen buffer
74
130
  const { waitUntilExit } = render(_jsx(App, {}));
75
131
  // Handle clean exit
76
132
  waitUntilExit().then(() => {
133
+ // Disable Kitty keyboard protocol
134
+ process.stdout.write('\x1b[<u');
135
+ // Disable bracketed paste mode
136
+ process.stdout.write('\x1b[?2004l');
137
+ if (useAltScreen) {
138
+ process.stdout.write('\x1b[?25h');
139
+ process.stdout.write('\x1b[?1049l');
140
+ }
77
141
  console.log('Goodbye from ZTC! 👋');
78
142
  process.exit(0);
79
143
  });
80
144
  }
81
145
  void main();
82
- function getVersion() {
83
- try {
84
- const here = dirname(fileURLToPath(import.meta.url));
85
- const pkgPath = resolve(here, '../package.json');
86
- const raw = readFileSync(pkgPath, 'utf-8');
87
- const parsed = JSON.parse(raw);
88
- return parsed.version || '0.0.0';
89
- }
90
- catch {
91
- return '0.0.0';
92
- }
93
- }
94
146
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { AgentState } from '../types.js';
3
+ interface ActivityLineProps {
4
+ state: AgentState;
5
+ spinnerLabel?: string | null;
6
+ spinnerFrame?: string | null;
7
+ inputMode?: 'queue' | 'interrupt';
8
+ }
9
+ export declare const ActivityLine: React.FC<ActivityLineProps>;
10
+ export default ActivityLine;
11
+ //# sourceMappingURL=ActivityLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityLine.d.ts","sourceRoot":"","sources":["../../src/components/ActivityLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,UAAU,iBAAiB;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CACnC;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAQpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { InkNode } from '../ui/ink/index.js';
3
+ import { buildActivityLineView } from '../ui/views/activity_line.js';
4
+ export const ActivityLine = ({ state, spinnerLabel, spinnerFrame, inputMode }) => {
5
+ const node = buildActivityLineView({ state, spinnerLabel, spinnerFrame, inputMode });
6
+ return _jsx(InkNode, { node: node });
7
+ };
8
+ export default ActivityLine;
9
+ //# sourceMappingURL=ActivityLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityLine.js","sourceRoot":"","sources":["../../src/components/ActivityLine.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AASrE,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACxD,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACV,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;IACrF,OAAO,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;AACjC,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -15,6 +15,7 @@ import React, { PropsWithChildren } from 'react';
15
15
  */
16
16
  interface FullScreenProps extends PropsWithChildren {
17
17
  debug?: boolean;
18
+ scrollback?: boolean;
18
19
  }
19
20
  export declare const FullScreen: React.FC<FullScreenProps>;
20
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FullScreen.d.ts","sourceRoot":"","sources":["../../src/components/FullScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG5D;;;;;;;;;;;;;GAaG;AAEH,UAAU,eAAgB,SAAQ,iBAAiB;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAOD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAoChD,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa;;;EAE5B;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"FullScreen.d.ts","sourceRoot":"","sources":["../../src/components/FullScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAGtE;;;;;;;;;;;;;GAaG;AAEH,UAAU,eAAgB,SAAQ,iBAAiB;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AASD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAehD,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa;;;EA0B5B;AAED,eAAe,UAAU,CAAC"}
@@ -1,40 +1,40 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect } from 'react';
2
+ import { useState, useEffect } from 'react';
3
3
  import { Box } from 'ink';
4
- const initialSize = {
5
- columns: process.stdout.columns || 80,
6
- rows: process.stdout.rows || 24,
7
- };
8
- export const FullScreen = ({ children, debug = false }) => {
9
- const isTty = Boolean(process.stdout.isTTY);
10
- const useAltScreen = isTty && process.env.ZTC_ALT_SCREEN === '1';
11
- useEffect(() => {
12
- if (!useAltScreen) {
13
- return;
14
- }
15
- // Enter alternate screen buffer
16
- process.stdout.write('\x1b[?1049h');
17
- // Hide cursor (we'll draw our own)
18
- process.stdout.write('\x1b[?25l');
19
- // Clear the alternate screen
20
- process.stdout.write('\x1b[2J');
21
- // Move cursor to top-left
22
- process.stdout.write('\x1b[H');
23
- // Cleanup: restore terminal state
24
- return () => {
25
- // Show cursor
26
- process.stdout.write('\x1b[?25h');
27
- // Exit alternate screen buffer (restores original content)
28
- process.stdout.write('\x1b[?1049l');
29
- };
30
- }, [useAltScreen]);
31
- return (_jsx(Box, { flexDirection: "column", borderStyle: debug ? 'single' : undefined, borderColor: debug ? 'red' : undefined, children: children }));
4
+ function getTerminalSize() {
5
+ return {
6
+ columns: process.stdout.columns || 80,
7
+ rows: process.stdout.rows || 24,
8
+ };
9
+ }
10
+ export const FullScreen = ({ children, debug = false, scrollback = false }) => {
11
+ const { rows, columns } = useScreenSize();
12
+ return (_jsx(Box, { flexDirection: "column", width: columns, height: scrollback ? undefined : rows, overflow: scrollback ? undefined : 'hidden', borderStyle: debug ? 'single' : undefined, borderColor: debug ? 'red' : undefined, children: children }));
32
13
  };
33
14
  /**
34
15
  * Hook to get current screen size with resize tracking
35
16
  */
36
17
  export function useScreenSize() {
37
- return initialSize;
18
+ const [size, setSize] = useState(getTerminalSize);
19
+ useEffect(() => {
20
+ const updateSize = () => {
21
+ const current = getTerminalSize();
22
+ setSize(prev => {
23
+ if (prev.rows !== current.rows || prev.columns !== current.columns) {
24
+ return current;
25
+ }
26
+ return prev;
27
+ });
28
+ };
29
+ process.stdout.on('resize', updateSize);
30
+ // Also check on an interval as a fallback for some terminals
31
+ const interval = setInterval(updateSize, 1000);
32
+ return () => {
33
+ process.stdout.off('resize', updateSize);
34
+ clearInterval(interval);
35
+ };
36
+ }, []);
37
+ return size;
38
38
  }
39
39
  export default FullScreen;
40
40
  //# sourceMappingURL=FullScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FullScreen.js","sourceRoot":"","sources":["../../src/components/FullScreen.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAqB1B,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;IACrC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,EAAE;IACnF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,GAAG,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,mCAAmC;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClC,6BAA6B;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChC,0BAA0B;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE/B,kCAAkC;QAClC,OAAO,GAAG,EAAE;YACV,cAAc;YACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClC,2DAA2D;YAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACtC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,CACL,KAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACzC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,YAErC,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"FullScreen.js","sourceRoot":"","sources":["../../src/components/FullScreen.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAqB,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAsB1B,SAAS,eAAe;IACtB,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;QACrC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE,EAAE;IACvG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IAE1C,OAAO,CACL,KAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACrC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAC3C,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACzC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,YAErC,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACb,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;oBACnE,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAExC,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE/C,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACzC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../src/components/InputArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAIvD,OAAO,EAAE,QAAQ,EAAY,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAgB,MAAM,2BAA2B,CAAC;AAqBrE,UAAU,cAAc;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AA0D5D,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAsc9C,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../src/components/InputArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAIvD,OAAO,EAAE,QAAQ,EAAY,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAgB,MAAM,2BAA2B,CAAC;AAqBrE,UAAU,cAAc;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AA0D5D,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA45B9C,CAAC;AAEF,eAAe,SAAS,CAAC"}