@distrohelena/canton-typescript-sdk 0.1.35 → 0.1.37
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 +159 -51
- package/dist/cjs/core/types/requests/{submit-command-request.js → submit-commands-request.js} +10 -6
- package/dist/cjs/index.js +10 -8
- package/dist/cjs/query/canonical/in-memory-query-evaluator.js +291 -0
- package/dist/cjs/query/canonical/public-identity.js +41 -0
- package/dist/cjs/query/canonical/query-ast.js +2 -0
- package/dist/cjs/query/canonical/query-dataset.js +351 -0
- package/dist/cjs/query/canonical/query-normalizer.js +655 -0
- package/dist/cjs/query/canonical/query-schema.js +86 -0
- package/dist/cjs/query/canton-manager.js +14 -5
- package/dist/cjs/query/errors/query-snapshot-incomplete-error.js +19 -0
- package/dist/cjs/query/grpc/grpc-contract-cache.js +484 -0
- package/dist/cjs/query/grpc/grpc-package-relation-reader.js +218 -0
- package/dist/cjs/query/grpc/grpc-query-client.js +249 -0
- package/dist/cjs/query/grpc/grpc-query-snapshot-reader.js +238 -0
- package/dist/cjs/query/grpc/grpc-query-value-mapper.js +204 -0
- package/dist/cjs/query/grpc/grpc-relation-mapper.js +794 -0
- package/dist/cjs/query/pqs/pqs-query-client.js +151 -582
- package/dist/cjs/query/pqs/pqs-relational-sql-compiler.js +138 -95
- package/dist/cjs/query/pqs/pqs-result-shape.js +28 -0
- package/dist/cjs/query/pqs/pqs-schema-profile.js +49 -48
- package/dist/cjs/query/pqs/pqs-sql-compiler.js +343 -289
- package/dist/cjs/query/pqs/pqs-sql-syntax.js +10 -0
- package/dist/cjs/services/command/command-service-client.js +16 -3
- package/dist/cjs/services/commands/command-payload-builder.js +1 -1
- package/dist/cjs/services/commands/command-submission-pipeline.js +21 -6
- package/dist/cjs/services/state/state-service-client.js +56 -0
- package/dist/cjs/testing/runtime/declarative-action-executor.js +3 -3
- package/dist/cjs/transports/grpc/grpc-transport.js +2 -2
- package/dist/cjs/transports/grpc/mappers/commands-mapper.js +6 -6
- package/dist/cjs/transports/grpc/mappers/interactive-command-mapper.js +1 -1
- package/dist/cjs/transports/json/json-transport.js +1 -1
- package/dist/cjs/transports/json/mappers/commands-mapper.js +3 -3
- package/dist/core/transports/transport.interface.d.ts +4 -4
- package/dist/core/types/prepared-command-submission.d.ts +3 -3
- package/dist/core/types/requests/{submit-command-request.d.ts → submit-commands-request.d.ts} +8 -4
- package/dist/core/types/requests/{submit-command-request.js → submit-commands-request.js} +8 -4
- package/dist/index.d.ts +5 -2
- package/dist/index.js +2 -1
- package/dist/query/canonical/in-memory-query-evaluator.d.ts +22 -0
- package/dist/query/canonical/in-memory-query-evaluator.js +287 -0
- package/dist/query/canonical/public-identity.d.ts +14 -0
- package/dist/query/canonical/public-identity.js +35 -0
- package/dist/query/canonical/query-ast.d.ts +104 -0
- package/dist/query/canonical/query-ast.js +1 -0
- package/dist/query/canonical/query-dataset.d.ts +63 -0
- package/dist/query/canonical/query-dataset.js +343 -0
- package/dist/query/canonical/query-normalizer.d.ts +10 -0
- package/dist/query/canonical/query-normalizer.js +646 -0
- package/dist/query/canonical/query-schema.d.ts +25 -0
- package/dist/query/canonical/query-schema.js +83 -0
- package/dist/query/canton-manager.js +14 -5
- package/dist/query/errors/query-snapshot-incomplete-error.d.ts +14 -0
- package/dist/query/errors/query-snapshot-incomplete-error.js +15 -0
- package/dist/query/grpc/grpc-contract-cache.d.ts +27 -0
- package/dist/query/grpc/grpc-contract-cache.js +479 -0
- package/dist/query/grpc/grpc-package-relation-reader.d.ts +43 -0
- package/dist/query/grpc/grpc-package-relation-reader.js +213 -0
- package/dist/query/grpc/grpc-query-client.d.ts +42 -0
- package/dist/query/grpc/grpc-query-client.js +245 -0
- package/dist/query/grpc/grpc-query-snapshot-reader.d.ts +33 -0
- package/dist/query/grpc/grpc-query-snapshot-reader.js +233 -0
- package/dist/query/grpc/grpc-query-value-mapper.d.ts +15 -0
- package/dist/query/grpc/grpc-query-value-mapper.js +195 -0
- package/dist/query/grpc/grpc-relation-mapper.d.ts +67 -0
- package/dist/query/grpc/grpc-relation-mapper.js +789 -0
- package/dist/query/pqs/pqs-query-client.d.ts +10 -20
- package/dist/query/pqs/pqs-query-client.js +154 -585
- package/dist/query/pqs/pqs-relational-sql-compiler.d.ts +9 -17
- package/dist/query/pqs/pqs-relational-sql-compiler.js +136 -95
- package/dist/query/pqs/pqs-result-shape.d.ts +25 -0
- package/dist/query/pqs/pqs-result-shape.js +25 -0
- package/dist/query/pqs/pqs-schema-profile.js +49 -48
- package/dist/query/pqs/pqs-sql-compiler.d.ts +18 -3
- package/dist/query/pqs/pqs-sql-compiler.js +337 -288
- package/dist/query/pqs/pqs-sql-syntax.d.ts +2 -0
- package/dist/query/pqs/pqs-sql-syntax.js +6 -0
- package/dist/query/query-client.d.ts +15 -0
- package/dist/services/command/command-service-client.d.ts +9 -4
- package/dist/services/command/command-service-client.js +16 -3
- package/dist/services/command-submission/command-submission-service-client.d.ts +2 -2
- package/dist/services/commands/command-payload-builder.d.ts +2 -2
- package/dist/services/commands/command-payload-builder.js +1 -1
- package/dist/services/commands/command-submission-pipeline.d.ts +5 -4
- package/dist/services/commands/command-submission-pipeline.js +21 -6
- package/dist/services/state/state-service-client.d.ts +4 -0
- package/dist/services/state/state-service-client.js +56 -0
- package/dist/testing/runtime/declarative-action-executor.js +3 -3
- package/dist/transports/grpc/grpc-transport.d.ts +4 -4
- package/dist/transports/grpc/grpc-transport.js +3 -3
- package/dist/transports/grpc/mappers/commands-mapper.d.ts +3 -3
- package/dist/transports/grpc/mappers/commands-mapper.js +4 -4
- package/dist/transports/grpc/mappers/interactive-command-mapper.d.ts +3 -3
- package/dist/transports/grpc/mappers/interactive-command-mapper.js +1 -1
- package/dist/transports/json/json-transport.d.ts +2 -2
- package/dist/transports/json/json-transport.js +2 -2
- package/dist/transports/json/mappers/commands-mapper.d.ts +2 -2
- package/dist/transports/json/mappers/commands-mapper.js +2 -2
- package/package.json +8 -3
- package/dist/cjs/query/grpc/grpc-contract-query-client.js +0 -178
- package/dist/query/grpc/grpc-contract-query-client.d.ts +0 -33
- package/dist/query/grpc/grpc-contract-query-client.js +0 -174
package/README.md
CHANGED
|
@@ -132,36 +132,89 @@ npm run example:topology:party-hosting
|
|
|
132
132
|
|
|
133
133
|
### Workflow examples
|
|
134
134
|
|
|
135
|
-
The
|
|
136
|
-
or verifies the fixture DAR, resolves a party, reads the
|
|
137
|
-
and creates its own run-scoped data. First make a Canton
|
|
138
|
-
and verify the source with `npm run examples:check`; the
|
|
139
|
-
authentication environment variables are documented below.
|
|
140
|
-
|
|
135
|
+
The eight stateful workflow examples are standalone proofs, not a sequence:
|
|
136
|
+
each uploads or verifies the fixture DAR, resolves a party, reads the
|
|
137
|
+
participant status, and creates its own run-scoped data. First make a Canton
|
|
138
|
+
participant available and verify the source with `npm run examples:check`; the
|
|
139
|
+
default endpoints and authentication environment variables are documented below.
|
|
140
|
+
The pruning preflight is a separate read-only operator check and does none of
|
|
141
|
+
those setup or mutation steps. Run any example independently:
|
|
141
142
|
|
|
142
143
|
```bash
|
|
143
144
|
npm run example:workflow:atomic
|
|
144
145
|
npm run example:workflow:retry
|
|
145
146
|
npm run example:workflow:resume
|
|
146
147
|
npm run example:workflow:stale-contract
|
|
148
|
+
npm run example:workflow:command-completion
|
|
149
|
+
npm run example:workflow:contract-lifecycle-audit
|
|
150
|
+
npm run example:workflow:update-lookup-reconciliation
|
|
151
|
+
npm run example:workflow:pruning-preflight
|
|
152
|
+
npm run example:workflow:participant-local
|
|
147
153
|
```
|
|
148
154
|
|
|
149
|
-
|
|
155
|
+
Those eight established stateful workflows intentionally leave durable state behind. A missing `SDK_EXAMPLE_PARTY`
|
|
150
156
|
causes fallback party allocation, which creates durable topology state; every
|
|
151
|
-
|
|
152
|
-
party to rerun
|
|
153
|
-
fixture DAR remains installed after a run.
|
|
154
|
-
|
|
155
|
-
|
|
157
|
+
one also creates durable contracts. Set `SDK_EXAMPLE_PARTY` to an existing
|
|
158
|
+
party to rerun the established workflows against that party and avoid fallback
|
|
159
|
+
allocation. The fixture DAR remains installed after a run.
|
|
160
|
+
|
|
161
|
+
The participant-local command-submission workflow
|
|
162
|
+
(`npm run example:workflow:participant-local`) is a standalone gRPC-only proof
|
|
163
|
+
of the ordinary participant submission authorization route. It uses the normal
|
|
164
|
+
`SDK_EXAMPLE_*` endpoint, authentication, party, and timeout configuration:
|
|
165
|
+
`SDK_EXAMPLE_LEDGER_ENDPOINT`, `SDK_EXAMPLE_LEDGER_ADMIN_ENDPOINT`,
|
|
166
|
+
`SDK_EXAMPLE_PARTICIPANT_ADMIN_ENDPOINT`, `SDK_EXAMPLE_BEARER_TOKEN`,
|
|
167
|
+
`SDK_EXAMPLE_LEDGER_BEARER_TOKEN`, `SDK_EXAMPLE_LEDGER_ADMIN_BEARER_TOKEN`,
|
|
168
|
+
`SDK_EXAMPLE_PARTICIPANT_ADMIN_BEARER_TOKEN`, `SDK_EXAMPLE_PARTY`,
|
|
169
|
+
`SDK_EXAMPLE_PARTY_PREFIX`, `SDK_EXAMPLE_TIMEOUT_MS`, and
|
|
170
|
+
`SDK_EXAMPLE_TLS_ROOT_CERTIFICATE`. It configures a command signer that throws
|
|
171
|
+
if touched, then successfully creates and finds one exact active Message through
|
|
172
|
+
`commandService.submitParticipantLocalAndWaitAsync`; that success proves the
|
|
173
|
+
configured external signer was bypassed. An explicit party is reused, while
|
|
174
|
+
fallback allocation creates durable topology; the fixture upload leaves a
|
|
175
|
+
durable DAR and the proof leaves a durable contract. The unchanged
|
|
176
|
+
implementation uses the common compatibility path on Participant 3.5.7 and
|
|
177
|
+
the isolated Participant 3.5.8 sidecar.
|
|
178
|
+
|
|
179
|
+
The completion-correlation workflow (`npm run example:workflow:command-completion`)
|
|
180
|
+
is a standalone successful proof that creates durable Message state. It uses the
|
|
181
|
+
same normal `SDK_EXAMPLE_*` configuration: `SDK_EXAMPLE_LEDGER_ENDPOINT`,
|
|
182
|
+
`SDK_EXAMPLE_LEDGER_ADMIN_ENDPOINT`, `SDK_EXAMPLE_PARTICIPANT_ADMIN_ENDPOINT`,
|
|
183
|
+
`SDK_EXAMPLE_BEARER_TOKEN`, `SDK_EXAMPLE_LEDGER_BEARER_TOKEN`,
|
|
184
|
+
`SDK_EXAMPLE_LEDGER_ADMIN_BEARER_TOKEN`,
|
|
185
|
+
`SDK_EXAMPLE_PARTICIPANT_ADMIN_BEARER_TOKEN`,
|
|
186
|
+
`SDK_EXAMPLE_TLS_ROOT_CERTIFICATE`, `SDK_EXAMPLE_PARTY`,
|
|
187
|
+
`SDK_EXAMPLE_PARTY_PREFIX`, and `SDK_EXAMPLE_TIMEOUT_MS`.
|
|
188
|
+
`SDK_EXAMPLE_USER_ID` is mandatory: absent or blank input is rejected, while
|
|
189
|
+
every nonblank value is preserved untrimmed and exactly submitted and exactly
|
|
190
|
+
matched in the completion. With bearer authentication, the configured declared
|
|
191
|
+
user must equal the token's Ledger API user/subject; the example does not inspect
|
|
192
|
+
the token. It keeps the ledger end as its saved exclusive offset and begins the
|
|
193
|
+
first stream read before submission.
|
|
194
|
+
No public wait-for-command-completion helper or API is introduced; the
|
|
195
|
+
correlation helper remains example-only.
|
|
196
|
+
The completion-correlation example asserts successful correlation only; it does
|
|
197
|
+
not assert rejected-command correlation. On both participant observations, the
|
|
198
|
+
stream-first rejected-command probes observed no exact completion before their
|
|
199
|
+
bounded stream transport errors.
|
|
200
|
+
|
|
201
|
+
The contract-lifecycle audit workflow (`npm run example:workflow:contract-lifecycle-audit`) is a standalone gRPC-only proof. It uses the normal `SDK_EXAMPLE_*` endpoint, authentication, party, and timeout configuration: `SDK_EXAMPLE_LEDGER_ENDPOINT`, `SDK_EXAMPLE_LEDGER_ADMIN_ENDPOINT`, `SDK_EXAMPLE_PARTICIPANT_ADMIN_ENDPOINT`, `SDK_EXAMPLE_BEARER_TOKEN`, `SDK_EXAMPLE_LEDGER_BEARER_TOKEN`, `SDK_EXAMPLE_LEDGER_ADMIN_BEARER_TOKEN`, `SDK_EXAMPLE_PARTICIPANT_ADMIN_BEARER_TOKEN`, `SDK_EXAMPLE_PARTY`, `SDK_EXAMPLE_PARTY_PREFIX`, and `SDK_EXAMPLE_TIMEOUT_MS`. An explicit `SDK_EXAMPLE_PARTY` is reused; otherwise fallback allocation creates durable topology. The fixture upload leaves a durable DAR, and the workflow leaves durable contracts. It uses the alpha ContractService to prove the original active Message before replacement and the replacement active Message afterward, then uses EventQuery for the original contract's create/archive history. It makes no post-archive ContractService claim for the original.
|
|
202
|
+
|
|
203
|
+
The update-lookup reconciliation workflow (`npm run example:workflow:update-lookup-reconciliation`) is a standalone gRPC-only proof that observes one exact self-party Message transaction from `UpdateService.GetUpdates`, then immediately reconciles it through `getUpdateById` and `getUpdateByOffset`. It uses the normal `SDK_EXAMPLE_*` endpoint, authentication, party, and timeout configuration, including `SDK_EXAMPLE_PARTY` and `SDK_EXAMPLE_TIMEOUT_MS`; first run `npm run examples:check` and make an authenticated participant available. An explicit party is reused, while fallback allocation creates durable topology; the fixture upload leaves a durable DAR and the workflow leaves durable contracts. The same unchanged implementation is tested against authenticated Participant 3.5.7 and the isolated Participant 3.5.8 sidecar, in default-party and explicit-party modes.
|
|
204
|
+
|
|
205
|
+
The pruning-preflight workflow (`npm run example:workflow:pruning-preflight`) is a standalone gRPC-only, read-only operator check. It requires `SDK_EXAMPLE_OFFSET` to be a canonical positive decimal integer and uses the normal endpoint, authentication, and timeout variables: `SDK_EXAMPLE_LEDGER_ENDPOINT`, `SDK_EXAMPLE_LEDGER_ADMIN_ENDPOINT`, `SDK_EXAMPLE_PARTICIPANT_ADMIN_ENDPOINT`, `SDK_EXAMPLE_BEARER_TOKEN`, `SDK_EXAMPLE_LEDGER_BEARER_TOKEN`, `SDK_EXAMPLE_LEDGER_ADMIN_BEARER_TOKEN`, `SDK_EXAMPLE_PARTICIPANT_ADMIN_BEARER_TOKEN`, and `SDK_EXAMPLE_TIMEOUT_MS`. The participant-admin credential is required for the schedule and safe-pruning context reads. Its safe-pruning context request sends the saved ledger end and a validated current timestamp encoded in `beforeOrAt`; it leaves commitment-state absent. It does not mutate the participant or create durable state: no party, DAR, command, update query, schedule change, or pruning request is made. The later participant watermark classifies the supplied offset as `alreadyPruned`, `beyondLedgerEnd`, or `notObservedPruned`; all-divulged watermarks and schedule/safe-pruning context are reported separately and do not alter that result. `notObservedPruned` is not proven queryable, because pruning can race after the later observation and other query preconditions can still fail. The unchanged implementation is supported on Participant 3.5.7 and the isolated Participant 3.5.8 sidecar.
|
|
206
|
+
|
|
207
|
+
Each of the eight established stateful workflows prints its actor plus the full participant version returned by the
|
|
156
208
|
authenticated status API, its parsed release core, and its selected path:
|
|
157
209
|
`Participant version:`, `Release core:`, and `Compatibility path:`. The current
|
|
158
|
-
implementation uses one common-code path for release cores 3.5.7 and 3.5.8. It
|
|
210
|
+
stateful-workflow implementation uses one common-code path for release cores 3.5.7 and 3.5.8. It
|
|
159
211
|
adds a version-specific behavioral difference only after live evidence proves
|
|
160
212
|
one; it does not infer compatibility from a container tag or endpoint.
|
|
161
213
|
|
|
162
|
-
- `example:workflow:atomic` first proves that
|
|
163
|
-
|
|
164
|
-
and
|
|
214
|
+
- `example:workflow:atomic` first proves that a two-command batch with an
|
|
215
|
+
invalid second command is rejected without creating its valid first Message,
|
|
216
|
+
then proves that two independent creates commit atomically and remain active
|
|
217
|
+
with their exact payloads.
|
|
165
218
|
- `example:workflow:retry` submits a caller-controlled command ID with a
|
|
166
219
|
deduplication duration, retries the exact same request, classifies the
|
|
167
220
|
duplicate outcome, and proves that exactly one matching contract is active.
|
|
@@ -179,15 +232,15 @@ request and is not a retry proof. The resume example treats the saved offset as
|
|
|
179
232
|
exclusive, so its resumed stream must observe only updates after the saved
|
|
180
233
|
ledger end.
|
|
181
234
|
|
|
182
|
-
The workflow
|
|
183
|
-
authenticated Participant 3.5.7 and the isolated
|
|
184
|
-
final-tree matrices selected the same unchanged implementation and common
|
|
235
|
+
The eight established stateful workflow sources and unit contracts were developed
|
|
236
|
+
and live-tested against authenticated Participant 3.5.7 and the isolated
|
|
237
|
+
Participant 3.5.8. Both final-tree matrices selected the same unchanged implementation and common
|
|
185
238
|
compatibility path. The normalized outcome comparison is identical: atomic
|
|
186
239
|
reports `invalidChoice` before its replacement proof, retry reports
|
|
187
240
|
`duplicateCommand` with one active contract, resume reports `idle-timeout` and
|
|
188
241
|
a post-offset update, and stale-contract reports `staleContract`.
|
|
189
242
|
|
|
190
|
-
|
|
243
|
+
For those eight established stateful workflows, the best multi-version path reads the authenticated full version, parses its
|
|
191
244
|
release core, and uses data-only structured compatibility for observed
|
|
192
245
|
outcomes. A behavioral difference is introduced only after live proof; it is
|
|
193
246
|
never inferred from a container tag, endpoint, or prose error message. For the
|
|
@@ -555,7 +608,11 @@ const contracts = await client.stateService.getActiveContractsPageAsync(
|
|
|
555
608
|
);
|
|
556
609
|
```
|
|
557
610
|
|
|
558
|
-
`stateService.getActiveContractsPageAsync(...)` accepts the generated Ledger API request
|
|
611
|
+
`stateService.getActiveContractsPageAsync(...)` is gRPC-only and accepts the generated Ledger API request, including its `eventFormat`, `activeAtOffset`, `maxPageSize`, and `pageToken` fields. Build party, template, and interface filters in `eventFormat`.
|
|
612
|
+
|
|
613
|
+
`stateService.getActiveContractsPagesAsync(...)` is the gRPC-only lazy, raw, bounded traversal API. It starts from the same generated request and yields raw `GetActiveContractsPageResponse` values one page at a time. The caller selects the shared `OperationDeadline`, maximum pages, and maximum contracts with `ActiveContractsTraversalOptions`; there is no collect-all wrapper. Transport errors from dispatched RPCs propagate unchanged. Traversal safety, invariant, and bound failures use `ActiveContractsTraversalError` codes, such as an inconsistent offset, repeated page token, or exceeded bound.
|
|
614
|
+
|
|
615
|
+
JSON does not implement either paginated gRPC API. Its existing `stateService.getActiveContractsAsync(...)` behavior remains the distinct JSON streaming read.
|
|
559
616
|
|
|
560
617
|
For interface views, do not use `contractService.getContractAsync(...)`. That contract lookup surface cannot return interface views; use `stateService` or `updateService` instead.
|
|
561
618
|
|
|
@@ -645,53 +702,103 @@ signature format and algorithm. This convenience operation is gRPC-only.
|
|
|
645
702
|
|
|
646
703
|
## Canton Manager queries
|
|
647
704
|
|
|
648
|
-
`CantonManager` keeps gRPC as the write path and selects
|
|
649
|
-
at initialization.
|
|
650
|
-
|
|
705
|
+
`CantonManager` keeps gRPC as the write path and selects one typed-query source
|
|
706
|
+
at initialization. The same typed query function works with either gRPC or
|
|
707
|
+
PQS; source selection changes how the data is read, not the query grammar.
|
|
651
708
|
|
|
652
709
|
```ts
|
|
653
710
|
import {
|
|
711
|
+
CantonClientOptions,
|
|
654
712
|
CantonManager,
|
|
713
|
+
CreateCommand,
|
|
714
|
+
DamlRecord,
|
|
655
715
|
MemoryQueryCache,
|
|
656
716
|
QuerySource,
|
|
717
|
+
SubmitCommandsRequest,
|
|
657
718
|
TransportKind,
|
|
658
719
|
} from "@distrohelena/canton-typescript-sdk";
|
|
659
720
|
|
|
660
|
-
const
|
|
661
|
-
grpc: {
|
|
662
|
-
|
|
721
|
+
const options = {
|
|
722
|
+
grpc: new CantonClientOptions({
|
|
723
|
+
transportKind: TransportKind.grpc,
|
|
724
|
+
ledgerEndpoint: "localhost:6865",
|
|
725
|
+
}),
|
|
663
726
|
pqs: { connectionString: process.env.PQS_URL!, schema: "public" },
|
|
664
727
|
cache: { store: new MemoryQueryCache(), ttlMs: 5_000 },
|
|
665
|
-
}
|
|
728
|
+
};
|
|
666
729
|
|
|
667
|
-
const
|
|
668
|
-
where: { templateId: { equals: "
|
|
730
|
+
const readIous = (manager: CantonManager) => manager.query.contracts.findMany({
|
|
731
|
+
where: { templateId: { moduleName: { equals: "Main" }, entityName: { equals: "Iou" } } },
|
|
732
|
+
orderBy: [{ createdAt: "desc" }],
|
|
669
733
|
take: 50,
|
|
670
734
|
});
|
|
671
735
|
|
|
672
|
-
|
|
673
|
-
|
|
736
|
+
const pqsManager = new CantonManager({ ...options, querySource: QuerySource.pqs });
|
|
737
|
+
const grpcManager = new CantonManager({ ...options, querySource: QuerySource.grpc });
|
|
738
|
+
const pqsContracts = await readIous(pqsManager);
|
|
739
|
+
const grpcContracts = await readIous(grpcManager);
|
|
740
|
+
|
|
741
|
+
// gRPC caching is explicit and point-in-time; ordinary reads never populate it.
|
|
742
|
+
await grpcManager.query.cacheContracts({ parties: ["Alice"] });
|
|
743
|
+
await grpcManager.query.invalidateContractsCache({ parties: ["Alice"] });
|
|
744
|
+
|
|
745
|
+
// A SubmitCommandsRequest contains a non-empty ordered atomic command batch:
|
|
746
|
+
// all commands commit together, or none of them do.
|
|
747
|
+
await grpcManager.grpc.commandService.submitAndWaitAsync(
|
|
748
|
+
new SubmitCommandsRequest({
|
|
749
|
+
applicationId: "example-app",
|
|
750
|
+
actAs: ["Alice"],
|
|
751
|
+
commands: [
|
|
752
|
+
new CreateCommand({
|
|
753
|
+
templateId: { packageId: "", moduleName: "Main", entityName: "Message" },
|
|
754
|
+
createArguments: new DamlRecord({ author: "Alice", body: "Hello" }),
|
|
755
|
+
}),
|
|
756
|
+
],
|
|
757
|
+
}),
|
|
758
|
+
);
|
|
759
|
+
await Promise.all([pqsManager.disposeAsync(), grpcManager.disposeAsync()]);
|
|
674
760
|
```
|
|
675
761
|
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
762
|
+
To migrate a prior singleton submission, pass `commands: [previousCommand]`.
|
|
763
|
+
There is no compatibility alias; put multiple independent commands in that
|
|
764
|
+
array in their required atomic order.
|
|
765
|
+
|
|
766
|
+
An options object may contain both `grpc` and `pqs`; the PQS setting is used
|
|
767
|
+
only when `querySource` is `pqs`. Both sources expose `contracts`,
|
|
768
|
+
`contractTypes`, `events`, `exercises`, `exerciseTypes`, `packages`,
|
|
769
|
+
`transactions`, and `watermark`, including filters, includes, ordering,
|
|
770
|
+
pagination, projections, grouping, and aggregates. Literal parity requires
|
|
771
|
+
PQS and gRPC to observe the same participant-visible data; independently
|
|
772
|
+
configured participants can legitimately see different contracts.
|
|
773
|
+
|
|
774
|
+
`cacheContracts` is a gRPC-only explicit prewarm of active contracts for one
|
|
775
|
+
party scope. It needs a cache store and a positive TTL; reads may use a valid
|
|
776
|
+
entry but never renew it. A cached gRPC result is internally consistent at its
|
|
777
|
+
`activeAtOffset`, so it can be stale until expiry, refresh, or
|
|
778
|
+
`invalidateContractsCache`. Under PQS the same lifecycle calls are safe no-ops
|
|
779
|
+
and `cacheContracts` returns `{ source: QuerySource.pqs, cached: false }`.
|
|
780
|
+
|
|
781
|
+
Typed-query `pk`/`ix` values are canonical and source-independent. Transaction
|
|
782
|
+
and watermark keys are ledger offsets; event, package, contract-type, and
|
|
783
|
+
exercise-type keys are lossless positive-decimal encodings of their stable
|
|
784
|
+
semantic identities. PQS physical keys are retained only for internal joins.
|
|
785
|
+
If pruning has removed history needed by a gRPC typed query, it rejects with
|
|
786
|
+
`QuerySnapshotIncompleteError` rather than returning partial rows, groups, or
|
|
787
|
+
aggregates.
|
|
788
|
+
|
|
789
|
+
Raw SQL is the sole PQS-only query operation: use
|
|
790
|
+
`pqsManager.query.$queryRaw(...)` for one read-only statement with positional
|
|
791
|
+
parameters and a read-only PostgreSQL role. `$queryRaw` on a gRPC manager
|
|
792
|
+
rejects with `QueryCapabilityError`.
|
|
793
|
+
|
|
794
|
+
The typed relation delegates use a Prisma-like surface: `findMany({ where,
|
|
687
795
|
select, orderBy, skip, take })`, `findUnique({ where, select })`, `count`, and
|
|
688
796
|
`aggregate({ count, min, max, sum })`. Filters support `equals`, `in`,
|
|
689
797
|
`{ is: null }`, `{ isNot: null }`, and `{ has: party }` on array fields.
|
|
690
|
-
Ordering accepts one
|
|
798
|
+
Ordering accepts an ordered list of one-field entries, so multi-field ordering
|
|
799
|
+
uses `[{ createdAt: "desc" }, { contractId: "asc" }]`. `exercises` intentionally has no `findUnique`
|
|
691
800
|
because the v1 PQS profile does not declare a stable key. The manager validates
|
|
692
|
-
the selected PQS schema profile before its first query.
|
|
693
|
-
active-contract `findMany`, `findUnique`, and `count` subset is available;
|
|
694
|
-
unsupported query features reject with `QueryCapabilityError`.
|
|
801
|
+
the selected PQS schema profile before its first PQS query.
|
|
695
802
|
|
|
696
803
|
- Ledger endpoint:
|
|
697
804
|
- `versionService.getLedgerApiVersionAsync(...)`: `json`, `grpc`
|
|
@@ -703,11 +810,12 @@ unsupported query features reject with `QueryCapabilityError`.
|
|
|
703
810
|
- `commandService.submitAndWaitAsync(...)`: `json`, `grpc`
|
|
704
811
|
- `commandSubmissionService.submitAsync(...)`: reserved, currently unsupported
|
|
705
812
|
- `stateService.getActiveContractsPageAsync(...)`: `grpc` only
|
|
706
|
-
- `stateService.
|
|
813
|
+
- `stateService.getActiveContractsPagesAsync(...)`: `grpc` only, lazy raw bounded traversal
|
|
814
|
+
- `stateService.getActiveContractsAsync(...)`: `json` only, existing distinct streaming read
|
|
707
815
|
- `updateService.getUpdatesAsync(...)`: `grpc` only
|
|
708
|
-
- `commandCompletionService`:
|
|
709
|
-
- `eventQueryService`:
|
|
710
|
-
- `contractService`:
|
|
816
|
+
- `commandCompletionService.getCompletionsAsync(...)`: `grpc` only, existing streaming API
|
|
817
|
+
- `eventQueryService.getEventsByContractIdAsync(...)`: `grpc` only; JSON rejects this request
|
|
818
|
+
- `contractService.getContractAsync(...)`: `grpc` only; JSON rejects this request
|
|
711
819
|
|
|
712
820
|
- Ledger Admin endpoint:
|
|
713
821
|
- `partyManagementService.allocatePartyAsync(...)`: `json`, `grpc`
|
package/dist/cjs/core/types/requests/{submit-command-request.js → submit-commands-request.js}
RENAMED
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SubmitCommandsRequest = void 0;
|
|
4
4
|
const validation_error_js_1 = require("../../errors/validation-error.js");
|
|
5
5
|
const ledgerStringPattern = /^[A-Za-z0-9#:\-_/ ]+$/;
|
|
6
6
|
const canonicalOffsetPattern = /^(0|[1-9][0-9]*)$/;
|
|
7
7
|
const maximumInt64Offset = "9223372036854775807";
|
|
8
|
-
class
|
|
8
|
+
class SubmitCommandsRequest {
|
|
9
9
|
applicationId;
|
|
10
10
|
userId;
|
|
11
11
|
actAs;
|
|
12
12
|
readAs;
|
|
13
|
-
|
|
13
|
+
commands;
|
|
14
14
|
commandId;
|
|
15
15
|
deduplicationPeriod;
|
|
16
16
|
disclosedContracts;
|
|
17
17
|
synchronizerId;
|
|
18
18
|
constructor(init) {
|
|
19
|
-
|
|
19
|
+
const commands = init.commands;
|
|
20
|
+
if (!Array.isArray(commands) || commands.length === 0) {
|
|
21
|
+
throw new validation_error_js_1.ValidationError("submit requests require at least one command");
|
|
22
|
+
}
|
|
23
|
+
else if (init.actAs.length === 0) {
|
|
20
24
|
throw new validation_error_js_1.ValidationError("submit requests require at least one actAs party");
|
|
21
25
|
}
|
|
22
26
|
else if (init.commandId !== undefined &&
|
|
@@ -30,14 +34,14 @@ class SubmitCommandRequest {
|
|
|
30
34
|
this.userId = init.userId;
|
|
31
35
|
this.actAs = init.actAs;
|
|
32
36
|
this.readAs = init.readAs ?? [];
|
|
33
|
-
this.
|
|
37
|
+
this.commands = Object.freeze([...commands]);
|
|
34
38
|
this.commandId = init.commandId;
|
|
35
39
|
this.deduplicationPeriod = deduplicationPeriod;
|
|
36
40
|
this.disclosedContracts = init.disclosedContracts ?? [];
|
|
37
41
|
this.synchronizerId = init.synchronizerId;
|
|
38
42
|
}
|
|
39
43
|
}
|
|
40
|
-
exports.
|
|
44
|
+
exports.SubmitCommandsRequest = SubmitCommandsRequest;
|
|
41
45
|
function freezeDeduplicationPeriod(value) {
|
|
42
46
|
if (value === undefined) {
|
|
43
47
|
return undefined;
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
8
|
-
exports.EndpointNotConfiguredError = exports.ObjectDisposedError = exports.NotSupportedError = exports.ConflictError = exports.TimeoutError = exports.SigningError = exports.GrpcTransportError = exports.TransportError = exports.AuthorizationError = exports.AuthenticationError = exports.ActiveContractsTraversalError = exports.ValidationError = exports.CantonError = exports.SynchronizerTime = exports.ParticipantNodeStatus = exports.PartyDetails = exports.UploadDarFileResponse = exports.GrantUserRightsResponse = exports.SubmitCommandResponse = exports.TopologyListPartiesResponse = exports.TopologyListVettedPackagesResponse = exports.ListVettedPackagesResponse = exports.ListUsersResponse = exports.ListUserRightsResponse = exports.ListSynchronizerTrustCertificateResponse = exports.ListSynchronizerParametersStateResponse = exports.ListSequencingParametersStateResponse = exports.ListSequencerSynchronizerStateResponse = exports.ListPartyToParticipantResponse = exports.ListPartyToKeyMappingResponse = exports.ListPartyHostingLimitsResponse = exports.ListParticipantSynchronizerPermissionResponse = exports.ListKeyOwnersResponse = exports.ListKnownPartiesResponse = exports.ListKnownPackagesResponse = exports.ListIdentityProviderConfigsResponse = exports.ListDarsResponse = exports.ListPackagesResponse = exports.ListOwnerToKeyMappingResponse = exports.ListNamespaceDelegationResponse = exports.ListMediatorSynchronizerStateResponse = exports.ListLsuSequencerConnectionSuccessorResponse = exports.ListLsuAnnouncementResponse = void 0;
|
|
3
|
+
exports.ExternalPartySignatureFormat = exports.ExternalPartySignature = exports.ExternalPartyOnboardingTransaction = exports.ExternalPartyCryptoKeyFormat = exports.TransportKind = exports.TransportCapability = exports.SignCommandResult = exports.SignCommandRequest = exports.BearerTokenAuthProvider = exports.SynchronizerConnectivityServiceClient = exports.VersionServiceClient = exports.UserManagementServiceClient = exports.UpdateServiceClient = exports.TrafficControlServiceClient = exports.TopologyManagerWriteServiceClient = exports.TopologyManagerReadServiceClient = exports.TopologyAggregationServiceClient = exports.StateServiceClient = exports.ResourceManagementServiceClient = exports.PruningServiceClient = exports.PartyManagementServiceClient = exports.ParticipantStatusServiceClient = exports.ParticipantRepairServiceClient = exports.ParticipantPackageServiceClient = exports.ParticipantPartyManagementServiceClient = exports.ParticipantInspectionServiceClient = exports.PackageServiceClient = exports.PackageManagementServiceClient = exports.IdentityProviderConfigServiceClient = exports.IdentityInitializationServiceClient = exports.HealthServiceClient = exports.EventQueryServiceClient = exports.ContractServiceClient = exports.CommandSubmissionServiceClient = exports.CommandServiceClient = exports.CommandInspectionServiceClient = exports.CommandCompletionServiceClient = exports.ExternalPartyActivationResponse = exports.ExternalPartyActivationRequest = exports.ExternalPartyActivationClient = exports.CantonClientOptions = exports.CantonHashingClient = exports.PqsSchemaProfileError = exports.PqsQueryError = exports.QuerySnapshotIncompleteError = exports.QueryCapabilityError = exports.MemoryQueryCache = exports.QuerySource = exports.CantonManager = exports.CantonClient = void 0;
|
|
4
|
+
exports.PackageReference = exports.PackageMetadataFilter = exports.ActiveContractsTraversalOptions = exports.OperationDeadline = exports.RequestOptions = exports.ReceivedAcsCommitmentState = exports.ReceivedAcsCommitmentPerSynchronizer = exports.ReceivedAcsCommitment = exports.PruningSchedule = exports.ParticipantPruningSchedule = exports.PendingOperationMetadata = exports.PackageStatus = exports.CantonHashPurpose = exports.HashFunction = exports.PackageFormat = exports.OffsetCheckpoint = exports.ObjectMeta = exports.LedgerUser = exports.KnownPackageDetails = exports.IdentityProviderConfig = exports.UserRightKind = exports.EventStreamKind = exports.DamlParty = exports.DamlNumeric = exports.ContractCreated = exports.ContractArchived = exports.CounterParticipantInfo = exports.CommitmentTimeRange = exports.CommitmentInterval = exports.Completion = exports.CommandUpdateSummary = exports.CommandTiming = exports.CommandStatus = exports.CommandState = exports.CommandRequestStatistics = exports.CommandInspectionContract = exports.ConnectedSynchronizerStatus = exports.ConnectedSynchronizer = exports.ConnectedSynchronizerHealth = exports.AdminTopologyQueueStatus = exports.AdminNotInitializedStatus = exports.AdminNotInitializedExternalInputKind = exports.AdminNodeStatus = exports.AdminComponentStatus = exports.AdminComponentHealthKind = exports.SubmissionMode = exports.GrpcChannelSecurity = exports.ExternalPartySigningPublicKey = exports.ExternalPartySigningKeySpec = exports.ExternalPartySigningAlgorithmSpec = void 0;
|
|
5
|
+
exports.TopologyPublicKey = exports.TopologyPartyResult = exports.TopologyPartyParticipantSynchronizerPermission = exports.TopologyPartyParticipant = exports.TopologyMappingResult = exports.TopologyMappingOperation = exports.TopologyMappingCode = exports.TopologyKeyOwnerResult = exports.MultiTopologyTransactionSignature = exports.GeneratedTopologyTransaction = exports.TopologyEncryptionPublicKey = exports.ExternalTopologySignature = exports.TopologyDuration = exports.TopologyBaseResult = exports.TopologyBaseQuery = exports.SynchronizerTrustCertificate = exports.SequencerSynchronizerState = exports.PartyToParticipantParticipant = exports.PartyToParticipantOnboarding = exports.PartyToParticipant = exports.PartyToKeyMapping = exports.PartyHostingLimits = exports.ParticipantSynchronizerPermission = exports.ParticipantSynchronizerLimits = exports.ParticipantPermission = exports.OwnerToKeyMapping = exports.OnboardingRestriction = exports.NamespaceDelegationRestrictionKind = exports.NamespaceDelegationRestriction = exports.NamespaceDelegation = exports.MediatorSynchronizerState = exports.LsuSequencerConnectionSuccessor = exports.LsuSequencerConnection = exports.LsuAnnouncement = exports.DynamicSynchronizerParameters = exports.DynamicSequencingParameters = exports.DecentralizedNamespaceDefinition = exports.AcsCommitmentsCatchUpConfig = exports.WaitCommitmentsSetup = exports.TopologyStateFilter = exports.SynchronizerTimeRange = exports.SlowCounterParticipantSynchronizerConfig = exports.SentAcsCommitmentState = exports.SentAcsCommitmentPerSynchronizer = exports.SentAcsCommitment = exports.SdkCommand = exports.SafeToPruneCommitmentState = exports.ParticipantPackageDescription = exports.ParticipantModuleDescription = exports.ParticipantDarDescription = void 0;
|
|
6
|
+
exports.ListAllRequest = exports.ListPackagesRequest = exports.GetCommandStatusRequest = exports.GetActiveContractsRequest = exports.GetActiveContractsPageRequest = exports.GetDarRequest = exports.GetDarContentsRequest = exports.AssembleSignedTopologyTransactionsRequest = exports.SubmitCommandTransactionResponse = exports.DamlRecord = exports.DamlEnum = exports.DamlVariant = exports.DamlGenMap = exports.DamlTextMap = exports.DamlTimestamp = exports.DamlDate = exports.DamlUnit = exports.DamlContractId = exports.PreparedCommandSubmission = exports.DisclosedContract = exports.AllocatePartyRequest = exports.CreateExternalPartyRequest = exports.PreparedDecentralizedParty = exports.FinalizeDecentralizedPartyRequest = exports.CreateDecentralizedPartyRequest = exports.ExerciseCommand = exports.ExerciseByKeyCommand = exports.CreateCommand = exports.CreateAndExerciseCommand = exports.SignedTopologyTransaction = exports.PreparedTopologyTransaction = exports.VettedPackages = exports.VettedPackage = exports.TrafficControlParameters = exports.TopologyVettedPackages = exports.TopologyVettedPackage = exports.TopologyTransactions = exports.TopologyTransactionItem = exports.TopologyTransactionSignature = exports.TopologyTimeRange = exports.TopologyStoreTemporary = exports.TopologyStoreSynchronizer = exports.TopologyStoreKind = exports.TopologyStoreId = exports.TopologyStoreAuthorized = exports.TopologySigningPublicKey = exports.TopologySigningKeysWithThreshold = exports.TopologySignatureFormat = exports.TopologySignatureDelegation = exports.TopologyForceFlag = void 0;
|
|
7
|
+
exports.ListAllResponse = exports.GetUserResponse = exports.GetPartiesResponse = exports.GetPackageStatusResponse = exports.GetPackageResponse = exports.GetLedgerEndResponse = exports.GetLatestPrunedOffsetsResponse = exports.GetIdentityProviderConfigResponse = exports.GetCommandStatusResponse = exports.GetConnectedSynchronizersResponse = exports.GetActiveContractsPageResponse = exports.GetDarResponse = exports.GetDarContentsResponse = exports.AllocatePartyResponse = exports.UploadDarFileRequest = exports.GrantUserRightsRequest = exports.WaitForPartyHostingRequest = exports.TopologyListPartiesRequest = exports.SubmitCommandsRequest = exports.ListUsersRequest = exports.ListUserRightsRequest = exports.ListKeyOwnersRequest = exports.ListIdentityProviderConfigsRequest = exports.ListDarsRequest = exports.ListKnownPackagesRequest = exports.ListKnownPartiesRequest = exports.TopologyListVettedPackagesRequest = exports.ListSynchronizerTrustCertificateRequest = exports.ListSynchronizerParametersStateRequest = exports.ListSequencingParametersStateRequest = exports.ListSequencerSynchronizerStateRequest = exports.ListPartyToParticipantRequest = exports.ListPartyToKeyMappingRequest = exports.ListVettedPackagesRequest = exports.ListPartyHostingLimitsRequest = exports.ListParticipantSynchronizerPermissionRequest = exports.ListOwnerToKeyMappingRequest = exports.ListNamespaceDelegationRequest = exports.ListMediatorSynchronizerStateRequest = exports.ListLsuSequencerConnectionSuccessorRequest = exports.ListLsuAnnouncementRequest = exports.GetUserRequest = exports.GetPartiesRequest = exports.GetLedgerEndRequest = exports.GetLatestPrunedOffsetsRequest = exports.GetConnectedSynchronizersRequest = exports.GetPackageStatusRequest = exports.GetPackageRequest = exports.GetIdentityProviderConfigRequest = exports.ListDecentralizedNamespaceDefinitionRequest = void 0;
|
|
8
|
+
exports.EndpointNotConfiguredError = exports.ObjectDisposedError = exports.NotSupportedError = exports.ConflictError = exports.TimeoutError = exports.SigningError = exports.GrpcTransportError = exports.TransportError = exports.AuthorizationError = exports.AuthenticationError = exports.ActiveContractsTraversalError = exports.ValidationError = exports.CantonError = exports.SynchronizerTime = exports.ParticipantNodeStatus = exports.PartyDetails = exports.UploadDarFileResponse = exports.GrantUserRightsResponse = exports.SubmitCommandResponse = exports.TopologyListPartiesResponse = exports.TopologyListVettedPackagesResponse = exports.ListVettedPackagesResponse = exports.ListUsersResponse = exports.ListUserRightsResponse = exports.ListSynchronizerTrustCertificateResponse = exports.ListSynchronizerParametersStateResponse = exports.ListSequencingParametersStateResponse = exports.ListSequencerSynchronizerStateResponse = exports.ListPartyToParticipantResponse = exports.ListPartyToKeyMappingResponse = exports.ListPartyHostingLimitsResponse = exports.ListParticipantSynchronizerPermissionResponse = exports.ListKeyOwnersResponse = exports.ListKnownPartiesResponse = exports.ListKnownPackagesResponse = exports.ListIdentityProviderConfigsResponse = exports.ListDarsResponse = exports.ListPackagesResponse = exports.ListOwnerToKeyMappingResponse = exports.ListNamespaceDelegationResponse = exports.ListMediatorSynchronizerStateResponse = exports.ListLsuSequencerConnectionSuccessorResponse = exports.ListLsuAnnouncementResponse = exports.ListDecentralizedNamespaceDefinitionResponse = void 0;
|
|
9
9
|
var canton_client_js_1 = require("./client/canton-client.js");
|
|
10
10
|
Object.defineProperty(exports, "CantonClient", { enumerable: true, get: function () { return canton_client_js_1.CantonClient; } });
|
|
11
11
|
var canton_manager_js_1 = require("./query/canton-manager.js");
|
|
@@ -16,6 +16,8 @@ var memory_query_cache_js_1 = require("./query/cache/memory-query-cache.js");
|
|
|
16
16
|
Object.defineProperty(exports, "MemoryQueryCache", { enumerable: true, get: function () { return memory_query_cache_js_1.MemoryQueryCache; } });
|
|
17
17
|
var query_capability_error_js_1 = require("./query/errors/query-capability-error.js");
|
|
18
18
|
Object.defineProperty(exports, "QueryCapabilityError", { enumerable: true, get: function () { return query_capability_error_js_1.QueryCapabilityError; } });
|
|
19
|
+
var query_snapshot_incomplete_error_js_1 = require("./query/errors/query-snapshot-incomplete-error.js");
|
|
20
|
+
Object.defineProperty(exports, "QuerySnapshotIncompleteError", { enumerable: true, get: function () { return query_snapshot_incomplete_error_js_1.QuerySnapshotIncompleteError; } });
|
|
19
21
|
var pqs_query_error_js_1 = require("./query/errors/pqs-query-error.js");
|
|
20
22
|
Object.defineProperty(exports, "PqsQueryError", { enumerable: true, get: function () { return pqs_query_error_js_1.PqsQueryError; } });
|
|
21
23
|
var pqs_schema_profile_error_js_1 = require("./query/errors/pqs-schema-profile-error.js");
|
|
@@ -458,8 +460,8 @@ var list_user_rights_request_js_1 = require("./core/types/requests/list-user-rig
|
|
|
458
460
|
Object.defineProperty(exports, "ListUserRightsRequest", { enumerable: true, get: function () { return list_user_rights_request_js_1.ListUserRightsRequest; } });
|
|
459
461
|
var list_users_request_js_1 = require("./core/types/requests/list-users-request.js");
|
|
460
462
|
Object.defineProperty(exports, "ListUsersRequest", { enumerable: true, get: function () { return list_users_request_js_1.ListUsersRequest; } });
|
|
461
|
-
var
|
|
462
|
-
Object.defineProperty(exports, "
|
|
463
|
+
var submit_commands_request_js_1 = require("./core/types/requests/submit-commands-request.js");
|
|
464
|
+
Object.defineProperty(exports, "SubmitCommandsRequest", { enumerable: true, get: function () { return submit_commands_request_js_1.SubmitCommandsRequest; } });
|
|
463
465
|
var topology_list_parties_request_js_1 = require("./core/types/requests/topology-list-parties-request.js");
|
|
464
466
|
Object.defineProperty(exports, "TopologyListPartiesRequest", { enumerable: true, get: function () { return topology_list_parties_request_js_1.TopologyListPartiesRequest; } });
|
|
465
467
|
var wait_for_party_hosting_request_js_1 = require("./core/types/requests/wait-for-party-hosting-request.js");
|