@jinn-network/plugin 0.1.0-canary.3c880afa

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 (56) hide show
  1. package/dist/eligibility.d.ts +12 -0
  2. package/dist/eligibility.js +12 -0
  3. package/dist/history.d.ts +35 -0
  4. package/dist/history.js +140 -0
  5. package/dist/index.d.ts +32 -0
  6. package/dist/index.js +15 -0
  7. package/dist/outcome.d.ts +26 -0
  8. package/dist/outcome.js +23 -0
  9. package/dist/pickup.d.ts +101 -0
  10. package/dist/pickup.js +354 -0
  11. package/dist/plugin.d.ts +157 -0
  12. package/dist/plugin.js +586 -0
  13. package/dist/ports/contribution-port.d.ts +53 -0
  14. package/dist/ports/contribution-port.js +14 -0
  15. package/dist/ports/corpus-port.d.ts +63 -0
  16. package/dist/ports/corpus-port.js +1 -0
  17. package/dist/ports/evidence-port.d.ts +17 -0
  18. package/dist/ports/evidence-port.js +1 -0
  19. package/dist/ports/local-learning-port.d.ts +22 -0
  20. package/dist/ports/local-learning-port.js +1 -0
  21. package/dist/ports/skills-port.d.ts +12 -0
  22. package/dist/ports/skills-port.js +1 -0
  23. package/dist/schemas/contribution-candidate.d.ts +116 -0
  24. package/dist/schemas/contribution-candidate.js +63 -0
  25. package/dist/schemas/eligibility-verdict.d.ts +8 -0
  26. package/dist/schemas/eligibility-verdict.js +7 -0
  27. package/dist/schemas/episode.d.ts +432 -0
  28. package/dist/schemas/episode.js +452 -0
  29. package/dist/schemas/history-entry.d.ts +40 -0
  30. package/dist/schemas/history-entry.js +30 -0
  31. package/dist/schemas/knowledge-hit.d.ts +27 -0
  32. package/dist/schemas/knowledge-hit.js +23 -0
  33. package/dist/schemas/knowledge-packet.d.ts +79 -0
  34. package/dist/schemas/knowledge-packet.js +213 -0
  35. package/dist/schemas/pickup-config.d.ts +20 -0
  36. package/dist/schemas/pickup-config.js +34 -0
  37. package/dist/schemas/session-summary.d.ts +17 -0
  38. package/dist/schemas/session-summary.js +19 -0
  39. package/dist/testing/contract-kits.d.ts +12 -0
  40. package/dist/testing/contract-kits.js +201 -0
  41. package/dist/testing/in-memory-contribution.d.ts +93 -0
  42. package/dist/testing/in-memory-contribution.js +104 -0
  43. package/dist/testing/in-memory-corpus.d.ts +47 -0
  44. package/dist/testing/in-memory-corpus.js +54 -0
  45. package/dist/testing/in-memory-evidence.d.ts +335 -0
  46. package/dist/testing/in-memory-evidence.js +23 -0
  47. package/dist/testing/in-memory-local-learning.d.ts +25 -0
  48. package/dist/testing/in-memory-local-learning.js +30 -0
  49. package/dist/testing/in-memory-skills.d.ts +9 -0
  50. package/dist/testing/in-memory-skills.js +16 -0
  51. package/dist/testing.d.ts +6 -0
  52. package/dist/testing.js +8 -0
  53. package/dist/visibility.d.ts +7 -0
  54. package/dist/visibility.js +9 -0
  55. package/package.json +53 -0
  56. package/process-contract.json +8 -0
