@muxoai/platform 1.4.2 → 1.4.4

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 (40) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.claude-plugin/marketplace.json +2 -2
  3. package/README.md +15 -1
  4. package/dist/cli.js +217 -0
  5. package/dist/composio-catalog.d.ts +25 -0
  6. package/dist/composio-catalog.js +145 -0
  7. package/dist/config.d.ts +1 -0
  8. package/dist/config.js +1 -0
  9. package/dist/durable-workflow.d.ts +71 -4
  10. package/dist/durable-workflow.js +199 -5
  11. package/dist/engine.d.ts +110 -4
  12. package/dist/engine.js +603 -24
  13. package/dist/index.d.ts +3 -0
  14. package/dist/index.js +3 -0
  15. package/dist/mcp-schema.d.ts +14 -0
  16. package/dist/mcp-schema.js +85 -7
  17. package/dist/mcp.js +325 -5
  18. package/dist/memory-graph.d.ts +26 -2
  19. package/dist/memory-graph.js +127 -7
  20. package/dist/oss-suite.d.ts +401 -0
  21. package/dist/oss-suite.js +2065 -0
  22. package/dist/policy.js +59 -0
  23. package/dist/providers/composio-instant.js +54 -36
  24. package/dist/providers/composio-sdk.d.ts +10 -1
  25. package/dist/providers/composio-sdk.js +144 -31
  26. package/dist/sdk.d.ts +43 -1
  27. package/dist/sdk.js +85 -2
  28. package/dist/server.js +231 -3
  29. package/dist/skills-catalog.d.ts +66 -0
  30. package/dist/skills-catalog.js +801 -0
  31. package/dist/types.d.ts +51 -1
  32. package/dist/ui/console-html.js +23 -8
  33. package/dist/version.d.ts +1 -1
  34. package/dist/version.js +1 -1
  35. package/package.json +1 -1
  36. package/plugins/muxo/.claude-plugin/plugin.json +1 -1
  37. package/plugins/muxo/.codex-plugin/plugin.json +2 -2
  38. package/plugins/muxo/.cursor-plugin/plugin.json +1 -1
  39. package/plugins/muxo/plugin.json +2 -2
  40. package/plugins/muxo/skills/muxo/SKILL.md +13 -3
@@ -1,4 +1,7 @@
1
- /** Cloud provisioning pipeline modelled on Cloudflare Workflows primitives, shared by the Node engine and the edge worker. */
1
+ /**
2
+ * Temporal-compatible Durable Workflows, Saga Compensations, Signals, and Cloudflare Workflows primitives,
3
+ * shared by the Node engine (src/engine.ts) and the Cloudflare Edge Worker (worker/index.ts).
4
+ */
2
5
  import { MuxoToolError } from "./mcp-schema.js";
3
6
  export const WORKFLOW_RESOURCE_COMPLETED_EVENT = "v2.provisioning.resource.completed";
4
7
  export function workflowNotFoundError(workflowId) {
@@ -14,12 +17,70 @@ export function normalizeWorkflowTarget(params) {
14
17
  serviceRef: (params.serviceRef || "postgres").toLowerCase().trim(),
15
18
  };
16
19
  }
