@lucern/sdk 0.3.0-alpha.0 → 0.3.0-alpha.1
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/README.md +33 -21
- package/dist/beliefs/index.d.ts +7 -7
- package/dist/beliefs/index.js +100 -99
- package/dist/beliefs/index.js.map +1 -1
- package/dist/beliefsClient.d.ts +14 -29
- package/dist/beliefsClient.js +34 -71
- package/dist/beliefsClient.js.map +1 -1
- package/dist/{client-DAuKnDlx.d.ts → client-B6aWUUwp.d.ts} +25 -20
- package/dist/client.d.ts +1 -1
- package/dist/client.js +100 -99
- package/dist/client.js.map +1 -1
- package/dist/contracts/index.js +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/workflow-runtime.contract.js +1 -1
- package/dist/contracts/workflow-runtime.contract.js.map +1 -1
- package/dist/contracts/workflowRuntime.js +1 -1
- package/dist/contracts/workflowRuntime.js.map +1 -1
- package/dist/contradictions/index.d.ts +1 -1
- package/dist/contradictions/index.js +100 -99
- package/dist/contradictions/index.js.map +1 -1
- package/dist/decisions/index.d.ts +1 -1
- package/dist/decisions/index.js +100 -99
- package/dist/decisions/index.js.map +1 -1
- package/dist/edges/index.d.ts +1 -1
- package/dist/edges/index.js +100 -99
- package/dist/edges/index.js.map +1 -1
- package/dist/evidence/index.d.ts +2 -1
- package/dist/evidence/index.js +100 -99
- package/dist/evidence/index.js.map +1 -1
- package/dist/gatewayFacades.d.ts +18 -6
- package/dist/gatewayFacades.js +22 -41
- package/dist/gatewayFacades.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +103 -69
- package/dist/index.js.map +1 -1
- package/dist/lenses/index.d.ts +7 -5
- package/dist/lenses/index.js +100 -99
- package/dist/lenses/index.js.map +1 -1
- package/dist/nodes/index.d.ts +1 -1
- package/dist/nodes/index.js +100 -99
- package/dist/nodes/index.js.map +1 -1
- package/dist/ontologies/index.d.ts +1 -1
- package/dist/ontologies/index.js +100 -99
- package/dist/ontologies/index.js.map +1 -1
- package/dist/opinion.d.ts +2 -2
- package/dist/opinion.js +4 -4
- package/dist/opinion.js.map +1 -1
- package/dist/questions/index.d.ts +1 -1
- package/dist/questions/index.js +100 -99
- package/dist/questions/index.js.map +1 -1
- package/dist/topics/index.d.ts +1 -1
- package/dist/topics/index.js +100 -99
- package/dist/topics/index.js.map +1 -1
- package/dist/types.d.ts +7 -7
- package/dist/workflowClient.d.ts +18 -5
- package/dist/workflowClient.js +19 -7
- package/dist/workflowClient.js.map +1 -1
- package/dist/worktrees/index.d.ts +10 -7
- package/dist/worktrees/index.js +100 -99
- package/dist/worktrees/index.js.map +1 -1
- package/package.json +4 -3
package/dist/index.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ export { AdminClientConfig, TenantApiKeyRecord, TenantAuthPolicyMode, TenantConf
|
|
|
3
3
|
export { AnswersClientConfig, createAnswersClient } from './answersClient.js';
|
|
4
4
|
export { AudienceGrantInput, AudienceGrantRevokeInput, AudienceRegistryInput, AudiencesClientConfig, createAudiencesClient } from './audiencesClient.js';
|
|
5
5
|
export { AuditClientConfig, createAuditClient } from './auditClient.js';
|
|
6
|
-
export { BatchUpdateBeliefCriticalityInput, BeliefsClientConfig, CreateBeliefInput, ForkBeliefInput, LinkBeliefsInput, ModulateConfidenceInput, ModulateConfidenceOpinionInput,
|
|
7
|
-
export { d as FUNCTION_SURFACE_METHOD_PATHS, F as FunctionSurfaceClientConfig, a as FunctionSurfaceInput, b as FunctionSurfaceResult, L as LucernClientConfig, e as createFunctionSurfaceClient, c as createLucernClient } from './client-
|
|
6
|
+
export { BatchUpdateBeliefCriticalityInput, BeliefsClientConfig, CreateBeliefInput, ForkBeliefInput, LinkBeliefsInput, ModulateConfidenceInput, ModulateConfidenceOpinionInput, OpinionHistoryEntry, ReassignBeliefsTopicInput, RefineBeliefInput, UnlinkBeliefEvidenceInput, UpdateBeliefCriticalityInput, UpdateBeliefRationaleInput, UpdateBeliefStatusInput, createBeliefsClient, mapOpinionHistoryEntriesFromGatewayData } from './beliefsClient.js';
|
|
7
|
+
export { d as FUNCTION_SURFACE_METHOD_PATHS, F as FunctionSurfaceClientConfig, a as FunctionSurfaceInput, b as FunctionSurfaceResult, L as LucernClientConfig, e as createFunctionSurfaceClient, c as createLucernClient } from './client-B6aWUUwp.js';
|
|
8
8
|
export { ContextFacadeConfig, ContextFacadeTransport, createContextFacade } from './facade/context.js';
|
|
9
9
|
export { CompileContextPackPlan, CompileContextPackPlanInput, CompileContextPackSnapshot, ContextPackTopicRow, compileContextPackFromSnapshot, planContextPackCompilation } from './contextPackCompiler.js';
|
|
10
10
|
export { CONTROL_OBJECT_BLAST_RADII, CONTROL_OBJECT_EDIT_SURFACES, CONTROL_OBJECT_INHERITANCE_RULES, CONTROL_OBJECT_KINDS, CONTROL_OBJECT_OWNERSHIP_CONTRACT, CONTROL_OBJECT_OWNERSHIP_MATRIX, CONTROL_OBJECT_OWNERSHIP_ROWS, CONTROL_OBJECT_OWNER_SCOPES, ControlObjectBlastRadius, ControlObjectEditSurface, ControlObjectInheritanceRule, ControlObjectKind, ControlObjectOwnerScope, ControlObjectOwnershipCase, ControlObjectOwnershipContract, ControlObjectOwnershipMatrix, getControlObjectOwnershipCase, listControlObjectOwnershipCases } from './controlObjectOwnership.js';
|
package/dist/index.js
CHANGED
|
@@ -172,20 +172,20 @@ function clamp01(value) {
|
|
|
172
172
|
}
|
|
173
173
|
return Math.max(0, Math.min(1, value));
|
|
174
174
|
}
|
|
175
|
-
function vacuous(baseRate
|
|
175
|
+
function vacuous(baseRate) {
|
|
176
176
|
return { b: 0, d: 0, u: 1, a: clamp01(baseRate) };
|
|
177
177
|
}
|
|
178
|
-
function dogmatic(probability, baseRate
|
|
178
|
+
function dogmatic(probability, baseRate) {
|
|
179
179
|
const p = clamp01(probability);
|
|
180
180
|
return { b: p, d: 1 - p, u: 0, a: clamp01(baseRate) };
|
|
181
181
|
}
|
|
182
182
|
function opinionFromBaseRate(probability) {
|
|
183
183
|
return vacuous(clamp01(probability));
|
|
184
184
|
}
|
|
185
|
-
function opinionFromDogmatic(probability, baseRate
|
|
185
|
+
function opinionFromDogmatic(probability, baseRate) {
|
|
186
186
|
return dogmatic(clamp01(probability), clamp01(baseRate));
|
|
187
187
|
}
|
|
188
|
-
function opinionFromProjected(probability, uncertainty, baseRate
|
|
188
|
+
function opinionFromProjected(probability, uncertainty, baseRate) {
|
|
189
189
|
const p = clamp01(probability);
|
|
190
190
|
const u = clamp01(uncertainty);
|
|
191
191
|
const remainingMass = 1 - u;
|
|
@@ -1217,20 +1217,16 @@ function normalizeOpinionTuple(record) {
|
|
|
1217
1217
|
const rawDisbelief = readNumber(opinion.d) ?? readNumber(record.disbelief);
|
|
1218
1218
|
const rawUncertainty = readNumber(opinion.u) ?? readNumber(record.uncertainty);
|
|
1219
1219
|
const rawBaseRate = readNumber(opinion.a) ?? readNumber(record.baseRate);
|
|
1220
|
-
if (rawBelief === void 0
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
d: 1 - projected,
|
|
1225
|
-
u: 0,
|
|
1226
|
-
a: 0.5
|
|
1227
|
-
};
|
|
1220
|
+
if (rawBelief === void 0 || rawDisbelief === void 0 || rawUncertainty === void 0 || rawBaseRate === void 0) {
|
|
1221
|
+
throw new Error(
|
|
1222
|
+
"Gateway opinion history entries must include belief, disbelief, uncertainty, and baseRate."
|
|
1223
|
+
);
|
|
1228
1224
|
}
|
|
1229
1225
|
return {
|
|
1230
|
-
b: clamp012(rawBelief
|
|
1231
|
-
d: clamp012(rawDisbelief
|
|
1232
|
-
u: clamp012(rawUncertainty
|
|
1233
|
-
a: clamp012(rawBaseRate
|
|
1226
|
+
b: clamp012(rawBelief),
|
|
1227
|
+
d: clamp012(rawDisbelief),
|
|
1228
|
+
u: clamp012(rawUncertainty),
|
|
1229
|
+
a: clamp012(rawBaseRate)
|
|
1234
1230
|
};
|
|
1235
1231
|
}
|
|
1236
1232
|
function mapOpinionHistoryEntriesFromGatewayData(payload) {
|
|
@@ -1240,7 +1236,17 @@ function mapOpinionHistoryEntriesFromGatewayData(payload) {
|
|
|
1240
1236
|
const tuple = normalizeOpinionTuple(record);
|
|
1241
1237
|
const projected = readNumber(record.confidence) ?? clamp012(tuple.b + tuple.a * tuple.u);
|
|
1242
1238
|
const triggeringEvidenceId = readString(record.triggeringEvidenceId);
|
|
1239
|
+
const triggeringQuestionId = readString(record.triggeringQuestionId);
|
|
1240
|
+
const triggeringAnswerId = readString(record.triggeringAnswerId);
|
|
1241
|
+
const triggeringContradictionId = readString(
|
|
1242
|
+
record.triggeringContradictionId
|
|
1243
|
+
);
|
|
1243
1244
|
const triggeringWorktreeId = readString(record.triggeringWorktreeId);
|
|
1245
|
+
const triggeringRef = triggeringEvidenceId ? { kind: "evidence", id: triggeringEvidenceId } : triggeringQuestionId ? { kind: "question", id: triggeringQuestionId } : triggeringAnswerId ? { kind: "answer", id: triggeringAnswerId } : triggeringContradictionId ? { kind: "contradiction", id: triggeringContradictionId } : triggeringWorktreeId ? { kind: "worktree", id: triggeringWorktreeId } : void 0;
|
|
1246
|
+
const trigger = readString(record.trigger);
|
|
1247
|
+
if (!trigger) {
|
|
1248
|
+
throw new Error("Gateway opinion history entries must include trigger.");
|
|
1249
|
+
}
|
|
1244
1250
|
return {
|
|
1245
1251
|
t: readNumber(record.timestamp) ?? readNumber(record.assessedAt) ?? 0,
|
|
1246
1252
|
b: tuple.b,
|
|
@@ -1248,18 +1254,8 @@ function mapOpinionHistoryEntriesFromGatewayData(payload) {
|
|
|
1248
1254
|
u: tuple.u,
|
|
1249
1255
|
a: tuple.a,
|
|
1250
1256
|
P: clamp012(projected),
|
|
1251
|
-
trigger
|
|
1252
|
-
...
|
|
1253
|
-
triggeringRef: {
|
|
1254
|
-
kind: "evidence",
|
|
1255
|
-
id: triggeringEvidenceId
|
|
1256
|
-
}
|
|
1257
|
-
} : triggeringWorktreeId ? {
|
|
1258
|
-
triggeringRef: {
|
|
1259
|
-
kind: "worktree",
|
|
1260
|
-
id: triggeringWorktreeId
|
|
1261
|
-
}
|
|
1262
|
-
} : {},
|
|
1257
|
+
trigger,
|
|
1258
|
+
...triggeringRef ? { triggeringRef } : {},
|
|
1263
1259
|
...readString(record.rationale) ? { rationale: readString(record.rationale) } : {},
|
|
1264
1260
|
...readString(record.userId) ? { userId: readString(record.userId) } : {},
|
|
1265
1261
|
...readString(record.slOperator) ? { slOperator: readString(record.slOperator) } : {}
|
|
@@ -1267,11 +1263,7 @@ function mapOpinionHistoryEntriesFromGatewayData(payload) {
|
|
|
1267
1263
|
}).sort((left, right) => left.t - right.t);
|
|
1268
1264
|
}
|
|
1269
1265
|
function normalizeModulateConfidenceInput(input) {
|
|
1270
|
-
const opinion =
|
|
1271
|
-
input.confidence,
|
|
1272
|
-
input.uncertainty,
|
|
1273
|
-
input.baseRate
|
|
1274
|
-
);
|
|
1266
|
+
const opinion = input.opinion;
|
|
1275
1267
|
return {
|
|
1276
1268
|
belief: opinion.b,
|
|
1277
1269
|
disbelief: opinion.d,
|
|
@@ -1279,20 +1271,23 @@ function normalizeModulateConfidenceInput(input) {
|
|
|
1279
1271
|
baseRate: opinion.a,
|
|
1280
1272
|
trigger: input.trigger,
|
|
1281
1273
|
rationale: input.rationale,
|
|
1274
|
+
triggeringEvidenceId: input.triggeringEvidenceId,
|
|
1275
|
+
triggeringQuestionId: input.triggeringQuestionId,
|
|
1276
|
+
triggeringAnswerId: input.triggeringAnswerId,
|
|
1277
|
+
triggeringContradictionId: input.triggeringContradictionId,
|
|
1278
|
+
triggeringWorktreeId: input.triggeringWorktreeId,
|
|
1282
1279
|
maxInlinePropagationTargets: input.maxInlinePropagationTargets
|
|
1283
1280
|
};
|
|
1284
1281
|
}
|
|
1285
1282
|
function createBeliefsClient(config = {}) {
|
|
1286
1283
|
const gateway = createGatewayRequestClient(config);
|
|
1287
|
-
function
|
|
1284
|
+
function normalizeBaseRate(value) {
|
|
1288
1285
|
const baseRate = readNumber(value);
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
}
|
|
1292
|
-
if (baseRate < 0 || baseRate > 1) {
|
|
1286
|
+
const normalized = baseRate ?? 0.5;
|
|
1287
|
+
if (normalized < 0 || normalized > 1) {
|
|
1293
1288
|
throw new Error("baseRate must be within [0, 1].");
|
|
1294
1289
|
}
|
|
1295
|
-
return
|
|
1290
|
+
return normalized;
|
|
1296
1291
|
}
|
|
1297
1292
|
const modulateConfidence = async (beliefId, input, idempotencyKey) => gateway.request({
|
|
1298
1293
|
path: `/api/platform/v1/beliefs/${encodeURIComponent(beliefId)}/confidence`,
|
|
@@ -1311,7 +1306,7 @@ function createBeliefsClient(config = {}) {
|
|
|
1311
1306
|
* Create a belief within a topic scope.
|
|
1312
1307
|
*/
|
|
1313
1308
|
async createBelief(input, idempotencyKey) {
|
|
1314
|
-
const baseRate =
|
|
1309
|
+
const baseRate = normalizeBaseRate(input.baseRate);
|
|
1315
1310
|
return gateway.request({
|
|
1316
1311
|
path: "/api/platform/v1/beliefs",
|
|
1317
1312
|
method: "POST",
|
|
@@ -2407,11 +2402,7 @@ function createTopicsClient(config = {}) {
|
|
|
2407
2402
|
|
|
2408
2403
|
// src/gatewayFacades.ts
|
|
2409
2404
|
function normalizeBeliefConfidenceInput(input) {
|
|
2410
|
-
const opinion =
|
|
2411
|
-
input.confidence,
|
|
2412
|
-
input.uncertainty,
|
|
2413
|
-
input.baseRate
|
|
2414
|
-
);
|
|
2405
|
+
const opinion = input.opinion;
|
|
2415
2406
|
return {
|
|
2416
2407
|
belief: opinion.b,
|
|
2417
2408
|
disbelief: opinion.d,
|
|
@@ -2419,6 +2410,11 @@ function normalizeBeliefConfidenceInput(input) {
|
|
|
2419
2410
|
baseRate: opinion.a,
|
|
2420
2411
|
trigger: input.trigger,
|
|
2421
2412
|
rationale: input.rationale,
|
|
2413
|
+
triggeringEvidenceId: input.triggeringEvidenceId,
|
|
2414
|
+
triggeringQuestionId: input.triggeringQuestionId,
|
|
2415
|
+
triggeringAnswerId: input.triggeringAnswerId,
|
|
2416
|
+
triggeringContradictionId: input.triggeringContradictionId,
|
|
2417
|
+
triggeringWorktreeId: input.triggeringWorktreeId,
|
|
2422
2418
|
maxInlinePropagationTargets: input.maxInlinePropagationTargets
|
|
2423
2419
|
};
|
|
2424
2420
|
}
|
|
@@ -3158,6 +3154,18 @@ function createWorktreesFacade(config = {}) {
|
|
|
3158
3154
|
async list(query) {
|
|
3159
3155
|
return gateway.request({
|
|
3160
3156
|
path: `/api/platform/v1/worktrees${toQueryString({
|
|
3157
|
+
topicId: query.topicId,
|
|
3158
|
+
status: query.status,
|
|
3159
|
+
groupBy: query.groupBy,
|
|
3160
|
+
lane: query.lane,
|
|
3161
|
+
campaign: query.campaign,
|
|
3162
|
+
limit: query.limit
|
|
3163
|
+
})}`
|
|
3164
|
+
});
|
|
3165
|
+
},
|
|
3166
|
+
async listCampaigns(query = {}) {
|
|
3167
|
+
return gateway.request({
|
|
3168
|
+
path: `/api/platform/v1/worktrees/campaigns${toQueryString({
|
|
3161
3169
|
topicId: query.topicId,
|
|
3162
3170
|
status: query.status,
|
|
3163
3171
|
limit: query.limit
|
|
@@ -3180,10 +3188,10 @@ function createWorktreesFacade(config = {}) {
|
|
|
3180
3188
|
objective: input.objective,
|
|
3181
3189
|
hypothesis: input.hypothesis,
|
|
3182
3190
|
rationale: input.rationale,
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3191
|
+
campaign: input.campaign,
|
|
3192
|
+
lane: input.lane,
|
|
3193
|
+
laneOrderInCampaign: input.laneOrderInCampaign,
|
|
3194
|
+
orderInLane: input.orderInLane,
|
|
3187
3195
|
dependsOn: input.dependsOn,
|
|
3188
3196
|
blocks: input.blocks,
|
|
3189
3197
|
gate: input.gate,
|
|
@@ -3879,6 +3887,7 @@ var FUNCTION_SURFACE_METHOD_PATHS = [
|
|
|
3879
3887
|
"worktrees.activateWorktree",
|
|
3880
3888
|
"worktrees.addWorktree",
|
|
3881
3889
|
"worktrees.listAllWorktrees",
|
|
3890
|
+
"worktrees.listCampaigns",
|
|
3882
3891
|
"worktrees.listWorktrees",
|
|
3883
3892
|
"worktrees.merge",
|
|
3884
3893
|
"worktrees.openPullRequest",
|
|
@@ -3959,6 +3968,7 @@ var CONTRACTS = {
|
|
|
3959
3968
|
"list_active_sessions": { method: "POST", path: "/coordination/active-sessions", kind: "query", idempotent: false, surfaceIntent: "system" },
|
|
3960
3969
|
"list_all_worktrees": { method: "GET", path: "/worktrees/all", kind: "query", idempotent: false, surfaceIntent: "mcp_workflow" },
|
|
3961
3970
|
"list_beliefs": { method: "GET", path: "/beliefs", kind: "query", idempotent: false, surfaceIntent: "mcp_core" },
|
|
3971
|
+
"list_campaigns": { method: "GET", path: "/worktrees/campaigns", kind: "query", idempotent: false, surfaceIntent: "mcp_workflow" },
|
|
3962
3972
|
"list_evidence": { method: "GET", path: "/evidence", kind: "query", idempotent: false, surfaceIntent: "mcp_core" },
|
|
3963
3973
|
"list_lenses": { method: "GET", path: "/lenses", kind: "query", idempotent: false, surfaceIntent: "mcp_workflow" },
|
|
3964
3974
|
"list_ontologies": { method: "GET", path: "/ontologies", kind: "query", idempotent: false, surfaceIntent: "mcp_workflow" },
|
|
@@ -4249,6 +4259,9 @@ function createFunctionSurfaceClient(config = {}) {
|
|
|
4249
4259
|
listBeliefs(input = {}, idempotencyKey) {
|
|
4250
4260
|
return execute("list_beliefs", input, idempotencyKey);
|
|
4251
4261
|
},
|
|
4262
|
+
listCampaigns(input = {}, idempotencyKey) {
|
|
4263
|
+
return execute("list_campaigns", input, idempotencyKey);
|
|
4264
|
+
},
|
|
4252
4265
|
listEvidence(input = {}, idempotencyKey) {
|
|
4253
4266
|
return execute("list_evidence", input, idempotencyKey);
|
|
4254
4267
|
},
|
|
@@ -5060,10 +5073,11 @@ function createWorkflowClient(config = {}) {
|
|
|
5060
5073
|
async listWorktrees(query) {
|
|
5061
5074
|
const normalized = normalizeTopicQuery(query);
|
|
5062
5075
|
return gateway.request({
|
|
5063
|
-
path: `/api/platform/v1/worktrees${toQueryString({
|
|
5076
|
+
path: `/api/platform/v1/worktrees/all${toQueryString({
|
|
5064
5077
|
...normalized,
|
|
5065
|
-
|
|
5066
|
-
|
|
5078
|
+
groupBy: query.groupBy,
|
|
5079
|
+
lane: query.lane,
|
|
5080
|
+
campaign: query.campaign
|
|
5067
5081
|
})}`
|
|
5068
5082
|
}).then(
|
|
5069
5083
|
(response) => mapGatewayData(
|
|
@@ -5082,8 +5096,9 @@ function createWorkflowClient(config = {}) {
|
|
|
5082
5096
|
return gateway.request({
|
|
5083
5097
|
path: `/api/platform/v1/worktrees${toQueryString({
|
|
5084
5098
|
status: query.status,
|
|
5085
|
-
|
|
5086
|
-
|
|
5099
|
+
groupBy: query.groupBy,
|
|
5100
|
+
lane: query.lane,
|
|
5101
|
+
campaign: query.campaign,
|
|
5087
5102
|
limit: query.limit
|
|
5088
5103
|
})}`
|
|
5089
5104
|
}).then(
|
|
@@ -5095,12 +5110,22 @@ function createWorkflowClient(config = {}) {
|
|
|
5095
5110
|
);
|
|
5096
5111
|
return {
|
|
5097
5112
|
...list,
|
|
5098
|
-
...record.
|
|
5099
|
-
...record.
|
|
5113
|
+
...record.lanes && typeof record.lanes === "object" && !Array.isArray(record.lanes) ? { lanes: record.lanes } : {},
|
|
5114
|
+
...record.campaigns && typeof record.campaigns === "object" && !Array.isArray(record.campaigns) ? { campaigns: record.campaigns } : {}
|
|
5100
5115
|
};
|
|
5101
5116
|
})
|
|
5102
5117
|
);
|
|
5103
5118
|
},
|
|
5119
|
+
/**
|
|
5120
|
+
* List compact pipeline campaigns with nested lanes.
|
|
5121
|
+
*/
|
|
5122
|
+
async listCampaigns(query = {}) {
|
|
5123
|
+
return gateway.request({
|
|
5124
|
+
path: `/api/platform/v1/worktrees/campaigns${toQueryString(
|
|
5125
|
+
normalizeTopicQuery(query)
|
|
5126
|
+
)}`
|
|
5127
|
+
});
|
|
5128
|
+
},
|
|
5104
5129
|
/**
|
|
5105
5130
|
* Create a workflow worktree.
|
|
5106
5131
|
*/
|
|
@@ -5426,13 +5451,11 @@ function requireText(args) {
|
|
|
5426
5451
|
return text;
|
|
5427
5452
|
}
|
|
5428
5453
|
function requireBaseRate(args) {
|
|
5429
|
-
|
|
5430
|
-
|
|
5431
|
-
}
|
|
5432
|
-
if (args.baseRate < 0 || args.baseRate > 1) {
|
|
5454
|
+
const baseRate = typeof args.baseRate === "number" && Number.isFinite(args.baseRate) ? args.baseRate : 0.5;
|
|
5455
|
+
if (baseRate < 0 || baseRate > 1) {
|
|
5433
5456
|
throw new Error("baseRate must be within [0, 1].");
|
|
5434
5457
|
}
|
|
5435
|
-
return
|
|
5458
|
+
return baseRate;
|
|
5436
5459
|
}
|
|
5437
5460
|
function exposeGatewayData(response) {
|
|
5438
5461
|
return Object.assign({}, response, response.data);
|
|
@@ -5550,9 +5573,13 @@ function createLucernClient(config = {}) {
|
|
|
5550
5573
|
if (!text) {
|
|
5551
5574
|
throw new Error("text is required");
|
|
5552
5575
|
}
|
|
5576
|
+
const rationale = args.rationale ?? args.supports?.reasoning;
|
|
5577
|
+
if (!rationale) {
|
|
5578
|
+
throw new Error("rationale is required");
|
|
5579
|
+
}
|
|
5553
5580
|
const metadata = {
|
|
5554
5581
|
...args.metadata ?? {},
|
|
5555
|
-
|
|
5582
|
+
rationale
|
|
5556
5583
|
};
|
|
5557
5584
|
return evidenceFacade.create({
|
|
5558
5585
|
topicId: resolveTopicId(args),
|
|
@@ -5560,6 +5587,7 @@ function createLucernClient(config = {}) {
|
|
|
5560
5587
|
source: args.source ?? args.sourceUrl,
|
|
5561
5588
|
targetId: args.targetId ?? args.supports?.nodeId,
|
|
5562
5589
|
weight: args.weight ?? args.supports?.weight,
|
|
5590
|
+
rationale,
|
|
5563
5591
|
metadata: Object.keys(metadata).length > 0 ? metadata : void 0,
|
|
5564
5592
|
title: args.title,
|
|
5565
5593
|
content: args.content,
|
|
@@ -6390,7 +6418,10 @@ function createLucernClient(config = {}) {
|
|
|
6390
6418
|
beliefIds: input.beliefIds,
|
|
6391
6419
|
autoShape: input.autoShape,
|
|
6392
6420
|
domainPackId: input.domainPackId,
|
|
6393
|
-
|
|
6421
|
+
campaign: input.campaign,
|
|
6422
|
+
lane: input.lane,
|
|
6423
|
+
laneOrderInCampaign: input.laneOrderInCampaign,
|
|
6424
|
+
orderInLane: input.orderInLane,
|
|
6394
6425
|
dependsOn: input.dependsOn,
|
|
6395
6426
|
blocks: input.blocks,
|
|
6396
6427
|
gate: input.gate,
|
|
@@ -6409,7 +6440,10 @@ function createLucernClient(config = {}) {
|
|
|
6409
6440
|
beliefIds: input.beliefIds,
|
|
6410
6441
|
autoShape: input.autoShape,
|
|
6411
6442
|
domainPackId: input.domainPackId,
|
|
6412
|
-
|
|
6443
|
+
campaign: input.campaign,
|
|
6444
|
+
lane: input.lane,
|
|
6445
|
+
laneOrderInCampaign: input.laneOrderInCampaign,
|
|
6446
|
+
orderInLane: input.orderInLane,
|
|
6413
6447
|
dependsOn: input.dependsOn,
|
|
6414
6448
|
blocks: input.blocks,
|
|
6415
6449
|
gate: input.gate,
|
|
@@ -6437,10 +6471,10 @@ function createLucernClient(config = {}) {
|
|
|
6437
6471
|
return worktreesFacade.update({
|
|
6438
6472
|
id: typeof input.worktreeId === "string" ? input.worktreeId : "",
|
|
6439
6473
|
hypothesis: typeof input.hypothesis === "string" ? input.hypothesis : void 0,
|
|
6440
|
-
|
|
6441
|
-
|
|
6442
|
-
|
|
6443
|
-
|
|
6474
|
+
campaign: typeof input.campaign === "number" ? input.campaign : void 0,
|
|
6475
|
+
lane: typeof input.lane === "string" ? input.lane : void 0,
|
|
6476
|
+
laneOrderInCampaign: typeof input.laneOrderInCampaign === "number" ? input.laneOrderInCampaign : void 0,
|
|
6477
|
+
orderInLane: typeof input.orderInLane === "number" ? input.orderInLane : void 0,
|
|
6444
6478
|
dependsOn,
|
|
6445
6479
|
blocks,
|
|
6446
6480
|
gate: typeof input.gate === "string" ? input.gate : void 0
|
|
@@ -8730,7 +8764,7 @@ var CANONICAL_WORKFLOW_DEFINITIONS = [
|
|
|
8730
8764
|
actionId: "run_integrity_checks",
|
|
8731
8765
|
kind: "integrity_check",
|
|
8732
8766
|
title: "Run integrity checks",
|
|
8733
|
-
description: "Evaluate dependency references, blockers,
|
|
8767
|
+
description: "Evaluate dependency references, blockers, campaign/lane placement, shaping coverage, and completed gates.",
|
|
8734
8768
|
mutationTier: "read_only",
|
|
8735
8769
|
produces: ["structured_payload"],
|
|
8736
8770
|
idempotent: true,
|