@neurcode-ai/contracts 0.1.3 → 0.2.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.
@@ -1,125 +0,0 @@
1
- export const STATUS_VOCABULARY_VERSION = 'neurcode.status.v1';
2
-
3
- export const STATUS_TERMS = {
4
- verificationComplete: 'Verification Complete',
5
- safePatchApplied: 'Safe Patch Applied',
6
- patchRejected: 'Patch Rejected',
7
- rollbackAvailable: 'Rollback Available',
8
- rollbackApplied: 'Rollback Applied',
9
- replayAvailable: 'Replay Available',
10
- evidenceGenerated: 'Evidence Generated',
11
- manualReviewRecommended: 'Manual Review Recommended',
12
- filesystemChangedSincePreview: 'Filesystem Changed Since Preview',
13
- transactionVerified: 'Transaction Verified',
14
- retrySafe: 'Retry Safe',
15
- } as const;
16
-
17
- export type StatusTermKey = keyof typeof STATUS_TERMS;
18
- export type SeverityLabel =
19
- | 'critical'
20
- | 'blocking'
21
- | 'high'
22
- | 'advisory'
23
- | 'medium'
24
- | 'warning'
25
- | 'low'
26
- | 'info';
27
-
28
- export const SEVERITY_LABELS: Record<SeverityLabel, string> = {
29
- critical: 'Critical',
30
- blocking: 'Blocking',
31
- high: 'High',
32
- advisory: 'Advisory',
33
- medium: 'Medium',
34
- warning: 'Warning',
35
- low: 'Low',
36
- info: 'Info',
37
- };
38
-
39
- export type VerificationSummaryState = 'clean' | 'issues' | 'partial' | 'failed';
40
-
41
- export const VERIFICATION_SUMMARY_LABELS: Record<VerificationSummaryState, string> = {
42
- clean: STATUS_TERMS.verificationComplete,
43
- issues: 'Verification Findings Detected',
44
- partial: 'Verification Partially Complete',
45
- failed: 'Verification Failed',
46
- };
47
-
48
- export type PatchState =
49
- | 'applied'
50
- | 'partial'
51
- | 'rejected'
52
- | 'stale_preview'
53
- | 'filesystem_changed_since_preview'
54
- | 'rollback_applied'
55
- | 'rollback_stale'
56
- | 'rollback_rejected';
57
-
58
- export type ConfidenceLabel = 'HIGH' | 'MEDIUM' | 'LOW';
59
-
60
- export const CONFIDENCE_LABELS: Record<ConfidenceLabel, string> = {
61
- HIGH: 'HIGH confidence',
62
- MEDIUM: 'MEDIUM confidence',
63
- LOW: 'LOW confidence',
64
- };
65
-
66
- export function statusTerm(key: StatusTermKey): string {
67
- return STATUS_TERMS[key];
68
- }
69
-
70
- export function severityLabel(severity: SeverityLabel): string {
71
- return SEVERITY_LABELS[severity];
72
- }
73
-
74
- export function toPatchStateLabel(state: PatchState): string {
75
- if (state === 'applied') return STATUS_TERMS.safePatchApplied;
76
- if (state === 'partial') return `${STATUS_TERMS.safePatchApplied} · ${STATUS_TERMS.manualReviewRecommended}`;
77
- if (state === 'stale_preview' || state === 'filesystem_changed_since_preview') {
78
- return STATUS_TERMS.filesystemChangedSincePreview;
79
- }
80
- if (state === 'rollback_applied') return STATUS_TERMS.rollbackApplied;
81
- if (state === 'rollback_stale') return `${STATUS_TERMS.patchRejected} · ${STATUS_TERMS.filesystemChangedSincePreview}`;
82
- if (state === 'rollback_rejected') return STATUS_TERMS.patchRejected;
83
- return STATUS_TERMS.patchRejected;
84
- }
85
-
86
- export function toRetrySafeMessage(context: string): string {
87
- return `${context}. ${STATUS_TERMS.retrySafe}.`;
88
- }
89
-
90
- export function toManualReviewMessage(context: string): string {
91
- return `${STATUS_TERMS.manualReviewRecommended}: ${context}`;
92
- }
93
-
94
- export function toVerificationCompleteTitle(confidenceSuffix = ''): string {
95
- return `${STATUS_TERMS.verificationComplete}${confidenceSuffix}`;
96
- }
97
-
98
- export function toVerificationSummaryLabel(state: VerificationSummaryState): string {
99
- return VERIFICATION_SUMMARY_LABELS[state];
100
- }
101
-
102
- export const DAEMON_ERROR_CODES = {
103
- badRequest: 'daemon.bad_request',
104
- unauthorized: 'daemon.unauthorized',
105
- forbidden: 'daemon.forbidden',
106
- notFound: 'daemon.not_found',
107
- routeNotFound: 'daemon.route_not_found',
108
- timeout: 'daemon.timeout',
109
- conflict: 'daemon.conflict',
110
- validationFailed: 'daemon.validation_failed',
111
- rateLimited: 'daemon.rate_limited',
112
- internalError: 'daemon.internal_error',
113
- unknown: 'daemon.error',
114
- } as const;
115
-
116
- export type DaemonErrorCode = typeof DAEMON_ERROR_CODES[keyof typeof DAEMON_ERROR_CODES];
117
-
118
- export const ONBOARDING_HINTS = [
119
- 'Run your first verification',
120
- 'Review findings',
121
- 'Preview deterministic patch',
122
- 'Apply safe patch',
123
- 'View evidence',
124
- 'Replay execution history',
125
- ] as const;
@@ -1,196 +0,0 @@
1
- import type {
2
- DeterminismClassification,
3
- GovernanceFindingCategory,
4
- GovernanceSourceSystem,
5
- } from './taxonomy';
6
- import { GOVERNANCE_FINDINGS_SCHEMA_VERSION } from './taxonomy';
7
- import type { GovernancePipelineSummary } from './pipeline';
8
-
9
- export type GovernanceSeverity = 'BLOCKING' | 'ADVISORY' | 'INFO';
10
-
11
- export interface GovernanceEvidence {
12
- /** Human-readable excerpt (code, diff line, policy excerpt). */
13
- excerpt: string;
14
- /** Stable machine hint: AST path, regex id, policy rule type, etc. */
15
- structuralHint?: string;
16
- line?: number;
17
- column?: number;
18
- filePath?: string;
19
- }
20
-
21
- export interface GovernanceReplayMetadata {
22
- evidenceArtifactRef?: string;
23
- executionRecordRef?: string;
24
- snapshotIds?: string[];
25
- /** True when replay used only immutable artifacts with matching digests. */
26
- reconstructedExactly?: boolean;
27
- /** Present when bounded degradation occurred (truncation, missing artifact, etc.). */
28
- boundedDegradation?: string[];
29
- }
30
-
31
- export interface GovernanceProvenanceMetadata {
32
- runId?: string;
33
- planId?: string | null;
34
- verificationSource?: string;
35
- policyLockFingerprint?: string | null;
36
- compiledPolicyFingerprint?: string | null;
37
- generatedAt?: string;
38
- /**
39
- * Canonical pipeline stage that emitted this finding. Additive lineage —
40
- * never participates in the finding identity or the replay checksum, but
41
- * threads governance computation provenance through to dashboards and audit.
42
- */
43
- producedByStage?: string;
44
- }
45
-
46
- export interface GovernanceSuppressionMetadata {
47
- suppressed: boolean;
48
- directive?: string;
49
- exceptionId?: string;
50
- reason?: string;
51
- }
52
-
53
- export interface GovernanceGraphMetadata {
54
- edgeVia?: string;
55
- fromRepo?: string;
56
- toRepo?: string;
57
- confidence?: 'high' | 'medium' | 'low';
58
- traversalDepth?: number;
59
- /** Explicit incompleteness — never omit when graph was capped. */
60
- truncated?: boolean;
61
- truncationReason?: string;
62
- }
63
-
64
- export interface GovernanceSemanticMetadata {
65
- retrievalMethod?: 'deterministic-graph' | 'deterministic-tfidf' | 'heuristic-expansion';
66
- matchedTerms?: string[];
67
- tfidfScore?: number;
68
- corpusCoverageRatio?: number;
69
- indexTruncated?: boolean;
70
- documentsIndexed?: number;
71
- documentsCap?: number;
72
- }
73
-
74
- export interface GovernanceStructuralMetadata {
75
- ruleId: string;
76
- ruleName?: string;
77
- policyRef?: string;
78
- language?: string;
79
- astNodeType?: string;
80
- }
81
-
82
- /**
83
- * Canonical normalized finding — single source of truth across CLI, CI, replay, dashboards.
84
- */
85
- export interface GovernanceFinding {
86
- /** Deterministic id: sha256-128 of stable fields, or caller-supplied stable id. */
87
- id: string;
88
- category: GovernanceFindingCategory;
89
- sourceSystem: GovernanceSourceSystem;
90
- determinismClassification: DeterminismClassification;
91
- severity: GovernanceSeverity;
92
- /** 0–1; structural deterministic often 0.85–1.0; heuristics lower. */
93
- confidence: number;
94
- title: string;
95
- evidence: GovernanceEvidence;
96
- operationalImplication: string;
97
- remediation: string;
98
- replayMetadata?: GovernanceReplayMetadata;
99
- provenanceMetadata?: GovernanceProvenanceMetadata;
100
- suppressionMetadata?: GovernanceSuppressionMetadata;
101
- graphMetadata?: GovernanceGraphMetadata;
102
- semanticMetadata?: GovernanceSemanticMetadata;
103
- structuralMetadata?: GovernanceStructuralMetadata;
104
- /**
105
- * When multiple raw signals were merged for reviewer compression.
106
- * Primary finding keeps merged* fields; sources list contributing ids.
107
- */
108
- mergedFrom?: string[];
109
- }
110
-
111
- /**
112
- * Replay reconstruction status.
113
- *
114
- * exact - checksums match, identical governance output
115
- * bounded-degradation - minor mismatch (e.g. missing artifact) but not a hard failure
116
- * drift-detected - HARD FAILURE: same commit + diff + rules produced different output.
117
- * Checksum mismatch. Must be investigated before any governance trust.
118
- */
119
- export type ReplayReconstructionStatus = 'exact' | 'bounded-degradation' | 'drift-detected';
120
-
121
- /**
122
- * Phase 2: Typed drift reason taxonomy for replay integrity analysis.
123
- *
124
- * Each reason maps to a specific class of replay failure:
125
- * finding-order-drift - findings appear in different canonical order
126
- * severity-drift - a finding changed severity between runs
127
- * determinism-drift - a finding changed determinismClassification
128
- * provenance-drift - provenance metadata differs between runs
129
- * suppression-drift - suppression state changed between runs
130
- * checksum-drift - top-level replayChecksum mismatch (composite signal)
131
- * missing-finding - finding present in baseline but absent in replay
132
- * extra-finding - finding present in replay but absent in baseline
133
- */
134
- export type ReplayIntegrityDriftReason =
135
- | 'finding-order-drift'
136
- | 'severity-drift'
137
- | 'determinism-drift'
138
- | 'provenance-drift'
139
- | 'suppression-drift'
140
- | 'checksum-drift'
141
- | 'missing-finding'
142
- | 'extra-finding';
143
-
144
- export interface GovernanceReplayIntegrity {
145
- status: ReplayReconstructionStatus;
146
- missingArtifacts: string[];
147
- provenanceMismatches: string[];
148
- graphMismatches: string[];
149
- semanticTruncationMismatches: string[];
150
- notes: string[];
151
- /** Phase 2: Typed drift reasons — empty if status === 'exact'. */
152
- driftReasons?: ReplayIntegrityDriftReason[];
153
- }
154
-
155
- export interface GovernanceVerificationEnvelope {
156
- schemaVersion: typeof GOVERNANCE_FINDINGS_SCHEMA_VERSION;
157
- generatedAt: string;
158
- findings: GovernanceFinding[];
159
- /** Count of raw findings folded into merged clusters. */
160
- compressedDuplicateCount: number;
161
- /**
162
- * Phase 6: Total count of cross-source-system duplicates absorbed into
163
- * canonical finding identities. Equals compressedDuplicateCount but named
164
- * explicitly for telemetry readability.
165
- */
166
- deduplicatedFindingCount?: number;
167
- /**
168
- * Phase 2: Count of findings demoted from BLOCKING to ADVISORY because they
169
- * exist on unmodified (historical) lines. Visible for CI reporting.
170
- */
171
- legacyDebtFindingCount?: number;
172
- /**
173
- * Phase 3: Deterministic replay checksum.
174
- * SHA-256 over the canonically sorted finding set (id + severity + determinism + file + line).
175
- * Same commit + same diff + same rules MUST produce the same checksum.
176
- * A mismatch between two runs with identical inputs indicates replay drift (trust failure).
177
- */
178
- replayChecksum?: string;
179
- replayIntegrity?: GovernanceReplayIntegrity;
180
- /** Pilot / operational summary lines (high-signal, not verbose). */
181
- reviewerSummary?: string[];
182
- /**
183
- * Canonical governance pipeline summary — stage execution ledger surface.
184
- *
185
- * Additive observability. Excluded by design from:
186
- * - `replayChecksum` (computed only from finding-set fields)
187
- * - finding identity (`GovernanceFinding.id`)
188
- * - canonical sort order
189
- *
190
- * Present when verify ran with the staged pipeline runtime. Consumers
191
- * (dashboards, audit replay, SLO gates) read this to explain HOW
192
- * governance computation occurred. Absent on legacy / older-CLI envelopes.
193
- */
194
- pipelineSummary?: GovernancePipelineSummary;
195
- }
196
-
@@ -1,41 +0,0 @@
1
- export type {
2
- DeterminismClassification,
3
- GovernanceFindingCategory,
4
- GovernanceSourceSystem,
5
- } from './taxonomy';
6
- export {
7
- GOVERNANCE_FINDINGS_SCHEMA_VERSION,
8
- isDeterminismClassification,
9
- } from './taxonomy';
10
- export type {
11
- GovernanceEvidence,
12
- GovernanceFinding,
13
- GovernanceGraphMetadata,
14
- GovernanceProvenanceMetadata,
15
- GovernanceReplayIntegrity,
16
- GovernanceReplayMetadata,
17
- GovernanceSemanticMetadata,
18
- GovernanceSeverity,
19
- GovernanceStructuralMetadata,
20
- GovernanceSuppressionMetadata,
21
- GovernanceVerificationEnvelope,
22
- ReplayIntegrityDriftReason,
23
- ReplayReconstructionStatus,
24
- } from './canonical-finding';
25
- export type {
26
- GovernancePipelineSummary,
27
- GovernanceStageBoundary,
28
- GovernanceStageFailure,
29
- GovernanceStageFailureCategory,
30
- GovernanceStageId,
31
- GovernanceStageMetrics,
32
- GovernanceStageReplayMetadata,
33
- GovernanceStageResult,
34
- GovernanceStageStatus,
35
- GovernanceStageSummary,
36
- } from './pipeline';
37
- export {
38
- GOVERNANCE_PIPELINE_SCHEMA_VERSION,
39
- GOVERNANCE_STAGE_ORDER,
40
- isGovernanceStageId,
41
- } from './pipeline';
@@ -1,199 +0,0 @@
1
- /**
2
- * Canonical Governance Pipeline Contracts
3
- * ----------------------------------------
4
- * Shared, immutable types describing the staged decomposition of the verify runtime.
5
- *
6
- * These contracts are ADDITIVE. They do not replace, mutate, or re-encode the canonical
7
- * governance envelope (`GovernanceVerificationEnvelope`), the finding identity scheme,
8
- * or the replay checksum. Stage metadata flows alongside the envelope as an
9
- * out-of-band observability + replay-reconstruction surface.
10
- *
11
- * Design invariants:
12
- * - Stage IDs are a closed set. Adding a new stage requires bumping the schema version.
13
- * - Stage metadata never carries excerpts, file content, or PII.
14
- * - Stage fingerprints are computed from stable identifiers — never wall-clock timestamps.
15
- * - A stage's `replay.outputFingerprint` is independent of `replayChecksum`; the two
16
- * are consistent but serve different audiences (stage lineage vs. envelope identity).
17
- */
18
-
19
- import type { DeterminismClassification } from './taxonomy';
20
-
21
- /**
22
- * Closed set of canonical governance pipeline stage identifiers.
23
- *
24
- * The order of declaration is the canonical execution order. Consumers MUST treat
25
- * this list as the authoritative pipeline definition for replay reconstruction
26
- * and explainability dashboards.
27
- */
28
- export type GovernanceStageId =
29
- | 'diff-normalization'
30
- | 'plan-sync'
31
- | 'policy-lock'
32
- | 'compiled-policy'
33
- | 'policy-exceptions'
34
- | 'structural-analysis'
35
- | 'runtime-guard'
36
- | 'intent-evaluation'
37
- | 'semantic-analysis'
38
- | 'policy-evaluation'
39
- | 'suppression-evaluation'
40
- | 'advisory-signals'
41
- | 'change-contract'
42
- | 'ai-debt-budget'
43
- | 'governance-synthesis'
44
- | 'provenance-generation'
45
- | 'replay-integrity'
46
- | 'remediation-export-preparation'
47
- | 'evidence-generation'
48
- | 'telemetry-harvest'
49
- | 'ci-shaping'
50
- | 'output-rendering';
51
-
52
- /**
53
- * Terminal state for a stage execution. `degraded` means the stage produced output
54
- * but a non-fatal anomaly was observed (e.g. truncation, partial dependency).
55
- */
56
- export type GovernanceStageStatus = 'succeeded' | 'skipped' | 'degraded' | 'failed';
57
-
58
- /**
59
- * Stage failure category. Maps to operator-visible runbooks and replay annotations.
60
- */
61
- export type GovernanceStageFailureCategory =
62
- | 'timeout'
63
- | 'exception'
64
- | 'invariant-violation'
65
- | 'degraded-dependency'
66
- | 'aborted-precondition';
67
-
68
- export interface GovernanceStageMetrics {
69
- /** Stage wall-clock duration in milliseconds. */
70
- durationMs: number;
71
- /** Size of the stage input as a stable item count (e.g. diff files, rules). Optional. */
72
- inputItemCount?: number;
73
- /** Size of the stage output as a stable item count (e.g. findings produced). Optional. */
74
- outputItemCount?: number;
75
- /** Delta of `process.memoryUsage().heapUsed` across the stage. Optional. */
76
- memoryDeltaBytes?: number;
77
- }
78
-
79
- export interface GovernanceStageReplayMetadata {
80
- stageId: GovernanceStageId;
81
- /** Determinism classification of the stage itself (matches the most-deterministic finding it can emit). */
82
- determinism: DeterminismClassification;
83
- /** SHA-256 fingerprint of stage input, computed from stable identifiers only. */
84
- inputFingerprint?: string;
85
- /** SHA-256 fingerprint of stage output, computed from stable identifiers only. */
86
- outputFingerprint?: string;
87
- /** Stage IDs whose successful completion was a precondition for this stage. */
88
- dependsOn: GovernanceStageId[];
89
- /** Stage start time as an ISO-8601 timestamp. NOT included in fingerprints. */
90
- startedAt: string;
91
- /** Stage finish time as an ISO-8601 timestamp. NOT included in fingerprints. */
92
- finishedAt: string;
93
- }
94
-
95
- export interface GovernanceStageFailure {
96
- category: GovernanceStageFailureCategory;
97
- /** Stable, PII-free message. Never includes source excerpts. */
98
- message: string;
99
- /** True when the rest of the pipeline can proceed in a degraded mode. */
100
- recoverable: boolean;
101
- }
102
-
103
- /**
104
- * Boundary policy declared by a stage. The pipeline runtime uses this to decide
105
- * how to respond to failure (abort vs. degrade) and which stages must run first.
106
- */
107
- export interface GovernanceStageBoundary {
108
- /** When true, the stage failing is reported but does NOT abort downstream stages. */
109
- isolateFailure: boolean;
110
- /** When true, the stage is required for governance correctness. */
111
- required: boolean;
112
- /** Stage IDs whose successful completion is required before this stage may execute. */
113
- dependencies: GovernanceStageId[];
114
- }
115
-
116
- /**
117
- * Single-stage execution receipt. Persisted alongside the canonical envelope and
118
- * consumed by replay reconstruction, observability dashboards, and SLO gates.
119
- *
120
- * `output` is the typed stage payload; consumers MUST treat it as immutable.
121
- */
122
- export interface GovernanceStageResult<T = unknown> {
123
- stageId: GovernanceStageId;
124
- status: GovernanceStageStatus;
125
- /** Stage output. `null` when status is 'failed' or 'skipped'. */
126
- output: T | null;
127
- metrics: GovernanceStageMetrics;
128
- replay: GovernanceStageReplayMetadata;
129
- failure?: GovernanceStageFailure;
130
- /** Stage-emitted observability notes (PII-free, bounded). */
131
- notes?: string[];
132
- }
133
-
134
- /**
135
- * Compact, replay-friendly summary of a stage. Embedded into telemetry and the
136
- * pipeline-level summary surface.
137
- */
138
- export interface GovernanceStageSummary {
139
- stageId: GovernanceStageId;
140
- status: GovernanceStageStatus;
141
- determinism: DeterminismClassification;
142
- durationMs: number;
143
- inputFingerprint?: string;
144
- outputFingerprint?: string;
145
- dependsOn: GovernanceStageId[];
146
- failureCategory?: GovernanceStageFailureCategory;
147
- }
148
-
149
- /**
150
- * Pipeline-level summary. Pinned across replays. The `pipelineFingerprint` is
151
- * a stable SHA-256 over the ordered (stageId, outputFingerprint, status) tuple
152
- * and is independent of `GovernanceVerificationEnvelope.replayChecksum`.
153
- */
154
- export interface GovernancePipelineSummary {
155
- schemaVersion: typeof GOVERNANCE_PIPELINE_SCHEMA_VERSION;
156
- pipelineFingerprint: string;
157
- stages: GovernanceStageSummary[];
158
- totalDurationMs: number;
159
- degradedStages: GovernanceStageId[];
160
- failedStages: GovernanceStageId[];
161
- }
162
-
163
- export const GOVERNANCE_PIPELINE_SCHEMA_VERSION = '2026-05-14.1' as const;
164
-
165
- /**
166
- * Type guard: is the given string a known stage identifier?
167
- */
168
- export function isGovernanceStageId(value: string): value is GovernanceStageId {
169
- return GOVERNANCE_STAGE_ORDER.includes(value as GovernanceStageId);
170
- }
171
-
172
- /**
173
- * Canonical execution order. Mirror of the union above — exported as a runtime
174
- * value for iteration, indexing, and stage-ordering invariants.
175
- */
176
- export const GOVERNANCE_STAGE_ORDER: readonly GovernanceStageId[] = [
177
- 'diff-normalization',
178
- 'plan-sync',
179
- 'policy-lock',
180
- 'compiled-policy',
181
- 'policy-exceptions',
182
- 'structural-analysis',
183
- 'runtime-guard',
184
- 'intent-evaluation',
185
- 'semantic-analysis',
186
- 'policy-evaluation',
187
- 'suppression-evaluation',
188
- 'advisory-signals',
189
- 'change-contract',
190
- 'ai-debt-budget',
191
- 'governance-synthesis',
192
- 'provenance-generation',
193
- 'replay-integrity',
194
- 'remediation-export-preparation',
195
- 'evidence-generation',
196
- 'telemetry-harvest',
197
- 'ci-shaping',
198
- 'output-rendering',
199
- ] as const;
@@ -1,46 +0,0 @@
1
- /**
2
- * Canonical determinism taxonomy — every governance finding MUST map to exactly one.
3
- * Do not blur or infer across these buckets in consumer UIs.
4
- */
5
-
6
- export type DeterminismClassification =
7
- | 'deterministic-structural'
8
- | 'deterministic-semantic'
9
- | 'heuristic-advisory'
10
- | 'llm-assisted-planning';
11
-
12
- export type GovernanceFindingCategory =
13
- | 'structural'
14
- | 'semantic-advisory'
15
- | 'policy-engine'
16
- | 'governance-constraint'
17
- | 'intent-conditioned'
18
- | 'flow-connectivity'
19
- | 'regression'
20
- | 'scope'
21
- | 'replay'
22
- | 'ci'
23
- | 'pilot-metric'
24
- | 'workspace-federation';
25
-
26
- export type GovernanceSourceSystem =
27
- | 'structural-rules'
28
- | 'policy-engine'
29
- | 'governance-runtime'
30
- | 'intent-engine'
31
- | 'semantic-index'
32
- | 'workspace-federation'
33
- | 'replay-runtime'
34
- | 'ci-adapter'
35
- | 'pilot-metrics';
36
-
37
- export const GOVERNANCE_FINDINGS_SCHEMA_VERSION = '2026-05-11.1' as const;
38
-
39
- export function isDeterminismClassification(value: string): value is DeterminismClassification {
40
- return (
41
- value === 'deterministic-structural'
42
- || value === 'deterministic-semantic'
43
- || value === 'heuristic-advisory'
44
- || value === 'llm-assisted-planning'
45
- );
46
- }
package/tsconfig.json DELETED
@@ -1,19 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "commonjs",
5
- "lib": ["ES2022"],
6
- "outDir": "./dist",
7
- "rootDir": "./src",
8
- "strict": true,
9
- "esModuleInterop": true,
10
- "skipLibCheck": true,
11
- "forceConsistentCasingInFileNames": true,
12
- "declaration": true,
13
- "declarationMap": true,
14
- "sourceMap": true,
15
- "resolveJsonModule": true
16
- },
17
- "include": ["src/**/*"],
18
- "exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.spec.ts"]
19
- }