20
+ function appendTemporalEvent(history, eventType, attributes, now = new Date().toISOString()) {
21
+ history.push({
22
+ eventId: history.length + 1,
23
+ eventTime: now,
24
+ eventType,
25
+ taskQueue: "muxo-durable-execution-queue",
26
+ attributes,
27
+ });
28
+ }
17
29
  export function createCloudProvisioningWorkflow(params) {
18
30
  const now = new Date().toISOString();
31
+ const region = params.region || "aws-us-east-1";
32
+ const apiVersion = params.apiVersion || "2026-09-30.preview";
33
+ const history = [];
34
+ appendTemporalEvent(history, "EVENT_TYPE_WORKFLOW_EXECUTION_STARTED", {
35
+ workflowType: "cloud_provisioning_pipeline",
36
+ workflowId: params.id,
37
+ workspaceId: params.workspaceId,
38
+ provider: params.provider,
39
+ serviceRef: params.serviceRef,
40
+ region,
41
+ }, now);
42
+ appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", {
43
+ activityName: "check_stripe_v2_eligibility",
44
+ result: { status: "eligible", apiVersion },
45
+ }, now);
46
+ appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", {
47
+ activityName: "ensure_payment_profile_and_provider_connection",
48
+ result: { provider: params.provider, paymentProfileStatus: "active" },
49
+ }, now);
50
+ appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", {
51
+ activityName: "create_v2_provisioning_resource",
52
+ result: {
53
+ resourceId: params.resourceId,
54
+ provider: params.provider,
55
+ service_ref: params.serviceRef,
56
+ region,
57
+ },
58
+ compensationAction: `resource.${params.provider}.remove`,
59
+ }, now);
60
+ appendTemporalEvent(history, "EVENT_TYPE_TIMER_STARTED", {
61
+ waitingForSignal: WORKFLOW_RESOURCE_COMPLETED_EVENT,
62
+ resourceId: params.resourceId,
63
+ }, now);
64
+ const compensations = [
65
+ {
66
+ stepName: "ensure_payment_profile_and_provider_connection",
67
+ compensationAction: `provisioning.provider_connection.unlink`,
68
+ status: "registered",
69
+ description: `Unlink provider connection for ${params.provider} if downstream provisioning aborts`,
70
+ },
71
+ {
72
+ stepName: "create_v2_provisioning_resource",
73
+ compensationAction: `resource.${params.provider}.remove`,
74
+ status: "registered",
75
+ description: `Deprovision ${params.provider}/${params.serviceRef} (${params.resourceId}) and release reservation`,
76
+ },
77
+ ];
19
78
  return {
20
79
  id: params.id,
80
+ runId: `run_${params.id}`,
21
81
  workspaceId: params.workspaceId,
22
82
  workflowType: "cloud_provisioning_pipeline",
83
+ playbookSlug: null,
23
84
  status: "waiting_for_event",
24
85
  provider: params.provider,
25
86
  serviceRef: params.serviceRef,
@@ -29,7 +90,7 @@ export function createCloudProvisioningWorkflow(params) {
29
90
  name: "check_stripe_v2_eligibility",
30
91
  primitive: "step.do",
31
92
  status: "completed",
32
- output: { status: "eligible", apiVersion: params.apiVersion || "2026-09-30.preview" },
93
+ output: { status: "eligible", apiVersion },
33
94
  completedAt: now,
34
95
  },
35
96
  {
@@ -38,6 +99,7 @@ export function createCloudProvisioningWorkflow(params) {
38
99
  status: "completed",
39
100
  output: { provider: params.provider, paymentProfileStatus: "active" },
40
101
  completedAt: now,
102
+ compensationAction: "provisioning.provider_connection.unlink",
41
103
  },
42
104
  {
43
105
  name: "create_v2_provisioning_resource",
@@ -47,22 +109,31 @@ export function createCloudProvisioningWorkflow(params) {
47
109
  resourceId: params.resourceId,
48
110
  provider: params.provider,
49
111
  service_ref: params.serviceRef,
50
- region: params.region || "aws-us-east-1",
112
+ region,
51
113
  },
52
114
  completedAt: now,
115
+ compensationAction: `resource.${params.provider}.remove`,
53
116
  },
54
117
  {
55
118
  name: "wait_for_v2_provisioning_resource_completed",
56
119
  primitive: "step.waitForEvent",
57
120
  status: "waiting",
58
- output: { expectedEvent: WORKFLOW_RESOURCE_COMPLETED_EVENT, resourceId: params.resourceId },
121
+ output: {
122
+ expectedEvent: WORKFLOW_RESOURCE_COMPLETED_EVENT,
123
+ resourceId: params.resourceId,
124
+ },
59
125
  },
60
126
  {
61
127
  name: "reveal_access_configuration_and_seal_vault",
62
128
  primitive: "step.do",
63
129
  status: "pending",
130
+ compensationAction: "vault.revoke_secrets",
64
131
  },
65
132
  ],
133
+ compensations,
134
+ signals: [],
135
+ temporalEventHistory: history,
136
+ rollbackReason: null,
66
137
  createdAt: now,
67
138
  updatedAt: now,
68
139
  };
