@party-stack/ontology 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -0
- package/lib/OntologyPullConfig.d.ts +4 -17
- package/lib/OntologyPullConfig.d.ts.map +1 -1
- package/lib/authentication.d.ts +1068 -0
- package/lib/authentication.d.ts.map +1 -0
- package/lib/authentication.js +55 -0
- package/lib/authentication.js.map +1 -0
- package/lib/cli/index.js +19 -45
- package/lib/cli/index.js.map +1 -1
- package/lib/cli/pull.d.ts.map +1 -1
- package/lib/cli/pull.js +16 -29
- package/lib/cli/pull.js.map +1 -1
- package/lib/client.d.ts +11 -0
- package/lib/client.d.ts.map +1 -0
- package/lib/client.js +21 -0
- package/lib/client.js.map +1 -0
- package/lib/examples/blog.d.ts +2 -387
- package/lib/examples/blog.js +1 -353
- package/lib/examples/blog.live-queries.d.ts +1 -1
- package/lib/examples/blog.live-queries.d.ts.map +1 -1
- package/lib/examples/blog.live-queries.js +1 -1
- package/lib/examples/blog.live-queries.js.map +1 -1
- package/lib/examples/generated/collections.d.ts +7 -0
- package/lib/examples/generated/collections.d.ts.map +1 -0
- package/lib/examples/generated/collections.js +12 -0
- package/lib/examples/generated/collections.js.map +1 -0
- package/lib/examples/generated/live.d.ts +2 -2
- package/lib/examples/generated/live.d.ts.map +1 -1
- package/lib/examples/generated/live.js.map +1 -1
- package/lib/http.d.ts +13 -0
- package/lib/http.d.ts.map +1 -0
- package/lib/http.js +29 -0
- package/lib/http.js.map +1 -0
- package/lib/index.d.ts +19 -25
- package/lib/index.js +9 -15
- package/lib/json/index.d.ts +1 -16
- package/lib/json/index.js +2 -132
- package/lib/live/LiveOntology.d.ts +114 -50
- package/lib/live/LiveOntology.d.ts.map +1 -1
- package/lib/live/LiveOntology.js +23 -103
- package/lib/live/LiveOntology.js.map +1 -1
- package/lib/live/actions/createLiveOntologyAction.d.ts +15 -16
- package/lib/live/actions/createLiveOntologyAction.d.ts.map +1 -1
- package/lib/live/actions/createLiveOntologyAction.js +3 -11
- package/lib/live/actions/createLiveOntologyAction.js.map +1 -1
- package/lib/live/actions/types.d.ts +21 -0
- package/lib/live/actions/types.d.ts.map +1 -0
- package/lib/live/attachments/createLiveOntologyAttachments.d.ts +29 -19
- package/lib/live/attachments/createLiveOntologyAttachments.d.ts.map +1 -1
- package/lib/live/attachments/createLiveOntologyAttachments.js +43 -60
- package/lib/live/attachments/createLiveOntologyAttachments.js.map +1 -1
- package/lib/live/attachments/types.d.ts +3 -3
- package/lib/live/index.d.ts +10 -10
- package/lib/live/index.js +5 -6
- package/lib/live/mutators/createReadTx.d.ts +5 -0
- package/lib/live/mutators/createReadTx.d.ts.map +1 -0
- package/lib/live/mutators/createReadTx.js +19 -0
- package/lib/live/mutators/createReadTx.js.map +1 -0
- package/lib/live/mutators/types.d.ts +7 -2
- package/lib/live/mutators/types.d.ts.map +1 -1
- package/lib/live/objects/types.d.ts +6 -0
- package/lib/live/objects/types.d.ts.map +1 -0
- package/lib/live/outbox/types.d.ts +24 -15
- package/lib/live/outbox/types.d.ts.map +1 -1
- package/lib/live/outbox/types.js +1 -11
- package/lib/live/pins.d.ts +51 -0
- package/lib/live/pins.d.ts.map +1 -0
- package/lib/live/pins.js +113 -0
- package/lib/live/pins.js.map +1 -0
- package/lib/live/storageBackend.d.ts +50 -0
- package/lib/live/storageBackend.d.ts.map +1 -0
- package/lib/live/storageBackend.js +42 -0
- package/lib/live/storageBackend.js.map +1 -0
- package/lib/local.d.ts +15 -0
- package/lib/local.d.ts.map +1 -0
- package/lib/local.js +19 -0
- package/lib/local.js.map +1 -0
- package/lib/meta/generated/collections.d.ts +7 -0
- package/lib/meta/generated/collections.d.ts.map +1 -0
- package/lib/meta/generated/collections.js +15 -0
- package/lib/meta/generated/collections.js.map +1 -0
- package/lib/meta/generated/live.d.ts +3 -3
- package/lib/meta/generated/live.d.ts.map +1 -1
- package/lib/meta/generated/live.js +2 -2
- package/lib/meta/generated/live.js.map +1 -1
- package/lib/meta/pull.d.ts +5 -9
- package/lib/meta/pull.d.ts.map +1 -1
- package/lib/meta/pull.js +5 -43
- package/lib/meta/pull.js.map +1 -1
- package/lib/query.d.ts +1 -0
- package/lib/query.js +2 -0
- package/lib/runtime/host.d.ts +35 -0
- package/lib/runtime/host.d.ts.map +1 -0
- package/lib/runtime/host.js +39 -0
- package/lib/runtime/host.js.map +1 -0
- package/lib/runtime/index.d.ts +2 -0
- package/lib/runtime/index.js +1 -0
- package/lib/runtime/live.d.ts +25 -0
- package/lib/runtime/live.d.ts.map +1 -0
- package/lib/runtime/live.js +31 -0
- package/lib/runtime/live.js.map +1 -0
- package/lib/runtime/resource.d.ts +24 -0
- package/lib/runtime/resource.d.ts.map +1 -0
- package/lib/runtime/resource.js +127 -0
- package/lib/runtime/resource.js.map +1 -0
- package/lib/runtime/transactions.d.ts +27 -0
- package/lib/runtime/transactions.d.ts.map +1 -0
- package/lib/runtime/transactions.js +188 -0
- package/lib/runtime/transactions.js.map +1 -0
- package/lib/runtime/view.d.ts +25 -0
- package/lib/runtime/view.d.ts.map +1 -0
- package/lib/runtime/view.js +256 -0
- package/lib/runtime/view.js.map +1 -0
- package/lib/tanstack/collections.d.ts +73 -0
- package/lib/tanstack/collections.d.ts.map +1 -0
- package/lib/tanstack/collections.js +495 -0
- package/lib/tanstack/collections.js.map +1 -0
- package/lib/tanstack/createLocalCollection.d.ts +14 -0
- package/lib/tanstack/createLocalCollection.d.ts.map +1 -0
- package/lib/tanstack/createLocalCollection.js +9 -0
- package/lib/tanstack/createLocalCollection.js.map +1 -0
- package/lib/tanstack/descriptors.d.ts +33 -0
- package/lib/tanstack/descriptors.d.ts.map +1 -0
- package/lib/tanstack/descriptors.js +38 -0
- package/lib/tanstack/descriptors.js.map +1 -0
- package/lib/tanstack/diagnostics.d.ts +23 -0
- package/lib/tanstack/diagnostics.d.ts.map +1 -0
- package/lib/tanstack/diagnostics.js +14 -0
- package/lib/tanstack/diagnostics.js.map +1 -0
- package/lib/tanstack/index.d.ts +6 -0
- package/lib/tanstack/index.js +6 -0
- package/lib/tanstack/localCollection.d.ts +14 -0
- package/lib/tanstack/localCollection.d.ts.map +1 -0
- package/lib/tanstack/localCollection.js +73 -0
- package/lib/tanstack/localCollection.js.map +1 -0
- package/lib/tanstack/subset.d.ts +28 -0
- package/lib/tanstack/subset.d.ts.map +1 -0
- package/lib/tanstack/subset.js +290 -0
- package/lib/tanstack/subset.js.map +1 -0
- package/lib/testing/sqlite.d.ts +40 -0
- package/lib/testing/sqlite.d.ts.map +1 -0
- package/lib/testing/sqlite.js +409 -0
- package/lib/testing/sqlite.js.map +1 -0
- package/lib/testing/sqliteBackend.d.ts +68 -0
- package/lib/testing/sqliteBackend.d.ts.map +1 -0
- package/lib/testing/sqliteBackend.js +34 -0
- package/lib/testing/sqliteBackend.js.map +1 -0
- package/lib/utils/index.d.ts +1 -8
- package/lib/utils/index.js +2 -5
- package/lib/utils/values.d.ts +1 -30
- package/lib/worker.d.ts +19 -0
- package/lib/worker.d.ts.map +1 -0
- package/lib/worker.js +46 -0
- package/lib/worker.js.map +1 -0
- package/package.json +53 -18
- package/lib/cli/format.d.ts +0 -4
- package/lib/cli/format.d.ts.map +0 -1
- package/lib/cli/format.js +0 -19
- package/lib/cli/format.js.map +0 -1
- package/lib/cli/generate.d.ts +0 -10
- package/lib/cli/generate.d.ts.map +0 -1
- package/lib/cli/generate.js +0 -108
- package/lib/cli/generate.js.map +0 -1
- package/lib/examples/blog.d.ts.map +0 -1
- package/lib/examples/blog.js.map +0 -1
- package/lib/generate/builders.d.ts +0 -12
- package/lib/generate/builders.d.ts.map +0 -1
- package/lib/generate/builders.js +0 -58
- package/lib/generate/builders.js.map +0 -1
- package/lib/generate/constants.d.ts +0 -5
- package/lib/generate/constants.d.ts.map +0 -1
- package/lib/generate/constants.js +0 -28
- package/lib/generate/constants.js.map +0 -1
- package/lib/generate/index.d.ts +0 -6
- package/lib/generate/index.js +0 -6
- package/lib/generate/live.d.ts +0 -12
- package/lib/generate/live.d.ts.map +0 -1
- package/lib/generate/live.js +0 -48
- package/lib/generate/live.js.map +0 -1
- package/lib/generate/ontology.d.ts +0 -8
- package/lib/generate/ontology.d.ts.map +0 -1
- package/lib/generate/ontology.js +0 -501
- package/lib/generate/ontology.js.map +0 -1
- package/lib/generate/types.d.ts +0 -18
- package/lib/generate/types.d.ts.map +0 -1
- package/lib/generate/types.js +0 -216
- package/lib/generate/types.js.map +0 -1
- package/lib/generate/utils/buildJsDocs.d.ts +0 -10
- package/lib/generate/utils/buildJsDocs.d.ts.map +0 -1
- package/lib/generate/utils/buildJsDocs.js +0 -16
- package/lib/generate/utils/buildJsDocs.js.map +0 -1
- package/lib/infer.d.ts +0 -223
- package/lib/infer.d.ts.map +0 -1
- package/lib/infer.js +0 -14
- package/lib/infer.js.map +0 -1
- package/lib/installation/createMetaOntologyConfiguration.d.ts +0 -10
- package/lib/installation/createMetaOntologyConfiguration.d.ts.map +0 -1
- package/lib/installation/createMetaOntologyConfiguration.js +0 -16
- package/lib/installation/createMetaOntologyConfiguration.js.map +0 -1
- package/lib/installation/createOntologyBackendInstallation.d.ts +0 -5
- package/lib/installation/createOntologyBackendInstallation.d.ts.map +0 -1
- package/lib/installation/createOntologyBackendInstallation.js +0 -221
- package/lib/installation/createOntologyBackendInstallation.js.map +0 -1
- package/lib/installation/index.d.ts +0 -4
- package/lib/installation/index.js +0 -3
- package/lib/installation/types.d.ts +0 -94
- package/lib/installation/types.d.ts.map +0 -1
- package/lib/ir/generated/builders.d.ts +0 -380
- package/lib/ir/generated/builders.d.ts.map +0 -1
- package/lib/ir/generated/builders.js +0 -186
- package/lib/ir/generated/builders.js.map +0 -1
- package/lib/ir/generated/constants.d.ts +0 -265
- package/lib/ir/generated/constants.d.ts.map +0 -1
- package/lib/ir/generated/constants.js +0 -165
- package/lib/ir/generated/constants.js.map +0 -1
- package/lib/ir/generated/types.d.ts +0 -413
- package/lib/ir/generated/types.d.ts.map +0 -1
- package/lib/ir/index.d.ts +0 -4
- package/lib/ir/index.js +0 -3
- package/lib/ir/schema.d.ts +0 -2246
- package/lib/ir/schema.d.ts.map +0 -1
- package/lib/ir/schema.js +0 -1187
- package/lib/ir/schema.js.map +0 -1
- package/lib/ir/validate.d.ts +0 -8
- package/lib/ir/validate.d.ts.map +0 -1
- package/lib/ir/validate.js +0 -623
- package/lib/ir/validate.js.map +0 -1
- package/lib/json/index.d.ts.map +0 -1
- package/lib/json/index.js.map +0 -1
- package/lib/lenses.d.ts +0 -21
- package/lib/lenses.d.ts.map +0 -1
- package/lib/lenses.js +0 -110
- package/lib/lenses.js.map +0 -1
- package/lib/live/OntologyBackendAdapter.d.ts +0 -104
- package/lib/live/OntologyBackendAdapter.d.ts.map +0 -1
- package/lib/live/OntologyBackendAdapter.js +0 -1
- package/lib/live/actions/createLiveOntologyActions.d.ts +0 -28
- package/lib/live/actions/createLiveOntologyActions.d.ts.map +0 -1
- package/lib/live/actions/createLiveOntologyActions.js +0 -139
- package/lib/live/actions/createLiveOntologyActions.js.map +0 -1
- package/lib/live/actions/prepareActionParameters.d.ts +0 -19
- package/lib/live/actions/prepareActionParameters.d.ts.map +0 -1
- package/lib/live/actions/prepareActionParameters.js +0 -213
- package/lib/live/actions/prepareActionParameters.js.map +0 -1
- package/lib/live/attachments/attachmentSources.d.ts +0 -10
- package/lib/live/attachments/attachmentSources.d.ts.map +0 -1
- package/lib/live/attachments/attachmentSources.js +0 -64
- package/lib/live/attachments/attachmentSources.js.map +0 -1
- package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts +0 -5
- package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts.map +0 -1
- package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js +0 -6
- package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js.map +0 -1
- package/lib/live/expression.d.ts +0 -24
- package/lib/live/expression.d.ts.map +0 -1
- package/lib/live/expression.js +0 -160
- package/lib/live/expression.js.map +0 -1
- package/lib/live/mutators/OntologyEdits.d.ts +0 -15
- package/lib/live/mutators/OntologyEdits.d.ts.map +0 -1
- package/lib/live/mutators/OntologyEdits.js +0 -65
- package/lib/live/mutators/OntologyEdits.js.map +0 -1
- package/lib/live/mutators/createMutatorTx.d.ts +0 -11
- package/lib/live/mutators/createMutatorTx.d.ts.map +0 -1
- package/lib/live/mutators/createMutatorTx.js +0 -61
- package/lib/live/mutators/createMutatorTx.js.map +0 -1
- package/lib/live/mutators/runOptimisticAction.d.ts +0 -19
- package/lib/live/mutators/runOptimisticAction.d.ts.map +0 -1
- package/lib/live/mutators/runOptimisticAction.js +0 -30
- package/lib/live/mutators/runOptimisticAction.js.map +0 -1
- package/lib/live/objects/OntologyObject.d.ts +0 -4
- package/lib/live/objects/OntologyObject.d.ts.map +0 -1
- package/lib/live/objects/OntologyObject.js +0 -1
- package/lib/live/objects/createLiveOntologyObjectCollection.d.ts +0 -17
- package/lib/live/objects/createLiveOntologyObjectCollection.d.ts.map +0 -1
- package/lib/live/objects/createLiveOntologyObjectCollection.js +0 -69
- package/lib/live/objects/createLiveOntologyObjectCollection.js.map +0 -1
- package/lib/live/objects/ontologyObjectCollectionId.d.ts +0 -4
- package/lib/live/objects/ontologyObjectCollectionId.d.ts.map +0 -1
- package/lib/live/objects/ontologyObjectCollectionId.js +0 -8
- package/lib/live/objects/ontologyObjectCollectionId.js.map +0 -1
- package/lib/live/outbox/createOntologyOutbox.d.ts +0 -23
- package/lib/live/outbox/createOntologyOutbox.d.ts.map +0 -1
- package/lib/live/outbox/createOntologyOutbox.js +0 -292
- package/lib/live/outbox/createOntologyOutbox.js.map +0 -1
- package/lib/live/outbox/leaderExecutor.d.ts +0 -20
- package/lib/live/outbox/leaderExecutor.d.ts.map +0 -1
- package/lib/live/outbox/leaderExecutor.js +0 -130
- package/lib/live/outbox/leaderExecutor.js.map +0 -1
- package/lib/live/outbox/outboxService.d.ts +0 -7
- package/lib/live/outbox/outboxService.d.ts.map +0 -1
- package/lib/live/outbox/outboxService.js +0 -68
- package/lib/live/outbox/outboxService.js.map +0 -1
- package/lib/live/outbox/projectionManager.d.ts +0 -31
- package/lib/live/outbox/projectionManager.d.ts.map +0 -1
- package/lib/live/outbox/projectionManager.js +0 -127
- package/lib/live/outbox/projectionManager.js.map +0 -1
- package/lib/live/outbox/repository.d.ts +0 -31
- package/lib/live/outbox/repository.d.ts.map +0 -1
- package/lib/live/outbox/repository.js +0 -196
- package/lib/live/outbox/repository.js.map +0 -1
- package/lib/live/outbox/service.d.ts +0 -61
- package/lib/live/outbox/service.d.ts.map +0 -1
- package/lib/live/outbox/service.js +0 -6
- package/lib/live/outbox/service.js.map +0 -1
- package/lib/live/outbox/types.js.map +0 -1
- package/lib/live/waitForCollectionReady.d.ts +0 -5
- package/lib/live/waitForCollectionReady.d.ts.map +0 -1
- package/lib/live/waitForCollectionReady.js +0 -49
- package/lib/live/waitForCollectionReady.js.map +0 -1
- package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts +0 -7
- package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts.map +0 -1
- package/lib/meta/createLocalMetaOntologyBackendAdapter.js +0 -44
- package/lib/meta/createLocalMetaOntologyBackendAdapter.js.map +0 -1
- package/lib/meta/generated/constants.d.ts +0 -265
- package/lib/meta/generated/constants.d.ts.map +0 -1
- package/lib/meta/generated/constants.js +0 -165
- package/lib/meta/generated/constants.js.map +0 -1
- package/lib/meta/generated/types.d.ts +0 -417
- package/lib/meta/generated/types.d.ts.map +0 -1
- package/lib/meta/generated/types.js +0 -1
- package/lib/meta/ontology.d.ts +0 -26
- package/lib/meta/ontology.d.ts.map +0 -1
- package/lib/meta/ontology.js +0 -111
- package/lib/meta/ontology.js.map +0 -1
- package/lib/utils/links.d.ts +0 -50
- package/lib/utils/links.d.ts.map +0 -1
- package/lib/utils/links.js +0 -13
- package/lib/utils/links.js.map +0 -1
- package/lib/utils/paths.d.ts +0 -6
- package/lib/utils/paths.d.ts.map +0 -1
- package/lib/utils/paths.js +0 -42
- package/lib/utils/paths.js.map +0 -1
- package/lib/utils/provide.d.ts +0 -4
- package/lib/utils/provide.d.ts.map +0 -1
- package/lib/utils/provide.js +0 -9
- package/lib/utils/provide.js.map +0 -1
- package/lib/utils/targets.d.ts +0 -37
- package/lib/utils/targets.d.ts.map +0 -1
- package/lib/utils/targets.js +0 -1
- package/lib/utils/typeNames.d.ts +0 -28
- package/lib/utils/typeNames.d.ts.map +0 -1
- package/lib/utils/typeNames.js +0 -1
- package/lib/utils/types.d.ts +0 -12
- package/lib/utils/types.d.ts.map +0 -1
- package/lib/utils/types.js +0 -48
- package/lib/utils/types.js.map +0 -1
- package/lib/utils/uncertain.d.ts +0 -11
- package/lib/utils/uncertain.d.ts.map +0 -1
- package/lib/utils/uncertain.js +0 -14
- package/lib/utils/uncertain.js.map +0 -1
- package/lib/utils/validation.d.ts +0 -7
- package/lib/utils/validation.d.ts.map +0 -1
- package/lib/utils/validation.js +0 -1
- package/lib/utils/values.d.ts.map +0 -1
- /package/lib/{installation → live/actions}/types.js +0 -0
- /package/lib/{ir/generated → live/objects}/types.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication.d.ts","names":["_$__tanstack_descriptors_js0.OntologyCollectionDescriptors","AccountRef"],"sources":["../src/authentication.ts"],"mappings":";;;;;;;;;;;qBAewB,uBAOtBA,mEAP2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAO3C;iBAGe;WACJ,QACH,uBACA,OAAO,OAAO,iBAAiB,sBAAsB,cAAc,MAAM;WACtE;WACA,UAAU;;;;;;wBAOD,2BAA2B,SAAS,8BAA2B;EAyBjD,MAAA,UAAA,YAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGE,SAAA,WAAA,YAAU,QAAA,YAAA;;;;;;;;;;;;;;;;;;OAAqB,gXAAG;;;;;;;;;;;;;;IAEtC,WAAA,gBAAM;;;;;;;;;;;;;;;EAGI,wBAAA,kBAAM,oBAAiB;;;;EAE/B,gBAAA,kBAAM,gBAAa;;;;EAE1B,UAAA,SAAAC,iBAAU;EACX,SAAA,SAAAA,iBAAU;;;;YAapC,uBAAuB,QAAQ,kBAAkB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ontologyCollections } from "./tanstack/descriptors.js";
|
|
2
|
+
import { makeAuthenticationClient } from "@party-stack/connect";
|
|
3
|
+
import { classifyBackendFailure } from "@party-stack/ontology-backend";
|
|
4
|
+
import { MemoryRuntime, Runtimes } from "@party-stack/runtime";
|
|
5
|
+
import { Effect, Exit, Fiber, Layer, Scope } from "effect";
|
|
6
|
+
//#region src/authentication.ts
|
|
7
|
+
/** Collection descriptors for live queries over Connect's saved accounts and
|
|
8
|
+
* configuration. Resolve them through the authentication view's DbClient.
|
|
9
|
+
* Importing descriptors does not open a client or grant access to secret fields.
|
|
10
|
+
*/
|
|
11
|
+
const { objects: authenticationObjects } = ontologyCollections({
|
|
12
|
+
ServiceInstance: "id",
|
|
13
|
+
OAuthApplication: "id",
|
|
14
|
+
OAuthConnection: "id",
|
|
15
|
+
ApiKeyConnection: "id",
|
|
16
|
+
ExternalSessionConnection: "id",
|
|
17
|
+
OAuthAuthorizationAttempt: "id"
|
|
18
|
+
});
|
|
19
|
+
/** Promise browser commands over the selected Connect ontology. Inventory is read
|
|
20
|
+
* from its ordinary Query endpoint; no account stream or authentication-method proxy.
|
|
21
|
+
* Authentication workflows execute directly and never enter an optimistic outbox.
|
|
22
|
+
*/
|
|
23
|
+
async function createAuthenticationClient(options) {
|
|
24
|
+
const scope = Effect.runSync(Scope.make());
|
|
25
|
+
return Effect.runPromise(Scope.provide(Effect.gen(function* () {
|
|
26
|
+
const environment = yield* Layer.build(options.runtime ?? Runtimes.layer(MemoryRuntime.layer));
|
|
27
|
+
const browserAuthentication = (yield* Runtimes.pipe(Effect.provideContext(environment))).browserAuthentication;
|
|
28
|
+
const remote = yield* Effect.isEffect(options.client) ? options.client : Effect.succeed(options.client);
|
|
29
|
+
const client = "ontology" in remote ? yield* remote.ontology(options.ontology ?? "connect") : remote;
|
|
30
|
+
const run = (work) => Effect.runPromise(Effect.acquireUseRelease(Effect.forkIn(work, scope, { startImmediately: true }), Fiber.join, Fiber.interrupt));
|
|
31
|
+
const commands = makeAuthenticationClient({
|
|
32
|
+
backend: client.backend,
|
|
33
|
+
browserAuthentication
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
oauth(settings) {
|
|
37
|
+
const oauth = commands.oauth(settings);
|
|
38
|
+
return {
|
|
39
|
+
signIn: (settings) => run(oauth.signIn(settings)),
|
|
40
|
+
complete: (url) => run(oauth.complete(url))
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
attachExternalSession: (instance, session) => run(commands.attachExternalSession(instance, session)),
|
|
44
|
+
connectApiKey: (instance, key) => run(commands.connectApiKey(instance, key)),
|
|
45
|
+
signOut: (account) => run(commands.signOut(account)),
|
|
46
|
+
forget: (account) => run(commands.forget(account)),
|
|
47
|
+
connections: () => run(commands.connections),
|
|
48
|
+
cleanup: () => Effect.runPromise(Scope.close(scope, Exit.void))
|
|
49
|
+
};
|
|
50
|
+
}), scope).pipe(Effect.mapError((error) => classifyBackendFailure("connect.client", error)), Effect.onExit((exit) => Exit.isFailure(exit) ? Scope.close(scope, exit) : Effect.void)));
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { authenticationObjects, createAuthenticationClient };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=authentication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication.js","names":[],"sources":["../src/authentication.ts"],"sourcesContent":["import { makeAuthenticationClient } from \"@party-stack/connect\";\nimport { classifyBackendFailure } from \"@party-stack/ontology-backend\";\nimport { MemoryRuntime, Runtimes } from \"@party-stack/runtime\";\nimport { Effect, Exit, Fiber, Layer, Scope } from \"effect\";\nimport { ontologyCollections } from \"./tanstack/descriptors.js\";\nimport type { AccountRef } from \"@party-stack/connect\";\nimport type { ConnectOntology } from \"@party-stack/connect/spec\";\nimport type { BackendError } from \"@party-stack/ontology-backend\";\nimport type { OntologyClient, OntologyServerClient } from \"@party-stack/ontology-server/rpc\";\nimport type { RuntimesLayer } from \"@party-stack/runtime\";\n\n/** Collection descriptors for live queries over Connect's saved accounts and\n * configuration. Resolve them through the authentication view's DbClient.\n * Importing descriptors does not open a client or grant access to secret fields.\n */\nexport const { objects: authenticationObjects } = ontologyCollections<ConnectOntology>({\n ServiceInstance: \"id\",\n OAuthApplication: \"id\",\n OAuthConnection: \"id\",\n ApiKeyConnection: \"id\",\n ExternalSessionConnection: \"id\",\n OAuthAuthorizationAttempt: \"id\",\n});\nexport type { AccountRef, AccountSummary } from \"@party-stack/connect\";\n\nexport interface AuthenticationClientOptions {\n readonly client:\n | OntologyServerClient\n | Effect.Effect<OntologyClient | OntologyServerClient, BackendError, Scope.Scope>;\n readonly ontology?: string;\n readonly runtime?: RuntimesLayer;\n}\n\n/** Promise browser commands over the selected Connect ontology. Inventory is read\n * from its ordinary Query endpoint; no account stream or authentication-method proxy.\n * Authentication workflows execute directly and never enter an optimistic outbox.\n */\nexport async function createAuthenticationClient(options: AuthenticationClientOptions) {\n const scope = Effect.runSync(Scope.make());\n return Effect.runPromise(\n Scope.provide(\n Effect.gen(function* () {\n const environment = yield* Layer.build(\n options.runtime ?? Runtimes.layer(MemoryRuntime.layer)\n );\n const browserAuthentication = (yield* Runtimes.pipe(Effect.provideContext(environment)))\n .browserAuthentication;\n const remote = yield* Effect.isEffect(options.client)\n ? options.client\n : Effect.succeed(options.client);\n const client =\n \"ontology\" in remote ? yield* remote.ontology(options.ontology ?? \"connect\") : remote;\n const run = <A, E>(work: Effect.Effect<A, E>) =>\n Effect.runPromise(\n Effect.acquireUseRelease(\n Effect.forkIn(work, scope, { startImmediately: true }),\n Fiber.join,\n Fiber.interrupt\n )\n );\n const commands = makeAuthenticationClient({ backend: client.backend, browserAuthentication });\n return {\n oauth(settings: Parameters<typeof commands.oauth>[0]) {\n const oauth = commands.oauth(settings);\n return {\n signIn: (settings?: Parameters<typeof oauth.signIn>[0]) =>\n run(oauth.signIn(settings)),\n complete: (url: string) => run(oauth.complete(url)),\n };\n },\n attachExternalSession: (instance: string, session: string) =>\n run(commands.attachExternalSession(instance, session)),\n connectApiKey: (instance: string, key: string) =>\n run(commands.connectApiKey(instance, key)),\n signOut: (account: AccountRef) => run(commands.signOut(account)),\n forget: (account: AccountRef) => run(commands.forget(account)),\n connections: () => run(commands.connections),\n cleanup: () => Effect.runPromise(Scope.close(scope, Exit.void)),\n };\n }),\n scope\n ).pipe(\n Effect.mapError((error) => classifyBackendFailure(\"connect.client\", error)),\n Effect.onExit((exit) => (Exit.isFailure(exit) ? Scope.close(scope, exit) : Effect.void))\n )\n );\n}\n\nexport type AuthenticationClient = Awaited<ReturnType<typeof createAuthenticationClient>>;\n"],"mappings":";;;;;;;;;;AAeA,MAAa,EAAE,SAAS,0BAA0B,oBAAqC;CACnF,iBAAiB;CACjB,kBAAkB;CAClB,iBAAiB;CACjB,kBAAkB;CAClB,2BAA2B;CAC3B,2BAA2B;AAC/B,CAAC;;;;;AAeD,eAAsB,2BAA2B,SAAsC;CACnF,MAAM,QAAQ,OAAO,QAAQ,MAAM,KAAK,CAAC;CACzC,OAAO,OAAO,WACV,MAAM,QACF,OAAO,IAAI,aAAa;EACpB,MAAM,cAAc,OAAO,MAAM,MAC7B,QAAQ,WAAW,SAAS,MAAM,cAAc,KAAK,CACzD;EACA,MAAM,yBAAyB,OAAO,SAAS,KAAK,OAAO,eAAe,WAAW,CAAC,EAAA,CACjF;EACL,MAAM,SAAS,OAAO,OAAO,SAAS,QAAQ,MAAM,IAC9C,QAAQ,SACR,OAAO,QAAQ,QAAQ,MAAM;EACnC,MAAM,SACF,cAAc,SAAS,OAAO,OAAO,SAAS,QAAQ,YAAY,SAAS,IAAI;EACnF,MAAM,OAAa,SACf,OAAO,WACH,OAAO,kBACH,OAAO,OAAO,MAAM,OAAO,EAAE,kBAAkB,KAAK,CAAC,GACrD,MAAM,MACN,MAAM,SACV,CACJ;EACJ,MAAM,WAAW,yBAAyB;GAAE,SAAS,OAAO;GAAS;EAAsB,CAAC;EAC5F,OAAO;GACH,MAAM,UAAgD;IAClD,MAAM,QAAQ,SAAS,MAAM,QAAQ;IACrC,OAAO;KACH,SAAS,aACL,IAAI,MAAM,OAAO,QAAQ,CAAC;KAC9B,WAAW,QAAgB,IAAI,MAAM,SAAS,GAAG,CAAC;IACtD;GACJ;GACA,wBAAwB,UAAkB,YACtC,IAAI,SAAS,sBAAsB,UAAU,OAAO,CAAC;GACzD,gBAAgB,UAAkB,QAC9B,IAAI,SAAS,cAAc,UAAU,GAAG,CAAC;GAC7C,UAAU,YAAwB,IAAI,SAAS,QAAQ,OAAO,CAAC;GAC/D,SAAS,YAAwB,IAAI,SAAS,OAAO,OAAO,CAAC;GAC7D,mBAAmB,IAAI,SAAS,WAAW;GAC3C,eAAe,OAAO,WAAW,MAAM,MAAM,OAAO,KAAK,IAAI,CAAC;EAClE;CACJ,CAAC,GACD,KACJ,CAAC,CAAC,KACE,OAAO,UAAU,UAAU,uBAAuB,kBAAkB,KAAK,CAAC,GAC1E,OAAO,QAAQ,SAAU,KAAK,UAAU,IAAI,IAAI,MAAM,MAAM,OAAO,IAAI,IAAI,OAAO,IAAK,CAC3F,CACJ;AACJ"}
|
package/lib/cli/index.js
CHANGED
|
@@ -1,52 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { generateFiles } from "./generate.js";
|
|
3
2
|
import { ONTOLOGY_IR_PATH, ONTOLOGY_PULL_CONFIG_PATH, discoverOntologyPullConfigPath, loadOntologyPullConfig, writePulledOntology } from "./pull.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { Console, Effect } from "effect";
|
|
4
|
+
import { readFileSync } from "node:fs";
|
|
5
|
+
import { resolve } from "node:path";
|
|
6
|
+
import { NodeRuntime, NodeServices } from "@effect/platform-node";
|
|
7
|
+
import { makeGenerateCommand } from "@party-stack/ontology-spec/generate";
|
|
8
|
+
import { CliError, Command } from "effect/cli";
|
|
8
9
|
//#region src/cli/index.ts
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
15
|
-
const packageName = typeof packageJson.name === "string" ? packageJson.name.split("/").pop() ?? packageJson.name : basename(cwd);
|
|
16
|
-
return pascalCase(packageName);
|
|
17
|
-
} catch {
|
|
18
|
-
return pascalCase(basename(cwd));
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
async function main() {
|
|
22
|
-
const cwd = process.cwd();
|
|
23
|
-
const ontologyPath = resolve(cwd, ONTOLOGY_IR_PATH);
|
|
24
|
-
const generatedDir = resolve(cwd, GENERATED_DIR_PATH);
|
|
25
|
-
const program = new Command();
|
|
26
|
-
program.name("ontology").description("Generate and pull ontology files");
|
|
27
|
-
program.command("generate").description("Generate ontology types, builders, and live helpers").option("--ontology <path>", "Path to the ontology module", ontologyPath).option("--outDir <path>", "Directory to write generated files", generatedDir).option("--namespace <name>", "Namespace for generated ontology types/factories").option("--no-js-extensions", "Omit .js extensions from generated relative imports").action(async (options) => {
|
|
28
|
-
await generateFiles({
|
|
29
|
-
ontology: resolve(cwd, options.ontology),
|
|
30
|
-
outDir: resolve(cwd, options.outDir),
|
|
31
|
-
namespace: options.namespace ?? readPackageNamespace(cwd),
|
|
32
|
-
jsExtensions: options.jsExtensions
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
const configPath = discoverOntologyPullConfigPath(cwd);
|
|
36
|
-
if (configPath) program.command("pull").description(`Pull ontology metadata using ${ONTOLOGY_PULL_CONFIG_PATH}`).action(async () => {
|
|
10
|
+
const { version } = JSON.parse(readFileSync(new URL("../../package.json", import.meta.url), "utf8"));
|
|
11
|
+
const configPath = discoverOntologyPullConfigPath(process.cwd());
|
|
12
|
+
const pull = Command.make("pull", {}, () => Effect.tryPromise({
|
|
13
|
+
try: async () => {
|
|
14
|
+
if (!configPath) throw new Error(`Create ${ONTOLOGY_PULL_CONFIG_PATH} before pulling metadata.`);
|
|
37
15
|
const config = await loadOntologyPullConfig(configPath);
|
|
38
|
-
const {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}).catch((error) => {
|
|
47
|
-
console.error(error instanceof Error ? error.message : String(error));
|
|
48
|
-
process.exit(1);
|
|
49
|
-
});
|
|
16
|
+
const { nodeRuntime } = await import("@party-stack/node-runtime");
|
|
17
|
+
const path = resolve(process.cwd(), ONTOLOGY_IR_PATH);
|
|
18
|
+
await writePulledOntology(config, path, { runtime: nodeRuntime() });
|
|
19
|
+
return path;
|
|
20
|
+
},
|
|
21
|
+
catch: (cause) => new CliError.UserError({ cause })
|
|
22
|
+
}).pipe(Effect.flatMap((path) => Console.log(`Generated ontology written to: ${path}`)))).pipe(Command.withDescription(`Pull ontology metadata using ${ONTOLOGY_PULL_CONFIG_PATH}`));
|
|
23
|
+
Command.make("ontology").pipe(Command.withDescription("Generate and pull ontology files"), Command.withSubcommands([makeGenerateCommand({ valuesImportPath: "@party-stack/ontology/values" }), ...configPath ? [pull] : []]), Command.run({ version }), Effect.provide(NodeServices.layer), NodeRuntime.runMain);
|
|
50
24
|
//#endregion
|
|
51
25
|
export {};
|
|
52
26
|
|
package/lib/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { readFileSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { NodeRuntime, NodeServices } from \"@effect/platform-node\";\nimport { makeGenerateCommand } from \"@party-stack/ontology-spec/generate\";\nimport { Console, Effect } from \"effect\";\nimport { CliError, Command } from \"effect/cli\";\nimport {\n ONTOLOGY_PULL_CONFIG_PATH,\n ONTOLOGY_IR_PATH,\n discoverOntologyPullConfigPath,\n loadOntologyPullConfig,\n writePulledOntology,\n} from \"./pull.js\";\n\nconst { version } = JSON.parse(readFileSync(new URL(\"../../package.json\", import.meta.url), \"utf8\")) as {\n version: string;\n};\n\nconst configPath = discoverOntologyPullConfigPath(process.cwd());\nconst pull = Command.make(\"pull\", {}, () =>\n Effect.tryPromise({\n try: async () => {\n if (!configPath) throw new Error(`Create ${ONTOLOGY_PULL_CONFIG_PATH} before pulling metadata.`);\n const config = await loadOntologyPullConfig(configPath);\n const { nodeRuntime } = await import(\"@party-stack/node-runtime\");\n const path = resolve(process.cwd(), ONTOLOGY_IR_PATH);\n await writePulledOntology(config, path, { runtime: nodeRuntime() });\n return path;\n },\n catch: (cause) => new CliError.UserError({ cause }),\n }).pipe(Effect.flatMap((path) => Console.log(`Generated ontology written to: ${path}`)))\n).pipe(Command.withDescription(`Pull ontology metadata using ${ONTOLOGY_PULL_CONFIG_PATH}`));\n\nCommand.make(\"ontology\").pipe(\n Command.withDescription(\"Generate and pull ontology files\"),\n Command.withSubcommands([\n makeGenerateCommand({ valuesImportPath: \"@party-stack/ontology/values\" }),\n ...(configPath ? [pull] : []),\n ]),\n Command.run({ version }),\n Effect.provide(NodeServices.layer),\n NodeRuntime.runMain\n);\n"],"mappings":";;;;;;;;;AAeA,MAAM,EAAE,YAAY,KAAK,MAAM,aAAa,IAAI,IAAI,sBAAsB,YAAY,GAAG,GAAG,MAAM,CAAC;AAInG,MAAM,aAAa,+BAA+B,QAAQ,IAAI,CAAC;AAC/D,MAAM,OAAO,QAAQ,KAAK,QAAQ,CAAC,SAC/B,OAAO,WAAW;CACd,KAAK,YAAY;EACb,IAAI,CAAC,YAAY,MAAM,IAAI,MAAM,UAAU,0BAA0B,0BAA0B;EAC/F,MAAM,SAAS,MAAM,uBAAuB,UAAU;EACtD,MAAM,EAAE,gBAAgB,MAAM,OAAO;EACrC,MAAM,OAAO,QAAQ,QAAQ,IAAI,GAAG,gBAAgB;EACpD,MAAM,oBAAoB,QAAQ,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;EAClE,OAAO;CACX;CACA,QAAQ,UAAU,IAAI,SAAS,UAAU,EAAE,MAAM,CAAC;AACtD,CAAC,CAAC,CAAC,KAAK,OAAO,SAAS,SAAS,QAAQ,IAAI,kCAAkC,MAAM,CAAC,CAAC,CAC3F,CAAC,CAAC,KAAK,QAAQ,gBAAgB,gCAAgC,2BAA2B,CAAC;AAE3F,QAAQ,KAAK,UAAU,CAAC,CAAC,KACrB,QAAQ,gBAAgB,kCAAkC,GAC1D,QAAQ,gBAAgB,CACpB,oBAAoB,EAAE,kBAAkB,+BAA+B,CAAC,GACxE,GAAI,aAAa,CAAC,IAAI,IAAI,CAAC,CAC/B,CAAC,GACD,QAAQ,IAAI,EAAE,QAAQ,CAAC,GACvB,OAAO,QAAQ,aAAa,KAAK,GACjC,YAAY,OAChB"}
|
package/lib/cli/pull.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.d.ts","names":[],"sources":["../../src/cli/pull.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pull.d.ts","names":[],"sources":["../../src/cli/pull.ts"],"mappings":";;qBAYa;qBACA;wBAoBG,+BAA+B;wBAKzB,uBAAuB,qBAAqB,QAAQ;wBAcpD,oBAClB,QAAQ,oBACR,iBACA,SAAS,qBACT,8BACD"}
|
package/lib/cli/pull.js
CHANGED
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { generateOntology } from "../generate/ontology.js";
|
|
1
|
+
import { Effect, Predicate } from "effect";
|
|
2
|
+
import { pull } from "@party-stack/ontology-backend/meta";
|
|
4
3
|
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
5
4
|
import { dirname, resolve } from "node:path";
|
|
6
|
-
import {
|
|
5
|
+
import { formatGeneratedFile, generateOntology } from "@party-stack/ontology-spec/generate";
|
|
7
6
|
import nextEnv from "@next/env";
|
|
7
|
+
import { createJiti } from "jiti";
|
|
8
8
|
//#region src/cli/pull.ts
|
|
9
9
|
const { loadEnvConfig } = nextEnv;
|
|
10
10
|
const ONTOLOGY_PULL_CONFIG_PATH = "src/ontology/config.ts";
|
|
11
11
|
const ONTOLOGY_IR_PATH = "src/ontology/ontology.ts";
|
|
12
|
-
function isRecord(value) {
|
|
13
|
-
return typeof value === "object" && value !== null;
|
|
14
|
-
}
|
|
15
|
-
function isOntologyPullSource(value) {
|
|
16
|
-
return isRecord(value) && typeof value.ontologyId === "string" && typeof value.createInstallation === "function" && typeof value.resolveConnection === "function";
|
|
17
|
-
}
|
|
18
12
|
function isOntologyPullConfig(value) {
|
|
19
|
-
return
|
|
13
|
+
return Predicate.isObject(value) && Effect.isEffect(value.backend) && (value.transformPulledOntology === void 0 || typeof value.transformPulledOntology === "function") && Array.isArray(value.objectTypeNames) && value.objectTypeNames.every((entry) => typeof entry === "string") && Array.isArray(value.actionTypeNames) && value.actionTypeNames.every((entry) => typeof entry === "string") && (value.queryFunctionTypeNames === void 0 || Array.isArray(value.queryFunctionTypeNames) && value.queryFunctionTypeNames.every((entry) => typeof entry === "string"));
|
|
20
14
|
}
|
|
21
15
|
function discoverOntologyPullConfigPath(cwd) {
|
|
22
16
|
const configPath = resolve(cwd, ONTOLOGY_PULL_CONFIG_PATH);
|
|
@@ -28,27 +22,20 @@ async function loadOntologyPullConfig(configPath) {
|
|
|
28
22
|
if (!isOntologyPullConfig(config)) throw new Error(`Config file "${configPath}" must default export an OntologyPullConfig value.`);
|
|
29
23
|
return config;
|
|
30
24
|
}
|
|
31
|
-
async function writePulledOntology(config, outPath, context, ontologyImportPath = "@party-stack/ontology") {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const liveOntology = await installation.openMetaOntology({
|
|
36
|
-
userId: connection.userId,
|
|
37
|
-
ontologyId: config.source.ontologyId
|
|
38
|
-
});
|
|
39
|
-
const pulledOntology = await pull(liveOntology, {
|
|
25
|
+
async function writePulledOntology(config, outPath, context, ontologyImportPath = "@party-stack/ontology-spec") {
|
|
26
|
+
const ontology = await Effect.runPromise(Effect.scoped(Effect.gen(function* () {
|
|
27
|
+
const backend = yield* config.backend;
|
|
28
|
+
return yield* pull(backend, {
|
|
40
29
|
objectTypeNames: config.objectTypeNames,
|
|
41
30
|
actionTypeNames: config.actionTypeNames,
|
|
42
|
-
queryFunctionTypeNames: config.queryFunctionTypeNames ?? []
|
|
31
|
+
queryFunctionTypeNames: config.queryFunctionTypeNames ?? [],
|
|
32
|
+
transformPulledOntology: config.transformPulledOntology
|
|
43
33
|
});
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
} finally {
|
|
50
|
-
await installation.cleanup();
|
|
51
|
-
}
|
|
34
|
+
})).pipe(Effect.provide(context.runtime)));
|
|
35
|
+
const output = generateOntology(ontology, { ontologyImportPath });
|
|
36
|
+
mkdirSync(dirname(outPath), { recursive: true });
|
|
37
|
+
const formatted = await formatGeneratedFile(outPath, output);
|
|
38
|
+
writeFileSync(outPath, formatted, "utf-8");
|
|
52
39
|
}
|
|
53
40
|
//#endregion
|
|
54
41
|
export { ONTOLOGY_IR_PATH, ONTOLOGY_PULL_CONFIG_PATH, discoverOntologyPullConfigPath, loadOntologyPullConfig, writePulledOntology };
|
package/lib/cli/pull.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","names":[],"sources":["../../src/cli/pull.ts"],"sourcesContent":["import { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, resolve } from \"node:path\";\nimport nextEnv from \"@next/env\";\nimport {
|
|
1
|
+
{"version":3,"file":"pull.js","names":[],"sources":["../../src/cli/pull.ts"],"sourcesContent":["import { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, resolve } from \"node:path\";\nimport nextEnv from \"@next/env\";\nimport { pull } from \"@party-stack/ontology-backend/meta\";\nimport { generateOntology } from \"@party-stack/ontology-spec/generate\";\nimport { formatGeneratedFile } from \"@party-stack/ontology-spec/generate\";\nimport { Effect, Predicate } from \"effect\";\nimport { createJiti } from \"jiti\";\nimport type { OntologyPullContext, OntologyPullConfig } from \"../OntologyPullConfig.js\";\n\nconst { loadEnvConfig } = nextEnv;\n\nexport const ONTOLOGY_PULL_CONFIG_PATH = \"src/ontology/config.ts\";\nexport const ONTOLOGY_IR_PATH = \"src/ontology/ontology.ts\";\n\ntype ConfigModule = Record<string, unknown> & { default?: unknown };\n\nfunction isOntologyPullConfig(value: unknown): value is OntologyPullConfig {\n return (\n Predicate.isObject(value) &&\n Effect.isEffect(value.backend) &&\n (value.transformPulledOntology === undefined ||\n typeof value.transformPulledOntology === \"function\") &&\n Array.isArray(value.objectTypeNames) &&\n value.objectTypeNames.every((entry) => typeof entry === \"string\") &&\n Array.isArray(value.actionTypeNames) &&\n value.actionTypeNames.every((entry) => typeof entry === \"string\") &&\n (value.queryFunctionTypeNames === undefined ||\n (Array.isArray(value.queryFunctionTypeNames) &&\n value.queryFunctionTypeNames.every((entry) => typeof entry === \"string\")))\n );\n}\n\nexport function discoverOntologyPullConfigPath(cwd: string): string | null {\n const configPath = resolve(cwd, ONTOLOGY_PULL_CONFIG_PATH);\n return existsSync(configPath) ? configPath : null;\n}\n\nexport async function loadOntologyPullConfig(configPath: string): Promise<OntologyPullConfig> {\n loadEnvConfig(resolve(dirname(configPath), \"../..\"));\n\n const jiti = createJiti(import.meta.url);\n const configModule: ConfigModule = await jiti.import(configPath);\n const config = configModule.default;\n\n if (!isOntologyPullConfig(config)) {\n throw new Error(`Config file \"${configPath}\" must default export an OntologyPullConfig value.`);\n }\n\n return config;\n}\n\nexport async function writePulledOntology(\n config: OntologyPullConfig,\n outPath: string,\n context: OntologyPullContext,\n ontologyImportPath = \"@party-stack/ontology-spec\"\n): Promise<void> {\n const ontology = await Effect.runPromise(\n Effect.scoped(\n Effect.gen(function* () {\n const backend = yield* config.backend;\n return yield* pull(backend, {\n objectTypeNames: config.objectTypeNames,\n actionTypeNames: config.actionTypeNames,\n queryFunctionTypeNames: config.queryFunctionTypeNames ?? [],\n transformPulledOntology: config.transformPulledOntology,\n });\n })\n ).pipe(Effect.provide(context.runtime))\n );\n const output = generateOntology(ontology, { ontologyImportPath });\n\n mkdirSync(dirname(outPath), { recursive: true });\n\n const formatted = await formatGeneratedFile(outPath, output);\n\n writeFileSync(outPath, formatted, \"utf-8\");\n}\n"],"mappings":";;;;;;;;AAUA,MAAM,EAAE,kBAAkB;AAE1B,MAAa,4BAA4B;AACzC,MAAa,mBAAmB;AAIhC,SAAS,qBAAqB,OAA6C;CACvE,OACI,UAAU,SAAS,KAAK,KACxB,OAAO,SAAS,MAAM,OAAO,MAC5B,MAAM,4BAA4B,KAAA,KAC/B,OAAO,MAAM,4BAA4B,eAC7C,MAAM,QAAQ,MAAM,eAAe,KACnC,MAAM,gBAAgB,OAAO,UAAU,OAAO,UAAU,QAAQ,KAChE,MAAM,QAAQ,MAAM,eAAe,KACnC,MAAM,gBAAgB,OAAO,UAAU,OAAO,UAAU,QAAQ,MAC/D,MAAM,2BAA2B,KAAA,KAC7B,MAAM,QAAQ,MAAM,sBAAsB,KACvC,MAAM,uBAAuB,OAAO,UAAU,OAAO,UAAU,QAAQ;AAEvF;AAEA,SAAgB,+BAA+B,KAA4B;CACvE,MAAM,aAAa,QAAQ,KAAK,yBAAyB;CACzD,OAAO,WAAW,UAAU,IAAI,aAAa;AACjD;AAEA,eAAsB,uBAAuB,YAAiD;CAC1F,cAAc,QAAQ,QAAQ,UAAU,GAAG,OAAO,CAAC;CAInD,MAAM,UAAS,MAFF,WAAW,YAAY,GACQ,CAAC,CAAC,OAAO,UAAU,EAAA,CACnC;CAE5B,IAAI,CAAC,qBAAqB,MAAM,GAC5B,MAAM,IAAI,MAAM,gBAAgB,WAAW,mDAAmD;CAGlG,OAAO;AACX;AAEA,eAAsB,oBAClB,QACA,SACA,SACA,qBAAqB,8BACR;CACb,MAAM,WAAW,MAAM,OAAO,WAC1B,OAAO,OACH,OAAO,IAAI,aAAa;EACpB,MAAM,UAAU,OAAO,OAAO;EAC9B,OAAO,OAAO,KAAK,SAAS;GACxB,iBAAiB,OAAO;GACxB,iBAAiB,OAAO;GACxB,wBAAwB,OAAO,0BAA0B,CAAC;GAC1D,yBAAyB,OAAO;EACpC,CAAC;CACL,CAAC,CACL,CAAC,CAAC,KAAK,OAAO,QAAQ,QAAQ,OAAO,CAAC,CAC1C;CACA,MAAM,SAAS,iBAAiB,UAAU,EAAE,mBAAmB,CAAC;CAEhE,UAAU,QAAQ,OAAO,GAAG,EAAE,WAAW,KAAK,CAAC;CAE/C,MAAM,YAAY,MAAM,oBAAoB,SAAS,MAAM;CAE3D,cAAc,SAAS,WAAW,OAAO;AAC7C"}
|
package/lib/client.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BackendError } from "@party-stack/ontology-backend";
|
|
2
|
+
import { Effect, Scope } from "effect";
|
|
3
|
+
import { OntologyServerClient } from "@party-stack/ontology-server/rpc";
|
|
4
|
+
//#region src/client.d.ts
|
|
5
|
+
/** Open one shared transport at an application boundary. Selected views borrow it. */
|
|
6
|
+
export declare function createOntologyClient(open: Effect.Effect<OntologyServerClient, BackendError, Scope.Scope>): Promise<{
|
|
7
|
+
ontology: (name?: string, options?: import("@party-stack/ontology-server/rpc").OntologyClientOptions) => Effect.Effect<import("@party-stack/ontology-server/rpc").OntologyClient, BackendError, Scope.Scope>;
|
|
8
|
+
cleanup: () => Promise<void>;
|
|
9
|
+
}>;
|
|
10
|
+
//#endregion
|
|
11
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","names":[],"sources":["../src/client.ts"],"mappings":";;;;;wBAKsB,qBAClB,MAAM,OAAO,OAAO,sBAAsB,cAAc,MAAM,SAAM"}
|
package/lib/client.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Effect, Exit, Scope } from "effect";
|
|
2
|
+
//#region src/client.ts
|
|
3
|
+
/** Open one shared transport at an application boundary. Selected views borrow it. */
|
|
4
|
+
async function createOntologyClient(open) {
|
|
5
|
+
const scope = Effect.runSync(Scope.make());
|
|
6
|
+
try {
|
|
7
|
+
const client = await Effect.runPromise(Scope.provide(open, scope));
|
|
8
|
+
let closing;
|
|
9
|
+
return {
|
|
10
|
+
...client,
|
|
11
|
+
cleanup: () => closing ??= Effect.runPromise(Scope.close(scope, Exit.void))
|
|
12
|
+
};
|
|
13
|
+
} catch (cause) {
|
|
14
|
+
await Effect.runPromise(Scope.close(scope, Exit.fail(cause)));
|
|
15
|
+
throw cause;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { createOntologyClient };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","names":[],"sources":["../src/client.ts"],"sourcesContent":["import { Effect, Exit, Scope } from \"effect\";\nimport type { BackendError } from \"@party-stack/ontology-backend\";\nimport type { OntologyServerClient } from \"@party-stack/ontology-server/rpc\";\n\n/** Open one shared transport at an application boundary. Selected views borrow it. */\nexport async function createOntologyClient(\n open: Effect.Effect<OntologyServerClient, BackendError, Scope.Scope>\n) {\n const scope = Effect.runSync(Scope.make());\n try {\n const client = await Effect.runPromise(Scope.provide(open, scope));\n let closing: Promise<void> | undefined;\n return { ...client, cleanup: () => (closing ??= Effect.runPromise(Scope.close(scope, Exit.void))) };\n } catch (cause) {\n await Effect.runPromise(Scope.close(scope, Exit.fail(cause)));\n throw cause;\n }\n}\n"],"mappings":";;;AAKA,eAAsB,qBAClB,MACF;CACE,MAAM,QAAQ,OAAO,QAAQ,MAAM,KAAK,CAAC;CACzC,IAAI;EACA,MAAM,SAAS,MAAM,OAAO,WAAW,MAAM,QAAQ,MAAM,KAAK,CAAC;EACjE,IAAI;EACJ,OAAO;GAAE,GAAG;GAAQ,eAAgB,YAAY,OAAO,WAAW,MAAM,MAAM,OAAO,KAAK,IAAI,CAAC;EAAG;CACtG,SAAS,OAAO;EACZ,MAAM,OAAO,WAAW,MAAM,MAAM,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC;EAC5D,MAAM;CACV;AACJ"}
|