@skillcap/gdh 0.25.5 → 0.26.1
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/INSTALL-BUNDLE.json +1 -1
- package/RELEASE-SPAN-UPDATE-CONTRACTS.json +121 -0
- package/node_modules/@gdh/adapters/dist/claude-settings-patch.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/claude-settings-patch.js +38 -15
- package/node_modules/@gdh/adapters/dist/claude-settings-patch.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/index.d.ts +12 -0
- package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/index.js +21 -0
- package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/skill-rendering.d.ts +5 -2
- package/node_modules/@gdh/adapters/dist/skill-rendering.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/skill-rendering.js +39 -0
- package/node_modules/@gdh/adapters/dist/skill-rendering.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/templates/authoring-hook.js.tpl +196 -5
- package/node_modules/@gdh/adapters/package.json +8 -8
- package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.d.ts +1 -0
- package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.d.ts.map +1 -1
- package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.js +1 -0
- package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.js.map +1 -1
- package/node_modules/@gdh/authoring/dist/diagnostics-broker.d.ts +2 -1
- package/node_modules/@gdh/authoring/dist/diagnostics-broker.d.ts.map +1 -1
- package/node_modules/@gdh/authoring/dist/diagnostics-broker.js +90 -11
- package/node_modules/@gdh/authoring/dist/diagnostics-broker.js.map +1 -1
- package/node_modules/@gdh/authoring/dist/index.d.ts +1 -1
- package/node_modules/@gdh/authoring/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/authoring/dist/index.js +1 -1
- package/node_modules/@gdh/authoring/dist/index.js.map +1 -1
- package/node_modules/@gdh/authoring/dist/lsp-warmup.d.ts +30 -0
- package/node_modules/@gdh/authoring/dist/lsp-warmup.d.ts.map +1 -0
- package/node_modules/@gdh/authoring/dist/lsp-warmup.js +213 -0
- package/node_modules/@gdh/authoring/dist/lsp-warmup.js.map +1 -0
- package/node_modules/@gdh/authoring/dist/lsp.d.ts +7 -1
- package/node_modules/@gdh/authoring/dist/lsp.d.ts.map +1 -1
- package/node_modules/@gdh/authoring/dist/lsp.js +223 -121
- package/node_modules/@gdh/authoring/dist/lsp.js.map +1 -1
- package/node_modules/@gdh/authoring/package.json +2 -2
- package/node_modules/@gdh/cli/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/cli/dist/index.js +73 -8
- package/node_modules/@gdh/cli/dist/index.js.map +1 -1
- package/node_modules/@gdh/cli/package.json +10 -10
- package/node_modules/@gdh/core/dist/index.d.ts +177 -5
- package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/core/dist/index.js +43 -3
- package/node_modules/@gdh/core/dist/index.js.map +1 -1
- package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.d.ts +15 -0
- package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.d.ts.map +1 -1
- package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.js +18 -0
- package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.js.map +1 -1
- package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.d.ts.map +1 -1
- package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.js +2 -0
- package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.js.map +1 -1
- package/node_modules/@gdh/core/package.json +1 -1
- package/node_modules/@gdh/docs/package.json +2 -2
- package/node_modules/@gdh/mcp/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/mcp/dist/index.js +30 -1
- package/node_modules/@gdh/mcp/dist/index.js.map +1 -1
- package/node_modules/@gdh/mcp/package.json +8 -8
- package/node_modules/@gdh/observability/package.json +2 -2
- package/node_modules/@gdh/runtime/package.json +2 -2
- package/node_modules/@gdh/scan/package.json +3 -3
- package/node_modules/@gdh/verify/package.json +7 -7
- package/package.json +11 -11
|
@@ -15,16 +15,16 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@clack/prompts": "^1.2.0",
|
|
18
|
-
"@gdh/adapters": "0.
|
|
19
|
-
"@gdh/authoring": "0.
|
|
20
|
-
"@gdh/core": "0.
|
|
21
|
-
"@gdh/docs": "0.
|
|
22
|
-
"@gdh/mcp": "0.
|
|
23
|
-
"@gdh/observability": "0.
|
|
24
|
-
"@gdh/runtime": "0.
|
|
25
|
-
"@gdh/scan": "0.
|
|
26
|
-
"@gdh/verify": "0.
|
|
18
|
+
"@gdh/adapters": "0.26.1",
|
|
19
|
+
"@gdh/authoring": "0.26.1",
|
|
20
|
+
"@gdh/core": "0.26.1",
|
|
21
|
+
"@gdh/docs": "0.26.1",
|
|
22
|
+
"@gdh/mcp": "0.26.1",
|
|
23
|
+
"@gdh/observability": "0.26.1",
|
|
24
|
+
"@gdh/runtime": "0.26.1",
|
|
25
|
+
"@gdh/scan": "0.26.1",
|
|
26
|
+
"@gdh/verify": "0.26.1",
|
|
27
27
|
"picocolors": "^1.1.1"
|
|
28
28
|
},
|
|
29
|
-
"version": "0.
|
|
29
|
+
"version": "0.26.1"
|
|
30
30
|
}
|
|
@@ -29,7 +29,16 @@ export declare const GDH_PROJECT_CONFIG_VERSION = 3;
|
|
|
29
29
|
export declare const GDH_RECIPE_SCHEMA_VERSION = 2;
|
|
30
30
|
export declare const GDH_SCENARIO_SCHEMA_VERSION = 2;
|
|
31
31
|
export declare const GDH_RULES_SCHEMA_VERSION = 3;
|
|
32
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Bumped to 13 in Phase 82 to drive a managed-target rebake on the next
|
|
34
|
+
* `gdh setup` / migration. The rebake is required to land the Stop hook
|
|
35
|
+
* surface and the post-edit hook's `warming_up` additionalContext token
|
|
36
|
+
* (LSP-02 / LSP-03 / LSP-07).
|
|
37
|
+
* Bumped to 14 in Phase 83 (LSP-09) to drive a managed-target rebake so that
|
|
38
|
+
* existing managed targets receive the new PostToolBatch hook install on the
|
|
39
|
+
* next `gdh setup` / `gdh migrate apply` run.
|
|
40
|
+
*/
|
|
41
|
+
export declare const GDH_AGENT_CONTRACT_VERSION = 14;
|
|
33
42
|
/**
|
|
34
43
|
* Minimum self-update source pin (WFL-03 / D-21).
|
|
35
44
|
*
|
|
@@ -46,7 +55,7 @@ export declare const GDH_AUTHORING_DOGFOOD_VERSION = 1;
|
|
|
46
55
|
export declare const GDH_AUTHORING_SLICE_REPORT_VERSION = 1;
|
|
47
56
|
export declare const GDH_MCP_MANIFEST_VERSION = 1;
|
|
48
57
|
export declare const GDH_CURSOR_RULE_VERSION = 4;
|
|
49
|
-
export declare const GDH_UPDATE_HOOK_VERSION =
|
|
58
|
+
export declare const GDH_UPDATE_HOOK_VERSION = 10;
|
|
50
59
|
export declare const GDH_RUNTIME_RECIPE_RUN_VERSION = 1;
|
|
51
60
|
export declare const GDH_RUNTIME_RUN_BUNDLE_VERSION = 1;
|
|
52
61
|
export declare const GDH_RUNTIME_CORPUS_ARTIFACT_VERSION = 1;
|
|
@@ -556,7 +565,7 @@ export interface GdhAuthoringSliceReport {
|
|
|
556
565
|
readonly dogfood: GdhAuthoringDogfoodTargetResult;
|
|
557
566
|
readonly authoringCheck: GdhAuthoringCheckResult | null;
|
|
558
567
|
}
|
|
559
|
-
export type GdhMcpToolName = "docs.search" | "docs.fetch" | "target.prepare" | "authoring.check" | "authoring.diagnostics.status" | "authoring.diagnostics.current" | "authoring.diagnostics.refresh" | "authoring.diagnostics.doctor" | "run-config.check" | "run-config.run" | "bridge.session.start" | "bridge.entry.list" | "bridge.entry.invoke" | "bridge.session.stop" | "verify.run";
|
|
568
|
+
export type GdhMcpToolName = "docs.search" | "docs.fetch" | "target.prepare" | "authoring.check" | "authoring.diagnostics.status" | "authoring.diagnostics.current" | "authoring.diagnostics.refresh" | "authoring.diagnostics.doctor" | "run-config.check" | "run-config.run" | "bridge.session.start" | "bridge.entry.list" | "bridge.entry.invoke" | "bridge.session.stop" | "verify.run" | "authoring.warmup";
|
|
560
569
|
export interface GdhMcpResourceManifestEntry {
|
|
561
570
|
readonly name: string;
|
|
562
571
|
readonly summary: string;
|
|
@@ -697,7 +706,18 @@ export type GdhLspLifecycleStatus = "ready" | "degraded" | "unavailable";
|
|
|
697
706
|
export type GdhLspTrustState = "trusted" | "degraded" | "stale";
|
|
698
707
|
export type GdhLspLauncherKind = "godot_editor" | "test_fake";
|
|
699
708
|
export type GdhLspValidationMode = "unimplemented" | "passed" | "diagnostics" | "degraded";
|
|
700
|
-
export declare const GDH_MANAGED_LSP_SURFACE_VERSION =
|
|
709
|
+
export declare const GDH_MANAGED_LSP_SURFACE_VERSION = 2;
|
|
710
|
+
/**
|
|
711
|
+
* Minimum Godot editor version supported by the managed LSP (Phase 81 / LSP-08 / D-14).
|
|
712
|
+
*
|
|
713
|
+
* Godot 4.5.0 and 4.5.1 ship with broken external-editor surfaces (PR #104401
|
|
714
|
+
* regression — restored in 4.5.2 by PR #111478 backport). The managed LSP
|
|
715
|
+
* refuses-to-launch on those versions and routes agents to 4.5.2+ or 4.6.x.
|
|
716
|
+
*
|
|
717
|
+
* Documented in docs/development/runtime-support-matrix.md.
|
|
718
|
+
* Centralized here so future floor bumps are a one-line change.
|
|
719
|
+
*/
|
|
720
|
+
export declare const GDH_MANAGED_LSP_MIN_GODOT_VERSION = "4.5.2";
|
|
701
721
|
export interface GdhWorktreeIdentity {
|
|
702
722
|
readonly rootPath: string;
|
|
703
723
|
readonly worktreeKey: string;
|
|
@@ -748,6 +768,23 @@ export interface GdhManagedLspStatusProvenance {
|
|
|
748
768
|
readonly stateRootPath: string;
|
|
749
769
|
readonly rawPayload: Readonly<Record<string, unknown>> | null;
|
|
750
770
|
}
|
|
771
|
+
/**
|
|
772
|
+
* Structured advisory carried on the unavailable result when the configured
|
|
773
|
+
* Godot binary fails the managed-LSP version floor (Phase 81 / LSP-08 / D-16).
|
|
774
|
+
* Non-null only when `availability === "unavailable"` AND reason includes
|
|
775
|
+
* `"godot_editor_version_unsupported_for_lsp"`.
|
|
776
|
+
*
|
|
777
|
+
* - detectedVersion — what Godot reported (or null if unprobed)
|
|
778
|
+
* - minimumVersion — equals GDH_MANAGED_LSP_MIN_GODOT_VERSION
|
|
779
|
+
* - recommendedVersions — sequence of recommended labels (e.g. ["4.5.2", "4.6.x"])
|
|
780
|
+
* - recommendedCommand — optional next-step command suggestion
|
|
781
|
+
*/
|
|
782
|
+
export interface GdhVersionFloorAdvisory {
|
|
783
|
+
readonly detectedVersion: string | null;
|
|
784
|
+
readonly minimumVersion: string;
|
|
785
|
+
readonly recommendedVersions: readonly string[];
|
|
786
|
+
readonly recommendedCommand?: GdhRecommendedCommand;
|
|
787
|
+
}
|
|
751
788
|
export interface GdhManagedLspStatusResult {
|
|
752
789
|
readonly targetPath: string;
|
|
753
790
|
readonly capability: "authoring.lsp";
|
|
@@ -761,6 +798,13 @@ export interface GdhManagedLspStatusResult {
|
|
|
761
798
|
readonly session: GdhManagedLspSessionSnapshot;
|
|
762
799
|
readonly instance: GdhManagedLspInstanceSnapshot | null;
|
|
763
800
|
readonly provenance: GdhManagedLspStatusProvenance;
|
|
801
|
+
/**
|
|
802
|
+
* Set when availability is "unavailable" AND reasons include
|
|
803
|
+
* "godot_editor_version_unsupported_for_lsp". CLI compact and MCP renderers
|
|
804
|
+
* surface this as the actionable advisory pointing agents at 4.5.2+ or 4.6.x
|
|
805
|
+
* (Phase 81 / LSP-08 / D-16).
|
|
806
|
+
*/
|
|
807
|
+
readonly versionFloorAdvisory?: GdhVersionFloorAdvisory | null;
|
|
764
808
|
}
|
|
765
809
|
export interface GdhAuthoringCheckLspSnapshot {
|
|
766
810
|
readonly status: GdhLspLifecycleStatus;
|
|
@@ -801,6 +845,33 @@ export interface GdhAuthoringCheckResult {
|
|
|
801
845
|
readonly reasons: readonly string[];
|
|
802
846
|
readonly provenance: GdhAuthoringCheckProvenance;
|
|
803
847
|
}
|
|
848
|
+
/**
|
|
849
|
+
* Result of a call to the managed LSP warmup verb.
|
|
850
|
+
*
|
|
851
|
+
* - `already_warm`: A cheap probe found the managed LSP healthy; no lock taken,
|
|
852
|
+
* no Godot launched.
|
|
853
|
+
* - `warming`: `lsp.lock` is currently held by another warmup; this caller
|
|
854
|
+
* returns without launching a second Godot editor.
|
|
855
|
+
* - `started`: This caller acquired `lsp.lock` and launched the managed Godot
|
|
856
|
+
* editor (or completed the launch if already in flight under our lock).
|
|
857
|
+
* - `blocked`: The configured Godot binary fails the version floor (see
|
|
858
|
+
* GdhVersionFloorAdvisory). The warmup did not launch Godot. Phase 81's
|
|
859
|
+
* refuse-to-launch contract is propagated here verbatim.
|
|
860
|
+
*/
|
|
861
|
+
export type GdhAuthoringLspWarmupResult = {
|
|
862
|
+
readonly status: "already_warm";
|
|
863
|
+
readonly targetPath: string;
|
|
864
|
+
} | {
|
|
865
|
+
readonly status: "warming";
|
|
866
|
+
readonly targetPath: string;
|
|
867
|
+
} | {
|
|
868
|
+
readonly status: "started";
|
|
869
|
+
readonly targetPath: string;
|
|
870
|
+
} | {
|
|
871
|
+
readonly status: "blocked";
|
|
872
|
+
readonly targetPath: string;
|
|
873
|
+
readonly versionFloorAdvisory: GdhVersionFloorAdvisory;
|
|
874
|
+
};
|
|
804
875
|
export type GdhAuthoringValidatorFamily = "gdscript_lsp" | "godot_scene_resource" | "unsupported";
|
|
805
876
|
export type GdhProjectPlacement = "root" | "nested" | "submodule" | "vendored";
|
|
806
877
|
export interface GdhScanProvenance {
|
|
@@ -2053,10 +2124,60 @@ export type GdhDiagnosticsSnapshotScope = "opened_files_only" | "refreshed_files
|
|
|
2053
2124
|
* - scope_limited: diagnostics exist but cover only a subset of requested files
|
|
2054
2125
|
*/
|
|
2055
2126
|
export type GdhDiagnosticsFreshnessState = "fresh" | "stale" | "missing" | "unavailable" | "scope_limited";
|
|
2127
|
+
/**
|
|
2128
|
+
* Status discriminant for compact authoring-check output and hook
|
|
2129
|
+
* `additionalContext` strings (Phase 81 / LSP-06 / D-02). This is the
|
|
2130
|
+
* user-visible token used by `formatCompactAuthoringCheckResult` and the
|
|
2131
|
+
* authoring-hook regex dispatch.
|
|
2132
|
+
*
|
|
2133
|
+
* Distinct from `GdhDiagnosticsFreshnessState` (which describes per-snapshot
|
|
2134
|
+
* file freshness). Result-status merges per-file freshness AND LSP lifecycle
|
|
2135
|
+
* into one user-visible vocabulary; do not conflate the two.
|
|
2136
|
+
*
|
|
2137
|
+
* - "fresh" — all requested files checked, no blocking errors
|
|
2138
|
+
* - "partial" — some files checked, some still pending
|
|
2139
|
+
* - "pending" — no files captured because warmup is in flight
|
|
2140
|
+
* - "timeout" — hook bound exceeded before drain completed
|
|
2141
|
+
* - "stale" — LSP up but snapshot's lspInstanceId no longer matches current LSP
|
|
2142
|
+
* - "failed" — LSP unavailable, connection error, or refusal
|
|
2143
|
+
*/
|
|
2144
|
+
export type GdhDiagnosticsResultStatus = "fresh" | "partial" | "pending" | "timeout" | "stale" | "failed";
|
|
2145
|
+
/**
|
|
2146
|
+
* Value-level array form of `GdhDiagnosticsResultStatus` for runtime iteration
|
|
2147
|
+
* and exhaustiveness assertions (Phase 81 / D-02). Element type IS
|
|
2148
|
+
* `GdhDiagnosticsResultStatus`; consumers can `forEach` to render help text or
|
|
2149
|
+
* `includes(value)` to runtime-validate untrusted JSON inputs.
|
|
2150
|
+
*/
|
|
2151
|
+
export declare const GDH_DIAGNOSTICS_RESULT_STATUSES: readonly GdhDiagnosticsResultStatus[];
|
|
2152
|
+
/**
|
|
2153
|
+
* Token surfaced as `additionalContext` (Codex) or context body (Claude) by
|
|
2154
|
+
* the post-edit authoring hook when the managed LSP is cold-starting and a
|
|
2155
|
+
* detached warmup has been kicked off. Phase 82 / LSP-02.
|
|
2156
|
+
*/
|
|
2157
|
+
export declare const GDH_AUTHORING_WARMING_UP_TOKEN: "warming_up";
|
|
2056
2158
|
/**
|
|
2057
2159
|
* Reasons reported in broker health and diagnostics freshness results.
|
|
2160
|
+
*
|
|
2161
|
+
* Phase 81 additions (D-08, D-15):
|
|
2162
|
+
* - "broker_not_yet_primed" — broker has never been refreshed; .primed marker absent.
|
|
2163
|
+
* Distinct from "broker_metadata_missing" (which now means snapshot was pruned).
|
|
2164
|
+
* - "godot_editor_version_unsupported_for_lsp" — configured Godot binary is below
|
|
2165
|
+
* GDH_MANAGED_LSP_MIN_GODOT_VERSION (= "4.5.2"); managed LSP refuses-to-launch.
|
|
2058
2166
|
*/
|
|
2059
|
-
export type GdhDiagnosticsBrokerReason = "broker_metadata_missing" | "broker_protocol_mismatch" | "broker_gdh_version_mismatch" | "broker_target_mismatch" | "broker_godot_project_mismatch" | "broker_state_root_mismatch" | "broker_token_missing" | "broker_heartbeat_stale" | "broker_process_not_alive" | "broker_lsp_unavailable" | "broker_ready" | "diagnostics_stale" | "diagnostics_missing" | "diagnostics_scope_limited" | "lsp_instance_identity_mismatch";
|
|
2167
|
+
export type GdhDiagnosticsBrokerReason = "broker_metadata_missing" | "broker_protocol_mismatch" | "broker_gdh_version_mismatch" | "broker_target_mismatch" | "broker_godot_project_mismatch" | "broker_state_root_mismatch" | "broker_token_missing" | "broker_heartbeat_stale" | "broker_process_not_alive" | "broker_lsp_unavailable" | "broker_ready" | "diagnostics_stale" | "diagnostics_missing" | "diagnostics_scope_limited" | "lsp_instance_identity_mismatch" | "broker_not_yet_primed" | "godot_editor_version_unsupported_for_lsp";
|
|
2168
|
+
/**
|
|
2169
|
+
* Structured actionable suggestion attached to broker-absence reasons,
|
|
2170
|
+
* version-floor advisories, and any future surface that wants to point
|
|
2171
|
+
* agents at a concrete next-step command (Phase 81 / LSP-05, LSP-08 / D-07).
|
|
2172
|
+
*
|
|
2173
|
+
* CLI renderers compose `command + " " + args.join(" ")` for prose;
|
|
2174
|
+
* MCP renderers can surface as a structured suggestion field. Keep the verb
|
|
2175
|
+
* minimal; downstream renderers append target context as needed.
|
|
2176
|
+
*/
|
|
2177
|
+
export interface GdhRecommendedCommand {
|
|
2178
|
+
readonly command: string;
|
|
2179
|
+
readonly args?: readonly string[];
|
|
2180
|
+
}
|
|
2060
2181
|
/**
|
|
2061
2182
|
* Target/worktree identity for the diagnostics broker, normalized for
|
|
2062
2183
|
* cross-platform and symlink-safe comparison. Mirrors the runtime bridge
|
|
@@ -2118,6 +2239,13 @@ export interface GdhDiagnosticsBrokerHealth {
|
|
|
2118
2239
|
readonly lifecycle: GdhDiagnosticsBrokerLifecycleState;
|
|
2119
2240
|
readonly reasons: readonly GdhDiagnosticsBrokerReason[];
|
|
2120
2241
|
readonly metadata: GdhDiagnosticsBrokerMetadata | null;
|
|
2242
|
+
/**
|
|
2243
|
+
* Optional actionable next-step suggestion. Set when the reason set carries
|
|
2244
|
+
* an absent-broker reason (broker_not_yet_primed, broker_metadata_missing)
|
|
2245
|
+
* or any other reason where a single command would help (Phase 81 / LSP-05 / D-07).
|
|
2246
|
+
* Renderers compose `command + args.join(" ")` for prose.
|
|
2247
|
+
*/
|
|
2248
|
+
readonly recommendedCommand?: GdhRecommendedCommand;
|
|
2121
2249
|
}
|
|
2122
2250
|
/**
|
|
2123
2251
|
* Full diagnostics snapshot returned by broker operations.
|
|
@@ -2134,4 +2262,48 @@ export interface GdhDiagnosticsSnapshot {
|
|
|
2134
2262
|
readonly warningCount: number;
|
|
2135
2263
|
readonly infoCount: number;
|
|
2136
2264
|
}
|
|
2265
|
+
/**
|
|
2266
|
+
* Top-level diagnostics result envelope with a discriminated `status` field
|
|
2267
|
+
* (Phase 81 / LSP-06 / D-05). The two branches make `status: fresh` with
|
|
2268
|
+
* `files: []` (legitimately empty — D-13 project-empty / scope-empty) STRUCTURALLY
|
|
2269
|
+
* DISTINCT from `status: pending` (warmup in flight, no files captured yet).
|
|
2270
|
+
*
|
|
2271
|
+
* Branches:
|
|
2272
|
+
* - `"fresh" | "partial"` carry `readonly files`. The array MAY be empty (D-13
|
|
2273
|
+
* legitimate empty-set case); the array's emptiness is a domain truth, not a
|
|
2274
|
+
* wire-format ambiguity. Renderers SHOULD branch on `status` first, then on
|
|
2275
|
+
* `files.length` only after narrowing into this branch.
|
|
2276
|
+
* - `"pending" | "timeout" | "stale" | "failed"` OMIT `files` entirely.
|
|
2277
|
+
* TypeScript exhaustiveness blocks `result.files` access in this branch at
|
|
2278
|
+
* compile time, eliminating the "is `[]` clean or not-yet-resolved?" class
|
|
2279
|
+
* of bugs called out by ROADMAP success criterion #4.
|
|
2280
|
+
*
|
|
2281
|
+
* Phase 81 introduces this type for use by:
|
|
2282
|
+
* - Plan 05 hook-render dispatch (consumes the `status` token via wire format)
|
|
2283
|
+
* - Plan 05 CLI compact formatter (TypeScript-narrows on `status` to decide
|
|
2284
|
+
* whether to emit a "files" line)
|
|
2285
|
+
* - Phase 82 warmup machinery (will produce `pending` envelopes during cold-start)
|
|
2286
|
+
*
|
|
2287
|
+
* The envelope is additive — `GdhDiagnosticsSnapshot` (which keeps its `files`
|
|
2288
|
+
* field on every shape via its independent `freshness` discriminant) continues
|
|
2289
|
+
* to exist for consumers that prefer the snapshot view.
|
|
2290
|
+
*/
|
|
2291
|
+
export type GdhAuthoringDiagnosticsResultEnvelope = {
|
|
2292
|
+
readonly status: "fresh" | "partial";
|
|
2293
|
+
readonly health: GdhDiagnosticsBrokerHealth;
|
|
2294
|
+
readonly files: readonly GdhDiagnosticsFileSnapshot[];
|
|
2295
|
+
readonly observedAt: string;
|
|
2296
|
+
readonly errorCount: number;
|
|
2297
|
+
readonly warningCount: number;
|
|
2298
|
+
readonly infoCount: number;
|
|
2299
|
+
readonly summary: string;
|
|
2300
|
+
} | {
|
|
2301
|
+
readonly status: "pending" | "timeout" | "stale" | "failed";
|
|
2302
|
+
readonly health: GdhDiagnosticsBrokerHealth;
|
|
2303
|
+
readonly observedAt: string;
|
|
2304
|
+
readonly errorCount: number;
|
|
2305
|
+
readonly warningCount: number;
|
|
2306
|
+
readonly infoCount: number;
|
|
2307
|
+
readonly summary: string;
|
|
2308
|
+
};
|
|
2137
2309
|
//# sourceMappingURL=index.d.ts.map
|