@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.
Files changed (227) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/bff-wire.d.ts +661 -0
  3. package/dist/bff-wire.d.ts.map +1 -0
  4. package/dist/bff-wire.js +102 -0
  5. package/dist/bug-investigation-events.d.ts +92 -0
  6. package/dist/bug-investigation-events.d.ts.map +1 -0
  7. package/dist/bug-investigation-events.js +18 -0
  8. package/dist/coding-context.d.ts +76 -0
  9. package/dist/coding-context.d.ts.map +1 -0
  10. package/dist/coding-context.js +158 -0
  11. package/dist/connected-context.d.ts +174 -0
  12. package/dist/connected-context.d.ts.map +1 -0
  13. package/dist/connected-context.js +636 -0
  14. package/dist/conversation-budget.d.ts +37 -0
  15. package/dist/conversation-budget.d.ts.map +1 -0
  16. package/dist/conversation-budget.js +97 -0
  17. package/dist/editor-agent.d.ts +131 -0
  18. package/dist/editor-agent.d.ts.map +1 -0
  19. package/dist/editor-agent.js +197 -0
  20. package/dist/editor-completion.d.ts +62 -0
  21. package/dist/editor-completion.d.ts.map +1 -0
  22. package/dist/editor-completion.js +147 -0
  23. package/dist/editor-dirty-close.d.ts +17 -0
  24. package/dist/editor-dirty-close.d.ts.map +1 -0
  25. package/dist/editor-dirty-close.js +8 -0
  26. package/dist/editor-hot-exit.d.ts +18 -0
  27. package/dist/editor-hot-exit.d.ts.map +1 -0
  28. package/dist/editor-hot-exit.js +42 -0
  29. package/dist/editor-inline-completion.d.ts +70 -0
  30. package/dist/editor-inline-completion.d.ts.map +1 -0
  31. package/dist/editor-inline-completion.js +215 -0
  32. package/dist/editor-layout.d.ts +105 -0
  33. package/dist/editor-layout.d.ts.map +1 -0
  34. package/dist/editor-layout.js +479 -0
  35. package/dist/editor-patch-apply.d.ts +77 -0
  36. package/dist/editor-patch-apply.d.ts.map +1 -0
  37. package/dist/editor-patch-apply.js +122 -0
  38. package/dist/editor-session.d.ts +31 -0
  39. package/dist/editor-session.d.ts.map +1 -0
  40. package/dist/editor-session.js +75 -0
  41. package/dist/editor-test-generation.d.ts +104 -0
  42. package/dist/editor-test-generation.d.ts.map +1 -0
  43. package/dist/editor-test-generation.js +211 -0
  44. package/dist/evaluations.d.ts +75 -0
  45. package/dist/evaluations.d.ts.map +1 -0
  46. package/dist/evaluations.js +16 -0
  47. package/dist/evidence.d.ts +297 -0
  48. package/dist/evidence.d.ts.map +1 -0
  49. package/dist/evidence.js +9 -0
  50. package/dist/gateway.d.ts +129 -0
  51. package/dist/gateway.d.ts.map +1 -0
  52. package/dist/gateway.js +66 -0
  53. package/dist/harness.d.ts +274 -0
  54. package/dist/harness.d.ts.map +1 -0
  55. package/dist/harness.js +38 -0
  56. package/dist/index.d.ts +101 -0
  57. package/dist/index.d.ts.map +1 -0
  58. package/dist/index.js +83 -0
  59. package/dist/language-service.d.ts +145 -0
  60. package/dist/language-service.d.ts.map +1 -0
  61. package/dist/language-service.js +161 -0
  62. package/dist/local-knowledge-large-document-validation.d.ts +7 -0
  63. package/dist/local-knowledge-large-document-validation.d.ts.map +1 -0
  64. package/dist/local-knowledge-large-document-validation.js +161 -0
  65. package/dist/local-knowledge-large-document.d.ts +113 -0
  66. package/dist/local-knowledge-large-document.d.ts.map +1 -0
  67. package/dist/local-knowledge-large-document.js +142 -0
  68. package/dist/local-knowledge-paths.d.ts +3 -0
  69. package/dist/local-knowledge-paths.d.ts.map +1 -0
  70. package/dist/local-knowledge-paths.js +65 -0
  71. package/dist/local-knowledge-records.d.ts +190 -0
  72. package/dist/local-knowledge-records.d.ts.map +1 -0
  73. package/dist/local-knowledge-records.js +36 -0
  74. package/dist/local-knowledge-schema-validation.d.ts +19 -0
  75. package/dist/local-knowledge-schema-validation.d.ts.map +1 -0
  76. package/dist/local-knowledge-schema-validation.js +115 -0
  77. package/dist/local-knowledge-schema.d.ts +14 -0
  78. package/dist/local-knowledge-schema.d.ts.map +1 -0
  79. package/dist/local-knowledge-schema.js +715 -0
  80. package/dist/local-knowledge-validation.d.ts +20 -0
  81. package/dist/local-knowledge-validation.d.ts.map +1 -0
  82. package/dist/local-knowledge-validation.js +487 -0
  83. package/dist/local-knowledge.d.ts +158 -0
  84. package/dist/local-knowledge.d.ts.map +1 -0
  85. package/dist/local-knowledge.js +63 -0
  86. package/dist/memory-audit-events.d.ts +73 -0
  87. package/dist/memory-audit-events.d.ts.map +1 -0
  88. package/dist/memory-audit-events.js +44 -0
  89. package/dist/memory-audit-validation.d.ts +4 -0
  90. package/dist/memory-audit-validation.d.ts.map +1 -0
  91. package/dist/memory-audit-validation.js +151 -0
  92. package/dist/memory-barrel.d.ts +15 -0
  93. package/dist/memory-barrel.d.ts.map +1 -0
  94. package/dist/memory-barrel.js +20 -0
  95. package/dist/memory-internal.d.ts +26 -0
  96. package/dist/memory-internal.d.ts.map +1 -0
  97. package/dist/memory-internal.js +104 -0
  98. package/dist/memory-operations-validation.d.ts +12 -0
  99. package/dist/memory-operations-validation.d.ts.map +1 -0
  100. package/dist/memory-operations-validation.js +267 -0
  101. package/dist/memory-operations.d.ts +156 -0
  102. package/dist/memory-operations.d.ts.map +1 -0
  103. package/dist/memory-operations.js +29 -0
  104. package/dist/memory-record-validation.d.ts +10 -0
  105. package/dist/memory-record-validation.d.ts.map +1 -0
  106. package/dist/memory-record-validation.js +101 -0
  107. package/dist/memory-records.d.ts +66 -0
  108. package/dist/memory-records.d.ts.map +1 -0
  109. package/dist/memory-records.js +22 -0
  110. package/dist/memory-retrieval-validation.d.ts +6 -0
  111. package/dist/memory-retrieval-validation.d.ts.map +1 -0
  112. package/dist/memory-retrieval-validation.js +108 -0
  113. package/dist/memory-validation.d.ts +31 -0
  114. package/dist/memory-validation.d.ts.map +1 -0
  115. package/dist/memory-validation.js +318 -0
  116. package/dist/memory-workflow-port.d.ts +26 -0
  117. package/dist/memory-workflow-port.d.ts.map +1 -0
  118. package/dist/memory-workflow-port.js +13 -0
  119. package/dist/memory.d.ts +81 -0
  120. package/dist/memory.d.ts.map +1 -0
  121. package/dist/memory.js +104 -0
  122. package/dist/prompt-enhancer-analyzer.d.ts +7 -0
  123. package/dist/prompt-enhancer-analyzer.d.ts.map +1 -0
  124. package/dist/prompt-enhancer-analyzer.js +745 -0
  125. package/dist/prompt-enhancer-bff.d.ts +67 -0
  126. package/dist/prompt-enhancer-bff.d.ts.map +1 -0
  127. package/dist/prompt-enhancer-bff.js +156 -0
  128. package/dist/prompt-enhancer-critic.d.ts +46 -0
  129. package/dist/prompt-enhancer-critic.d.ts.map +1 -0
  130. package/dist/prompt-enhancer-critic.js +35 -0
  131. package/dist/prompt-enhancer-grounding.d.ts +19 -0
  132. package/dist/prompt-enhancer-grounding.d.ts.map +1 -0
  133. package/dist/prompt-enhancer-grounding.js +235 -0
  134. package/dist/prompt-enhancer-safety.d.ts +66 -0
  135. package/dist/prompt-enhancer-safety.d.ts.map +1 -0
  136. package/dist/prompt-enhancer-safety.js +446 -0
  137. package/dist/prompt-enhancer-validation.d.ts +28 -0
  138. package/dist/prompt-enhancer-validation.d.ts.map +1 -0
  139. package/dist/prompt-enhancer-validation.js +931 -0
  140. package/dist/prompt-enhancer.d.ts +184 -0
  141. package/dist/prompt-enhancer.d.ts.map +1 -0
  142. package/dist/prompt-enhancer.js +350 -0
  143. package/dist/qualityIntelligence/assertNever.d.ts +2 -0
  144. package/dist/qualityIntelligence/assertNever.d.ts.map +1 -0
  145. package/dist/qualityIntelligence/assertNever.js +7 -0
  146. package/dist/qualityIntelligence/auditSummary.d.ts +25 -0
  147. package/dist/qualityIntelligence/auditSummary.d.ts.map +1 -0
  148. package/dist/qualityIntelligence/auditSummary.js +7 -0
  149. package/dist/qualityIntelligence/bffWire.d.ts +356 -0
  150. package/dist/qualityIntelligence/bffWire.d.ts.map +1 -0
  151. package/dist/qualityIntelligence/bffWire.js +22 -0
  152. package/dist/qualityIntelligence/coverageMap.d.ts +21 -0
  153. package/dist/qualityIntelligence/coverageMap.d.ts.map +1 -0
  154. package/dist/qualityIntelligence/coverageMap.js +29 -0
  155. package/dist/qualityIntelligence/editableRevision.d.ts +21 -0
  156. package/dist/qualityIntelligence/editableRevision.d.ts.map +1 -0
  157. package/dist/qualityIntelligence/editableRevision.js +8 -0
  158. package/dist/qualityIntelligence/evidenceAtom.d.ts +35 -0
  159. package/dist/qualityIntelligence/evidenceAtom.d.ts.map +1 -0
  160. package/dist/qualityIntelligence/evidenceAtom.js +29 -0
  161. package/dist/qualityIntelligence/exportBundle.d.ts +28 -0
  162. package/dist/qualityIntelligence/exportBundle.d.ts.map +1 -0
  163. package/dist/qualityIntelligence/exportBundle.js +46 -0
  164. package/dist/qualityIntelligence/handoffEnvelope.d.ts +23 -0
  165. package/dist/qualityIntelligence/handoffEnvelope.d.ts.map +1 -0
  166. package/dist/qualityIntelligence/handoffEnvelope.js +8 -0
  167. package/dist/qualityIntelligence/ids.d.ts +58 -0
  168. package/dist/qualityIntelligence/ids.d.ts.map +1 -0
  169. package/dist/qualityIntelligence/ids.js +93 -0
  170. package/dist/qualityIntelligence/index.d.ts +29 -0
  171. package/dist/qualityIntelligence/index.d.ts.map +1 -0
  172. package/dist/qualityIntelligence/index.js +20 -0
  173. package/dist/qualityIntelligence/reviewRecord.d.ts +19 -0
  174. package/dist/qualityIntelligence/reviewRecord.d.ts.map +1 -0
  175. package/dist/qualityIntelligence/reviewRecord.js +20 -0
  176. package/dist/qualityIntelligence/runPlanAndEvents.d.ts +84 -0
  177. package/dist/qualityIntelligence/runPlanAndEvents.d.ts.map +1 -0
  178. package/dist/qualityIntelligence/runPlanAndEvents.js +51 -0
  179. package/dist/qualityIntelligence/sourceEnvelope.d.ts +77 -0
  180. package/dist/qualityIntelligence/sourceEnvelope.d.ts.map +1 -0
  181. package/dist/qualityIntelligence/sourceEnvelope.js +118 -0
  182. package/dist/qualityIntelligence/testCaseCandidate.d.ts +21 -0
  183. package/dist/qualityIntelligence/testCaseCandidate.d.ts.map +1 -0
  184. package/dist/qualityIntelligence/testCaseCandidate.js +21 -0
  185. package/dist/qualityIntelligence/testQualityRubric.d.ts +17 -0
  186. package/dist/qualityIntelligence/testQualityRubric.d.ts.map +1 -0
  187. package/dist/qualityIntelligence/testQualityRubric.js +32 -0
  188. package/dist/qualityIntelligence/validationFinding.d.ts +48 -0
  189. package/dist/qualityIntelligence/validationFinding.d.ts.map +1 -0
  190. package/dist/qualityIntelligence/validationFinding.js +36 -0
  191. package/dist/relationships-validation.d.ts +13 -0
  192. package/dist/relationships-validation.d.ts.map +1 -0
  193. package/dist/relationships-validation.js +422 -0
  194. package/dist/relationships.d.ts +79 -0
  195. package/dist/relationships.d.ts.map +1 -0
  196. package/dist/relationships.js +307 -0
  197. package/dist/text-safety.d.ts +7 -0
  198. package/dist/text-safety.d.ts.map +1 -0
  199. package/dist/text-safety.js +58 -0
  200. package/dist/tools.d.ts +153 -0
  201. package/dist/tools.d.ts.map +1 -0
  202. package/dist/tools.js +118 -0
  203. package/dist/unit-test-events.d.ts +87 -0
  204. package/dist/unit-test-events.d.ts.map +1 -0
  205. package/dist/unit-test-events.js +14 -0
  206. package/dist/verification-summary.d.ts +38 -0
  207. package/dist/verification-summary.d.ts.map +1 -0
  208. package/dist/verification-summary.js +5 -0
  209. package/dist/verification.d.ts +64 -0
  210. package/dist/verification.d.ts.map +1 -0
  211. package/dist/verification.js +13 -0
  212. package/dist/workflow-descriptor.d.ts +21 -0
  213. package/dist/workflow-descriptor.d.ts.map +1 -0
  214. package/dist/workflow-descriptor.js +8 -0
  215. package/dist/workflow-handoff.d.ts +69 -0
  216. package/dist/workflow-handoff.d.ts.map +1 -0
  217. package/dist/workflow-handoff.js +381 -0
  218. package/dist/workspace-descriptors.d.ts +21 -0
  219. package/dist/workspace-descriptors.d.ts.map +1 -0
  220. package/dist/workspace-descriptors.js +180 -0
  221. package/dist/workspace-ui.d.ts +119 -0
  222. package/dist/workspace-ui.d.ts.map +1 -0
  223. package/dist/workspace-ui.js +105 -0
  224. package/dist/workspace.d.ts +104 -0
  225. package/dist/workspace.d.ts.map +1 -0
  226. package/dist/workspace.js +27 -0
  227. package/package.json +71 -0
