@graphprotocol/hypergraph 0.4.2 → 0.5.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/cli/Cli.js +1 -1
  2. package/dist/cli/bin.js +0 -0
  3. package/dist/cli/bin.js.map +1 -1
  4. package/dist/cli/bun.js +0 -0
  5. package/dist/cli/services/Model.d.ts +99 -0
  6. package/dist/cli/services/Model.d.ts.map +1 -0
  7. package/dist/cli/services/Model.js +52 -0
  8. package/dist/cli/services/Model.js.map +1 -0
  9. package/dist/cli/services/Typesync.d.ts +7 -4
  10. package/dist/cli/services/Typesync.d.ts.map +1 -1
  11. package/dist/cli/services/Typesync.js +106 -4
  12. package/dist/cli/services/Typesync.js.map +1 -1
  13. package/dist/cli/services/Utils.d.ts +81 -0
  14. package/dist/cli/services/Utils.d.ts.map +1 -1
  15. package/dist/cli/services/Utils.js +198 -8
  16. package/dist/cli/services/Utils.js.map +1 -1
  17. package/dist/cli/subcommands/typesync.d.ts +13 -2
  18. package/dist/cli/subcommands/typesync.d.ts.map +1 -1
  19. package/dist/cli/subcommands/typesync.js +141 -21
  20. package/dist/cli/subcommands/typesync.js.map +1 -1
  21. package/dist/entity/findMany.d.ts.map +1 -1
  22. package/dist/entity/findMany.js +21 -13
  23. package/dist/entity/findMany.js.map +1 -1
  24. package/dist/entity/types.d.ts +0 -6
  25. package/dist/entity/types.d.ts.map +1 -1
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +1 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/mapping/Mapping.d.ts +24 -12
  31. package/dist/mapping/Mapping.d.ts.map +1 -1
  32. package/dist/mapping/Mapping.js +12 -4
  33. package/dist/mapping/Mapping.js.map +1 -1
  34. package/dist/typesync-studio/dist/assets/authenticate-callback-XTxFqKgn.js +1 -0
  35. package/dist/typesync-studio/dist/assets/ccip-_s3urR1L.js +1 -0
  36. package/dist/typesync-studio/dist/assets/index-B-tctDXW.js +88 -0
  37. package/dist/typesync-studio/dist/assets/index-BHBkzpXd.css +1 -0
  38. package/dist/typesync-studio/dist/assets/index-bioTPE3q.js +215 -0
  39. package/dist/typesync-studio/dist/index.html +30 -0
  40. package/dist/typesync-studio/dist/manifest.json +20 -0
  41. package/dist/typesync-studio/dist/robots.txt +3 -0
  42. package/package.json +15 -8
  43. package/src/cli/Cli.ts +1 -1
  44. package/src/cli/bin.ts +0 -1
  45. package/src/cli/services/Model.ts +87 -0
  46. package/src/cli/services/Typesync.ts +137 -9
  47. package/src/cli/services/Utils.ts +231 -11
  48. package/src/cli/subcommands/typesync.ts +251 -42
  49. package/src/entity/findMany.ts +27 -15
  50. package/src/entity/types.ts +0 -6
  51. package/src/index.ts +1 -0
  52. package/src/mapping/Mapping.ts +21 -6
@@ -1,3 +1,4 @@
1
+ import { Doc } from '@effect/printer';
1
2
  import { Data, Effect, Array as EffectArray } from 'effect';
2
3
  import ts from 'typescript';
3
4
  import * as Mapping from '../../mapping/Mapping.js';
