@oh-my-pi/pi-coding-agent 17.2.5 → 17.2.6

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 (55) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/{CHANGELOG-q2w43aw3.md → CHANGELOG-gs76k6wc.md} +18 -0
  3. package/dist/cli.js +3378 -3333
  4. package/dist/types/cli/gc-cli.d.ts +1 -0
  5. package/dist/types/launch/client.d.ts +9 -1
  6. package/dist/types/launch/protocol.d.ts +17 -0
  7. package/dist/types/modes/components/btw-panel.d.ts +3 -0
  8. package/dist/types/modes/controllers/btw-controller.d.ts +2 -0
  9. package/dist/types/modes/controllers/command-controller.d.ts +1 -0
  10. package/dist/types/modes/interactive-mode.d.ts +4 -1
  11. package/dist/types/modes/types.d.ts +3 -1
  12. package/dist/types/security/contracts/schemas.d.ts +405 -403
  13. package/dist/types/session/agent-session-types.d.ts +5 -0
  14. package/dist/types/session/agent-session.d.ts +26 -2
  15. package/dist/types/session/launch-completion.d.ts +10 -0
  16. package/dist/types/session/session-entries.d.ts +15 -1
  17. package/dist/types/session/session-manager.d.ts +7 -0
  18. package/dist/types/session/yield-queue.d.ts +6 -1
  19. package/dist/types/tools/index.d.ts +9 -0
  20. package/package.json +12 -12
  21. package/src/cli/gc-cli.ts +641 -21
  22. package/src/config/model-discovery.ts +14 -14
  23. package/src/config/model-registry.ts +10 -8
  24. package/src/config/settings.ts +1 -1
  25. package/src/export/html/index.ts +10 -3
  26. package/src/export/share.ts +4 -0
  27. package/src/launch/broker.ts +222 -6
  28. package/src/launch/client.ts +161 -9
  29. package/src/launch/protocol.ts +52 -0
  30. package/src/main.ts +13 -6
  31. package/src/mcp/config-writer.ts +1 -1
  32. package/src/modes/components/btw-panel.ts +41 -4
  33. package/src/modes/controllers/btw-controller.ts +55 -7
  34. package/src/modes/controllers/command-controller.ts +31 -0
  35. package/src/modes/controllers/input-controller.ts +24 -7
  36. package/src/modes/interactive-mode.ts +16 -2
  37. package/src/modes/types.ts +8 -1
  38. package/src/prompts/session/launch-completion.md +1 -0
  39. package/src/sdk.ts +15 -0
  40. package/src/security/contracts/schemas.ts +205 -183
  41. package/src/security/contracts/validation.ts +5 -1
  42. package/src/security/store.ts +2 -2
  43. package/src/session/agent-session-types.ts +6 -0
  44. package/src/session/agent-session.ts +191 -14
  45. package/src/session/launch-completion.ts +37 -0
  46. package/src/session/session-context.ts +26 -0
  47. package/src/session/session-entries.ts +17 -1
  48. package/src/session/session-manager.ts +21 -0
  49. package/src/session/yield-queue.ts +121 -16
  50. package/src/slash-commands/builtin-registry.ts +10 -0
  51. package/src/tools/browser/cmux/cmux-tab.ts +92 -4
  52. package/src/tools/hub/launch.ts +122 -6
  53. package/src/tools/index.ts +9 -0
  54. package/dist/types/config/file-lock.d.ts +0 -29
  55. package/src/config/file-lock.ts +0 -164