@@ -0,0 +1,87 @@
1
+ import type { TestFramework } from "./workspace.js";
2
+ import type { VerificationStatus } from "./verification.js";
3
+ export type WorkflowStatus = "completed" | "dry-run" | "rejected" | "cancelled" | "failed";
4
+ export type FileNamingStyle = "sibling" | "mirrored" | "unknown";
5
+ export interface WorkflowLimits {
6
+ readonly maxModelCalls: number;
7
+ readonly maxRetries: number;
8
+ readonly contextBudgetBytes: number;
9
+ readonly maxBytesPerFile: number;
10
+ }
11
+ export declare const DEFAULT_WORKFLOW_LIMITS: WorkflowLimits;
12
+ interface BaseWorkflowEvent {
13
+ readonly schemaVersion: "1";
14
+ readonly runId: string;
15
+ readonly fingerprint: string;
16
+ readonly seq: number;
17
+ readonly ts: number;
18
+ }
19
+ export interface WorkflowStartedEvent extends BaseWorkflowEvent {
20
+ readonly type: "workflow:started";
21
+ readonly workflowId: "unit-test-generation";
22
+ readonly modelId: string;
23
+ readonly applyEnabled: boolean;
24
+ readonly limits: WorkflowLimits;
25
+ }
26
+ export interface ConventionsDetectedEvent extends BaseWorkflowEvent {
27
+ readonly type: "conventions:detected";
28
+ readonly framework: TestFramework;
29
+ readonly testDirs: readonly string[];
30
+ readonly fileNamingStyle: FileNamingStyle;
31
+ }
32
+ export interface ContextSelectedEvent extends BaseWorkflowEvent {
33
+ readonly type: "context:selected";
34
+ readonly entryCount: number;
35
+ readonly usedBytes: number;
36
+ readonly budgetBytes: number;
37
+ readonly droppedForBudget: number;
38
+ }
39
+ export interface ModelCallStartedEvent extends BaseWorkflowEvent {
40
+ readonly type: "workflow:model:call:started";
41
+ readonly attempt: number;
42
+ readonly contextBytes: number;
43
+ }
44
+ export interface ModelCallCompletedEvent extends BaseWorkflowEvent {
45
+ readonly type: "workflow:model:call:completed";
46
+ readonly attempt: number;
47
+ readonly finishReason: string;
48
+ readonly promptTokens: number;
49
+ readonly completionTokens: number;
50
+ readonly latencyMs: number;
51
+ }
52
+ export interface PatchValidatedEvent extends BaseWorkflowEvent {
53
+ readonly type: "patch:validated";
54
+ readonly ok: boolean;
55
+ readonly patchBytes: number;
56
+ readonly filesChanged: number;
57
+ readonly rejectionCode?: string | undefined;
58
+ }
59
+ export interface PatchAppliedEvent extends BaseWorkflowEvent {
60
+ readonly type: "workflow:patch:applied";
61
+ readonly changedFiles: number;
62
+ readonly created: number;
63
+ readonly deleted: number;
64
+ }
65
+ export interface VerificationResultEvent extends BaseWorkflowEvent {
66
+ readonly type: "workflow:verification:result";
67
+ readonly overallStatus: VerificationStatus;
68
+ readonly stepCount: number;
69
+ readonly passedCount: number;
70
+ readonly durationMs: number;
71
+ }
72
+ export interface WorkflowCompletedEvent extends BaseWorkflowEvent {
73
+ readonly type: "workflow:completed";
74
+ readonly status: WorkflowStatus;
75
+ readonly durationMs: number;
76
+ }
77
+ export interface WorkflowFailedEvent extends BaseWorkflowEvent {
78
+ readonly type: "workflow:failed";
79
+ readonly errorCode: string;
80
+ readonly message: string;
81
+ }
82
+ export type WorkflowEvent = WorkflowStartedEvent | ConventionsDetectedEvent | ContextSelectedEvent | ModelCallStartedEvent | ModelCallCompletedEvent | PatchValidatedEvent | PatchAppliedEvent | VerificationResultEvent | WorkflowCompletedEvent | WorkflowFailedEvent;
83
+ export interface WorkflowEventSink {
84
+ readonly emit: (event: WorkflowEvent) => void;
85
+ }
86
+ export {};
87
+ //# sourceMappingURL=unit-test-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-test-events.d.ts","sourceRoot":"","sources":["../src/unit-test-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ // The WorkflowEvent discriminated union and its BaseWorkflowEvent envelope (ADR-0008 D4) plus the
2
+ // sibling status / limits / file-naming-style names the event types reference. The envelope reuses
3
+ // the harness BaseEvent field shape ({ schemaVersion, runId, fingerprint, seq, ts }) by structural
4
+ // convention — NOT a TypeScript import — so the #10 audit ledger and #13 UI can narrow workflow
5
+ // events with the same envelope logic they apply to HarnessEvent. This union is SEPARATE from
6
+ // HarnessEvent because the workflow does not pass through the harness state machine. No runtime
7
+ // logic lives here beyond the frozen DEFAULT_WORKFLOW_LIMITS table. Every SENSITIVE field is
8
+ // redacted before emit.
9
+ export const DEFAULT_WORKFLOW_LIMITS = {
10
+ maxModelCalls: 3,
11
+ maxRetries: 2,
12
+ contextBudgetBytes: 65_536,
13
+ maxBytesPerFile: 8_192,
14
+ };
@@ -0,0 +1,38 @@
1
+ import type { ResourceLimitDecision, VerificationResult, VerificationStatus } from "./verification.js";
2
+ export interface VerificationResultSummary {
3
+ readonly kind: VerificationResult["kind"];
4
+ readonly scriptName: string | undefined;
5
+ readonly command: string;
6
+ readonly status: VerificationStatus;
7
+ readonly exitCode: number | null;
8
+ readonly durationMs: number;
9
+ readonly truncated: boolean;
10
+ readonly outputSummary: string;
11
+ readonly appliedLimits: readonly ResourceLimitDecision[];
12
+ readonly detail: string | undefined;
13
+ }
14
+ export interface VerificationSummary {
15
+ readonly workspaceRoot: string;
16
+ readonly overallStatus: VerificationStatus;
17
+ readonly durationMs: number;
18
+ readonly counts: Readonly<Record<VerificationStatus, number>>;
19
+ readonly results: readonly VerificationResultSummary[];
20
+ }
21
+ export interface AuditResultEntry {
22
+ readonly kind: VerificationResult["kind"];
23
+ readonly scriptName: string | undefined;
24
+ readonly command: string;
25
+ readonly status: VerificationStatus;
26
+ readonly exitCode: number | null;
27
+ readonly durationMs: number;
28
+ readonly truncated: boolean;
29
+ readonly appliedLimits: readonly ResourceLimitDecision[];
30
+ }
31
+ export interface VerificationAuditSummary {
32
+ readonly workspaceRoot: string;
33
+ readonly overallStatus: VerificationStatus;
34
+ readonly durationMs: number;
35
+ readonly counts: Readonly<Record<VerificationStatus, number>>;
36
+ readonly results: readonly AuditResultEntry[];
37
+ }
38
+ //# sourceMappingURL=verification-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-summary.d.ts","sourceRoot":"","sources":["../src/verification-summary.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;CACxD;AAID,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAC1D;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC/C"}
@@ -0,0 +1,5 @@
1
+ // Pure type interfaces for the verification summary layer (ADR-0007). The runtime functions
2
+ // (buildVerificationSummary, summarizeForAudit, renderMarkdownSummary) stay in
3
+ // packages/keiko-verification/src/summary.ts. These types were extracted to contracts (issue #158) so the
4
+ // audit ledger (#10) and evidence layer can reference them without a circular dependency.
5
+ export {};
@@ -0,0 +1,64 @@
1
+ import type { NetworkPolicy } from "./tools.js";
2
+ export type VerificationKind = "test" | "targeted-test" | "typecheck" | "lint" | "build";
3
+ export type VerificationStatus = "passed" | "failed" | "skipped" | "denied" | "timed-out" | "cancelled" | "resource-exceeded";
4
+ export type ResourceDimension = "wall-time" | "output-size" | "memory" | "network";
5
+ export interface ResourceLimitDecision {
6
+ readonly dimension: ResourceDimension;
7
+ readonly limit: number | string;
8
+ readonly enforced: boolean;
9
+ readonly note?: string | undefined;
10
+ readonly breached?: boolean | undefined;
11
+ }
12
+ export interface VerificationResourceLimits {
13
+ readonly wallTimeMs: number;
14
+ readonly maxOutputBytes: number;
15
+ readonly maxMemoryBytes: number | undefined;
16
+ readonly network: NetworkPolicy;
17
+ }
18
+ export declare const DEFAULT_VERIFICATION_LIMITS: VerificationResourceLimits;
19
+ export interface VerificationStep {
20
+ readonly kind: VerificationKind;
21
+ readonly scriptName: string | undefined;
22
+ readonly command: string;
23
+ readonly args: readonly string[];
24
+ readonly limits: VerificationResourceLimits;
25
+ readonly skipReason?: string | undefined;
26
+ }
27
+ export interface VerificationPlan {
28
+ readonly workspaceRoot: string;
29
+ readonly steps: readonly VerificationStep[];
30
+ }
31
+ export interface VerificationResult {
32
+ readonly kind: VerificationKind;
33
+ readonly scriptName: string | undefined;
34
+ readonly command: string;
35
+ readonly args: readonly string[];
36
+ readonly status: VerificationStatus;
37
+ readonly exitCode: number | null;
38
+ readonly signal: string | null;
39
+ readonly durationMs: number;
40
+ readonly truncated: boolean;
41
+ readonly redacted: boolean;
42
+ readonly outputSummary: string;
43
+ readonly appliedLimits: readonly ResourceLimitDecision[];
44
+ readonly detail?: string | undefined;
45
+ }
46
+ export interface VerificationReport {
47
+ readonly workspaceRoot: string;
48
+ readonly results: readonly VerificationResult[];
49
+ readonly overallStatus: VerificationStatus;
50
+ readonly startedAtMs: number;
51
+ readonly durationMs: number;
52
+ readonly counts: Readonly<Record<VerificationStatus, number>>;
53
+ }
54
+ export interface ScriptCatalog {
55
+ readonly scripts: Readonly<Record<string, string>>;
56
+ readonly mapping: ScriptMapping;
57
+ }
58
+ export interface ScriptMapping {
59
+ readonly test: string | undefined;
60
+ readonly typecheck: string | undefined;
61
+ readonly lint: string | undefined;
62
+ readonly build: string | undefined;
63
+ }
64
+ //# sourceMappingURL=verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../src/verification.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ // All verification-layer interfaces and the frozen default limits. No runtime logic lives here
2
+ // beyond the frozen constant tables the type layer exposes as values, mirroring the
3
+ // ADR-0003/0004/0005/0006 `types.ts` precedent. `readonly` everywhere; optional props are
4
+ // `| undefined` because exactOptionalPropertyTypes is on. Every shape is plain JSON-serializable
5
+ // so the #10 audit ledger can persist a VerificationReport without ad-hoc parsing.
6
+ // Wave-1 defaults. maxMemoryBytes is undefined by default: memory enforcement is opt-in and
7
+ // Linux-only (ADR-0007 D2/D3). network defaults to the no-network posture, documented-not-enforced.
8
+ export const DEFAULT_VERIFICATION_LIMITS = {
9
+ wallTimeMs: 120_000,
10
+ maxOutputBytes: 1_048_576,
11
+ maxMemoryBytes: undefined,
12
+ network: "none",
13
+ };
@@ -0,0 +1,21 @@
1
+ export interface WorkflowInputSpec {
2
+ readonly name: string;
3
+ readonly type: "string" | "boolean" | "string[]" | "object";
4
+ readonly required: boolean;
5
+ readonly description: string;
6
+ readonly defaultValue?: unknown;
7
+ }
8
+ export interface WorkflowDescriptor<TLimits = object> {
9
+ readonly workflowId: string;
10
+ readonly name: string;
11
+ readonly description: string;
12
+ readonly inputs: readonly WorkflowInputSpec[];
13
+ readonly defaultLimits: TLimits;
14
+ readonly modelSelectionOptions: {
15
+ readonly arbitrary: boolean;
16
+ readonly preferredCostClass: "low" | "medium" | "high";
17
+ };
18
+ readonly supportsDryRun: boolean;
19
+ readonly supportsApply: boolean;
20
+ }
21
+ //# sourceMappingURL=workflow-descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-descriptor.d.ts","sourceRoot":"","sources":["../src/workflow-descriptor.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB,CAAC,OAAO,GAAG,MAAM;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,qBAAqB,EAAE;QAE9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAE5B,QAAQ,CAAC,kBAAkB,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;KACxD,CAAC;IACF,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC"}
@@ -0,0 +1,8 @@
1
+ // Shared UI workflow-descriptor interfaces (ADR-0009 D12). Extracted from the unit-test
2
+ // workflow's descriptor so BOTH workflows depend on this common base and NEITHER depends on the
3
+ // other — a clean dependency direction for the workflows layer. Pure types, no runtime logic.
4
+ // Each workflow exports its own concrete `*_WORKFLOW_DESCRIPTOR: WorkflowDescriptor<TLimits>`
5
+ // value; issue #13 reads those values to render the workflow UI without the implementation.
6
+ // `TLimits` is the workflow's own frozen limits shape so each descriptor keeps precise typing on
7
+ // `defaultLimits` (it defaults to `object` for callers that handle descriptors generically).
8
+ export {};
@@ -0,0 +1,69 @@
1
+ export declare const WORKFLOW_HANDOFF_SCHEMA_VERSION: "1";
2
+ export interface PatchScopeLimits {
3
+ readonly maxFileCount: number;
4
+ readonly maxPatchBytes: number;
5
+ readonly maxNewFiles: number;
6
+ readonly elapsedMsMax: number;
7
+ }
8
+ export declare const DEFAULT_PATCH_SCOPE_LIMITS: PatchScopeLimits;
9
+ export type ExpectedCheck = "verify" | "lint" | "typecheck" | "tests" | "manual";
10
+ export declare const EXPECTED_CHECKS: readonly ExpectedCheck[];
11
+ export interface PatchScope {
12
+ readonly schemaVersion: typeof WORKFLOW_HANDOFF_SCHEMA_VERSION;
13
+ readonly editablePaths: readonly string[];
14
+ readonly readOnlyPaths: readonly string[];
15
+ readonly evidenceAtomIds: readonly string[];
16
+ readonly limits: PatchScopeLimits;
17
+ readonly expectedChecks: readonly ExpectedCheck[];
18
+ readonly unknowns: readonly string[];
19
+ }
20
+ export type WorkflowKind = "unit-test-generation" | "bug-investigation" | "verification";
21
+ export declare const WORKFLOW_KINDS: readonly WorkflowKind[];
22
+ export interface WorkflowHandoffRequest {
23
+ readonly schemaVersion: typeof WORKFLOW_HANDOFF_SCHEMA_VERSION;
24
+ readonly contextPackStableId: string;
25
+ readonly workflowKind: WorkflowKind;
26
+ readonly patchScope: PatchScope;
27
+ readonly requestedAtMs: number;
28
+ readonly userApprovalToken: string;
29
+ }
30
+ export interface UserApprovalTokenInput {
31
+ readonly contextPackStableId: string;
32
+ readonly workflowKind: WorkflowKind;
33
+ readonly editablePaths: readonly string[];
34
+ readonly readOnlyPaths: readonly string[];
35
+ readonly evidenceAtomIds: readonly string[];
36
+ readonly limits: PatchScopeLimits;
37
+ readonly expectedChecks: readonly ExpectedCheck[];
38
+ readonly unknowns: readonly string[];
39
+ }
40
+ export type PatchScopeViolationKind = "outside-editable-set" | "exceeds-max-file-count" | "exceeds-max-patch-bytes" | "exceeds-max-new-files" | "no-expected-checks" | "invalid-patch-scope" | "invalid-patch-entry";
41
+ export interface PatchScopeViolation {
42
+ readonly kind: PatchScopeViolationKind;
43
+ readonly path: string | undefined;
44
+ readonly observed: number | undefined;
45
+ readonly limit: number | undefined;
46
+ readonly message: string;
47
+ }
48
+ export type PatchScopeCheck = {
49
+ readonly ok: true;
50
+ } | {
51
+ readonly ok: false;
52
+ readonly violations: readonly PatchScopeViolation[];
53
+ };
54
+ export interface ProposedPatchEntry {
55
+ readonly path: string;
56
+ readonly newFile: boolean;
57
+ readonly patchBytes: number;
58
+ }
59
+ export type ValidationResult = {
60
+ readonly ok: true;
61
+ } | {
62
+ readonly ok: false;
63
+ readonly reasons: readonly string[];
64
+ };
65
+ export declare function isApprovalTokenShape(token: string): boolean;
66
+ export declare function validatePatchScope(scope: unknown): ValidationResult;
67
+ export declare function validateWorkflowHandoffRequest(request: unknown): ValidationResult;
68
+ export declare function checkPatchAgainstScope(scope: PatchScope, proposed: readonly ProposedPatchEntry[]): PatchScopeCheck;
69
+ //# sourceMappingURL=workflow-handoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-handoff.d.ts","sourceRoot":"","sources":["../src/workflow-handoff.ts"],"names":[],"mappings":"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"}