@pentoshi/clai 3.9.3 → 3.9.4

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 (94) hide show
  1. package/dist/agent/runner.d.ts +1 -1
  2. package/dist/agent/runner.js +9 -4
  3. package/dist/agent/runner.js.map +1 -1
  4. package/dist/app/adapters/current-interactive-sessions-adapter.d.ts +4 -0
  5. package/dist/app/adapters/current-interactive-sessions-adapter.js +11 -0
  6. package/dist/app/adapters/current-interactive-sessions-adapter.js.map +1 -0
  7. package/dist/app/controllers/cancel-all-result.d.ts +8 -0
  8. package/dist/app/controllers/cancel-all-result.js +32 -0
  9. package/dist/app/controllers/cancel-all-result.js.map +1 -0
  10. package/dist/app/controllers/session-controller.d.ts +8 -0
  11. package/dist/app/controllers/session-controller.js +20 -4
  12. package/dist/app/controllers/session-controller.js.map +1 -1
  13. package/dist/app/ports/interactive-sessions-port.d.ts +21 -0
  14. package/dist/app/ports/interactive-sessions-port.js +9 -0
  15. package/dist/app/ports/interactive-sessions-port.js.map +1 -0
  16. package/dist/index.js +21 -8
  17. package/dist/index.js.map +1 -1
  18. package/dist/interactive-session/artifact-writer.d.ts +54 -0
  19. package/dist/interactive-session/artifact-writer.js +161 -0
  20. package/dist/interactive-session/artifact-writer.js.map +1 -0
  21. package/dist/interactive-session/cleanup.d.ts +36 -0
  22. package/dist/interactive-session/cleanup.js +157 -0
  23. package/dist/interactive-session/cleanup.js.map +1 -0
  24. package/dist/interactive-session/config.d.ts +118 -0
  25. package/dist/interactive-session/config.js +141 -0
  26. package/dist/interactive-session/config.js.map +1 -0
  27. package/dist/interactive-session/input-policy.d.ts +41 -0
  28. package/dist/interactive-session/input-policy.js +163 -0
  29. package/dist/interactive-session/input-policy.js.map +1 -0
  30. package/dist/interactive-session/manager.d.ts +107 -0
  31. package/dist/interactive-session/manager.js +927 -0
  32. package/dist/interactive-session/manager.js.map +1 -0
  33. package/dist/interactive-session/output-store.d.ts +81 -0
  34. package/dist/interactive-session/output-store.js +239 -0
  35. package/dist/interactive-session/output-store.js.map +1 -0
  36. package/dist/interactive-session/output-view.d.ts +20 -0
  37. package/dist/interactive-session/output-view.js +142 -0
  38. package/dist/interactive-session/output-view.js.map +1 -0
  39. package/dist/interactive-session/recovery-journal.d.ts +55 -0
  40. package/dist/interactive-session/recovery-journal.js +115 -0
  41. package/dist/interactive-session/recovery-journal.js.map +1 -0
  42. package/dist/interactive-session/registry.d.ts +59 -0
  43. package/dist/interactive-session/registry.js +170 -0
  44. package/dist/interactive-session/registry.js.map +1 -0
  45. package/dist/interactive-session/runtime.d.ts +107 -0
  46. package/dist/interactive-session/runtime.js +191 -0
  47. package/dist/interactive-session/runtime.js.map +1 -0
  48. package/dist/interactive-session/session-runtime.d.ts +50 -0
  49. package/dist/interactive-session/session-runtime.js +63 -0
  50. package/dist/interactive-session/session-runtime.js.map +1 -0
  51. package/dist/interactive-session/streaming-redactor.d.ts +53 -0
  52. package/dist/interactive-session/streaming-redactor.js +263 -0
  53. package/dist/interactive-session/streaming-redactor.js.map +1 -0
  54. package/dist/interactive-session/telemetry.d.ts +30 -0
  55. package/dist/interactive-session/telemetry.js +47 -0
  56. package/dist/interactive-session/telemetry.js.map +1 -0
  57. package/dist/interactive-session/transport-factory.d.ts +8 -0
  58. package/dist/interactive-session/transport-factory.js +16 -0
  59. package/dist/interactive-session/transport-factory.js.map +1 -0
  60. package/dist/interactive-session/transport-node-pty.d.ts +49 -0
  61. package/dist/interactive-session/transport-node-pty.js +219 -0
  62. package/dist/interactive-session/transport-node-pty.js.map +1 -0
  63. package/dist/interactive-session/transport-pipe.d.ts +9 -0
  64. package/dist/interactive-session/transport-pipe.js +215 -0
  65. package/dist/interactive-session/transport-pipe.js.map +1 -0
  66. package/dist/interactive-session/transport.d.ts +104 -0
  67. package/dist/interactive-session/transport.js +89 -0
  68. package/dist/interactive-session/transport.js.map +1 -0
  69. package/dist/interactive-session/types.d.ts +254 -0
  70. package/dist/interactive-session/types.js +191 -0
  71. package/dist/interactive-session/types.js.map +1 -0
  72. package/dist/os/process-identity.d.ts +46 -0
  73. package/dist/os/process-identity.js +147 -0
  74. package/dist/os/process-identity.js.map +1 -0
  75. package/dist/repl.js +10 -0
  76. package/dist/repl.js.map +1 -1
  77. package/dist/tools/definitions.js +95 -0
  78. package/dist/tools/definitions.js.map +1 -1
  79. package/dist/tools/interactive-session-tools.d.ts +11 -0
  80. package/dist/tools/interactive-session-tools.js +261 -0
  81. package/dist/tools/interactive-session-tools.js.map +1 -0
  82. package/dist/tools/jobs.js +2 -70
  83. package/dist/tools/jobs.js.map +1 -1
  84. package/dist/tools/registry.js +4 -0
  85. package/dist/tools/registry.js.map +1 -1
  86. package/dist/tui-v2/bootstrap/composition-root.d.ts +3 -0
  87. package/dist/tui-v2/bootstrap/composition-root.js +3 -0
  88. package/dist/tui-v2/bootstrap/composition-root.js.map +1 -1
  89. package/dist/tui-v2/bootstrap/start-tui-v2.js +10 -0
  90. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  91. package/dist/types.d.ts +5 -0
  92. package/dist/version.generated.d.ts +2 -2
  93. package/dist/version.generated.js +2 -2
  94. package/package.json +1 -1
