@dsh-enhanced/plugin-control-plane 0.1.66 → 0.1.68
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/README.md +96 -22
- package/lib/cli.d.ts.map +1 -1
- package/lib/cli.js +66 -11
- package/lib/cli.js.map +1 -1
- package/lib/creation-capability-execution.d.ts +5 -1
- package/lib/creation-capability-execution.d.ts.map +1 -1
- package/lib/creation-capability-execution.js +42 -0
- package/lib/creation-capability-execution.js.map +1 -1
- package/lib/creation-capability-feedback.d.ts +16 -1
- package/lib/creation-capability-feedback.d.ts.map +1 -1
- package/lib/creation-capability-feedback.js +82 -5
- package/lib/creation-capability-feedback.js.map +1 -1
- package/lib/creation-capability-journal.d.ts.map +1 -1
- package/lib/creation-capability-journal.js +2 -0
- package/lib/creation-capability-journal.js.map +1 -1
- package/lib/creation-capability-runtime.d.ts +47 -1
- package/lib/creation-capability-runtime.d.ts.map +1 -1
- package/lib/creation-capability-runtime.js +105 -1
- package/lib/creation-capability-runtime.js.map +1 -1
- package/lib/creation-capability-types.d.ts +1 -0
- package/lib/creation-capability-types.d.ts.map +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/linux-source-build.d.ts +13 -2
- package/lib/linux-source-build.d.ts.map +1 -1
- package/lib/linux-source-build.js.map +1 -1
- package/lib/live-qualification-authority.js +2 -2
- package/lib/live-qualification-authority.js.map +1 -1
- package/lib/owner-instruction-drain.d.ts +60 -0
- package/lib/owner-instruction-drain.d.ts.map +1 -0
- package/lib/owner-instruction-drain.js +101 -0
- package/lib/owner-instruction-drain.js.map +1 -0
- package/lib/revision-capability-feedback.d.ts +165 -0
- package/lib/revision-capability-feedback.d.ts.map +1 -0
- package/lib/revision-capability-feedback.js +316 -0
- package/lib/revision-capability-feedback.js.map +1 -0
- package/lib/revision-capability-journal.d.ts +126 -0
- package/lib/revision-capability-journal.d.ts.map +1 -0
- package/lib/revision-capability-journal.js +981 -0
- package/lib/revision-capability-journal.js.map +1 -0
- package/lib/revision-capability-runtime.d.ts +92 -0
- package/lib/revision-capability-runtime.d.ts.map +1 -0
- package/lib/revision-capability-runtime.js +635 -0
- package/lib/revision-capability-runtime.js.map +1 -0
- package/lib/revision-capability-types.d.ts +335 -0
- package/lib/revision-capability-types.d.ts.map +1 -0
- package/lib/revision-capability-types.js +2 -0
- package/lib/revision-capability-types.js.map +1 -0
- package/lib/service.d.ts +199 -4
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +925 -70
- package/lib/service.js.map +1 -1
- package/lib/source-adoption-authority.js +2 -2
- package/lib/source-adoption-authority.js.map +1 -1
- package/lib/source-approval-authority.js +3 -3
- package/lib/source-approval-authority.js.map +1 -1
- package/lib/source-build.d.ts +33 -53
- package/lib/source-build.d.ts.map +1 -1
- package/lib/source-build.js +28 -408
- package/lib/source-build.js.map +1 -1
- package/lib/source-job-types.d.ts +111 -4
- package/lib/source-job-types.d.ts.map +1 -1
- package/lib/source-jobs.d.ts +72 -3
- package/lib/source-jobs.d.ts.map +1 -1
- package/lib/source-jobs.js +314 -43
- package/lib/source-jobs.js.map +1 -1
- package/lib/source-release-authority.js +2 -2
- package/lib/source-release-authority.js.map +1 -1
- package/lib/source-revision.d.ts +29 -3
- package/lib/source-revision.d.ts.map +1 -1
- package/lib/source-revision.js +40 -9
- package/lib/source-revision.js.map +1 -1
- package/lib/source-workspace.d.ts +11 -4
- package/lib/source-workspace.d.ts.map +1 -1
- package/lib/source-workspace.js +51 -18
- package/lib/source-workspace.js.map +1 -1
- package/lib/sqlite.d.ts +6 -7
- package/lib/sqlite.d.ts.map +1 -1
- package/lib/sqlite.js +255 -17
- package/lib/sqlite.js.map +1 -1
- package/lib/store.d.ts +143 -4
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +739 -66
- package/lib/store.js.map +1 -1
- package/lib/systemd-host-authority.js +4 -4
- package/lib/systemd-host-authority.js.map +1 -1
- package/lib/task-observation-authority.js +2 -2
- package/lib/task-observation-authority.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/work-item-creation-contract.d.ts +3 -1
- package/lib/work-item-creation-contract.d.ts.map +1 -1
- package/lib/work-item-creation-contract.js +10 -1
- package/lib/work-item-creation-contract.js.map +1 -1
- package/package.json +11 -8
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { SourceBuildConfig } from './source-build.js';
|
|
1
|
+
import type { LegacyDockerSourceBuildConfig, SourceBuildConfig } from './source-build.js';
|
|
2
2
|
import type { ScopedPluginFile } from './source-workspace.js';
|
|
3
3
|
import type { SourceBaselineConfig } from './source-baseline.js';
|
|
4
4
|
import type { SourceCreationBinding, SourceCreationGrant } from './source-creation.js';
|
|
5
5
|
import type { SourceRevisionBinding, SourceRevisionGrant } from './source-revision.js';
|
|
6
|
+
import type { RevisionAcceptanceAuthorityRef } from '@dsh-enhanced/assistant-growth-contract';
|
|
6
7
|
/** Owner-configured authority for background checks, separate from an Agent wake. */
|
|
7
8
|
export interface SourceJobsConfig {
|
|
8
9
|
authorityId: string;
|
|
@@ -17,6 +18,18 @@ export interface SourceJobsConfig {
|
|
|
17
18
|
creation?: SourceCreationGrant;
|
|
18
19
|
/** Preparation only; does not grant adoption or execution of a revision. */
|
|
19
20
|
revision?: SourceRevisionGrant;
|
|
21
|
+
/**
|
|
22
|
+
* P1-4 owner-configured non-inferiority contract (full form). When present,
|
|
23
|
+
* revision grants that pin a benefit digest gate auto-adoption on a recorded
|
|
24
|
+
* non-inferior outcome evaluated under this exact contract.
|
|
25
|
+
*/
|
|
26
|
+
revisionBenefit?: import('@dsh-enhanced/assistant-growth-contract').RevisionBenefitContract;
|
|
27
|
+
/**
|
|
28
|
+
* Explicit owner opt-in: with a pinned benefit contract, allow exactly one
|
|
29
|
+
* review-only first adoption before candidate evidence can exist. Default
|
|
30
|
+
* false preserves the contract's non-inferior-before-adoption requirement.
|
|
31
|
+
*/
|
|
32
|
+
allowReviewOnlyFirstAdoption?: boolean;
|
|
20
33
|
ownerRouteId: string;
|
|
21
34
|
principalId: string;
|
|
22
35
|
workspace: string;
|
|
@@ -37,6 +50,85 @@ export interface SourceJobOwnerReceipt {
|
|
|
37
50
|
bindingVersion: number;
|
|
38
51
|
generation: number;
|
|
39
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Host-recorded owner revision instruction: the authenticated alternative to
|
|
55
|
+
* a failed owner task for triggering one `revise-created` job. It is written
|
|
56
|
+
* only by the Host request path, freezes the owner receipt and the exact
|
|
57
|
+
* submitted files, and expires; the model cannot create or alter it.
|
|
58
|
+
*/
|
|
59
|
+
export interface SourceOwnerInstruction {
|
|
60
|
+
instructionId: string;
|
|
61
|
+
ownerReceipt: SourceJobOwnerReceipt;
|
|
62
|
+
ownerDigest: string;
|
|
63
|
+
ownerRouteId: string;
|
|
64
|
+
planId: string;
|
|
65
|
+
pluginName: string;
|
|
66
|
+
filesDigest: string;
|
|
67
|
+
createdAt: number;
|
|
68
|
+
expiresAt: number;
|
|
69
|
+
idempotencyKey: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Exact review/adoption windows frozen when an owner instruction is enqueued.
|
|
73
|
+
* The verifier review budget identity itself is committed by the frozen
|
|
74
|
+
* `RevisionAcceptanceAuthorityRef.authorityDigest`; these windows are the
|
|
75
|
+
* Host-side outer budget the source job definition may allocate for the
|
|
76
|
+
* review and adoption continuations.
|
|
77
|
+
*/
|
|
78
|
+
export interface OwnerInstructionReviewWindow {
|
|
79
|
+
verificationMs: number;
|
|
80
|
+
regressionMs: number;
|
|
81
|
+
adoptionMs: number;
|
|
82
|
+
}
|
|
83
|
+
/** Independent review budget identity frozen at instruction enqueue. */
|
|
84
|
+
export interface OwnerInstructionReviewBudget {
|
|
85
|
+
protocol: 'plugin-control-plane/owner-instruction-review-budget/v1';
|
|
86
|
+
authority: RevisionAcceptanceAuthorityRef;
|
|
87
|
+
verifierKeyDigest: string;
|
|
88
|
+
window: OwnerInstructionReviewWindow;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The review supplier and budget an owner-instruction revision must use for
|
|
92
|
+
* its whole review lane. Written once at enqueue; recovery only re-reads it and
|
|
93
|
+
* fails closed if it is absent or no longer matches the configured verifier.
|
|
94
|
+
*/
|
|
95
|
+
export interface OwnerInstructionReviewFreeze {
|
|
96
|
+
protocol: 'plugin-control-plane/owner-instruction-review-freeze/v1';
|
|
97
|
+
supplier: Readonly<{
|
|
98
|
+
provider: string;
|
|
99
|
+
model: string;
|
|
100
|
+
reasoningEffort?: string;
|
|
101
|
+
}>;
|
|
102
|
+
budget: OwnerInstructionReviewBudget;
|
|
103
|
+
digest: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* A structured owner-instruction revision request written by the control-plane
|
|
107
|
+
* CLI before any Delivery/owner-route validation exists in that process. The
|
|
108
|
+
* running service's SourceJobs continuation tick claims pending rows, re-validates
|
|
109
|
+
* the owner route inside its trust boundary and only then enqueues the job. The
|
|
110
|
+
* CLI never writes source_jobs directly and the model tool surface never reaches
|
|
111
|
+
* this table. `files` are the exact candidate bytes; `filesDigest` binds them.
|
|
112
|
+
*/
|
|
113
|
+
export interface SourceOwnerInstructionRequest {
|
|
114
|
+
requestId: string;
|
|
115
|
+
planId: string;
|
|
116
|
+
pluginName: string;
|
|
117
|
+
expectedBaseCommit: string;
|
|
118
|
+
files: readonly ScopedPluginFile[];
|
|
119
|
+
filesDigest: string;
|
|
120
|
+
ttlMs: number;
|
|
121
|
+
idempotencyKey: string;
|
|
122
|
+
createdAt: number;
|
|
123
|
+
expiresAt: number;
|
|
124
|
+
status: 'pending' | 'claimed' | 'accepted' | 'rejected';
|
|
125
|
+
failureCode: string | null;
|
|
126
|
+
/** Set while claimed; a stale value marks an orphaned claim safe to requeue. */
|
|
127
|
+
claimedAt: number | null;
|
|
128
|
+
claimGeneration: number;
|
|
129
|
+
instructionId: string | null;
|
|
130
|
+
jobId: string | null;
|
|
131
|
+
}
|
|
40
132
|
export interface SourceJobAuthority {
|
|
41
133
|
id: string;
|
|
42
134
|
digest: string;
|
|
@@ -62,15 +154,30 @@ export interface SourceJobIntent {
|
|
|
62
154
|
baseCommit: string;
|
|
63
155
|
files: readonly ScopedPluginFile[];
|
|
64
156
|
ttlMs: number;
|
|
65
|
-
|
|
157
|
+
/** A docker-era value can only be decoded from stored history; new intents require a native backend. */
|
|
158
|
+
build: SourceBuildConfig | LegacyDockerSourceBuildConfig;
|
|
66
159
|
worktree: string;
|
|
67
|
-
/** Historical Docker row identity;
|
|
160
|
+
/** Historical Docker row identity; present only on legacy docker-era intents. */
|
|
68
161
|
containerName?: string;
|
|
69
|
-
/** Durable native ledger key
|
|
162
|
+
/** Durable native ledger key; present on all native jobs. */
|
|
70
163
|
nativeResource?: {
|
|
71
164
|
backend: 'macos-seatbelt' | 'linux-native';
|
|
72
165
|
key: string;
|
|
73
166
|
};
|
|
167
|
+
/**
|
|
168
|
+
* Present only on `revise-created` jobs authenticated by a Host-recorded
|
|
169
|
+
* owner instruction instead of an owner task failure. The digest pins the
|
|
170
|
+
* exact stored instruction row, so any drift fails the frozen intent.
|
|
171
|
+
* `reviewFreezeDigest`/`reviewWindow` pin the review supplier and budget
|
|
172
|
+
* frozen at instruction enqueue; both are absent only on legacy intents,
|
|
173
|
+
* which every execution path fails closed.
|
|
174
|
+
*/
|
|
175
|
+
ownerInstruction?: {
|
|
176
|
+
instructionId: string;
|
|
177
|
+
digest: string;
|
|
178
|
+
reviewFreezeDigest?: string;
|
|
179
|
+
reviewWindow?: OwnerInstructionReviewWindow;
|
|
180
|
+
};
|
|
74
181
|
}
|
|
75
182
|
export type SourceJobStatus = 'queued' | 'running' | 'prepared' | 'failed' | 'unknown';
|
|
76
183
|
export interface SourceJobRecord {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-job-types.d.ts","sourceRoot":"","sources":["../src/source-job-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"source-job-types.d.ts","sourceRoot":"","sources":["../src/source-job-types.ts"],"names":[],"mappings":"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"}
|
package/lib/source-jobs.d.ts
CHANGED
|
@@ -7,8 +7,20 @@ import type { CreationCapabilitySourceSnapshot } from './creation-capability-sou
|
|
|
7
7
|
import type { PluginCreationVerificationCertificate, PluginRevisionParentBinding } from '@dsh-enhanced/assistant-growth-contract';
|
|
8
8
|
import { type loadTrustConfig } from './trust.js';
|
|
9
9
|
import type { PluginSourcePlan } from './types.js';
|
|
10
|
-
import type { SourceJobOwnerReceipt, SourceJobProjection, SourceJobRecord, SourceJobsConfig } from './source-job-types.js';
|
|
10
|
+
import type { OwnerInstructionReviewWindow, SourceJobOwnerReceipt, SourceJobProjection, SourceJobRecord, SourceJobsConfig } from './source-job-types.js';
|
|
11
11
|
import { type SourceBuildDiagnostics } from './source-build-diagnostics.js';
|
|
12
|
+
/**
|
|
13
|
+
* The exact Host-side review/adoption windows a source job may allocate. It is
|
|
14
|
+
* computed from live capability presence only when an owner instruction is first
|
|
15
|
+
* enqueued; afterwards the frozen copy is authoritative and any difference
|
|
16
|
+
* fails closed instead of silently resizing the review budget.
|
|
17
|
+
*/
|
|
18
|
+
export declare function instructionReviewWindowFor(input: Readonly<{
|
|
19
|
+
linuxBackend: boolean;
|
|
20
|
+
verification: boolean;
|
|
21
|
+
regression: boolean;
|
|
22
|
+
adoption: boolean;
|
|
23
|
+
}>): Readonly<OwnerInstructionReviewWindow>;
|
|
12
24
|
export declare const SOURCE_JOB_OWNER = "plugin-control-plane-source";
|
|
13
25
|
export interface SourceJobCaller {
|
|
14
26
|
ownerRouteId: string;
|
|
@@ -28,6 +40,11 @@ export interface EnqueueSourceJobInput {
|
|
|
28
40
|
parentPlanId?: string;
|
|
29
41
|
/** Host expectation only; authoritative bytes are reread through the registered producer. */
|
|
30
42
|
growthRun?: SourceGrowthRunBinding;
|
|
43
|
+
/** Authenticated alternative trigger for revise-created without a task failure. */
|
|
44
|
+
ownerInstruction?: {
|
|
45
|
+
instructionId: string;
|
|
46
|
+
digest: string;
|
|
47
|
+
};
|
|
31
48
|
expectedBaseCommit: string;
|
|
32
49
|
ttlMs: number;
|
|
33
50
|
owner: SourceJobCaller;
|
|
@@ -35,7 +52,7 @@ export interface EnqueueSourceJobInput {
|
|
|
35
52
|
assertCurrent: () => void | Promise<void>;
|
|
36
53
|
}
|
|
37
54
|
export interface SourceJobPorts {
|
|
38
|
-
automations: Pick<AssistantAutomationsService, 'registerHostExecutor' | 'reconcileSystem' | 'reconcileSystemExact' | 'pauseSystemOwned' | 'inspectSystemOwnedActivation' | 'inspectSystemOwned'
|
|
55
|
+
automations: Pick<AssistantAutomationsService, 'registerHostExecutor' | 'reconcileSystem' | 'reconcileSystemExact' | 'pauseSystemOwned' | 'inspectSystemOwnedActivation' | 'inspectSystemOwned'> & Partial<Pick<AssistantAutomationsService, 'onSchedulerWake'>>;
|
|
39
56
|
delivery: {
|
|
40
57
|
validateOwnerRoute(input: {
|
|
41
58
|
authorityId: string;
|
|
@@ -51,6 +68,7 @@ export declare function validateSourceJobsConfig(value: SourceJobsConfig, build?
|
|
|
51
68
|
export declare function normalizeSourceJobsConfig(value: SourceJobsConfig, build?: SourceBuildConfig): SourceJobsConfig;
|
|
52
69
|
/** Persisted intent + native Automations execution. This class owns no scheduler. */
|
|
53
70
|
export declare class SourceJobRuntime {
|
|
71
|
+
#private;
|
|
54
72
|
private readonly options;
|
|
55
73
|
private readonly abort;
|
|
56
74
|
private readonly flights;
|
|
@@ -59,12 +77,14 @@ export declare class SourceJobRuntime {
|
|
|
59
77
|
private readonly authorityDigest;
|
|
60
78
|
private unregister?;
|
|
61
79
|
private unregisterContinuation?;
|
|
80
|
+
private unsubscribeWake?;
|
|
62
81
|
private closing?;
|
|
63
82
|
private active;
|
|
64
83
|
private readonly generation;
|
|
65
84
|
private readonly continuationNonce;
|
|
66
85
|
private readonly continuing;
|
|
67
86
|
private continuationCursor;
|
|
87
|
+
private preferRequestDrain;
|
|
68
88
|
private continuationStatus;
|
|
69
89
|
private continuationTransition;
|
|
70
90
|
/** Process-local, bounded build diagnostics; the failure code itself is durable. */
|
|
@@ -75,7 +95,7 @@ export declare class SourceJobRuntime {
|
|
|
75
95
|
statePath: string;
|
|
76
96
|
store: ControlPlaneStore;
|
|
77
97
|
ports: SourceJobPorts;
|
|
78
|
-
withWorkItemGrowthRunFence?: <T>(run: WorkItemSourceGrowthRunBinding, gapId: string, owner: SourceJobOwnerReceipt, generation: boolean, callback: () => T) => T;
|
|
98
|
+
withWorkItemGrowthRunFence?: <T>(run: WorkItemSourceGrowthRunBinding | import('@dsh-enhanced/assistant-growth-contract').WorkItemRevisionSourceGrowthRunBinding, gapId: string, owner: SourceJobOwnerReceipt, generation: boolean, callback: () => T) => T;
|
|
79
99
|
withGapSourceFence?: <T>(gapId: string, owner: SourceJobOwnerReceipt, callback: () => T) => T;
|
|
80
100
|
assertGrowthRun?: (growthRun: SourceGrowthRunBinding, gapId: string, owner: SourceJobOwnerReceipt, generation: boolean) => void;
|
|
81
101
|
trust: () => Promise<Trust>;
|
|
@@ -91,11 +111,25 @@ export declare class SourceJobRuntime {
|
|
|
91
111
|
verifyPreparedCreation?: (job: SourceJobRecord, signal: AbortSignal) => Promise<void>;
|
|
92
112
|
creationAdoptionEligible?: (planId: string) => boolean;
|
|
93
113
|
adoptVerifiedCreation?: (job: SourceJobRecord, signal: AbortSignal) => Promise<void>;
|
|
114
|
+
/** A verified revision may replace its stable adopted entry only under a separate finite grant. */
|
|
115
|
+
revisionAdoptionEligible?: (planId: string) => boolean;
|
|
116
|
+
adoptVerifiedRevision?: (job: SourceJobRecord, signal: AbortSignal) => Promise<void>;
|
|
94
117
|
releasePrepared?: (job: SourceJobRecord, signal: AbortSignal) => Promise<void>;
|
|
95
118
|
advanceReleased?: (job: SourceJobRecord, signal: AbortSignal) => Promise<void>;
|
|
96
119
|
releaseTimeoutMs?: number;
|
|
97
120
|
adoptReleased?: (job: SourceJobRecord, signal: AbortSignal, assertCurrent: () => Promise<void>) => Promise<void>;
|
|
98
121
|
adoptionTimeoutMs?: number;
|
|
122
|
+
/** Host-owned P1-4 benefit reconciliation, driven by this runtime's existing cron tick. */
|
|
123
|
+
reconcileRevisionBenefits?: () => void;
|
|
124
|
+
/**
|
|
125
|
+
* Explicit opt-in for one review-only first adoption when a benefit contract
|
|
126
|
+
* is pinned but no candidate evidence can exist before the entry is mounted.
|
|
127
|
+
* Default false keeps the contract's non-inferior-before-adoption semantics.
|
|
128
|
+
*/
|
|
129
|
+
allowReviewOnlyFirstAdoption?: boolean;
|
|
130
|
+
/** Observe requests on the native scheduler wake and admit them inside its budgeted occurrence. */
|
|
131
|
+
hasOwnerInstructionRequests?: () => boolean;
|
|
132
|
+
drainOwnerInstructionRequests?: (signal: AbortSignal) => Promise<void>;
|
|
99
133
|
prepare: (job: SourceJobRecord, signal: AbortSignal, assertCurrent: () => Promise<void>) => Promise<PluginSourcePlan>;
|
|
100
134
|
inspectNativeQuiescence?: (key: string) => Promise<'quiescent' | 'unknown'>;
|
|
101
135
|
/** Linux service-owned, single-use proof of no admission and completed/no Host cleanup. */
|
|
@@ -112,6 +146,8 @@ export declare class SourceJobRuntime {
|
|
|
112
146
|
reconcileQueued(): void;
|
|
113
147
|
/** Provider removal revokes in-flight authority without replaying a claimed job. */
|
|
114
148
|
growthProviderDisposed(): Promise<void>;
|
|
149
|
+
/** A revision is adoptable only when its independent review, any configured regression, and any configured benefit outcome verified. */
|
|
150
|
+
private revisionAdoptionReady;
|
|
115
151
|
private continuePrepared;
|
|
116
152
|
private continuePreparedLocked;
|
|
117
153
|
inspectWorkItemReadiness(owner: SourceJobOwnerReceipt): {
|
|
@@ -126,6 +162,18 @@ export declare class SourceJobRuntime {
|
|
|
126
162
|
creates: number;
|
|
127
163
|
};
|
|
128
164
|
} | undefined;
|
|
165
|
+
inspectWorkItemRevisionReadiness(owner: SourceJobOwnerReceipt): {
|
|
166
|
+
authority: {
|
|
167
|
+
id: string;
|
|
168
|
+
digest: string;
|
|
169
|
+
expiresAt: number;
|
|
170
|
+
};
|
|
171
|
+
revision: NonNullable<SourceJobsConfig['revision']>;
|
|
172
|
+
remaining: {
|
|
173
|
+
sourceSubmissions: number;
|
|
174
|
+
revisions: number;
|
|
175
|
+
};
|
|
176
|
+
} | undefined;
|
|
129
177
|
available(): boolean;
|
|
130
178
|
close(): Promise<void>;
|
|
131
179
|
private track;
|
|
@@ -135,6 +183,8 @@ export declare class SourceJobRuntime {
|
|
|
135
183
|
private withGapSource;
|
|
136
184
|
private modeAllowed;
|
|
137
185
|
private assertMode;
|
|
186
|
+
/** Live capability identity; only used to validate an already frozen budget. */
|
|
187
|
+
private instructionReviewWindow;
|
|
138
188
|
private assertOwner;
|
|
139
189
|
private assertGrowthRun;
|
|
140
190
|
enqueue(input: EnqueueSourceJobInput): Promise<SourceJobProjection>;
|
|
@@ -146,6 +196,15 @@ export declare class SourceJobRuntime {
|
|
|
146
196
|
/** Native runner admission can fail before our executor is invoked. */
|
|
147
197
|
private refreshQueued;
|
|
148
198
|
private growthProducerUnavailable;
|
|
199
|
+
/**
|
|
200
|
+
* Per-job review/adoption window. A supplied `job` whose revision is authorized
|
|
201
|
+
* by an owner instruction uses ONLY the window frozen in its intent. The
|
|
202
|
+
* job-less overload remains live because continuationTimeoutMs() sizes the
|
|
203
|
+
* shared continuation occurrence: that outer wall-clock cap may shrink with
|
|
204
|
+
* live config but can never enlarge the frozen inner verifier authority/budget.
|
|
205
|
+
* A smaller live window only truncates the continuation earlier (settled
|
|
206
|
+
* unknown); the per-job definition and the verifier budget stay frozen.
|
|
207
|
+
*/
|
|
149
208
|
private linuxRevisionReviewTimeoutMs;
|
|
150
209
|
private definition;
|
|
151
210
|
private schedule;
|
|
@@ -153,6 +212,16 @@ export declare class SourceJobRuntime {
|
|
|
153
212
|
private continuationJobs;
|
|
154
213
|
/** Admission reads durable state and validates the current owner; it never invokes continuation approval or release hooks. */
|
|
155
214
|
private eligibleContinuation;
|
|
215
|
+
/**
|
|
216
|
+
* Outer wall-clock cap for the shared continuation automation definition, the
|
|
217
|
+
* owner-instruction request drain and the non-adoption continuation signal.
|
|
218
|
+
* This is NOT the frozen review budget: an owner-instruction job's inner
|
|
219
|
+
* verifier authority/budget and its own definition timeout are pinned by the
|
|
220
|
+
* intent plus the write-once instruction freeze. A live config change here can
|
|
221
|
+
* only truncate the continuation earlier (settled unknown); it can never
|
|
222
|
+
* enlarge the frozen inner budget. Narrowing the review budget for one request
|
|
223
|
+
* would require a verifier request/response protocol v2.
|
|
224
|
+
*/
|
|
156
225
|
private continuationTimeoutMs;
|
|
157
226
|
private continuationSignalTimeoutMs;
|
|
158
227
|
private continuationDefinition;
|
package/lib/source-jobs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-jobs.d.ts","sourceRoot":"","sources":["../src/source-jobs.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"source-jobs.d.ts","sourceRoot":"","sources":["../src/source-jobs.ts"],"names":[],"mappings":"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"}
|