@qmilab/lodestar-core 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +12 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/schemas/action.d.ts +31 -13
  6. package/dist/schemas/action.d.ts.map +1 -1
  7. package/dist/schemas/action.js +20 -1
  8. package/dist/schemas/action.js.map +1 -1
  9. package/dist/schemas/approval.d.ts +271 -0
  10. package/dist/schemas/approval.d.ts.map +1 -0
  11. package/dist/schemas/approval.js +119 -0
  12. package/dist/schemas/approval.js.map +1 -0
  13. package/dist/schemas/belief.d.ts.map +1 -1
  14. package/dist/schemas/belief.js +7 -1
  15. package/dist/schemas/belief.js.map +1 -1
  16. package/dist/schemas/calibration.d.ts +977 -0
  17. package/dist/schemas/calibration.d.ts.map +1 -0
  18. package/dist/schemas/calibration.js +187 -0
  19. package/dist/schemas/calibration.js.map +1 -0
  20. package/dist/schemas/claim.d.ts.map +1 -1
  21. package/dist/schemas/claim.js +4 -2
  22. package/dist/schemas/claim.js.map +1 -1
  23. package/dist/schemas/common.d.ts.map +1 -1
  24. package/dist/schemas/common.js +11 -5
  25. package/dist/schemas/common.js.map +1 -1
  26. package/dist/schemas/policy.d.ts +768 -0
  27. package/dist/schemas/policy.d.ts.map +1 -0
  28. package/dist/schemas/policy.js +200 -0
  29. package/dist/schemas/policy.js.map +1 -0
  30. package/dist/schemas/probe-pack.d.ts +152 -0
  31. package/dist/schemas/probe-pack.d.ts.map +1 -0
  32. package/dist/schemas/probe-pack.js +140 -0
  33. package/dist/schemas/probe-pack.js.map +1 -0
  34. package/dist/schemas/reflection.d.ts +405 -0
  35. package/dist/schemas/reflection.d.ts.map +1 -0
  36. package/dist/schemas/reflection.js +154 -0
  37. package/dist/schemas/reflection.js.map +1 -0
  38. package/dist/schemas/revision.d.ts.map +1 -1
  39. package/dist/schemas/revision.js.map +1 -1
  40. package/dist/schemas/sentinel.d.ts +134 -0
  41. package/dist/schemas/sentinel.d.ts.map +1 -0
  42. package/dist/schemas/sentinel.js +97 -0
  43. package/dist/schemas/sentinel.js.map +1 -0
  44. package/package.json +2 -7
  45. package/src/index.ts +18 -0
  46. package/src/schemas/action.ts +20 -1
  47. package/src/schemas/approval.ts +136 -0
  48. package/src/schemas/belief.ts +7 -1
  49. package/src/schemas/calibration.ts +212 -0
  50. package/src/schemas/claim.ts +15 -8
  51. package/src/schemas/common.ts +16 -10
  52. package/src/schemas/policy.ts +231 -0
  53. package/src/schemas/probe-pack.ts +169 -0
  54. package/src/schemas/reflection.ts +166 -0
  55. package/src/schemas/revision.ts +7 -5
  56. package/src/schemas/sentinel.ts +104 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calibration.d.ts","sourceRoot":"","sources":["../../src/schemas/calibration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,187 @@