@@ -57,5 +57,5 @@ export interface AgentRunOptions {
57
57
  previousTurn?: PreviousTurnSignal | undefined;
58
58
  }
59
59
  export declare function runAgentTurn(prompt: string, options?: AgentRunOptions): Promise<import("./turn-outcome.js").TurnOutcome>;
60
- /** Compatibility boundary for callers that still consume rendered text. */
60
+ /** Compatibility boundary for callers that consume visible assistant text. */
61
61
  export declare function runAgentLoop(prompt: string, options?: AgentRunOptions): Promise<string>;
@@ -72,7 +72,7 @@ import { readDeclaredParentTaskId, resolveResponderParent, isExplicitResponderDe
72
72
  import { readTaskUpdateArgs, distinctAdvancingTaskIds, isSimultaneousTaskAdvance, batchUpdateSignature, buildMultiUpdateReminder, buildMultiOpenRejection, multiUpdateToast, multiOpenToast, openingTaskIds, } from "./task-sync.js";
73
73
  import { absorbLooseWorkIntoLedger, applyDestinationCwd, canMarkTaskDone, hasLocalRuntimeProof, hasRemoteWorkProof, isDevServerCall, isEvidenceWorkTool, isFeatureImplementationCall, isPackageInstallCommand, isPlanPreflightTool, isPortListeningOutput, isReadOnlyReconTool, isRemoteActiveTestCall, isRemoteObservationTask, isRemoteReconToolCall, isRuntimeObservationTask, isScaffoldCreateCommand, isServerReadyOutput, ledgerFromTaskEvidence, pickPendingTaskForToolCall, recordTaskWorkSuccess, resolveUserDestinationHint, taskEvidenceFromLedger, TOOL_ABORT_GRACE_MS, toolHardBudgetMs, toolStallBudgetMs, userAskedForFeatureApp, } from "./task-evidence.js";
74
74
  import { buildSessionStateBlock, inferNextHint, upsertSessionStateMessage, } from "./session-state.js";
75
- import { buildContinueOrientation, } from "./continue-orient.js";
75
+ import { buildContinueOrientation, looksLikeContinueOrResumePrompt, } from "./continue-orient.js";
76
76
  import { detectPackageManager } from "./workspace-orient.js";
77
77
  import { budgetRemaining, consumeBudget, createRecoveryBudgets, freestyleClaimsAppReady, looksLikeShallowPentestReport, recoveryForErrorDiagnosis, recoveryForFailedProbe, recoveryForFreshness, recoveryForMissingFeature, recoveryForMissingPlan, recoveryForNarration, recoveryForPrematureComplete, recoveryForRuntimeVerify, recoveryForShallowPentest, } from "./must-continue.js";
78
78
  import { outOfScopeToolMessage, scopeContextMessage } from "./scope-context.js";
@@ -380,7 +380,10 @@ export async function runAgentTurn(prompt, options = {}) {
380
380
  // freshness retries — a false "act don't narrate" path burned tokens on
381
381
  // web.search recovery loops after a simple "hi".
382
382
  const idleOrSocialPrompt = looksLikeIdleOrSocialPrompt(prompt);
383
- suppressOutcomeDiagnostics = informationalQuery || idleOrSocialPrompt;
383
+ suppressOutcomeDiagnostics =
384
+ informationalQuery ||
385
+ idleOrSocialPrompt ||
386
+ looksLikeContinueOrResumePrompt(prompt);
384
387
  const freshWebSearchRequired = !buildLikeTurn &&
385
388
  !pentestLikeTurn &&
386
389
  !idleOrSocialPrompt &&
@@ -437,6 +440,7 @@ export async function runAgentTurn(prompt, options = {}) {
437
440
  // behind a stale "awaiting approval" gate for a plan that already ran.
438
441
  session.planApproved.value = true;
439
442
  }
443
+ suppressOutcomeDiagnostics ||= !session.planApproved.value;
440
444
  const destinationHint = resolveUserDestinationHint(prompt);
441
445
  const orientationSourceText = [
442
446
  prompt,
@@ -3722,6 +3726,7 @@ export async function runAgentTurn(prompt, options = {}) {
3722
3726
  looksLikeErrorDiagnosisWithFixIntent(cleaned);
3723
3727
  const shouldRetryBeforeFinalizing = productiveSteps === 0 ||
3724
3728
  planNarrated ||
3729
+ ((narratedAction || narratedWebAction) && !informationalQuery) ||
3725
3730
  (session.planApproved.value &&
3726
3731
  planHasOpenWorkNow &&
3727
3732
  (narratedAction || errorFixNarration)) ||
@@ -4469,8 +4474,8 @@ export async function runAgentTurn(prompt, options = {}) {
4469
4474
  throw error;
4470
4475
  }
4471
4476
  }
4472
- /** Compatibility boundary for callers that still consume rendered text. */
4477
+ /** Compatibility boundary for callers that consume visible assistant text. */
4473
4478
  export async function runAgentLoop(prompt, options = {}) {
4474
- return renderTurnOutcome(await runAgentTurn(prompt, options));
4479
+ return (await runAgentTurn(prompt, options)).answer;
4475
4480
  }
4476
4481
  //# sourceMappingURL=runner.js.map