@@ -70,6 +141,12 @@ export function createCloudProvisioningWorkflow(params) {
70
141
  /** Completes every outstanding step once the resource-completed event (or a manual advance) arrives. */
71
142
  export function completeCloudProvisioningWorkflow(wf, params) {
72
143
  const now = new Date().toISOString();
144
+ const history = wf.temporalEventHistory || [];
145
+ const trigger = String(params.triggerEvent || WORKFLOW_RESOURCE_COMPLETED_EVENT);
146
+ appendTemporalEvent(history, "EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED", {
147
+ signalName: trigger,
148
+ resourceId: wf.resourceId,
149
+ }, now);
73
150
  for (const step of wf.steps) {
74
151
  if (step.status === "completed")
75
152
  continue;
@@ -80,11 +157,128 @@ export function completeCloudProvisioningWorkflow(wf, params) {
80
157
  vaultEncrypted: true,
81
158
  cipher: "AES-256-GCM",
82
159
  secretKeys: params.secretKeys,
83
- triggerEvent: params.triggerEvent || WORKFLOW_RESOURCE_COMPLETED_EVENT,
160
+ triggerEvent: trigger,
84
161
  };
85
162
  }
163
+ appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", {
164
+ activityName: step.name,
165
+ result: step.output || { status: "completed" },
166
+ }, now);
86
167
  }
168
+ appendTemporalEvent(history, "EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED", {
169
+ workflowId: wf.id,
170
+ status: "completed",
171
+ secretKeysSealed: params.secretKeys,
172
+ }, now);
173
+ wf.temporalEventHistory = history;
87
174
  wf.status = "completed";
88
175
  wf.updatedAt = now;
89
176
  return wf;
90
177
  }
