@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.
- package/dist/client/assets/{ActivityView-RnE0983a.js → ActivityView-D0YxLUqI.js} +1 -1
- package/dist/client/assets/{GitHubActionsDialog-PaNJhVzv.js → GitHubActionsDialog-hUHzJXrR.js} +1 -1
- package/dist/client/assets/{VerificationDialog-PGrCJ1DJ.js → VerificationDialog-D6Sr1Hpi.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-CKd1Dmpz.js → architectureDiagram-3BPJPVTR-CK9xwJva.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-M3OjRhA0.js → blockDiagram-GPEHLZMM-f-jooSU5.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-VWBcGTXO.js → c4Diagram-AAUBKEIU-Dw8tFXqU.js} +1 -1
- package/dist/client/assets/channel-CRzDiEyE.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-C4WpCUzU.js → chunk-2J33WTMH-Dz9sx1mJ.js} +1 -1
- package/dist/client/assets/{chunk-3OPIFGDE-BQ-j87T6.js → chunk-3OPIFGDE-DHxSlFck.js} +1 -1
- package/dist/client/assets/{chunk-5ZQYHXKU-BCZvyT9u.js → chunk-5ZQYHXKU-BexTYm2L.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-DZP_PMNz.js → chunk-727SXJPM-BgHp49jV.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-Cejit8wh.js → chunk-AQP2D5EJ-CBB0Kg-W.js} +1 -1
- package/dist/client/assets/{chunk-CSCIHK7Q-CvXC4rkf.js → chunk-CSCIHK7Q-DyP7XTU4.js} +1 -1
- package/dist/client/assets/{chunk-KSCS5N6A-hTgJWrr3.js → chunk-KSCS5N6A-DmaAlkHd.js} +1 -1
- package/dist/client/assets/{chunk-L5ZTLDWV-bSK1mut3.js → chunk-L5ZTLDWV-BbCJcuw8.js} +1 -1
- package/dist/client/assets/{chunk-LZXEDZCA-Y2hnSpRr.js → chunk-LZXEDZCA-CO4dUZ7T.js} +2 -2
- package/dist/client/assets/{chunk-ND2GUHAM-BiHH5lS5.js → chunk-ND2GUHAM-DdIScoxN.js} +1 -1
- package/dist/client/assets/{chunk-NZK2D7GU-DdxcwTTc.js → chunk-NZK2D7GU-CSayat4N.js} +1 -1
- package/dist/client/assets/{chunk-O5CBEL6O-BZIbgKJr.js → chunk-O5CBEL6O-DQ6-KxSx.js} +1 -1
- package/dist/client/assets/{chunk-WU5MYG2G-D3yvqt9P.js → chunk-WU5MYG2G-Bn4PvIOT.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-ydg4crE2.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-C8542ymn.js +1 -0
- package/dist/client/assets/{dagre-BM42HDAG-CZQZPoaH.js → dagre-BM42HDAG-DF2DH2PP.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-DU7zsX_b.js → diagram-2AECGRRQ-h2YnBn5e.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-BCCoHKlp.js → diagram-5GNKFQAL-CGIA2jQw.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-BR_GNJLN.js → diagram-KO2AKTUF-DK3VRNEP.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-B6LZOUTc.js → diagram-LMA3HP47-CkCAtpdf.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-w89pjkBe.js → diagram-OG6HWLK6-DaLX4wzh.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-BReR8ngL.js → erDiagram-TEJ5UH35-CkDWu9VZ.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-CGwpJ9iQ.js → flowDiagram-I6XJVG4X-DKzshKa9.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-BcOPz4K9.js → ganttDiagram-6RSMTGT7-CfcOUVzd.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-m6-x38H5.js → gitGraphDiagram-PVQCEYII-CveUq_fP.js} +1 -1
- package/dist/client/assets/{index-yUckGfMu.js → index-DRMy2cc2.js} +115 -115
- package/dist/client/assets/{infoDiagram-5YYISTIA-11iWCl_6.js → infoDiagram-5YYISTIA-CTBxib6d.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-DbeJ14eh.js → ishikawaDiagram-YF4QCWOH--DkW1thK.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-BYFdU9SL.js → journeyDiagram-JHISSGLW-BBXicnFC.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-Dyc52bol.js → kanban-definition-UN3LZRKU-BquOM7W0.js} +1 -1
- package/dist/client/assets/{line-CBauYkto.js → line-DrikE93F.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-BBbL8arn.js → mermaid-parser.core-DcxGTRm1.js} +1 -1
- package/dist/client/assets/{mermaid.core-CB2mIiiP.js → mermaid.core-CRFw0uO2.js} +3 -3
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-CvWYGfWn.js → mindmap-definition-RKZ34NQL-FFNhybFW.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-BsbIF0rU.js → pieDiagram-4H26LBE5-i6cMYse5.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-Bvs09UnJ.js → quadrantDiagram-W4KKPZXB-BYZQjQaz.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-B3U5xSYZ.js → requirementDiagram-4Y6WPE33-B4wEb1VZ.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-Dds8cy2g.js → sankeyDiagram-5OEKKPKP-CT8mTepY.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BoMb08Ay.js → sequenceDiagram-3UESZ5HK-C6RFM__N.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-atm7kYDg.js → stateDiagram-AJRCARHV-ew8CGdEw.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DkUI5gTZ.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-C7U--kCB.js → timeline-definition-PNZ67QCA-BOIWKsvL.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-BoPWwPSI.js → vennDiagram-CIIHVFJN--dj48T5C.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-CJ6Y7g3b.js → wardleyDiagram-YWT4CUSO-Bpu8yneZ.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-rN5shXue.js → xychartDiagram-2RQKCTM6-CuqF6K-6.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/index.js +29 -31
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/agent.js +10 -4
- package/dist/server/lib/agent.js.map +1 -1
- package/dist/server/lib/attachmentDocuments.js +276 -0
- package/dist/server/lib/attachmentDocuments.js.map +1 -0
- package/dist/server/lib/attachments.js +27 -7
- package/dist/server/lib/attachments.js.map +1 -1
- package/dist/server/lib/diffExplanationJobs.js +13 -23
- package/dist/server/lib/diffExplanationJobs.js.map +1 -1
- package/dist/server/lib/diffExplanationRoutes.js +9 -2
- package/dist/server/lib/diffExplanationRoutes.js.map +1 -1
- package/dist/server/lib/diffExplanationTargets.js +22 -0
- package/dist/server/lib/diffExplanationTargets.js.map +1 -0
- package/dist/server/lib/git.js +26 -6
- package/dist/server/lib/git.js.map +1 -1
- package/dist/server/lib/i18n/resources.js +28 -0
- package/dist/server/lib/i18n/resources.js.map +1 -1
- package/dist/server/lib/opencodeAgentProvider.js +11 -3
- package/dist/server/lib/opencodeAgentProvider.js.map +1 -1
- package/dist/server/lib/opencodeErrors.js +43 -0
- package/dist/server/lib/opencodeErrors.js.map +1 -1
- package/dist/server/lib/restrictedFilePrompt.js +7 -0
- package/dist/server/lib/restrictedFilePrompt.js.map +1 -0
- package/dist/server/lib/reviewPromptContext.js +65 -0
- package/dist/server/lib/reviewPromptContext.js.map +1 -0
- package/dist/server/lib/serviceRunLogs.js +18 -21
- package/dist/server/lib/serviceRunLogs.js.map +1 -1
- package/dist/server/lib/types.js.map +1 -1
- package/dist/server/lib/workspaceDiff.js +50 -4
- package/dist/server/lib/workspaceDiff.js.map +1 -1
- package/dist/server/lib/workspaceDiffCommit.js +13 -0
- package/dist/server/lib/workspaceDiffCommit.js.map +1 -0
- package/dist/server/lib/workspaceDiffRoutes.js +9 -3
- package/dist/server/lib/workspaceDiffRoutes.js.map +1 -1
- package/dist/server/workers/chat.js +13 -9
- package/dist/server/workers/chat.js.map +1 -1
- package/dist/server/workers/plan.js +11 -4
- package/dist/server/workers/plan.js.map +1 -1
- package/dist/server/workers/review.js +18 -71
- package/dist/server/workers/review.js.map +1 -1
- package/dist/server/workers/specSession.js +13 -9
- package/dist/server/workers/specSession.js.map +1 -1
- package/package.json +3 -1
- package/dist/client/assets/channel-CBQk1IQf.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-BjizLQoS.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-B6qpU-kO.js +0 -1
- 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) => !
|
|
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":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,EAAE,4BAA4B,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAA;
|
|
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":"AAuBA,MAAM,8BAA8B,GAAG,6CAA6C,CAAA;AACpF,MAAM,wBAAwB,GAAG,0FAA0F,CAAA;
|
|
1
|
+
{"version":3,"file":"opencodeErrors.js","sourceRoot":"","sources":["../../../server/lib/opencodeErrors.ts"],"names":[],"mappings":"AAuBA,MAAM,8BAA8B,GAAG,6CAA6C,CAAA;AACpF,MAAM,wBAAwB,GAAG,0FAA0F,CAAA;AAC3H,MAAM,mBAAmB,GAAG,2DAA2D,CAAA;AACvF,MAAM,8BAA8B,GAAG,qFAAqF,CAAA;AAE5H,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAEjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAAuC,EACvC,YAAqB,EACO,EAAE;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAC1D,OAAO,OAAO;YACZ,CAAC,CAAC;gBACE,OAAO;gBACP,MAAM,EAAE,OAAO;gBACf,sBAAsB,EAAE,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC;gBACpE,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE;YACH,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACvD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACjG,MAAM,cAAc,GAAG,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,UAAU,CAAA;QACjG,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzE,MAAM,sBAAsB,GAAG,IAAI,KAAK,4BAA4B;eAC/D,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,eAAe,GAAG,iBAAiB,CAAC,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC,CAAA;QAE9D,OAAO,OAAO;YACZ,CAAC,CAAC;gBACE,OAAO;gBACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,sBAAsB;gBACtB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChC;YACH,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAC1C,OAAO,OAAO;QACZ,CAAC,CAAC;YACE,OAAO;YACP,sBAAsB,EAAE,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC;YACpE,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE;QACH,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,MAAc,EAA8B,EAAE;IACpG,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,OAAO,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAA;AAClD,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,GAAG,OAAiB,EAAuC,EAAE;IAC7G,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC3F,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAA;YAChD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,gBAAgB,CAAA;YACnD,OAAO;gBACL,UAAU;gBACV,MAAM;gBACN,OAAO,EAAE,kDAAkD,UAAU,KAAK,MAAM,IAAI;aACrF,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yCAAyC,GAAG,GAAG,EAAE;IAC5D,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,IAAI,SAAS,GAAwC,IAAI,CAAA;IAEzD,OAAO;QACL,OAAO,EAAE,CAAC,KAAsB,EAAE,EAAE;YAClC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAM;YACR,CAAC;YAED,MAAM,KAAK,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5D,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YAC1C,SAAS,GAAG,iCAAiC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACjE,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,IAAI,iCAAiC,CAAC,OAAO,CAAC;KACtE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrD,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,UAAU,CAAQ;IAClB,MAAM,CAAQ;IAEvB,YAAY,SAAuC,EAAE,OAAsB;QACzE,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACjC,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAA;QAC7C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAA;QACtC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;IAChC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,KAAc,EAA4C,EAAE,CAAC,CAC7G,KAAK,YAAY,+BAA+B,CACjD,CAAA;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAAc,EAAyC,EAAE,CAAC,CACvG,KAAK,YAAY,4BAA4B,CAC9C,CAAA"}
|
|
@@ -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
|
-
|
|
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
|
|
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":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;
|
|
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":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../server/lib/types.ts"],"names":[],"mappings":"AAysDA,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,UAAU;IACV,gBAAgB;IAChB,eAAe;IACf,cAAc;IACd,aAAa;IACb,sBAAsB;IACtB,qBAAqB;IACrB,QAAQ;IACR,UAAU;CACF,CAAA;AAIV,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,UAAU;IACV,YAAY;IACZ,WAAW;IACX,WAAW;IACX,QAAQ;IACR,WAAW;IACX,aAAa;IACb,QAAQ;CACA,CAAA;AAIV,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,sBAAsB;IACtB,gBAAgB;IAChB,qBAAqB;IACrB,eAAe;IACf,aAAa;IACb,qBAAqB;IACrB,aAAa;IACb,gBAAgB;IAChB,uBAAuB;IACvB,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,aAAa;CACL,CAAA;AAIV,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,OAAO;IACP,mBAAmB;IACnB,gBAAgB;IAChB,yBAAyB;IACzB,yBAAyB;IACzB,QAAQ;CACA,CAAA;AAwSV,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,mBAAmB,CAAU,CAAA;AAkWjF,MAAM,CAAC,MAAM,0CAA0C,GAAG;IACxD,SAAS;IACT,OAAO;IACP,iBAAiB;IACjB,SAAS;CACD,CAAA;AAIV,MAAM,CAAC,MAAM,2CAA2C,GAAG;IACzD,iBAAiB;IACjB,4BAA4B;IAC5B,eAAe;IACf,uBAAuB;IACvB,kBAAkB;IAClB,SAAS;CACD,CAAA;AAmBV,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,WAAW;IACX,UAAU;IACV,OAAO;IACP,kBAAkB;IAClB,SAAS;CACD,CAAA;AAIV,MAAM,CAAC,MAAM,yCAAyC,GAAG;IACvD,iBAAiB;IACjB,kBAAkB;IAClB,MAAM;IACN,SAAS;CACD,CAAA;AAyFV,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,UAAU,EAAE,cAAc,CAAU,CAAA;AAqG/E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS;IACT,UAAU;IACV,QAAQ;IACR,WAAW;IACX,SAAS;IACT,aAAa;IACb,UAAU;CACF,CAAA;AAiDV,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC9B,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;CAC1B,CAAA;AAEV,MAAM,CAAC,MAAM,gCAAgC,GAAG,UAAmB,CAAA;AACnE,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAC1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AACvC,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAC5C,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,CAAA;AAsFzD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,wBAAwB;IACxB,MAAM;IACN,aAAa;IACb,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,MAAM;IACN,gBAAgB;IAChB,OAAO;IACP,QAAQ;IACR,WAAW;IACX,WAAW;IACX,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,uBAAuB;IACvB,wBAAwB;IACxB,uBAAuB;IACvB,mBAAmB;IACnB,iBAAiB;IACjB,yBAAyB;IACzB,UAAU;IACV,SAAS;CACD,CAAA;AAgFV,MAAM,4BAA4B,GAAG,EAAE,CAAA;AACvC,MAAM,sCAAsC,GAAG,GAAG,CAAA;AAClD,MAAM,iCAAiC,GAAG,GAAG,CAAA;AAC7C,MAAM,mCAAmC,GAAG,mBAAmB,CAAA;AAE/D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,OAA2C,EACV,EAAE;IACnC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,IAAI,OAAO,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,wCAAwC,4BAA4B,cAAc,CAAC,CAAA;IACrG,CAAC;IACD,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QAC1C,IACE,UAAU,CAAC,MAAM,GAAG,sCAAsC;eACvD,CAAC,mCAAmC,CAAC,IAAI,CAAC,UAAU,CAAC,EACxD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,iCAAiC,EAAE,CAAC;YACxG,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAA6B,CAAA;AAC/E,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,cAAc;IACd,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,cAAc;IACd,qBAAqB;IACrB,kBAAkB;CACV,CAAA;AAwFV,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAU,CAAA"}
|
|
@@ -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
|
-
|
|
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,EAC/B,gCAAgC,EAChC,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,qCAAqC,EACrC,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAQnE,OAAO,EAAE,sBAAsB,EAAkC,MAAM,uBAAuB,CAAA;AAI9F,MAAM,WAAW,GAAG,CAClB,MAAqC,EACrC,KAAyB,EACzB,MAAsE,EACtE,OAAe,EACQ,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAElF,MAAM,iBAAiB,GAAG,CAAC,KAAgC,EAAE,EAAE;IAC7D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,IAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAC1C,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpC,IACE,CAAC,IAAI;WACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;WACnB,UAAU,CAAC,IAAI,CAAC;WAChB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;WAC5B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,EAClF,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAc,EAAE,CAAA;IAC/B,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAa,EAAE,IAAI,EAAE,CAAA;AACpC,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,MAAuB,EAA4B,EAAE;IACnF,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1E,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,CAAC,MAAuB,EAA4B,EAAE;IACtF,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,IAAI,CAAA;IAC1G,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,6BAA6B,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;QACxE,OAAO,IAAI,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,2BAA2B;YACnC,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,MAAM,EAAE,IAAI,CAAC,UAAU;SACxB,CAAC,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAED,MAAM,IAAI,GAAG,qCAAqC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9D,OAAO,IAAI,CAAC,CAAC,CAAC;QACZ,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE,IAAI,CAAC,UAAU;QACvB,MAAM,EAAE,IAAI,CAAC,UAAU;KACxB,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,CAAC,MAAuB,EAA4B,EAAE;IACtF,MAAM,QAAQ,GAAG,uBAAuB,CAAC;QACvC,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAChE,OAAO,MAAM,CAAC,CAAC,CAAC;QACd,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,QAAQ,CAAC,UAAU;QAC3B,MAAM;KACP,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CACnB,MAAuB,EACvB,KAAyB,EACzB,IAAuB,EACvB,QAAuB,EACvB,KAAuB,EACvB,IAAY,EACZ,iBAAiE,EACjE,EAAE;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC,UAAU;QACzB,KAAK;QACL,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAChE,IAAI;QACJ,GAAG,iBAAiB;QACpB,SAAS,EAAE,QAAQ;QACnB,KAAK;KACN,CAAC,CAAC,CAAA;IACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjB,OAAO,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AACvC,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,MAAuB,EAAE,KAAc,EAAE,EAAE,CAAC,WAAW,CAC/E,MAAM,CAAC,UAAU,EACjB,WAAW,EACX,KAAK,YAAY,gCAAgC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,EACzF,KAAK,YAAY,gCAAgC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,CACrG,CAAA;AAED,MAAM,iBAAiB,GAAG,CACxB,MAAuB,EACvB,QAAuB,EACvB,QAA4D,EAC5D,IAA6C,EACtB,EAAE;IACzB,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,uDAAuD,CAAC,CAAA;IAClI,CAAC;IACD,MAAM,IAAI,GAAsB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAA;IAClG,OAAO;QACL,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,MAAM,CAAC,UAAU;QACzB,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAChE,IAAI;QACJ,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,cAAc,EAAE,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;KACnG,CAAA;AACH,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,CAAC,MAAuB,EAAE,QAAuB,EAAE,MAAqB,EAAyB,EAAE;IACnI,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,+BAA+B,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;QACzI,OAAO,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC5I,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;AACH,CAAC,CAAA;AAED,MAAM,8BAA8B,GAAG,KAAK,EAAE,MAAuB,EAAE,QAAuB,EAAE,MAAqB,EAAkC,EAAE;IACvJ,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,+BAA+B,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;QACzI,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC5G,OAAO,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,SAAS,EACT,MAAM,EAAE,UAAU,EAClB,KAAK,EACL,QAAQ,GAAG,IAAI,EACf,MAAM,GAAG,IAAI,GAOd,EAAyB,EAAE;IAC1B,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC5D,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAClD,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,wCAAwC,CAAC,CAAA;IACtG,CAAC;IAED,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,OAAO,yBAAyB,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,KAAK,aAAa;QAClC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,WAAW;YACpC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC;YACnC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,WAAW,CAChB,UAAU,EACV,KAAK,EACL,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB,EACxE,KAAK,KAAK,aAAa;YACrB,CAAC,CAAC,gCAAgC;YAClC,CAAC,CAAC,yDAAyD,CAC9D,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,yBAAyB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;QACpF,IAAI,cAAc,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,uDAAuD,CAAC,CAAA;QACrH,CAAC;QACD,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,UAAU;YAClB,KAAK;YACL,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YAChE,IAAI;YACJ,SAAS,EAAE,cAAc,CAAC,IAAI;YAC9B,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;SAC9F,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,gCAAgC,CAAC,CAAA;IAC7F,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAC1C,SAAS,EACT,MAAM,EAAE,UAAU,EAClB,KAAK,EACL,QAAQ,GAAG,IAAI,EACf,MAAM,GAAG,IAAI,GAOd,EAAkC,EAAE;IACnC,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC5D,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAClD,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,wCAAwC,CAAC,CAAA;IACtG,CAAC;IAED,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,OAAO,8BAA8B,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,KAAK,aAAa;QAClC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,WAAW;YACpC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC;YACnC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,WAAW,CAChB,UAAU,EACV,KAAK,EACL,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB,EACxE,KAAK,KAAK,aAAa;YACrB,CAAC,CAAC,gCAAgC;YAClC,CAAC,CAAC,yDAAyD,CAC9D,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,8BAA8B,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;QAC/F,IAAI,cAAc,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,uDAAuD,CAAC,CAAA;QACrH,CAAC;QACD,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,UAAU;YAClB,KAAK;YACL,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YAChE,IAAI;YACJ,SAAS,EAAE,cAAc,CAAC,IAAI;YAC9B,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;SAC9F,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,gCAAgC,CAAC,CAAA;IAC7F,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -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"}
|