@jmanuelcorral/openteam 0.16.0 → 0.16.2
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.es.md +1 -1
- package/README.md +1 -1
- package/dist/certificates/graph-release-certificate.json +45 -0
- package/dist/certificates/graph-shadow-certificate.json +39 -0
- package/dist/cli/graphOperator.d.ts +3 -3
- package/dist/cli/graphOperator.d.ts.map +1 -1
- package/dist/cli/opencodeVersion.d.ts +44 -0
- package/dist/cli/opencodeVersion.d.ts.map +1 -0
- package/dist/cli.js +2038 -1021
- package/dist/commands/dispatch.d.ts +23 -1
- package/dist/commands/dispatch.d.ts.map +1 -1
- package/dist/commands/doctor.d.ts +19 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/graph.d.ts +42 -2
- package/dist/commands/graph.d.ts.map +1 -1
- package/dist/config/graphFeatureGate.d.ts +28 -6
- package/dist/config/graphFeatureGate.d.ts.map +1 -1
- package/dist/contract/opencode.d.ts +49 -3
- package/dist/contract/opencode.d.ts.map +1 -1
- package/dist/graph/certificate.d.ts.map +1 -1
- package/dist/index.d.ts +47 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +177 -36
- package/package.json +3 -2
|
@@ -111,13 +111,35 @@ export type GraphWorktreePort = {
|
|
|
111
111
|
listObservations(config: OpenTeamConfig): Promise<readonly WorktreeObservation[]>;
|
|
112
112
|
apply(action: WorktreeReconcileAction, runID: string): Promise<void>;
|
|
113
113
|
};
|
|
114
|
+
/**
|
|
115
|
+
* Outcome of a best-effort cutover-gate evaluation at the CLI boundary.
|
|
116
|
+
*
|
|
117
|
+
* `evaluated` carries a real gate verdict computed against a **resolved**
|
|
118
|
+
* opencode version. `unevaluable` means the boundary could not determine the
|
|
119
|
+
* opencode version (there is no running opencode session to ask), so NO verdict
|
|
120
|
+
* was computed — callers must not fabricate one.
|
|
121
|
+
*
|
|
122
|
+
* The two callers treat `unevaluable` deliberately differently (GE-071):
|
|
123
|
+
* • mutating operator commands (`cancel`/`recover`/`worktrees`) fail CLOSED —
|
|
124
|
+
* they must never touch journal/lease/worktrees on a gate they could not
|
|
125
|
+
* verify;
|
|
126
|
+
* • `graph status` is read-only, so it reports "could not evaluate" instead
|
|
127
|
+
* of manufacturing a denial it did not actually compute.
|
|
128
|
+
*/
|
|
129
|
+
export type CutoverGateEvaluation = {
|
|
130
|
+
readonly kind: "evaluated";
|
|
131
|
+
readonly gate: GraphGateResult;
|
|
132
|
+
} | {
|
|
133
|
+
readonly kind: "unevaluable";
|
|
134
|
+
readonly reason: string;
|
|
135
|
+
};
|
|
114
136
|
export type GraphOperatorDeps = {
|
|
115
137
|
readonly holder: string;
|
|
116
138
|
readonly recovery: GraphRecoveryPort;
|
|
117
139
|
readonly worktrees: GraphWorktreePort;
|
|
118
140
|
readonly capability?: ActiveIngressCapability;
|
|
119
141
|
readonly allowList?: readonly string[];
|
|
120
|
-
evaluateCutoverGate(): Promise<
|
|
142
|
+
evaluateCutoverGate(config: OpenTeamConfig): Promise<CutoverGateEvaluation>;
|
|
121
143
|
createIngress(policy: IngressPolicy, config: OpenTeamConfig): GraphIngress;
|
|
122
144
|
};
|
|
123
145
|
export type ConfigPathResolution = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/commands/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAOjE,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/commands/dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,25 @@ export type DoctorInput = {
|
|
|
76
76
|
* it without aborting the rest of the health report.
|
|
77
77
|
*/
|
|
78
78
|
rosterLoadError?: string;
|
|
79
|
+
/**
|
|
80
|
+
* True when the command boundary confirmed the roster file does **not** exist
|
|
81
|
+
* (distinct from existing-but-unparseable, which `rosterAudit`/`rosterLoadError`
|
|
82
|
+
* already cover). When set, doctor emits a `roster health:` ✗ that states the
|
|
83
|
+
* consequence — without a roster openteam has no roles to split work across, so
|
|
84
|
+
* every request is handled by a single agent — and the `openteam setup` remedy.
|
|
85
|
+
* Kept optional so a composition root that cannot determine existence stays
|
|
86
|
+
* silent instead of reporting a false "missing".
|
|
87
|
+
*/
|
|
88
|
+
rosterMissing?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* True when the command boundary confirmed the primary orchestrator agent
|
|
91
|
+
* (`.opencode/agent/openteam.md`) does **not** exist. This is the agent that
|
|
92
|
+
* reads the roster and calls `openteam-orchestrate` to fan work out across
|
|
93
|
+
* roles; without it opencode has no openteam coordinator. When set, doctor
|
|
94
|
+
* emits an `orchestrator agent:` ✗ with the `openteam setup` remedy. Optional
|
|
95
|
+
* for the same reason as `rosterMissing`.
|
|
96
|
+
*/
|
|
97
|
+
orchestratorAgentMissing?: boolean;
|
|
79
98
|
/**
|
|
80
99
|
* Coverage of openteam's runtime-generated state by `.opencode/.gitignore`,
|
|
81
100
|
* computed at the command boundary (`missingGeneratedStateRules`). When
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/graph.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { GateViolation } from "../config/graphFeatureGate";
|
|
1
2
|
import type { ConfigSource } from "../config/resolve";
|
|
2
3
|
import type { GraphMode } from "../config/schema";
|
|
3
4
|
import type { GraphJournalHealth } from "../graph/types";
|
|
@@ -56,8 +57,47 @@ export type GraphCancelOptions = {
|
|
|
56
57
|
/** Operator explicitly accepts taking over a run held by someone else. */
|
|
57
58
|
readonly force?: boolean;
|
|
58
59
|
};
|
|
59
|
-
/**
|
|
60
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Result of the cutover gate as it applies to the `graph status` render.
|
|
62
|
+
*
|
|
63
|
+
* The renderer is pure: the wiring layer (`dispatch.ts`) performs the I/O to
|
|
64
|
+
* evaluate the gate and passes the settled outcome here.
|
|
65
|
+
*
|
|
66
|
+
* - `not-applicable`: the configured mode is not `active` (or the kill switch
|
|
67
|
+
* already degraded it), so the gate does not run — no `effective:` line.
|
|
68
|
+
* - `passed`: the gate ran and allowed `active`.
|
|
69
|
+
* - `denied`: the gate ran and degraded `active` to `off`; carries the
|
|
70
|
+
* violations so the operator sees each remedy.
|
|
71
|
+
* - `unevaluable`: the gate could not be evaluated — either the operator ports
|
|
72
|
+
* are absent, or the opencode version is not determinable outside a running
|
|
73
|
+
* opencode session. We report `unknown` and the reason; we NEVER print
|
|
74
|
+
* `active` or `off`, and NEVER fabricate violation bullets, for a gate we did
|
|
75
|
+
* not actually compute.
|
|
76
|
+
*/
|
|
77
|
+
export type GraphStatusGate = {
|
|
78
|
+
readonly kind: "not-applicable";
|
|
79
|
+
} | {
|
|
80
|
+
readonly kind: "passed";
|
|
81
|
+
readonly advisories?: readonly GateViolation[];
|
|
82
|
+
} | {
|
|
83
|
+
readonly kind: "denied";
|
|
84
|
+
readonly violations: readonly GateViolation[];
|
|
85
|
+
readonly advisories?: readonly GateViolation[];
|
|
86
|
+
} | {
|
|
87
|
+
readonly kind: "unevaluable";
|
|
88
|
+
readonly reason: string;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Render the operator-facing status view of a graph health snapshot.
|
|
92
|
+
*
|
|
93
|
+
* When the configured mode is `active`, the wiring layer evaluates the cutover
|
|
94
|
+
* gate and passes the outcome as `gate`. The `config:` line always reports the
|
|
95
|
+
* mode resolved from config (before the gate), while the `effective:` line
|
|
96
|
+
* reports the mode the runtime will actually use once the gate is applied. For
|
|
97
|
+
* non-active modes the default `not-applicable` gate keeps the output identical
|
|
98
|
+
* to the pre-gate behaviour.
|
|
99
|
+
*/
|
|
100
|
+
export declare function renderGraphStatus(snapshot: GraphHealthSnapshot, gate?: GraphStatusGate): string;
|
|
61
101
|
/** Decide whether recovering the journal tail is a safe, idempotent action. */
|
|
62
102
|
export declare function planGraphRecover(snapshot: GraphHealthSnapshot, options?: GraphRecoverOptions): GraphActionPlan;
|
|
63
103
|
/** Decide whether cancelling the active run is a safe, idempotent action. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE;;;;;;;;;;;;;;GAcG;AAEH,4EAA4E;AAC5E,MAAM,MAAM,mBAAmB,GAAG;IAChC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;IAClC,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IACxC,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,kDAAkD;IAClD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExE,8CAA8C;AAC9C,MAAM,MAAM,eAAe,GAAG;IAC5B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,GAAG;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAUF,
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE;;;;;;;;;;;;;;GAcG;AAEH,4EAA4E;AAC5E,MAAM,MAAM,mBAAmB,GAAG;IAChC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;IAClC,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IACxC,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,kDAAkD;IAClD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExE,8CAA8C;AAC9C,MAAM,MAAM,eAAe,GAAG;IAC5B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,GAAG;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAUF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GACnC;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE,GAC3E;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CAChD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAoC9D;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,GAAE,eAA4C,GACjD,MAAM,CAyBR;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,GAAE,mBAAwB,GAChC,eAAe,CAejB;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAejB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,uBAAuB,GAC9B,MAAM,CAoBR"}
|
|
@@ -37,6 +37,22 @@
|
|
|
37
37
|
* 4. **Absence is not zero — it's a distinct failure.** Missing, unreadable,
|
|
38
38
|
* expired, and invalid certificates are all distinguished so the operator
|
|
39
39
|
* gets the right remediation advice.
|
|
40
|
+
*
|
|
41
|
+
* 5. **The soak certificate is advisory, not blocking.** Unlike shadow and
|
|
42
|
+
* release — which certify properties of the *shipped engine* and are
|
|
43
|
+
* therefore stable for a given release — the soak certificate binds its
|
|
44
|
+
* digest to the ledger of soak evidence held *locally* by the installation.
|
|
45
|
+
* That evidence grows every session (`plugin/soakObserver.ts` appends
|
|
46
|
+
* observations at runtime), so any soak certificate is invalidated with
|
|
47
|
+
* `ledger-mismatch` as soon as the operator uses the plugin. Enforcing it
|
|
48
|
+
* would mean `active` mode survives at most until the next observation is
|
|
49
|
+
* recorded, and no passing soak certificate has ever been produced (CI
|
|
50
|
+
* asserts `SOAK_EXPECTED_VERDICT=fail`). Blocking on a condition that no
|
|
51
|
+
* installation can hold stably is not a safety guarantee — it is an
|
|
52
|
+
* unreachable mode dressed as one. We report it loudly and let shadow,
|
|
53
|
+
* release, migration, and operator approval carry the gate. Restore it to
|
|
54
|
+
* blocking once the soak pipeline can be satisfied and re-certified by a
|
|
55
|
+
* real installation.
|
|
40
56
|
*/
|
|
41
57
|
/** Status of a certificate after the wiring layer attempted to parse it. */
|
|
42
58
|
export type CertificateStatus = {
|
|
@@ -78,19 +94,25 @@ export type GateViolation = {
|
|
|
78
94
|
};
|
|
79
95
|
/** Result of evaluating the cutover gate. */
|
|
80
96
|
export type GraphGateResult = {
|
|
81
|
-
/** `true` only when every condition is satisfied. */
|
|
97
|
+
/** `true` only when every *blocking* condition is satisfied. */
|
|
82
98
|
readonly allowed: boolean;
|
|
83
|
-
/** All violations found, even when `allowed` is already `false`. */
|
|
99
|
+
/** All blocking violations found, even when `allowed` is already `false`. */
|
|
84
100
|
readonly violations: readonly GateViolation[];
|
|
101
|
+
/**
|
|
102
|
+
* Non-blocking findings. Reported to the operator with the same detail as a
|
|
103
|
+
* violation, but they do not close the gate. See design decision 5.
|
|
104
|
+
*/
|
|
105
|
+
readonly advisories: readonly GateViolation[];
|
|
85
106
|
};
|
|
86
107
|
/**
|
|
87
108
|
* Evaluates the cutover gate. Pure and deterministic: same inputs always
|
|
88
109
|
* produce the same result.
|
|
89
110
|
*
|
|
90
|
-
*
|
|
91
|
-
* migration, and operator approval. A single missing condition closes
|
|
92
|
-
*
|
|
93
|
-
*
|
|
111
|
+
* Four conditions are **independently necessary** and block the gate: shadow,
|
|
112
|
+
* release, migration, and operator approval. A single missing condition closes
|
|
113
|
+
* the gate. The soak certificate is evaluated but reported as a *non-blocking
|
|
114
|
+
* advisory* — see design decision 5. All findings are collected (not
|
|
115
|
+
* short-circuited) so the operator sees everything that needs fixing.
|
|
94
116
|
*/
|
|
95
117
|
export declare function evaluateGraphGate(input: GraphGateInput): GraphGateResult;
|
|
96
118
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphFeatureGate.d.ts","sourceRoot":"","sources":["../../src/config/graphFeatureGate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"graphFeatureGate.d.ts","sourceRoot":"","sources":["../../src/config/graphFeatureGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAIH,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,GAC7B;IACE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAIN;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAIjE,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACpC,CAAC;AAIF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACzB,2BAA2B,GAC3B,4BAA4B,GAC5B,4BAA4B,GAC5B,6BAA6B,GAC7B,yBAAyB,GACzB,0BAA0B,GAC1B,mBAAmB,GACnB,mBAAmB,GACnB,2BAA2B,CAAC;AAEhC,mEAAmE;AACnE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAIF,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C,CAAC;AAuBF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CA4CxE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAE3E"}
|
|
@@ -24,6 +24,16 @@ export declare const MIN_SUPPORTED_OPENCODE_VERSION = "1.17.13";
|
|
|
24
24
|
* Exact versions whose contract surface has been verified. When moving to a
|
|
25
25
|
* new version, it must be added here **after** reviewing the integration points
|
|
26
26
|
* documented in {@link OPENCODE_CONTRACT_SURFACES}.
|
|
27
|
+
*
|
|
28
|
+
* This list gates which versions may be *stamped* onto evidence (see
|
|
29
|
+
* `DEFAULT_SOAK_POLICY.supportedOpencodeVersions`, which mirrors it). It is
|
|
30
|
+
* deliberately narrow: widening it changes the policy embedded in already
|
|
31
|
+
* issued soak certificates and invalidates them with `policy-mismatch`, so a
|
|
32
|
+
* new entry must be added together with re-issued certificates.
|
|
33
|
+
*
|
|
34
|
+
* Deciding whether an *already issued* certificate may be trusted on a newer
|
|
35
|
+
* running server is a different question, answered by
|
|
36
|
+
* {@link isCertificateVersionCompatible}.
|
|
27
37
|
*/
|
|
28
38
|
export declare const SUPPORTED_OPENCODE_VERSIONS: readonly ["1.17.13", "1.18.18", "1.18.19"];
|
|
29
39
|
export type SupportedOpencodeVersion = (typeof SUPPORTED_OPENCODE_VERSIONS)[number];
|
|
@@ -33,9 +43,13 @@ export type SupportedOpencodeVersion = (typeof SUPPORTED_OPENCODE_VERSIONS)[numb
|
|
|
33
43
|
* `package.json` for `@opencode-ai/plugin`.
|
|
34
44
|
*
|
|
35
45
|
* Release certificates are stamped with this value. At startup,
|
|
36
|
-
* `parseReleaseCertificate` and `parseShadowCertificate` verify
|
|
37
|
-
*
|
|
38
|
-
*
|
|
46
|
+
* `parseReleaseCertificate` and `parseShadowCertificate` verify the live
|
|
47
|
+
* server version against the value stamped on the certificate using
|
|
48
|
+
* {@link isCertificateVersionCompatible} — not against this constant, and no
|
|
49
|
+
* longer by exact equality. A certificate is accepted while the live version
|
|
50
|
+
* is the same `major.minor` line at an equal-or-newer patch; anything older,
|
|
51
|
+
* or a different minor, means the evidence was gathered under a version that
|
|
52
|
+
* does not describe the running server.
|
|
39
53
|
*
|
|
40
54
|
* **When to bump:** when a new opencode version is added to
|
|
41
55
|
* `SUPPORTED_OPENCODE_VERSIONS` AND set as the dependency in `package.json`,
|
|
@@ -66,6 +80,38 @@ export declare function compareSemver(a: Semver, b: Semver): -1 | 0 | 1;
|
|
|
66
80
|
* true if the exact version is in the verified allow-list.
|
|
67
81
|
*/
|
|
68
82
|
export declare function isSupportedOpencodeVersion(version: string): version is SupportedOpencodeVersion;
|
|
83
|
+
/**
|
|
84
|
+
* true when evidence gathered under `certifiedVersion` may be trusted while
|
|
85
|
+
* running `liveVersion`.
|
|
86
|
+
*
|
|
87
|
+
* Certificates are stamped with the exact opencode version the evidence was
|
|
88
|
+
* gathered under. Requiring exact equality at startup meant every upstream
|
|
89
|
+
* patch release invalidated a certificate that was still perfectly valid,
|
|
90
|
+
* denying the cutover gate on any machine that had upgraded opencode.
|
|
91
|
+
*
|
|
92
|
+
* The rule is deliberately asymmetric:
|
|
93
|
+
*
|
|
94
|
+
* - **Backwards is rejected.** Running an *older* opencode than the one the
|
|
95
|
+
* evidence was gathered under is unverified: the older build may lack a
|
|
96
|
+
* surface the evidence relied on. This preserves the pre-existing guarantee.
|
|
97
|
+
* - **Forwards within the same minor line is accepted.** Patch releases in a
|
|
98
|
+
* single `major.minor` line do not move the contract surface openteam binds
|
|
99
|
+
* to. Verified for the whole `1.18.19 → 1.18.27` window by comparing blob
|
|
100
|
+
* SHAs of the upstream files that define the surfaces: both
|
|
101
|
+
* `packages/plugin/src/index.ts` (`edfa0139…`, surfaces 1, 2, 4, 6, 7) and
|
|
102
|
+
* `packages/plugin/src/tool.ts` (`9c6daa34…`, surface 3) are byte-identical
|
|
103
|
+
* at both tags, as are `packages/opencode/src/config/agent.ts` (`a74450ce…`)
|
|
104
|
+
* and `packages/opencode/src/permission/index.ts` (`2e27ff24…`, surface 8).
|
|
105
|
+
* For surface 5 the only SDK type change across the window is
|
|
106
|
+
* `GlobalUpgradeData.body.target` becoming required — an endpoint openteam
|
|
107
|
+
* never calls — plus `chunkTimeout` additionally accepting `false`.
|
|
108
|
+
* - **A new minor or major is rejected.** That is where the surface may move,
|
|
109
|
+
* so it requires re-certification and an explicit entry in
|
|
110
|
+
* {@link SUPPORTED_OPENCODE_VERSIONS}.
|
|
111
|
+
*
|
|
112
|
+
* Unparseable input is treated as incompatible (fail-closed).
|
|
113
|
+
*/
|
|
114
|
+
export declare function isCertificateVersionCompatible(certifiedVersion: string, liveVersion: string): boolean;
|
|
69
115
|
/**
|
|
70
116
|
* true if the version meets the minimum supported floor.
|
|
71
117
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/contract/opencode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,YAC5B,qBAAqB,EACrB,kBAAkB,CACV,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,8BAA8B,YAAY,CAAC;AAExD
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/contract/opencode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,YAC5B,qBAAqB,EACrB,kBAAkB,CACV,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,8BAA8B,YAAY,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,2BAA2B,YACtC,SAAS,EACT,SAAS,EACT,SAAS,CACD,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,wBAAwB,EAAE,wBAAoC,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,0BAA0B,YACrC,4DAA4D,EAC5D,+EAA+E,EAC/E,6CAA6C,EAC7C,iFAAiF,EACjF,wGAAwG,EACxG,gGAAgG,EAChG,iLAAiL,EACjL,4LAA4L,CACpL,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAIF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAanD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAc9D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GACd,OAAO,IAAI,wBAAwB,CAErC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,8BAA8B,CAC5C,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAwBT;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificate.d.ts","sourceRoot":"","sources":["../../src/graph/certificate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"certificate.d.ts","sourceRoot":"","sources":["../../src/graph/certificate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;;;GAkBG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD,2EAA2E;AAC3E,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,QAAQ,GACR,sBAAsB,GACtB,SAAS,GACT,UAAU,CAAC;AAEf,0CAA0C;AAC1C,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,MAAM,CAAC;AAkBvD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiCT,CAAC;AAEZ,mDAAmD;AACnD,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkBZ,CAAC;AAEZ,4DAA4D;AAC5D,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEzE,+DAA+D;AAC/D,MAAM,MAAM,0BAA0B,GAClC,qBAAqB,GACrB,kBAAkB,GAClB,iBAAiB,GACjB,mBAAmB,CAAC;AAExB,yCAAyC;AACzC,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,EAK3D;CACF;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,yBAAyB,GAClC,MAAM,CAkCR;AA4CD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,yBAAyB,GAClC,wBAAwB,CAkB1B;AASD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,MAAM,GACtB,wBAAwB,CA4C1B;AAMD;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAC9B,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,oBAAoB,GACpB,SAAS,GACT,UAAU,GACV,QAAQ,GACR,aAAa,CAAC;AAkDlB,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAahB,CAAC;AAEZ,8DAA8D;AAC9D,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE/E,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuBnB,CAAC;AAEZ,8DAA8D;AAC9D,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,wBAAwB,CAChC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,2BAA2B,GACnC,qBAAqB,GACrB,qBAAqB,GACrB,kBAAkB,GAClB,iBAAiB,GACjB,mBAAmB,CAAC;AAExB,oDAAoD;AACpD,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,EAK5D;CACF;AAkHD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,0BAA0B,EACpC,oBAAoB,EAAE,MAAM,GAC3B,yBAAyB,CAoB3B;AASD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,GAC3B,yBAAyB,CAyF3B;AAMD;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B,sBAAsB,GACtB,kBAAkB,GAClB,iBAAiB,GACjB,0BAA0B,GAC1B,qBAAqB,GACrB,uBAAuB,GACvB,qBAAqB,GACrB,cAAc,GACd,cAAc,CAAC;AAInB;;;GAGG;AACH,QAAA,MAAM,0BAA0B;;;;;;;EAO9B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,2BAA2B,YAAI,OAAO,CAAU,CAAC;AAC9D,QAAA,MAAM,8BAA8B;;EAAsC,CAAC;AAC3E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;kBAQlB,CAAC;AAEZ,4CAA4C;AAC5C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,EAAE,UAMjC,CAAC;AA4BF,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmBb,CAAC;AAEZ,mCAAmC;AACnC,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEzE,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwBhB,CAAC;AAEZ,uDAAuD;AACvD,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE3E,oEAAoE;AACpE,MAAM,MAAM,wBAAwB,GAChC,qBAAqB,GACrB,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,8CAA8C;AAC9C,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,EAKzD;CACF;AAgJD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,CAAC,SAAS,eAAe,EAAE,CAAC,EAAE,EAC/C,MAAM,EAAE,UAAU,GACjB,sBAAsB,CA0BxB;AA0BD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,UAAU,EAC1B,oBAAoB,EAAE,MAAM,GAC3B,sBAAsB,CAqDxB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Plugin, type PluginModule } from "@opencode-ai/plugin";
|
|
2
|
-
import type { CliDeps } from "./commands/dispatch";
|
|
2
|
+
import type { CliDeps, CutoverGateEvaluation } from "./commands/dispatch";
|
|
3
3
|
import { type GraphGateInput } from "./config/graphFeatureGate";
|
|
4
4
|
import { type ConfigSource } from "./config/resolve";
|
|
5
5
|
import { type OpenTeamConfig } from "./config/schema";
|
|
@@ -27,6 +27,24 @@ export declare function warnNoRuntimeConfigFound(paths: readonly string[], optio
|
|
|
27
27
|
*/
|
|
28
28
|
export declare function warnInertPrivacySetting(paths: readonly string[], warn?: (message?: unknown) => void): void;
|
|
29
29
|
export declare function warnSoakEvidenceRejections(result: ReadAllChainsResult, warn?: (message?: unknown) => void): void;
|
|
30
|
+
/**
|
|
31
|
+
* Reads a certificate that ships inside the installed package.
|
|
32
|
+
*
|
|
33
|
+
* Shadow and release certificates certify properties of the *shipped engine*
|
|
34
|
+
* (determinism, replay equivalence, crash recovery, privacy, performance) —
|
|
35
|
+
* they are facts about the code, not about the operator's project. Before this
|
|
36
|
+
* existed they were only ever read from `artifacts/` relative to the operator's
|
|
37
|
+
* working directory, where they never exist outside this repository, so
|
|
38
|
+
* `active` mode was unreachable for every installed user.
|
|
39
|
+
*
|
|
40
|
+
* The soak certificate is deliberately NOT resolved here: its digest binds to
|
|
41
|
+
* the operator's local evidence ledger, so a packaged copy would be invalid the
|
|
42
|
+
* moment the plugin records an observation.
|
|
43
|
+
*
|
|
44
|
+
* Returns `undefined` when the package carries no certificate — for example in
|
|
45
|
+
* a source checkout, where `import.meta.url` points at `src/`. Never throws.
|
|
46
|
+
*/
|
|
47
|
+
export declare function readPackagedCertificate(path: string): Promise<string | undefined>;
|
|
30
48
|
/**
|
|
31
49
|
* Reads the opencode server version from the `/global/health` endpoint.
|
|
32
50
|
*
|
|
@@ -85,15 +103,40 @@ export declare function createLazyOpencodeVersionReader(serverUrl: URL, options?
|
|
|
85
103
|
* (could not be determined), no certificate can match, so the gate fails
|
|
86
104
|
* closed.
|
|
87
105
|
*/
|
|
88
|
-
export declare function buildGateInput(config: OpenTeamConfig, storage: StorageProvider, opencodeVersion: LiveOpencodeVersion, warn?: (message?: unknown) => void): Promise<GraphGateInput>;
|
|
89
|
-
/**
|
|
106
|
+
export declare function buildGateInput(config: OpenTeamConfig, storage: StorageProvider, opencodeVersion: LiveOpencodeVersion, warn?: (message?: unknown) => void, packagedRead?: (path: string) => Promise<string | undefined>): Promise<GraphGateInput>;
|
|
107
|
+
/**
|
|
108
|
+
* Human-readable reason attached to an `unevaluable` cutover-gate result when
|
|
109
|
+
* the opencode version could not be resolved for a DIAGNOSTIC (`graph status`).
|
|
110
|
+
*
|
|
111
|
+
* It deliberately points the reader at the authoritative source rather than any
|
|
112
|
+
* mode claim: outside a running opencode session there is no live version to
|
|
113
|
+
* pin the certificates against, and the running plugin already logs the real
|
|
114
|
+
* gate result (warning loudly on a genuine denial). It must never mention a
|
|
115
|
+
* certificate being invalid, nor claim `off`/`active` — those would be
|
|
116
|
+
* fabrications, which is the whole class of bug this avoids (GE-071).
|
|
117
|
+
*/
|
|
118
|
+
export declare const OPENCODE_VERSION_UNRESOLVED_REASON: string;
|
|
119
|
+
/**
|
|
120
|
+
* Boundary helper that turns a best-effort opencode version into a cutover-gate
|
|
121
|
+
* evaluation for the CLI.
|
|
122
|
+
*
|
|
123
|
+
* This is the ONE place the CLI composes `buildGateInput` + `evaluateGraphGate`.
|
|
124
|
+
* Crucially it never synthesizes a version: if `version` is `undefined` (the
|
|
125
|
+
* best-effort resolver found no real version) it returns `unevaluable` — it does
|
|
126
|
+
* NOT fall back to `"unknown"` and report the resulting certificate mismatch as
|
|
127
|
+
* a denial. Passing `"unknown"` is correct for fail-closed *execution* inside a
|
|
128
|
+
* live plugin, but it is never a legitimate basis for a *diagnostic* claim to
|
|
129
|
+
* the user (GE-071). Callers decide what to do with `unevaluable`: `graph
|
|
130
|
+
* status` reports it; mutating operator commands fail closed.
|
|
131
|
+
*/
|
|
132
|
+
export declare function evaluateCutoverGateForBoundary(config: OpenTeamConfig, storage: StorageProvider, version: string | undefined): Promise<CutoverGateEvaluation>;
|
|
90
133
|
export declare function recorderPortsFromStorage(storage: StorageProvider): RecorderPorts;
|
|
91
134
|
export declare function createEventSink(rawOptions: unknown, storage?: StorageProvider, loggers?: {
|
|
92
135
|
readonly onError?: (error: unknown) => void;
|
|
93
136
|
readonly onWarn?: (message: string) => void;
|
|
94
137
|
}): EventSink;
|
|
95
138
|
export declare function isMissingFile(error: unknown): boolean;
|
|
96
|
-
export declare function createCliDeps(config: OpenTeamConfig, registry: RuntimeRegistry, telemetryPath: string, sessionsDir?: string, storage?: StorageProvider, fallbackSource?: ConfigSource, rawOptions?: unknown): CliDeps;
|
|
139
|
+
export declare function createCliDeps(config: OpenTeamConfig, registry: RuntimeRegistry, telemetryPath: string, sessionsDir?: string, storage?: StorageProvider, fallbackSource?: ConfigSource, rawOptions?: unknown, resolveOpencodeVersion?: () => Promise<string | undefined>): CliDeps;
|
|
97
140
|
export declare const server: Plugin;
|
|
98
141
|
declare const plugin: PluginModule;
|
|
99
142
|
export { PACKAGE_VERSION } from "./version";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|