teamshare-bridge 0.16.1 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/bridge/daemon.js +30 -5
  2. package/dist/bridge/daemon.js.map +1 -1
  3. package/dist/bridge/spawn.d.ts +12 -2
  4. package/dist/bridge/spawn.js +27 -4
  5. package/dist/bridge/spawn.js.map +1 -1
  6. package/dist/cli/commands/context.js +12 -2
  7. package/dist/cli/commands/context.js.map +1 -1
  8. package/dist/cli/commands/harness.js +19 -13
  9. package/dist/cli/commands/harness.js.map +1 -1
  10. package/dist/cli/commands/link.js +71 -25
  11. package/dist/cli/commands/link.js.map +1 -1
  12. package/dist/cli/commands/planner.d.ts +1 -0
  13. package/dist/cli/commands/planner.js +241 -0
  14. package/dist/cli/commands/planner.js.map +1 -0
  15. package/dist/cli/index.js +4 -0
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/lib/agy-pty.js +18 -12
  18. package/dist/lib/agy-pty.js.map +1 -1
  19. package/dist/lib/api.d.ts +16 -0
  20. package/dist/lib/api.js +10 -0
  21. package/dist/lib/api.js.map +1 -1
  22. package/dist/lib/config.d.ts +53 -0
  23. package/dist/lib/config.js +69 -0
  24. package/dist/lib/config.js.map +1 -1
  25. package/dist/lib/context/scan.d.ts +21 -0
  26. package/dist/lib/context/scan.js +45 -0
  27. package/dist/lib/context/scan.js.map +1 -1
  28. package/dist/lib/context/sync.js +18 -1
  29. package/dist/lib/context/sync.js.map +1 -1
  30. package/dist/lib/lock.d.ts +4 -0
  31. package/dist/lib/lock.js +5 -1
  32. package/dist/lib/lock.js.map +1 -1
  33. package/dist/lib/orchestrator/client.d.ts +6 -0
  34. package/dist/lib/orchestrator/client.js +196 -8
  35. package/dist/lib/orchestrator/client.js.map +1 -1
  36. package/dist/lib/orchestrator/runner.js +20 -2
  37. package/dist/lib/orchestrator/runner.js.map +1 -1
  38. package/package.json +1 -1
@@ -169,24 +169,28 @@ function spawnHarness(harness, prompt, log, settings = {}) {
169
169
  cwd: settings.cwd,
170
170
  windowsHide: true,
171
171
  });
172
+ // Idle-reset timer: NO hard ceiling. The timer only starts on the FIRST
173
+ // output frame and resets on every subsequent frame. A harness producing
174
+ // output runs forever; only a harness that goes silent for timeoutMin is
175
+ // killed. This means long-running sessions (6h+) are safe as long as the
176
+ // process keeps producing output or heartbeating.
172
177
  const timeoutMs = Math.max(1, settings.timeoutMin ?? 60) * 60_000;