@@ -1,139 +1,13 @@
1
- export declare const securityProducerSchema: import("arktype/internal/variants/object.ts").ObjectType<{
2
- kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
3
- name: string;
4
- version?: string | undefined;
5
- vendor?: string | undefined;
6
- revision?: string | undefined;
7
- pluginVersion?: string | undefined;
8
- }, {}>;
9
- export declare const securityProvenanceSchema: import("arktype/internal/variants/object.ts").ObjectType<{
10
- producer: {
1
+ export declare const getSecurityContractSchemas: () => {
2
+ securityProducerSchema: import("arktype/internal/variants/object.ts").ObjectType<{
11
3
  kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
12
4
  name: string;
13
5
  version?: string | undefined;
14
6
  vendor?: string | undefined;
15
7
  revision?: string | undefined;
16
8
  pluginVersion?: string | undefined;
17
- };
18
- createdAt: string;
19
- importedAt?: string | undefined;
20
- sourceIds?: {
21
- [x: string]: string;
22
- } | undefined;
23
- vendorFingerprints?: {
24
- [x: string]: string;
25
- } | undefined;
26
- upstream?: {
27
- repository?: string | undefined;
28
- revision?: string | undefined;
29
- packageVersion?: string | undefined;
30
- pluginVersion?: string | undefined;
31
- archiveSha256?: string | undefined;
32
- } | undefined;
33
- metadata?: {
34
- [x: string]: unknown;
35
- } | undefined;
36
- }, {}>;
37
- export declare const securityLocationSchema: import("arktype/internal/variants/object.ts").ObjectType<{
38
- path: string;
39
- startLine: number;
40
- endLine?: number | undefined;
41
- startColumn?: number | undefined;
42
- endColumn?: number | undefined;
43
- role?: string | undefined;
44
- }, {}>;
45
- export declare const securityEvidenceSchema: import("arktype/internal/variants/object.ts").ObjectType<{
46
- id: string;
47
- kind: "code" | "note" | "trace" | "validation";
48
- label: string;
49
- explanation: string;
50
- location?: {
51
- path: string;
52
- startLine: number;
53
- endLine?: number | undefined;
54
- startColumn?: number | undefined;
55
- endColumn?: number | undefined;
56
- role?: string | undefined;
57
- } | undefined;
58
- excerpt?: string | undefined;
59
- }, {}>;
60
- export declare const securityOccurrenceSchema: import("arktype/internal/variants/object.ts").ObjectType<{
61
- id: string;
62
- locations: {
63
- path: string;
64
- startLine: number;
65
- endLine?: number | undefined;
66
- startColumn?: number | undefined;
67
- endColumn?: number | undefined;
68
- role?: string | undefined;
69
- }[];
70
- evidenceIds: string[];
71
- }, {}>;
72
- export declare const securityFindingSchema: import("arktype/internal/variants/object.ts").ObjectType<{
73
- id: string;
74
- scanId: string;
75
- fingerprint: string;
76
- ruleId: string;
77
- anchor?: string | undefined;
78
- title: string;
79
- summary: string;
80
- severity: {
81
- level: "critical" | "high" | "informational" | "low" | "medium";
82
- score?: number | undefined;
83
- scoringSystem?: string | undefined;
84
- vector?: string | undefined;
85
- rationale?: string | undefined;
86
- };
87
- confidence: {
88
- level: "high" | "low" | "medium";
89
- rationale?: string | undefined;
90
- };
91
- taxonomy: {
92
- category: string;
93
- cwe: string[];
94
- tags?: string[] | undefined;
95
- };
96
- occurrences: {
97
- id: string;
98
- locations: {
99
- path: string;
100
- startLine: number;
101
- endLine?: number | undefined;
102
- startColumn?: number | undefined;
103
- endColumn?: number | undefined;
104
- role?: string | undefined;
105
- }[];
106
- evidenceIds: string[];
107
- }[];
108
- evidence: {
109
- id: string;
110
- kind: "code" | "note" | "trace" | "validation";
111
- label: string;
112
- explanation: string;
113
- location?: {
114
- path: string;
115
- startLine: number;
116
- endLine?: number | undefined;
117
- startColumn?: number | undefined;
118
- endColumn?: number | undefined;
119
- role?: string | undefined;
120
- } | undefined;
121
- excerpt?: string | undefined;
122
- }[];
123
- remediation?: string | undefined;
124
- validation: {
125
- status: "error" | "partial" | "rejected" | "unvalidated" | "validated";
126
- summary?: string | undefined;
127
- evidenceIds: string[];
128
- validatedAt?: string | undefined;
129
- };
130
- disposition: {
131
- status: "accepted_risk" | "false_positive" | "fixed" | "open" | "wont_fix";
132
- rationale?: string | undefined;
133
- updatedAt?: string | undefined;
134
- actor?: string | undefined;
135
- };
136
- provenance: {
9
+ }, {}>;
10
+ securityProvenanceSchema: import("arktype/internal/variants/object.ts").ObjectType<{
137
11
  producer: {
138
12
  kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
139
13
  name: string;
@@ -160,58 +34,168 @@ export declare const securityFindingSchema: import("arktype/internal/variants/ob
160
34
  metadata?: {
161
35
  [x: string]: unknown;
162
36
  } | undefined;
163
- };
164
- extensions?: {
165
- [x: string]: unknown;
166
- } | undefined;
167
- }, {}>;
168
- export declare const securityCoverageSchema: import("arktype/internal/variants/object.ts").ObjectType<{
169
- mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
170
- completeness: "complete" | "partial" | "unknown";
171
- inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
172
- includePaths: string[];
173
- excludePaths: string[];
174
- surfaces: {
37
+ }, {}>;
38
+ securityLocationSchema: import("arktype/internal/variants/object.ts").ObjectType<{
39
+ path: string;
40
+ startLine: number;
41
+ endLine?: number | undefined;
42
+ startColumn?: number | undefined;
43
+ endColumn?: number | undefined;
44
+ role?: string | undefined;
45
+ }, {}>;
46
+ securityEvidenceSchema: import("arktype/internal/variants/object.ts").ObjectType<{
175
47
  id: string;
48
+ kind: "code" | "note" | "trace" | "validation";
176
49
  label: string;
177
- disposition: "needs_follow_up" | "no_issue_found" | "not_applicable" | "rejected" | "reported";
178
- receiptRefs: string[];
179
- riskArea?: string | undefined;
180
- notes?: string | undefined;
181
- }[];
182
- explicitExclusions: {
183
- pattern: string;
184
- reason: string;
185
- }[];
186
- deferred: {
50
+ explanation: string;
51
+ location?: {
52
+ path: string;
53
+ startLine: number;
54
+ endLine?: number | undefined;
55
+ startColumn?: number | undefined;
56
+ endColumn?: number | undefined;
57
+ role?: string | undefined;
58
+ } | undefined;
59
+ excerpt?: string | undefined;
60
+ }, {}>;
61
+ securityOccurrenceSchema: import("arktype/internal/variants/object.ts").ObjectType<{
187
62
  id: string;
188
- reason: string;
189
- paths?: string[] | undefined;
190
- surfaceIds?: string[] | undefined;
191
- }[];
192
- openQuestions?: {
193
- question: string;
194
- followUpPrompt?: string | undefined;
195
- }[] | undefined;
196
- }, {}>;
197
- export declare const securityTargetSchema: import("arktype/internal/variants/object.ts").ObjectType<{
198
- kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
199
- repositoryRoot: string;
200
- displayName: string;
201
- revision?: string | undefined;
202
- baseRevision?: string | undefined;
203
- headRevision?: string | undefined;
204
- includePaths: string[];
205
- excludePaths: string[];
206
- treeDigest: string;
207
- }, {}>;
208
- export declare const securityScanPlanSchema: import("arktype/internal/variants/object.ts").ObjectType<{
209
- documentType: "omp-security.scan-plan";
210
- schemaVersion: "1.0";
211
- id: string;
212
- createdAt: string;
213
- repositoryRoot: string;
214
- target: {
63
+ locations: {
64
+ path: string;
65
+ startLine: number;
66
+ endLine?: number | undefined;
67
+ startColumn?: number | undefined;
68
+ endColumn?: number | undefined;
69
+ role?: string | undefined;
70
+ }[];
71
+ evidenceIds: string[];
72
+ }, {}>;
73
+ securityFindingSchema: import("arktype/internal/variants/object.ts").ObjectType<{
74
+ id: string;
75
+ scanId: string;
76
+ fingerprint: string;
77
+ ruleId: string;
78
+ anchor?: string | undefined;
79
+ title: string;
80
+ summary: string;
81
+ severity: {
82
+ level: "critical" | "high" | "informational" | "low" | "medium";
83
+ score?: number | undefined;
84
+ scoringSystem?: string | undefined;
85
+ vector?: string | undefined;
86
+ rationale?: string | undefined;
87
+ };
88
+ confidence: {
89
+ level: "high" | "low" | "medium";
90
+ rationale?: string | undefined;
91
+ };
92
+ taxonomy: {
93
+ category: string;
94
+ cwe: string[];
95
+ tags?: string[] | undefined;
96
+ };
97
+ occurrences: {
98
+ id: string;
99
+ locations: {
100
+ path: string;
101
+ startLine: number;
102
+ endLine?: number | undefined;
103
+ startColumn?: number | undefined;
104
+ endColumn?: number | undefined;
105
+ role?: string | undefined;
106
+ }[];
107
+ evidenceIds: string[];
108
+ }[];
109
+ evidence: {
110
+ id: string;
111
+ kind: "code" | "note" | "trace" | "validation";
112
+ label: string;
113
+ explanation: string;
114
+ location?: {
115
+ path: string;
116
+ startLine: number;
117
+ endLine?: number | undefined;
118
+ startColumn?: number | undefined;
119
+ endColumn?: number | undefined;
120
+ role?: string | undefined;
121
+ } | undefined;
122
+ excerpt?: string | undefined;
123
+ }[];
124
+ remediation?: string | undefined;
125
+ validation: {
126
+ status: "error" | "partial" | "rejected" | "unvalidated" | "validated";
127
+ summary?: string | undefined;
128
+ evidenceIds: string[];
129
+ validatedAt?: string | undefined;
130
+ };
131
+ disposition: {
132
+ status: "accepted_risk" | "false_positive" | "fixed" | "open" | "wont_fix";
133
+ rationale?: string | undefined;
134
+ updatedAt?: string | undefined;
135
+ actor?: string | undefined;
136
+ };
137
+ provenance: {
138
+ producer: {
139
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
140
+ name: string;
141
+ version?: string | undefined;
142
+ vendor?: string | undefined;
143
+ revision?: string | undefined;
144
+ pluginVersion?: string | undefined;
145
+ };
146
+ createdAt: string;
147
+ importedAt?: string | undefined;
148
+ sourceIds?: {
149
+ [x: string]: string;
150
+ } | undefined;
151
+ vendorFingerprints?: {
152
+ [x: string]: string;
153
+ } | undefined;
154
+ upstream?: {
155
+ repository?: string | undefined;
156
+ revision?: string | undefined;
157
+ packageVersion?: string | undefined;
158
+ pluginVersion?: string | undefined;
159
+ archiveSha256?: string | undefined;
160
+ } | undefined;
161
+ metadata?: {
162
+ [x: string]: unknown;
163
+ } | undefined;
164
+ };
165
+ extensions?: {
166
+ [x: string]: unknown;
167
+ } | undefined;
168
+ }, {}>;
169
+ securityCoverageSchema: import("arktype/internal/variants/object.ts").ObjectType<{
170
+ mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
171
+ completeness: "complete" | "partial" | "unknown";
172
+ inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
173
+ includePaths: string[];
174
+ excludePaths: string[];
175
+ surfaces: {
176
+ id: string;
177
+ label: string;
178
+ disposition: "needs_follow_up" | "no_issue_found" | "not_applicable" | "rejected" | "reported";
179
+ receiptRefs: string[];
180
+ riskArea?: string | undefined;
181
+ notes?: string | undefined;
182
+ }[];
183
+ explicitExclusions: {
184
+ pattern: string;
185
+ reason: string;
186
+ }[];
187
+ deferred: {
188
+ id: string;
189
+ reason: string;
190
+ paths?: string[] | undefined;
191
+ surfaceIds?: string[] | undefined;
192
+ }[];
193
+ openQuestions?: {
194
+ question: string;
195
+ followUpPrompt?: string | undefined;
196
+ }[] | undefined;
197
+ }, {}>;
198
+ securityTargetSchema: import("arktype/internal/variants/object.ts").ObjectType<{
215
199
  kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
216
200
  repositoryRoot: string;
217
201
  displayName: string;
@@ -221,57 +205,8 @@ export declare const securityScanPlanSchema: import("arktype/internal/variants/o
221
205
  includePaths: string[];
222
206
  excludePaths: string[];
223
207
  treeDigest: string;
224
- };
225
- knowledgeBases: {
226
- path: string;
227
- sha256: string;
228
- size: number;
229
- }[];
230
- output: {
231
- root: string;
232
- archiveExisting: boolean;
233
- existingState: "absent" | "archivable" | "empty";
234
- };
235
- model: {
236
- provider: string;
237
- modelId: string;
238
- thinkingLevel?: string | undefined;
239
- };
240
- account: {
241
- provider: string;
242
- credentialId: number;
243
- accountId?: string | undefined;
244
- email?: string | undefined;
245
- organizationId?: string | undefined;
246
- organizationName?: string | undefined;
247
- };
248
- configFingerprint: string;
249
- workflowFingerprint: string;
250
- fingerprint: string;
251
- }, {}>;
252
- export declare const securityScanMetricsSchema: import("arktype/internal/variants/object.ts").ObjectType<{
253
- runtimeMs?: number | undefined;
254
- tokenUsage?: {
255
- input: number;
256
- output: number;
257
- reasoning: number;
258
- cacheRead: number;
259
- cacheWrite: number;
260
- total: number;
261
- } | undefined;
262
- cost?: number | undefined;
263
- premiumRequests?: number | undefined;
264
- }, {}>;
265
- export declare const securityScanSchema: import("arktype/internal/variants/object.ts").ObjectType<{
266
- documentType: "omp-security.scan";
267
- schemaVersion: "1.0";
268
- id: string;
269
- projectKey: string;
270
- status: "cancelled" | "completed" | "failed" | "partial" | "planned" | "running";
271
- createdAt: string;
272
- startedAt?: string | undefined;
273
- completedAt?: string | undefined;
274
- plan?: {
208
+ }, {}>;
209
+ securityScanPlanSchema: import("arktype/internal/variants/object.ts").ObjectType<{
275
210
  documentType: "omp-security.scan-plan";
276
211
  schemaVersion: "1.0";
277
212
  id: string;
@@ -314,88 +249,8 @@ export declare const securityScanSchema: import("arktype/internal/variants/objec
314
249
  configFingerprint: string;
315
250
  workflowFingerprint: string;
316
251
  fingerprint: string;
317
- } | undefined;
318
- target: {
319
- kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
320
- repositoryRoot: string;
321
- displayName: string;
322
- revision?: string | undefined;
323
- baseRevision?: string | undefined;
324
- headRevision?: string | undefined;
325
- includePaths: string[];
326
- excludePaths: string[];
327
- treeDigest: string;
328
- };
329
- producer: {
330
- kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
331
- name: string;
332
- version?: string | undefined;
333
- vendor?: string | undefined;
334
- revision?: string | undefined;
335
- pluginVersion?: string | undefined;
336
- };
337
- provenance: {
338
- producer: {
339
- kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
340
- name: string;
341
- version?: string | undefined;
342
- vendor?: string | undefined;
343
- revision?: string | undefined;
344
- pluginVersion?: string | undefined;
345
- };
346
- createdAt: string;
347
- importedAt?: string | undefined;
348
- sourceIds?: {
349
- [x: string]: string;
350
- } | undefined;
351
- vendorFingerprints?: {
352
- [x: string]: string;
353
- } | undefined;
354
- upstream?: {
355
- repository?: string | undefined;
356
- revision?: string | undefined;
357
- packageVersion?: string | undefined;
358
- pluginVersion?: string | undefined;
359
- archiveSha256?: string | undefined;
360
- } | undefined;
361
- metadata?: {
362
- [x: string]: unknown;
363
- } | undefined;
364
- };
365
- findingIds: string[];
366
- coverage: {
367
- mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
368
- completeness: "complete" | "partial" | "unknown";
369
- inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
370
- includePaths: string[];
371
- excludePaths: string[];
372
- surfaces: {
373
- id: string;
374
- label: string;
375
- disposition: "needs_follow_up" | "no_issue_found" | "not_applicable" | "rejected" | "reported";
376
- receiptRefs: string[];
377
- riskArea?: string | undefined;
378
- notes?: string | undefined;
379
- }[];
380
- explicitExclusions: {
381
- pattern: string;
382
- reason: string;
383
- }[];
384
- deferred: {
385
- id: string;
386
- reason: string;
387
- paths?: string[] | undefined;
388
- surfaceIds?: string[] | undefined;
389
- }[];
390
- openQuestions?: {
391
- question: string;
392
- followUpPrompt?: string | undefined;
393
- }[] | undefined;
394
- };
395
- reportRef?: string | undefined;
396
- sarifRef?: string | undefined;
397
- error?: string | undefined;
398
- metrics?: {
252
+ }, {}>;
253
+ securityScanMetricsSchema: import("arktype/internal/variants/object.ts").ObjectType<{
399
254
  runtimeMs?: number | undefined;
400
255
  tokenUsage?: {
401
256
  input: number;
@@ -407,10 +262,8 @@ export declare const securityScanSchema: import("arktype/internal/variants/objec
407
262
  } | undefined;
408
263
  cost?: number | undefined;
409
264
  premiumRequests?: number | undefined;
410
- } | undefined;
411
- }, {}>;
412
- export declare const securityScanBundleSchema: import("arktype/internal/variants/object.ts").ObjectType<{
413
- scan: {
265
+ }, {}>;
266
+ securityScanSchema: import("arktype/internal/variants/object.ts").ObjectType<{
414
267
  documentType: "omp-security.scan";
415
268
  schemaVersion: "1.0";
416
269
  id: string;
@@ -556,72 +409,72 @@ export declare const securityScanBundleSchema: import("arktype/internal/variants
556
409
  cost?: number | undefined;
557
410
  premiumRequests?: number | undefined;
558
411
  } | undefined;
559
- };
560
- findings: {
561
- id: string;
562
- scanId: string;
563
- fingerprint: string;
564
- ruleId: string;
565
- anchor?: string | undefined;
566
- title: string;
567
- summary: string;
568
- severity: {
569
- level: "critical" | "high" | "informational" | "low" | "medium";
570
- score?: number | undefined;
571
- scoringSystem?: string | undefined;
572
- vector?: string | undefined;
573
- rationale?: string | undefined;
574
- };
575
- confidence: {
576
- level: "high" | "low" | "medium";
577
- rationale?: string | undefined;
578
- };
579
- taxonomy: {
580
- category: string;
581
- cwe: string[];
582
- tags?: string[] | undefined;
583
- };
584
- occurrences: {
585
- id: string;
586
- locations: {
587
- path: string;
588
- startLine: number;
589
- endLine?: number | undefined;
590
- startColumn?: number | undefined;
591
- endColumn?: number | undefined;
592
- role?: string | undefined;
593
- }[];
594
- evidenceIds: string[];
595
- }[];
596
- evidence: {
412
+ }, {}>;
413
+ securityScanBundleSchema: import("arktype/internal/variants/object.ts").ObjectType<{
414
+ scan: {
415
+ documentType: "omp-security.scan";
416
+ schemaVersion: "1.0";
597
417
  id: string;
598
- kind: "code" | "note" | "trace" | "validation";
599
- label: string;
600
- explanation: string;
601
- location?: {
602
- path: string;
603
- startLine: number;
604
- endLine?: number | undefined;
605
- startColumn?: number | undefined;
606
- endColumn?: number | undefined;
607
- role?: string | undefined;
418
+ projectKey: string;
419
+ status: "cancelled" | "completed" | "failed" | "partial" | "planned" | "running";
420
+ createdAt: string;
421
+ startedAt?: string | undefined;
422
+ completedAt?: string | undefined;
423
+ plan?: {
424
+ documentType: "omp-security.scan-plan";
425
+ schemaVersion: "1.0";
426
+ id: string;
427
+ createdAt: string;
428
+ repositoryRoot: string;
429
+ target: {
430
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
431
+ repositoryRoot: string;
432
+ displayName: string;
433
+ revision?: string | undefined;
434
+ baseRevision?: string | undefined;
435
+ headRevision?: string | undefined;
436
+ includePaths: string[];
437
+ excludePaths: string[];
438
+ treeDigest: string;
439
+ };
440
+ knowledgeBases: {
441
+ path: string;
442
+ sha256: string;
443
+ size: number;
444
+ }[];
445
+ output: {
446
+ root: string;
447
+ archiveExisting: boolean;
448
+ existingState: "absent" | "archivable" | "empty";
449
+ };
450
+ model: {
451
+ provider: string;
452
+ modelId: string;
453
+ thinkingLevel?: string | undefined;
454
+ };
455
+ account: {
456
+ provider: string;
457
+ credentialId: number;
458
+ accountId?: string | undefined;
459
+ email?: string | undefined;
460
+ organizationId?: string | undefined;
461
+ organizationName?: string | undefined;
462
+ };
463
+ configFingerprint: string;
464
+ workflowFingerprint: string;
465
+ fingerprint: string;
608
466
  } | undefined;
609
- excerpt?: string | undefined;
610
- }[];
611
- remediation?: string | undefined;
612
- validation: {
613
- status: "error" | "partial" | "rejected" | "unvalidated" | "validated";
614
- summary?: string | undefined;
615
- evidenceIds: string[];
616
- validatedAt?: string | undefined;
617
- };
618
- disposition: {
619
- status: "accepted_risk" | "false_positive" | "fixed" | "open" | "wont_fix";
620
- rationale?: string | undefined;
621
- updatedAt?: string | undefined;
622
- actor?: string | undefined;
623
- };
624
- provenance: {
467
+ target: {
468
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
469
+ repositoryRoot: string;
470
+ displayName: string;
471
+ revision?: string | undefined;
472
+ baseRevision?: string | undefined;
473
+ headRevision?: string | undefined;
474
+ includePaths: string[];
475
+ excludePaths: string[];
476
+ treeDigest: string;
477
+ };
625
478
  producer: {
626
479
  kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
627
480
  name: string;
@@ -630,31 +483,180 @@ export declare const securityScanBundleSchema: import("arktype/internal/variants
630
483
  revision?: string | undefined;
631
484
  pluginVersion?: string | undefined;
632
485
  };
633
- createdAt: string;
634
- importedAt?: string | undefined;
635
- sourceIds?: {
636
- [x: string]: string;
637
- } | undefined;
638
- vendorFingerprints?: {
639
- [x: string]: string;
640
- } | undefined;
641
- upstream?: {
642
- repository?: string | undefined;
643
- revision?: string | undefined;
644
- packageVersion?: string | undefined;
645
- pluginVersion?: string | undefined;
646
- archiveSha256?: string | undefined;
486
+ provenance: {
487
+ producer: {
488
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
489
+ name: string;
490
+ version?: string | undefined;
491
+ vendor?: string | undefined;
492
+ revision?: string | undefined;
493
+ pluginVersion?: string | undefined;
494
+ };
495
+ createdAt: string;
496
+ importedAt?: string | undefined;
497
+ sourceIds?: {
498
+ [x: string]: string;
499
+ } | undefined;
500
+ vendorFingerprints?: {
501
+ [x: string]: string;
502
+ } | undefined;
503
+ upstream?: {
504
+ repository?: string | undefined;
505
+ revision?: string | undefined;
506
+ packageVersion?: string | undefined;
507
+ pluginVersion?: string | undefined;
508
+ archiveSha256?: string | undefined;
509
+ } | undefined;
510
+ metadata?: {
511
+ [x: string]: unknown;
512
+ } | undefined;
513
+ };
514
+ findingIds: string[];
515
+ coverage: {
516
+ mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
517
+ completeness: "complete" | "partial" | "unknown";
518
+ inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
519
+ includePaths: string[];
520
+ excludePaths: string[];
521
+ surfaces: {
522
+ id: string;
523
+ label: string;
524
+ disposition: "needs_follow_up" | "no_issue_found" | "not_applicable" | "rejected" | "reported";
525
+ receiptRefs: string[];
526
+ riskArea?: string | undefined;
527
+ notes?: string | undefined;
528
+ }[];
529
+ explicitExclusions: {
530
+ pattern: string;
531
+ reason: string;
532
+ }[];
533
+ deferred: {
534
+ id: string;
535
+ reason: string;
536
+ paths?: string[] | undefined;
537
+ surfaceIds?: string[] | undefined;
538
+ }[];
539
+ openQuestions?: {
540
+ question: string;
541
+ followUpPrompt?: string | undefined;
542
+ }[] | undefined;
543
+ };
544
+ reportRef?: string | undefined;
545
+ sarifRef?: string | undefined;
546
+ error?: string | undefined;
547
+ metrics?: {
548
+ runtimeMs?: number | undefined;
549
+ tokenUsage?: {
550
+ input: number;
551
+ output: number;
552
+ reasoning: number;
553
+ cacheRead: number;
554
+ cacheWrite: number;
555
+ total: number;
556
+ } | undefined;
557
+ cost?: number | undefined;
558
+ premiumRequests?: number | undefined;
647
559
  } | undefined;
648
- metadata?: {
560
+ };
561
+ findings: {
562
+ id: string;
563
+ scanId: string;
564
+ fingerprint: string;
565
+ ruleId: string;
566
+ anchor?: string | undefined;
567
+ title: string;
568
+ summary: string;
569
+ severity: {
570
+ level: "critical" | "high" | "informational" | "low" | "medium";
571
+ score?: number | undefined;
572
+ scoringSystem?: string | undefined;
573
+ vector?: string | undefined;
574
+ rationale?: string | undefined;
575
+ };
576
+ confidence: {
577
+ level: "high" | "low" | "medium";
578
+ rationale?: string | undefined;
579
+ };
580
+ taxonomy: {
581
+ category: string;
582
+ cwe: string[];
583
+ tags?: string[] | undefined;
584
+ };
585
+ occurrences: {
586
+ id: string;
587
+ locations: {
588
+ path: string;
589
+ startLine: number;
590
+ endLine?: number | undefined;
591
+ startColumn?: number | undefined;
592
+ endColumn?: number | undefined;
593
+ role?: string | undefined;
594
+ }[];
595
+ evidenceIds: string[];
596
+ }[];
597
+ evidence: {
598
+ id: string;
599
+ kind: "code" | "note" | "trace" | "validation";
600
+ label: string;
601
+ explanation: string;
602
+ location?: {
603
+ path: string;
604
+ startLine: number;
605
+ endLine?: number | undefined;
606
+ startColumn?: number | undefined;
607
+ endColumn?: number | undefined;
608
+ role?: string | undefined;
609
+ } | undefined;
610
+ excerpt?: string | undefined;
611
+ }[];
612
+ remediation?: string | undefined;
613
+ validation: {
614
+ status: "error" | "partial" | "rejected" | "unvalidated" | "validated";
615
+ summary?: string | undefined;
616
+ evidenceIds: string[];
617
+ validatedAt?: string | undefined;
618
+ };
619
+ disposition: {
620
+ status: "accepted_risk" | "false_positive" | "fixed" | "open" | "wont_fix";
621
+ rationale?: string | undefined;
622
+ updatedAt?: string | undefined;
623
+ actor?: string | undefined;
624
+ };
625
+ provenance: {
626
+ producer: {
627
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
628
+ name: string;
629
+ version?: string | undefined;
630
+ vendor?: string | undefined;
631
+ revision?: string | undefined;
632
+ pluginVersion?: string | undefined;
633
+ };
634
+ createdAt: string;
635
+ importedAt?: string | undefined;
636
+ sourceIds?: {
637
+ [x: string]: string;
638
+ } | undefined;
639
+ vendorFingerprints?: {
640
+ [x: string]: string;
641
+ } | undefined;
642
+ upstream?: {
643
+ repository?: string | undefined;
644
+ revision?: string | undefined;
645
+ packageVersion?: string | undefined;
646
+ pluginVersion?: string | undefined;
647
+ archiveSha256?: string | undefined;
648
+ } | undefined;
649
+ metadata?: {
650
+ [x: string]: unknown;
651
+ } | undefined;
652
+ };
653
+ extensions?: {
649
654
  [x: string]: unknown;
650
655
  } | undefined;
651
- };
652
- extensions?: {
656
+ }[];
657
+ report?: string | undefined;
658
+ sarif?: {
653
659
  [x: string]: unknown;
654
660
  } | undefined;
655
- }[];
656
- report?: string | undefined;
657
- sarif?: {
658
- [x: string]: unknown;
659
- } | undefined;
660
- }, {}>;
661
+ }, {}>;
662
+ };