@straiffi/archon 1.11.11 → 1.11.14

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/client/assets/{ActivityView-DhXAk8nD.js → ActivityView-CXlLfbio.js} +1 -1
  2. package/dist/client/assets/{GitHubActionsDialog-eV8vDGmv.js → GitHubActionsDialog-COncogiu.js} +1 -1
  3. package/dist/client/assets/{VerificationDialog-C4Ij0P9V.js → VerificationDialog-DcKjv3mg.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR--XT-8mH7.js → architectureDiagram-3BPJPVTR-BgpjZv9J.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-A3lej45d.js → blockDiagram-GPEHLZMM-DZOzPj8L.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-BsiLJgam.js → c4Diagram-AAUBKEIU-CH8w_-4O.js} +1 -1
  7. package/dist/client/assets/channel-DOoXSYAr.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-Dr5H5EGn.js → chunk-2J33WTMH-BhCJUMWk.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-D_cjBOY3.js → chunk-3OPIFGDE-B4ljJWcN.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-D3lD57Bx.js → chunk-5ZQYHXKU-BokkrzzD.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-UB6SKeIY.js → chunk-727SXJPM-V-Kd95sz.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-P6A2b7ic.js → chunk-AQP2D5EJ-D7ZyW65i.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-CMjSxVuN.js → chunk-CSCIHK7Q-3cPiGWR4.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-D9rfxTvN.js → chunk-KSCS5N6A-fh-t3Kan.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-B69CbLIs.js → chunk-L5ZTLDWV-Bz_XmsGr.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-BB4u5QGw.js → chunk-LZXEDZCA-DUQIbmfo.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-CiPVJM4O.js → chunk-ND2GUHAM-BeaXA2cA.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-ByHDa020.js → chunk-NZK2D7GU-Cljr0eIp.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-CJixRpq_.js → chunk-O5CBEL6O-BSZxUONE.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-iQo_M1AS.js → chunk-WU5MYG2G-CqeEBV6t.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-DKWNm6Cx.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-JFUHs0Z7.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-Cp0C8m-n.js → dagre-BM42HDAG-C684sP5O.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-HKfPlcrp.js → diagram-2AECGRRQ-Bsuw7S1w.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-CVqac4lf.js → diagram-5GNKFQAL-B7TKNAIK.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-C0Rs9AXE.js → diagram-KO2AKTUF-RPOTY2uQ.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-BN6HAX-s.js → diagram-LMA3HP47-Dpk6toIw.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-D3ykU1BG.js → diagram-OG6HWLK6-DVJDTxyc.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-DRYdle2Q.js → erDiagram-TEJ5UH35-BTCHMpI9.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-BoCAsLFi.js → flowDiagram-I6XJVG4X-DJHpUHaK.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-rTjNCkO6.js → ganttDiagram-6RSMTGT7-B3lqQNjh.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-WOFN74ol.js → gitGraphDiagram-PVQCEYII-kSFZuvH6.js} +1 -1
  33. package/dist/client/assets/{index-D_brbG-0.css → index-C1ZNfkTu.css} +1 -1
  34. package/dist/client/assets/{index-CjQf4He8.js → index-CXBsxrT1.js} +114 -114
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-DoOumPs2.js → infoDiagram-5YYISTIA-D7rhmUR9.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CcXTjYSk.js → ishikawaDiagram-YF4QCWOH-CFrqWdH6.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-FUkB7RNm.js → journeyDiagram-JHISSGLW-BPgPF00X.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-DQ9QVLE3.js → kanban-definition-UN3LZRKU-BJU3LTu3.js} +1 -1
  39. package/dist/client/assets/{line-DclFnIyG.js → line-DTRSChYM.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-35QfBVsT.js → mermaid-parser.core-X8EDtr9G.js} +1 -1
  41. package/dist/client/assets/{mermaid.core-DUGvejuM.js → mermaid.core-CQDbIF5j.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-B0BKDy7C.js → mindmap-definition-RKZ34NQL-Bcke6M7z.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-C5Dnh4Wj.js → pieDiagram-4H26LBE5-j8xeTgqq.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-C2QopzmK.js → quadrantDiagram-W4KKPZXB-OlvBffG8.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-BdvmFwD3.js → requirementDiagram-4Y6WPE33-DA6zNi15.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-C8uEigA1.js → sankeyDiagram-5OEKKPKP-BsS5qud8.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-C7aiaSWU.js → sequenceDiagram-3UESZ5HK-BfZ_W9Jc.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-fGTraRod.js → stateDiagram-AJRCARHV-C7uuqC0M.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-B2rL_9Nk.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-BbeaBG9A.js → timeline-definition-PNZ67QCA-yuywaFQ6.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-DFQ9EF7H.js → vennDiagram-CIIHVFJN-Cxlyjlnx.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-Bl-Acd-e.js → wardleyDiagram-YWT4CUSO-DcJ0jJo4.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-C5hjKfYz.js → xychartDiagram-2RQKCTM6-Cia16EBC.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/index.js +29 -31
  56. package/dist/server/index.js.map +1 -1
  57. package/dist/server/lib/agent.js +10 -4
  58. package/dist/server/lib/agent.js.map +1 -1
  59. package/dist/server/lib/attachmentDocuments.js +276 -0
  60. package/dist/server/lib/attachmentDocuments.js.map +1 -0
  61. package/dist/server/lib/attachments.js +27 -7
  62. package/dist/server/lib/attachments.js.map +1 -1
  63. package/dist/server/lib/codexUpgrade.js +193 -0
  64. package/dist/server/lib/codexUpgrade.js.map +1 -0
  65. package/dist/server/lib/i18n/resources.js +31 -0
  66. package/dist/server/lib/i18n/resources.js.map +1 -1
  67. package/dist/server/lib/opencodeAgentProvider.js +11 -3
  68. package/dist/server/lib/opencodeAgentProvider.js.map +1 -1
  69. package/dist/server/lib/opencodeErrors.js +43 -0
  70. package/dist/server/lib/opencodeErrors.js.map +1 -1
  71. package/dist/server/lib/restrictedFilePrompt.js +7 -0
  72. package/dist/server/lib/restrictedFilePrompt.js.map +1 -0
  73. package/dist/server/lib/reviewPromptContext.js +65 -0
  74. package/dist/server/lib/reviewPromptContext.js.map +1 -0
  75. package/dist/server/lib/specArtifact.js +29 -0
  76. package/dist/server/lib/specArtifact.js.map +1 -1
  77. package/dist/server/lib/toolUpgrade.js +4 -1
  78. package/dist/server/lib/toolUpgrade.js.map +1 -1
  79. package/dist/server/lib/types.js.map +1 -1
  80. package/dist/server/workers/chat.js +13 -9
  81. package/dist/server/workers/chat.js.map +1 -1
  82. package/dist/server/workers/plan.js +11 -4
  83. package/dist/server/workers/plan.js.map +1 -1
  84. package/dist/server/workers/review.js +18 -71
  85. package/dist/server/workers/review.js.map +1 -1
  86. package/dist/server/workers/specArtifactContract.js +40 -0
  87. package/dist/server/workers/specArtifactContract.js.map +1 -0
  88. package/dist/server/workers/specSession.js +14 -46
  89. package/dist/server/workers/specSession.js.map +1 -1
  90. package/package.json +3 -1
  91. package/dist/client/assets/channel-DcOmia11.js +0 -1
  92. package/dist/client/assets/classDiagram-4FO5ZUOK-CP_nUDz7.js +0 -1
  93. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-cHyF23wV.js +0 -1
  94. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-jJPXa3YX.js +0 -1
@@ -22,7 +22,8 @@ import { markTicketDescriptionVisibleInBundle } from './ticketMessages.js';
22
22
  import { getTicket } from './tickets.js';
23
23
  import { createTranscriptRunSnapshots } from './transcriptRuns.js';
24
24
  import { createHostLauncherEnvironment, createLegacyHostRuntimeEnvironment, createWorkspaceProcessEnvironment, } from './workspaceProcessEnvironment.js';
25
- import { OpencodeModelResolutionError, parseOpencodeStderrModelResolutionError, } from './opencodeErrors.js';
25
+ import { OpencodeModelResolutionError, parseOpencodeStderrModelResolutionError, parseOpencodePermissionAutoReject, createOpencodePermissionAutoRejectTracker, } from './opencodeErrors.js';
26
+ import { appendRestrictedFilePrompt } from './restrictedFilePrompt.js';
26
27
  import { decodeOpencodeStreamEvent, extractLeadingOpencodeJsonObjects, extractOpencodeStreamUsage, parseOpencodeStreamLine } from './opencodeStream.js';
27
28
  import { assertAgentSpawnPermit, AgentSpawnPermitRevokedError } from './agentSpawnPermits.js';
28
29
  import { buildClaudeStdinMessage } from './claudeStdin.js';
@@ -2391,6 +2392,7 @@ const runAgentOnce = ({ ticketId, tool, prompt, cwd, io, model, variant = null,
2391
2392
  let usageSnapshot = EMPTY_CHAT_USAGE_SNAPSHOT;
2392
2393
  let remainder = '';
2393
2394
  const stderrChunks = [];
2395
+ const permissionAutoRejectTracker = createOpencodePermissionAutoRejectTracker();
2394
2396
  const progressUpdater = createThrottledProgressUpdater(() => {
2395
2397
  writeRunStatus('running', logLines.join('\n\n'), responseLines.join('\n\n'));
2396
2398
  });
@@ -2415,6 +2417,7 @@ const runAgentOnce = ({ ticketId, tool, prompt, cwd, io, model, variant = null,
2415
2417
  }
2416
2418
  const output = providerStdout ?? child.stdout;
2417
2419
  output?.on('data', (chunk) => {
2420
+ permissionAutoRejectTracker.consume(chunk);
2418
2421
  lastOutputAt = Date.now();
2419
2422
  const text = remainder + chunk.toString();
2420
2423
  const lines = text.split('\n');
@@ -2532,6 +2535,8 @@ const runAgentOnce = ({ ticketId, tool, prompt, cwd, io, model, variant = null,
2532
2535
  ? persistedResponse
2533
2536
  : finalResponse;
2534
2537
  const stderrModelError = parseOpencodeStderrModelResolutionError(stderrOutput);
2538
+ const permissionAutoReject = permissionAutoRejectTracker.finish()
2539
+ ?? parseOpencodePermissionAutoReject(stderrOutput);
2535
2540
  const timing = buildResponseTiming({ startTime, firstFinalAnswerTime, isStopped: Boolean(buildState?.stopRequested || reviewProcessState?.stopRequested) });
2536
2541
  if (buildState?.stopRequested || reviewProcessState?.stopRequested) {
2537
2542
  const transcriptRuns = finalizeRun('stopped', log, finalResponse, { transcriptResponseText });
@@ -2548,8 +2553,9 @@ const runAgentOnce = ({ ticketId, tool, prompt, cwd, io, model, variant = null,
2548
2553
  const forcedReviewCompletion = Boolean(reviewProcessState
2549
2554
  && hasUsableReviewResponse
2550
2555
  && !recoveryTracker.hasUnrecoveredError()
2556
+ && !permissionAutoReject
2551
2557
  && reviewCompletionForced);
2552
- if (isSuccessfulOpencodeExit(code, stderrModelError, recoveryTracker) || forcedReviewCompletion) {
2558
+ if (isSuccessfulOpencodeExit(code, stderrModelError, recoveryTracker, permissionAutoReject) || forcedReviewCompletion) {
2553
2559
  const transcriptRuns = finalizeRun('done', log, finalResponse, { emit: emitSuccessUpdate, transcriptResponseText });
2554
2560
  resolveOnce(withTranscriptRuns({ response: finalResponse, responseTiming: timing, usageSnapshot }, transcriptRuns));
2555
2561
  return;
@@ -2557,7 +2563,7 @@ const runAgentOnce = ({ ticketId, tool, prompt, cwd, io, model, variant = null,
2557
2563
  const failureMessage = `Agent exited with code ${code ?? 'null'}\n${log}${stderrOutput !== log && stderrOutput ? '\n\n' + stderrOutput : ''}`;
2558
2564
  const error = resumeSessionId && !executionCapableEventObserved && isTypedPreExecutionContinuationRejection(failureMessage)
2559
2565
  ? new AgentContinuationRejectedError(failureMessage)
2560
- : createOpencodeExitError(failureMessage, stderrModelError, recoveryTracker);
2566
+ : createOpencodeExitError(failureMessage, stderrModelError, recoveryTracker, permissionAutoReject);
2561
2567
  const retryableError = !executionCapableEventObserved && !sessionId
2562
2568
  ? markRetryableOpenCodeDatabaseLock(error)
2563
2569
  : error;
@@ -2615,7 +2621,7 @@ export const runAgent = (options) => {
2615
2621
  const run = () => runAgentOnce(preparedOptions);
2616
2622
  return options.tool === 'opencode' ? retryOpenCodeDatabaseLocks(run) : run();
2617
2623
  };
2618
- const enrichedPrompt = enrichPromptWithPreview(options.prompt, options.executionContext, options.executionTarget);
2624
+ const enrichedPrompt = enrichPromptWithPreview(appendRestrictedFilePrompt(options.prompt), options.executionContext, options.executionTarget);
2619
2625
  return typeof enrichedPrompt === 'string' ? launch(enrichedPrompt) : enrichedPrompt.then(launch);
2620
2626
  };
2621
2627
  const runChatAgentOnce = ({ chatSessionId, tool, prompt, files = [], cwd, io, model, variant = null, skills = [], resumeSessionId = null, opencodeAgentMode = 'build', executionContext, mainRun, spawnPermitId, executionProvider = hostExecutionEnvironment, executionTarget, executionLauncherEnvironment = createHostLauncherEnvironment(), executionRuntimeEnvironment = createLegacyHostRuntimeEnvironment(cwd, { PWD: cwd }), opencodeRuntimeIdentity = null, }) => {