@powerhousedao/reactor-api 6.0.0-dev.67 → 6.0.0-dev.69

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.
Files changed (90) hide show
  1. package/dist/index.d.ts +0 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +0 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/graphql/base-subgraph.d.ts +1 -2
  6. package/dist/src/graphql/base-subgraph.d.ts.map +1 -1
  7. package/dist/src/graphql/base-subgraph.js +0 -2
  8. package/dist/src/graphql/base-subgraph.js.map +1 -1
  9. package/dist/src/graphql/document-model-subgraph.d.ts +0 -13
  10. package/dist/src/graphql/document-model-subgraph.d.ts.map +1 -1
  11. package/dist/src/graphql/document-model-subgraph.js +6 -150
  12. package/dist/src/graphql/document-model-subgraph.js.map +1 -1
  13. package/dist/src/graphql/graphql-manager.d.ts +9 -4
  14. package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
  15. package/dist/src/graphql/graphql-manager.js +45 -27
  16. package/dist/src/graphql/graphql-manager.js.map +1 -1
  17. package/dist/src/graphql/index.d.ts +0 -1
  18. package/dist/src/graphql/index.d.ts.map +1 -1
  19. package/dist/src/graphql/index.js +0 -1
  20. package/dist/src/graphql/index.js.map +1 -1
  21. package/dist/src/graphql/reactor/resolvers.d.ts +1 -0
  22. package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
  23. package/dist/src/graphql/reactor/resolvers.js +33 -4
  24. package/dist/src/graphql/reactor/resolvers.js.map +1 -1
  25. package/dist/src/graphql/types.d.ts +1 -4
  26. package/dist/src/graphql/types.d.ts.map +1 -1
  27. package/dist/src/graphql/utils.d.ts +1 -18
  28. package/dist/src/graphql/utils.d.ts.map +1 -1
  29. package/dist/src/graphql/utils.js +0 -32
  30. package/dist/src/graphql/utils.js.map +1 -1
  31. package/dist/src/server.d.ts +0 -5
  32. package/dist/src/server.d.ts.map +1 -1
  33. package/dist/src/server.js +5 -6
  34. package/dist/src/server.js.map +1 -1
  35. package/dist/src/utils/create-schema.d.ts +4 -5
  36. package/dist/src/utils/create-schema.d.ts.map +1 -1
  37. package/dist/src/utils/create-schema.js +5 -6
  38. package/dist/src/utils/create-schema.js.map +1 -1
  39. package/dist/test/document-model-subgraph-permissions.test.js +2 -12
  40. package/dist/test/document-model-subgraph-permissions.test.js.map +1 -1
  41. package/dist/test/index.d.ts +0 -1
  42. package/dist/test/index.d.ts.map +1 -1
  43. package/dist/test/index.js +0 -1
  44. package/dist/test/index.js.map +1 -1
  45. package/dist/test/permissions-integration.test.js +1 -1
  46. package/dist/test/permissions-integration.test.js.map +1 -1
  47. package/dist/test/reactor-subgraph-permissions.test.js +1 -1
  48. package/dist/test/reactor-subgraph-permissions.test.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +11 -11
  51. package/dist/src/graphql/drive-subgraph.d.ts +0 -25
  52. package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
  53. package/dist/src/graphql/drive-subgraph.js +0 -499
  54. package/dist/src/graphql/drive-subgraph.js.map +0 -1
  55. package/dist/src/sync/types.d.ts +0 -10
  56. package/dist/src/sync/types.d.ts.map +0 -1
  57. package/dist/src/sync/types.js +0 -2
  58. package/dist/src/sync/types.js.map +0 -1
  59. package/dist/src/sync/utils.d.ts +0 -7
  60. package/dist/src/sync/utils.d.ts.map +0 -1
  61. package/dist/src/sync/utils.js +0 -78
  62. package/dist/src/sync/utils.js.map +0 -1
  63. package/dist/test/document-model-subgraph-legacy-permissions.test.d.ts +0 -2
  64. package/dist/test/document-model-subgraph-legacy-permissions.test.d.ts.map +0 -1
  65. package/dist/test/document-model-subgraph-legacy-permissions.test.js +0 -460
  66. package/dist/test/document-model-subgraph-legacy-permissions.test.js.map +0 -1
  67. package/dist/test/document-model-subgraph.test.d.ts +0 -2
  68. package/dist/test/document-model-subgraph.test.d.ts.map +0 -1
  69. package/dist/test/document-model-subgraph.test.js +0 -439
  70. package/dist/test/document-model-subgraph.test.js.map +0 -1
  71. package/dist/test/drive-handlers.d.ts +0 -4
  72. package/dist/test/drive-handlers.d.ts.map +0 -1
  73. package/dist/test/drive-handlers.js +0 -39
  74. package/dist/test/drive-handlers.js.map +0 -1
  75. package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
  76. package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
  77. package/dist/test/drive-subgraph-permissions.test.js +0 -166
  78. package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
  79. package/dist/test/drive.test.d.ts +0 -2
  80. package/dist/test/drive.test.d.ts.map +0 -1
  81. package/dist/test/drive.test.js +0 -142
  82. package/dist/test/drive.test.js.map +0 -1
  83. package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
  84. package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
  85. package/dist/test/pull-responder-transmitter.test.js +0 -220
  86. package/dist/test/pull-responder-transmitter.test.js.map +0 -1
  87. package/dist/test/push-transmitter.test.d.ts +0 -2
  88. package/dist/test/push-transmitter.test.d.ts.map +0 -1
  89. package/dist/test/push-transmitter.test.js +0 -179
  90. package/dist/test/push-transmitter.test.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/reactor-api",
