@sixb/core 0.1.19 → 0.1.20
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.js +24 -24
- package/dist/agents/index.js +25 -25
- package/dist/agents/index.js.map +1 -1
- package/dist/auth/cookies.d.ts +2 -4
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/index.d.ts +0 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +8 -14
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts +8 -10
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/session-cache.d.ts +1 -5
- package/dist/auth/session-cache.d.ts.map +1 -1
- package/dist/auth/strategy.js +1 -1
- package/dist/auth/types.d.ts +4 -8
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/validation.d.ts +0 -1
- package/dist/auth/validation.d.ts.map +1 -1
- package/dist/authorization/decision.d.ts +0 -4
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +6 -8
- package/dist/authorization/grant-kinds.d.ts.map +1 -1
- package/dist/authorization/index.d.ts +0 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +3 -7
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/resolve.d.ts +1 -1
- package/dist/authorization/resolve.d.ts.map +1 -1
- package/dist/bootstrap/index.js +26 -26
- package/dist/{chunk-aff7cyea.js → chunk-0rbyz4qy.js} +21 -21
- package/dist/{chunk-aff7cyea.js.map → chunk-0rbyz4qy.js.map} +1 -1
- package/dist/{chunk-rz53yb4v.js → chunk-0yh890a4.js} +1 -1
- package/dist/{chunk-7mbzgd9m.js → chunk-1zq2p6g0.js} +1 -1
- package/dist/{chunk-dnmadg9k.js → chunk-3t2hgbgd.js} +2 -2
- package/dist/{chunk-wwdfe68s.js → chunk-4vyr1j8f.js} +2 -2
- package/dist/{chunk-kyzq4wy9.js → chunk-5j58wjct.js} +15 -15
- package/dist/chunk-5j58wjct.js.map +18 -0
- package/dist/{chunk-ey3pyej1.js → chunk-6c6sn0bh.js} +29 -24
- package/dist/{chunk-ey3pyej1.js.map → chunk-6c6sn0bh.js.map} +3 -3
- package/dist/{chunk-q1vkr2ys.js → chunk-6p49a5cq.js} +2 -2
- package/dist/{chunk-nre82s12.js → chunk-9dmt152s.js} +1 -1
- package/dist/{chunk-7kg3k1m9.js → chunk-9w055r5b.js} +1 -1
- package/dist/{chunk-4tcx876c.js → chunk-bx9q3cwv.js} +15 -15
- package/dist/{chunk-4tcx876c.js.map → chunk-bx9q3cwv.js.map} +1 -1
- package/dist/{chunk-bpgy64fw.js → chunk-d09tj99x.js} +1 -1
- package/dist/{chunk-y7rqfrgg.js → chunk-d0bqz29d.js} +23 -36
- package/dist/chunk-d0bqz29d.js.map +23 -0
- package/dist/{chunk-rhg02hxq.js → chunk-dk8tkk5f.js} +3 -3
- package/dist/{chunk-xt1zt7gv.js → chunk-es1gxsbf.js} +24 -15
- package/dist/chunk-es1gxsbf.js.map +13 -0
- package/dist/{chunk-52bk93x8.js → chunk-fkgc1wt8.js} +1 -1
- package/dist/{chunk-enpsx8k5.js → chunk-gsjm1wms.js} +16 -20
- package/dist/chunk-gsjm1wms.js.map +10 -0
- package/dist/{chunk-2jntasmh.js → chunk-hcbyfxbe.js} +25 -49
- package/dist/chunk-hcbyfxbe.js.map +12 -0
- package/dist/{chunk-zrmy8zvw.js → chunk-hjzdd750.js} +3 -3
- package/dist/chunk-hkc3jct7.js.map +1 -1
- package/dist/{chunk-85yvv5n0.js → chunk-k6q3n2sc.js} +3 -3
- package/dist/{chunk-j2bp5ryw.js → chunk-n33z5bjw.js} +11 -10
- package/dist/{chunk-j2bp5ryw.js.map → chunk-n33z5bjw.js.map} +3 -3
- package/dist/{chunk-80mc0971.js → chunk-ren4kg2j.js} +8 -8
- package/dist/{chunk-1f7wpmyp.js → chunk-rrzt8jdy.js} +2 -2
- package/dist/{chunk-6gmfggss.js → chunk-t7x8dmn0.js} +2 -2
- package/dist/{chunk-wz0xs816.js → chunk-tg2cw67r.js} +1 -1
- package/dist/{chunk-3gnrh4ve.js → chunk-vpq4shxz.js} +46 -106
- package/dist/chunk-vpq4shxz.js.map +39 -0
- package/dist/{chunk-bwjcehza.js → chunk-way52z4h.js} +1 -1
- package/dist/{chunk-tjb1mk5t.js → chunk-x6m907x7.js} +2 -2
- package/dist/{chunk-t6vq7bff.js → chunk-xfs8x8m9.js} +3 -3
- package/dist/{chunk-d2ync1v3.js → chunk-yevzdx4y.js} +3 -3
- package/dist/{chunk-kg5j6fct.js → chunk-z4m0yz8c.js} +1 -1
- package/dist/datasets/write.js +5 -5
- package/dist/deploy/internal.js +4 -3
- package/dist/deploy/internal.js.map +4 -4
- package/dist/deploy/services.d.ts.map +1 -1
- package/dist/deploy/types.d.ts +1 -2
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/execution/agent.js +24 -24
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/primitive.js +24 -24
- package/dist/execution/request.js +23 -23
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -46
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/index.js +5 -5
- package/dist/materializer/index.js +13 -13
- package/dist/models/execution/index.js +10 -10
- package/dist/objects/index.js +24 -24
- package/dist/objects/query/index.js +12 -12
- package/dist/objects/vectors/handle.d.ts.map +1 -1
- package/dist/objects/vectors/profile.d.ts +5 -0
- package/dist/objects/vectors/profile.d.ts.map +1 -1
- package/dist/ontology/index.js +3 -3
- package/dist/pipelines/index.js +15 -15
- package/dist/projections/internal.js +13 -13
- package/dist/runtime/internal.js +13 -13
- package/dist/security/builders.d.ts.map +1 -1
- package/dist/security/every.d.ts +1 -4
- package/dist/security/every.d.ts.map +1 -1
- package/dist/security/grants.d.ts +2 -4
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +1 -2
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/membership-policies.d.ts.map +1 -1
- package/dist/security/public.d.ts +10 -0
- package/dist/security/public.d.ts.map +1 -0
- package/dist/security/public.js +10 -0
- package/dist/security/public.js.map +9 -0
- package/dist/security/registry.d.ts +0 -1
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +13 -18
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +0 -6
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/shares/internal.js +10 -10
- package/dist/storage/agents/types.d.ts +1 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/magic-links.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/oidc-attempts.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/sessions.d.ts +0 -10
- package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/shared.d.ts +1 -2
- package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +1 -17
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/provider.js +6 -6
- package/dist/storage/index.js +21 -21
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/workflow-runs/provider.js +6 -6
- package/dist/syncs/index.js +16 -16
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.js +41 -124
- package/dist/testing/index.js.map +4 -4
- package/dist/webhooks/internal.js +11 -11
- package/dist/workflows/index.js +25 -25
- package/package.json +8 -2
- package/src/auth/cookies.ts +3 -20
- package/src/auth/index.ts +0 -6
- package/src/auth/runtime.ts +59 -76
- package/src/auth/session-cache.ts +2 -9
- package/src/auth/types.ts +4 -8
- package/src/auth/validation.ts +0 -2
- package/src/authorization/decision.ts +8 -23
- package/src/authorization/grant-kinds.ts +20 -27
- package/src/authorization/index.ts +0 -1
- package/src/authorization/resolve.ts +10 -6
- package/src/deploy/services.ts +0 -1
- package/src/deploy/types.ts +1 -2
- package/src/deploy/validation.ts +3 -1
- package/src/execution/authorization.ts +11 -5
- package/src/index.ts +1 -14
- package/src/models/execution/embedding.ts +6 -6
- package/src/objects/vectors/README.md +4 -0
- package/src/objects/vectors/handle.ts +11 -2
- package/src/objects/vectors/indexing-generate.ts +2 -2
- package/src/objects/vectors/profile.ts +5 -0
- package/src/security/builders.ts +7 -2
- package/src/security/every.ts +0 -4
- package/src/security/grants.ts +5 -25
- package/src/security/index.ts +0 -3
- package/src/security/membership-policies.ts +3 -1
- package/src/security/public.ts +10 -0
- package/src/security/registry.ts +0 -8
- package/src/security/types.ts +19 -25
- package/src/security/validation.ts +19 -17
- package/src/storage/agents/types.ts +1 -1
- package/src/storage/auth/in-memory/auth-storage.ts +0 -18
- package/src/storage/auth/in-memory/magic-links.ts +0 -3
- package/src/storage/auth/in-memory/oidc-attempts.ts +0 -3
- package/src/storage/auth/in-memory/sessions.ts +1 -25
- package/src/storage/auth/in-memory/shared.ts +1 -10
- package/src/storage/auth/types.ts +2 -18
- package/src/testing/auth-storage-contract.ts +14 -107
- package/src/testing/execution-storage-contract.ts +0 -2
- package/dist/auth/audience.d.ts +0 -8
- package/dist/auth/audience.d.ts.map +0 -1
- package/dist/authorization/application-access.d.ts +0 -18
- package/dist/authorization/application-access.d.ts.map +0 -1
- package/dist/chunk-2jntasmh.js.map +0 -13
- package/dist/chunk-3gnrh4ve.js.map +0 -40
- package/dist/chunk-enpsx8k5.js.map +0 -10
- package/dist/chunk-kyzq4wy9.js.map +0 -18
- package/dist/chunk-xt1zt7gv.js.map +0 -13
- package/dist/chunk-y7rqfrgg.js.map +0 -24
- package/dist/security/applications.d.ts +0 -15
- package/dist/security/applications.d.ts.map +0 -1
- package/src/auth/audience.ts +0 -28
- package/src/authorization/application-access.ts +0 -34
- package/src/security/applications.ts +0 -11
- /package/dist/{chunk-rz53yb4v.js.map → chunk-0yh890a4.js.map} +0 -0
- /package/dist/{chunk-7mbzgd9m.js.map → chunk-1zq2p6g0.js.map} +0 -0
- /package/dist/{chunk-dnmadg9k.js.map → chunk-3t2hgbgd.js.map} +0 -0
- /package/dist/{chunk-wwdfe68s.js.map → chunk-4vyr1j8f.js.map} +0 -0
- /package/dist/{chunk-q1vkr2ys.js.map → chunk-6p49a5cq.js.map} +0 -0
- /package/dist/{chunk-nre82s12.js.map → chunk-9dmt152s.js.map} +0 -0
- /package/dist/{chunk-7kg3k1m9.js.map → chunk-9w055r5b.js.map} +0 -0
- /package/dist/{chunk-bpgy64fw.js.map → chunk-d09tj99x.js.map} +0 -0
- /package/dist/{chunk-rhg02hxq.js.map → chunk-dk8tkk5f.js.map} +0 -0
- /package/dist/{chunk-52bk93x8.js.map → chunk-fkgc1wt8.js.map} +0 -0
- /package/dist/{chunk-zrmy8zvw.js.map → chunk-hjzdd750.js.map} +0 -0
- /package/dist/{chunk-85yvv5n0.js.map → chunk-k6q3n2sc.js.map} +0 -0
- /package/dist/{chunk-80mc0971.js.map → chunk-ren4kg2j.js.map} +0 -0
- /package/dist/{chunk-1f7wpmyp.js.map → chunk-rrzt8jdy.js.map} +0 -0
- /package/dist/{chunk-6gmfggss.js.map → chunk-t7x8dmn0.js.map} +0 -0
- /package/dist/{chunk-wz0xs816.js.map → chunk-tg2cw67r.js.map} +0 -0
- /package/dist/{chunk-bwjcehza.js.map → chunk-way52z4h.js.map} +0 -0
- /package/dist/{chunk-tjb1mk5t.js.map → chunk-x6m907x7.js.map} +0 -0
- /package/dist/{chunk-t6vq7bff.js.map → chunk-xfs8x8m9.js.map} +0 -0
- /package/dist/{chunk-d2ync1v3.js.map → chunk-yevzdx4y.js.map} +0 -0
- /package/dist/{chunk-kg5j6fct.js.map → chunk-z4m0yz8c.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
ProjectionValidationError2
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-d0bqz29d.js";
|
|
5
5
|
import {
|
|
6
6
|
sha256Canonical2
|
|
7
7
|
} from "./chunk-7n440zgt.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "./chunk-9ybhtmg4.js";
|
|
13
13
|
import {
|
|
14
14
|
createPrimitiveExecutionRecord
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-9dmt152s.js";
|
|
16
16
|
import {
|
|
17
17
|
findPrimitiveRunExecution
|
|
18
18
|
} from "./chunk-ey1nk510.js";
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
// @bun
|
|
2
|
+
import {
|
|
3
|
+
MAX_VECTOR_K,
|
|
4
|
+
vectorConfiguration,
|
|
5
|
+
vectorSources,
|
|
6
|
+
normalizeVector2,
|
|
7
|
+
hasVectorProfile2,
|
|
8
|
+
isVectorProfileQuery2,
|
|
9
|
+
objectBatchKey2,
|
|
10
|
+
linkBatchKey2,
|
|
11
|
+
objectLinkCursor2,
|
|
12
|
+
compareQueryScalarValues,
|
|
13
|
+
queryScalarValuesEqual
|
|
14
|
+
} from "./chunk-n33z5bjw.js";
|
|
2
15
|
import {
|
|
3
16
|
MAX_OBJECT_READ_FACETS2,
|
|
4
17
|
isAllowed2,
|
|
5
18
|
assertAuthorized2
|
|
6
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-d0bqz29d.js";
|
|
7
20
|
import {
|
|
8
21
|
validateSchemaValue2,
|
|
9
22
|
validatePropertyValue2,
|
|
@@ -16,19 +29,6 @@ import {
|
|
|
16
29
|
import {
|
|
17
30
|
validateRerankingResults
|
|
18
31
|
} from "./chunk-29yx306f.js";
|
|
19
|
-
import {
|
|
20
|
-
MAX_VECTOR_K,
|
|
21
|
-
vectorConfiguration,
|
|
22
|
-
vectorSources,
|
|
23
|
-
normalizeVector2,
|
|
24
|
-
hasVectorProfile2,
|
|
25
|
-
isVectorProfileQuery2,
|
|
26
|
-
objectBatchKey2,
|
|
27
|
-
linkBatchKey2,
|
|
28
|
-
objectLinkCursor2,
|
|
29
|
-
compareQueryScalarValues,
|
|
30
|
-
queryScalarValuesEqual
|
|
31
|
-
} from "./chunk-j2bp5ryw.js";
|
|
32
32
|
import {
|
|
33
33
|
ObjectQueryValidationError2,
|
|
34
34
|
ObjectQueryPlanningError2,
|
|
@@ -2683,4 +2683,4 @@ async function hydrateLinkQueryObjects(projectId, selected, links, storage) {
|
|
|
2683
2683
|
}
|
|
2684
2684
|
export { composeObjectQueryAdmissions, validateObjectQuery2, validateObjectQueryWithAdmission, collectObjectQueryValidationIssues2, resolveObjectQueryResultShape2, planObjectQuery2, executeObjectQuery2, countObjects2, existsObjects2, facetObjects2, validateObjectFacetRequests, explainObjectQuery2, preflightObjectQueryLinks, executeObjectQueryLinks2 };
|
|
2685
2685
|
|
|
2686
|
-
//# debugId=
|
|
2686
|
+
//# debugId=B4B57F32F6DDEAE064756E2164756E21
|
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
"import { createHash } from \"node:crypto\"\nimport { isAllowed } from \"../../authorization\"\nimport { stableJsonStringify } from \"../../json\"\nimport {\n type LinkDirection,\n type ObjectBatchKey,\n type ObjectLinkCursor,\n type ObjectLinkRow,\n type ObjectReadStorage,\n type ObjectRow,\n objectBatchKey,\n objectLinkCursor,\n} from \"../../storage\"\nimport { ObjectQueryExecutionError } from \"./errors\"\nimport { executeObjectQuery, type QueryExecutorOptions } from \"./executor\"\nimport type { ObjectQuery } from \"./ir\"\nimport { normalizeObjectQuery } from \"./normalize\"\nimport { type ValidatedObjectQuery, validateObjectQuery } from \"./validate\"\n\nexport interface ExecuteObjectQueryLinksInput {\n projectId: string\n query: ObjectQuery\n direction?: LinkDirection\n linkId?: string\n includeObjects?: boolean\n pageSize?: number\n pageToken?: string\n}\n\nexport interface ExecuteObjectQueryLinksResult {\n objects: readonly ObjectRow[]\n links: readonly ObjectLinkRow[]\n hasMore: boolean\n nextPageToken?: string\n}\n\nexport interface PreflightObjectQueryLinksResult {\n projectId: string\n validated: ValidatedObjectQuery\n direction: LinkDirection\n linkId?: string\n includeObjects: boolean\n pageSize: number\n cursor?: ObjectLinkCursor\n pageScope: string\n}\n\nconst MAX_LINK_QUERY_OBJECTS = 1_000\nconst MAX_LINK_PAGE_SIZE = 1_000\nconst DEFAULT_LINK_PAGE_SIZE = 100\nconst LINK_PAGE_TOKEN_PREFIX = \"link:v1:\"\n\n/**\n * Canonicalize and validate a physical-link query without reading storage.\n *\n * This direct-file-only boundary lets higher-level readers complete ordinary request validation\n * before applying terminal-specific authorization, while the executor consumes the exact same\n * preflight contract.\n *\n * @internal Intentionally absent from query barrels.\n */\nexport function preflightObjectQueryLinks(\n input: ExecuteObjectQueryLinksInput,\n options: Pick<QueryExecutorOptions, \"ontology\" | \"maxLimit\" | \"maxPageSize\" | \"maxRefs\">\n): PreflightObjectQueryLinksResult {\n // Capture caller-owned scalar fields once so validation, token scoping, and execution agree on\n // one request even when this internal API is reached without an AuthorizedObjectReader snapshot.\n const projectId = input.projectId\n const query = input.query\n const requestedDirection = input.direction\n const linkId = input.linkId\n const requestedIncludeObjects = input.includeObjects\n const requestedPageSize = input.pageSize\n const pageToken = input.pageToken\n\n const direction = requestedDirection ?? \"both\"\n if (direction !== \"outgoing\" && direction !== \"incoming\" && direction !== \"both\") {\n throw new ObjectQueryExecutionError(\n \"invalid_link_direction\",\n \"direction must be 'outgoing', 'incoming', or 'both'\",\n \"$.direction\"\n )\n }\n if (linkId !== undefined && typeof linkId !== \"string\") {\n throw new ObjectQueryExecutionError(\"invalid_link_id\", \"linkId must be a string\", \"$.linkId\")\n }\n if (linkId !== undefined && linkId.length === 0) {\n throw new ObjectQueryExecutionError(\"invalid_link_id\", \"linkId must not be empty\", \"$.linkId\")\n }\n if (requestedIncludeObjects !== undefined && typeof requestedIncludeObjects !== \"boolean\") {\n throw new ObjectQueryExecutionError(\n \"invalid_link_include_objects\",\n \"includeObjects must be a boolean\",\n \"$.includeObjects\"\n )\n }\n\n const pageSize = requestedPageSize ?? DEFAULT_LINK_PAGE_SIZE\n if (!Number.isInteger(pageSize) || pageSize <= 0 || pageSize > MAX_LINK_PAGE_SIZE) {\n throw new ObjectQueryExecutionError(\n \"invalid_link_page_size\",\n `pageSize must be an integer between 1 and ${MAX_LINK_PAGE_SIZE}`,\n \"$.pageSize\"\n )\n }\n\n const validated = validateObjectQuery(normalizeObjectQuery(query), {\n ontology: options.ontology,\n maxLimit: options.maxLimit,\n maxPageSize: options.maxPageSize,\n maxRefs: options.maxRefs,\n normalize: false,\n })\n assertLinkSelectorShape(validated.query)\n const pageScope = linkPageScope(projectId, validated.query, direction, linkId)\n const cursor = decodeLinkPageToken(pageToken, pageScope)\n\n return {\n projectId,\n validated,\n direction,\n ...(linkId === undefined ? {} : { linkId }),\n includeObjects: requestedIncludeObjects ?? false,\n pageSize,\n ...(cursor === undefined ? {} : { cursor }),\n pageScope,\n }\n}\n\n/**\n * Select a bounded object set with the query IR, then return physical links\n * incident to that set. This is a separate terminal because edge rows and edge\n * pagination are a different response contract from object-set queries.\n */\nexport async function executeObjectQueryLinks(\n input: ExecuteObjectQueryLinksInput,\n options: QueryExecutorOptions\n): Promise<ExecuteObjectQueryLinksResult> {\n const preflight = preflightObjectQueryLinks(input, options)\n const selectorQuery = preflight.validated.query\n\n // A root page already has an explicit result bound and must execute directly: nesting it under a\n // probe limit would expose the provider's internal pageSize+1 row. All other selector shapes are\n // capped here before the provider receives the selected identities.\n const boundedSelector =\n selectorQuery.kind === \"page\"\n ? selectorQuery\n : { kind: \"limit\" as const, limit: MAX_LINK_QUERY_OBJECTS + 1, input: selectorQuery }\n const selection = await executeObjectQuery(\n {\n projectId: preflight.projectId,\n query: boundedSelector,\n includeTotal: false,\n },\n {\n ...options,\n maxLimit: Math.max(options.maxLimit ?? 1_000, MAX_LINK_QUERY_OBJECTS + 1),\n }\n )\n if (selection.objects.length > MAX_LINK_QUERY_OBJECTS) {\n throw new ObjectQueryExecutionError(\n \"link_query_object_limit_exceeded\",\n `Link query selected more than ${MAX_LINK_QUERY_OBJECTS} objects; add a limit or page node`,\n \"$.query\"\n )\n }\n\n const selected = selection.objects\n if (selected.length === 0) {\n return { objects: [], links: [], hasMore: false }\n }\n\n const endpointObjectTypeIds = visibleEndpointTypeIds(options)\n const page = await options.storage.queryLinks({\n projectId: preflight.projectId,\n objectRefs: selected.map((row) => ({\n objectTypeId: row.objectTypeId,\n primaryId: row.primaryId,\n })),\n direction: preflight.direction,\n ...(preflight.linkId === undefined ? {} : { linkId: preflight.linkId }),\n ...(endpointObjectTypeIds === undefined ? {} : { endpointObjectTypeIds }),\n ...(preflight.cursor === undefined ? {} : { after: preflight.cursor }),\n limit: preflight.pageSize,\n })\n const lastLink = page.links.at(-1)\n let nextPageToken: string | undefined\n if (page.hasMore) {\n if (!lastLink) {\n throw new Error(\"[Sixb] Object storage returned hasMore for an empty link page.\")\n }\n nextPageToken = encodeLinkPageToken(objectLinkCursor(lastLink), preflight.pageScope)\n }\n const objects = preflight.includeObjects\n ? await hydrateLinkQueryObjects(preflight.projectId, selected, page.links, options.storage)\n : []\n\n return {\n objects,\n links: page.links,\n hasMore: page.hasMore,\n ...(nextPageToken ? { nextPageToken } : {}),\n }\n}\n\ninterface EncodedLinkPageToken {\n version: 1\n scope: string\n cursor: ObjectLinkCursor\n}\n\nfunction assertLinkSelectorShape(query: ObjectQuery, path = \"$.query\", root = true): void {\n switch (query.kind) {\n case \"project\":\n case \"expand\":\n throw new ObjectQueryExecutionError(\n \"link_selector_output_shape_not_supported\",\n `Link selectors do not support '${query.kind}' nodes; remove output shaping from the selector`,\n path\n )\n case \"page\":\n if (!root) {\n throw new ObjectQueryExecutionError(\n \"link_selector_page_must_be_root\",\n \"A page node in a link selector must be the outermost node\",\n path\n )\n }\n assertLinkSelectorShape(query.input, `${path}.input`, false)\n return\n case \"start\":\n case \"refs\":\n return\n case \"set\": {\n for (const [index, input] of query.inputs.entries()) {\n assertLinkSelectorShape(input, `${path}.inputs[${index}]`, false)\n }\n return\n }\n case \"filter\":\n case \"text\":\n case \"vector\":\n case \"traverse\":\n case \"sort\":\n case \"limit\":\n assertLinkSelectorShape(query.input, `${path}.input`, false)\n return\n }\n}\n\nfunction visibleEndpointTypeIds(options: QueryExecutorOptions): readonly string[] | undefined {\n if (!options.authorization) return undefined\n return options.ontology\n .listObjectTypes()\n .filter((objectType) =>\n isAllowed(options.authorization, { kind: \"object.view\", objectTypeId: objectType.id })\n )\n .map((objectType) => objectType.id)\n}\n\nfunction objectIdentity(objectTypeId: string, primaryId: string): ObjectBatchKey {\n return objectBatchKey(objectTypeId, primaryId)\n}\n\nfunction linkPageScope(\n projectId: string,\n query: ObjectQuery,\n direction: LinkDirection,\n linkId: string | undefined\n): string {\n return createHash(\"sha256\")\n .update(\n stableJsonStringify({\n projectId,\n query,\n direction,\n linkId: linkId ?? null,\n })\n )\n .digest(\"base64url\")\n}\n\nfunction encodeLinkPageToken(cursor: ObjectLinkCursor, scope: string): string {\n const payload: EncodedLinkPageToken = { version: 1, scope, cursor }\n return `${LINK_PAGE_TOKEN_PREFIX}${Buffer.from(JSON.stringify(payload)).toString(\"base64url\")}`\n}\n\nfunction decodeLinkPageToken(\n token: string | undefined,\n expectedScope: string\n): ObjectLinkCursor | undefined {\n if (token === undefined) return undefined\n try {\n if (!token.startsWith(LINK_PAGE_TOKEN_PREFIX)) throw new Error(\"invalid prefix\")\n const value = JSON.parse(\n Buffer.from(token.slice(LINK_PAGE_TOKEN_PREFIX.length), \"base64url\").toString(\"utf8\")\n ) as unknown\n if (\n !isPlainObject(value) ||\n value.version !== 1 ||\n typeof value.scope !== \"string\" ||\n !isObjectLinkCursor(value.cursor)\n ) {\n throw new Error(\"invalid cursor\")\n }\n if (value.scope !== expectedScope) {\n throw new Error(\"cursor scope mismatch\")\n }\n return value.cursor\n } catch {\n throw new ObjectQueryExecutionError(\n \"invalid_link_page_token\",\n \"pageToken is not a valid object-links cursor\",\n \"$.pageToken\"\n )\n }\n}\n\nfunction isObjectLinkCursor(value: unknown): value is ObjectLinkCursor {\n return (\n Array.isArray(value) && value.length === 5 && value.every((part) => typeof part === \"string\")\n )\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nasync function hydrateLinkQueryObjects(\n projectId: string,\n selected: readonly ObjectRow[],\n links: readonly ObjectLinkRow[],\n storage: ObjectReadStorage\n): Promise<ObjectRow[]> {\n const byIdentity = new Map(\n selected.map((row) => [objectIdentity(row.objectTypeId, row.primaryId), row])\n )\n const orderedIdentities = selected.map((row) => objectIdentity(row.objectTypeId, row.primaryId))\n const seenIdentities = new Set(orderedIdentities)\n const missingRefs: { objectTypeId: string; primaryId: string }[] = []\n\n for (const link of links) {\n for (const ref of [\n { objectTypeId: link.sourceTypeId, primaryId: link.sourceId },\n { objectTypeId: link.targetTypeId, primaryId: link.targetId },\n ]) {\n const identity = objectIdentity(ref.objectTypeId, ref.primaryId)\n if (seenIdentities.has(identity)) continue\n seenIdentities.add(identity)\n orderedIdentities.push(identity)\n missingRefs.push(ref)\n }\n }\n\n if (missingRefs.length > 0) {\n const hydrated = await storage.getByPrimaryIdBatch({ projectId, items: missingRefs })\n for (const ref of missingRefs) {\n const row = hydrated.get(objectBatchKey(ref.objectTypeId, ref.primaryId))\n if (row) byIdentity.set(objectIdentity(ref.objectTypeId, ref.primaryId), row)\n }\n }\n\n return orderedIdentities.flatMap((identity) => {\n const row = byIdentity.get(identity)\n return row ? [row] : []\n })\n}\n"
|
|
15
15
|
],
|
|
16
16
|
"mappings": "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",
|
|
17
|
-
"debugId": "
|
|
17
|
+
"debugId": "B4B57F32F6DDEAE064756E2164756E21",
|
|
18
18
|
"names": []
|
|
19
19
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
GRANT_KINDS,
|
|
4
|
+
SINGLETON_GRANT_KIND_KEYS,
|
|
4
5
|
TARGETED_GRANT_KIND_KEYS,
|
|
6
|
+
isSingletonGrantKind,
|
|
5
7
|
grantKindOf,
|
|
6
8
|
emptyGrantSets
|
|
7
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-gsjm1wms.js";
|
|
8
10
|
import {
|
|
9
11
|
createSixbError2
|
|
10
12
|
} from "./chunk-8mx7qw3y.js";
|
|
@@ -603,10 +605,11 @@ function snapshotAuthorizationContext(context) {
|
|
|
603
605
|
for (const kind of TARGETED_GRANT_KIND_KEYS) {
|
|
604
606
|
grants[kind] = new ImmutableGrantSet(context.grants[kind]);
|
|
605
607
|
}
|
|
606
|
-
const
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
}
|
|
608
|
+
const singletons = {};
|
|
609
|
+
for (const kind of SINGLETON_GRANT_KIND_KEYS) {
|
|
610
|
+
singletons[kind] = context.grants[kind];
|
|
611
|
+
}
|
|
612
|
+
const frozenGrants = Object.freeze({ ...grants, ...singletons });
|
|
610
613
|
return Object.freeze({
|
|
611
614
|
principal,
|
|
612
615
|
...context.sessionId === undefined ? {} : { sessionId: context.sessionId },
|
|
@@ -785,8 +788,6 @@ class AuthorizationError2 extends Error {
|
|
|
785
788
|
// src/authorization/decision.ts
|
|
786
789
|
function atomsFor(request) {
|
|
787
790
|
switch (request.kind) {
|
|
788
|
-
case "application.access":
|
|
789
|
-
return [{ kind: "access:application", id: request.audience }];
|
|
790
791
|
case "object.view":
|
|
791
792
|
return [{ kind: "view:object", id: request.objectTypeId }];
|
|
792
793
|
case "dataset.view":
|
|
@@ -808,11 +809,11 @@ function atomsFor(request) {
|
|
|
808
809
|
case "agent.run":
|
|
809
810
|
return [{ kind: "run:agent" }];
|
|
810
811
|
case "logs.observe":
|
|
811
|
-
return [{ kind: "observe:logs"
|
|
812
|
+
return [{ kind: "observe:logs" }];
|
|
812
813
|
case "aiUsage.observe":
|
|
813
|
-
return [{ kind: "observe:aiUsage"
|
|
814
|
+
return [{ kind: "observe:aiUsage" }];
|
|
814
815
|
case "aiUsage.manage":
|
|
815
|
-
return [{ kind: "manage:aiUsage"
|
|
816
|
+
return [{ kind: "manage:aiUsage" }];
|
|
816
817
|
case "connector.manage":
|
|
817
818
|
return [{ kind: "manage:connector", id: request.connectorId }];
|
|
818
819
|
case "object.query":
|
|
@@ -820,17 +821,10 @@ function atomsFor(request) {
|
|
|
820
821
|
}
|
|
821
822
|
}
|
|
822
823
|
function atomKey(atom) {
|
|
823
|
-
|
|
824
|
-
return atom.kind;
|
|
825
|
-
if (atom.kind === "observe:logs" || atom.kind === "observe:aiUsage" || atom.kind === "manage:aiUsage") {
|
|
826
|
-
return atom.kind;
|
|
827
|
-
}
|
|
828
|
-
return `${atom.kind}:${atom.id}`;
|
|
824
|
+
return "id" in atom ? `${atom.kind}:${atom.id}` : atom.kind;
|
|
829
825
|
}
|
|
830
826
|
function holds(grants, atom) {
|
|
831
|
-
|
|
832
|
-
return grants[atom.kind];
|
|
833
|
-
return grants[atom.kind].has(atom.id);
|
|
827
|
+
return "id" in atom ? grants[atom.kind].has(atom.id) : grants[atom.kind];
|
|
834
828
|
}
|
|
835
829
|
function evaluate2(authorization, request) {
|
|
836
830
|
const atoms = atomsFor(request);
|
|
@@ -899,8 +893,6 @@ function assertProviderAccess2(runtime, execution, operation) {
|
|
|
899
893
|
function deniedMessage(authorization, request) {
|
|
900
894
|
const principalId = authorization?.principal.id ?? "unknown";
|
|
901
895
|
switch (request.kind) {
|
|
902
|
-
case "application.access":
|
|
903
|
-
return `[Sixb] Principal '${principalId}' is not allowed to access application '${request.audience}'.`;
|
|
904
896
|
case "object.view":
|
|
905
897
|
return `[Sixb] Principal '${principalId}' is not allowed to view object type '${request.objectTypeId}'.`;
|
|
906
898
|
case "dataset.view":
|
|
@@ -935,14 +927,6 @@ function deniedMessage(authorization, request) {
|
|
|
935
927
|
}
|
|
936
928
|
}
|
|
937
929
|
}
|
|
938
|
-
|
|
939
|
-
// src/authorization/application-access.ts
|
|
940
|
-
function isApplicationAccessControlled2(roles, audience) {
|
|
941
|
-
return roles.some((role) => role.grants["access:application"].has(audience));
|
|
942
|
-
}
|
|
943
|
-
function canAccessApplication2(authorization, roles, audience) {
|
|
944
|
-
return !isApplicationAccessControlled2(roles, audience) || isAllowed2(authorization, { kind: "application.access", audience });
|
|
945
|
-
}
|
|
946
930
|
// src/authorization/event-visibility.ts
|
|
947
931
|
function canViewEvent2(authorization, event) {
|
|
948
932
|
if (!authorization) {
|
|
@@ -995,11 +979,13 @@ function canViewEvent2(authorization, event) {
|
|
|
995
979
|
function resolveRoleGrants2(role, universe) {
|
|
996
980
|
const grants = emptyGrantSets();
|
|
997
981
|
for (const grant of role.grants) {
|
|
998
|
-
|
|
999
|
-
|
|
982
|
+
const kind = grantKindOf(grant);
|
|
983
|
+
if (isSingletonGrantKind(kind)) {
|
|
984
|
+
grants[kind] = true;
|
|
1000
985
|
continue;
|
|
1001
986
|
}
|
|
1002
|
-
|
|
987
|
+
if (!("selection" in grant))
|
|
988
|
+
continue;
|
|
1003
989
|
const spec = GRANT_KINDS[kind];
|
|
1004
990
|
expandSelection(grant.selection, universe[spec.universeKey], grants[kind], spec.expandsSubtypes ? universe.getSubTypes : undefined);
|
|
1005
991
|
}
|
|
@@ -1034,8 +1020,9 @@ function resolveAuthorizationContext2(input) {
|
|
|
1034
1020
|
continue;
|
|
1035
1021
|
}
|
|
1036
1022
|
roleIds.push(role.id);
|
|
1037
|
-
|
|
1038
|
-
grants[
|
|
1023
|
+
for (const kind of SINGLETON_GRANT_KIND_KEYS) {
|
|
1024
|
+
if (role.grants[kind])
|
|
1025
|
+
grants[kind] = true;
|
|
1039
1026
|
}
|
|
1040
1027
|
for (const kind of TARGETED_GRANT_KIND_KEYS) {
|
|
1041
1028
|
for (const id of role.grants[kind]) {
|
|
@@ -1783,6 +1770,6 @@ function canViewProjection2(authorization, projection) {
|
|
|
1783
1770
|
function emptyGrantIndex2() {
|
|
1784
1771
|
return emptyGrantSets();
|
|
1785
1772
|
}
|
|
1786
|
-
export { agentServiceAccountId2, MAX_OBJECT_READ_FACETS2, ObjectReadLimitExceededError2, snapshotObjectReadExecutionLimits2, assertObjectReadFacetCount2, assertObjectReadOutputWithinLimit2, createPrincipalRuntimeAuthorization, createAgentRuntimeAuthorization, createDisabledRuntimeAuthorization, createDelegatedRuntimeAuthorization, createTrustedPrimitiveRuntimeAuthorization, createKernelRuntimeAuthorization, resolveRuntimeAuthorizationForProject, getAuthorizationRef, captureExecutionScope, resolveExecutionScopeAuthorization, AuthorizationError2, evaluate2, isAllowed2, assertAuthorized2, isRuntimeAllowed2, assertRuntimeAuthorizationBound2, assertCanEdit2, assertCanAppendTelemetry2, assertCanManageConnector2, assertPrivileged2, assertProviderAccess2,
|
|
1773
|
+
export { agentServiceAccountId2, MAX_OBJECT_READ_FACETS2, ObjectReadLimitExceededError2, snapshotObjectReadExecutionLimits2, assertObjectReadFacetCount2, assertObjectReadOutputWithinLimit2, createPrincipalRuntimeAuthorization, createAgentRuntimeAuthorization, createDisabledRuntimeAuthorization, createDelegatedRuntimeAuthorization, createTrustedPrimitiveRuntimeAuthorization, createKernelRuntimeAuthorization, resolveRuntimeAuthorizationForProject, getAuthorizationRef, captureExecutionScope, resolveExecutionScopeAuthorization, AuthorizationError2, evaluate2, isAllowed2, assertAuthorized2, isRuntimeAllowed2, assertRuntimeAuthorizationBound2, assertCanEdit2, assertCanAppendTelemetry2, assertCanManageConnector2, assertPrivileged2, assertProviderAccess2, canViewEvent2, resolveRoleGrants2, resolveAuthorizationContext2, ProjectionValidationError2, computeProjectionOwnership2, validateProjectionOwnership2, validateTelemetryProjectionFieldMapping2, validateProjectionsAtStartup, defineProjection2, fromForeignKey2, isObjectProjectionDefinition2, isLinkProjectionDefinition2, isTelemetryProjectionDefinition2, isProjectionDefinition2, projectionTargetOf2, canViewActionRun2, canViewWorkflowRun2, canViewWorkflowIntervention2, canViewPipelineRun2, canViewProjectionRun2, canViewProjection2, emptyGrantIndex2 };
|
|
1787
1774
|
|
|
1788
|
-
//# debugId=
|
|
1775
|
+
//# debugId=7FB5B723E597B3F364756E2164756E21
|