@oscharko-dev/keiko-contracts 0.2.0
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/dist/.tsbuildinfo +1 -0
- package/dist/bff-wire.d.ts +661 -0
- package/dist/bff-wire.d.ts.map +1 -0
- package/dist/bff-wire.js +102 -0
- package/dist/bug-investigation-events.d.ts +92 -0
- package/dist/bug-investigation-events.d.ts.map +1 -0
- package/dist/bug-investigation-events.js +18 -0
- package/dist/coding-context.d.ts +76 -0
- package/dist/coding-context.d.ts.map +1 -0
- package/dist/coding-context.js +158 -0
- package/dist/connected-context.d.ts +174 -0
- package/dist/connected-context.d.ts.map +1 -0
- package/dist/connected-context.js +636 -0
- package/dist/conversation-budget.d.ts +37 -0
- package/dist/conversation-budget.d.ts.map +1 -0
- package/dist/conversation-budget.js +97 -0
- package/dist/editor-agent.d.ts +131 -0
- package/dist/editor-agent.d.ts.map +1 -0
- package/dist/editor-agent.js +197 -0
- package/dist/editor-completion.d.ts +62 -0
- package/dist/editor-completion.d.ts.map +1 -0
- package/dist/editor-completion.js +147 -0
- package/dist/editor-dirty-close.d.ts +17 -0
- package/dist/editor-dirty-close.d.ts.map +1 -0
- package/dist/editor-dirty-close.js +8 -0
- package/dist/editor-hot-exit.d.ts +18 -0
- package/dist/editor-hot-exit.d.ts.map +1 -0
- package/dist/editor-hot-exit.js +42 -0
- package/dist/editor-inline-completion.d.ts +70 -0
- package/dist/editor-inline-completion.d.ts.map +1 -0
- package/dist/editor-inline-completion.js +215 -0
- package/dist/editor-layout.d.ts +105 -0
- package/dist/editor-layout.d.ts.map +1 -0
- package/dist/editor-layout.js +479 -0
- package/dist/editor-patch-apply.d.ts +77 -0
- package/dist/editor-patch-apply.d.ts.map +1 -0
- package/dist/editor-patch-apply.js +122 -0
- package/dist/editor-session.d.ts +31 -0
- package/dist/editor-session.d.ts.map +1 -0
- package/dist/editor-session.js +75 -0
- package/dist/editor-test-generation.d.ts +104 -0
- package/dist/editor-test-generation.d.ts.map +1 -0
- package/dist/editor-test-generation.js +211 -0
- package/dist/evaluations.d.ts +75 -0
- package/dist/evaluations.d.ts.map +1 -0
- package/dist/evaluations.js +16 -0
- package/dist/evidence.d.ts +297 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +9 -0
- package/dist/gateway.d.ts +129 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/gateway.js +66 -0
- package/dist/harness.d.ts +274 -0
- package/dist/harness.d.ts.map +1 -0
- package/dist/harness.js +38 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +83 -0
- package/dist/language-service.d.ts +145 -0
- package/dist/language-service.d.ts.map +1 -0
- package/dist/language-service.js +161 -0
- package/dist/local-knowledge-large-document-validation.d.ts +7 -0
- package/dist/local-knowledge-large-document-validation.d.ts.map +1 -0
- package/dist/local-knowledge-large-document-validation.js +161 -0
- package/dist/local-knowledge-large-document.d.ts +113 -0
- package/dist/local-knowledge-large-document.d.ts.map +1 -0
- package/dist/local-knowledge-large-document.js +142 -0
- package/dist/local-knowledge-paths.d.ts +3 -0
- package/dist/local-knowledge-paths.d.ts.map +1 -0
- package/dist/local-knowledge-paths.js +65 -0
- package/dist/local-knowledge-records.d.ts +190 -0
- package/dist/local-knowledge-records.d.ts.map +1 -0
- package/dist/local-knowledge-records.js +36 -0
- package/dist/local-knowledge-schema-validation.d.ts +19 -0
- package/dist/local-knowledge-schema-validation.d.ts.map +1 -0
- package/dist/local-knowledge-schema-validation.js +115 -0
- package/dist/local-knowledge-schema.d.ts +14 -0
- package/dist/local-knowledge-schema.d.ts.map +1 -0
- package/dist/local-knowledge-schema.js +715 -0
- package/dist/local-knowledge-validation.d.ts +20 -0
- package/dist/local-knowledge-validation.d.ts.map +1 -0
- package/dist/local-knowledge-validation.js +487 -0
- package/dist/local-knowledge.d.ts +158 -0
- package/dist/local-knowledge.d.ts.map +1 -0
- package/dist/local-knowledge.js +63 -0
- package/dist/memory-audit-events.d.ts +73 -0
- package/dist/memory-audit-events.d.ts.map +1 -0
- package/dist/memory-audit-events.js +44 -0
- package/dist/memory-audit-validation.d.ts +4 -0
- package/dist/memory-audit-validation.d.ts.map +1 -0
- package/dist/memory-audit-validation.js +151 -0
- package/dist/memory-barrel.d.ts +15 -0
- package/dist/memory-barrel.d.ts.map +1 -0
- package/dist/memory-barrel.js +20 -0
- package/dist/memory-internal.d.ts +26 -0
- package/dist/memory-internal.d.ts.map +1 -0
- package/dist/memory-internal.js +104 -0
- package/dist/memory-operations-validation.d.ts +12 -0
- package/dist/memory-operations-validation.d.ts.map +1 -0
- package/dist/memory-operations-validation.js +267 -0
- package/dist/memory-operations.d.ts +156 -0
- package/dist/memory-operations.d.ts.map +1 -0
- package/dist/memory-operations.js +29 -0
- package/dist/memory-record-validation.d.ts +10 -0
- package/dist/memory-record-validation.d.ts.map +1 -0
- package/dist/memory-record-validation.js +101 -0
- package/dist/memory-records.d.ts +66 -0
- package/dist/memory-records.d.ts.map +1 -0
- package/dist/memory-records.js +22 -0
- package/dist/memory-retrieval-validation.d.ts +6 -0
- package/dist/memory-retrieval-validation.d.ts.map +1 -0
- package/dist/memory-retrieval-validation.js +108 -0
- package/dist/memory-validation.d.ts +31 -0
- package/dist/memory-validation.d.ts.map +1 -0
- package/dist/memory-validation.js +318 -0
- package/dist/memory-workflow-port.d.ts +26 -0
- package/dist/memory-workflow-port.d.ts.map +1 -0
- package/dist/memory-workflow-port.js +13 -0
- package/dist/memory.d.ts +81 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +104 -0
- package/dist/prompt-enhancer-analyzer.d.ts +7 -0
- package/dist/prompt-enhancer-analyzer.d.ts.map +1 -0
- package/dist/prompt-enhancer-analyzer.js +745 -0
- package/dist/prompt-enhancer-bff.d.ts +67 -0
- package/dist/prompt-enhancer-bff.d.ts.map +1 -0
- package/dist/prompt-enhancer-bff.js +156 -0
- package/dist/prompt-enhancer-critic.d.ts +46 -0
- package/dist/prompt-enhancer-critic.d.ts.map +1 -0
- package/dist/prompt-enhancer-critic.js +35 -0
- package/dist/prompt-enhancer-grounding.d.ts +19 -0
- package/dist/prompt-enhancer-grounding.d.ts.map +1 -0
- package/dist/prompt-enhancer-grounding.js +235 -0
- package/dist/prompt-enhancer-safety.d.ts +66 -0
- package/dist/prompt-enhancer-safety.d.ts.map +1 -0
- package/dist/prompt-enhancer-safety.js +446 -0
- package/dist/prompt-enhancer-validation.d.ts +28 -0
- package/dist/prompt-enhancer-validation.d.ts.map +1 -0
- package/dist/prompt-enhancer-validation.js +931 -0
- package/dist/prompt-enhancer.d.ts +184 -0
- package/dist/prompt-enhancer.d.ts.map +1 -0
- package/dist/prompt-enhancer.js +350 -0
- package/dist/qualityIntelligence/assertNever.d.ts +2 -0
- package/dist/qualityIntelligence/assertNever.d.ts.map +1 -0
- package/dist/qualityIntelligence/assertNever.js +7 -0
- package/dist/qualityIntelligence/auditSummary.d.ts +25 -0
- package/dist/qualityIntelligence/auditSummary.d.ts.map +1 -0
- package/dist/qualityIntelligence/auditSummary.js +7 -0
- package/dist/qualityIntelligence/bffWire.d.ts +356 -0
- package/dist/qualityIntelligence/bffWire.d.ts.map +1 -0
- package/dist/qualityIntelligence/bffWire.js +22 -0
- package/dist/qualityIntelligence/coverageMap.d.ts +21 -0
- package/dist/qualityIntelligence/coverageMap.d.ts.map +1 -0
- package/dist/qualityIntelligence/coverageMap.js +29 -0
- package/dist/qualityIntelligence/editableRevision.d.ts +21 -0
- package/dist/qualityIntelligence/editableRevision.d.ts.map +1 -0
- package/dist/qualityIntelligence/editableRevision.js +8 -0
- package/dist/qualityIntelligence/evidenceAtom.d.ts +35 -0
- package/dist/qualityIntelligence/evidenceAtom.d.ts.map +1 -0
- package/dist/qualityIntelligence/evidenceAtom.js +29 -0
- package/dist/qualityIntelligence/exportBundle.d.ts +28 -0
- package/dist/qualityIntelligence/exportBundle.d.ts.map +1 -0
- package/dist/qualityIntelligence/exportBundle.js +46 -0
- package/dist/qualityIntelligence/handoffEnvelope.d.ts +23 -0
- package/dist/qualityIntelligence/handoffEnvelope.d.ts.map +1 -0
- package/dist/qualityIntelligence/handoffEnvelope.js +8 -0
- package/dist/qualityIntelligence/ids.d.ts +58 -0
- package/dist/qualityIntelligence/ids.d.ts.map +1 -0
- package/dist/qualityIntelligence/ids.js +93 -0
- package/dist/qualityIntelligence/index.d.ts +29 -0
- package/dist/qualityIntelligence/index.d.ts.map +1 -0
- package/dist/qualityIntelligence/index.js +20 -0
- package/dist/qualityIntelligence/reviewRecord.d.ts +19 -0
- package/dist/qualityIntelligence/reviewRecord.d.ts.map +1 -0
- package/dist/qualityIntelligence/reviewRecord.js +20 -0
- package/dist/qualityIntelligence/runPlanAndEvents.d.ts +84 -0
- package/dist/qualityIntelligence/runPlanAndEvents.d.ts.map +1 -0
- package/dist/qualityIntelligence/runPlanAndEvents.js +51 -0
- package/dist/qualityIntelligence/sourceEnvelope.d.ts +77 -0
- package/dist/qualityIntelligence/sourceEnvelope.d.ts.map +1 -0
- package/dist/qualityIntelligence/sourceEnvelope.js +118 -0
- package/dist/qualityIntelligence/testCaseCandidate.d.ts +21 -0
- package/dist/qualityIntelligence/testCaseCandidate.d.ts.map +1 -0
- package/dist/qualityIntelligence/testCaseCandidate.js +21 -0
- package/dist/qualityIntelligence/testQualityRubric.d.ts +17 -0
- package/dist/qualityIntelligence/testQualityRubric.d.ts.map +1 -0
- package/dist/qualityIntelligence/testQualityRubric.js +32 -0
- package/dist/qualityIntelligence/validationFinding.d.ts +48 -0
- package/dist/qualityIntelligence/validationFinding.d.ts.map +1 -0
- package/dist/qualityIntelligence/validationFinding.js +36 -0
- package/dist/relationships-validation.d.ts +13 -0
- package/dist/relationships-validation.d.ts.map +1 -0
- package/dist/relationships-validation.js +422 -0
- package/dist/relationships.d.ts +79 -0
- package/dist/relationships.d.ts.map +1 -0
- package/dist/relationships.js +307 -0
- package/dist/text-safety.d.ts +7 -0
- package/dist/text-safety.d.ts.map +1 -0
- package/dist/text-safety.js +58 -0
- package/dist/tools.d.ts +153 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +118 -0
- package/dist/unit-test-events.d.ts +87 -0
- package/dist/unit-test-events.d.ts.map +1 -0
- package/dist/unit-test-events.js +14 -0
- package/dist/verification-summary.d.ts +38 -0
- package/dist/verification-summary.d.ts.map +1 -0
- package/dist/verification-summary.js +5 -0
- package/dist/verification.d.ts +64 -0
- package/dist/verification.d.ts.map +1 -0
- package/dist/verification.js +13 -0
- package/dist/workflow-descriptor.d.ts +21 -0
- package/dist/workflow-descriptor.d.ts.map +1 -0
- package/dist/workflow-descriptor.js +8 -0
- package/dist/workflow-handoff.d.ts +69 -0
- package/dist/workflow-handoff.d.ts.map +1 -0
- package/dist/workflow-handoff.js +381 -0
- package/dist/workspace-descriptors.d.ts +21 -0
- package/dist/workspace-descriptors.d.ts.map +1 -0
- package/dist/workspace-descriptors.js +180 -0
- package/dist/workspace-ui.d.ts +119 -0
- package/dist/workspace-ui.d.ts.map +1 -0
- package/dist/workspace-ui.js +105 -0
- package/dist/workspace.d.ts +104 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +27 -0
- package/package.json +71 -0
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import type { CostClass } from "./gateway.js";
|
|
2
|
+
import type { HarnessCode, HarnessStateName, RunManifest, RunOutcome, RunResult, TaskType } from "./harness.js";
|
|
3
|
+
import type { AuditSummary } from "./workspace.js";
|
|
4
|
+
import type { VerificationAuditSummary } from "./verification-summary.js";
|
|
5
|
+
export declare const EVIDENCE_SCHEMA_VERSION: "1";
|
|
6
|
+
export interface EvidenceRunIdentity {
|
|
7
|
+
readonly runId: string;
|
|
8
|
+
readonly fingerprint: string;
|
|
9
|
+
readonly harnessVersion: string;
|
|
10
|
+
readonly taskType: EvidenceTaskType;
|
|
11
|
+
readonly outcome: RunOutcome;
|
|
12
|
+
readonly startedAt: number;
|
|
13
|
+
readonly finishedAt: number;
|
|
14
|
+
readonly durationMs: number;
|
|
15
|
+
}
|
|
16
|
+
export interface EvidenceModel {
|
|
17
|
+
readonly modelId: string;
|
|
18
|
+
readonly costClass: CostClass | "unknown";
|
|
19
|
+
}
|
|
20
|
+
export interface EvidenceUsageTotals {
|
|
21
|
+
readonly promptTokens: number;
|
|
22
|
+
readonly completionTokens: number;
|
|
23
|
+
readonly requestCount: number;
|
|
24
|
+
readonly totalLatencyMs: number;
|
|
25
|
+
}
|
|
26
|
+
export interface EvidenceStateTransition {
|
|
27
|
+
readonly seq: number;
|
|
28
|
+
readonly ts: number;
|
|
29
|
+
readonly from: HarnessStateName;
|
|
30
|
+
readonly to: HarnessStateName;
|
|
31
|
+
readonly reason: string;
|
|
32
|
+
}
|
|
33
|
+
export interface EvidenceToolCall {
|
|
34
|
+
readonly seq: number;
|
|
35
|
+
readonly ts: number;
|
|
36
|
+
readonly toolName: string;
|
|
37
|
+
readonly toolCallId: string;
|
|
38
|
+
readonly outcome: "completed" | "failed";
|
|
39
|
+
readonly durationMs?: number | undefined;
|
|
40
|
+
readonly errorCode?: string | undefined;
|
|
41
|
+
}
|
|
42
|
+
export interface EvidenceCommandExecution {
|
|
43
|
+
readonly seq: number;
|
|
44
|
+
readonly ts: number;
|
|
45
|
+
readonly executable: string;
|
|
46
|
+
readonly argCount: number;
|
|
47
|
+
readonly exitCode: number | null;
|
|
48
|
+
readonly timedOut: boolean;
|
|
49
|
+
readonly durationMs: number;
|
|
50
|
+
}
|
|
51
|
+
export interface EvidenceSandboxConfiguration {
|
|
52
|
+
readonly seq: number;
|
|
53
|
+
readonly ts: number;
|
|
54
|
+
readonly envAllowlist: readonly string[];
|
|
55
|
+
readonly network: "inherit" | "none";
|
|
56
|
+
readonly maxOutputBytes: number;
|
|
57
|
+
readonly timeoutMs: number;
|
|
58
|
+
readonly terminationGraceMs: number;
|
|
59
|
+
readonly cwdRequested: boolean;
|
|
60
|
+
}
|
|
61
|
+
export interface EvidenceVerificationResult {
|
|
62
|
+
readonly seq: number;
|
|
63
|
+
readonly ts: number;
|
|
64
|
+
readonly passed: boolean;
|
|
65
|
+
readonly detail: string;
|
|
66
|
+
}
|
|
67
|
+
export interface EvidencePatch {
|
|
68
|
+
readonly proposed: boolean;
|
|
69
|
+
readonly applied: boolean;
|
|
70
|
+
readonly targetFileCount: number;
|
|
71
|
+
readonly patchBytes: number;
|
|
72
|
+
readonly changedFiles: number;
|
|
73
|
+
readonly created: number;
|
|
74
|
+
readonly deleted: number;
|
|
75
|
+
readonly redactedDiff?: string | undefined;
|
|
76
|
+
}
|
|
77
|
+
export interface EvidenceReasoningEntry {
|
|
78
|
+
readonly seq: number;
|
|
79
|
+
readonly ts: number;
|
|
80
|
+
readonly phase: HarnessStateName;
|
|
81
|
+
readonly rationale: string;
|
|
82
|
+
readonly modelResponse?: string | undefined;
|
|
83
|
+
}
|
|
84
|
+
export interface EvidenceFailure {
|
|
85
|
+
readonly category: HarnessCode;
|
|
86
|
+
readonly message: string;
|
|
87
|
+
}
|
|
88
|
+
export type EvidenceTaskType = TaskType | "browser-capture" | "terminal-execution" | "connected-context";
|
|
89
|
+
export interface EvidenceBrowserViewportPx {
|
|
90
|
+
readonly width: number;
|
|
91
|
+
readonly height: number;
|
|
92
|
+
}
|
|
93
|
+
export type EvidenceBrowserEventType = "browser:session-opened" | "browser:navigated" | "browser:screenshot-captured" | "browser:page-content-captured" | "browser:session-closed" | "browser:trust-warning" | "browser:error";
|
|
94
|
+
export interface EvidenceBrowserEvent {
|
|
95
|
+
readonly schemaVersion: "1";
|
|
96
|
+
readonly type: EvidenceBrowserEventType;
|
|
97
|
+
readonly sessionId: string;
|
|
98
|
+
readonly seq: number;
|
|
99
|
+
readonly ts: number;
|
|
100
|
+
readonly originOnly?: string | undefined;
|
|
101
|
+
readonly httpStatus?: number | null | undefined;
|
|
102
|
+
readonly captureSeq?: number | undefined;
|
|
103
|
+
readonly persisted?: boolean | undefined;
|
|
104
|
+
readonly viewportPx?: EvidenceBrowserViewportPx | undefined;
|
|
105
|
+
readonly path?: string | undefined;
|
|
106
|
+
readonly sha256?: string | undefined;
|
|
107
|
+
readonly bytes?: number | undefined;
|
|
108
|
+
readonly byteLength?: number | undefined;
|
|
109
|
+
readonly reason?: string | undefined;
|
|
110
|
+
readonly warning?: string | undefined;
|
|
111
|
+
readonly code?: string | undefined;
|
|
112
|
+
readonly message?: string | undefined;
|
|
113
|
+
}
|
|
114
|
+
export interface EvidenceBrowserScreenshot {
|
|
115
|
+
readonly seq: number;
|
|
116
|
+
readonly path: string;
|
|
117
|
+
readonly sha256: string;
|
|
118
|
+
readonly bytes: number;
|
|
119
|
+
readonly capturedAt: number;
|
|
120
|
+
readonly viewportPx: EvidenceBrowserViewportPx;
|
|
121
|
+
}
|
|
122
|
+
export interface EvidenceBrowserContentCapture {
|
|
123
|
+
readonly seq: number;
|
|
124
|
+
readonly byteLength: number;
|
|
125
|
+
readonly capturedAt: number;
|
|
126
|
+
readonly redactedHtml: string;
|
|
127
|
+
}
|
|
128
|
+
export interface EvidenceBrowserCapture {
|
|
129
|
+
readonly sessionId: string;
|
|
130
|
+
readonly cdpPort: number;
|
|
131
|
+
readonly targetId: string;
|
|
132
|
+
readonly status: "open" | "closed";
|
|
133
|
+
readonly startedAt: number;
|
|
134
|
+
readonly closedAt?: number | undefined;
|
|
135
|
+
readonly closeReason?: string | undefined;
|
|
136
|
+
readonly lastOriginOnly?: string | undefined;
|
|
137
|
+
readonly events: readonly EvidenceBrowserEvent[];
|
|
138
|
+
readonly screenshots?: readonly EvidenceBrowserScreenshot[] | undefined;
|
|
139
|
+
readonly contentCaptures?: readonly EvidenceBrowserContentCapture[] | undefined;
|
|
140
|
+
}
|
|
141
|
+
export interface EvidenceConnectedContextScope {
|
|
142
|
+
readonly schemaVersion: "1";
|
|
143
|
+
readonly scopeIdHash: string;
|
|
144
|
+
readonly scopeKind: string;
|
|
145
|
+
readonly selectedPathCount: number;
|
|
146
|
+
readonly selectedPaths: readonly string[];
|
|
147
|
+
}
|
|
148
|
+
export interface EvidenceConnectedContextQuery {
|
|
149
|
+
readonly kind: string;
|
|
150
|
+
readonly queryTextHash: string;
|
|
151
|
+
readonly queryTextBytes: number;
|
|
152
|
+
readonly maxResults: number;
|
|
153
|
+
readonly caseSensitive: boolean;
|
|
154
|
+
}
|
|
155
|
+
export interface EvidenceConnectedContextExcerpt {
|
|
156
|
+
readonly atomStableId: string;
|
|
157
|
+
readonly scopePath: string;
|
|
158
|
+
readonly lineRange?: {
|
|
159
|
+
readonly startLine: number;
|
|
160
|
+
readonly endLine: number;
|
|
161
|
+
} | undefined;
|
|
162
|
+
readonly score: number;
|
|
163
|
+
readonly provenanceKind: string;
|
|
164
|
+
readonly tool: string;
|
|
165
|
+
readonly queryFingerprint: string;
|
|
166
|
+
readonly redactionState: string;
|
|
167
|
+
readonly contentBytes: number;
|
|
168
|
+
readonly contentSha256: string;
|
|
169
|
+
}
|
|
170
|
+
export interface EvidenceConnectedContextFile {
|
|
171
|
+
readonly scopePath: string;
|
|
172
|
+
readonly role: string;
|
|
173
|
+
readonly selectionReason: string;
|
|
174
|
+
readonly excerptCount: number;
|
|
175
|
+
readonly excerptBytes: number;
|
|
176
|
+
readonly excerpts: readonly EvidenceConnectedContextExcerpt[];
|
|
177
|
+
}
|
|
178
|
+
export interface EvidenceConnectedContextOmitted {
|
|
179
|
+
readonly scopePath: string;
|
|
180
|
+
readonly reason: string;
|
|
181
|
+
}
|
|
182
|
+
export interface EvidenceConnectedContextUncertainty {
|
|
183
|
+
readonly kind: string;
|
|
184
|
+
readonly impactedAtomCount: number;
|
|
185
|
+
}
|
|
186
|
+
export interface EvidenceConnectedContextPlan {
|
|
187
|
+
readonly planIdHash: string;
|
|
188
|
+
readonly state: string;
|
|
189
|
+
readonly createdAtMs: number | undefined;
|
|
190
|
+
readonly anchorCount: number;
|
|
191
|
+
readonly anchorKinds: Record<string, number>;
|
|
192
|
+
readonly anchorTermHashes: readonly string[];
|
|
193
|
+
readonly ringKinds: readonly string[];
|
|
194
|
+
readonly clarificationReason: string | undefined;
|
|
195
|
+
}
|
|
196
|
+
export interface EvidenceConnectedContextAudit {
|
|
197
|
+
readonly packSchemaVersion: "1";
|
|
198
|
+
readonly packStableIdHash: string;
|
|
199
|
+
readonly chatIdHash: string | undefined;
|
|
200
|
+
readonly modelRequest: {
|
|
201
|
+
readonly sentToModel: true;
|
|
202
|
+
readonly excerptContentPersisted: false;
|
|
203
|
+
};
|
|
204
|
+
readonly scope: EvidenceConnectedContextScope;
|
|
205
|
+
readonly query: EvidenceConnectedContextQuery;
|
|
206
|
+
readonly plan: EvidenceConnectedContextPlan | undefined;
|
|
207
|
+
readonly budget: {
|
|
208
|
+
readonly usage: Record<string, number>;
|
|
209
|
+
readonly limits: Record<string, number>;
|
|
210
|
+
};
|
|
211
|
+
readonly files: readonly EvidenceConnectedContextFile[];
|
|
212
|
+
readonly omitted: readonly EvidenceConnectedContextOmitted[];
|
|
213
|
+
readonly uncertainty: readonly EvidenceConnectedContextUncertainty[];
|
|
214
|
+
readonly toolsUsed: readonly string[];
|
|
215
|
+
readonly summary: {
|
|
216
|
+
readonly fileCount: number;
|
|
217
|
+
readonly citationCount: number;
|
|
218
|
+
readonly omittedCount: number;
|
|
219
|
+
readonly uncertaintyCount: number;
|
|
220
|
+
readonly elapsedMs: number;
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
export interface EvidenceGovernedWorkflowHandoff {
|
|
224
|
+
readonly sourceGroundedRunId: string;
|
|
225
|
+
readonly contextPackStableIdHash: string;
|
|
226
|
+
readonly workflowKind: string;
|
|
227
|
+
readonly editablePathCount: number;
|
|
228
|
+
readonly readOnlyPathCount: number;
|
|
229
|
+
readonly evidenceAtomCount: number;
|
|
230
|
+
readonly expectedChecks: readonly string[];
|
|
231
|
+
readonly approvalTokenHash: string;
|
|
232
|
+
}
|
|
233
|
+
export interface EvidenceManifest {
|
|
234
|
+
readonly evidenceSchemaVersion: "1";
|
|
235
|
+
readonly run: EvidenceRunIdentity;
|
|
236
|
+
readonly model: EvidenceModel;
|
|
237
|
+
readonly usageTotals: EvidenceUsageTotals;
|
|
238
|
+
readonly context?: AuditSummary | undefined;
|
|
239
|
+
readonly stateTransitions: readonly EvidenceStateTransition[];
|
|
240
|
+
readonly toolCalls: readonly EvidenceToolCall[];
|
|
241
|
+
readonly commandExecutions: readonly EvidenceCommandExecution[];
|
|
242
|
+
readonly sandboxConfigurations?: readonly EvidenceSandboxConfiguration[] | undefined;
|
|
243
|
+
readonly verificationResults?: readonly EvidenceVerificationResult[] | undefined;
|
|
244
|
+
readonly patch?: EvidencePatch | undefined;
|
|
245
|
+
readonly verification?: VerificationAuditSummary | undefined;
|
|
246
|
+
readonly failure?: EvidenceFailure | undefined;
|
|
247
|
+
readonly reasoning?: readonly EvidenceReasoningEntry[] | undefined;
|
|
248
|
+
readonly browser?: EvidenceBrowserCapture | undefined;
|
|
249
|
+
readonly connectedContext?: EvidenceConnectedContextAudit | undefined;
|
|
250
|
+
readonly governedHandoff?: EvidenceGovernedWorkflowHandoff | undefined;
|
|
251
|
+
}
|
|
252
|
+
export interface AuditRedactionConfig {
|
|
253
|
+
readonly additionalSecrets?: readonly string[] | undefined;
|
|
254
|
+
readonly redactEnvValues?: readonly string[] | undefined;
|
|
255
|
+
readonly sensitiveLiterals?: readonly string[] | undefined;
|
|
256
|
+
}
|
|
257
|
+
export interface RetentionPolicy {
|
|
258
|
+
readonly maxRuns?: number | undefined;
|
|
259
|
+
readonly maxAgeMs?: number | undefined;
|
|
260
|
+
readonly maxTotalBytes?: number | undefined;
|
|
261
|
+
readonly disabled?: boolean | undefined;
|
|
262
|
+
}
|
|
263
|
+
export declare const DEFAULT_RETENTION: RetentionPolicy;
|
|
264
|
+
export interface BuildOptions {
|
|
265
|
+
readonly includeReasoning?: boolean | undefined;
|
|
266
|
+
readonly includeDiff?: boolean | undefined;
|
|
267
|
+
}
|
|
268
|
+
export interface EvidenceBuildInput {
|
|
269
|
+
readonly result: RunResult;
|
|
270
|
+
readonly manifest: RunManifest;
|
|
271
|
+
readonly context?: AuditSummary | undefined;
|
|
272
|
+
readonly verification?: VerificationAuditSummary | undefined;
|
|
273
|
+
readonly redaction?: AuditRedactionConfig | undefined;
|
|
274
|
+
readonly options?: BuildOptions | undefined;
|
|
275
|
+
}
|
|
276
|
+
export interface EvidenceDeps {
|
|
277
|
+
readonly env?: Readonly<Record<string, string | undefined>> | undefined;
|
|
278
|
+
readonly store?: EvidenceStore | undefined;
|
|
279
|
+
readonly randomSuffix?: (() => string) | undefined;
|
|
280
|
+
readonly now?: (() => number) | undefined;
|
|
281
|
+
readonly costClassResolver?: ((modelId: string) => CostClass | "unknown") | undefined;
|
|
282
|
+
}
|
|
283
|
+
export interface EvidenceStore {
|
|
284
|
+
readonly put: (runId: string, json: string) => string;
|
|
285
|
+
readonly update?: ((runId: string, update: (existingJson: string | undefined) => string) => string) | undefined;
|
|
286
|
+
readonly list: () => readonly string[];
|
|
287
|
+
readonly get: (runId: string) => string | undefined;
|
|
288
|
+
readonly location?: ((runId: string) => string) | undefined;
|
|
289
|
+
readonly delete: (runId: string) => void;
|
|
290
|
+
}
|
|
291
|
+
export interface SideFileWriteResult {
|
|
292
|
+
readonly relativePath: string;
|
|
293
|
+
readonly sha256: string;
|
|
294
|
+
readonly bytes: number;
|
|
295
|
+
readonly absolutePath: string;
|
|
296
|
+
}
|
|
297
|
+
//# sourceMappingURL=evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../src/evidence.ts"],"names":[],"mappings":"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"}
|
package/dist/evidence.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// All Evidence* interfaces, the retention/redaction config, the injectable deps, the frozen
|
|
2
|
+
// EVIDENCE_SCHEMA_VERSION / DEFAULT_RETENTION tables, and the EvidenceStore port interface
|
|
3
|
+
// (ADR-0010 D2/D4/D6/D10). No runtime logic beyond the two frozen tables. Everything here is
|
|
4
|
+
// plain-JSON, deeply readonly, and JSON-serializable: timestamps are epoch-ms numbers sourced
|
|
5
|
+
// from events/RunResult, never Date objects.
|
|
6
|
+
// The schema discriminant — distinct from the harness event `schemaVersion`. A breaking change
|
|
7
|
+
// produces "2" as a NEW union member rather than mutating "1" (ADR-0010 D2).
|
|
8
|
+
export const EVIDENCE_SCHEMA_VERSION = "1";
|
|
9
|
+
export const DEFAULT_RETENTION = { maxRuns: 50 };
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
export declare const CONVERSATION_CAPABILITY_CONTRACT_VERSION: 2;
|
|
2
|
+
export type ModelKind = "chat" | "embedding" | "ocr-vision";
|
|
3
|
+
export type CostClass = "low" | "medium" | "high";
|
|
4
|
+
export type LatencyClass = "fast" | "standard" | "slow";
|
|
5
|
+
export type InfillingAlignment = "base" | "instruct" | "edit-tuned";
|
|
6
|
+
export declare const INFILLING_ALIGNMENTS: readonly InfillingAlignment[];
|
|
7
|
+
export interface ModelCapability {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly kind: ModelKind;
|
|
10
|
+
readonly contextWindow: number;
|
|
11
|
+
readonly maxOutputTokens: number;
|
|
12
|
+
readonly toolCalling: boolean;
|
|
13
|
+
readonly structuredOutput: boolean;
|
|
14
|
+
readonly streaming: boolean;
|
|
15
|
+
readonly supportsImageInput: boolean;
|
|
16
|
+
readonly supportsDocumentInput: boolean;
|
|
17
|
+
readonly workflowEligible: boolean;
|
|
18
|
+
readonly costClass: CostClass;
|
|
19
|
+
readonly latencyClass: LatencyClass;
|
|
20
|
+
readonly throughputHint: string;
|
|
21
|
+
readonly preferredUseCases: readonly string[];
|
|
22
|
+
readonly knownLimitations: readonly string[];
|
|
23
|
+
/** Whether the model supports a `seed` parameter for deterministic sampling (Epic #761). */
|
|
24
|
+
readonly supportsSeeding?: boolean | undefined;
|
|
25
|
+
/** Whether the model supports a `responseFormat` parameter for JSON output (Epic #761). */
|
|
26
|
+
readonly supportsResponseFormat?: boolean | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the model supports suffix-aware (fill-in-the-middle / FIM) completion (Issue #1210).
|
|
29
|
+
* Required for Keiko editor inline completion; a prefix-only model is a documented anti-pattern
|
|
30
|
+
* for in-editor ghost text. Only meaningful for `kind: "chat"` models.
|
|
31
|
+
*/
|
|
32
|
+
readonly supportsInfilling?: boolean | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Alignment posture of the model's infilling endpoint (Issue #1210). Only meaningful when
|
|
35
|
+
* `supportsInfilling` is true. Editor ghost text requires an aligned ("instruct") or edit-tuned
|
|
36
|
+
* ("edit-tuned") variant; a raw "base" FIM endpoint — or an undeclared alignment — is rejected
|
|
37
|
+
* for governed completion because base-FIM re-opens a prompt-injection surface (ADR-0042 D5).
|
|
38
|
+
*/
|
|
39
|
+
readonly infillingAlignment?: InfillingAlignment | undefined;
|
|
40
|
+
}
|
|
41
|
+
export declare function modelSupportsInfilling(capability: ModelCapability): boolean;
|
|
42
|
+
export declare function isAlignedInfillingModel(capability: ModelCapability): boolean;
|
|
43
|
+
export declare function isAsYouTypeCompletionModel(capability: ModelCapability): boolean;
|
|
44
|
+
export type CompletionInteractionMode = "as-you-type" | "manual" | "deterministic";
|
|
45
|
+
export type CompletionDegradeReason = "no-infilling-model" | "only-base-infilling-model" | "over-cost-ceiling";
|
|
46
|
+
export interface CompletionModelSelection {
|
|
47
|
+
readonly mode: CompletionInteractionMode;
|
|
48
|
+
readonly modelId?: string | undefined;
|
|
49
|
+
readonly latencyClass?: LatencyClass | undefined;
|
|
50
|
+
readonly degradeReason?: CompletionDegradeReason | undefined;
|
|
51
|
+
}
|
|
52
|
+
export interface ChatMessageTextContentPart {
|
|
53
|
+
readonly type: "text";
|
|
54
|
+
readonly text: string;
|
|
55
|
+
}
|
|
56
|
+
export interface ChatMessageImageUrlContentPart {
|
|
57
|
+
readonly type: "image_url";
|
|
58
|
+
readonly image_url: {
|
|
59
|
+
readonly url: string;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export type ChatMessageContentPart = ChatMessageTextContentPart | ChatMessageImageUrlContentPart;
|
|
63
|
+
export interface ChatMessage {
|
|
64
|
+
readonly role: "system" | "user" | "assistant" | "tool";
|
|
65
|
+
readonly content: string;
|
|
66
|
+
readonly contentParts?: readonly ChatMessageContentPart[] | undefined;
|
|
67
|
+
readonly toolCallId?: string | undefined;
|
|
68
|
+
readonly toolCalls?: readonly NormalizedToolCall[] | undefined;
|
|
69
|
+
}
|
|
70
|
+
export interface ToolDefinition {
|
|
71
|
+
readonly name: string;
|
|
72
|
+
readonly description: string;
|
|
73
|
+
readonly parameters: Record<string, unknown>;
|
|
74
|
+
}
|
|
75
|
+
export type ResponseFormat = {
|
|
76
|
+
readonly type: "text";
|
|
77
|
+
} | {
|
|
78
|
+
readonly type: "json_schema";
|
|
79
|
+
readonly schema: Record<string, unknown>;
|
|
80
|
+
};
|
|
81
|
+
export interface GatewayRequest {
|
|
82
|
+
readonly modelId: string;
|
|
83
|
+
readonly messages: readonly ChatMessage[];
|
|
84
|
+
readonly tools?: readonly ToolDefinition[] | undefined;
|
|
85
|
+
readonly responseFormat?: ResponseFormat | undefined;
|
|
86
|
+
readonly stream?: boolean | undefined;
|
|
87
|
+
readonly cancellationSignal?: AbortSignal | undefined;
|
|
88
|
+
/** Optional seed for deterministic sampling when the model supports it (Epic #761). */
|
|
89
|
+
readonly seed?: number | undefined;
|
|
90
|
+
}
|
|
91
|
+
export interface NormalizedToolCall {
|
|
92
|
+
readonly id: string;
|
|
93
|
+
readonly name: string;
|
|
94
|
+
readonly arguments: Record<string, unknown>;
|
|
95
|
+
}
|
|
96
|
+
export interface UsageMetadata {
|
|
97
|
+
readonly requestId: string;
|
|
98
|
+
readonly promptTokens: number;
|
|
99
|
+
readonly completionTokens: number;
|
|
100
|
+
readonly latencyMs: number;
|
|
101
|
+
readonly costClass: CostClass;
|
|
102
|
+
}
|
|
103
|
+
export type FinishReason = "stop" | "tool_calls" | "length" | "content_filter" | "error" | "cancelled";
|
|
104
|
+
export interface NormalizedResponse {
|
|
105
|
+
readonly modelId: string;
|
|
106
|
+
readonly content: string;
|
|
107
|
+
readonly finishReason: FinishReason;
|
|
108
|
+
readonly toolCalls: readonly NormalizedToolCall[];
|
|
109
|
+
readonly structuredOutput: Record<string, unknown> | null;
|
|
110
|
+
readonly usage: UsageMetadata;
|
|
111
|
+
}
|
|
112
|
+
export interface StreamDelta {
|
|
113
|
+
readonly role?: "assistant" | undefined;
|
|
114
|
+
readonly contentDelta?: string | undefined;
|
|
115
|
+
readonly toolCallDelta?: Partial<NormalizedToolCall> | undefined;
|
|
116
|
+
readonly finishReason?: FinishReason | undefined;
|
|
117
|
+
readonly usage?: UsageMetadata | undefined;
|
|
118
|
+
}
|
|
119
|
+
export type StreamEvent = {
|
|
120
|
+
readonly type: "delta";
|
|
121
|
+
readonly delta: StreamDelta;
|
|
122
|
+
} | {
|
|
123
|
+
readonly type: "done";
|
|
124
|
+
readonly response: NormalizedResponse;
|
|
125
|
+
};
|
|
126
|
+
export type ConversationIneligibilityReason = "embedding-only" | "ocr-vision-only" | "non-chat";
|
|
127
|
+
export declare function isConversationEligibleModel(capability: ModelCapability): boolean;
|
|
128
|
+
export declare function explainConversationIneligibility(capability: ModelCapability): ConversationIneligibilityReason | undefined;
|
|
129
|
+
//# sourceMappingURL=gateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// Gateway-layer WIRE contract types: model identity, request/response shapes, streaming envelope,
|
|
2
|
+
// and tool-call normalisation. Credential-bearing or runtime-port shapes (ModelProviderConfig,
|
|
3
|
+
// GatewayConfig, CircuitBreakerConfig, ProviderAdapter, Clock, CircuitBreakerStatus) STAY in
|
|
4
|
+
// packages/keiko-model-gateway/src/types.ts so contracts never carries an apiKey-shaped surface. No runtime code lives
|
|
5
|
+
// here. `readonly` everywhere; optional props are `| undefined` because exactOptionalPropertyTypes
|
|
6
|
+
// is on.
|
|
7
|
+
// Bumped to 2 by issue #143 (Epic #142 Conversation Center): ModelCapability now carries
|
|
8
|
+
// supportsImageInput / supportsDocumentInput / workflowEligible. A future structural break
|
|
9
|
+
// adds a new literal member rather than mutating this constant.
|
|
10
|
+
export const CONVERSATION_CAPABILITY_CONTRACT_VERSION = 2;
|
|
11
|
+
export const INFILLING_ALIGNMENTS = [
|
|
12
|
+
"base",
|
|
13
|
+
"instruct",
|
|
14
|
+
"edit-tuned",
|
|
15
|
+
];
|
|
16
|
+
// ─── Completion / infilling capability helpers (Issue #1210, ADR-0042 D5) ──────
|
|
17
|
+
// These are additive, optional fields: a future capability flag (e.g. `edit-prediction` for
|
|
18
|
+
// next-edit prediction) is another optional member, never a structural break, so
|
|
19
|
+
// CONVERSATION_CAPABILITY_CONTRACT_VERSION is intentionally NOT bumped (same precedent as the
|
|
20
|
+
// Epic #761 determinism flags). The single source of truth for "does a model satisfy the editor
|
|
21
|
+
// completion requirement?" lives in these pure, total predicates so the completion-model selection
|
|
22
|
+
// (keiko-model-gateway) and any consuming route can never disagree on what the capability means.
|
|
23
|
+
// Pure helpers live in contracts (not keiko-model-gateway) so the browser-tier `keiko-ui`/editor
|
|
24
|
+
// host can value-import them without crossing ADR-0019 trust rule 3 (UI → model-gateway/src is
|
|
25
|
+
// forbidden at error severity), mirroring `isConversationEligibleModel`.
|
|
26
|
+
// Whether the model advertises suffix-aware (FIM) completion at all. Total: a non-chat model can
|
|
27
|
+
// never infill, and an absent flag is treated as "no" (conservative default).
|
|
28
|
+
export function modelSupportsInfilling(capability) {
|
|
29
|
+
return capability.kind === "chat" && capability.supportsInfilling === true;
|
|
30
|
+
}
|
|
31
|
+
// Whether the model is an aligned/instruct or edit-tuned infilling variant — the only postures
|
|
32
|
+
// eligible for GOVERNED editor completion. Fail-closed: a base endpoint or an undeclared alignment
|
|
33
|
+
// is rejected (the prompt-injection guardrail, ADR-0042 D5).
|
|
34
|
+
export function isAlignedInfillingModel(capability) {
|
|
35
|
+
if (!modelSupportsInfilling(capability))
|
|
36
|
+
return false;
|
|
37
|
+
return (capability.infillingAlignment === "instruct" || capability.infillingAlignment === "edit-tuned");
|
|
38
|
+
}
|
|
39
|
+
// Whether the model is eligible for AS-YOU-TYPE ghost text: an aligned infilling variant AND a
|
|
40
|
+
// `fast` latency class. A `standard`/`slow` model is never elected for per-keystroke completion
|
|
41
|
+
// (ADR-0042 D5: the as-you-type query requires BOTH the FIM capability AND `latencyClass: "fast"`).
|
|
42
|
+
export function isAsYouTypeCompletionModel(capability) {
|
|
43
|
+
return isAlignedInfillingModel(capability) && capability.latencyClass === "fast";
|
|
44
|
+
}
|
|
45
|
+
// Why: see header — only `kind === "chat"` is conversation-eligible by
|
|
46
|
+
// construction. Pure, total, no side effects.
|
|
47
|
+
export function isConversationEligibleModel(capability) {
|
|
48
|
+
return capability.kind === "chat";
|
|
49
|
+
}
|
|
50
|
+
// Why: returns a typed reason the UI can map to a localisable explanation
|
|
51
|
+
// without leaking provider URLs or credentials. Returns `undefined` for
|
|
52
|
+
// chat-eligible capabilities so callers can branch on presence. The lookup
|
|
53
|
+
// is total over `Exclude<ModelKind, "chat">` by construction — if a future
|
|
54
|
+
// `ModelKind` member is added in a CONVERSATION_CAPABILITY_CONTRACT_VERSION
|
|
55
|
+
// bump, this map will fail to typecheck (mandatory key missing), forcing the
|
|
56
|
+
// new member to be classified explicitly rather than silently leaking
|
|
57
|
+
// through as conversation-eligible.
|
|
58
|
+
const INELIGIBILITY_REASON_BY_KIND = {
|
|
59
|
+
embedding: "embedding-only",
|
|
60
|
+
"ocr-vision": "ocr-vision-only",
|
|
61
|
+
};
|
|
62
|
+
export function explainConversationIneligibility(capability) {
|
|
63
|
+
if (capability.kind === "chat")
|
|
64
|
+
return undefined;
|
|
65
|
+
return INELIGIBILITY_REASON_BY_KIND[capability.kind];
|
|
66
|
+
}
|