3
- "version": "6.0.0-dev.67",
3
+ "version": "6.0.0-dev.69",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "repository": {
@@ -68,16 +68,16 @@
68
68
  "read-pkg": "10.1.0",
69
69
  "ws": "^8.18.3",
70
70
  "zod": "4.3.6",
71
- "@powerhousedao/analytics-engine-core": "6.0.0-dev.67",
72
- "@powerhousedao/config": "6.0.0-dev.67",
73
- "@powerhousedao/analytics-engine-pg": "6.0.0-dev.67",
74
- "@powerhousedao/reactor": "6.0.0-dev.67",
75
- "@powerhousedao/analytics-engine-graphql": "6.0.0-dev.67",
76
- "@powerhousedao/reactor-mcp": "6.0.0-dev.67",
77
- "document-drive": "6.0.0-dev.67",
78
- "@renown/sdk": "6.0.0-dev.67",
79
- "@powerhousedao/shared": "6.0.0-dev.67",
80
- "document-model": "6.0.0-dev.67"
71
+ "@powerhousedao/analytics-engine-core": "6.0.0-dev.69",
72
+ "@powerhousedao/analytics-engine-pg": "6.0.0-dev.69",
73
+ "@powerhousedao/analytics-engine-graphql": "6.0.0-dev.69",
74
+ "@powerhousedao/reactor": "6.0.0-dev.69",
75
+ "@powerhousedao/config": "6.0.0-dev.69",
76
+ "@renown/sdk": "6.0.0-dev.69",
77
+ "@powerhousedao/reactor-mcp": "6.0.0-dev.69",
78
+ "document-drive": "6.0.0-dev.69",
79
+ "document-model": "6.0.0-dev.69",
80
+ "@powerhousedao/shared": "6.0.0-dev.69"
81
81
  },
