@powerhousedao/reactor-browser 6.2.2-dev.9 → 6.2.2-staging.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +341 -0
- package/dist/attachment-service-KFFLBEuD.d.ts +1062 -0
- package/dist/attachment-service-KFFLBEuD.d.ts.map +1 -0
- package/dist/{client-u13cr-Vg.js → client-B8ezRmBB.js} +30 -3
- package/dist/client-B8ezRmBB.js.map +1 -0
- package/dist/client-BIHN_UyR.d.ts +14 -0
- package/dist/client-BIHN_UyR.d.ts.map +1 -0
- package/dist/{client-_Gh2Uf0E.js → client-D66jVnot.js} +79 -13
- package/dist/client-D66jVnot.js.map +1 -0
- package/dist/{document-by-id-dLYFX-xz.js → document-by-id-BSZqTN66.js} +81 -51
- package/dist/document-by-id-BSZqTN66.js.map +1 -0
- package/dist/document-model-modules-DfQBNGc-.js +419 -0
- package/dist/document-model-modules-DfQBNGc-.js.map +1 -0
- package/dist/document-operations-CBExT76y.js +2544 -0
- package/dist/document-operations-CBExT76y.js.map +1 -0
- package/dist/global-1rvI8VdA.d.ts +400 -0
- package/dist/global-1rvI8VdA.d.ts.map +1 -0
- package/dist/index-BE3wBHLP.d.ts +349 -0
- package/dist/index-BE3wBHLP.d.ts.map +1 -0
- package/dist/index-BIVDXw3K.d.ts +144 -0
- package/dist/index-BIVDXw3K.d.ts.map +1 -0
- package/dist/index.d.ts +385 -718
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +957 -1712
- package/dist/index.js.map +1 -1
- package/dist/{inspector-proxy-CvQDDxmT.d.ts → inspector-proxy-6h5VKAwt.d.ts} +4 -2
- package/dist/inspector-proxy-6h5VKAwt.d.ts.map +1 -0
- package/dist/{make-ph-event-functions-BHoLPif5.js → make-ph-event-functions-DBq3iWYn.js} +1 -1
- package/dist/{make-ph-event-functions-BHoLPif5.js.map → make-ph-event-functions-DBq3iWYn.js.map} +1 -1
- package/dist/{index-DS4W07Y8.d.ts → pglite-CntadC_p-9NDG14dS.d.ts} +2 -142
- package/dist/pglite-CntadC_p-9NDG14dS.d.ts.map +1 -0
- package/dist/{relational-Dj06-YkI.js → relational-D4sxGPz7.js} +2 -2
- package/dist/{relational-Dj06-YkI.js.map → relational-D4sxGPz7.js.map} +1 -1
- package/dist/renown-BHxwP7xU.js +97 -0
- package/dist/renown-BHxwP7xU.js.map +1 -0
- package/dist/{renown-D-1c_Bvx.js → renown-BIEv6bSI.js} +523 -57
- package/dist/renown-BIEv6bSI.js.map +1 -0
- package/dist/src/ai/index.d.ts +371 -0
- package/dist/src/ai/index.d.ts.map +1 -0
- package/dist/src/ai/index.js +1067 -0
- package/dist/src/ai/index.js.map +1 -0
- package/dist/src/analytics/index.d.ts +1 -1
- package/dist/src/analytics/index.js +2 -1
- package/dist/src/analytics/index.js.map +1 -1
- package/dist/src/graphql/client.d.ts +3 -2
- package/dist/src/graphql/client.js +1 -1
- package/dist/src/graphql-client/entry.d.ts +4 -0
- package/dist/src/graphql-client/entry.js +4 -0
- package/dist/src/relational/index.d.ts +1 -1
- package/dist/src/relational/index.js +1 -1
- package/dist/src/renown/index.d.ts +2 -2
- package/dist/src/renown/index.js +3 -2
- package/dist/src/rpc/index.d.ts +6 -3
- package/dist/src/rpc/index.d.ts.map +1 -1
- package/dist/src/rpc/index.js +41 -10
- package/dist/src/rpc/index.js.map +1 -1
- package/dist/store-BJYcr_FL.js +37 -0
- package/dist/store-BJYcr_FL.js.map +1 -0
- package/dist/switchboard-D4-_jwk-.js +271 -0
- package/dist/switchboard-D4-_jwk-.js.map +1 -0
- package/dist/{types-CPV0Cnsy.d.ts → types-6vDzbRRS.d.ts} +1 -1
- package/dist/{types-CPV0Cnsy.d.ts.map → types-6vDzbRRS.d.ts.map} +1 -1
- package/dist/{client-09xv0Dq6.d.ts → types-Dcv1ZLoW.d.ts} +87 -19
- package/dist/types-Dcv1ZLoW.d.ts.map +1 -0
- package/package.json +27 -10
- package/dist/client-09xv0Dq6.d.ts.map +0 -1
- package/dist/client-_Gh2Uf0E.js.map +0 -1
- package/dist/client-u13cr-Vg.js.map +0 -1
- package/dist/document-by-id-dLYFX-xz.js.map +0 -1
- package/dist/index-D3bV5rcl.d.ts +0 -216
- package/dist/index-D3bV5rcl.d.ts.map +0 -1
- package/dist/index-DS4W07Y8.d.ts.map +0 -1
- package/dist/inspector-proxy-CvQDDxmT.d.ts.map +0 -1
- package/dist/renown-D-1c_Bvx.js.map +0 -1
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { t as useDocumentById } from "./document-by-id-BSZqTN66.js";
|
|
2
|
+
import { G as DocumentTypeMismatchError, H as ambientRenownTokenProvider, K as NoSelectedDocumentError, s as useSelectedNode, t as useDocumentModelModuleById } from "./document-model-modules-DfQBNGc-.js";
|
|
3
|
+
import { isFileNode } from "@powerhousedao/shared/document-drive";
|
|
4
|
+
import { DriveCollectionId, ModuleNotFoundError } from "@powerhousedao/reactor";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
//#region src/hooks/document-of-type.ts
|
|
7
|
+
/** Returns a document of a specific type, throws an error if the found document has a different type */
|
|
8
|
+
function useDocumentOfType(documentId, documentType) {
|
|
9
|
+
const [document, dispatch] = useDocumentById(documentId);
|
|
10
|
+
const documentModelModule = useDocumentModelModuleById(documentType);
|
|
11
|
+
if (!documentId || !documentType) return [];
|
|
12
|
+
if (!document) throw new Error(`Document not found: ${documentId}`);
|
|
13
|
+
if (!documentModelModule) throw new ModuleNotFoundError(documentType);
|
|
14
|
+
if (document.header.documentType !== documentType) throw new DocumentTypeMismatchError(documentId, documentType, document.header.documentType);
|
|
15
|
+
return [document, dispatch];
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/hooks/selected-document.ts
|
|
19
|
+
/** Returns the selected document id */
|
|
20
|
+
function useSelectedDocumentId() {
|
|
21
|
+
const selectedNode = useSelectedNode();
|
|
22
|
+
return selectedNode && isFileNode(selectedNode) ? selectedNode.id : void 0;
|
|
23
|
+
}
|
|
24
|
+
/** Returns the selected document. */
|
|
25
|
+
function useSelectedDocument() {
|
|
26
|
+
const [document, dispatch] = useDocumentById(useSelectedDocumentId());
|
|
27
|
+
if (!document) throw new NoSelectedDocumentError();
|
|
28
|
+
return [document, dispatch];
|
|
29
|
+
}
|
|
30
|
+
/** Returns the selected document. */
|
|
31
|
+
function useSelectedDocumentSafe() {
|
|
32
|
+
return useDocumentById(useSelectedDocumentId());
|
|
33
|
+
}
|
|
34
|
+
function useSelectedDocumentOfType(documentType) {
|
|
35
|
+
const documentId = useSelectedDocumentId();
|
|
36
|
+
if (!documentType) return [];
|
|
37
|
+
if (!documentId) throw new NoSelectedDocumentError();
|
|
38
|
+
return useDocumentOfType(documentId, documentType);
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/ai/switchboard.ts
|
|
42
|
+
/**
|
|
43
|
+
* Reads the tab-side sync manager from the browser global. Returns
|
|
44
|
+
* `undefined` in non-browser environments or before the reactor client
|
|
45
|
+
* module is initialized.
|
|
46
|
+
*/
|
|
47
|
+
function getBrowserSyncManager() {
|
|
48
|
+
if (typeof window === "undefined") return;
|
|
49
|
+
return window.ph?.reactorClientModule?.reactorModule?.syncModule?.syncManager;
|
|
50
|
+
}
|
|
51
|
+
/** Suffix of the per-drive GraphQL channel endpoint the switchboard serves. */
|
|
52
|
+
const GQL_CHANNEL_SUFFIX = "/graphql/r";
|
|
53
|
+
/**
|
|
54
|
+
* Resolves the switchboard that serves a drive, if any.
|
|
55
|
+
*
|
|
56
|
+
* Every remote drive stores its switchboard's exact GraphQL channel
|
|
57
|
+
* endpoint in its sync remote — `channelConfig = { type: "gql",
|
|
58
|
+
* parameters: { url: "<origin>/graphql/r" } }` — and the switchboard base
|
|
59
|
+
* is that URL minus the `/graphql/r` suffix. Deriving it per drive (rather
|
|
60
|
+
* than from a global setting) is what keeps multi-switchboard deployments
|
|
61
|
+
* correct. Drives that are not synced to a remote switchboard (local
|
|
62
|
+
* drives, other channel types, unexpected shapes) return `undefined`.
|
|
63
|
+
*/
|
|
64
|
+
function resolveDriveSwitchboard(driveId, syncManager) {
|
|
65
|
+
const manager = syncManager ?? getBrowserSyncManager();
|
|
66
|
+
if (!driveId || !manager) return;
|
|
67
|
+
const collectionId = DriveCollectionId.forDrive(driveId);
|
|
68
|
+
const remote = manager.list().find((r) => r.meta.collectionId.equals(collectionId));
|
|
69
|
+
if (!remote) return;
|
|
70
|
+
const { channelConfig } = remote.meta;
|
|
71
|
+
if (channelConfig.type !== "gql") return;
|
|
72
|
+
const url = channelConfig.parameters.url;
|
|
73
|
+
if (typeof url !== "string" || !url.endsWith("/graphql/r")) return;
|
|
74
|
+
const switchboardUrl = url.slice(0, -10);
|
|
75
|
+
return {
|
|
76
|
+
switchboardUrl,
|
|
77
|
+
graphqlUrl: `${switchboardUrl}/graphql`
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Introspection over the switchboard supergraph's root query and mutation
|
|
82
|
+
* fields. Types are requested with three levels of `ofType` nesting so
|
|
83
|
+
* that common shapes like `[X!]!` (LIST(NON_NULL(LIST(X)))) render fully.
|
|
84
|
+
*/
|
|
85
|
+
const SWITCHBOARD_INTROSPECTION_QUERY = `
|
|
86
|
+
query SwitchboardIntrospection {
|
|
87
|
+
__schema {
|
|
88
|
+
queryType {
|
|
89
|
+
fields {
|
|
90
|
+
name
|
|
91
|
+
description
|
|
92
|
+
args {
|
|
93
|
+
name
|
|
94
|
+
type {
|
|
95
|
+
kind
|
|
96
|
+
name
|
|
97
|
+
ofType {
|
|
98
|
+
kind
|
|
99
|
+
name
|
|
100
|
+
ofType {
|
|
101
|
+
kind
|
|
102
|
+
name
|
|
103
|
+
ofType {
|
|
104
|
+
kind
|
|
105
|
+
name
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
type {
|
|
112
|
+
kind
|
|
113
|
+
name
|
|
114
|
+
ofType {
|
|
115
|
+
kind
|
|
116
|
+
name
|
|
117
|
+
ofType {
|
|
118
|
+
kind
|
|
119
|
+
name
|
|
120
|
+
ofType {
|
|
121
|
+
kind
|
|
122
|
+
name
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
mutationType {
|
|
130
|
+
fields {
|
|
131
|
+
name
|
|
132
|
+
description
|
|
133
|
+
args {
|
|
134
|
+
name
|
|
135
|
+
type {
|
|
136
|
+
kind
|
|
137
|
+
name
|
|
138
|
+
ofType {
|
|
139
|
+
kind
|
|
140
|
+
name
|
|
141
|
+
ofType {
|
|
142
|
+
kind
|
|
143
|
+
name
|
|
144
|
+
ofType {
|
|
145
|
+
kind
|
|
146
|
+
name
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
type {
|
|
153
|
+
kind
|
|
154
|
+
name
|
|
155
|
+
ofType {
|
|
156
|
+
kind
|
|
157
|
+
name
|
|
158
|
+
ofType {
|
|
159
|
+
kind
|
|
160
|
+
name
|
|
161
|
+
ofType {
|
|
162
|
+
kind
|
|
163
|
+
name
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
`;
|
|
173
|
+
/**
|
|
174
|
+
* Renders an introspected type reference as a GraphQL type string.
|
|
175
|
+
* Recursion is bounded by the `ofType` nesting of the query, so it always
|
|
176
|
+
* terminates.
|
|
177
|
+
*/
|
|
178
|
+
function renderTypeRef(type) {
|
|
179
|
+
if (!type) return "Unknown";
|
|
180
|
+
switch (type.kind) {
|
|
181
|
+
case "NON_NULL": return `${renderTypeRef(type.ofType)}!`;
|
|
182
|
+
case "LIST": return `[${renderTypeRef(type.ofType)}]`;
|
|
183
|
+
default: return type.name ?? "Unknown";
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/** Cap on the number of fields reported per root type. */
|
|
187
|
+
const MAX_FIELDS_PER_ROOT = 200;
|
|
188
|
+
function summarizeFields(fields) {
|
|
189
|
+
const list = fields ?? [];
|
|
190
|
+
return {
|
|
191
|
+
fields: list.slice(0, MAX_FIELDS_PER_ROOT).map((field) => ({
|
|
192
|
+
name: field.name,
|
|
193
|
+
...field.description ? { description: field.description } : {},
|
|
194
|
+
args: field.args.map((arg) => `${arg.name}: ${renderTypeRef(arg.type)}`).join(", "),
|
|
195
|
+
returns: renderTypeRef(field.type)
|
|
196
|
+
})),
|
|
197
|
+
truncated: list.length > MAX_FIELDS_PER_ROOT
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Reduces a GraphQL `__schema` introspection payload (the `data.__schema`
|
|
202
|
+
* object) to a compact summary of its root query and mutation fields.
|
|
203
|
+
* Accepts `unknown` because the payload arrives over the wire.
|
|
204
|
+
*/
|
|
205
|
+
function summarizeIntrospectionSchema(schema) {
|
|
206
|
+
const introspection = schema ?? {};
|
|
207
|
+
const queries = summarizeFields(introspection.queryType?.fields);
|
|
208
|
+
const mutations = summarizeFields(introspection.mutationType?.fields);
|
|
209
|
+
return {
|
|
210
|
+
queries: queries.fields,
|
|
211
|
+
mutations: mutations.fields,
|
|
212
|
+
truncated: queries.truncated || mutations.truncated
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
const SWITCHBOARD_SCHEMA_TOOL_NAME = "getSwitchboardSchema";
|
|
216
|
+
/**
|
|
217
|
+
* Creates the read-only `getSwitchboardSchema` tool: it introspects the
|
|
218
|
+
* GraphQL supergraph of the switchboard serving a drive and returns a
|
|
219
|
+
* summary of its root queries and mutations. It reads the schema only and
|
|
220
|
+
* never modifies data.
|
|
221
|
+
*/
|
|
222
|
+
function createSwitchboardSchemaTool(deps) {
|
|
223
|
+
const getSyncManager = deps?.getSyncManager ?? getBrowserSyncManager;
|
|
224
|
+
const getSelectedDriveId = deps?.getSelectedDriveId ?? (() => typeof window === "undefined" ? void 0 : window.ph?.selectedDriveId);
|
|
225
|
+
const tokenProvider = deps?.tokenProvider ?? ambientRenownTokenProvider;
|
|
226
|
+
const fetchImpl = deps?.fetchImpl ?? fetch;
|
|
227
|
+
const timeoutMs = deps?.timeoutMs ?? 1e4;
|
|
228
|
+
return {
|
|
229
|
+
name: SWITCHBOARD_SCHEMA_TOOL_NAME,
|
|
230
|
+
description: "Introspect the GraphQL endpoint of the switchboard serving a drive and list the queries and mutations it exposes (reactor operations, document-model read models, package subgraphs). Read-only: it reads the schema only and never modifies data. Omit driveId to introspect the currently selected drive.",
|
|
231
|
+
inputSchema: { driveId: z.string().describe("Drive to introspect. Omit to use the currently selected drive.").optional() },
|
|
232
|
+
annotations: { readOnlyHint: true },
|
|
233
|
+
callback: async (input) => {
|
|
234
|
+
const driveId = input?.driveId ?? getSelectedDriveId();
|
|
235
|
+
const sb = resolveDriveSwitchboard(driveId, getSyncManager());
|
|
236
|
+
if (!sb) throw new Error(driveId ? `Drive "${driveId}" has no switchboard: it is not synced to a remote switchboard.` : "No drive is currently selected and no driveId was given.");
|
|
237
|
+
const token = await tokenProvider();
|
|
238
|
+
let response;
|
|
239
|
+
try {
|
|
240
|
+
response = await fetchImpl(sb.graphqlUrl, {
|
|
241
|
+
method: "POST",
|
|
242
|
+
headers: {
|
|
243
|
+
"content-type": "application/json",
|
|
244
|
+
...token ? { authorization: `Bearer ${token}` } : {}
|
|
245
|
+
},
|
|
246
|
+
body: JSON.stringify({ query: SWITCHBOARD_INTROSPECTION_QUERY }),
|
|
247
|
+
signal: AbortSignal.timeout(timeoutMs)
|
|
248
|
+
});
|
|
249
|
+
} catch (error) {
|
|
250
|
+
throw new Error(`Switchboard at ${sb.graphqlUrl} is not reachable: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
251
|
+
}
|
|
252
|
+
if (response.status === 401 || response.status === 403) throw new Error(`Switchboard at ${sb.graphqlUrl} refused the request (HTTP ${response.status}). Sign in to the switchboard (Renown) and try again.`);
|
|
253
|
+
if (!response.ok) throw new Error(`Switchboard introspection failed: HTTP ${response.status} ${response.statusText} from ${sb.graphqlUrl}`);
|
|
254
|
+
const body = await response.json();
|
|
255
|
+
const schemaErrors = body?.errors;
|
|
256
|
+
if (schemaErrors && schemaErrors.length > 0) throw new Error(schemaErrors.map((e) => e.message ?? "unknown error").join("; "));
|
|
257
|
+
const schema = body?.data?.__schema;
|
|
258
|
+
if (!schema?.queryType) throw new Error(`Switchboard at ${sb.graphqlUrl} did not return a GraphQL schema.`);
|
|
259
|
+
const summary = summarizeIntrospectionSchema(schema);
|
|
260
|
+
return {
|
|
261
|
+
switchboardUrl: sb.switchboardUrl,
|
|
262
|
+
graphqlUrl: sb.graphqlUrl,
|
|
263
|
+
...summary
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
//#endregion
|
|
269
|
+
export { getBrowserSyncManager as a, useSelectedDocument as c, useSelectedDocumentSafe as d, useDocumentOfType as f, createSwitchboardSchemaTool as i, useSelectedDocumentId as l, SWITCHBOARD_INTROSPECTION_QUERY as n, resolveDriveSwitchboard as o, SWITCHBOARD_SCHEMA_TOOL_NAME as r, summarizeIntrospectionSchema as s, GQL_CHANNEL_SUFFIX as t, useSelectedDocumentOfType as u };
|
|
270
|
+
|
|
271
|
+
//# sourceMappingURL=switchboard-D4-_jwk-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchboard-D4-_jwk-.js","names":[],"sources":["../src/hooks/document-of-type.ts","../src/hooks/selected-document.ts","../src/ai/switchboard.ts"],"sourcesContent":["import { ModuleNotFoundError } from \"@powerhousedao/reactor\";\nimport type { DocumentDispatch } from \"@powerhousedao/reactor-browser\";\nimport type { Action, PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { DocumentTypeMismatchError } from \"../errors.js\";\nimport { useDocumentById } from \"./document-by-id.js\";\nimport { useDocumentModelModuleById } from \"./document-model-modules.js\";\n\n/** Returns a document of a specific type, throws an error if the found document has a different type */\nexport function useDocumentOfType<\n TDocument extends PHDocument,\n TAction extends Action,\n>(\n documentId: string | null | undefined,\n documentType: string | null | undefined,\n) {\n const [document, dispatch] = useDocumentById(documentId);\n const documentModelModule = useDocumentModelModuleById(documentType);\n\n if (!documentId || !documentType) return [];\n\n if (!document) {\n throw new Error(`Document not found: ${documentId}`);\n }\n if (!documentModelModule) {\n throw new ModuleNotFoundError(documentType);\n }\n\n if (document.header.documentType !== documentType) {\n throw new DocumentTypeMismatchError(\n documentId,\n documentType,\n document.header.documentType,\n );\n }\n\n return [document, dispatch] as [TDocument, DocumentDispatch<TAction>];\n}\n","import type { DocumentDispatch } from \"@powerhousedao/reactor-browser\";\nimport { isFileNode } from \"@powerhousedao/shared/document-drive\";\nimport type { Action, PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { NoSelectedDocumentError } from \"../errors.js\";\nimport type { DispatchFn, UseDispatchResult } from \"./dispatch.js\";\nimport { useDocumentById } from \"./document-by-id.js\";\nimport { useDocumentOfType } from \"./document-of-type.js\";\nimport { useSelectedNode } from \"./selected-node.js\";\n\n/** Returns the selected document id */\nexport function useSelectedDocumentId(): string | undefined {\n const selectedNode = useSelectedNode();\n return selectedNode && isFileNode(selectedNode) ? selectedNode.id : undefined;\n}\n\n/** Returns the selected document. */\nexport function useSelectedDocument(): readonly [\n PHDocument,\n DispatchFn<Action>,\n] {\n const selectedDocumentId = useSelectedDocumentId();\n const [document, dispatch] = useDocumentById(selectedDocumentId);\n if (!document) {\n throw new NoSelectedDocumentError();\n }\n return [document, dispatch] as const;\n}\n\n/** Returns the selected document. */\nexport function useSelectedDocumentSafe(): UseDispatchResult<\n PHDocument,\n Action\n> {\n const selectedDocumentId = useSelectedDocumentId();\n return useDocumentById(selectedDocumentId);\n}\n\n/** Returns the selected document of a specific type, throws an error if the found document has a different type */\nexport function useSelectedDocumentOfType(\n documentType: null | undefined,\n): never[];\nexport function useSelectedDocumentOfType<\n TDocument extends PHDocument,\n TAction extends Action,\n>(documentType: string): [TDocument, DocumentDispatch<TAction>];\nexport function useSelectedDocumentOfType<\n TDocument extends PHDocument,\n TAction extends Action,\n>(\n documentType: string | null | undefined,\n): never[] | [TDocument, DocumentDispatch<TAction>] {\n const documentId = useSelectedDocumentId();\n\n if (!documentType) {\n return [];\n }\n if (!documentId) {\n throw new NoSelectedDocumentError();\n }\n return useDocumentOfType<TDocument, TAction>(documentId, documentType);\n}\n","import { DriveCollectionId, type ISyncManager } from \"@powerhousedao/reactor\";\nimport { z } from \"zod\";\nimport { ambientRenownTokenProvider } from \"../graphql-client/auth.js\";\nimport type { AiToolDescriptor } from \"./types.js\";\n\n/**\n * The switchboard serving a remote drive: the base URL the browser talks to\n * and its GraphQL supergraph endpoint.\n */\nexport interface DriveSwitchboard {\n /** Switchboard base URL (e.g. `http://localhost:4001`). */\n switchboardUrl: string;\n /** GraphQL supergraph endpoint (`<base>/graphql`). */\n graphqlUrl: string;\n}\n\n/**\n * Reads the tab-side sync manager from the browser global. Returns\n * `undefined` in non-browser environments or before the reactor client\n * module is initialized.\n */\nexport function getBrowserSyncManager(): ISyncManager | undefined {\n if (typeof window === \"undefined\") {\n return undefined;\n }\n return window.ph?.reactorClientModule?.reactorModule?.syncModule?.syncManager;\n}\n\n/** Suffix of the per-drive GraphQL channel endpoint the switchboard serves. */\nexport const GQL_CHANNEL_SUFFIX = \"/graphql/r\";\n\n/**\n * Resolves the switchboard that serves a drive, if any.\n *\n * Every remote drive stores its switchboard's exact GraphQL channel\n * endpoint in its sync remote — `channelConfig = { type: \"gql\",\n * parameters: { url: \"<origin>/graphql/r\" } }` — and the switchboard base\n * is that URL minus the `/graphql/r` suffix. Deriving it per drive (rather\n * than from a global setting) is what keeps multi-switchboard deployments\n * correct. Drives that are not synced to a remote switchboard (local\n * drives, other channel types, unexpected shapes) return `undefined`.\n */\nexport function resolveDriveSwitchboard(\n driveId: string | undefined,\n syncManager?: ISyncManager,\n): DriveSwitchboard | undefined {\n const manager = syncManager ?? getBrowserSyncManager();\n if (!driveId || !manager) {\n return undefined;\n }\n const collectionId = DriveCollectionId.forDrive(driveId);\n const remote = manager\n .list()\n .find((r) => r.meta.collectionId.equals(collectionId));\n if (!remote) {\n return undefined;\n }\n const { channelConfig } = remote.meta;\n if (channelConfig.type !== \"gql\") {\n return undefined;\n }\n const url = channelConfig.parameters.url;\n if (typeof url !== \"string\" || !url.endsWith(GQL_CHANNEL_SUFFIX)) {\n return undefined;\n }\n const switchboardUrl = url.slice(0, -GQL_CHANNEL_SUFFIX.length);\n return { switchboardUrl, graphqlUrl: `${switchboardUrl}/graphql` };\n}\n\n/** A bounded introspected GraphQL type reference (see the query below). */\ntype IntrospectedTypeRef = {\n kind: string;\n name: string | null;\n ofType?: IntrospectedTypeRef | null;\n};\n\ntype IntrospectedField = {\n name: string;\n description: string | null;\n args: Array<{ name: string; type: IntrospectedTypeRef }>;\n type: IntrospectedTypeRef;\n};\n\ntype IntrospectedRootType = {\n fields: IntrospectedField[] | null;\n} | null;\n\ntype IntrospectedSchema = {\n queryType?: IntrospectedRootType;\n mutationType?: IntrospectedRootType;\n};\n\n/**\n * Introspection over the switchboard supergraph's root query and mutation\n * fields. Types are requested with three levels of `ofType` nesting so\n * that common shapes like `[X!]!` (LIST(NON_NULL(LIST(X)))) render fully.\n */\nexport const SWITCHBOARD_INTROSPECTION_QUERY: string = /* GraphQL */ `\n query SwitchboardIntrospection {\n __schema {\n queryType {\n fields {\n name\n description\n args {\n name\n type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n mutationType {\n fields {\n name\n description\n args {\n name\n type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n`;\n\n/**\n * Renders an introspected type reference as a GraphQL type string.\n * Recursion is bounded by the `ofType` nesting of the query, so it always\n * terminates.\n */\nfunction renderTypeRef(type: IntrospectedTypeRef | null | undefined): string {\n if (!type) {\n return \"Unknown\";\n }\n switch (type.kind) {\n case \"NON_NULL\":\n return `${renderTypeRef(type.ofType)}!`;\n case \"LIST\":\n return `[${renderTypeRef(type.ofType)}]`;\n default:\n return type.name ?? \"Unknown\";\n }\n}\n\n/** One root query or mutation field, reduced to a prompt-friendly line. */\nexport type SchemaFieldSummary = {\n name: string;\n description?: string;\n args: string;\n returns: string;\n};\n\n/** Cap on the number of fields reported per root type. */\nconst MAX_FIELDS_PER_ROOT = 200;\n\nfunction summarizeFields(fields: IntrospectedField[] | null | undefined): {\n fields: SchemaFieldSummary[];\n truncated: boolean;\n} {\n const list = fields ?? [];\n return {\n fields: list.slice(0, MAX_FIELDS_PER_ROOT).map((field) => ({\n name: field.name,\n ...(field.description ? { description: field.description } : {}),\n args: field.args\n .map((arg) => `${arg.name}: ${renderTypeRef(arg.type)}`)\n .join(\", \"),\n returns: renderTypeRef(field.type),\n })),\n truncated: list.length > MAX_FIELDS_PER_ROOT,\n };\n}\n\n/**\n * Reduces a GraphQL `__schema` introspection payload (the `data.__schema`\n * object) to a compact summary of its root query and mutation fields.\n * Accepts `unknown` because the payload arrives over the wire.\n */\nexport function summarizeIntrospectionSchema(schema: unknown): {\n queries: SchemaFieldSummary[];\n mutations: SchemaFieldSummary[];\n truncated: boolean;\n} {\n const introspection = (schema ?? {}) as IntrospectedSchema;\n const queries = summarizeFields(introspection.queryType?.fields);\n const mutations = summarizeFields(introspection.mutationType?.fields);\n return {\n queries: queries.fields,\n mutations: mutations.fields,\n truncated: queries.truncated || mutations.truncated,\n };\n}\n\nexport const SWITCHBOARD_SCHEMA_TOOL_NAME = \"getSwitchboardSchema\";\n\n/** Test seams for {@link createSwitchboardSchemaTool}. */\nexport interface SwitchboardToolDeps {\n getSyncManager?: () => ISyncManager | undefined;\n getSelectedDriveId?: () => string | undefined;\n tokenProvider?: () => Promise<string | undefined>;\n fetchImpl?: typeof fetch;\n timeoutMs?: number;\n}\n\n/**\n * Creates the read-only `getSwitchboardSchema` tool: it introspects the\n * GraphQL supergraph of the switchboard serving a drive and returns a\n * summary of its root queries and mutations. It reads the schema only and\n * never modifies data.\n */\nexport function createSwitchboardSchemaTool(\n deps?: SwitchboardToolDeps,\n): AiToolDescriptor {\n const getSyncManager = deps?.getSyncManager ?? getBrowserSyncManager;\n const getSelectedDriveId =\n deps?.getSelectedDriveId ??\n ((): string | undefined =>\n typeof window === \"undefined\" ? undefined : window.ph?.selectedDriveId);\n const tokenProvider = deps?.tokenProvider ?? ambientRenownTokenProvider;\n const fetchImpl = deps?.fetchImpl ?? fetch;\n const timeoutMs = deps?.timeoutMs ?? 10_000;\n\n return {\n name: SWITCHBOARD_SCHEMA_TOOL_NAME,\n description:\n \"Introspect the GraphQL endpoint of the switchboard serving a drive and list the queries and mutations it exposes (reactor operations, document-model read models, package subgraphs). Read-only: it reads the schema only and never modifies data. Omit driveId to introspect the currently selected drive.\",\n inputSchema: {\n driveId: z\n .string()\n .describe(\n \"Drive to introspect. Omit to use the currently selected drive.\",\n )\n .optional(),\n },\n annotations: { readOnlyHint: true },\n callback: async (input: { driveId?: string } | undefined) => {\n const driveId = input?.driveId ?? getSelectedDriveId();\n const sb = resolveDriveSwitchboard(driveId, getSyncManager());\n if (!sb) {\n throw new Error(\n driveId\n ? `Drive \"${driveId}\" has no switchboard: it is not synced to a remote switchboard.`\n : \"No drive is currently selected and no driveId was given.\",\n );\n }\n\n const token = await tokenProvider();\n let response: Response;\n try {\n response = await fetchImpl(sb.graphqlUrl, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n ...(token ? { authorization: `Bearer ${token}` } : {}),\n },\n body: JSON.stringify({ query: SWITCHBOARD_INTROSPECTION_QUERY }),\n signal: AbortSignal.timeout(timeoutMs),\n });\n } catch (error) {\n throw new Error(\n `Switchboard at ${sb.graphqlUrl} is not reachable: ${\n error instanceof Error ? error.message : String(error)\n }`,\n { cause: error },\n );\n }\n\n if (response.status === 401 || response.status === 403) {\n throw new Error(\n `Switchboard at ${sb.graphqlUrl} refused the request (HTTP ${response.status}). Sign in to the switchboard (Renown) and try again.`,\n );\n }\n if (!response.ok) {\n throw new Error(\n `Switchboard introspection failed: HTTP ${response.status} ${response.statusText} from ${sb.graphqlUrl}`,\n );\n }\n\n const body = (await response.json()) as {\n errors?: Array<{ message?: string }>;\n data?: { __schema?: unknown } | null;\n } | null;\n const schemaErrors = body?.errors;\n if (schemaErrors && schemaErrors.length > 0) {\n throw new Error(\n schemaErrors.map((e) => e.message ?? \"unknown error\").join(\"; \"),\n );\n }\n const schema = body?.data?.__schema as\n | IntrospectedSchema\n | null\n | undefined;\n if (!schema?.queryType) {\n throw new Error(\n `Switchboard at ${sb.graphqlUrl} did not return a GraphQL schema.`,\n );\n }\n\n const summary = summarizeIntrospectionSchema(schema);\n return {\n switchboardUrl: sb.switchboardUrl,\n graphqlUrl: sb.graphqlUrl,\n ...summary,\n };\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -19,4 +19,4 @@ type IPowerhouseAnalytics = {
|
|
|
19
19
|
};
|
|
20
20
|
//#endregion
|
|
21
21
|
export { getAnalyticsStore as a, createAnalyticsStore as i, IPowerhouseAnalytics as n, CreateStoreOptions as r, IAnalyticsStoreOptions as t };
|
|
22
|
-
//# sourceMappingURL=types-
|
|
22
|
+
//# sourceMappingURL=types-6vDzbRRS.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-
|
|
1
|
+
{"version":3,"file":"types-6vDzbRRS.d.ts","names":[],"sources":["../src/analytics/store.ts","../src/analytics/types.ts"],"mappings":";;;;KAMY,kBAAA,GAAqB,4BAAA;AAAA,iBAEX,oBAAA,CAAqB,OAAA,EAAS,kBAAA,GAAkB,OAAA;;;;;iBAYhD,iBAAA,CAAA,GAAqB,OAAA,CAAQ,eAAA;;;KCfvC,sBAAA,GAAyB,4BAAA;AAAA,KAEzB,oBAAA;EACV,KAAA,EAAO,eAAA;EACP,MAAA,EAAQ,oBAAA;EACR,OAAA,EAAS,sBAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { GraphQLClient, RequestDocument, RequestOptions, Variables } from "graphql-request";
|
|
1
2
|
import { z } from "zod";
|
|
2
|
-
import { GraphQLClient, RequestOptions } from "graphql-request";
|
|
3
3
|
|
|
4
4
|
//#region src/graphql/gen/schema.d.ts
|
|
5
5
|
type InputMaybe<T> = T | null | undefined;
|
|
@@ -38,7 +38,34 @@ type Scalars = {
|
|
|
38
38
|
output: NonNullable<unknown>;
|
|
39
39
|
};
|
|
40
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* One operation an authorization preflight predicts a verdict for.
|
|
43
|
+
*
|
|
44
|
+
* `input` is what a conditional grant reads, so a candidate standing for a
|
|
45
|
+
* filled-in form carries that form's input. Omitting it predicts the verdict an
|
|
46
|
+
* empty input earns, not the verdict the filled-in form will get.
|
|
47
|
+
*/
|
|
48
|
+
type ActionCandidateInput = {
|
|
49
|
+
readonly input?: InputMaybe<Scalars["JSONObject"]["input"]>;
|
|
50
|
+
readonly scope: Scalars["String"]["input"];
|
|
51
|
+
readonly type: Scalars["String"]["input"];
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* An action's context, as a caller submits it.
|
|
55
|
+
*
|
|
56
|
+
* Declares every field `ActionContext` carries, because an input object rejects a
|
|
57
|
+
* field it does not declare: an action stamped with the head it applies to - which
|
|
58
|
+
* is what a signing client sends - is refused outright if these are missing, and
|
|
59
|
+
* that refusal is a whole-request one, not a per-field one.
|
|
60
|
+
*
|
|
61
|
+
* `prevOpHash` and `prevOpIndex` are the scope head the action was composed
|
|
62
|
+
* against. They are recorded rather than enforced; a signature is verified from
|
|
63
|
+
* the params carried in its own tuple, which do not include them.
|
|
64
|
+
*/
|
|
41
65
|
type ActionContextInput = {
|
|
66
|
+
/** Covers replay of an operation that would otherwise be a no-op. */readonly nonce?: InputMaybe<Scalars["String"]["input"]>; /** The hash of the state the action applies to. */
|
|
67
|
+
readonly prevOpHash?: InputMaybe<Scalars["String"]["input"]>; /** The index of the last operation in the scope the action applies to. */
|
|
68
|
+
readonly prevOpIndex?: InputMaybe<Scalars["Int"]["input"]>;
|
|
42
69
|
readonly signer?: InputMaybe<ReactorSignerInput>;
|
|
43
70
|
};
|
|
44
71
|
type ActionInput = {
|
|
@@ -49,6 +76,10 @@ type ActionInput = {
|
|
|
49
76
|
readonly timestampUtcMs: Scalars["String"]["input"];
|
|
50
77
|
readonly type: Scalars["String"]["input"];
|
|
51
78
|
};
|
|
79
|
+
declare enum AuthDecision {
|
|
80
|
+
Allow = "ALLOW",
|
|
81
|
+
Deny = "DENY"
|
|
82
|
+
}
|
|
52
83
|
type ChannelMetaInput = {
|
|
53
84
|
readonly id: Scalars["String"]["input"];
|
|
54
85
|
};
|
|
@@ -78,6 +109,7 @@ type OperationContextInput = {
|
|
|
78
109
|
};
|
|
79
110
|
type OperationInput = {
|
|
80
111
|
readonly action: ActionInput;
|
|
112
|
+
readonly deniedReason?: InputMaybe<Scalars["String"]["input"]>;
|
|
81
113
|
readonly error?: InputMaybe<Scalars["String"]["input"]>;
|
|
82
114
|
readonly hash: Scalars["String"]["input"];
|
|
83
115
|
readonly id?: InputMaybe<Scalars["String"]["input"]>;
|
|
@@ -241,6 +273,7 @@ type GetDocumentWithOperationsQuery = {
|
|
|
241
273
|
readonly hash: string;
|
|
242
274
|
readonly skip: number;
|
|
243
275
|
readonly error?: string | null | undefined;
|
|
276
|
+
readonly deniedReason?: string | null | undefined;
|
|
244
277
|
readonly id?: string | null | undefined;
|
|
245
278
|
readonly action: {
|
|
246
279
|
readonly id: string;
|
|
@@ -368,6 +401,7 @@ type GetDocumentOperationsQuery = {
|
|
|
368
401
|
readonly hash: string;
|
|
369
402
|
readonly skip: number;
|
|
370
403
|
readonly error?: string | null | undefined;
|
|
404
|
+
readonly deniedReason?: string | null | undefined;
|
|
371
405
|
readonly id?: string | null | undefined;
|
|
372
406
|
readonly action: {
|
|
373
407
|
readonly id: string;
|
|
@@ -400,12 +434,29 @@ type GetJobStatusQuery = {
|
|
|
400
434
|
readonly jobStatus?: {
|
|
401
435
|
readonly id: string;
|
|
402
436
|
readonly status: string;
|
|
403
|
-
readonly result
|
|
437
|
+
readonly result?: NonNullable<unknown> | null | undefined;
|
|
404
438
|
readonly error?: string | null | undefined;
|
|
405
439
|
readonly createdAt: string | Date;
|
|
406
440
|
readonly completedAt?: string | Date | null | undefined;
|
|
407
441
|
} | null | undefined;
|
|
408
442
|
};
|
|
443
|
+
type EvaluateActionsQueryVariables = Exact<{
|
|
444
|
+
documentIdentifier: Scalars["String"]["input"];
|
|
445
|
+
branch?: InputMaybe<Scalars["String"]["input"]>;
|
|
446
|
+
candidates: ReadonlyArray<ActionCandidateInput>;
|
|
447
|
+
}>;
|
|
448
|
+
type EvaluateActionsQuery = {
|
|
449
|
+
readonly evaluateActions: {
|
|
450
|
+
readonly allAllowed: boolean;
|
|
451
|
+
readonly anyAllowed: boolean;
|
|
452
|
+
readonly allDenied: boolean;
|
|
453
|
+
readonly anyDenied: boolean;
|
|
454
|
+
readonly evaluations: ReadonlyArray<{
|
|
455
|
+
readonly decision: AuthDecision;
|
|
456
|
+
readonly reason?: string | null | undefined;
|
|
457
|
+
}>;
|
|
458
|
+
};
|
|
459
|
+
};
|
|
409
460
|
type CreateDocumentMutationVariables = Exact<{
|
|
410
461
|
document: Scalars["JSONObject"]["input"];
|
|
411
462
|
parentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
|
|
@@ -446,8 +497,8 @@ type CreateEmptyDocumentMutation = {
|
|
|
446
497
|
};
|
|
447
498
|
type MutateDocumentMutationVariables = Exact<{
|
|
448
499
|
documentIdentifier: Scalars["String"]["input"];
|
|
449
|
-
actions: ReadonlyArray<
|
|
450
|
-
|
|
500
|
+
actions: ReadonlyArray<ActionInput>;
|
|
501
|
+
branch?: InputMaybe<Scalars["String"]["input"]>;
|
|
451
502
|
}>;
|
|
452
503
|
type MutateDocumentMutation = {
|
|
453
504
|
readonly mutateDocument: {
|
|
@@ -466,11 +517,18 @@ type MutateDocumentMutation = {
|
|
|
466
517
|
};
|
|
467
518
|
type MutateDocumentAsyncMutationVariables = Exact<{
|
|
468
519
|
documentIdentifier: Scalars["String"]["input"];
|
|
469
|
-
actions: ReadonlyArray<
|
|
470
|
-
|
|
520
|
+
actions: ReadonlyArray<ActionInput>;
|
|
521
|
+
branch?: InputMaybe<Scalars["String"]["input"]>;
|
|
471
522
|
}>;
|
|
472
523
|
type MutateDocumentAsyncMutation = {
|
|
473
|
-
readonly mutateDocumentAsync:
|
|
524
|
+
readonly mutateDocumentAsync: {
|
|
525
|
+
readonly id: string;
|
|
526
|
+
readonly status: string;
|
|
527
|
+
readonly result?: NonNullable<unknown> | null | undefined;
|
|
528
|
+
readonly error?: string | null | undefined;
|
|
529
|
+
readonly createdAt: string | Date;
|
|
530
|
+
readonly completedAt?: string | Date | null | undefined;
|
|
531
|
+
};
|
|
474
532
|
};
|
|
475
533
|
type RenameDocumentMutationVariables = Exact<{
|
|
476
534
|
documentIdentifier: Scalars["String"]["input"];
|
|
@@ -665,6 +723,7 @@ type PollSyncEnvelopesQuery = {
|
|
|
665
723
|
readonly hash: string;
|
|
666
724
|
readonly skip: number;
|
|
667
725
|
readonly error?: string | null | undefined;
|
|
726
|
+
readonly deniedReason?: string | null | undefined;
|
|
668
727
|
readonly id?: string | null | undefined;
|
|
669
728
|
readonly action: {
|
|
670
729
|
readonly id: string;
|
|
@@ -704,6 +763,7 @@ type PollSyncEnvelopesQuery = {
|
|
|
704
763
|
readonly deadLetters: ReadonlyArray<{
|
|
705
764
|
readonly documentId: string;
|
|
706
765
|
readonly error: string;
|
|
766
|
+
readonly errorType?: string | null | undefined;
|
|
707
767
|
}>;
|
|
708
768
|
};
|
|
709
769
|
};
|
|
@@ -732,6 +792,7 @@ declare function getSdk(client: GraphQLClient, withWrapper?: SdkFunctionWrapper)
|
|
|
732
792
|
FindDocuments(variables?: FindDocumentsQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<FindDocumentsQuery>;
|
|
733
793
|
GetDocumentOperations(variables: GetDocumentOperationsQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<GetDocumentOperationsQuery>;
|
|
734
794
|
GetJobStatus(variables: GetJobStatusQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<GetJobStatusQuery>;
|
|
795
|
+
EvaluateActions(variables: EvaluateActionsQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<EvaluateActionsQuery>;
|
|
735
796
|
CreateDocument(variables: CreateDocumentMutationVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<CreateDocumentMutation>;
|
|
736
797
|
CreateEmptyDocument(variables: CreateEmptyDocumentMutationVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<CreateEmptyDocumentMutation>;
|
|
737
798
|
MutateDocument(variables: MutateDocumentMutationVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise<MutateDocumentMutation>;
|
|
@@ -761,8 +822,24 @@ declare const graphqlDocumentsEvents: readonly ["DeleteDocuments"];
|
|
|
761
822
|
//#region src/graphql/types.d.ts
|
|
762
823
|
type DocumentOperationsPage = GetDocumentOperationsQuery["documentOperations"];
|
|
763
824
|
type DocumentResult = NonNullable<GetDocumentQuery["document"]>;
|
|
825
|
+
/** Arguments for running a hand-authored GraphQL document through the SDK. */
|
|
826
|
+
type RunDocumentOptions = {
|
|
827
|
+
/** Operation name reported to the middleware (auth, logging, tracing). */operationName: string; /** Operation type reported to the middleware. Defaults to `"query"`. */
|
|
828
|
+
operationType?: string; /** The document to run: a source string or a parsed `DocumentNode`. */
|
|
829
|
+
document: RequestDocument;
|
|
830
|
+
variables?: Variables;
|
|
831
|
+
requestHeaders?: Record<string, string>;
|
|
832
|
+
signal?: RequestInit["signal"];
|
|
833
|
+
};
|
|
764
834
|
type ReactorGraphQLClient = Sdk & {
|
|
765
|
-
/**
|
|
835
|
+
/**
|
|
836
|
+
* Run a hand-authored GraphQL document through the same transport and
|
|
837
|
+
* middleware as the generated SDK methods. Used for selections the code
|
|
838
|
+
* generator cannot express, such as a mutation that also returns the
|
|
839
|
+
* operations it produced.
|
|
840
|
+
*/
|
|
841
|
+
RunDocument: <TData>(options: RunDocumentOptions) => Promise<TData>; /** Fetch multiple documentOperations in a single request via aliases. */
|
|
842
|
+
BatchGetDocumentOperations?: (filters: OperationsFilterInput[], pagings: (PagingInput | undefined | null)[]) => Promise<DocumentOperationsPage[]>; /** Fetch a document and multiple documentOperations in a single request. */
|
|
766
843
|
BatchGetDocumentWithOperations?: (identifier: string, view: ViewFilterInput | undefined, filters: OperationsFilterInput[], pagings: (PagingInput | undefined)[]) => Promise<{
|
|
767
844
|
document: DocumentResult | null;
|
|
768
845
|
operations: DocumentOperationsPage[];
|
|
@@ -783,14 +860,5 @@ type TStateSchemaZodObject = z.ZodObject<{
|
|
|
783
860
|
state: z.ZodObject;
|
|
784
861
|
}>;
|
|
785
862
|
//#endregion
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
* Creates a GraphQL client for the Reactor Subgraph API.
|
|
789
|
-
* @param urlOrGQLClient The URL of the GraphQL API or a GraphQL client instance.
|
|
790
|
-
* @param middleware An optional middleware function to wrap the GraphQL client calls.
|
|
791
|
-
* @returns A GraphQL client for the Reactor Subgraph API.
|
|
792
|
-
*/
|
|
793
|
-
declare function createClient(urlOrGQLClient: string | GraphQLClient, middleware?: SdkFunctionWrapper): ReactorGraphQLClient;
|
|
794
|
-
//#endregion
|
|
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 };
|
|
796
|
-
//# sourceMappingURL=client-09xv0Dq6.d.ts.map
|
|
863
|
+
export { ViewFilterInput as A, GetDocumentQuery as C, PropagationMode as D, PhDocumentFieldsFragment as E, Scalars as O, GetDocumentOperationsQuery as S, MutateDocumentMutation as T, CreateDocumentMutation as _, GraphQLDocumentEvents as a, DocumentChangesSubscription as b, ReactorGraphQLClient as c, DEFAULT_DRIVE_ID as d, DEFAULT_SWITCHBOARD_URL as f, ActionInput as g, graphqlEventsToSyncDrive as h, GraphQLDocumentEventOperationName as i, SdkFunctionWrapper as k, RunDocumentOptions as l, graphqlDocumentsEvents as m, GraphQLClientDocumentsEvent as n, GraphQLDocumentEventsOperationName as o, graphqlDocumentEvents as p, GraphQLClientWindowEvents as r, GraphQLDocumentsEvents as s, GraphQLClientDocumentEvent as t, TStateSchemaZodObject as u, DeleteDocumentMutation as v, GetDocumentWithOperationsQuery as w, FindDocumentsQuery as x, DeleteDocumentsMutation as y };
|
|
864
|
+
//# sourceMappingURL=types-Dcv1ZLoW.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-Dcv1ZLoW.d.ts","names":[],"sources":["../src/graphql/gen/schema.ts","../src/graphql/constants.ts","../src/graphql/types.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/reactor-browser",
|
|
3
|
-
"version": "6.2.2-
|
|
3
|
+
"version": "6.2.2-staging.0",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -20,6 +20,16 @@
|
|
|
20
20
|
"types": "./dist/index.d.ts",
|
|
21
21
|
"import": "./dist/index.js"
|
|
22
22
|
},
|
|
23
|
+
"./ai": {
|
|
24
|
+
"source": "./src/ai/index.ts",
|
|
25
|
+
"types": "./dist/src/ai/index.d.ts",
|
|
26
|
+
"import": "./dist/src/ai/index.js"
|
|
27
|
+
},
|
|
28
|
+
"./graphql-client": {
|
|
29
|
+
"source": "./src/graphql-client/entry.ts",
|
|
30
|
+
"types": "./dist/src/graphql-client/entry.d.ts",
|
|
31
|
+
"import": "./dist/src/graphql-client/entry.js"
|
|
32
|
+
},
|
|
23
33
|
"./analytics": {
|
|
24
34
|
"source": "./src/analytics/index.ts",
|
|
25
35
|
"types": "./dist/src/analytics/index.d.ts",
|
|
@@ -53,27 +63,33 @@
|
|
|
53
63
|
},
|
|
54
64
|
"sideEffects": false,
|
|
55
65
|
"dependencies": {
|
|
66
|
+
"@ai-sdk/openai-compatible": "3.0.37",
|
|
67
|
+
"@powerhousedao/analytics-engine-browser": "6.2.2-staging.0",
|
|
68
|
+
"@powerhousedao/analytics-engine-core": "6.2.2-staging.0",
|
|
69
|
+
"@powerhousedao/reactor": "6.2.2-staging.0",
|
|
70
|
+
"@powerhousedao/reactor-attachments": "6.2.2-staging.0",
|
|
71
|
+
"@powerhousedao/reactor-drive": "6.2.2-staging.0",
|
|
72
|
+
"@powerhousedao/shared": "6.2.2-staging.0",
|
|
73
|
+
"@renown/sdk": "6.2.2-staging.0",
|
|
56
74
|
"@tanstack/react-query": "^5.49.2",
|
|
75
|
+
"ai": "7.0.83",
|
|
57
76
|
"change-case": "5.4.4",
|
|
77
|
+
"document-model": "6.2.2-staging.0",
|
|
58
78
|
"graphql-request": "7.4.0",
|
|
79
|
+
"graphql-ws": "6.0.7",
|
|
59
80
|
"kysely": "0.28.16",
|
|
60
81
|
"kysely-pglite-dialect": "1.2.0",
|
|
61
82
|
"lodash.isequal": "^4.5.0",
|
|
83
|
+
"lucide-react": "^1.16.0",
|
|
62
84
|
"luxon": "^3.6.1",
|
|
63
85
|
"lz-string": "^1.5.0",
|
|
64
86
|
"normalize-exception": "^4.0.1",
|
|
65
87
|
"remeda": "2.33.7",
|
|
88
|
+
"react-markdown": "^10.1.0",
|
|
89
|
+
"remark-gfm": "^4.0.1",
|
|
66
90
|
"slug": "^11.0.0",
|
|
67
91
|
"usehooks-ts": "^3.1.1",
|
|
68
|
-
"zod": "4.3.6"
|
|
69
|
-
"@powerhousedao/analytics-engine-browser": "6.2.2-dev.9",
|
|
70
|
-
"@powerhousedao/analytics-engine-core": "6.2.2-dev.9",
|
|
71
|
-
"@powerhousedao/reactor": "6.2.2-dev.9",
|
|
72
|
-
"@powerhousedao/reactor-attachments": "6.2.2-dev.9",
|
|
73
|
-
"@powerhousedao/reactor-drive": "6.2.2-dev.9",
|
|
74
|
-
"@renown/sdk": "6.2.2-dev.9",
|
|
75
|
-
"@powerhousedao/shared": "6.2.2-dev.9",
|
|
76
|
-
"document-model": "6.2.2-dev.9"
|
|
92
|
+
"zod": "4.3.6"
|
|
77
93
|
},
|
|
78
94
|
"devDependencies": {
|
|
79
95
|
"@electric-sql/pglite": "0.3.15",
|
|
@@ -91,6 +107,7 @@
|
|
|
91
107
|
"@vitest/browser": "4.1.1",
|
|
92
108
|
"@vitest/browser-playwright": "4.1.1",
|
|
93
109
|
"fast-deep-equal": "3.1.3",
|
|
110
|
+
"fflate": "^0.8.2",
|
|
94
111
|
"graphql": "^16",
|
|
95
112
|
"graphql-tag": "^2",
|
|
96
113
|
"playwright": "1.60.0",
|