@learncard/network-brain-service 3.19.0 → 3.19.1
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/.env.example +34 -2
- package/CHANGELOG.md +38 -0
- package/README.md +42 -0
- package/dist/accesslayer/consentflowcontract/relationships/create.d.ts.map +1 -1
- package/dist/accesslayer/consentflowcontract/relationships/update.d.ts.map +1 -1
- package/dist/accesslayer/presentation/read.d.ts.map +1 -1
- package/dist/accesslayer/presentation/relationships/create.d.ts +2 -2
- package/dist/accesslayer/presentation/relationships/create.d.ts.map +1 -1
- package/dist/accesslayer/presentation/relationships/read.d.ts.map +1 -1
- package/dist/accesslayer/share-link/abandon.d.ts +3 -0
- package/dist/accesslayer/share-link/abandon.d.ts.map +1 -0
- package/dist/accesslayer/share-link/cleanup.d.ts +6 -0
- package/dist/accesslayer/share-link/cleanup.d.ts.map +1 -0
- package/dist/accesslayer/share-link/errors.d.ts +8 -0
- package/dist/accesslayer/share-link/errors.d.ts.map +1 -0
- package/dist/accesslayer/share-link/finalize.d.ts +3 -0
- package/dist/accesslayer/share-link/finalize.d.ts.map +1 -0
- package/dist/accesslayer/share-link/helpers.d.ts +56 -0
- package/dist/accesslayer/share-link/helpers.d.ts.map +1 -0
- package/dist/accesslayer/share-link/index.d.ts +12 -0
- package/dist/accesslayer/share-link/index.d.ts.map +1 -0
- package/dist/accesslayer/share-link/list.d.ts +5 -0
- package/dist/accesslayer/share-link/list.d.ts.map +1 -0
- package/dist/accesslayer/share-link/read.d.ts +5 -0
- package/dist/accesslayer/share-link/read.d.ts.map +1 -0
- package/dist/accesslayer/share-link/receipt.d.ts +11 -0
- package/dist/accesslayer/share-link/receipt.d.ts.map +1 -0
- package/dist/accesslayer/share-link/recovery.d.ts +6 -0
- package/dist/accesslayer/share-link/recovery.d.ts.map +1 -0
- package/dist/accesslayer/share-link/reserve.d.ts +4 -0
- package/dist/accesslayer/share-link/reserve.d.ts.map +1 -0
- package/dist/accesslayer/share-link/revoke.d.ts +3 -0
- package/dist/accesslayer/share-link/revoke.d.ts.map +1 -0
- package/dist/accesslayer/share-link/transaction-execution.d.ts +18 -0
- package/dist/accesslayer/share-link/transaction-execution.d.ts.map +1 -0
- package/dist/accesslayer/share-link/transaction.d.ts +15 -0
- package/dist/accesslayer/share-link/transaction.d.ts.map +1 -0
- package/dist/accesslayer/share-link/types.d.ts +370 -0
- package/dist/accesslayer/share-link/types.d.ts.map +1 -0
- package/dist/app.d.ts +4 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/config/environment.d.ts +9 -0
- package/dist/config/environment.d.ts.map +1 -1
- package/dist/constants/auth-grant.d.ts +2 -0
- package/dist/constants/auth-grant.d.ts.map +1 -1
- package/dist/helpers/boost.helpers.d.ts.map +1 -1
- package/dist/helpers/credentialSubject.helpers.d.ts +3 -0
- package/dist/helpers/credentialSubject.helpers.d.ts.map +1 -0
- package/dist/helpers/credentialSubject.helpers.test.d.ts +2 -0
- package/dist/helpers/credentialSubject.helpers.test.d.ts.map +1 -0
- package/dist/helpers/inbox.helpers.d.ts.map +1 -1
- package/dist/helpers/notificationMessages.d.ts +1 -1
- package/dist/helpers/notificationMessages.d.ts.map +1 -1
- package/dist/helpers/presentation-metadata.d.ts +4 -0
- package/dist/helpers/presentation-metadata.d.ts.map +1 -0
- package/dist/helpers/presentation.helpers.d.ts +1 -1
- package/dist/helpers/presentation.helpers.d.ts.map +1 -1
- package/dist/helpers/profile.helpers.d.ts +1 -0
- package/dist/helpers/profile.helpers.d.ts.map +1 -1
- package/dist/helpers/share-content-client/adapters.d.ts +10 -0
- package/dist/helpers/share-content-client/adapters.d.ts.map +1 -0
- package/dist/helpers/share-content-client/canonical.d.ts +7 -0
- package/dist/helpers/share-content-client/canonical.d.ts.map +1 -0
- package/dist/helpers/share-content-client/client.d.ts +5 -0
- package/dist/helpers/share-content-client/client.d.ts.map +1 -0
- package/dist/helpers/share-content-client/config.d.ts +11 -0
- package/dist/helpers/share-content-client/config.d.ts.map +1 -0
- package/dist/helpers/share-content-client/index.d.ts +6 -0
- package/dist/helpers/share-content-client/index.d.ts.map +1 -0
- package/dist/helpers/share-content-client/responses.d.ts +16 -0
- package/dist/helpers/share-content-client/responses.d.ts.map +1 -0
- package/dist/helpers/share-content-client/types.d.ts +145 -0
- package/dist/helpers/share-content-client/types.d.ts.map +1 -0
- package/dist/helpers/share-link-coordinator/budget-helpers.d.ts +5 -0
- package/dist/helpers/share-link-coordinator/budget-helpers.d.ts.map +1 -0
- package/dist/helpers/share-link-coordinator/cleanup-runner.d.ts +3 -0
- package/dist/helpers/share-link-coordinator/cleanup-runner.d.ts.map +1 -0
- package/dist/helpers/share-link-coordinator/coordinator.d.ts +4 -0
- package/dist/helpers/share-link-coordinator/coordinator.d.ts.map +1 -0
- package/dist/helpers/share-link-coordinator/index.d.ts +5 -0
- package/dist/helpers/share-link-coordinator/index.d.ts.map +1 -0
- package/dist/helpers/share-link-coordinator/recovery-runner.d.ts +9 -0
- package/dist/helpers/share-link-coordinator/recovery-runner.d.ts.map +1 -0
- package/dist/helpers/share-link-coordinator/runtime.d.ts +11 -0
- package/dist/helpers/share-link-coordinator/runtime.d.ts.map +1 -0
- package/dist/helpers/share-link-coordinator/stat.d.ts +4 -0
- package/dist/helpers/share-link-coordinator/stat.d.ts.map +1 -0
- package/dist/helpers/share-link-coordinator/types.d.ts +160 -0
- package/dist/helpers/share-link-coordinator/types.d.ts.map +1 -0
- package/dist/helpers/share-link-lifecycle/index.d.ts +5 -0
- package/dist/helpers/share-link-lifecycle/index.d.ts.map +1 -0
- package/dist/helpers/share-link-lifecycle/lease.helpers.d.ts +4 -0
- package/dist/helpers/share-link-lifecycle/lease.helpers.d.ts.map +1 -0
- package/dist/helpers/share-link-lifecycle/recovery.helpers.d.ts +21 -0
- package/dist/helpers/share-link-lifecycle/recovery.helpers.d.ts.map +1 -0
- package/dist/helpers/share-link-lifecycle/request-hash.helpers.d.ts +9 -0
- package/dist/helpers/share-link-lifecycle/request-hash.helpers.d.ts.map +1 -0
- package/dist/helpers/share-link-lifecycle/types.d.ts +14 -0
- package/dist/helpers/share-link-lifecycle/types.d.ts.map +1 -0
- package/dist/helpers/share-link-maintenance/budget.d.ts +12 -0
- package/dist/helpers/share-link-maintenance/budget.d.ts.map +1 -0
- package/dist/helpers/share-link-maintenance/config.d.ts +48 -0
- package/dist/helpers/share-link-maintenance/config.d.ts.map +1 -0
- package/dist/helpers/share-link-maintenance/index.d.ts +8 -0
- package/dist/helpers/share-link-maintenance/index.d.ts.map +1 -0
- package/dist/helpers/share-link-maintenance/runner.d.ts +19 -0
- package/dist/helpers/share-link-maintenance/runner.d.ts.map +1 -0
- package/dist/helpers/share-link-maintenance/runtime.d.ts +36 -0
- package/dist/helpers/share-link-maintenance/runtime.d.ts.map +1 -0
- package/dist/helpers/share-link-maintenance/scheduler.d.ts +18 -0
- package/dist/helpers/share-link-maintenance/scheduler.d.ts.map +1 -0
- package/dist/helpers/share-link-maintenance/telemetry.d.ts +5 -0
- package/dist/helpers/share-link-maintenance/telemetry.d.ts.map +1 -0
- package/dist/helpers/share-link-maintenance/types.d.ts +53 -0
- package/dist/helpers/share-link-maintenance/types.d.ts.map +1 -0
- package/dist/helpers/share-link-owner/config.d.ts +16 -0
- package/dist/helpers/share-link-owner/config.d.ts.map +1 -0
- package/dist/helpers/share-link-owner/diagnostics.d.ts +26 -0
- package/dist/helpers/share-link-owner/diagnostics.d.ts.map +1 -0
- package/dist/helpers/share-link-owner/lazy-initializer.d.ts +2 -0
- package/dist/helpers/share-link-owner/lazy-initializer.d.ts.map +1 -0
- package/dist/helpers/share-link-owner-projection.d.ts +4 -0
- package/dist/helpers/share-link-owner-projection.d.ts.map +1 -0
- package/dist/helpers/share-link-passcode-abuse.d.ts +2 -0
- package/dist/helpers/share-link-passcode-abuse.d.ts.map +1 -0
- package/dist/helpers/share-link-passcode.d.ts +6 -0
- package/dist/helpers/share-link-passcode.d.ts.map +1 -0
- package/dist/helpers/share-link-policy/index.d.ts +4 -0
- package/dist/helpers/share-link-policy/index.d.ts.map +1 -0
- package/dist/helpers/share-link-policy/production.d.ts +13 -0
- package/dist/helpers/share-link-policy/production.d.ts.map +1 -0
- package/dist/helpers/share-link-policy/resolver.d.ts +6 -0
- package/dist/helpers/share-link-policy/resolver.d.ts.map +1 -0
- package/dist/helpers/share-link-policy/types.d.ts +16 -0
- package/dist/helpers/share-link-policy/types.d.ts.map +1 -0
- package/dist/helpers/share-link-public/config.d.ts +13 -0
- package/dist/helpers/share-link-public/config.d.ts.map +1 -0
- package/dist/helpers/share-link-view-notification.d.ts +2 -0
- package/dist/helpers/share-link-view-notification.d.ts.map +1 -0
- package/dist/index.js +2 -2
- package/dist/models/Presentation.d.ts +2 -0
- package/dist/models/Presentation.d.ts.map +1 -1
- package/dist/models/Profile.d.ts +2 -0
- package/dist/models/Profile.d.ts.map +1 -1
- package/dist/models/ShareLink.d.ts +44 -0
- package/dist/models/ShareLink.d.ts.map +1 -0
- package/dist/models/ShareViewReceipt.d.ts +22 -0
- package/dist/models/ShareViewReceipt.d.ts.map +1 -0
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/share-link-constraints.d.ts +3 -0
- package/dist/models/share-link-constraints.d.ts.map +1 -0
- package/dist/public-share-link-http.d.ts +4 -0
- package/dist/public-share-link-http.d.ts.map +1 -0
- package/dist/routes/app-store.d.ts.map +1 -1
- package/dist/routes/boosts.d.ts.map +1 -1
- package/dist/routes/contracts.d.ts +2 -2
- package/dist/routes/contracts.d.ts.map +1 -1
- package/dist/routes/credentials.d.ts +1 -1
- package/dist/routes/index.d.ts +153 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/presentations.d.ts +1 -0
- package/dist/routes/presentations.d.ts.map +1 -1
- package/dist/routes/profile-manager.d.ts.map +1 -1
- package/dist/routes/profiles.d.ts.map +1 -1
- package/dist/routes/public-share-links.d.ts +230 -0
- package/dist/routes/public-share-links.d.ts.map +1 -0
- package/dist/routes/share-links.d.ts +844 -0
- package/dist/routes/share-links.d.ts.map +1 -0
- package/dist/services/delivery/adapters/postmark.adapter.d.ts.map +1 -1
- package/dist/types/consentflowcontract.d.ts +1 -1
- package/lambda.ts +4 -1
- package/package.json +22 -16
- package/scripts/seed-demo-persona.ts +425 -0
- package/serverless.yml +36 -0
- package/shareLinkMaintenanceLambda.ts +49 -0
- package/src/accesslayer/consentflowcontract/relationships/create.ts +9 -16
- package/src/accesslayer/consentflowcontract/relationships/update.ts +15 -28
- package/src/accesslayer/presentation/read.ts +57 -25
- package/src/accesslayer/presentation/relationships/create.ts +54 -11
- package/src/accesslayer/presentation/relationships/read.ts +21 -6
- package/src/accesslayer/share-link/abandon.ts +100 -0
- package/src/accesslayer/share-link/cleanup.ts +271 -0
- package/src/accesslayer/share-link/errors.ts +32 -0
- package/src/accesslayer/share-link/finalize.ts +265 -0
- package/src/accesslayer/share-link/helpers.ts +419 -0
- package/src/accesslayer/share-link/index.ts +11 -0
- package/src/accesslayer/share-link/list.ts +162 -0
- package/src/accesslayer/share-link/read.ts +107 -0
- package/src/accesslayer/share-link/receipt.ts +548 -0
- package/src/accesslayer/share-link/recovery.ts +545 -0
- package/src/accesslayer/share-link/reserve.ts +684 -0
- package/src/accesslayer/share-link/revoke.ts +197 -0
- package/src/accesslayer/share-link/transaction-execution.ts +72 -0
- package/src/accesslayer/share-link/transaction.ts +126 -0
- package/src/accesslayer/share-link/types.ts +601 -0
- package/src/app.ts +6 -0
- package/src/config/environment.ts +14 -0
- package/src/constants/auth-grant.ts +5 -0
- package/src/docker-entry.ts +57 -0
- package/src/helpers/boost.helpers.ts +4 -31
- package/src/helpers/credentialSubject.helpers.test.ts +114 -0
- package/src/helpers/credentialSubject.helpers.ts +40 -0
- package/src/helpers/inbox.helpers.ts +7 -4
- package/src/helpers/notificationMessages.ts +18 -1
- package/src/helpers/presentation-metadata.ts +41 -0
- package/src/helpers/presentation.helpers.ts +27 -20
- package/src/helpers/profile.helpers.ts +7 -0
- package/src/helpers/share-content-client/adapters.ts +55 -0
- package/src/helpers/share-content-client/canonical.ts +25 -0
- package/src/helpers/share-content-client/client.ts +440 -0
- package/src/helpers/share-content-client/config.ts +189 -0
- package/src/helpers/share-content-client/index.ts +27 -0
- package/src/helpers/share-content-client/responses.ts +273 -0
- package/src/helpers/share-content-client/types.ts +253 -0
- package/src/helpers/share-link-coordinator/budget-helpers.ts +53 -0
- package/src/helpers/share-link-coordinator/cleanup-runner.ts +286 -0
- package/src/helpers/share-link-coordinator/coordinator.ts +714 -0
- package/src/helpers/share-link-coordinator/index.ts +8 -0
- package/src/helpers/share-link-coordinator/recovery-runner.ts +428 -0
- package/src/helpers/share-link-coordinator/runtime.ts +88 -0
- package/src/helpers/share-link-coordinator/stat.ts +30 -0
- package/src/helpers/share-link-coordinator/types.ts +353 -0
- package/src/helpers/share-link-lifecycle/index.ts +4 -0
- package/src/helpers/share-link-lifecycle/lease.helpers.ts +35 -0
- package/src/helpers/share-link-lifecycle/recovery.helpers.ts +173 -0
- package/src/helpers/share-link-lifecycle/request-hash.helpers.ts +130 -0
- package/src/helpers/share-link-lifecycle/types.ts +58 -0
- package/src/helpers/share-link-maintenance/budget.ts +63 -0
- package/src/helpers/share-link-maintenance/config.ts +312 -0
- package/src/helpers/share-link-maintenance/index.ts +24 -0
- package/src/helpers/share-link-maintenance/runner.ts +223 -0
- package/src/helpers/share-link-maintenance/runtime.ts +334 -0
- package/src/helpers/share-link-maintenance/scheduler.ts +126 -0
- package/src/helpers/share-link-maintenance/telemetry.ts +70 -0
- package/src/helpers/share-link-maintenance/types.ts +89 -0
- package/src/helpers/share-link-owner/config.ts +48 -0
- package/src/helpers/share-link-owner/diagnostics.ts +89 -0
- package/src/helpers/share-link-owner/lazy-initializer.ts +29 -0
- package/src/helpers/share-link-owner-projection.ts +52 -0
- package/src/helpers/share-link-passcode-abuse.ts +36 -0
- package/src/helpers/share-link-passcode.ts +47 -0
- package/src/helpers/share-link-policy/index.ts +7 -0
- package/src/helpers/share-link-policy/production.ts +88 -0
- package/src/helpers/share-link-policy/resolver.ts +108 -0
- package/src/helpers/share-link-policy/types.ts +48 -0
- package/src/helpers/share-link-public/config.ts +41 -0
- package/src/helpers/share-link-view-notification.ts +18 -0
- package/src/models/Presentation.ts +2 -2
- package/src/models/Profile.ts +3 -2
- package/src/models/ShareLink.ts +130 -0
- package/src/models/ShareViewReceipt.ts +69 -0
- package/src/models/index.ts +2 -0
- package/src/models/share-link-constraints.ts +93 -0
- package/src/public-share-link-http.ts +49 -0
- package/src/routes/app-store.ts +2 -11
- package/src/routes/boosts.ts +2 -11
- package/src/routes/contracts.ts +2 -11
- package/src/routes/index.ts +139 -44
- package/src/routes/presentations.ts +19 -3
- package/src/routes/profile-manager.ts +10 -2
- package/src/routes/profiles.ts +17 -6
- package/src/routes/public-share-links.ts +814 -0
- package/src/routes/share-links.ts +640 -0
- package/src/services/delivery/adapters/postmark.adapter.ts +4 -1
- package/test/dids.spec.ts +10 -1
- package/test/guardian-gated-routes.spec.ts +13 -0
- package/test/helpers/share-link-fixtures.ts +94 -0
- package/test/managed-recipient-inbox.spec.ts +130 -0
- package/test/notificationMessages.spec.ts +13 -0
- package/test/openapi.spec.ts +20 -0
- package/test/presentations.spec.ts +54 -6
- package/test/profiles.spec.ts +67 -1
- package/test/share-content-client.contract.spec.ts +365 -0
- package/test/share-content-client.unit.spec.ts +462 -0
- package/test/share-link-abuse.unit.spec.ts +65 -0
- package/test/share-link-coordinator.neo4j.spec.ts +684 -0
- package/test/share-link-coordinator.unit.spec.ts +990 -0
- package/test/share-link-dependency-diagnostics.unit.spec.ts +127 -0
- package/test/share-link-lifecycle.neo4j.spec.ts +1268 -0
- package/test/share-link-lifecycle.unit.spec.ts +205 -0
- package/test/share-link-list-cursor.unit.spec.ts +86 -0
- package/test/share-link-list.neo4j.spec.ts +324 -0
- package/test/share-link-maintenance.neo4j.spec.ts +355 -0
- package/test/share-link-maintenance.unit.spec.ts +1113 -0
- package/test/share-link-owner-policy.unit.spec.ts +210 -0
- package/test/share-link-owner-route.unit.spec.ts +752 -0
- package/test/share-link-owner-runtime.unit.spec.ts +102 -0
- package/test/share-link-passcode.unit.spec.ts +29 -0
- package/test/share-link-policy.unit.spec.ts +135 -0
- package/test/share-link-presentation-metadata.unit.spec.ts +49 -0
- package/test/share-link-production-policy.unit.spec.ts +77 -0
- package/test/share-link-public-config.unit.spec.ts +64 -0
- package/test/share-link-public-http-adapter.unit.spec.ts +315 -0
- package/test/share-link-public-route.unit.spec.ts +800 -0
- package/test/share-link-receipt.neo4j.spec.ts +943 -0
- package/test/share-link-recovery.neo4j.spec.ts +935 -0
- package/test/share-link-recovery.unit.spec.ts +726 -0
- package/vitest.config.ts +1 -0
- package/vitest.share-links-neo4j.config.ts +19 -0
- package/vitest.share-links-unit.config.ts +28 -0
package/.env.example
CHANGED
|
@@ -6,8 +6,13 @@ PORT=3000
|
|
|
6
6
|
SEED=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
7
7
|
NEO4J_URI=bolt://localhost:7687
|
|
8
8
|
NEO4J_USERNAME=neo4j
|
|
9
|
-
NEO4J_PASSWORD=password
|
|
10
|
-
DOMAIN_NAME=
|
|
9
|
+
NEO4J_PASSWORD=this-is-the-password
|
|
10
|
+
DOMAIN_NAME=localhost%3A4000
|
|
11
|
+
MONGO_URI=mongodb://localhost:27017/?replicaSet=rs0
|
|
12
|
+
MONGO_DB_NAME=lca-api
|
|
13
|
+
# Required by the sample-persona seeder. Use a disposable seed only for local development.
|
|
14
|
+
DEMO_PERSONA_SIGNING_AUTHORITY_ENDPOINT=http://localhost:5100/api
|
|
15
|
+
DEMO_PERSONA_SA_SEED=
|
|
11
16
|
CLIENT_APP_DOMAIN_NAME=
|
|
12
17
|
CLIENT_APP_PORT=3000
|
|
13
18
|
LOGIN_PROVIDER_DID=
|
|
@@ -92,3 +97,30 @@ CREDENTIAL_REFRESH_ENABLED=false
|
|
|
92
97
|
CREDENTIAL_REFRESH_DIGEST_SECRET=
|
|
93
98
|
# Hours during which repeat refresh notifications collapse into one unread record.
|
|
94
99
|
CREDENTIAL_REFRESH_NOTIFICATION_WINDOW_HOURS=24
|
|
100
|
+
|
|
101
|
+
# LC-2187 service wiring and automatic recovery/cleanup maintenance.
|
|
102
|
+
# Supply an explicit namespace, trusted LearnCloud origin and audience;
|
|
103
|
+
# malformed values fail closed without graph/remote/signing work.
|
|
104
|
+
SHARE_LINK_MAINTENANCE_NAMESPACE=
|
|
105
|
+
SHARE_LINK_MAINTENANCE_ORIGIN=
|
|
106
|
+
SHARE_LINK_MAINTENANCE_AUDIENCE=
|
|
107
|
+
SHARE_LINK_MAINTENANCE_ALLOW_INSECURE_LOOPBACK=false
|
|
108
|
+
SHARE_LINK_MAINTENANCE_CLAIMANT=brain-share-link-maintenance
|
|
109
|
+
SHARE_LINK_MAINTENANCE_RECOVERY_LIMIT=25
|
|
110
|
+
SHARE_LINK_MAINTENANCE_CLEANUP_LIMIT=25
|
|
111
|
+
SHARE_LINK_MAINTENANCE_LEASE_MS=120000
|
|
112
|
+
SHARE_LINK_MAINTENANCE_CLAIM_MS=300000
|
|
113
|
+
SHARE_LINK_MAINTENANCE_BUDGET_MS=60000
|
|
114
|
+
SHARE_LINK_MAINTENANCE_INTERVAL_MS=300000
|
|
115
|
+
SHARE_LINK_MAINTENANCE_REQUEST_TIMEOUT_MS=10000
|
|
116
|
+
SHARE_LINK_MAINTENANCE_FINALIZE_RESERVE_MS=5000
|
|
117
|
+
SHARE_LINK_MAINTENANCE_GRAPH_TIMEOUT_MS=15000
|
|
118
|
+
|
|
119
|
+
# Owner/public APIs and maintenance are available once the service wiring above
|
|
120
|
+
# is valid. UI rollout is controlled only by LaunchDarkly share-links-enabled.
|
|
121
|
+
# Optional owner namespace override must match SHARE_LINK_MAINTENANCE_NAMESPACE.
|
|
122
|
+
SHARE_LINK_OWNER_API_NAMESPACE=
|
|
123
|
+
# Independent 32+ byte secret, identical on all Brain instances and stable across
|
|
124
|
+
# deployments. Required when the owner API is enabled; test runs use a test-only key.
|
|
125
|
+
SHARE_LINK_REQUEST_HASH_SECRET=
|
|
126
|
+
# Production unknown-age policy defaults to 30 days and does not count views.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# @learncard/network-brain-service
|
|
2
2
|
|
|
3
|
+
## 3.19.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#1607](https://github.com/learningeconomy/LearnCard/pull/1607) [`b184f5552abf37a11468d435e5cea07fc35e1993`](https://github.com/learningeconomy/LearnCard/commit/b184f5552abf37a11468d435e5cea07fc35e1993) Thanks [@goblincore](https://github.com/goblincore)! - Make `acceptPresentation` idempotent so retries of a saved collection do not create duplicate relationships. New or replacement share-link passcodes require at least eight characters; existing shorter passcodes remain valid for recipients. Public share resolution can now return `try_later` when passcode verification is unavailable or throttled.
|
|
8
|
+
|
|
9
|
+
- [#1624](https://github.com/learningeconomy/LearnCard/pull/1624) [`7e5c2b9ce9fabbd5635cf17a2c6eea5c3ce692fa`](https://github.com/learningeconomy/LearnCard/commit/7e5c2b9ce9fabbd5635cf17a2c6eea5c3ce692fa) Thanks [@Custard7](https://github.com/Custard7)! - fix: Stop treating service profiles as child accounts and fix managed-child claim email template
|
|
10
|
+
|
|
11
|
+
- [#1529](https://github.com/learningeconomy/LearnCard/pull/1529) [`0e262737aafb8248e88e05039c83a3f30be6750f`](https://github.com/learningeconomy/LearnCard/commit/0e262737aafb8248e88e05039c83a3f30be6750f) Thanks [@Custard7](https://github.com/Custard7)! - SSS prod hardening: confirmed recovery enrollment, lost-login identity rebind, and an isolated email relay.
|
|
12
|
+
|
|
13
|
+
- Recovery methods now carry `confirmedAt` and must be proven before they count (email confirmation code, phrase challenge words, backup re-decrypt, passkey round trip). New SSS accounts are `active` immediately; web3auth migrations stay `provisional` until a method is confirmed.
|
|
14
|
+
- New recovery-session flow lets a user whose sign-in identity is gone recover via a verified personal email and bind a new sign-in.
|
|
15
|
+
- Email recovery shares are encrypted on the client to an isolated relay's public key; `lca-api` never sees plaintext. Provider tokens move from query strings to the `X-Auth-Token` header.
|
|
16
|
+
- Sensitive key routes require a single-use DID challenge; key records are keyed by immutable provider ID.
|
|
17
|
+
- `recovery-key` email template now requires `confirmationCode`.
|
|
18
|
+
- Auth-share initialization requires the provider uniqueness index before inserting, preventing competing first writes from creating duplicate accounts. Existing records with missing or BSON-null auth material retain atomic update protection.
|
|
19
|
+
- Automatic stale-key cleanup preserves unresolved pending shares for delayed commits; explicit device forgetting still removes them. Custom SSS storage adapters now implement `deleteDeviceShare(id?)` to remove only the selected share and its version.
|
|
20
|
+
|
|
21
|
+
- [#1614](https://github.com/learningeconomy/LearnCard/pull/1614) [`ae10525fbd0ef284aabe1b03d12db147a1922f2c`](https://github.com/learningeconomy/LearnCard/commit/ae10525fbd0ef284aabe1b03d12db147a1922f2c) Thanks [@smurflo2](https://github.com/smurflo2)! - feat: [LC-2191] Replace Demo School with standards-pure sample personas, including plain OBv3 ConsentFlow issuance without proprietary `boostId` fields.
|
|
22
|
+
|
|
23
|
+
- Updated dependencies [[`4b83aa9ee802f0d7a54adc5f053a7376fa103cdd`](https://github.com/learningeconomy/LearnCard/commit/4b83aa9ee802f0d7a54adc5f053a7376fa103cdd), [`2ebda517e9468476f22d3ae3b4ebddf67e8aca78`](https://github.com/learningeconomy/LearnCard/commit/2ebda517e9468476f22d3ae3b4ebddf67e8aca78), [`0e9dd47f4451d776ad1787d0a35dbd54141b9fe3`](https://github.com/learningeconomy/LearnCard/commit/0e9dd47f4451d776ad1787d0a35dbd54141b9fe3), [`b184f5552abf37a11468d435e5cea07fc35e1993`](https://github.com/learningeconomy/LearnCard/commit/b184f5552abf37a11468d435e5cea07fc35e1993), [`0e262737aafb8248e88e05039c83a3f30be6750f`](https://github.com/learningeconomy/LearnCard/commit/0e262737aafb8248e88e05039c83a3f30be6750f), [`ae10525fbd0ef284aabe1b03d12db147a1922f2c`](https://github.com/learningeconomy/LearnCard/commit/ae10525fbd0ef284aabe1b03d12db147a1922f2c), [`d436c39e00994e6d8c77e7b94985a51fe1f42adb`](https://github.com/learningeconomy/LearnCard/commit/d436c39e00994e6d8c77e7b94985a51fe1f42adb)]:
|
|
24
|
+
- @learncard/types@5.22.0
|
|
25
|
+
- @learncard/credential-library@2.0.5
|
|
26
|
+
- @learncard/email-templates@1.2.0
|
|
27
|
+
- @learncard/helpers@1.6.1
|
|
28
|
+
- @learncard/core@9.4.37
|
|
29
|
+
- @learncard/did-web-plugin@1.1.37
|
|
30
|
+
- @learncard/didkey-plugin@1.1.37
|
|
31
|
+
- @learncard/didkit-plugin@1.10.2
|
|
32
|
+
- @learncard/didkit-plugin-node@0.3.2
|
|
33
|
+
- @learncard/encryption-plugin@1.1.37
|
|
34
|
+
- @learncard/learn-card-plugin@1.2.37
|
|
35
|
+
- @learncard/vc-plugin@1.6.3
|
|
36
|
+
- @learncard/vc-templates-plugin@1.1.37
|
|
37
|
+
- @learncard/crypto-plugin@1.1.37
|
|
38
|
+
- @learncard/dynamic-loader-plugin@1.1.37
|
|
39
|
+
- @learncard/expiration-plugin@1.2.37
|
|
40
|
+
|
|
3
41
|
## 3.19.0
|
|
4
42
|
|
|
5
43
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -29,6 +29,48 @@ Deploy this producer before an AI Passport consumer that requires the new guardi
|
|
|
29
29
|
- **Default environment**: if you omit the stage, the command defaults to `local` and prints a note.
|
|
30
30
|
- **Production safety**: the manual seed command still refuses to run in production unless `--force` is provided.
|
|
31
31
|
|
|
32
|
+
## Sample persona seeding
|
|
33
|
+
|
|
34
|
+
Sample personas are ordered credential-library bundles published as idempotent
|
|
35
|
+
consent-flow contracts. The seeder uses every target value from
|
|
36
|
+
`services/learn-card-network/brain-service/.env`; verify them before running it.
|
|
37
|
+
Do not overwrite an existing `.env` or assume it points to local services.
|
|
38
|
+
|
|
39
|
+
For the local LearnCard App Compose stack, use explicit host-side values:
|
|
40
|
+
|
|
41
|
+
```dotenv
|
|
42
|
+
NEO4J_URI=bolt://localhost:7687
|
|
43
|
+
NEO4J_USERNAME=neo4j
|
|
44
|
+
NEO4J_PASSWORD=this-is-the-password
|
|
45
|
+
MONGO_URI=mongodb://localhost:27017/?replicaSet=rs0
|
|
46
|
+
MONGO_DB_NAME=lca-api
|
|
47
|
+
REDIS_HOST=localhost
|
|
48
|
+
REDIS_PORT=6379
|
|
49
|
+
DOMAIN_NAME=localhost%3A4000
|
|
50
|
+
DEMO_PERSONA_SIGNING_AUTHORITY_ENDPOINT=http://localhost:5100/api
|
|
51
|
+
# Disposable local-only seed. Never reuse this value in a shared environment.
|
|
52
|
+
DEMO_PERSONA_SA_SEED=dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Start the stack, then publish the bundle from `apps/learn-card-app`:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
bun run seed:demo-persona student
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Staging and production require their own secret 64-character hexadecimal
|
|
62
|
+
`DEMO_PERSONA_SA_SEED`, the matching LCA API endpoint, and explicit Neo4j, MongoDB,
|
|
63
|
+
Redis, and domain settings. Deploy the brain service first, run the seeder against
|
|
64
|
+
the intended environment, verify the printed contract URI, and only then deploy app
|
|
65
|
+
configuration that references it.
|
|
66
|
+
|
|
67
|
+
The root seed deterministically derives a distinct signing identity for every
|
|
68
|
+
configured sample issuer. The command updates issuer profiles, unsigned credential
|
|
69
|
+
templates, and auto-boost relationships in place, then prints the stable contract URI
|
|
70
|
+
to record in that tenant's `features.samplePersonas`. Running it again publishes
|
|
71
|
+
credential-library content changes without duplicating profiles, Boosts, signing
|
|
72
|
+
authorities, or contracts.
|
|
73
|
+
|
|
32
74
|
## Notes
|
|
33
75
|
|
|
34
76
|
- The default fixture is idempotent by framework and skill ID, so running the seed command multiple times does not duplicate data.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/accesslayer/consentflowcontract/relationships/create.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,IAAI,oBAAoB,EAExC,2BAA2B,EAE3B,UAAU,EAGb,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAE,cAAc,EAAmB,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiBxC,eAAO,MAAM,qBAAqB,GAAU,UAAU,cAAc,EAAE,SAAS,UAAU,oBAQxF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAChC,UAAU,cAAc,EACxB,OAAO,SAAS,EAChB,kBAAkB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACpD,SAAS,MAAM,oBAWlB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACnC,UAAU,cAAc,EACxB,OAAO,SAAS,KACjB,OAAO,CAAC,IAAI,CAKd,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC1B,WAAW,UAAU,EACrB,6BAA6B;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,aAAa,EAAE,UAAU,CAAA;CAAE,EACpF,0DAKG;IACC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;CAClD,EACD,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/accesslayer/consentflowcontract/relationships/create.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,IAAI,oBAAoB,EAExC,2BAA2B,EAE3B,UAAU,EAGb,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAE,cAAc,EAAmB,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiBxC,eAAO,MAAM,qBAAqB,GAAU,UAAU,cAAc,EAAE,SAAS,UAAU,oBAQxF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAChC,UAAU,cAAc,EACxB,OAAO,SAAS,EAChB,kBAAkB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACpD,SAAS,MAAM,oBAWlB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACnC,UAAU,cAAc,EACxB,OAAO,SAAS,KACjB,OAAO,CAAC,IAAI,CAKd,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC1B,WAAW,UAAU,EACrB,6BAA6B;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,aAAa,EAAE,UAAU,CAAA;CAAE,EACpF,0DAKG;IACC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;CAClD,EACD,QAAQ,MAAM,qBAyQjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/accesslayer/consentflowcontract/relationships/update.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,gBAAgB,IAAI,oBAAoB,EAExC,2BAA2B,EAE3B,UAAU,EAGb,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/accesslayer/consentflowcontract/relationships/update.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,gBAAgB,IAAI,oBAAoB,EAExC,2BAA2B,EAE3B,UAAU,EAGb,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAUxE,eAAO,MAAM,cAAc,GACvB,cAAc;IACV,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,UAAU,CAAC;CAC7B,EACD,kDAKG;IACC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;CAClD,EACD,QAAQ,MAAM,KACf,OAAO,CAAC,OAAO,CAuMjB,CAAC;AAEF,eAAO,MAAM,WAAW,GACpB,cAAc;IACV,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,UAAU,CAAC;CAC7B,EACD,kDAKG;IACC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;CAClD,EACD,QAAQ,MAAM,KACf,OAAO,CAAC,OAAO,CA0MjB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,cAAc;IAC9C,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,UAAU,CAAC;CAC7B,KAAG,OAAO,CAAC,OAAO,CAqDlB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAClC,cAAc;IACV,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,UAAU,CAAC;CAC7B,EACD,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KACrC,OAAO,CAAC,OAAO,CAoHjB,CAAC;AAEF,eAAO,MAAM,gCAAgC,GACzC,OAAO,WAAW,EAClB,aAAa,MAAM,EAAE,KACtB,OAAO,CAAC,MAAM,CAkEhB,CAAC;AAEF,eAAO,MAAM,gCAAgC,GACzC,IAAI,MAAM,EACV,WAAW,MAAM,EACjB,QAAQ,SAAS,GAAG,UAAU,GAAG,QAAQ,KAC1C,OAAO,CAAC,IAAI,CAOd,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACvC,IAAI,MAAM,EACV,WAAW,MAAM,EACjB,SAAS,SAAS,GAAG,UAAU,GAAG,QAAQ,EAC1C,aAAa,MAAM,GAAG,QAAQ,GAAG,IAAI,kBAgBxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/presentation/read.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,oBAAoB,EAIvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAKtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/presentation/read.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,oBAAoB,EAIvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAKtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAU5C,eAAO,MAAM,mBAAmB,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAEzF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAI3F,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC3C,QAAQ,MAAM,EACd,SAAS,WAAW,EACpB,kBAGG;IACC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,KACF,OAAO,CAAC,kBAAkB,EAAE,CA+C9B,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACvC,QAAQ,MAAM,EACd,SAAS,WAAW,EACpB,gBAGG;IACC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,KACF,OAAO,CAAC,kBAAkB,EAAE,CAuD9B,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC3C,QAAQ,MAAM,EACd,SAAS,WAAW,EACpB,kBAGG;IACC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,KACF,OAAO,CAAC,kBAAkB,EAAE,CA+C9B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PresentationInstance } from '../../.././models/index';
|
|
2
2
|
import { ProfileType } from '../../../types/profile';
|
|
3
|
-
export declare const createSentPresentationRelationship: (from: ProfileType, to: ProfileType, presentation: PresentationInstance) => Promise<void>;
|
|
4
|
-
export declare const createReceivedPresentationRelationship: (to: ProfileType, from: ProfileType, presentation: PresentationInstance) => Promise<void>;
|
|
3
|
+
export declare const createSentPresentationRelationship: (from: ProfileType, to: ProfileType, presentation: PresentationInstance, metadata?: Record<string, unknown>) => Promise<void>;
|
|
4
|
+
export declare const createReceivedPresentationRelationship: (to: ProfileType, from: ProfileType, presentation: PresentationInstance, metadata?: Record<string, unknown>) => Promise<void>;
|
|
5
5
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/accesslayer/presentation/relationships/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/accesslayer/presentation/relationships/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,oBAAoB,EAAW,MAAM,SAAS,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,kCAAkC,GAC3C,MAAM,WAAW,EACjB,IAAI,WAAW,EACf,cAAc,oBAAoB,EAClC,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,OAAO,CAAC,IAAI,CAyBd,CAAC;AAEF,eAAO,MAAM,sCAAsC,GAC/C,IAAI,WAAW,EACf,MAAM,WAAW,EACjB,cAAc,oBAAoB,EAClC,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,OAAO,CAAC,IAAI,CAyBd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../src/accesslayer/presentation/relationships/read.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,oBAAoB,EAAW,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../src/accesslayer/presentation/relationships/read.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,oBAAoB,EAAW,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAa5C,eAAO,MAAM,4BAA4B,GACrC,IAAI,MAAM,EACV,IAAI,WAAW,KAChB,OAAO,CACJ;IACI,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,wBAAwB,CAAC,CAAC;IACjF,MAAM,EAAE,oBAAoB,CAAC;CAChC,GACD,SAAS,CAgBd,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,cAAc,oBAAoB,KACnC,OAAO,CAAC,WAAW,GAAG,SAAS,CAajC,CAAC;AAEF,eAAO,MAAM,gCAAgC,GACzC,gBAAgB,MAAM,EACtB,SAAS,WAAW,KACrB,OAAO,CAAC,OAAO,CAUjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abandon.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/abandon.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAcjF,eAAO,MAAM,kBAAkB,GAC3B,OAAO,uBAAuB,KAC/B,OAAO,CAAC,wBAAwB,CAuElC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ClaimCleanupJobsInput, ClaimCleanupJobsResult, CompleteCleanupJobInput, CompleteCleanupJobResult, ShareContentCleanupJobRecord } from './types';
|
|
2
|
+
export declare const claimCleanupJobs: (input: ClaimCleanupJobsInput) => Promise<ClaimCleanupJobsResult>;
|
|
3
|
+
export declare const completeCleanupJob: (input: CompleteCleanupJobInput) => Promise<CompleteCleanupJobResult>;
|
|
4
|
+
export declare const getCleanupJob: (objectRef: string) => Promise<ShareContentCleanupJobRecord | null>;
|
|
5
|
+
export declare const listCleanupJobsForShare: (shareId: string) => Promise<ShareContentCleanupJobRecord[]>;
|
|
6
|
+
//# sourceMappingURL=cleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/cleanup.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACR,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC/B,MAAM,SAAS,CAAC;AA2DjB,eAAO,MAAM,gBAAgB,GACzB,OAAO,qBAAqB,KAC7B,OAAO,CAAC,sBAAsB,CAkEhC,CAAC;AAOF,eAAO,MAAM,kBAAkB,GAC3B,OAAO,uBAAuB,KAC/B,OAAO,CAAC,wBAAwB,CAgFlC,CAAC;AAGF,eAAO,MAAM,aAAa,GACtB,WAAW,MAAM,KAClB,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAQ7C,CAAC;AAGF,eAAO,MAAM,uBAAuB,GAChC,SAAS,MAAM,KAChB,OAAO,CAAC,4BAA4B,EAAE,CAaxC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type ShareLinkRepositoryErrorCode = 'NOT_FOUND' | 'CONFLICT' | 'OPERATION_IN_FLIGHT' | 'LEASE_EXPIRED' | 'STALE_GENERATION' | 'PRECONDITION_FAILED' | 'INVALID_INPUT';
|
|
2
|
+
export declare class ShareLinkRepositoryError extends Error {
|
|
3
|
+
readonly code: ShareLinkRepositoryErrorCode;
|
|
4
|
+
constructor(code: ShareLinkRepositoryErrorCode, message: string);
|
|
5
|
+
}
|
|
6
|
+
export declare const isShareLinkRepositoryError: (error: unknown) => error is ShareLinkRepositoryError;
|
|
7
|
+
export declare function failShareLink(code: ShareLinkRepositoryErrorCode, message: string): never;
|
|
8
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/errors.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,4BAA4B,GAClC,WAAW,GACX,UAAU,GACV,qBAAqB,GACrB,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,eAAe,CAAC;AAEtB,qBAAa,wBAAyB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;gBAEhC,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM;CAKlE;AAED,eAAO,MAAM,0BAA0B,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,wBACxB,CAAC;AAE9C,wBAAgB,aAAa,CAAC,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAExF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finalize.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/finalize.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAqBnF,eAAO,MAAM,mBAAmB,GAC5B,OAAO,wBAAwB,KAChC,OAAO,CAAC,yBAAyB,CA6NnC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { ShareLinkOperationKind } from '../../helpers/share-link-lifecycle';
|
|
2
|
+
import type { ShareLinkRecord } from '../../models/ShareLink';
|
|
3
|
+
import type { Neo4jQueryResult, ShareLinkTransaction } from './transaction';
|
|
4
|
+
import type { ShareContentCleanupJobRecord, ShareLinkOperationRecord, ShareLinkReservationRecord } from './types';
|
|
5
|
+
export declare const normalizeNeo4jValue: (value: unknown) => unknown;
|
|
6
|
+
export declare const normalizeProperties: (props: Record<string, unknown>) => Record<string, unknown>;
|
|
7
|
+
export declare const readNodeProperties: (result: Neo4jQueryResult, key: string, rowIndex?: number) => Record<string, unknown> | null;
|
|
8
|
+
export declare const toShareLinkRecord: (props: Record<string, unknown>) => ShareLinkRecord;
|
|
9
|
+
export declare const toShareLinkReservationRecord: (props: Record<string, unknown>) => ShareLinkReservationRecord;
|
|
10
|
+
export declare const toShareLinkOperationRecord: (props: Record<string, unknown>) => ShareLinkOperationRecord;
|
|
11
|
+
export declare const toShareContentCleanupJobRecord: (props: Record<string, unknown>) => ShareContentCleanupJobRecord;
|
|
12
|
+
export declare const generateObjectRef: () => string;
|
|
13
|
+
export declare const generateOperationId: () => string;
|
|
14
|
+
export declare const generateClaimToken: () => string;
|
|
15
|
+
export type ShareLinkOperationKey = {
|
|
16
|
+
namespace: string;
|
|
17
|
+
ownerProfileId: string;
|
|
18
|
+
opKind: ShareLinkOperationKind;
|
|
19
|
+
clientRequestId: string;
|
|
20
|
+
};
|
|
21
|
+
export declare const lockShare: (tx: ShareLinkTransaction, shareId: string) => Promise<Record<string, unknown> | null>;
|
|
22
|
+
export declare const readShareById: (tx: ShareLinkTransaction, shareId: string) => Promise<Record<string, unknown> | null>;
|
|
23
|
+
export declare const readReservation: (tx: ShareLinkTransaction, shareId: string) => Promise<Record<string, unknown> | null>;
|
|
24
|
+
export declare const readOperation: (tx: ShareLinkTransaction, key: ShareLinkOperationKey) => Promise<Record<string, unknown> | null>;
|
|
25
|
+
export declare const readOperationByOperationId: (tx: ShareLinkTransaction, operationId: string) => Promise<Record<string, unknown> | null>;
|
|
26
|
+
export type WriteOperationInput = ShareLinkOperationKey & {
|
|
27
|
+
operationId: string;
|
|
28
|
+
shareId: string;
|
|
29
|
+
requestHash: string;
|
|
30
|
+
now: string;
|
|
31
|
+
pruneAfter: string;
|
|
32
|
+
};
|
|
33
|
+
export declare const writeOperationInProgress: (tx: ShareLinkTransaction, input: WriteOperationInput) => Promise<void>;
|
|
34
|
+
export declare const markOperationCommitted: (tx: ShareLinkTransaction, input: ShareLinkOperationKey & {
|
|
35
|
+
operationId: string;
|
|
36
|
+
resultJson: string;
|
|
37
|
+
resultVersion: number;
|
|
38
|
+
now: string;
|
|
39
|
+
pruneAfter: string;
|
|
40
|
+
}) => Promise<void>;
|
|
41
|
+
export declare const markOperationAbandoned: (tx: ShareLinkTransaction, key: ShareLinkOperationKey & {
|
|
42
|
+
now: string;
|
|
43
|
+
}) => Promise<void>;
|
|
44
|
+
export declare const deleteReservation: (tx: ShareLinkTransaction, shareId: string) => Promise<void>;
|
|
45
|
+
export type EnqueueCleanupJobInput = {
|
|
46
|
+
objectRef: string;
|
|
47
|
+
operationId: string;
|
|
48
|
+
namespace: string;
|
|
49
|
+
ownerProfileId: string;
|
|
50
|
+
shareId: string;
|
|
51
|
+
contentVersion: number;
|
|
52
|
+
reason: 'superseded' | 'abandoned' | 'stopped';
|
|
53
|
+
now: string;
|
|
54
|
+
};
|
|
55
|
+
export declare const enqueueCleanupJob: (tx: ShareLinkTransaction, input: EnqueueCleanupJobInput) => Promise<void>;
|
|
56
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './errors';
|
|
3
|
+
export * from './reserve';
|
|
4
|
+
export * from './finalize';
|
|
5
|
+
export * from './abandon';
|
|
6
|
+
export * from './revoke';
|
|
7
|
+
export * from './read';
|
|
8
|
+
export * from './list';
|
|
9
|
+
export * from './cleanup';
|
|
10
|
+
export * from './recovery';
|
|
11
|
+
export * from './receipt';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ListShareLinksInput, ListShareLinksResult, ShareLinkListCursor } from './types';
|
|
2
|
+
export declare const encodeShareLinkListCursor: (cursor: ShareLinkListCursor) => string;
|
|
3
|
+
export declare const decodeShareLinkListCursor: (raw: unknown) => ShareLinkListCursor | null;
|
|
4
|
+
export declare const listShareLinks: (input: ListShareLinksInput) => Promise<ListShareLinksResult>;
|
|
5
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/list.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAuD9F,eAAO,MAAM,yBAAyB,GAAI,QAAQ,mBAAmB,KAAG,MAGjE,CAAC;AAOR,eAAO,MAAM,yBAAyB,GAAI,KAAK,OAAO,KAAG,mBAAmB,GAAG,IAqC9E,CAAC;AAaF,eAAO,MAAM,cAAc,GAAU,OAAO,mBAAmB,KAAG,OAAO,CAAC,oBAAoB,CAyC7F,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CurrentShareContentResult, GetCurrentShareContentInput, GetShareLinkInput } from './types';
|
|
2
|
+
import type { ShareLinkRecord } from '../../models/ShareLink';
|
|
3
|
+
export declare const getShareLink: (input: GetShareLinkInput) => Promise<ShareLinkRecord | null>;
|
|
4
|
+
export declare const getCurrentShareContent: (input: GetCurrentShareContentInput) => Promise<CurrentShareContentResult>;
|
|
5
|
+
//# sourceMappingURL=read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/read.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACpB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO9D,eAAO,MAAM,YAAY,GAAU,OAAO,iBAAiB,KAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAgB3F,CAAC;AAWF,eAAO,MAAM,sBAAsB,GAC/B,OAAO,2BAA2B,KACnC,OAAO,CAAC,yBAAyB,CA8DnC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ConsumeShareViewReceiptInput, ConsumeShareViewReceiptOutcome, PersistShareViewReceiptInput, PruneShareViewReceiptsInput } from './types';
|
|
2
|
+
export declare const hashShareViewReceipt: (receipt: string) => string;
|
|
3
|
+
export declare const persistShareViewReceipt: (input: PersistShareViewReceiptInput) => Promise<boolean>;
|
|
4
|
+
export declare const readShareViewReceiptContext: (receipt: string, namespace: string) => Promise<{
|
|
5
|
+
ownerProfileId: string;
|
|
6
|
+
shareId: string;
|
|
7
|
+
} | null>;
|
|
8
|
+
export declare const readShareViewReceiptOwner: (receipt: string, namespace: string) => Promise<string | null>;
|
|
9
|
+
export declare const consumeShareViewReceipt: (input: ConsumeShareViewReceiptInput) => Promise<ConsumeShareViewReceiptOutcome>;
|
|
10
|
+
export declare const pruneShareViewReceipts: (input: PruneShareViewReceiptsInput) => Promise<number>;
|
|
11
|
+
//# sourceMappingURL=receipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/receipt.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC9B,MAAM,SAAS,CAAC;AAmEjB,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,MACO,CAAC;AA6C/D,eAAO,MAAM,uBAAuB,GAChC,OAAO,4BAA4B,KACpC,OAAO,CAAC,OAAO,CA4JjB,CAAC;AAQF,eAAO,MAAM,2BAA2B,GACpC,SAAS,MAAM,EACf,WAAW,MAAM,KAClB,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqB5D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAClC,SAAS,MAAM,EACf,WAAW,MAAM,KAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAC2D,CAAC;AAepF,eAAO,MAAM,uBAAuB,GAChC,OAAO,4BAA4B,KACpC,OAAO,CAAC,8BAA8B,CAiKxC,CAAC;AAWF,eAAO,MAAM,sBAAsB,GAC/B,OAAO,2BAA2B,KACnC,OAAO,CAAC,MAAM,CAmChB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AbandonRecoveredReservationInput, AbandonRecoveredReservationResult, ClaimRecoverableReservationInput, ClaimRecoverableReservationResult, DiscoverRecoverableReservationsInput, DiscoverRecoverableReservationsResult, ShareLinkRecoveryKey, ShareLinkRecoveryTarget } from './types';
|
|
2
|
+
export declare const readShareLinkRecoveryTarget: (input: ShareLinkRecoveryKey) => Promise<ShareLinkRecoveryTarget>;
|
|
3
|
+
export declare const discoverRecoverableReservations: (input: DiscoverRecoverableReservationsInput) => Promise<DiscoverRecoverableReservationsResult>;
|
|
4
|
+
export declare const claimRecoverableReservation: (input: ClaimRecoverableReservationInput) => Promise<ClaimRecoverableReservationResult>;
|
|
5
|
+
export declare const abandonRecoveredReservation: (input: AbandonRecoveredReservationInput) => Promise<AbandonRecoveredReservationResult>;
|
|
6
|
+
//# sourceMappingURL=recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/recovery.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACR,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,qCAAqC,EACrC,oBAAoB,EACpB,uBAAuB,EAC1B,MAAM,SAAS,CAAC;AAqFjB,eAAO,MAAM,2BAA2B,GACpC,OAAO,oBAAoB,KAC5B,OAAO,CAAC,uBAAuB,CAoCjC,CAAC;AAQF,eAAO,MAAM,+BAA+B,GACxC,OAAO,oCAAoC,KAC5C,OAAO,CAAC,qCAAqC,CA0D/C,CAAC;AAaF,eAAO,MAAM,2BAA2B,GACpC,OAAO,gCAAgC,KACxC,OAAO,CAAC,iCAAiC,CA2I3C,CAAC;AAYF,eAAO,MAAM,2BAA2B,GACpC,OAAO,gCAAgC,KACxC,OAAO,CAAC,iCAAiC,CAsJ3C,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ReserveCreateInput, ReserveReplacementInput, ReserveShareLinkResult } from './types';
|
|
2
|
+
export declare const reserveCreate: (input: ReserveCreateInput) => Promise<ReserveShareLinkResult>;
|
|
3
|
+
export declare const reserveReplacement: (input: ReserveReplacementInput) => Promise<ReserveShareLinkResult>;
|
|
4
|
+
//# sourceMappingURL=reserve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reserve.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/reserve.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EACR,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EAEzB,MAAM,SAAS,CAAC;AA4HjB,eAAO,MAAM,aAAa,GAAU,OAAO,kBAAkB,KAAG,OAAO,CAAC,sBAAsB,CAoO7F,CAAC;AAmGF,eAAO,MAAM,kBAAkB,GAC3B,OAAO,uBAAuB,KAC/B,OAAO,CAAC,sBAAsB,CAkIhC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/revoke.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAe3E,eAAO,MAAM,eAAe,GACxB,OAAO,oBAAoB,KAC5B,OAAO,CAAC,qBAAqB,CA8J/B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type ExecutableTransaction = {
|
|
2
|
+
run: (query: string, params?: Record<string, unknown>) => Promise<unknown>;
|
|
3
|
+
};
|
|
4
|
+
export type ExplicitTransaction = ExecutableTransaction & {
|
|
5
|
+
commit: () => Promise<void>;
|
|
6
|
+
rollback: () => Promise<void>;
|
|
7
|
+
};
|
|
8
|
+
export type TransactionSession = {
|
|
9
|
+
beginTransaction: (config?: {
|
|
10
|
+
timeout?: number;
|
|
11
|
+
}) => ExplicitTransaction;
|
|
12
|
+
};
|
|
13
|
+
export type TransactionTimeoutConfig = {
|
|
14
|
+
timeout: number;
|
|
15
|
+
} | undefined;
|
|
16
|
+
export declare const resolveTransactionConfig: (timeoutMs: number | undefined) => TransactionTimeoutConfig;
|
|
17
|
+
export declare const executeExplicitTransaction: <T>(session: TransactionSession, work: (tx: ExecutableTransaction) => Promise<T>, timeoutMs?: number) => Promise<T>;
|
|
18
|
+
//# sourceMappingURL=transaction-execution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-execution.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/transaction-execution.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,qBAAqB,GAAG;IAChC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9E,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG;IACtD,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,mBAAmB,CAAC;CAC5E,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC;AAEvE,eAAO,MAAM,wBAAwB,GACjC,WAAW,MAAM,GAAG,SAAS,KAC9B,wBAGgB,CAAC;AAUpB,eAAO,MAAM,0BAA0B,GAAU,CAAC,EAC9C,SAAS,kBAAkB,EAC3B,MAAM,CAAC,EAAE,EAAE,qBAAqB,KAAK,OAAO,CAAC,CAAC,CAAC,EAC/C,YAAY,MAAM,KACnB,OAAO,CAAC,CAAC,CAqBX,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type Neo4jQueryResult = {
|
|
2
|
+
records: Array<{
|
|
3
|
+
get: (key: string) => unknown;
|
|
4
|
+
}>;
|
|
5
|
+
};
|
|
6
|
+
export interface ShareLinkTransaction {
|
|
7
|
+
run: (query: string, params?: Record<string, unknown>) => Promise<Neo4jQueryResult>;
|
|
8
|
+
}
|
|
9
|
+
export type ShareLinkTransactionOptions = {
|
|
10
|
+
timeoutMs?: number;
|
|
11
|
+
noInlineRetry?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const withShareLinkRead: <T>(work: (runner: ShareLinkTransaction) => Promise<T>, options?: ShareLinkTransactionOptions) => Promise<T>;
|
|
14
|
+
export declare const withShareLinkTransaction: <T>(work: (tx: ShareLinkTransaction) => Promise<T>, options?: ShareLinkTransactionOptions) => Promise<T>;
|
|
15
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/accesslayer/share-link/transaction.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,KAAK,CAAC;QACX,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;KACjC,CAAC,CAAC;CACN,CAAC;AAGF,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACvF;AAUD,MAAM,MAAM,2BAA2B,GAAG;IAEtC,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAQF,eAAO,MAAM,iBAAiB,GAAU,CAAC,EACrC,MAAM,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC,CAAC,EAClD,UAAU,2BAA2B,KACtC,OAAO,CAAC,CAAC,CAgBX,CAAC;AAcF,eAAO,MAAM,wBAAwB,GAAU,CAAC,EAC5C,MAAM,CAAC,EAAE,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9C,UAAU,2BAA2B,KACtC,OAAO,CAAC,CAAC,CAgCX,CAAC"}
|