@api-client/core 0.19.32 → 0.19.34
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/build/src/authorization/index.d.ts +10 -0
- package/build/src/authorization/index.d.ts.map +1 -0
- package/build/src/authorization/index.js +10 -0
- package/build/src/authorization/index.js.map +1 -0
- package/build/src/browser.d.ts +13 -143
- package/build/src/browser.d.ts.map +1 -1
- package/build/src/browser.js +10 -144
- package/build/src/browser.js.map +1 -1
- package/build/src/data/DataExtractor.d.ts +1 -2
- package/build/src/data/DataExtractor.d.ts.map +1 -1
- package/build/src/data/DataExtractor.js.map +1 -1
- package/build/src/data/index.d.ts +10 -0
- package/build/src/data/index.d.ts.map +1 -0
- package/build/src/data/index.js +10 -0
- package/build/src/data/index.js.map +1 -0
- package/build/src/events/Events.d.ts +3 -3
- package/build/src/events/index.d.ts +11 -0
- package/build/src/events/index.d.ts.map +1 -0
- package/build/src/events/index.js +4 -0
- package/build/src/events/index.js.map +1 -0
- package/build/src/exceptions/index.d.ts +8 -0
- package/build/src/exceptions/index.d.ts.map +1 -0
- package/build/src/exceptions/index.js +8 -0
- package/build/src/exceptions/index.js.map +1 -0
- package/build/src/index.d.ts +10 -138
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +11 -142
- package/build/src/index.js.map +1 -1
- package/build/src/mocking/lib/User.d.ts.map +1 -1
- package/build/src/mocking/lib/User.js +1 -1
- package/build/src/mocking/lib/User.js.map +1 -1
- package/build/src/modeling/ai/DataDomainDelta.d.ts +3 -3
- package/build/src/modeling/ai/DataDomainDelta.d.ts.map +1 -1
- package/build/src/modeling/ai/DataDomainDelta.js +3 -3
- package/build/src/modeling/ai/DataDomainDelta.js.map +1 -1
- package/build/src/modeling/amf/index.d.ts +4 -0
- package/build/src/modeling/amf/index.d.ts.map +1 -0
- package/build/src/modeling/amf/index.js +4 -0
- package/build/src/modeling/amf/index.js.map +1 -0
- package/build/src/modeling/index.d.ts +18 -1
- package/build/src/modeling/index.d.ts.map +1 -1
- package/build/src/modeling/index.js +14 -1
- package/build/src/modeling/index.js.map +1 -1
- package/build/src/models/index.d.ts +64 -0
- package/build/src/models/index.d.ts.map +1 -0
- package/build/src/models/index.js +68 -0
- package/build/src/models/index.js.map +1 -0
- package/build/src/models/store/CustomDomain.d.ts +1 -1
- package/build/src/models/store/CustomDomain.d.ts.map +1 -1
- package/build/src/models/store/CustomDomain.js +2 -2
- package/build/src/models/store/CustomDomain.js.map +1 -1
- package/build/src/models/store/{data_catalog.d.ts → DataCatalog.d.ts} +1 -1
- package/build/src/models/store/DataCatalog.d.ts.map +1 -0
- package/build/src/models/store/DataCatalog.js +2 -0
- package/build/src/models/store/DataCatalog.js.map +1 -0
- package/build/src/models/store/DeploymentCustomDomain.d.ts +1 -1
- package/build/src/models/store/DeploymentCustomDomain.d.ts.map +1 -1
- package/build/src/models/store/DeploymentCustomDomain.js +2 -2
- package/build/src/models/store/DeploymentCustomDomain.js.map +1 -1
- package/build/src/models/store/File.d.ts.map +1 -1
- package/build/src/models/store/File.js +1 -2
- package/build/src/models/store/File.js.map +1 -1
- package/build/src/models/store/User.d.ts +3 -3
- package/build/src/models/store/User.d.ts.map +1 -1
- package/build/src/models/store/User.js +1 -1
- package/build/src/models/store/User.js.map +1 -1
- package/build/src/models/store/index.d.ts +17 -0
- package/build/src/models/store/index.d.ts.map +1 -0
- package/build/src/models/store/index.js +10 -0
- package/build/src/models/store/index.js.map +1 -0
- package/build/src/patch/index.d.ts +3 -0
- package/build/src/patch/index.d.ts.map +1 -0
- package/build/src/patch/index.js +2 -0
- package/build/src/patch/index.js.map +1 -0
- package/build/src/sdk/DeploymentsSdk.d.ts +1 -1
- package/build/src/sdk/DeploymentsSdk.d.ts.map +1 -1
- package/build/src/sdk/DeploymentsSdk.js +2 -1
- package/build/src/sdk/DeploymentsSdk.js.map +1 -1
- package/build/src/sdk/GroupsSdk.d.ts +1 -1
- package/build/src/sdk/GroupsSdk.d.ts.map +1 -1
- package/build/src/sdk/GroupsSdk.js.map +1 -1
- package/build/src/sdk/StoreSdkNode.d.ts +0 -4
- package/build/src/sdk/StoreSdkNode.d.ts.map +1 -1
- package/build/src/sdk/StoreSdkNode.js.map +1 -1
- package/build/src/sdk/StoreSdkWeb.d.ts +1 -5
- package/build/src/sdk/StoreSdkWeb.d.ts.map +1 -1
- package/build/src/sdk/StoreSdkWeb.js +1 -1
- package/build/src/sdk/StoreSdkWeb.js.map +1 -1
- package/build/src/sdk/index.d.ts +8 -0
- package/build/src/sdk/index.d.ts.map +1 -0
- package/build/src/sdk/index.js +3 -0
- package/build/src/sdk/index.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/data/DataExtractor.ts +1 -1
- package/src/mocking/lib/User.ts +2 -1
- package/src/modeling/ai/DataDomainDelta.ts +5 -11
- package/src/models/store/CustomDomain.ts +2 -2
- package/src/models/store/DeploymentCustomDomain.ts +2 -2
- package/src/models/store/File.ts +2 -2
- package/src/models/store/User.ts +3 -4
- package/src/sdk/DeploymentsSdk.ts +3 -1
- package/src/sdk/GroupsSdk.ts +1 -1
- package/src/sdk/StoreSdkNode.ts +0 -11
- package/src/sdk/StoreSdkWeb.ts +1 -12
- package/tests/unit/authorization/SecurityProcessor.spec.ts +2 -1
- package/tests/unit/data/JmesparthReader.spec.ts +1 -1
- package/tests/unit/data/JsonReader.spec.ts +1 -1
- package/tests/unit/data/PayloadPointer.spec.ts +1 -1
- package/tests/unit/data/RequestDataExtractor.spec.ts +9 -13
- package/tests/unit/data/UrlEncodedReader.spec.ts +1 -1
- package/tests/unit/data/XmlReader.spec.ts +1 -1
- package/tests/unit/mocking/current/Certificates.spec.ts +1 -1
- package/tests/unit/mocking/current/HostRules.spec.ts +1 -1
- package/tests/unit/mocking/current/Urls.spec.ts +1 -1
- package/tests/unit/mocking/current/User.spec.ts +2 -2
- package/tests/unit/modeling/ai/DataDomainDelta.spec.ts +1 -1
- package/tests/unit/modeling/ai/DomainSerialization.spec.ts +1 -1
- package/tests/unit/modeling/ai/tools/DataDomain.tools.spec.ts +1 -1
- package/tests/unit/modeling/amf/shape_generator.spec.ts +1 -1
- package/tests/unit/modeling/api_model.spec.ts +2 -3
- package/tests/unit/modeling/api_model_expose_entity.spec.ts +1 -1
- package/tests/unit/modeling/api_model_remove_entity.spec.ts +1 -1
- package/tests/unit/modeling/data_domain.spec.ts +2 -1
- package/tests/unit/modeling/data_domain_change_observers.spec.ts +1 -1
- package/tests/unit/modeling/data_domain_serialization.spec.ts +2 -2
- package/tests/unit/modeling/definitions/phone.spec.ts +1 -1
- package/tests/unit/modeling/domain_asociation.spec.ts +34 -34
- package/tests/unit/modeling/domain_asociation_targets.spec.ts +1 -1
- package/tests/unit/modeling/domain_entity.spec.ts +3 -9
- package/tests/unit/modeling/domain_entity_associations.spec.ts +1 -1
- package/tests/unit/modeling/domain_entity_example_generator_json.spec.ts +1 -1
- package/tests/unit/modeling/domain_entity_example_generator_xml.spec.ts +1 -1
- package/tests/unit/modeling/domain_entity_fields.spec.ts +1 -1
- package/tests/unit/modeling/domain_entity_generators.spec.ts +1 -1
- package/tests/unit/modeling/domain_entity_parents.spec.ts +1 -1
- package/tests/unit/modeling/domain_entity_properties.spec.ts +2 -1
- package/tests/unit/modeling/domain_file.spec.ts +2 -1
- package/tests/unit/modeling/domain_impact_analysis.spec.ts +5 -3
- package/tests/unit/modeling/domain_model.spec.ts +3 -8
- package/tests/unit/modeling/domain_model_entities.spec.ts +2 -1
- package/tests/unit/modeling/domain_namespace.spec.ts +3 -9
- package/tests/unit/modeling/domain_namespace_models.spec.ts +1 -1
- package/tests/unit/modeling/domain_namespace_namespaces.spec.ts +1 -1
- package/tests/unit/modeling/domain_property.spec.ts +3 -1
- package/tests/unit/modeling/domain_validation.spec.ts +1 -1
- package/tests/unit/modeling/domain_versioning.spec.ts +1 -1
- package/tests/unit/modeling/exposed_entity.spec.ts +1 -1
- package/tests/unit/modeling/exposed_entity_setter_validation.spec.ts +1 -1
- package/tests/unit/modeling/helpers/intellisense.spec.ts +1 -1
- package/tests/unit/modeling/importers/json_schema_importer.spec.ts +1 -1
- package/tests/unit/modeling/validation/association_validation.spec.ts +1 -1
- package/tests/unit/modeling/validation/entity_validation.spec.ts +1 -1
- package/tests/unit/modeling/validation/property_validation.spec.ts +1 -1
- package/tests/unit/models/Certificate/from_name.spec.ts +2 -1
- package/tests/unit/models/File/addLabel.spec.ts +1 -1
- package/tests/unit/models/File/constructor.spec.ts +2 -1
- package/tests/unit/models/File/createFileCapabilities.spec.ts +1 -1
- package/tests/unit/models/File/new.spec.ts +2 -1
- package/tests/unit/models/File/setDeleted.spec.ts +1 -1
- package/tests/unit/models/File/setLastModified.spec.ts +1 -1
- package/tests/unit/models/File/shortcutTo.spec.ts +1 -1
- package/tests/unit/models/File/toJSON.spec.ts +2 -1
- package/tests/unit/models/File/updateByMeMeta.spec.ts +1 -1
- package/tests/unit/models/Folder/consume.spec.ts +2 -1
- package/tests/unit/models/Folder/create.spec.ts +2 -1
- package/tests/unit/models/Permission/all.spec.ts +1 -1
- package/tests/unit/models/Project/consume.spec.ts +1 -1
- package/tests/unit/models/Project/create.spec.ts +1 -1
- package/tests/unit/models/certificate.spec.ts +2 -7
- package/tests/unit/models/host_rule.spec.ts +1 -1
- package/tests/unit/models/http_project.spec.ts +1 -1
- package/tests/unit/models/http_request.spec.ts +2 -9
- package/tests/unit/models/http_response.spec.ts +2 -1
- package/tests/unit/models/license.spec.ts +1 -1
- package/tests/unit/models/response.spec.ts +2 -2
- package/tests/unit/models/store/CustomDomain.spec.ts +8 -8
- package/tests/unit/models/store/DeploymentCustomDomain.spec.ts +9 -9
- package/tests/unit/models/store/Invitation.spec.ts +1 -1
- package/tests/unit/runtime/http-engine/abort.spec.ts +2 -8
- package/tests/unit/runtime/http-engine/auth.spec.ts +2 -1
- package/tests/unit/runtime/http-engine/certificates.spec.ts +2 -1
- package/tests/unit/runtime/http-engine/cleanup.spec.ts +2 -1
- package/tests/unit/runtime/http-engine/compression.spec.ts +2 -1
- package/tests/unit/runtime/http-engine/core_engine.spec.ts +7 -11
- package/tests/unit/runtime/http-engine/events.spec.ts +2 -1
- package/tests/unit/runtime/http-engine/headers.spec.ts +2 -9
- package/tests/unit/runtime/http-engine/hosts.spec.ts +2 -1
- package/tests/unit/runtime/http-engine/http-get.spec.ts +2 -1
- package/tests/unit/runtime/http-engine/http-post.spec.ts +2 -9
- package/tests/unit/runtime/http-engine/logger.spec.ts +2 -1
- package/tests/unit/runtime/http-engine/message.spec.ts +2 -8
- package/tests/unit/runtime/http-engine/params.spec.ts +2 -10
- package/tests/unit/runtime/http-engine/proxy.spec.ts +2 -10
- package/tests/unit/runtime/http-engine/redirects.spec.ts +4 -6
- package/tests/unit/runtime/http-engine/request_utils.spec.ts +2 -1
- package/tests/unit/runtime/http-engine/responses.spec.ts +2 -10
- package/tests/unit/runtime/http-engine/timeout.spec.ts +2 -8
- package/tests/unit/runtime/http-engine/timings.spec.ts +2 -1
- package/tests/unit/runtime/proxy/HttpProjectProxy.spec.ts +3 -8
- package/tests/unit/runtime/proxy/RequestProxy.spec.ts +6 -7
- package/tests/unit/runtime/reporters/project_run_cli_reporter.spec.ts +2 -7
- package/tests/unit/runtime/runners/http_assertion_runner.spec.ts +2 -2
- package/tests/unit/runtime/runners/http_flow_runner.spec.ts +2 -2
- package/tests/unit/runtime/runners/parallel_runner.spec.ts +2 -2
- package/tests/unit/runtime/runners/project_runner.spec.ts +2 -5
- package/tests/unit/runtime/runners/request_runner.spec.ts +2 -5
- package/tests/unit/runtime/runners/serial_runner.spec.ts +2 -3
- package/tests/unit/runtime/variables/variables_processor.spec.ts +2 -1
- package/tsconfig.browser.json +3 -4
- package/tsconfig.node.json +1 -3
- package/build/src/models/store/data_catalog.d.ts.map +0 -1
- package/build/src/models/store/data_catalog.js +0 -2
- package/build/src/models/store/data_catalog.js.map +0 -1
- /package/src/models/store/{data_catalog.ts → DataCatalog.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../src/mocking/lib/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../src/mocking/lib/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAahD,MAAM,OAAO,IAAI;IACf;;;;OAIG;IACH,IAAI,CAAC,OAAuB,EAAE;QAC5B,MAAM,MAAM,GAAe;YACzB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,MAAM,EAAE;YACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC7B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YACjF,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE;YACpC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;SACvC,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,GAAG;gBACb;oBACE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;oBAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;iBACnC;aACF,CAAA;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,GAAG;gBACf,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;aAC1B,CAAA;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG;gBAChB,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;aAC5C,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,OAAuB,EAAE;QACxC,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF","sourcesContent":["import { faker } from '@faker-js/faker'\nimport { nanoid } from '../../nanoid.js'\nimport { UserSchema } from '../../models/store/User.js'\nimport { UserKind } from '../../models/kinds.js'\n\nexport interface UserInitSchema {\n noEmail?: boolean\n noPicture?: boolean\n noProvider?: boolean\n}\n\n/**\n * @deprecated Use {@link UserInitSchema} instead.\n */\nexport type IUserInit = UserInitSchema\n\nexport class User {\n /**\n * Generates a random user object.\n * @param init Configuration options for the user object.\n * @returns Random user\n */\n user(init: UserInitSchema = {}): UserSchema {\n const result: UserSchema = {\n kind: UserKind,\n key: nanoid(),\n name: faker.person.fullName(),\n status: faker.helpers.arrayElement(['active', 'deleted', 'suspended', 'pending']),\n email: [],\n created: faker.date.past().getTime(),\n updated: faker.date.recent().getTime(),\n }\n if (!init.noEmail) {\n result.email = [\n {\n email: faker.internet.email(),\n verified: faker.datatype.boolean(),\n },\n ]\n }\n if (!init.noPicture) {\n result.picture = {\n url: faker.image.avatar(),\n }\n }\n if (!init.noProvider) {\n result.provider = {\n refreshToken: faker.string.alphanumeric(21),\n }\n }\n return result\n }\n\n /**\n * Generates a list of random user objects.\n * @param size The size of the returning array\n * @param init Configuration options for the user object.\n * @returns List of random users\n */\n users(size = 25, init: UserInitSchema = {}): UserSchema[] {\n const result: UserSchema[] = []\n for (let i = 0; i < size; i++) {\n result.push(this.user(init))\n }\n return result\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { DataDomain } from '
|
|
1
|
+
import type { DataDomain } from '../DataDomain.js';
|
|
2
2
|
import type { AiDomainAssociation, AiDomainAssociationDelta, AiDomainDelta, AiDomainEntityResponseSchema, AiDomainProperty, AiDomainPropertyDelta, AiDomainSemantic } from './types.js';
|
|
3
|
-
import type { DomainAssociation, DomainEntity, DomainModel, DomainProperty } from '
|
|
4
|
-
import { type SemanticType } from '
|
|
3
|
+
import type { DomainAssociation, DomainEntity, DomainModel, DomainProperty } from '../index.js';
|
|
4
|
+
import { type SemanticType } from '../Semantics.js';
|
|
5
5
|
/**
|
|
6
6
|
* A utility class responsible for applying AI-generated modifications (deltas)
|
|
7
7
|
* to an existing `DataDomain` model. It handles adding, modifying, and deleting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataDomainDelta.d.ts","sourceRoot":"","sources":["../../../../src/modeling/ai/DataDomainDelta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"DataDomainDelta.d.ts","sourceRoot":"","sources":["../../../../src/modeling/ai/DataDomainDelta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAEV,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EAEb,4BAA4B,EAC5B,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAsB,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEnH,OAAO,EAAE,KAAK,YAAY,EAAgC,MAAM,iBAAiB,CAAA;AAmCjF;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,CAAA;IAE5B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAErC;;;;;OAKG;gBACS,MAAM,EAAE,UAAU,EAAE,MAAM,sBAA4B;IAKlE;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAsFjC;;;;;;OAMG;IACH,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,4BAA4B,GAAG,IAAI;IAiChE;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI;IASnF;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI;IA8B5E;;;;;;OAMG;IACH,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAc1E;;;;;;OAMG;IACH,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAmGtF;;;;;OAKG;IACH,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,SAAS,GAAG,IAAI;IASpG;;;;;;;OAOG;IACH,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAgDlF;;;;;;OAMG;IACH,SAAS,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAc7E;;;;;;OAMG;IACH,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,wBAAwB,EAAE,GAAG,SAAS,GAAG,IAAI;IAkEvG;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;IAYrE;;;;;;;;;OASG;IACH,SAAS,CAAC,cAAc,CACtB,MAAM,EAAE,YAAY,GAAG,cAAc,GAAG,iBAAiB,EACzD,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAC1B,QAAQ,CAAC,EAAE,gBAAgB,EAAE,EAC7B,OAAO,CAAC,EAAE,YAAY,EAAE,GACvB,IAAI;IAmDP;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY;IAQpD;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa;CAwItD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { nanoid } from '
|
|
2
|
-
import { SemanticScope, DataSemantics } from '
|
|
3
|
-
import { DomainEntityKind, DomainPropertyKind, DomainAssociationKind } from '
|
|
1
|
+
import { nanoid } from '../../nanoid.js';
|
|
2
|
+
import { SemanticScope, DataSemantics } from '../Semantics.js';
|
|
3
|
+
import { DomainEntityKind, DomainPropertyKind, DomainAssociationKind } from '../../models/kinds.js';
|
|
4
4
|
/**
|
|
5
5
|
* Normalizes the delta by removing duplicates. For example, when the model
|
|
6
6
|
* adds and entity more than once to the `modifiedEntities` array, This will merge all the changes into a single entity.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataDomainDelta.js","sourceRoot":"","sources":["../../../../src/modeling/ai/DataDomainDelta.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataDomain } from '@api-client/core/modeling/DataDomain.js'\nimport type {\n AiDataModelSchema,\n AiDomainAssociation,\n AiDomainAssociationDelta,\n AiDomainDelta,\n AiDomainEntityDelta,\n AiDomainEntityResponseSchema,\n AiDomainProperty,\n AiDomainPropertyDelta,\n AiDomainSemantic,\n} from './types.js'\nimport type {\n DomainAssociation,\n DomainEntity,\n DomainEntitySchema,\n DomainModel,\n DomainProperty,\n} from '@api-client/core/modeling/index.js'\nimport { nanoid } from '@api-client/core/nanoid.js'\nimport { type SemanticType, SemanticScope, DataSemantics } from '@api-client/core/modeling/Semantics.js'\nimport { DomainEntityKind, DomainPropertyKind, DomainAssociationKind } from '@api-client/core/models/kinds.js'\n\n/**\n * Normalizes the delta by removing duplicates. For example, when the model\n * adds and entity more than once to the `modifiedEntities` array, This will merge all the changes into a single entity.\n * @param delta The delta to normalize.\n * @returns The normalized delta.\n */\nfunction mergeArrayByKey<T>(\n items: T[] | undefined,\n mergeFn: (a: T, b: T) => void,\n keyProp: keyof T = 'key' as keyof T\n): T[] | undefined {\n if (!items || items.length === 0) return items\n const map = new Map<unknown, T>()\n const result: T[] = []\n for (const item of items) {\n const k = item[keyProp]\n if (!k) {\n result.push({ ...item })\n continue\n }\n const existing = map.get(k)\n if (existing) {\n mergeFn(existing, item)\n } else {\n const copy = { ...item }\n map.set(k, copy)\n result.push(copy)\n }\n }\n return result\n}\n\n/**\n * A utility class responsible for applying AI-generated modifications (deltas)\n * to an existing `DataDomain` model. It handles adding, modifying, and deleting\n * entities, properties, associations, semantics, and models based on the\n * prescribed changes.\n *\n * It also maintains a mapping of AI-generated provisional keys to the\n * actual nanoid keys used within the data domain to ensure references remain intact.\n */\nexport class DataDomainDelta {\n /**\n * The data domain to which the delta will be applied.\n */\n protected domain: DataDomain\n\n /**\n * The map containing the mappings of AI generated keys to proper nanoids.\n */\n protected keyMap: Map<string, string>\n\n /**\n * Initializes a new instance of the `DataDomainDelta` class.\n *\n * @param domain The target data domain where changes will be applied.\n * @param keyMap An optional map tracking AI-generated provisional keys to actual domain nanoids.\n */\n constructor(domain: DataDomain, keyMap = new Map<string, string>()) {\n this.domain = domain\n this.keyMap = keyMap\n }\n\n /**\n * Applies the entire given delta structure to the data domain in a single pass.\n * Operations include processing added/modified/deleted components across\n * models, entities, properties, associations, and semantics.\n *\n * @param delta The AI-generated delta schema containing all requested changes.\n */\n apply(delta: AiDomainDelta): void {\n if (delta.addedModels) {\n for (const m of delta.addedModels) {\n const existing = this.domain.findModel(this.keyMap.get(m.key) || m.key)\n if (!existing) {\n let newKey = this.keyMap.get(m.key)\n if (!newKey) {\n newKey = nanoid()\n this.keyMap.set(m.key, newKey)\n }\n this.domain.addModel({ key: newKey, info: { name: m.name, description: m.description } })\n }\n }\n }\n\n if (delta.modifiedModels) {\n for (const mod of delta.modifiedModels) {\n const actualKey = this.keyMap.get(mod.key) || mod.key\n const model = this.domain.findModel(actualKey)\n if (model) {\n if (mod.name !== undefined) model.info.name = mod.name\n if (mod.description !== undefined) model.info.description = mod.description\n }\n }\n }\n\n if (delta.addedEntities) {\n for (const e of delta.addedEntities) {\n this.handleAddEntity(e)\n }\n }\n\n if (delta.deletedEntityKeys) {\n for (const key of delta.deletedEntityKeys) {\n const actualKey = this.keyMap.get(key) || key\n this.domain.removeEntity(actualKey)\n }\n }\n\n if (delta.modifiedEntities) {\n for (const mod of delta.modifiedEntities) {\n const actualEntityKey = this.keyMap.get(mod.key) || mod.key\n const entity = this.domain.findEntity(actualEntityKey)\n if (!entity) {\n continue\n }\n\n if (mod.modelKey) {\n const currentModel = entity.getParentInstance() as DomainModel\n const actualModelKey = this.keyMap.get(mod.modelKey) || mod.modelKey\n if (currentModel.key !== actualModelKey && currentModel.info.name !== mod.modelKey) {\n const newModel = this.getModel(this.domain, actualModelKey)\n newModel.attachEntity(entity.key)\n }\n }\n\n if (mod.name) entity.info.name = mod.name\n if (mod.displayName) entity.info.displayName = mod.displayName\n if (mod.description) entity.info.description = mod.description\n if (mod.tags !== undefined) {\n entity.tags = mod.tags === null ? [] : mod.tags\n }\n\n this.applySemantics(entity, mod.addedSemantics, mod.modifiedSemantics, mod.deletedSemanticIds)\n\n this.handlePropertyAdds(entity, mod.addedProperties)\n this.handlePropertyDeletes(this.domain, mod.deletedPropertyKeys)\n this.handlePropertyMods(this.domain, mod.modifiedProperties)\n this.handleAssociationAdds(entity, mod.addedAssociations)\n this.handleAssociationDeletes(this.domain, mod.deletedAssociationKeys)\n this.handleAssociationMods(this.domain, mod.modifiedAssociations)\n }\n }\n\n if (delta.deletedModelKeys) {\n for (const key of delta.deletedModelKeys) {\n const actualKey = this.keyMap.get(key) || key\n try {\n this.domain.removeModel(actualKey)\n } catch {\n // ignore\n }\n }\n }\n }\n\n /**\n * Internal handler to add a new entity to the data domain based on the provided schema.\n * It also recursively handles adding the entity's semantics, properties, and associations.\n *\n * @param domain The data domain where the entity will reside.\n * @param e The schema definition of the entity to be added.\n */\n protected handleAddEntity(e: AiDomainEntityResponseSchema): void {\n const targetModel = this.getModel(this.domain, e.modelKey || 'ai_generated')\n const entityInput = { ...e }\n delete entityInput.semantics\n let entityKey = this.keyMap.get(e.key)\n if (!entityKey) {\n entityKey = nanoid()\n this.keyMap.set(e.key, entityKey)\n }\n\n const entityInfo: Partial<DomainEntitySchema> = {\n ...entityInput,\n key: entityKey,\n info: {\n name: e.name,\n displayName: e.displayName,\n description: e.description,\n },\n }\n const createdEntity = targetModel.addEntity(entityInfo)\n this.applySemantics(createdEntity, e.semantics)\n if (e.properties) {\n for (const p of e.properties) {\n this.handleAddProperty(createdEntity, p)\n }\n }\n if (e.associations) {\n for (const a of e.associations) {\n this.handleAddAssociation(createdEntity, a)\n }\n }\n }\n\n /**\n * Processes an array of newly added properties for a specific entity.\n *\n * @param entity The target domain entity to receive the new properties.\n * @param adds The list of property definitions to add, if any.\n */\n protected handlePropertyAdds(entity: DomainEntity, adds?: AiDomainProperty[]): void {\n if (!adds) {\n return\n }\n for (const p of adds) {\n this.handleAddProperty(entity, p)\n }\n }\n\n /**\n * Internal handler to add a single property to an entity, generating keys\n * and applying semantics as defined in the AI schema.\n *\n * @param entity The target domain entity.\n * @param p The schema definition of the property to add.\n */\n protected handleAddProperty(entity: DomainEntity, p: AiDomainProperty): void {\n let propKey = p.key ? this.keyMap.get(p.key) : undefined\n if (!propKey) {\n propKey = nanoid()\n if (p.key) {\n this.keyMap.set(p.key, propKey)\n }\n }\n const prop = entity.addProperty({\n key: propKey,\n type: p.type,\n info: {\n name: p.name,\n displayName: p.displayName,\n description: p.description,\n },\n required: p.constraints?.required,\n unique: p.constraints?.unique,\n index: p.constraints?.index,\n primary: p.constraints?.primary,\n multiple: p.constraints?.multiple,\n readOnly: p.constraints?.readOnly,\n writeOnly: p.constraints?.writeOnly,\n deprecated: p.deprecated,\n schema: p.schema,\n tags: p.tags || undefined,\n })\n this.applySemantics(prop, p.semantics)\n }\n\n /**\n * Processes the deletion of properties by their keys from the given domain.\n * Fails silently if a key is not found, maintaining fault tolerance.\n *\n * @param domain The target data domain.\n * @param keys The array of property keys (AI-generated or actual) to remove.\n */\n protected handlePropertyDeletes(domain: DataDomain, keys?: string[]): void {\n if (!keys) {\n return\n }\n for (const key of keys) {\n const actualKey = this.keyMap.get(key) || key\n try {\n domain.removeProperty(actualKey)\n } catch {\n // we can ignore in case the model got the wrong key.\n }\n }\n }\n\n /**\n * Processes modifications to existing properties within the domain, updating\n * specific metadata, constraints, schema rules, and semantics based on the delta.\n *\n * @param domain The target data domain.\n * @param mods The list of property modifications to apply.\n */\n protected handlePropertyMods(domain: DataDomain, mods?: AiDomainPropertyDelta[]): void {\n if (!mods) {\n return\n }\n for (const mod of mods) {\n const actualKey = this.keyMap.get(mod.key) || mod.key\n const prop = domain.findProperty(actualKey)\n if (!prop) {\n continue\n }\n if (mod.name) {\n prop.info.name = mod.name\n }\n if (mod.displayName) {\n prop.info.displayName = mod.displayName\n }\n if (mod.description) {\n prop.info.description = mod.description\n }\n if (mod.type) {\n prop.type = mod.type\n }\n if (mod.deprecated !== undefined) {\n prop.deprecated = mod.deprecated === null ? undefined : mod.deprecated\n }\n if (mod.constraints) {\n if (mod.constraints.required !== undefined) {\n prop.required = mod.constraints.required === null ? undefined : mod.constraints.required\n }\n if (mod.constraints.unique !== undefined) {\n prop.unique = mod.constraints.unique === null ? undefined : mod.constraints.unique\n }\n if (mod.constraints.index !== undefined) {\n prop.index = mod.constraints.index === null ? undefined : mod.constraints.index\n }\n if (mod.constraints.primary !== undefined) {\n prop.primary = mod.constraints.primary === null ? undefined : mod.constraints.primary\n }\n if (mod.constraints.multiple !== undefined) {\n prop.multiple = mod.constraints.multiple === null ? undefined : mod.constraints.multiple\n }\n if (mod.constraints.readOnly !== undefined) {\n prop.readOnly = mod.constraints.readOnly === null ? undefined : mod.constraints.readOnly\n }\n if (mod.constraints.writeOnly !== undefined) {\n prop.writeOnly = mod.constraints.writeOnly === null ? undefined : mod.constraints.writeOnly\n }\n }\n if (mod.schema) {\n if (!prop.schema) {\n prop.schema = {}\n }\n if (mod.schema.defaultValue !== undefined) {\n if (mod.schema.defaultValue === null) {\n prop.schema.defaultValue = undefined\n } else {\n if (!prop.schema.defaultValue) {\n prop.schema.defaultValue = {\n value: '',\n type: 'literal',\n }\n }\n if (mod.schema.defaultValue.type) {\n prop.schema.defaultValue.type = mod.schema.defaultValue.type\n }\n if (mod.schema.defaultValue.value) {\n prop.schema.defaultValue.value = mod.schema.defaultValue.value\n }\n }\n }\n if (mod.schema.pattern !== undefined) {\n prop.schema.pattern = mod.schema.pattern === null ? undefined : mod.schema.pattern\n }\n if (mod.schema.minimum !== undefined) {\n prop.schema.minimum = mod.schema.minimum === null ? undefined : mod.schema.minimum\n }\n if (mod.schema.maximum !== undefined) {\n prop.schema.maximum = mod.schema.maximum === null ? undefined : mod.schema.maximum\n }\n if (mod.schema.exclusiveMinimum !== undefined) {\n prop.schema.exclusiveMinimum = mod.schema.exclusiveMinimum === null ? undefined : mod.schema.exclusiveMinimum\n }\n if (mod.schema.exclusiveMaximum !== undefined) {\n prop.schema.exclusiveMaximum = mod.schema.exclusiveMaximum === null ? undefined : mod.schema.exclusiveMaximum\n }\n if (mod.schema.multipleOf !== undefined) {\n prop.schema.multipleOf = mod.schema.multipleOf === null ? undefined : mod.schema.multipleOf\n }\n if (mod.schema.enum !== undefined) {\n prop.schema.enum = mod.schema.enum === null ? undefined : [...mod.schema.enum]\n }\n if (mod.schema.examples !== undefined) {\n prop.schema.examples = mod.schema.examples === null ? undefined : [...mod.schema.examples]\n }\n }\n this.applySemantics(prop, mod.addedSemantics, mod.modifiedSemantics, mod.deletedSemanticIds)\n }\n }\n\n /**\n * Processes an array of newly added associations for a specific entity.\n *\n * @param entity The target domain entity referencing the newly created associations.\n * @param adds An array of association definitions to add, if any.\n */\n protected handleAssociationAdds(entity: DomainEntity, adds: AiDomainAssociation[] | undefined): void {\n if (!adds) {\n return\n }\n for (const a of adds) {\n this.handleAddAssociation(entity, a)\n }\n }\n\n /**\n * Internal handler to append a single association to an entity, effectively creating\n * a relationship to one or more targets. Attempts an optimized exact O(1) loopup\n * before falling back to a full domain search.\n *\n * @param entity The source domain entity creating the association.\n * @param a The defining schema for the new association.\n */\n protected handleAddAssociation(entity: DomainEntity, a: AiDomainAssociation): void {\n let assocKey = this.keyMap.get(a.key)\n if (!assocKey) {\n assocKey = nanoid()\n this.keyMap.set(a.key, assocKey)\n }\n const assoc = entity.addAssociation({\n key: assocKey,\n info: { name: a.name, displayName: a.displayName, description: a.description },\n required: a.required,\n multiple: a.multiple,\n onDelete: a.onDelete,\n schema: a.schema,\n })\n if (a.targets) {\n for (const t of a.targets) {\n const actualTargetKey = this.keyMap.get(t.key) || t.key\n // 1. Try exact match by key\n const exactMatch = entity.domain.findEntity(actualTargetKey)\n if (exactMatch) {\n if (exactMatch.namespace !== entity.domain.key) {\n assoc.addTarget(exactMatch.key, exactMatch.namespace)\n } else {\n assoc.addTarget(exactMatch.key)\n }\n } else {\n // 2. Try name/display name search\n const target = entity.domain.search({\n query: actualTargetKey,\n includeForeignDomains: true,\n nodeTypes: [DomainEntityKind],\n })\n if (target.length > 0) {\n const found = target[0]\n if (found.isForeign) {\n assoc.addTarget(found.key, found.node.namespace)\n } else {\n assoc.addTarget(found.key)\n }\n } else {\n assoc.addTarget(actualTargetKey)\n }\n }\n }\n }\n this.applySemantics(assoc, a.semantics)\n }\n\n /**\n * Processes the deletion of associations by their keys from the given domain.\n * Safely ignores errors if the specified association does not exist.\n *\n * @param domain The target data domain.\n * @param keys An array of association keys to safely remove.\n */\n protected handleAssociationDeletes(domain: DataDomain, keys?: string[]): void {\n if (!keys) {\n return\n }\n for (const key of keys) {\n const actualKey = this.keyMap.get(key) || key\n try {\n domain.removeAssociation(actualKey)\n } catch {\n // we can ignore in case the model got the wrong key.\n }\n }\n }\n\n /**\n * Processes modifications to existing associations within the domain.\n * Updates attributes, semantics, and handles adding/replacing association targets.\n *\n * @param domain The target data domain containing the associations.\n * @param mods An array of requested association modifications.\n */\n protected handleAssociationMods(domain: DataDomain, mods: AiDomainAssociationDelta[] | undefined): void {\n if (!mods) {\n return\n }\n for (const mod of mods) {\n const actualKey = this.keyMap.get(mod.key) || mod.key\n const assoc = domain.findAssociation(actualKey)\n if (!assoc) {\n continue\n }\n if (mod.name) {\n assoc.info.name = mod.name\n }\n if (mod.displayName) {\n assoc.info.displayName = mod.displayName\n }\n if (mod.description) {\n assoc.info.description = mod.description\n }\n if (mod.required !== undefined) {\n assoc.required = mod.required === null ? undefined : mod.required\n }\n if (mod.multiple !== undefined) {\n assoc.multiple = mod.multiple === null ? undefined : mod.multiple\n }\n if (mod.onDelete !== undefined) {\n assoc.onDelete = mod.onDelete === null ? undefined : mod.onDelete\n }\n\n if (mod.targets) {\n // Clear existing targets before adding new ones\n assoc.targets.splice(0, assoc.targets.length)\n for (const t of mod.targets) {\n const actualTargetKey = this.keyMap.get(t.key) || t.key\n // 1. Try exact match by key\n const exactMatch = domain.findEntity(actualTargetKey)\n if (exactMatch) {\n if (exactMatch.namespace !== domain.key) {\n assoc.addTarget(exactMatch.key, exactMatch.namespace)\n } else {\n assoc.addTarget(exactMatch.key)\n }\n } else {\n // 2. Try name/display name search\n const targetSearch = domain.search({\n query: actualTargetKey,\n includeForeignDomains: true,\n nodeTypes: [DomainEntityKind],\n })\n if (targetSearch.length > 0) {\n const found = targetSearch[0]\n if (found.isForeign) {\n assoc.addTarget(found.key, found.node.namespace)\n } else {\n assoc.addTarget(found.key)\n }\n } else {\n assoc.addTarget(actualTargetKey)\n }\n }\n }\n }\n this.applySemantics(assoc, mod.addedSemantics, mod.modifiedSemantics, mod.deletedSemanticIds)\n }\n }\n\n /**\n * Retrieves an existing `DomainModel` by its given key. If the model\n * does not exist in the domain (e.g., AI generated a brand new model name natively),\n * a newly instantiated one is created and registered within the domain automatically.\n *\n * @param domain The target data domain.\n * @param modelKey The AI-suggested or actual nanoid key of the model.\n * @returns The resolved or newly created `DomainModel`.\n */\n protected getModel(domain: DataDomain, modelKey: string): DomainModel {\n const mappedKey = this.keyMap.get(modelKey) || modelKey\n let m = domain.findModel(mappedKey)\n if (!m) {\n // AI generated a new model name (like \"shipping\"). Use it as the name, let core generate the nanoid key.\n const newKey = this.keyMap.get(modelKey) || nanoid()\n this.keyMap.set(modelKey, newKey)\n m = domain.addModel({ key: newKey, info: { name: modelKey } })\n }\n return m\n }\n\n /**\n * Helper function to batch apply semantic patches (add, modify, delete)\n * to a specific domain component (Entity, Property, or Association).\n * Validates semantic scopes heavily before applying.\n *\n * @param target The domain element (Entity, Property, Association) to receive the semantics.\n * @param added List of semantic blocks to newly append.\n * @param modified List of existing semantics to override/update.\n * @param deleted Array of semantic IDs indicating removals.\n */\n protected applySemantics(\n target: DomainEntity | DomainProperty | DomainAssociation,\n added?: AiDomainSemantic[],\n modified?: AiDomainSemantic[],\n deleted?: SemanticType[]\n ): void {\n // Determine the expected scope for the target\n let expectedScope: SemanticScope\n if (target.kind === DomainEntityKind) {\n expectedScope = SemanticScope.Entity\n } else if (target.kind === DomainPropertyKind) {\n expectedScope = SemanticScope.Property\n } else if (target.kind === DomainAssociationKind) {\n expectedScope = SemanticScope.Association\n } else {\n throw new Error(`Unsupported target kind for semantics: ${(target as { kind: string }).kind}`)\n }\n\n const isValidSemantic = (id: SemanticType): boolean => {\n const semanticDef = DataSemantics[id]\n if (!semanticDef) {\n return false\n }\n if (semanticDef.scope !== expectedScope) {\n return false\n }\n return true\n }\n\n if (added) {\n for (const s of added) {\n const typeId = this.ensureSemanticId(s.id)\n if (isValidSemantic(typeId)) {\n target.addSemantic({ id: typeId, config: s.config })\n }\n }\n }\n if (modified) {\n for (const s of modified) {\n const typeId = this.ensureSemanticId(s.id)\n if (isValidSemantic(typeId)) {\n // Technically addSemantic overrides existing if they have the same ID\n target.addSemantic({ id: typeId, config: s.config })\n }\n }\n }\n if (deleted) {\n for (const id of deleted) {\n const typeId = this.ensureSemanticId(id)\n if (isValidSemantic(typeId)) {\n target.removeSemantic(typeId)\n }\n }\n }\n }\n\n /**\n * Forces the given semantic ID to follow the structured format `Semantic#{id}`.\n *\n * @param id The raw semantic string given by the LLM/Delta payload.\n * @returns The corrected semantic ID structured for internal parsing.\n */\n protected ensureSemanticId(id: string): SemanticType {\n let result = id\n if (!id.startsWith('Semantic#')) {\n result = `Semantic#${id}`\n }\n return result as SemanticType\n }\n\n /**\n * Normalizes the delta by removing duplicates. For example, when the model\n * adds an entity more than once to the `modifiedEntities` array, this will merge all the changes\n * into a single entity.\n * @param delta The delta to normalize.\n * @returns The normalized delta.\n */\n static normalize(delta: AiDomainDelta): AiDomainDelta {\n const result: AiDomainDelta = { ...delta }\n\n const mergeProperties = (\n a: AiDomainProperty | AiDomainPropertyDelta,\n b: AiDomainProperty | AiDomainPropertyDelta\n ) => {\n const aConstraints = a.constraints\n Object.assign(a, b)\n if (aConstraints && b.constraints) {\n a.constraints = { ...aConstraints, ...b.constraints }\n }\n }\n\n const mergeAssociations = (\n a: AiDomainAssociation | AiDomainAssociationDelta,\n b: AiDomainAssociation | AiDomainAssociationDelta\n ) => {\n Object.assign(a, b)\n }\n\n const mergeSemantics = (a: AiDomainSemantic, b: AiDomainSemantic) => {\n const aConfig = a.config\n Object.assign(a, b)\n if (aConfig && b.config) {\n a.config = { ...aConfig, ...b.config }\n }\n }\n\n const mergeEntities = (a: AiDomainEntityResponseSchema, b: AiDomainEntityResponseSchema) => {\n const aTags = a.tags\n const aProps = a.properties\n const aAssoc = a.associations\n const aSem = a.semantics\n\n Object.assign(a, b)\n\n if (aTags && b.tags) {\n a.tags = Array.from(new Set([...aTags, ...b.tags]))\n }\n\n if (aProps || b.properties) {\n a.properties = mergeArrayByKey([...(aProps || []), ...(b.properties || [])], mergeProperties)\n }\n if (aAssoc || b.associations) {\n a.associations = mergeArrayByKey([...(aAssoc || []), ...(b.associations || [])], mergeAssociations)\n }\n if (aSem || b.semantics) {\n a.semantics = mergeArrayByKey([...(aSem || []), ...(b.semantics || [])], mergeSemantics, 'id')\n }\n }\n\n const mergeEntityDeltas = (a: AiDomainEntityDelta, b: AiDomainEntityDelta) => {\n const aTags = a.tags\n const aAddedProps = a.addedProperties\n const aModProps = a.modifiedProperties\n const aDelProps = a.deletedPropertyKeys\n const aAddedAssoc = a.addedAssociations\n const aModAssoc = a.modifiedAssociations\n const aDelAssoc = a.deletedAssociationKeys\n const aAddedSem = a.addedSemantics\n const aModSem = a.modifiedSemantics\n const aDelSem = a.deletedSemanticIds\n\n Object.assign(a, b)\n\n if (aTags && b.tags) {\n a.tags = Array.from(new Set([...aTags, ...b.tags]))\n }\n\n if (aAddedProps || b.addedProperties) {\n a.addedProperties = mergeArrayByKey([...(aAddedProps || []), ...(b.addedProperties || [])], mergeProperties)\n }\n if (aModProps || b.modifiedProperties) {\n a.modifiedProperties = mergeArrayByKey([...(aModProps || []), ...(b.modifiedProperties || [])], mergeProperties)\n }\n if (aDelProps && b.deletedPropertyKeys) {\n a.deletedPropertyKeys = Array.from(new Set([...aDelProps, ...b.deletedPropertyKeys]))\n }\n\n if (aAddedAssoc || b.addedAssociations) {\n a.addedAssociations = mergeArrayByKey(\n [...(aAddedAssoc || []), ...(b.addedAssociations || [])],\n mergeAssociations\n )\n }\n if (aModAssoc || b.modifiedAssociations) {\n a.modifiedAssociations = mergeArrayByKey(\n [...(aModAssoc || []), ...(b.modifiedAssociations || [])],\n mergeAssociations\n )\n }\n if (aDelAssoc && b.deletedAssociationKeys) {\n a.deletedAssociationKeys = Array.from(new Set([...aDelAssoc, ...b.deletedAssociationKeys]))\n }\n\n if (aAddedSem || b.addedSemantics) {\n a.addedSemantics = mergeArrayByKey([...(aAddedSem || []), ...(b.addedSemantics || [])], mergeSemantics, 'id')\n }\n if (aModSem || b.modifiedSemantics) {\n a.modifiedSemantics = mergeArrayByKey(\n [...(aModSem || []), ...(b.modifiedSemantics || [])],\n mergeSemantics,\n 'id'\n )\n }\n if (aDelSem && b.deletedSemanticIds) {\n a.deletedSemanticIds = Array.from(new Set([...aDelSem, ...b.deletedSemanticIds]))\n }\n }\n\n const mergeModels = (a: AiDataModelSchema, b: AiDataModelSchema) => {\n Object.assign(a, b)\n }\n\n if (result.addedEntities) {\n result.addedEntities = mergeArrayByKey(result.addedEntities, mergeEntities)\n }\n if (result.modifiedEntities) {\n result.modifiedEntities = mergeArrayByKey(result.modifiedEntities, mergeEntityDeltas)\n }\n if (result.addedModels) {\n result.addedModels = mergeArrayByKey(result.addedModels, mergeModels)\n }\n if (result.modifiedModels) {\n result.modifiedModels = mergeArrayByKey(result.modifiedModels, mergeModels)\n }\n if (result.deletedModelKeys) {\n result.deletedModelKeys = Array.from(new Set(result.deletedModelKeys))\n }\n if (result.deletedEntityKeys) {\n result.deletedEntityKeys = Array.from(new Set(result.deletedEntityKeys))\n }\n\n return result\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DataDomainDelta.js","sourceRoot":"","sources":["../../../../src/modeling/ai/DataDomainDelta.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataDomain } from '../DataDomain.js'\nimport type {\n AiDataModelSchema,\n AiDomainAssociation,\n AiDomainAssociationDelta,\n AiDomainDelta,\n AiDomainEntityDelta,\n AiDomainEntityResponseSchema,\n AiDomainProperty,\n AiDomainPropertyDelta,\n AiDomainSemantic,\n} from './types.js'\nimport type { DomainAssociation, DomainEntity, DomainEntitySchema, DomainModel, DomainProperty } from '../index.js'\nimport { nanoid } from '../../nanoid.js'\nimport { type SemanticType, SemanticScope, DataSemantics } from '../Semantics.js'\nimport { DomainEntityKind, DomainPropertyKind, DomainAssociationKind } from '../../models/kinds.js'\n\n/**\n * Normalizes the delta by removing duplicates. For example, when the model\n * adds and entity more than once to the `modifiedEntities` array, This will merge all the changes into a single entity.\n * @param delta The delta to normalize.\n * @returns The normalized delta.\n */\nfunction mergeArrayByKey<T>(\n items: T[] | undefined,\n mergeFn: (a: T, b: T) => void,\n keyProp: keyof T = 'key' as keyof T\n): T[] | undefined {\n if (!items || items.length === 0) return items\n const map = new Map<unknown, T>()\n const result: T[] = []\n for (const item of items) {\n const k = item[keyProp]\n if (!k) {\n result.push({ ...item })\n continue\n }\n const existing = map.get(k)\n if (existing) {\n mergeFn(existing, item)\n } else {\n const copy = { ...item }\n map.set(k, copy)\n result.push(copy)\n }\n }\n return result\n}\n\n/**\n * A utility class responsible for applying AI-generated modifications (deltas)\n * to an existing `DataDomain` model. It handles adding, modifying, and deleting\n * entities, properties, associations, semantics, and models based on the\n * prescribed changes.\n *\n * It also maintains a mapping of AI-generated provisional keys to the\n * actual nanoid keys used within the data domain to ensure references remain intact.\n */\nexport class DataDomainDelta {\n /**\n * The data domain to which the delta will be applied.\n */\n protected domain: DataDomain\n\n /**\n * The map containing the mappings of AI generated keys to proper nanoids.\n */\n protected keyMap: Map<string, string>\n\n /**\n * Initializes a new instance of the `DataDomainDelta` class.\n *\n * @param domain The target data domain where changes will be applied.\n * @param keyMap An optional map tracking AI-generated provisional keys to actual domain nanoids.\n */\n constructor(domain: DataDomain, keyMap = new Map<string, string>()) {\n this.domain = domain\n this.keyMap = keyMap\n }\n\n /**\n * Applies the entire given delta structure to the data domain in a single pass.\n * Operations include processing added/modified/deleted components across\n * models, entities, properties, associations, and semantics.\n *\n * @param delta The AI-generated delta schema containing all requested changes.\n */\n apply(delta: AiDomainDelta): void {\n if (delta.addedModels) {\n for (const m of delta.addedModels) {\n const existing = this.domain.findModel(this.keyMap.get(m.key) || m.key)\n if (!existing) {\n let newKey = this.keyMap.get(m.key)\n if (!newKey) {\n newKey = nanoid()\n this.keyMap.set(m.key, newKey)\n }\n this.domain.addModel({ key: newKey, info: { name: m.name, description: m.description } })\n }\n }\n }\n\n if (delta.modifiedModels) {\n for (const mod of delta.modifiedModels) {\n const actualKey = this.keyMap.get(mod.key) || mod.key\n const model = this.domain.findModel(actualKey)\n if (model) {\n if (mod.name !== undefined) model.info.name = mod.name\n if (mod.description !== undefined) model.info.description = mod.description\n }\n }\n }\n\n if (delta.addedEntities) {\n for (const e of delta.addedEntities) {\n this.handleAddEntity(e)\n }\n }\n\n if (delta.deletedEntityKeys) {\n for (const key of delta.deletedEntityKeys) {\n const actualKey = this.keyMap.get(key) || key\n this.domain.removeEntity(actualKey)\n }\n }\n\n if (delta.modifiedEntities) {\n for (const mod of delta.modifiedEntities) {\n const actualEntityKey = this.keyMap.get(mod.key) || mod.key\n const entity = this.domain.findEntity(actualEntityKey)\n if (!entity) {\n continue\n }\n\n if (mod.modelKey) {\n const currentModel = entity.getParentInstance() as DomainModel\n const actualModelKey = this.keyMap.get(mod.modelKey) || mod.modelKey\n if (currentModel.key !== actualModelKey && currentModel.info.name !== mod.modelKey) {\n const newModel = this.getModel(this.domain, actualModelKey)\n newModel.attachEntity(entity.key)\n }\n }\n\n if (mod.name) entity.info.name = mod.name\n if (mod.displayName) entity.info.displayName = mod.displayName\n if (mod.description) entity.info.description = mod.description\n if (mod.tags !== undefined) {\n entity.tags = mod.tags === null ? [] : mod.tags\n }\n\n this.applySemantics(entity, mod.addedSemantics, mod.modifiedSemantics, mod.deletedSemanticIds)\n\n this.handlePropertyAdds(entity, mod.addedProperties)\n this.handlePropertyDeletes(this.domain, mod.deletedPropertyKeys)\n this.handlePropertyMods(this.domain, mod.modifiedProperties)\n this.handleAssociationAdds(entity, mod.addedAssociations)\n this.handleAssociationDeletes(this.domain, mod.deletedAssociationKeys)\n this.handleAssociationMods(this.domain, mod.modifiedAssociations)\n }\n }\n\n if (delta.deletedModelKeys) {\n for (const key of delta.deletedModelKeys) {\n const actualKey = this.keyMap.get(key) || key\n try {\n this.domain.removeModel(actualKey)\n } catch {\n // ignore\n }\n }\n }\n }\n\n /**\n * Internal handler to add a new entity to the data domain based on the provided schema.\n * It also recursively handles adding the entity's semantics, properties, and associations.\n *\n * @param domain The data domain where the entity will reside.\n * @param e The schema definition of the entity to be added.\n */\n protected handleAddEntity(e: AiDomainEntityResponseSchema): void {\n const targetModel = this.getModel(this.domain, e.modelKey || 'ai_generated')\n const entityInput = { ...e }\n delete entityInput.semantics\n let entityKey = this.keyMap.get(e.key)\n if (!entityKey) {\n entityKey = nanoid()\n this.keyMap.set(e.key, entityKey)\n }\n\n const entityInfo: Partial<DomainEntitySchema> = {\n ...entityInput,\n key: entityKey,\n info: {\n name: e.name,\n displayName: e.displayName,\n description: e.description,\n },\n }\n const createdEntity = targetModel.addEntity(entityInfo)\n this.applySemantics(createdEntity, e.semantics)\n if (e.properties) {\n for (const p of e.properties) {\n this.handleAddProperty(createdEntity, p)\n }\n }\n if (e.associations) {\n for (const a of e.associations) {\n this.handleAddAssociation(createdEntity, a)\n }\n }\n }\n\n /**\n * Processes an array of newly added properties for a specific entity.\n *\n * @param entity The target domain entity to receive the new properties.\n * @param adds The list of property definitions to add, if any.\n */\n protected handlePropertyAdds(entity: DomainEntity, adds?: AiDomainProperty[]): void {\n if (!adds) {\n return\n }\n for (const p of adds) {\n this.handleAddProperty(entity, p)\n }\n }\n\n /**\n * Internal handler to add a single property to an entity, generating keys\n * and applying semantics as defined in the AI schema.\n *\n * @param entity The target domain entity.\n * @param p The schema definition of the property to add.\n */\n protected handleAddProperty(entity: DomainEntity, p: AiDomainProperty): void {\n let propKey = p.key ? this.keyMap.get(p.key) : undefined\n if (!propKey) {\n propKey = nanoid()\n if (p.key) {\n this.keyMap.set(p.key, propKey)\n }\n }\n const prop = entity.addProperty({\n key: propKey,\n type: p.type,\n info: {\n name: p.name,\n displayName: p.displayName,\n description: p.description,\n },\n required: p.constraints?.required,\n unique: p.constraints?.unique,\n index: p.constraints?.index,\n primary: p.constraints?.primary,\n multiple: p.constraints?.multiple,\n readOnly: p.constraints?.readOnly,\n writeOnly: p.constraints?.writeOnly,\n deprecated: p.deprecated,\n schema: p.schema,\n tags: p.tags || undefined,\n })\n this.applySemantics(prop, p.semantics)\n }\n\n /**\n * Processes the deletion of properties by their keys from the given domain.\n * Fails silently if a key is not found, maintaining fault tolerance.\n *\n * @param domain The target data domain.\n * @param keys The array of property keys (AI-generated or actual) to remove.\n */\n protected handlePropertyDeletes(domain: DataDomain, keys?: string[]): void {\n if (!keys) {\n return\n }\n for (const key of keys) {\n const actualKey = this.keyMap.get(key) || key\n try {\n domain.removeProperty(actualKey)\n } catch {\n // we can ignore in case the model got the wrong key.\n }\n }\n }\n\n /**\n * Processes modifications to existing properties within the domain, updating\n * specific metadata, constraints, schema rules, and semantics based on the delta.\n *\n * @param domain The target data domain.\n * @param mods The list of property modifications to apply.\n */\n protected handlePropertyMods(domain: DataDomain, mods?: AiDomainPropertyDelta[]): void {\n if (!mods) {\n return\n }\n for (const mod of mods) {\n const actualKey = this.keyMap.get(mod.key) || mod.key\n const prop = domain.findProperty(actualKey)\n if (!prop) {\n continue\n }\n if (mod.name) {\n prop.info.name = mod.name\n }\n if (mod.displayName) {\n prop.info.displayName = mod.displayName\n }\n if (mod.description) {\n prop.info.description = mod.description\n }\n if (mod.type) {\n prop.type = mod.type\n }\n if (mod.deprecated !== undefined) {\n prop.deprecated = mod.deprecated === null ? undefined : mod.deprecated\n }\n if (mod.constraints) {\n if (mod.constraints.required !== undefined) {\n prop.required = mod.constraints.required === null ? undefined : mod.constraints.required\n }\n if (mod.constraints.unique !== undefined) {\n prop.unique = mod.constraints.unique === null ? undefined : mod.constraints.unique\n }\n if (mod.constraints.index !== undefined) {\n prop.index = mod.constraints.index === null ? undefined : mod.constraints.index\n }\n if (mod.constraints.primary !== undefined) {\n prop.primary = mod.constraints.primary === null ? undefined : mod.constraints.primary\n }\n if (mod.constraints.multiple !== undefined) {\n prop.multiple = mod.constraints.multiple === null ? undefined : mod.constraints.multiple\n }\n if (mod.constraints.readOnly !== undefined) {\n prop.readOnly = mod.constraints.readOnly === null ? undefined : mod.constraints.readOnly\n }\n if (mod.constraints.writeOnly !== undefined) {\n prop.writeOnly = mod.constraints.writeOnly === null ? undefined : mod.constraints.writeOnly\n }\n }\n if (mod.schema) {\n if (!prop.schema) {\n prop.schema = {}\n }\n if (mod.schema.defaultValue !== undefined) {\n if (mod.schema.defaultValue === null) {\n prop.schema.defaultValue = undefined\n } else {\n if (!prop.schema.defaultValue) {\n prop.schema.defaultValue = {\n value: '',\n type: 'literal',\n }\n }\n if (mod.schema.defaultValue.type) {\n prop.schema.defaultValue.type = mod.schema.defaultValue.type\n }\n if (mod.schema.defaultValue.value) {\n prop.schema.defaultValue.value = mod.schema.defaultValue.value\n }\n }\n }\n if (mod.schema.pattern !== undefined) {\n prop.schema.pattern = mod.schema.pattern === null ? undefined : mod.schema.pattern\n }\n if (mod.schema.minimum !== undefined) {\n prop.schema.minimum = mod.schema.minimum === null ? undefined : mod.schema.minimum\n }\n if (mod.schema.maximum !== undefined) {\n prop.schema.maximum = mod.schema.maximum === null ? undefined : mod.schema.maximum\n }\n if (mod.schema.exclusiveMinimum !== undefined) {\n prop.schema.exclusiveMinimum = mod.schema.exclusiveMinimum === null ? undefined : mod.schema.exclusiveMinimum\n }\n if (mod.schema.exclusiveMaximum !== undefined) {\n prop.schema.exclusiveMaximum = mod.schema.exclusiveMaximum === null ? undefined : mod.schema.exclusiveMaximum\n }\n if (mod.schema.multipleOf !== undefined) {\n prop.schema.multipleOf = mod.schema.multipleOf === null ? undefined : mod.schema.multipleOf\n }\n if (mod.schema.enum !== undefined) {\n prop.schema.enum = mod.schema.enum === null ? undefined : [...mod.schema.enum]\n }\n if (mod.schema.examples !== undefined) {\n prop.schema.examples = mod.schema.examples === null ? undefined : [...mod.schema.examples]\n }\n }\n this.applySemantics(prop, mod.addedSemantics, mod.modifiedSemantics, mod.deletedSemanticIds)\n }\n }\n\n /**\n * Processes an array of newly added associations for a specific entity.\n *\n * @param entity The target domain entity referencing the newly created associations.\n * @param adds An array of association definitions to add, if any.\n */\n protected handleAssociationAdds(entity: DomainEntity, adds: AiDomainAssociation[] | undefined): void {\n if (!adds) {\n return\n }\n for (const a of adds) {\n this.handleAddAssociation(entity, a)\n }\n }\n\n /**\n * Internal handler to append a single association to an entity, effectively creating\n * a relationship to one or more targets. Attempts an optimized exact O(1) loopup\n * before falling back to a full domain search.\n *\n * @param entity The source domain entity creating the association.\n * @param a The defining schema for the new association.\n */\n protected handleAddAssociation(entity: DomainEntity, a: AiDomainAssociation): void {\n let assocKey = this.keyMap.get(a.key)\n if (!assocKey) {\n assocKey = nanoid()\n this.keyMap.set(a.key, assocKey)\n }\n const assoc = entity.addAssociation({\n key: assocKey,\n info: { name: a.name, displayName: a.displayName, description: a.description },\n required: a.required,\n multiple: a.multiple,\n onDelete: a.onDelete,\n schema: a.schema,\n })\n if (a.targets) {\n for (const t of a.targets) {\n const actualTargetKey = this.keyMap.get(t.key) || t.key\n // 1. Try exact match by key\n const exactMatch = entity.domain.findEntity(actualTargetKey)\n if (exactMatch) {\n if (exactMatch.namespace !== entity.domain.key) {\n assoc.addTarget(exactMatch.key, exactMatch.namespace)\n } else {\n assoc.addTarget(exactMatch.key)\n }\n } else {\n // 2. Try name/display name search\n const target = entity.domain.search({\n query: actualTargetKey,\n includeForeignDomains: true,\n nodeTypes: [DomainEntityKind],\n })\n if (target.length > 0) {\n const found = target[0]\n if (found.isForeign) {\n assoc.addTarget(found.key, found.node.namespace)\n } else {\n assoc.addTarget(found.key)\n }\n } else {\n assoc.addTarget(actualTargetKey)\n }\n }\n }\n }\n this.applySemantics(assoc, a.semantics)\n }\n\n /**\n * Processes the deletion of associations by their keys from the given domain.\n * Safely ignores errors if the specified association does not exist.\n *\n * @param domain The target data domain.\n * @param keys An array of association keys to safely remove.\n */\n protected handleAssociationDeletes(domain: DataDomain, keys?: string[]): void {\n if (!keys) {\n return\n }\n for (const key of keys) {\n const actualKey = this.keyMap.get(key) || key\n try {\n domain.removeAssociation(actualKey)\n } catch {\n // we can ignore in case the model got the wrong key.\n }\n }\n }\n\n /**\n * Processes modifications to existing associations within the domain.\n * Updates attributes, semantics, and handles adding/replacing association targets.\n *\n * @param domain The target data domain containing the associations.\n * @param mods An array of requested association modifications.\n */\n protected handleAssociationMods(domain: DataDomain, mods: AiDomainAssociationDelta[] | undefined): void {\n if (!mods) {\n return\n }\n for (const mod of mods) {\n const actualKey = this.keyMap.get(mod.key) || mod.key\n const assoc = domain.findAssociation(actualKey)\n if (!assoc) {\n continue\n }\n if (mod.name) {\n assoc.info.name = mod.name\n }\n if (mod.displayName) {\n assoc.info.displayName = mod.displayName\n }\n if (mod.description) {\n assoc.info.description = mod.description\n }\n if (mod.required !== undefined) {\n assoc.required = mod.required === null ? undefined : mod.required\n }\n if (mod.multiple !== undefined) {\n assoc.multiple = mod.multiple === null ? undefined : mod.multiple\n }\n if (mod.onDelete !== undefined) {\n assoc.onDelete = mod.onDelete === null ? undefined : mod.onDelete\n }\n\n if (mod.targets) {\n // Clear existing targets before adding new ones\n assoc.targets.splice(0, assoc.targets.length)\n for (const t of mod.targets) {\n const actualTargetKey = this.keyMap.get(t.key) || t.key\n // 1. Try exact match by key\n const exactMatch = domain.findEntity(actualTargetKey)\n if (exactMatch) {\n if (exactMatch.namespace !== domain.key) {\n assoc.addTarget(exactMatch.key, exactMatch.namespace)\n } else {\n assoc.addTarget(exactMatch.key)\n }\n } else {\n // 2. Try name/display name search\n const targetSearch = domain.search({\n query: actualTargetKey,\n includeForeignDomains: true,\n nodeTypes: [DomainEntityKind],\n })\n if (targetSearch.length > 0) {\n const found = targetSearch[0]\n if (found.isForeign) {\n assoc.addTarget(found.key, found.node.namespace)\n } else {\n assoc.addTarget(found.key)\n }\n } else {\n assoc.addTarget(actualTargetKey)\n }\n }\n }\n }\n this.applySemantics(assoc, mod.addedSemantics, mod.modifiedSemantics, mod.deletedSemanticIds)\n }\n }\n\n /**\n * Retrieves an existing `DomainModel` by its given key. If the model\n * does not exist in the domain (e.g., AI generated a brand new model name natively),\n * a newly instantiated one is created and registered within the domain automatically.\n *\n * @param domain The target data domain.\n * @param modelKey The AI-suggested or actual nanoid key of the model.\n * @returns The resolved or newly created `DomainModel`.\n */\n protected getModel(domain: DataDomain, modelKey: string): DomainModel {\n const mappedKey = this.keyMap.get(modelKey) || modelKey\n let m = domain.findModel(mappedKey)\n if (!m) {\n // AI generated a new model name (like \"shipping\"). Use it as the name, let core generate the nanoid key.\n const newKey = this.keyMap.get(modelKey) || nanoid()\n this.keyMap.set(modelKey, newKey)\n m = domain.addModel({ key: newKey, info: { name: modelKey } })\n }\n return m\n }\n\n /**\n * Helper function to batch apply semantic patches (add, modify, delete)\n * to a specific domain component (Entity, Property, or Association).\n * Validates semantic scopes heavily before applying.\n *\n * @param target The domain element (Entity, Property, Association) to receive the semantics.\n * @param added List of semantic blocks to newly append.\n * @param modified List of existing semantics to override/update.\n * @param deleted Array of semantic IDs indicating removals.\n */\n protected applySemantics(\n target: DomainEntity | DomainProperty | DomainAssociation,\n added?: AiDomainSemantic[],\n modified?: AiDomainSemantic[],\n deleted?: SemanticType[]\n ): void {\n // Determine the expected scope for the target\n let expectedScope: SemanticScope\n if (target.kind === DomainEntityKind) {\n expectedScope = SemanticScope.Entity\n } else if (target.kind === DomainPropertyKind) {\n expectedScope = SemanticScope.Property\n } else if (target.kind === DomainAssociationKind) {\n expectedScope = SemanticScope.Association\n } else {\n throw new Error(`Unsupported target kind for semantics: ${(target as { kind: string }).kind}`)\n }\n\n const isValidSemantic = (id: SemanticType): boolean => {\n const semanticDef = DataSemantics[id]\n if (!semanticDef) {\n return false\n }\n if (semanticDef.scope !== expectedScope) {\n return false\n }\n return true\n }\n\n if (added) {\n for (const s of added) {\n const typeId = this.ensureSemanticId(s.id)\n if (isValidSemantic(typeId)) {\n target.addSemantic({ id: typeId, config: s.config })\n }\n }\n }\n if (modified) {\n for (const s of modified) {\n const typeId = this.ensureSemanticId(s.id)\n if (isValidSemantic(typeId)) {\n // Technically addSemantic overrides existing if they have the same ID\n target.addSemantic({ id: typeId, config: s.config })\n }\n }\n }\n if (deleted) {\n for (const id of deleted) {\n const typeId = this.ensureSemanticId(id)\n if (isValidSemantic(typeId)) {\n target.removeSemantic(typeId)\n }\n }\n }\n }\n\n /**\n * Forces the given semantic ID to follow the structured format `Semantic#{id}`.\n *\n * @param id The raw semantic string given by the LLM/Delta payload.\n * @returns The corrected semantic ID structured for internal parsing.\n */\n protected ensureSemanticId(id: string): SemanticType {\n let result = id\n if (!id.startsWith('Semantic#')) {\n result = `Semantic#${id}`\n }\n return result as SemanticType\n }\n\n /**\n * Normalizes the delta by removing duplicates. For example, when the model\n * adds an entity more than once to the `modifiedEntities` array, this will merge all the changes\n * into a single entity.\n * @param delta The delta to normalize.\n * @returns The normalized delta.\n */\n static normalize(delta: AiDomainDelta): AiDomainDelta {\n const result: AiDomainDelta = { ...delta }\n\n const mergeProperties = (\n a: AiDomainProperty | AiDomainPropertyDelta,\n b: AiDomainProperty | AiDomainPropertyDelta\n ) => {\n const aConstraints = a.constraints\n Object.assign(a, b)\n if (aConstraints && b.constraints) {\n a.constraints = { ...aConstraints, ...b.constraints }\n }\n }\n\n const mergeAssociations = (\n a: AiDomainAssociation | AiDomainAssociationDelta,\n b: AiDomainAssociation | AiDomainAssociationDelta\n ) => {\n Object.assign(a, b)\n }\n\n const mergeSemantics = (a: AiDomainSemantic, b: AiDomainSemantic) => {\n const aConfig = a.config\n Object.assign(a, b)\n if (aConfig && b.config) {\n a.config = { ...aConfig, ...b.config }\n }\n }\n\n const mergeEntities = (a: AiDomainEntityResponseSchema, b: AiDomainEntityResponseSchema) => {\n const aTags = a.tags\n const aProps = a.properties\n const aAssoc = a.associations\n const aSem = a.semantics\n\n Object.assign(a, b)\n\n if (aTags && b.tags) {\n a.tags = Array.from(new Set([...aTags, ...b.tags]))\n }\n\n if (aProps || b.properties) {\n a.properties = mergeArrayByKey([...(aProps || []), ...(b.properties || [])], mergeProperties)\n }\n if (aAssoc || b.associations) {\n a.associations = mergeArrayByKey([...(aAssoc || []), ...(b.associations || [])], mergeAssociations)\n }\n if (aSem || b.semantics) {\n a.semantics = mergeArrayByKey([...(aSem || []), ...(b.semantics || [])], mergeSemantics, 'id')\n }\n }\n\n const mergeEntityDeltas = (a: AiDomainEntityDelta, b: AiDomainEntityDelta) => {\n const aTags = a.tags\n const aAddedProps = a.addedProperties\n const aModProps = a.modifiedProperties\n const aDelProps = a.deletedPropertyKeys\n const aAddedAssoc = a.addedAssociations\n const aModAssoc = a.modifiedAssociations\n const aDelAssoc = a.deletedAssociationKeys\n const aAddedSem = a.addedSemantics\n const aModSem = a.modifiedSemantics\n const aDelSem = a.deletedSemanticIds\n\n Object.assign(a, b)\n\n if (aTags && b.tags) {\n a.tags = Array.from(new Set([...aTags, ...b.tags]))\n }\n\n if (aAddedProps || b.addedProperties) {\n a.addedProperties = mergeArrayByKey([...(aAddedProps || []), ...(b.addedProperties || [])], mergeProperties)\n }\n if (aModProps || b.modifiedProperties) {\n a.modifiedProperties = mergeArrayByKey([...(aModProps || []), ...(b.modifiedProperties || [])], mergeProperties)\n }\n if (aDelProps && b.deletedPropertyKeys) {\n a.deletedPropertyKeys = Array.from(new Set([...aDelProps, ...b.deletedPropertyKeys]))\n }\n\n if (aAddedAssoc || b.addedAssociations) {\n a.addedAssociations = mergeArrayByKey(\n [...(aAddedAssoc || []), ...(b.addedAssociations || [])],\n mergeAssociations\n )\n }\n if (aModAssoc || b.modifiedAssociations) {\n a.modifiedAssociations = mergeArrayByKey(\n [...(aModAssoc || []), ...(b.modifiedAssociations || [])],\n mergeAssociations\n )\n }\n if (aDelAssoc && b.deletedAssociationKeys) {\n a.deletedAssociationKeys = Array.from(new Set([...aDelAssoc, ...b.deletedAssociationKeys]))\n }\n\n if (aAddedSem || b.addedSemantics) {\n a.addedSemantics = mergeArrayByKey([...(aAddedSem || []), ...(b.addedSemantics || [])], mergeSemantics, 'id')\n }\n if (aModSem || b.modifiedSemantics) {\n a.modifiedSemantics = mergeArrayByKey(\n [...(aModSem || []), ...(b.modifiedSemantics || [])],\n mergeSemantics,\n 'id'\n )\n }\n if (aDelSem && b.deletedSemanticIds) {\n a.deletedSemanticIds = Array.from(new Set([...aDelSem, ...b.deletedSemanticIds]))\n }\n }\n\n const mergeModels = (a: AiDataModelSchema, b: AiDataModelSchema) => {\n Object.assign(a, b)\n }\n\n if (result.addedEntities) {\n result.addedEntities = mergeArrayByKey(result.addedEntities, mergeEntities)\n }\n if (result.modifiedEntities) {\n result.modifiedEntities = mergeArrayByKey(result.modifiedEntities, mergeEntityDeltas)\n }\n if (result.addedModels) {\n result.addedModels = mergeArrayByKey(result.addedModels, mergeModels)\n }\n if (result.modifiedModels) {\n result.modifiedModels = mergeArrayByKey(result.modifiedModels, mergeModels)\n }\n if (result.deletedModelKeys) {\n result.deletedModelKeys = Array.from(new Set(result.deletedModelKeys))\n }\n if (result.deletedEntityKeys) {\n result.deletedEntityKeys = Array.from(new Set(result.deletedEntityKeys))\n }\n\n return result\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modeling/amf/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modeling/amf/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA","sourcesContent":["export { ShapeGenerator } from './ShapeGenerator.js'\nexport { modelTypeToAmfDataType } from './core_types.js'\nexport { DataValueGenerator, noValue } from './DataValueGenerator.js'\n"]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './actions/index.js';
|
|
2
|
+
export * from './ai/index.js';
|
|
3
|
+
export * from './amf/index.js';
|
|
2
4
|
export * from './rules/index.js';
|
|
3
|
-
export * from './types.js';
|
|
5
|
+
export type * from './types.js';
|
|
4
6
|
export { ApiModel, type ApiModelSchema, type ApiContact, type ApiLicense } from './ApiModel.js';
|
|
5
7
|
export { DataDomain, type DataDomainSchema } from './DataDomain.js';
|
|
6
8
|
export { DomainAssociation, type DomainAssociationSchema, type OnDeleteRule } from './DomainAssociation.js';
|
|
@@ -10,4 +12,19 @@ export { DomainNamespace, type DomainNamespaceSchema, type NamespaceOrderedItem
|
|
|
10
12
|
export { DomainProperty, type DomainPropertySchema } from './DomainProperty.js';
|
|
11
13
|
export { ExposedEntity } from './ExposedEntity.js';
|
|
12
14
|
export * as ApiModelValidation from './validation/api_model_rules.js';
|
|
15
|
+
export * as DataFormat from './DataFormat.js';
|
|
16
|
+
export type { PropertyBinding, PropertyProtobufBindings, PropertyWebBindings, AssociationBinding, AssociationBindings, AssociationWebBindings, PropertyBindings, } from './Bindings.js';
|
|
17
|
+
export type * from './types.js';
|
|
18
|
+
export { DomainImpactAnalysis } from './DomainImpactAnalysis.js';
|
|
19
|
+
export * as DomainSerialization from './DomainSerialization.js';
|
|
20
|
+
export * as DomainVersioning from './DomainVersioning.js';
|
|
21
|
+
export { DomainFile, type IDomainFile, type DomainFileSchema } from './DomainFile.js';
|
|
22
|
+
export { ApiFile, type IApiFile, type ApiFileSchema } from './ApiFile.js';
|
|
23
|
+
export { type DomainValidationSchema } from './validation/rules.js';
|
|
24
|
+
export { EntityValidation } from './validation/entity_validation.js';
|
|
25
|
+
export { PropertyValidation } from './validation/property_validation.js';
|
|
26
|
+
export { AssociationValidation } from './validation/association_validation.js';
|
|
27
|
+
export { ApiValidation } from './ApiValidation.js';
|
|
28
|
+
export { validateApiModelInfo, validateApiModelDependency, validateApiModelSecurity, validateApiModelMetadata, validateExposedEntity, } from './validation/api_model_rules.js';
|
|
29
|
+
export * as Semantics from './Semantics.js';
|
|
13
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modeling/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modeling/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,mBAAmB,YAAY,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/F,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC3G,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACjG,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC7G,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,kBAAkB,MAAM,iCAAiC,CAAA;AACrE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,YAAY,EACV,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,eAAe,CAAA;AACtB,mBAAmB,YAAY,CAAA;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACrF,OAAO,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// These interfaces work both in Node and Browser. Do not add any runtime specific imports.
|
|
2
2
|
export * from './actions/index.js';
|
|
3
|
+
export * from './ai/index.js';
|
|
4
|
+
export * from './amf/index.js';
|
|
3
5
|
export * from './rules/index.js';
|
|
4
|
-
export * from './types.js';
|
|
5
6
|
export { ApiModel } from './ApiModel.js';
|
|
6
7
|
export { DataDomain } from './DataDomain.js';
|
|
7
8
|
export { DomainAssociation } from './DomainAssociation.js';
|
|
@@ -11,4 +12,16 @@ export { DomainNamespace } from './DomainNamespace.js';
|
|
|
11
12
|
export { DomainProperty } from './DomainProperty.js';
|
|
12
13
|
export { ExposedEntity } from './ExposedEntity.js';
|
|
13
14
|
export * as ApiModelValidation from './validation/api_model_rules.js';
|
|
15
|
+
export * as DataFormat from './DataFormat.js';
|
|
16
|
+
export { DomainImpactAnalysis } from './DomainImpactAnalysis.js';
|
|
17
|
+
export * as DomainSerialization from './DomainSerialization.js';
|
|
18
|
+
export * as DomainVersioning from './DomainVersioning.js';
|
|
19
|
+
export { DomainFile } from './DomainFile.js';
|
|
20
|
+
export { ApiFile } from './ApiFile.js';
|
|
21
|
+
export { EntityValidation } from './validation/entity_validation.js';
|
|
22
|
+
export { PropertyValidation } from './validation/property_validation.js';
|
|
23
|
+
export { AssociationValidation } from './validation/association_validation.js';
|
|
24
|
+
export { ApiValidation } from './ApiValidation.js';
|
|
25
|
+
export { validateApiModelInfo, validateApiModelDependency, validateApiModelSecurity, validateApiModelMetadata, validateExposedEntity, } from './validation/api_model_rules.js';
|
|
26
|
+
export * as Semantics from './Semantics.js';
|
|
14
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modeling/index.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,oBAAoB,CAAA;AAClC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modeling/index.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAEhC,OAAO,EAAE,QAAQ,EAAyD,MAAM,eAAe,CAAA;AAC/F,OAAO,EAAE,UAAU,EAAyB,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAmD,MAAM,wBAAwB,CAAA;AAC3G,OAAO,EAAE,YAAY,EAAmD,MAAM,mBAAmB,CAAA;AACjG,OAAO,EAAE,WAAW,EAAiD,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAE,eAAe,EAAyD,MAAM,sBAAsB,CAAA;AAC7G,OAAO,EAAE,cAAc,EAA6B,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,kBAAkB,MAAM,iCAAiC,CAAA;AACrE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAW7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAA2C,MAAM,iBAAiB,CAAA;AACrF,OAAO,EAAE,OAAO,EAAqC,MAAM,cAAc,CAAA;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA","sourcesContent":["// These interfaces work both in Node and Browser. Do not add any runtime specific imports.\nexport * from './actions/index.js'\nexport * from './ai/index.js'\nexport * from './amf/index.js'\nexport * from './rules/index.js'\nexport type * from './types.js'\nexport { ApiModel, type ApiModelSchema, type ApiContact, type ApiLicense } from './ApiModel.js'\nexport { DataDomain, type DataDomainSchema } from './DataDomain.js'\nexport { DomainAssociation, type DomainAssociationSchema, type OnDeleteRule } from './DomainAssociation.js'\nexport { DomainEntity, type DomainEntitySchema, type EntityOrderedItem } from './DomainEntity.js'\nexport { DomainModel, type DomainModelSchema, type ModelOrderedItem } from './DomainModel.js'\nexport { DomainNamespace, type DomainNamespaceSchema, type NamespaceOrderedItem } from './DomainNamespace.js'\nexport { DomainProperty, type DomainPropertySchema } from './DomainProperty.js'\nexport { ExposedEntity } from './ExposedEntity.js'\nexport * as ApiModelValidation from './validation/api_model_rules.js'\nexport * as DataFormat from './DataFormat.js'\nexport type {\n PropertyBinding,\n PropertyProtobufBindings,\n PropertyWebBindings,\n AssociationBinding,\n AssociationBindings,\n AssociationWebBindings,\n PropertyBindings,\n} from './Bindings.js'\nexport type * from './types.js'\nexport { DomainImpactAnalysis } from './DomainImpactAnalysis.js'\nexport * as DomainSerialization from './DomainSerialization.js'\nexport * as DomainVersioning from './DomainVersioning.js'\nexport { DomainFile, type IDomainFile, type DomainFileSchema } from './DomainFile.js'\nexport { ApiFile, type IApiFile, type ApiFileSchema } from './ApiFile.js'\nexport { type DomainValidationSchema } from './validation/rules.js'\nexport { EntityValidation } from './validation/entity_validation.js'\nexport { PropertyValidation } from './validation/property_validation.js'\nexport { AssociationValidation } from './validation/association_validation.js'\nexport { ApiValidation } from './ApiValidation.js'\nexport {\n validateApiModelInfo,\n validateApiModelDependency,\n validateApiModelSecurity,\n validateApiModelMetadata,\n validateExposedEntity,\n} from './validation/api_model_rules.js'\nexport * as Semantics from './Semantics.js'\n"]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export * from './kinds.js';
|
|
2
|
+
export * from './store/index.js';
|
|
3
|
+
export { type IApplication } from './Application.js';
|
|
4
|
+
export { Response, type IResponse } from './Response.js';
|
|
5
|
+
export { type IAuthorizationSettingsUnion, type IApiKeyAuthorization, type IAuthorizationParams, type IBasicAuthorization, type IBearerAuthorization, type ICCAuthorization, type IDigestAuthorization, type INtlmAuthorization, type IOAuth1Authorization, type IOAuth2Authorization, type IOAuth2AuthorizationRequestCustomData, type IOAuth2CustomData, type IOAuth2CustomParameter, type IOAuth2TokenRequestCustomData, type IOauth2GrantType, type IOauth2ResponseType, type IOidcAuthorization, type IOidcTokenError, type IOidcTokenInfo, type IPassThroughAuthorization, type IRamlCustomAuthorization, type ITokenError, type ITokenInfo, type ITokenRemoveOptions, type OAuth2DeliveryMethod, type AuthorizationType, } from './Authorization.js';
|
|
6
|
+
export { AuthorizationData, type IAuthorizationData } from './AuthorizationData.js';
|
|
7
|
+
export { CertificateFile, type ICertificateFile } from './CertificateFile.js';
|
|
8
|
+
export { Certificate, type CertificateDataFormat, type CertificateType, type HttpCertificate, type ICertificate, type ICertificateCreateOptions, type ICertificateData, type IP12Certificate, type IP12CreateOptions, type IPemCertificate, type IPemCreateOptions, Kind as CertificateKind, } from './ClientCertificate.js';
|
|
9
|
+
export { Environment, type IEnvironment, Kind as EnvironmentKind } from './Environment.js';
|
|
10
|
+
export { ErrorResponse, type IErrorResponse } from './ErrorResponse.js';
|
|
11
|
+
export { HeadersArray } from './HeadersArray.js';
|
|
12
|
+
export { type IHostRule, HostRule, Kind as HostRuleKind } from './HostRule.js';
|
|
13
|
+
export { type IHttpCookie, HttpCookie, type CookieChangeReason, type CookieSameSiteType } from './HttpCookie.js';
|
|
14
|
+
export { type IHttpHistory, HttpHistory, Kind as HttpHistoryKind, type IHttpHistoryBulkAdd } from './HttpHistory.js';
|
|
15
|
+
export { HttpProject, type IHttpProject, Kind as HttpProjectKind, type IFolderCreateOptions, type IFolderDeleteOptions, type IFolderSearchOptions, type IProjectMoveOptions, type IRequestAddOptions, type IRequestDeleteOptions, type IRequestSearchOptions, type IProjectFolderIterator, type IProjectFolderIteratorResult, type IProjectRequestIterator, } from './HttpProject.js';
|
|
16
|
+
export { type IHttpRequest, HttpRequest, Kind as HttpRequestKind } from './HttpRequest.js';
|
|
17
|
+
export { HttpResponse, type IHttpResponse } from './HttpResponse.js';
|
|
18
|
+
export { License, type ILicense, Kind as LicenseKind } from './License.js';
|
|
19
|
+
export { Project, type IProject } from './Project.js';
|
|
20
|
+
export { type IProjectExecutionLog, type IProjectExecutionIteration, type IProjectExecution, ProjectExecution, Kind as ProjectExecutionKind, } from './ProjectExecution.js';
|
|
21
|
+
export { type IProjectFolder, ProjectFolder, DefaultFolderName } from './ProjectFolder.js';
|
|
22
|
+
export { ProjectItem, type IProjectItem } from './ProjectItem.js';
|
|
23
|
+
export { type IProjectRequest, ProjectRequest, Kind as ProjectRequestKind } from './ProjectRequest.js';
|
|
24
|
+
export { ProjectSchema, type IProjectSchema, Kind as ProjectSchemaKind } from './ProjectSchema.js';
|
|
25
|
+
export { Property, type IProperty, Kind as PropertyKind } from './Property.js';
|
|
26
|
+
export { Provider, type IProvider, Kind as ProviderKind } from './Provider.js';
|
|
27
|
+
export { Request, type IRequest, Kind as RequestKind } from './Request.js';
|
|
28
|
+
export { RequestAuthorization, type IRequestAuthorization, Kind as RequestAuthorizationKind, } from './RequestAuthorization.js';
|
|
29
|
+
export { RequestConfig, type IRequestConfig, type IRequestBaseConfig, Kind as RequestConfigKind, } from './RequestConfig.js';
|
|
30
|
+
export { RequestLog, type IRequestLog, Kind as RequestLogKind } from './RequestLog.js';
|
|
31
|
+
export { RequestsSize, type IRequestsSize, Kind as RequestsSizeKind } from './RequestsSize.js';
|
|
32
|
+
export { RequestTime, type IRequestTime, Kind as RequestTimeKind } from './RequestTime.js';
|
|
33
|
+
export { RequestUiMeta, type IRequestUiMeta, Kind as RequestUiMetaKind, type IAuthMeta, type IBodyMeta, type IBodyMetaModel, type IHeadersMeta, type IRawBody, type IResponseUiMeta, type IUrlMeta, type IUrlEncodedBodyMeta, } from './RequestUiMeta.js';
|
|
34
|
+
export { ResponseAuthorization, type IResponseAuthorization, Kind as ResponseAuthorizationKind, } from './ResponseAuthorization.js';
|
|
35
|
+
export { ResponseRedirect, type IResponseRedirect, Kind as ResponseRedirectKind } from './ResponseRedirect.js';
|
|
36
|
+
export { type ISentRequest, SentRequest, type IBaseSentRequest } from './SentRequest.js';
|
|
37
|
+
export { SerializableError, type ISerializedError } from './SerializableError.js';
|
|
38
|
+
export { SerializablePayload, type SerializablePayloadOptions } from './SerializablePayload.js';
|
|
39
|
+
export { Server, type IServer, Kind as ServerKind } from './Server.js';
|
|
40
|
+
export { Thing, type IThing, type ThingSchema } from './Thing.js';
|
|
41
|
+
export { Url, type IUrl } from './Url.js';
|
|
42
|
+
export { WebApi, type IWebApi, type ILegacyRestApi } from './WebApi.js';
|
|
43
|
+
export { WebApiIndex, type IWebApiIndex, type ILegacyWebApiIndex } from './WebApiIndex.js';
|
|
44
|
+
export { Folder, type FolderSchema, type IFolder } from './Folder.js';
|
|
45
|
+
export * from './TrashEntry.js';
|
|
46
|
+
export { DataCatalog, type DataCatalogSchema, type DataCatalogSchemaWithVersion, type DataCatalogScope, type DataCatalogStatus, type DataCatalogVersionInfo, } from './DataCatalog.js';
|
|
47
|
+
export { type DataCatalogLifecycle, DataCatalogVersion, type DataCatalogVersionSchema } from './DataCatalogVersion.js';
|
|
48
|
+
export { type AiMessage, type AiMessageRole, type AiMessageSchema, type AiMessageState, AiModelMessage, type AiModelMessageSchema, AiUserMessage, type AiUserMessageSchema, AiModelDataDomainMessage, } from './AiMessage.js';
|
|
49
|
+
export { AiSession, type AiSessionSchema, type AiSessionApp } from './AiSession.js';
|
|
50
|
+
export * from './http-flows/steps/assertion/index.js';
|
|
51
|
+
export * from './http-flows/steps/data/index.js';
|
|
52
|
+
export * from './http-flows/steps/transformation/index.js';
|
|
53
|
+
export * from './http-flows/HttpFlows.js';
|
|
54
|
+
export * from './http-flows/HttpStep.js';
|
|
55
|
+
export * from './http-flows/LegacyTranslator.js';
|
|
56
|
+
export * from './http-flows/HttpAssertion.js';
|
|
57
|
+
export * as HttpAssertions from './http-flows/steps/assertion/index.js';
|
|
58
|
+
export * as TransformationSteps from './http-flows/steps/transformation/index.js';
|
|
59
|
+
export * as DataSteps from './http-flows/steps/data/index.js';
|
|
60
|
+
export * from './http-flows/AssertionError.js';
|
|
61
|
+
export { LegacyDataExportToApiProject } from './transformers/LegacyDataExportToApiProject.js';
|
|
62
|
+
export { PostmanDataTransformer } from './transformers/PostmanDataTransformer.js';
|
|
63
|
+
export { ArcLegacyNormalizer } from './transformers/ArcLegacyNormalizer.js';
|
|
64
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export * from './kinds.js';
|
|
2
|
+
export * from './store/index.js';
|
|
3
|
+
export { Response } from './Response.js';
|
|
4
|
+
export { AuthorizationData } from './AuthorizationData.js';
|
|
5
|
+
export { CertificateFile } from './CertificateFile.js';
|
|
6
|
+
export { Certificate, Kind as CertificateKind, } from './ClientCertificate.js';
|
|
7
|
+
export { Environment, Kind as EnvironmentKind } from './Environment.js';
|
|
8
|
+
export { ErrorResponse } from './ErrorResponse.js';
|
|
9
|
+
export { HeadersArray } from './HeadersArray.js';
|
|
10
|
+
export { HostRule, Kind as HostRuleKind } from './HostRule.js';
|
|
11
|
+
export { HttpCookie } from './HttpCookie.js';
|
|
12
|
+
export { HttpHistory, Kind as HttpHistoryKind } from './HttpHistory.js';
|
|
13
|
+
export { HttpProject, Kind as HttpProjectKind, } from './HttpProject.js';
|
|
14
|
+
export { HttpRequest, Kind as HttpRequestKind } from './HttpRequest.js';
|
|
15
|
+
export { HttpResponse } from './HttpResponse.js';
|
|
16
|
+
export { License, Kind as LicenseKind } from './License.js';
|
|
17
|
+
export { Project } from './Project.js';
|
|
18
|
+
export { ProjectExecution, Kind as ProjectExecutionKind, } from './ProjectExecution.js';
|
|
19
|
+
export { ProjectFolder, DefaultFolderName } from './ProjectFolder.js';
|
|
20
|
+
export { ProjectItem } from './ProjectItem.js';
|
|
21
|
+
export { ProjectRequest, Kind as ProjectRequestKind } from './ProjectRequest.js';
|
|
22
|
+
export { ProjectSchema, Kind as ProjectSchemaKind } from './ProjectSchema.js';
|
|
23
|
+
export { Property, Kind as PropertyKind } from './Property.js';
|
|
24
|
+
export { Provider, Kind as ProviderKind } from './Provider.js';
|
|
25
|
+
export { Request, Kind as RequestKind } from './Request.js';
|
|
26
|
+
export { RequestAuthorization, Kind as RequestAuthorizationKind, } from './RequestAuthorization.js';
|
|
27
|
+
export { RequestConfig, Kind as RequestConfigKind, } from './RequestConfig.js';
|
|
28
|
+
export { RequestLog, Kind as RequestLogKind } from './RequestLog.js';
|
|
29
|
+
export { RequestsSize, Kind as RequestsSizeKind } from './RequestsSize.js';
|
|
30
|
+
export { RequestTime, Kind as RequestTimeKind } from './RequestTime.js';
|
|
31
|
+
export { RequestUiMeta, Kind as RequestUiMetaKind, } from './RequestUiMeta.js';
|
|
32
|
+
export { ResponseAuthorization, Kind as ResponseAuthorizationKind, } from './ResponseAuthorization.js';
|
|
33
|
+
export { ResponseRedirect, Kind as ResponseRedirectKind } from './ResponseRedirect.js';
|
|
34
|
+
export { SentRequest } from './SentRequest.js';
|
|
35
|
+
export { SerializableError } from './SerializableError.js';
|
|
36
|
+
export { SerializablePayload } from './SerializablePayload.js';
|
|
37
|
+
export { Server, Kind as ServerKind } from './Server.js';
|
|
38
|
+
export { Thing } from './Thing.js';
|
|
39
|
+
export { Url } from './Url.js';
|
|
40
|
+
export { WebApi } from './WebApi.js';
|
|
41
|
+
export { WebApiIndex } from './WebApiIndex.js';
|
|
42
|
+
export { Folder } from './Folder.js';
|
|
43
|
+
export * from './TrashEntry.js';
|
|
44
|
+
export { DataCatalog, } from './DataCatalog.js';
|
|
45
|
+
export { DataCatalogVersion } from './DataCatalogVersion.js';
|
|
46
|
+
export { AiModelMessage, AiUserMessage, AiModelDataDomainMessage, } from './AiMessage.js';
|
|
47
|
+
export { AiSession } from './AiSession.js';
|
|
48
|
+
//
|
|
49
|
+
// HTTP Flows & assertions
|
|
50
|
+
//
|
|
51
|
+
export * from './http-flows/steps/assertion/index.js';
|
|
52
|
+
export * from './http-flows/steps/data/index.js';
|
|
53
|
+
export * from './http-flows/steps/transformation/index.js';
|
|
54
|
+
export * from './http-flows/HttpFlows.js';
|
|
55
|
+
export * from './http-flows/HttpStep.js';
|
|
56
|
+
export * from './http-flows/LegacyTranslator.js';
|
|
57
|
+
export * from './http-flows/HttpAssertion.js';
|
|
58
|
+
export * as HttpAssertions from './http-flows/steps/assertion/index.js';
|
|
59
|
+
export * as TransformationSteps from './http-flows/steps/transformation/index.js';
|
|
60
|
+
export * as DataSteps from './http-flows/steps/data/index.js';
|
|
61
|
+
export * from './http-flows/AssertionError.js';
|
|
62
|
+
//
|
|
63
|
+
// External data importers
|
|
64
|
+
//
|
|
65
|
+
export { LegacyDataExportToApiProject } from './transformers/LegacyDataExportToApiProject.js';
|
|
66
|
+
export { PostmanDataTransformer } from './transformers/PostmanDataTransformer.js';
|
|
67
|
+
export { ArcLegacyNormalizer } from './transformers/ArcLegacyNormalizer.js';
|
|
68
|
+
//# sourceMappingURL=index.js.map
|