1
+ import { z } from "zod";
2
+ import { TimestampSchema } from "./common.js";
3
+ /**
4
+ * Calibration wire format.
5
+ *
6
+ * These schemas describe what the harness `Calibrator` measures —
7
+ * per-class ECE / Brier / calibration-gap tables and the flagged classes.
8
+ * They lived in `@qmilab/lodestar-harness` while the calibrator was a
9
+ * return-value-only surface; they **graduated to `@qmilab/lodestar-core`**
10
+ * when the durable `calibration.computed@1` event landed (ADR-0011), so
11
+ * the event payload can embed the report (core is the dependency root and
12
+ * cannot import the harness). The harness re-exports them unchanged, so
13
+ * harness consumers are unaffected.
14
+ *
15
+ * The Calibrator stays measure-only: it returns a {@link CalibrationReport}
16
+ * and never writes. Recording a report as a `calibration.computed@1` event
17
+ * is a separate publish step (`lodestar harness calibrate` / the harness
18
+ * `eventLogCalibrationSink`), the same measure/record split the sentinels
19
+ * follow (a `Sentinel` returns findings; `eventLogAlertSink` writes them).
20
+ *
21
+ * Everything here is validated at the calibrator and event-sink boundaries,
22
+ * the same discipline the probe-run observation and sentinel-alert builders
23
+ * hold.
24
+ */
25
+ /**
26
+ * Which signal in the event log produced a calibration sample.
27
+ * - `action_outcome`: a belief → decision → action chain where the
28
+ * action's realised result (terminal phase or an explicit Outcome) is
29
+ * the label.
30
+ * - `truth_status`: the firewall transitioned the belief's `truth_status`
31
+ * to `supported` / `contradicted` — the world adjudicating the belief.
32
+ */
33
+ export const SampleSourceSchema = z.enum(["action_outcome", "truth_status"]);
34
+ /** The scored metrics for a set of samples (one class, or the pool). */
35
+ export const CalibrationMetricsSchema = z.object({
36
+ n: z.number().int().nonnegative(),
37
+ /** mean of stated confidence */
38
+ mean_confidence: z.number().min(0).max(1),
39
+ /** realised positive rate, mean(correct) */
40
+ empirical_accuracy: z.number().min(0).max(1),
41
+ /** mean((p - y)^2); 0 is perfect, lower is better */
42
+ brier_score: z.number().min(0).max(1),
43
+ /** expected calibration error over equal-width confidence bins */
44
+ ece: z.number().min(0).max(1),
45
+ /** signed mean_confidence - empirical_accuracy; > 0 is overconfident */
46
+ calibration_gap: z.number().min(-1).max(1),
47
+ overconfident: z.boolean(),
48
+ });
49
+ /** One non-empty bin of a reliability diagram. */
50
+ export const ReliabilityBinSchema = z.object({
51
+ lower: z.number().min(0).max(1),
52
+ upper: z.number().min(0).max(1),
53
+ n: z.number().int().positive(),
54
+ mean_confidence: z.number().min(0).max(1),
55
+ empirical_accuracy: z.number().min(0).max(1),
56
+ });
57
+ /** Per-class result: metrics, the reliability bins, and the verdict. */
58
+ export const CalibrationClassResultSchema = z.object({
59
+ calibration_class: z.string(),
60
+ metrics: CalibrationMetricsSchema,
61
+ /** non-empty bins only, ascending by `lower` */
62
+ reliability_bins: z.array(ReliabilityBinSchema),
63
+ flagged: z.boolean(),
64
+ /** human-legible reason when flagged; `null` when not */
65
+ flag_reason: z.string().nullable(),
66
+ });
67
+ /** The thresholds and toggles actually applied, echoed for reproducibility. */
68
+ export const ResolvedCalibratorConfigSchema = z.object({
69
+ bins: z.number().int().positive(),
70
+ min_samples: z.number().int().positive(),
71
+ ece_threshold: z.number().min(0).max(1),
72
+ gap_threshold: z.number().min(0).max(1),
73
+ outcome_sources: z.array(SampleSourceSchema).min(1),
74
+ include_synthetic_authority: z.boolean(),
75
+ });
76
+ /**
77
+ * The calibrator's output: per-class tables, a pooled `overall` block,
78
+ * the flagged class names, and the config that produced it. A pure
79
+ * function of `(events, config)` — no clock, no scope inference — so it
80
+ * is deterministic and testable, and re-running it over the same event
81
+ * window reproduces the report (the property the `cursor` on
82
+ * {@link CalibrationComputedPayloadSchema} makes auditable).
83
+ */
84
+ export const CalibrationReportSchema = z.object({
85
+ /** total samples resolved and included (after exclusions) */
86
+ sample_count: z.number().int().nonnegative(),
87
+ classes: z.array(CalibrationClassResultSchema),
88
+ overall: CalibrationMetricsSchema,
89
+ flagged_classes: z.array(z.string()),
90
+ config: ResolvedCalibratorConfigSchema,
91
+ });
92
+ // ── The calibration.computed@1 governed event (ADR-0011) ─────────────────
93
+ /**
94
+ * What invoked a calibration pass.
95
+ *
96
+ * `cli` — a human ran `lodestar harness calibrate --session <id>`.
97
+ * `programmatic` — a host computed and recorded calibration from its own
98
+ * code (e.g. a guarded loop at a deliberate checkpoint).
99
+ */
100
+ export const CalibrationTriggerSchema = z.enum(["cli", "programmatic"]);
101
+ /**
102
+ * The seq window a calibration pass measured.
103
+ *
104
+ * Replayability is by cursor: re-running `calibrate` over the same events
105
+ * in this window — those with `seq` strictly greater than `from_seq` and
106
+ * less than or equal to `to_seq`, within the event's own session slice —
107
+ * reproduces the embedded `report` (the calibrator is a pure function of
108
+ * `(events, config)`). This is what makes calibration drift auditable
109
+ * across time — two `calibration.computed@1` events with overlapping
110
+ * windows can be diffed, and either can be recomputed from the log to
111
+ * verify it was not tampered with. (`seq` is per-project, so the session
112
+ * slice is the natural replay scope; a v0 calibration pass reads one
113
+ * session.)
114
+ */
115
+ export const CalibrationCursorSchema = z
116
+ .object({
117
+ from_seq: z
118
+ .number()
119
+ .int()
120
+ .min(-1)
121
+ .describe("Exclusive lower bound. The pass measured events with seq strictly greater than this; " +
122
+ "-1 means from the start of the partition."),
123
+ to_seq: z
124
+ .number()
125
+ .int()
126
+ .min(-1)
127
+ .describe("Inclusive upper bound: the highest event seq included. Equal to from_seq when the " +
128
+ "window is empty (the pass ran but observed no events)."),
129
+ })
130
+ // An inverted window `(from_seq, to_seq]` with `to_seq < from_seq` selects
131
+ // no events and cannot reproduce a non-empty report — it would persist a
132
+ // `calibration.computed@1` whose replay guarantee is a lie. Reject it at the
133
+ // boundary; the empty window `from_seq === to_seq` is the only equality case
134
+ // (the pass ran but observed nothing), and it satisfies this.
135
+ .refine((c) => c.to_seq >= c.from_seq, {
136
+ message: "to_seq must be >= from_seq (an inverted cursor selects no events)",
137
+ path: ["to_seq"],
138
+ });
139
+ /**
140
+ * The payload of a `calibration.computed@1` event.
141
+ *
142
+ * The durable record of one calibration pass: the verdict (`report`), the
143
+ * window it measured (`cursor`, for replay), and provenance (`computed_at`,
144
+ * `triggered_by`, `computation_id`). It does NOT enforce anything — the
145
+ * Policy Kernel's arbitrate hook reads an in-process `CalibrationReport`
146
+ * snapshot, not this event (see `docs/architecture/calibrator.md` and
147
+ * ADR-0011). This event exists so calibration drift is auditable and
148
+ * replayable, the way a probe run or a sentinel finding already is.
149
+ *
150
+ * Not signed in v0: the event inherits the log's canonical-hash
151
+ * tamper-evidence, and nothing un-parks a held action on the strength of a
152
+ * calibration *event* (the gate only ever escalates — the conservative
153
+ * direction). If a future slice makes the gate consume persisted
154
+ * calibration events as an authority, signing graduates then, the same
155
+ * staged path the approval resolution followed (ADR-0010).
156
+ */
157
+ export const CalibrationComputedPayloadSchema = z
158
+ .object({
159
+ /** Stable id for this pass, so the audit chain can reference it. */
160
+ computation_id: z.string().min(1),
161
+ triggered_by: CalibrationTriggerSchema,
162
+ /** The seq window measured — re-running `calibrate` over it reproduces `report`. */
163
+ cursor: CalibrationCursorSchema,
164
+ /** The verdict: the full report this pass produced. */
165
+ report: CalibrationReportSchema,
166
+ computed_at: TimestampSchema,
167
+ })
168
+ // The cursor is only an honest replay key if it is *consistent* with the
169
+ // report. An empty window `(n, n]` selects zero events, so it can reproduce
170
+ // only a zero-sample report — and a zero-sample report can only have come
171
+ // from an empty window. Enforce the biconditional: empty window ⟺
172
+ // `sample_count === 0`. This rejects the two non-replayable shapes a
173
+ // programmatic caller could otherwise persist — an empty window carrying a
174
+ // populated report (replaying it yields nothing), and a populated window
175
+ // carrying a zero-sample report (the window's events would yield samples).
176
+ .refine((p) => (p.cursor.to_seq === p.cursor.from_seq) === (p.report.sample_count === 0), {
177
+ message: "an empty cursor window (to_seq === from_seq) must accompany a zero-sample report and vice " +
178
+ "versa — otherwise the recorded window cannot reproduce the report it claims as its replay key",
179
+ path: ["cursor", "to_seq"],
180
+ });
181
+ /**
182
+ * Event-type literal. Use this constant rather than the bare string so a
183
+ * future rename is grep-safe. Mirrors `reflection.completed@1`.
184
+ */
185
+ export const CALIBRATION_COMPUTED_EVENT_TYPE = "calibration.computed";
186
+ export const CALIBRATION_COMPUTED_SCHEMA_VERSION = "1";
187
+ //# sourceMappingURL=calibration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calibration.js","sourceRoot":"","sources":["../../src/schemas/calibration.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claim.d.ts","sourceRoot":"","sources":["../../src/schemas/claim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB;;GAEG;AACH,eAAO,MAAM,sBAAsB,+CAA6C,CAAA;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE;;GAEG;AACH,eAAO,MAAM,iBAAiB,+DAA6D,CAAA;AAC3F,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAatB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAM/C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,gIAOhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;EAO7B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"claim.d.ts","sourceRoot":"","sources":["../../src/schemas/claim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB;;GAEG;AACH,eAAO,MAAM,sBAAsB,+CAA6C,CAAA;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE;;GAEG;AACH,eAAO,MAAM,iBAAiB,+DAA6D,CAAA;AAC3F,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAetB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAM/C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,gIAOhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;EAO7B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { PredicateSchema, ResourceScopeSchema, SensitivitySchema, TimestampSchema } from "./common.js";
2
+ import { PredicateSchema, ResourceScopeSchema, SensitivitySchema, TimestampSchema, } from "./common.js";
3
3
  /**
4
4
  * How a claim was extracted from observation(s).
5
5
  */