173
- let killTimer = setTimeout(() => {
174
- log(`[harness] ${adapter.name} killed after ${settings.timeoutMin ?? 60} min (session timeout cap)`, 'stderr');
175
- killTree(child.pid);
176
- child.kill();
177
- resolve(124);
178
- }, timeoutMs);
179
- const tee = (chunk, level) => {
180
- // Reset kill timer on every output line — active sessions never get
181
- // killed; only stuck/idle sessions (no output for timeoutMin) are
182
- // terminated.
183
- clearTimeout(killTimer);
178
+ let killTimer = null;
179
+ const startIdleTimer = () => {
180
+ if (killTimer)
181
+ clearTimeout(killTimer);
184
182
  killTimer = setTimeout(() => {
185
183
  log(`[harness] ${adapter.name} killed after ${settings.timeoutMin ?? 60} min of no output (idle timeout)`, 'stderr');
186
184
  killTree(child.pid);
187
185
  child.kill();
188
186
  resolve(124);
189
187
  }, timeoutMs);
188
+ };
189
+ const tee = (chunk, level) => {
190
+ // Reset idle timer on every output line — active sessions never get
191
+ // killed; only stuck/idle sessions (no output for timeoutMin) are
192
+ // terminated. Timer starts on first output, not on spawn.
193
+ startIdleTimer();
190
194
  for (const line of chunk.toString('utf8').split(/\r?\n/)) {
191
195
  if (!line.trim())
192
196
  continue;
@@ -203,7 +207,8 @@ function spawnHarness(harness, prompt, log, settings = {}) {
203
207
  child.stdout?.on('data', (c) => tee(c, 'stdout'));
204
208
  child.stderr?.on('data', (c) => tee(c, 'stderr'));
205
209
  child.on('error', (err) => {
206
- clearTimeout(killTimer);
210
+ if (killTimer)
211
+ clearTimeout(killTimer);
207
212
  mcpOverride?.cleanup();
208
213
  if (promptFile)
209
214
  (0, prompt_file_1.cleanupPromptFile)(promptFile);
@@ -211,7 +216,8 @@ function spawnHarness(harness, prompt, log, settings = {}) {
211
216
  resolve(1);
212
217
  });
213
218
  child.on('close', (code) => {
214
- clearTimeout(killTimer);
219
+ if (killTimer)
220
+ clearTimeout(killTimer);
215
221
  mcpOverride?.cleanup();
216
222
  if (promptFile)
217
223
  (0, prompt_file_1.cleanupPromptFile)(promptFile);
@@ -1 +1 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../src/cli/commands/harness.ts"],"names":[],"mappings":";;AAsCA,4BAkCC;AAED,oCAmKC;AA7OD;;;;;;GAMG;AACH,2DAA2C;AAC3C,6CAAuC;AACvC,uCAAgD;AAChD,+DAAyG;AACzG,+CAA+C;AAC/C,6DAA8D;AAC9D,+CAA4D;AAC5D,uDAA2E;AAG3E;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAErC,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB;;;;;;;;;;;GAWG;AACH,SAAgB,QAAQ,CAAC,GAAuB;IAC9C,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO;IACvD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,kEAAkE;YAClE,IAAA,0BAAK,EAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE;gBAC7C,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,uEAAuE;YACvE,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC;oBACH,kDAAkD;oBAClD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAyB;oBAC/C,IAAA,0BAAK,EAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;wBACnD,KAAK,EAAE,QAAQ;wBACf,KAAK,EAAE,KAAK;wBACZ,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,6CAA6C;gBAC/C,CAAC;YACH,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;AACH,CAAC;AAED,SAAgB,YAAY,CAC1B,OAAoB,EACpB,MAAc,EACd,GAAU,EACV,WAAsB,EAAE;IAExB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,GAAG,CAAC,yDAAyD,CAAC,CAAC;QAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,gCAAc,EAAC,OAAO,CAAC,CAAC;IACzC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,4BAAU,EAAC,QAAQ,CAAC,CAAC;IACrC,GAAG,CAAC,uBAAuB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC;IAE9C,6EAA6E;IAC7E,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAA,sBAAY,GAAE,EAAE,CAAC;QACvC,OAAO,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,WAAW,GAAG,IAAI,CAAC;QACnB,GAAG,CACD,aAAa,OAAO,CAAC,IAAI,gJAAgJ,EACzK,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,IAAc,CAAC;IAEnB,IACE,MAAM,CAAC,MAAM,GAAG,qBAAqB;QACrC,OAAO,CAAC,kBAAkB,EAC1B,CAAC;QACD,UAAU,GAAG,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAC;QACrC,GAAG,CAAC,uCAAuC,MAAM,CAAC,MAAM,8BAA8B,EAAE,QAAQ,CAAC,CAAC;QAElG,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,qEAAqE;YACrE,iEAAiE;YACjE,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,uEAAuE;YACvE,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,MAAM,gBAAgB,GACpB,kBAAkB,UAAU,yCAAyC;gBACrE,+CAA+C;gBAC/C,sGAAsG,CAAC;YACzG,+DAA+D;YAC/D,gEAAgE;YAChE,oEAAoE;YACpE,0BAA0B;YAC1B,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAEhD,+EAA+E;IAC/E,IAAI,WAAW,GAAiD,IAAI,CAAC;IACrE,IAAI,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QACvE,WAAW,GAAG,OAAO,CAAC,cAAc,CAClC,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,qBAAe,EACvE,QAAQ,CAAC,WAAW,EACpB,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,0CAA0C;IAC1C,MAAM,GAAG,GAAG,IAAA,oBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,CAAC,aAAa,OAAO,CAAC,MAAM,gCAAgC,EAAE,QAAQ,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,wDAAwD;IACxD,MAAM,QAAQ,GAAsB,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACvD,IAAI,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,WAAW,EAAE,CAAC;QAChB,wEAAwE;QACxE,qEAAqE;QACrE,oEAAoE;QACpE,kEAAkE;QAClE,2EAA2E;QAC3E,IAAI,QAAQ,KAAK,UAAU;YAAE,QAAQ,CAAC,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC;IAC3E,CAAC;IAED,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE;YAC5D,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;QAClE,IAAI,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,GAAG,CAAC,aAAa,OAAO,CAAC,IAAI,iBAAiB,QAAQ,CAAC,UAAU,IAAI,EAAE,4BAA4B,EAAE,QAAQ,CAAC,CAAC;YAC/G,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,KAA0B,EAAQ,EAAE;YAC9D,oEAAoE;YACpE,kEAAkE;YAClE,cAAc;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,GAAG,CAAC,aAAa,OAAO,CAAC,IAAI,iBAAiB,QAAQ,CAAC,UAAU,IAAI,EAAE,kCAAkC,EAAE,QAAQ,CAAC,CAAC;gBACrH,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpB,KAAK,CAAC,IAAI,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAC3B,kEAAkE;gBAClE,yDAAyD;gBACzD,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC3B,kEAAkE;gBAClE,mEAAmE;gBACnE,iEAAiE;gBACjE,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,mCAAkB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7E,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,WAAW,EAAE,OAAO,EAAE,CAAC;YACvB,IAAI,UAAU;gBAAE,IAAA,+BAAiB,EAAC,UAAU,CAAC,CAAC;YAC9C,GAAG,CAAC,aAAa,OAAO,CAAC,IAAI,qBAAqB,IAAA,YAAG,EAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACxE,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,WAAW,EAAE,OAAO,EAAE,CAAC;YACvB,IAAI,UAAU;gBAAE,IAAA,+BAAiB,EAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,IAAI,KAAK,CAAC;gBAAE,GAAG,CAAC,aAAa,OAAO,CAAC,IAAI,qBAAqB,IAAI,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC/F,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iEAAiE;AACjE,SAAS,eAAe,CACtB,MAAc,EACd,MAAc,EACd,GAAU,EACV,QAAmB,EACnB,IAAY;IAEZ,MAAM,GAAG,GAAG,IAAA,oBAAU,EAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,CAAC,aAAa,MAAM,gCAAgC,EAAE,QAAQ,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,4BAAU,EAAC,IAAmB,CAAC,CAAC;IAEpD,iEAAiE;IACjE,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,IAAc,CAAC;IAEnB,IACE,MAAM,CAAC,MAAM,GAAG,qBAAqB;QACrC,WAAW,CAAC,kBAAkB,EAC9B,CAAC;QACD,UAAU,GAAG,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAC;QACrC,GAAG,CAAC,uCAAuC,MAAM,CAAC,MAAM,8BAA8B,EAAE,QAAQ,CAAC,CAAC;QAElG,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;YAC/B,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACxD,MAAM,gBAAgB,GACpB,kBAAkB,UAAU,yCAAyC;gBACrE,+CAA+C;gBAC/C,sGAAsG,CAAC;YACzG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,oEAAoE;IACpE,IAAI,WAAW,GAAiD,IAAI,CAAC;IACrE,IAAI,WAAW,CAAC,WAAW,IAAI,QAAQ,CAAC,QAAQ,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;QAC/E,WAAW,GAAG,WAAW,CAAC,cAAc,CACtC,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,qBAAe,EACvE,QAAQ,CAAC,WAAW,EACpB,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,GAAG,CAAC,aAAa,IAAI,6EAA6E,EAAE,QAAQ,CAAC,CAAC;QAChH,CAAC;IACH,CAAC;IAED,OAAO,IAAA,mBAAS,EAAC;QACf,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QACpC,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;KAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACjB,WAAW,EAAE,OAAO,EAAE,CAAC;QACvB,IAAI,UAAU;YAAE,IAAA,+BAAiB,EAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;YACnF,CAAC;YAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,aAAa,IAAI,qBAAqB,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACxB,WAAW,EAAE,OAAO,EAAE,CAAC;QACvB,IAAI,UAAU;YAAE,IAAA,+BAAiB,EAAC,UAAU,CAAC,CAAC;QAC9C,GAAG,CAAC,aAAa,IAAI,YAAY,IAAA,YAAG,EAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../src/cli/commands/harness.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,11 @@ exports.cmdUnlink = cmdUnlink;
5
5
  /**
6
6
  * `link` / `unlink` commands: project guard — bind a project to a local folder.
7
7
  * Also owns the workspace-arbitration switches (IMP-950): --auto-worktree.
8
+ * Multi-repo: auto-discovers git sub-repos when linking a parent folder.
8
9
  */
9
10
  const node_child_process_1 = require("node:child_process");
10
11
  const config_1 = require("../../lib/config");
12
+ const api_1 = require("../../lib/api");
11
13
  const worktree_1 = require("../../lib/orchestrator/worktree");
12
14
  const utils_1 = require("../utils");
13
15
  async function cmdLink(flags) {
@@ -21,8 +23,15 @@ async function cmdLink(flags) {
21
23
  const flagsText = [
22
24
  link.guard === false ? 'guard off' : '',
23
25
  link.autoWorktree ? 'auto-worktree' : '',
26
+ link.multiRepo ? 'multi-repo' : '',
24
27
  ].filter(Boolean).join(', ');
25
28
  console.log(`${projectId} -> ${link.path}${flagsText ? ` (${flagsText})` : ''}`);
29
+ if (link.multiRepo && link.repos?.length) {
30
+ for (const repo of link.repos) {
31
+ const remoteText = repo.remote ? ` [${repo.remote}]` : '';
32
+ console.log(` └─ ${repo.name}${repo.isGitRepo ? '' : ' (no git)'}${remoteText}`);
33
+ }
34
+ }
26
35
  }
27
36
  return;
28
37
  }
@@ -75,35 +84,72 @@ async function cmdLink(flags) {
75
84
  }
76
85
  }
77
86
  else {
78
- const origin = flags.get('origin');
79
- console.log('No git repository found in this folder.');
80
- if (origin) {
81
- console.log('Initializing git repository and adding the origin remote...');
82
- const init = (0, worktree_1.gitInit)(canonical, 'origin', origin);
83
- if (!init.success) {
84
- console.error(' ' + (init.error ?? 'git init failed'));
85
- process.exitCode = 1;
86
- return;
87
- }
88
- try {
89
- (0, node_child_process_1.execSync)('git add -A', { cwd: canonical, encoding: 'utf-8', timeout: 30_000 });
90
- (0, node_child_process_1.execSync)('git commit -m "Initial commit"', {
91
- cwd: canonical,
92
- encoding: 'utf-8',
93
- timeout: 30_000,
94
- });
95
- console.log('Initial commit created on branch main.');
96
- console.log(`Origin set to: ${origin}`);
87
+ // Multi-repo: scan for git sub-repos in the parent folder.
88
+ const subRepos = (0, config_1.scanSubRepos)(canonical);
89
+ const gitRepos = subRepos.filter((r) => r.isGitRepo);
90
+ if (gitRepos.length > 0) {
91
+ (0, config_1.updateProjectRepos)(projectId, subRepos, true);
92
+ console.log(`Multi-repo folder detected — found ${gitRepos.length} git repo(s):`);
93
+ for (const repo of gitRepos) {
94
+ const remoteText = repo.remote ? ` → ${repo.remote}` : ' (no remote)';
95
+ console.log(` ${repo.name}${remoteText}`);
97
96
  }
98
- catch (err) {
99
- const message = err instanceof Error ? err.message : String(err);
100
- console.error(` Could not create the initial commit: ${message}`);
101
- console.log(' Run `git add -A && git commit -m "Initial commit"` manually, then re-run link.');
97
+ console.log('Orchestrator will resolve per-task which sub-repo to work in.');
98
+ // Auto-register discovered repos on the server (best-effort).
99
+ const config = (0, config_1.loadConfig)();
100
+ const agent = config.agents[0];
101
+ if (agent) {
102
+ const apiKey = (0, config_1.getAgentKey)(agent);
103
+ if (apiKey) {
104
+ const api = new api_1.TeamshareApi(process.env.TEAMSHARE_API_URL, apiKey);
105
+ for (const repo of gitRepos) {
106
+ if (!repo.remote)
107
+ continue;
108
+ try {
109
+ await api.registerRepository(projectId, {
110
+ name: repo.name,
111
+ originUrl: repo.remote,
112
+ defaultBranch: 'main',
113
+ });
114
+ }
115
+ catch {
116
+ // best-effort — don't fail the link if registration fails
117
+ }
118
+ }
119
+ }
102
120
  }
103
121
  }
104
122
  else {
105
- console.log(' Pass --origin <url> to initialize git and set the remote automatically:');
106
- console.log(` teamshare-agent link --project ${projectId} --path <folder> --origin https://github.com/you/repo.git`);
123
+ const origin = flags.get('origin');
124
+ console.log('No git repository found in this folder.');
125
+ if (origin) {
126
+ console.log('Initializing git repository and adding the origin remote...');
127
+ const init = (0, worktree_1.gitInit)(canonical, 'origin', origin);
128
+ if (!init.success) {
129
+ console.error(' ' + (init.error ?? 'git init failed'));
130
+ process.exitCode = 1;
131
+ return;
132
+ }
133
+ try {
134
+ (0, node_child_process_1.execSync)('git add -A', { cwd: canonical, encoding: 'utf-8', timeout: 30_000 });
135
+ (0, node_child_process_1.execSync)('git commit -m "Initial commit"', {
136
+ cwd: canonical,
137
+ encoding: 'utf-8',
138
+ timeout: 30_000,
139
+ });
140
+ console.log('Initial commit created on branch main.');
141
+ console.log(`Origin set to: ${origin}`);
142
+ }
143
+ catch (err) {
144
+ const message = err instanceof Error ? err.message : String(err);
145
+ console.error(` Could not create the initial commit: ${message}`);
146
+ console.log(' Run `git add -A && git commit -m "Initial commit"` manually, then re-run link.');
147
+ }
148
+ }
149
+ else {
150
+ console.log(' Pass --origin <url> to initialize git and set the remote automatically:');
151
+ console.log(` teamshare-agent link --project ${projectId} --path <folder> --origin https://github.com/you/repo.git`);
152
+ }
107
153
  }
108
154
  }
109
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/cli/commands/link.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/cli/commands/link.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function cmdPlanner(flags: Map<string, string>): Promise<void>;
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.cmdPlanner = cmdPlanner;
37
+ /**
38
+ * `planner` command: decompose a task into subtasks using the agent's
39
+ * harness. The agent receives a planning brief, uses the `submit_plan`
40
+ * MCP tool to return structured subtasks, and the result is written to
41
+ * a temp file for the bridge to read and emit back to the backend.
42
+ *
43
+ * The `submit_plan` MCP tool validates the plan (cycle detection, index
44
+ * checks) but does NOT persist — the backend's `createChildren()` handles
45
+ * all persistence after receiving the validated plan.
46
+ *
47
+ * Falls back to headless LLM (complete()) when no harness is available.
48
+ */
49
+ const node_fs_1 = require("node:fs");
50
+ const node_path_1 = require("node:path");
51
+ const node_os_1 = require("node:os");
52
+ const api_1 = require("../../lib/api");
53
+ const llm_1 = require("../../lib/llm");
54
+ const lock_1 = require("../../lib/lock");
55
+ const daemon_reporter_1 = require("../../lib/daemon-reporter");
56
+ const session_stream_1 = require("../../lib/session-stream");
57
+ const brief_1 = require("../../lib/brief");
58
+ const utils_1 = require("../utils");
59
+ const harness_1 = require("./harness");
60
+ const shared_1 = require("./shared");
61
+ const presence_1 = require("../../lib/workspace/presence");
62
+ const PLANNER_PROMPT_TEMPLATE = `You are a software build planner. Break the task below into 2-5 concrete,
63
+ independently verifiable subtasks, in dependency order.
64
+
65
+ For each subtask, include a "verification" array with 2-4 concrete, checkable criteria
66
+ (e.g. "build succeeds with no errors", "all tests pass", "endpoint returns 200", "docs updated").
67
+ These become checklist items the agent must verify.
68
+
69
+ Use the submit_plan MCP tool to submit your decomposition. Return ONLY the tool call,
70
+ no prose explanation.
71
+
72
+ TASK: {description}`;
73
+ async function cmdPlanner(flags) {
74
+ const agentId = (0, utils_1.need)(flags, 'agent');
75
+ const projectId = (0, utils_1.need)(flags, 'project');
76
+ const parentTaskId = (0, utils_1.need)(flags, 'task');
77
+ const apiKey = (0, utils_1.resolveApiKey)(flags);
78
+ const selfMode = flags.get('self') === 'true';
79
+ const resultPath = flags.get('result-file') ?? (0, node_path_1.join)((0, node_os_1.homedir)(), '.teamshare', 'state', `planner-${parentTaskId.slice(0, 8)}.json`);
80
+ let exitCode = 0;
81
+ const sessionId = flags.get('session') ?? (0, session_stream_1.newSessionId)();
82
+ const reporter = new daemon_reporter_1.DaemonReporter({ sessionId, agentId, projectId, mode: 'run' });
83
+ reporter.connect();
84
+ const log = (0, utils_1.makeLog)(reporter);
85
+ const api = new api_1.TeamshareApi(process.env.TEAMSHARE_API_URL, apiKey);
86
+ const cwd = (0, shared_1.resolveWorkingDir)(flags, projectId, log);
87
+ if (!cwd)
88
+ return;
89
+ const settings = await (0, utils_1.fetchAgentSettings)(api, agentId, log);
90
+ const harness = (0, utils_1.harnessOf)(flags, settings);
91
+ (0, utils_1.applyOpenCodeKey)(agentId, log, settings);
92
+ const lock = await (0, lock_1.acquireLock)(agentId, 'orchestrator', { projectId, taskId: parentTaskId }, {
93
+ onWaiting: (busy) => log(`[lock] agent ${agentId} is busy (pid ${busy.pid}, since ${busy.startedAt}, ${busy.kind}) - waiting...`),
94
+ });
95
+ if (!lock) {
96
+ console.error(`[lock] gave up waiting for agent ${agentId} - try again later`);
97
+ process.exitCode = 1;
98
+ return;
99
+ }
100
+ try {
101
+ (0, presence_1.registerPresence)(cwd, { agentId, kind: 'orchestrator', projectId });
102
+ await (0, brief_1.reportStatus)(api, agentId, 'working', parentTaskId, sessionId);
103
+ log(`[planner] decomposing task ${parentTaskId.slice(0, 8)} in ${cwd}`);
104
+ // Fetch the task brief for context.
105
+ const brief = await (0, brief_1.fetchTaskBrief)(api, parentTaskId).catch(() => '');
106
+ const description = brief || `Task ${parentTaskId}`;
107
+ const prompt = PLANNER_PROMPT_TEMPLATE.replace('{description}', description);
108
+ const heartbeatTimer = setInterval(() => {
109
+ void (0, brief_1.reportStatus)(api, agentId, 'working', parentTaskId, sessionId);
110
+ }, 120_000);
111
+ try {
112
+ const endpoint = (0, utils_1.llmEndpoint)(flags, settings);
113
+ let plan = null;
114
+ if (harness && harness !== 'none') {
115
+ log(`[planner] spawning ${harness} harness for decomposition`);
116
+ // Spawn the harness. The agent will call submit_plan which writes
117
+ // the validated plan to a temp file. We wait for the file to appear.
118
+ const exit = await (0, harness_1.spawnHarness)(harness, prompt, log, {
119
+ model: (0, utils_1.modelOf)(flags, settings),
120
+ temperature: (0, utils_1.temperatureOf)(flags, settings),
121
+ effort: (0, utils_1.effortOf)(flags, settings) ?? (0, utils_1.defaultEffort)(harness),
122
+ cwd,
123
+ timeoutMin: (0, utils_1.sessionTimeoutMin)(flags),
124
+ title: `Planner decomposition for task ${parentTaskId.slice(0, 8)}`,
125
+ agentKey: apiKey,
126
+ apiBaseUrl: api.baseUrl,
127
+ providerKey: settings.providerKey ?? undefined,
128
+ sessionMode: 'run',
129
+ sessionId,
130
+ });
131
+ // Read the result file written by submit_plan.
132
+ plan = readResultFile(resultPath, log);
133
+ if (!plan && exit !== 0) {
134
+ log(`[planner] harness exited with code ${exit} and no plan file found`, 'stderr');
135
+ }
136
+ }
137
+ // Fall back to headless LLM if harness didn't produce a plan.
138
+ if (!plan) {
139
+ log(`[planner] using headless LLM fallback`);
140
+ plan = await runHeadlessPlanner(prompt, {
141
+ baseUrl: endpoint.baseUrl,
142
+ apiKey: (0, utils_1.sessionLlmApiKey)(settings),
143
+ model: endpoint.model,
144
+ temperature: (0, utils_1.temperatureOf)(flags, settings),
145
+ maxTokens: (0, utils_1.maxTokensOf)(flags, settings),
146
+ }, log);
147
+ }
148
+ if (plan && plan.length > 0) {
149
+ // Write the final result for the bridge to read.
150
+ (0, node_fs_1.writeFileSync)(resultPath, JSON.stringify({ tasks: plan }), 'utf-8');
151
+ log(`[planner] plan ready: ${plan.length} subtasks -> ${resultPath}`);
152
+ }
153
+ else {
154
+ // Single-node fallback.
155
+ const fallback = [{ title: description.slice(0, 200), description, dependencies: [], verification: [] }];
156
+ (0, node_fs_1.writeFileSync)(resultPath, JSON.stringify({ tasks: fallback }), 'utf-8');
157
+ log(`[planner] fallback: single node -> ${resultPath}`);
158
+ }
159
+ }
160
+ finally {
161
+ clearInterval(heartbeatTimer);
162
+ void api.releaseSessionClaims(sessionId).catch(() => { });
163
+ await (0, brief_1.reportStatus)(api, agentId, 'online', parentTaskId, sessionId);
164
+ }
165
+ }
166
+ catch (err) {
167
+ const { msg } = await Promise.resolve().then(() => __importStar(require('../../lib/config')));
168
+ log(`[error] ${msg(err)}`, 'stderr');
169
+ exitCode = 1;
170
+ }
171
+ finally {
172
+ (0, presence_1.unregisterPresence)(cwd);
173
+ (0, lock_1.releaseLock)(agentId);
174
+ await reporter.end(exitCode);
175
+ }
176
+ }
177
+ /** Read the plan from the result file written by submit_plan MCP tool. */
178
+ function readResultFile(resultPath, log) {
179
+ try {
180
+ const raw = (0, node_fs_1.readFileSync)(resultPath, 'utf-8');
181
+ const parsed = JSON.parse(raw);
182
+ const tasks = parsed?.tasks;
183
+ if (!Array.isArray(tasks) || tasks.length === 0)
184
+ return null;
185
+ // Validate and normalize.
186
+ return tasks.map((node, i) => ({
187
+ title: String(node.title ?? `Step ${i + 1}`).slice(0, 200),
188
+ description: String(node.description ?? ''),
189
+ dependencies: Array.isArray(node.dependencies)
190
+ ? node.dependencies.filter((d) => Number.isInteger(d) && d >= 0 && d < tasks.length && d !== i)
191
+ : [],
192
+ verification: Array.isArray(node.verification)
193
+ ? node.verification.filter((v) => v.trim().length > 0)
194
+ : [],
195
+ }));
196
+ }
197
+ catch {
198
+ log(`[planner] result file not found or invalid: ${resultPath}`, 'stderr');
199
+ return null;
200
+ }
201
+ }
202
+ /**
203
+ * Headless planner fallback: uses the complete() LLM call directly (no
204
+ * harness, no MCP tools). Returns the parsed plan.
205
+ */
206
+ async function runHeadlessPlanner(prompt, llmOpts, log) {
207
+ try {
208
+ const raw = await (0, llm_1.complete)(prompt, {
209
+ baseUrl: llmOpts.baseUrl,
210
+ apiKey: llmOpts.apiKey,
211
+ model: llmOpts.model,
212
+ temperature: llmOpts.temperature ?? 0.2,
213
+ maxTokens: llmOpts.maxTokens ?? 2000,
214
+ });
215
+ const cleaned = raw.replace(/```json/gi, '').replace(/```/g, '').trim();
216
+ const start = cleaned.indexOf('[');
217
+ const end = cleaned.lastIndexOf(']');
218
+ if (start < 0 || end <= start) {
219
+ log('[planner] headless LLM returned unparseable response', 'stderr');
220
+ return null;
221
+ }
222
+ const parsed = JSON.parse(cleaned.slice(start, end + 1));
223
+ if (!Array.isArray(parsed) || parsed.length === 0)
224
+ return null;
225
+ return parsed.map((node, i) => ({
226
+ title: String(node.title ?? `Step ${i + 1}`).slice(0, 200),
227
+ description: String(node.description ?? ''),
228
+ dependencies: Array.isArray(node.dependencies)
229
+ ? node.dependencies.filter((d) => Number.isInteger(d) && d >= 0 && d < parsed.length && d !== i)
230
+ : [],
231
+ verification: Array.isArray(node.verification)
232
+ ? node.verification.filter((v) => String(v).trim().length > 0).map(String)
233
+ : [],
234
+ }));
235
+ }
236
+ catch (err) {
237
+ log(`[planner] headless LLM failed: ${err instanceof Error ? err.message : String(err)}`, 'stderr');
238
+ return null;
239
+ }
240
+ }
241
+ //# sourceMappingURL=planner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../src/cli/commands/planner.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -25,6 +25,7 @@ const usage_1 = require("./commands/usage");
25
25
  const skills_1 = require("./commands/skills");
26
26
  const key_1 = require("./commands/key");
27
27
  const worker_1 = require("./commands/worker");
28
+ const planner_1 = require("./commands/planner");
28
29
  const cleanup_1 = require("./commands/cleanup");
29
30
  const audit_1 = require("./commands/audit");
30
31
  const scaffold_1 = require("./commands/scaffold");
@@ -47,6 +48,7 @@ function usage() {
47
48
  ' teamshare-agent doc --document <documentId> --agent <agentId> --key <ts_...> [--mention <token>] [--comment <commentId>]',
48
49
  ' teamshare-agent build --project <projectId> --agent <agentId> --key <ts_...> [options]',
49
50
  ' teamshare-agent worker --agent <agentId> --key <ts_...> [--once] [--self]',
51
+ ' teamshare-agent planner --project <projectId> --task <taskId> --agent <agentId> --key <ts_...>',
50
52
  ' teamshare-agent merge --task <otId> --agent <agentId> --key <ts_...>',
51
53
  ' teamshare-agent cleanup --agent <agentId> tree-kill stuck session + clear its lock',
52
54
  ' teamshare-agent usage [--day YYYY-MM-DD] [--agent <agentId>]',
@@ -121,6 +123,8 @@ async function main() {
121
123
  await (0, build_1.cmdBuild)(flags);
122
124
  else if (command === 'worker')
123
125
  await (0, worker_1.cmdWorker)(flags);
126
+ else if (command === 'planner')
127
+ await (0, planner_1.cmdPlanner)(flags);
124
128
  else if (command === 'merge')
125
129
  await (0, worker_1.cmdMerge)(flags);
126
130
  else if (command === 'cleanup')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;AACA;;;;;;;;GAQG;AACH,iCAAmC;AAEnC,oCAA6D;AAC7D,0CAAoC;AAEpC,kBAAkB;AAClB,gDAAgD;AAChD,0CAAqD;AACrD,sDAAqD;AACrD,wCAAwC;AACxC,0CAA0C;AAC1C,wCAAwC;AACxC,4CAA4C;AAC5C,4CAA4C;AAC5C,8CAA8C;AAC9C,wCAAgD;AAChD,8CAAwD;AACxD,gDAAgD;AAChD,4CAA4C;AAC5C,kDAAkD;AAClD,gDAAgD;AAEhD,MAAM,UAAU,GAAG,oBAAc,CAAC;AAElC,SAAS,KAAK;IACZ,OAAO;QACL,uCAAuC;QACvC,EAAE;QACF,OAAO;QACP,4DAA4D;QAC5D,oGAAoG;QACpG,+BAA+B;QAC/B,gDAAgD;QAChD,kEAAkE;QAClE,oEAAoE;QACpE,kFAAkF;QAClF,sFAAsF;QACtF,mGAAmG;QACnG,4HAA4H;QAC5H,0FAA0F;QAC1F,6EAA6E;QAC7E,wEAAwE;QACxE,wFAAwF;QACxF,gEAAgE;QAChE,iDAAiD;QACjD,yGAAyG;QACzG,kEAAkE;QAClE,oFAAoF;QACpF,sEAAsE;QACtE,wDAAwD;QACxD,EAAE;QACF,SAAS;QACT,8FAA8F;QAC9F,mFAAmF;QACnF,0EAA0E;QAC1E,wEAAwE;QACxE,iFAAiF;QACjF,iEAAiE;QACjE,yDAAyD;QACzD,+DAA+D;QAC/D,uDAAuD;QACvD,iEAAiE;QACjE,0EAA0E;QAC1E,uEAAuE;QACvE,2EAA2E;QAC3E,uEAAuE;QACvE,uEAAuE;QACvE,iFAAiF;QACjF,2FAA2F;QAC3F,8DAA8D,GAAG,qBAAe,GAAG,GAAG;QACtF,oDAAoD;QACpD,EAAE;QACF,KAAK;QACL,0CAA0C;QAC1C,kDAAkD,GAAG,UAAU,GAAG,GAAG;QACrE,+CAA+C;QAC/C,4CAA4C;QAC5C,kEAAkE;KACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,gBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;aAC9C,IAAI,OAAO,KAAK,MAAM;YAAE,MAAM,IAAA,cAAO,EAAC,KAAK,CAAC,CAAC;aAC7C,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC;aACjD,IAAI,OAAO,KAAK,YAAY;YAAE,MAAM,IAAA,yBAAY,EAAC,KAAK,CAAC,CAAC;aACxD,IAAI,OAAO,KAAK,KAAK;YAAE,MAAM,IAAA,YAAM,EAAC,KAAK,CAAC,CAAC;aAC3C,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC7G,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,IAAA,YAAM,EAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,OAAO,KAAK,MAAM;YAAE,MAAM,IAAA,cAAO,EAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,OAAO,KAAK,KAAK;YAAE,MAAM,IAAA,YAAM,EAAC,KAAK,CAAC,CAAC;aAC3C,IAAI,OAAO,KAAK,OAAO;YAAE,MAAM,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC;aACjD,IAAI,OAAO,KAAK,OAAO;YAAE,MAAM,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;aACnD,IAAI,OAAO,KAAK,OAAO;YAAE,MAAM,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAA,kBAAS,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D,IAAI,OAAO,KAAK,KAAK;YAAE,MAAM,IAAA,YAAM,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D,IAAI,OAAO,KAAK,KAAK;YAAE,MAAM,IAAA,YAAM,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D,IAAI,OAAO,KAAK,OAAO;YAAE,MAAM,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,OAAO,KAAK,UAAU;YAAE,MAAM,IAAA,sBAAW,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aACrF,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAA,oBAAU,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aACnE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAAC,CAAC;IACpG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC/H,OAAO,CAAC,KAAK,CAAC,WAAW,IAAA,YAAG,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -76,24 +76,19 @@ function runAgyPty(opts) {
76
76
  if (done)
77
77
  return;
78
78
  done = true;
79
- clearTimeout(killTimer);
79
+ if (killTimer)
80
+ clearTimeout(killTimer);
80
81
  const tail = clean(lineBuf);
81
82
  if (tail.trim())
82
83
  opts.onLine?.(tail, 'stdout');
83
84
  resolve({ code, output: clean(output) });
84
85
  };
85
86
  const timeoutMs = Math.max(1, opts.timeoutMin ?? 60) * 60_000;
86
- let killTimer = setTimeout(() => {
87
- try {
88
- term.kill();
89
- }
90
- catch { /* already gone */ }
91
- finish(124);
92
- }, timeoutMs);
93
- const dataHandler = term.onData.bind(term);
94
- dataHandler((data) => {
95
- // Reset kill timer on each output — active sessions never get killed.
96
- clearTimeout(killTimer);
87
+ // Idle-reset timer: NO hard ceiling. Only starts on first output.
88
+ let killTimer = null;
89
+ const startIdleTimer = () => {
90
+ if (killTimer)
91
+ clearTimeout(killTimer);
97
92
  killTimer = setTimeout(() => {
98
93
  try {
99
94
  term.kill();
@@ -101,8 +96,19 @@ function runAgyPty(opts) {
101
96
  catch { /* already gone */ }
102
97
  finish(124);
103
98
  }, timeoutMs);
99
+ };
100
+ const dataHandler = term.onData.bind(term);
101
+ dataHandler((data) => {
102
+ // Reset idle timer on each output — active sessions never get killed.
103
+ startIdleTimer();
104
104
  emit(data);
105
105
  });
106
+ // Handle natural process exit — resolve with the real exit code before
107
+ // the idle timer can fire and report 124 (killed). node-pty fires this
108
+ // when the child process terminates for any reason.
109
+ term.onExit(({ exitCode }) => {
110
+ finish(exitCode ?? 1);
111
+ });
106
112
  });
107
113
  }
108
114
  //# sourceMappingURL=agy-pty.js.map