178
+ /**
179
+ * Executes LIFO Saga Compensations on a DurableWorkflow, rolling back completed steps in reverse order
180
+ * and recording Temporal compensation activity events.
181
+ */
182
+ export function rollbackDurableWorkflow(wf, params) {
183
+ const now = new Date().toISOString();
184
+ const failedStepName = params?.failedStepName || params?.failedStep;
185
+ const reason = params?.reason ||
186
+ "Saga rollback requested by operator or downstream step failure";
187
+ const history = wf.temporalEventHistory || [];
188
+ const compensations = wf.compensations || [];
189
+ if (failedStepName) {
190
+ appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_FAILED", {
191
+ activityName: failedStepName,
192
+ reason,
193
+ }, now);
194
+ }
195
+ // Execute registered compensations in reverse (LIFO) order
196
+ for (let i = compensations.length - 1; i >= 0; i--) {
197
+ const comp = compensations[i];
198
+ if (comp.status === "executed")
199
+ continue;
200
+ comp.status = "executed";
201
+ comp.executedAt = now;
202
+ comp.output = {
203
+ rolledBack: true,
204
+ action: comp.compensationAction,
205
+ resourceId: wf.resourceId,
206
+ reason,
207
+ };
208
+ appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", {
209
+ activityName: `compensate:${comp.stepName}`,
210
+ compensationAction: comp.compensationAction,
211
+ result: comp.output,
212
+ }, now);
213
+ }
214
+ for (const step of wf.steps) {
215
+ if (step.status === "completed" && step.compensationAction) {
216
+ step.status = "compensated";
217
+ step.compensatedAt = now;
218
+ }
219
+ else if (step.status === "waiting" || step.status === "pending") {
220
+ step.status = "failed";
221
+ }
222
+ }
223
+ appendTemporalEvent(history, "EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED", {
224
+ workflowId: wf.id,
225
+ status: "rolled_back",
226
+ reason,
227
+ compensatedStepsCount: compensations.filter((c) => c.status === "executed")
228
+ .length,
229
+ }, now);
230
+ wf.compensations = compensations;
231
+ wf.temporalEventHistory = history;
232
+ wf.rollbackReason = reason;
233
+ wf.status = "rolled_back";
234
+ wf.updatedAt = now;
235
+ return wf;
236
+ }
237
+ /**
238
+ * Sends a named Temporal signal to a DurableWorkflow (`human.approval.granted`, `oauth.connection.active`,
239
+ * `saga.abort`, or `v2.provisioning.resource.completed`).
240
+ */
241
+ export function signalDurableWorkflow(wf, params) {
242
+ const now = new Date().toISOString();
243
+ const signalName = String(params.signalName || WORKFLOW_RESOURCE_COMPLETED_EVENT).trim();
244
+ const payload = params.payload || {};
245
+ wf.signals = wf.signals || [];
246
+ wf.signals.push({
247
+ signalName,
248
+ payload,
249
+ receivedAt: now,
250
+ });
251
+ if (signalName === "saga.abort" ||
252
+ signalName === "human.approval.rejected" ||
253
+ payload.action === "rollback") {
254
+ return rollbackDurableWorkflow(wf, {
255
+ reason: String(payload.reason || `Rolled back via signal ${signalName}`),
256
+ });
257
+ }
258
+ return completeCloudProvisioningWorkflow(wf, {
259
+ secretKeys: params.secretKeys || ["DATABASE_URL"],
260
+ triggerEvent: signalName,
261
+ });
262
+ }
263
+ /**
264
+ * Exports a DurableWorkflow in Temporal Web UI / `temporal workflow show` compatible EventHistory JSON format.
265
+ */
266
+ export function exportTemporalEventHistory(wf) {
267
+ const events = wf.temporalEventHistory || [];
268
+ return {
269
+ namespace: `muxo.${wf.workspaceId}`,
270
+ workflowExecution: {
271
+ workflowId: wf.id,
272
+ runId: wf.runId || `run_${wf.id}`,
273
+ },
274
+ workflowType: {
275
+ name: wf.playbookSlug
276
+ ? `MuxoPlaybookSaga::${wf.playbookSlug}`
277
+ : `MuxoWorkflow::${wf.workflowType}`,
278
+ },
279
+ status: wf.status,
280
+ eventsCount: events.length,
281
+ compensationsCount: (wf.compensations || []).length,
282
+ events,
283
+ };
284
+ }
package/dist/engine.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { MuxoConfig } from "./config.js";
2
- import { type DurableWorkflow } from "./durable-workflow.js";
2
+ import { exportTemporalEventHistory, type DurableWorkflow } from "./durable-workflow.js";
3
+ import { type CommercialPlaybookDefinition, type CommercialRoiReport, type CompiledPolicyAsCodeBundle, type HarnessConfigurationBundle, type OtelTraceExportBundle, type PolicyAsCodeEvaluationResult, type RunReconciliationReport } from "./oss-suite.js";
3
4
  import { type NaturalLanguageResolution } from "./nl.js";
4
5
  import { describePolicyInPlainEnglish, type GuardrailCompileOptions, type LlmPolicyAndGovernanceBrief, type ParsedNaturalLanguageGuardrail, type PolicySimulationResult } from "./policy.js";
5
6
  import { ComposioInstantAdapter } from "./providers/composio-instant.js";