82
82
  "devDependencies": {
83
83
  "@graphql-codegen/cli": "6.1.1",
@@ -1,25 +0,0 @@
1
- import type { GraphQLResolverMap } from "@apollo/subgraph/dist/schema-helper/resolverMap.js";
2
- import type { Context, GqlOperation, SubgraphArgs } from "@powerhousedao/reactor-api";
3
- import type { FileNode } from "document-drive";
4
- import { BaseSubgraph } from "./base-subgraph.js";
5
- export declare const DocumentDriveResolvers: {
6
- DocumentDrive_Node: {
7
- __resolveType: (obj: FileNode) => string;
8
- };
9
- DocumentDrive: {
10
- operations: (obj: unknown, { skip, first }: {
11
- skip?: number;
12
- first?: number;
13
- }, ctx: Context) => GqlOperation[];
14
- };
15
- };
16
- export declare class DriveSubgraph extends BaseSubgraph {
17
- private logger;
18
- constructor(args: SubgraphArgs);
19
- name: string;
20
- typeDefs: import("graphql").DocumentNode;
21
- private getDriveIdBySlugOrId;
22
- private getDriveBySlugOrId;
23
- resolvers: GraphQLResolverMap<Context>;
24
- }
25
- //# sourceMappingURL=drive-subgraph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drive-subgraph.d.ts","sourceRoot":"","sources":["../../../src/graphql/drive-subgraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,KAAK,EACV,OAAO,EAEP,YAAY,EAEZ,YAAY,EACb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAGV,QAAQ,EAMT,MAAM,gBAAgB,CAAC;AAgBxB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASlD,eAAO,MAAM,sBAAsB;;6BAEV,QAAQ;;;;gBA+GjB,CAAC;iBACL,CAAC;;;CAvGZ,CAAC;AAEF,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAGX;gBAES,IAAI,EAAE,YAAY;IAS9B,IAAI,SAAc;IAClB,QAAQ,iCAyKN;YAEY,oBAAoB;YASpB,kBAAkB;IAWhC,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CA2XpC;CACH"}
@@ -1,499 +0,0 @@
1
- import { pascalCase } from "change-case";
2
- import { childLogger, PullResponderTransmitter, responseForDocument, responseForDrive, } from "document-drive";
3
- import { generateId } from "document-model/core";
4
- import { GraphQLError } from "graphql";
5
- import { gql } from "graphql-tag";
6
- import { processAcknowledge, processGetStrands, processPushUpdate, } from "../sync/utils.js";
7
- import { BaseSubgraph } from "./base-subgraph.js";
8
- import { buildGraphQlDriveDocument, IDocumentGraphql } from "./utils.js";
9
- const driveKindTypeNames = {
10
- file: "DocumentDrive_FileNode",
11
- folder: "DocumentDrive_FolderNode",
12
- };
13
- export const DocumentDriveResolvers = {
14
- DocumentDrive_Node: {
15
- __resolveType: (obj) => {
16
- return obj.documentType
17
- ? driveKindTypeNames.file
18
- : driveKindTypeNames.folder;
19
- },
20
- },
21
- DocumentDrive: {
22
- operations: IDocumentGraphql.resolvers.IDocument.operations,
23
- },
24
- };
25
- export class DriveSubgraph extends BaseSubgraph {
26
- logger = childLogger([
27
- "DriveSubgraph",
28
- Math.floor(Math.random() * 999).toString(),
29
- ]);
30
- constructor(args) {
31
- super(args);
32
- this.logger.verbose(`constructor()`);
33
- }
34
- // Note: This GQL declaration depends on the document drive subgraph already
35
- // being registered. If the document drive subgraph is not registered, this
36
- // will throw an error as it relies on those types.
37
- name = "d/:drive";
38
- typeDefs = gql `
39
- type DriveMeta {
40
- preferredEditor: String
41
- }
42
-
43
- extend type DocumentDrive_DocumentDriveState {
44
- meta: DriveMeta
45
- }
46
- extend type DocumentDrive {
47
- meta: DriveMeta
48
- slug: String!
49
- }
50
-
51
- type Query {
52
- system: System
53
- drive: DriveInfo
54
- driveDocument: DocumentDrive
55
- document(id: String!): DriveDocument
56
- documents: [String!]!
57
- }
58
-
59
- type Mutation {
60
- registerPullResponderListener(
61
- filter: InputListenerFilter!
62
- listenerId: String
63
- ): DocumentDrive_Listener
64
- pushUpdates(strands: [InputStrandUpdate!]): [ListenerRevision!]!
65
- acknowledge(
66
- listenerId: String!
67
- revisions: [ListenerRevisionInput]
68
- ): Boolean
69
- }
70
-
71
- input InputOperationSignerUser {
72
- address: String!
73
- networkId: String!
74
- chainId: Int!
75
- }
76
-
77
- type OperationSignerUser {
78
- address: String!
79
- networkId: String!
80
- chainId: Int!
81
- }
82
-
83
- input InputOperationSignerApp {
84
- name: String!
85
- key: String!
86
- }
87
-
88
- type OperationSignerApp {
89
- name: String!
90
- key: String!
91
- }
92
-
93
- type OperationSigner {
94
- app: OperationSignerApp
95
- user: OperationSignerUser
96
- signatures: [[String!]]!
97
- }
98
-
99
- input InputOperationSigner {
100
- app: InputOperationSignerApp
101
- user: InputOperationSignerUser
102
- signatures: [[String!]]!
103
- }
104
-
105
- type OperationContext {
106
- signer: OperationSigner
107
- }
108
-
109
- input InputOperationContext {
110
- signer: InputOperationSigner
111
- }
112
-
113
- input InputOperationUpdate {
114
- index: Int!
115
- skip: Int
116
- type: String!
117
- id: String!
118
- actionId: String!
119
- input: String!
120
- hash: String!
121
- timestampUtcMs: String!
122
- error: String
123
- context: InputOperationContext
124
- }
125
-
126
- type OperationUpdate {
127
- index: Int!
128
- skip: Int
129
- type: String!
130
- id: String!
131
- actionId: String!
132
- input: String!
133
- hash: String!
134
- timestampUtcMs: String!
135
- error: String
136
- context: OperationContext
137
- }
138
-
139
- type StrandUpdate {
140
- driveId: String!
141
- documentId: String!
142
- documentType: String!
143
- scope: String!
144
- branch: String!
145
- operations: [OperationUpdate!]!
146
- }
147
-
148
- input InputStrandUpdate {
149
- driveId: String!
150
- documentId: String!
151
- documentType: String!
152
- scope: String!
153
- branch: String!
154
- operations: [InputOperationUpdate!]!
155
- }
156
-
157
- input InputListenerFilter {
158
- documentType: [String!]
159
- documentId: [String!]
160
- scope: [String!]
161
- branch: [String!]
162
- }
163
-
164
- enum UpdateStatus {
165
- SUCCESS
166
- MISSING
167
- CONFLICT
168
- ERROR
169
- }
170
-
171
- input ListenerRevisionInput {
172
- driveId: String!
173
- documentId: String!
174
- documentType: String!
175
- scope: String!
176
- branch: String!
177
- status: UpdateStatus!
178
- revision: Int!
179
- }
180
-
181
- type ListenerRevision {
182
- driveId: String!
183
- documentId: String!
184
- documentType: String!
185
- scope: String!
186
- branch: String!
187
- status: UpdateStatus!
188
- revision: Int!
189
- error: String
190
- }
191
-
192
- type System {
193
- sync: Sync
194
- }
195
-
196
- type Sync {
197
- strands(listenerId: ID!, since: String): [StrandUpdate!]!
198
- }
199
-
200
- type DriveInfo {
201
- id: String!
202
- name: String!
203
- slug: String!
204
- meta: DriveMeta
205
- icon: String
206
- }
207
- `;
208
- async getDriveIdBySlugOrId(slugOrId) {
209
- try {
210
- return await this.reactor.getDriveIdBySlug(slugOrId);
211
- }
212
- catch {
213
- const drive = await this.reactor.getDrive(slugOrId);
214
- return drive.header.id;
215
- }
216
- }
217
- async getDriveBySlugOrId(slugOrId) {
218
- try {
219
- return await this.reactor.getDriveBySlug(slugOrId);
220
- }
221
- catch {
222
- const drive = await this.reactor.getDrive(slugOrId);
223
- return drive;
224
- }
225
- }
226
- resolvers = {
227
- Asset: {
228
- __resolveType: (obj) => {
229
- return obj.type;
230
- },
231
- },
232
- Node: {
233
- __resolveType: (obj) => {
234
- return obj.documentType
235
- ? driveKindTypeNames.file
236
- : driveKindTypeNames.folder;
237
- },
238
- },
239
- Operation: {
240
- type: (operation) => "type" in operation ? operation.type : operation.action.type,
241
- id: (operation) => operation.id,
242
- },
243
- DriveDocument: {
244
- operations: IDocumentGraphql.resolvers.IDocument.operations,
245
- },
246
- ...DocumentDriveResolvers,
247
- Query: {
248
- drive: async (_, args, ctx) => {
249
- this.logger.verbose(`drive()`, JSON.stringify(args));
250
- if (!ctx.driveId)
251
- throw new Error("Drive ID is required");
252
- const drive = await this.getDriveBySlugOrId(ctx.driveId);
253
- return responseForDrive(drive);
254
- },
255
- driveDocument: async (_, args, ctx) => {
256
- this.logger.verbose(`driveDocument()`, JSON.stringify(args));
257
- if (!ctx.driveId)
258
- throw new Error("Drive ID is required");
259
- const drive = await this.getDriveBySlugOrId(ctx.driveId);
260
- ctx.document = drive;
261
- return buildGraphQlDriveDocument(drive);
262
- },
263
- documents: async (_, args, ctx) => {
264
- this.logger.verbose(`documents(drive: ${ctx.driveId})`, args);
265
- if (!ctx.driveId)
266
- throw new Error("Drive ID is required");
267
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
268
- const documents = await this.reactor.getDocuments(driveId);
269
- return documents;
270
- },
271
- document: async (_, { id }, ctx) => {
272
- this.logger.verbose(`document(drive: ${ctx.driveId}, id: ${id})`);
273
- if (!ctx.driveId)
274
- throw new Error("Drive ID is required");
275
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
276
- if (id !== driveId) {
277
- const driveDocuments = await this.reactor.getDocuments(driveId);
278
- if (!driveDocuments.includes(id)) {
279
- throw new GraphQLError("Document is not part of this drive");
280
- }
281
- }
282
- const document = await this.reactor.getDocument(id);
283
- const dms = this.reactor.getDocumentModelModules();
284
- const dm = dms.find(({ documentModel }) => documentModel.global.id === document.header.documentType);
285
- let node;
286
- const driveDocument = await this.reactor.getDrive(driveId);
287
- if (driveDocument?.state?.global?.nodes) {
288
- node = driveDocument.state.global.nodes.find((node) => node.id === id);
289
- }
290
- // eslint-disable-next-line
291
- const globalState = document.state.global;
292
- if (!globalState)
293
- throw new Error("Document was found with no global state");
294
- const typeName = pascalCase((dm?.documentModel.global.name || "").replaceAll("/", " "));
295
- ctx.document = document;
296
- return responseForDocument(document, typeName, node?.name);
297
- },
298
- system: () => ({ sync: {} }),
299
- },
300
- Mutation: {
301
- registerPullResponderListener: async (_, { filter, listenerId }, ctx) => {
302
- this.logger.verbose(`registerPullResponderListener(drive: ${ctx.driveId})`, filter);
303
- if (!ctx.driveId) {
304
- throw new Error("Drive ID is required");
305
- }
306
- const reactorDriveId = await this.getDriveIdBySlugOrId(ctx.driveId);
307
- // Check read permission
308
- if (this.authorizationService) {
309
- const canRead = await this.authorizationService.canRead(reactorDriveId, ctx.user?.address);
310
- if (!canRead) {
311
- this.logger.warn(`registerPullResponderListener rejected: user ${ctx.user?.address ?? "anonymous"} lacks read permission for drive ${reactorDriveId}`);
312
- throw new GraphQLError("Forbidden: insufficient permissions to read from this drive");
313
- }
314
- }
315
- else {
316
- // Legacy fallback
317
- const isGlobalAdmin = !!ctx.isAdmin?.(ctx.user?.address ?? "");
318
- if (!isGlobalAdmin && this.documentPermissionService) {
319
- const canRead = await this.documentPermissionService.canReadDocument(reactorDriveId, ctx.user?.address);
320
- if (!canRead) {
321
- throw new GraphQLError("Forbidden: insufficient permissions to read from this drive");
322
- }
323
- }
324
- else if (!isGlobalAdmin) {
325
- throw new GraphQLError("Forbidden");
326
- }
327
- }
328
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
329
- // Create the listener and transmitter
330
- const uuid = listenerId ?? generateId();
331
- const listener = {
332
- driveId: driveId,
333
- listenerId: uuid,
334
- block: false,
335
- filter,
336
- system: false,
337
- label: `Pullresponder #${uuid}`,
338
- callInfo: {
339
- data: "",
340
- name: "PullResponder",
341
- transmitterType: "PullResponder",
342
- },
343
- };
344
- // TODO: circular reference
345
- // TODO: once we have DI, remove this and pass around
346
- const listenerManager = this.reactor.listeners;
347
- listener.transmitter = new PullResponderTransmitter(listener, listenerManager);
348
- // set the listener on the manager directly (bypassing operations)
349
- try {
350
- await listenerManager.setListener(driveId, listener);
351
- }
352
- catch (error) {
353
- this.logger.error(`Failed to register ephemeral listener: ${error}`);
354
- throw new Error(`Listener couldn't be registered: ${error}`);
355
- }
356
- // for backwards compatibility: return everything but the transmitter
357
- return {
358
- driveId: listener.driveId,
359
- listenerId: listener.listenerId,
360
- label: listener.label,
361
- block: listener.block,
362
- system: listener.system,
363
- filter: listener.filter,
364
- callInfo: listener.callInfo,
365
- };
366
- },
367
- pushUpdates: async (_, { strands: strandsGql }, ctx) => {
368
- if (!ctx.driveId)
369
- throw new Error("Drive ID is required");
370
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
371
- this.logger.verbose(`pushUpdates(drive: slug:${ctx.driveId} id:${driveId})`, strandsGql);
372
- // Check write permission
373
- if (this.authorizationService) {
374
- const canWrite = await this.authorizationService.canWrite(driveId, ctx.user?.address);
375
- if (!canWrite) {
376
- this.logger.warn(`pushUpdates rejected: user ${ctx.user?.address ?? "anonymous"} lacks write permission for drive ${driveId}`);
377
- throw new GraphQLError("Forbidden: insufficient permissions to write to this drive");
378
- }
379
- }
380
- else {
381
- // Legacy fallback
382
- const isGlobalAdmin = !!ctx.isAdmin?.(ctx.user?.address ?? "");
383
- if (!isGlobalAdmin && this.documentPermissionService) {
384
- const canWrite = await this.documentPermissionService.canWriteDocument(driveId, ctx.user?.address);
385
- if (!canWrite) {
386
- throw new GraphQLError("Forbidden: insufficient permissions to write to this drive");
387
- }
388
- }
389
- else if (!isGlobalAdmin) {
390
- throw new GraphQLError("Forbidden");
391
- }
392
- }
393
- // translate data types
394
- const strands = strandsGql.map((strandGql) => {
395
- return {
396
- operations: strandGql.operations.map((op) => ({
397
- index: op.index,
398
- skip: op.skip ?? 0,
399
- timestampUtcMs: op.timestampUtcMs,
400
- hash: op.hash,
401
- id: op.id,
402
- // Map GraphQL context to Action.context (only signer is defined in schema)
403
- action: {
404
- id: op.actionId,
405
- type: op.type,
406
- timestampUtcMs: op.timestampUtcMs,
407
- scope: strandGql.scope,
408
- input: JSON.parse(op.input),
409
- context: op.context,
410
- },
411
- })),
412
- documentId: strandGql.documentId,
413
- documentType: strandGql.documentType,
414
- driveId: strandGql.driveId,
415
- scope: strandGql.scope,
416
- branch: strandGql.branch,
417
- };
418
- });
419
- // return a list of listener revisions
420
- return await Promise.all(strands.map((strand) => processPushUpdate(this.reactor, strand)));
421
- },
422
- acknowledge: async (_, { listenerId, revisions, }, ctx) => {
423
- if (!listenerId || !revisions)
424
- return false;
425
- if (!ctx.driveId)
426
- throw new Error("Drive ID is required");
427
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
428
- this.logger.verbose(`acknowledge(drive: ${ctx.driveId}/${driveId}, listenerId: ${listenerId})`, revisions);
429
- // translate data types
430
- const validEntries = revisions
431
- .filter((r) => r !== null)
432
- .map((e) => ({
433
- driveId: e.driveId,
434
- documentId: e.documentId,
435
- documentType: e.documentType,
436
- scope: e.scope,
437
- branch: e.branch,
438
- revision: e.revision,
439
- status: e.status,
440
- }));
441
- // return a boolean indicating if the acknowledge was successful
442
- return await processAcknowledge(this.reactor, driveId, listenerId, validEntries);
443
- },
444
- },
445
- System: {},
446
- Sync: {
447
- strands: async (_, { listenerId, since, }, ctx) => {
448
- if (!ctx.driveId)
449
- throw new Error("Drive ID is required");
450
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
451
- this.logger.verbose(`strands(drive: ${ctx.driveId}/${driveId}, listenerId: ${listenerId}, since:${since})`);
452
- // Check read permission
453
- if (this.authorizationService) {
454
- const canRead = await this.authorizationService.canRead(driveId, ctx.user?.address);
455
- if (!canRead) {
456
- this.logger.warn(`strands filtered: user ${ctx.user?.address ?? "anonymous"} lacks read permission for drive ${driveId}`);
457
- return [];
458
- }
459
- }
460
- else {
461
- // Legacy fallback
462
- const isGlobalAdmin = !!ctx.isAdmin?.(ctx.user?.address ?? "");
463
- if (!isGlobalAdmin && this.documentPermissionService) {
464
- const canRead = await this.documentPermissionService.canReadDocument(driveId, ctx.user?.address);
465
- if (!canRead) {
466
- return [];
467
- }
468
- }
469
- else if (!isGlobalAdmin) {
470
- return [];
471
- }
472
- }
473
- // get the requested strand updates
474
- const strands = await processGetStrands(this.reactor, driveId, listenerId, since);
475
- // translate data types
476
- return strands.map((update) => ({
477
- driveId: update.driveId,
478
- documentId: update.documentId,
479
- documentType: update.documentType,
480
- scope: update.scope,
481
- branch: update.branch,
482
- operations: update.operations.map((op) => ({
483
- index: op.index,
484
- skip: op.skip,
485
- // no extra name field; GraphQL schema exposes `type`
486
- input: JSON.stringify(op.input),
487
- hash: op.hash,
488
- timestampUtcMs: op.timestampUtcMs,
489
- type: op.type,
490
- context: op.context,
491
- id: op.id,
492
- actionId: op.actionId,
493
- })),
494
- }));
495
- },
496
- },
497
- };
498
- }
499
- //# sourceMappingURL=drive-subgraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drive-subgraph.js","sourceRoot":"","sources":["../../../src/graphql/drive-subgraph.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { Operation } from "document-model";
2
- export type InternalStrandUpdate = {
3
- operations: Operation[];
4
- documentId: string;
5
- documentType: string;
6
- driveId: string;
7
- scope: string;
8
- branch: string;
9
- };
10
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import type { IDocumentDriveServer, ListenerRevision, StrandUpdate } from "document-drive";
2
- import type { InternalStrandUpdate } from "@powerhousedao/reactor-api";
3
- export declare const processPushUpdate: (reactor: IDocumentDriveServer, strand: InternalStrandUpdate) => Promise<ListenerRevision>;
4
- export declare const processPushNewDocument: (reactor: IDocumentDriveServer, strand: InternalStrandUpdate) => Promise<ListenerRevision>;
5
- export declare const processAcknowledge: (reactor: IDocumentDriveServer, driveId: string, listenerId: string, revisions: ListenerRevision[]) => Promise<boolean>;
6
- export declare const processGetStrands: (reactor: IDocumentDriveServer, driveId: string, listenerId: string, since: string | undefined) => Promise<StrandUpdate[]>;
7
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/sync/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAEhB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,eAAO,MAAM,iBAAiB,GAC5B,SAAS,oBAAoB,EAC7B,QAAQ,oBAAoB,KAC3B,OAAO,CAAC,gBAAgB,CA4B1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,SAAS,oBAAoB,EAC7B,QAAQ,oBAAoB,KAC3B,OAAO,CAAC,gBAAgB,CAuC1B,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,oBAAoB,EAC7B,SAAS,MAAM,EACf,YAAY,MAAM,EAClB,WAAW,gBAAgB,EAAE,KAC5B,OAAO,CAAC,OAAO,CAKjB,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,oBAAoB,EAC7B,SAAS,MAAM,EACf,YAAY,MAAM,EAClB,OAAO,MAAM,GAAG,SAAS,KACxB,OAAO,CAAC,YAAY,EAAE,CAKxB,CAAC"}