terminal-pilot 0.0.40 → 0.0.42

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 (65) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -1
  3. package/dist/cli.js +751 -9684
  4. package/dist/cli.js.map +4 -4
  5. package/dist/commands/close-session.js +9 -1
  6. package/dist/commands/close-session.js.map +2 -2
  7. package/dist/commands/create-session.js +9 -1
  8. package/dist/commands/create-session.js.map +2 -2
  9. package/dist/commands/daemon-runtime.js +9 -1
  10. package/dist/commands/daemon-runtime.js.map +2 -2
  11. package/dist/commands/fill.js +9 -1
  12. package/dist/commands/fill.js.map +2 -2
  13. package/dist/commands/get-session.js +9 -1
  14. package/dist/commands/get-session.js.map +2 -2
  15. package/dist/commands/index.d.ts +4 -0
  16. package/dist/commands/index.js +19 -2
  17. package/dist/commands/index.js.map +2 -2
  18. package/dist/commands/install.js.map +1 -1
  19. package/dist/commands/installer.js.map +1 -1
  20. package/dist/commands/list-sessions.js +9 -1
  21. package/dist/commands/list-sessions.js.map +2 -2
  22. package/dist/commands/press-key.js +9 -1
  23. package/dist/commands/press-key.js.map +2 -2
  24. package/dist/commands/read-history.js +9 -1
  25. package/dist/commands/read-history.js.map +2 -2
  26. package/dist/commands/read-screen.js +9 -1
  27. package/dist/commands/read-screen.js.map +2 -2
  28. package/dist/commands/resize.js +9 -1
  29. package/dist/commands/resize.js.map +2 -2
  30. package/dist/commands/runtime.js +9 -1
  31. package/dist/commands/runtime.js.map +2 -2
  32. package/dist/commands/screenshot.js +9 -1
  33. package/dist/commands/screenshot.js.map +2 -2
  34. package/dist/commands/send-signal.js +9 -1
  35. package/dist/commands/send-signal.js.map +2 -2
  36. package/dist/commands/type.js +9 -1
  37. package/dist/commands/type.js.map +2 -2
  38. package/dist/commands/uninstall.js.map +1 -1
  39. package/dist/commands/wait-for-exit.js +9 -1
  40. package/dist/commands/wait-for-exit.js.map +2 -2
  41. package/dist/commands/wait-for.d.ts +2 -0
  42. package/dist/commands/wait-for.js +19 -2
  43. package/dist/commands/wait-for.js.map +2 -2
  44. package/dist/index.js +9 -1
  45. package/dist/index.js.map +2 -2
  46. package/dist/terminal-pilot.js +9 -1
  47. package/dist/terminal-pilot.js.map +2 -2
  48. package/dist/terminal-session.d.ts +1 -0
  49. package/dist/terminal-session.js +9 -1
  50. package/dist/terminal-session.js.map +2 -2
  51. package/dist/testing/cli-repl.js +757 -9690
  52. package/dist/testing/cli-repl.js.map +4 -4
  53. package/dist/testing/qa-cli.js +766 -9699
  54. package/dist/testing/qa-cli.js.map +4 -4
  55. package/node_modules/toolcraft-design/dist/index.d.ts +2 -2
  56. package/node_modules/toolcraft-design/dist/index.js +1 -1
  57. package/node_modules/toolcraft-design/dist/render-markdown-plaintext.d.ts +2 -0
  58. package/node_modules/toolcraft-design/dist/render-markdown-plaintext.js +1 -0
  59. package/node_modules/toolcraft-design/dist/terminal-markdown/index.d.ts +2 -0
  60. package/node_modules/toolcraft-design/dist/terminal-markdown/index.js +1 -0
  61. package/node_modules/toolcraft-design/dist/terminal-markdown/parser/inline.js +38 -2
  62. package/node_modules/toolcraft-design/dist/terminal-markdown/plaintext-renderer.d.ts +11 -0
  63. package/node_modules/toolcraft-design/dist/terminal-markdown/plaintext-renderer.js +228 -0
  64. package/node_modules/toolcraft-design/package.json +4 -0
  65. package/package.json +2 -1
@@ -1100,10 +1100,13 @@ var TerminalSession = class {
1100
1100
  }
1101
1101
  async waitFor(pattern, opts) {
1102
1102
  const timeout = opts?.timeout ?? DEFAULT_TIMEOUT_MS;
1103
+ const scope = opts?.scope ?? "history";
1103
1104
  assertTimeout(timeout);
1105
+ assertWaitScope(scope);
1104
1106
  const startedAt = Date.now();
1105
1107
  while (Date.now() - startedAt <= timeout) {
1106
- const matched = matchPattern(this.rawBuffer, pattern);
1108
+ const source = scope === "screen" ? (await this.screen()).text : this.rawBuffer;
1109
+ const matched = matchPattern(source, pattern);
1107
1110
  if (matched !== null) {
1108
1111
  return matched;
1109
1112
  }
@@ -1224,6 +1227,11 @@ function assertTimeout(timeout) {
1224
1227
  throw new Error("Timeout must be a finite non-negative number.");
1225
1228
  }
1226
1229
  }
1230
+ function assertWaitScope(scope) {
1231
+ if (scope !== "history" && scope !== "screen") {
1232
+ throw new Error('Wait scope must be either "history" or "screen".');
1233
+ }
1234
+ }
1227
1235
  function assertQuietPeriod(duration) {
1228
1236
  if (!Number.isFinite(duration) || duration < 0) {
1229
1237
  throw new Error("Quiet period must be a finite non-negative number.");