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

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 (162) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/dist/{CHANGELOG-gs76k6wc.md → CHANGELOG-0b0w17se.md} +23 -1
  3. package/dist/cli.js +3850 -3887
  4. package/dist/types/advisor/advise-tool.d.ts +10 -4
  5. package/dist/types/autoresearch/tools/init-experiment.d.ts +19 -7
  6. package/dist/types/autoresearch/tools/log-experiment.d.ts +19 -11
  7. package/dist/types/autoresearch/tools/run-experiment.d.ts +4 -2
  8. package/dist/types/autoresearch/tools/update-notes.d.ts +5 -2
  9. package/dist/types/commit/agentic/tools/analyze-file.d.ts +5 -2
  10. package/dist/types/commit/agentic/tools/git-file-diff.d.ts +5 -2
  11. package/dist/types/commit/agentic/tools/git-hunk.d.ts +6 -2
  12. package/dist/types/commit/agentic/tools/git-overview.d.ts +5 -2
  13. package/dist/types/commit/agentic/tools/propose-changelog.d.ts +29 -7
  14. package/dist/types/commit/agentic/tools/propose-commit.d.ts +14 -4
  15. package/dist/types/commit/agentic/tools/recent-commits.d.ts +4 -2
  16. package/dist/types/commit/agentic/tools/schemas.d.ts +7 -3
  17. package/dist/types/commit/agentic/tools/split-commit.d.ts +37 -10
  18. package/dist/types/commit/changelog/generate.d.ts +13 -3
  19. package/dist/types/commit/shared-llm.d.ts +13 -4
  20. package/dist/types/config/config-file.d.ts +1 -1
  21. package/dist/types/config/models-config-schema-bundle.d.ts +1992 -981
  22. package/dist/types/config/models-config-schema.d.ts +1201 -580
  23. package/dist/types/config/models-config.d.ts +355 -371
  24. package/dist/types/edit/hashline/params.d.ts +4 -2
  25. package/dist/types/edit/modes/apply-patch.d.ts +4 -2
  26. package/dist/types/edit/modes/patch.d.ts +16 -5
  27. package/dist/types/edit/modes/replace.d.ts +8 -3
  28. package/dist/types/eval/bridge-timeout.d.ts +5 -2
  29. package/dist/types/eval/completion-bridge.d.ts +13 -0
  30. package/dist/types/eval/py/tool-bridge.d.ts +12 -0
  31. package/dist/types/extensibility/custom-commands/types.d.ts +4 -4
  32. package/dist/types/extensibility/custom-tools/types.d.ts +4 -4
  33. package/dist/types/extensibility/extensions/types.d.ts +4 -4
  34. package/dist/types/extensibility/hooks/types.d.ts +4 -4
  35. package/dist/types/extensibility/legacy-pi-ai-shim.d.ts +1 -1
  36. package/dist/types/extensibility/legacy-pi-coding-agent-shim.d.ts +1 -1
  37. package/dist/types/extensibility/legacy-typebox.d.ts +8 -0
  38. package/dist/types/extensibility/plugins/legacy-pi-compat.d.ts +6 -13
  39. package/dist/types/goals/tools/goal-tool.d.ts +12 -4
  40. package/dist/types/lsp/index.d.ts +15 -5
  41. package/dist/types/lsp/types.d.ts +15 -5
  42. package/dist/types/security/contracts/schemas.d.ts +985 -409
  43. package/dist/types/security/publication.d.ts +92 -34
  44. package/dist/types/session/agent-session-types.d.ts +1 -1
  45. package/dist/types/session/session-entries.d.ts +1 -1
  46. package/dist/types/session/session-manager.d.ts +1 -1
  47. package/dist/types/task/types.d.ts +63 -18
  48. package/dist/types/tools/ask.d.ts +34 -8
  49. package/dist/types/tools/ast-edit.d.ts +16 -4
  50. package/dist/types/tools/ast-grep.d.ts +12 -4
  51. package/dist/types/tools/bash.d.ts +20 -11
  52. package/dist/types/tools/browser.d.ts +64 -20
  53. package/dist/types/tools/checkpoint.d.ts +16 -8
  54. package/dist/types/tools/computer.d.ts +1 -1
  55. package/dist/types/tools/debug.d.ts +118 -48
  56. package/dist/types/tools/eval.d.ts +11 -5
  57. package/dist/types/tools/gh.d.ts +74 -26
  58. package/dist/types/tools/glob.d.ts +16 -6
  59. package/dist/types/tools/grep.d.ts +18 -6
  60. package/dist/types/tools/hub/index.d.ts +116 -46
  61. package/dist/types/tools/image-gen.d.ts +25 -8
  62. package/dist/types/tools/inspect-image.d.ts +10 -4
  63. package/dist/types/tools/learn.d.ts +26 -8
  64. package/dist/types/tools/manage-skill.d.ts +16 -6
  65. package/dist/types/tools/memory-edit.d.ts +18 -6
  66. package/dist/types/tools/memory-recall.d.ts +8 -4
  67. package/dist/types/tools/memory-reflect.d.ts +10 -4
  68. package/dist/types/tools/memory-retain.d.ts +14 -4
  69. package/dist/types/tools/read.d.ts +8 -4
  70. package/dist/types/tools/security-scan.d.ts +82 -30
  71. package/dist/types/tools/todo.d.ts +30 -10
  72. package/dist/types/tools/tts.d.ts +12 -5
  73. package/dist/types/tools/vibe.d.ts +42 -18
  74. package/dist/types/tools/write.d.ts +10 -4
  75. package/dist/types/web/search/index.d.ts +20 -6
  76. package/package.json +13 -13
  77. package/scripts/legacy-pi-virtual-module.ts +2 -2
  78. package/src/advisor/advise-tool.ts +1 -1
  79. package/src/advisor/config.ts +1 -1
  80. package/src/autoresearch/tools/init-experiment.ts +1 -2
  81. package/src/autoresearch/tools/log-experiment.ts +1 -2
  82. package/src/autoresearch/tools/run-experiment.ts +1 -1
  83. package/src/autoresearch/tools/update-notes.ts +1 -1
  84. package/src/commit/agentic/tools/analyze-file.ts +1 -1
  85. package/src/commit/agentic/tools/git-file-diff.ts +1 -1
  86. package/src/commit/agentic/tools/git-hunk.ts +1 -1
  87. package/src/commit/agentic/tools/git-overview.ts +1 -1
  88. package/src/commit/agentic/tools/propose-changelog.ts +1 -1
  89. package/src/commit/agentic/tools/propose-commit.ts +1 -1
  90. package/src/commit/agentic/tools/recent-commits.ts +1 -1
  91. package/src/commit/agentic/tools/schemas.ts +1 -1
  92. package/src/commit/agentic/tools/split-commit.ts +1 -1
  93. package/src/commit/analysis/summary.ts +1 -1
  94. package/src/commit/changelog/generate.ts +1 -1
  95. package/src/config/config-file.ts +2 -2
  96. package/src/config/models-config-schema-bundle.ts +1 -8
  97. package/src/discovery/codex.ts +22 -9
  98. package/src/edit/hashline/params.ts +1 -1
  99. package/src/edit/modes/apply-patch.ts +1 -1
  100. package/src/edit/modes/patch.ts +1 -1
  101. package/src/edit/modes/replace.ts +2 -1
  102. package/src/eval/agent-bridge.ts +4 -2
  103. package/src/eval/bridge-timeout.ts +5 -2
  104. package/src/eval/completion-bridge.ts +3 -2
  105. package/src/eval/executor-base.ts +20 -1
  106. package/src/eval/js/context-manager.ts +94 -6
  107. package/src/eval/py/tool-bridge.ts +29 -9
  108. package/src/extensibility/custom-commands/loader.ts +3 -3
  109. package/src/extensibility/custom-commands/types.ts +4 -4
  110. package/src/extensibility/custom-tools/loader.ts +3 -3
  111. package/src/extensibility/custom-tools/types.ts +5 -4
  112. package/src/extensibility/extensions/loader.ts +3 -3
  113. package/src/extensibility/extensions/types.ts +5 -4
  114. package/src/extensibility/hooks/loader.ts +3 -3
  115. package/src/extensibility/hooks/types.ts +4 -4
  116. package/src/extensibility/legacy-pi-ai-shim.ts +1 -1
  117. package/src/extensibility/legacy-pi-coding-agent-shim.ts +2 -2
  118. package/src/extensibility/legacy-typebox.ts +101 -0
  119. package/src/extensibility/plugins/legacy-pi-compat.ts +13 -22
  120. package/src/goals/tools/goal-tool.ts +1 -1
  121. package/src/lsp/types.ts +1 -1
  122. package/src/modes/theme/theme.ts +3 -3
  123. package/src/security/contracts/schemas.ts +1 -5
  124. package/src/security/contracts/validation.ts +1 -1
  125. package/src/security/publication.ts +1 -1
  126. package/src/session/agent-session-types.ts +1 -1
  127. package/src/session/agent-session.ts +1 -2
  128. package/src/session/session-context.ts +3 -3
  129. package/src/session/session-entries.ts +1 -1
  130. package/src/session/session-manager.ts +1 -1
  131. package/src/slash-commands/builtin-registry.ts +3 -4
  132. package/src/task/types.ts +1 -1
  133. package/src/tools/ask.ts +1 -1
  134. package/src/tools/ast-edit.ts +1 -1
  135. package/src/tools/ast-grep.ts +1 -1
  136. package/src/tools/bash.ts +61 -3
  137. package/src/tools/browser.ts +1 -1
  138. package/src/tools/checkpoint.ts +1 -1
  139. package/src/tools/computer.ts +1 -1
  140. package/src/tools/debug.ts +1 -1
  141. package/src/tools/eval.ts +1 -1
  142. package/src/tools/gh.ts +1 -2
  143. package/src/tools/glob.ts +1 -1
  144. package/src/tools/grep.ts +1 -1
  145. package/src/tools/hub/index.ts +1 -1
  146. package/src/tools/image-gen.ts +1 -1
  147. package/src/tools/inspect-image.ts +1 -1
  148. package/src/tools/learn.ts +1 -1
  149. package/src/tools/manage-skill.ts +1 -1
  150. package/src/tools/memory-edit.ts +1 -1
  151. package/src/tools/memory-recall.ts +1 -1
  152. package/src/tools/memory-reflect.ts +1 -1
  153. package/src/tools/memory-retain.ts +1 -1
  154. package/src/tools/read.ts +1 -1
  155. package/src/tools/security-scan.ts +1 -1
  156. package/src/tools/todo.ts +1 -1
  157. package/src/tools/tts.ts +1 -1
  158. package/src/tools/vibe.ts +2 -1
  159. package/src/tools/write.ts +1 -1
  160. package/src/web/search/index.ts +2 -1
  161. package/dist/types/extensibility/typebox.d.ts +0 -181
  162. package/src/extensibility/typebox.ts +0 -958