@@ -29,7 +29,9 @@ export const ClaimSchema = z.object({
29
29
  id: z.string(),
30
30
  statement: z.string().describe("human-readable claim"),
31
31
  structured_predicate: PredicateSchema.optional().describe("for queryable claims"),
32
- source_observation_ids: z.array(z.string()).min(1, "a claim must reference at least one observation"),
32
+ source_observation_ids: z
33
+ .array(z.string())
34
+ .min(1, "a claim must reference at least one observation"),
33
35
  extraction_method: ExtractionMethodSchema,
34
36
  extracted_by: z.string().describe("actor_id of the extractor"),
35
37
  status: ClaimStatusSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"claim.js","sourceRoot":"","sources":["../../src/schemas/claim.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claim.js","sourceRoot":"","sources":["../../src/schemas/claim.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,6DAA2D,CAAA;AACzF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;EAGyC,CAAA;AACzE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;EAIkC,CAAA;AAC9D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD;;GAEG;AACH,eAAO,MAAM,eAAe,aAAwC,CAAA;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD;;GAEG;AACH,eAAO,MAAM,cAAc,aAAyG,CAAA;AACpI,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAErD;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;EAIvB,CAAA;AACF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,6DAA2D,CAAA;AACzF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;EAKyC,CAAA;AACzE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;EAMkC,CAAA;AAC9D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD;;GAEG;AACH,eAAO,MAAM,eAAe,aAAwC,CAAA;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD;;GAEG;AACH,eAAO,MAAM,cAAc,aAEmE,CAAA;AAC9F,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAErD;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;EAIvB,CAAA;AACF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA"}
@@ -12,19 +12,23 @@ export const SensitivitySchema = z.enum(["public", "internal", "confidential", "
12
12
  * Scope a claim, belief, memory, or action applies to. Hierarchical
13
13
  * from broadest (global) to narrowest (session).
14
14
  */
15
- export const ResourceScopeSchema = z.object({
15
+ export const ResourceScopeSchema = z
16
+ .object({
16
17
  level: z.enum(["global", "organization", "user", "project", "repo", "session"]),
17
18
  identifier: z.string().describe("identifier within the scope level, e.g. project_id"),
18
- }).describe("Scope that bounds where a claim, belief, or memory applies");
19
+ })
20
+ .describe("Scope that bounds where a claim, belief, or memory applies");
19
21
  /**
20
22
  * Structured predicate for queryable claims and beliefs.
21
23
  * Free-form for v0; refined in later versions as the planner matures.
22
24
  */
23
- export const PredicateSchema = z.object({
25
+ export const PredicateSchema = z
26
+ .object({
24
27
  subject: z.string(),
25
28
  relation: z.string(),
26
29
  object: z.unknown(),
27
- }).describe("Structured form of a claim suitable for queries");
30
+ })
31
+ .describe("Structured form of a claim suitable for queries");
28
32
  /**
29
33
  * ISO 8601 timestamp string.
30
34
  */
@@ -32,7 +36,9 @@ export const TimestampSchema = z.string().datetime({ offset: true });
32
36
  /**
33
37
  * ISO 8601 duration string (e.g. "P30D", "PT1H").
34
38
  */
35
- export const DurationSchema = z.string().regex(/^P(?:\d+Y)?(?:\d+M)?(?:\d+W)?(?:\d+D)?(?:T(?:\d+H)?(?:\d+M)?(?:\d+(?:\.\d+)?S)?)?$/);
39
+ export const DurationSchema = z
40
+ .string()
41
+ .regex(/^P(?:\d+Y)?(?:\d+M)?(?:\d+W)?(?:\d+D)?(?:T(?:\d+H)?(?:\d+M)?(?:\d+(?:\.\d+)?S)?)?$/);
36
42
  /**
37
43
  * Generic Source reference used in evidence and explanations.
38
44
  * Points to an observation, belief, or external identifier.
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAA;AAGzF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;CACtF,CAAC,CAAC,QAAQ,CAAC,4DAA4D,CAAC,CAAA;AAGzE;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACpB,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAA;AAG9D;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAGpE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAA;AAGpI;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC/E,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CAChF,CAAC,CAAA"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAA;AAGzF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;CACtF,CAAC;KACD,QAAQ,CAAC,4DAA4D,CAAC,CAAA;AAGzE;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACpB,CAAC;KACD,QAAQ,CAAC,iDAAiD,CAAC,CAAA;AAG9D;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAGpE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,KAAK,CAAC,oFAAoF,CAAC,CAAA;AAG9F;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC/E,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CAChF,CAAC,CAAA"}