@straiffi/archon 1.11.10 → 1.11.12

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 (101) hide show
  1. package/dist/client/assets/{ActivityView-RnE0983a.js → ActivityView-D0YxLUqI.js} +1 -1
  2. package/dist/client/assets/{GitHubActionsDialog-PaNJhVzv.js → GitHubActionsDialog-hUHzJXrR.js} +1 -1
  3. package/dist/client/assets/{VerificationDialog-PGrCJ1DJ.js → VerificationDialog-D6Sr1Hpi.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-CKd1Dmpz.js → architectureDiagram-3BPJPVTR-CK9xwJva.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-M3OjRhA0.js → blockDiagram-GPEHLZMM-f-jooSU5.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-VWBcGTXO.js → c4Diagram-AAUBKEIU-Dw8tFXqU.js} +1 -1
  7. package/dist/client/assets/channel-CRzDiEyE.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-C4WpCUzU.js → chunk-2J33WTMH-Dz9sx1mJ.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-BQ-j87T6.js → chunk-3OPIFGDE-DHxSlFck.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-BCZvyT9u.js → chunk-5ZQYHXKU-BexTYm2L.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-DZP_PMNz.js → chunk-727SXJPM-BgHp49jV.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-Cejit8wh.js → chunk-AQP2D5EJ-CBB0Kg-W.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-CvXC4rkf.js → chunk-CSCIHK7Q-DyP7XTU4.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-hTgJWrr3.js → chunk-KSCS5N6A-DmaAlkHd.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-bSK1mut3.js → chunk-L5ZTLDWV-BbCJcuw8.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-Y2hnSpRr.js → chunk-LZXEDZCA-CO4dUZ7T.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-BiHH5lS5.js → chunk-ND2GUHAM-DdIScoxN.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-DdxcwTTc.js → chunk-NZK2D7GU-CSayat4N.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-BZIbgKJr.js → chunk-O5CBEL6O-DQ6-KxSx.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-D3yvqt9P.js → chunk-WU5MYG2G-Bn4PvIOT.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-ydg4crE2.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-C8542ymn.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-CZQZPoaH.js → dagre-BM42HDAG-DF2DH2PP.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-DU7zsX_b.js → diagram-2AECGRRQ-h2YnBn5e.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-BCCoHKlp.js → diagram-5GNKFQAL-CGIA2jQw.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-BR_GNJLN.js → diagram-KO2AKTUF-DK3VRNEP.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-B6LZOUTc.js → diagram-LMA3HP47-CkCAtpdf.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-w89pjkBe.js → diagram-OG6HWLK6-DaLX4wzh.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-BReR8ngL.js → erDiagram-TEJ5UH35-CkDWu9VZ.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-CGwpJ9iQ.js → flowDiagram-I6XJVG4X-DKzshKa9.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-BcOPz4K9.js → ganttDiagram-6RSMTGT7-CfcOUVzd.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-m6-x38H5.js → gitGraphDiagram-PVQCEYII-CveUq_fP.js} +1 -1
  33. package/dist/client/assets/{index-yUckGfMu.js → index-DRMy2cc2.js} +115 -115
  34. package/dist/client/assets/{infoDiagram-5YYISTIA-11iWCl_6.js → infoDiagram-5YYISTIA-CTBxib6d.js} +1 -1
  35. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-DbeJ14eh.js → ishikawaDiagram-YF4QCWOH--DkW1thK.js} +1 -1
  36. package/dist/client/assets/{journeyDiagram-JHISSGLW-BYFdU9SL.js → journeyDiagram-JHISSGLW-BBXicnFC.js} +1 -1
  37. package/dist/client/assets/{kanban-definition-UN3LZRKU-Dyc52bol.js → kanban-definition-UN3LZRKU-BquOM7W0.js} +1 -1
  38. package/dist/client/assets/{line-CBauYkto.js → line-DrikE93F.js} +1 -1
  39. package/dist/client/assets/{mermaid-parser.core-BBbL8arn.js → mermaid-parser.core-DcxGTRm1.js} +1 -1
  40. package/dist/client/assets/{mermaid.core-CB2mIiiP.js → mermaid.core-CRFw0uO2.js} +3 -3
  41. package/dist/client/assets/{mindmap-definition-RKZ34NQL-CvWYGfWn.js → mindmap-definition-RKZ34NQL-FFNhybFW.js} +1 -1
  42. package/dist/client/assets/{pieDiagram-4H26LBE5-BsbIF0rU.js → pieDiagram-4H26LBE5-i6cMYse5.js} +1 -1
  43. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-Bvs09UnJ.js → quadrantDiagram-W4KKPZXB-BYZQjQaz.js} +1 -1
  44. package/dist/client/assets/{requirementDiagram-4Y6WPE33-B3U5xSYZ.js → requirementDiagram-4Y6WPE33-B4wEb1VZ.js} +1 -1
  45. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-Dds8cy2g.js → sankeyDiagram-5OEKKPKP-CT8mTepY.js} +1 -1
  46. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BoMb08Ay.js → sequenceDiagram-3UESZ5HK-C6RFM__N.js} +1 -1
  47. package/dist/client/assets/{stateDiagram-AJRCARHV-atm7kYDg.js → stateDiagram-AJRCARHV-ew8CGdEw.js} +1 -1
  48. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DkUI5gTZ.js +1 -0
  49. package/dist/client/assets/{timeline-definition-PNZ67QCA-C7U--kCB.js → timeline-definition-PNZ67QCA-BOIWKsvL.js} +1 -1
  50. package/dist/client/assets/{vennDiagram-CIIHVFJN-BoPWwPSI.js → vennDiagram-CIIHVFJN--dj48T5C.js} +1 -1
  51. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-CJ6Y7g3b.js → wardleyDiagram-YWT4CUSO-Bpu8yneZ.js} +1 -1
  52. package/dist/client/assets/{xychartDiagram-2RQKCTM6-rN5shXue.js → xychartDiagram-2RQKCTM6-CuqF6K-6.js} +1 -1
  53. package/dist/client/index.html +1 -1
  54. package/dist/server/index.js +29 -31
  55. package/dist/server/index.js.map +1 -1
  56. package/dist/server/lib/agent.js +10 -4
  57. package/dist/server/lib/agent.js.map +1 -1
  58. package/dist/server/lib/attachmentDocuments.js +276 -0
  59. package/dist/server/lib/attachmentDocuments.js.map +1 -0
  60. package/dist/server/lib/attachments.js +27 -7
  61. package/dist/server/lib/attachments.js.map +1 -1
  62. package/dist/server/lib/diffExplanationJobs.js +13 -23
  63. package/dist/server/lib/diffExplanationJobs.js.map +1 -1
  64. package/dist/server/lib/diffExplanationRoutes.js +9 -2
  65. package/dist/server/lib/diffExplanationRoutes.js.map +1 -1
  66. package/dist/server/lib/diffExplanationTargets.js +22 -0
  67. package/dist/server/lib/diffExplanationTargets.js.map +1 -0
  68. package/dist/server/lib/git.js +26 -6
  69. package/dist/server/lib/git.js.map +1 -1
  70. package/dist/server/lib/i18n/resources.js +28 -0
  71. package/dist/server/lib/i18n/resources.js.map +1 -1
  72. package/dist/server/lib/opencodeAgentProvider.js +11 -3
  73. package/dist/server/lib/opencodeAgentProvider.js.map +1 -1
  74. package/dist/server/lib/opencodeErrors.js +43 -0
  75. package/dist/server/lib/opencodeErrors.js.map +1 -1
  76. package/dist/server/lib/restrictedFilePrompt.js +7 -0
  77. package/dist/server/lib/restrictedFilePrompt.js.map +1 -0
  78. package/dist/server/lib/reviewPromptContext.js +65 -0
  79. package/dist/server/lib/reviewPromptContext.js.map +1 -0
  80. package/dist/server/lib/serviceRunLogs.js +18 -21
  81. package/dist/server/lib/serviceRunLogs.js.map +1 -1
  82. package/dist/server/lib/types.js.map +1 -1
  83. package/dist/server/lib/workspaceDiff.js +50 -4
  84. package/dist/server/lib/workspaceDiff.js.map +1 -1
  85. package/dist/server/lib/workspaceDiffCommit.js +13 -0
  86. package/dist/server/lib/workspaceDiffCommit.js.map +1 -0
  87. package/dist/server/lib/workspaceDiffRoutes.js +9 -3
  88. package/dist/server/lib/workspaceDiffRoutes.js.map +1 -1
  89. package/dist/server/workers/chat.js +13 -9
  90. package/dist/server/workers/chat.js.map +1 -1
  91. package/dist/server/workers/plan.js +11 -4
  92. package/dist/server/workers/plan.js.map +1 -1
  93. package/dist/server/workers/review.js +18 -71
  94. package/dist/server/workers/review.js.map +1 -1
  95. package/dist/server/workers/specSession.js +13 -9
  96. package/dist/server/workers/specSession.js.map +1 -1
  97. package/package.json +3 -1
  98. package/dist/client/assets/channel-CBQk1IQf.js +0 -1
  99. package/dist/client/assets/classDiagram-4FO5ZUOK-BjizLQoS.js +0 -1
  100. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-B6qpU-kO.js +0 -1
  101. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-EYJsus1Q.js +0 -1
