@powerhousedao/reactor-browser 6.2.0-dev.3 → 6.2.0-dev.31
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/dist/{client-Bmw8cTjQ.d.ts → client-CYhc2W1V.d.ts} +1 -30
- package/dist/client-CYhc2W1V.d.ts.map +1 -0
- package/dist/{client-D7hUM13i.js → client-_Gh2Uf0E.js} +1 -22
- package/dist/client-_Gh2Uf0E.js.map +1 -0
- package/dist/{document-by-id-BrIy0iHX.js → document-by-id-dLYFX-xz.js} +3 -3
- package/dist/{document-by-id-BrIy0iHX.js.map → document-by-id-dLYFX-xz.js.map} +1 -1
- package/dist/{index-Bz4MqX_j.d.ts → index-JRxZGs0B.d.ts} +1 -2
- package/dist/index-JRxZGs0B.d.ts.map +1 -0
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -65
- package/dist/index.js.map +1 -1
- package/dist/{make-ph-event-functions-DwiD1zH9.js → make-ph-event-functions-BHoLPif5.js} +2 -2
- package/dist/{make-ph-event-functions-DwiD1zH9.js.map → make-ph-event-functions-BHoLPif5.js.map} +1 -1
- package/dist/{renown-Dzmo1gJD.js → renown-D-1c_Bvx.js} +35 -48
- package/dist/renown-D-1c_Bvx.js.map +1 -0
- package/dist/src/analytics/index.d.ts +1 -1
- package/dist/src/analytics/index.js +2 -2
- package/dist/src/graphql/client.d.ts +1 -1
- package/dist/src/graphql/client.js +1 -1
- package/dist/src/renown/index.d.ts +1 -1
- package/dist/src/renown/index.js +1 -1
- package/package.json +27 -11
- package/dist/client-Bmw8cTjQ.d.ts.map +0 -1
- package/dist/client-D7hUM13i.js.map +0 -1
- package/dist/index-Bz4MqX_j.d.ts.map +0 -1
- package/dist/renown-Dzmo1gJD.js.map +0 -1
|
@@ -42,7 +42,6 @@ type ActionContextInput = {
|
|
|
42
42
|
readonly signer?: InputMaybe<ReactorSignerInput>;
|
|
43
43
|
};
|
|
44
44
|
type ActionInput = {
|
|
45
|
-
readonly attachments?: InputMaybe<ReadonlyArray<AttachmentInput>>;
|
|
46
45
|
readonly context?: InputMaybe<ActionContextInput>;
|
|
47
46
|
readonly id: Scalars["String"]["input"];
|
|
48
47
|
readonly input: Scalars["JSONObject"]["input"];
|
|
@@ -50,13 +49,6 @@ type ActionInput = {
|
|
|
50
49
|
readonly timestampUtcMs: Scalars["String"]["input"];
|
|
51
50
|
readonly type: Scalars["String"]["input"];
|
|
52
51
|
};
|
|
53
|
-
type AttachmentInput = {
|
|
54
|
-
readonly data: Scalars["String"]["input"];
|
|
55
|
-
readonly extension?: InputMaybe<Scalars["String"]["input"]>;
|
|
56
|
-
readonly fileName?: InputMaybe<Scalars["String"]["input"]>;
|
|
57
|
-
readonly hash: Scalars["String"]["input"];
|
|
58
|
-
readonly mimeType: Scalars["String"]["input"];
|
|
59
|
-
};
|
|
60
52
|
type ChannelMetaInput = {
|
|
61
53
|
readonly id: Scalars["String"]["input"];
|
|
62
54
|
};
|
|
@@ -256,13 +248,6 @@ type GetDocumentWithOperationsQuery = {
|
|
|
256
248
|
readonly timestampUtcMs: string;
|
|
257
249
|
readonly input: NonNullable<unknown>;
|
|
258
250
|
readonly scope: string;
|
|
259
|
-
readonly attachments?: ReadonlyArray<{
|
|
260
|
-
readonly data: string;
|
|
261
|
-
readonly mimeType: string;
|
|
262
|
-
readonly hash: string;
|
|
263
|
-
readonly extension?: string | null | undefined;
|
|
264
|
-
readonly fileName?: string | null | undefined;
|
|
265
|
-
}> | null | undefined;
|
|
266
251
|
readonly context?: {
|
|
267
252
|
readonly signer?: {
|
|
268
253
|
readonly signatures: ReadonlyArray<string>;
|
|
@@ -390,13 +375,6 @@ type GetDocumentOperationsQuery = {
|
|
|
390
375
|
readonly timestampUtcMs: string;
|
|
391
376
|
readonly input: NonNullable<unknown>;
|
|
392
377
|
readonly scope: string;
|
|
393
|
-
readonly attachments?: ReadonlyArray<{
|
|
394
|
-
readonly data: string;
|
|
395
|
-
readonly mimeType: string;
|
|
396
|
-
readonly hash: string;
|
|
397
|
-
readonly extension?: string | null | undefined;
|
|
398
|
-
readonly fileName?: string | null | undefined;
|
|
399
|
-
}> | null | undefined;
|
|
400
378
|
readonly context?: {
|
|
401
379
|
readonly signer?: {
|
|
402
380
|
readonly signatures: ReadonlyArray<string>;
|
|
@@ -694,13 +672,6 @@ type PollSyncEnvelopesQuery = {
|
|
|
694
672
|
readonly timestampUtcMs: string;
|
|
695
673
|
readonly input: NonNullable<unknown>;
|
|
696
674
|
readonly scope: string;
|
|
697
|
-
readonly attachments?: ReadonlyArray<{
|
|
698
|
-
readonly data: string;
|
|
699
|
-
readonly mimeType: string;
|
|
700
|
-
readonly hash: string;
|
|
701
|
-
readonly extension?: string | null | undefined;
|
|
702
|
-
readonly fileName?: string | null | undefined;
|
|
703
|
-
}> | null | undefined;
|
|
704
675
|
readonly context?: {
|
|
705
676
|
readonly signer?: {
|
|
706
677
|
readonly signatures: ReadonlyArray<string>;
|
|
@@ -822,4 +793,4 @@ type TStateSchemaZodObject = z.ZodObject<{
|
|
|
822
793
|
declare function createClient(urlOrGQLClient: string | GraphQLClient, middleware?: SdkFunctionWrapper): ReactorGraphQLClient;
|
|
823
794
|
//#endregion
|
|
824
795
|
export { PhDocumentFieldsFragment as C, MutateDocumentMutation as S, Scalars as T, DeleteDocumentMutation as _, GraphQLDocumentEventOperationName as a, GetDocumentOperationsQuery as b, GraphQLDocumentsEvents as c, DEFAULT_DRIVE_ID as d, DEFAULT_SWITCHBOARD_URL as f, CreateDocumentMutation as g, graphqlEventsToSyncDrive as h, GraphQLClientWindowEvents as i, ReactorGraphQLClient as l, graphqlDocumentsEvents as m, GraphQLClientDocumentEvent as n, GraphQLDocumentEvents as o, graphqlDocumentEvents as p, GraphQLClientDocumentsEvent as r, GraphQLDocumentEventsOperationName as s, createClient as t, TStateSchemaZodObject as u, DeleteDocumentsMutation as v, PropagationMode as w, GetDocumentWithOperationsQuery as x, FindDocumentsQuery as y };
|
|
825
|
-
//# sourceMappingURL=client-
|
|
796
|
+
//# sourceMappingURL=client-CYhc2W1V.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-CYhc2W1V.d.ts","names":[],"sources":["../src/graphql/gen/schema.ts","../src/graphql/constants.ts","../src/graphql/types.ts","../src/graphql/client.ts"],"mappings":"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"}
|
|
@@ -73,13 +73,6 @@ const GetDocumentWithOperationsDocument = gql`
|
|
|
73
73
|
timestampUtcMs
|
|
74
74
|
input
|
|
75
75
|
scope
|
|
76
|
-
attachments {
|
|
77
|
-
data
|
|
78
|
-
mimeType
|
|
79
|
-
hash
|
|
80
|
-
extension
|
|
81
|
-
fileName
|
|
82
|
-
}
|
|
83
76
|
context {
|
|
84
77
|
signer {
|
|
85
78
|
user {
|
|
@@ -192,13 +185,6 @@ const GetDocumentOperationsDocument = gql`
|
|
|
192
185
|
timestampUtcMs
|
|
193
186
|
input
|
|
194
187
|
scope
|
|
195
|
-
attachments {
|
|
196
|
-
data
|
|
197
|
-
mimeType
|
|
198
|
-
hash
|
|
199
|
-
extension
|
|
200
|
-
fileName
|
|
201
|
-
}
|
|
202
188
|
context {
|
|
203
189
|
signer {
|
|
204
190
|
user {
|
|
@@ -449,13 +435,6 @@ const PollSyncEnvelopesDocument = gql`
|
|
|
449
435
|
timestampUtcMs
|
|
450
436
|
input
|
|
451
437
|
scope
|
|
452
|
-
attachments {
|
|
453
|
-
data
|
|
454
|
-
mimeType
|
|
455
|
-
hash
|
|
456
|
-
extension
|
|
457
|
-
fileName
|
|
458
|
-
}
|
|
459
438
|
context {
|
|
460
439
|
signer {
|
|
461
440
|
user {
|
|
@@ -886,4 +865,4 @@ function createClient(urlOrGQLClient, middleware) {
|
|
|
886
865
|
//#endregion
|
|
887
866
|
export { GetDocumentWithOperationsDocument as n, PropagationMode as r, createClient as t };
|
|
888
867
|
|
|
889
|
-
//# sourceMappingURL=client-
|
|
868
|
+
//# sourceMappingURL=client-_Gh2Uf0E.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-_Gh2Uf0E.js","names":[],"sources":["../src/graphql/gen/schema.ts","../src/graphql/batch-queries.ts","../src/graphql/client.ts"],"sourcesContent":["import type { GraphQLClient, RequestOptions } from \"graphql-request\";\nimport { gql } from \"graphql-tag\";\nexport type Maybe<T> = T | null | undefined;\nexport type InputMaybe<T> = T | null | undefined;\nexport type Exact<T extends { [key: string]: unknown }> = {\n [K in keyof T]: T[K];\n};\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]?: Maybe<T[SubKey]>;\n};\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]: Maybe<T[SubKey]>;\n};\nexport type MakeEmpty<\n T extends { [key: string]: unknown },\n K extends keyof T,\n> = { [_ in K]?: never };\nexport type Incremental<T> =\n | T\n | {\n [P in keyof T]?: P extends \" $fragmentName\" | \"__typename\" ? T[P] : never;\n };\ntype GraphQLClientRequestHeaders = RequestOptions[\"requestHeaders\"];\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string };\n String: { input: string; output: string };\n Boolean: { input: boolean; output: boolean };\n Int: { input: number; output: number };\n Float: { input: number; output: number };\n DateTime: { input: string | Date; output: string | Date };\n JSONObject: { input: NonNullable<unknown>; output: NonNullable<unknown> };\n};\n\nexport type Action = {\n readonly context?: Maybe<ActionContext>;\n readonly id: Scalars[\"String\"][\"output\"];\n readonly input: Scalars[\"JSONObject\"][\"output\"];\n readonly scope: Scalars[\"String\"][\"output\"];\n readonly timestampUtcMs: Scalars[\"String\"][\"output\"];\n readonly type: Scalars[\"String\"][\"output\"];\n};\n\nexport type ActionContext = {\n readonly signer?: Maybe<ReactorSigner>;\n};\n\nexport type ActionContextInput = {\n readonly signer?: InputMaybe<ReactorSignerInput>;\n};\n\nexport type ActionInput = {\n readonly context?: InputMaybe<ActionContextInput>;\n readonly id: Scalars[\"String\"][\"input\"];\n readonly input: Scalars[\"JSONObject\"][\"input\"];\n readonly scope: Scalars[\"String\"][\"input\"];\n readonly timestampUtcMs: Scalars[\"String\"][\"input\"];\n readonly type: Scalars[\"String\"][\"input\"];\n};\n\nexport type ChannelMeta = {\n readonly id: Scalars[\"String\"][\"output\"];\n};\n\nexport type ChannelMetaInput = {\n readonly id: Scalars[\"String\"][\"input\"];\n};\n\nexport type DeadLetterInfo = {\n readonly branch: Scalars[\"String\"][\"output\"];\n readonly documentId: Scalars[\"String\"][\"output\"];\n readonly error: Scalars[\"String\"][\"output\"];\n readonly jobId: Scalars[\"String\"][\"output\"];\n readonly operationCount: Scalars[\"Int\"][\"output\"];\n readonly scopes: ReadonlyArray<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type DocumentChangeContext = {\n readonly childId?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly parentId?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type DocumentChangeEvent = {\n readonly context?: Maybe<DocumentChangeContext>;\n readonly documents: ReadonlyArray<PhDocument>;\n readonly type: DocumentChangeType;\n};\n\nexport enum DocumentChangeType {\n ChildAdded = \"CHILD_ADDED\",\n ChildRemoved = \"CHILD_REMOVED\",\n Created = \"CREATED\",\n Deleted = \"DELETED\",\n ParentAdded = \"PARENT_ADDED\",\n ParentRemoved = \"PARENT_REMOVED\",\n Updated = \"UPDATED\",\n}\n\nexport type DocumentModelGlobalState = {\n readonly id: Scalars[\"String\"][\"output\"];\n readonly name: Scalars[\"String\"][\"output\"];\n readonly namespace?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly specification: Scalars[\"JSONObject\"][\"output\"];\n readonly version?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type DocumentModelResultPage = {\n readonly cursor?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly hasNextPage: Scalars[\"Boolean\"][\"output\"];\n readonly hasPreviousPage: Scalars[\"Boolean\"][\"output\"];\n readonly items: ReadonlyArray<DocumentModelGlobalState>;\n readonly totalCount: Scalars[\"Int\"][\"output\"];\n};\n\nexport type DocumentOperationsFilterInput = {\n readonly actionTypes?: InputMaybe<ReadonlyArray<Scalars[\"String\"][\"input\"]>>;\n readonly branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n readonly scopes?: InputMaybe<ReadonlyArray<Scalars[\"String\"][\"input\"]>>;\n readonly sinceRevision?: InputMaybe<Scalars[\"Int\"][\"input\"]>;\n readonly timestampFrom?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n readonly timestampTo?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type DocumentWithChildren = {\n readonly childIds: ReadonlyArray<Scalars[\"String\"][\"output\"]>;\n readonly document: PhDocument;\n};\n\nexport type JobChangeEvent = {\n readonly error?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly jobId: Scalars[\"String\"][\"output\"];\n readonly result: Scalars[\"JSONObject\"][\"output\"];\n readonly status: Scalars[\"String\"][\"output\"];\n};\n\nexport type JobInfo = {\n readonly completedAt?: Maybe<Scalars[\"DateTime\"][\"output\"]>;\n readonly createdAt: Scalars[\"DateTime\"][\"output\"];\n readonly error?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly id: Scalars[\"String\"][\"output\"];\n readonly result: Scalars[\"JSONObject\"][\"output\"];\n readonly status: Scalars[\"String\"][\"output\"];\n};\n\nexport type MoveRelationshipResult = {\n readonly source: PhDocument;\n readonly target: PhDocument;\n};\n\nexport type Mutation = {\n readonly addRelationship: PhDocument;\n readonly createDocument: PhDocument;\n readonly createEmptyDocument: PhDocument;\n readonly deleteDocument: Scalars[\"Boolean\"][\"output\"];\n readonly deleteDocuments: Scalars[\"Boolean\"][\"output\"];\n readonly moveRelationship: MoveRelationshipResult;\n readonly mutateDocument: PhDocument;\n readonly mutateDocumentAsync: Scalars[\"String\"][\"output\"];\n readonly pushSyncEnvelopes: Scalars[\"Boolean\"][\"output\"];\n readonly removeRelationship: PhDocument;\n readonly renameDocument: PhDocument;\n readonly setPreferredEditor: PhDocument;\n readonly touchChannel: TouchChannelResult;\n};\n\nexport type MutationAddRelationshipArgs = {\n branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n relationshipType: Scalars[\"String\"][\"input\"];\n sourceIdentifier: Scalars[\"String\"][\"input\"];\n targetIdentifier: Scalars[\"String\"][\"input\"];\n};\n\nexport type MutationCreateDocumentArgs = {\n document: Scalars[\"JSONObject\"][\"input\"];\n parentIdentifier?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type MutationCreateEmptyDocumentArgs = {\n documentType: Scalars[\"String\"][\"input\"];\n parentIdentifier?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type MutationDeleteDocumentArgs = {\n identifier: Scalars[\"String\"][\"input\"];\n propagate?: InputMaybe<PropagationMode>;\n};\n\nexport type MutationDeleteDocumentsArgs = {\n identifiers: ReadonlyArray<Scalars[\"String\"][\"input\"]>;\n propagate?: InputMaybe<PropagationMode>;\n};\n\nexport type MutationMoveRelationshipArgs = {\n branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n relationshipType: Scalars[\"String\"][\"input\"];\n sourceParentIdentifier: Scalars[\"String\"][\"input\"];\n targetIdentifier: Scalars[\"String\"][\"input\"];\n targetParentIdentifier: Scalars[\"String\"][\"input\"];\n};\n\nexport type MutationMutateDocumentArgs = {\n actions: ReadonlyArray<Scalars[\"JSONObject\"][\"input\"]>;\n documentIdentifier: Scalars[\"String\"][\"input\"];\n view?: InputMaybe<ViewFilterInput>;\n};\n\nexport type MutationMutateDocumentAsyncArgs = {\n actions: ReadonlyArray<Scalars[\"JSONObject\"][\"input\"]>;\n documentIdentifier: Scalars[\"String\"][\"input\"];\n view?: InputMaybe<ViewFilterInput>;\n};\n\nexport type MutationPushSyncEnvelopesArgs = {\n envelopes: ReadonlyArray<SyncEnvelopeInput>;\n};\n\nexport type MutationRemoveRelationshipArgs = {\n branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n relationshipType: Scalars[\"String\"][\"input\"];\n sourceIdentifier: Scalars[\"String\"][\"input\"];\n targetIdentifier: Scalars[\"String\"][\"input\"];\n};\n\nexport type MutationRenameDocumentArgs = {\n branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n documentIdentifier: Scalars[\"String\"][\"input\"];\n name: Scalars[\"String\"][\"input\"];\n};\n\nexport type MutationSetPreferredEditorArgs = {\n branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n documentIdentifier: Scalars[\"String\"][\"input\"];\n preferredEditor?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type MutationTouchChannelArgs = {\n input: TouchChannelInput;\n};\n\nexport type OperationContext = {\n readonly branch: Scalars[\"String\"][\"output\"];\n readonly documentId: Scalars[\"String\"][\"output\"];\n readonly documentType: Scalars[\"String\"][\"output\"];\n readonly ordinal: Scalars[\"Int\"][\"output\"];\n readonly scope: Scalars[\"String\"][\"output\"];\n};\n\nexport type OperationContextInput = {\n readonly branch: Scalars[\"String\"][\"input\"];\n readonly documentId: Scalars[\"String\"][\"input\"];\n readonly documentType: Scalars[\"String\"][\"input\"];\n readonly ordinal: Scalars[\"Int\"][\"input\"];\n readonly scope: Scalars[\"String\"][\"input\"];\n};\n\nexport type OperationInput = {\n readonly action: ActionInput;\n readonly error?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n readonly hash: Scalars[\"String\"][\"input\"];\n readonly id?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n readonly index: Scalars[\"Int\"][\"input\"];\n readonly skip: Scalars[\"Int\"][\"input\"];\n readonly timestampUtcMs: Scalars[\"String\"][\"input\"];\n};\n\nexport type OperationWithContext = {\n readonly context: OperationContext;\n readonly operation: ReactorOperation;\n};\n\nexport type OperationWithContextInput = {\n readonly context: OperationContextInput;\n readonly operation: OperationInput;\n};\n\nexport type OperationsFilterInput = {\n readonly actionTypes?: InputMaybe<ReadonlyArray<Scalars[\"String\"][\"input\"]>>;\n readonly branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n readonly documentId: Scalars[\"String\"][\"input\"];\n readonly scopes?: InputMaybe<ReadonlyArray<Scalars[\"String\"][\"input\"]>>;\n readonly sinceRevision?: InputMaybe<Scalars[\"Int\"][\"input\"]>;\n readonly timestampFrom?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n readonly timestampTo?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type PhDocument = {\n readonly createdAtUtcIso: Scalars[\"DateTime\"][\"output\"];\n readonly documentType: Scalars[\"String\"][\"output\"];\n readonly id: Scalars[\"String\"][\"output\"];\n readonly lastModifiedAtUtcIso: Scalars[\"DateTime\"][\"output\"];\n readonly name: Scalars[\"String\"][\"output\"];\n readonly operations?: Maybe<ReactorOperationResultPage>;\n readonly preferredEditor?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly revisionsList: ReadonlyArray<Revision>;\n readonly slug?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly state: Scalars[\"JSONObject\"][\"output\"];\n};\n\nexport type PhDocumentOperationsArgs = {\n filter?: InputMaybe<DocumentOperationsFilterInput>;\n paging?: InputMaybe<PagingInput>;\n};\n\nexport type PhDocumentResultPage = {\n readonly cursor?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly hasNextPage: Scalars[\"Boolean\"][\"output\"];\n readonly hasPreviousPage: Scalars[\"Boolean\"][\"output\"];\n readonly items: ReadonlyArray<PhDocument>;\n readonly totalCount: Scalars[\"Int\"][\"output\"];\n};\n\nexport type PagingInput = {\n readonly cursor?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n readonly limit?: InputMaybe<Scalars[\"Int\"][\"input\"]>;\n readonly offset?: InputMaybe<Scalars[\"Int\"][\"input\"]>;\n};\n\nexport type PollSyncEnvelopesResult = {\n readonly ackOrdinal: Scalars[\"Int\"][\"output\"];\n readonly deadLetters: ReadonlyArray<DeadLetterInfo>;\n readonly envelopes: ReadonlyArray<SyncEnvelope>;\n readonly hasMore: Scalars[\"Boolean\"][\"output\"];\n};\n\nexport enum PropagationMode {\n Cascade = \"CASCADE\",\n Orphan = \"ORPHAN\",\n}\n\nexport type Query = {\n readonly document?: Maybe<DocumentWithChildren>;\n readonly documentIncomingRelationships: PhDocumentResultPage;\n readonly documentModels: DocumentModelResultPage;\n readonly documentOperations: ReactorOperationResultPage;\n readonly documentOutgoingRelationships: PhDocumentResultPage;\n readonly findDocuments: PhDocumentResultPage;\n readonly jobStatus?: Maybe<JobInfo>;\n readonly pollSyncEnvelopes: PollSyncEnvelopesResult;\n};\n\nexport type QueryDocumentArgs = {\n identifier: Scalars[\"String\"][\"input\"];\n view?: InputMaybe<ViewFilterInput>;\n};\n\nexport type QueryDocumentIncomingRelationshipsArgs = {\n paging?: InputMaybe<PagingInput>;\n relationshipType: Scalars[\"String\"][\"input\"];\n targetIdentifier: Scalars[\"String\"][\"input\"];\n view?: InputMaybe<ViewFilterInput>;\n};\n\nexport type QueryDocumentModelsArgs = {\n namespace?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n paging?: InputMaybe<PagingInput>;\n};\n\nexport type QueryDocumentOperationsArgs = {\n filter: OperationsFilterInput;\n paging?: InputMaybe<PagingInput>;\n};\n\nexport type QueryDocumentOutgoingRelationshipsArgs = {\n paging?: InputMaybe<PagingInput>;\n relationshipType: Scalars[\"String\"][\"input\"];\n sourceIdentifier: Scalars[\"String\"][\"input\"];\n view?: InputMaybe<ViewFilterInput>;\n};\n\nexport type QueryFindDocumentsArgs = {\n paging?: InputMaybe<PagingInput>;\n search?: InputMaybe<SearchFilterInput>;\n view?: InputMaybe<ViewFilterInput>;\n};\n\nexport type QueryJobStatusArgs = {\n jobId: Scalars[\"String\"][\"input\"];\n};\n\nexport type QueryPollSyncEnvelopesArgs = {\n channelId: Scalars[\"String\"][\"input\"];\n outboxAck: Scalars[\"Int\"][\"input\"];\n outboxLatest: Scalars[\"Int\"][\"input\"];\n};\n\nexport type ReactorOperation = {\n readonly action: Action;\n readonly error?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly hash: Scalars[\"String\"][\"output\"];\n readonly id?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly index: Scalars[\"Int\"][\"output\"];\n readonly skip: Scalars[\"Int\"][\"output\"];\n readonly timestampUtcMs: Scalars[\"String\"][\"output\"];\n};\n\nexport type ReactorOperationResultPage = {\n readonly cursor?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly hasNextPage: Scalars[\"Boolean\"][\"output\"];\n readonly hasPreviousPage: Scalars[\"Boolean\"][\"output\"];\n readonly items: ReadonlyArray<ReactorOperation>;\n readonly totalCount: Scalars[\"Int\"][\"output\"];\n};\n\nexport type ReactorSigner = {\n readonly app?: Maybe<ReactorSignerApp>;\n readonly signatures: ReadonlyArray<Scalars[\"String\"][\"output\"]>;\n readonly user?: Maybe<ReactorSignerUser>;\n};\n\nexport type ReactorSignerApp = {\n readonly key: Scalars[\"String\"][\"output\"];\n readonly name: Scalars[\"String\"][\"output\"];\n};\n\nexport type ReactorSignerAppInput = {\n readonly key: Scalars[\"String\"][\"input\"];\n readonly name: Scalars[\"String\"][\"input\"];\n};\n\nexport type ReactorSignerInput = {\n readonly app?: InputMaybe<ReactorSignerAppInput>;\n readonly signatures: ReadonlyArray<Scalars[\"String\"][\"input\"]>;\n readonly user?: InputMaybe<ReactorSignerUserInput>;\n};\n\nexport type ReactorSignerUser = {\n readonly address: Scalars[\"String\"][\"output\"];\n readonly chainId: Scalars[\"Int\"][\"output\"];\n readonly networkId: Scalars[\"String\"][\"output\"];\n};\n\nexport type ReactorSignerUserInput = {\n readonly address: Scalars[\"String\"][\"input\"];\n readonly chainId: Scalars[\"Int\"][\"input\"];\n readonly networkId: Scalars[\"String\"][\"input\"];\n};\n\nexport type RemoteCursor = {\n readonly cursorOrdinal: Scalars[\"Int\"][\"output\"];\n readonly lastSyncedAtUtcMs?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly remoteName: Scalars[\"String\"][\"output\"];\n};\n\nexport type RemoteCursorInput = {\n readonly cursorOrdinal: Scalars[\"Int\"][\"input\"];\n readonly lastSyncedAtUtcMs?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n readonly remoteName: Scalars[\"String\"][\"input\"];\n};\n\nexport type RemoteFilterInput = {\n readonly branch: Scalars[\"String\"][\"input\"];\n readonly documentId: ReadonlyArray<Scalars[\"String\"][\"input\"]>;\n readonly scope: ReadonlyArray<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type Revision = {\n readonly revision: Scalars[\"Int\"][\"output\"];\n readonly scope: Scalars[\"String\"][\"output\"];\n};\n\nexport type SearchFilterInput = {\n readonly identifiers?: InputMaybe<ReadonlyArray<Scalars[\"String\"][\"input\"]>>;\n readonly parentId?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n readonly type?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type Subscription = {\n readonly documentChanges: DocumentChangeEvent;\n readonly jobChanges: JobChangeEvent;\n};\n\nexport type SubscriptionDocumentChangesArgs = {\n search?: InputMaybe<SearchFilterInput>;\n view?: InputMaybe<ViewFilterInput>;\n};\n\nexport type SubscriptionJobChangesArgs = {\n jobId: Scalars[\"String\"][\"input\"];\n};\n\nexport type SyncEnvelope = {\n readonly channelMeta: ChannelMeta;\n readonly cursor?: Maybe<RemoteCursor>;\n readonly dependsOn?: Maybe<ReadonlyArray<Scalars[\"String\"][\"output\"]>>;\n readonly key?: Maybe<Scalars[\"String\"][\"output\"]>;\n readonly operations?: Maybe<ReadonlyArray<OperationWithContext>>;\n readonly type: SyncEnvelopeType;\n};\n\nexport type SyncEnvelopeInput = {\n readonly channelMeta: ChannelMetaInput;\n readonly cursor?: InputMaybe<RemoteCursorInput>;\n readonly dependsOn?: InputMaybe<ReadonlyArray<Scalars[\"String\"][\"input\"]>>;\n readonly key?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n readonly operations?: InputMaybe<ReadonlyArray<OperationWithContextInput>>;\n readonly type: SyncEnvelopeType;\n};\n\nexport enum SyncEnvelopeType {\n Ack = \"ACK\",\n Operations = \"OPERATIONS\",\n}\n\nexport type TouchChannelInput = {\n readonly collectionId: Scalars[\"String\"][\"input\"];\n readonly filter: RemoteFilterInput;\n readonly id: Scalars[\"String\"][\"input\"];\n readonly name: Scalars[\"String\"][\"input\"];\n readonly sinceTimestampUtcMs: Scalars[\"String\"][\"input\"];\n};\n\nexport type TouchChannelResult = {\n readonly ackOrdinal: Scalars[\"Int\"][\"output\"];\n readonly success: Scalars[\"Boolean\"][\"output\"];\n};\n\nexport type ViewFilterInput = {\n readonly branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n readonly scopes?: InputMaybe<ReadonlyArray<Scalars[\"String\"][\"input\"]>>;\n};\n\nexport type PhDocumentFieldsFragment = {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n};\n\nexport type GetDocumentModelsQueryVariables = Exact<{\n namespace?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n paging?: InputMaybe<PagingInput>;\n}>;\n\nexport type GetDocumentModelsQuery = {\n readonly documentModels: {\n readonly totalCount: number;\n readonly hasNextPage: boolean;\n readonly hasPreviousPage: boolean;\n readonly cursor?: string | null | undefined;\n readonly items: ReadonlyArray<{\n readonly id: string;\n readonly name: string;\n readonly namespace?: string | null | undefined;\n readonly version?: string | null | undefined;\n readonly specification: NonNullable<unknown>;\n }>;\n };\n};\n\nexport type GetDocumentQueryVariables = Exact<{\n identifier: Scalars[\"String\"][\"input\"];\n view?: InputMaybe<ViewFilterInput>;\n}>;\n\nexport type GetDocumentQuery = {\n readonly document?:\n | {\n readonly childIds: ReadonlyArray<string>;\n readonly document: {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n };\n }\n | null\n | undefined;\n};\n\nexport type GetDocumentWithOperationsQueryVariables = Exact<{\n identifier: Scalars[\"String\"][\"input\"];\n view?: InputMaybe<ViewFilterInput>;\n operationsFilter?: InputMaybe<DocumentOperationsFilterInput>;\n operationsPaging?: InputMaybe<PagingInput>;\n}>;\n\nexport type GetDocumentWithOperationsQuery = {\n readonly document?:\n | {\n readonly childIds: ReadonlyArray<string>;\n readonly document: {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly operations?:\n | {\n readonly totalCount: number;\n readonly hasNextPage: boolean;\n readonly hasPreviousPage: boolean;\n readonly cursor?: string | null | undefined;\n readonly items: ReadonlyArray<{\n readonly index: number;\n readonly timestampUtcMs: string;\n readonly hash: string;\n readonly skip: number;\n readonly error?: string | null | undefined;\n readonly id?: string | null | undefined;\n readonly action: {\n readonly id: string;\n readonly type: string;\n readonly timestampUtcMs: string;\n readonly input: NonNullable<unknown>;\n readonly scope: string;\n readonly context?:\n | {\n readonly signer?:\n | {\n readonly signatures: ReadonlyArray<string>;\n readonly user?:\n | {\n readonly address: string;\n readonly networkId: string;\n readonly chainId: number;\n }\n | null\n | undefined;\n readonly app?:\n | {\n readonly name: string;\n readonly key: string;\n }\n | null\n | undefined;\n }\n | null\n | undefined;\n }\n | null\n | undefined;\n };\n }>;\n }\n | null\n | undefined;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n };\n }\n | null\n | undefined;\n};\n\nexport type GetDocumentOutgoingRelationshipsQueryVariables = Exact<{\n sourceIdentifier: Scalars[\"String\"][\"input\"];\n relationshipType: Scalars[\"String\"][\"input\"];\n view?: InputMaybe<ViewFilterInput>;\n paging?: InputMaybe<PagingInput>;\n}>;\n\nexport type GetDocumentOutgoingRelationshipsQuery = {\n readonly documentOutgoingRelationships: {\n readonly totalCount: number;\n readonly hasNextPage: boolean;\n readonly hasPreviousPage: boolean;\n readonly cursor?: string | null | undefined;\n readonly items: ReadonlyArray<{\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n }>;\n };\n};\n\nexport type GetDocumentIncomingRelationshipsQueryVariables = Exact<{\n targetIdentifier: Scalars[\"String\"][\"input\"];\n relationshipType: Scalars[\"String\"][\"input\"];\n view?: InputMaybe<ViewFilterInput>;\n paging?: InputMaybe<PagingInput>;\n}>;\n\nexport type GetDocumentIncomingRelationshipsQuery = {\n readonly documentIncomingRelationships: {\n readonly totalCount: number;\n readonly hasNextPage: boolean;\n readonly hasPreviousPage: boolean;\n readonly cursor?: string | null | undefined;\n readonly items: ReadonlyArray<{\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n }>;\n };\n};\n\nexport type FindDocumentsQueryVariables = Exact<{\n search?: InputMaybe<SearchFilterInput>;\n view?: InputMaybe<ViewFilterInput>;\n paging?: InputMaybe<PagingInput>;\n}>;\n\nexport type FindDocumentsQuery = {\n readonly findDocuments: {\n readonly totalCount: number;\n readonly hasNextPage: boolean;\n readonly hasPreviousPage: boolean;\n readonly cursor?: string | null | undefined;\n readonly items: ReadonlyArray<{\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n }>;\n };\n};\n\nexport type GetDocumentOperationsQueryVariables = Exact<{\n filter: OperationsFilterInput;\n paging?: InputMaybe<PagingInput>;\n}>;\n\nexport type GetDocumentOperationsQuery = {\n readonly documentOperations: {\n readonly totalCount: number;\n readonly hasNextPage: boolean;\n readonly hasPreviousPage: boolean;\n readonly cursor?: string | null | undefined;\n readonly items: ReadonlyArray<{\n readonly index: number;\n readonly timestampUtcMs: string;\n readonly hash: string;\n readonly skip: number;\n readonly error?: string | null | undefined;\n readonly id?: string | null | undefined;\n readonly action: {\n readonly id: string;\n readonly type: string;\n readonly timestampUtcMs: string;\n readonly input: NonNullable<unknown>;\n readonly scope: string;\n readonly context?:\n | {\n readonly signer?:\n | {\n readonly signatures: ReadonlyArray<string>;\n readonly user?:\n | {\n readonly address: string;\n readonly networkId: string;\n readonly chainId: number;\n }\n | null\n | undefined;\n readonly app?:\n | { readonly name: string; readonly key: string }\n | null\n | undefined;\n }\n | null\n | undefined;\n }\n | null\n | undefined;\n };\n }>;\n };\n};\n\nexport type GetJobStatusQueryVariables = Exact<{\n jobId: Scalars[\"String\"][\"input\"];\n}>;\n\nexport type GetJobStatusQuery = {\n readonly jobStatus?:\n | {\n readonly id: string;\n readonly status: string;\n readonly result: NonNullable<unknown>;\n readonly error?: string | null | undefined;\n readonly createdAt: string | Date;\n readonly completedAt?: string | Date | null | undefined;\n }\n | null\n | undefined;\n};\n\nexport type CreateDocumentMutationVariables = Exact<{\n document: Scalars[\"JSONObject\"][\"input\"];\n parentIdentifier?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n}>;\n\nexport type CreateDocumentMutation = {\n readonly createDocument: {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n };\n};\n\nexport type CreateEmptyDocumentMutationVariables = Exact<{\n documentType: Scalars[\"String\"][\"input\"];\n parentIdentifier?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n}>;\n\nexport type CreateEmptyDocumentMutation = {\n readonly createEmptyDocument: {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n };\n};\n\nexport type MutateDocumentMutationVariables = Exact<{\n documentIdentifier: Scalars[\"String\"][\"input\"];\n actions: ReadonlyArray<Scalars[\"JSONObject\"][\"input\"]>;\n view?: InputMaybe<ViewFilterInput>;\n}>;\n\nexport type MutateDocumentMutation = {\n readonly mutateDocument: {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n };\n};\n\nexport type MutateDocumentAsyncMutationVariables = Exact<{\n documentIdentifier: Scalars[\"String\"][\"input\"];\n actions: ReadonlyArray<Scalars[\"JSONObject\"][\"input\"]>;\n view?: InputMaybe<ViewFilterInput>;\n}>;\n\nexport type MutateDocumentAsyncMutation = {\n readonly mutateDocumentAsync: string;\n};\n\nexport type RenameDocumentMutationVariables = Exact<{\n documentIdentifier: Scalars[\"String\"][\"input\"];\n name: Scalars[\"String\"][\"input\"];\n branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n}>;\n\nexport type RenameDocumentMutation = {\n readonly renameDocument: {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n };\n};\n\nexport type SetPreferredEditorMutationVariables = Exact<{\n documentIdentifier: Scalars[\"String\"][\"input\"];\n preferredEditor?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n}>;\n\nexport type SetPreferredEditorMutation = {\n readonly setPreferredEditor: {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n };\n};\n\nexport type AddRelationshipMutationVariables = Exact<{\n sourceIdentifier: Scalars[\"String\"][\"input\"];\n targetIdentifier: Scalars[\"String\"][\"input\"];\n relationshipType: Scalars[\"String\"][\"input\"];\n branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n}>;\n\nexport type AddRelationshipMutation = {\n readonly addRelationship: {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n };\n};\n\nexport type RemoveRelationshipMutationVariables = Exact<{\n sourceIdentifier: Scalars[\"String\"][\"input\"];\n targetIdentifier: Scalars[\"String\"][\"input\"];\n relationshipType: Scalars[\"String\"][\"input\"];\n branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n}>;\n\nexport type RemoveRelationshipMutation = {\n readonly removeRelationship: {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n };\n};\n\nexport type MoveRelationshipMutationVariables = Exact<{\n sourceParentIdentifier: Scalars[\"String\"][\"input\"];\n targetParentIdentifier: Scalars[\"String\"][\"input\"];\n targetIdentifier: Scalars[\"String\"][\"input\"];\n relationshipType: Scalars[\"String\"][\"input\"];\n branch?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n}>;\n\nexport type MoveRelationshipMutation = {\n readonly moveRelationship: {\n readonly source: {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n };\n readonly target: {\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n };\n };\n};\n\nexport type DeleteDocumentMutationVariables = Exact<{\n identifier: Scalars[\"String\"][\"input\"];\n propagate?: InputMaybe<PropagationMode>;\n}>;\n\nexport type DeleteDocumentMutation = { readonly deleteDocument: boolean };\n\nexport type DeleteDocumentsMutationVariables = Exact<{\n identifiers: ReadonlyArray<Scalars[\"String\"][\"input\"]>;\n propagate?: InputMaybe<PropagationMode>;\n}>;\n\nexport type DeleteDocumentsMutation = { readonly deleteDocuments: boolean };\n\nexport type DocumentChangesSubscriptionVariables = Exact<{\n search?: InputMaybe<SearchFilterInput>;\n view?: InputMaybe<ViewFilterInput>;\n}>;\n\nexport type DocumentChangesSubscription = {\n readonly documentChanges: {\n readonly type: DocumentChangeType;\n readonly documents: ReadonlyArray<{\n readonly id: string;\n readonly slug?: string | null | undefined;\n readonly name: string;\n readonly documentType: string;\n readonly state: NonNullable<unknown>;\n readonly createdAtUtcIso: string | Date;\n readonly lastModifiedAtUtcIso: string | Date;\n readonly revisionsList: ReadonlyArray<{\n readonly scope: string;\n readonly revision: number;\n }>;\n }>;\n readonly context?:\n | {\n readonly parentId?: string | null | undefined;\n readonly childId?: string | null | undefined;\n }\n | null\n | undefined;\n };\n};\n\nexport type JobChangesSubscriptionVariables = Exact<{\n jobId: Scalars[\"String\"][\"input\"];\n}>;\n\nexport type JobChangesSubscription = {\n readonly jobChanges: {\n readonly jobId: string;\n readonly status: string;\n readonly result: NonNullable<unknown>;\n readonly error?: string | null | undefined;\n };\n};\n\nexport type PollSyncEnvelopesQueryVariables = Exact<{\n channelId: Scalars[\"String\"][\"input\"];\n outboxAck: Scalars[\"Int\"][\"input\"];\n outboxLatest: Scalars[\"Int\"][\"input\"];\n}>;\n\nexport type PollSyncEnvelopesQuery = {\n readonly pollSyncEnvelopes: {\n readonly ackOrdinal: number;\n readonly hasMore: boolean;\n readonly envelopes: ReadonlyArray<{\n readonly type: SyncEnvelopeType;\n readonly key?: string | null | undefined;\n readonly dependsOn?: ReadonlyArray<string> | null | undefined;\n readonly channelMeta: { readonly id: string };\n readonly operations?:\n | ReadonlyArray<{\n readonly operation: {\n readonly index: number;\n readonly timestampUtcMs: string;\n readonly hash: string;\n readonly skip: number;\n readonly error?: string | null | undefined;\n readonly id?: string | null | undefined;\n readonly action: {\n readonly id: string;\n readonly type: string;\n readonly timestampUtcMs: string;\n readonly input: NonNullable<unknown>;\n readonly scope: string;\n readonly context?:\n | {\n readonly signer?:\n | {\n readonly signatures: ReadonlyArray<string>;\n readonly user?:\n | {\n readonly address: string;\n readonly networkId: string;\n readonly chainId: number;\n }\n | null\n | undefined;\n readonly app?:\n | { readonly name: string; readonly key: string }\n | null\n | undefined;\n }\n | null\n | undefined;\n }\n | null\n | undefined;\n };\n };\n readonly context: {\n readonly documentId: string;\n readonly documentType: string;\n readonly scope: string;\n readonly branch: string;\n };\n }>\n | null\n | undefined;\n readonly cursor?:\n | {\n readonly remoteName: string;\n readonly cursorOrdinal: number;\n readonly lastSyncedAtUtcMs?: string | null | undefined;\n }\n | null\n | undefined;\n }>;\n readonly deadLetters: ReadonlyArray<{\n readonly documentId: string;\n readonly error: string;\n }>;\n };\n};\n\nexport type TouchChannelMutationVariables = Exact<{\n input: TouchChannelInput;\n}>;\n\nexport type TouchChannelMutation = {\n readonly touchChannel: {\n readonly success: boolean;\n readonly ackOrdinal: number;\n };\n};\n\nexport type PushSyncEnvelopesMutationVariables = Exact<{\n envelopes: ReadonlyArray<SyncEnvelopeInput>;\n}>;\n\nexport type PushSyncEnvelopesMutation = { readonly pushSyncEnvelopes: boolean };\n\nexport const PhDocumentFieldsFragmentDoc = gql`\n fragment PHDocumentFields on PHDocument {\n id\n slug\n name\n documentType\n state\n revisionsList {\n scope\n revision\n }\n createdAtUtcIso\n lastModifiedAtUtcIso\n }\n`;\nexport const GetDocumentModelsDocument = gql`\n query GetDocumentModels($namespace: String, $paging: PagingInput) {\n documentModels(namespace: $namespace, paging: $paging) {\n items {\n id\n name\n namespace\n version\n specification\n }\n totalCount\n hasNextPage\n hasPreviousPage\n cursor\n }\n }\n`;\nexport const GetDocumentDocument = gql`\n query GetDocument($identifier: String!, $view: ViewFilterInput) {\n document(identifier: $identifier, view: $view) {\n document {\n ...PHDocumentFields\n }\n childIds\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const GetDocumentWithOperationsDocument = gql`\n query GetDocumentWithOperations(\n $identifier: String!\n $view: ViewFilterInput\n $operationsFilter: DocumentOperationsFilterInput\n $operationsPaging: PagingInput\n ) {\n document(identifier: $identifier, view: $view) {\n document {\n ...PHDocumentFields\n operations(filter: $operationsFilter, paging: $operationsPaging) {\n items {\n index\n timestampUtcMs\n hash\n skip\n error\n id\n action {\n id\n type\n timestampUtcMs\n input\n scope\n context {\n signer {\n user {\n address\n networkId\n chainId\n }\n app {\n name\n key\n }\n signatures\n }\n }\n }\n }\n totalCount\n hasNextPage\n hasPreviousPage\n cursor\n }\n }\n childIds\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const GetDocumentOutgoingRelationshipsDocument = gql`\n query GetDocumentOutgoingRelationships(\n $sourceIdentifier: String!\n $relationshipType: String!\n $view: ViewFilterInput\n $paging: PagingInput\n ) {\n documentOutgoingRelationships(\n sourceIdentifier: $sourceIdentifier\n relationshipType: $relationshipType\n view: $view\n paging: $paging\n ) {\n items {\n ...PHDocumentFields\n }\n totalCount\n hasNextPage\n hasPreviousPage\n cursor\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const GetDocumentIncomingRelationshipsDocument = gql`\n query GetDocumentIncomingRelationships(\n $targetIdentifier: String!\n $relationshipType: String!\n $view: ViewFilterInput\n $paging: PagingInput\n ) {\n documentIncomingRelationships(\n targetIdentifier: $targetIdentifier\n relationshipType: $relationshipType\n view: $view\n paging: $paging\n ) {\n items {\n ...PHDocumentFields\n }\n totalCount\n hasNextPage\n hasPreviousPage\n cursor\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const FindDocumentsDocument = gql`\n query FindDocuments(\n $search: SearchFilterInput\n $view: ViewFilterInput\n $paging: PagingInput\n ) {\n findDocuments(search: $search, view: $view, paging: $paging) {\n items {\n ...PHDocumentFields\n }\n totalCount\n hasNextPage\n hasPreviousPage\n cursor\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const GetDocumentOperationsDocument = gql`\n query GetDocumentOperations(\n $filter: OperationsFilterInput!\n $paging: PagingInput\n ) {\n documentOperations(filter: $filter, paging: $paging) {\n items {\n index\n timestampUtcMs\n hash\n skip\n error\n id\n action {\n id\n type\n timestampUtcMs\n input\n scope\n context {\n signer {\n user {\n address\n networkId\n chainId\n }\n app {\n name\n key\n }\n signatures\n }\n }\n }\n }\n totalCount\n hasNextPage\n hasPreviousPage\n cursor\n }\n }\n`;\nexport const GetJobStatusDocument = gql`\n query GetJobStatus($jobId: String!) {\n jobStatus(jobId: $jobId) {\n id\n status\n result\n error\n createdAt\n completedAt\n }\n }\n`;\nexport const CreateDocumentDocument = gql`\n mutation CreateDocument($document: JSONObject!, $parentIdentifier: String) {\n createDocument(document: $document, parentIdentifier: $parentIdentifier) {\n ...PHDocumentFields\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const CreateEmptyDocumentDocument = gql`\n mutation CreateEmptyDocument(\n $documentType: String!\n $parentIdentifier: String\n ) {\n createEmptyDocument(\n documentType: $documentType\n parentIdentifier: $parentIdentifier\n ) {\n ...PHDocumentFields\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const MutateDocumentDocument = gql`\n mutation MutateDocument(\n $documentIdentifier: String!\n $actions: [JSONObject!]!\n $view: ViewFilterInput\n ) {\n mutateDocument(\n documentIdentifier: $documentIdentifier\n actions: $actions\n view: $view\n ) {\n ...PHDocumentFields\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const MutateDocumentAsyncDocument = gql`\n mutation MutateDocumentAsync(\n $documentIdentifier: String!\n $actions: [JSONObject!]!\n $view: ViewFilterInput\n ) {\n mutateDocumentAsync(\n documentIdentifier: $documentIdentifier\n actions: $actions\n view: $view\n )\n }\n`;\nexport const RenameDocumentDocument = gql`\n mutation RenameDocument(\n $documentIdentifier: String!\n $name: String!\n $branch: String\n ) {\n renameDocument(\n documentIdentifier: $documentIdentifier\n name: $name\n branch: $branch\n ) {\n ...PHDocumentFields\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const SetPreferredEditorDocument = gql`\n mutation SetPreferredEditor(\n $documentIdentifier: String!\n $preferredEditor: String\n $branch: String\n ) {\n setPreferredEditor(\n documentIdentifier: $documentIdentifier\n preferredEditor: $preferredEditor\n branch: $branch\n ) {\n ...PHDocumentFields\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const AddRelationshipDocument = gql`\n mutation AddRelationship(\n $sourceIdentifier: String!\n $targetIdentifier: String!\n $relationshipType: String!\n $branch: String\n ) {\n addRelationship(\n sourceIdentifier: $sourceIdentifier\n targetIdentifier: $targetIdentifier\n relationshipType: $relationshipType\n branch: $branch\n ) {\n ...PHDocumentFields\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const RemoveRelationshipDocument = gql`\n mutation RemoveRelationship(\n $sourceIdentifier: String!\n $targetIdentifier: String!\n $relationshipType: String!\n $branch: String\n ) {\n removeRelationship(\n sourceIdentifier: $sourceIdentifier\n targetIdentifier: $targetIdentifier\n relationshipType: $relationshipType\n branch: $branch\n ) {\n ...PHDocumentFields\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const MoveRelationshipDocument = gql`\n mutation MoveRelationship(\n $sourceParentIdentifier: String!\n $targetParentIdentifier: String!\n $targetIdentifier: String!\n $relationshipType: String!\n $branch: String\n ) {\n moveRelationship(\n sourceParentIdentifier: $sourceParentIdentifier\n targetParentIdentifier: $targetParentIdentifier\n targetIdentifier: $targetIdentifier\n relationshipType: $relationshipType\n branch: $branch\n ) {\n source {\n ...PHDocumentFields\n }\n target {\n ...PHDocumentFields\n }\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const DeleteDocumentDocument = gql`\n mutation DeleteDocument($identifier: String!, $propagate: PropagationMode) {\n deleteDocument(identifier: $identifier, propagate: $propagate)\n }\n`;\nexport const DeleteDocumentsDocument = gql`\n mutation DeleteDocuments(\n $identifiers: [String!]!\n $propagate: PropagationMode\n ) {\n deleteDocuments(identifiers: $identifiers, propagate: $propagate)\n }\n`;\nexport const DocumentChangesDocument = gql`\n subscription DocumentChanges(\n $search: SearchFilterInput\n $view: ViewFilterInput\n ) {\n documentChanges(search: $search, view: $view) {\n type\n documents {\n ...PHDocumentFields\n }\n context {\n parentId\n childId\n }\n }\n }\n ${PhDocumentFieldsFragmentDoc}\n`;\nexport const JobChangesDocument = gql`\n subscription JobChanges($jobId: String!) {\n jobChanges(jobId: $jobId) {\n jobId\n status\n result\n error\n }\n }\n`;\nexport const PollSyncEnvelopesDocument = gql`\n query PollSyncEnvelopes(\n $channelId: String!\n $outboxAck: Int!\n $outboxLatest: Int!\n ) {\n pollSyncEnvelopes(\n channelId: $channelId\n outboxAck: $outboxAck\n outboxLatest: $outboxLatest\n ) {\n envelopes {\n type\n channelMeta {\n id\n }\n operations {\n operation {\n index\n timestampUtcMs\n hash\n skip\n error\n id\n action {\n id\n type\n timestampUtcMs\n input\n scope\n context {\n signer {\n user {\n address\n networkId\n chainId\n }\n app {\n name\n key\n }\n signatures\n }\n }\n }\n }\n context {\n documentId\n documentType\n scope\n branch\n }\n }\n cursor {\n remoteName\n cursorOrdinal\n lastSyncedAtUtcMs\n }\n key\n dependsOn\n }\n ackOrdinal\n deadLetters {\n documentId\n error\n }\n hasMore\n }\n }\n`;\nexport const TouchChannelDocument = gql`\n mutation TouchChannel($input: TouchChannelInput!) {\n touchChannel(input: $input) {\n success\n ackOrdinal\n }\n }\n`;\nexport const PushSyncEnvelopesDocument = gql`\n mutation PushSyncEnvelopes($envelopes: [SyncEnvelopeInput!]!) {\n pushSyncEnvelopes(envelopes: $envelopes)\n }\n`;\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>;\n\nconst defaultWrapper: SdkFunctionWrapper = (\n action,\n _operationName,\n _operationType,\n _variables,\n) => action();\n\nexport function getSdk(\n client: GraphQLClient,\n withWrapper: SdkFunctionWrapper = defaultWrapper,\n) {\n return {\n GetDocumentModels(\n variables?: GetDocumentModelsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<GetDocumentModelsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<GetDocumentModelsQuery>({\n document: GetDocumentModelsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"GetDocumentModels\",\n \"query\",\n variables,\n );\n },\n GetDocument(\n variables: GetDocumentQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<GetDocumentQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<GetDocumentQuery>({\n document: GetDocumentDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"GetDocument\",\n \"query\",\n variables,\n );\n },\n GetDocumentWithOperations(\n variables: GetDocumentWithOperationsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<GetDocumentWithOperationsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<GetDocumentWithOperationsQuery>({\n document: GetDocumentWithOperationsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"GetDocumentWithOperations\",\n \"query\",\n variables,\n );\n },\n GetDocumentOutgoingRelationships(\n variables: GetDocumentOutgoingRelationshipsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<GetDocumentOutgoingRelationshipsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<GetDocumentOutgoingRelationshipsQuery>({\n document: GetDocumentOutgoingRelationshipsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"GetDocumentOutgoingRelationships\",\n \"query\",\n variables,\n );\n },\n GetDocumentIncomingRelationships(\n variables: GetDocumentIncomingRelationshipsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<GetDocumentIncomingRelationshipsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<GetDocumentIncomingRelationshipsQuery>({\n document: GetDocumentIncomingRelationshipsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"GetDocumentIncomingRelationships\",\n \"query\",\n variables,\n );\n },\n FindDocuments(\n variables?: FindDocumentsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<FindDocumentsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<FindDocumentsQuery>({\n document: FindDocumentsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"FindDocuments\",\n \"query\",\n variables,\n );\n },\n GetDocumentOperations(\n variables: GetDocumentOperationsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<GetDocumentOperationsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<GetDocumentOperationsQuery>({\n document: GetDocumentOperationsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"GetDocumentOperations\",\n \"query\",\n variables,\n );\n },\n GetJobStatus(\n variables: GetJobStatusQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<GetJobStatusQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<GetJobStatusQuery>({\n document: GetJobStatusDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"GetJobStatus\",\n \"query\",\n variables,\n );\n },\n CreateDocument(\n variables: CreateDocumentMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<CreateDocumentMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateDocumentMutation>({\n document: CreateDocumentDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"CreateDocument\",\n \"mutation\",\n variables,\n );\n },\n CreateEmptyDocument(\n variables: CreateEmptyDocumentMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<CreateEmptyDocumentMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateEmptyDocumentMutation>({\n document: CreateEmptyDocumentDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"CreateEmptyDocument\",\n \"mutation\",\n variables,\n );\n },\n MutateDocument(\n variables: MutateDocumentMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<MutateDocumentMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<MutateDocumentMutation>({\n document: MutateDocumentDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"MutateDocument\",\n \"mutation\",\n variables,\n );\n },\n MutateDocumentAsync(\n variables: MutateDocumentAsyncMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<MutateDocumentAsyncMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<MutateDocumentAsyncMutation>({\n document: MutateDocumentAsyncDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"MutateDocumentAsync\",\n \"mutation\",\n variables,\n );\n },\n RenameDocument(\n variables: RenameDocumentMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<RenameDocumentMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RenameDocumentMutation>({\n document: RenameDocumentDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"RenameDocument\",\n \"mutation\",\n variables,\n );\n },\n SetPreferredEditor(\n variables: SetPreferredEditorMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<SetPreferredEditorMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<SetPreferredEditorMutation>({\n document: SetPreferredEditorDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"SetPreferredEditor\",\n \"mutation\",\n variables,\n );\n },\n AddRelationship(\n variables: AddRelationshipMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<AddRelationshipMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<AddRelationshipMutation>({\n document: AddRelationshipDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"AddRelationship\",\n \"mutation\",\n variables,\n );\n },\n RemoveRelationship(\n variables: RemoveRelationshipMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<RemoveRelationshipMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RemoveRelationshipMutation>({\n document: RemoveRelationshipDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"RemoveRelationship\",\n \"mutation\",\n variables,\n );\n },\n MoveRelationship(\n variables: MoveRelationshipMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<MoveRelationshipMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<MoveRelationshipMutation>({\n document: MoveRelationshipDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"MoveRelationship\",\n \"mutation\",\n variables,\n );\n },\n DeleteDocument(\n variables: DeleteDocumentMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<DeleteDocumentMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<DeleteDocumentMutation>({\n document: DeleteDocumentDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"DeleteDocument\",\n \"mutation\",\n variables,\n );\n },\n DeleteDocuments(\n variables: DeleteDocumentsMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<DeleteDocumentsMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<DeleteDocumentsMutation>({\n document: DeleteDocumentsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"DeleteDocuments\",\n \"mutation\",\n variables,\n );\n },\n DocumentChanges(\n variables?: DocumentChangesSubscriptionVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<DocumentChangesSubscription> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<DocumentChangesSubscription>({\n document: DocumentChangesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"DocumentChanges\",\n \"subscription\",\n variables,\n );\n },\n JobChanges(\n variables: JobChangesSubscriptionVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<JobChangesSubscription> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<JobChangesSubscription>({\n document: JobChangesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"JobChanges\",\n \"subscription\",\n variables,\n );\n },\n PollSyncEnvelopes(\n variables: PollSyncEnvelopesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<PollSyncEnvelopesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<PollSyncEnvelopesQuery>({\n document: PollSyncEnvelopesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"PollSyncEnvelopes\",\n \"query\",\n variables,\n );\n },\n TouchChannel(\n variables: TouchChannelMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<TouchChannelMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<TouchChannelMutation>({\n document: TouchChannelDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"TouchChannel\",\n \"mutation\",\n variables,\n );\n },\n PushSyncEnvelopes(\n variables: PushSyncEnvelopesMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit[\"signal\"],\n ): Promise<PushSyncEnvelopesMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<PushSyncEnvelopesMutation>({\n document: PushSyncEnvelopesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n \"PushSyncEnvelopes\",\n \"mutation\",\n variables,\n );\n },\n };\n}\nexport type Sdk = ReturnType<typeof getSdk>;\n","import {\n GetDocumentDocument,\n GetDocumentOperationsDocument,\n type OperationsFilterInput,\n type PagingInput,\n type ViewFilterInput,\n} from \"./gen/schema.js\";\n\n/** Get the source string from a GraphQL document (string or DocumentNode). */\nfunction getDocumentSource(doc: unknown): string {\n return typeof doc === \"string\"\n ? doc\n : ((doc as { loc?: { source: { body: string } } }).loc?.source.body ?? \"\");\n}\n\n/**\n * Extract the inner selection set of a named field from a GraphQL document source.\n * Returns the `{ ... }` block including braces.\n */\nfunction extractSelectionSet(\n doc: unknown,\n fieldName: string,\n fallback: string,\n): string {\n const source = getDocumentSource(doc);\n\n const regex = new RegExp(\n `${fieldName}\\\\([^)]*\\\\)\\\\s*(\\\\{[\\\\s\\\\S]*\\\\})\\\\s*\\\\}`,\n );\n return regex.exec(source)?.[1] ?? fallback;\n}\n\n/**\n * Extract the query body and any fragment definitions from a GraphQL document.\n * Returns { body, fragments } where body is the content inside the query `{ ... }`\n * and fragments are any trailing fragment definitions.\n */\nfunction extractQueryParts(\n doc: unknown,\n fallbackBody: string,\n): { body: string; fragments: string } {\n const source = getDocumentSource(doc);\n\n // Match the query body: everything between the first `{` and its closing `}`\n // before any fragment definitions\n const queryMatch = /^[^{]*\\{([\\s\\S]*?)\\}\\s*(fragment[\\s\\S]*)?$/.exec(source);\n const body = queryMatch?.[1]?.trim() ?? fallbackBody;\n const fragments = queryMatch?.[2]?.trim() ?? \"\";\n\n return { body, fragments };\n}\n\nconst operationsSelectionSet = extractSelectionSet(\n GetDocumentOperationsDocument,\n \"documentOperations\",\n \"{ items { index } }\",\n);\n\nconst documentParts = extractQueryParts(\n GetDocumentDocument,\n \"document(identifier: $identifier) { document { id name documentType state revisionsList { scope revision } createdAtUtcIso lastModifiedAtUtcIso } childIds }\",\n);\n\n/**\n * Build a single GraphQL query that fetches documentOperations for\n * multiple filters using aliases. Each filter gets its own alias\n * (`scope_0`, `scope_1`, …) so all scopes are fetched in one HTTP request.\n */\nexport function buildBatchOperationsQuery(\n filters: OperationsFilterInput[],\n pagings: (PagingInput | undefined | null)[],\n) {\n const varDefs = filters\n .flatMap((_, i) => [\n `$filter_${i}: OperationsFilterInput!`,\n `$paging_${i}: PagingInput`,\n ])\n .join(\", \");\n\n const fields = filters\n .map(\n (_, i) =>\n `scope_${i}: documentOperations(filter: $filter_${i}, paging: $paging_${i}) ${operationsSelectionSet}`,\n )\n .join(\"\\n \");\n\n const query = `query BatchGetDocumentOperations(${varDefs}) {\n ${fields}\n }`;\n\n const variables: Record<string, unknown> = {};\n for (let i = 0; i < filters.length; i++) {\n variables[`filter_${i}`] = filters[i];\n variables[`paging_${i}`] = pagings[i] ?? null;\n }\n\n return { query, variables };\n}\n\n/**\n * Build a single GraphQL query that fetches a document AND\n * documentOperations for multiple filters, all in one HTTP request.\n */\nexport function buildBatchDocumentWithOperationsQuery(\n identifier: string,\n view: ViewFilterInput | undefined,\n filters: OperationsFilterInput[],\n pagings: (PagingInput | undefined)[],\n) {\n const docVarDefs = \"$identifier: String!, $view: ViewFilterInput\";\n const opsVarDefs = filters\n .flatMap((_, i) => [\n `$filter_${i}: OperationsFilterInput!`,\n `$paging_${i}: PagingInput`,\n ])\n .join(\", \");\n\n const opsFields = filters\n .map(\n (_, i) =>\n `scope_${i}: documentOperations(filter: $filter_${i}, paging: $paging_${i}) ${operationsSelectionSet}`,\n )\n .join(\"\\n \");\n\n const query = `query BatchGetDocumentWithOperations(${docVarDefs}, ${opsVarDefs}) {\n ${documentParts.body}\n ${opsFields}\n }\n ${documentParts.fragments}`;\n\n const variables: Record<string, unknown> = {\n identifier,\n view: view ?? null,\n };\n for (let i = 0; i < filters.length; i++) {\n variables[`filter_${i}`] = filters[i];\n variables[`paging_${i}`] = pagings[i] ?? null;\n }\n\n return { query, variables };\n}\n","import { GraphQLClient } from \"graphql-request\";\nimport {\n buildBatchDocumentWithOperationsQuery,\n buildBatchOperationsQuery,\n} from \"./batch-queries.js\";\nimport {\n getSdk,\n type GetDocumentOperationsQuery,\n type GetDocumentQuery,\n type OperationsFilterInput,\n type PagingInput,\n type SdkFunctionWrapper,\n type ViewFilterInput,\n} from \"./gen/schema.js\";\nimport type { ReactorGraphQLClient } from \"./types.js\";\n\nexport type { ReactorGraphQLClient } from \"./types.js\";\n\ntype DocumentOperationsPage = GetDocumentOperationsQuery[\"documentOperations\"];\n\ntype DocumentResult = NonNullable<GetDocumentQuery[\"document\"]>;\n\n/**\n * Creates a GraphQL client for the Reactor Subgraph API.\n * @param urlOrGQLClient The URL of the GraphQL API or a GraphQL client instance.\n * @param middleware An optional middleware function to wrap the GraphQL client calls.\n * @returns A GraphQL client for the Reactor Subgraph API.\n */\nexport function createClient(\n urlOrGQLClient: string | GraphQLClient,\n middleware?: SdkFunctionWrapper,\n): ReactorGraphQLClient {\n const client =\n typeof urlOrGQLClient === \"string\"\n ? new GraphQLClient(urlOrGQLClient)\n : urlOrGQLClient;\n\n // The hand-written batch methods below call `client.request` directly,\n // bypassing the middleware that `getSdk` applies. Wrap them in the same\n // shape so auth/logging/tracing middleware runs for batch calls too.\n const runWithMiddleware = async <T>(\n operationName: string,\n run: (requestHeaders?: Record<string, string>) => Promise<T>,\n ): Promise<T> => {\n if (!middleware) return run();\n return middleware(run, operationName, \"query\");\n };\n\n return {\n ...getSdk(client, middleware),\n\n /**\n * Fetch documentOperations for multiple filters in a single HTTP request\n * using GraphQL aliases. Each filter has its own paging parameters.\n * Returns one result page per filter, in order.\n */\n async BatchGetDocumentOperations(\n filters: OperationsFilterInput[],\n pagings: (PagingInput | undefined | null)[],\n ): Promise<DocumentOperationsPage[]> {\n const { query, variables } = buildBatchOperationsQuery(filters, pagings);\n const data = await runWithMiddleware(\n \"BatchGetDocumentOperations\",\n (requestHeaders) =>\n client.request<Record<string, DocumentOperationsPage>>(\n query,\n variables,\n requestHeaders,\n ),\n );\n return filters.map((_, i) => data[`scope_${i}`]);\n },\n\n /**\n * Fetch a document AND documentOperations for multiple filters\n * in a single HTTP request. Combines GetDocument + BatchGetDocumentOperations.\n */\n async BatchGetDocumentWithOperations(\n identifier: string,\n view: ViewFilterInput | undefined,\n filters: OperationsFilterInput[],\n pagings: (PagingInput | undefined)[],\n ): Promise<{\n document: DocumentResult | null;\n operations: DocumentOperationsPage[];\n }> {\n const { query, variables } = buildBatchDocumentWithOperationsQuery(\n identifier,\n view,\n filters,\n pagings,\n );\n const data = await runWithMiddleware(\n \"BatchGetDocumentWithOperations\",\n (requestHeaders) =>\n client.request<\n Record<string, unknown> & { document?: DocumentResult }\n >(query, variables, requestHeaders),\n );\n return {\n document: data.document ?? null,\n operations: filters.map(\n (_, i) => data[`scope_${i}`] as DocumentOperationsPage,\n ),\n };\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { t as makePHEventFunctions } from "./make-ph-event-functions-
|
|
1
|
+
import { t as makePHEventFunctions } from "./make-ph-event-functions-BHoLPif5.js";
|
|
2
2
|
import { logger } from "document-model";
|
|
3
3
|
import { buildSignedAction } from "@powerhousedao/shared/document-model";
|
|
4
4
|
import { DocumentChangeType } from "@powerhousedao/reactor";
|
|
5
|
+
import { use, useCallback, useSyncExternalStore } from "react";
|
|
5
6
|
import { BrowserAnalyticsStore } from "@powerhousedao/analytics-engine-browser";
|
|
6
7
|
import { AnalyticsQueryEngine } from "@powerhousedao/analytics-engine-core";
|
|
7
|
-
import { use, useCallback, useSyncExternalStore } from "react";
|
|
8
8
|
//#region src/actions/queue.ts
|
|
9
9
|
async function queueActions(document, actionOrActions) {
|
|
10
10
|
if (!document) throw new Error("No document provided");
|
|
@@ -484,4 +484,4 @@ function useDocumentsByIds(ids) {
|
|
|
484
484
|
//#endregion
|
|
485
485
|
export { queueOperations as C, queueActions as S, getAnalyticsStore as _, setDocumentCache as a, setGlobal as b, useDocumentSafe as c, useGetDocumentAsync as d, useGetDocuments as f, createAnalyticsStore as g, readPromiseState as h, addDocumentCacheEventHandler as i, useDocuments as l, addPromiseState as m, useDocumentsByIds as n, useDocument as o, DocumentCache as p, useDispatch as r, useDocumentCache as s, useDocumentById as t, useGetDocument as u, clearGlobal as v, uploadOperations as w, dispatchActions as x, getGlobal as y };
|
|
486
486
|
|
|
487
|
-
//# sourceMappingURL=document-by-id-
|
|
487
|
+
//# sourceMappingURL=document-by-id-dLYFX-xz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-by-id-BrIy0iHX.js","names":[],"sources":["../src/actions/queue.ts","../src/actions/sign.ts","../src/actions/dispatch.ts","../src/global/core.ts","../src/analytics/store.ts","../src/document-cache.ts","../src/hooks/document-cache.ts","../src/hooks/dispatch.ts","../src/hooks/document-by-id.ts"],"sourcesContent":["import type { FileUploadProgressCallback } from \"@powerhousedao/reactor-browser\";\nimport type {\n Action,\n DocumentOperations,\n Operation,\n PHDocument,\n} from \"@powerhousedao/shared/document-model\";\nimport { logger } from \"document-model\";\n\nexport async function queueActions(\n document: PHDocument | undefined,\n actionOrActions: Action[] | Action | undefined,\n) {\n if (!document) {\n throw new Error(\"No document provided\");\n }\n if (!actionOrActions) {\n throw new Error(\"No actions provided\");\n }\n const actions = Array.isArray(actionOrActions)\n ? actionOrActions\n : [actionOrActions];\n\n if (actions.length === 0) {\n throw new Error(\"No actions provided\");\n }\n\n const reactorClient = window.ph?.reactorClient;\n if (!reactorClient) {\n throw new Error(\"ReactorClient not initialized\");\n }\n\n return await reactorClient.execute(document.header.id, \"main\", actions);\n}\n\nexport async function queueOperations(\n documentId: string,\n operationOrOperations: Operation[] | Operation | undefined,\n) {\n if (!documentId) {\n throw new Error(\"No documentId provided\");\n }\n if (!operationOrOperations) {\n throw new Error(\"No operations provided\");\n }\n const operations = Array.isArray(operationOrOperations)\n ? operationOrOperations\n : [operationOrOperations];\n\n if (operations.length === 0) {\n throw new Error(\"No operations provided\");\n }\n\n const reactorClient = window.ph?.reactorClient;\n if (!reactorClient) {\n throw new Error(\"ReactorClient not initialized\");\n }\n\n const actions = operations.map((op) => op.action);\n return await reactorClient.execute(documentId, \"main\", actions);\n}\n\nexport function deduplicateOperations(\n existingOperations: Record<string, Operation[]>,\n operationsToDeduplicate: Operation[],\n) {\n // make a set of all the operation indices for each scope to avoid duplicates\n const operationIndicesByScope = {} as Record<string, Set<number>>;\n for (const scope of Object.keys(existingOperations)) {\n operationIndicesByScope[scope] = new Set(\n existingOperations[scope].map((op) => op.index),\n );\n }\n\n const newOperations: Operation[] = [];\n\n for (const operation of operationsToDeduplicate) {\n const scope = operation.action.scope;\n const index = operation.index;\n if (operationIndicesByScope[scope].has(index)) {\n const duplicatedExistingOperation = existingOperations[scope].find(\n (op) => op.index === index,\n );\n const duplicatedNewOperation = newOperations.find(\n (op) => op.index === index,\n );\n console.warn(\"skipping duplicate operation\");\n if (duplicatedExistingOperation) {\n console.warn(\n \"duplicate existing operation\",\n duplicatedExistingOperation,\n );\n }\n if (duplicatedNewOperation) {\n console.warn(\"duplicate new operation\", duplicatedNewOperation);\n }\n continue;\n }\n newOperations.push(operation);\n operationIndicesByScope[scope].add(index);\n }\n\n const uniqueOperationIds = new Set<string>();\n const operationsDedupedById: Operation[] = [];\n\n for (const [scope, operations] of Object.entries(existingOperations)) {\n for (const operation of operations) {\n const id = operation.id;\n if (!id) {\n console.warn(\"skipping operation with no id\", operation);\n continue;\n }\n if (uniqueOperationIds.has(id)) {\n console.warn(\n \"skipping existing operation with duplicate id in scope\",\n scope,\n operation,\n );\n continue;\n }\n uniqueOperationIds.add(id);\n }\n }\n\n for (const operation of newOperations) {\n const id = operation.id;\n if (!id) {\n console.warn(\"skipping operation with no id\", operation);\n continue;\n }\n if (uniqueOperationIds.has(id)) {\n console.warn(\n \"skipping new operation with duplicate id in scope\",\n operation.action.scope,\n operation,\n );\n continue;\n }\n uniqueOperationIds.add(id);\n operationsDedupedById.push(operation);\n }\n return operationsDedupedById;\n}\n\nexport async function uploadOperations(\n documentId: string,\n allOperations: DocumentOperations,\n pushOperations: (\n documentId: string,\n operations: Operation[],\n ) => Promise<PHDocument | undefined>,\n options?: {\n operationsLimit?: number;\n onProgress?: FileUploadProgressCallback;\n },\n) {\n const operationsLimit = options?.operationsLimit || 50;\n const onProgress = options?.onProgress;\n\n logger.verbose(\n `uploadDocumentOperations(documentId:${documentId}, ops: ${Object.keys(allOperations).join(\",\")}, limit:${operationsLimit})`,\n );\n\n // Calculate total operations for progress tracking\n const allOperationsArray = Object.values(allOperations).filter(\n (ops): ops is Operation[] => ops !== undefined,\n );\n const totalOperations = allOperationsArray.reduce(\n (total, operations) => total + operations.length,\n 0,\n );\n let uploadedOperations = 0;\n\n for (const operations of allOperationsArray) {\n for (let i = 0; i < operations.length; i += operationsLimit) {\n logger.verbose(\n `uploadDocumentOperations:for(i:${i}, ops:${operations.length}, limit:${operationsLimit}): START`,\n );\n const chunk = operations.slice(i, i + operationsLimit);\n const operation = chunk.at(-1);\n if (!operation) {\n break;\n }\n const scope = operation.action.scope;\n\n await pushOperations(documentId, chunk);\n\n uploadedOperations += chunk.length;\n\n // Report progress\n if (onProgress) {\n const progress = Math.round(\n (uploadedOperations / totalOperations) * 100,\n );\n onProgress({\n stage: \"uploading\",\n progress,\n totalOperations,\n uploadedOperations,\n });\n }\n\n logger.verbose(\n `uploadDocumentOperations:for:waitForUpdate(${documentId}:${scope} rev ${operation.index}): NEXT`,\n );\n }\n }\n\n logger.verbose(\n `uploadDocumentOperations:for:waitForUpdate(${documentId}): END`,\n );\n}\n","import type { Action, PHDocument } from \"@powerhousedao/shared/document-model\";\nimport {\n buildSignedAction,\n type ActionSigner,\n} from \"@powerhousedao/shared/document-model\";\nimport { logger } from \"document-model\";\n\nexport async function signAction(action: Action, document: PHDocument) {\n const reactor = window.ph?.reactorClient;\n if (!reactor) return action;\n\n const documentModelModule = await reactor.getDocumentModelModule(\n document.header.documentType,\n );\n const reducer = documentModelModule.reducer;\n const renown = window.ph?.renown;\n if (!renown?.user) return action;\n if (!action.context?.signer) return action;\n\n const actionSigner = action.context.signer;\n const unsafeSignedAction = await buildSignedAction(\n action,\n reducer,\n document,\n actionSigner,\n renown.crypto.sign,\n );\n\n // TODO: this is super dangerous and is caused by the `buildSignedAction` function returning an `Operation` instead of an `Action`\n return unsafeSignedAction as unknown as Action;\n}\n\nexport function addActionContext(action: Action) {\n const renown = window.ph?.renown;\n if (!renown?.user) return action;\n\n const signer: ActionSigner = {\n app: {\n name: \"Connect\",\n key: renown.did,\n },\n user: {\n address: renown.user.address,\n networkId: renown.user.networkId,\n chainId: renown.user.chainId,\n },\n signatures: [],\n };\n\n return {\n context: { signer },\n ...action,\n };\n}\n\nasync function makeSignedActionWithContext(\n action: Action | undefined,\n document: PHDocument | undefined,\n) {\n if (!action) {\n logger.error(\"No action found\");\n return;\n }\n if (!document) {\n logger.error(\"No document found\");\n return;\n }\n const signedAction = await signAction(action, document);\n const signedActionWithContext = addActionContext(signedAction);\n return signedActionWithContext;\n}\n\nexport async function makeSignedActionsWithContext(\n actionOrActions: Action[] | Action | undefined,\n document: PHDocument | undefined,\n) {\n if (!actionOrActions) {\n logger.error(\"No actions found\");\n return;\n }\n const actions = Array.isArray(actionOrActions)\n ? actionOrActions\n : [actionOrActions];\n\n const signedActionsWithContext = await Promise.all(\n actions.map((action) => makeSignedActionWithContext(action, document)),\n );\n return signedActionsWithContext.filter((a) => a !== undefined);\n}\n","import type { Action, PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { logger } from \"document-model\";\nimport { queueActions } from \"./queue.js\";\nimport { makeSignedActionsWithContext } from \"./sign.js\";\n\nasync function getDocument(\n documentId: string,\n): Promise<PHDocument | undefined> {\n try {\n return await window.ph?.reactorClient?.get(documentId);\n } catch (error) {\n logger.debug(`Failed to get document with id ${documentId}:`, error);\n return undefined;\n }\n}\n\nfunction getActionErrors(result: PHDocument, actions: Action[]) {\n return actions.reduce((errors, a) => {\n const scopeOperations = result.operations[a.scope];\n if (!scopeOperations) {\n return errors;\n }\n const op = scopeOperations.findLast((op) => op.action.id === a.id);\n\n if (op?.error) {\n errors.push(new Error(op.error));\n }\n return errors;\n }, new Array<Error>());\n}\n\n/**\n * Dispatches actions to a document.\n * @param actionOrActions - The action or actions to dispatch.\n * @param document - The document to dispatch actions to.\n * @param onErrors - Callback invoked with any errors that occurred during action execution.\n * @returns The updated document, or undefined if the dispatch failed.\n */\nexport async function dispatchActions<TDocument = PHDocument, TAction = Action>(\n actionOrActions: TAction[] | TAction | undefined,\n document: TDocument | undefined,\n onErrors?: (errors: Error[]) => void,\n onSuccess?: (result: PHDocument) => void,\n): Promise<PHDocument | undefined>;\n/**\n * Dispatches actions to a document.\n * @param actionOrActions - The action or actions to dispatch.\n * @param documentId - The ID of the document to dispatch actions to.\n * @param onErrors - Callback invoked with any errors that occurred during action execution.\n * @returns The updated document, or undefined if the dispatch failed.\n */\nexport async function dispatchActions(\n actionOrActions: Action[] | Action | undefined,\n documentId: string,\n onErrors?: (errors: Error[]) => void,\n onSuccess?: (result: PHDocument) => void,\n): Promise<PHDocument | undefined>;\nexport async function dispatchActions(\n actionOrActions: Action[] | Action | undefined,\n documentOrDocumentId: PHDocument | string | undefined,\n onErrors?: (errors: Error[]) => void,\n onSuccess?: (result: PHDocument) => void,\n): Promise<PHDocument | undefined> {\n const document =\n typeof documentOrDocumentId === \"string\"\n ? await getDocument(documentOrDocumentId)\n : documentOrDocumentId;\n\n if (!document) {\n logger.error(\n `Document with id ${JSON.stringify(documentOrDocumentId)} not found`,\n );\n return;\n }\n\n const signedActionsWithContext = await makeSignedActionsWithContext(\n actionOrActions,\n document,\n );\n if (!signedActionsWithContext) {\n logger.error(\"No signed actions with context found\");\n return;\n }\n const result = await queueActions(document, signedActionsWithContext);\n\n if (onErrors && result) {\n const errors = getActionErrors(result, signedActionsWithContext);\n if (errors.length) {\n onErrors(errors);\n }\n }\n\n if (onSuccess && result) {\n onSuccess(result);\n }\n\n return result;\n}\n","import type { PowerhouseGlobal } from \"./types.js\";\n\nexport function getGlobal<K extends keyof PowerhouseGlobal>(\n namespace: K,\n): PowerhouseGlobal[K] | undefined {\n if (typeof window === \"undefined\") return undefined;\n return window.powerhouse?.[namespace];\n}\n\nexport function setGlobal<K extends keyof PowerhouseGlobal>(\n namespace: K,\n value: PowerhouseGlobal[K],\n): void {\n if (typeof window === \"undefined\") return;\n window.powerhouse = window.powerhouse || {};\n window.powerhouse[namespace] = value;\n}\n\nexport function clearGlobal(namespace: keyof PowerhouseGlobal): void {\n if (typeof window === \"undefined\") return;\n\n if (window.powerhouse?.[namespace]) {\n delete window.powerhouse[namespace];\n if (Object.keys(window.powerhouse).length === 0) {\n delete window.powerhouse;\n }\n }\n}\n","import type { BrowserAnalyticsStoreOptions } from \"@powerhousedao/analytics-engine-browser\";\nimport { BrowserAnalyticsStore } from \"@powerhousedao/analytics-engine-browser\";\nimport type { IAnalyticsStore } from \"@powerhousedao/analytics-engine-core\";\nimport { AnalyticsQueryEngine } from \"@powerhousedao/analytics-engine-core\";\nimport { getGlobal } from \"../global/core.js\";\n\nexport type CreateStoreOptions = BrowserAnalyticsStoreOptions;\n\nexport async function createAnalyticsStore(options: CreateStoreOptions) {\n const store = new BrowserAnalyticsStore(options);\n await store.init();\n\n const engine = new AnalyticsQueryEngine(store);\n return {\n store,\n engine,\n options,\n };\n}\n\nexport async function getAnalyticsStore(): Promise<IAnalyticsStore | null> {\n const globalAnalytics = await getGlobal(\"analytics\");\n\n return globalAnalytics?.store ?? null;\n}\n","import {\n DocumentChangeType,\n type DocumentChangeEvent,\n type IReactorClient,\n} from \"@powerhousedao/reactor\";\nimport type { PHDocument } from \"@powerhousedao/shared/document-model\";\nimport type {\n FulfilledPromise,\n IDocumentCache,\n PromiseState,\n PromiseWithState,\n RejectedPromise,\n} from \"./types/documents.js\";\n\nexport function addPromiseState<T>(promise: Promise<T>): PromiseWithState<T> {\n if (\"status\" in promise) {\n return promise as PromiseWithState<T>;\n }\n\n const promiseWithState = promise as PromiseWithState<T>;\n promiseWithState.status = \"pending\";\n promiseWithState.then(\n (value) => {\n promiseWithState.status = \"fulfilled\";\n (promiseWithState as FulfilledPromise<T>).value = value;\n },\n (reason) => {\n promiseWithState.status = \"rejected\";\n (promiseWithState as RejectedPromise<T>).reason = reason;\n // Re-throw to preserve unhandled rejection behavior\n // This allows React's error boundaries to catch the error\n throw reason;\n },\n );\n\n return promiseWithState;\n}\n\nexport function readPromiseState<T>(\n promise: Promise<T> | PromiseWithState<T>,\n): PromiseState<T> {\n return \"status\" in promise ? promise : { status: \"pending\" };\n}\n\n/**\n * Resolves an array of document promises using `Promise.allSettled`,\n * returning only the fulfilled values. A single missing/rejected\n * document does not poison the whole batch. Rejected entries are\n * logged at warn level so developers can see dangling references.\n */\nfunction fulfilledOnly(promises: Promise<PHDocument>[]): Promise<PHDocument[]> {\n return Promise.allSettled(promises).then((results) => {\n const documents: PHDocument[] = [];\n for (const result of results) {\n if (result.status === \"fulfilled\") {\n documents.push(result.value);\n } else {\n console.warn(\n \"[DocumentCache] Skipped unavailable document:\",\n result.reason,\n );\n }\n }\n return documents;\n });\n}\n\n/**\n * Document cache implementation that uses the new ReactorClient API.\n *\n * This cache subscribes to document change events via IReactorClient.subscribe()\n * and automatically updates the cache when documents are created, updated, or deleted.\n */\nexport class DocumentCache implements IDocumentCache {\n private documents = new Map<string, PromiseWithState<PHDocument>>();\n private batchPromises = new Map<\n string,\n { promises: Promise<PHDocument>[]; promise: Promise<PHDocument[]> }\n >();\n private listeners = new Map<string, (() => void)[]>();\n private unsubscribe: (() => void) | null = null;\n\n constructor(private client: IReactorClient) {\n this.unsubscribe = client.subscribe({}, (event: DocumentChangeEvent) => {\n this.handleDocumentChange(event);\n });\n }\n\n private handleDocumentChange(event: DocumentChangeEvent): void {\n if (event.type === DocumentChangeType.Deleted) {\n const documentId = event.context?.childId;\n if (documentId) {\n this.handleDocumentDeleted(documentId);\n }\n } else if (event.type === DocumentChangeType.Updated) {\n for (const doc of event.documents) {\n this.handleDocumentUpdated(doc.header.id).catch(console.warn);\n }\n }\n }\n\n private handleDocumentDeleted(documentId: string): void {\n const listeners = this.listeners.get(documentId);\n this.documents.delete(documentId);\n this.invalidateBatchesContaining(documentId);\n if (listeners) {\n listeners.forEach((listener) => listener());\n }\n this.listeners.delete(documentId);\n }\n\n private async handleDocumentUpdated(documentId: string): Promise<void> {\n if (this.documents.has(documentId)) {\n await this.get(documentId, true);\n const listeners = this.listeners.get(documentId);\n if (listeners) {\n listeners.forEach((listener) => listener());\n }\n }\n }\n\n private invalidateBatchesContaining(documentId: string): void {\n for (const key of this.batchPromises.keys()) {\n if (key.split(\",\").includes(documentId)) {\n this.batchPromises.delete(key);\n }\n }\n }\n\n get(id: string, refetch?: boolean): Promise<PHDocument> {\n const currentData = this.documents.get(id);\n if (currentData) {\n if (currentData.status === \"pending\") {\n return currentData;\n }\n if (!refetch) {\n return currentData;\n }\n }\n\n const documentPromise = this.client.get(id);\n this.documents.set(id, addPromiseState(documentPromise));\n return documentPromise;\n }\n\n getBatch(ids: string[]): Promise<PHDocument[]> {\n const key = ids.join(\",\");\n const cached = this.batchPromises.get(key);\n\n const hasDeletedDocuments = ids.some((id) => !this.documents.has(id));\n const currentPromises = ids.map((id) => this.get(id));\n\n if (hasDeletedDocuments) {\n const batchPromise = fulfilledOnly(currentPromises);\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n\n if (cached) {\n const samePromises = currentPromises.every(\n (p, i) => p === cached.promises[i],\n );\n if (samePromises) {\n return cached.promise;\n }\n }\n\n const states = currentPromises.map((p) =>\n readPromiseState(p as PromiseWithState<PHDocument>),\n );\n const allSettled = states.every((s) => s.status !== \"pending\");\n\n if (allSettled) {\n const values = states\n .filter(\n (s): s is { status: \"fulfilled\"; value: PHDocument } =>\n s.status === \"fulfilled\",\n )\n .map((s) => s.value);\n const batchPromise = Promise.resolve(values) as PromiseWithState<\n PHDocument[]\n >;\n batchPromise.status = \"fulfilled\";\n (batchPromise as FulfilledPromise<PHDocument[]>).value = values;\n\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n\n if (cached) {\n return cached.promise;\n }\n\n const batchPromise = fulfilledOnly(currentPromises);\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n\n subscribe(id: string | string[], callback: () => void): () => void {\n const ids = Array.isArray(id) ? id : [id];\n for (const docId of ids) {\n const listeners = this.listeners.get(docId) ?? [];\n this.listeners.set(docId, [...listeners, callback]);\n }\n return () => {\n for (const docId of ids) {\n const listeners = this.listeners.get(docId) ?? [];\n this.listeners.set(\n docId,\n listeners.filter((listener) => listener !== callback),\n );\n }\n };\n }\n\n /**\n * Disposes of the cache and unsubscribes from document change events.\n */\n dispose(): void {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n}\n","import type { PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { use, useCallback, useSyncExternalStore } from \"react\";\nimport { readPromiseState } from \"../document-cache.js\";\nimport type { IDocumentCache } from \"../types/documents.js\";\nimport type { SetPHGlobalValue, UsePHGlobalValue } from \"../types/global.js\";\nimport { makePHEventFunctions } from \"./make-ph-event-functions.js\";\n\nconst documentEventFunctions = makePHEventFunctions(\"documentCache\");\n\n/** Returns all documents in the reactor. */\nexport const useDocumentCache: UsePHGlobalValue<IDocumentCache> =\n documentEventFunctions.useValue;\n\n/** Sets all of the documents in the reactor. */\nexport const setDocumentCache: SetPHGlobalValue<IDocumentCache> =\n documentEventFunctions.setValue;\n\n/** Adds an event handler for all of the documents in the reactor. */\nexport const addDocumentCacheEventHandler =\n documentEventFunctions.addEventHandler;\n\n/**\n * Reads the state of a document promise and converts it to a query state object.\n * @param promise - The document promise to read\n * @returns An object containing the status, data, error, and isPending flag\n */\nfunction getDocumentQueryState(promise: Promise<PHDocument>) {\n const state = readPromiseState(promise);\n switch (state.status) {\n case \"pending\":\n return {\n status: \"pending\",\n isPending: true,\n error: undefined,\n data: undefined,\n } as const;\n case \"fulfilled\":\n return {\n status: \"success\",\n isPending: false,\n error: undefined,\n data: state.value,\n } as const;\n case \"rejected\":\n return {\n status: \"error\",\n isPending: false,\n error: state.reason,\n data: undefined,\n } as const;\n }\n}\n\n/**\n * Retrieves a document from the reactor and subscribes to changes using React Suspense.\n * This hook will suspend rendering while the document is loading.\n * @param id - The document ID to retrieve, or null/undefined to skip retrieval\n * @returns The document if found, or undefined if id is null/undefined\n */\nexport function useDocument(id: string | null | undefined) {\n const documentCache = useDocumentCache();\n const document = useSyncExternalStore(\n (cb) => (id && documentCache ? documentCache.subscribe(id, cb) : () => {}),\n () => (id ? documentCache?.get(id) : undefined),\n );\n return document ? use(document) : undefined;\n}\n\n/**\n * Retrieves a document from the reactor and subscribes to changes without\n * suspending or throwing. Use this when the ID might be stale (e.g., a\n * previously selected node that has since been deleted) and the consumer\n * wants to render a placeholder instead of crashing.\n *\n * Unlike {@link useGetDocumentAsync}, this hook subscribes to cache\n * updates, so the returned state stays in sync with reactor changes.\n *\n * @param id - The document ID to retrieve, or null/undefined to skip retrieval\n * @returns An object containing:\n * - status: \"initial\" | \"pending\" | \"success\" | \"error\"\n * - data: The document if successfully loaded\n * - isPending: Whether the document is currently loading\n * - error: Any error that occurred during loading (e.g., document not found)\n * - reload: Function to force a refetch, or undefined when no id is supplied\n */\nexport function useDocumentSafe(id: string | null | undefined) {\n const documentCache = useDocumentCache();\n const promise = useSyncExternalStore(\n (cb) => (id && documentCache ? documentCache.subscribe(id, cb) : () => {}),\n () => (id ? documentCache?.get(id) : undefined),\n );\n\n if (!promise || !documentCache || !id) {\n return {\n status: \"initial\",\n isPending: false,\n error: undefined,\n data: undefined,\n reload: undefined,\n } as const;\n }\n\n const state = getDocumentQueryState(promise);\n return { ...state, reload: () => documentCache.get(id, true) } as const;\n}\n\n/**\n * Retrieves multiple documents from the reactor using React Suspense.\n * This hook will suspend rendering while any of the documents are loading.\n *\n * Uses getBatch from the document cache which handles promise caching internally,\n * ensuring stable references for useSyncExternalStore.\n *\n * @param ids - Array of document IDs to retrieve, or null/undefined to skip retrieval\n * @returns An array of documents if found, or empty array if ids is null/undefined\n */\nexport function useDocuments(ids: string[] | null | undefined) {\n const documentCache = useDocumentCache();\n\n const documents = useSyncExternalStore(\n (cb) =>\n ids?.length && documentCache\n ? documentCache.subscribe(ids, cb)\n : () => {},\n () =>\n ids?.length && documentCache ? documentCache.getBatch(ids) : undefined,\n );\n\n return documents ? use(documents) : [];\n}\n\n/**\n * Returns a function to retrieve a document from the cache.\n * The returned function fetches and returns a document by ID.\n * @returns A function that takes a document ID and returns a Promise of the document\n */\nexport function useGetDocument() {\n const documentCache = useDocumentCache();\n\n return useCallback(\n (id: string) => {\n if (!documentCache) {\n return Promise.reject(new Error(\"Document cache not initialized\"));\n }\n return documentCache.get(id);\n },\n [documentCache],\n );\n}\n\n/**\n * Returns a function to retrieve multiple documents from the cache.\n * The returned function fetches and returns documents by their IDs.\n * @returns A function that takes an array of document IDs and returns a Promise of the documents\n */\nexport function useGetDocuments() {\n const documentCache = useDocumentCache();\n\n return useCallback(\n (ids: string[]) => {\n if (!documentCache) {\n return Promise.reject(new Error(\"Document cache not initialized\"));\n }\n return documentCache.getBatch(ids);\n },\n [documentCache],\n );\n}\n\n/**\n * Retrieves a document from the reactor without suspending rendering.\n * Returns the current state of the document loading operation.\n * @param id - The document ID to retrieve, or null/undefined to skip retrieval\n * @returns An object containing:\n * - status: \"initial\" | \"pending\" | \"success\" | \"error\"\n * - data: The document if successfully loaded\n * - isPending: Boolean indicating if the document is currently loading\n * - error: Any error that occurred during loading\n * - reload: Function to force reload the document from cache\n */\nexport function useGetDocumentAsync(id: string | null | undefined) {\n const documentCache = useDocumentCache();\n if (!id || !documentCache) {\n return {\n status: \"initial\",\n data: undefined,\n isPending: false,\n error: undefined,\n reload: undefined,\n } as const;\n }\n\n const promise = documentCache.get(id);\n const state = getDocumentQueryState(promise);\n\n return { ...state, reload: () => documentCache.get(id, true) } as const;\n}\n","import type { Action, PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { logger } from \"document-model\";\nimport { dispatchActions } from \"../actions/dispatch.js\";\n\n/**\n * Returns a dispatch function for dispatching actions to a document.\n * Used internally by other hooks to provide action dispatching capabilities.\n * @param document - The document to dispatch actions to.\n * @returns A tuple containing the document and a dispatch function.\n */\nexport type DispatchFn<TAction> = (\n actionOrActions: TAction[] | TAction | undefined,\n onErrors?: (errors: Error[]) => void,\n onSuccess?: (result: PHDocument) => void,\n) => void;\n\nexport type UseDispatchResult<TDocument, TAction> = readonly [\n TDocument | undefined,\n DispatchFn<TAction>,\n];\n\nexport function useDispatch<TDocument = PHDocument, TAction = Action>(\n document: TDocument | undefined,\n): UseDispatchResult<TDocument, TAction> {\n /**\n * Dispatches actions to the document.\n * @param actionOrActions - The action or actions to dispatch.\n * @param onErrors - Callback invoked with any errors that occurred during action execution.\n */\n function dispatch(\n actionOrActions: TAction[] | TAction | undefined,\n onErrors?: (errors: Error[]) => void,\n onSuccess?: (result: PHDocument) => void,\n ) {\n dispatchActions(actionOrActions, document, onErrors, onSuccess).catch(\n logger.error,\n );\n }\n return [document, dispatch] as const;\n}\n","import type { Action, PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { useDispatch, type UseDispatchResult } from \"./dispatch.js\";\nimport { useDocument, useDocuments } from \"./document-cache.js\";\n\n/** Returns a document by id. */\nexport function useDocumentById(\n id: string | null | undefined,\n): UseDispatchResult<PHDocument, Action> {\n const document = useDocument(id);\n const [, dispatch] = useDispatch<PHDocument, Action>(document);\n return [document, dispatch] as const;\n}\n\n/** Returns documents by ids. */\nexport function useDocumentsByIds(ids: string[] | null | undefined) {\n return useDocuments(ids);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document-by-id-dLYFX-xz.js","names":[],"sources":["../src/actions/queue.ts","../src/actions/sign.ts","../src/actions/dispatch.ts","../src/global/core.ts","../src/analytics/store.ts","../src/document-cache.ts","../src/hooks/document-cache.ts","../src/hooks/dispatch.ts","../src/hooks/document-by-id.ts"],"sourcesContent":["import type { FileUploadProgressCallback } from \"@powerhousedao/reactor-browser\";\nimport type {\n Action,\n DocumentOperations,\n Operation,\n PHDocument,\n} from \"@powerhousedao/shared/document-model\";\nimport { logger } from \"document-model\";\n\nexport async function queueActions(\n document: PHDocument | undefined,\n actionOrActions: Action[] | Action | undefined,\n) {\n if (!document) {\n throw new Error(\"No document provided\");\n }\n if (!actionOrActions) {\n throw new Error(\"No actions provided\");\n }\n const actions = Array.isArray(actionOrActions)\n ? actionOrActions\n : [actionOrActions];\n\n if (actions.length === 0) {\n throw new Error(\"No actions provided\");\n }\n\n const reactorClient = window.ph?.reactorClient;\n if (!reactorClient) {\n throw new Error(\"ReactorClient not initialized\");\n }\n\n return await reactorClient.execute(document.header.id, \"main\", actions);\n}\n\nexport async function queueOperations(\n documentId: string,\n operationOrOperations: Operation[] | Operation | undefined,\n) {\n if (!documentId) {\n throw new Error(\"No documentId provided\");\n }\n if (!operationOrOperations) {\n throw new Error(\"No operations provided\");\n }\n const operations = Array.isArray(operationOrOperations)\n ? operationOrOperations\n : [operationOrOperations];\n\n if (operations.length === 0) {\n throw new Error(\"No operations provided\");\n }\n\n const reactorClient = window.ph?.reactorClient;\n if (!reactorClient) {\n throw new Error(\"ReactorClient not initialized\");\n }\n\n const actions = operations.map((op) => op.action);\n return await reactorClient.execute(documentId, \"main\", actions);\n}\n\nexport function deduplicateOperations(\n existingOperations: Record<string, Operation[]>,\n operationsToDeduplicate: Operation[],\n) {\n // make a set of all the operation indices for each scope to avoid duplicates\n const operationIndicesByScope = {} as Record<string, Set<number>>;\n for (const scope of Object.keys(existingOperations)) {\n operationIndicesByScope[scope] = new Set(\n existingOperations[scope].map((op) => op.index),\n );\n }\n\n const newOperations: Operation[] = [];\n\n for (const operation of operationsToDeduplicate) {\n const scope = operation.action.scope;\n const index = operation.index;\n if (operationIndicesByScope[scope].has(index)) {\n const duplicatedExistingOperation = existingOperations[scope].find(\n (op) => op.index === index,\n );\n const duplicatedNewOperation = newOperations.find(\n (op) => op.index === index,\n );\n console.warn(\"skipping duplicate operation\");\n if (duplicatedExistingOperation) {\n console.warn(\n \"duplicate existing operation\",\n duplicatedExistingOperation,\n );\n }\n if (duplicatedNewOperation) {\n console.warn(\"duplicate new operation\", duplicatedNewOperation);\n }\n continue;\n }\n newOperations.push(operation);\n operationIndicesByScope[scope].add(index);\n }\n\n const uniqueOperationIds = new Set<string>();\n const operationsDedupedById: Operation[] = [];\n\n for (const [scope, operations] of Object.entries(existingOperations)) {\n for (const operation of operations) {\n const id = operation.id;\n if (!id) {\n console.warn(\"skipping operation with no id\", operation);\n continue;\n }\n if (uniqueOperationIds.has(id)) {\n console.warn(\n \"skipping existing operation with duplicate id in scope\",\n scope,\n operation,\n );\n continue;\n }\n uniqueOperationIds.add(id);\n }\n }\n\n for (const operation of newOperations) {\n const id = operation.id;\n if (!id) {\n console.warn(\"skipping operation with no id\", operation);\n continue;\n }\n if (uniqueOperationIds.has(id)) {\n console.warn(\n \"skipping new operation with duplicate id in scope\",\n operation.action.scope,\n operation,\n );\n continue;\n }\n uniqueOperationIds.add(id);\n operationsDedupedById.push(operation);\n }\n return operationsDedupedById;\n}\n\nexport async function uploadOperations(\n documentId: string,\n allOperations: DocumentOperations,\n pushOperations: (\n documentId: string,\n operations: Operation[],\n ) => Promise<PHDocument | undefined>,\n options?: {\n operationsLimit?: number;\n onProgress?: FileUploadProgressCallback;\n },\n) {\n const operationsLimit = options?.operationsLimit || 50;\n const onProgress = options?.onProgress;\n\n logger.verbose(\n `uploadDocumentOperations(documentId:${documentId}, ops: ${Object.keys(allOperations).join(\",\")}, limit:${operationsLimit})`,\n );\n\n // Calculate total operations for progress tracking\n const allOperationsArray = Object.values(allOperations).filter(\n (ops): ops is Operation[] => ops !== undefined,\n );\n const totalOperations = allOperationsArray.reduce(\n (total, operations) => total + operations.length,\n 0,\n );\n let uploadedOperations = 0;\n\n for (const operations of allOperationsArray) {\n for (let i = 0; i < operations.length; i += operationsLimit) {\n logger.verbose(\n `uploadDocumentOperations:for(i:${i}, ops:${operations.length}, limit:${operationsLimit}): START`,\n );\n const chunk = operations.slice(i, i + operationsLimit);\n const operation = chunk.at(-1);\n if (!operation) {\n break;\n }\n const scope = operation.action.scope;\n\n await pushOperations(documentId, chunk);\n\n uploadedOperations += chunk.length;\n\n // Report progress\n if (onProgress) {\n const progress = Math.round(\n (uploadedOperations / totalOperations) * 100,\n );\n onProgress({\n stage: \"uploading\",\n progress,\n totalOperations,\n uploadedOperations,\n });\n }\n\n logger.verbose(\n `uploadDocumentOperations:for:waitForUpdate(${documentId}:${scope} rev ${operation.index}): NEXT`,\n );\n }\n }\n\n logger.verbose(\n `uploadDocumentOperations:for:waitForUpdate(${documentId}): END`,\n );\n}\n","import type { Action, PHDocument } from \"@powerhousedao/shared/document-model\";\nimport {\n buildSignedAction,\n type ActionSigner,\n} from \"@powerhousedao/shared/document-model\";\nimport { logger } from \"document-model\";\n\nexport async function signAction(action: Action, document: PHDocument) {\n const reactor = window.ph?.reactorClient;\n if (!reactor) return action;\n\n const documentModelModule = await reactor.getDocumentModelModule(\n document.header.documentType,\n );\n const reducer = documentModelModule.reducer;\n const renown = window.ph?.renown;\n if (!renown?.user) return action;\n if (!action.context?.signer) return action;\n\n const actionSigner = action.context.signer;\n const unsafeSignedAction = await buildSignedAction(\n action,\n reducer,\n document,\n actionSigner,\n renown.crypto.sign,\n );\n\n // TODO: this is super dangerous and is caused by the `buildSignedAction` function returning an `Operation` instead of an `Action`\n return unsafeSignedAction as unknown as Action;\n}\n\nexport function addActionContext(action: Action) {\n const renown = window.ph?.renown;\n if (!renown?.user) return action;\n\n const signer: ActionSigner = {\n app: {\n name: \"Connect\",\n key: renown.did,\n },\n user: {\n address: renown.user.address,\n networkId: renown.user.networkId,\n chainId: renown.user.chainId,\n },\n signatures: [],\n };\n\n return {\n context: { signer },\n ...action,\n };\n}\n\nasync function makeSignedActionWithContext(\n action: Action | undefined,\n document: PHDocument | undefined,\n) {\n if (!action) {\n logger.error(\"No action found\");\n return;\n }\n if (!document) {\n logger.error(\"No document found\");\n return;\n }\n const signedAction = await signAction(action, document);\n const signedActionWithContext = addActionContext(signedAction);\n return signedActionWithContext;\n}\n\nexport async function makeSignedActionsWithContext(\n actionOrActions: Action[] | Action | undefined,\n document: PHDocument | undefined,\n) {\n if (!actionOrActions) {\n logger.error(\"No actions found\");\n return;\n }\n const actions = Array.isArray(actionOrActions)\n ? actionOrActions\n : [actionOrActions];\n\n const signedActionsWithContext = await Promise.all(\n actions.map((action) => makeSignedActionWithContext(action, document)),\n );\n return signedActionsWithContext.filter((a) => a !== undefined);\n}\n","import type { Action, PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { logger } from \"document-model\";\nimport { queueActions } from \"./queue.js\";\nimport { makeSignedActionsWithContext } from \"./sign.js\";\n\nasync function getDocument(\n documentId: string,\n): Promise<PHDocument | undefined> {\n try {\n return await window.ph?.reactorClient?.get(documentId);\n } catch (error) {\n logger.debug(`Failed to get document with id ${documentId}:`, error);\n return undefined;\n }\n}\n\nfunction getActionErrors(result: PHDocument, actions: Action[]) {\n return actions.reduce((errors, a) => {\n const scopeOperations = result.operations[a.scope];\n if (!scopeOperations) {\n return errors;\n }\n const op = scopeOperations.findLast((op) => op.action.id === a.id);\n\n if (op?.error) {\n errors.push(new Error(op.error));\n }\n return errors;\n }, new Array<Error>());\n}\n\n/**\n * Dispatches actions to a document.\n * @param actionOrActions - The action or actions to dispatch.\n * @param document - The document to dispatch actions to.\n * @param onErrors - Callback invoked with any errors that occurred during action execution.\n * @returns The updated document, or undefined if the dispatch failed.\n */\nexport async function dispatchActions<TDocument = PHDocument, TAction = Action>(\n actionOrActions: TAction[] | TAction | undefined,\n document: TDocument | undefined,\n onErrors?: (errors: Error[]) => void,\n onSuccess?: (result: PHDocument) => void,\n): Promise<PHDocument | undefined>;\n/**\n * Dispatches actions to a document.\n * @param actionOrActions - The action or actions to dispatch.\n * @param documentId - The ID of the document to dispatch actions to.\n * @param onErrors - Callback invoked with any errors that occurred during action execution.\n * @returns The updated document, or undefined if the dispatch failed.\n */\nexport async function dispatchActions(\n actionOrActions: Action[] | Action | undefined,\n documentId: string,\n onErrors?: (errors: Error[]) => void,\n onSuccess?: (result: PHDocument) => void,\n): Promise<PHDocument | undefined>;\nexport async function dispatchActions(\n actionOrActions: Action[] | Action | undefined,\n documentOrDocumentId: PHDocument | string | undefined,\n onErrors?: (errors: Error[]) => void,\n onSuccess?: (result: PHDocument) => void,\n): Promise<PHDocument | undefined> {\n const document =\n typeof documentOrDocumentId === \"string\"\n ? await getDocument(documentOrDocumentId)\n : documentOrDocumentId;\n\n if (!document) {\n logger.error(\n `Document with id ${JSON.stringify(documentOrDocumentId)} not found`,\n );\n return;\n }\n\n const signedActionsWithContext = await makeSignedActionsWithContext(\n actionOrActions,\n document,\n );\n if (!signedActionsWithContext) {\n logger.error(\"No signed actions with context found\");\n return;\n }\n const result = await queueActions(document, signedActionsWithContext);\n\n if (onErrors && result) {\n const errors = getActionErrors(result, signedActionsWithContext);\n if (errors.length) {\n onErrors(errors);\n }\n }\n\n if (onSuccess && result) {\n onSuccess(result);\n }\n\n return result;\n}\n","import type { PowerhouseGlobal } from \"./types.js\";\n\nexport function getGlobal<K extends keyof PowerhouseGlobal>(\n namespace: K,\n): PowerhouseGlobal[K] | undefined {\n if (typeof window === \"undefined\") return undefined;\n return window.powerhouse?.[namespace];\n}\n\nexport function setGlobal<K extends keyof PowerhouseGlobal>(\n namespace: K,\n value: PowerhouseGlobal[K],\n): void {\n if (typeof window === \"undefined\") return;\n window.powerhouse = window.powerhouse || {};\n window.powerhouse[namespace] = value;\n}\n\nexport function clearGlobal(namespace: keyof PowerhouseGlobal): void {\n if (typeof window === \"undefined\") return;\n\n if (window.powerhouse?.[namespace]) {\n delete window.powerhouse[namespace];\n if (Object.keys(window.powerhouse).length === 0) {\n delete window.powerhouse;\n }\n }\n}\n","import type { BrowserAnalyticsStoreOptions } from \"@powerhousedao/analytics-engine-browser\";\nimport { BrowserAnalyticsStore } from \"@powerhousedao/analytics-engine-browser\";\nimport type { IAnalyticsStore } from \"@powerhousedao/analytics-engine-core\";\nimport { AnalyticsQueryEngine } from \"@powerhousedao/analytics-engine-core\";\nimport { getGlobal } from \"../global/core.js\";\n\nexport type CreateStoreOptions = BrowserAnalyticsStoreOptions;\n\nexport async function createAnalyticsStore(options: CreateStoreOptions) {\n const store = new BrowserAnalyticsStore(options);\n await store.init();\n\n const engine = new AnalyticsQueryEngine(store);\n return {\n store,\n engine,\n options,\n };\n}\n\nexport async function getAnalyticsStore(): Promise<IAnalyticsStore | null> {\n const globalAnalytics = await getGlobal(\"analytics\");\n\n return globalAnalytics?.store ?? null;\n}\n","import {\n DocumentChangeType,\n type DocumentChangeEvent,\n type IReactorClient,\n} from \"@powerhousedao/reactor\";\nimport type { PHDocument } from \"@powerhousedao/shared/document-model\";\nimport type {\n FulfilledPromise,\n IDocumentCache,\n PromiseState,\n PromiseWithState,\n RejectedPromise,\n} from \"./types/documents.js\";\n\nexport function addPromiseState<T>(promise: Promise<T>): PromiseWithState<T> {\n if (\"status\" in promise) {\n return promise as PromiseWithState<T>;\n }\n\n const promiseWithState = promise as PromiseWithState<T>;\n promiseWithState.status = \"pending\";\n promiseWithState.then(\n (value) => {\n promiseWithState.status = \"fulfilled\";\n (promiseWithState as FulfilledPromise<T>).value = value;\n },\n (reason) => {\n promiseWithState.status = \"rejected\";\n (promiseWithState as RejectedPromise<T>).reason = reason;\n // Re-throw to preserve unhandled rejection behavior\n // This allows React's error boundaries to catch the error\n throw reason;\n },\n );\n\n return promiseWithState;\n}\n\nexport function readPromiseState<T>(\n promise: Promise<T> | PromiseWithState<T>,\n): PromiseState<T> {\n return \"status\" in promise ? promise : { status: \"pending\" };\n}\n\n/**\n * Resolves an array of document promises using `Promise.allSettled`,\n * returning only the fulfilled values. A single missing/rejected\n * document does not poison the whole batch. Rejected entries are\n * logged at warn level so developers can see dangling references.\n */\nfunction fulfilledOnly(promises: Promise<PHDocument>[]): Promise<PHDocument[]> {\n return Promise.allSettled(promises).then((results) => {\n const documents: PHDocument[] = [];\n for (const result of results) {\n if (result.status === \"fulfilled\") {\n documents.push(result.value);\n } else {\n console.warn(\n \"[DocumentCache] Skipped unavailable document:\",\n result.reason,\n );\n }\n }\n return documents;\n });\n}\n\n/**\n * Document cache implementation that uses the new ReactorClient API.\n *\n * This cache subscribes to document change events via IReactorClient.subscribe()\n * and automatically updates the cache when documents are created, updated, or deleted.\n */\nexport class DocumentCache implements IDocumentCache {\n private documents = new Map<string, PromiseWithState<PHDocument>>();\n private batchPromises = new Map<\n string,\n { promises: Promise<PHDocument>[]; promise: Promise<PHDocument[]> }\n >();\n private listeners = new Map<string, (() => void)[]>();\n private unsubscribe: (() => void) | null = null;\n\n constructor(private client: IReactorClient) {\n this.unsubscribe = client.subscribe({}, (event: DocumentChangeEvent) => {\n this.handleDocumentChange(event);\n });\n }\n\n private handleDocumentChange(event: DocumentChangeEvent): void {\n if (event.type === DocumentChangeType.Deleted) {\n const documentId = event.context?.childId;\n if (documentId) {\n this.handleDocumentDeleted(documentId);\n }\n } else if (event.type === DocumentChangeType.Updated) {\n for (const doc of event.documents) {\n this.handleDocumentUpdated(doc.header.id).catch(console.warn);\n }\n }\n }\n\n private handleDocumentDeleted(documentId: string): void {\n const listeners = this.listeners.get(documentId);\n this.documents.delete(documentId);\n this.invalidateBatchesContaining(documentId);\n if (listeners) {\n listeners.forEach((listener) => listener());\n }\n this.listeners.delete(documentId);\n }\n\n private async handleDocumentUpdated(documentId: string): Promise<void> {\n if (this.documents.has(documentId)) {\n await this.get(documentId, true);\n const listeners = this.listeners.get(documentId);\n if (listeners) {\n listeners.forEach((listener) => listener());\n }\n }\n }\n\n private invalidateBatchesContaining(documentId: string): void {\n for (const key of this.batchPromises.keys()) {\n if (key.split(\",\").includes(documentId)) {\n this.batchPromises.delete(key);\n }\n }\n }\n\n get(id: string, refetch?: boolean): Promise<PHDocument> {\n const currentData = this.documents.get(id);\n if (currentData) {\n if (currentData.status === \"pending\") {\n return currentData;\n }\n if (!refetch) {\n return currentData;\n }\n }\n\n const documentPromise = this.client.get(id);\n this.documents.set(id, addPromiseState(documentPromise));\n return documentPromise;\n }\n\n getBatch(ids: string[]): Promise<PHDocument[]> {\n const key = ids.join(\",\");\n const cached = this.batchPromises.get(key);\n\n const hasDeletedDocuments = ids.some((id) => !this.documents.has(id));\n const currentPromises = ids.map((id) => this.get(id));\n\n if (hasDeletedDocuments) {\n const batchPromise = fulfilledOnly(currentPromises);\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n\n if (cached) {\n const samePromises = currentPromises.every(\n (p, i) => p === cached.promises[i],\n );\n if (samePromises) {\n return cached.promise;\n }\n }\n\n const states = currentPromises.map((p) =>\n readPromiseState(p as PromiseWithState<PHDocument>),\n );\n const allSettled = states.every((s) => s.status !== \"pending\");\n\n if (allSettled) {\n const values = states\n .filter(\n (s): s is { status: \"fulfilled\"; value: PHDocument } =>\n s.status === \"fulfilled\",\n )\n .map((s) => s.value);\n const batchPromise = Promise.resolve(values) as PromiseWithState<\n PHDocument[]\n >;\n batchPromise.status = \"fulfilled\";\n (batchPromise as FulfilledPromise<PHDocument[]>).value = values;\n\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n\n if (cached) {\n return cached.promise;\n }\n\n const batchPromise = fulfilledOnly(currentPromises);\n this.batchPromises.set(key, {\n promises: currentPromises,\n promise: batchPromise,\n });\n return batchPromise;\n }\n\n subscribe(id: string | string[], callback: () => void): () => void {\n const ids = Array.isArray(id) ? id : [id];\n for (const docId of ids) {\n const listeners = this.listeners.get(docId) ?? [];\n this.listeners.set(docId, [...listeners, callback]);\n }\n return () => {\n for (const docId of ids) {\n const listeners = this.listeners.get(docId) ?? [];\n this.listeners.set(\n docId,\n listeners.filter((listener) => listener !== callback),\n );\n }\n };\n }\n\n /**\n * Disposes of the cache and unsubscribes from document change events.\n */\n dispose(): void {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n}\n","import type { PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { use, useCallback, useSyncExternalStore } from \"react\";\nimport { readPromiseState } from \"../document-cache.js\";\nimport type { IDocumentCache } from \"../types/documents.js\";\nimport type { SetPHGlobalValue, UsePHGlobalValue } from \"../types/global.js\";\nimport { makePHEventFunctions } from \"./make-ph-event-functions.js\";\n\nconst documentEventFunctions = makePHEventFunctions(\"documentCache\");\n\n/** Returns all documents in the reactor. */\nexport const useDocumentCache: UsePHGlobalValue<IDocumentCache> =\n documentEventFunctions.useValue;\n\n/** Sets all of the documents in the reactor. */\nexport const setDocumentCache: SetPHGlobalValue<IDocumentCache> =\n documentEventFunctions.setValue;\n\n/** Adds an event handler for all of the documents in the reactor. */\nexport const addDocumentCacheEventHandler =\n documentEventFunctions.addEventHandler;\n\n/**\n * Reads the state of a document promise and converts it to a query state object.\n * @param promise - The document promise to read\n * @returns An object containing the status, data, error, and isPending flag\n */\nfunction getDocumentQueryState(promise: Promise<PHDocument>) {\n const state = readPromiseState(promise);\n switch (state.status) {\n case \"pending\":\n return {\n status: \"pending\",\n isPending: true,\n error: undefined,\n data: undefined,\n } as const;\n case \"fulfilled\":\n return {\n status: \"success\",\n isPending: false,\n error: undefined,\n data: state.value,\n } as const;\n case \"rejected\":\n return {\n status: \"error\",\n isPending: false,\n error: state.reason,\n data: undefined,\n } as const;\n }\n}\n\n/**\n * Retrieves a document from the reactor and subscribes to changes using React Suspense.\n * This hook will suspend rendering while the document is loading.\n * @param id - The document ID to retrieve, or null/undefined to skip retrieval\n * @returns The document if found, or undefined if id is null/undefined\n */\nexport function useDocument(id: string | null | undefined) {\n const documentCache = useDocumentCache();\n const document = useSyncExternalStore(\n (cb) => (id && documentCache ? documentCache.subscribe(id, cb) : () => {}),\n () => (id ? documentCache?.get(id) : undefined),\n );\n return document ? use(document) : undefined;\n}\n\n/**\n * Retrieves a document from the reactor and subscribes to changes without\n * suspending or throwing. Use this when the ID might be stale (e.g., a\n * previously selected node that has since been deleted) and the consumer\n * wants to render a placeholder instead of crashing.\n *\n * Unlike {@link useGetDocumentAsync}, this hook subscribes to cache\n * updates, so the returned state stays in sync with reactor changes.\n *\n * @param id - The document ID to retrieve, or null/undefined to skip retrieval\n * @returns An object containing:\n * - status: \"initial\" | \"pending\" | \"success\" | \"error\"\n * - data: The document if successfully loaded\n * - isPending: Whether the document is currently loading\n * - error: Any error that occurred during loading (e.g., document not found)\n * - reload: Function to force a refetch, or undefined when no id is supplied\n */\nexport function useDocumentSafe(id: string | null | undefined) {\n const documentCache = useDocumentCache();\n const promise = useSyncExternalStore(\n (cb) => (id && documentCache ? documentCache.subscribe(id, cb) : () => {}),\n () => (id ? documentCache?.get(id) : undefined),\n );\n\n if (!promise || !documentCache || !id) {\n return {\n status: \"initial\",\n isPending: false,\n error: undefined,\n data: undefined,\n reload: undefined,\n } as const;\n }\n\n const state = getDocumentQueryState(promise);\n return { ...state, reload: () => documentCache.get(id, true) } as const;\n}\n\n/**\n * Retrieves multiple documents from the reactor using React Suspense.\n * This hook will suspend rendering while any of the documents are loading.\n *\n * Uses getBatch from the document cache which handles promise caching internally,\n * ensuring stable references for useSyncExternalStore.\n *\n * @param ids - Array of document IDs to retrieve, or null/undefined to skip retrieval\n * @returns An array of documents if found, or empty array if ids is null/undefined\n */\nexport function useDocuments(ids: string[] | null | undefined) {\n const documentCache = useDocumentCache();\n\n const documents = useSyncExternalStore(\n (cb) =>\n ids?.length && documentCache\n ? documentCache.subscribe(ids, cb)\n : () => {},\n () =>\n ids?.length && documentCache ? documentCache.getBatch(ids) : undefined,\n );\n\n return documents ? use(documents) : [];\n}\n\n/**\n * Returns a function to retrieve a document from the cache.\n * The returned function fetches and returns a document by ID.\n * @returns A function that takes a document ID and returns a Promise of the document\n */\nexport function useGetDocument() {\n const documentCache = useDocumentCache();\n\n return useCallback(\n (id: string) => {\n if (!documentCache) {\n return Promise.reject(new Error(\"Document cache not initialized\"));\n }\n return documentCache.get(id);\n },\n [documentCache],\n );\n}\n\n/**\n * Returns a function to retrieve multiple documents from the cache.\n * The returned function fetches and returns documents by their IDs.\n * @returns A function that takes an array of document IDs and returns a Promise of the documents\n */\nexport function useGetDocuments() {\n const documentCache = useDocumentCache();\n\n return useCallback(\n (ids: string[]) => {\n if (!documentCache) {\n return Promise.reject(new Error(\"Document cache not initialized\"));\n }\n return documentCache.getBatch(ids);\n },\n [documentCache],\n );\n}\n\n/**\n * Retrieves a document from the reactor without suspending rendering.\n * Returns the current state of the document loading operation.\n * @param id - The document ID to retrieve, or null/undefined to skip retrieval\n * @returns An object containing:\n * - status: \"initial\" | \"pending\" | \"success\" | \"error\"\n * - data: The document if successfully loaded\n * - isPending: Boolean indicating if the document is currently loading\n * - error: Any error that occurred during loading\n * - reload: Function to force reload the document from cache\n */\nexport function useGetDocumentAsync(id: string | null | undefined) {\n const documentCache = useDocumentCache();\n if (!id || !documentCache) {\n return {\n status: \"initial\",\n data: undefined,\n isPending: false,\n error: undefined,\n reload: undefined,\n } as const;\n }\n\n const promise = documentCache.get(id);\n const state = getDocumentQueryState(promise);\n\n return { ...state, reload: () => documentCache.get(id, true) } as const;\n}\n","import type { Action, PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { logger } from \"document-model\";\nimport { dispatchActions } from \"../actions/dispatch.js\";\n\n/**\n * Returns a dispatch function for dispatching actions to a document.\n * Used internally by other hooks to provide action dispatching capabilities.\n * @param document - The document to dispatch actions to.\n * @returns A tuple containing the document and a dispatch function.\n */\nexport type DispatchFn<TAction> = (\n actionOrActions: TAction[] | TAction | undefined,\n onErrors?: (errors: Error[]) => void,\n onSuccess?: (result: PHDocument) => void,\n) => void;\n\nexport type UseDispatchResult<TDocument, TAction> = readonly [\n TDocument | undefined,\n DispatchFn<TAction>,\n];\n\nexport function useDispatch<TDocument = PHDocument, TAction = Action>(\n document: TDocument | undefined,\n): UseDispatchResult<TDocument, TAction> {\n /**\n * Dispatches actions to the document.\n * @param actionOrActions - The action or actions to dispatch.\n * @param onErrors - Callback invoked with any errors that occurred during action execution.\n */\n function dispatch(\n actionOrActions: TAction[] | TAction | undefined,\n onErrors?: (errors: Error[]) => void,\n onSuccess?: (result: PHDocument) => void,\n ) {\n dispatchActions(actionOrActions, document, onErrors, onSuccess).catch(\n logger.error,\n );\n }\n return [document, dispatch] as const;\n}\n","import type { Action, PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { useDispatch, type UseDispatchResult } from \"./dispatch.js\";\nimport { useDocument, useDocuments } from \"./document-cache.js\";\n\n/** Returns a document by id. */\nexport function useDocumentById(\n id: string | null | undefined,\n): UseDispatchResult<PHDocument, Action> {\n const document = useDocument(id);\n const [, dispatch] = useDispatch<PHDocument, Action>(document);\n return [document, dispatch] as const;\n}\n\n/** Returns documents by ids. */\nexport function useDocumentsByIds(ids: string[] | null | undefined) {\n return useDocuments(ids);\n}\n"],"mappings":"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"}
|
|
@@ -60,7 +60,6 @@ interface RenownLoginButtonProps {
|
|
|
60
60
|
}
|
|
61
61
|
declare function RenownLoginButton({
|
|
62
62
|
onLogin: onLoginProp,
|
|
63
|
-
darkMode,
|
|
64
63
|
style,
|
|
65
64
|
className,
|
|
66
65
|
asChild,
|
|
@@ -214,4 +213,4 @@ declare function Renown({
|
|
|
214
213
|
}: RenownProps): null;
|
|
215
214
|
//#endregion
|
|
216
215
|
export { logout as A, RenownUserButtonMenuItem as C, RenownAuthButton as D, RenownLoginButtonProps as E, RenownAuth as M, RenownAuthStatus as N, RenownAuthButtonProps as O, useRenownAuth as P, RenownUserButton as S, RenownLoginButton as T, CopyIcon as _, CREDENTIAL_SCHEMA_EIP712_TYPE as a, SpinnerIcon as b, DOMAIN_TYPE as c, RENOWN_NETWORK_ID as d, RENOWN_URL as f, ChevronDownIcon as g, initRenownCrypto as h, useRenownInit as i, openRenown as j, login as k, ISSUER_TYPE as l, initConnectCrypto as m, RenownProps as n, CREDENTIAL_SUBJECT_TYPE as o, VERIFIABLE_CREDENTIAL_EIP712_TYPE as p, RenownInitOptions as r, CREDENTIAL_TYPES as s, Renown as t, RENOWN_CHAIN_ID as u, DisconnectIcon as v, RenownUserButtonProps as w, UserIcon as x, RenownLogo as y };
|
|
217
|
-
//# sourceMappingURL=index-
|
|
216
|
+
//# sourceMappingURL=index-JRxZGs0B.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-JRxZGs0B.d.ts","names":[],"sources":["../src/renown/use-renown-auth.ts","../src/renown/utils.ts","../src/renown/components/RenownAuthButton.tsx","../src/renown/components/RenownLoginButton.tsx","../src/renown/components/RenownUserButton.tsx","../src/renown/components/icons.tsx","../src/renown/crypto.ts","../src/renown/constants.ts","../src/renown/use-renown-init.ts","../src/renown/renown-init.tsx"],"mappings":"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"}
|