@@ -1,662 +1,1238 @@
1
1
  export declare const getSecurityContractSchemas: () => {
2
- securityProducerSchema: import("arktype/internal/variants/object.ts").ObjectType<{
2
+ securityProducerSchema: import("@oh-my-pi/omptype").FluentType<{
3
3
  kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
4
4
  name: string;
5
- version?: string | undefined;
6
- vendor?: string | undefined;
5
+ pluginVersion?: string | undefined;
7
6
  revision?: string | undefined;
7
+ vendor?: string | undefined;
8
+ version?: string | undefined;
9
+ }, {
10
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
11
+ name: string;
8
12
  pluginVersion?: string | undefined;
9
- }, {}>;
10
- securityProvenanceSchema: import("arktype/internal/variants/object.ts").ObjectType<{
13
+ revision?: string | undefined;
14
+ vendor?: string | undefined;
15
+ version?: string | undefined;
16
+ }>;
17
+ securityProvenanceSchema: import("@oh-my-pi/omptype").FluentType<{
18
+ createdAt: string;
19
+ importedAt?: string | undefined;
20
+ metadata?: Record<string, unknown> | undefined;
11
21
  producer: {
12
22
  kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
13
23
  name: string;
14
- version?: string | undefined;
15
- vendor?: string | undefined;
16
- revision?: string | undefined;
17
24
  pluginVersion?: string | undefined;
25
+ revision?: string | undefined;
26
+ vendor?: string | undefined;
27
+ version?: string | undefined;
18
28
  };
19
- createdAt: string;
20
- importedAt?: string | undefined;
21
- sourceIds?: {
22
- [x: string]: string;
23
- } | undefined;
24
- vendorFingerprints?: {
25
- [x: string]: string;
26
- } | undefined;
29
+ sourceIds?: Record<string, string> | undefined;
27
30
  upstream?: {
31
+ archiveSha256?: string | undefined;
32
+ packageVersion?: string | undefined;
33
+ pluginVersion?: string | undefined;
28
34
  repository?: string | undefined;
29
35
  revision?: string | undefined;
30
- packageVersion?: string | undefined;
36
+ } | undefined;
37
+ vendorFingerprints?: Record<string, string> | undefined;
38
+ }, {
39
+ createdAt: string;
40
+ importedAt?: string | undefined;
41
+ metadata?: Record<string, unknown> | undefined;
42
+ producer: {
43
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
44
+ name: string;
31
45
  pluginVersion?: string | undefined;
46
+ revision?: string | undefined;
47
+ vendor?: string | undefined;
48
+ version?: string | undefined;
49
+ };
50
+ sourceIds?: Record<string, string> | undefined;
51
+ upstream?: {
32
52
  archiveSha256?: string | undefined;
53
+ packageVersion?: string | undefined;
54
+ pluginVersion?: string | undefined;
55
+ repository?: string | undefined;
56
+ revision?: string | undefined;
33
57
  } | undefined;
34
- metadata?: {
35
- [x: string]: unknown;
36
- } | undefined;
37
- }, {}>;
38
- securityLocationSchema: import("arktype/internal/variants/object.ts").ObjectType<{
39
- path: string;
40
- startLine: number;
58
+ vendorFingerprints?: Record<string, string> | undefined;
59
+ }>;
60
+ securityLocationSchema: import("@oh-my-pi/omptype").FluentType<{
61
+ endColumn?: number | undefined;
41
62
  endLine?: number | undefined;
63
+ path: string;
64
+ role?: string | undefined;
42
65
  startColumn?: number | undefined;
66
+ startLine: number;
67
+ }, {
43
68
  endColumn?: number | undefined;
69
+ endLine?: number | undefined;
70
+ path: string;
44
71
  role?: string | undefined;
45
- }, {}>;
46
- securityEvidenceSchema: import("arktype/internal/variants/object.ts").ObjectType<{
72
+ startColumn?: number | undefined;
73
+ startLine: number;
74
+ }>;
75
+ securityEvidenceSchema: import("@oh-my-pi/omptype").FluentType<{
76
+ excerpt?: string | undefined;
77
+ explanation: string;
47
78
  id: string;
48
79
  kind: "code" | "note" | "trace" | "validation";
49
80
  label: string;
50
- explanation: string;
51
81
  location?: {
52
- path: string;
53
- startLine: number;
54
- endLine?: number | undefined;
55
- startColumn?: number | undefined;
56
82
  endColumn?: number | undefined;
83
+ endLine?: number | undefined;
84
+ path: string;
57
85
  role?: string | undefined;
86
+ startColumn?: number | undefined;
87
+ startLine: number;
58
88
  } | undefined;
89
+ }, {
59
90
  excerpt?: string | undefined;
60
- }, {}>;
61
- securityOccurrenceSchema: import("arktype/internal/variants/object.ts").ObjectType<{
91
+ explanation: string;
62
92
  id: string;
63
- locations: {
64
- path: string;
65
- startLine: number;
93
+ kind: "code" | "note" | "trace" | "validation";
94
+ label: string;
95
+ location?: {
96
+ endColumn?: number | undefined;
66
97
  endLine?: number | undefined;
98
+ path: string;
99
+ role?: string | undefined;
67
100
  startColumn?: number | undefined;
101
+ startLine: number;
102
+ } | undefined;
103
+ }>;
104
+ securityOccurrenceSchema: import("@oh-my-pi/omptype").FluentType<{
105
+ evidenceIds: string[];
106
+ id: string;
107
+ locations: {
68
108
  endColumn?: number | undefined;
109
+ endLine?: number | undefined;
110
+ path: string;
69
111
  role?: string | undefined;
112
+ startColumn?: number | undefined;
113
+ startLine: number;
70
114
  }[];
115
+ }, {
71
116
  evidenceIds: string[];
72
- }, {}>;
73
- securityFindingSchema: import("arktype/internal/variants/object.ts").ObjectType<{
74
117
  id: string;
75
- scanId: string;
76
- fingerprint: string;
77
- ruleId: string;
118
+ locations: {
119
+ endColumn?: number | undefined;
120
+ endLine?: number | undefined;
121
+ path: string;
122
+ role?: string | undefined;
123
+ startColumn?: number | undefined;
124
+ startLine: number;
125
+ }[];
126
+ }>;
127
+ securityFindingSchema: import("@oh-my-pi/omptype").FluentType<{
78
128
  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
129
  confidence: {
89
130
  level: "high" | "low" | "medium";
90
131
  rationale?: string | undefined;
91
132
  };
92
- taxonomy: {
93
- category: string;
94
- cwe: string[];
95
- tags?: string[] | undefined;
133
+ disposition: {
134
+ actor?: string | undefined;
135
+ rationale?: string | undefined;
136
+ status: "accepted_risk" | "false_positive" | "fixed" | "open" | "wont_fix";
137
+ updatedAt?: string | undefined;
96
138
  };
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
139
  evidence: {
140
+ excerpt?: string | undefined;
141
+ explanation: string;
110
142
  id: string;
111
143
  kind: "code" | "note" | "trace" | "validation";
112
144
  label: string;
113
- explanation: string;
114
145
  location?: {
115
- path: string;
116
- startLine: number;
146
+ endColumn?: number | undefined;
117
147
  endLine?: number | undefined;
148
+ path: string;
149
+ role?: string | undefined;
118
150
  startColumn?: number | undefined;
151
+ startLine: number;
152
+ } | undefined;
153
+ }[];
154
+ extensions?: Record<string, unknown> | undefined;
155
+ fingerprint: string;
156
+ id: string;
157
+ occurrences: {
158
+ evidenceIds: string[];
159
+ id: string;
160
+ locations: {
119
161
  endColumn?: number | undefined;
162
+ endLine?: number | undefined;
163
+ path: string;
120
164
  role?: string | undefined;
121
- } | undefined;
122
- excerpt?: string | undefined;
165
+ startColumn?: number | undefined;
166
+ startLine: number;
167
+ }[];
123
168
  }[];
169
+ provenance: {
170
+ createdAt: string;
171
+ importedAt?: string | undefined;
172
+ metadata?: Record<string, unknown> | undefined;
173
+ producer: {
174
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
175
+ name: string;
176
+ pluginVersion?: string | undefined;
177
+ revision?: string | undefined;
178
+ vendor?: string | undefined;
179
+ version?: string | undefined;
180
+ };
181
+ sourceIds?: Record<string, string> | undefined;
182
+ upstream?: {
183
+ archiveSha256?: string | undefined;
184
+ packageVersion?: string | undefined;
185
+ pluginVersion?: string | undefined;
186
+ repository?: string | undefined;
187
+ revision?: string | undefined;
188
+ } | undefined;
189
+ vendorFingerprints?: Record<string, string> | undefined;
190
+ };
124
191
  remediation?: string | undefined;
192
+ ruleId: string;
193
+ scanId: string;
194
+ severity: {
195
+ level: "critical" | "high" | "informational" | "low" | "medium";
196
+ rationale?: string | undefined;
197
+ score?: number | undefined;
198
+ scoringSystem?: string | undefined;
199
+ vector?: string | undefined;
200
+ };
201
+ summary: string;
202
+ taxonomy: {
203
+ category: string;
204
+ cwe: string[];
205
+ tags?: string[] | undefined;
206
+ };
207
+ title: string;
125
208
  validation: {
209
+ evidenceIds: string[];
126
210
  status: "error" | "partial" | "rejected" | "unvalidated" | "validated";
127
211
  summary?: string | undefined;
128
- evidenceIds: string[];
129
212
  validatedAt?: string | undefined;
130
213
  };
214
+ }, {
215
+ anchor?: string | undefined;
216
+ confidence: {
217
+ level: "high" | "low" | "medium";
218
+ rationale?: string | undefined;
219
+ };
131
220
  disposition: {
132
- status: "accepted_risk" | "false_positive" | "fixed" | "open" | "wont_fix";
221
+ actor?: string | undefined;
133
222
  rationale?: string | undefined;
223
+ status: "accepted_risk" | "false_positive" | "fixed" | "open" | "wont_fix";
134
224
  updatedAt?: string | undefined;
135
- actor?: string | undefined;
136
225
  };
226
+ evidence: {
227
+ excerpt?: string | undefined;
228
+ explanation: string;
229
+ id: string;
230
+ kind: "code" | "note" | "trace" | "validation";
231
+ label: string;
232
+ location?: {
233
+ endColumn?: number | undefined;
234
+ endLine?: number | undefined;
235
+ path: string;
236
+ role?: string | undefined;
237
+ startColumn?: number | undefined;
238
+ startLine: number;
239
+ } | undefined;
240
+ }[];
241
+ extensions?: Record<string, unknown> | undefined;
242
+ fingerprint: string;
243
+ id: string;
244
+ occurrences: {
245
+ evidenceIds: string[];
246
+ id: string;
247
+ locations: {
248
+ endColumn?: number | undefined;
249
+ endLine?: number | undefined;
250
+ path: string;
251
+ role?: string | undefined;
252
+ startColumn?: number | undefined;
253
+ startLine: number;
254
+ }[];
255
+ }[];
137
256
  provenance: {
257
+ createdAt: string;
258
+ importedAt?: string | undefined;
259
+ metadata?: Record<string, unknown> | undefined;
138
260
  producer: {
139
261
  kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
140
262
  name: string;
141
- version?: string | undefined;
142
- vendor?: string | undefined;
143
- revision?: string | undefined;
144
263
  pluginVersion?: string | undefined;
264
+ revision?: string | undefined;
265
+ vendor?: string | undefined;
266
+ version?: string | undefined;
145
267
  };
146
- createdAt: string;
147
- importedAt?: string | undefined;
148
- sourceIds?: {
149
- [x: string]: string;
150
- } | undefined;
151
- vendorFingerprints?: {
152
- [x: string]: string;
153
- } | undefined;
268
+ sourceIds?: Record<string, string> | undefined;
154
269
  upstream?: {
155
- repository?: string | undefined;
156
- revision?: string | undefined;
270
+ archiveSha256?: string | undefined;
157
271
  packageVersion?: string | undefined;
158
272
  pluginVersion?: string | undefined;
159
- archiveSha256?: string | undefined;
160
- } | undefined;
161
- metadata?: {
162
- [x: string]: unknown;
273
+ repository?: string | undefined;
274
+ revision?: string | undefined;
163
275
  } | undefined;
276
+ vendorFingerprints?: Record<string, string> | undefined;
164
277
  };
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: {
278
+ remediation?: string | undefined;
279
+ ruleId: string;
280
+ scanId: string;
281
+ severity: {
282
+ level: "critical" | "high" | "informational" | "low" | "medium";
283
+ rationale?: string | undefined;
284
+ score?: number | undefined;
285
+ scoringSystem?: string | undefined;
286
+ vector?: string | undefined;
287
+ };
288
+ summary: string;
289
+ taxonomy: {
290
+ category: string;
291
+ cwe: string[];
292
+ tags?: string[] | undefined;
293
+ };
294
+ title: string;
295
+ validation: {
296
+ evidenceIds: string[];
297
+ status: "error" | "partial" | "rejected" | "unvalidated" | "validated";
298
+ summary?: string | undefined;
299
+ validatedAt?: string | undefined;
300
+ };
301
+ }>;
302
+ securityCoverageSchema: import("@oh-my-pi/omptype").FluentType<{
303
+ completeness: "complete" | "partial" | "unknown";
304
+ deferred: {
305
+ id: string;
306
+ paths?: string[] | undefined;
307
+ reason: string;
308
+ surfaceIds?: string[] | undefined;
309
+ }[];
310
+ excludePaths: string[];
311
+ explicitExclusions: {
184
312
  pattern: string;
185
313
  reason: string;
186
314
  }[];
315
+ includePaths: string[];
316
+ inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
317
+ mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
318
+ openQuestions?: {
319
+ followUpPrompt?: string | undefined;
320
+ question: string;
321
+ }[] | undefined;
322
+ surfaces: {
323
+ disposition: "needs_follow_up" | "no_issue_found" | "not_applicable" | "rejected" | "reported";
324
+ id: string;
325
+ label: string;
326
+ notes?: string | undefined;
327
+ receiptRefs: string[];
328
+ riskArea?: string | undefined;
329
+ }[];
330
+ }, {
331
+ completeness: "complete" | "partial" | "unknown";
187
332
  deferred: {
188
333
  id: string;
189
- reason: string;
190
334
  paths?: string[] | undefined;
335
+ reason: string;
191
336
  surfaceIds?: string[] | undefined;
192
337
  }[];
338
+ excludePaths: string[];
339
+ explicitExclusions: {
340
+ pattern: string;
341
+ reason: string;
342
+ }[];
343
+ includePaths: string[];
344
+ inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
345
+ mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
193
346
  openQuestions?: {
194
- question: string;
195
347
  followUpPrompt?: string | undefined;
348
+ question: string;
196
349
  }[] | undefined;
197
- }, {}>;
198
- securityTargetSchema: import("arktype/internal/variants/object.ts").ObjectType<{
350
+ surfaces: {
351
+ disposition: "needs_follow_up" | "no_issue_found" | "not_applicable" | "rejected" | "reported";
352
+ id: string;
353
+ label: string;
354
+ notes?: string | undefined;
355
+ receiptRefs: string[];
356
+ riskArea?: string | undefined;
357
+ }[];
358
+ }>;
359
+ securityTargetSchema: import("@oh-my-pi/omptype").FluentType<{
360
+ baseRevision?: string | undefined;
361
+ displayName: string;
362
+ excludePaths: string[];
363
+ headRevision?: string | undefined;
364
+ includePaths: string[];
199
365
  kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
200
366
  repositoryRoot: string;
201
- displayName: string;
202
367
  revision?: string | undefined;
368
+ treeDigest: string;
369
+ }, {
203
370
  baseRevision?: string | undefined;
371
+ displayName: string;
372
+ excludePaths: string[];
204
373
  headRevision?: string | undefined;
205
374
  includePaths: string[];
206
- excludePaths: string[];
375
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
376
+ repositoryRoot: string;
377
+ revision?: string | undefined;
207
378
  treeDigest: string;
208
- }, {}>;
209
- securityScanPlanSchema: import("arktype/internal/variants/object.ts").ObjectType<{
379
+ }>;
380
+ securityScanPlanSchema: import("@oh-my-pi/omptype").FluentType<{
381
+ account: {
382
+ accountId?: string | undefined;
383
+ credentialId: number;
384
+ email?: string | undefined;
385
+ organizationId?: string | undefined;
386
+ organizationName?: string | undefined;
387
+ provider: string;
388
+ };
389
+ configFingerprint: string;
390
+ createdAt: string;
210
391
  documentType: "omp-security.scan-plan";
211
- schemaVersion: "1.0";
392
+ fingerprint: string;
212
393
  id: string;
213
- createdAt: string;
214
- repositoryRoot: string;
215
- target: {
216
- kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
217
- repositoryRoot: string;
218
- displayName: string;
219
- revision?: string | undefined;
220
- baseRevision?: string | undefined;
221
- headRevision?: string | undefined;
222
- includePaths: string[];
223
- excludePaths: string[];
224
- treeDigest: string;
225
- };
226
394
  knowledgeBases: {
227
395
  path: string;
228
396
  sha256: string;
229
397
  size: number;
230
398
  }[];
399
+ model: {
400
+ modelId: string;
401
+ provider: string;
402
+ thinkingLevel?: string | undefined;
403
+ };
231
404
  output: {
232
- root: string;
233
405
  archiveExisting: boolean;
234
406
  existingState: "absent" | "archivable" | "empty";
407
+ root: string;
235
408
  };
236
- model: {
237
- provider: string;
238
- modelId: string;
239
- thinkingLevel?: string | undefined;
409
+ repositoryRoot: string;
410
+ schemaVersion: "1.0";
411
+ target: {
412
+ baseRevision?: string | undefined;
413
+ displayName: string;
414
+ excludePaths: string[];
415
+ headRevision?: string | undefined;
416
+ includePaths: string[];
417
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
418
+ repositoryRoot: string;
419
+ revision?: string | undefined;
420
+ treeDigest: string;
240
421
  };
422
+ workflowFingerprint: string;
423
+ }, {
241
424
  account: {
242
- provider: string;
243
- credentialId: number;
244
425
  accountId?: string | undefined;
426
+ credentialId: number;
245
427
  email?: string | undefined;
246
428
  organizationId?: string | undefined;
247
429
  organizationName?: string | undefined;
430
+ provider: string;
248
431
  };
249
432
  configFingerprint: string;
250
- workflowFingerprint: string;
433
+ createdAt: string;
434
+ documentType: "omp-security.scan-plan";
251
435
  fingerprint: string;
252
- }, {}>;
253
- securityScanMetricsSchema: import("arktype/internal/variants/object.ts").ObjectType<{
436
+ id: string;
437
+ knowledgeBases: {
438
+ path: string;
439
+ sha256: string;
440
+ size: number;
441
+ }[];
442
+ model: {
443
+ modelId: string;
444
+ provider: string;
445
+ thinkingLevel?: string | undefined;
446
+ };
447
+ output: {
448
+ archiveExisting: boolean;
449
+ existingState: "absent" | "archivable" | "empty";
450
+ root: string;
451
+ };
452
+ repositoryRoot: string;
453
+ schemaVersion: "1.0";
454
+ target: {
455
+ baseRevision?: string | undefined;
456
+ displayName: string;
457
+ excludePaths: string[];
458
+ headRevision?: string | undefined;
459
+ includePaths: string[];
460
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
461
+ repositoryRoot: string;
462
+ revision?: string | undefined;
463
+ treeDigest: string;
464
+ };
465
+ workflowFingerprint: string;
466
+ }>;
467
+ securityScanMetricsSchema: import("@oh-my-pi/omptype").FluentType<{
468
+ cost?: number | undefined;
469
+ premiumRequests?: number | undefined;
254
470
  runtimeMs?: number | undefined;
255
471
  tokenUsage?: {
472
+ cacheRead: number;
473
+ cacheWrite: number;
256
474
  input: number;
257
475
  output: number;
258
476
  reasoning: number;
259
- cacheRead: number;
260
- cacheWrite: number;
261
477
  total: number;
262
478
  } | undefined;
479
+ }, {
263
480
  cost?: number | undefined;
264
481
  premiumRequests?: number | undefined;
265
- }, {}>;
266
- securityScanSchema: import("arktype/internal/variants/object.ts").ObjectType<{
482
+ runtimeMs?: number | undefined;
483
+ tokenUsage?: {
484
+ cacheRead: number;
485
+ cacheWrite: number;
486
+ input: number;
487
+ output: number;
488
+ reasoning: number;
489
+ total: number;
490
+ } | undefined;
491
+ }>;
492
+ securityScanSchema: import("@oh-my-pi/omptype").FluentType<{
493
+ completedAt?: string | undefined;
494
+ coverage: {
495
+ completeness: "complete" | "partial" | "unknown";
496
+ deferred: {
497
+ id: string;
498
+ paths?: string[] | undefined;
499
+ reason: string;
500
+ surfaceIds?: string[] | undefined;
501
+ }[];
502
+ excludePaths: string[];
503
+ explicitExclusions: {
504
+ pattern: string;
505
+ reason: string;
506
+ }[];
507
+ includePaths: string[];
508
+ inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
509
+ mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
510
+ openQuestions?: {
511
+ followUpPrompt?: string | undefined;
512
+ question: string;
513
+ }[] | undefined;
514
+ surfaces: {
515
+ disposition: "needs_follow_up" | "no_issue_found" | "not_applicable" | "rejected" | "reported";
516
+ id: string;
517
+ label: string;
518
+ notes?: string | undefined;
519
+ receiptRefs: string[];
520
+ riskArea?: string | undefined;
521
+ }[];
522
+ };
523
+ createdAt: string;
267
524
  documentType: "omp-security.scan";
268
- schemaVersion: "1.0";
525
+ error?: string | undefined;
526
+ findingIds: string[];
269
527
  id: string;
270
- projectKey: string;
271
- status: "cancelled" | "completed" | "failed" | "partial" | "planned" | "running";
272
- createdAt: string;
273
- startedAt?: string | undefined;
274
- completedAt?: string | undefined;
528
+ metrics?: {
529
+ cost?: number | undefined;
530
+ premiumRequests?: number | undefined;
531
+ runtimeMs?: number | undefined;
532
+ tokenUsage?: {
533
+ cacheRead: number;
534
+ cacheWrite: number;
535
+ input: number;
536
+ output: number;
537
+ reasoning: number;
538
+ total: number;
539
+ } | undefined;
540
+ } | undefined;
275
541
  plan?: {
542
+ account: {
543
+ accountId?: string | undefined;
544
+ credentialId: number;
545
+ email?: string | undefined;
546
+ organizationId?: string | undefined;
547
+ organizationName?: string | undefined;
548
+ provider: string;
549
+ };
550
+ configFingerprint: string;
551
+ createdAt: string;
276
552
  documentType: "omp-security.scan-plan";
277
- schemaVersion: "1.0";
553
+ fingerprint: string;
278
554
  id: string;
279
- createdAt: string;
280
- repositoryRoot: string;
281
- target: {
282
- kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
283
- repositoryRoot: string;
284
- displayName: string;
285
- revision?: string | undefined;
286
- baseRevision?: string | undefined;
287
- headRevision?: string | undefined;
288
- includePaths: string[];
289
- excludePaths: string[];
290
- treeDigest: string;
291
- };
292
555
  knowledgeBases: {
293
556
  path: string;
294
557
  sha256: string;
295
558
  size: number;
296
559
  }[];
297
- output: {
298
- root: string;
299
- archiveExisting: boolean;
300
- existingState: "absent" | "archivable" | "empty";
301
- };
302
560
  model: {
303
- provider: string;
304
561
  modelId: string;
562
+ provider: string;
305
563
  thinkingLevel?: string | undefined;
306
564
  };
307
- account: {
308
- provider: string;
309
- credentialId: number;
310
- accountId?: string | undefined;
311
- email?: string | undefined;
312
- organizationId?: string | undefined;
313
- organizationName?: string | undefined;
565
+ output: {
566
+ archiveExisting: boolean;
567
+ existingState: "absent" | "archivable" | "empty";
568
+ root: string;
569
+ };
570
+ repositoryRoot: string;
571
+ schemaVersion: "1.0";
572
+ target: {
573
+ baseRevision?: string | undefined;
574
+ displayName: string;
575
+ excludePaths: string[];
576
+ headRevision?: string | undefined;
577
+ includePaths: string[];
578
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
579
+ repositoryRoot: string;
580
+ revision?: string | undefined;
581
+ treeDigest: string;
314
582
  };
315
- configFingerprint: string;
316
583
  workflowFingerprint: string;
317
- fingerprint: string;
318
584
  } | undefined;
319
- target: {
320
- kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
321
- repositoryRoot: string;
322
- displayName: string;
323
- revision?: string | undefined;
324
- baseRevision?: string | undefined;
325
- headRevision?: string | undefined;
326
- includePaths: string[];
327
- excludePaths: string[];
328
- treeDigest: string;
329
- };
330
585
  producer: {
331
586
  kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
332
587
  name: string;
333
- version?: string | undefined;
334
- vendor?: string | undefined;
335
- revision?: string | undefined;
336
588
  pluginVersion?: string | undefined;
589
+ revision?: string | undefined;
590
+ vendor?: string | undefined;
591
+ version?: string | undefined;
337
592
  };
593
+ projectKey: string;
338
594
  provenance: {
595
+ createdAt: string;
596
+ importedAt?: string | undefined;
597
+ metadata?: Record<string, unknown> | undefined;
339
598
  producer: {
340
599
  kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
341
600
  name: string;
342
- version?: string | undefined;
343
- vendor?: string | undefined;
344
- revision?: string | undefined;
345
601
  pluginVersion?: string | undefined;
602
+ revision?: string | undefined;
603
+ vendor?: string | undefined;
604
+ version?: string | undefined;
346
605
  };
347
- createdAt: string;
348
- importedAt?: string | undefined;
349
- sourceIds?: {
350
- [x: string]: string;
351
- } | undefined;
352
- vendorFingerprints?: {
353
- [x: string]: string;
354
- } | undefined;
606
+ sourceIds?: Record<string, string> | undefined;
355
607
  upstream?: {
356
- repository?: string | undefined;
357
- revision?: string | undefined;
608
+ archiveSha256?: string | undefined;
358
609
  packageVersion?: string | undefined;
359
610
  pluginVersion?: string | undefined;
360
- archiveSha256?: string | undefined;
361
- } | undefined;
362
- metadata?: {
363
- [x: string]: unknown;
611
+ repository?: string | undefined;
612
+ revision?: string | undefined;
364
613
  } | undefined;
614
+ vendorFingerprints?: Record<string, string> | undefined;
365
615
  };
366
- findingIds: string[];
616
+ reportRef?: string | undefined;
617
+ sarifRef?: string | undefined;
618
+ schemaVersion: "1.0";
619
+ startedAt?: string | undefined;
620
+ status: "cancelled" | "completed" | "failed" | "partial" | "planned" | "running";
621
+ target: {
622
+ baseRevision?: string | undefined;
623
+ displayName: string;
624
+ excludePaths: string[];
625
+ headRevision?: string | undefined;
626
+ includePaths: string[];
627
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
628
+ repositoryRoot: string;
629
+ revision?: string | undefined;
630
+ treeDigest: string;
631
+ };
632
+ }, {
633
+ completedAt?: string | undefined;
367
634
  coverage: {
368
- mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
369
635
  completeness: "complete" | "partial" | "unknown";
370
- inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
371
- includePaths: string[];
372
- excludePaths: string[];
373
- surfaces: {
636
+ deferred: {
374
637
  id: string;
375
- label: string;
376
- disposition: "needs_follow_up" | "no_issue_found" | "not_applicable" | "rejected" | "reported";
377
- receiptRefs: string[];
378
- riskArea?: string | undefined;
379
- notes?: string | undefined;
638
+ paths?: string[] | undefined;
639
+ reason: string;
640
+ surfaceIds?: string[] | undefined;
380
641
  }[];
642
+ excludePaths: string[];
381
643
  explicitExclusions: {
382
644
  pattern: string;
383
645
  reason: string;
384
646
  }[];
385
- deferred: {
386
- id: string;
387
- reason: string;
388
- paths?: string[] | undefined;
389
- surfaceIds?: string[] | undefined;
390
- }[];
647
+ includePaths: string[];
648
+ inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
649
+ mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
391
650
  openQuestions?: {
392
- question: string;
393
651
  followUpPrompt?: string | undefined;
652
+ question: string;
394
653
  }[] | undefined;
654
+ surfaces: {
655
+ disposition: "needs_follow_up" | "no_issue_found" | "not_applicable" | "rejected" | "reported";
656
+ id: string;
657
+ label: string;
658
+ notes?: string | undefined;
659
+ receiptRefs: string[];
660
+ riskArea?: string | undefined;
661
+ }[];
395
662
  };
396
- reportRef?: string | undefined;
397
- sarifRef?: string | undefined;
663
+ createdAt: string;
664
+ documentType: "omp-security.scan";
398
665
  error?: string | undefined;
666
+ findingIds: string[];
667
+ id: string;
399
668
  metrics?: {
669
+ cost?: number | undefined;
670
+ premiumRequests?: number | undefined;
400
671
  runtimeMs?: number | undefined;
401
672
  tokenUsage?: {
673
+ cacheRead: number;
674
+ cacheWrite: number;
402
675
  input: number;
403
676
  output: number;
404
677
  reasoning: number;
405
- cacheRead: number;
406
- cacheWrite: number;
407
678
  total: number;
408
679
  } | undefined;
409
- cost?: number | undefined;
410
- premiumRequests?: number | undefined;
411
680
  } | undefined;
412
- }, {}>;
413
- securityScanBundleSchema: import("arktype/internal/variants/object.ts").ObjectType<{
414
- scan: {
415
- documentType: "omp-security.scan";
416
- schemaVersion: "1.0";
417
- id: string;
418
- projectKey: string;
419
- status: "cancelled" | "completed" | "failed" | "partial" | "planned" | "running";
681
+ plan?: {
682
+ account: {
683
+ accountId?: string | undefined;
684
+ credentialId: number;
685
+ email?: string | undefined;
686
+ organizationId?: string | undefined;
687
+ organizationName?: string | undefined;
688
+ provider: string;
689
+ };
690
+ configFingerprint: string;
420
691
  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;
466
- } | undefined;
692
+ documentType: "omp-security.scan-plan";
693
+ fingerprint: string;
694
+ id: string;
695
+ knowledgeBases: {
696
+ path: string;
697
+ sha256: string;
698
+ size: number;
699
+ }[];
700
+ model: {
701
+ modelId: string;
702
+ provider: string;
703
+ thinkingLevel?: string | undefined;
704
+ };
705
+ output: {
706
+ archiveExisting: boolean;
707
+ existingState: "absent" | "archivable" | "empty";
708
+ root: string;
709
+ };
710
+ repositoryRoot: string;
711
+ schemaVersion: "1.0";
467
712
  target: {
468
- kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
469
- repositoryRoot: string;
470
- displayName: string;
471
- revision?: string | undefined;
472
713
  baseRevision?: string | undefined;
714
+ displayName: string;
715
+ excludePaths: string[];
473
716
  headRevision?: string | undefined;
474
717
  includePaths: string[];
475
- excludePaths: string[];
718
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
719
+ repositoryRoot: string;
720
+ revision?: string | undefined;
476
721
  treeDigest: string;
477
722
  };
723
+ workflowFingerprint: string;
724
+ } | undefined;
725
+ producer: {
726
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
727
+ name: string;
728
+ pluginVersion?: string | undefined;
729
+ revision?: string | undefined;
730
+ vendor?: string | undefined;
731
+ version?: string | undefined;
732
+ };
733
+ projectKey: string;
734
+ provenance: {
735
+ createdAt: string;
736
+ importedAt?: string | undefined;
737
+ metadata?: Record<string, unknown> | undefined;
478
738
  producer: {
479
739
  kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
480
740
  name: string;
481
- version?: string | undefined;
482
- vendor?: string | undefined;
483
- revision?: string | undefined;
484
741
  pluginVersion?: string | undefined;
742
+ revision?: string | undefined;
743
+ vendor?: string | undefined;
744
+ version?: string | undefined;
485
745
  };
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
- };
746
+ sourceIds?: Record<string, string> | undefined;
747
+ upstream?: {
748
+ archiveSha256?: string | undefined;
749
+ packageVersion?: string | undefined;
750
+ pluginVersion?: string | undefined;
751
+ repository?: string | undefined;
752
+ revision?: string | undefined;
753
+ } | undefined;
754
+ vendorFingerprints?: Record<string, string> | undefined;
755
+ };
756
+ reportRef?: string | undefined;
757
+ sarifRef?: string | undefined;
758
+ schemaVersion: "1.0";
759
+ startedAt?: string | undefined;
760
+ status: "cancelled" | "completed" | "failed" | "partial" | "planned" | "running";
761
+ target: {
762
+ baseRevision?: string | undefined;
763
+ displayName: string;
764
+ excludePaths: string[];
765
+ headRevision?: string | undefined;
766
+ includePaths: string[];
767
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
768
+ repositoryRoot: string;
769
+ revision?: string | undefined;
770
+ treeDigest: string;
771
+ };
772
+ }>;
773
+ securityScanBundleSchema: import("@oh-my-pi/omptype").FluentType<{
774
+ findings: {
775
+ anchor?: string | undefined;
776
+ confidence: {
777
+ level: "high" | "low" | "medium";
778
+ rationale?: string | undefined;
779
+ };
780
+ disposition: {
781
+ actor?: string | undefined;
782
+ rationale?: string | undefined;
783
+ status: "accepted_risk" | "false_positive" | "fixed" | "open" | "wont_fix";
784
+ updatedAt?: string | undefined;
785
+ };
786
+ evidence: {
787
+ excerpt?: string | undefined;
788
+ explanation: string;
789
+ id: string;
790
+ kind: "code" | "note" | "trace" | "validation";
791
+ label: string;
792
+ location?: {
793
+ endColumn?: number | undefined;
794
+ endLine?: number | undefined;
795
+ path: string;
796
+ role?: string | undefined;
797
+ startColumn?: number | undefined;
798
+ startLine: number;
799
+ } | undefined;
800
+ }[];
801
+ extensions?: Record<string, unknown> | undefined;
802
+ fingerprint: string;
803
+ id: string;
804
+ occurrences: {
805
+ evidenceIds: string[];
806
+ id: string;
807
+ locations: {
808
+ endColumn?: number | undefined;
809
+ endLine?: number | undefined;
810
+ path: string;
811
+ role?: string | undefined;
812
+ startColumn?: number | undefined;
813
+ startLine: number;
814
+ }[];
815
+ }[];
816
+ provenance: {
495
817
  createdAt: string;
496
818
  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;
819
+ metadata?: Record<string, unknown> | undefined;
820
+ producer: {
821
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
822
+ name: string;
823
+ pluginVersion?: string | undefined;
505
824
  revision?: string | undefined;
825
+ vendor?: string | undefined;
826
+ version?: string | undefined;
827
+ };
828
+ sourceIds?: Record<string, string> | undefined;
829
+ upstream?: {
830
+ archiveSha256?: string | undefined;
506
831
  packageVersion?: string | undefined;
507
832
  pluginVersion?: string | undefined;
508
- archiveSha256?: string | undefined;
509
- } | undefined;
510
- metadata?: {
511
- [x: string]: unknown;
833
+ repository?: string | undefined;
834
+ revision?: string | undefined;
512
835
  } | undefined;
836
+ vendorFingerprints?: Record<string, string> | undefined;
513
837
  };
514
- findingIds: string[];
838
+ remediation?: string | undefined;
839
+ ruleId: string;
840
+ scanId: string;
841
+ severity: {
842
+ level: "critical" | "high" | "informational" | "low" | "medium";
843
+ rationale?: string | undefined;
844
+ score?: number | undefined;
845
+ scoringSystem?: string | undefined;
846
+ vector?: string | undefined;
847
+ };
848
+ summary: string;
849
+ taxonomy: {
850
+ category: string;
851
+ cwe: string[];
852
+ tags?: string[] | undefined;
853
+ };
854
+ title: string;
855
+ validation: {
856
+ evidenceIds: string[];
857
+ status: "error" | "partial" | "rejected" | "unvalidated" | "validated";
858
+ summary?: string | undefined;
859
+ validatedAt?: string | undefined;
860
+ };
861
+ }[];
862
+ report?: string | undefined;
863
+ sarif?: Record<string, unknown> | undefined;
864
+ scan: {
865
+ completedAt?: string | undefined;
515
866
  coverage: {
516
- mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
517
867
  completeness: "complete" | "partial" | "unknown";
518
- inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
519
- includePaths: string[];
520
- excludePaths: string[];
521
- surfaces: {
868
+ deferred: {
522
869
  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;
870
+ paths?: string[] | undefined;
871
+ reason: string;
872
+ surfaceIds?: string[] | undefined;
528
873
  }[];
874
+ excludePaths: string[];
529
875
  explicitExclusions: {
530
876
  pattern: string;
531
877
  reason: string;
532
878
  }[];
533
- deferred: {
534
- id: string;
535
- reason: string;
536
- paths?: string[] | undefined;
537
- surfaceIds?: string[] | undefined;
538
- }[];
879
+ includePaths: string[];
880
+ inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
881
+ mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
539
882
  openQuestions?: {
540
- question: string;
541
883
  followUpPrompt?: string | undefined;
884
+ question: string;
542
885
  }[] | undefined;
886
+ surfaces: {
887
+ disposition: "needs_follow_up" | "no_issue_found" | "not_applicable" | "rejected" | "reported";
888
+ id: string;
889
+ label: string;
890
+ notes?: string | undefined;
891
+ receiptRefs: string[];
892
+ riskArea?: string | undefined;
893
+ }[];
543
894
  };
544
- reportRef?: string | undefined;
545
- sarifRef?: string | undefined;
895
+ createdAt: string;
896
+ documentType: "omp-security.scan";
546
897
  error?: string | undefined;
898
+ findingIds: string[];
899
+ id: string;
547
900
  metrics?: {
901
+ cost?: number | undefined;
902
+ premiumRequests?: number | undefined;
548
903
  runtimeMs?: number | undefined;
549
904
  tokenUsage?: {
905
+ cacheRead: number;
906
+ cacheWrite: number;
550
907
  input: number;
551
908
  output: number;
552
909
  reasoning: number;
553
- cacheRead: number;
554
- cacheWrite: number;
555
910
  total: number;
556
911
  } | undefined;
557
- cost?: number | undefined;
558
- premiumRequests?: number | undefined;
559
912
  } | undefined;
913
+ plan?: {
914
+ account: {
915
+ accountId?: string | undefined;
916
+ credentialId: number;
917
+ email?: string | undefined;
918
+ organizationId?: string | undefined;
919
+ organizationName?: string | undefined;
920
+ provider: string;
921
+ };
922
+ configFingerprint: string;
923
+ createdAt: string;
924
+ documentType: "omp-security.scan-plan";
925
+ fingerprint: string;
926
+ id: string;
927
+ knowledgeBases: {
928
+ path: string;
929
+ sha256: string;
930
+ size: number;
931
+ }[];
932
+ model: {
933
+ modelId: string;
934
+ provider: string;
935
+ thinkingLevel?: string | undefined;
936
+ };
937
+ output: {
938
+ archiveExisting: boolean;
939
+ existingState: "absent" | "archivable" | "empty";
940
+ root: string;
941
+ };
942
+ repositoryRoot: string;
943
+ schemaVersion: "1.0";
944
+ target: {
945
+ baseRevision?: string | undefined;
946
+ displayName: string;
947
+ excludePaths: string[];
948
+ headRevision?: string | undefined;
949
+ includePaths: string[];
950
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
951
+ repositoryRoot: string;
952
+ revision?: string | undefined;
953
+ treeDigest: string;
954
+ };
955
+ workflowFingerprint: string;
956
+ } | undefined;
957
+ producer: {
958
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
959
+ name: string;
960
+ pluginVersion?: string | undefined;
961
+ revision?: string | undefined;
962
+ vendor?: string | undefined;
963
+ version?: string | undefined;
964
+ };
965
+ projectKey: string;
966
+ provenance: {
967
+ createdAt: string;
968
+ importedAt?: string | undefined;
969
+ metadata?: Record<string, unknown> | undefined;
970
+ producer: {
971
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
972
+ name: string;
973
+ pluginVersion?: string | undefined;
974
+ revision?: string | undefined;
975
+ vendor?: string | undefined;
976
+ version?: string | undefined;
977
+ };
978
+ sourceIds?: Record<string, string> | undefined;
979
+ upstream?: {
980
+ archiveSha256?: string | undefined;
981
+ packageVersion?: string | undefined;
982
+ pluginVersion?: string | undefined;
983
+ repository?: string | undefined;
984
+ revision?: string | undefined;
985
+ } | undefined;
986
+ vendorFingerprints?: Record<string, string> | undefined;
987
+ };
988
+ reportRef?: string | undefined;
989
+ sarifRef?: string | undefined;
990
+ schemaVersion: "1.0";
991
+ startedAt?: string | undefined;
992
+ status: "cancelled" | "completed" | "failed" | "partial" | "planned" | "running";
993
+ target: {
994
+ baseRevision?: string | undefined;
995
+ displayName: string;
996
+ excludePaths: string[];
997
+ headRevision?: string | undefined;
998
+ includePaths: string[];
999
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
1000
+ repositoryRoot: string;
1001
+ revision?: string | undefined;
1002
+ treeDigest: string;
1003
+ };
560
1004
  };
1005
+ }, {
561
1006
  findings: {
562
- id: string;
563
- scanId: string;
564
- fingerprint: string;
565
- ruleId: string;
566
1007
  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
1008
  confidence: {
577
1009
  level: "high" | "low" | "medium";
578
1010
  rationale?: string | undefined;
579
1011
  };
580
- taxonomy: {
581
- category: string;
582
- cwe: string[];
583
- tags?: string[] | undefined;
1012
+ disposition: {
1013
+ actor?: string | undefined;
1014
+ rationale?: string | undefined;
1015
+ status: "accepted_risk" | "false_positive" | "fixed" | "open" | "wont_fix";
1016
+ updatedAt?: string | undefined;
584
1017
  };
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
1018
  evidence: {
1019
+ excerpt?: string | undefined;
1020
+ explanation: string;
598
1021
  id: string;
599
1022
  kind: "code" | "note" | "trace" | "validation";
600
1023
  label: string;
601
- explanation: string;
602
1024
  location?: {
603
- path: string;
604
- startLine: number;
1025
+ endColumn?: number | undefined;
605
1026
  endLine?: number | undefined;
1027
+ path: string;
1028
+ role?: string | undefined;
606
1029
  startColumn?: number | undefined;
1030
+ startLine: number;
1031
+ } | undefined;
1032
+ }[];
1033
+ extensions?: Record<string, unknown> | undefined;
1034
+ fingerprint: string;
1035
+ id: string;
1036
+ occurrences: {
1037
+ evidenceIds: string[];
1038
+ id: string;
1039
+ locations: {
607
1040
  endColumn?: number | undefined;
1041
+ endLine?: number | undefined;
1042
+ path: string;
608
1043
  role?: string | undefined;
609
- } | undefined;
610
- excerpt?: string | undefined;
1044
+ startColumn?: number | undefined;
1045
+ startLine: number;
1046
+ }[];
611
1047
  }[];
1048
+ provenance: {
1049
+ createdAt: string;
1050
+ importedAt?: string | undefined;
1051
+ metadata?: Record<string, unknown> | undefined;
1052
+ producer: {
1053
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
1054
+ name: string;
1055
+ pluginVersion?: string | undefined;
1056
+ revision?: string | undefined;
1057
+ vendor?: string | undefined;
1058
+ version?: string | undefined;
1059
+ };
1060
+ sourceIds?: Record<string, string> | undefined;
1061
+ upstream?: {
1062
+ archiveSha256?: string | undefined;
1063
+ packageVersion?: string | undefined;
1064
+ pluginVersion?: string | undefined;
1065
+ repository?: string | undefined;
1066
+ revision?: string | undefined;
1067
+ } | undefined;
1068
+ vendorFingerprints?: Record<string, string> | undefined;
1069
+ };
612
1070
  remediation?: string | undefined;
1071
+ ruleId: string;
1072
+ scanId: string;
1073
+ severity: {
1074
+ level: "critical" | "high" | "informational" | "low" | "medium";
1075
+ rationale?: string | undefined;
1076
+ score?: number | undefined;
1077
+ scoringSystem?: string | undefined;
1078
+ vector?: string | undefined;
1079
+ };
1080
+ summary: string;
1081
+ taxonomy: {
1082
+ category: string;
1083
+ cwe: string[];
1084
+ tags?: string[] | undefined;
1085
+ };
1086
+ title: string;
613
1087
  validation: {
1088
+ evidenceIds: string[];
614
1089
  status: "error" | "partial" | "rejected" | "unvalidated" | "validated";
615
1090
  summary?: string | undefined;
616
- evidenceIds: string[];
617
1091
  validatedAt?: string | undefined;
618
1092
  };
619
- disposition: {
620
- status: "accepted_risk" | "false_positive" | "fixed" | "open" | "wont_fix";
621
- rationale?: string | undefined;
622
- updatedAt?: string | undefined;
623
- actor?: string | undefined;
1093
+ }[];
1094
+ report?: string | undefined;
1095
+ sarif?: Record<string, unknown> | undefined;
1096
+ scan: {
1097
+ completedAt?: string | undefined;
1098
+ coverage: {
1099
+ completeness: "complete" | "partial" | "unknown";
1100
+ deferred: {
1101
+ id: string;
1102
+ paths?: string[] | undefined;
1103
+ reason: string;
1104
+ surfaceIds?: string[] | undefined;
1105
+ }[];
1106
+ excludePaths: string[];
1107
+ explicitExclusions: {
1108
+ pattern: string;
1109
+ reason: string;
1110
+ }[];
1111
+ includePaths: string[];
1112
+ inventoryStrategy: "custom" | "diff" | "directory" | "imported" | "repository" | "scoped_path";
1113
+ mode: "deep_repository" | "diff" | "imported" | "repository" | "scoped_path" | "working_tree";
1114
+ openQuestions?: {
1115
+ followUpPrompt?: string | undefined;
1116
+ question: string;
1117
+ }[] | undefined;
1118
+ surfaces: {
1119
+ disposition: "needs_follow_up" | "no_issue_found" | "not_applicable" | "rejected" | "reported";
1120
+ id: string;
1121
+ label: string;
1122
+ notes?: string | undefined;
1123
+ receiptRefs: string[];
1124
+ riskArea?: string | undefined;
1125
+ }[];
624
1126
  };
1127
+ createdAt: string;
1128
+ documentType: "omp-security.scan";
1129
+ error?: string | undefined;
1130
+ findingIds: string[];
1131
+ id: string;
1132
+ metrics?: {
1133
+ cost?: number | undefined;
1134
+ premiumRequests?: number | undefined;
1135
+ runtimeMs?: number | undefined;
1136
+ tokenUsage?: {
1137
+ cacheRead: number;
1138
+ cacheWrite: number;
1139
+ input: number;
1140
+ output: number;
1141
+ reasoning: number;
1142
+ total: number;
1143
+ } | undefined;
1144
+ } | undefined;
1145
+ plan?: {
1146
+ account: {
1147
+ accountId?: string | undefined;
1148
+ credentialId: number;
1149
+ email?: string | undefined;
1150
+ organizationId?: string | undefined;
1151
+ organizationName?: string | undefined;
1152
+ provider: string;
1153
+ };
1154
+ configFingerprint: string;
1155
+ createdAt: string;
1156
+ documentType: "omp-security.scan-plan";
1157
+ fingerprint: string;
1158
+ id: string;
1159
+ knowledgeBases: {
1160
+ path: string;
1161
+ sha256: string;
1162
+ size: number;
1163
+ }[];
1164
+ model: {
1165
+ modelId: string;
1166
+ provider: string;
1167
+ thinkingLevel?: string | undefined;
1168
+ };
1169
+ output: {
1170
+ archiveExisting: boolean;
1171
+ existingState: "absent" | "archivable" | "empty";
1172
+ root: string;
1173
+ };
1174
+ repositoryRoot: string;
1175
+ schemaVersion: "1.0";
1176
+ target: {
1177
+ baseRevision?: string | undefined;
1178
+ displayName: string;
1179
+ excludePaths: string[];
1180
+ headRevision?: string | undefined;
1181
+ includePaths: string[];
1182
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
1183
+ repositoryRoot: string;
1184
+ revision?: string | undefined;
1185
+ treeDigest: string;
1186
+ };
1187
+ workflowFingerprint: string;
1188
+ } | undefined;
1189
+ producer: {
1190
+ kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
1191
+ name: string;
1192
+ pluginVersion?: string | undefined;
1193
+ revision?: string | undefined;
1194
+ vendor?: string | undefined;
1195
+ version?: string | undefined;
1196
+ };
1197
+ projectKey: string;
625
1198
  provenance: {
1199
+ createdAt: string;
1200
+ importedAt?: string | undefined;
1201
+ metadata?: Record<string, unknown> | undefined;
626
1202
  producer: {
627
1203
  kind: "codex-security-bundle" | "codex-security-cloud" | "omp-native" | "sarif-import";
628
1204
  name: string;
629
- version?: string | undefined;
630
- vendor?: string | undefined;
631
- revision?: string | undefined;
632
1205
  pluginVersion?: string | undefined;
1206
+ revision?: string | undefined;
1207
+ vendor?: string | undefined;
1208
+ version?: string | undefined;
633
1209
  };
634
- createdAt: string;
635
- importedAt?: string | undefined;
636
- sourceIds?: {
637
- [x: string]: string;
638
- } | undefined;
639
- vendorFingerprints?: {
640
- [x: string]: string;
641
- } | undefined;
1210
+ sourceIds?: Record<string, string> | undefined;
642
1211
  upstream?: {
643
- repository?: string | undefined;
644
- revision?: string | undefined;
1212
+ archiveSha256?: string | undefined;
645
1213
  packageVersion?: string | undefined;
646
1214
  pluginVersion?: string | undefined;
647
- archiveSha256?: string | undefined;
648
- } | undefined;
649
- metadata?: {
650
- [x: string]: unknown;
1215
+ repository?: string | undefined;
1216
+ revision?: string | undefined;
651
1217
  } | undefined;
1218
+ vendorFingerprints?: Record<string, string> | undefined;
652
1219
  };
653
- extensions?: {
654
- [x: string]: unknown;
655
- } | undefined;
656
- }[];
657
- report?: string | undefined;
658
- sarif?: {
659
- [x: string]: unknown;
660
- } | undefined;
661
- }, {}>;
1220
+ reportRef?: string | undefined;
1221
+ sarifRef?: string | undefined;
1222
+ schemaVersion: "1.0";
1223
+ startedAt?: string | undefined;
1224
+ status: "cancelled" | "completed" | "failed" | "partial" | "planned" | "running";
1225
+ target: {
1226
+ baseRevision?: string | undefined;
1227
+ displayName: string;
1228
+ excludePaths: string[];
1229
+ headRevision?: string | undefined;
1230
+ includePaths: string[];
1231
+ kind: "imported" | "ref_diff" | "repository" | "scoped_path" | "working_tree";
1232
+ repositoryRoot: string;
1233
+ revision?: string | undefined;
1234
+ treeDigest: string;
1235
+ };
1236
+ };
1237
+ }>;
662
1238
  };