@sixb/core 0.1.3 → 0.1.5
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/actions/index.d.ts +2 -2
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +17 -18
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/read-facade.d.ts +10 -2
- package/dist/actions/read-facade.d.ts.map +1 -1
- package/dist/actions/types/context.d.ts +45 -2
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/worker.js +4 -4
- package/dist/actions/worker.js.map +1 -1
- package/dist/agents/context-compaction.d.ts +40 -0
- package/dist/agents/context-compaction.d.ts.map +1 -0
- package/dist/agents/ids.d.ts +2 -0
- package/dist/agents/ids.d.ts.map +1 -1
- package/dist/agents/index.d.ts +6 -5
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +42 -37
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/streams.d.ts +17 -1
- package/dist/agents/streams.d.ts.map +1 -1
- package/dist/agents/streams.js +4 -2
- package/dist/agents/streams.js.map +1 -1
- package/dist/agents/types.d.ts +11 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +1 -1
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/auth/index.js +7 -3
- package/dist/auth/index.js.map +1 -1
- package/dist/authorization/index.js +6 -2
- package/dist/authorization/index.js.map +1 -1
- package/dist/bootstrap/index.js +30 -31
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/{chunk-d6y2wsfg.js → chunk-1q02e95s.js} +12 -7
- package/dist/{chunk-d6y2wsfg.js.map → chunk-1q02e95s.js.map} +4 -3
- package/dist/{chunk-c6cfqydk.js → chunk-4h947jd8.js} +1 -1
- package/dist/{chunk-gqdd7508.js → chunk-4rh2m6zg.js} +1 -1
- package/dist/{chunk-f1cyvnrk.js → chunk-6d5xdj1q.js} +259 -9
- package/dist/chunk-6d5xdj1q.js.map +14 -0
- package/dist/{chunk-fmx1sz2h.js → chunk-72q2y8hn.js} +3 -3
- package/dist/{chunk-fmx1sz2h.js.map → chunk-72q2y8hn.js.map} +3 -3
- package/dist/{chunk-ttba8x6z.js → chunk-78c6xvyr.js} +68 -3
- package/dist/chunk-78c6xvyr.js.map +15 -0
- package/dist/{chunk-wb4051cx.js → chunk-819wnjz8.js} +11 -5
- package/dist/chunk-819wnjz8.js.map +12 -0
- package/dist/{chunk-177ed2mp.js → chunk-84h6qhmp.js} +233 -97
- package/dist/{chunk-177ed2mp.js.map → chunk-84h6qhmp.js.map} +9 -9
- package/dist/{chunk-pxtrxm3p.js → chunk-a09jx26t.js} +1 -1
- package/dist/{chunk-bv41fmjn.js → chunk-am6eczah.js} +59 -22
- package/dist/{chunk-bv41fmjn.js.map → chunk-am6eczah.js.map} +8 -7
- package/dist/{chunk-zpw39qhj.js → chunk-dm72y8wt.js} +25 -2
- package/dist/chunk-dm72y8wt.js.map +10 -0
- package/dist/{chunk-kqxgf6kv.js → chunk-drjqm1aa.js} +16 -1
- package/dist/{chunk-kqxgf6kv.js.map → chunk-drjqm1aa.js.map} +3 -3
- package/dist/chunk-dysw7nsm.js.map +1 -1
- package/dist/{chunk-4p9rh7jj.js → chunk-ea73pzk7.js} +1 -1
- package/dist/{chunk-4aw0jwk0.js → chunk-f6erf2vv.js} +1 -1
- package/dist/{chunk-4z3n1dzt.js → chunk-f83ka50g.js} +131 -25
- package/dist/chunk-f83ka50g.js.map +23 -0
- package/dist/{chunk-c8bw2b6c.js → chunk-gadsm794.js} +2 -2
- package/dist/{chunk-1ywq4hzk.js → chunk-h6h91mfy.js} +8 -10
- package/dist/{chunk-1ywq4hzk.js.map → chunk-h6h91mfy.js.map} +2 -2
- package/dist/{chunk-n5x5y80a.js → chunk-nzw7sm3b.js} +2 -2
- package/dist/{chunk-63te770v.js → chunk-qewtks41.js} +8 -8
- package/dist/{chunk-63te770v.js.map → chunk-qewtks41.js.map} +2 -2
- package/dist/{chunk-261ag4t4.js → chunk-r0rry8dn.js} +3 -3
- package/dist/{chunk-88ppkr54.js → chunk-rte5sm3z.js} +26 -2
- package/dist/chunk-rte5sm3z.js.map +12 -0
- package/dist/chunk-t0jjkep3.js.map +1 -1
- package/dist/{chunk-ettb0cy4.js → chunk-tbv03sx2.js} +59 -29
- package/dist/{chunk-ettb0cy4.js.map → chunk-tbv03sx2.js.map} +5 -5
- package/dist/{chunk-d2adj15j.js → chunk-tkdscva6.js} +1 -1
- package/dist/{chunk-xmggaxg4.js → chunk-v0egge8b.js} +201 -38
- package/dist/{chunk-xmggaxg4.js.map → chunk-v0egge8b.js.map} +8 -6
- package/dist/{chunk-z8j83gzd.js → chunk-x2yw73hy.js} +1 -1
- package/dist/{chunk-qer6am8w.js → chunk-xdf9yswn.js} +1 -1
- package/dist/{chunk-3rsf30p4.js → chunk-z3ga9q5m.js} +18 -21
- package/dist/{chunk-3rsf30p4.js.map → chunk-z3ga9q5m.js.map} +4 -5
- package/dist/{chunk-km4rkj4t.js → chunk-zp2v2rv6.js} +3 -3
- package/dist/execution/agent.js +26 -27
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/primitive.js +26 -27
- package/dist/execution/primitive.js.map +2 -2
- package/dist/execution/request.js +27 -28
- package/dist/execution/request.js.map +2 -2
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -55
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/types.d.ts +2 -1
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/materializer/index.js +15 -16
- package/dist/materializer/index.js.map +1 -1
- package/dist/models/index.d.ts +40 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/objects/execution.d.ts +6 -1
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +19 -20
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/link/endpoints.d.ts.map +1 -1
- package/dist/objects/query/executor.d.ts +1 -0
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/explain.d.ts +1 -0
- package/dist/objects/query/explain.d.ts.map +1 -1
- package/dist/objects/query/index.d.ts +3 -1
- package/dist/objects/query/index.d.ts.map +1 -1
- package/dist/objects/query/index.js +30 -5
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +14 -1
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/links.d.ts +25 -0
- package/dist/objects/query/links.d.ts.map +1 -0
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/planner.d.ts.map +1 -1
- package/dist/objects/query/validate.d.ts +1 -0
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +1 -1
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +14 -6
- package/dist/ontology/internal.js.map +3 -3
- package/dist/ontology/json-schema.d.ts +10 -0
- package/dist/ontology/json-schema.d.ts.map +1 -1
- package/dist/pipelines/index.js +15 -16
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/builders.d.ts +33 -4
- package/dist/projections/builders.d.ts.map +1 -1
- package/dist/projections/index.d.ts +1 -1
- package/dist/projections/index.d.ts.map +1 -1
- package/dist/projections/internal.js +15 -16
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/run-dispatch.d.ts +1 -0
- package/dist/projections/run-dispatch.d.ts.map +1 -1
- package/dist/projections/types.d.ts +12 -9
- package/dist/projections/types.d.ts.map +1 -1
- package/dist/projections/validation.d.ts +6 -5
- package/dist/projections/validation.d.ts.map +1 -1
- package/dist/query.d.ts +2 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +2 -2
- package/dist/runtime/create.d.ts +3 -0
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/definitions.d.ts +3 -0
- package/dist/runtime/definitions.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +2 -0
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts +2 -0
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/storage/agents/in-memory.d.ts +4 -0
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +9 -5
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +5 -0
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +1 -1
- package/dist/storage/ai-usage/in-memory.d.ts +2 -1
- package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-usage/index.d.ts +1 -1
- package/dist/storage/ai-usage/index.d.ts.map +1 -1
- package/dist/storage/ai-usage/types.d.ts +6 -0
- package/dist/storage/ai-usage/types.d.ts.map +1 -1
- package/dist/storage/index.d.ts +3 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +19 -14
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/objects/in-memory.d.ts +6 -3
- package/dist/storage/objects/in-memory.d.ts.map +1 -1
- package/dist/storage/objects/index.d.ts +3 -1
- package/dist/storage/objects/index.d.ts.map +1 -1
- package/dist/storage/objects/keys.d.ts +16 -0
- package/dist/storage/objects/keys.d.ts.map +1 -0
- package/dist/storage/objects/types.d.ts +33 -6
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +1 -1
- package/dist/storage/workflow-runs/provider.js +9 -5
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +15 -16
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
- package/dist/testing/effective-storage-contract.d.ts +1 -1
- package/dist/testing/effective-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.js +455 -40
- package/dist/testing/index.js.map +7 -7
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-query-contract.d.ts +1 -1
- package/dist/testing/object-query-contract.d.ts.map +1 -1
- package/dist/webhooks/internal.js +13 -14
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workflows/index.js +27 -28
- package/dist/workflows/index.js.map +1 -1
- package/package.json +1 -1
- package/src/actions/index.ts +10 -1
- package/src/actions/read-facade.ts +125 -3
- package/src/actions/types/context.ts +69 -2
- package/src/agents/builders.ts +3 -3
- package/src/agents/context-compaction.ts +261 -0
- package/src/agents/ids.ts +5 -0
- package/src/agents/index.ts +18 -9
- package/src/agents/streams.ts +56 -0
- package/src/agents/types.ts +12 -0
- package/src/agents/validation.ts +39 -5
- package/src/http/api-routes.ts +7 -7
- package/src/index.ts +19 -0
- package/src/lake-storage/types.ts +2 -1
- package/src/materializer/telemetry/append.ts +33 -16
- package/src/models/index.ts +71 -0
- package/src/objects/execution.ts +20 -0
- package/src/objects/link/endpoints.ts +2 -1
- package/src/objects/query/executor.ts +42 -11
- package/src/objects/query/explain.ts +11 -0
- package/src/objects/query/index.ts +6 -0
- package/src/objects/query/ir.ts +16 -0
- package/src/objects/query/links.ts +308 -0
- package/src/objects/query/normalize.ts +40 -1
- package/src/objects/query/planner.ts +5 -0
- package/src/objects/query/validate.ts +58 -2
- package/src/ontology/internal.ts +1 -1
- package/src/ontology/json-schema.ts +27 -5
- package/src/projections/builders.ts +220 -15
- package/src/projections/index.ts +1 -0
- package/src/projections/ownership.ts +5 -5
- package/src/projections/registry.ts +9 -3
- package/src/projections/revision.ts +31 -5
- package/src/projections/run-dispatch.ts +10 -1
- package/src/projections/types.ts +13 -9
- package/src/projections/validation.ts +61 -19
- package/src/query.ts +2 -0
- package/src/runtime/create.ts +4 -0
- package/src/runtime/definitions.ts +3 -0
- package/src/runtime/host.ts +2 -0
- package/src/runtime/resolve-definitions.ts +28 -0
- package/src/storage/agents/in-memory.ts +15 -0
- package/src/storage/agents/types.ts +5 -0
- package/src/storage/ai-usage/in-memory.ts +23 -0
- package/src/storage/ai-usage/index.ts +1 -0
- package/src/storage/ai-usage/types.ts +10 -0
- package/src/storage/index.ts +11 -0
- package/src/storage/objects/in-memory.ts +103 -16
- package/src/storage/objects/index.ts +9 -0
- package/src/storage/objects/keys.ts +36 -0
- package/src/storage/objects/types.ts +34 -6
- package/src/storage/ontology/provider-header-validation.ts +2 -2
- package/src/storage/timeseries/store.ts +6 -6
- package/src/testing/agent-storage-contract.ts +12 -0
- package/src/testing/ai-usage-storage-contract.ts +35 -0
- package/src/testing/effective-storage-contract.ts +194 -4
- package/src/testing/lake-storage-contract.ts +56 -0
- package/src/testing/object-query-contract.ts +208 -1
- package/dist/agents/prompt.d.ts +0 -21
- package/dist/agents/prompt.d.ts.map +0 -1
- package/dist/chunk-4z3n1dzt.js.map +0 -23
- package/dist/chunk-6wetht33.js +0 -89
- package/dist/chunk-6wetht33.js.map +0 -10
- package/dist/chunk-88ppkr54.js.map +0 -12
- package/dist/chunk-f1cyvnrk.js.map +0 -13
- package/dist/chunk-ttba8x6z.js.map +0 -15
- package/dist/chunk-wb4051cx.js.map +0 -12
- package/dist/chunk-zpw39qhj.js.map +0 -10
- package/src/agents/prompt.ts +0 -85
- /package/dist/{chunk-c6cfqydk.js.map → chunk-4h947jd8.js.map} +0 -0
- /package/dist/{chunk-gqdd7508.js.map → chunk-4rh2m6zg.js.map} +0 -0
- /package/dist/{chunk-pxtrxm3p.js.map → chunk-a09jx26t.js.map} +0 -0
- /package/dist/{chunk-4p9rh7jj.js.map → chunk-ea73pzk7.js.map} +0 -0
- /package/dist/{chunk-4aw0jwk0.js.map → chunk-f6erf2vv.js.map} +0 -0
- /package/dist/{chunk-c8bw2b6c.js.map → chunk-gadsm794.js.map} +0 -0
- /package/dist/{chunk-n5x5y80a.js.map → chunk-nzw7sm3b.js.map} +0 -0
- /package/dist/{chunk-261ag4t4.js.map → chunk-r0rry8dn.js.map} +0 -0
- /package/dist/{chunk-d2adj15j.js.map → chunk-tkdscva6.js.map} +0 -0
- /package/dist/{chunk-z8j83gzd.js.map → chunk-x2yw73hy.js.map} +0 -0
- /package/dist/{chunk-qer6am8w.js.map → chunk-xdf9yswn.js.map} +0 -0
- /package/dist/{chunk-km4rkj4t.js.map → chunk-zp2v2rv6.js.map} +0 -0
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
startScopeAccumulator,
|
|
28
28
|
uniqueSorted,
|
|
29
29
|
workUniquenessKey
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-72q2y8hn.js";
|
|
31
31
|
import {
|
|
32
32
|
createAgentOperationScope,
|
|
33
33
|
createAuthOperationScope,
|
|
@@ -79,7 +79,7 @@ import {
|
|
|
79
79
|
WorkflowRunError,
|
|
80
80
|
assertWorkflowAgentNodeRunExecution,
|
|
81
81
|
assertWorkflowRunExecution
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-a09jx26t.js";
|
|
83
83
|
import {
|
|
84
84
|
parseActionRunFailure
|
|
85
85
|
} from "./chunk-htq0qh7z.js";
|
|
@@ -95,14 +95,14 @@ import {
|
|
|
95
95
|
assertAgentContextCheckpointReplayState,
|
|
96
96
|
assertAgentRunExecution,
|
|
97
97
|
assertCreateAgentContextCheckpointInput
|
|
98
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-xdf9yswn.js";
|
|
99
99
|
import {
|
|
100
100
|
InMemoryAiUsageStorage,
|
|
101
101
|
aiModelCallCostMatchesUsage,
|
|
102
102
|
buildAiAccountingOverview,
|
|
103
103
|
buildAiModelCallAccountingList,
|
|
104
104
|
normalizeAiModelCallCostRecord
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-drjqm1aa.js";
|
|
106
106
|
import {
|
|
107
107
|
CONNECTOR_CONNECTION_RUN_FAILURE_CODES,
|
|
108
108
|
ConnectorConnectionStorageError
|
|
@@ -131,10 +131,6 @@ import {
|
|
|
131
131
|
MaterializationConflictError,
|
|
132
132
|
MaterializationValidationError
|
|
133
133
|
} from "./chunk-ry24jbr1.js";
|
|
134
|
-
import {
|
|
135
|
-
compareQueryScalarValues,
|
|
136
|
-
queryScalarValuesEqual
|
|
137
|
-
} from "./chunk-6wetht33.js";
|
|
138
134
|
import {
|
|
139
135
|
AGENT_RUN_FAILURE_CODES
|
|
140
136
|
} from "./chunk-t0jjkep3.js";
|
|
@@ -142,10 +138,13 @@ import {
|
|
|
142
138
|
InMemoryAuthStorage,
|
|
143
139
|
paginate,
|
|
144
140
|
principalsEqual
|
|
145
|
-
} from "./chunk-
|
|
141
|
+
} from "./chunk-tkdscva6.js";
|
|
146
142
|
import {
|
|
147
143
|
normalizeRequesterGroupIds
|
|
148
144
|
} from "./chunk-rhrbz7d4.js";
|
|
145
|
+
import {
|
|
146
|
+
compareDecimalValues
|
|
147
|
+
} from "./chunk-04b07a9q.js";
|
|
149
148
|
import {
|
|
150
149
|
createSixbError,
|
|
151
150
|
parseSixbFailure,
|
|
@@ -846,6 +845,13 @@ class InMemoryAgentContextCheckpointStore {
|
|
|
846
845
|
const record = this.findLatest(input.projectId, input.threadId);
|
|
847
846
|
return record ? clone(record) : null;
|
|
848
847
|
}
|
|
848
|
+
async getByRunIds(input) {
|
|
849
|
+
const byRunId = new Map([...this.state.checkpoints.values()].filter((checkpoint) => checkpoint.projectId === input.projectId).map((checkpoint) => [checkpoint.createdByRunId, checkpoint]));
|
|
850
|
+
return [...new Set(input.runIds)].flatMap((runId) => {
|
|
851
|
+
const checkpoint = byRunId.get(runId);
|
|
852
|
+
return checkpoint ? [clone(checkpoint)] : [];
|
|
853
|
+
});
|
|
854
|
+
}
|
|
849
855
|
findLatest(projectId, threadId) {
|
|
850
856
|
return [...this.state.checkpoints.values()].filter((checkpoint) => checkpoint.projectId === projectId && checkpoint.threadId === threadId).sort((left, right) => right.summarizedThroughSeq - left.summarizedThroughSeq || right.createdAt.getTime() - left.createdAt.getTime() || right.id.localeCompare(left.id))[0] ?? null;
|
|
851
857
|
}
|
|
@@ -2104,6 +2110,110 @@ class InMemoryExecutionStorage {
|
|
|
2104
2110
|
}
|
|
2105
2111
|
}
|
|
2106
2112
|
|
|
2113
|
+
// src/objects/query/scalar-values.ts
|
|
2114
|
+
function compareQueryScalarValues(left, right, scalarKind) {
|
|
2115
|
+
if (left === undefined || right === undefined || left === null || right === null) {
|
|
2116
|
+
return Number.NaN;
|
|
2117
|
+
}
|
|
2118
|
+
if (scalarKind === undefined)
|
|
2119
|
+
return compareRuntimeValues(left, right);
|
|
2120
|
+
switch (scalarKind) {
|
|
2121
|
+
case "string":
|
|
2122
|
+
case "uuid":
|
|
2123
|
+
return typeof left === "string" && typeof right === "string" ? compareStrings(left, right) : Number.NaN;
|
|
2124
|
+
case "boolean":
|
|
2125
|
+
return typeof left === "boolean" && typeof right === "boolean" ? Number(left) - Number(right) : Number.NaN;
|
|
2126
|
+
case "integer":
|
|
2127
|
+
case "double":
|
|
2128
|
+
return typeof left === "number" && typeof right === "number" ? left - right : Number.NaN;
|
|
2129
|
+
case "decimal":
|
|
2130
|
+
return typeof left === "string" && typeof right === "string" ? compareDecimalValues(left, right) : Number.NaN;
|
|
2131
|
+
case "date":
|
|
2132
|
+
case "timestamp":
|
|
2133
|
+
return compareTemporalValues(left, right);
|
|
2134
|
+
}
|
|
2135
|
+
}
|
|
2136
|
+
function queryScalarValuesEqual(left, right, scalarKind) {
|
|
2137
|
+
if (scalarKind === "decimal") {
|
|
2138
|
+
const comparison = compareQueryScalarValues(left, right, scalarKind);
|
|
2139
|
+
return !Number.isNaN(comparison) && comparison === 0;
|
|
2140
|
+
}
|
|
2141
|
+
if (scalarKind === "date" || scalarKind === "timestamp") {
|
|
2142
|
+
const comparison = compareTemporalValues(left, right);
|
|
2143
|
+
return !Number.isNaN(comparison) && comparison === 0;
|
|
2144
|
+
}
|
|
2145
|
+
if (scalarKind !== undefined)
|
|
2146
|
+
return Object.is(left, right);
|
|
2147
|
+
return runtimeValuesEqual(left, right);
|
|
2148
|
+
}
|
|
2149
|
+
function compareRuntimeValues(left, right) {
|
|
2150
|
+
if (typeof left === "number" && typeof right === "number")
|
|
2151
|
+
return left - right;
|
|
2152
|
+
if (typeof left === "string" && typeof right === "string")
|
|
2153
|
+
return compareStrings(left, right);
|
|
2154
|
+
if (typeof left === "boolean" && typeof right === "boolean") {
|
|
2155
|
+
return Number(left) - Number(right);
|
|
2156
|
+
}
|
|
2157
|
+
if (left instanceof Date || right instanceof Date)
|
|
2158
|
+
return compareTemporalValues(left, right);
|
|
2159
|
+
return Number.NaN;
|
|
2160
|
+
}
|
|
2161
|
+
function runtimeValuesEqual(left, right) {
|
|
2162
|
+
if (left instanceof Date || right instanceof Date) {
|
|
2163
|
+
const comparison = compareTemporalValues(left, right);
|
|
2164
|
+
return !Number.isNaN(comparison) && comparison === 0;
|
|
2165
|
+
}
|
|
2166
|
+
return Object.is(left, right);
|
|
2167
|
+
}
|
|
2168
|
+
function compareTemporalValues(left, right) {
|
|
2169
|
+
const leftTime = dateTime(left);
|
|
2170
|
+
const rightTime = dateTime(right);
|
|
2171
|
+
if (leftTime === null || rightTime === null)
|
|
2172
|
+
return Number.NaN;
|
|
2173
|
+
return leftTime - rightTime;
|
|
2174
|
+
}
|
|
2175
|
+
function dateTime(value) {
|
|
2176
|
+
if (value instanceof Date) {
|
|
2177
|
+
const time = value.getTime();
|
|
2178
|
+
return Number.isNaN(time) ? null : time;
|
|
2179
|
+
}
|
|
2180
|
+
if (typeof value === "string" || typeof value === "number") {
|
|
2181
|
+
const time = new Date(value).getTime();
|
|
2182
|
+
return Number.isNaN(time) ? null : time;
|
|
2183
|
+
}
|
|
2184
|
+
return null;
|
|
2185
|
+
}
|
|
2186
|
+
function compareStrings(left, right) {
|
|
2187
|
+
if (left < right)
|
|
2188
|
+
return -1;
|
|
2189
|
+
if (left > right)
|
|
2190
|
+
return 1;
|
|
2191
|
+
return 0;
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2194
|
+
// src/storage/objects/keys.ts
|
|
2195
|
+
function objectBatchKey(objectTypeId, primaryId) {
|
|
2196
|
+
return JSON.stringify([objectTypeId, primaryId]);
|
|
2197
|
+
}
|
|
2198
|
+
function linkBatchKey(objectTypeId, objectId, linkId) {
|
|
2199
|
+
return JSON.stringify([objectTypeId, objectId, linkId]);
|
|
2200
|
+
}
|
|
2201
|
+
function objectLinkCursor(link) {
|
|
2202
|
+
return [link.sourceTypeId, link.sourceId, link.linkId, link.targetTypeId, link.targetId];
|
|
2203
|
+
}
|
|
2204
|
+
function compareObjectLinkCursors(left, right) {
|
|
2205
|
+
for (let index = 0;index < left.length; index += 1) {
|
|
2206
|
+
if (left[index] < right[index])
|
|
2207
|
+
return -1;
|
|
2208
|
+
if (left[index] > right[index])
|
|
2209
|
+
return 1;
|
|
2210
|
+
}
|
|
2211
|
+
return 0;
|
|
2212
|
+
}
|
|
2213
|
+
function compareObjectLinks(left, right) {
|
|
2214
|
+
return compareObjectLinkCursors(objectLinkCursor(left), objectLinkCursor(right));
|
|
2215
|
+
}
|
|
2216
|
+
|
|
2107
2217
|
// src/storage/objects/in-memory.ts
|
|
2108
2218
|
var IN_MEMORY_OBJECT_QUERY_CAPABILITIES = {
|
|
2109
2219
|
queryObjects: true,
|
|
@@ -2112,6 +2222,7 @@ var IN_MEMORY_OBJECT_QUERY_CAPABILITIES = {
|
|
|
2112
2222
|
facetObjects: true,
|
|
2113
2223
|
nodes: {
|
|
2114
2224
|
start: true,
|
|
2225
|
+
refs: true,
|
|
2115
2226
|
filter: true,
|
|
2116
2227
|
text: true,
|
|
2117
2228
|
vector: true,
|
|
@@ -2165,23 +2276,37 @@ var IN_MEMORY_OBJECT_QUERY_CAPABILITIES = {
|
|
|
2165
2276
|
}
|
|
2166
2277
|
};
|
|
2167
2278
|
function objectRowKey(projectId, objectTypeId) {
|
|
2168
|
-
return
|
|
2279
|
+
return JSON.stringify([projectId, objectTypeId]);
|
|
2280
|
+
}
|
|
2281
|
+
function objectRowProjectPrefix(projectId) {
|
|
2282
|
+
return `[${JSON.stringify(projectId)},`;
|
|
2169
2283
|
}
|
|
2170
|
-
function
|
|
2284
|
+
function compareStrings2(left, right) {
|
|
2171
2285
|
if (left < right)
|
|
2172
2286
|
return -1;
|
|
2173
2287
|
if (left > right)
|
|
2174
2288
|
return 1;
|
|
2175
2289
|
return 0;
|
|
2176
2290
|
}
|
|
2291
|
+
function assertLinkQueryLimit(limit) {
|
|
2292
|
+
if (!Number.isSafeInteger(limit) || limit <= 0) {
|
|
2293
|
+
throw new Error("Object link query limit must be a positive safe integer.");
|
|
2294
|
+
}
|
|
2295
|
+
}
|
|
2177
2296
|
function sourceLinkBucketKey(projectId, sourceTypeId, sourceId) {
|
|
2178
|
-
return
|
|
2297
|
+
return JSON.stringify([projectId, sourceTypeId, sourceId]);
|
|
2179
2298
|
}
|
|
2180
2299
|
function linkRowKey(linkId, targetTypeId, targetId) {
|
|
2181
|
-
return
|
|
2300
|
+
return JSON.stringify([linkId, targetTypeId, targetId]);
|
|
2182
2301
|
}
|
|
2183
2302
|
function fullLinkRowKey(row) {
|
|
2184
|
-
return
|
|
2303
|
+
return JSON.stringify([
|
|
2304
|
+
row.sourceTypeId,
|
|
2305
|
+
row.sourceId,
|
|
2306
|
+
row.linkId,
|
|
2307
|
+
row.targetTypeId,
|
|
2308
|
+
row.targetId
|
|
2309
|
+
]);
|
|
2185
2310
|
}
|
|
2186
2311
|
var PAGE_TOKEN_PREFIX = "offset:";
|
|
2187
2312
|
var materializerAdapters = new WeakMap;
|
|
@@ -2316,6 +2441,8 @@ class InMemoryObjectStorage {
|
|
|
2316
2441
|
switch (query.kind) {
|
|
2317
2442
|
case "start":
|
|
2318
2443
|
return this.evaluateStart(projectId, query.objectTypeId);
|
|
2444
|
+
case "refs":
|
|
2445
|
+
return this.evaluateRefs(projectId, query.refs);
|
|
2319
2446
|
case "filter": {
|
|
2320
2447
|
const input = this.evaluateObjectQuery(projectId, query.input);
|
|
2321
2448
|
const entries = input.entries.filter((entry) => matchesPredicate(entry.row, query.predicate));
|
|
@@ -2405,6 +2532,18 @@ class InMemoryObjectStorage {
|
|
|
2405
2532
|
}));
|
|
2406
2533
|
return completeEvaluation(entries);
|
|
2407
2534
|
}
|
|
2535
|
+
evaluateRefs(projectId, refs) {
|
|
2536
|
+
const seen = new Set;
|
|
2537
|
+
const entries = refs.flatMap((ref) => {
|
|
2538
|
+
const key2 = JSON.stringify([ref.objectTypeId, ref.primaryId]);
|
|
2539
|
+
if (seen.has(key2))
|
|
2540
|
+
return [];
|
|
2541
|
+
seen.add(key2);
|
|
2542
|
+
const row = this.rows.get(objectRowKey(projectId, ref.objectTypeId))?.get(ref.primaryId);
|
|
2543
|
+
return row ? [row] : [];
|
|
2544
|
+
}).sort((left, right) => compareStrings2(left.objectTypeId, right.objectTypeId) || compareStrings2(left.primaryId, right.primaryId)).map((row, order) => ({ row, score: 0, order }));
|
|
2545
|
+
return completeEvaluation(entries);
|
|
2546
|
+
}
|
|
2408
2547
|
evaluateSet(projectId, op, inputs) {
|
|
2409
2548
|
const evaluations = inputs.map((input) => this.evaluateObjectQuery(projectId, input));
|
|
2410
2549
|
const first = evaluations[0];
|
|
@@ -2512,7 +2651,7 @@ class InMemoryObjectStorage {
|
|
|
2512
2651
|
primaryId: item.primaryId
|
|
2513
2652
|
});
|
|
2514
2653
|
if (row) {
|
|
2515
|
-
result.set(
|
|
2654
|
+
result.set(objectBatchKey(item.objectTypeId, item.primaryId), row);
|
|
2516
2655
|
}
|
|
2517
2656
|
}
|
|
2518
2657
|
return result;
|
|
@@ -2527,11 +2666,39 @@ class InMemoryObjectStorage {
|
|
|
2527
2666
|
linkId: item.linkId
|
|
2528
2667
|
});
|
|
2529
2668
|
if (rows.length > 0) {
|
|
2530
|
-
result.set(
|
|
2669
|
+
result.set(linkBatchKey(item.objectTypeId, item.objectId, item.linkId), [...rows]);
|
|
2531
2670
|
}
|
|
2532
2671
|
}
|
|
2533
2672
|
return result;
|
|
2534
2673
|
}
|
|
2674
|
+
async queryLinks(params) {
|
|
2675
|
+
assertLinkQueryLimit(params.limit);
|
|
2676
|
+
if (params.objectRefs.length === 0 || params.endpointObjectTypeIds?.length === 0) {
|
|
2677
|
+
return { links: [], hasMore: false };
|
|
2678
|
+
}
|
|
2679
|
+
const allowedTypes = params.endpointObjectTypeIds ? new Set(params.endpointObjectTypeIds) : undefined;
|
|
2680
|
+
const deduped = new Map;
|
|
2681
|
+
for (const object of params.objectRefs) {
|
|
2682
|
+
const rows2 = await this.listLinks({
|
|
2683
|
+
projectId: params.projectId,
|
|
2684
|
+
objectTypeId: object.objectTypeId,
|
|
2685
|
+
objectId: object.primaryId,
|
|
2686
|
+
direction: params.direction,
|
|
2687
|
+
...params.linkId === undefined ? {} : { linkId: params.linkId }
|
|
2688
|
+
});
|
|
2689
|
+
for (const row of rows2) {
|
|
2690
|
+
if (allowedTypes && (!allowedTypes.has(row.sourceTypeId) || !allowedTypes.has(row.targetTypeId))) {
|
|
2691
|
+
continue;
|
|
2692
|
+
}
|
|
2693
|
+
if (params.after && compareObjectLinkCursors(objectLinkCursor(row), params.after) <= 0) {
|
|
2694
|
+
continue;
|
|
2695
|
+
}
|
|
2696
|
+
deduped.set(fullLinkRowKey(row), row);
|
|
2697
|
+
}
|
|
2698
|
+
}
|
|
2699
|
+
const rows = [...deduped.values()].sort(compareObjectLinks).slice(0, params.limit + 1);
|
|
2700
|
+
return { links: rows.slice(0, params.limit), hasMore: rows.length > params.limit };
|
|
2701
|
+
}
|
|
2535
2702
|
async listIncidentLinksBatch(params) {
|
|
2536
2703
|
const deduped = new Map;
|
|
2537
2704
|
for (const item of params.items) {
|
|
@@ -2550,7 +2717,7 @@ class InMemoryObjectStorage {
|
|
|
2550
2717
|
async listByPrimaryIdPage(params) {
|
|
2551
2718
|
assertReconciliationPageLimit(params.limit);
|
|
2552
2719
|
const bucket = this.rows.get(objectRowKey(params.projectId, params.objectTypeId));
|
|
2553
|
-
const rows = [...bucket?.values() ?? []].filter((row) => !params.afterPrimaryId ||
|
|
2720
|
+
const rows = [...bucket?.values() ?? []].filter((row) => !params.afterPrimaryId || compareStrings2(row.primaryId, params.afterPrimaryId) > 0).sort((left, right) => compareStrings2(left.primaryId, right.primaryId)).slice(0, params.limit + 1);
|
|
2554
2721
|
const hasMore = rows.length > params.limit;
|
|
2555
2722
|
const objects = rows.slice(0, params.limit).map((row) => structuredClone(row));
|
|
2556
2723
|
const last = objects.at(-1);
|
|
@@ -2571,7 +2738,7 @@ class InMemoryObjectStorage {
|
|
|
2571
2738
|
}
|
|
2572
2739
|
} else {
|
|
2573
2740
|
for (const [key2, bucket] of this.rows) {
|
|
2574
|
-
if (key2.startsWith(
|
|
2741
|
+
if (key2.startsWith(objectRowProjectPrefix(params.projectId))) {
|
|
2575
2742
|
allRows.push(...bucket.values());
|
|
2576
2743
|
}
|
|
2577
2744
|
}
|
|
@@ -2837,7 +3004,7 @@ function rowIdentityKey(row) {
|
|
|
2837
3004
|
return rowIdentityKeyParts(row.objectTypeId, row.primaryId);
|
|
2838
3005
|
}
|
|
2839
3006
|
function rowIdentityKeyParts(objectTypeId, primaryId) {
|
|
2840
|
-
return
|
|
3007
|
+
return objectBatchKey(objectTypeId, primaryId);
|
|
2841
3008
|
}
|
|
2842
3009
|
function upsertEntry(entriesByKey, entry) {
|
|
2843
3010
|
const key2 = rowIdentityKey(entry.row);
|
|
@@ -3127,23 +3294,19 @@ class InMemoryTimeseriesStorage {
|
|
|
3127
3294
|
return points.map(clonePoint);
|
|
3128
3295
|
}
|
|
3129
3296
|
async getHistoryBatch(input) {
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
})
|
|
3144
|
-
});
|
|
3145
|
-
}
|
|
3146
|
-
return results;
|
|
3297
|
+
return Promise.all(input.series.map(async (series) => ({
|
|
3298
|
+
...series,
|
|
3299
|
+
points: await this.getHistory({
|
|
3300
|
+
projectId: input.projectId,
|
|
3301
|
+
objectTypeId: series.objectTypeId,
|
|
3302
|
+
objectId: series.objectId,
|
|
3303
|
+
propertyId: series.propertyId,
|
|
3304
|
+
from: input.from,
|
|
3305
|
+
to: input.to,
|
|
3306
|
+
limit: input.limitPerSeries,
|
|
3307
|
+
order: input.order
|
|
3308
|
+
})
|
|
3309
|
+
})));
|
|
3147
3310
|
}
|
|
3148
3311
|
async getLatest(params) {
|
|
3149
3312
|
const series = this.pointsByKey.get(pointKey(params.projectId, params.objectTypeId, params.objectId, params.propertyId));
|
|
@@ -7088,6 +7251,6 @@ function assertAppliedPrefix(migrations, rows) {
|
|
|
7088
7251
|
}
|
|
7089
7252
|
return [...rows].sort((a, b) => a.version - b.version);
|
|
7090
7253
|
}
|
|
7091
|
-
export { actionSubjectsEqual, actionRunParamsEqual, actionRunPhaseRecordsEqual, finishActionRunPhase, canRequeueActionRunAfterEnqueueFailure, isTerminalActionRun, InMemoryActionRunStorage, AGENT_MESSAGE_CONTENT_VERSION, InMemoryAgentStorage, AiCostStorageError, InMemoryAiCostStorage, InMemoryConnectorConnectionStorage, ObjectNotFoundError, ObjectStorageError, StorageTransactionError, isStorageSerializationFailure, FileUploadSessionError, DEFAULT_FILE_UPLOAD_SESSION_TTL_MS, DEFAULT_FILE_UPLOAD_TERMINAL_SESSION_TTL_MS, createUploadExpiresAt, createFileUploadId, InMemoryFileUploadSessions, canRequeuePipelineRunAfterEnqueueFailure, PIPELINE_RUN_FAILURE_CODES, InMemoryPipelineRunStorage, InMemoryProjectionRunStorage, InMemoryRulesStorage, canRequeueSyncRunAfterEnqueueFailure, SYNC_RUN_FAILURE_CODES, InMemorySyncRunStorage, createTransactionStorageProxy, assertTransactionActive, throwNestedStorageTransaction, WEBHOOK_RUN_FAILURE_CODES, canRetryWebhookRun, InMemoryWebhookRunStorage, WorkflowInterventionError, InMemoryWorkflowInterventionStorage, WORKFLOW_RUN_FAILURE_CODES, InMemoryWorkflowRunStorage, InMemoryWorkflowNodeRunStorage, InMemoryWorkflowAgentNodeRunStorage, InMemoryStorage, isMigrationCapableStorage, migrateStorage, checkStorageSchema, step, defineMigrations, runMigrationSet, describeMigrationHistory };
|
|
7254
|
+
export { actionSubjectsEqual, actionRunParamsEqual, actionRunPhaseRecordsEqual, finishActionRunPhase, canRequeueActionRunAfterEnqueueFailure, isTerminalActionRun, InMemoryActionRunStorage, AGENT_MESSAGE_CONTENT_VERSION, InMemoryAgentStorage, AiCostStorageError, InMemoryAiCostStorage, InMemoryConnectorConnectionStorage, ObjectNotFoundError, ObjectStorageError, StorageTransactionError, isStorageSerializationFailure, FileUploadSessionError, DEFAULT_FILE_UPLOAD_SESSION_TTL_MS, DEFAULT_FILE_UPLOAD_TERMINAL_SESSION_TTL_MS, createUploadExpiresAt, createFileUploadId, InMemoryFileUploadSessions, compareQueryScalarValues, queryScalarValuesEqual, objectBatchKey, linkBatchKey, objectLinkCursor, canRequeuePipelineRunAfterEnqueueFailure, PIPELINE_RUN_FAILURE_CODES, InMemoryPipelineRunStorage, InMemoryProjectionRunStorage, InMemoryRulesStorage, canRequeueSyncRunAfterEnqueueFailure, SYNC_RUN_FAILURE_CODES, InMemorySyncRunStorage, createTransactionStorageProxy, assertTransactionActive, throwNestedStorageTransaction, WEBHOOK_RUN_FAILURE_CODES, canRetryWebhookRun, InMemoryWebhookRunStorage, WorkflowInterventionError, InMemoryWorkflowInterventionStorage, WORKFLOW_RUN_FAILURE_CODES, InMemoryWorkflowRunStorage, InMemoryWorkflowNodeRunStorage, InMemoryWorkflowAgentNodeRunStorage, InMemoryStorage, isMigrationCapableStorage, migrateStorage, checkStorageSchema, step, defineMigrations, runMigrationSet, describeMigrationHistory };
|
|
7092
7255
|
|
|
7093
|
-
//# debugId=
|
|
7256
|
+
//# debugId=AD092B967C71B31564756E2164756E21
|