@@ -34,23 +35,35 @@ export const parseSchema = (sourceCode, mapping) => Effect.try({
34
35
  const propName = prop.name.text;
35
36
  let dataType = 'String';
36
37
  let relationType;
38
+ let isOptional = false;
37
39
  const mappingEntry = mapping[className];
38
40
  const camelCasePropName = Utils.toCamelCase(propName);
41
+ // Check if the property is wrapped with Type.optional()
42
+ let typeExpression = prop.initializer;
43
+ if (ts.isCallExpression(typeExpression) && ts.isPropertyAccessExpression(typeExpression.expression) && typeExpression.expression.name.text === 'optional') {
44
+ isOptional = true;
45
+ // Unwrap the optional to get the actual type
46
+ if (typeExpression.arguments.length > 0) {
47
+ typeExpression = typeExpression.arguments[0];
48
+ }
49
+ }
39
50
  // Extract the type
40
- if (ts.isPropertyAccessExpression(prop.initializer)) {
41
- // Simple types like Type.Text
42
- dataType = Mapping.getDataType(prop.initializer.name.text);
51
+ if (ts.isPropertyAccessExpression(typeExpression)) {
52
+ // Simple types like Type.String
53
+ dataType = Mapping.getDataType(typeExpression.name.text);
43
54
  // Look up the property's knowledgeGraphId from the mapping
44
55
  const propKnowledgeGraphId = mappingEntry?.properties?.[camelCasePropName] || null;
45
56
  // push to type properties as primitive property
46
57
  properties.push({
47
58
  name: propName,
48
59
  dataType: dataType,
49
- knowledgeGraphId: propKnowledgeGraphId
60
+ knowledgeGraphId: propKnowledgeGraphId,
61
+ optional: isOptional || undefined,
62
+ status: propKnowledgeGraphId != null ? 'published' : 'synced'
50
63
  });
51
- } else if (ts.isCallExpression(prop.initializer)) {
64
+ } else if (ts.isCallExpression(typeExpression)) {
52
65
  // Relation types like Type.Relation(User)
53
- const callNode = prop.initializer;
66
+ const callNode = typeExpression;
54
67
  if (ts.isPropertyAccessExpression(callNode.expression)) {
55
68
  const typeName = callNode.expression.name.text;
56
69
  if (typeName === 'Relation' && callNode.arguments.length > 0) {
@@ -65,7 +78,9 @@ export const parseSchema = (sourceCode, mapping) => Effect.try({
65
78
  name: propName,
66
79
  dataType,
67
80
  relationType,
68
- knowledgeGraphId: relKnowledgeGraphId
81
+ knowledgeGraphId: relKnowledgeGraphId,
82
+ optional: isOptional || undefined,
83
+ status: relKnowledgeGraphId != null ? 'published' : 'synced'
69
84
  });
70
85
  }
71
86
  }
@@ -85,7 +100,8 @@ export const parseSchema = (sourceCode, mapping) => Effect.try({
85
100
  entities.push({
86
101
  name: className,
87
102
  knowledgeGraphId: typeKnowledgeGraphId,
88
- properties
103
+ properties,
104
+ status: typeKnowledgeGraphId != null ? 'published' : 'synced'
89
105
  });
90
106
  }
91
107
  ts.forEachChild(node, visit);
@@ -151,4 +167,178 @@ export function parseHypergraphMapping(moduleExport) {
151
167
  // If no preferred names found, use the first one
152
168
  return mappingCandidates[0][1];
153
169
  }
170
+ function fieldToEntityString({
171
+ name,
172
+ dataType,
173
+ optional = false
174
+ }) {
175
+ // Convert type to Entity type
176
+ const entityType = (() => {
177
+ switch (true) {
178
+ case dataType === 'String':
179
+ return 'Type.String';
180
+ case dataType === 'Number':
181
+ return 'Type.Number';
182
+ case dataType === 'Boolean':
183
+ return 'Type.Boolean';
184
+ case dataType === 'Date':
185
+ return 'Type.Date';
186
+ case dataType === 'Point':
187
+ return 'Type.Point';
188
+ case Mapping.isDataTypeRelation(dataType):
189
+ // renders the type as `Type.Relation(Entity)`
190
+ return `Type.${dataType}`;
191
+ default:
192
+ // how to handle complex types
193
+ return 'Type.String';
194
+ }
195
+ })();
196
+ if (optional === true) {
197
+ return ` ${Utils.toCamelCase(name)}: Type.optional(${entityType})`;
198
+ }
199
+ // adds a tab before the property
200
+ return ` ${Utils.toCamelCase(name)}: ${entityType}`;
201
+ }
202
+ function typeDefinitionToString(type) {
203
+ if (!type.name) {
204
+ return null;
205
+ }
206
+ const fields = type.properties.filter(_prop => _prop.name != null && _prop.name.length > 0);
207
+ if (fields.length === 0) {
208
+ return null;
209
+ }
210
+ const fieldStrings = fields.map(fieldToEntityString);
211
+ const name = Utils.toPascalCase(type.name);
212
+ return `export class ${name} extends Entity.Class<${name}>('${name}')({
213
+ ${fieldStrings.join(',\n')}
214
+ }) {}`;
215
+ }
216
+ /**
217
+ * Builds a string of the schema.ts file contents after parsing the schema into the correct format.
218
+ *
219
+ * @example
220
+ *
221
+ * ```typescript
222
+ * const schema = Model.TypesyncHypergraphSchema.make({
223
+ * types: [
224
+ * {
225
+ * name: "User",
226
+ * knowledgeGraphId: null,
227
+ * status: null,
228
+ * properties: [
229
+ * {
230
+ * name: "name",
231
+ * dataType: "String",
232
+ * knowledgeGraphId: null,
233
+ * optional: null,
234
+ * status: null
235
+ * }
236
+ * ]
237
+ * }
238
+ * ]
239
+ * })
240
+ * const schemaFile = buildSchemaFile(schema)
241
+ *
242
+ * expect(schemaFile).toEqual(`
243
+ * import { Entity, Type } from '@graphprotocol/hypergraph';
244
+ *
245
+ * export class User extends Entity.Class<User>('User')({
246
+ * name: Type.String
247
+ * }) {}
248
+ * `)
249
+ * ```
250
+ */
251
+ export function buildSchemaFile(schema) {
252
+ const importStatement = `import { Entity, Type } from '@graphprotocol/hypergraph';`;
253
+ const typeDefinitions = schema.types.map(typeDefinitionToString).filter(def => def != null).join('\n\n');
254
+ return [importStatement, typeDefinitions].join('\n\n');
255
+ }
256
+ export function buildMappingFile(mapping) {
257
+ // Import statements
258
+ const imports = Doc.vsep([Doc.text("import type { Mapping } from '@graphprotocol/hypergraph/mapping';"), Doc.text("import { Id } from '@graphprotocol/hypergraph';")]);
259
+ // Generate the mapping object - build it line by line for exact formatting
260
+ const mappingLines = [Doc.text('export const mapping: Mapping = {')];
261
+ for (const [typeName, typeData] of Object.entries(mapping)) {
262
+ mappingLines.push(Doc.text(` ${typeName}: {`));
263
+ // Type IDs
264
+ const typeIdsList = typeData.typeIds.map(id => `Id("${id}")`).join(', ');
265
+ mappingLines.push(Doc.text(` typeIds: [${typeIdsList}],`));
266
+ // Properties
267
+ const properties = Object.entries(typeData.properties ?? {});
268
+ if (EffectArray.isNonEmptyArray(properties)) {
269
+ mappingLines.push(Doc.text(' properties: {'));
270
+ properties.forEach(([propName, propId], index, entries) => {
271
+ const isLast = index === entries.length - 1;
272
+ const comma = isLast ? '' : ',';
273
+ mappingLines.push(Doc.text(` ${propName}: Id("${propId}")${comma}`));
274
+ });
275
+ mappingLines.push(Doc.text(' },'));
276
+ }
277
+ // Relations
278
+ const relations = Object.entries(typeData.relations ?? {});
279
+ if (EffectArray.isNonEmptyArray(relations)) {
280
+ mappingLines.push(Doc.text(' relations: {'));
281
+ relations.forEach(([relationName, relationId], index, entries) => {
282
+ const isLast = index === entries.length - 1;
283
+ const comma = isLast ? '' : ',';
284
+ mappingLines.push(Doc.text(` ${relationName}: Id("${relationId}")${comma}`));
285
+ });
286
+ mappingLines.push(Doc.text(' },'));
287
+ }
288
+ mappingLines.push(Doc.text(' },'));
289
+ }
290
+ mappingLines.push(Doc.rbrace);
291
+ const compiled = Doc.vcat([imports, Doc.empty, ...mappingLines]);
292
+ return Doc.render(compiled, {
293
+ style: 'pretty',
294
+ options: {
295
+ lineWidth: 120
296
+ }
297
+ });
298
+ }
299
+ /**
300
+ * Builds a string of the mapping.ts file contents after parsing the schema into the correct mapping format.
301
+ *
302
+ * @example
303
+ *
304
+ * ```typescript
305
+ * const schema = Model.TypesyncHypergraphSchema.make({
306
+ * types: [
307
+ * {
308
+ * name: "User",
309
+ * knowledgeGraphId: "7f9562d4-034d-4385-bf5c-f02cdebba47a",
310
+ * status: null,
311
+ * properties: [
312
+ * {
313
+ * name: "name",
314
+ * dataType: "String",
315
+ * knowledgeGraphId: "a126ca53-0c8e-48d5-b888-82c734c38935",
316
+ * optional: null,
317
+ * status: null
318
+ * }
319
+ * ]
320
+ * }
321
+ * ]
322
+ * })
323
+ * const mappingFile = buildMappingFile(schema)
324
+ *
325
+ * expect(mappingFile).toEqual(`
326
+ * import type { Mapping } from '@graphprotocol/hypergraph/mapping';
327
+ * import { Id } from '@graphprotocol/hypergraph';
328
+ *
329
+ * export const mapping: Mapping = {
330
+ * User: {
331
+ * typeIds: [Id('7f9562d4-034d-4385-bf5c-f02cdebba47a')],
332
+ * properties: {
333
+ * name: Id('a126ca53-0c8e-48d5-b888-82c734c38935'),
334
+ * }
335
+ * }
336
+ * }
337
+ * `)
338
+ * ```
339
+ */
340
+ export function buildMappingFileFromSchema(schema) {
341
+ const [mapping] = Mapping.generateMapping(schema);
342
+ return buildMappingFile(mapping);
343
+ }
154
344
  //# sourceMappingURL=Utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","names":["Data","Effect","Array","EffectArray","ts","Mapping","Utils","parseSchema","sourceCode","mapping","try","sourceFile","createSourceFile","ScriptTarget","Latest","entities","visit","node","isClassDeclaration","name","className","text","properties","heritageClauses","clause","type","types","isCallExpression","expression","callExpr","arguments","length","arg","isObjectLiteralExpression","prop","isPropertyAssignment","isIdentifier","propName","dataType","relationType","mappingEntry","camelCasePropName","toCamelCase","isPropertyAccessExpression","initializer","getDataType","propKnowledgeGraphId","push","knowledgeGraphId","callNode","typeName","relationArg","relKnowledgeGraphId","relations","toPascalCase","typeKnowledgeGraphId","typeIds","forEachChild","catch","error","SchemaParserFailure","message","cause","TaggedError","isMappingLike","value","Object","values","every","entry","isArray","parseHypergraphMapping","moduleExport","mappingCandidates","entries","filter","preferredNames","preferredName","found","find"],"sources":["../../../src/cli/services/Utils.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Utils.js","names":["Doc","Data","Effect","Array","EffectArray","ts","Mapping","Utils","parseSchema","sourceCode","mapping","try","sourceFile","createSourceFile","ScriptTarget","Latest","entities","visit","node","isClassDeclaration","name","className","text","properties","heritageClauses","clause","type","types","isCallExpression","expression","callExpr","arguments","length","arg","isObjectLiteralExpression","prop","isPropertyAssignment","isIdentifier","propName","dataType","relationType","isOptional","mappingEntry","camelCasePropName","toCamelCase","typeExpression","initializer","isPropertyAccessExpression","getDataType","propKnowledgeGraphId","push","knowledgeGraphId","optional","undefined","status","callNode","typeName","relationArg","relKnowledgeGraphId","relations","toPascalCase","typeKnowledgeGraphId","typeIds","forEachChild","catch","error","SchemaParserFailure","message","cause","TaggedError","isMappingLike","value","Object","values","every","entry","isArray","parseHypergraphMapping","moduleExport","mappingCandidates","entries","filter","preferredNames","preferredName","found","find","fieldToEntityString","entityType","isDataTypeRelation","typeDefinitionToString","fields","_prop","fieldStrings","map","join","buildSchemaFile","schema","importStatement","typeDefinitions","def","buildMappingFile","imports","vsep","mappingLines","typeData","typeIdsList","id","isNonEmptyArray","forEach","propId","index","isLast","comma","relationName","relationId","rbrace","compiled","vcat","empty","render","style","options","lineWidth","buildMappingFileFromSchema","generateMapping"],"sources":["../../../src/cli/services/Utils.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,18 @@
1
1
  import { Command } from '@effect/cli';
2
- export declare const typesync: Command.Command<"typesync", never, import("@effect/platform/HttpServerError").ServeError, {
2
+ import { Path } from '@effect/platform';
3
+ import { Cause } from 'effect';
4
+ declare const OpenBrowserError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Cause.YieldableError & {
5
+ readonly _tag: "Nozzle/cli/studio/errors/OpenBrowserError";
6
+ } & Readonly<A>;
7
+ export declare class OpenBrowserError extends OpenBrowserError_base<{
8
+ readonly cause: unknown;
9
+ }> {
10
+ }
11
+ export declare const typesync: Command.Command<"typesync", Path.Path, import("@effect/platform/HttpServerError").ServeError, {
3
12
  readonly args: {
4
- readonly port: number;
13
+ readonly open: boolean;
14
+ readonly browser: "chrome" | "firefox" | "edge" | "browser" | "browserPrivate" | "arc" | "safari";
5
15
  };
6
16
  }>;
17
+ export {};
7
18
  //# sourceMappingURL=typesync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typesync.d.ts","sourceRoot":"","sources":["../../../src/cli/subcommands/typesync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAW,MAAM,aAAa,CAAC;AAmE/C,eAAO,MAAM,QAAQ;;;;EAwBpB,CAAC"}
1
+ {"version":3,"file":"typesync.d.ts","sourceRoot":"","sources":["../../../src/cli/subcommands/typesync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAW,MAAM,aAAa,CAAC;AAC/C,OAAO,EAYL,IAAI,EACL,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,KAAK,EAA+C,MAAM,QAAQ,CAAC;;;;AA6N5E,qBAAa,gBAAiB,SAAQ,sBAA8D;IAClG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AAEL,eAAO,MAAM,QAAQ;;;;;EAyDpB,CAAC"}
@@ -1,38 +1,158 @@
1
1
  import { createServer } from 'node:http';
2
+ import { fileURLToPath } from 'node:url';
2
3
  import { Command, Options } from '@effect/cli';
3
- import { HttpApi, HttpApiBuilder, HttpApiEndpoint, HttpApiError, HttpApiGroup, HttpApiSchema, HttpMiddleware, HttpServer, HttpServerResponse } from '@effect/platform';
4
+ import { FileSystem, HttpApi, HttpApiBuilder, HttpApiEndpoint, HttpApiError, HttpApiGroup, HttpApiSchema, HttpMiddleware, HttpRouter, HttpServer, HttpServerResponse, Path } from '@effect/platform';
4
5
  import { NodeHttpServer } from '@effect/platform-node';
5
6
  import { AnsiDoc } from '@effect/printer-ansi';
6
- import { Effect, Layer, Schema } from 'effect';
7
+ import { Cause, Data, Effect, Layer, Option, Schema, Struct } from 'effect';
8
+ import open, { apps } from 'open';
9
+ import * as Model from '../services/Model.js';
7
10
  import * as Typesync from '../services/Typesync.js';
8
- const hypergraphTypeSyncApi = /*#__PURE__*/HttpApi.make('HypergraphTypeSyncApi').add(HttpApiGroup.make('SchemaStreamGroup').add(
11
+ class HypergraphTypesyncStudioApiRouter extends /*#__PURE__*/HttpApiGroup.make('HypergraphTypesyncStudioApiRouter').add(
9
12
  // exposes an api endpoint at /api/vX/schema/events that is a stream of the current Schema parsed from the directory the hypergraph-cli tool is running in
10
13
  HttpApiEndpoint.get('HypergraphSchemaEventStream')`/schema/events`.addError(HttpApiError.InternalServerError).addSuccess(Schema.String.pipe(HttpApiSchema.withEncoding({
11
14
  kind: 'Json',
12
15
  contentType: 'text/event-stream'
13
- })))).prefix('/v1')).prefix('/api');
14
- const hypergraphTypeSyncApiLive = /*#__PURE__*/HttpApiBuilder.group(hypergraphTypeSyncApi, 'SchemaStreamGroup', handlers => handlers.handle('HypergraphSchemaEventStream', () => Effect.gen(function* () {
16
+ })))).add(HttpApiEndpoint.post('SyncHypergraphSchema')`/schema/sync`.setPayload(Model.TypesyncHypergraphSchema).addSuccess(Model.TypesyncHypergraphSchema).addError(HttpApiError.InternalServerError).addError(HttpApiError.BadRequest)).add(HttpApiEndpoint.post('SyncHypergraphMapping')`/mapping/sync`.setPayload(Schema.Struct({
17
+ schema: Model.TypesyncHypergraphSchema,
18
+ mapping: Model.TypesyncHypergraphMapping
19
+ })).addSuccess(Model.TypesyncHypergraphSchema).addError(HttpApiError.InternalServerError).addError(HttpApiError.BadRequest)).prefix('/v1') {}
20
+ class HypergraphTypesyncStudioApi extends /*#__PURE__*/HttpApi.make('HypergraphTypesyncStudioApi').add(HypergraphTypesyncStudioApiRouter).prefix('/api') {}
21
+ const hypergraphTypeSyncApiLive = /*#__PURE__*/HttpApiBuilder.group(HypergraphTypesyncStudioApi, 'HypergraphTypesyncStudioApiRouter', handlers => Effect.gen(function* () {
15
22
  const schemaStream = yield* Typesync.TypesyncSchemaStreamBuilder;
16
- const stream = yield* schemaStream.hypergraphSchemaStream().pipe(Effect.catchAll(() => new HttpApiError.InternalServerError()));
17
- return yield* HttpServerResponse.stream(stream, {
18
- contentType: 'text/event-stream'
19
- }).pipe(HttpServerResponse.setHeaders({
20
- 'Content-Type': 'text/event-stream',
21
- 'Cache-Control': 'no-cache',
22
- Connection: 'keep-alive'
23
- }));
24
- })));
25
- const HypergraphTypeSyncApiLive = /*#__PURE__*/HttpApiBuilder.api(hypergraphTypeSyncApi).pipe(/*#__PURE__*/Layer.provide(hypergraphTypeSyncApiLive), /*#__PURE__*/Layer.provide(Typesync.layer));
26
- const HypergraphTypeSyncApiLayer = /*#__PURE__*/HttpApiBuilder.serve(HttpMiddleware.logger).pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/HttpApiBuilder.middlewareCors()), /*#__PURE__*/Layer.provide(HypergraphTypeSyncApiLive));
23
+ return handlers.handle('HypergraphSchemaEventStream', () => Effect.gen(function* () {
24
+ const stream = yield* schemaStream.hypergraphSchemaStream().pipe(Effect.tapErrorCause(cause => Effect.logError(AnsiDoc.cat(AnsiDoc.text('Failure building Hypergraph events stream:'), AnsiDoc.text(Cause.pretty(cause))))), Effect.catchAll(() => new HttpApiError.InternalServerError()));
25
+ return yield* HttpServerResponse.stream(stream, {
26
+ contentType: 'text/event-stream'
27
+ }).pipe(HttpServerResponse.setHeaders({
28
+ 'Content-Type': 'text/event-stream',
29
+ 'Cache-Control': 'no-cache',
30
+ Connection: 'keep-alive'
31
+ }));
32
+ })).handle('SyncHypergraphSchema', ({
33
+ payload
34
+ }) => schemaStream.syncSchema(payload).pipe(Effect.tapErrorCause(cause => Effect.logError(AnsiDoc.cat(AnsiDoc.text('Failure syncing Hypergraph Schema:'), AnsiDoc.text(Cause.pretty(cause))))), Effect.catchAll(() => new HttpApiError.InternalServerError()))).handle('SyncHypergraphMapping', ({
35
+ payload
36
+ }) => schemaStream.syncMapping(payload.schema, payload.mapping).pipe(Effect.tapErrorCause(cause => Effect.logError(AnsiDoc.cat(AnsiDoc.text('Failure syncing Hypergraph mapping:'), AnsiDoc.text(Cause.pretty(cause))))), Effect.catchAll(() => new HttpApiError.InternalServerError())));
37
+ }));
38
+ const HypergraphTypeSyncApiLayer = /*#__PURE__*/HttpApiBuilder.middlewareCors({
39
+ allowedMethods: ['GET', 'POST', 'OPTIONS'],
40
+ allowedOrigins: ['http://localhost:3000', 'http://localhost:5173']
41
+ }).pipe(/*#__PURE__*/Layer.provideMerge(/*#__PURE__*/HttpApiBuilder.api(HypergraphTypesyncStudioApi)), /*#__PURE__*/Layer.provide(Typesync.layer), /*#__PURE__*/Layer.provide(hypergraphTypeSyncApiLive));
42
+ const HypergraphTypeSyncApiLive = /*#__PURE__*/HttpApiBuilder.httpApp.pipe(/*#__PURE__*/Effect.provide(/*#__PURE__*/Layer.mergeAll(HypergraphTypeSyncApiLayer, HttpApiBuilder.Router.Live, HttpApiBuilder.Middleware.layer)));
43
+ const TypesyncStudioFileRouter = /*#__PURE__*/Effect.gen(function* () {
44
+ const fs = yield* FileSystem.FileSystem;
45
+ const path = yield* Path.Path;
46
+ const __filename = fileURLToPath(import.meta.url);
47
+ const __dirname = path.dirname(__filename);
48
+ // Try multiple possible locations for the dist directory
49
+ const possiblePaths = [
50
+ // npm published package (when this file is in node_modules/@graphprotocol/hypergraph/dist/cli/subcommands/)
51
+ path.resolve(__dirname, '..', '..', 'typesync-studio', 'dist'),
52
+ // Development mode (when this file is in packages/hypergraph/src/cli/subcommands/)
53
+ path.resolve(__dirname, '..', '..', '..', 'typesync-studio', 'dist')];
54
+ const findTypesyncStudioDist = Effect.fnUntraced(function* () {
55
+ return yield* Effect.findFirst(possiblePaths, _ => fs.exists(_).pipe(Effect.orElseSucceed(() => false)));
56
+ });
57
+ const typesyncStudioClientDist = yield* findTypesyncStudioDist().pipe(
58
+ // default to first path
59
+ Effect.map(maybe => Option.getOrElse(maybe, () => possiblePaths[0])));
60
+ return HttpRouter.empty.pipe(HttpRouter.get('/', HttpServerResponse.file(path.join(typesyncStudioClientDist, 'index.html')).pipe(Effect.orElse(() => HttpServerResponse.empty({
61
+ status: 404
62
+ })))), HttpRouter.get('/assets/:file', Effect.gen(function* () {
63
+ const file = yield* HttpRouter.params.pipe(Effect.map(Struct.get('file')), Effect.map(Option.fromNullable));
64
+ if (Option.isNone(file)) {
65
+ return HttpServerResponse.empty({
66
+ status: 404
67
+ });
68
+ }
69
+ const assets = path.join(typesyncStudioClientDist, 'assets');
70
+ const normalized = path.normalize(path.join(assets, ...file.value.split('/')));
71
+ if (!normalized.startsWith(assets)) {
72
+ return HttpServerResponse.empty({
73
+ status: 404
74
+ });
75
+ }
76
+ return yield* HttpServerResponse.file(normalized);
77
+ }).pipe(Effect.orElse(() => HttpServerResponse.empty({
78
+ status: 404
79
+ })))));
80
+ });
81
+ const Server = /*#__PURE__*/Effect.all({
82
+ api: HypergraphTypeSyncApiLive,
83
+ files: TypesyncStudioFileRouter
84
+ }).pipe(/*#__PURE__*/Effect.map(({
85
+ api,
86
+ files
87
+ }) => HttpRouter.empty.pipe(HttpRouter.mount('/', files), HttpRouter.mountApp('/api', api, {
88
+ includePrefix: true
89
+ }))), /*#__PURE__*/Effect.map(router => HttpServer.serve(HttpMiddleware.logger)(router)), Layer.unwrapEffect);
90
+ const openBrowser = (port, browser) => Effect.async(resume => {
91
+ const url = `http://localhost:${port}`;
92
+ const launch = appOpts => open(url, appOpts ? {
93
+ app: appOpts
94
+ } : undefined).then(subprocess => {
95
+ subprocess.on('spawn', () => resume(Effect.void));
96
+ subprocess.on('error', err => resume(Effect.fail(new OpenBrowserError({
97
+ cause: err
98
+ }))));
99
+ });
100
+ const mapBrowserName = b => {
101
+ switch (b) {
102
+ case 'chrome':
103
+ return apps.chrome;
104
+ // cross-platform alias from open
105
+ case 'firefox':
106
+ return apps.firefox;
107
+ case 'edge':
108
+ return apps.edge;
109
+ case 'safari':
110
+ return 'Safari';
111
+ case 'arc':
112
+ return 'Arc';
113
+ default:
114
+ return undefined;
115
+ }
116
+ };
117
+ switch (browser) {
118
+ case 'browser':
119
+ launch();
120
+ break;
121
+ case 'browserPrivate':
122
+ launch({
123
+ name: apps.browserPrivate
124
+ });
125
+ break;
126
+ default:
127
+ {
128
+ const mapped = mapBrowserName(browser);
129
+ if (mapped) {
130
+ launch({
131
+ name: mapped
132
+ }).catch(() => launch());
133
+ break;
134
+ }
135
+ launch();
136
+ break;
137
+ }
138
+ }
139
+ });
140
+ export class OpenBrowserError extends /*#__PURE__*/Data.TaggedError('Nozzle/cli/studio/errors/OpenBrowserError') {}
27
141
  export const typesync = /*#__PURE__*/Command.make('typesync', {
28
142
  args: {
29
- port: Options.integer('port').pipe(Options.withAlias('p'), Options.withDefault(3000), Options.withDescription('The port to run the Hypergraph TypeSync studio server on. Default 3000'))
143
+ open: Options.boolean('open').pipe(Options.withDescription('If true, opens the nozzle dataset studio in your browser'), Options.withDefault(true)),
144
+ browser: Options.choice('browser', ['chrome', 'firefox', 'edge', 'safari', 'arc', 'browser', 'browserPrivate']).pipe(Options.withAlias('b'), Options.withDescription('Broweser to open the nozzle dataset studio app in. Default is your default selected browser'), Options.withDefault('browser'))
30
145
  }
31
146
  }).pipe(/*#__PURE__*/Command.withDescription('Opens the TypeSync studio to help users build and publish their Hypergraph application schema'), /*#__PURE__*/Command.withHandler(({
32
147
  args
33
148
  }) => Effect.gen(function* () {
34
- yield* HypergraphTypeSyncApiLayer.pipe(HttpServer.withLogAddress, Layer.provide(NodeHttpServer.layer(createServer, {
35
- port: args.port
36
- })), Layer.tap(() => Effect.logInfo(AnsiDoc.text(`🎉 TypeSync studio started and running at http://localhost:${args.port}`))), Layer.launch);
37
- })));
149
+ yield* Server.pipe(HttpServer.withLogAddress, Layer.provide(NodeHttpServer.layer(createServer, {
150
+ port: 3000
151
+ })), Layer.tap(() => Effect.gen(function* () {
152
+ if (args.open) {
153
+ return yield* openBrowser(3000, args.browser).pipe(Effect.tapErrorCause(cause => Effect.logWarning(AnsiDoc.text('Failure opening nozzle dataset studio in your browser. Open at http://localhost:3000'), AnsiDoc.text(Cause.pretty(cause)))), Effect.orElseSucceed(() => Effect.void));
154
+ }
155
+ return Effect.void;
156
+ })), Layer.tap(() => Effect.logInfo(AnsiDoc.text('🎉 TypeSync studio started and running at http://localhost:3000'))), Layer.launch);
157
+ })), /*#__PURE__*/Command.provide(Typesync.layer));
38
158
  //# sourceMappingURL=typesync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typesync.js","names":["createServer","Command","Options","HttpApi","HttpApiBuilder","HttpApiEndpoint","HttpApiError","HttpApiGroup","HttpApiSchema","HttpMiddleware","HttpServer","HttpServerResponse","NodeHttpServer","AnsiDoc","Effect","Layer","Schema","Typesync","hypergraphTypeSyncApi","make","add","get","addError","InternalServerError","addSuccess","String","pipe","withEncoding","kind","contentType","prefix","hypergraphTypeSyncApiLive","group","handlers","handle","gen","schemaStream","TypesyncSchemaStreamBuilder","stream","hypergraphSchemaStream","catchAll","setHeaders","Connection","HypergraphTypeSyncApiLive","api","provide","layer","HypergraphTypeSyncApiLayer","serve","logger","middlewareCors","typesync","args","port","integer","withAlias","withDefault","withDescription","withHandler","withLogAddress","tap","logInfo","text","launch"],"sources":["../../../src/cli/subcommands/typesync.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"typesync.js","names":["createServer","fileURLToPath","Command","Options","FileSystem","HttpApi","HttpApiBuilder","HttpApiEndpoint","HttpApiError","HttpApiGroup","HttpApiSchema","HttpMiddleware","HttpRouter","HttpServer","HttpServerResponse","Path","NodeHttpServer","AnsiDoc","Cause","Data","Effect","Layer","Option","Schema","Struct","open","apps","Model","Typesync","HypergraphTypesyncStudioApiRouter","make","add","get","addError","InternalServerError","addSuccess","String","pipe","withEncoding","kind","contentType","post","setPayload","TypesyncHypergraphSchema","BadRequest","schema","mapping","TypesyncHypergraphMapping","prefix","HypergraphTypesyncStudioApi","hypergraphTypeSyncApiLive","group","handlers","gen","schemaStream","TypesyncSchemaStreamBuilder","handle","stream","hypergraphSchemaStream","tapErrorCause","cause","logError","cat","text","pretty","catchAll","setHeaders","Connection","payload","syncSchema","syncMapping","HypergraphTypeSyncApiLayer","middlewareCors","allowedMethods","allowedOrigins","provideMerge","api","provide","layer","HypergraphTypeSyncApiLive","httpApp","mergeAll","Router","Live","Middleware","TypesyncStudioFileRouter","fs","path","__filename","import","meta","url","__dirname","dirname","possiblePaths","resolve","findTypesyncStudioDist","fnUntraced","findFirst","_","exists","orElseSucceed","typesyncStudioClientDist","map","maybe","getOrElse","empty","file","join","orElse","status","params","fromNullable","isNone","assets","normalized","normalize","value","split","startsWith","Server","all","files","mount","mountApp","includePrefix","router","serve","logger","unwrapEffect","openBrowser","port","browser","async","resume","launch","appOpts","app","undefined","then","subprocess","on","void","err","fail","OpenBrowserError","mapBrowserName","b","chrome","firefox","edge","name","browserPrivate","mapped","catch","TaggedError","typesync","args","boolean","withDescription","withDefault","choice","withAlias","withHandler","withLogAddress","tap","logWarning","logInfo"],"sources":["../../../src/cli/subcommands/typesync.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAY,QAAQ,WAAW;AACxC,SAASC,aAAa,QAAQ,UAAU;AACxC,SAASC,OAAO,EAAEC,OAAO,QAAQ,aAAa;AAC9C,SACEC,UAAU,EACVC,OAAO,EACPC,cAAc,EACdC,eAAe,EACfC,YAAY,EACZC,YAAY,EACZC,aAAa,EACbC,cAAc,EACdC,UAAU,EACVC,UAAU,EACVC,kBAAkB,EAClBC,IAAI,QACC,kBAAkB;AACzB,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,KAAK,EAAEC,IAAI,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,QAAQ,QAAQ;AAC3E,OAAOC,IAAI,IAAkBC,IAAI,QAAQ,MAAM;AAC/C,OAAO,KAAKC,KAAK,MAAM,sBAAsB;AAC7C,OAAO,KAAKC,QAAQ,MAAM,yBAAyB;AAEnD,MAAMC,iCAAkC,sBAAQpB,YAAY,CAACqB,IAAI,CAAC,mCAAmC,CAAC,CACnGC,GAAG;AACF;AACAxB,eAAe,CAACyB,GAAG,CAAC,6BAA6B,CAAC,gBAAgB,CAC/DC,QAAQ,CAACzB,YAAY,CAAC0B,mBAAmB,CAAC,CAC1CC,UAAU,CACTZ,MAAM,CAACa,MAAM,CAACC,IAAI,CAChB3B,aAAa,CAAC4B,YAAY,CAAC;EACzBC,IAAI,EAAE,MAAM;EACZC,WAAW,EAAE;CACd,CAAC,CACH,CACF,CACJ,CACAT,GAAG,CACFxB,eAAe,CAACkC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CACvDC,UAAU,CAACf,KAAK,CAACgB,wBAAwB,CAAC,CAC1CR,UAAU,CAACR,KAAK,CAACgB,wBAAwB,CAAC,CAC1CV,QAAQ,CAACzB,YAAY,CAAC0B,mBAAmB,CAAC,CAC1CD,QAAQ,CAACzB,YAAY,CAACoC,UAAU,CAAC,CACrC,CACAb,GAAG,CACFxB,eAAe,CAACkC,IAAI,CAAC,uBAAuB,CAAC,eAAe,CACzDC,UAAU,CACTnB,MAAM,CAACC,MAAM,CAAC;EACZqB,MAAM,EAAElB,KAAK,CAACgB,wBAAwB;EACtCG,OAAO,EAAEnB,KAAK,CAACoB;CAChB,CAAC,CACH,CACAZ,UAAU,CAACR,KAAK,CAACgB,wBAAwB,CAAC,CAC1CV,QAAQ,CAACzB,YAAY,CAAC0B,mBAAmB,CAAC,CAC1CD,QAAQ,CAACzB,YAAY,CAACoC,UAAU,CAAC,CACrC,CACAI,MAAM,CAAC,KAAK,CAAC;AAChB,MAAMC,2BAA4B,sBAAQ5C,OAAO,CAACyB,IAAI,CAAC,6BAA6B,CAAC,CAClFC,GAAG,CAACF,iCAAiC,CAAC,CACtCmB,MAAM,CAAC,MAAM,CAAC;AAEjB,MAAME,yBAAyB,gBAAG5C,cAAc,CAAC6C,KAAK,CACpDF,2BAA2B,EAC3B,mCAAmC,EAClCG,QAAQ,IACPhC,MAAM,CAACiC,GAAG,CAAC,aAAS;EAClB,MAAMC,YAAY,GAAG,OAAO1B,QAAQ,CAAC2B,2BAA2B;EAEhE,OAAOH,QAAQ,CACZI,MAAM,CAAC,6BAA6B,EAAE,MACrCpC,MAAM,CAACiC,GAAG,CAAC,aAAS;IAClB,MAAMI,MAAM,GAAG,OAAOH,YAAY,CAACI,sBAAsB,EAAE,CAACrB,IAAI,CAC9DjB,MAAM,CAACuC,aAAa,CAAEC,KAAK,IACzBxC,MAAM,CAACyC,QAAQ,CACb5C,OAAO,CAAC6C,GAAG,CACT7C,OAAO,CAAC8C,IAAI,CAAC,4CAA4C,CAAC,EAC1D9C,OAAO,CAAC8C,IAAI,CAAC7C,KAAK,CAAC8C,MAAM,CAACJ,KAAK,CAAC,CAAC,CAClC,CACF,CACF,EACDxC,MAAM,CAAC6C,QAAQ,CAAC,MAAM,IAAIzD,YAAY,CAAC0B,mBAAmB,EAAE,CAAC,CAC9D;IAED,OAAO,OAAOpB,kBAAkB,CAAC2C,MAAM,CAACA,MAAM,EAAE;MAAEjB,WAAW,EAAE;IAAmB,CAAE,CAAC,CAACH,IAAI,CACxFvB,kBAAkB,CAACoD,UAAU,CAAC;MAC5B,cAAc,EAAE,mBAAmB;MACnC,eAAe,EAAE,UAAU;MAC3BC,UAAU,EAAE;KACb,CAAC,CACH;EACH,CAAC,CAAC,CACH,CACAX,MAAM,CAAC,sBAAsB,EAAE,CAAC;IAAEY;EAAO,CAAE,KAC1Cd,YAAY,CAACe,UAAU,CAACD,OAAO,CAAC,CAAC/B,IAAI,CACnCjB,MAAM,CAACuC,aAAa,CAAEC,KAAK,IACzBxC,MAAM,CAACyC,QAAQ,CACb5C,OAAO,CAAC6C,GAAG,CAAC7C,OAAO,CAAC8C,IAAI,CAAC,oCAAoC,CAAC,EAAE9C,OAAO,CAAC8C,IAAI,CAAC7C,KAAK,CAAC8C,MAAM,CAACJ,KAAK,CAAC,CAAC,CAAC,CACnG,CACF,EACDxC,MAAM,CAAC6C,QAAQ,CAAC,MAAM,IAAIzD,YAAY,CAAC0B,mBAAmB,EAAE,CAAC,CAC9D,CACF,CACAsB,MAAM,CAAC,uBAAuB,EAAE,CAAC;IAAEY;EAAO,CAAE,KAC3Cd,YAAY,CAACgB,WAAW,CAACF,OAAO,CAACvB,MAAM,EAAEuB,OAAO,CAACtB,OAAO,CAAC,CAACT,IAAI,CAC5DjB,MAAM,CAACuC,aAAa,CAAEC,KAAK,IACzBxC,MAAM,CAACyC,QAAQ,CACb5C,OAAO,CAAC6C,GAAG,CAAC7C,OAAO,CAAC8C,IAAI,CAAC,qCAAqC,CAAC,EAAE9C,OAAO,CAAC8C,IAAI,CAAC7C,KAAK,CAAC8C,MAAM,CAACJ,KAAK,CAAC,CAAC,CAAC,CACpG,CACF,EACDxC,MAAM,CAAC6C,QAAQ,CAAC,MAAM,IAAIzD,YAAY,CAAC0B,mBAAmB,EAAE,CAAC,CAC9D,CACF;AACL,CAAC,CAAC,CACL;AAED,MAAMqC,0BAA0B,gBAAGjE,cAAc,CAACkE,cAAc,CAAC;EAC/DC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;EAC1CC,cAAc,EAAE,CAAC,uBAAuB,EAAE,uBAAuB;CAClE,CAAC,CAACrC,IAAI,cACLhB,KAAK,CAACsD,YAAY,cAACrE,cAAc,CAACsE,GAAG,CAAC3B,2BAA2B,CAAC,CAAC,eACnE5B,KAAK,CAACwD,OAAO,CAACjD,QAAQ,CAACkD,KAAK,CAAC,eAC7BzD,KAAK,CAACwD,OAAO,CAAC3B,yBAAyB,CAAC,CACzC;AAED,MAAM6B,yBAAyB,gBAAGzE,cAAc,CAAC0E,OAAO,CAAC3C,IAAI,cAC3DjB,MAAM,CAACyD,OAAO,cACZxD,KAAK,CAAC4D,QAAQ,CAACV,0BAA0B,EAAEjE,cAAc,CAAC4E,MAAM,CAACC,IAAI,EAAE7E,cAAc,CAAC8E,UAAU,CAACN,KAAK,CAAC,CACxG,CACF;AAED,MAAMO,wBAAwB,gBAAGjE,MAAM,CAACiC,GAAG,CAAC,aAAS;EACnD,MAAMiC,EAAE,GAAG,OAAOlF,UAAU,CAACA,UAAU;EACvC,MAAMmF,IAAI,GAAG,OAAOxE,IAAI,CAACA,IAAI;EAE7B,MAAMyE,UAAU,GAAGvF,aAAa,CAACwF,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC;EACjD,MAAMC,SAAS,GAAGL,IAAI,CAACM,OAAO,CAACL,UAAU,CAAC;EAE1C;EACA,MAAMM,aAAa,GAAG;EACpB;EACAP,IAAI,CAACQ,OAAO,CAACH,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC;EAC9D;EACAL,IAAI,CAACQ,OAAO,CAACH,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CACrE;EAED,MAAMI,sBAAsB,GAAG5E,MAAM,CAAC6E,UAAU,CAAC,aAAS;IACxD,OAAO,OAAO7E,MAAM,CAAC8E,SAAS,CAACJ,aAAa,EAAGK,CAAC,IAAKb,EAAE,CAACc,MAAM,CAACD,CAAC,CAAC,CAAC9D,IAAI,CAACjB,MAAM,CAACiF,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;EAC5G,CAAC,CAAC;EAEF,MAAMC,wBAAwB,GAAG,OAAON,sBAAsB,EAAE,CAAC3D,IAAI;EACnE;EACAjB,MAAM,CAACmF,GAAG,CAAEC,KAAK,IAAKlF,MAAM,CAACmF,SAAS,CAACD,KAAK,EAAE,MAAMV,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CACvE;EAED,OAAOlF,UAAU,CAAC8F,KAAK,CAACrE,IAAI,CAC1BzB,UAAU,CAACoB,GAAG,CACZ,GAAG,EACHlB,kBAAkB,CAAC6F,IAAI,CAACpB,IAAI,CAACqB,IAAI,CAACN,wBAAwB,EAAE,YAAY,CAAC,CAAC,CAACjE,IAAI,CAC7EjB,MAAM,CAACyF,MAAM,CAAC,MAAM/F,kBAAkB,CAAC4F,KAAK,CAAC;IAAEI,MAAM,EAAE;EAAG,CAAE,CAAC,CAAC,CAC/D,CACF,EACDlG,UAAU,CAACoB,GAAG,CACZ,eAAe,EACfZ,MAAM,CAACiC,GAAG,CAAC,aAAS;IAClB,MAAMsD,IAAI,GAAG,OAAO/F,UAAU,CAACmG,MAAM,CAAC1E,IAAI,CAACjB,MAAM,CAACmF,GAAG,CAAC/E,MAAM,CAACQ,GAAG,CAAC,MAAM,CAAC,CAAC,EAAEZ,MAAM,CAACmF,GAAG,CAACjF,MAAM,CAAC0F,YAAY,CAAC,CAAC;IAE3G,IAAI1F,MAAM,CAAC2F,MAAM,CAACN,IAAI,CAAC,EAAE;MACvB,OAAO7F,kBAAkB,CAAC4F,KAAK,CAAC;QAAEI,MAAM,EAAE;MAAG,CAAE,CAAC;IAClD;IAEA,MAAMI,MAAM,GAAG3B,IAAI,CAACqB,IAAI,CAACN,wBAAwB,EAAE,QAAQ,CAAC;IAC5D,MAAMa,UAAU,GAAG5B,IAAI,CAAC6B,SAAS,CAAC7B,IAAI,CAACqB,IAAI,CAACM,MAAM,EAAE,GAAGP,IAAI,CAACU,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,IAAI,CAACH,UAAU,CAACI,UAAU,CAACL,MAAM,CAAC,EAAE;MAClC,OAAOpG,kBAAkB,CAAC4F,KAAK,CAAC;QAAEI,MAAM,EAAE;MAAG,CAAE,CAAC;IAClD;IAEA,OAAO,OAAOhG,kBAAkB,CAAC6F,IAAI,CAACQ,UAAU,CAAC;EACnD,CAAC,CAAC,CAAC9E,IAAI,CAACjB,MAAM,CAACyF,MAAM,CAAC,MAAM/F,kBAAkB,CAAC4F,KAAK,CAAC;IAAEI,MAAM,EAAE;EAAG,CAAE,CAAC,CAAC,CAAC,CACxE,CACF;AACH,CAAC,CAAC;AAEF,MAAMU,MAAM,gBAAGpG,MAAM,CAACqG,GAAG,CAAC;EACxB7C,GAAG,EAAEG,yBAAyB;EAC9B2C,KAAK,EAAErC;CACR,CAAC,CAAChD,IAAI,cACLjB,MAAM,CAACmF,GAAG,CAAC,CAAC;EAAE3B,GAAG;EAAE8C;AAAK,CAAE,KACxB9G,UAAU,CAAC8F,KAAK,CAACrE,IAAI,CAACzB,UAAU,CAAC+G,KAAK,CAAC,GAAG,EAAED,KAAK,CAAC,EAAE9G,UAAU,CAACgH,QAAQ,CAAC,MAAM,EAAEhD,GAAG,EAAE;EAAEiD,aAAa,EAAE;AAAI,CAAE,CAAC,CAAC,CAC/G,eACDzG,MAAM,CAACmF,GAAG,CAAEuB,MAAM,IAAKjH,UAAU,CAACkH,KAAK,CAACpH,cAAc,CAACqH,MAAM,CAAC,CAACF,MAAM,CAAC,CAAC,EACvEzG,KAAK,CAAC4G,YAAY,CACnB;AAED,MAAMC,WAAW,GAAGA,CAACC,IAAY,EAAEC,OAAkE,KACnGhH,MAAM,CAACiH,KAAK,CAA0BC,MAAM,IAAI;EAC9C,MAAM3C,GAAG,GAAG,oBAAoBwC,IAAI,EAAE;EAEtC,MAAMI,MAAM,GAAIC,OAAkD,IAChE/G,IAAI,CAACkE,GAAG,EAAE6C,OAAO,GAAG;IAAEC,GAAG,EAAED;EAAO,CAAE,GAAGE,SAAS,CAAC,CAACC,IAAI,CAAEC,UAAU,IAAI;IACpEA,UAAU,CAACC,EAAE,CAAC,OAAO,EAAE,MAAMP,MAAM,CAAClH,MAAM,CAAC0H,IAAI,CAAC,CAAC;IACjDF,UAAU,CAACC,EAAE,CAAC,OAAO,EAAGE,GAAG,IAAKT,MAAM,CAAClH,MAAM,CAAC4H,IAAI,CAAC,IAAIC,gBAAgB,CAAC;MAAErF,KAAK,EAAEmF;IAAG,CAAE,CAAC,CAAC,CAAC,CAAC;EAC5F,CAAC,CAAC;EAEJ,MAAMG,cAAc,GAAIC,CAAiB,IAAgD;IACvF,QAAQA,CAAC;MACP,KAAK,QAAQ;QACX,OAAOzH,IAAI,CAAC0H,MAAM;MAAE;MACtB,KAAK,SAAS;QACZ,OAAO1H,IAAI,CAAC2H,OAAO;MACrB,KAAK,MAAM;QACT,OAAO3H,IAAI,CAAC4H,IAAI;MAClB,KAAK,QAAQ;QACX,OAAO,QAAQ;MACjB,KAAK,KAAK;QACR,OAAO,KAAK;MACd;QACE,OAAOZ,SAAS;IACpB;EACF,CAAC;EAED,QAAQN,OAAO;IACb,KAAK,SAAS;MACZG,MAAM,EAAE;MACR;IACF,KAAK,gBAAgB;MACnBA,MAAM,CAAC;QAAEgB,IAAI,EAAE7H,IAAI,CAAC8H;MAAc,CAAE,CAAC;MACrC;IACF;MAAS;QACP,MAAMC,MAAM,GAAGP,cAAc,CAACd,OAAO,CAAC;QACtC,IAAIqB,MAAM,EAAE;UACVlB,MAAM,CAAC;YAAEgB,IAAI,EAAEE;UAAM,CAAE,CAAC,CAACC,KAAK,CAAC,MAAMnB,MAAM,EAAE,CAAC;UAC9C;QACF;QACAA,MAAM,EAAE;QACR;MACF;EACF;AACF,CAAC,CAAC;AAEJ,OAAM,MAAOU,gBAAiB,sBAAQ9H,IAAI,CAACwI,WAAW,CAAC,2CAA2C,CAEhG;AAEF,OAAO,MAAMC,QAAQ,gBAAG1J,OAAO,CAAC4B,IAAI,CAAC,UAAU,EAAE;EAC/C+H,IAAI,EAAE;IACJpI,IAAI,EAAEtB,OAAO,CAAC2J,OAAO,CAAC,MAAM,CAAC,CAACzH,IAAI,CAChClC,OAAO,CAAC4J,eAAe,CAAC,0DAA0D,CAAC,EACnF5J,OAAO,CAAC6J,WAAW,CAAC,IAAI,CAAC,CAC1B;IACD5B,OAAO,EAAEjI,OAAO,CAAC8J,MAAM,CAAC,SAAS,EAAE,CACjC,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,KAAK,EACL,SAAS,EACT,gBAAgB,CACjB,CAAC,CAAC5H,IAAI,CACLlC,OAAO,CAAC+J,SAAS,CAAC,GAAG,CAAC,EACtB/J,OAAO,CAAC4J,eAAe,CACrB,6FAA6F,CAC9F,EACD5J,OAAO,CAAC6J,WAAW,CAAC,SAAS,CAAC;;CAGnC,CAAC,CAAC3H,IAAI,cACLnC,OAAO,CAAC6J,eAAe,CACrB,+FAA+F,CAChG,eACD7J,OAAO,CAACiK,WAAW,CAAC,CAAC;EAAEN;AAAI,CAAE,KAC3BzI,MAAM,CAACiC,GAAG,CAAC,aAAS;EAClB,OAAOmE,MAAM,CAACnF,IAAI,CAChBxB,UAAU,CAACuJ,cAAc,EACzB/I,KAAK,CAACwD,OAAO,CAAC7D,cAAc,CAAC8D,KAAK,CAAC9E,YAAY,EAAE;IAAEmI,IAAI,EAAE;EAAI,CAAE,CAAC,CAAC,EACjE9G,KAAK,CAACgJ,GAAG,CAAC,MACRjJ,MAAM,CAACiC,GAAG,CAAC,aAAS;IAClB,IAAIwG,IAAI,CAACpI,IAAI,EAAE;MACb,OAAO,OAAOyG,WAAW,CAAC,IAAI,EAAE2B,IAAI,CAACzB,OAAO,CAAC,CAAC/F,IAAI,CAChDjB,MAAM,CAACuC,aAAa,CAAEC,KAAK,IACzBxC,MAAM,CAACkJ,UAAU,CACfrJ,OAAO,CAAC8C,IAAI,CACV,sFAAsF,CACvF,EACD9C,OAAO,CAAC8C,IAAI,CAAC7C,KAAK,CAAC8C,MAAM,CAACJ,KAAK,CAAC,CAAC,CAClC,CACF,EACDxC,MAAM,CAACiF,aAAa,CAAC,MAAMjF,MAAM,CAAC0H,IAAI,CAAC,CACxC;IACH;IACA,OAAO1H,MAAM,CAAC0H,IAAI;EACpB,CAAC,CAAC,CACH,EACDzH,KAAK,CAACgJ,GAAG,CAAC,MACRjJ,MAAM,CAACmJ,OAAO,CAACtJ,OAAO,CAAC8C,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAChG,EACD1C,KAAK,CAACkH,MAAM,CACb;AACH,CAAC,CAAC,CACH,eACDrI,OAAO,CAAC2E,OAAO,CAACjD,QAAQ,CAACkD,KAAK,CAAC,CAChC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"findMany.d.ts","sourceRoot":"","sources":["../../src/entity/findMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAS,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAQxC,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EACf,MAAM,EACN,iBAAiB,EACjB,YAAY,EAGb,MAAM,YAAY,CAAC;AAwNpB;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,YAAY,EACnD,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EACvD,OAAO,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAAE,GAAG,SAAS,GAClG;IAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAsIrF;AAID,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,YAAY,IAAI;IACzD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,WAAW,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,YAAY,EAC9D,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,SAAS,EACxG,OAAO,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAAE,GAAG,SAAS,GAClG,oBAAoB,CAAC,CAAC,CAAC,CAyHzB"}
