@lucern/contracts 0.3.0-alpha.4 → 0.3.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/edge-policy-manifest-DpmTtjmm.d.ts +132 -0
- package/dist/function-registry/beliefs.js +72 -0
- package/dist/function-registry/beliefs.js.map +1 -1
- package/dist/function-registry/coding.js +72 -0
- package/dist/function-registry/coding.js.map +1 -1
- package/dist/function-registry/context.js +72 -0
- package/dist/function-registry/context.js.map +1 -1
- package/dist/function-registry/contracts.js +72 -0
- package/dist/function-registry/contracts.js.map +1 -1
- package/dist/function-registry/coordination.js +72 -0
- package/dist/function-registry/coordination.js.map +1 -1
- package/dist/function-registry/edges.js +72 -0
- package/dist/function-registry/edges.js.map +1 -1
- package/dist/function-registry/evidence.js +72 -0
- package/dist/function-registry/evidence.js.map +1 -1
- package/dist/function-registry/graph.d.ts +78 -0
- package/dist/function-registry/graph.js +129 -0
- package/dist/function-registry/graph.js.map +1 -1
- package/dist/function-registry/helpers.d.ts +1 -1
- package/dist/function-registry/helpers.js +72 -0
- package/dist/function-registry/helpers.js.map +1 -1
- package/dist/function-registry/identity.js +72 -0
- package/dist/function-registry/identity.js.map +1 -1
- package/dist/function-registry/index.d.ts +1 -1
- package/dist/function-registry/index.js +72 -0
- package/dist/function-registry/index.js.map +1 -1
- package/dist/function-registry/judgments.js +72 -0
- package/dist/function-registry/judgments.js.map +1 -1
- package/dist/function-registry/legacy.js +72 -0
- package/dist/function-registry/legacy.js.map +1 -1
- package/dist/function-registry/lenses.js +72 -0
- package/dist/function-registry/lenses.js.map +1 -1
- package/dist/function-registry/manifest.d.ts +3 -3
- package/dist/function-registry/manifest.js +2 -0
- package/dist/function-registry/manifest.js.map +1 -1
- package/dist/function-registry/ontologies.js +72 -0
- package/dist/function-registry/ontologies.js.map +1 -1
- package/dist/function-registry/pipeline.js +72 -0
- package/dist/function-registry/pipeline.js.map +1 -1
- package/dist/function-registry/questions.js +72 -0
- package/dist/function-registry/questions.js.map +1 -1
- package/dist/function-registry/tasks.js +72 -0
- package/dist/function-registry/tasks.js.map +1 -1
- package/dist/function-registry/topics.js +72 -0
- package/dist/function-registry/topics.js.map +1 -1
- package/dist/function-registry/types.d.ts +1 -1
- package/dist/function-registry/worktrees.js +72 -0
- package/dist/function-registry/worktrees.js.map +1 -1
- package/dist/generated/convexSchemas.js +1 -1
- package/dist/generated/convexSchemas.js.map +1 -1
- package/dist/graph-intelligence.contract.d.ts +506 -0
- package/dist/graph-intelligence.contract.js +595 -0
- package/dist/graph-intelligence.contract.js.map +1 -0
- package/dist/graph-types/index.d.ts +5 -1
- package/dist/graph-types/index.js +15 -4
- package/dist/graph-types/index.js.map +1 -1
- package/dist/{index-CV-0_VWJ.d.ts → index-O09U2xHk.d.ts} +5 -2
- package/dist/index.d.ts +18 -817
- package/dist/index.js +744 -10
- package/dist/index.js.map +1 -1
- package/dist/infisical-runtime.contract.js +120 -0
- package/dist/infisical-runtime.contract.js.map +1 -1
- package/dist/manifests/edge-policy-manifest.d.ts +2 -0
- package/dist/manifests/edge-policy-manifest.data.d.ts +27 -0
- package/dist/manifests/edge-policy-manifest.data.js +34 -0
- package/dist/manifests/edge-policy-manifest.data.js.map +1 -0
- package/dist/manifests/edge-policy-manifest.js +65 -0
- package/dist/manifests/edge-policy-manifest.js.map +1 -0
- package/dist/manifests/infisical-runtime-manifest.d.ts +151 -0
- package/dist/manifests/infisical-runtime-manifest.js +311 -0
- package/dist/manifests/infisical-runtime-manifest.js.map +1 -0
- package/dist/manifests/invariant-manifest.d.ts +65 -0
- package/dist/manifests/invariant-manifest.js +18 -0
- package/dist/manifests/invariant-manifest.js.map +1 -0
- package/dist/manifests/invariants/ast-utils.d.ts +14 -0
- package/dist/manifests/invariants/ast-utils.js +54 -0
- package/dist/manifests/invariants/ast-utils.js.map +1 -0
- package/dist/manifests/invariants/index.d.ts +15 -0
- package/dist/manifests/invariants/index.js +183 -0
- package/dist/manifests/invariants/index.js.map +1 -0
- package/dist/manifests/invariants/inv-1-beliefs-append-only.d.ts +12 -0
- package/dist/manifests/invariants/inv-1-beliefs-append-only.js +94 -0
- package/dist/manifests/invariants/inv-1-beliefs-append-only.js.map +1 -0
- package/dist/manifests/invariants/inv-14-no-silent-transitions.d.ts +12 -0
- package/dist/manifests/invariants/inv-14-no-silent-transitions.js +99 -0
- package/dist/manifests/invariants/inv-14-no-silent-transitions.js.map +1 -0
- package/dist/manifests/invariants/manifest-1-projections-declare-audit.d.ts +12 -0
- package/dist/manifests/invariants/manifest-1-projections-declare-audit.js +42 -0
- package/dist/manifests/invariants/manifest-1-projections-declare-audit.js.map +1 -0
- package/dist/manifests/tenant-client-manifest.d.ts +303 -0
- package/dist/manifests/tenant-client-manifest.js +409 -0
- package/dist/manifests/tenant-client-manifest.js.map +1 -0
- package/dist/projections/check-convex-args-shape.d.ts +3 -0
- package/dist/projections/check-convex-args-shape.js +396 -0
- package/dist/projections/check-convex-args-shape.js.map +1 -0
- package/dist/projections/create-evidence.projection.d.ts +176 -0
- package/dist/projections/create-evidence.projection.js +128 -0
- package/dist/projections/create-evidence.projection.js.map +1 -0
- package/dist/projections/index.d.ts +102 -0
- package/dist/projections/index.js +345 -0
- package/dist/projections/index.js.map +1 -0
- package/dist/projections/list-beliefs.projection.d.ts +36 -0
- package/dist/projections/list-beliefs.projection.js +54 -0
- package/dist/projections/list-beliefs.projection.js.map +1 -0
- package/dist/projections/list-tasks.projection.d.ts +32 -0
- package/dist/projections/list-tasks.projection.js +52 -0
- package/dist/projections/list-tasks.projection.js.map +1 -0
- package/dist/projections/modulate-confidence.projection.d.ts +219 -0
- package/dist/projections/modulate-confidence.projection.js +148 -0
- package/dist/projections/modulate-confidence.projection.js.map +1 -0
- package/dist/projections/projection-dsl.d.ts +11 -0
- package/dist/projections/projection-dsl.js +8 -0
- package/dist/projections/projection-dsl.js.map +1 -0
- package/dist/schemas/enums.d.ts +5 -2
- package/dist/schemas/enums.js +5 -2
- package/dist/schemas/enums.js.map +1 -1
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/index.js +6 -3
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/manifest.d.ts +15 -15
- package/dist/schemas/manifest.js +5 -2
- package/dist/schemas/manifest.js.map +1 -1
- package/dist/schemas/tables/kernel/intelligence.d.ts +2 -2
- package/dist/schemas/tables/kernel/spine.d.ts +1 -1
- package/dist/schemas/tables/kernel/spine.js +5 -2
- package/dist/schemas/tables/kernel/spine.js.map +1 -1
- package/dist/schemas/tables/kernel/topic.js +4 -1
- package/dist/schemas/tables/kernel/topic.js.map +1 -1
- package/dist/{sdk-tools.contract-CD-N1Jf7.d.ts → sdk-tools.contract-Ng8ULxjr.d.ts} +1 -1
- package/dist/sdk-tools.contract.d.ts +2 -2
- package/dist/sdk-tools.contract.js +70 -0
- package/dist/sdk-tools.contract.js.map +1 -1
- package/dist/tenant-bootstrap-seed.contract.d.ts +12 -8
- package/dist/tenant-bootstrap-seed.contract.js +6 -4
- package/dist/tenant-bootstrap-seed.contract.js.map +1 -1
- package/dist/tenant-client.contract.d.ts +69 -5
- package/dist/tenant-client.contract.js +65 -4
- package/dist/tenant-client.contract.js.map +1 -1
- package/dist/{tool-contracts-BcKz-VGj.d.ts → tool-contracts-CYXVPN4K.d.ts} +6 -2
- package/dist/tool-contracts.d.ts +1 -1
- package/dist/tool-contracts.js +71 -1
- package/dist/tool-contracts.js.map +1 -1
- package/package.json +9 -1
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
import { v } from 'convex/values';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
// src/projections/create-evidence.projection.ts
|
|
5
|
+
|
|
6
|
+
// src/projections/projection-dsl.ts
|
|
7
|
+
function defineProjection(def) {
|
|
8
|
+
return def;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// src/projections/create-evidence.projection.ts
|
|
12
|
+
var jsonRecordSchema = z.record(z.unknown());
|
|
13
|
+
var createEvidenceInputSchemaBase = z.object({
|
|
14
|
+
projectId: z.string().optional(),
|
|
15
|
+
topicId: z.string().optional(),
|
|
16
|
+
text: z.string().optional(),
|
|
17
|
+
canonicalText: z.string().optional(),
|
|
18
|
+
title: z.string().optional(),
|
|
19
|
+
content: z.string().optional(),
|
|
20
|
+
contentType: z.string().optional(),
|
|
21
|
+
kind: z.string().optional(),
|
|
22
|
+
tags: z.array(z.string()).optional(),
|
|
23
|
+
source: z.string().optional(),
|
|
24
|
+
sourceUrl: z.string().optional(),
|
|
25
|
+
sourceType: z.string().optional(),
|
|
26
|
+
externalSourceType: z.string().optional(),
|
|
27
|
+
sourceQuestionId: z.string().optional(),
|
|
28
|
+
methodology: z.string().optional(),
|
|
29
|
+
informationAsymmetry: z.string().optional(),
|
|
30
|
+
sourceDescription: z.string().optional(),
|
|
31
|
+
targetId: z.string().optional(),
|
|
32
|
+
targetNodeId: z.string().optional(),
|
|
33
|
+
linkedBeliefNodeId: z.string().optional(),
|
|
34
|
+
evidenceRelation: z.enum(["supports", "contradicts", "neutral"]).optional(),
|
|
35
|
+
confidence: z.number().optional(),
|
|
36
|
+
weight: z.number().optional(),
|
|
37
|
+
reasoning: z.string().optional(),
|
|
38
|
+
rationale: z.string(),
|
|
39
|
+
metadata: jsonRecordSchema.optional(),
|
|
40
|
+
trustedBypassAccessCheck: z.boolean().optional()
|
|
41
|
+
}).passthrough();
|
|
42
|
+
var createEvidenceInputSchema = createEvidenceInputSchemaBase.refine(
|
|
43
|
+
(input) => Boolean(input.text ?? input.canonicalText),
|
|
44
|
+
{
|
|
45
|
+
message: "create_evidence requires text",
|
|
46
|
+
path: ["text"]
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
function compactRecord(input) {
|
|
50
|
+
return Object.fromEntries(
|
|
51
|
+
Object.entries(input).filter(([, value]) => value !== void 0)
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
function recordValue(value) {
|
|
55
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
56
|
+
}
|
|
57
|
+
var createEvidenceProjection = defineProjection({
|
|
58
|
+
contractName: "create_evidence",
|
|
59
|
+
inputSchema: createEvidenceInputSchema,
|
|
60
|
+
project: (input) => {
|
|
61
|
+
const text = input.text ?? input.canonicalText;
|
|
62
|
+
const weight = typeof input.weight === "number" ? input.weight : void 0;
|
|
63
|
+
return compactRecord({
|
|
64
|
+
projectId: input.projectId,
|
|
65
|
+
topicId: input.topicId,
|
|
66
|
+
text,
|
|
67
|
+
title: input.title ?? text,
|
|
68
|
+
content: input.content ?? text,
|
|
69
|
+
contentType: input.contentType,
|
|
70
|
+
kind: input.kind,
|
|
71
|
+
tags: input.tags,
|
|
72
|
+
sourceType: input.sourceType,
|
|
73
|
+
externalSourceType: input.externalSourceType,
|
|
74
|
+
sourceUrl: input.sourceUrl ?? input.source,
|
|
75
|
+
sourceQuestionId: input.sourceQuestionId,
|
|
76
|
+
methodology: input.methodology,
|
|
77
|
+
informationAsymmetry: input.informationAsymmetry,
|
|
78
|
+
sourceDescription: input.sourceDescription,
|
|
79
|
+
metadata: compactRecord({
|
|
80
|
+
...recordValue(input.metadata),
|
|
81
|
+
source: input.source,
|
|
82
|
+
targetId: input.targetId,
|
|
83
|
+
targetNodeId: input.targetNodeId,
|
|
84
|
+
weight,
|
|
85
|
+
reasoning: input.reasoning,
|
|
86
|
+
rationale: input.rationale
|
|
87
|
+
}),
|
|
88
|
+
linkedBeliefNodeId: input.linkedBeliefNodeId ?? input.targetNodeId ?? input.targetId,
|
|
89
|
+
evidenceRelation: input.evidenceRelation ?? (weight === void 0 ? void 0 : weight < 0 ? "contradicts" : "supports"),
|
|
90
|
+
confidence: input.confidence ?? (weight === void 0 ? void 0 : Math.min(1, Math.max(0, Math.abs(weight)))),
|
|
91
|
+
rationale: input.rationale,
|
|
92
|
+
trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true
|
|
93
|
+
});
|
|
94
|
+
},
|
|
95
|
+
convexArgsValidator: v.object({
|
|
96
|
+
projectId: v.optional(v.string()),
|
|
97
|
+
topicId: v.optional(v.string()),
|
|
98
|
+
text: v.string(),
|
|
99
|
+
title: v.optional(v.string()),
|
|
100
|
+
content: v.optional(v.string()),
|
|
101
|
+
contentType: v.optional(v.string()),
|
|
102
|
+
kind: v.optional(v.string()),
|
|
103
|
+
tags: v.optional(v.array(v.string())),
|
|
104
|
+
sourceType: v.optional(v.string()),
|
|
105
|
+
externalSourceType: v.optional(v.string()),
|
|
106
|
+
sourceUrl: v.optional(v.string()),
|
|
107
|
+
sourceQuestionId: v.optional(v.string()),
|
|
108
|
+
methodology: v.optional(v.string()),
|
|
109
|
+
informationAsymmetry: v.optional(v.string()),
|
|
110
|
+
sourceDescription: v.optional(v.string()),
|
|
111
|
+
metadata: v.optional(v.record(v.string(), v.any())),
|
|
112
|
+
linkedBeliefNodeId: v.optional(v.string()),
|
|
113
|
+
evidenceRelation: v.optional(
|
|
114
|
+
v.union(
|
|
115
|
+
v.literal("supports"),
|
|
116
|
+
v.literal("contradicts"),
|
|
117
|
+
v.literal("neutral")
|
|
118
|
+
)
|
|
119
|
+
),
|
|
120
|
+
confidence: v.optional(v.number()),
|
|
121
|
+
rationale: v.string(),
|
|
122
|
+
trustedBypassAccessCheck: v.optional(v.boolean())
|
|
123
|
+
})
|
|
124
|
+
});
|
|
125
|
+
var beliefStatusSchema = z.enum(["active", "superseded", "archived", "unscored", "scored"]).optional().describe("Filter by belief lifecycle or scoring status");
|
|
126
|
+
var listBeliefsInputSchema = z.object({
|
|
127
|
+
topicId: z.string().describe("Topic scope"),
|
|
128
|
+
worktreeId: z.string().optional().describe("Filter to worktree scope"),
|
|
129
|
+
status: beliefStatusSchema,
|
|
130
|
+
minConfidence: z.number().optional().describe("Minimum confidence threshold"),
|
|
131
|
+
limit: z.number().optional().describe("Maximum results"),
|
|
132
|
+
includeEdgeAssociated: z.boolean().optional().describe("Include beliefs associated to the topic through edges")
|
|
133
|
+
});
|
|
134
|
+
function kernelStatus(status) {
|
|
135
|
+
return status === "active" || status === "superseded" || status === "archived" ? status : void 0;
|
|
136
|
+
}
|
|
137
|
+
function compactRecord2(input) {
|
|
138
|
+
return Object.fromEntries(
|
|
139
|
+
Object.entries(input).filter(([, value]) => value !== void 0)
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
var listBeliefsProjection = defineProjection({
|
|
143
|
+
contractName: "list_beliefs",
|
|
144
|
+
inputSchema: listBeliefsInputSchema,
|
|
145
|
+
project: (input) => compactRecord2({
|
|
146
|
+
topicId: input.topicId,
|
|
147
|
+
status: kernelStatus(input.status),
|
|
148
|
+
limit: input.limit,
|
|
149
|
+
includeEdgeAssociated: input.includeEdgeAssociated
|
|
150
|
+
}),
|
|
151
|
+
convexArgsValidator: v.object({
|
|
152
|
+
topicId: v.string(),
|
|
153
|
+
status: v.optional(
|
|
154
|
+
v.union(
|
|
155
|
+
v.literal("active"),
|
|
156
|
+
v.literal("superseded"),
|
|
157
|
+
v.literal("archived")
|
|
158
|
+
)
|
|
159
|
+
),
|
|
160
|
+
limit: v.optional(v.number()),
|
|
161
|
+
includeEdgeAssociated: v.optional(v.boolean())
|
|
162
|
+
})
|
|
163
|
+
});
|
|
164
|
+
var taskStatusSchema = z.enum(["todo", "in_progress", "blocked", "done"]).optional().describe("Filter by task status");
|
|
165
|
+
var listTasksInputSchema = z.object({
|
|
166
|
+
topicId: z.string().describe("Topic scope"),
|
|
167
|
+
worktreeId: z.string().optional().describe("Alias for linkedWorktreeId"),
|
|
168
|
+
linkedWorktreeId: z.string().optional().describe("Filter to tasks linked to this worktree"),
|
|
169
|
+
status: taskStatusSchema,
|
|
170
|
+
limit: z.number().optional().describe("Maximum results")
|
|
171
|
+
});
|
|
172
|
+
function compactRecord3(input) {
|
|
173
|
+
return Object.fromEntries(
|
|
174
|
+
Object.entries(input).filter(([, value]) => value !== void 0)
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
var listTasksProjection = defineProjection({
|
|
178
|
+
contractName: "list_tasks",
|
|
179
|
+
inputSchema: listTasksInputSchema,
|
|
180
|
+
project: (input) => compactRecord3({
|
|
181
|
+
topicId: input.topicId,
|
|
182
|
+
status: input.status,
|
|
183
|
+
userId: void 0,
|
|
184
|
+
limit: input.limit,
|
|
185
|
+
linkedWorktreeId: input.linkedWorktreeId ?? input.worktreeId
|
|
186
|
+
}),
|
|
187
|
+
convexArgsValidator: v.object({
|
|
188
|
+
topicId: v.string(),
|
|
189
|
+
status: v.optional(
|
|
190
|
+
v.union(
|
|
191
|
+
v.literal("todo"),
|
|
192
|
+
v.literal("in_progress"),
|
|
193
|
+
v.literal("blocked"),
|
|
194
|
+
v.literal("done")
|
|
195
|
+
)
|
|
196
|
+
),
|
|
197
|
+
limit: v.optional(v.number()),
|
|
198
|
+
linkedWorktreeId: v.optional(v.string())
|
|
199
|
+
})
|
|
200
|
+
});
|
|
201
|
+
var confidenceTriggerSchema = z.enum([
|
|
202
|
+
"evidence_added",
|
|
203
|
+
"evidence_removed",
|
|
204
|
+
"contradiction_resolved",
|
|
205
|
+
"agent_assessment",
|
|
206
|
+
"worktree_outcome",
|
|
207
|
+
"worktree_completed",
|
|
208
|
+
"contradiction_detected",
|
|
209
|
+
"answer_recorded",
|
|
210
|
+
"fusion",
|
|
211
|
+
"discount",
|
|
212
|
+
"deduction",
|
|
213
|
+
"backfill_synthetic"
|
|
214
|
+
]);
|
|
215
|
+
var provenanceSchema = z.object({
|
|
216
|
+
evidence: z.string().optional(),
|
|
217
|
+
question: z.string().optional(),
|
|
218
|
+
answer: z.string().optional(),
|
|
219
|
+
contradiction: z.string().optional(),
|
|
220
|
+
worktree: z.string().optional()
|
|
221
|
+
});
|
|
222
|
+
var slOpinionProjectionSchema = z.object({
|
|
223
|
+
belief: z.number(),
|
|
224
|
+
disbelief: z.number(),
|
|
225
|
+
uncertainty: z.number(),
|
|
226
|
+
baseRate: z.number()
|
|
227
|
+
});
|
|
228
|
+
var modulateConfidenceInputObjectSchema = z.object({
|
|
229
|
+
nodeId: z.string().optional(),
|
|
230
|
+
beliefNodeId: z.string().optional(),
|
|
231
|
+
worktreeId: z.string().optional(),
|
|
232
|
+
opinion: slOpinionProjectionSchema.optional(),
|
|
233
|
+
belief: z.number().optional(),
|
|
234
|
+
disbelief: z.number().optional(),
|
|
235
|
+
uncertainty: z.number().optional(),
|
|
236
|
+
baseRate: z.number().optional(),
|
|
237
|
+
trigger: confidenceTriggerSchema,
|
|
238
|
+
provenance: provenanceSchema.optional(),
|
|
239
|
+
triggeringEvidenceId: z.string().optional(),
|
|
240
|
+
triggeringQuestionId: z.string().optional(),
|
|
241
|
+
triggeringAnswerId: z.string().optional(),
|
|
242
|
+
triggeringContradictionId: z.string().optional(),
|
|
243
|
+
triggeringWorktreeId: z.string().optional(),
|
|
244
|
+
rationale: z.string(),
|
|
245
|
+
trustedBypassAccessCheck: z.boolean().optional()
|
|
246
|
+
});
|
|
247
|
+
var modulateConfidenceInputSchema = modulateConfidenceInputObjectSchema.superRefine((input, ctx) => {
|
|
248
|
+
if (hasProvenance(input)) {
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
ctx.addIssue({
|
|
252
|
+
code: z.ZodIssueCode.custom,
|
|
253
|
+
message: "modulate_confidence requires evidence, question, answer, contradiction, or worktree provenance",
|
|
254
|
+
path: ["provenance"]
|
|
255
|
+
});
|
|
256
|
+
});
|
|
257
|
+
var modulateConfidenceProjection = defineProjection({
|
|
258
|
+
contractName: "modulate_confidence",
|
|
259
|
+
inputSchema: modulateConfidenceInputSchema,
|
|
260
|
+
project: (input) => {
|
|
261
|
+
const nodeId = input.beliefNodeId ?? input.nodeId;
|
|
262
|
+
if (!nodeId) {
|
|
263
|
+
throw new Error("modulate_confidence requires beliefNodeId or nodeId");
|
|
264
|
+
}
|
|
265
|
+
const opinion = input.opinion ?? {
|
|
266
|
+
belief: requireNumber(input.belief, "belief"),
|
|
267
|
+
disbelief: requireNumber(input.disbelief, "disbelief"),
|
|
268
|
+
uncertainty: requireNumber(input.uncertainty, "uncertainty"),
|
|
269
|
+
baseRate: requireNumber(input.baseRate, "baseRate")
|
|
270
|
+
};
|
|
271
|
+
assertProvenance(input);
|
|
272
|
+
return {
|
|
273
|
+
nodeId,
|
|
274
|
+
worktreeId: input.worktreeId,
|
|
275
|
+
belief: opinion.belief,
|
|
276
|
+
disbelief: opinion.disbelief,
|
|
277
|
+
uncertainty: opinion.uncertainty,
|
|
278
|
+
baseRate: opinion.baseRate,
|
|
279
|
+
trigger: input.trigger === "answer_recorded" ? "agent_assessment" : input.trigger,
|
|
280
|
+
triggeringEvidenceId: input.provenance?.evidence ?? input.triggeringEvidenceId,
|
|
281
|
+
triggeringQuestionId: input.provenance?.question ?? input.triggeringQuestionId,
|
|
282
|
+
triggeringAnswerId: input.provenance?.answer ?? input.triggeringAnswerId,
|
|
283
|
+
triggeringContradictionId: input.provenance?.contradiction ?? input.triggeringContradictionId,
|
|
284
|
+
triggeringWorktreeId: input.provenance?.worktree ?? input.triggeringWorktreeId,
|
|
285
|
+
rationale: input.rationale,
|
|
286
|
+
trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true
|
|
287
|
+
};
|
|
288
|
+
},
|
|
289
|
+
convexArgsValidator: v.object({
|
|
290
|
+
nodeId: v.string(),
|
|
291
|
+
worktreeId: v.optional(v.string()),
|
|
292
|
+
belief: v.number(),
|
|
293
|
+
disbelief: v.number(),
|
|
294
|
+
uncertainty: v.number(),
|
|
295
|
+
baseRate: v.number(),
|
|
296
|
+
trigger: v.union(
|
|
297
|
+
v.literal("evidence_added"),
|
|
298
|
+
v.literal("evidence_removed"),
|
|
299
|
+
v.literal("worktree_completed"),
|
|
300
|
+
v.literal("contradiction_detected"),
|
|
301
|
+
v.literal("contradiction_resolved"),
|
|
302
|
+
v.literal("agent_assessment"),
|
|
303
|
+
v.literal("worktree_outcome"),
|
|
304
|
+
v.literal("fusion"),
|
|
305
|
+
v.literal("discount"),
|
|
306
|
+
v.literal("deduction"),
|
|
307
|
+
v.literal("backfill_synthetic")
|
|
308
|
+
),
|
|
309
|
+
triggeringEvidenceId: v.optional(v.string()),
|
|
310
|
+
triggeringQuestionId: v.optional(v.string()),
|
|
311
|
+
triggeringAnswerId: v.optional(v.string()),
|
|
312
|
+
triggeringContradictionId: v.optional(v.string()),
|
|
313
|
+
triggeringWorktreeId: v.optional(v.string()),
|
|
314
|
+
rationale: v.string(),
|
|
315
|
+
trustedBypassAccessCheck: v.optional(v.boolean())
|
|
316
|
+
})
|
|
317
|
+
});
|
|
318
|
+
function requireNumber(value, field) {
|
|
319
|
+
if (value === void 0) {
|
|
320
|
+
throw new Error(`modulate_confidence requires ${field}`);
|
|
321
|
+
}
|
|
322
|
+
return value;
|
|
323
|
+
}
|
|
324
|
+
function assertProvenance(input) {
|
|
325
|
+
if (!hasProvenance(input)) {
|
|
326
|
+
throw new Error(
|
|
327
|
+
"modulate_confidence requires evidence, question, answer, contradiction, or worktree provenance"
|
|
328
|
+
);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
function hasProvenance(input) {
|
|
332
|
+
return input.trigger === "backfill_synthetic" || Boolean(input.provenance && Object.values(input.provenance).some(Boolean)) || Boolean(input.triggeringEvidenceId) || Boolean(input.triggeringQuestionId) || Boolean(input.triggeringAnswerId) || Boolean(input.triggeringContradictionId) || Boolean(input.triggeringWorktreeId);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
// src/projections/index.ts
|
|
336
|
+
var projections = {
|
|
337
|
+
create_evidence: createEvidenceProjection,
|
|
338
|
+
list_beliefs: listBeliefsProjection,
|
|
339
|
+
list_tasks: listTasksProjection,
|
|
340
|
+
modulate_confidence: modulateConfidenceProjection
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
// src/projections/check-convex-args-shape.ts
|
|
344
|
+
var fixture = {
|
|
345
|
+
create_evidence: {
|
|
346
|
+
topicId: "topic:fixture",
|
|
347
|
+
canonicalText: "projection fixture evidence",
|
|
348
|
+
sourceUrl: "https://example.test/evidence",
|
|
349
|
+
targetId: "belief:fixture",
|
|
350
|
+
weight: 0.6,
|
|
351
|
+
rationale: "projection fixture"
|
|
352
|
+
},
|
|
353
|
+
list_beliefs: {
|
|
354
|
+
topicId: "topic:fixture",
|
|
355
|
+
status: "scored",
|
|
356
|
+
limit: 25
|
|
357
|
+
},
|
|
358
|
+
list_tasks: {
|
|
359
|
+
topicId: "topic:fixture",
|
|
360
|
+
worktreeId: "worktree:fixture",
|
|
361
|
+
status: "in_progress",
|
|
362
|
+
limit: 10
|
|
363
|
+
},
|
|
364
|
+
modulate_confidence: {
|
|
365
|
+
beliefNodeId: "belief:fixture",
|
|
366
|
+
opinion: {
|
|
367
|
+
belief: 0.7,
|
|
368
|
+
disbelief: 0.1,
|
|
369
|
+
uncertainty: 0.2,
|
|
370
|
+
baseRate: 0.5
|
|
371
|
+
},
|
|
372
|
+
trigger: "evidence_added",
|
|
373
|
+
provenance: { evidence: "evidence:fixture" },
|
|
374
|
+
rationale: "projection fixture"
|
|
375
|
+
}
|
|
376
|
+
};
|
|
377
|
+
function checkConvexArgsShape() {
|
|
378
|
+
for (const [name, projection] of Object.entries(projections)) {
|
|
379
|
+
const input = fixture[name];
|
|
380
|
+
const parsed = projection.inputSchema.safeParse(input);
|
|
381
|
+
if (!parsed.success) {
|
|
382
|
+
throw new Error(
|
|
383
|
+
`Projection fixture for ${name} failed input validation: ${parsed.error.message}`
|
|
384
|
+
);
|
|
385
|
+
}
|
|
386
|
+
const projected = projection.project(parsed.data);
|
|
387
|
+
if (!projected || typeof projected !== "object") {
|
|
388
|
+
throw new Error(`Projection ${name} did not emit object convex args.`);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
checkConvexArgsShape();
|
|
393
|
+
|
|
394
|
+
export { checkConvexArgsShape };
|
|
395
|
+
//# sourceMappingURL=check-convex-args-shape.js.map
|
|
396
|
+
//# sourceMappingURL=check-convex-args-shape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/projections/projection-dsl.ts","../../src/projections/create-evidence.projection.ts","../../src/projections/list-beliefs.projection.ts","../../src/projections/list-tasks.projection.ts","../../src/projections/modulate-confidence.projection.ts","../../src/projections/index.ts","../../src/projections/check-convex-args-shape.ts"],"names":["z","compactRecord","v"],"mappings":"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","file":"check-convex-args-shape.js","sourcesContent":["import type { z } from \"zod\";\n\nexport interface ProjectionDef<TInput, TConvexArgs> {\n contractName: string;\n inputSchema: z.ZodSchema<TInput>;\n project: (input: TInput) => TConvexArgs;\n convexArgsValidator: unknown;\n}\n\nexport function defineProjection<I, C>(\n def: ProjectionDef<I, C>\n): ProjectionDef<I, C> {\n return def;\n}\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst jsonRecordSchema = z.record(z.unknown());\n\nconst createEvidenceInputSchemaBase = z\n .object({\n projectId: z.string().optional(),\n topicId: z.string().optional(),\n text: z.string().optional(),\n canonicalText: z.string().optional(),\n title: z.string().optional(),\n content: z.string().optional(),\n contentType: z.string().optional(),\n kind: z.string().optional(),\n tags: z.array(z.string()).optional(),\n source: z.string().optional(),\n sourceUrl: z.string().optional(),\n sourceType: z.string().optional(),\n externalSourceType: z.string().optional(),\n sourceQuestionId: z.string().optional(),\n methodology: z.string().optional(),\n informationAsymmetry: z.string().optional(),\n sourceDescription: z.string().optional(),\n targetId: z.string().optional(),\n targetNodeId: z.string().optional(),\n linkedBeliefNodeId: z.string().optional(),\n evidenceRelation: z.enum([\"supports\", \"contradicts\", \"neutral\"]).optional(),\n confidence: z.number().optional(),\n weight: z.number().optional(),\n reasoning: z.string().optional(),\n rationale: z.string(),\n metadata: jsonRecordSchema.optional(),\n trustedBypassAccessCheck: z.boolean().optional(),\n })\n .passthrough();\n\nexport const createEvidenceInputSchema = createEvidenceInputSchemaBase.refine(\n (input) => Boolean(input.text ?? input.canonicalText),\n {\n message: \"create_evidence requires text\",\n path: [\"text\"],\n },\n);\n\nexport type CreateEvidenceProjectionInput = z.infer<\n typeof createEvidenceInputSchema\n>;\n\nfunction compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nfunction recordValue(value: unknown): Record<string, unknown> {\n return value && typeof value === \"object\" && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : {};\n}\n\nexport const createEvidenceProjection = defineProjection({\n contractName: \"create_evidence\",\n inputSchema: createEvidenceInputSchema,\n project: (input: CreateEvidenceProjectionInput) => {\n const text = input.text ?? input.canonicalText;\n const weight = typeof input.weight === \"number\" ? input.weight : undefined;\n\n return compactRecord({\n projectId: input.projectId,\n topicId: input.topicId,\n text,\n title: input.title ?? text,\n content: input.content ?? text,\n contentType: input.contentType,\n kind: input.kind,\n tags: input.tags,\n sourceType: input.sourceType,\n externalSourceType: input.externalSourceType,\n sourceUrl: input.sourceUrl ?? input.source,\n sourceQuestionId: input.sourceQuestionId,\n methodology: input.methodology,\n informationAsymmetry: input.informationAsymmetry,\n sourceDescription: input.sourceDescription,\n metadata: compactRecord({\n ...recordValue(input.metadata),\n source: input.source,\n targetId: input.targetId,\n targetNodeId: input.targetNodeId,\n weight,\n reasoning: input.reasoning,\n rationale: input.rationale,\n }),\n linkedBeliefNodeId:\n input.linkedBeliefNodeId ?? input.targetNodeId ?? input.targetId,\n evidenceRelation:\n input.evidenceRelation ??\n (weight === undefined\n ? undefined\n : weight < 0\n ? \"contradicts\"\n : \"supports\"),\n confidence:\n input.confidence ??\n (weight === undefined\n ? undefined\n : Math.min(1, Math.max(0, Math.abs(weight)))),\n rationale: input.rationale,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n });\n },\n convexArgsValidator: v.object({\n projectId: v.optional(v.string()),\n topicId: v.optional(v.string()),\n text: v.string(),\n title: v.optional(v.string()),\n content: v.optional(v.string()),\n contentType: v.optional(v.string()),\n kind: v.optional(v.string()),\n tags: v.optional(v.array(v.string())),\n sourceType: v.optional(v.string()),\n externalSourceType: v.optional(v.string()),\n sourceUrl: v.optional(v.string()),\n sourceQuestionId: v.optional(v.string()),\n methodology: v.optional(v.string()),\n informationAsymmetry: v.optional(v.string()),\n sourceDescription: v.optional(v.string()),\n metadata: v.optional(v.record(v.string(), v.any())),\n linkedBeliefNodeId: v.optional(v.string()),\n evidenceRelation: v.optional(\n v.union(\n v.literal(\"supports\"),\n v.literal(\"contradicts\"),\n v.literal(\"neutral\"),\n ),\n ),\n confidence: v.optional(v.number()),\n rationale: v.string(),\n trustedBypassAccessCheck: v.optional(v.boolean()),\n }),\n});\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst beliefStatusSchema = z\n .enum([\"active\", \"superseded\", \"archived\", \"unscored\", \"scored\"])\n .optional()\n .describe(\"Filter by belief lifecycle or scoring status\");\n\nexport const listBeliefsInputSchema = z.object({\n topicId: z.string().describe(\"Topic scope\"),\n worktreeId: z.string().optional().describe(\"Filter to worktree scope\"),\n status: beliefStatusSchema,\n minConfidence: z\n .number()\n .optional()\n .describe(\"Minimum confidence threshold\"),\n limit: z.number().optional().describe(\"Maximum results\"),\n includeEdgeAssociated: z\n .boolean()\n .optional()\n .describe(\"Include beliefs associated to the topic through edges\"),\n});\n\nexport type ListBeliefsProjectionInput = z.infer<\n typeof listBeliefsInputSchema\n>;\n\nfunction kernelStatus(status: ListBeliefsProjectionInput[\"status\"]) {\n return status === \"active\" ||\n status === \"superseded\" ||\n status === \"archived\"\n ? status\n : undefined;\n}\n\nfunction compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nexport const listBeliefsProjection = defineProjection({\n contractName: \"list_beliefs\",\n inputSchema: listBeliefsInputSchema,\n project: (input: ListBeliefsProjectionInput) =>\n compactRecord({\n topicId: input.topicId,\n status: kernelStatus(input.status),\n limit: input.limit,\n includeEdgeAssociated: input.includeEdgeAssociated,\n }),\n convexArgsValidator: v.object({\n topicId: v.string(),\n status: v.optional(\n v.union(\n v.literal(\"active\"),\n v.literal(\"superseded\"),\n v.literal(\"archived\"),\n ),\n ),\n limit: v.optional(v.number()),\n includeEdgeAssociated: v.optional(v.boolean()),\n }),\n});\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst taskStatusSchema = z\n .enum([\"todo\", \"in_progress\", \"blocked\", \"done\"])\n .optional()\n .describe(\"Filter by task status\");\n\nexport const listTasksInputSchema = z.object({\n topicId: z.string().describe(\"Topic scope\"),\n worktreeId: z\n .string()\n .optional()\n .describe(\"Alias for linkedWorktreeId\"),\n linkedWorktreeId: z\n .string()\n .optional()\n .describe(\"Filter to tasks linked to this worktree\"),\n status: taskStatusSchema,\n limit: z.number().optional().describe(\"Maximum results\"),\n});\n\nexport type ListTasksProjectionInput = z.infer<typeof listTasksInputSchema>;\n\nfunction compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nexport const listTasksProjection = defineProjection({\n contractName: \"list_tasks\",\n inputSchema: listTasksInputSchema,\n project: (input: ListTasksProjectionInput) =>\n compactRecord({\n topicId: input.topicId,\n status: input.status,\n userId: undefined,\n limit: input.limit,\n linkedWorktreeId: input.linkedWorktreeId ?? input.worktreeId,\n }),\n convexArgsValidator: v.object({\n topicId: v.string(),\n status: v.optional(\n v.union(\n v.literal(\"todo\"),\n v.literal(\"in_progress\"),\n v.literal(\"blocked\"),\n v.literal(\"done\"),\n ),\n ),\n limit: v.optional(v.number()),\n linkedWorktreeId: v.optional(v.string()),\n }),\n});\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst confidenceTriggerSchema = z.enum([\n \"evidence_added\",\n \"evidence_removed\",\n \"contradiction_resolved\",\n \"agent_assessment\",\n \"worktree_outcome\",\n \"worktree_completed\",\n \"contradiction_detected\",\n \"answer_recorded\",\n \"fusion\",\n \"discount\",\n \"deduction\",\n \"backfill_synthetic\",\n]);\n\nconst provenanceSchema = z.object({\n evidence: z.string().optional(),\n question: z.string().optional(),\n answer: z.string().optional(),\n contradiction: z.string().optional(),\n worktree: z.string().optional(),\n});\n\nconst slOpinionProjectionSchema = z.object({\n belief: z.number(),\n disbelief: z.number(),\n uncertainty: z.number(),\n baseRate: z.number(),\n});\n\nconst modulateConfidenceInputObjectSchema = z.object({\n nodeId: z.string().optional(),\n beliefNodeId: z.string().optional(),\n worktreeId: z.string().optional(),\n opinion: slOpinionProjectionSchema.optional(),\n belief: z.number().optional(),\n disbelief: z.number().optional(),\n uncertainty: z.number().optional(),\n baseRate: z.number().optional(),\n trigger: confidenceTriggerSchema,\n provenance: provenanceSchema.optional(),\n triggeringEvidenceId: z.string().optional(),\n triggeringQuestionId: z.string().optional(),\n triggeringAnswerId: z.string().optional(),\n triggeringContradictionId: z.string().optional(),\n triggeringWorktreeId: z.string().optional(),\n rationale: z.string(),\n trustedBypassAccessCheck: z.boolean().optional(),\n});\n\nexport const modulateConfidenceInputSchema =\n modulateConfidenceInputObjectSchema.superRefine((input, ctx) => {\n if (hasProvenance(input)) {\n return;\n }\n\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n \"modulate_confidence requires evidence, question, answer, contradiction, or worktree provenance\",\n path: [\"provenance\"],\n });\n });\n\nexport type ModulateConfidenceProjectionInput = z.infer<\n typeof modulateConfidenceInputSchema\n>;\n\nexport const modulateConfidenceProjection = defineProjection({\n contractName: \"modulate_confidence\",\n inputSchema: modulateConfidenceInputSchema,\n project: (input: ModulateConfidenceProjectionInput) => {\n const nodeId = input.beliefNodeId ?? input.nodeId;\n if (!nodeId) {\n throw new Error(\"modulate_confidence requires beliefNodeId or nodeId\");\n }\n\n const opinion = input.opinion ?? {\n belief: requireNumber(input.belief, \"belief\"),\n disbelief: requireNumber(input.disbelief, \"disbelief\"),\n uncertainty: requireNumber(input.uncertainty, \"uncertainty\"),\n baseRate: requireNumber(input.baseRate, \"baseRate\"),\n };\n assertProvenance(input);\n\n return {\n nodeId,\n worktreeId: input.worktreeId,\n belief: opinion.belief,\n disbelief: opinion.disbelief,\n uncertainty: opinion.uncertainty,\n baseRate: opinion.baseRate,\n trigger:\n input.trigger === \"answer_recorded\"\n ? \"agent_assessment\"\n : input.trigger,\n triggeringEvidenceId:\n input.provenance?.evidence ?? input.triggeringEvidenceId,\n triggeringQuestionId:\n input.provenance?.question ?? input.triggeringQuestionId,\n triggeringAnswerId: input.provenance?.answer ?? input.triggeringAnswerId,\n triggeringContradictionId:\n input.provenance?.contradiction ?? input.triggeringContradictionId,\n triggeringWorktreeId:\n input.provenance?.worktree ?? input.triggeringWorktreeId,\n rationale: input.rationale,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n };\n },\n convexArgsValidator: v.object({\n nodeId: v.string(),\n worktreeId: v.optional(v.string()),\n belief: v.number(),\n disbelief: v.number(),\n uncertainty: v.number(),\n baseRate: v.number(),\n trigger: v.union(\n v.literal(\"evidence_added\"),\n v.literal(\"evidence_removed\"),\n v.literal(\"worktree_completed\"),\n v.literal(\"contradiction_detected\"),\n v.literal(\"contradiction_resolved\"),\n v.literal(\"agent_assessment\"),\n v.literal(\"worktree_outcome\"),\n v.literal(\"fusion\"),\n v.literal(\"discount\"),\n v.literal(\"deduction\"),\n v.literal(\"backfill_synthetic\"),\n ),\n triggeringEvidenceId: v.optional(v.string()),\n triggeringQuestionId: v.optional(v.string()),\n triggeringAnswerId: v.optional(v.string()),\n triggeringContradictionId: v.optional(v.string()),\n triggeringWorktreeId: v.optional(v.string()),\n rationale: v.string(),\n trustedBypassAccessCheck: v.optional(v.boolean()),\n }),\n});\n\nfunction requireNumber(value: number | undefined, field: string): number {\n if (value === undefined) {\n throw new Error(`modulate_confidence requires ${field}`);\n }\n return value;\n}\n\nfunction assertProvenance(input: ModulateConfidenceProjectionInput): void {\n if (!hasProvenance(input)) {\n throw new Error(\n \"modulate_confidence requires evidence, question, answer, contradiction, or worktree provenance\",\n );\n }\n}\n\nfunction hasProvenance(input: ModulateConfidenceProjectionInput): boolean {\n return (\n input.trigger === \"backfill_synthetic\" ||\n Boolean(input.provenance && Object.values(input.provenance).some(Boolean)) ||\n Boolean(input.triggeringEvidenceId) ||\n Boolean(input.triggeringQuestionId) ||\n Boolean(input.triggeringAnswerId) ||\n Boolean(input.triggeringContradictionId) ||\n Boolean(input.triggeringWorktreeId)\n );\n}\n","import { createEvidenceProjection } from \"./create-evidence.projection.js\";\nimport { listBeliefsProjection } from \"./list-beliefs.projection.js\";\nimport { listTasksProjection } from \"./list-tasks.projection.js\";\nimport { modulateConfidenceProjection } from \"./modulate-confidence.projection.js\";\n\nexport { createEvidenceProjection } from \"./create-evidence.projection.js\";\nexport { listBeliefsProjection } from \"./list-beliefs.projection.js\";\nexport { listTasksProjection } from \"./list-tasks.projection.js\";\nexport { modulateConfidenceProjection } from \"./modulate-confidence.projection.js\";\nexport * from \"./projection-dsl.js\";\n\nexport const projections = {\n create_evidence: createEvidenceProjection,\n list_beliefs: listBeliefsProjection,\n list_tasks: listTasksProjection,\n modulate_confidence: modulateConfidenceProjection,\n} as const;\n\nexport type ProjectionRegistry = typeof projections;\n","import { projections } from \"./index.js\";\n\nconst fixture = {\n create_evidence: {\n topicId: \"topic:fixture\",\n canonicalText: \"projection fixture evidence\",\n sourceUrl: \"https://example.test/evidence\",\n targetId: \"belief:fixture\",\n weight: 0.6,\n rationale: \"projection fixture\",\n },\n list_beliefs: {\n topicId: \"topic:fixture\",\n status: \"scored\",\n limit: 25,\n },\n list_tasks: {\n topicId: \"topic:fixture\",\n worktreeId: \"worktree:fixture\",\n status: \"in_progress\",\n limit: 10,\n },\n modulate_confidence: {\n beliefNodeId: \"belief:fixture\",\n opinion: {\n belief: 0.7,\n disbelief: 0.1,\n uncertainty: 0.2,\n baseRate: 0.5,\n },\n trigger: \"evidence_added\",\n provenance: { evidence: \"evidence:fixture\" },\n rationale: \"projection fixture\",\n },\n} as const;\n\nexport function checkConvexArgsShape(): void {\n for (const [name, projection] of Object.entries(projections)) {\n const input = fixture[name as keyof typeof fixture];\n const parsed = projection.inputSchema.safeParse(input);\n if (!parsed.success) {\n throw new Error(\n `Projection fixture for ${name} failed input validation: ${parsed.error.message}`,\n );\n }\n const projected = projection.project(parsed.data as never);\n if (!projected || typeof projected !== \"object\") {\n throw new Error(`Projection ${name} did not emit object convex args.`);\n }\n }\n}\n\ncheckConvexArgsShape();\n"]}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { ProjectionDef } from './projection-dsl.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
declare const createEvidenceInputSchema: z.ZodEffects<z.ZodObject<{
|
|
5
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
6
|
+
topicId: z.ZodOptional<z.ZodString>;
|
|
7
|
+
text: z.ZodOptional<z.ZodString>;
|
|
8
|
+
canonicalText: z.ZodOptional<z.ZodString>;
|
|
9
|
+
title: z.ZodOptional<z.ZodString>;
|
|
10
|
+
content: z.ZodOptional<z.ZodString>;
|
|
11
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
12
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
13
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
14
|
+
source: z.ZodOptional<z.ZodString>;
|
|
15
|
+
sourceUrl: z.ZodOptional<z.ZodString>;
|
|
16
|
+
sourceType: z.ZodOptional<z.ZodString>;
|
|
17
|
+
externalSourceType: z.ZodOptional<z.ZodString>;
|
|
18
|
+
sourceQuestionId: z.ZodOptional<z.ZodString>;
|
|
19
|
+
methodology: z.ZodOptional<z.ZodString>;
|
|
20
|
+
informationAsymmetry: z.ZodOptional<z.ZodString>;
|
|
21
|
+
sourceDescription: z.ZodOptional<z.ZodString>;
|
|
22
|
+
targetId: z.ZodOptional<z.ZodString>;
|
|
23
|
+
targetNodeId: z.ZodOptional<z.ZodString>;
|
|
24
|
+
linkedBeliefNodeId: z.ZodOptional<z.ZodString>;
|
|
25
|
+
evidenceRelation: z.ZodOptional<z.ZodEnum<["supports", "contradicts", "neutral"]>>;
|
|
26
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
reasoning: z.ZodOptional<z.ZodString>;
|
|
29
|
+
rationale: z.ZodString;
|
|
30
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
31
|
+
trustedBypassAccessCheck: z.ZodOptional<z.ZodBoolean>;
|
|
32
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
33
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
34
|
+
topicId: z.ZodOptional<z.ZodString>;
|
|
35
|
+
text: z.ZodOptional<z.ZodString>;
|
|
36
|
+
canonicalText: z.ZodOptional<z.ZodString>;
|
|
37
|
+
title: z.ZodOptional<z.ZodString>;
|
|
38
|
+
content: z.ZodOptional<z.ZodString>;
|
|
39
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
40
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
41
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
42
|
+
source: z.ZodOptional<z.ZodString>;
|
|
43
|
+
sourceUrl: z.ZodOptional<z.ZodString>;
|
|
44
|
+
sourceType: z.ZodOptional<z.ZodString>;
|
|
45
|
+
externalSourceType: z.ZodOptional<z.ZodString>;
|
|
46
|
+
sourceQuestionId: z.ZodOptional<z.ZodString>;
|
|
47
|
+
methodology: z.ZodOptional<z.ZodString>;
|
|
48
|
+
informationAsymmetry: z.ZodOptional<z.ZodString>;
|
|
49
|
+
sourceDescription: z.ZodOptional<z.ZodString>;
|
|
50
|
+
targetId: z.ZodOptional<z.ZodString>;
|
|
51
|
+
targetNodeId: z.ZodOptional<z.ZodString>;
|
|
52
|
+
linkedBeliefNodeId: z.ZodOptional<z.ZodString>;
|
|
53
|
+
evidenceRelation: z.ZodOptional<z.ZodEnum<["supports", "contradicts", "neutral"]>>;
|
|
54
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
reasoning: z.ZodOptional<z.ZodString>;
|
|
57
|
+
rationale: z.ZodString;
|
|
58
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
59
|
+
trustedBypassAccessCheck: z.ZodOptional<z.ZodBoolean>;
|
|
60
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
61
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
62
|
+
topicId: z.ZodOptional<z.ZodString>;
|
|
63
|
+
text: z.ZodOptional<z.ZodString>;
|
|
64
|
+
canonicalText: z.ZodOptional<z.ZodString>;
|
|
65
|
+
title: z.ZodOptional<z.ZodString>;
|
|
66
|
+
content: z.ZodOptional<z.ZodString>;
|
|
67
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
68
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
69
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
70
|
+
source: z.ZodOptional<z.ZodString>;
|
|
71
|
+
sourceUrl: z.ZodOptional<z.ZodString>;
|
|
72
|
+
sourceType: z.ZodOptional<z.ZodString>;
|
|
73
|
+
externalSourceType: z.ZodOptional<z.ZodString>;
|
|
74
|
+
sourceQuestionId: z.ZodOptional<z.ZodString>;
|
|
75
|
+
methodology: z.ZodOptional<z.ZodString>;
|
|
76
|
+
informationAsymmetry: z.ZodOptional<z.ZodString>;
|
|
77
|
+
sourceDescription: z.ZodOptional<z.ZodString>;
|
|
78
|
+
targetId: z.ZodOptional<z.ZodString>;
|
|
79
|
+
targetNodeId: z.ZodOptional<z.ZodString>;
|
|
80
|
+
linkedBeliefNodeId: z.ZodOptional<z.ZodString>;
|
|
81
|
+
evidenceRelation: z.ZodOptional<z.ZodEnum<["supports", "contradicts", "neutral"]>>;
|
|
82
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
83
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
84
|
+
reasoning: z.ZodOptional<z.ZodString>;
|
|
85
|
+
rationale: z.ZodString;
|
|
86
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
87
|
+
trustedBypassAccessCheck: z.ZodOptional<z.ZodBoolean>;
|
|
88
|
+
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
89
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
90
|
+
topicId: z.ZodOptional<z.ZodString>;
|
|
91
|
+
text: z.ZodOptional<z.ZodString>;
|
|
92
|
+
canonicalText: z.ZodOptional<z.ZodString>;
|
|
93
|
+
title: z.ZodOptional<z.ZodString>;
|
|
94
|
+
content: z.ZodOptional<z.ZodString>;
|
|
95
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
96
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
97
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
98
|
+
source: z.ZodOptional<z.ZodString>;
|
|
99
|
+
sourceUrl: z.ZodOptional<z.ZodString>;
|
|
100
|
+
sourceType: z.ZodOptional<z.ZodString>;
|
|
101
|
+
externalSourceType: z.ZodOptional<z.ZodString>;
|
|
102
|
+
sourceQuestionId: z.ZodOptional<z.ZodString>;
|
|
103
|
+
methodology: z.ZodOptional<z.ZodString>;
|
|
104
|
+
informationAsymmetry: z.ZodOptional<z.ZodString>;
|
|
105
|
+
sourceDescription: z.ZodOptional<z.ZodString>;
|
|
106
|
+
targetId: z.ZodOptional<z.ZodString>;
|
|
107
|
+
targetNodeId: z.ZodOptional<z.ZodString>;
|
|
108
|
+
linkedBeliefNodeId: z.ZodOptional<z.ZodString>;
|
|
109
|
+
evidenceRelation: z.ZodOptional<z.ZodEnum<["supports", "contradicts", "neutral"]>>;
|
|
110
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
111
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
112
|
+
reasoning: z.ZodOptional<z.ZodString>;
|
|
113
|
+
rationale: z.ZodString;
|
|
114
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
115
|
+
trustedBypassAccessCheck: z.ZodOptional<z.ZodBoolean>;
|
|
116
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
117
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
118
|
+
topicId: z.ZodOptional<z.ZodString>;
|
|
119
|
+
text: z.ZodOptional<z.ZodString>;
|
|
120
|
+
canonicalText: z.ZodOptional<z.ZodString>;
|
|
121
|
+
title: z.ZodOptional<z.ZodString>;
|
|
122
|
+
content: z.ZodOptional<z.ZodString>;
|
|
123
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
124
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
125
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
126
|
+
source: z.ZodOptional<z.ZodString>;
|
|
127
|
+
sourceUrl: z.ZodOptional<z.ZodString>;
|
|
128
|
+
sourceType: z.ZodOptional<z.ZodString>;
|
|
129
|
+
externalSourceType: z.ZodOptional<z.ZodString>;
|
|
130
|
+
sourceQuestionId: z.ZodOptional<z.ZodString>;
|
|
131
|
+
methodology: z.ZodOptional<z.ZodString>;
|
|
132
|
+
informationAsymmetry: z.ZodOptional<z.ZodString>;
|
|
133
|
+
sourceDescription: z.ZodOptional<z.ZodString>;
|
|
134
|
+
targetId: z.ZodOptional<z.ZodString>;
|
|
135
|
+
targetNodeId: z.ZodOptional<z.ZodString>;
|
|
136
|
+
linkedBeliefNodeId: z.ZodOptional<z.ZodString>;
|
|
137
|
+
evidenceRelation: z.ZodOptional<z.ZodEnum<["supports", "contradicts", "neutral"]>>;
|
|
138
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
139
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
140
|
+
reasoning: z.ZodOptional<z.ZodString>;
|
|
141
|
+
rationale: z.ZodString;
|
|
142
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
143
|
+
trustedBypassAccessCheck: z.ZodOptional<z.ZodBoolean>;
|
|
144
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
145
|
+
type CreateEvidenceProjectionInput = z.infer<typeof createEvidenceInputSchema>;
|
|
146
|
+
declare const createEvidenceProjection: ProjectionDef<z.objectInputType<{
|
|
147
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
148
|
+
topicId: z.ZodOptional<z.ZodString>;
|
|
149
|
+
text: z.ZodOptional<z.ZodString>;
|
|
150
|
+
canonicalText: z.ZodOptional<z.ZodString>;
|
|
151
|
+
title: z.ZodOptional<z.ZodString>;
|
|
152
|
+
content: z.ZodOptional<z.ZodString>;
|
|
153
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
154
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
155
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
156
|
+
source: z.ZodOptional<z.ZodString>;
|
|
157
|
+
sourceUrl: z.ZodOptional<z.ZodString>;
|
|
158
|
+
sourceType: z.ZodOptional<z.ZodString>;
|
|
159
|
+
externalSourceType: z.ZodOptional<z.ZodString>;
|
|
160
|
+
sourceQuestionId: z.ZodOptional<z.ZodString>;
|
|
161
|
+
methodology: z.ZodOptional<z.ZodString>;
|
|
162
|
+
informationAsymmetry: z.ZodOptional<z.ZodString>;
|
|
163
|
+
sourceDescription: z.ZodOptional<z.ZodString>;
|
|
164
|
+
targetId: z.ZodOptional<z.ZodString>;
|
|
165
|
+
targetNodeId: z.ZodOptional<z.ZodString>;
|
|
166
|
+
linkedBeliefNodeId: z.ZodOptional<z.ZodString>;
|
|
167
|
+
evidenceRelation: z.ZodOptional<z.ZodEnum<["supports", "contradicts", "neutral"]>>;
|
|
168
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
169
|
+
weight: z.ZodOptional<z.ZodNumber>;
|
|
170
|
+
reasoning: z.ZodOptional<z.ZodString>;
|
|
171
|
+
rationale: z.ZodString;
|
|
172
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
173
|
+
trustedBypassAccessCheck: z.ZodOptional<z.ZodBoolean>;
|
|
174
|
+
}, z.ZodTypeAny, "passthrough">, Record<string, unknown>>;
|
|
175
|
+
|
|
176
|
+
export { type CreateEvidenceProjectionInput, createEvidenceInputSchema, createEvidenceProjection };
|