@@ -4,6 +4,34 @@ export const serverResources = {
4
4
  common: {
5
5
  appName: 'Archon',
6
6
  requestFailed: 'Request failed.',
7
+ attachments: {
8
+ emptyResponse: 'I reviewed the attachments, but I could not produce a textual response. Please try again with a short note about what you want me to focus on.',
9
+ onlyTitle: 'Attachments only',
10
+ onlyInstruction: 'The user supplied attachments without accompanying text. Base your response on the attachments and reply with concrete analysis or next-step guidance.',
11
+ utf8: 'Documents must contain valid UTF-8 text. Convert the file to UTF-8 and try again.',
12
+ binary: 'The document contains binary data or unsupported control characters. Attach a UTF-8 text file instead.',
13
+ fileTextLimit: 'Extracted document text exceeds the 128 KiB per-file limit. Split the document into smaller files.',
14
+ turnTextLimit: 'Combined extracted document text exceeds the 256 KiB per-turn limit. Send fewer or smaller documents.',
15
+ fileLimit: 'Attachments must be 10 MiB or smaller.',
16
+ countLimit: 'You can attach up to 4 files per turn.',
17
+ supported: 'Supported files: PNG, JPEG, WebP, .txt, .md, .csv, .json, .yaml, .yml, .log, and .docx.',
18
+ imageMismatch: 'The selected file extension does not match its image type.',
19
+ readFailed: 'Unable to read document attachments.',
20
+ uploadFailed: 'Unable to upload the selected files right now.',
21
+ required: 'At least one file is required.',
22
+ chatBusy: 'Wait for the current chat response to finish before uploading files.',
23
+ specBusy: 'Wait for the current spec response to finish before uploading files.',
24
+ docxEntities: 'DOCX XML must not contain a DOCTYPE or entity declarations.',
25
+ docxDepth: 'DOCX XML nesting exceeds the 128-level limit.',
26
+ docxRoot: 'DOCX is missing a valid Word document XML root.',
27
+ docxEntries: 'DOCX must have unique entries and no more than 256 archive entries.',
28
+ docxPath: 'DOCX contains an unsafe archive entry path.',
29
+ docxExpansion: 'DOCX archive exceeds the expansion limit (8 MiB per entry, 20 MiB total).',
30
+ docxMissing: 'The selected file is not a DOCX document (required archive entries are missing).',
31
+ docxDirectory: 'DOCX archive entries do not match its directory.',
32
+ docxSize: 'DOCX archive entry size does not match its directory.',
33
+ docxIncomplete: 'DOCX archive is incomplete.',
34
+ },
7
35
  bundleCleanup: {
8
36
  notFound: 'Cleanup job not found',
9
37
  active: 'Cleanup is active; wait for the current attempt to finish',
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../server/lib/i18n/resources.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAA;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE;QACF,MAAM,EAAE;YACN,OAAO,EAAE,QAAQ;YACjB,aAAa,EAAE,iBAAiB;YAChC,aAAa,EAAE;gBACb,QAAQ,EAAE,uBAAuB;gBACjC,MAAM,EAAE,2DAA2D;gBACnE,aAAa,EAAE,uEAAuE;gBACtF,eAAe,EAAE,uEAAuE;gBACxF,aAAa,EAAE,kDAAkD;gBACjE,SAAS,EAAE,wBAAwB;gBACnC,iBAAiB,EAAE,kFAAkF;gBACrG,qBAAqB,EAAE,4EAA4E;aACpG;SACF;KACF;CACO,CAAA"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../server/lib/i18n/resources.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAA;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE;QACF,MAAM,EAAE;YACN,OAAO,EAAE,QAAQ;YACjB,aAAa,EAAE,iBAAiB;YAChC,WAAW,EAAE;gBACX,aAAa,EAAE,gJAAgJ;gBAC/J,SAAS,EAAE,kBAAkB;gBAC7B,eAAe,EAAE,wJAAwJ;gBACzK,IAAI,EAAE,mFAAmF;gBACzF,MAAM,EAAE,wGAAwG;gBAChH,aAAa,EAAE,oGAAoG;gBACnH,aAAa,EAAE,uGAAuG;gBACtH,SAAS,EAAE,wCAAwC;gBACnD,UAAU,EAAE,wCAAwC;gBACpD,SAAS,EAAE,yFAAyF;gBACpG,aAAa,EAAE,4DAA4D;gBAC3E,UAAU,EAAE,sCAAsC;gBAClD,YAAY,EAAE,gDAAgD;gBAC9D,QAAQ,EAAE,gCAAgC;gBAC1C,QAAQ,EAAE,sEAAsE;gBAChF,QAAQ,EAAE,sEAAsE;gBAChF,YAAY,EAAE,6DAA6D;gBAC3E,SAAS,EAAE,+CAA+C;gBAC1D,QAAQ,EAAE,iDAAiD;gBAC3D,WAAW,EAAE,qEAAqE;gBAClF,QAAQ,EAAE,6CAA6C;gBACvD,aAAa,EAAE,2EAA2E;gBAC1F,WAAW,EAAE,kFAAkF;gBAC/F,aAAa,EAAE,kDAAkD;gBACjE,QAAQ,EAAE,uDAAuD;gBACjE,cAAc,EAAE,6BAA6B;aAC9C;YACD,aAAa,EAAE;gBACb,QAAQ,EAAE,uBAAuB;gBACjC,MAAM,EAAE,2DAA2D;gBACnE,aAAa,EAAE,uEAAuE;gBACtF,eAAe,EAAE,uEAAuE;gBACxF,aAAa,EAAE,kDAAkD;gBACjE,SAAS,EAAE,wBAAwB;gBACnC,iBAAiB,EAAE,kFAAkF;gBACrG,qBAAqB,EAAE,4EAA4E;aACpG;SACF;KACF;CACO,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { ExecutionEnvironmentFailure } from './executionEnvironment.js';
2
- import { OpencodeModelResolutionError, parseOpencodeStderrModelResolutionError } from './opencodeErrors.js';
2
+ import { OpencodeModelResolutionError, OpencodePermissionRejectedError, parseOpencodePermissionAutoReject, parseOpencodeStderrModelResolutionError } from './opencodeErrors.js';
3
3
  import { extractOpencodePromptOutput } from './opencodePromptOutput.js';
4
4
  import { parseOpencodeError } from './opencodeErrors.js';
5
5
  import { buildOpencodeRunInvocation, getOpencodeCliCompatibility, inspectOpencodeRelease, requireSupportedOpencodeCompatibility, } from './opencodeCli.js';
@@ -104,11 +104,15 @@ export const interpretOpencodeRecoveryEvent = (type, error, text, phase) => {
104
104
  }
105
105
  return null;
106
106
  };
107
- export const isSuccessfulOpencodeExit = (code, stderrModelError, recoveryTracker) => !stderrModelError
107
+ export const isSuccessfulOpencodeExit = (code, stderrModelError, recoveryTracker, permissionAutoReject = null) => !permissionAutoReject
108
+ && !stderrModelError
108
109
  && !recoveryTracker.getModelResolutionError()
109
110
  && !recoveryTracker.hasUnrecoveredError()
110
111
  && (code === 0 || recoveryTracker.hasRecoveredFinalAnswer());
111
- export const createOpencodeExitError = (message, stderrModelError, recoveryTracker) => {
112
+ export const createOpencodeExitError = (message, stderrModelError, recoveryTracker, permissionAutoReject = null) => {
113
+ if (permissionAutoReject) {
114
+ return new OpencodePermissionRejectedError(permissionAutoReject, { cause: new Error(message) });
115
+ }
112
116
  const structuredError = recoveryTracker.getModelResolutionError() ?? recoveryTracker.getUnrecoveredError();
113
117
  return structuredError?.isModelResolutionError || stderrModelError
114
118
  ? new OpencodeModelResolutionError(message)
@@ -117,9 +121,13 @@ export const createOpencodeExitError = (message, stderrModelError, recoveryTrack
117
121
  const interpretOneShotOutput = (stdout, stderr) => {
118
122
  const result = extractOpencodePromptOutput(stdout);
119
123
  const output = result.output.trim();
124
+ const permissionAutoReject = parseOpencodePermissionAutoReject(stdout, stderr);
120
125
  const modelError = result.error?.isModelResolutionError
121
126
  ? result.error
122
127
  : parseOpencodeStderrModelResolutionError(stderr);
128
+ if (permissionAutoReject) {
129
+ return { output, error: new OpencodePermissionRejectedError(permissionAutoReject) };
130
+ }
123
131
  if (result.error || modelError) {
124
132
  const message = result.error?.message || modelError?.message || stderr;
125
133
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"opencodeAgentProvider.js","sourceRoot":"","sources":["../../../server/lib/opencodeAgentProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencodeAgentProvider.js","sourceRoot":"","sources":["../../../server/lib/opencodeAgentProvider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  const MODEL_RESOLUTION_ERROR_PATTERN = /ProviderModelNotFoundError|Model not found/i;
2
2
  const CREDENTIAL_ERROR_PATTERN = /incorrect api key|invalid api key|unauthori[sz]ed|authentication required|proxy-managed/i;
3
+ const ANSI_ESCAPE_PATTERN = /\x1B(?:[@-_][0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g;
4
+ const PERMISSION_AUTO_REJECT_PATTERN = /^\s*!\s*permission requested:\s*([a-z_]+)\s*\(([^)\r\n]+)\);\s*auto-rejecting\s*$/im;
3
5
  const isCredentialError = (value) => CREDENTIAL_ERROR_PATTERN.test(value);
4
6
  export const parseOpencodeError = (error, fallbackText) => {
5
7
  if (typeof error === 'string') {
@@ -53,11 +55,52 @@ export const parseOpencodeStderrModelResolutionError = (stderr) => {
53
55
  }
54
56
  return { message, isModelResolutionError: true };
55
57
  };
58
+ export const parseOpencodePermissionAutoReject = (...outputs) => {
59
+ for (const output of outputs) {
60
+ const match = output.replace(ANSI_ESCAPE_PATTERN, '').match(PERMISSION_AUTO_REJECT_PATTERN);
61
+ if (match) {
62
+ const permission = match[1]?.trim() ?? 'unknown';
63
+ const target = match[2]?.trim() ?? 'unknown target';
64
+ return {
65
+ permission,
66
+ target,
67
+ message: `OpenCode permission request was auto-rejected: ${permission} (${target}).`,
68
+ };
69
+ }
70
+ }
71
+ return null;
72
+ };
73
+ export const createOpencodePermissionAutoRejectTracker = () => {
74
+ let pending = '';
75
+ let rejection = null;
76
+ return {
77
+ consume: (chunk) => {
78
+ if (rejection) {
79
+ return;
80
+ }
81
+ const lines = `${pending}${chunk.toString()}`.split(/\r?\n/);
82
+ pending = lines.pop()?.slice(-4_096) ?? '';
83
+ rejection = parseOpencodePermissionAutoReject(lines.join('\n'));
84
+ },
85
+ finish: () => rejection ?? parseOpencodePermissionAutoReject(pending),
86
+ };
87
+ };
56
88
  export class OpencodeModelResolutionError extends Error {
57
89
  constructor(message, options) {
58
90
  super(message, options);
59
91
  this.name = 'OpencodeModelResolutionError';
60
92
  }
61
93
  }
94
+ export class OpencodePermissionRejectedError extends Error {
95
+ permission;
96
+ target;
97
+ constructor(rejection, options) {
98
+ super(rejection.message, options);
99
+ this.name = 'OpencodePermissionRejectedError';
100
+ this.permission = rejection.permission;
101
+ this.target = rejection.target;
102
+ }
103
+ }
104
+ export const isOpencodePermissionRejectedError = (error) => (error instanceof OpencodePermissionRejectedError);
62
105
  export const isOpencodeModelResolutionError = (error) => (error instanceof OpencodeModelResolutionError);
63
106
  //# sourceMappingURL=opencodeErrors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencodeErrors.js","sourceRoot":"","sources":["../../../server/lib/opencodeErrors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencodeErrors.js","sourceRoot":"","sources":["../../../server/lib/opencodeErrors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export const RESTRICTED_FILE_PROMPT_BLOCK = `<restricted_file_access>
2
+ Do not attempt to read .env or .env.* files anywhere in the workspace, including example, test, local, and template variants such as .env.example and .env.test.example. Do not request permission to access them, and do not recover their contents through shell commands, alternate tools, path spellings, or symlinks. Treat this restriction as final and pass it to delegated agents. Continue with other accessible evidence when possible; if the restricted file is essential, report the limitation without claiming the file was inspected.
3
+ </restricted_file_access>`;
4
+ export const appendRestrictedFilePrompt = (prompt) => (prompt.includes('<restricted_file_access>')
5
+ ? prompt
6
+ : `${prompt}\n\n${RESTRICTED_FILE_PROMPT_BLOCK}`);
7
+ //# sourceMappingURL=restrictedFilePrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restrictedFilePrompt.js","sourceRoot":"","sources":["../../../server/lib/restrictedFilePrompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG;;0BAElB,CAAA;AAE1B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAC5D,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACzC,CAAC,CAAC,MAAM;IACR,CAAC,CAAC,GAAG,MAAM,OAAO,4BAA4B,EAAE,CACnD,CAAA"}
@@ -0,0 +1,65 @@
1
+ export const buildReviewAccessPromptBlock = (workspacePath) => [
2
+ '<review_access_boundaries>',
3
+ `Review working directory: ${JSON.stringify(workspacePath)}`,
4
+ 'Perform repository inspection only inside the supplied review working directory. Do not inspect its parents, sibling worktrees, the original checkout, or other external directories. Paths mentioned in tickets, logs, specifications, or linked-project context do not authorize filesystem access. A skill package explicitly supplied by the runtime is the only exception: read its SKILL.md and files within that package when required by the skill.',
5
+ 'This review runs non-interactively. Do not request permission or approval to access external directories or restricted files; such requests cannot be approved and may be auto-rejected.',
6
+ 'If an operation is denied, treat that denial as final for this review. Do not retry the same access through another tool, shell command, alternate path, or symlink. This also applies to restricted files inside the working directory, including environment example files. Continue using accessible evidence and the supplied diff.',
7
+ 'These restrictions take precedence over instructions to read every changed file or inspect supporting code, including direct workspace diff inspection. Pass the same restrictions and working directory to delegated agents. Do not invent findings from inaccessible evidence or claim that inaccessible files were checked or that review coverage was complete.',
8
+ '</review_access_boundaries>',
9
+ ].join('\n');
10
+ export const buildDiffPromptBlock = (diff) => {
11
+ if (!diff) {
12
+ return {
13
+ investigationInstruction: 'Infer the intended behavior change from the available changed files and related code paths.',
14
+ diffBlock: '<diff>\n(no changes)\n</diff>',
15
+ };
16
+ }
17
+ const diffLineCount = diff.split('\n').length;
18
+ const shouldInlineDiff = diff.length <= 20_000 && diffLineCount <= 400;
19
+ if (shouldInlineDiff) {
20
+ return {
21
+ investigationInstruction: 'Infer the intended behavior change from the inline diff.',
22
+ diffBlock: `<diff>\n${diff}\n</diff>`,
23
+ };
24
+ }
25
+ return {
26
+ investigationInstruction: 'Inspect accessible portions of the diff inside the review working directory before reviewing, subject to <review_access_boundaries>. Use the changed-file list and related code paths to decide which files and hunks to inspect first. Skip denied access without retrying.',
27
+ diffBlock: [
28
+ '<diff omitted="true">',
29
+ `The unified diff was omitted from the initial prompt because it is large (${diffLineCount} lines, ${diff.length} characters).`,
30
+ 'Read only accessible portions of the diff from the review working directory before writing findings. Honor <review_access_boundaries>; do not recover restricted contents through another tool or command.',
31
+ '</diff>',
32
+ ].join('\n'),
33
+ };
34
+ };
35
+ const formatContinuationRun = (run) => {
36
+ const log = run.agent_log?.trim() ?? '';
37
+ const response = run.response_text?.trim() ?? '';
38
+ const content = [
39
+ log ? `Thinking and tool activity:\n${log}` : '',
40
+ response ? `Review response:\n${response}` : '',
41
+ ].filter(Boolean).join('\n\n');
42
+ if (!content) {
43
+ return '';
44
+ }
45
+ return `### ${run.label} (${run.agent_status})\n${content.slice(0, 12_000)}`;
46
+ };
47
+ export const buildReviewContinuationBlock = (continuation, role) => {
48
+ if (!continuation) {
49
+ return '';
50
+ }
51
+ const sessionId = role === 'blind'
52
+ ? continuation.blindSessionId
53
+ : continuation.specCoverageSessionId;
54
+ const roleRuns = continuation.runs.filter(run => role === 'blind'
55
+ ? run.role === 'code-review'
56
+ : run.role === 'spec-coverage');
57
+ const transcript = sessionId
58
+ ? ''
59
+ : roleRuns.map(formatContinuationRun).filter(Boolean).join('\n\n');
60
+ return [
61
+ 'This Review continues an interrupted Review attempt. Continue from the existing investigation instead of restarting blindly, and verify all conclusions against the current worktree before producing the final structured review. The current <review_access_boundaries> also apply to previous investigation instructions; do not repeat denied accesses from the previous attempt.',
62
+ transcript ? `<previous_review_attempt>\n${transcript}\n</previous_review_attempt>` : '',
63
+ ].filter(Boolean).join('\n\n');
64
+ };
65
+ //# sourceMappingURL=reviewPromptContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewPromptContext.js","sourceRoot":"","sources":["../../../server/lib/reviewPromptContext.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,8 @@ const copySource = (source) => {
17
17
  return { kind: 'project' };
18
18
  };
19
19
  const isCurrent = (handle) => buffers.get(handle.projectId) === handle && !handle.stopped;
20
- const emit = (handle, serviceId, stream, text) => {
21
- handle.entries.push({ sequence: ++handle.sequence, service_id: serviceId, stream, text });
20
+ const emit = (handle, serviceId, stream, text, chunkId) => {
21
+ handle.entries.push({ sequence: ++handle.sequence, chunk_id: chunkId, service_id: serviceId, stream, text });
22
22
  if (handle.entries.length > MAX_ENTRIES) {
23
23
  handle.entries.shift();
24
24
  }
@@ -29,7 +29,7 @@ const consume = (handle, serviceId, stream, state, text) => {
29
29
  state.pendingCR = false;
30
30
  if (char === '\n') {
31
31
  if (!state.segmented) {
32
- emit(handle, serviceId, stream, '');
32
+ emit(handle, serviceId, stream, '', state.chunkId);
33
33
  }
34
34
  state.segmented = false;
35
35
  continue;
@@ -40,20 +40,20 @@ const consume = (handle, serviceId, stream, state, text) => {
40
40
  // CRLF is one newline even when the CR and LF arrive in different chunks.
41
41
  const line = state.partial.endsWith('\r') ? state.partial.slice(0, -1) : state.partial;
42
42
  if (line || !state.segmented) {
43
- emit(handle, serviceId, stream, line);
43
+ emit(handle, serviceId, stream, line, state.chunkId);
44
44
  }
45
45
  state.partial = '';
46
46
  state.segmented = false;
47
47
  }
48
48
  else {
49
49
  if (state.partial.length + char.length > MAX_LINE_LENGTH) {
50
- emit(handle, serviceId, stream, state.partial);
50
+ emit(handle, serviceId, stream, state.partial, state.chunkId);
51
51
  state.partial = '';
52
52
  state.segmented = true;
53
53
  }
54
54
  state.partial += char;
55
55
  if (state.partial.length >= MAX_LINE_LENGTH && !state.partial.endsWith('\r')) {
56
- emit(handle, serviceId, stream, state.partial);
56
+ emit(handle, serviceId, stream, state.partial, state.chunkId);
57
57
  state.partial = '';
58
58
  state.segmented = true;
59
59
  }
@@ -66,7 +66,7 @@ const flushPartial = (handle, key, state) => {
66
66
  const pendingCR = state.partial.endsWith('\r');
67
67
  const text = pendingCR ? state.partial.slice(0, -1) : state.partial;
68
68
  if (text) {
69
- emit(handle, serviceId, stream, text);
69
+ emit(handle, serviceId, stream, text, state.chunkId);
70
70
  state.segmented = true;
71
71
  }
72
72
  state.pendingCR = pendingCR;
@@ -79,7 +79,7 @@ export const startServiceRunLog = (projectId, runId, source, services, target) =
79
79
  });
80
80
  const handle = {
81
81
  projectId, runId, source: copySource(source), target: target ? { ...target } : null, services: copiedServices,
82
- entries: [], sequence: 0, stopped: false, streams: new Map(),
82
+ entries: [], sequence: 0, chunkSequence: 0, stopped: false, streams: new Map(),
83
83
  };
84
84
  buffers.delete(projectId);
85
85
  buffers.set(projectId, handle);
@@ -90,31 +90,28 @@ export const appendServiceRunLog = (handle, serviceId, stream, chunk, generation
90
90
  return;
91
91
  }
92
92
  const key = `${serviceId}\0${stream}\0${generation}`;
93
- // Complete earlier fragments before recording output from another stream or launch.
94
- for (const [otherKey, otherState] of handle.streams) {
95
- if (otherKey !== key) {
96
- flushPartial(handle, otherKey, otherState);
97
- }
98
- }
99
93
  let state = handle.streams.get(key);
100
94
  if (!state) {
101
- state = { decoder: new StringDecoder('utf8'), partial: '', segmented: false, pendingCR: false };
95
+ state = { decoder: new StringDecoder('utf8'), partial: '', segmented: false, pendingCR: false, chunkId: 0 };
102
96
  handle.streams.set(key, state);
103
97
  }
98
+ state.chunkId = ++handle.chunkSequence;
99
+ // Only a pending CRLF may suppress a newline from the next captured chunk.
100
+ state.segmented = state.pendingCR && state.segmented;
104
101
  if (typeof chunk === 'string') {
105
102
  consume(handle, serviceId, stream, state, state.decoder.end());
106
103
  state.decoder = new StringDecoder('utf8');
107
- for (let offset = 0; offset < chunk.length; offset += CHUNK_LENGTH) {
108
- consume(handle, serviceId, stream, state, chunk.slice(offset, offset + CHUNK_LENGTH));
109
- }
104
+ consume(handle, serviceId, stream, state, chunk);
110
105
  }
111
106
  else {
112
107
  for (let offset = 0; offset < chunk.length; offset += CHUNK_LENGTH) {
113
108
  consume(handle, serviceId, stream, state, state.decoder.write(chunk.subarray(offset, offset + CHUNK_LENGTH)));
114
109
  }
115
110
  }
111
+ // Publish incomplete lines immediately, without merging separate data events.
112
+ flushPartial(handle, key, state);
116
113
  };
117
- // Call on process close to release an unterminated line for this launch.
114
+ // Call on process close to release pending decoder/CR tails for this launch.
118
115
  export const flushServiceRunLog = (handle, serviceId, stream, generation = '') => {
119
116
  if (!isCurrent(handle)) {
120
117
  return;
@@ -126,11 +123,11 @@ export const flushServiceRunLog = (handle, serviceId, stream, generation = '') =
126
123
  }
127
124
  consume(handle, serviceId, stream, state, state.decoder.end());
128
125
  if (state.pendingCR) {
129
- emit(handle, serviceId, stream, '\r');
126
+ emit(handle, serviceId, stream, '\r', state.chunkId);
130
127
  state.pendingCR = false;
131
128
  }
132
129
  if (state.partial.endsWith('\r')) {
133
- emit(handle, serviceId, stream, state.partial);
130
+ emit(handle, serviceId, stream, state.partial, state.chunkId);
134
131
  }
135
132
  else {
136
133
  flushPartial(handle, key, state);
@@ -1 +1 @@
1
- {"version":3,"file":"serviceRunLogs.js","sourceRoot":"","sources":["../../../server/lib/serviceRunLogs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serviceRunLogs.js","sourceRoot":"","sources":["../../../server/lib/serviceRunLogs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../server/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../server/lib/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { isAbsolute } from 'node:path';
3
- import { getGitDiffDataAgainstBase, getGitDiffDataAgainstBaseAsync, resolveBundleReviewBase, resolveGitCommit, resolveGitHeadCommit, resolveGitRepositoryDefaultReviewBase, resolveGitReviewBaseForBranch, summarizeTicketDiffFiles, } from './git.js';
3
+ import { getCommittedDiffData, getCommittedDiffDataAsync, resolveUnpushedCommitDiffForCwd, UnpushedCommitDiffSelectionError, getGitDiffDataAgainstBase, getGitDiffDataAgainstBaseAsync, resolveBundleReviewBase, resolveGitCommit, resolveGitHeadCommit, resolveGitRepositoryDefaultReviewBase, resolveGitReviewBaseForBranch, summarizeTicketDiffFiles, } from './git.js';
4
4
  import { getGitHubConnectionConfig } from './integrations/index.js';
5
5
  import { resolveWorkspaceTarget } from './workspaceTargets.js';
6
6
  const unavailable = (target, scope, reason, message) => ({ available: false, target, scope, reason, message });
@@ -56,7 +56,7 @@ const resolveWorktreeReviewBase = (target) => {
56
56
  commit,
57
57
  } : null;
58
58
  };
59
- const getSignature = (target, scope, base, filePath, files, diff) => {
59
+ const getSignature = (target, scope, base, filePath, files, diff, committedIdentity) => {
60
60
  const hash = createHash('sha256');
61
61
  hash.update('workspace-diff-v1\0');
62
62
  hash.update(JSON.stringify({
@@ -64,6 +64,7 @@ const getSignature = (target, scope, base, filePath, files, diff) => {
64
64
  scope,
65
65
  workspace: { kind: target.workspaceKind, branch: target.branch },
66
66
  base,
67
+ ...committedIdentity,
67
68
  file_path: filePath,
68
69
  files,
69
70
  }));
@@ -71,7 +72,46 @@ const getSignature = (target, scope, base, filePath, files, diff) => {
71
72
  hash.update(diff);
72
73
  return `sha256:${hash.digest('hex')}`;
73
74
  };
74
- export const getWorkspaceDiff = ({ projectId, target: descriptor, scope, filePath = null, }) => {
75
+ const committedFailure = (target, error) => unavailable(target.descriptor, 'committed', error instanceof UnpushedCommitDiffSelectionError ? 'invalid_commit' : 'diff_unavailable', error instanceof UnpushedCommitDiffSelectionError ? error.message : 'Workspace diff is unavailable.');
76
+ const committedResponse = (target, filePath, identity, data) => {
77
+ if (filePath && !data.diff) {
78
+ return unavailable(target.descriptor, 'committed', 'invalid_file_path', 'The selected file is not part of this workspace diff.');
79
+ }
80
+ const base = { source: 'committed', branch: null, commit: identity.baseCommit };
81
+ return {
82
+ available: true,
83
+ target: target.descriptor,
84
+ scope: 'committed',
85
+ commit: identity.commit,
86
+ workspace: { kind: target.workspaceKind, branch: target.branch },
87
+ base,
88
+ file_path: filePath,
89
+ stats: summarizeTicketDiffFiles(data.files),
90
+ files: data.files,
91
+ diff: data.diff,
92
+ diff_signature: getSignature(target, 'committed', base, filePath, data.files, data.diff, identity),
93
+ };
94
+ };
95
+ const getCommittedWorkspaceDiff = (target, filePath, commit) => {
96
+ try {
97
+ const identity = resolveUnpushedCommitDiffForCwd({ cwd: target.cwd, branch: target.branch, project: target.project, commitHash: commit });
98
+ return committedResponse(target, filePath, identity, getCommittedDiffData(target.cwd, identity.baseCommit, identity.headCommit, filePath));
99
+ }
100
+ catch (error) {
101
+ return committedFailure(target, error);
102
+ }
103
+ };
104
+ const getCommittedWorkspaceDiffAsync = async (target, filePath, commit) => {
105
+ try {
106
+ const identity = resolveUnpushedCommitDiffForCwd({ cwd: target.cwd, branch: target.branch, project: target.project, commitHash: commit });
107
+ const data = await getCommittedDiffDataAsync(target.cwd, identity.baseCommit, identity.headCommit, filePath);
108
+ return committedResponse(target, filePath, identity, data);
109
+ }
110
+ catch (error) {
111
+ return committedFailure(target, error);
112
+ }
113
+ };
114
+ export const getWorkspaceDiff = ({ projectId, target: descriptor, scope, filePath = null, commit = null, }) => {
75
115
  const target = resolveWorkspaceTarget(projectId, descriptor);
76
116
  if (!target.available) {
77
117
  return unavailable(descriptor, scope, target.reason, target.message);
@@ -80,6 +120,9 @@ export const getWorkspaceDiff = ({ projectId, target: descriptor, scope, filePat
80
120
  if (!normalizedFile.ok) {
81
121
  return unavailable(descriptor, scope, 'invalid_file_path', 'File path must be repository-relative.');
82
122
  }
123
+ if (scope === 'committed') {
124
+ return getCommittedWorkspaceDiff(target, normalizedFile.path, commit);
125
+ }
83
126
  const base = scope === 'uncommitted'
84
127
  ? resolveUncommittedBase(target)
85
128
  : target.workspaceKind === 'repo_root'
@@ -112,7 +155,7 @@ export const getWorkspaceDiff = ({ projectId, target: descriptor, scope, filePat
112
155
  return unavailable(descriptor, scope, 'diff_unavailable', 'Workspace diff is unavailable.');
113
156
  }
114
157
  };
115
- export const getWorkspaceDiffAsync = async ({ projectId, target: descriptor, scope, filePath = null, }) => {
158
+ export const getWorkspaceDiffAsync = async ({ projectId, target: descriptor, scope, filePath = null, commit = null, }) => {
116
159
  const target = resolveWorkspaceTarget(projectId, descriptor);
117
160
  if (!target.available) {
118
161
  return unavailable(descriptor, scope, target.reason, target.message);
@@ -121,6 +164,9 @@ export const getWorkspaceDiffAsync = async ({ projectId, target: descriptor, sco
121
164
  if (!normalizedFile.ok) {
122
165
  return unavailable(descriptor, scope, 'invalid_file_path', 'File path must be repository-relative.');
123
166
  }
167
+ if (scope === 'committed') {
168
+ return getCommittedWorkspaceDiffAsync(target, normalizedFile.path, commit);
169
+ }
124
170
  const base = scope === 'uncommitted'
125
171
  ? resolveUncommittedBase(target)
126
172
  : target.workspaceKind === 'repo_root'
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceDiff.js","sourceRoot":"","sources":["../../../server/lib/workspaceDiff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaceDiff.js","sourceRoot":"","sources":["../../../server/lib/workspaceDiff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export const parseWorkspaceDiffCommit = (scope, value) => {
2
+ if (scope !== 'committed' && value !== undefined) {
3
+ return { ok: false, error: 'commit is only supported for committed scope.' };
4
+ }
5
+ if (value === undefined || value === null) {
6
+ return { ok: true, value: null };
7
+ }
8
+ if (typeof value !== 'string' || !/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/i.test(value.trim())) {
9
+ return { ok: false, error: 'commit must be a full 40- or 64-character Git commit hash.' };
10
+ }
11
+ return { ok: true, value: value.trim().toLowerCase() };
12
+ };
13
+ //# sourceMappingURL=workspaceDiffCommit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaceDiffCommit.js","sourceRoot":"","sources":["../../../server/lib/workspaceDiffCommit.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAyB,EAAE,KAAc,EACd,EAAE;IACpE,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+CAA+C,EAAE,CAAA;IAC9E,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAClC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACxF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4DAA4D,EAAE,CAAA;IAC3F,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAA;AACxD,CAAC,CAAA"}