dsh-completion-guard 0.6.1 → 0.6.3
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/CHANGELOG.md +95 -1
- package/CHANGELOG.zh-CN.md +34 -1
- package/README.md +80 -3
- package/README.zh-CN.md +23 -3
- package/dist/domain/index.d.ts +2 -2
- package/dist/domain/index.js +2 -2
- package/dist/{domain-DKr8sLZZ.js → domain-BUA1lLjs.js} +4416 -1998
- package/dist/{index-C_N6DaSF.d.ts → index-CfEiC4bb.d.ts} +496 -14
- package/dist/index.d.ts +2 -2
- package/dist/index.js +269 -22
- package/docs/ARCHITECTURE.md +6 -0
- package/docs/CONTRACT_REVISION_0_6_3.md +136 -0
- package/docs/CROSS_END_RESULT_CONTRACT.md +60 -0
- package/docs/DEVELOPMENT_HANDOFF_0_6_3.json +65 -0
- package/docs/DEVELOPMENT_PLAN_0_6_2.md +86 -0
- package/docs/DEVELOPMENT_PLAN_0_6_3.md +103 -0
- package/docs/EXECUTE_0_6_3_PROMPT.md +62 -0
- package/docs/LOCAL_ACCEPTANCE.md +947 -3
- package/docs/RELEASE_PLAN_0_6_2.md +41 -0
- package/docs/REVIEW_0_6_2_CORE_ALIGNMENT.md +87 -0
- package/docs/SEMANTIC_COMPATIBILITY.md +64 -1
- package/docs/upstream-deltas.json +67 -11
- package/package.json +2 -2
- package/docs/NEXT_VERSION_REPAIR_NOTES.md +0 -97
- package/docs/WINDOWS_0_6_0_REPAIR_PLAN.md +0 -92
|
@@ -140,12 +140,25 @@ interface ScopeInterpretation {
|
|
|
140
140
|
/** True only for an explicit, agent-owned, unconditional instruction. */
|
|
141
141
|
immediatelyExecutable: boolean;
|
|
142
142
|
authorityDisposition: AuthorityDisposition;
|
|
143
|
+
/** The 0.6.3 execution qualification this reading establishes. */
|
|
144
|
+
qualification: ExecutionQualification;
|
|
143
145
|
/** Explicitly named tool/method, when the scope names one. */
|
|
144
146
|
method?: string;
|
|
145
147
|
/** Stable identity of this interpretation, reproducible from the same bytes. */
|
|
146
148
|
fingerprint: string;
|
|
147
149
|
}
|
|
148
150
|
/**
|
|
151
|
+
* 0.6.3 K1 regression probe: the 0.6.2 question rule, kept SOLELY so the fixed
|
|
152
|
+
* defect has a test that fails against the old reading.
|
|
153
|
+
*
|
|
154
|
+
* 0.6.2 declared a clause information as soon as a question marker appeared
|
|
155
|
+
* anywhere inside it (`QUESTION_SCOPE.test(masked)`). This function is that
|
|
156
|
+
* rule, verbatim. It is not used by any production path — the current reading
|
|
157
|
+
* is {@link hasQuestionScope} — and its only caller is the regression test that
|
|
158
|
+
* pins the difference between the two readings on the recorded defect input.
|
|
159
|
+
*/
|
|
160
|
+
declare function legacyQuestionReadingIsInformational(masked: string): boolean;
|
|
161
|
+
/**
|
|
149
162
|
* The contract kind a scope maps to. A prohibition and an acceptance keep their
|
|
150
163
|
* own lanes; everything else is a requirement. Acceptance is decided from the
|
|
151
164
|
* clause's own head verb, so "确保构建通过" stays an acceptance while a
|
|
@@ -153,6 +166,182 @@ interface ScopeInterpretation {
|
|
|
153
166
|
*/
|
|
154
167
|
declare function kindOfScope(directive: DirectiveClass, body?: string): GuardItemKind;
|
|
155
168
|
declare function maskCodeSpans(text: string): string;
|
|
169
|
+
/**
|
|
170
|
+
* Whether a clause asks for information rather than ordering work (0.6.3 K1).
|
|
171
|
+
*
|
|
172
|
+
* 0.6.2 treated the mere presence of a question marker anywhere in a clause as
|
|
173
|
+
* "the whole clause is a question", so one 是否 inside a comma-run of
|
|
174
|
+
* instructions ("更新插件,检查是否存在更新,安装新主题,记录变更。") turned
|
|
175
|
+
* every execution obligation beside it into closable information. The reading
|
|
176
|
+
* is now grammatical — head verb, interrogative position, negation — so a
|
|
177
|
+
* relative or purpose clause inside an order ("Create a file where logs are
|
|
178
|
+
* stored", "更新皮肤中心,看看为什么失败") is never a question, while a real
|
|
179
|
+
* request for an answer ("How do I install this?", "检查是否有更新吗?",
|
|
180
|
+
* "check whether the remote has new commits") still is.
|
|
181
|
+
*/
|
|
182
|
+
declare function hasQuestionScope(masked: string): boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Whether an explanation head GOVERNS its sentence.
|
|
185
|
+
*
|
|
186
|
+
* Everything coordinated inside the sentence the explanation heads is the OBJECT
|
|
187
|
+
* of the explanation, however it is phrased and however long it is: a finite
|
|
188
|
+
* complement ("how I can install …"), a `whether` complement, an infinitive, a
|
|
189
|
+
* list with a long object — all of it is what the root asked to have explained.
|
|
190
|
+
* The scope is therefore structural: it is the SENTENCE, bounded by the sentence
|
|
191
|
+
* splitter, not a pattern with a window. A sentence break ends the governance, so
|
|
192
|
+
* a following sentence can be a real instruction ("Explain the deploy. Then
|
|
193
|
+
* restart service api." stays authorizable), and a question that merely stands
|
|
194
|
+
* beside an order ("What changed and archive the logs?") has no explanation head
|
|
195
|
+
* and keeps its order.
|
|
196
|
+
*/
|
|
197
|
+
declare function reportingHeadGoverns(masked: string): boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Whether a clause is the scope of a QUESTION — any question, not only a reported
|
|
200
|
+
* one: a question word ("How do I install …"), an interrogative auxiliary
|
|
201
|
+
* ("Can you …"), an investigation ("Check whether …") or an explanation
|
|
202
|
+
* ("Explain how …").
|
|
203
|
+
*
|
|
204
|
+
* A question head GOVERNS its clause: everything coordinated inside it is part of
|
|
205
|
+
* what the root asked, so the clause must not be split into an executable child.
|
|
206
|
+
* When such a clause ALSO carries an action of its own it is undecided — the
|
|
207
|
+
* action may be exactly what the question is about — so nothing in it is
|
|
208
|
+
* authority. Exported so the mutation gate and preparation consume the SAME
|
|
209
|
+
* qualification the reading produced instead of re-guessing scope from the split
|
|
210
|
+
* text, and so the rule is testable on its own.
|
|
211
|
+
*/
|
|
212
|
+
declare function isQuestionScopeNeedingReview(text: string): boolean;
|
|
213
|
+
/**
|
|
214
|
+
* 0.6.3 (narrowed contract): the execution qualification of one reading.
|
|
215
|
+
*
|
|
216
|
+
* Recognising an ACTION and holding AUTHORITY to run it are separate facts. The
|
|
217
|
+
* reader decides, ONCE per clause and BEFORE any partition, whether the clause is
|
|
218
|
+
* a `granted` plain instruction or a `restricted` governed scope (a question, an
|
|
219
|
+
* explanation, an investigation, a reported question, or a quote). Every child the
|
|
220
|
+
* partition later produces INHERITS that decision; nothing downstream — not the
|
|
221
|
+
* projection, not recovery, not preparation — may upgrade a child to executable by
|
|
222
|
+
* re-reading its own words (the earlier rounds' fail-open direction).
|
|
223
|
+
*
|
|
224
|
+
* `restricted` is not "no work": a restricted clause that names an action keeps it
|
|
225
|
+
* as an undecided obligation ({@link AuthorityDisposition} `unresolved`) which no
|
|
226
|
+
* answer closes and no certificate covers.
|
|
227
|
+
*/
|
|
228
|
+
type QualificationStatus = "granted" | "restricted";
|
|
229
|
+
type QualificationReason = "plain_instruction" | "governed_scope" | "unproven_scope" | "inherited_restriction" | "legacy_missing_qualification";
|
|
230
|
+
interface ExecutionQualification {
|
|
231
|
+
status: QualificationStatus;
|
|
232
|
+
reason: QualificationReason;
|
|
233
|
+
/** The governing head that restricted the clause, when one exists. */
|
|
234
|
+
governedBy?: string;
|
|
235
|
+
}
|
|
236
|
+
/** Blank out every quoted span of the text. */
|
|
237
|
+
declare function maskQuotedSpans(text: string): string;
|
|
238
|
+
/**
|
|
239
|
+
* Whether the clause's OWN span asks something, even when no governed head was
|
|
240
|
+
* recognised. This is the fail-closed half of the qualification: a clause whose
|
|
241
|
+
* question content the reader could not classify (`I wonder whether …`, a
|
|
242
|
+
* postposed 是否可行, a stray question mark) is still a scope that cannot host
|
|
243
|
+
* execution authority. Code spans, quotes and subordinate spans do not count:
|
|
244
|
+
* their content belongs to them, not to the clause.
|
|
245
|
+
*/
|
|
246
|
+
declare function clauseAsksOwnQuestion(text: string): boolean;
|
|
247
|
+
/**
|
|
248
|
+
* Whether the clause is a DIRECTIVE: an imperative in the root's voice. The action
|
|
249
|
+
* must OPEN the clause once the request preface is consumed ("重启 api 服务。",
|
|
250
|
+
* "Then restart service api.", "请更新插件"), and the clause must not be a report
|
|
251
|
+
* or a third-party statement ("The technicians restart service api every night.",
|
|
252
|
+
* "日志显示运维人员重启 api 服务。").
|
|
253
|
+
*/
|
|
254
|
+
declare function opensWithDirective(masked: string): boolean;
|
|
255
|
+
/**
|
|
256
|
+
* The content a restatement introduces: the Y of "把 X 明确为 Y" / "record X as Y".
|
|
257
|
+
* Everything the restatement AUTHORIZES comes from this span, and nothing else.
|
|
258
|
+
*/
|
|
259
|
+
declare function restatedContentOf(text: string): string | undefined;
|
|
260
|
+
/** The span a restatement CLARIFIES: everything before its marker. */
|
|
261
|
+
declare function clarifiedSpanOf(text: string): string | undefined;
|
|
262
|
+
/** Whether the clause is an explicit re-statement of what an obligation means. */
|
|
263
|
+
declare function isRestatement(text: string): boolean;
|
|
264
|
+
/**
|
|
265
|
+
* Whether the clause is a PROTECTED scope: a question, an explanation, an
|
|
266
|
+
* investigation, a reported question, a quote, or any span whose own question
|
|
267
|
+
* content the head reader could not classify. A protected scope is indivisible —
|
|
268
|
+
* no separator opens a child of it — and nothing inside it is execution authority.
|
|
269
|
+
*/
|
|
270
|
+
declare function clauseIsProtected(text: string): boolean;
|
|
271
|
+
/** A clause nobody has questioned: its own reading is the authorization. */
|
|
272
|
+
declare const GRANTED_QUALIFICATION: ExecutionQualification;
|
|
273
|
+
/** A record captured before the qualification existed: never granted by default. */
|
|
274
|
+
declare const LEGACY_QUALIFICATION: ExecutionQualification;
|
|
275
|
+
/**
|
|
276
|
+
* Whether a QUESTION/EXPLANATION/INVESTIGATION head governs the clause: the one
|
|
277
|
+
* governance predicate every layer consumes (the partitioner, the classifier, the
|
|
278
|
+
* reading, and — through the stored qualification — the gate and preparation).
|
|
279
|
+
*/
|
|
280
|
+
declare function questionHeadsClause(masked: string): boolean;
|
|
281
|
+
/** Whether the clause's own reading is a governed scope. */
|
|
282
|
+
declare function clauseIsGoverned(masked: string): boolean;
|
|
283
|
+
/** The qualification the reader records for one clause. */
|
|
284
|
+
declare function qualificationOfClause(text: string): ExecutionQualification;
|
|
285
|
+
/**
|
|
286
|
+
* Whether a GOVERNED clause carries work that its own question does not bound, so
|
|
287
|
+
* that the clause must stay undecided rather than enter the answer lane.
|
|
288
|
+
*
|
|
289
|
+
* The test is structural and vocabulary-free in the direction that matters:
|
|
290
|
+
*
|
|
291
|
+
* - a coordination AFTER the clause's own question word puts the coordinated part
|
|
292
|
+
* inside the question's scope ("…是否安装 foo 并重启 api 服务"), so the whole
|
|
293
|
+
* clause is undecided whatever the verbs are;
|
|
294
|
+
* - material BEFORE the question word that carries an action is the questioned
|
|
295
|
+
* span itself ("检查一下[安装 foo 并重启 api 服务]是否安全"), so it is undecided;
|
|
296
|
+
* - a governed head with no question word of its own is undecided as soon as it
|
|
297
|
+
* names an action ("Check the safety of installing foo and restart service
|
|
298
|
+
* api.", "Explain the incident, rotate every credential").
|
|
299
|
+
*
|
|
300
|
+
* A pure question — the object list of "检查一下本地插件和皮肤是否有更新", a state
|
|
301
|
+
* question like "检查是否有新版本。" — carries none of these and stays answerable.
|
|
302
|
+
*/
|
|
303
|
+
declare function governedClauseRestrictsExecution(text: string): boolean;
|
|
304
|
+
declare function hasOrderedCoordination(masked: string): boolean;
|
|
305
|
+
/** @deprecated Use {@link isQuestionScopeNeedingReview}: the rule is not limited to explanations. */
|
|
306
|
+
declare const isExplanationScope: (text: string) => boolean;
|
|
307
|
+
/**
|
|
308
|
+
* Whether a coordinated part of the explanation's sentence opens with an action
|
|
309
|
+
* of its own. Those are exactly the parts whose membership in the explanation
|
|
310
|
+
* cannot be decided from the surface, so they make the sentence undecided instead
|
|
311
|
+
* of answerable or executable. `masked` has code spans blanked, so an action that
|
|
312
|
+
* only appears inside backticks contributes nothing.
|
|
313
|
+
*/
|
|
314
|
+
declare function explanationHasActionResidue(masked: string): boolean;
|
|
315
|
+
declare function isInformationalFragment(masked: string): boolean;
|
|
316
|
+
declare function splitTextFragments(text: string, from?: number): Array<{
|
|
317
|
+
text: string;
|
|
318
|
+
offset: number;
|
|
319
|
+
}>;
|
|
320
|
+
/**
|
|
321
|
+
* Whether the text after a coordinating conjunction opens a DISTINCT
|
|
322
|
+
* instruction: its own action head, optionally behind a connector and an
|
|
323
|
+
* actor. This is the rule the sentence splitter already used to decide that a
|
|
324
|
+
* conjunction joins two instructions rather than two objects, exposed so the
|
|
325
|
+
* fragment splitter cannot contradict it.
|
|
326
|
+
*/
|
|
327
|
+
declare function introducesActionClause(text: string): boolean;
|
|
328
|
+
/**
|
|
329
|
+
* Every action word in `[offset, before)`, ordered by position, with the words
|
|
330
|
+
* that are only a prefix of a longer action removed (the 升 of 升级, the 然 of
|
|
331
|
+
* 然后). The remaining candidates are the verbs an instruction can be about.
|
|
332
|
+
*/
|
|
333
|
+
declare function actionVerbMatches(text: string, offset?: number, before?: number): Array<{
|
|
334
|
+
index: number;
|
|
335
|
+
length: number;
|
|
336
|
+
}>;
|
|
337
|
+
/**
|
|
338
|
+
* True when a negator's scope covers the verb starting at `index`.
|
|
339
|
+
*
|
|
340
|
+
* The negator has to be phrase-initial, so the 不 of 手动 and the 无 of 无论 are
|
|
341
|
+
* not read as bans; a contrast or list separator between the negator and the
|
|
342
|
+
* verb ends its scope ("不仅…而且运行" keeps the run positive).
|
|
343
|
+
*/
|
|
344
|
+
declare function verbIsNegated(text: string, index: number): boolean;
|
|
156
345
|
/** Interpret one already-segmented clause. */
|
|
157
346
|
declare function interpretClause(text: string, options?: InterpretOptions): ScopeInterpretation;
|
|
158
347
|
/** Interpret a whole message into independent scopes, in source order. */
|
|
@@ -172,6 +361,23 @@ declare function isExecutableItem(item: {
|
|
|
172
361
|
authorityDisposition?: AuthorityDisposition;
|
|
173
362
|
waitAuthorization?: unknown;
|
|
174
363
|
}): boolean;
|
|
364
|
+
/**
|
|
365
|
+
* The ONE authority predicate the mutation gate and preparation both consume.
|
|
366
|
+
*
|
|
367
|
+
* A record holds execution authority only when the reader GRANTED it a
|
|
368
|
+
* qualification: a record with no qualification at all (captured before the
|
|
369
|
+
* qualification existed) is refused rather than read from its stored
|
|
370
|
+
* disposition, and a restricted record — anything a question, explanation,
|
|
371
|
+
* investigation, reported question or quote governs — keeps its work as an
|
|
372
|
+
* undecided obligation that authorizes nothing. Within a granted reading, the
|
|
373
|
+
* disposition still decides: a prohibition, a wait, a human actor, a condition or
|
|
374
|
+
* an information range is never a mutation. An `unresolved` GRANTED reading keeps
|
|
375
|
+
* the historical path documented for unrecognised instruction forms.
|
|
376
|
+
*/
|
|
377
|
+
declare function itemHoldsExecutionAuthority(item: {
|
|
378
|
+
executionQualification?: ExecutionQualification;
|
|
379
|
+
authorityDisposition?: AuthorityDisposition;
|
|
380
|
+
}): boolean;
|
|
175
381
|
/** Whether an item is an open obligation for certification purposes. */
|
|
176
382
|
declare function isOpenObligation(item: GuardItem): boolean;
|
|
177
383
|
/**
|
|
@@ -190,6 +396,147 @@ declare function statefulActionsOfScope(body: string): StatefulAction[];
|
|
|
190
396
|
/** Actions this interpretation names, in source order (diagnostics only). */
|
|
191
397
|
declare function namedActions(text: string): string[];
|
|
192
398
|
//#endregion
|
|
399
|
+
//#region src/domain/capability-semantics.d.ts
|
|
400
|
+
/**
|
|
401
|
+
* 0.6.2 D062-01/D062-02: the shared, versioned semantics for WHAT the guard
|
|
402
|
+
* knows, WHY it cannot certify, and WHICH remedy is actually reachable.
|
|
403
|
+
*
|
|
404
|
+
* The verdict is deliberately one closed projection instead of a pile of
|
|
405
|
+
* ad-hoc strings, because every consumer (prepare, checkpoint detail, recovery
|
|
406
|
+
* packet, rebind query, status) must render the same answer. Two failure modes
|
|
407
|
+
* are excluded by construction:
|
|
408
|
+
*
|
|
409
|
+
* 1. The guard never turns its own missing adapter into a user-authority gap.
|
|
410
|
+
* An unsupported capability says "complete the work honestly and do not
|
|
411
|
+
* claim a certificate"; it never asks the user to restate the request as
|
|
412
|
+
* install/modify, and it never asks for input the user already gave.
|
|
413
|
+
* 2. The guard never claims a fact it did not read. `declaredExitCode:
|
|
414
|
+
* 'unknown'` stays unknown however successful the host tool call looked,
|
|
415
|
+
* and an opaque compound runner stays `operationAttribution: 'unknown'`
|
|
416
|
+
* rather than inheriting the last command's exit status.
|
|
417
|
+
*
|
|
418
|
+
* The taxonomy is written once here and consumed by every lane, so a future
|
|
419
|
+
* capability must declare its own gap kind and remedy instead of drifting into
|
|
420
|
+
* a sentence list. Nothing in this module mutates contract, evidence, digest,
|
|
421
|
+
* certificate, or historical record state.
|
|
422
|
+
*/
|
|
423
|
+
/** Fine-grained, mutually exclusive reasons a contract item is not certified. */
|
|
424
|
+
type CapabilityGap = "none" | "closed" | "constraint" | "interpretation_unknown" | "missing_adapter" | "target_missing" | "input_ambiguous" | "legacy_migration_required" | "host_unavailable" | "historical_preevidence_missing" | "operation_unattributable" | "condition_pending" | "delivery_pending";
|
|
425
|
+
/** The reachable remedy for one gap. `remedy` is the machine-readable form of
|
|
426
|
+
* `next_action`; the two are produced together so they cannot disagree. */
|
|
427
|
+
type CapabilityRemedy = "none" | "collect_evidence" | "supply_target" | "await_root_input" | "deliver_answer" | "record_interpretation" | "report_uncertified" | "report_uncertified_capability_gap" | "restore_host" | "readback_only" | "fresh_root_instruction";
|
|
428
|
+
interface CapabilityFact {
|
|
429
|
+
/**
|
|
430
|
+
* Whether this obligation's OWN action belongs to the certification action
|
|
431
|
+
* set in the installed cohort. It is deliberately independent of
|
|
432
|
+
* authorization: `false` says the build has no such capability, NEVER that
|
|
433
|
+
* the user did not authorize the work, and NEVER that the work may not be
|
|
434
|
+
* done. A `generic_run` obligation has no concrete action to support.
|
|
435
|
+
*/
|
|
436
|
+
actionSupported: boolean;
|
|
437
|
+
/** A durable certification path exists for this item's own contract. */
|
|
438
|
+
certifiable: boolean;
|
|
439
|
+
gap: CapabilityGap;
|
|
440
|
+
remedy: CapabilityRemedy;
|
|
441
|
+
/** Reason codes that describe the evidence chain, never new authority. */
|
|
442
|
+
blockingReasonCodes: string[];
|
|
443
|
+
}
|
|
444
|
+
/**
|
|
445
|
+
* Whether the item's obligation has a certification path in this cohort at
|
|
446
|
+
* all. A generic_run item names no concrete action: the manifest still has a
|
|
447
|
+
* generic entry (the guard may run and observe ordinary commands) but no
|
|
448
|
+
* user-level completion contract can be certified from it, so the item is
|
|
449
|
+
* uncertifiable while ordinary execution remains entirely permitted.
|
|
450
|
+
*/
|
|
451
|
+
declare function actionHasCertificationPath(action: SemanticAction, legacyMigration: boolean): boolean;
|
|
452
|
+
/** The capability classification of an item's own obligation contract. */
|
|
453
|
+
declare function capabilityFactOf(item: GuardItem): CapabilityFact;
|
|
454
|
+
/**
|
|
455
|
+
* What the console itself declared about the process. `declaredExitCode` is
|
|
456
|
+
* `'unknown'` unless a real marker or a structured host fact said otherwise:
|
|
457
|
+
* a host tool call that was not marked as an error is NOT a read exit code.
|
|
458
|
+
*/
|
|
459
|
+
type ProcessExitStatus = number | "unknown";
|
|
460
|
+
/**
|
|
461
|
+
* Why `outcome` says what it says, so a display or a consumer never reads more
|
|
462
|
+
* than the source supports.
|
|
463
|
+
*/
|
|
464
|
+
type ProcessOutcomeReason = "declared_exit_code" | "declared_negative_marker" | "host_error_flag" | "unmarked_renderer_success" | "marker_unclassified" | "backgrounded" | "text_scan_inconclusive";
|
|
465
|
+
/**
|
|
466
|
+
* How far the console let the guard attribute effects to the obligation's own
|
|
467
|
+
* operation. `unknown` is the honest answer for every opaque compound runner:
|
|
468
|
+
* the last command's success never covers an earlier failure.
|
|
469
|
+
*/
|
|
470
|
+
type OperationAttribution = "single_operation" | "declared_per_operation" | "unknown";
|
|
471
|
+
/** A credible per-operation subset the host itself declared. */
|
|
472
|
+
interface DeclaredOperationResult {
|
|
473
|
+
action: string;
|
|
474
|
+
outcome: "success" | "failure" | "unknown";
|
|
475
|
+
}
|
|
476
|
+
/** Which source declared the terminal facts this reading is based on. */
|
|
477
|
+
type ProcessFactSource = "run_declaration" | "structured_meta" | "rendered_markers";
|
|
478
|
+
interface DerivedProcessFacts {
|
|
479
|
+
/** What the host tool call returned, before any interpretation. */
|
|
480
|
+
hostToolReturned: "result" | "error";
|
|
481
|
+
/** The console's own exit status, or `unknown` when never read. */
|
|
482
|
+
declaredExitCode: ProcessExitStatus;
|
|
483
|
+
/** Whether an explicit terminal marker (positive or negative) was read. */
|
|
484
|
+
terminalMarkerRead: boolean;
|
|
485
|
+
/** The outcome THIS LAYER derives from its own sources. It is deliberately a
|
|
486
|
+
* separate value from the frozen evidence `outcome`: the frozen field keeps
|
|
487
|
+
* the historical rule (0.6.1 and earlier read only `meta.exitCode` and the
|
|
488
|
+
* rendered markers, never the run declaration), while this layer reads the
|
|
489
|
+
* run declaration first. The two may therefore differ, and when they do the
|
|
490
|
+
* difference is stated in `frozenOutcomeConflict` rather than hidden by
|
|
491
|
+
* rewriting the historical field. */
|
|
492
|
+
outcome: "success" | "failure" | "unknown";
|
|
493
|
+
/** Why this layer's outcome is what it is. */
|
|
494
|
+
outcomeReason: ProcessOutcomeReason;
|
|
495
|
+
/** The highest-priority source that declared the facts used here. */
|
|
496
|
+
source: ProcessFactSource;
|
|
497
|
+
/** True when this layer's outcome differs from the frozen evidence
|
|
498
|
+
* `outcome`. A consumer that needs the historical reading uses the frozen
|
|
499
|
+
* field; a consumer that needs the run's own declaration uses this layer and
|
|
500
|
+
* can see that the two disagree. */
|
|
501
|
+
frozenOutcomeConflict: boolean;
|
|
502
|
+
/** How far the guard could attribute effects to the operation. */
|
|
503
|
+
operationAttribution: OperationAttribution;
|
|
504
|
+
/** Exactly the sub-results a trusted producer declared, if any. */
|
|
505
|
+
declaredOperationResults?: DeclaredOperationResult[];
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* `partial_failure` may be reported only from a credible structured
|
|
509
|
+
* per-operation result, and only for the exact declared subset. `unknown`
|
|
510
|
+
* stays unknown: the guard never reconstructs a per-operation verdict from
|
|
511
|
+
* stderr text, and never widens a declared subset into a claim about the rest.
|
|
512
|
+
*/
|
|
513
|
+
declare function partialFailureOf(facts: DerivedProcessFacts): {
|
|
514
|
+
failed: DeclaredOperationResult[];
|
|
515
|
+
} | undefined;
|
|
516
|
+
/** The one-line consequence of a gap kind, shared so no lane re-invents it. */
|
|
517
|
+
declare function capabilityConsequence(gap: CapabilityGap): string;
|
|
518
|
+
/**
|
|
519
|
+
* D062-03: the applicable condition every removal-like outcome must carry.
|
|
520
|
+
* "Clean" or "no longer listed" never proves "no dependants", so a completed
|
|
521
|
+
* subset stays reported as the subset it is. These are the execution-side
|
|
522
|
+
* facts the guard can name but cannot observe; it states them instead of
|
|
523
|
+
* inventing a generic remover or promising an automatic block.
|
|
524
|
+
*/
|
|
525
|
+
declare const DEPENDENCY_FREE_ONLY_CONDITION: readonly string[];
|
|
526
|
+
/** The per-object dependency status a report must keep separate. */
|
|
527
|
+
type DependencyStatus = "dependency_free" | "in_use" | "unknown";
|
|
528
|
+
/** Whether one candidate object may enter the automatic removal set. */
|
|
529
|
+
declare function admissibleForRemoval(status: DependencyStatus): boolean;
|
|
530
|
+
interface RemovalOutcomeReport {
|
|
531
|
+
metadataRemoved: "yes" | "no" | "unknown";
|
|
532
|
+
contentRemoved: "yes" | "no" | "partial" | "unknown";
|
|
533
|
+
directoryRemoved: "yes" | "no" | "unknown";
|
|
534
|
+
}
|
|
535
|
+
/** Only an object proven dependency-free AND fully removed may read as done. */
|
|
536
|
+
declare function removalIsComplete(report: RemovalOutcomeReport, status: DependencyStatus): boolean;
|
|
537
|
+
/** A partially removed object or an unknown dependant is never "no impact". */
|
|
538
|
+
declare function removalIsPartiallyKnown(report: RemovalOutcomeReport, status: DependencyStatus): boolean;
|
|
539
|
+
//#endregion
|
|
193
540
|
//#region src/domain/rebind.d.ts
|
|
194
541
|
interface RebindArgs {
|
|
195
542
|
operation: "propose" | "query" | "withdraw";
|
|
@@ -480,6 +827,21 @@ type GuardItemStatus = "pending" | "answered" | "passed" | "superseded";
|
|
|
480
827
|
type GuardIntegrity = "valid" | "unknown" | "corrupt";
|
|
481
828
|
type EvidenceOutcome = "success" | "failure" | "unknown" | "durability-unknown";
|
|
482
829
|
type GuardOperation = "create" | "write" | "modify" | "read" | "run" | "verify";
|
|
830
|
+
/**
|
|
831
|
+
* 0.6.3 K2: where an obligation's requested target came from. A target is a
|
|
832
|
+
* user SELECTION only when the root named it or a trusted host selection made
|
|
833
|
+
* it; an environment default (the session working directory, a recent tool
|
|
834
|
+
* path, a model-supplied selector) resolves and corroborates a target the root
|
|
835
|
+
* already allowed, and never manufactures root authority. An inherited target
|
|
836
|
+
* comes from another obligation of the same work unit whose own source is
|
|
837
|
+
* auditable.
|
|
838
|
+
*/
|
|
839
|
+
type TargetSourceKind = "explicit_label" | "explicit_path" | "explicit_current_repository" | "host_selection" | "unit_inherited" | "environment_default";
|
|
840
|
+
interface TargetSource {
|
|
841
|
+
kind: TargetSourceKind;
|
|
842
|
+
/** Source message id of the obligation a `unit_inherited` target came from. */
|
|
843
|
+
inheritedFrom?: string;
|
|
844
|
+
}
|
|
483
845
|
type TargetValue = boolean | number | string | {
|
|
484
846
|
k: "b" | "i" | "s" | "e" | "x";
|
|
485
847
|
v: unknown;
|
|
@@ -489,7 +851,25 @@ type EvidenceRole = "resolution" | "effect" | "state";
|
|
|
489
851
|
type EvidenceParseStatus = "supported" | "unsupported_statement_operator" | "unsupported_command" | "malformed_quote" | "adapter_unavailable";
|
|
490
852
|
type HostStatus = "supported" | "unsupported" | "unavailable";
|
|
491
853
|
type TargetCaptureStatus = "resolved" | "clarification_required";
|
|
492
|
-
|
|
854
|
+
/**
|
|
855
|
+
* 0.6.3 K4: why a record captured under the rules of an EARLIER release can no
|
|
856
|
+
* longer be reused as a current pass. The record itself is never rewritten —
|
|
857
|
+
* its historical status (including `answered`) stays the historical fact it
|
|
858
|
+
* was — but the current eligibility layer refuses to inherit it and the
|
|
859
|
+
* obstruction blocks new certificates and Goal completion until the root
|
|
860
|
+
* resolves it. It is deliberately a hard block, not a warning: 0.6.2 published
|
|
861
|
+
* a mixed request as answered, and a warning would have left exactly that
|
|
862
|
+
* misreading in force.
|
|
863
|
+
*/
|
|
864
|
+
type NeedsReviewReason = "legacy_mixed_information_scope" | "legacy_environment_default_target" | "unknown_state_version" | "legacy_missing_execution_qualification";
|
|
865
|
+
interface NeedsReviewFact {
|
|
866
|
+
reason: NeedsReviewReason;
|
|
867
|
+
/** Stable identity of the eligibility check that raised it. */
|
|
868
|
+
checkId: string;
|
|
869
|
+
/** When the check was applied: this is an upgrade fact, not a birth fact. */
|
|
870
|
+
recordedAtRevision: number;
|
|
871
|
+
}
|
|
872
|
+
type TargetCaptureReasonCode = "requested_target_package_id_missing" | "requested_target_artifact_id_missing" | "requested_target_repository_missing" | "requested_target_repository_ambiguous" | "requested_target_field_ambiguous" | "requested_target_service_id_missing" | "requested_target_registry_missing_or_invalid";
|
|
493
873
|
interface GoalRef {
|
|
494
874
|
id: string;
|
|
495
875
|
revision: number;
|
|
@@ -592,6 +972,17 @@ interface GuardItem {
|
|
|
592
972
|
requestedTarget?: TargetTuple;
|
|
593
973
|
targetCaptureStatus?: TargetCaptureStatus;
|
|
594
974
|
targetCaptureReasonCode?: TargetCaptureReasonCode;
|
|
975
|
+
/**
|
|
976
|
+
* 0.6.3 K2 provenance of {@link requestedTarget}. Absent on items captured by
|
|
977
|
+
* 0.6.2 and earlier, whose target reading is historical and evaluated by the
|
|
978
|
+
* upgrade eligibility check rather than re-interpreted.
|
|
979
|
+
*/
|
|
980
|
+
targetSource?: TargetSource;
|
|
981
|
+
/**
|
|
982
|
+
* 0.6.3 K4: set by the upgrade eligibility check when this record cannot be
|
|
983
|
+
* inherited as a current pass. It never overwrites the historical status.
|
|
984
|
+
*/
|
|
985
|
+
needsReview?: NeedsReviewFact;
|
|
595
986
|
authority?: "root_instruction" | "root_adoption" | "legacy_authority_unclassified";
|
|
596
987
|
legacyFlags?: Array<"legacy_generic_run" | "legacy_authority_unclassified">;
|
|
597
988
|
/** v0.5 intent layer: inquiries keep the obligation but are not machine certifiable. */
|
|
@@ -606,6 +997,14 @@ interface GuardItem {
|
|
|
606
997
|
directive?: DirectiveClass;
|
|
607
998
|
executee?: Executee;
|
|
608
999
|
authorityDisposition?: AuthorityDisposition;
|
|
1000
|
+
/**
|
|
1001
|
+
* 0.6.3 (narrowed contract): whether this reading may host execution authority.
|
|
1002
|
+
* Established ONCE by the reader, before any partition, and inherited by every
|
|
1003
|
+
* child the partition produces. Absent on records captured before the
|
|
1004
|
+
* qualification existed: the gate and preparation refuse those rather than
|
|
1005
|
+
* reading their stored disposition as permission.
|
|
1006
|
+
*/
|
|
1007
|
+
executionQualification?: ExecutionQualification;
|
|
609
1008
|
/** The unresolved condition guarding a `conditional_wait` item. */
|
|
610
1009
|
condition?: string;
|
|
611
1010
|
/** The event that ends a human wait, when the source names one. */
|
|
@@ -711,6 +1110,18 @@ interface GuardEvidence {
|
|
|
711
1110
|
adapterVersion?: string;
|
|
712
1111
|
externalOperationRef?: ExternalOperation;
|
|
713
1112
|
/**
|
|
1113
|
+
* 0.6.2 D062-02: the LAYERED reading of a shell result, kept beside — never
|
|
1114
|
+
* instead of — the frozen `outcome`/`parseStatus` pair. It separates four
|
|
1115
|
+
* different claims the historical single `outcome` conflated: what the host
|
|
1116
|
+
* tool call returned, what the console actually declared about the process
|
|
1117
|
+
* (an exit code and its signal, or `unknown` when none was read), how far the
|
|
1118
|
+
* effect could be attributed to this obligation's own operation, and the
|
|
1119
|
+
* resulting business outcome. It is derived at replay from the same bytes, is
|
|
1120
|
+
* excluded from every historical digest and certificate domain, and never
|
|
1121
|
+
* rewrites an old `outcome`. Only shell-tool facts carry it.
|
|
1122
|
+
*/
|
|
1123
|
+
processFacts?: DerivedProcessFacts;
|
|
1124
|
+
/**
|
|
714
1125
|
* 0.6.0 C04: this fact came from a delegated subagent/task round-trip. A
|
|
715
1126
|
* delegated result is BOUNDED evidence for the parent unit — it is recorded
|
|
716
1127
|
* and visible, and it can never close a parent obligation or a parent unit
|
|
@@ -1096,6 +1507,13 @@ interface CaptureScope {
|
|
|
1096
1507
|
/** Session working directory; used as the scope subject when no artifact path is named. */
|
|
1097
1508
|
cwd?: string;
|
|
1098
1509
|
}
|
|
1510
|
+
/**
|
|
1511
|
+
* The repository an obligation resolves to when the root wrote no repository
|
|
1512
|
+
* at all (0.6.3 K2). The environment default is preserved so a later
|
|
1513
|
+
* work-unit inheritance decision can evaluate it, but it is never reported as
|
|
1514
|
+
* a resolved user selection.
|
|
1515
|
+
*/
|
|
1516
|
+
declare function environmentDefaultRepositoryTarget(action: SemanticAction, subject: string): TargetTuple | undefined;
|
|
1099
1517
|
declare function extractArtifactPaths(text: string): string[];
|
|
1100
1518
|
/**
|
|
1101
1519
|
* Split a single human message into independently tracked clauses. Sentence
|
|
@@ -1188,18 +1606,6 @@ declare function isFrozenV042RebindResponse(recorded: unknown): boolean;
|
|
|
1188
1606
|
//#endregion
|
|
1189
1607
|
//#region src/domain/conversation.d.ts
|
|
1190
1608
|
type UserInteractionKind = "instruction" | "conversational";
|
|
1191
|
-
/**
|
|
1192
|
-
* Classify a direct user message (or one clause of it) as an actionable
|
|
1193
|
-
* `instruction` or a session-layer `conversational` utterance. Only
|
|
1194
|
-
* conversational results drop capture, so the classifier fails closed:
|
|
1195
|
-
* everything it cannot confidently recognize as session-layer talk stays an
|
|
1196
|
-
* instruction and is captured exactly as before.
|
|
1197
|
-
*
|
|
1198
|
-
* Order matters: progression and prohibition leads first, then strong task
|
|
1199
|
-
* features (artifact path, explicit method, or a non-negated operation verb
|
|
1200
|
-
* outside progression/meta spans), then the meta-question and meta-comment
|
|
1201
|
-
* forms, and finally a progression lead over a featureless remainder.
|
|
1202
|
-
*/
|
|
1203
1609
|
declare function classifyUserInteraction(text: string): UserInteractionKind;
|
|
1204
1610
|
type TaskIntent = "inquiry" | "action";
|
|
1205
1611
|
/**
|
|
@@ -1529,6 +1935,26 @@ declare const PROTOCOL_V4_NOTICE = "Context Guard protocol boundary: v4.0.0";
|
|
|
1529
1935
|
*/
|
|
1530
1936
|
declare const PROTOCOL_V5_NOTICE = "Context Guard protocol boundary: v5.0.0";
|
|
1531
1937
|
/**
|
|
1938
|
+
* The pure upgrade-eligibility predicate: the records in the current closure
|
|
1939
|
+
* scope that may NOT be inherited as a current pass, with the reason that
|
|
1940
|
+
* disqualifies each. Exported so the rule can be tested and read back directly,
|
|
1941
|
+
* never to let a caller skip it.
|
|
1942
|
+
*/
|
|
1943
|
+
declare function legacyRecordsNeedingReview(projection: GuardProjection): Array<{
|
|
1944
|
+
itemId: string;
|
|
1945
|
+
reason: NeedsReviewReason;
|
|
1946
|
+
}>;
|
|
1947
|
+
/**
|
|
1948
|
+
* Apply the 0.6.3 eligibility pass to an already-derived projection.
|
|
1949
|
+
*
|
|
1950
|
+
* This is the upgrade entry: it re-checks the records a session already holds
|
|
1951
|
+
* after an EVENT-SOURCED reading has been applied to them. It is idempotent —
|
|
1952
|
+
* a project already marked keeps its original reason and revision — and it is
|
|
1953
|
+
* the same function the derivation runs, so a replay and an in-place upgrade
|
|
1954
|
+
* cannot disagree.
|
|
1955
|
+
*/
|
|
1956
|
+
declare function applyUpgradeEligibility(projection: GuardProjection): void;
|
|
1957
|
+
/**
|
|
1532
1958
|
* Pure, deterministic re-derivation of the guard projection from the DSH
|
|
1533
1959
|
* native event log. Context Guard never writes custom session events, so every
|
|
1534
1960
|
* piece of state is derived from `command/run`, `user/message`, `tool/call`,
|
|
@@ -1552,6 +1978,12 @@ type ReasonClass = "parameter_missing" | "source_insufficient" | "condition_unme
|
|
|
1552
1978
|
//#region src/domain/diagnostics.d.ts
|
|
1553
1979
|
type TaskKind = "inquiry" | "action" | "deliverable" | "constraint" | "unresolved";
|
|
1554
1980
|
type CertificationSupport = "supported" | "unsupported" | "needs_target" | "needs_evidence" | "unavailable";
|
|
1981
|
+
/**
|
|
1982
|
+
* Whether anything can still be repaired, and by whom (0.5, corrected by 0.6.2
|
|
1983
|
+
* D062-01). `user_input_required` means a real root choice was never made
|
|
1984
|
+
* (a genuinely absent identity or target selection) — never a capability this
|
|
1985
|
+
* build simply does not have, and never a request to re-word an instruction.
|
|
1986
|
+
*/
|
|
1555
1987
|
type Repairability = "agent_repairable" | "user_input_required" | "unsupported" | "historical_gap" | "none";
|
|
1556
1988
|
interface DiagnosisNextAction {
|
|
1557
1989
|
kind: "report_only" | "collect_evidence" | "checkpoint" | "clarify_target" | "restore_host" | "none";
|
|
@@ -1572,6 +2004,13 @@ interface UnifiedItemDiagnosis {
|
|
|
1572
2004
|
/** The seven-class label this fine-grained reason code belongs to (C12). */
|
|
1573
2005
|
reason_class: ReasonClass;
|
|
1574
2006
|
repairability: Repairability;
|
|
2007
|
+
/**
|
|
2008
|
+
* 0.6.2 D062-01: WHAT the guard knows and WHICH remedy is reachable, shared
|
|
2009
|
+
* by every consumer. `reason_code` stays the fine display code; the
|
|
2010
|
+
* capability fact explains the remedy, so no lane infers a root cause — or
|
|
2011
|
+
* invents a reachable path — from one enum.
|
|
2012
|
+
*/
|
|
2013
|
+
capability: CapabilityFact;
|
|
1575
2014
|
missing_fields: string[];
|
|
1576
2015
|
missing_facets: Array<"resolution" | "effect" | "state">;
|
|
1577
2016
|
next_action: DiagnosisNextAction;
|
|
@@ -1600,6 +2039,13 @@ declare function itemDiagnosis(p: GuardProjection, item: GuardItem): {
|
|
|
1600
2039
|
declare function evidenceAvailabilityReason(evidence: GuardEvidence): string | undefined;
|
|
1601
2040
|
/** Shared display filter; certification remains the full domain check. */
|
|
1602
2041
|
declare function relevantEvidence(p: GuardProjection, item: GuardItem, evidence: GuardEvidence): boolean;
|
|
2042
|
+
/**
|
|
2043
|
+
* The bounded, one-phrase form of a reachable remedy (0.6.2 D062-01). The
|
|
2044
|
+
* capability consequence above is the full explanation; a bounded page lists
|
|
2045
|
+
* many items, so it uses this phrase and leaves the prose to the detail and
|
|
2046
|
+
* preparation surfaces. Both come from the SAME capability fact.
|
|
2047
|
+
*/
|
|
2048
|
+
declare function capabilityRemedyPhrase(remedy: CapabilityRemedy): string;
|
|
1603
2049
|
//#endregion
|
|
1604
2050
|
//#region src/domain/evidence.d.ts
|
|
1605
2051
|
interface ToolCallInput {
|
|
@@ -1638,6 +2084,8 @@ interface ToolSubject {
|
|
|
1638
2084
|
reasonCode?: string;
|
|
1639
2085
|
adapterId?: string;
|
|
1640
2086
|
adapterVersion?: string;
|
|
2087
|
+
/** 0.6.2 D062-02: the layered shell reading, present only for shell tools. */
|
|
2088
|
+
processFacts?: DerivedProcessFacts;
|
|
1641
2089
|
externalOperationRef?: ExternalOperation;
|
|
1642
2090
|
}
|
|
1643
2091
|
declare function extractToolSubject(call: ToolCallInput, result: ToolResultInput, defaultCwd?: string, hostLock?: HostLockEvaluation): ToolSubject;
|
|
@@ -2229,6 +2677,40 @@ interface RecoveryOptions {
|
|
|
2229
2677
|
declare const DEFAULT_RECOVERY_CHAR_BUDGET = 4e3;
|
|
2230
2678
|
declare const MIN_RECOVERY_CHAR_BUDGET = 512;
|
|
2231
2679
|
/**
|
|
2680
|
+
* 0.6.2 D062-03: the standing condition a removal or cleanup outcome must keep.
|
|
2681
|
+
* The guard cannot observe another process's cwd or handles, so it states the
|
|
2682
|
+
* condition instead of inferring "no dependants" from a clean tree, an empty
|
|
2683
|
+
* `git worktree list`, or a directory that merely looks empty. This is one
|
|
2684
|
+
* shared wording, not an incident phrase list, and it never claims the plugin
|
|
2685
|
+
* can block a dangerous removal on its own.
|
|
2686
|
+
*/
|
|
2687
|
+
declare const CLEANUP_CONDITION_RULE: string;
|
|
2688
|
+
/**
|
|
2689
|
+
* The same condition at a medium budget (0.6.2 review): shorter than the full
|
|
2690
|
+
* rule, and still explicit that an unknown dependant forbids the claim.
|
|
2691
|
+
*/
|
|
2692
|
+
declare const CLEANUP_CONDITION_RULE_SHORT: string;
|
|
2693
|
+
/**
|
|
2694
|
+
* The same condition at emergency budget (0.6.2 review). A packet with fewer
|
|
2695
|
+
* than 1000 characters cannot carry the longer sentences AND its own rules, so
|
|
2696
|
+
* the condition is compressed — but it is NEVER omitted: the one thing a compact
|
|
2697
|
+
* packet must not lose is that an unknown dependant forbids a removal claim.
|
|
2698
|
+
*/
|
|
2699
|
+
declare const CLEANUP_CONDITION_RULE_COMPACT: string;
|
|
2700
|
+
/**
|
|
2701
|
+
* Pick the longest form of the condition the packet's budget can actually
|
|
2702
|
+
* afford. The caller reserves this line's length before any optional row, so
|
|
2703
|
+
* the condition is never the text that gets clipped.
|
|
2704
|
+
*/
|
|
2705
|
+
declare function cleanupConditionFor(budget: number): string;
|
|
2706
|
+
/**
|
|
2707
|
+
* Whether this gap needs the cleanup condition spelled out. The condition
|
|
2708
|
+
* belongs to every uncertifiable lane that could describe removal-like work —
|
|
2709
|
+
* which the guard cannot identify from text — so it rides the CAPABILITY
|
|
2710
|
+
* limitation itself, never a vocabulary of destructive verbs.
|
|
2711
|
+
*/
|
|
2712
|
+
declare function carriesCleanupCondition(gap: CapabilityGap): boolean;
|
|
2713
|
+
/**
|
|
2232
2714
|
* An actionable one-line hint for how an open item's verification contract can
|
|
2233
2715
|
* be closed. It never weakens the contract; it only names the missing facet so
|
|
2234
2716
|
* the agent can produce the right evidence shape instead of reverse-engineering
|
|
@@ -2419,4 +2901,4 @@ declare function latestAssistantText(events: readonly {
|
|
|
2419
2901
|
//#region src/domain/supersession.d.ts
|
|
2420
2902
|
declare function supersedeItem(items: Map<string, GuardItem>, oldId: string, replacement: GuardItem): boolean;
|
|
2421
2903
|
//#endregion
|
|
2422
|
-
export { canonicalProjection as $, boundedArtifactChoiceMatches as $a, SourceSpan as $i, AuditedExecutable as $n, isFrozenV042RebindResponse as $r, GitCommandParseResult as $t, openItems as A, interpretMessage as Aa, DeriveConfig as Ai, extractToolSubject as An, HostVersionDecision as Ar, claimedBatchHasRealRootInput as At, ProofHostSurface as B, ActionManifest as Ba, GoalRef as Bi, itemDiagnosis as Bn, satisfiesSupportedHostRange as Br, injectActiveProfileHostLock as Bt, RC015_RC2_HOST_PACKAGES as C, replayRebindResult as Ca, AssetInterpretationFact as Ci, goalCompletionDenial as Cn, bindLiveGoalCapability as Cr, OperationVerbEntry as Ct, MIN_RECOVERY_CHAR_BUDGET as D, InterpretOptions as Da, BoundaryQualificationKind as Di, ToolSubject as Dn, evaluateToolSurfaceCapability as Dr, FirstStepInjection as Dt, DEFAULT_RECOVERY_CHAR_BUDGET as E, Executee as Ea, BoundaryDisposition as Ei, ToolResultInput as En, evaluateHostLock as Er, FIRST_STEP_GUIDANCE as Et, PROOF_KINDS as F, namedActions as Fa, EvidenceOutcome as Fi, Repairability as Fn, SUPPORTED_HOST_RANGE as Fr, HostProfileError as Ft, ProofManifestV2 as G, SEMANTIC_ACTIONS as Ga, GuardItem as Gi, PROTOCOL_V4_NOTICE as Gn, authorityCaptureCounts as Gr, resolveActiveProfileHostLock as Gt, ProofKindCapability as H, BOUNDED_ARTIFACT_TYPES as Ha, GuardCheckpoint as Hi, CAPTURE_V042_NOTICE as Hn, AuthorityBlock as Hr, packageRowsFromActiveGraph as Ht, PROOF_KINDS_V2 as I, semanticActionOfScope as Ia, EvidenceParseStatus as Ii, TaskKind as In, SUPPORTED_HOST_VERSIONS as Ir, TargetHostGraph as It, ProofSurface as J, STOP_PROTOCOL_VERSION_V2 as Ja, GuardOperation as Ji, ACTIVE_HOST_COHORT_ID as Jn, UserInteractionKind as Jr, GIT_COMMAND_MANIFEST_IDS as Jt, ProofObligation as K, STATEFUL_ACTIONS as Ka, GuardItemKind as Ki, PROTOCOL_V5_NOTICE as Kn, segmentAuthorityBlocks as Kr, resolveInstalledHostLock as Kt, PROOF_MANIFEST_DOMAIN_V2 as L, statefulActionsOfScope as La, EvidenceRole as Li, UnifiedItemDiagnosis as Ln, compareHostVersions as Lr, combineHostPolicy as Lt, renderRecoveryPacket as M, isOpenObligation as Ma, DeriveScope as Mi, withDurability as Mn, LATEST_SUPPORTED_HOST_VERSION as Mr, lifecyclePhase as Mt, ALPHA3_HOST_PACKAGES as N, kindOfScope as Na, DerivedEnvelope as Ni, CertificationSupport as Nn, MIN_SUPPORTED_HOST_VERSION as Nr, previewFirstStepInjection as Nt, RecoveryOptions as O, ScopeInterpretation as Oa, DeferAuthorization as Oi, evidenceFromPersistedToolResult as On, hostVersionFromPackages as Or, FirstStepPreviewInput as Ot, PROOF_CAPABILITY_MATRIX as P, maskCodeSpans as Pa, EvidenceBinding as Pi, DiagnosisNextAction as Pn, ParsedHostVersion as Pr, ActiveProfileHostLock as Pt, bindProofV2ToProjection as Q, actionCompatible as Qa, PersistenceAuthorization as Qi, ALPHA2_HOST_PACKAGES as Qn, ParsedConfirmation as Qr, GitCommandManifest as Qt, PROOF_PROTOCOL_VERSION as R, ACTION_MANIFEST as Ra, ExpectedTransition as Ri, deriveItemDiagnosis as Rn, evaluateMinimumHostVersion as Rr, hostLockContextFromComposedDump as Rt, snapshotSessionEvents as S, rebindResponse as Sa, qualifyBoundary as Si, parseShellCommand as Sn, bindExecutableIdentity as Sr, ManifestIssue as St, RC1_HOST_PACKAGES as T, DirectiveClass as Ta, BindingActionClosure as Ti, ToolCallInput as Tn, evaluateHostCapability as Tr, ClaimedMessage as Tt, ProofKindV2 as U, CERTIFICATE_VERSION as Ua, GuardEvidence as Ui, DEFAULT_DELEGATION_TOOL_NAMES as Un, AuthorityBlockKind as Ur, packageRowsFromPnpmLock as Ut, ProofKind as V, ActionSpec as Va, GuardBoundary as Vi, relevantEvidence as Vn, currentContractDigest as Vr, inspectTargetHostGraph as Vt, ProofManifest as W, CERTIFICATE_VERSION_V2 as Wa, GuardIntegrity as Wi, PROTOCOL_V3_NOTICE as Wn, AuthorityKind as Wr, readActiveHostGraph as Wt, SessionQueryV2 as X, SemanticAction as Xa, HostStatus as Xi, ACTIVE_HOST_LAUNCHER_VERSION as Xn, classifyUserInteraction as Xr, GitAdapterAction as Xt, SessionQuery as Y, SUPPORTED_EVIDENCE_ADAPTERS as Ya, GuardProjection as Yi, ACTIVE_HOST_COHORT_IDS as Yn, classifyTaskIntent as Yr, GIT_COMMAND_TEMPLATES as Yt, bindProofToProjection as Z, StatefulAction as Za, MessageCoverage as Zi, ALPHA2_DSHMARKET_139_HOST_PACKAGES as Zn, CONFIRM_LINE_PATTERN as Zr, GitCommandAccepted as Zt, progressFingerprint as _, confirmRebind as _a, GoalActivationState as _i, ParsedShell as _n, HostLockStatus as _r, evidenceCoverage as _t, NO_PROGRESS_RECORD_PREFIX as a, WaitAuthorization as aa, ClauseSegment as ai, GitTargetIdentity as an, semanticActionFromText as ao, GOAL_HOST_PACKAGES as ar, proofEvidenceConstraints as at, SessionApiError as b, proposeRebindV042 as ba, effectuateBoundary as bi, isRunExecutable as bn, HostToolSurface as br, COMMAND_SURFACE_MANIFEST as bt, classifyCompletionClaim as c, PackageRow as ca, classifyClause as ci, commitTreeSnapshotDigest as cn, canonicalizePath as co, HostAuditProvenance as cr, proofV2Rejection as ct, decisionBoundaryKey as d, ReleaseOperation as da, extractOperation as di, gitCommandMatchesTarget as dn, sanitizeClauseText as do, HostCapabilityRequest as dr, sessionQuery as dt, TargetCaptureReasonCode as ea, parseConfirmationMessage as ei, GitCommandRejected as en, isStatefulAction as eo, BASE_HOST_PACKAGES as er, createProofManifest as et, isRootPauseRequest as f, ReleaseSettlement as fa, isInformationalMessage as fi, parseGitCommandManifest as fn, sanitizeUrl as fo, HostCohort as fr, sessionQueryV2 as ft, observeAssistantOutcome as g, RebindProposal as ga, BoundaryRequest as gi, CanonicalCommandSurface as gn, HostLockEvaluation as gr, bindingSatisfies as gt, latestRootInstruction as h, RebindArgs as ha, BoundaryQualification as hi, CanonicalArgv as hn, HostLockContext as hr, EvidenceFacetCoverage as ht, CompletionDisposition as i, VerificationContract as ia, CaptureScope as ii, GitPrestateEnvelope as in, semanticActionFromCommand as io, ExecutableIdentityBinding as ir, proofDigestV2 as it, recoveryDigest as j, isExecutableItem as ja, DeriveResult as ji, isDeterministicCheck as jn, HostVersionStatus as jr, firstStepGuidance as jt, closingHint as k, interpretClause as ka, DelegationRef as ki, extractTextContent as kn, selectHostCohort as kr, LifecyclePhase as kt, decideTurnBoundary as l, ReleaseGateDecision as la, extractArtifactPaths as li, createGitPrestateEnvelope as ln, digestStrings as lo, HostCapabilityEvaluation as lr, requiredSubjectsOf as lt, latestAssistantText as m, ProposeOutcome as ma, BoundaryEffectuation as mi, verifiedLinearCommitReadback as mn, HostCohortSelectionReason as mr, validateProofManifestV2 as mt, AssistantOutcomeObservation as n, TargetTuple as na, RejectedBinding as ni, GitEffectRunner as nn, requestedTargetAuthorizesMutation as no, EXPECTED_HOST_PACKAGES as nr, proofCapabilityReport as nt, NO_PROGRESS_TURNS_BEFORE_STOP as o, WorkUnit as oa, captureClause as oi, LinearCommitReadback as on, validateActionManifest as oo, HOST_CAPABILITY_PACKAGE_GROUPS as or, proofHostSurfacesOf as ot, isWholeTaskCompletionClaim as p, BoundedSource as pa, segmentClauses as pi, revalidateGitPrestate as pn, sha256 as po, HostCohortSelection as pr, validateProofManifest as pt, ProofObligationV2 as q, STOP_PROTOCOL_VERSION as qa, GuardItemStatus as qi, deriveProjection as qn, TaskIntent as qr, verifyComposedHostLockDump as qt, CONTROL_RECORD_PREFIX as r, TargetValue as ra, certifyCheckpoint as ri, GitPrestateCheck as rn, requestedTargetMatchesResolved as ro, ExecutableIdentity as rr, proofDigest as rt, TurnStoppingDecision as s, createProjection as sa, captureItem as si, commitIndexSnapshotDigest as sn, validateActionTarget as so, HOST_COHORTS as sr, proofOperationMatches as st, supersedeItem as t, TargetCaptureStatus as ta, CheckpointResult as ti, GitEffectExecution as tn, requestedIdentityKey as to, DEFAULT_HOST_LOCK as tr, createProofManifestV2 as tt, decideTurnStopping as u, ReleaseObservedIdentity as ua, extractMethod as ui, executeRevalidatedGitEffect as un, normalizeClause as uo, HostCapabilityId as ur, scopeCoverageDigest as ut, SESSION_API_UNSUPPORTED as v, proposeRebind as va, GoalBoundaryAccess as vi, ShellParseStatus as vn, HostPlatform as vr, evidenceMatchesItem as vt, RC015_HOST_PACKAGES as w, AuthorityDisposition as wa, AssetObligation as wi, hasCurrentCertificate as wn, evaluateExternalWaitCapability as wr, validateManifest as wt, V3SessionLike as x, rebindAttemptKey as xa, isCurrentAcceptedBoundary as xi, parsePwshCommand as xn, LEGACY_HOST_COHORTS as xr, CommandSurfaceManifest as xt, SESSION_EVENT_ENVELOPE_INVALID as y, proposeRebindOutcome as ya, availableBoundaryQualifications as yi, canonicalArgvFromCommand as yn, HostProfileKind as yr, isVerifyingCapability as yt, PROOF_PROTOCOL_VERSION_V2 as z, ACTION_MANIFEST_VERSION as za, ExternalOperation as zi, evidenceAvailabilityReason as zn, parseHostVersion as zr, hostLockRowsFromComposedDump as zt };
|
|
2904
|
+
export { ProofSurface as $, partialFailureOf as $a, GuardIntegrity as $i, applyUpgradeEligibility as $n, STATEFUL_ACTIONS as $o, authorityCaptureCounts as $r, GIT_COMMAND_MANIFEST_IDS as $t, MIN_RECOVERY_CHAR_BUDGET as A, confirmRebind as Aa, isCurrentAcceptedBoundary as Ai, ToolCallInput as An, itemHoldsExecutionAuthority as Ao, bindExecutableIdentity as Ar, ClaimedMessage as At, PROOF_KINDS as B, DEPENDENCY_FREE_ONLY_CONDITION as Ba, DeriveResult as Bi, Repairability as Bn, restatedContentOf as Bo, LATEST_SUPPORTED_HOST_VERSION as Br, HostProfileError as Bt, RC015_RC2_HOST_PACKAGES as C, ReleaseObservedIdentity as Ca, BoundaryEffectuation as Ci, ShellParseStatus as Cn, introducesActionClause as Co, HostLockContext as Cr, evidenceMatchesItem as Ct, CLEANUP_CONDITION_RULE_COMPACT as D, ProposeOutcome as Da, GoalBoundaryAccess as Di, parseShellCommand as Dn, isOpenObligation as Do, HostProfileKind as Dr, ManifestIssue as Dt, CLEANUP_CONDITION_RULE as E, BoundedSource as Ea, GoalActivationState as Ei, parsePwshCommand as En, isInformationalFragment as Eo, HostPlatform as Er, CommandSurfaceManifest as Et, openItems as F, rebindResponse as Fa, BoundaryDisposition as Fi, extractToolSubject as Fn, namedActions as Fo, evaluateToolSurfaceCapability as Fr, claimedBatchHasRealRootInput as Ft, ProofHostSurface as G, ProcessExitStatus as Ga, EvidenceParseStatus as Gi, evidenceAvailabilityReason as Gn, ACTION_MANIFEST as Go, compareHostVersions as Gr, injectActiveProfileHostLock as Gt, PROOF_MANIFEST_DOMAIN_V2 as H, DependencyStatus as Ha, DerivedEnvelope as Hi, UnifiedItemDiagnosis as Hn, splitTextFragments as Ho, ParsedHostVersion as Hr, combineHostPolicy as Ht, recoveryDigest as I, replayRebindResult as Ia, BoundaryQualificationKind as Ii, isDeterministicCheck as In, opensWithDirective as Io, hostVersionFromPackages as Ir, firstStepGuidance as It, ProofKindV2 as J, RemovalOutcomeReport as Ja, ExternalOperation as Ji, CAPTURE_V042_NOTICE as Jn, ActionSpec as Jo, satisfiesSupportedHostRange as Jr, packageRowsFromPnpmLock as Jt, ProofKind as K, ProcessFactSource as Ka, EvidenceRole as Ki, itemDiagnosis as Kn, ACTION_MANIFEST_VERSION as Ko, evaluateMinimumHostVersion as Kr, inspectTargetHostGraph as Kt, renderRecoveryPacket as L, CapabilityFact as La, DeferAuthorization as Li, withDurability as Ln, qualificationOfClause as Lo, selectHostCohort as Lr, lifecyclePhase as Lt, carriesCleanupCondition as M, proposeRebindOutcome as Ma, AssetInterpretationFact as Mi, ToolSubject as Mn, legacyQuestionReadingIsInformational as Mo, evaluateExternalWaitCapability as Mr, FirstStepInjection as Mt, cleanupConditionFor as N, proposeRebindV042 as Na, AssetObligation as Ni, evidenceFromPersistedToolResult as Nn, maskCodeSpans as No, evaluateHostCapability as Nr, FirstStepPreviewInput as Nt, CLEANUP_CONDITION_RULE_SHORT as O, RebindArgs as Oa, availableBoundaryQualifications as Oi, goalCompletionDenial as On, isQuestionScopeNeedingReview as Oo, HostToolSurface as Or, OperationVerbEntry as Ot, closingHint as P, rebindAttemptKey as Pa, BindingActionClosure as Pi, extractTextContent as Pn, maskQuotedSpans as Po, evaluateHostLock as Pr, LifecyclePhase as Pt, ProofObligationV2 as Q, capabilityFactOf as Qa, GuardEvidence as Qi, PROTOCOL_V5_NOTICE as Qn, SEMANTIC_ACTIONS as Qo, AuthorityKind as Qr, verifyComposedHostLockDump as Qt, ALPHA3_HOST_PACKAGES as R, CapabilityGap as Ra, DelegationRef as Ri, CertificationSupport as Rn, questionHeadsClause as Ro, HostVersionDecision as Rr, previewFirstStepInjection as Rt, snapshotSessionEvents as S, ReleaseGateDecision as Sa, segmentClauses as Si, ParsedShell as Sn, interpretMessage as So, HostCohortSelectionReason as Sr, evidenceCoverage as St, RC1_HOST_PACKAGES as T, ReleaseSettlement as Ta, BoundaryRequest as Ti, isRunExecutable as Tn, isExplanationScope as To, HostLockStatus as Tr, COMMAND_SURFACE_MANIFEST as Tt, PROOF_PROTOCOL_VERSION as U, DerivedProcessFacts as Ua, EvidenceBinding as Ui, capabilityRemedyPhrase as Un, statefulActionsOfScope as Uo, SUPPORTED_HOST_RANGE as Ur, hostLockContextFromComposedDump as Ut, PROOF_KINDS_V2 as V, DeclaredOperationResult as Va, DeriveScope as Vi, TaskKind as Vn, semanticActionOfScope as Vo, MIN_SUPPORTED_HOST_VERSION as Vr, TargetHostGraph as Vt, PROOF_PROTOCOL_VERSION_V2 as W, OperationAttribution as Wa, EvidenceOutcome as Wi, deriveItemDiagnosis as Wn, verbIsNegated as Wo, SUPPORTED_HOST_VERSIONS as Wr, hostLockRowsFromComposedDump as Wt, ProofManifestV2 as X, admissibleForRemoval as Xa, GuardBoundary as Xi, PROTOCOL_V3_NOTICE as Xn, CERTIFICATE_VERSION as Xo, AuthorityBlock as Xr, resolveActiveProfileHostLock as Xt, ProofManifest as Y, actionHasCertificationPath as Ya, GoalRef as Yi, DEFAULT_DELEGATION_TOOL_NAMES as Yn, BOUNDED_ARTIFACT_TYPES as Yo, currentContractDigest as Yr, readActiveHostGraph as Yt, ProofObligation as Z, capabilityConsequence as Za, GuardCheckpoint as Zi, PROTOCOL_V4_NOTICE as Zn, CERTIFICATE_VERSION_V2 as Zo, AuthorityBlockKind as Zr, resolveInstalledHostLock as Zt, progressFingerprint as _, VerificationContract as _a, environmentDefaultRepositoryTarget as _i, parseGitCommandManifest as _n, explanationHasActionResidue as _o, HostCapabilityEvaluation as _r, normalizeClause as _s, sessionQueryV2 as _t, NO_PROGRESS_RECORD_PREFIX as a, HostStatus as aa, CONFIRM_LINE_PATTERN as ai, GitCommandRejected as an, ExecutionQualification as ao, ALPHA2_DSHMARKET_139_HOST_PACKAGES as ar, actionCompatible as as, createProofManifest as at, SessionApiError as b, createProjection as ba, extractOperation as bi, CanonicalArgv as bn, hasQuestionScope as bo, HostCohort as br, sha256 as bs, EvidenceFacetCoverage as bt, classifyCompletionClaim as c, NeedsReviewReason as ca, parseConfirmationMessage as ci, GitPrestateCheck as cn, LEGACY_QUALIFICATION as co, BASE_HOST_PACKAGES as cr, requestedIdentityKey as cs, proofDigest as ct, decisionBoundaryKey as d, TargetCaptureReasonCode as da, certifyCheckpoint as di, LinearCommitReadback as dn, ScopeInterpretation as do, ExecutableIdentity as dr, semanticActionFromCommand as ds, proofHostSurfacesOf as dt, GuardItem as ea, segmentAuthorityBlocks as ei, GIT_COMMAND_TEMPLATES as en, removalIsComplete as eo, deriveProjection as er, STOP_PROTOCOL_VERSION as es, SessionQuery as et, isRootPauseRequest as f, TargetCaptureStatus as fa, CaptureScope as fi, commitIndexSnapshotDigest as fn, actionVerbMatches as fo, ExecutableIdentityBinding as fr, semanticActionFromText as fs, proofOperationMatches as ft, observeAssistantOutcome as g, TargetValue as ga, classifyClause as gi, gitCommandMatchesTarget as gn, clauseIsProtected as go, HostAuditProvenance as gr, digestStrings as gs, sessionQuery as gt, latestRootInstruction as h, TargetTuple as ha, captureItem as hi, executeRevalidatedGitEffect as hn, clauseIsGoverned as ho, HOST_COHORTS as hr, canonicalizePath as hs, scopeCoverageDigest as ht, CompletionDisposition as i, GuardProjection as ia, classifyUserInteraction as ii, GitCommandParseResult as in, Executee as io, ACTIVE_HOST_LAUNCHER_VERSION as ir, StatefulAction as is, canonicalProjection as it, RecoveryOptions as j, proposeRebind as ja, qualifyBoundary as ji, ToolResultInput as jn, kindOfScope as jo, bindLiveGoalCapability as jr, FIRST_STEP_GUIDANCE as jt, DEFAULT_RECOVERY_CHAR_BUDGET as k, RebindProposal as ka, effectuateBoundary as ki, hasCurrentCertificate as kn, isRestatement as ko, LEGACY_HOST_COHORTS as kr, validateManifest as kt, decideTurnBoundary as l, PersistenceAuthorization as la, CheckpointResult as li, GitPrestateEnvelope as ln, QualificationReason as lo, DEFAULT_HOST_LOCK as lr, requestedTargetAuthorizesMutation as ls, proofDigestV2 as lt, latestAssistantText as m, TargetSourceKind as ma, captureClause as mi, createGitPrestateEnvelope as mn, clauseAsksOwnQuestion as mo, HOST_CAPABILITY_PACKAGE_GROUPS as mr, validateActionTarget as ms, requiredSubjectsOf as mt, AssistantOutcomeObservation as n, GuardItemStatus as na, UserInteractionKind as ni, GitCommandAccepted as nn, AuthorityDisposition as no, ACTIVE_HOST_COHORT_ID as nr, SUPPORTED_EVIDENCE_ADAPTERS as ns, bindProofToProjection as nt, NO_PROGRESS_TURNS_BEFORE_STOP as o, MessageCoverage as oa, ParsedConfirmation as oi, GitEffectExecution as on, GRANTED_QUALIFICATION as oo, ALPHA2_HOST_PACKAGES as or, boundedArtifactChoiceMatches as os, createProofManifestV2 as ot, isWholeTaskCompletionClaim as p, TargetSource as pa, ClauseSegment as pi, commitTreeSnapshotDigest as pn, clarifiedSpanOf as po, GOAL_HOST_PACKAGES as pr, validateActionManifest as ps, proofV2Rejection as pt, ProofKindCapability as q, ProcessOutcomeReason as qa, ExpectedTransition as qi, relevantEvidence as qn, ActionManifest as qo, parseHostVersion as qr, packageRowsFromActiveGraph as qt, CONTROL_RECORD_PREFIX as r, GuardOperation as ra, classifyTaskIntent as ri, GitCommandManifest as rn, DirectiveClass as ro, ACTIVE_HOST_COHORT_IDS as rr, SemanticAction as rs, bindProofV2ToProjection as rt, TurnStoppingDecision as s, NeedsReviewFact as sa, isFrozenV042RebindResponse as si, GitEffectRunner as sn, InterpretOptions as so, AuditedExecutable as sr, isStatefulAction as ss, proofCapabilityReport as st, supersedeItem as t, GuardItemKind as ta, TaskIntent as ti, GitAdapterAction as tn, removalIsPartiallyKnown as to, legacyRecordsNeedingReview as tr, STOP_PROTOCOL_VERSION_V2 as ts, SessionQueryV2 as tt, decideTurnStopping as u, SourceSpan as ua, RejectedBinding as ui, GitTargetIdentity as un, QualificationStatus as uo, EXPECTED_HOST_PACKAGES as ur, requestedTargetMatchesResolved as us, proofEvidenceConstraints as ut, SESSION_API_UNSUPPORTED as v, WaitAuthorization as va, extractArtifactPaths as vi, revalidateGitPrestate as vn, governedClauseRestrictsExecution as vo, HostCapabilityId as vr, sanitizeClauseText as vs, validateProofManifest as vt, RC015_HOST_PACKAGES as w, ReleaseOperation as wa, BoundaryQualification as wi, canonicalArgvFromCommand as wn, isExecutableItem as wo, HostLockEvaluation as wr, isVerifyingCapability as wt, V3SessionLike as x, PackageRow as xa, isInformationalMessage as xi, CanonicalCommandSurface as xn, interpretClause as xo, HostCohortSelection as xr, bindingSatisfies as xt, SESSION_EVENT_ENVELOPE_INVALID as y, WorkUnit as ya, extractMethod as yi, verifiedLinearCommitReadback as yn, hasOrderedCoordination as yo, HostCapabilityRequest as yr, sanitizeUrl as ys, validateProofManifestV2 as yt, PROOF_CAPABILITY_MATRIX as z, CapabilityRemedy as za, DeriveConfig as zi, DiagnosisNextAction as zn, reportingHeadGoverns as zo, HostVersionStatus as zr, ActiveProfileHostLock as zt };
|