@@ -0,0 +1,432 @@
1
+ /**
2
+ * EpisodeV1 — the complete-trajectory evidence record (architecture spec §5).
3
+ * Superset of `packages/core/src/captured-task.ts`'s CapturedTask:
4
+ * the full trajectory as one ordered `kind`-discriminated span sequence, a
5
+ * skills loadout, token + USD cost, a per-record retention field, and optional
6
+ * lineage hooks. Strict at every level (unknown fields rejected), following the
7
+ * capture.ts / envelope.ts convention.
8
+ *
9
+ * Deviation from CapturedTask, noted per plan (#1658): `task.distributionTags`
10
+ * defaults to `[]` rather than requiring `.min(1)` — Stage 1 has no tagging
11
+ * policy yet (S1-F2). `trajectory` is one ordered span sequence (`.min(1)`; a
12
+ * zero-tool-call session still has ≥1 `jinn.agent_turn` step). `cost.usdEstimate`
13
+ * is restored (optional) so EpisodeV1 stays a true CapturedTask superset.
14
+ */
15
+ import { z } from 'zod';
16
+ export declare const EPISODE_SCHEMA_VERSION: "jinn.episode.v1";
17
+ export declare const EPISODE_PROVENANCES: readonly ["contributed", "imported", "derived-from-history"];
18
+ export declare const EpisodeProvenanceSchema: z.ZodEnum<{
19
+ contributed: "contributed";
20
+ imported: "imported";
21
+ "derived-from-history": "derived-from-history";
22
+ }>;
23
+ export declare const SessionActivityFactsWriteSchema: z.ZodObject<{
24
+ retrievalFired: z.ZodBoolean;
25
+ eligibleRefs: z.ZodArray<z.ZodString>;
26
+ deliveredRefs: z.ZodArray<z.ZodString>;
27
+ deliveryMode: z.ZodEnum<{
28
+ degraded: "degraded";
29
+ disabled: "disabled";
30
+ delivered: "delivered";
31
+ withheld: "withheld";
32
+ }>;
33
+ deliveredContentHash: z.ZodOptional<z.ZodString>;
34
+ searchedTerms: z.ZodDefault<z.ZodArray<z.ZodString>>;
35
+ providedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
36
+ surfacedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
37
+ fetchedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
38
+ installedSkillRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
39
+ }, z.core.$strict>;
40
+ export declare const VERIFICATION_STRENGTHS: readonly ["user-accepted", "tests-passed", "evaluator-verified"];
41
+ export declare const VerificationStrengthSchema: z.ZodEnum<{
42
+ "user-accepted": "user-accepted";
43
+ "tests-passed": "tests-passed";
44
+ "evaluator-verified": "evaluator-verified";
45
+ }>;
46
+ export declare const EpisodeV1WriteSchema: z.ZodObject<{
47
+ schemaVersion: z.ZodLiteral<"jinn.episode.v1">;
48
+ episodeId: z.ZodString;
49
+ retrievalVisible: z.ZodDefault<z.ZodBoolean>;
50
+ session: z.ZodObject<{
51
+ sessionId: z.ZodString;
52
+ capturedAt: z.ZodISODateTime;
53
+ kind: z.ZodEnum<{
54
+ user: "user";
55
+ "host-internal": "host-internal";
56
+ }>;
57
+ parentSessionId: z.ZodOptional<z.ZodString>;
58
+ }, z.core.$strict>;
59
+ origin: z.ZodObject<{
60
+ writer: z.ZodString;
61
+ build: z.ZodString;
62
+ }, z.core.$strict>;
63
+ task: z.ZodObject<{
64
+ summary: z.ZodString;
65
+ distributionTags: z.ZodDefault<z.ZodArray<z.ZodString>>;
66
+ repositorySlug: z.ZodOptional<z.ZodString>;
67
+ baseCommit: z.ZodOptional<z.ZodString>;
68
+ createdAt: z.ZodOptional<z.ZodNumber>;
69
+ instanceId: z.ZodOptional<z.ZodString>;
70
+ }, z.core.$strict>;
71
+ trajectory: z.ZodArray<z.ZodObject<{
72
+ spanId: z.ZodString;
73
+ parentSpanId: z.ZodNullable<z.ZodString>;
74
+ kind: z.ZodEnum<{
75
+ "jinn.agent_turn": "jinn.agent_turn";
76
+ "jinn.tool_call": "jinn.tool_call";
77
+ }>;
78
+ name: z.ZodString;
79
+ startTimeUnixNano: z.ZodString;
80
+ endTimeUnixNano: z.ZodString;
81
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
82
+ redactedKeys: z.ZodDefault<z.ZodArray<z.ZodString>>;
83
+ truncatedKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
84
+ events: z.ZodOptional<z.ZodArray<z.ZodObject<{
85
+ timeUnixNano: z.ZodString;
86
+ name: z.ZodString;
87
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
88
+ }, z.core.$strict>>>;
89
+ status: z.ZodOptional<z.ZodObject<{
90
+ code: z.ZodEnum<{
91
+ UNSET: "UNSET";
92
+ OK: "OK";
93
+ ERROR: "ERROR";
94
+ }>;
95
+ message: z.ZodOptional<z.ZodString>;
96
+ }, z.core.$strict>>;
97
+ }, z.core.$strict>>;
98
+ environment: z.ZodObject<{
99
+ harness: z.ZodObject<{
100
+ name: z.ZodString;
101
+ version: z.ZodString;
102
+ }, z.core.$strict>;
103
+ model: z.ZodString;
104
+ tools: z.ZodArray<z.ZodString>;
105
+ skillsLoadout: z.ZodArray<z.ZodString>;
106
+ generatorModel: z.ZodOptional<z.ZodObject<{
107
+ id: z.ZodString;
108
+ provider: z.ZodOptional<z.ZodString>;
109
+ openWeights: z.ZodOptional<z.ZodBoolean>;
110
+ source: z.ZodEnum<{
111
+ stream: "stream";
112
+ config: "config";
113
+ }>;
114
+ }, z.core.$strict>>;
115
+ distributionClass: z.ZodOptional<z.ZodEnum<{
116
+ unknown: "unknown";
117
+ open: "open";
118
+ "restricted-tos": "restricted-tos";
119
+ }>>;
120
+ verifier: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
121
+ type: z.ZodLiteral<"f2p-p2p">;
122
+ failToPass: z.ZodArray<z.ZodString>;
123
+ passToPass: z.ZodArray<z.ZodString>;
124
+ evalSemanticsVersion: z.ZodString;
125
+ }, z.core.$strict>, z.ZodObject<{
126
+ type: z.ZodEnum<{
127
+ command: "command";
128
+ none: "none";
129
+ }>;
130
+ failToPass: z.ZodDefault<z.ZodArray<z.ZodString>>;
131
+ passToPass: z.ZodDefault<z.ZodArray<z.ZodString>>;
132
+ evalSemanticsVersion: z.ZodOptional<z.ZodString>;
133
+ }, z.core.$strict>], "type">>;
134
+ }, z.core.$strict>;
135
+ outcome: z.ZodPreprocess<z.ZodObject<{
136
+ status: z.ZodEnum<{
137
+ completed: "completed";
138
+ failed: "failed";
139
+ abandoned: "abandoned";
140
+ }>;
141
+ verificationStrength: z.ZodEnum<{
142
+ "user-accepted": "user-accepted";
143
+ "tests-passed": "tests-passed";
144
+ "evaluator-verified": "evaluator-verified";
145
+ }>;
146
+ summary: z.ZodOptional<z.ZodString>;
147
+ acceptedDiff: z.ZodOptional<z.ZodBoolean>;
148
+ testRuns: z.ZodOptional<z.ZodObject<{
149
+ passed: z.ZodNumber;
150
+ failed: z.ZodNumber;
151
+ }, z.core.$strict>>;
152
+ }, z.core.$strict>>;
153
+ cost: z.ZodObject<{
154
+ durationMs: z.ZodNumber;
155
+ tokens: z.ZodOptional<z.ZodObject<{
156
+ input: z.ZodNumber;
157
+ output: z.ZodNumber;
158
+ }, z.core.$strict>>;
159
+ usdEstimate: z.ZodOptional<z.ZodString>;
160
+ }, z.core.$strict>;
161
+ retention: z.ZodObject<{
162
+ policy: z.ZodEnum<{
163
+ "local-private": "local-private";
164
+ "contribution-eligible": "contribution-eligible";
165
+ }>;
166
+ }, z.core.$strict>;
167
+ provenance: z.ZodDefault<z.ZodEnum<{
168
+ contributed: "contributed";
169
+ imported: "imported";
170
+ "derived-from-history": "derived-from-history";
171
+ }>>;
172
+ lineage: z.ZodOptional<z.ZodObject<{
173
+ episodeId: z.ZodString;
174
+ mintRef: z.ZodOptional<z.ZodString>;
175
+ }, z.core.$strict>>;
176
+ attemptGroup: z.ZodOptional<z.ZodObject<{
177
+ groupId: z.ZodString;
178
+ attemptId: z.ZodString;
179
+ relatedAttemptRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
180
+ groupSize: z.ZodOptional<z.ZodNumber>;
181
+ nPass: z.ZodOptional<z.ZodNumber>;
182
+ nFail: z.ZodOptional<z.ZodNumber>;
183
+ }, z.core.$strict>>;
184
+ activity: z.ZodOptional<z.ZodObject<{
185
+ retrievalFired: z.ZodBoolean;
186
+ eligibleRefs: z.ZodArray<z.ZodString>;
187
+ deliveredRefs: z.ZodArray<z.ZodString>;
188
+ deliveryMode: z.ZodEnum<{
189
+ degraded: "degraded";
190
+ disabled: "disabled";
191
+ delivered: "delivered";
192
+ withheld: "withheld";
193
+ }>;
194
+ deliveredContentHash: z.ZodOptional<z.ZodString>;
195
+ searchedTerms: z.ZodDefault<z.ZodArray<z.ZodString>>;
196
+ providedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
197
+ surfacedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
198
+ fetchedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
199
+ installedSkillRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
200
+ }, z.core.$strict>>;
201
+ eligibility: z.ZodOptional<z.ZodObject<{
202
+ eligible: z.ZodBoolean;
203
+ reason: z.ZodString;
204
+ checkedAt: z.ZodISODateTime;
205
+ }, z.core.$strict>>;
206
+ contributionCandidate: z.ZodOptional<z.ZodObject<{
207
+ testRuns: z.ZodArray<z.ZodObject<{
208
+ command: z.ZodString;
209
+ exitCode: z.ZodNumber;
210
+ at: z.ZodISODateTime;
211
+ }, z.core.$strict>>;
212
+ skillEvents: z.ZodArray<z.ZodObject<{
213
+ skillRef: z.ZodString;
214
+ action: z.ZodEnum<{
215
+ loaded: "loaded";
216
+ invoked: "invoked";
217
+ }>;
218
+ }, z.core.$strict>>;
219
+ schemaVersion: z.ZodLiteral<"jinn.contribution-candidate.v1">;
220
+ sourceId: z.ZodString;
221
+ repositorySlug: z.ZodString;
222
+ baseCommit: z.ZodString;
223
+ acceptedDiff: z.ZodString;
224
+ intermediateFailureDiffs: z.ZodArray<z.ZodString>;
225
+ publishMinedTasksConsent: z.ZodBoolean;
226
+ createdAt: z.ZodISODateTime;
227
+ }, z.core.$strict>>;
228
+ }, z.core.$strict>;
229
+ export declare const SessionActivityFactsSchema: z.ZodPreprocess<z.ZodObject<{
230
+ retrievalFired: z.ZodBoolean;
231
+ eligibleRefs: z.ZodArray<z.ZodString>;
232
+ deliveredRefs: z.ZodArray<z.ZodString>;
233
+ deliveryMode: z.ZodEnum<{
234
+ degraded: "degraded";
235
+ disabled: "disabled";
236
+ delivered: "delivered";
237
+ withheld: "withheld";
238
+ }>;
239
+ deliveredContentHash: z.ZodOptional<z.ZodString>;
240
+ searchedTerms: z.ZodDefault<z.ZodArray<z.ZodString>>;
241
+ providedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
242
+ surfacedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
243
+ fetchedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
244
+ installedSkillRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
245
+ }, z.core.$loose>>;
246
+ export declare const EpisodeV1Schema: z.ZodPreprocess<z.ZodObject<{
247
+ schemaVersion: z.ZodLiteral<"jinn.episode.v1">;
248
+ episodeId: z.ZodString;
249
+ retrievalVisible: z.ZodDefault<z.ZodBoolean>;
250
+ session: z.ZodObject<{
251
+ sessionId: z.ZodString;
252
+ capturedAt: z.ZodISODateTime;
253
+ kind: z.ZodEnum<{
254
+ user: "user";
255
+ "host-internal": "host-internal";
256
+ }>;
257
+ parentSessionId: z.ZodOptional<z.ZodString>;
258
+ }, z.core.$loose>;
259
+ origin: z.ZodUnion<readonly [z.ZodObject<{
260
+ writer: z.ZodString;
261
+ build: z.ZodString;
262
+ }, z.core.$loose>, z.ZodLiteral<"legacy-unstamped">]>;
263
+ task: z.ZodObject<{
264
+ summary: z.ZodString;
265
+ distributionTags: z.ZodDefault<z.ZodArray<z.ZodString>>;
266
+ repositorySlug: z.ZodOptional<z.ZodString>;
267
+ baseCommit: z.ZodOptional<z.ZodString>;
268
+ createdAt: z.ZodOptional<z.ZodNumber>;
269
+ instanceId: z.ZodOptional<z.ZodString>;
270
+ }, z.core.$loose>;
271
+ trajectory: z.ZodArray<z.ZodObject<{
272
+ spanId: z.ZodString;
273
+ parentSpanId: z.ZodNullable<z.ZodString>;
274
+ kind: z.ZodEnum<{
275
+ "jinn.agent_turn": "jinn.agent_turn";
276
+ "jinn.tool_call": "jinn.tool_call";
277
+ }>;
278
+ name: z.ZodString;
279
+ startTimeUnixNano: z.ZodString;
280
+ endTimeUnixNano: z.ZodString;
281
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
282
+ redactedKeys: z.ZodDefault<z.ZodArray<z.ZodString>>;
283
+ truncatedKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
284
+ events: z.ZodOptional<z.ZodArray<z.ZodObject<{
285
+ timeUnixNano: z.ZodString;
286
+ name: z.ZodString;
287
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
288
+ }, z.core.$strict>>>;
289
+ status: z.ZodOptional<z.ZodObject<{
290
+ code: z.ZodEnum<{
291
+ UNSET: "UNSET";
292
+ OK: "OK";
293
+ ERROR: "ERROR";
294
+ }>;
295
+ message: z.ZodOptional<z.ZodString>;
296
+ }, z.core.$strict>>;
297
+ }, z.core.$loose>>;
298
+ environment: z.ZodObject<{
299
+ harness: z.ZodObject<{
300
+ name: z.ZodString;
301
+ version: z.ZodString;
302
+ }, z.core.$loose>;
303
+ model: z.ZodString;
304
+ tools: z.ZodArray<z.ZodString>;
305
+ skillsLoadout: z.ZodArray<z.ZodString>;
306
+ generatorModel: z.ZodOptional<z.ZodObject<{
307
+ id: z.ZodString;
308
+ provider: z.ZodOptional<z.ZodString>;
309
+ openWeights: z.ZodOptional<z.ZodBoolean>;
310
+ source: z.ZodEnum<{
311
+ stream: "stream";
312
+ config: "config";
313
+ }>;
314
+ }, z.core.$loose>>;
315
+ distributionClass: z.ZodOptional<z.ZodEnum<{
316
+ unknown: "unknown";
317
+ open: "open";
318
+ "restricted-tos": "restricted-tos";
319
+ }>>;
320
+ verifier: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
321
+ type: z.ZodLiteral<"f2p-p2p">;
322
+ failToPass: z.ZodArray<z.ZodString>;
323
+ passToPass: z.ZodArray<z.ZodString>;
324
+ evalSemanticsVersion: z.ZodString;
325
+ }, z.core.$loose>, z.ZodObject<{
326
+ type: z.ZodEnum<{
327
+ command: "command";
328
+ none: "none";
329
+ }>;
330
+ failToPass: z.ZodDefault<z.ZodArray<z.ZodString>>;
331
+ passToPass: z.ZodDefault<z.ZodArray<z.ZodString>>;
332
+ evalSemanticsVersion: z.ZodOptional<z.ZodString>;
333
+ }, z.core.$loose>], "type">>;
334
+ }, z.core.$loose>;
335
+ outcome: z.ZodObject<{
336
+ testRuns: z.ZodOptional<z.ZodObject<{
337
+ passed: z.ZodNumber;
338
+ failed: z.ZodNumber;
339
+ }, z.core.$loose>>;
340
+ status: z.ZodEnum<{
341
+ completed: "completed";
342
+ failed: "failed";
343
+ abandoned: "abandoned";
344
+ }>;
345
+ verificationStrength: z.ZodEnum<{
346
+ "user-accepted": "user-accepted";
347
+ "tests-passed": "tests-passed";
348
+ "evaluator-verified": "evaluator-verified";
349
+ }>;
350
+ summary: z.ZodOptional<z.ZodString>;
351
+ acceptedDiff: z.ZodOptional<z.ZodBoolean>;
352
+ }, z.core.$loose>;
353
+ cost: z.ZodObject<{
354
+ tokens: z.ZodOptional<z.ZodObject<{
355
+ input: z.ZodNumber;
356
+ output: z.ZodNumber;
357
+ }, z.core.$loose>>;
358
+ durationMs: z.ZodNumber;
359
+ usdEstimate: z.ZodOptional<z.ZodString>;
360
+ }, z.core.$loose>;
361
+ retention: z.ZodObject<{
362
+ policy: z.ZodEnum<{
363
+ "local-private": "local-private";
364
+ "contribution-eligible": "contribution-eligible";
365
+ }>;
366
+ }, z.core.$loose>;
367
+ provenance: z.ZodDefault<z.ZodEnum<{
368
+ contributed: "contributed";
369
+ imported: "imported";
370
+ "derived-from-history": "derived-from-history";
371
+ }>>;
372
+ lineage: z.ZodOptional<z.ZodObject<{
373
+ episodeId: z.ZodString;
374
+ mintRef: z.ZodOptional<z.ZodString>;
375
+ }, z.core.$loose>>;
376
+ attemptGroup: z.ZodOptional<z.ZodObject<{
377
+ groupId: z.ZodString;
378
+ attemptId: z.ZodString;
379
+ relatedAttemptRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
380
+ groupSize: z.ZodOptional<z.ZodNumber>;
381
+ nPass: z.ZodOptional<z.ZodNumber>;
382
+ nFail: z.ZodOptional<z.ZodNumber>;
383
+ }, z.core.$loose>>;
384
+ activity: z.ZodOptional<z.ZodObject<{
385
+ retrievalFired: z.ZodBoolean;
386
+ eligibleRefs: z.ZodArray<z.ZodString>;
387
+ deliveredRefs: z.ZodArray<z.ZodString>;
388
+ deliveryMode: z.ZodEnum<{
389
+ degraded: "degraded";
390
+ disabled: "disabled";
391
+ delivered: "delivered";
392
+ withheld: "withheld";
393
+ }>;
394
+ deliveredContentHash: z.ZodOptional<z.ZodString>;
395
+ searchedTerms: z.ZodDefault<z.ZodArray<z.ZodString>>;
396
+ providedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
397
+ surfacedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
398
+ fetchedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
399
+ installedSkillRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
400
+ }, z.core.$loose>>;
401
+ eligibility: z.ZodOptional<z.ZodObject<{
402
+ eligible: z.ZodBoolean;
403
+ reason: z.ZodString;
404
+ checkedAt: z.ZodISODateTime;
405
+ }, z.core.$loose>>;
406
+ contributionCandidate: z.ZodOptional<z.ZodObject<{
407
+ testRuns: z.ZodArray<z.ZodObject<{
408
+ command: z.ZodString;
409
+ exitCode: z.ZodNumber;
410
+ at: z.ZodISODateTime;
411
+ }, z.core.$loose>>;
412
+ skillEvents: z.ZodArray<z.ZodObject<{
413
+ skillRef: z.ZodString;
414
+ action: z.ZodEnum<{
415
+ loaded: "loaded";
416
+ invoked: "invoked";
417
+ }>;
418
+ }, z.core.$loose>>;
419
+ schemaVersion: z.ZodLiteral<"jinn.contribution-candidate.v1">;
420
+ sourceId: z.ZodString;
421
+ repositorySlug: z.ZodString;
422
+ baseCommit: z.ZodString;
423
+ acceptedDiff: z.ZodString;
424
+ intermediateFailureDiffs: z.ZodArray<z.ZodString>;
425
+ publishMinedTasksConsent: z.ZodBoolean;
426
+ createdAt: z.ZodISODateTime;
427
+ }, z.core.$loose>>;
428
+ }, z.core.$loose>>;
429
+ export type EpisodeV1 = z.infer<typeof EpisodeV1Schema>;
430
+ export type SessionActivityFacts = z.infer<typeof SessionActivityFactsSchema>;
431
+ export type EpisodeV1Write = z.infer<typeof EpisodeV1WriteSchema>;
432
+ export type VerificationStrength = z.infer<typeof VerificationStrengthSchema>;