1
+ {"version":3,"file":"findMany.d.ts","sourceRoot":"","sources":["../../src/entity/findMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAS,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAQxC,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EACf,MAAM,EACN,iBAAiB,EACjB,YAAY,EAGb,MAAM,YAAY,CAAC;AAwNpB;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,YAAY,EACnD,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EACvD,OAAO,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAAE,GAAG,SAAS,GAClG;IAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAkJrF;AAID,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,YAAY,IAAI;IACzD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,WAAW,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,YAAY,EAC9D,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,SAAS,EACxG,OAAO,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAAE,GAAG,SAAS,GAClG,oBAAoB,CAAC,CAAC,CAAC,CAyHzB"}
@@ -213,18 +213,10 @@ export function findMany(handle, type, filter, include) {
213
213
  const corruptEntityIds = [];
214
214
  const filtered = [];
215
215
  const evaluateFilter = (fieldFilter, fieldValue) => {
216
- // Handle NOT operator
217
- if ('not' in fieldFilter && fieldFilter.not) {
218
- return !evaluateFilter(fieldFilter.not, fieldValue);
216
+ if ('not' in fieldFilter || 'or' in fieldFilter) {
217
+ throw new Error("Logical operators 'not', 'or' are only allowed at the root (cross-field) level.");
219
218
  }
220
- // Handle OR operator
221
- if ('or' in fieldFilter) {
222
- const orFilters = fieldFilter.or;
223
- if (Array.isArray(orFilters)) {
224
- return orFilters.some(orFilter => evaluateFilter(orFilter, fieldValue));
225
- }
226
- }
227
- // Handle basic filters
219
+ // handle basic filters
228
220
  if ('is' in fieldFilter) {
229
221
  if (typeof fieldValue === 'boolean') {
230
222
  return fieldValue === fieldFilter.is;
@@ -273,13 +265,25 @@ export function findMany(handle, type, filter, include) {
273
265
  return true;
274
266
  };
275
267
  const evaluateCrossFieldFilter = (crossFieldFilter, entity) => {
268
+ // evaluate regular field filters with AND semantics
276
269
  for (const fieldName in crossFieldFilter) {
270
+ if (fieldName === 'or' || fieldName === 'not') continue;
277
271
  const fieldFilter = crossFieldFilter[fieldName];
272
+ if (!fieldFilter) continue;
278
273
  const fieldValue = entity[fieldName];
279
- if (fieldFilter && !evaluateFilter(fieldFilter, fieldValue)) {
274
+ if (!evaluateFilter(fieldFilter, fieldValue)) {
280
275
  return false;
281
276
  }
282
277
  }
278
+ // evaluate nested OR at cross-field level (if present)
279
+ if (Array.isArray(crossFieldFilter.or)) {
280
+ const orSatisfied = crossFieldFilter.or.some(orFilter => evaluateCrossFieldFilter(orFilter, entity));
281
+ if (!orSatisfied) return false;
282
+ }
283
+ // evaluate nested NOT at cross-field level (if present)
284
+ if (crossFieldFilter.not && evaluateCrossFieldFilter(crossFieldFilter.not, entity)) {
285
+ return false;
286
+ }
283
287
  return true;
284
288
  };
285
289
  const evaluateEntityFilter = (entityFilter, entity) => {
@@ -318,7 +322,11 @@ export function findMany(handle, type, filter, include) {
318
322
  decoded.__schema = type;
319
323
  filtered.push(decoded);
320
324
  }
321
- } catch (_error) {
325
+ } catch (error) {
326
+ // rethrow in case it's filter error
327
+ if (error instanceof Error && error.message.includes("Logical operators 'not', 'or' are only allowed at the root (cross-field) level")) {
328
+ throw error;
329
+ }
322
330
  corruptEntityIds.push(id);
323
331
  }
324
332
  }