@gitroll/tacitt-cli 0.6.12 → 0.6.13
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/{agent-setup-B12VbvN_.mjs → agent-setup-Doy_AnPY.mjs} +2 -2
- package/dist/agent-setup-worker.mjs +5 -5
- package/dist/cli.mjs +10 -10
- package/dist/codex-title-worker.mjs +1 -1
- package/dist/configured-preview-worker.mjs +5 -5
- package/dist/configured-session-worker.mjs +5 -5
- package/dist/{frame-B3He21G8.mjs → frame-BPbypzmt.mjs} +1 -1
- package/dist/{heap-Blrat--4.mjs → heap-DCS_WXIA.mjs} +7 -3
- package/dist/inspection-worker.mjs +4 -4
- package/dist/{job-CBuIMTQ0.mjs → job--zxwgaPy.mjs} +135 -36
- package/dist/{locate-D-ZaHpI0.mjs → locate-PLEyLYW-.mjs} +287 -236
- package/dist/{model-DR9odhWP.mjs → model-CyXvsWLz.mjs} +1 -1
- package/dist/operation-executor.mjs +3 -3
- package/dist/preview-worker.mjs +1 -1
- package/dist/privacy-validator.mjs +1 -1
- package/dist/{query-BYDcNKy2.mjs → query-BC7MIaWc.mjs} +335 -115
- package/dist/{run-DQ9xyKSt.mjs → run-Dod7Vykp.mjs} +6 -6
- package/dist/{src-DeNJ8vOD.mjs → src-CP-K2PBv.mjs} +1779 -1686
- package/dist/{src-Do-qzuMn.mjs → src-CttNuxOn.mjs} +590 -542
- package/dist/{src-CKQlTA2Z.mjs → src-dL6y2mcu.mjs} +180 -30
- package/dist/store-database-worker.mjs +1 -1
- package/package.json +1 -1
- package/skills/tacitt/SKILL.md +3 -3
- package/skills/tacitt/references/b-method.md +4 -2
- package/skills/tacitt/references/bootstrap.md +1 -1
- package/skills/tacitt/references/commands.md +10 -4
- package/skills/tacitt/references/journey.md +3 -3
- package/skills/tacitt/references/parallel-review.md +22 -9
- package/skills/tacitt/references/remote-workers.md +6 -2
- package/skills/tacitt/scripts/INDEX.md +4 -4
- package/skills/tacitt/scripts/answer.mjs +12 -1
- package/skills/tacitt/scripts/describe.mjs +3 -2
- package/skills/tacitt/scripts/journey-classification.mjs +1 -0
- package/skills/tacitt/scripts/journey-scan-timing.mjs +3 -2
- package/skills/tacitt/scripts/journey.mjs +1 -1
- package/skills/tacitt/scripts/privacy-validator.mjs +84 -33
- package/skills/tacitt/scripts/review.d.mts +1 -0
- package/skills/tacitt/scripts/review.mjs +296 -35
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { l as createNativeAdapters, u as createGitNameSeedProvider } from "./src-
|
|
4
|
-
import {
|
|
5
|
-
import "./agent-setup-
|
|
1
|
+
import { Q as listAgentSetup } from "./src-CP-K2PBv.mjs";
|
|
2
|
+
import { Fn as createStaticProcessor, _n as sessionSchema, yn as workspaceSchema } from "./locate-PLEyLYW-.mjs";
|
|
3
|
+
import { l as createNativeAdapters, u as createGitNameSeedProvider } from "./src-dL6y2mcu.mjs";
|
|
4
|
+
import { Ii as effectiveTreatmentSchema, ct as maximumAgentSetupSessions } from "./src-CttNuxOn.mjs";
|
|
5
|
+
import "./agent-setup-Doy_AnPY.mjs";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { parentPort, workerData } from "node:worker_threads";
|
|
8
8
|
//#region apps/cli/src/agent-setup/worker.ts
|
package/dist/cli.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { _ as permissionDiagnostic, a as readAgentPresence, d as packageIdentity, f as createRenderActivity, g as longCommands, h as businessCommands, i as invoke, l as serveDetached, m as parseOptions, n as readOperation, o as createRuntime, p as helpText, r as waitOperation, s as executorEventSchema, t as cancelOperation, u as guardDetachedStartup, v as startupFailure, y as traceStartup } from "./query-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { vt as isCoordinationBusy } from "./heap-
|
|
2
|
+
import { _ as permissionDiagnostic, a as readAgentPresence, d as packageIdentity, f as createRenderActivity, g as longCommands, h as businessCommands, i as invoke, l as serveDetached, m as parseOptions, n as readOperation, o as createRuntime, p as helpText, r as waitOperation, s as executorEventSchema, t as cancelOperation, u as guardDetachedStartup, v as startupFailure, y as traceStartup } from "./query-BC7MIaWc.mjs";
|
|
3
|
+
import { ct as openPrivateFile, st as makePrivateDirectory } from "./src-CP-K2PBv.mjs";
|
|
4
|
+
import { B as inBackgroundStatusPoll, F as startHost, N as readStateDump, P as createExecutionPort } from "./job--zxwgaPy.mjs";
|
|
5
|
+
import { in as ApplicationError, on as safeCode, sn as safeField } from "./locate-PLEyLYW-.mjs";
|
|
6
|
+
import { Mi as stateSchema, Mr as awaitingPassport, Pr as hostDrives, rt as readWorkspaceOutcomes, ut as resolveFailureLocation, yn as reviewTransportBytes } from "./src-CttNuxOn.mjs";
|
|
7
|
+
import { vt as isCoordinationBusy } from "./heap-DCS_WXIA.mjs";
|
|
8
8
|
import { constants, createReadStream, write } from "node:fs";
|
|
9
9
|
import { z } from "zod";
|
|
10
10
|
import { lstat, mkdir, mkdtemp, open, readFile, readdir, realpath, rename, rm, writeFile } from "node:fs/promises";
|
|
@@ -804,11 +804,11 @@ function configureText(agent, source) {
|
|
|
804
804
|
const field = agent === "claude" ? "CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS" : Object.hasOwn(section, "max_concurrent_threads_per_session") || !Object.hasOwn(section, "max_threads") ? "max_concurrent_threads_per_session" : "max_threads";
|
|
805
805
|
const current = section[field];
|
|
806
806
|
const count = current === void 0 ? void 0 : agent === "claude" ? z.string().regex(/^\d+$/).transform(Number).pipe(z.number().int().positive().safe()).parse(current) : z.number().int().positive().safe().parse(current);
|
|
807
|
-
if (count !== void 0 && count >=
|
|
807
|
+
if (count !== void 0 && count >= 24) return {
|
|
808
808
|
text: source,
|
|
809
809
|
count
|
|
810
810
|
};
|
|
811
|
-
const target = agent === "claude" ? String(
|
|
811
|
+
const target = agent === "claude" ? String(24) : 24;
|
|
812
812
|
const updated = {
|
|
813
813
|
...data,
|
|
814
814
|
[key]: {
|
|
@@ -824,7 +824,7 @@ function configureText(agent, source) {
|
|
|
824
824
|
if (object.parse(check[key])[field] !== target) throw new Error("CONFIG_READBACK_FAILED");
|
|
825
825
|
return {
|
|
826
826
|
text,
|
|
827
|
-
count:
|
|
827
|
+
count: 24
|
|
828
828
|
};
|
|
829
829
|
} catch (cause) {
|
|
830
830
|
throw new Error("AGENT_CONFIG_INVALID", { cause });
|
|
@@ -841,7 +841,7 @@ async function askAgentConfiguration(clients, scope) {
|
|
|
841
841
|
terminal: true
|
|
842
842
|
});
|
|
843
843
|
try {
|
|
844
|
-
process.stderr.write(`Tacitt CLI uses up to
|
|
844
|
+
process.stderr.write(`Tacitt CLI uses up to 24 analysis subagents for faster review.\nRaise the concurrent subagent limit to 24 for ${names}? Higher limits can increase concurrent usage.
|
|
845
845
|
` + (scope === "user" ? "This changes your client settings across projects.\n" : "This changes client settings for this project.\n") + "Save your work and fully restart the affected App or CLI afterward. We will not close it for you.\nAllow this change? [y/N] ");
|
|
846
846
|
return await new Promise((resolve) => {
|
|
847
847
|
terminal.once("line", (line) => resolve(/^y(?:es)?$/i.test(line.trim())));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as errorCode } from "./model-
|
|
1
|
+
import { i as errorCode } from "./model-CyXvsWLz.mjs";
|
|
2
2
|
import { a as titleHintLimits, i as encodeTitleError, o as titleInputSchema, t as assertTitleHeap } from "./heap-1FYhGds4.mjs";
|
|
3
3
|
import { stat } from "node:fs/promises";
|
|
4
4
|
import { isAbsolute, join } from "node:path";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { l as createNativeAdapters, u as createGitNameSeedProvider } from "./src-
|
|
4
|
-
import {
|
|
5
|
-
import { a as classifyRecord, n as assertPreviewHeap, t as runPreview } from "./run-
|
|
1
|
+
import { $ as createConfiguredPreviewStream } from "./src-CP-K2PBv.mjs";
|
|
2
|
+
import { Fn as createStaticProcessor, _n as sessionSchema, yn as workspaceSchema } from "./locate-PLEyLYW-.mjs";
|
|
3
|
+
import { l as createNativeAdapters, u as createGitNameSeedProvider } from "./src-dL6y2mcu.mjs";
|
|
4
|
+
import { Ii as effectiveTreatmentSchema } from "./src-CttNuxOn.mjs";
|
|
5
|
+
import { a as classifyRecord, n as assertPreviewHeap, t as runPreview } from "./run-Dod7Vykp.mjs";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { parentPort, workerData } from "node:worker_threads";
|
|
8
8
|
//#region apps/cli/src/preview/run.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { N as runConfiguredSessionJob, V as gitSeedsProvider, _ as captureConfiguredSessionJob,
|
|
2
|
-
import { d as runJourneyBaseJob, i as runJourneyOutputVerifyJob, n as runJourneyOutputJob, r as runJourneyOutputShardJob } from "./job
|
|
3
|
-
import {
|
|
4
|
-
import { l as createNativeAdapters } from "./src-
|
|
5
|
-
import "./src-
|
|
1
|
+
import { N as runConfiguredSessionJob, V as gitSeedsProvider, _ as captureConfiguredSessionJob, at as safeError, f as runConfiguredScanJob } from "./src-CP-K2PBv.mjs";
|
|
2
|
+
import { d as runJourneyBaseJob, i as runJourneyOutputVerifyJob, n as runJourneyOutputJob, r as runJourneyOutputShardJob } from "./job--zxwgaPy.mjs";
|
|
3
|
+
import { Fn as createStaticProcessor, Sr as processingSite, on as safeCode } from "./locate-PLEyLYW-.mjs";
|
|
4
|
+
import { l as createNativeAdapters } from "./src-dL6y2mcu.mjs";
|
|
5
|
+
import "./src-CttNuxOn.mjs";
|
|
6
6
|
import { parentPort } from "node:worker_threads";
|
|
7
7
|
//#region packages/artifact/src/configured/parallel/spool-claim.ts
|
|
8
8
|
/** A worker may create a named file only after the host has recorded its cleanup ownership. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { vr as ProcessingError } from "./locate-PLEyLYW-.mjs";
|
|
2
2
|
//#region packages/processing/src/compression/frame.ts
|
|
3
3
|
function createZstdFrameCheck(fail = () => {
|
|
4
4
|
throw new ProcessingError("PROCESSING_INVALID_RECORD");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { C as writePrivateReviewPayload, ct as
|
|
2
|
-
import {
|
|
3
|
-
import { $ as validateDetectionSummary, $t as journeyPlaceSchema,
|
|
1
|
+
import { C as writePrivateReviewPayload, ct as openPrivateFile, lt as restrictToOwner, ot as exclusiveLock, ut as windowsOwnerOnly, w as readPrivateReviewPayload } from "./src-CP-K2PBv.mjs";
|
|
2
|
+
import { Bt as reviewTermsResultSchema, C as validateBReview, Ft as privacyTermSchema, It as emptyReviewCorrectionResultSchema, Lt as emptyReviewCorrectionSchema, M as semanticFindingSchema, Mn as createDetectionSummary, Rt as journeyTermSchema, St as journeyWorkSuggestionSchema, Wt as termTypeSchema, b as validateReviewAlignment, c as reviewBatchSchema, cr as isStaticCategory, d as reviewSubmitSchema, dt as journeyIdSchema, f as textDigest, gt as nativeJourneySchema, h as reviewAlignmentAudit, hn as fileIdentitySchema, in as ApplicationError, ln as familySelected, lr as staticCategories, lt as journeyDigestSchema, m as findingReferenceKey, p as validateReview, s as reviewBatchChunks, u as reviewDigest, un as reviewFamilies, v as reviewAlignmentSchema, vt as journeyGuidanceSchema, x as bContextEvidence, xt as journeyDescribeSchema, zt as reviewTermsInputSchema } from "./locate-PLEyLYW-.mjs";
|
|
3
|
+
import { $ as validateDetectionSummary, $t as journeyPlaceSchema, At as validateAttemptAppend, Bn as journeySearchSaveSchema, Bt as newJourneyWork, Cn as scanAliasResourceSchema, Dn as scanGitSeedsId, En as scanSessionResourceSchema, Fn as journeyInventoryReadSchema, Ft as classificationCommitSchema, Gr as staticSessionId, Gt as hideFinishSchema, Hn as journeyCommitResultSchema, Hr as mergePrivacyTerms, Ht as journeyContextQuerySchema, In as journeyInventorySchema, Ir as obsoleteJourney, J as validateInspectionFence, Jt as sendOutputQuerySchema, Kn as confirmedHideDeltaSchema, Kt as hidePublishSchema, Ln as journeyPreparationProgressSchema, Lr as sendOwesPassport, Mi as stateSchema, Mt as journeyBatchReadSchema, Nn as projectPreparationProgress, Nt as journeyReviewStorageQuerySchema, Ot as settleCorrections, Pt as applyClassificationProposal, Q as validateInspectionContribution, Qt as journeyIsolateSchema, Rr as sendReachedPassport, Si as bMaskedHits, Sr as assertJourneyPrivacyReady, U as validateInspectionBatch, Un as journeyCommitSchema, Ut as journeyContextSchema, Vn as searchScopeDigest, W as validateInspectionBatches, Wn as journeyEventSchema, Wt as hideBeginSchema, X as validateInspectionInputs, Xr as journeySendSchema, Xt as journeyResourceQuerySchema, Y as validateInspectionHead, Yn as settleConfirmedHides, Yt as sendOutputSchema, Z as validateInspectionQuery, Zt as journeyResourceSchema, an as sessionReconcileResultSchema, bn as bReviewDigest, c as reconstructBFields, ci as isSkippedWork, cn as sessionRereadResourceSchema, cr as preparationSettlementSchema, d as resolveGroupSplit, di as withReadingProgress, dn as sessionReviewResourceSchema, dr as preparationUpdateSchema, en as sortingApplySchema, et as inspectionInputs, fi as confirmedHideGroupIds, fn as sessionReviewStatusSchema, fr as validatePreparationFacts, g as semanticGroupKey, gi as dictionaryHides, gn as reviewCandidateResourceSchema, gt as manualUploadSchema, h as hideScopeDigest, hi as confirmedHideTerms, jn as validateScanExclusion, jt as journeyGuidance, kt as attemptBudgetCodePoints, l as chooseCheapPlacement, li as selectedWorks, lr as preparationStartSchema, mn as sessionUsefulnessResourceSchema, nn as reviewAttemptsQuerySchema, nr as workDecisionDigest, o as bRereadDigest, oi as isReadingComplete, on as sessionReconciliationResourceSchema, or as preparationBeginSchema, pi as confirmedHideKey, pn as sessionUsefulnessInputSchema, pt as manualUploadBindingSchema, q as validateInspectionClaim, qt as journeyPolicyRespondSchema, ri as hasCompleteWorkDescription, rn as reviewAttemptsResultSchema, rr as workPrivacyDecisions, s as reconcileBSession, si as isSelectedWork, sr as preparationPermissionSchema, t as scanBatchContextDigest, ti as sendSessionUploadSchema, tn as reviewAttemptResourceSchema, tr as retireWorkDescription, u as reviseGroupMembership, un as sessionReviewQuerySchema, ur as preparationStateSchema, v as projectJourneyInventory, vi as maskedHitsStale, vn as reviewRepairResourceSchema, vt as candidateSortAvailable, wn as scanCanonicalResourceSchema, wr as reconcileReaderKeeps, x as bReviewScope, xn as mergeBRepair, xr as applyCardAnswers, y as preparationScope, yi as syncTermGroups, zn as journeySearchResultSchema, zt as isolatedWorkId } from "./src-CttNuxOn.mjs";
|
|
4
4
|
import { constants } from "node:fs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
import { copyFile, link, lstat, mkdir, mkdtemp, open, readFile, realpath, rm, unlink } from "node:fs/promises";
|
|
@@ -2666,6 +2666,10 @@ function finishTerms(db, packet) {
|
|
|
2666
2666
|
count: term.count - previous
|
|
2667
2667
|
})) added++;
|
|
2668
2668
|
}
|
|
2669
|
+
for (const term of packet.located) if (upsertJourneyTerm(db, state.journeyId, {
|
|
2670
|
+
...term,
|
|
2671
|
+
count: 0
|
|
2672
|
+
})) added++;
|
|
2669
2673
|
const groups = syncTermGroups(state, readTermCounts(db, state.journeyId), (key) => findingPreference(db, key));
|
|
2670
2674
|
const reference = {
|
|
2671
2675
|
kind: "term-pack",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { l as createNativeAdapters, u as createGitNameSeedProvider } from "./src-
|
|
4
|
-
import { G as validateInspectionRequest } from "./src-
|
|
1
|
+
import { et as createInspectionProcessor } from "./src-CP-K2PBv.mjs";
|
|
2
|
+
import { Fn as createStaticProcessor } from "./locate-PLEyLYW-.mjs";
|
|
3
|
+
import { l as createNativeAdapters, u as createGitNameSeedProvider } from "./src-dL6y2mcu.mjs";
|
|
4
|
+
import { G as validateInspectionRequest } from "./src-CttNuxOn.mjs";
|
|
5
5
|
import "./messages-D3m3bhva.mjs";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { parentPort, workerData } from "node:worker_threads";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { E as readConfiguredSearchFields, F as parseCollectionWorkspaceSummary, K as readConfiguredOutputInfo, M as renderJobDigest, O as checkReusableBundle, P as readCollectionIndex, S as writeLogicalJourneyBase, U as writeLogicalJourneyOutput, V as gitSeedsProvider,
|
|
2
|
-
import {
|
|
3
|
-
import { $t as journeyPlaceSchema,
|
|
4
|
-
import { $ as validateState, A as resourceSelectionQuerySchema, B as termReuseQuerySchema, C as loadAcceptedReview, D as aggregateUsefulness, E as loadPrivateResource, F as validateUnitCandidate, G as validateBatchBody, H as privateReviewHash, I as reuseQuerySchema, J as ownership, K as requireActiveBatch, L as batchQuery, M as evaluateUnitEvidence, N as sameCandidateRequest, O as sessionUsefulnessRecommendation, P as validateCandidateAttempt, Q as readStoredState, R as isPrivateResourceKind, S as validateSessionBindings, T as loadBatch, U as batchHeader, V as scanAliasRequestKey, W as createJourneyPayloadFiles, X as withDatabase, Y as validateDatabase, Z as readBundleDirectory, _ as loadReconciliation, _t as errorCode, a as decodeError, at as finishReset, b as validatePreparationSelection, c as dropsAnchor, ct as present, d as parseDelivery, dt as recheckPrivatePath, et as checkVersion, f as validateCandidate, ft as stateDirectory, g as loadPreparedBodies, gt as StoreError, h as loadPreparation, ht as withFileCheckTimings, i as createExecutor, it as databaseName, j as inspectionQuerySchema$1, k as sessionQuery, l as replySchema, lt as privatePath, m as loadStatus, mt as withStateSnapshot, n as releaseInheritedHeapFlags, nt as beginReset, o as ProtocolError, ot as hasResetMarker, p as classificationJourneyCommit, pt as syncDirectory, q as initializeAndClaim, r as storeHeapLimits, rt as createDatabaseFile, s as allowedReplies, st as inspectStateFiles, tt as schemaVersion, u as operations, ut as readResetMarker, v as loadRereadBodies, vt as isCoordinationBusy, w as loadAuthenticatedReview, x as validateSessionReconciliation, y as loadSessionBodies, yt as isSqliteCorruption, z as privateResourceHeader } from "./heap-
|
|
1
|
+
import { E as readConfiguredSearchFields, F as parseCollectionWorkspaceSummary, K as readConfiguredOutputInfo, M as renderJobDigest, O as checkReusableBundle, P as readCollectionIndex, S as writeLogicalJourneyBase, U as writeLogicalJourneyOutput, V as gitSeedsProvider, ct as openPrivateFile, dt as isWindowsAclFailure, k as prepareCollectionProduction, m as writeOutputShard, p as verifyOutputShard, st as makePrivateDirectory, ut as windowsOwnerOnly, z as privateCollectionDirectory } from "./src-CP-K2PBv.mjs";
|
|
2
|
+
import { C as validateBReview, J as bAnchorKey, Ut as termTypeInfo, X as bDigest, Xt as journeyProfileAddressActionSchema, Z as codePointLength, Zt as journeyProfileLinksActionSchema, d as reviewSubmitSchema, en as passportAddressSchema, f as textDigest, i as matchesReadReceipts, in as ApplicationError, j as bUnitFragments, n as runOccurrences, o as compileBFindings, on as safeCode, p as validateReview, qt as filterInventoryByPeriod, r as termSearchRuns, s as reviewBatchChunks, sn as safeField, t as locateTerms, tt as utf16Offset, un as reviewFamilies, xt as journeyDescribeSchema, y as reviewFindingsDigest, z as bClassificationKey, zt as reviewTermsInputSchema } from "./locate-PLEyLYW-.mjs";
|
|
3
|
+
import { $t as journeyPlaceSchema, Ar as retryReviewActionSchema, C as rebindReviewOverlay, Ct as sendActionSchema, D as staticallyHiddenFindings, Di as packageCommandSchema, Dr as nativeGetSchema, Dt as sendStartSchema, E as guardedFindingText, Ei as commandSchema, Er as nativeEventsSchema, Et as sendRequestSchema, Gn as confirmedHideAdditions, H as inspectionStartSchema, Ht as journeyContextQuerySchema, Jn as renderedHideValue, K as inspectionQuerySchema, Kr as staticSessionResourceSchema, Li as defaultScopedSettings, Mi as stateSchema, Nt as journeyReviewStorageQuerySchema, Oi as selectionBatchSchema, Or as nativeRespondSchema, Pn as journeyInventoryQuerySchema, Qn as hideKeyId, Ri as freezeConfiguration, S as rebindReviewAlignment, Sn as planBRepair, St as replaceSensitiveTermsSchema, T as reviewBatchReuse, Tt as sendPrepareSchema, V as inspectionCancelSchema, Vt as reviewCompileSchema, Xn as termHideAdditions, Xt as journeyResourceQuerySchema, Zn as addHideIndexTokens, _n as reviewRepairInputSchema, _r as journeyRenderInputSchema, _t as manualUploadStartSchema, a as bCrossSegmentReviewSchema, b as isGenericPublicTerm, bn as bReviewDigest, bt as maximumTermsFileBytes, c as reconstructBFields, di as withReadingProgress, er as packHideIndex, f as selectedValueMembers, fi as confirmedHideGroupIds, ft as manualUploadActionSchema, gn as reviewCandidateResourceSchema, gr as journeyPreviewSchema, hn as reviewCandidateInputSchema, hr as journeyFindingsSchema, ht as manualUploadPrepareSchema, i as validateBCrossSegmentReview, in as sessionReconcileInputSchema, ji as producerVersion, ki as selectionSchema, ln as sessionReviewInputSchema, mr as journeyFindingImpactSchema, mt as manualUploadChoiceSchema, n as scanBatchEquivalenceDigest, nt as settingsQuerySchema, o as bRereadDigest, p as splitSelectorValues, pn as sessionUsefulnessInputSchema, pr as journeyClassificationSessionsSchema, qn as readConfirmedHideChange, qt as journeyPolicyRespondSchema, r as locateTermEvidence, rt as readWorkspaceOutcomes, s as reconcileBSession, si as isSelectedWork, sn as sessionRereadInputSchema, t as scanBatchContextDigest, tn as reviewAttemptResourceSchema, tt as settingsBatchSchema, un as sessionReviewQuerySchema, ut as resolveFailureLocation, vi as maskedHitsStale, vn as reviewRepairResourceSchema, vr as journeyRenderSchema, w as rebindReviewSubmit, wt as sendChoiceSchema, x as bReviewScope, zi as selectFrozenConfiguration } from "./src-CttNuxOn.mjs";
|
|
4
|
+
import { $ as validateState, A as resourceSelectionQuerySchema, B as termReuseQuerySchema, C as loadAcceptedReview, D as aggregateUsefulness, E as loadPrivateResource, F as validateUnitCandidate, G as validateBatchBody, H as privateReviewHash, I as reuseQuerySchema, J as ownership, K as requireActiveBatch, L as batchQuery, M as evaluateUnitEvidence, N as sameCandidateRequest, O as sessionUsefulnessRecommendation, P as validateCandidateAttempt, Q as readStoredState, R as isPrivateResourceKind, S as validateSessionBindings, T as loadBatch, U as batchHeader, V as scanAliasRequestKey, W as createJourneyPayloadFiles, X as withDatabase, Y as validateDatabase, Z as readBundleDirectory, _ as loadReconciliation, _t as errorCode, a as decodeError, at as finishReset, b as validatePreparationSelection, c as dropsAnchor, ct as present, d as parseDelivery, dt as recheckPrivatePath, et as checkVersion, f as validateCandidate, ft as stateDirectory, g as loadPreparedBodies, gt as StoreError, h as loadPreparation, ht as withFileCheckTimings, i as createExecutor, it as databaseName, j as inspectionQuerySchema$1, k as sessionQuery, l as replySchema, lt as privatePath, m as loadStatus, mt as withStateSnapshot, n as releaseInheritedHeapFlags, nt as beginReset, o as ProtocolError, ot as hasResetMarker, p as classificationJourneyCommit, pt as syncDirectory, q as initializeAndClaim, r as storeHeapLimits, rt as createDatabaseFile, s as allowedReplies, st as inspectStateFiles, tt as schemaVersion, u as operations, ut as readResetMarker, v as loadRereadBodies, vt as isCoordinationBusy, w as loadAuthenticatedReview, x as validateSessionReconciliation, y as loadSessionBodies, yt as isSqliteCorruption, z as privateResourceHeader } from "./heap-DCS_WXIA.mjs";
|
|
5
5
|
import { constants, write } from "node:fs";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { copyFile, link, lstat, mkdir, mkdtemp, open, opendir, readFile, readdir, realpath, rename, rm, unlink, writeFile } from "node:fs/promises";
|
|
@@ -4616,7 +4616,7 @@ function createStagedTerms(access, files) {
|
|
|
4616
4616
|
return leg.run("journey.terms.finish", {
|
|
4617
4617
|
before,
|
|
4618
4618
|
located,
|
|
4619
|
-
occurrences: batches.flatMap((batch) => locateTerms([batch], terms).located.map((term) => ({
|
|
4619
|
+
occurrences: batches.flatMap((batch) => locateTerms([batch], terms).located.filter((term) => term.count > 0).map((term) => ({
|
|
4620
4620
|
...term,
|
|
4621
4621
|
batchId: batch.id
|
|
4622
4622
|
}))),
|
|
@@ -4690,34 +4690,12 @@ function createStagedTerms(access, files) {
|
|
|
4690
4690
|
}
|
|
4691
4691
|
/** A UUID named by a digest, so a replayed carry-over reuses its request key. */
|
|
4692
4692
|
const digestId = (digest) => `${digest.slice(0, 8)}-${digest.slice(8, 12)}-4${digest.slice(13, 16)}-8${digest.slice(17, 20)}-${digest.slice(20, 32)}`;
|
|
4693
|
-
/** Locate provenance over the same
|
|
4693
|
+
/** Locate provenance over the same field runs and core-overlapping occurrence as locateTerms. */
|
|
4694
4694
|
function findingSources(batches) {
|
|
4695
|
-
const
|
|
4696
|
-
|
|
4697
|
-
const
|
|
4698
|
-
|
|
4699
|
-
let chunks = [];
|
|
4700
|
-
let end = -1;
|
|
4701
|
-
const flush = () => {
|
|
4702
|
-
if (chunks.length) fields.push({
|
|
4703
|
-
batch,
|
|
4704
|
-
chunks,
|
|
4705
|
-
text: chunks.map((chunk) => chunk.text).join("").normalize("NFC")
|
|
4706
|
-
});
|
|
4707
|
-
};
|
|
4708
|
-
for (const chunk of group.toSorted((a, b) => a.offset - b.offset)) {
|
|
4709
|
-
if (chunk.offset !== end) {
|
|
4710
|
-
flush();
|
|
4711
|
-
chunks = [];
|
|
4712
|
-
}
|
|
4713
|
-
chunks.push(chunk);
|
|
4714
|
-
end = chunk.offset + chunk.text.length;
|
|
4715
|
-
}
|
|
4716
|
-
flush();
|
|
4717
|
-
}
|
|
4718
|
-
}
|
|
4719
|
-
return (value) => fields.flatMap(({ batch, chunks, text }) => {
|
|
4720
|
-
const at = text.indexOf(value);
|
|
4695
|
+
const runs = [...termSearchRuns(batches)];
|
|
4696
|
+
return (value) => runs.flatMap((run) => {
|
|
4697
|
+
const { batch, chunks } = run;
|
|
4698
|
+
const at = runOccurrences(run, value).first;
|
|
4721
4699
|
if (at < 0) return [];
|
|
4722
4700
|
let offset = 0;
|
|
4723
4701
|
return chunks.flatMap((chunk) => {
|
|
@@ -5558,7 +5536,17 @@ async function collectRemoteWorkers(dispatches, confirmations, home, transport =
|
|
|
5558
5536
|
const copied = [];
|
|
5559
5537
|
const failures = /* @__PURE__ */ new Set();
|
|
5560
5538
|
const seen = /* @__PURE__ */ new Set();
|
|
5561
|
-
|
|
5539
|
+
const resolved = dispatches.flatMap((window) => window.harness === "unknown" ? [{
|
|
5540
|
+
...window,
|
|
5541
|
+
harness: "codex"
|
|
5542
|
+
}, {
|
|
5543
|
+
...window,
|
|
5544
|
+
harness: "claude"
|
|
5545
|
+
}] : [{
|
|
5546
|
+
...window,
|
|
5547
|
+
harness: window.harness
|
|
5548
|
+
}]);
|
|
5549
|
+
for (const window of resolved) {
|
|
5562
5550
|
if (confirmations[window.host] !== true || failures.has(window.host)) continue;
|
|
5563
5551
|
let temporary;
|
|
5564
5552
|
try {
|
|
@@ -5661,7 +5649,11 @@ async function readRemoteState(stateDir, journeyId) {
|
|
|
5661
5649
|
return z.object({
|
|
5662
5650
|
windows: z.array(z.object({
|
|
5663
5651
|
host: z.string(),
|
|
5664
|
-
harness: z.enum([
|
|
5652
|
+
harness: z.enum([
|
|
5653
|
+
"codex",
|
|
5654
|
+
"claude",
|
|
5655
|
+
"unknown"
|
|
5656
|
+
]),
|
|
5665
5657
|
transport: z.enum(["ssh", "gcloud"]),
|
|
5666
5658
|
args: z.array(z.string()),
|
|
5667
5659
|
sourceSessionId: z.string(),
|
|
@@ -5823,6 +5815,92 @@ function workApproval(approval, rootIds) {
|
|
|
5823
5815
|
};
|
|
5824
5816
|
}
|
|
5825
5817
|
//#endregion
|
|
5818
|
+
//#region apps/cli/src/journey/prepare/update.ts
|
|
5819
|
+
/** Preparation owns only the changed Work rows, progress and package invalidation. */
|
|
5820
|
+
async function changePreparation(storage, journeyId, kind, change, attempts = Number.POSITIVE_INFINITY, clearPackageApproval = false) {
|
|
5821
|
+
for (let attempt = 0; attempt < attempts; attempt++) {
|
|
5822
|
+
const before = await storage.preparationState(journeyId);
|
|
5823
|
+
if (!before?.consent) throw new ApplicationError("CONFIRMATION_REQUIRED");
|
|
5824
|
+
const after = change(before);
|
|
5825
|
+
if (after === before) return before;
|
|
5826
|
+
const previous = new Map(before.works.map((work) => [work.id, work]));
|
|
5827
|
+
const result = await storage.updatePreparation({
|
|
5828
|
+
journeyId,
|
|
5829
|
+
expectedRevision: before.revision,
|
|
5830
|
+
requestKey: randomUUID(),
|
|
5831
|
+
at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
5832
|
+
kind,
|
|
5833
|
+
works: after.works.filter((work) => work !== previous.get(work.id)),
|
|
5834
|
+
phase: after.phase,
|
|
5835
|
+
readingComplete: after.readingComplete,
|
|
5836
|
+
readingStartedAt: after.readingStartedAt,
|
|
5837
|
+
clearPackageApproval: clearPackageApproval && before !== after
|
|
5838
|
+
});
|
|
5839
|
+
if (result.status !== "stale") return result.state;
|
|
5840
|
+
}
|
|
5841
|
+
throw new ApplicationError("REVISION_CONFLICT");
|
|
5842
|
+
}
|
|
5843
|
+
//#endregion
|
|
5844
|
+
//#region apps/cli/src/journey/prepare/isolation.ts
|
|
5845
|
+
/** A Work-level refusal caused by identified roots, each with its own public-safe code. */
|
|
5846
|
+
var RootPreparationFailure = class extends ApplicationError {
|
|
5847
|
+
roots;
|
|
5848
|
+
constructor(code, roots, options) {
|
|
5849
|
+
super(code, void 0, options);
|
|
5850
|
+
this.roots = roots;
|
|
5851
|
+
}
|
|
5852
|
+
};
|
|
5853
|
+
/** The distinct public-safe codes of the identified failing roots, else the Work-level code. */
|
|
5854
|
+
function blockedCodes(error, code) {
|
|
5855
|
+
return error instanceof RootPreparationFailure && error.roots.size ? [...new Set(error.roots.values())] : [code];
|
|
5856
|
+
}
|
|
5857
|
+
/**
|
|
5858
|
+
* ADR 0188 (restoring ADR 0059 D06): moves the failing roots of a multi-root Work into its
|
|
5859
|
+
* stable blocked "<title> – couldn't prepare" Work so the rest can be prepared again. False
|
|
5860
|
+
* when the failure names no root or every root, or the Work changed. Track B may
|
|
5861
|
+
* reopen its still-current reading/review generation before the pending-only store call.
|
|
5862
|
+
*/
|
|
5863
|
+
async function isolateFailingRoots(storage, journeyId, work, error, afterRead = false) {
|
|
5864
|
+
if (!(error instanceof RootPreparationFailure)) return false;
|
|
5865
|
+
if ([
|
|
5866
|
+
error.code,
|
|
5867
|
+
...error.roots.values(),
|
|
5868
|
+
...work.blockedCodes
|
|
5869
|
+
].includes("PRIVACY_CHANGE_PENDING")) return false;
|
|
5870
|
+
const roots = work.rootSessionIds.flatMap((sessionId) => {
|
|
5871
|
+
const code = error.roots.get(sessionId);
|
|
5872
|
+
return code ? [{
|
|
5873
|
+
sessionId,
|
|
5874
|
+
code
|
|
5875
|
+
}] : [];
|
|
5876
|
+
});
|
|
5877
|
+
if (roots.length === 0 || roots.length === work.rootSessionIds.length) return false;
|
|
5878
|
+
if (afterRead) await changePreparation(storage, journeyId, "snapshot", (state) => {
|
|
5879
|
+
const current = state.works.find((item) => item.id === work.id);
|
|
5880
|
+
if (state.phase === "paused" || state.phase === "sending" || state.phase === "completed" || state.scope.status !== "confirmed" || state.pendingHideId || current?.inputRevision !== work.inputRevision || !isSelectedWork(current) || current.blockedCodes.includes("PRIVACY_CHANGE_PENDING") || !["reading", "review"].includes(current.status)) return state;
|
|
5881
|
+
return withReadingProgress({
|
|
5882
|
+
...state,
|
|
5883
|
+
works: state.works.map((item) => item.id === work.id ? {
|
|
5884
|
+
...item,
|
|
5885
|
+
status: "pending"
|
|
5886
|
+
} : item)
|
|
5887
|
+
});
|
|
5888
|
+
}, 100, true);
|
|
5889
|
+
for (;;) {
|
|
5890
|
+
const state = await storage.preparationState(journeyId);
|
|
5891
|
+
const current = state?.works.find((item) => item.id === work.id);
|
|
5892
|
+
if (!state || state.phase === "paused" || state.phase === "sending" || state.phase === "completed" || state.scope.status !== "confirmed" || state.pendingHideId || current?.inputRevision !== work.inputRevision || current.blockedCodes.includes("PRIVACY_CHANGE_PENDING") || current.status !== "pending") return false;
|
|
5893
|
+
if ((await storage.isolateRoots({
|
|
5894
|
+
journeyId,
|
|
5895
|
+
workId: work.id,
|
|
5896
|
+
inputRevision: work.inputRevision,
|
|
5897
|
+
roots,
|
|
5898
|
+
expectedRevision: state.revision,
|
|
5899
|
+
idempotencyKey: randomUUID()
|
|
5900
|
+
})).status !== "stale") return true;
|
|
5901
|
+
}
|
|
5902
|
+
}
|
|
5903
|
+
//#endregion
|
|
5826
5904
|
//#region apps/cli/src/journey/captures.ts
|
|
5827
5905
|
/** Bound each store reply to selected source IDs, including for a large single Work. */
|
|
5828
5906
|
async function readSelectedCaptures(storage, journeyId, partIds) {
|
|
@@ -5899,8 +5977,29 @@ async function staticBaseFromInputs(inputs, processing, hooks) {
|
|
|
5899
5977
|
captures: inputs.captures,
|
|
5900
5978
|
everyAdmissionRefusal: true
|
|
5901
5979
|
}, hooks);
|
|
5902
|
-
if (production.kind !== "configured"
|
|
5980
|
+
if (production.kind !== "configured") throw new ApplicationError("SCOPE_NOT_READY");
|
|
5903
5981
|
const families = reviewFamilies(approval.inventory);
|
|
5982
|
+
if (production.workspaceFailures.length) {
|
|
5983
|
+
const failures = /* @__PURE__ */ new Map();
|
|
5984
|
+
let unattributed = false;
|
|
5985
|
+
for (const failure of production.workspaceFailures) {
|
|
5986
|
+
let attributed = false;
|
|
5987
|
+
for (const session of approval.inventory.sessions) {
|
|
5988
|
+
if (session.workspaceId !== failure.workspaceId) continue;
|
|
5989
|
+
if (failure.location.sessionId && session.id !== failure.location.sessionId) continue;
|
|
5990
|
+
const root = families.owners.get(session.id);
|
|
5991
|
+
if (!root || !roots.includes(root.id)) unattributed = true;
|
|
5992
|
+
else {
|
|
5993
|
+
failures.set(root.id, failure.code);
|
|
5994
|
+
attributed = true;
|
|
5995
|
+
}
|
|
5996
|
+
}
|
|
5997
|
+
if (!attributed) unattributed = true;
|
|
5998
|
+
}
|
|
5999
|
+
const cause = new AggregateError(production.workspaceFailures.map((failure) => failure.cause), "SCOPE_NOT_READY");
|
|
6000
|
+
if (unattributed) throw new ApplicationError("SCOPE_NOT_READY", void 0, { cause });
|
|
6001
|
+
throw new RootPreparationFailure("SCOPE_NOT_READY", failures, { cause });
|
|
6002
|
+
}
|
|
5904
6003
|
const admitted = new Set(production.selection.sessions.map((item) => item.session.id));
|
|
5905
6004
|
return {
|
|
5906
6005
|
production,
|
|
@@ -6350,4 +6449,4 @@ async function runJourneyOutputJob(job, live, signal, onPath) {
|
|
|
6350
6449
|
};
|
|
6351
6450
|
}
|
|
6352
6451
|
//#endregion
|
|
6353
|
-
export {
|
|
6452
|
+
export { exportDelivery as A, inBackgroundStatusPoll as B, prepareSourcePlan as C, saveRemoteState as D, readRemoteState as E, startHost as F, isBackgroundStatusPoll as H, withStateMutex as I, createDeliveryService as L, createStore as M, readStateDump as N, journeyDirectory as O, createExecutionPort as P, preflight as R, changePreparation as S, isRemoteImport as T, retrySharingViolation as U, inBackgroundStoreLane as V, staticBaseProduction as _, writeJourneyOutput as a, blockedCodes as b, mergeHideIndexTokens as c, runJourneyBaseJob as d, writeJourneyBase as f, staticBaseInputs as g, staticSessions as h, runJourneyOutputVerifyJob as i, createPackagingProgressPort as j, collectRemoteWorkers as k, packRenderHideIndex as l, saveStaticSession as m, runJourneyOutputJob as n, createHideIndexTokens as o, readStaticResult as p, runJourneyOutputShardJob as r, hideIndexTexts as s, journeyOutputJob as t, journeyBaseJob as u, readSelectedCaptures as v, workApproval as w, isolateFailingRoots as x, RootPreparationFailure as y, loadDeliveryResults as z };
|