@@ -48,6 +49,7 @@ export declare class MuxoEngine {
48
49
  readonly governance: MicrosoftGovernanceAdapter;
49
50
  readonly supermemory: SupermemoryAdapter;
50
51
  private readonly durableWorkflows;
52
+ private readonly customPlaybooks;
51
53
  constructor(config: MuxoConfig, store: MuxoStore);
52
54
  getProfile(ctx: ExecutionContext): Record<string, unknown>;
53
55
  getOrganization(ctx: ExecutionContext): Record<string, unknown>;
@@ -191,9 +193,15 @@ export declare class MuxoEngine {
191
193
  }>;
192
194
  /**
193
195
  * Synthesizes a Bi-Temporal Knowledge Graph (entities, active relationships, superseded historical relationships,
194
- * Mermaid diagram, and human + technical explanations) directly from SQLite temporal_facts, memories, resources, and connections.
196
+ * Mermaid diagram, point-in-time `asOf` time-travel, 2-hop BFS subgraph, and human + technical explanations)
197
+ * directly from SQLite temporal_facts, memories, resources, and connections.
195
198
  */
196
- getMemoryGraph(ctx: ExecutionContext, query?: string): Promise<MemoryKnowledgeGraph>;
199
+ getMemoryGraph(ctx: ExecutionContext, queryOrOptions?: string | {
200
+ query?: string;
201
+ asOf?: string | null;
202
+ focalEntity?: string | null;
203
+ maxHops?: number;
204
+ }): Promise<MemoryKnowledgeGraph>;
197
205
  activateWorkspaceKillSwitch(ctx: ExecutionContext, params: {
198
206
  reason: string;
199
207
  action?: "terminate" | "quarantine" | "suspend";
@@ -226,7 +234,9 @@ export declare class MuxoEngine {
226
234
  governanceSignatureValid: boolean;
227
235
  agenticReceiptValid: boolean;
228
236
  explanation: HumanFriendlyExplanation;
237
+ businessSummary: NonNullable<ExecutionReceipt["businessSummary"]>;
229
238
  };
239
+ reconcileRun(ctx: ExecutionContext, runOrPlanId: string): RunReconciliationReport;
230
240
  listReceipts(ctx: ExecutionContext, limit?: number): {
231
241
  receipts: Array<ExecutionReceipt & {
232
242
  agenticReceipt: PortableAgenticReceipt;
@@ -338,7 +348,7 @@ export declare class MuxoEngine {
338
348
  }): Promise<{
339
349
  ok: boolean;
340
350
  executed: boolean;
341
- status: "executed" | "planned_dry_run" | "awaiting_approval" | "awaiting_oauth_connection" | "missing_inputs" | "guardrail_applied" | "memory_saved" | "memory_forgotten" | "memory_recalled" | "memory_graph" | "governance_updated" | "governance_scanned" | "governance_status" | "context_inspected" | "receipt_explained" | "receipt_chain_verified" | "unresolved";
351
+ status: "executed" | "planned_dry_run" | "awaiting_approval" | "awaiting_oauth_connection" | "missing_inputs" | "guardrail_applied" | "memory_saved" | "memory_forgotten" | "memory_recalled" | "memory_graph" | "governance_updated" | "governance_scanned" | "governance_status" | "context_inspected" | "receipt_explained" | "receipt_chain_verified" | "playbook_listed" | "playbook_created" | "playbook_executed" | "workflow_rolled_back" | "workflow_signaled" | "workflow_history" | "cedar_compiled" | "cedar_evaluated" | "otel_exported" | "roi_analyzed" | "harness_configured" | "unresolved";
342
352
  intent: NaturalLanguageResolution;
343
353
  resolution: NaturalLanguageResolution;
344
354
  plan?: ActionPlan;
@@ -359,6 +369,15 @@ export declare class MuxoEngine {
359
369
  memoryRecord?: WorkspaceMemoryRecord;
360
370
  memoryOverview?: Awaited<ReturnType<MuxoEngine["getMemoryOverview"]>>;
361
371
  memoryGraph?: MemoryKnowledgeGraph;
372
+ playbooks?: CommercialPlaybookDefinition[];
373
+ playbook?: CommercialPlaybookDefinition;
374
+ workflow?: DurableWorkflow;
375
+ workflowHistory?: ReturnType<typeof exportTemporalEventHistory>;
376
+ cedarBundle?: CompiledPolicyAsCodeBundle;
377
+ cedarEvaluation?: PolicyAsCodeEvaluationResult;
378
+ otelTraces?: OtelTraceExportBundle;
379
+ roiReport?: CommercialRoiReport;
380
+ harnessConfig?: HarnessConfigurationBundle;
362
381
  deletedMemoryId?: string;
363
382
  governanceStatus?: ReturnType<MuxoEngine["getGovernanceOverview"]>;
364
383
  poisoningScan?: ReturnType<MuxoEngine["scanForContextPoisoning"]>;
@@ -417,6 +436,93 @@ export declare class MuxoEngine {
417
436
  }): Promise<DurableWorkflow>;
418
437
  advanceDurableWorkflow(ctx: ExecutionContext, workflowId: string, eventPayload?: Record<string, unknown>): Promise<DurableWorkflow>;
419
438
  listDurableWorkflows(workspaceId: string): DurableWorkflow[];
439
+ getDurableWorkflow(ctx: ExecutionContext, workflowId: string): DurableWorkflow;
440
+ getDurableWorkflowHistory(ctx: ExecutionContext, workflowId: string): {
441
+ namespace: string;
442
+ workflowExecution: {
443
+ workflowId: string;
444
+ runId: string;
445
+ };
446
+ workflowType: {
447
+ name: string;
448
+ };
449
+ status: DurableWorkflow["status"];
450
+ eventsCount: number;
451
+ compensationsCount: number;
452
+ events: import("./durable-workflow.js").TemporalHistoryEvent[];
453
+ };
454
+ signalDurableWorkflow(ctx: ExecutionContext, workflowId: string, params: {
455
+ signalName: string;
456
+ payload?: Record<string, unknown>;
457
+ }): DurableWorkflow;
458
+ rollbackDurableWorkflow(ctx: ExecutionContext, workflowId: string, params?: {
459
+ reason?: string;
460
+ failedStep?: string;
461
+ }): DurableWorkflow;
462
+ /**
463
+ * AWS Cedar & Open Policy Agent (OPA / Rego) Policy-as-Code Compiler & Evaluator.
464
+ */
465
+ getPolicyAsCodeBundle(ctx: ExecutionContext): CompiledPolicyAsCodeBundle;
466
+ evaluatePolicyAsCode(ctx: ExecutionContext, params: {
467
+ toolSlug: string;
468
+ input?: Record<string, unknown>;
469
+ riskLevel?: RiskLevel;
470
+ creditCost?: number;
471
+ lane?: string;
472
+ }): Promise<PolicyAsCodeEvaluationResult>;
473
+ /**
474
+ * OpenTelemetry (OTel GenAI / MCP Semantic Conventions) & Langfuse Trace Exporter.
475
+ */
476
+ exportOtelTraces(ctx: ExecutionContext, limit?: number): OtelTraceExportBundle;
477
+ /**
478
+ * Turnkey & Custom Commercial Business Saga Playbooks.
479
+ */
480
+ listCommercialPlaybooks(ctx?: ExecutionContext): CommercialPlaybookDefinition[];
481
+ createCustomPlaybook(ctx: ExecutionContext, params: {
482
+ prompt?: string;
483
+ input?: Record<string, unknown>;
484
+ }): {
485
+ ok: true;
486
+ playbook: CommercialPlaybookDefinition;
487
+ playbooks: CommercialPlaybookDefinition[];
488
+ humanMessage: string;
489
+ };
490
+ runCommercialPlaybook(ctx: ExecutionContext, params: {
491
+ slug: string;
492
+ input?: Record<string, unknown>;
493
+ }): {
494
+ ok: true;
495
+ playbook: CommercialPlaybookDefinition;
496
+ workflow: DurableWorkflow;
497
+ temporalFact: import("./types.js").TemporalGraphFact;
498
+ usableResult: {
499
+ playbookSlug: string;
500
+ playbookName: string;
501
+ status: "completed";
502
+ summary: string;
503
+ deliverableOutcome: string;
504
+ targetProvider: string;
505
+ targetEntity: string;
506
+ completedStepsCount: number;
507
+ registeredCompensationsCount: number;
508
+ estimatedCostUsd: number;
509
+ creditsMetered: number;
510
+ estimatedMinutesSaved: number;
511
+ recoveryGuarantee: string;
512
+ };
513
+ };
514
+ /**
515
+ * Turnkey Harness Preset & One-Shot Agent Configurator.
516
+ */
517
+ configureHarness(ctx: ExecutionContext, params?: {
518
+ preset?: string | null;
519
+ harness?: string | null;
520
+ prompt?: string | null;
521
+ }): Promise<HarnessConfigurationBundle>;
522
+ /**
523
+ * FinOps & Commercial ROI Unit-Economics Analytics.
524
+ */
525
+ getCommercialRoiReport(ctx: ExecutionContext): CommercialRoiReport;
420
526
  /**
421
527
  * Hybrid Semantic Vector + Bi-Temporal Recall (`@cf/baai/bge-base-en-v1.5` + Vectorize model).
422
528
  */