@party-stack/foundry-ontology 0.18.0 → 0.19.0
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 +19 -0
- package/lib/adapter/convertLoadSubsetOptions.d.ts +2 -0
- package/lib/adapter/convertLoadSubsetOptions.d.ts.map +1 -1
- package/lib/adapter/convertLoadSubsetOptions.js +158 -191
- package/lib/adapter/convertLoadSubsetOptions.js.map +1 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.d.ts +17 -15
- package/lib/adapter/createFoundryOntologyBackendAdapter.d.ts.map +1 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.js +288 -400
- package/lib/adapter/createFoundryOntologyBackendAdapter.js.map +1 -1
- package/lib/adapter/foundryActionValidation.d.ts +17 -15
- package/lib/adapter/foundryActionValidation.d.ts.map +1 -1
- package/lib/adapter/foundryActionValidation.js +206 -305
- package/lib/adapter/foundryActionValidation.js.map +1 -1
- package/lib/adapter/foundryCodec.d.ts +10 -8
- package/lib/adapter/foundryCodec.d.ts.map +1 -1
- package/lib/adapter/foundryCodec.js +180 -287
- package/lib/adapter/foundryCodec.js.map +1 -1
- package/lib/adapter/foundryMediaId.d.ts +6 -4
- package/lib/adapter/foundryMediaId.d.ts.map +1 -1
- package/lib/adapter/foundryMediaId.js +31 -32
- package/lib/adapter/foundryMediaId.js.map +1 -1
- package/lib/adapter/index.d.ts +4 -4
- package/lib/adapter/index.js +4 -4
- package/lib/adapter/objectCollectionOptions.d.ts +18 -17
- package/lib/adapter/objectCollectionOptions.d.ts.map +1 -1
- package/lib/adapter/objectCollectionOptions.js +451 -538
- package/lib/adapter/objectCollectionOptions.js.map +1 -1
- package/lib/config/applyAttachmentConstraintOverrides.d.ts +6 -4
- package/lib/config/applyAttachmentConstraintOverrides.d.ts.map +1 -1
- package/lib/config/applyAttachmentConstraintOverrides.js +45 -49
- package/lib/config/applyAttachmentConstraintOverrides.js.map +1 -1
- package/lib/config/index.d.ts +17 -15
- package/lib/config/index.d.ts.map +1 -1
- package/lib/config/index.js +56 -81
- package/lib/config/index.js.map +1 -1
- package/lib/connection.d.ts +28 -26
- package/lib/connection.d.ts.map +1 -1
- package/lib/connection.js +183 -215
- package/lib/connection.js.map +1 -1
- package/lib/index.d.ts +9 -5
- package/lib/index.js +9 -5
- package/lib/installation/createFoundryBackendInstallation.d.ts +21 -20
- package/lib/installation/createFoundryBackendInstallation.d.ts.map +1 -1
- package/lib/installation/createFoundryBackendInstallation.js +52 -62
- package/lib/installation/createFoundryBackendInstallation.js.map +1 -1
- package/lib/installation/index.d.ts +2 -2
- package/lib/installation/index.js +1 -2
- package/lib/meta/actionTypeCollectionOptions.d.ts +8 -6
- package/lib/meta/actionTypeCollectionOptions.d.ts.map +1 -1
- package/lib/meta/actionTypeCollectionOptions.js +49 -49
- package/lib/meta/actionTypeCollectionOptions.js.map +1 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.d.ts +3 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.d.ts.map +1 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.js +69 -75
- package/lib/meta/convertActionTypeLoadSubsetOptions.js.map +1 -1
- package/lib/meta/convertMetaActionType.d.ts +7 -5
- package/lib/meta/convertMetaActionType.d.ts.map +1 -1
- package/lib/meta/convertMetaActionType.js +458 -581
- package/lib/meta/convertMetaActionType.js.map +1 -1
- package/lib/meta/convertMetaLinkType.d.ts +4 -2
- package/lib/meta/convertMetaLinkType.d.ts.map +1 -1
- package/lib/meta/convertMetaLinkType.js +37 -43
- package/lib/meta/convertMetaLinkType.js.map +1 -1
- package/lib/meta/convertMetaObjectType.d.ts +4 -2
- package/lib/meta/convertMetaObjectType.d.ts.map +1 -1
- package/lib/meta/convertMetaObjectType.js +34 -35
- package/lib/meta/convertMetaObjectType.js.map +1 -1
- package/lib/meta/convertMetaQueryFunctionType.d.ts +4 -2
- package/lib/meta/convertMetaQueryFunctionType.d.ts.map +1 -1
- package/lib/meta/convertMetaQueryFunctionType.js +113 -94
- package/lib/meta/convertMetaQueryFunctionType.js.map +1 -1
- package/lib/meta/convertMetaTypeDef.d.ts +4 -2
- package/lib/meta/convertMetaTypeDef.d.ts.map +1 -1
- package/lib/meta/convertMetaTypeDef.js +178 -176
- package/lib/meta/convertMetaTypeDef.js.map +1 -1
- package/lib/meta/convertMetaValueType.d.ts +4 -2
- package/lib/meta/convertMetaValueType.d.ts.map +1 -1
- package/lib/meta/convertMetaValueType.js +11 -7
- package/lib/meta/convertMetaValueType.js.map +1 -1
- package/lib/meta/convertOmsActionParameterMetadata.d.ts +4 -2
- package/lib/meta/convertOmsActionParameterMetadata.d.ts.map +1 -1
- package/lib/meta/convertOmsActionParameterMetadata.js +107 -163
- package/lib/meta/convertOmsActionParameterMetadata.js.map +1 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.d.ts +7 -5
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.d.ts.map +1 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.js +39 -41
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.js.map +1 -1
- package/lib/meta/entityCollectionOptions.d.ts +12 -10
- package/lib/meta/entityCollectionOptions.d.ts.map +1 -1
- package/lib/meta/entityCollectionOptions.js +59 -62
- package/lib/meta/entityCollectionOptions.js.map +1 -1
- package/lib/meta/foundryAttachmentMetadata.d.ts +2 -0
- package/lib/meta/foundryAttachmentMetadata.d.ts.map +1 -1
- package/lib/meta/foundryAttachmentMetadata.js +13 -14
- package/lib/meta/foundryAttachmentMetadata.js.map +1 -1
- package/lib/meta/index.d.ts +5 -5
- package/lib/meta/index.js +5 -5
- package/lib/meta/loadActionTypeOmsMetadata.d.ts +5 -3
- package/lib/meta/loadActionTypeOmsMetadata.d.ts.map +1 -1
- package/lib/meta/loadActionTypeOmsMetadata.js +102 -139
- package/lib/meta/loadActionTypeOmsMetadata.js.map +1 -1
- package/lib/meta/queryFunctionTypeCollectionOptions.d.ts +7 -5
- package/lib/meta/queryFunctionTypeCollectionOptions.d.ts.map +1 -1
- package/lib/meta/queryFunctionTypeCollectionOptions.js +47 -49
- package/lib/meta/queryFunctionTypeCollectionOptions.js.map +1 -1
- package/lib/stagedWrites.d.ts +26 -24
- package/lib/stagedWrites.d.ts.map +1 -1
- package/lib/stagedWrites.js +55 -66
- package/lib/stagedWrites.js.map +1 -1
- package/lib/users/createFoundryAdminOntologyRoute.d.ts +47 -17366
- package/lib/users/createFoundryAdminOntologyRoute.d.ts.map +1 -1
- package/lib/users/createFoundryAdminOntologyRoute.js +29 -37
- package/lib/users/createFoundryAdminOntologyRoute.js.map +1 -1
- package/lib/users/createFoundryUsersIntegration.d.ts +6 -4
- package/lib/users/createFoundryUsersIntegration.d.ts.map +1 -1
- package/lib/users/createFoundryUsersIntegration.js +28 -30
- package/lib/users/createFoundryUsersIntegration.js.map +1 -1
- package/lib/users/foundryUser.d.ts +4 -2
- package/lib/users/foundryUser.d.ts.map +1 -1
- package/lib/users/foundryUser.js +69 -74
- package/lib/users/foundryUser.js.map +1 -1
- package/lib/users/index.d.ts +5 -5
- package/lib/users/index.js +5 -5
- package/lib/users/userCollectionOptions.d.ts +13 -11
- package/lib/users/userCollectionOptions.d.ts.map +1 -1
- package/lib/users/userCollectionOptions.js +82 -100
- package/lib/users/userCollectionOptions.js.map +1 -1
- package/lib/utils/AsyncIterable.d.ts +2 -0
- package/lib/utils/AsyncIterable.d.ts.map +1 -1
- package/lib/utils/AsyncIterable.js +26 -34
- package/lib/utils/AsyncIterable.js.map +1 -1
- package/lib/utils/actionTypeName.d.ts +2 -0
- package/lib/utils/actionTypeName.d.ts.map +1 -1
- package/lib/utils/actionTypeName.js +9 -7
- package/lib/utils/actionTypeName.js.map +1 -1
- package/lib/utils/chunk.d.ts +2 -0
- package/lib/utils/chunk.d.ts.map +1 -1
- package/lib/utils/chunk.js +8 -6
- package/lib/utils/chunk.js.map +1 -1
- package/package.json +21 -27
- package/lib/adapter/convertLoadSubsetOptions.test.d.ts +0 -2
- package/lib/adapter/convertLoadSubsetOptions.test.d.ts.map +0 -1
- package/lib/adapter/convertLoadSubsetOptions.test.js +0 -213
- package/lib/adapter/convertLoadSubsetOptions.test.js.map +0 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.d.ts +0 -2
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.d.ts.map +0 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.js +0 -628
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.js.map +0 -1
- package/lib/adapter/foundryActionValidation.test.d.ts +0 -2
- package/lib/adapter/foundryActionValidation.test.d.ts.map +0 -1
- package/lib/adapter/foundryActionValidation.test.js +0 -243
- package/lib/adapter/foundryActionValidation.test.js.map +0 -1
- package/lib/adapter/foundryCodec.test.d.ts +0 -2
- package/lib/adapter/foundryCodec.test.d.ts.map +0 -1
- package/lib/adapter/foundryCodec.test.js +0 -137
- package/lib/adapter/foundryCodec.test.js.map +0 -1
- package/lib/adapter/foundryMediaId.test.d.ts +0 -2
- package/lib/adapter/foundryMediaId.test.d.ts.map +0 -1
- package/lib/adapter/foundryMediaId.test.js +0 -23
- package/lib/adapter/foundryMediaId.test.js.map +0 -1
- package/lib/adapter/index.d.ts.map +0 -1
- package/lib/adapter/index.js.map +0 -1
- package/lib/adapter/objectCollectionOptions.test.d.ts +0 -2
- package/lib/adapter/objectCollectionOptions.test.d.ts.map +0 -1
- package/lib/adapter/objectCollectionOptions.test.js +0 -1290
- package/lib/adapter/objectCollectionOptions.test.js.map +0 -1
- package/lib/config/connectionPull.test.d.ts +0 -2
- package/lib/config/connectionPull.test.d.ts.map +0 -1
- package/lib/config/connectionPull.test.js +0 -151
- package/lib/config/connectionPull.test.js.map +0 -1
- package/lib/config/index.test.d.ts +0 -2
- package/lib/config/index.test.d.ts.map +0 -1
- package/lib/config/index.test.js +0 -182
- package/lib/config/index.test.js.map +0 -1
- package/lib/connection.test.d.ts +0 -2
- package/lib/connection.test.d.ts.map +0 -1
- package/lib/connection.test.js +0 -162
- package/lib/connection.test.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/installation/createFoundryBackendInstallation.test.d.ts +0 -2
- package/lib/installation/createFoundryBackendInstallation.test.d.ts.map +0 -1
- package/lib/installation/createFoundryBackendInstallation.test.js +0 -83
- package/lib/installation/createFoundryBackendInstallation.test.js.map +0 -1
- package/lib/installation/index.d.ts.map +0 -1
- package/lib/installation/index.js.map +0 -1
- package/lib/meta/actionTypeCollectionOptions.test.d.ts +0 -2
- package/lib/meta/actionTypeCollectionOptions.test.d.ts.map +0 -1
- package/lib/meta/actionTypeCollectionOptions.test.js +0 -24
- package/lib/meta/actionTypeCollectionOptions.test.js.map +0 -1
- package/lib/meta/actionTypeIdQuery.test.d.ts +0 -2
- package/lib/meta/actionTypeIdQuery.test.d.ts.map +0 -1
- package/lib/meta/actionTypeIdQuery.test.js +0 -131
- package/lib/meta/actionTypeIdQuery.test.js.map +0 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.d.ts +0 -2
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.d.ts.map +0 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.js +0 -138
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.js.map +0 -1
- package/lib/meta/convertMetaActionType.test.d.ts +0 -2
- package/lib/meta/convertMetaActionType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaActionType.test.js +0 -1565
- package/lib/meta/convertMetaActionType.test.js.map +0 -1
- package/lib/meta/convertMetaLinkType.test.d.ts +0 -2
- package/lib/meta/convertMetaLinkType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaLinkType.test.js +0 -110
- package/lib/meta/convertMetaLinkType.test.js.map +0 -1
- package/lib/meta/convertMetaObjectType.test.d.ts +0 -2
- package/lib/meta/convertMetaObjectType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaObjectType.test.js +0 -250
- package/lib/meta/convertMetaObjectType.test.js.map +0 -1
- package/lib/meta/convertMetaQueryFunctionType.test.d.ts +0 -2
- package/lib/meta/convertMetaQueryFunctionType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaQueryFunctionType.test.js +0 -134
- package/lib/meta/convertMetaQueryFunctionType.test.js.map +0 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.d.ts +0 -2
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.d.ts.map +0 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.js +0 -49
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.js.map +0 -1
- package/lib/meta/entityCollectionOptions.test.d.ts +0 -2
- package/lib/meta/entityCollectionOptions.test.d.ts.map +0 -1
- package/lib/meta/entityCollectionOptions.test.js +0 -98
- package/lib/meta/entityCollectionOptions.test.js.map +0 -1
- package/lib/meta/index.d.ts.map +0 -1
- package/lib/meta/index.js.map +0 -1
- package/lib/meta/loadActionTypeOmsMetadata.test.d.ts +0 -2
- package/lib/meta/loadActionTypeOmsMetadata.test.d.ts.map +0 -1
- package/lib/meta/loadActionTypeOmsMetadata.test.js +0 -218
- package/lib/meta/loadActionTypeOmsMetadata.test.js.map +0 -1
- package/lib/stagedWrites.test.d.ts +0 -2
- package/lib/stagedWrites.test.d.ts.map +0 -1
- package/lib/stagedWrites.test.js +0 -71
- package/lib/stagedWrites.test.js.map +0 -1
- package/lib/users/createFoundryUsersIntegration.test.d.ts +0 -2
- package/lib/users/createFoundryUsersIntegration.test.d.ts.map +0 -1
- package/lib/users/createFoundryUsersIntegration.test.js +0 -32
- package/lib/users/createFoundryUsersIntegration.test.js.map +0 -1
- package/lib/users/foundryUser.test.d.ts +0 -2
- package/lib/users/foundryUser.test.d.ts.map +0 -1
- package/lib/users/foundryUser.test.js +0 -45
- package/lib/users/foundryUser.test.js.map +0 -1
- package/lib/users/index.d.ts.map +0 -1
- package/lib/users/index.js.map +0 -1
- package/lib/users/userCollectionOptions.test.d.ts +0 -2
- package/lib/users/userCollectionOptions.test.d.ts.map +0 -1
- package/lib/users/userCollectionOptions.test.js +0 -18
- package/lib/users/userCollectionOptions.test.js.map +0 -1
- package/lib/utils/AsyncIterable.test.d.ts +0 -2
- package/lib/utils/AsyncIterable.test.d.ts.map +0 -1
- package/lib/utils/AsyncIterable.test.js +0 -17
- package/lib/utils/AsyncIterable.test.js.map +0 -1
- package/lib/utils/actionTypeName.test.d.ts +0 -2
- package/lib/utils/actionTypeName.test.d.ts.map +0 -1
- package/lib/utils/actionTypeName.test.js +0 -30
- package/lib/utils/actionTypeName.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFoundryOntologyBackendAdapter.js","sourceRoot":"","sources":["../../src/adapter/createFoundryOntologyBackendAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createFoundryOntologyBackendAdapter.js","names":[],"sources":["../../src/adapter/createFoundryOntologyBackendAdapter.ts"],"sourcesContent":["import { invariant } from \"@bobbyfidz/panic\";\nimport { MediaSets } from \"@osdk/foundry.mediasets\";\nimport {\n Actions,\n AttachmentRid,\n Attachments,\n MediaReferenceProperties,\n Queries,\n} from \"@osdk/foundry.ontologies\";\nimport {\n certain,\n NonRetryableError,\n uncertain,\n type PartialAttachmentMetadata,\n type OntologyAttachmentIdMapping,\n type OntologyBackendAdapter,\n type OntologyBackendAdapterProvider,\n type OntologyCollectionOptions,\n type OntologyAttachmentsAdapter,\n type OntologyIR,\n type ValidateActionDraftLiveOpts,\n} from \"@party-stack/ontology\";\nimport { resolveType, unwrapType } from \"@party-stack/ontology/utils\";\nimport { Collection } from \"@tanstack/db\";\nimport { Temporal } from \"temporal-polyfill\";\nimport { getFoundryActionOverrideParameterMapping } from \"../meta/convertMetaActionType.js\";\nimport { getFoundryAttachmentKind } from \"../meta/foundryAttachmentMetadata.js\";\nimport { toFoundryActionTypeName } from \"../utils/actionTypeName.js\";\nimport {\n getFoundryValidationIssues,\n loadFoundrySubmissionCriteria,\n validateFoundryActionDraftCriteria,\n} from \"./foundryActionValidation.js\";\nimport { createFoundryCodec } from \"./foundryCodec.js\";\nimport { decodeFoundryMediaId, mediaReferenceToFoundryMediaId } from \"./foundryMediaId.js\";\nimport { objectCollectionOptions, type ObjectCollectionUtils } from \"./objectCollectionOptions.js\";\nimport type { OntologyClient } from \"@party-stack/foundry-client\";\nimport type { attachment } from \"@party-stack/ontology/values\";\n\nfunction isFoundryAttachmentRid(value: string): value is AttachmentRid {\n return /^ri\\.attachments\\.[^.]+\\.attachment\\..+$/.test(value);\n}\n\nexport function isFoundryNotFoundError(error: unknown): boolean {\n if (typeof error !== \"object\" || error === null) {\n return false;\n }\n const foundryError = error as {\n statusCode?: unknown;\n errorCode?: unknown;\n };\n return foundryError.statusCode === 404 || foundryError.errorCode === \"NOT_FOUND\";\n}\n\nexport interface FoundryUsersIntegration {\n objectType: string;\n getCollectionOptions(client: OntologyClient): OntologyCollectionOptions;\n getAttachmentContent?(client: OntologyClient, attachment: attachment): Promise<Blob | undefined>;\n getAttachmentMetadata?(\n client: OntologyClient,\n attachment: attachment,\n selection: readonly (keyof PartialAttachmentMetadata)[]\n ): Promise<PartialAttachmentMetadata | undefined>;\n}\n\ntype CollectionWithUtils = Collection<Record<string, unknown>, string | number, ObjectCollectionUtils>;\ntype ApplyActionResult = Awaited<ReturnType<typeof Actions.applyWithOverrides>> & {\n operationId?: string;\n};\n\nfunction serializeOverrideValue(value: unknown): string {\n if (typeof value === \"string\") {\n return value;\n }\n if (typeof value === \"number\" || typeof value === \"boolean\" || typeof value === \"bigint\") {\n return String(value);\n }\n if (value instanceof Date) {\n return value.toISOString();\n }\n if (value instanceof Temporal.Instant) {\n return value.toString();\n }\n if (value instanceof Temporal.PlainDate || value instanceof Temporal.PlainDateTime) {\n return value.toString();\n }\n return JSON.stringify(value) ?? \"\";\n}\n\nfunction serializeActionExecutionTime(value: unknown): string {\n try {\n const candidate = value instanceof Date ? value.toISOString() : String(value);\n return Temporal.Instant.from(candidate).toString();\n } catch (cause) {\n throw new TypeError(\"Invalid action execution time: expected a Date or Temporal-like ISO instant.\", {\n cause,\n });\n }\n}\n\nfunction getApplyActionOperationId(result: ApplyActionResult): string {\n const operationId = result.operationId;\n if (typeof operationId !== \"string\" || operationId.length === 0) {\n throw new Error(\"Foundry apply action response did not include an operationId.\");\n }\n return operationId;\n}\n\nfunction getAttachmentName(attachment: unknown): string | undefined {\n if (typeof attachment !== \"object\" || attachment === null || Array.isArray(attachment)) {\n return undefined;\n }\n const name = (attachment as Record<string, unknown>).name;\n return typeof name === \"string\" ? name : undefined;\n}\n\nfunction getAttachmentProviderType(\n target: { meta?: Record<string, unknown> } | undefined\n): \"attachment\" | \"media\" {\n return getFoundryAttachmentKind(target?.meta);\n}\n\nfunction getEditedObjectTypes(\n edits: Awaited<ReturnType<typeof Actions.applyWithOverrides>>[\"edits\"]\n): Set<string> {\n const objectTypes = new Set<string>();\n if (!edits || edits.type !== \"edits\") {\n return objectTypes;\n }\n\n for (const edit of edits.edits) {\n if (edit.type === \"addObject\" || edit.type === \"modifyObject\" || edit.type === \"deleteObject\") {\n objectTypes.add(edit.objectType);\n }\n }\n\n return objectTypes;\n}\n\nfunction prepareFoundryActionInvocation(options: {\n ir: OntologyIR;\n name: string;\n parameters: Record<string, unknown>;\n codec: ReturnType<typeof createFoundryCodec>;\n}): {\n parameters: Record<string, unknown>;\n overrides: {\n uniqueIdentifierLinkIdValues: Record<string, string>;\n actionExecutionTime?: string;\n };\n} {\n const actionType = options.ir.actionTypes.find((candidate) => candidate.name === options.name);\n if (!actionType) {\n throw new NonRetryableError(`Unknown Foundry action type \"${options.name}\".`);\n }\n const overrideMapping = getFoundryActionOverrideParameterMapping(actionType);\n const parameterTypes = new Map(\n actionType.parameters.map((parameter) => [parameter.name, parameter.type])\n );\n const parameters: Record<string, unknown> = {};\n const uniqueIdentifierLinkIdValues: Record<string, string> = {};\n let actionExecutionTime: string | undefined;\n\n for (const [parameterName, value] of Object.entries(options.parameters)) {\n if (overrideMapping.uuidByParameterName.has(parameterName)) {\n if (value !== undefined) {\n uniqueIdentifierLinkIdValues[overrideMapping.uuidByParameterName.get(parameterName)!] =\n serializeOverrideValue(value);\n }\n continue;\n }\n if (overrideMapping.nowParameterName === parameterName) {\n if (value !== undefined) {\n actionExecutionTime = serializeActionExecutionTime(value);\n }\n continue;\n }\n if (value !== undefined) {\n const parameterType = parameterTypes.get(parameterName);\n parameters[parameterName] = parameterType\n ? options.codec.encodeValue(parameterType, value)\n : value;\n }\n }\n\n return {\n parameters,\n overrides: {\n uniqueIdentifierLinkIdValues,\n actionExecutionTime,\n },\n };\n}\n\nexport interface CreateFoundryOntologyBackendAdapterOptions {\n client: OntologyClient;\n ir: OntologyIR;\n users?: FoundryUsersIntegration;\n live?: boolean;\n}\n\nexport function createFoundryOntologyBackendAdapter(\n opts: CreateFoundryOntologyBackendAdapterOptions\n): OntologyBackendAdapter {\n const codec = createFoundryCodec(opts.ir);\n const attachments: OntologyAttachmentsAdapter = {\n generateAttachmentId: (_, { target }) => {\n invariant(\n target,\n \"A property target must be passed to generateAttachmentId in the Foundry adapter so that we know whether to target attachments or media.\"\n );\n if (getFoundryAttachmentKind(target.meta) === \"attachment\") {\n return `ri.attachments.main.attachment.${crypto.randomUUID()}`;\n }\n return crypto.randomUUID();\n },\n canMaterializeAttachment: (_, { target }) => getAttachmentProviderType(target) !== \"media\",\n materializeAttachment: async (attachment, blob, { target }) => {\n invariant(\n target,\n \"A property target must be passed to materializeAttachment in the Foundry adapter so that we know whether to target attachments or media.\"\n );\n invariant(\n getAttachmentProviderType(target) === \"attachment\",\n \"Foundry media references must be uploaded during action execution.\"\n );\n const filename = getAttachmentName(blob) ?? \"\";\n if (!isFoundryAttachmentRid(attachment.id)) {\n const uploaded = await Attachments.upload(opts.client, blob, { filename });\n return {\n ...attachment,\n id: uploaded.rid,\n };\n }\n try {\n await Attachments.get(opts.client, attachment.id);\n return;\n } catch (error) {\n if (!isFoundryNotFoundError(error)) {\n throw error;\n }\n }\n await Attachments.uploadWithRid(opts.client, attachment.id, blob, {\n filename,\n preview: true,\n });\n },\n getAttachmentContent: async (attachment) => {\n const userContent = await opts.users?.getAttachmentContent?.(opts.client, attachment);\n if (userContent) return userContent;\n const media = decodeFoundryMediaId(attachment.id);\n if (media) {\n const source = attachment.source;\n invariant(\n source,\n `Foundry media attachment \"${attachment.id}\" is missing its object property source.`\n );\n const response = await MediaReferenceProperties.getMediaContent(\n opts.client,\n opts.client.ontologyRid,\n source.objectType,\n String(source.primaryKey),\n source.property,\n { preview: true }\n );\n return response.blob();\n }\n const contents = await Attachments.read(opts.client, attachment.id);\n return contents.blob();\n },\n getAttachmentMetadata: async (attachment, selection) => {\n const userMetadata = await opts.users?.getAttachmentMetadata?.(\n opts.client,\n attachment,\n selection\n );\n if (userMetadata) return userMetadata;\n const media = decodeFoundryMediaId(attachment.id);\n if (media) {\n const result: PartialAttachmentMetadata = {};\n if (attachment.type !== undefined) {\n result.type = attachment.type;\n }\n if (selection.includes(\"dimensions\")) {\n const detailed = await MediaSets.metadata(\n opts.client,\n media.mediaSetRid,\n media.mediaItemRid\n );\n result.size = detailed.sizeBytes;\n if (detailed.type === \"imagery\" && detailed.dimensions) {\n result.dimensions = {\n width: detailed.dimensions.width,\n height: detailed.dimensions.height,\n };\n }\n }\n const missingMetadata = selection.filter((field) => result[field] === undefined);\n const needsBasicMetadata = missingMetadata.some((field) => field !== \"dimensions\");\n if (!needsBasicMetadata) return result;\n\n const source = attachment.source;\n invariant(\n source,\n `Foundry media attachment \"${attachment.id}\" is missing its object property source.`\n );\n const info = await MediaReferenceProperties.getMediaMetadata(\n opts.client,\n opts.client.ontologyRid,\n source.objectType,\n String(source.primaryKey),\n source.property,\n { preview: true }\n );\n return {\n ...result,\n size: Number(info.sizeBytes),\n type: info.mediaType,\n name: info.path,\n };\n }\n const metadata = await Attachments.get(opts.client, attachment.id);\n return {\n id: attachment.id,\n size: Number(metadata.sizeBytes),\n type: metadata.mediaType,\n name: metadata.filename,\n };\n },\n };\n\n const adapter: OntologyBackendAdapter = {\n name: \"foundry\",\n live: opts.live !== false,\n getCollectionOptions: (objectType: string) => {\n if (opts.users?.objectType === objectType) {\n return opts.users.getCollectionOptions(opts.client);\n }\n const objectTypeDef = opts.ir.objectTypes.find((ot) => ot.name === objectType)!;\n return objectCollectionOptions({\n client: opts.client,\n objectType,\n primaryKeyProperty: objectTypeDef.primaryKey,\n selectedProperties: objectTypeDef.properties.map((property) => property.name),\n live: opts.live,\n decodeObject: (object) => codec.decodeObject(objectType, object),\n decodeEditObject: (object) => codec.decodeEditObject(objectType, object),\n });\n },\n validateAction: async (name: string, parameters: Record<string, unknown>) => {\n const invocation = prepareFoundryActionInvocation({\n ir: opts.ir,\n name,\n parameters,\n codec,\n });\n\n let result: ApplyActionResult;\n try {\n result = await Actions.applyWithOverrides(\n opts.client,\n opts.client.ontologyRid,\n toFoundryActionTypeName(name),\n {\n request: {\n options: {\n mode: \"VALIDATE_ONLY\",\n },\n parameters: invocation.parameters,\n },\n overrides: invocation.overrides,\n },\n // oxlint-disable-next-line typescript/no-unsafe-argument\n {\n preview: true,\n // oxlint-disable-next-line typescript/no-explicit-any\n }\n );\n } catch (error) {\n if (isFoundryNotFoundError(error)) {\n throw new NonRetryableError(\n error instanceof Error ? error.message : \"Foundry action target was not found.\",\n { cause: error }\n );\n }\n throw error;\n }\n\n if (!result.validation) {\n throw new Error(\"Foundry validate action response did not include a validation result.\");\n }\n return {\n certain: true,\n value:\n result.validation.result === \"VALID\"\n ? {\n kind: \"ok\",\n value: undefined,\n }\n : {\n kind: \"err\",\n value: getFoundryValidationIssues(result),\n },\n };\n },\n validateActionDraft: async (\n name: string,\n parameters: Record<string, unknown>,\n live: ValidateActionDraftLiveOpts\n ) => {\n const actionType = opts.ir.actionTypes.find((candidate) => candidate.name === name);\n if (!actionType) {\n throw new NonRetryableError(`Unknown Foundry action type \"${name}\".`);\n }\n const knownParameters = new Set([\n ...Object.entries(parameters).flatMap(([parameterName, value]) =>\n value === undefined ? [] : [parameterName]\n ),\n ...live.knownParameters,\n ]);\n const missingKnownRequiredParameters = actionType.parameters.filter(\n (parameter) =>\n parameters[parameter.name] === undefined &&\n knownParameters.has(parameter.name) &&\n !unwrapType(resolveType(opts.ir, parameter.type)).isOptional\n );\n if (missingKnownRequiredParameters.length > 0) {\n return certain({\n kind: \"err\",\n value: missingKnownRequiredParameters.map((parameter) => ({\n message: `Required action parameter \"${parameter.name}\" is missing.`,\n path: [parameter.name],\n })),\n });\n }\n const hasUnknownParameters = actionType.parameters.some(\n (parameter) =>\n parameters[parameter.name] === undefined && !knownParameters.has(parameter.name)\n );\n if (!hasUnknownParameters) {\n return adapter.validateAction!(name, parameters, live);\n }\n\n const userId = typeof live.context?.user === \"string\" ? live.context.user : undefined;\n if (!userId) {\n return uncertain();\n }\n const criteria = await loadFoundrySubmissionCriteria({\n client: opts.client,\n actionTypeName: name,\n userId,\n });\n return validateFoundryActionDraftCriteria({\n client: opts.client,\n criteria,\n userId,\n parameters,\n knownParameters,\n });\n },\n applyAction: async (name, parameters, context) => {\n const mediaReferences = new Map<string, Awaited<ReturnType<typeof MediaSets.uploadMedia>>>();\n const attachmentIdMappings: OntologyAttachmentIdMapping[] = [];\n await Promise.all(\n [\n ...new Map(\n (context.attachmentUploads ?? []).map((upload) => [upload.attachment.id, upload])\n ).values(),\n ].map(async (upload) => {\n invariant(\n getAttachmentProviderType(upload.target) === \"media\",\n `Foundry attachment \"${upload.attachment.id}\" was not materialized before action execution.`\n );\n const reference = await MediaSets.uploadMedia(opts.client, upload.blob, {\n filename: getAttachmentName(upload.blob) ?? upload.attachment.id,\n });\n mediaReferences.set(upload.attachment.id, reference);\n attachmentIdMappings.push({\n localId: upload.attachment.id,\n remoteId: mediaReferenceToFoundryMediaId(reference),\n });\n })\n );\n const actionCodec = createFoundryCodec(opts.ir, {\n resolveMediaReference: (id) => mediaReferences.get(id),\n });\n const invocation = prepareFoundryActionInvocation({\n ir: opts.ir,\n name,\n parameters,\n codec: actionCodec,\n });\n\n let result: ApplyActionResult;\n try {\n result = await Actions.applyWithOverrides(\n opts.client,\n opts.client.ontologyRid,\n toFoundryActionTypeName(name),\n {\n request: {\n options: {\n mode: \"VALIDATE_AND_EXECUTE\",\n returnEdits: \"ALL_V2_WITH_DELETIONS\",\n },\n parameters: invocation.parameters,\n },\n overrides: invocation.overrides,\n },\n // oxlint-disable-next-line typescript/no-unsafe-argument\n {\n preview: true,\n // oxlint-disable-next-line typescript/no-explicit-any\n }\n );\n } catch (error) {\n if (isFoundryNotFoundError(error)) {\n throw new NonRetryableError(\n error instanceof Error ? error.message : \"Foundry action target was not found.\",\n { cause: error }\n );\n }\n throw error;\n }\n if (result.validation?.result === \"INVALID\") {\n throw new NonRetryableError(\"Invalid Action arguments.\");\n }\n if (opts.live !== false && context) {\n const operationId = getApplyActionOperationId(result);\n const editedObjectTypes = Array.from(getEditedObjectTypes(result.edits));\n const targetCollections = editedObjectTypes\n .map((objectType) => context.objects[objectType] as CollectionWithUtils | undefined)\n .filter((collection): collection is CollectionWithUtils =>\n Boolean(collection?.utils?.awaitOperationId)\n );\n\n await Promise.all(\n targetCollections.map((collection) => collection.utils.awaitOperationId(operationId))\n );\n }\n if (attachmentIdMappings.length === 0) {\n return undefined;\n }\n return {\n attachmentIdMappings,\n };\n },\n runQueryFunction: async (name, parameters) => {\n const queryFunctionType = opts.ir.queryFunctionTypes.find((candidate) => candidate.name === name);\n if (!queryFunctionType) {\n throw new Error(`Unknown Foundry query function type \"${name}\".`);\n }\n\n const parameterTypes = new Map(\n queryFunctionType.parameters.map((parameter) => [parameter.name, parameter.type])\n );\n const requestParameters: Record<string, unknown> = {};\n for (const [parameterName, value] of Object.entries(parameters)) {\n if (value === undefined) continue;\n const parameterType = parameterTypes.get(parameterName);\n requestParameters[parameterName] = parameterType\n ? codec.encodeValue(parameterType, value)\n : value;\n }\n\n const result = await Queries.execute(opts.client, opts.client.ontologyRid, name, {\n parameters: requestParameters,\n });\n\n return codec.decodeValue(queryFunctionType.returnType, result.value);\n },\n attachments,\n };\n return adapter;\n}\n\nexport type CreateFoundryOntologyBackendOptions<\n Context extends Record<string, unknown> = Record<string, unknown>,\n> = (\n | {\n client: OntologyClient;\n }\n | {\n createClient: (ir: OntologyIR, context: Context) => OntologyClient | Promise<OntologyClient>;\n }\n) & {\n users?: FoundryUsersIntegration;\n live?: boolean;\n};\n\nexport function createFoundryOntologyBackend<\n Context extends Record<string, unknown> = Record<string, unknown>,\n>(opts: CreateFoundryOntologyBackendOptions<Context>): OntologyBackendAdapterProvider<Context> {\n return async (ir, context) =>\n createFoundryOntologyBackendAdapter({\n ir,\n client: \"client\" in opts ? opts.client : await opts.createClient(ir, context),\n users: opts.users,\n live: opts.live,\n });\n}\n"],"mappings":"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"}
|
|
@@ -1,23 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import { OntologyClient } from "@party-stack/foundry-client";
|
|
2
|
+
import { SyncApplyActionResponseV2 } from "@osdk/foundry.ontologies";
|
|
3
|
+
import { Uncertain, ValidationIssue } from "@party-stack/ontology";
|
|
4
|
+
import { Condition } from "@osdk/client.unstable";
|
|
5
|
+
import { Result } from "@party-stack/ontology/values";
|
|
6
|
+
//#region src/adapter/foundryActionValidation.d.ts
|
|
6
7
|
export interface FoundrySubmissionCriterion {
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
condition: Condition;
|
|
9
|
+
failureMessage: string;
|
|
9
10
|
}
|
|
10
11
|
export declare function loadFoundrySubmissionCriteria(options: {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
client: OntologyClient;
|
|
13
|
+
actionTypeName: string;
|
|
14
|
+
userId: string;
|
|
14
15
|
}): Promise<FoundrySubmissionCriterion[]>;
|
|
15
16
|
export declare function validateFoundryActionDraftCriteria(options: {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
client: OntologyClient;
|
|
18
|
+
criteria: FoundrySubmissionCriterion[];
|
|
19
|
+
userId: string;
|
|
20
|
+
parameters: Record<string, unknown>;
|
|
21
|
+
knownParameters?: ReadonlySet<string>;
|
|
21
22
|
}): Promise<Uncertain<Result<void, readonly ValidationIssue[]>>>;
|
|
22
23
|
export declare function getFoundryValidationIssues(result: SyncApplyActionResponseV2): ValidationIssue[];
|
|
24
|
+
//#endregion
|
|
23
25
|
//# sourceMappingURL=foundryActionValidation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundryActionValidation.d.ts","
|
|
1
|
+
{"version":3,"file":"foundryActionValidation.d.ts","names":[],"sources":["../../src/adapter/foundryActionValidation.ts"],"mappings":";;;;;;iBAgBiB;EACb,WAAW;EACX;;wBAmBkB,8BAA8B;EAChD,QAAQ;EACR;EACA;IACA,QAAQ;wBAsSU,mCAAmC;EACrD,QAAQ;EACR,UAAU;EACV;EACA,YAAY;EACZ,kBAAkB;IAClB,QAAQ,UAAU,sBAAsB;wBAqE5B,2BAA2B,QAAQ,4BAA4B"}
|