@graphprotocol/hypergraph 0.5.0 → 0.6.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 (58) 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 +114 -6
  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 +145 -21
  20. package/dist/cli/subcommands/typesync.js.map +1 -1
  21. package/dist/connect/login.d.ts.map +1 -1
  22. package/dist/connect/login.js +3 -0
  23. package/dist/connect/login.js.map +1 -1
  24. package/dist/connect/smart-account.d.ts +1 -1
  25. package/dist/connect/smart-account.d.ts.map +1 -1
  26. package/dist/connect/smart-account.js +5 -1
  27. package/dist/connect/smart-account.js.map +1 -1
  28. package/dist/index.d.ts +1 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/mapping/Mapping.d.ts +24 -12
  33. package/dist/mapping/Mapping.d.ts.map +1 -1
  34. package/dist/mapping/Mapping.js +12 -4
  35. package/dist/mapping/Mapping.js.map +1 -1
  36. package/dist/typesync-studio/dist/assets/authenticate-callback-DN5-Vy9K.js +1 -0
  37. package/dist/typesync-studio/dist/assets/authenticate-callback-DN5-Vy9K.js.map +1 -0
  38. package/dist/typesync-studio/dist/assets/ccip-Dy0vD6Om.js +1 -0
  39. package/dist/typesync-studio/dist/assets/ccip-Dy0vD6Om.js.map +1 -0
  40. package/dist/typesync-studio/dist/assets/index-C9YLgP33.js +215 -0
  41. package/dist/typesync-studio/dist/assets/index-C9YLgP33.js.map +1 -0
  42. package/dist/typesync-studio/dist/assets/index-CgfQUe9o.js +88 -0
  43. package/dist/typesync-studio/dist/assets/index-CgfQUe9o.js.map +1 -0
  44. package/dist/typesync-studio/dist/assets/index-VJZgO5f3.css +1 -0
  45. package/dist/typesync-studio/dist/index.html +30 -0
  46. package/dist/typesync-studio/dist/manifest.json +20 -0
  47. package/dist/typesync-studio/dist/robots.txt +3 -0
  48. package/package.json +15 -8
  49. package/src/cli/Cli.ts +1 -1
  50. package/src/cli/bin.ts +0 -1
  51. package/src/cli/services/Model.ts +87 -0
  52. package/src/cli/services/Typesync.ts +154 -16
  53. package/src/cli/services/Utils.ts +231 -11
  54. package/src/cli/subcommands/typesync.ts +258 -42
  55. package/src/connect/login.ts +3 -0
  56. package/src/connect/smart-account.ts +6 -2
  57. package/src/index.ts +1 -0
  58. package/src/mapping/Mapping.ts +21 -6
package/dist/cli/Cli.js CHANGED
@@ -3,6 +3,6 @@ import { typesync } from './subcommands/typesync.js';
3
3
  const hypergraph = /*#__PURE__*/Command.make('hypergraph').pipe(/*#__PURE__*/Command.withDescription('Hypergraph command line interface for building and interacting with @graphprotocol/hypergraph schemas'), /*#__PURE__*/Command.withSubcommands([typesync]));
4
4
  export const run = /*#__PURE__*/Command.run(hypergraph, {
5
5
  name: 'hypergraph',
6
- version: '0.3.0'
6
+ version: '0.6.0'
7
7
  });
8
8
  //# sourceMappingURL=Cli.js.map
package/dist/cli/bin.js CHANGED
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","names":["NodeContext","NodeFileSystem","NodeRuntime","Ansi","AnsiDoc","Effect","Logger","LogLevel","run","AnsiDocLogger","runnable","suspend","process","argv","pipe","provide","layer","catchAllDefect","defect","gen","name","logError","cat","hardLine","text","annotate","red","die","replace","defaultLogger","withMinimumLogLevel","Debug","orDie","runMain","disableErrorReporting","env","NODE_ENV","disablePrettyLogger"],"sources":["../../src/cli/bin.ts"],"sourcesContent":[null],"mappings":";AAEA,SAASA,WAAW,EAAEC,cAAc,EAAEC,WAAW,QAAQ,uBAAuB;AAChF,OAAO,KAAKC,IAAI,MAAM,2BAA2B;AACjD,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AACvD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAE3C,SAASC,GAAG,QAAQ,UAAU;AAC9B,SAASC,aAAa,QAAQ,aAAa;AAE3C,MAAMC,QAAQ,gBAAGL,MAAM,CAACM,OAAO,CAAC,MAAMH,GAAG,CAACI,OAAO,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,cAC3DT,MAAM,CAACU,OAAO,CAACd,cAAc,CAACe,KAAK,CAAC,eACpCX,MAAM,CAACU,OAAO,CAACf,WAAW,CAACgB,KAAK,CAAC,CAClC;AAEDN,QAAQ,CAACI,IAAI,CACXT,MAAM,CAACY,cAAc,CAAEC,MAAM,IAC3Bb,MAAM,CAACc,GAAG,CAAC,aAAS;EAClB,IAAID,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAIA,MAAM,IAAIA,MAAM,CAACE,IAAI,KAAK,eAAe,EAAE;IAC/F,OAAO,OAAOf,MAAM,CAACgB,QAAQ,CAC3BjB,OAAO,CAACkB,GAAG,CAAClB,OAAO,CAACmB,QAAQ,EAAEnB,OAAO,CAACoB,IAAI,CAAC,YAAY,CAAC,CAACV,IAAI,CAACV,OAAO,CAACqB,QAAQ,CAACtB,IAAI,CAACuB,GAAG,CAAC,CAAC,CAAC,CAC3F;EACH;EACA,OAAOrB,MAAM,CAACsB,GAAG,CAACT,MAAM,CAAC;AAC3B,CAAC,CAAC,CACH,EACDb,MAAM,CAACU,OAAO,CAACT,MAAM,CAACsB,OAAO,CAACtB,MAAM,CAACuB,aAAa,EAAEpB,aAAa,CAAC,CAAC,EACnEH,MAAM,CAACwB,mBAAmB,CAACvB,QAAQ,CAACwB,KAAK,CAAC,EAC1C1B,MAAM,CAAC2B,KAAK,EACZ9B,WAAW,CAAC+B,OAAO,CAAC;EAAEC,qBAAqB,EAAEtB,OAAO,CAACuB,GAAG,CAACC,QAAQ,KAAK,MAAM;EAAEC,mBAAmB,EAAE;AAAI,CAAE,CAAC,CAC3G","ignoreList":[]}
1
+ {"version":3,"file":"bin.js","names":["NodeContext","NodeFileSystem","NodeRuntime","Ansi","AnsiDoc","Effect","Logger","LogLevel","run","AnsiDocLogger","runnable","suspend","process","argv","pipe","provide","layer","catchAllDefect","defect","gen","name","logError","cat","hardLine","text","annotate","red","die","replace","defaultLogger","withMinimumLogLevel","Debug","orDie","runMain","disableErrorReporting","env","NODE_ENV","disablePrettyLogger"],"sources":["../../src/cli/bin.ts"],"sourcesContent":[null],"mappings":";AAEA,SAASA,WAAW,EAAEC,cAAc,EAAEC,WAAW,QAAQ,uBAAuB;AAChF,OAAO,KAAKC,IAAI,MAAM,2BAA2B;AACjD,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AACvD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,GAAG,QAAQ,UAAU;AAC9B,SAASC,aAAa,QAAQ,aAAa;AAE3C,MAAMC,QAAQ,gBAAGL,MAAM,CAACM,OAAO,CAAC,MAAMH,GAAG,CAACI,OAAO,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,cAC3DT,MAAM,CAACU,OAAO,CAACd,cAAc,CAACe,KAAK,CAAC,eACpCX,MAAM,CAACU,OAAO,CAACf,WAAW,CAACgB,KAAK,CAAC,CAClC;AAEDN,QAAQ,CAACI,IAAI,CACXT,MAAM,CAACY,cAAc,CAAEC,MAAM,IAC3Bb,MAAM,CAACc,GAAG,CAAC,aAAS;EAClB,IAAID,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAIA,MAAM,IAAIA,MAAM,CAACE,IAAI,KAAK,eAAe,EAAE;IAC/F,OAAO,OAAOf,MAAM,CAACgB,QAAQ,CAC3BjB,OAAO,CAACkB,GAAG,CAAClB,OAAO,CAACmB,QAAQ,EAAEnB,OAAO,CAACoB,IAAI,CAAC,YAAY,CAAC,CAACV,IAAI,CAACV,OAAO,CAACqB,QAAQ,CAACtB,IAAI,CAACuB,GAAG,CAAC,CAAC,CAAC,CAC3F;EACH;EACA,OAAOrB,MAAM,CAACsB,GAAG,CAACT,MAAM,CAAC;AAC3B,CAAC,CAAC,CACH,EACDb,MAAM,CAACU,OAAO,CAACT,MAAM,CAACsB,OAAO,CAACtB,MAAM,CAACuB,aAAa,EAAEpB,aAAa,CAAC,CAAC,EACnEH,MAAM,CAACwB,mBAAmB,CAACvB,QAAQ,CAACwB,KAAK,CAAC,EAC1C1B,MAAM,CAAC2B,KAAK,EACZ9B,WAAW,CAAC+B,OAAO,CAAC;EAAEC,qBAAqB,EAAEtB,OAAO,CAACuB,GAAG,CAACC,QAAQ,KAAK,MAAM;EAAEC,mBAAmB,EAAE;AAAI,CAAE,CAAC,CAC3G","ignoreList":[]}
package/dist/cli/bun.js CHANGED
File without changes
@@ -0,0 +1,99 @@
1
+ import { Schema } from 'effect';
2
+ export declare const TypesyncHypergraphSchemaStatus: Schema.NullOr<Schema.Literal<["published", "synced", "published_not_synced"]>>;
3
+ export type TypesyncHypergraphSchemaStatus = typeof TypesyncHypergraphSchemaStatus.Type;
4
+ export declare const TypesyncHypergraphSchemaTypeProperty: Schema.extend<Schema.Union<[Schema.Struct<{
5
+ dataType: Schema.Literal<["String", "Number", "Boolean", "Date", "Point"]>;
6
+ name: typeof Schema.NonEmptyTrimmedString;
7
+ knowledgeGraphId: Schema.NullOr<typeof Schema.UUID>;
8
+ optional: Schema.optional<Schema.NullishOr<typeof Schema.Boolean>>;
9
+ }>, Schema.Struct<{
10
+ dataType: Schema.refine<`Relation(${string})`, Schema.Schema<string, string, never>>;
11
+ relationType: Schema.refine<string, typeof Schema.Trimmed>;
12
+ name: typeof Schema.NonEmptyTrimmedString;
13
+ knowledgeGraphId: Schema.NullOr<typeof Schema.UUID>;
14
+ optional: Schema.optional<Schema.NullishOr<typeof Schema.Boolean>>;
15
+ }>]>, Schema.Struct<{
16
+ status: Schema.NullOr<Schema.Literal<["published", "synced", "published_not_synced"]>>;
17
+ }>>;
18
+ export type TypesyncHypergraphSchemaTypeProperty = typeof TypesyncHypergraphSchemaTypeProperty.Type;
19
+ declare const TypesyncHypergraphSchemaType_base: Schema.Class<TypesyncHypergraphSchemaType, {
20
+ status: Schema.NullOr<Schema.Literal<["published", "synced", "published_not_synced"]>>;
21
+ properties: Schema.filter<Schema.filter<Schema.Array$<Schema.extend<Schema.Union<[Schema.Struct<{
22
+ dataType: Schema.Literal<["String", "Number", "Boolean", "Date", "Point"]>;
23
+ name: typeof Schema.NonEmptyTrimmedString;
24
+ knowledgeGraphId: Schema.NullOr<typeof Schema.UUID>;
25
+ optional: Schema.optional<Schema.NullishOr<typeof Schema.Boolean>>;
26
+ }>, Schema.Struct<{
27
+ dataType: Schema.refine<`Relation(${string})`, Schema.Schema<string, string, never>>;
28
+ relationType: Schema.refine<string, typeof Schema.Trimmed>;
29
+ name: typeof Schema.NonEmptyTrimmedString;
30
+ knowledgeGraphId: Schema.NullOr<typeof Schema.UUID>;
31
+ optional: Schema.optional<Schema.NullishOr<typeof Schema.Boolean>>;
32
+ }>]>, Schema.Struct<{
33
+ status: Schema.NullOr<Schema.Literal<["published", "synced", "published_not_synced"]>>;
34
+ }>>>>>;
35
+ name: typeof Schema.NonEmptyTrimmedString;
36
+ knowledgeGraphId: Schema.NullOr<typeof Schema.UUID>;
37
+ }, Schema.Struct.Encoded<{
38
+ status: Schema.NullOr<Schema.Literal<["published", "synced", "published_not_synced"]>>;
39
+ properties: Schema.filter<Schema.filter<Schema.Array$<Schema.extend<Schema.Union<[Schema.Struct<{
40
+ dataType: Schema.Literal<["String", "Number", "Boolean", "Date", "Point"]>;
41
+ name: typeof Schema.NonEmptyTrimmedString;
42
+ knowledgeGraphId: Schema.NullOr<typeof Schema.UUID>;
43
+ optional: Schema.optional<Schema.NullishOr<typeof Schema.Boolean>>;
44
+ }>, Schema.Struct<{
45
+ dataType: Schema.refine<`Relation(${string})`, Schema.Schema<string, string, never>>;
46
+ relationType: Schema.refine<string, typeof Schema.Trimmed>;
47
+ name: typeof Schema.NonEmptyTrimmedString;
48
+ knowledgeGraphId: Schema.NullOr<typeof Schema.UUID>;
49
+ optional: Schema.optional<Schema.NullishOr<typeof Schema.Boolean>>;
50
+ }>]>, Schema.Struct<{
51
+ status: Schema.NullOr<Schema.Literal<["published", "synced", "published_not_synced"]>>;
52
+ }>>>>>;
53
+ name: typeof Schema.NonEmptyTrimmedString;
54
+ knowledgeGraphId: Schema.NullOr<typeof Schema.UUID>;
55
+ }>, never, {
56
+ readonly name: string;
57
+ } & {
58
+ readonly knowledgeGraphId: string | null;
59
+ } & {
60
+ readonly properties: readonly (({
61
+ readonly name: string;
62
+ readonly knowledgeGraphId: string | null;
63
+ readonly optional?: boolean | null | undefined;
64
+ readonly dataType: `Relation(${string})`;
65
+ readonly relationType: string;
66
+ } | {
67
+ readonly name: string;
68
+ readonly knowledgeGraphId: string | null;
69
+ readonly optional?: boolean | null | undefined;
70
+ readonly dataType: "String" | "Number" | "Boolean" | "Date" | "Point";
71
+ }) & {
72
+ readonly status: "published" | "synced" | "published_not_synced" | null;
73
+ })[];
74
+ } & {
75
+ readonly status: "published" | "synced" | "published_not_synced" | null;
76
+ }, {}, {}>;
77
+ export declare class TypesyncHypergraphSchemaType extends TypesyncHypergraphSchemaType_base {
78
+ }
79
+ declare const TypesyncHypergraphSchema_base: Schema.Class<TypesyncHypergraphSchema, {
80
+ types: Schema.filter<Schema.filter<Schema.filter<Schema.Array$<typeof TypesyncHypergraphSchemaType>>>>;
81
+ }, Schema.Struct.Encoded<{
82
+ types: Schema.filter<Schema.filter<Schema.filter<Schema.Array$<typeof TypesyncHypergraphSchemaType>>>>;
83
+ }>, never, {
84
+ readonly types: readonly TypesyncHypergraphSchemaType[];
85
+ }, {}, {}>;
86
+ export declare class TypesyncHypergraphSchema extends TypesyncHypergraphSchema_base {
87
+ }
88
+ /**
89
+ * Extending the hypergraph [Mapping definition](../../mapping/Mapping.ts) to make it an effect Schema instance.
90
+ * Allows decoding as well as passing in the api request payload
91
+ */
92
+ export declare const TypesyncHypergraphMapping: Schema.Record$<typeof Schema.NonEmptyTrimmedString, Schema.Struct<{
93
+ typeIds: Schema.filter<Schema.Array$<typeof Schema.UUID>>;
94
+ properties: Schema.optional<Schema.UndefinedOr<Schema.Record$<typeof Schema.NonEmptyTrimmedString, typeof Schema.UUID>>>;
95
+ relations: Schema.optional<Schema.UndefinedOr<Schema.Record$<typeof Schema.NonEmptyTrimmedString, typeof Schema.UUID>>>;
96
+ }>>;
97
+ export type TypesyncHypergraphMapping = typeof TypesyncHypergraphMapping.Type;
98
+ export {};
99
+ //# sourceMappingURL=Model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../src/cli/services/Model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,eAAO,MAAM,8BAA8B,gFAS1C,CAAC;AACF,MAAM,MAAM,8BAA8B,GAAG,OAAO,8BAA8B,CAAC,IAAI,CAAC;AAExF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;GAShD,CAAC;AACF,MAAM,MAAM,oCAAoC,GAAG,OAAO,oCAAoC,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACpG,qBAAa,4BAA6B,SAAQ,iCAahD;CAAG;;;;;;;;AACL,qBAAa,wBAAyB,SAAQ,6BAgB5C;CAAG;AAEL;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;GAqBpC,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { Schema } from 'effect';
2
+ import * as Mapping from '../../mapping/Mapping.js';
3
+ import * as Utils from '../../mapping/Utils.js';
4
+ export const TypesyncHypergraphSchemaStatus = /*#__PURE__*/Schema.NullOr(/*#__PURE__*/Schema.Literal(
5
+ // the type/property has been synced to the schema file and published to the Knowledge Graph
6
+ 'published',
7
+ // the type/property has been synced to the schema file, but requires publishing to the Knowledge Graph
8
+ 'synced',
9
+ // the type/property exists in the Knowledge Graph, has been added to the users schema through the Typesync UI, but requires syncing to the schema file
10
+ 'published_not_synced'));
11
+ export const TypesyncHypergraphSchemaTypeProperty = /*#__PURE__*/Schema.Union(Mapping.SchemaTypePropertyPrimitive, Mapping.SchemaTypePropertyRelation).pipe(/*#__PURE__*/Schema.extend(/*#__PURE__*/Schema.Struct({
12
+ status: TypesyncHypergraphSchemaStatus
13
+ })));
14
+ export class TypesyncHypergraphSchemaType extends /*#__PURE__*/Schema.Class('/Hypergraph/cli/models/TypesyncHypergraphSchemaType')({
15
+ ... /*#__PURE__*/Mapping.SchemaType.omit('properties').fields,
16
+ status: TypesyncHypergraphSchemaStatus,
17
+ properties: /*#__PURE__*/Schema.Array(TypesyncHypergraphSchemaTypeProperty).pipe(/*#__PURE__*/Schema.minItems(1), /*#__PURE__*/Schema.filter(Utils.namesAreUnique, {
18
+ identifier: 'DuplicatePropertyNames',
19
+ jsonSchema: {},
20
+ description: 'The property.name must be unique across all properties in the type'
21
+ }))
22
+ }) {}
23
+ export class TypesyncHypergraphSchema extends /*#__PURE__*/Schema.Class('/Hypergraph/cli/models/TypesyncHypergraphSchema')({
24
+ types: /*#__PURE__*/Schema.Array(TypesyncHypergraphSchemaType).pipe(/*#__PURE__*/Schema.minItems(1), /*#__PURE__*/Schema.filter(Utils.namesAreUnique, {
25
+ identifier: 'DuplicateTypeNames',
26
+ jsonSchema: {},
27
+ description: 'The type.name must be unique across all types in the schema'
28
+ }), /*#__PURE__*/Schema.filter(Mapping.allRelationPropertyTypesExist, {
29
+ identifier: 'AllRelationTypesExist',
30
+ jsonSchema: {},
31
+ description: 'Each type property of dataType RELATION must have a type of the same name in the schema'
32
+ }))
33
+ }) {}
34
+ /**
35
+ * Extending the hypergraph [Mapping definition](../../mapping/Mapping.ts) to make it an effect Schema instance.
36
+ * Allows decoding as well as passing in the api request payload
37
+ */
38
+ export const TypesyncHypergraphMapping = /*#__PURE__*/Schema.Record({
39
+ key: Schema.NonEmptyTrimmedString,
40
+ value: /*#__PURE__*/Schema.Struct({
41
+ typeIds: /*#__PURE__*/Schema.Array(Schema.UUID).pipe(/*#__PURE__*/Schema.minItems(1)),
42
+ properties: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.UndefinedOr(/*#__PURE__*/Schema.Record({
43
+ key: Schema.NonEmptyTrimmedString,
44
+ value: Schema.UUID
45
+ }))),
46
+ relations: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.UndefinedOr(/*#__PURE__*/Schema.Record({
47
+ key: Schema.NonEmptyTrimmedString,
48
+ value: Schema.UUID
49
+ })))
50
+ })
51
+ });
52
+ //# sourceMappingURL=Model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Model.js","names":["Schema","Mapping","Utils","TypesyncHypergraphSchemaStatus","NullOr","Literal","TypesyncHypergraphSchemaTypeProperty","Union","SchemaTypePropertyPrimitive","SchemaTypePropertyRelation","pipe","extend","Struct","status","TypesyncHypergraphSchemaType","Class","SchemaType","omit","fields","properties","Array","minItems","filter","namesAreUnique","identifier","jsonSchema","description","TypesyncHypergraphSchema","types","allRelationPropertyTypesExist","TypesyncHypergraphMapping","Record","key","NonEmptyTrimmedString","value","typeIds","UUID","optional","UndefinedOr","relations"],"sources":["../../../src/cli/services/Model.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAE/B,OAAO,KAAKC,OAAO,MAAM,0BAA0B;AACnD,OAAO,KAAKC,KAAK,MAAM,wBAAwB;AAE/C,OAAO,MAAMC,8BAA8B,gBAAGH,MAAM,CAACI,MAAM,cACzDJ,MAAM,CAACK,OAAO;AACZ;AACA,WAAW;AACX;AACA,QAAQ;AACR;AACA,sBAAsB,CACvB,CACF;AAGD,OAAO,MAAMC,oCAAoC,gBAAGN,MAAM,CAACO,KAAK,CAC9DN,OAAO,CAACO,2BAA2B,EACnCP,OAAO,CAACQ,0BAA0B,CACnC,CAACC,IAAI,cACJV,MAAM,CAACW,MAAM,cACXX,MAAM,CAACY,MAAM,CAAC;EACZC,MAAM,EAAEV;CACT,CAAC,CACH,CACF;AAED,OAAM,MAAOW,4BAA6B,sBAAQd,MAAM,CAACe,KAAK,CAC5D,qDAAqD,CACtD,CAAC;EACA,GAAG,cAAAd,OAAO,CAACe,UAAU,CAACC,IAAI,CAAC,YAAY,CAAC,CAACC,MAAM;EAC/CL,MAAM,EAAEV,8BAA8B;EACtCgB,UAAU,eAAEnB,MAAM,CAACoB,KAAK,CAACd,oCAAoC,CAAC,CAACI,IAAI,cACjEV,MAAM,CAACqB,QAAQ,CAAC,CAAC,CAAC,eAClBrB,MAAM,CAACsB,MAAM,CAACpB,KAAK,CAACqB,cAAc,EAAE;IAClCC,UAAU,EAAE,wBAAwB;IACpCC,UAAU,EAAE,EAAE;IACdC,WAAW,EAAE;GACd,CAAC;CAEL,CAAC;AACF,OAAM,MAAOC,wBAAyB,sBAAQ3B,MAAM,CAACe,KAAK,CACxD,iDAAiD,CAClD,CAAC;EACAa,KAAK,eAAE5B,MAAM,CAACoB,KAAK,CAACN,4BAA4B,CAAC,CAACJ,IAAI,cACpDV,MAAM,CAACqB,QAAQ,CAAC,CAAC,CAAC,eAClBrB,MAAM,CAACsB,MAAM,CAACpB,KAAK,CAACqB,cAAc,EAAE;IAClCC,UAAU,EAAE,oBAAoB;IAChCC,UAAU,EAAE,EAAE;IACdC,WAAW,EAAE;GACd,CAAC,eACF1B,MAAM,CAACsB,MAAM,CAACrB,OAAO,CAAC4B,6BAA6B,EAAE;IACnDL,UAAU,EAAE,uBAAuB;IACnCC,UAAU,EAAE,EAAE;IACdC,WAAW,EAAE;GACd,CAAC;CAEL,CAAC;AAEF;;;;AAIA,OAAO,MAAMI,yBAAyB,gBAAG9B,MAAM,CAAC+B,MAAM,CAAC;EACrDC,GAAG,EAAEhC,MAAM,CAACiC,qBAAqB;EACjCC,KAAK,eAAElC,MAAM,CAACY,MAAM,CAAC;IACnBuB,OAAO,eAAEnC,MAAM,CAACoB,KAAK,CAACpB,MAAM,CAACoC,IAAI,CAAC,CAAC1B,IAAI,cAACV,MAAM,CAACqB,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3DF,UAAU,eAAEnB,MAAM,CAACqC,QAAQ,cACzBrC,MAAM,CAACsC,WAAW,cAChBtC,MAAM,CAAC+B,MAAM,CAAC;MACZC,GAAG,EAAEhC,MAAM,CAACiC,qBAAqB;MACjCC,KAAK,EAAElC,MAAM,CAACoC;KACf,CAAC,CACH,CACF;IACDG,SAAS,eAAEvC,MAAM,CAACqC,QAAQ,cACxBrC,MAAM,CAACsC,WAAW,cAChBtC,MAAM,CAAC+B,MAAM,CAAC;MACZC,GAAG,EAAEhC,MAAM,CAACiC,qBAAqB;MACjCC,KAAK,EAAElC,MAAM,CAACoC;KACf,CAAC,CACH;GAEJ;CACF,CAAC","ignoreList":[]}
@@ -1,10 +1,13 @@
1
- import { FileSystem, Path } from '@effect/platform';
1
+ import { FileSystem, KeyValueStore, Path } from '@effect/platform';
2
2
  import { Cause, Effect, Stream } from 'effect';
3
+ import { type TypesyncHypergraphMapping, TypesyncHypergraphSchema } from './Model.js';
3
4
  declare const TypesyncSchemaStreamBuilder_base: Effect.Service.Class<TypesyncSchemaStreamBuilder, "/Hypergraph/cli/services/TypesyncSchemaStreamBuilder", {
4
- readonly dependencies: readonly [import("effect/Layer").Layer<FileSystem.FileSystem, never, never>];
5
+ readonly dependencies: readonly [import("effect/Layer").Layer<FileSystem.FileSystem, never, never>, import("effect/Layer").Layer<KeyValueStore.KeyValueStore, never, never>];
5
6
  readonly effect: Effect.Effect<{
6
- readonly hypergraphSchemaStream: (cwd?: string) => Effect.Effect<Stream.Stream<Uint8Array<ArrayBufferLike>, never, never>, never, never>;
7
- }, never, FileSystem.FileSystem | Path.Path>;
7
+ readonly hypergraphSchemaStream: (cwd?: string) => Effect.Effect<Stream.Stream<Uint8Array<ArrayBufferLike>, never, never>, import("@effect/platform/Error").PlatformError, never>;
8
+ readonly syncSchema: (schema: TypesyncHypergraphSchema) => Effect.Effect<TypesyncHypergraphSchema, import("@effect/platform/Error").PlatformError, never>;
9
+ readonly syncMapping: (schema: TypesyncHypergraphSchema, mapping: TypesyncHypergraphMapping) => Effect.Effect<TypesyncHypergraphSchema, import("@effect/platform/Error").PlatformError, never>;
10
+ }, never, FileSystem.FileSystem | KeyValueStore.KeyValueStore | Path.Path>;
8
11
  }>;
9
12
  export declare class TypesyncSchemaStreamBuilder extends TypesyncSchemaStreamBuilder_base {
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Typesync.d.ts","sourceRoot":"","sources":["../../../src/cli/services/Typesync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,KAAK,EAAQ,MAAM,EAAgC,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;;AAKnF,qBAAa,2BAA4B,SAAQ,gCA8KhD;CAAG;AACJ,eAAO,MAAM,KAAK,6EAAsC,CAAC;;;;AAEzD,qBAAa,kBAAmB,SAAQ,wBAA8D;IACpG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;CAAG"}
1
+ {"version":3,"file":"Typesync.d.ts","sourceRoot":"","sources":["../../../src/cli/services/Typesync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EAAE,KAAK,EAAQ,MAAM,EAAgC,MAAM,EAAE,MAAM,QAAQ,CAAC;AAInF,OAAO,EACL,KAAK,yBAAyB,EAC9B,wBAAwB,EAGzB,MAAM,YAAY,CAAC;;;;;sCAoMc,wBAAwB;uCA8CvB,wBAAwB,WAAW,yBAAyB;;;AA/O/F,qBAAa,2BAA4B,SAAQ,gCAiThD;CAAG;AACJ,eAAO,MAAM,KAAK,6EAAsC,CAAC;;;;AAEzD,qBAAa,kBAAmB,SAAQ,wBAA8D;IACpG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;CAAG"}
@@ -1,14 +1,20 @@
1
- import { FileSystem, Path } from '@effect/platform';
1
+ import { FileSystem, KeyValueStore, Path } from '@effect/platform';
2
2
  import { NodeFileSystem } from '@effect/platform-node';
3
3
  import { AnsiDoc } from '@effect/printer-ansi';
4
4
  import { Cause, Data, Effect, Array as EffectArray, Option, Stream } from 'effect';
5
- import { parseHypergraphMapping, parseSchema } from './Utils.js';
5
+ import { propertyIsRelation } from '../../mapping/Mapping.js';
6
+ import { toCamelCase, toPascalCase } from '../../mapping/Utils.js';
7
+ import { TypesyncHypergraphSchema, TypesyncHypergraphSchemaType } from './Model.js';
8
+ import { buildMappingFile, buildSchemaFile, parseHypergraphMapping, parseSchema } from './Utils.js';
6
9
  export class TypesyncSchemaStreamBuilder extends /*#__PURE__*/Effect.Service()('/Hypergraph/cli/services/TypesyncSchemaStreamBuilder', {
7
- dependencies: [NodeFileSystem.layer],
10
+ dependencies: [NodeFileSystem.layer, KeyValueStore.layerMemory],
8
11
  effect: /*#__PURE__*/Effect.gen(function* () {
9
12
  const fs = yield* FileSystem.FileSystem;
10
13
  const path = yield* Path.Path;
14
+ const kv = yield* KeyValueStore.KeyValueStore;
11
15
  const encoder = new TextEncoder();
16
+ const SCHEMA_FILE_PATH_STORAGE_KEY = 'SCHEMA_FILE_PATH';
17
+ const MAPPING_FILE_PATH_STORAGE_KEY = 'MAPPING_FILE_PATH';
12
18
  const schemaCandidates = (cwd = '.') => EffectArray.make(path.resolve(cwd, 'schema.ts'), path.resolve(cwd, 'src/schema.ts'), path.resolve(cwd, 'app/schema.ts'), path.resolve(cwd, 'src/app/schema.ts'));
13
19
  const mappingCandidates = (cwd = '.') => EffectArray.make(path.resolve(cwd, 'mapping.ts'), path.resolve(cwd, 'src/mapping.ts'), path.resolve(cwd, 'app/mapping.ts'), path.resolve(cwd, 'src/app/mapping.ts'));
14
20
  const jiti = yield* Effect.tryPromise({
@@ -117,18 +123,120 @@ export class TypesyncSchemaStreamBuilder extends /*#__PURE__*/Effect.Service()('
117
123
  const schemaFilePath = yield* findHypergraphSchema(schemaFileCandidates);
118
124
  if (Option.isNone(schemaFilePath)) {
119
125
  yield* Effect.logDebug(AnsiDoc.text('No Hypergraph schema file found. Searched:'), AnsiDoc.cats(schemaFileCandidates.map(candidate => AnsiDoc.text(candidate))));
126
+ } else if (Option.isSome(schemaFilePath)) {
127
+ // store schema file location in KeyValueStore for reference
128
+ yield* kv.set(SCHEMA_FILE_PATH_STORAGE_KEY, schemaFilePath.value);
120
129
  }
121
130
  // Fetch the Mapping definition from any mapping.ts in the directory.
122
131
  // If exists, use it to get the knowledgeGraphId for each type/property in the parsed schema
123
132
  const mappingFilePath = yield* findHypergraphSchema(mappingCandidates(cwd));
124
- return currentSchemaStream(schemaFilePath, mappingFilePath).pipe(Stream.concat(watchSchemaStream(schemaFilePath, mappingFilePath)), Stream.map(stream => {
133
+ if (Option.isSome(mappingFilePath)) {
134
+ // store mapping file location in KeyValueStore for reference
135
+ yield* kv.set(MAPPING_FILE_PATH_STORAGE_KEY, mappingFilePath.value);
136
+ }
137
+ return Stream.concat(
138
+ // This is a workaround because the browser doesn't send a message until the second message is sent.
139
+ // We are sending an empty message, because then the actual first message will be the real second message and the browsers receives it.
140
+ Stream.succeed(encoder.encode('data: {"types":[]}\n\n')), currentSchemaStream(schemaFilePath, mappingFilePath).pipe(Stream.concat(watchSchemaStream(schemaFilePath, mappingFilePath)), Stream.map(stream => {
125
141
  const jsonData = JSON.stringify(stream);
126
142
  const sseData = `data: ${jsonData}\n\n`;
127
143
  return encoder.encode(sseData);
128
- }));
144
+ })));
145
+ });
146
+ /**
147
+ * Write the user-submitted Hypergraph schema to the schema.ts file in the users repo.
148
+ *
149
+ * @param schema the user-submitted Hypergraph schema from the Typesync UI
150
+ * @returns the updated Hypergraph schema
151
+ */
152
+ const syncSchema = schema => Effect.gen(function* () {
153
+ const cwd = process.cwd();
154
+ const schemaFilePath = yield* kv.get(SCHEMA_FILE_PATH_STORAGE_KEY).pipe(Effect.map(Option.getOrElse(() => path.join(cwd, 'src', 'schema.ts'))));
155
+ // update schema file with updated content from the typesync studio UI
156
+ yield* fs.writeFileString(schemaFilePath, buildSchemaFile(schema));
157
+ return TypesyncHypergraphSchema.make({
158
+ types: EffectArray.map(schema.types, type => TypesyncHypergraphSchemaType.make({
159
+ name: type.name,
160
+ knowledgeGraphId: type.knowledgeGraphId,
161
+ status: type.knowledgeGraphId != null ? 'published' : 'synced',
162
+ properties: EffectArray.map(type.properties, prop => {
163
+ if (propertyIsRelation(prop)) {
164
+ return {
165
+ name: prop.name,
166
+ knowledgeGraphId: prop.knowledgeGraphId,
167
+ dataType: prop.dataType,
168
+ relationType: prop.relationType,
169
+ status: prop.knowledgeGraphId != null ? 'published' : 'synced'
170
+ };
171
+ }
172
+ return {
173
+ name: prop.name,
174
+ knowledgeGraphId: prop.knowledgeGraphId,
175
+ dataType: prop.dataType,
176
+ status: prop.knowledgeGraphId != null ? 'published' : 'synced'
177
+ };
178
+ })
179
+ }))
180
+ });
181
+ });
182
+ /**
183
+ * Update the mapping.ts file in the users repo with the up-to-date, published to the Knowledge Graph, mapping
184
+ *
185
+ * @param schema the Hypergraph schema
186
+ * @param mapping the up-to-date Hypergraph Mapping with all types/properties having Id
187
+ * @returns the updated schema with connected knowledgeGraphIds
188
+ */
189
+ const syncMapping = (schema, mapping) => Effect.gen(function* () {
190
+ const cwd = process.cwd();
191
+ const mappingFilePath = yield* kv.get(MAPPING_FILE_PATH_STORAGE_KEY).pipe(Effect.map(Option.getOrElse(() => path.join(cwd, 'src', 'mapping.ts'))));
192
+ // update mapping file with updated content from the typesync studio UI
193
+ yield* fs.writeFileString(mappingFilePath, buildMappingFile(mapping));
194
+ // update Schema to update with generated GRC-20 Ids for types/properties
195
+ const updatedSchema = TypesyncHypergraphSchema.make({
196
+ types: EffectArray.map(schema.types, type => {
197
+ const mappingEntry = mapping[toPascalCase(type.name)];
198
+ let knowledgeGraphId = type.knowledgeGraphId;
199
+ if (!knowledgeGraphId) {
200
+ const typeKnowledgeGraphId = mappingEntry?.typeIds?.[0] ? mappingEntry.typeIds[0] : null;
201
+ if (typeKnowledgeGraphId) {
202
+ knowledgeGraphId = typeKnowledgeGraphId;
203
+ }
204
+ }
205
+ return TypesyncHypergraphSchemaType.make({
206
+ name: type.name,
207
+ knowledgeGraphId,
208
+ status: knowledgeGraphId != null ? 'published' : 'synced',
209
+ properties: EffectArray.map(type.properties, prop => {
210
+ const propName = toCamelCase(prop.name);
211
+ if (propertyIsRelation(prop)) {
212
+ const relKnowledgeGraphId = prop.knowledgeGraphId || mappingEntry?.relations?.[propName] || null;
213
+ return {
214
+ name: prop.name,
215
+ knowledgeGraphId: relKnowledgeGraphId,
216
+ dataType: prop.dataType,
217
+ relationType: prop.relationType,
218
+ status: relKnowledgeGraphId != null ? 'published' : 'synced'
219
+ };
220
+ }
221
+ const propKnowledgeGraphId = prop.knowledgeGraphId || mappingEntry?.properties?.[propName] || null;
222
+ return {
223
+ name: prop.name,
224
+ knowledgeGraphId: propKnowledgeGraphId,
225
+ dataType: prop.dataType,
226
+ status: propKnowledgeGraphId != null ? 'published' : 'synced'
227
+ };
228
+ })
229
+ });
230
+ })
231
+ });
232
+ // sync the schema to the schema.ts file
233
+ yield* syncSchema(updatedSchema);
234
+ return updatedSchema;
129
235
  });
130
236
  return {
131
- hypergraphSchemaStream
237
+ hypergraphSchemaStream,
238
+ syncSchema,
239
+ syncMapping
132
240
  };
133
241
  })
134
242
  }) {}
@@ -1 +1 @@
1
- {"version":3,"file":"Typesync.js","names":["FileSystem","Path","NodeFileSystem","AnsiDoc","Cause","Data","Effect","Array","EffectArray","Option","Stream","parseHypergraphMapping","parseSchema","TypesyncSchemaStreamBuilder","Service","dependencies","layer","effect","gen","fs","path","encoder","TextEncoder","schemaCandidates","cwd","make","resolve","mappingCandidates","jiti","tryPromise","try","createJiti","import","meta","url","moduleCache","tryNative","catch","cause","MappingLoaderError","pipe","cached","loadMapping","fnUntraced","mappingFilePath","tryMapPromise","instance","map","mapError","message","tapErrorCause","logWarning","cats","text","pretty","orElseSucceed","findHypergraphSchema","candidates","findFirst","_","exists","currentSchemaStream","schemaFilePath","fromEffect","schema","match","onNone","succeed","onSome","readFileString","mapping","logError","types","watchSchemaStream","schemaWatch","empty","watch","mappingWatch","mergeAll","concurrency","buffer","capacity","strategy","mapEffect","hypergraphSchemaStream","schemaFileCandidates","isNone","logDebug","candidate","concat","stream","jsonData","JSON","stringify","sseData","encode","Default","TaggedError"],"sources":["../../../src/cli/services/Typesync.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Typesync.js","names":["FileSystem","KeyValueStore","Path","NodeFileSystem","AnsiDoc","Cause","Data","Effect","Array","EffectArray","Option","Stream","propertyIsRelation","toCamelCase","toPascalCase","TypesyncHypergraphSchema","TypesyncHypergraphSchemaType","buildMappingFile","buildSchemaFile","parseHypergraphMapping","parseSchema","TypesyncSchemaStreamBuilder","Service","dependencies","layer","layerMemory","effect","gen","fs","path","kv","encoder","TextEncoder","SCHEMA_FILE_PATH_STORAGE_KEY","MAPPING_FILE_PATH_STORAGE_KEY","schemaCandidates","cwd","make","resolve","mappingCandidates","jiti","tryPromise","try","createJiti","import","meta","url","moduleCache","tryNative","catch","cause","MappingLoaderError","pipe","cached","loadMapping","fnUntraced","mappingFilePath","tryMapPromise","instance","map","mapError","message","tapErrorCause","logWarning","cats","text","pretty","orElseSucceed","findHypergraphSchema","candidates","findFirst","_","exists","currentSchemaStream","schemaFilePath","fromEffect","schema","match","onNone","succeed","onSome","readFileString","mapping","logError","types","watchSchemaStream","schemaWatch","empty","watch","mappingWatch","mergeAll","concurrency","buffer","capacity","strategy","mapEffect","hypergraphSchemaStream","schemaFileCandidates","isNone","logDebug","candidate","isSome","set","value","concat","encode","stream","jsonData","JSON","stringify","sseData","syncSchema","process","get","getOrElse","join","writeFileString","type","name","knowledgeGraphId","status","properties","prop","dataType","relationType","syncMapping","updatedSchema","mappingEntry","typeKnowledgeGraphId","typeIds","propName","relKnowledgeGraphId","relations","propKnowledgeGraphId","Default","TaggedError"],"sources":["../../../src/cli/services/Typesync.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ import * as Mapping from '../../mapping/Mapping.js';
2
+ import type * as Model from './Model.js';
1
3
  declare const SchemaParserFailure_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]; }) => import("effect/Cause").YieldableError & {
2
4
  readonly _tag: "/Hypergraph/cli/errors/SchemaParserFailure";
3
5
  } & Readonly<A>;
@@ -6,5 +8,84 @@ export declare class SchemaParserFailure extends SchemaParserFailure_base<{
6
8
  readonly cause: unknown;
7
9
  }> {
8
10
  }
11
+ /**
12
+ * Builds a string of the schema.ts file contents after parsing the schema into the correct format.
13
+ *
14
+ * @example
15
+ *
16
+ * ```typescript
17
+ * const schema = Model.TypesyncHypergraphSchema.make({
18
+ * types: [
19
+ * {
20
+ * name: "User",
21
+ * knowledgeGraphId: null,
22
+ * status: null,
23
+ * properties: [
24
+ * {
25
+ * name: "name",
26
+ * dataType: "String",
27
+ * knowledgeGraphId: null,
28
+ * optional: null,
29
+ * status: null
30
+ * }
31
+ * ]
32
+ * }
33
+ * ]
34
+ * })
35
+ * const schemaFile = buildSchemaFile(schema)
36
+ *
37
+ * expect(schemaFile).toEqual(`
38
+ * import { Entity, Type } from '@graphprotocol/hypergraph';
39
+ *
40
+ * export class User extends Entity.Class<User>('User')({
41
+ * name: Type.String
42
+ * }) {}
43
+ * `)
44
+ * ```
45
+ */
46
+ export declare function buildSchemaFile(schema: Model.TypesyncHypergraphSchema): string;
47
+ export declare function buildMappingFile(mapping: Mapping.Mapping | Model.TypesyncHypergraphMapping): string;
48
+ /**
49
+ * Builds a string of the mapping.ts file contents after parsing the schema into the correct mapping format.
50
+ *
51
+ * @example
52
+ *
53
+ * ```typescript
54
+ * const schema = Model.TypesyncHypergraphSchema.make({
55
+ * types: [
56
+ * {
57
+ * name: "User",
58
+ * knowledgeGraphId: "7f9562d4-034d-4385-bf5c-f02cdebba47a",
59
+ * status: null,
60
+ * properties: [
61
+ * {
62
+ * name: "name",
63
+ * dataType: "String",
64
+ * knowledgeGraphId: "a126ca53-0c8e-48d5-b888-82c734c38935",
65
+ * optional: null,
66
+ * status: null
67
+ * }
68
+ * ]
69
+ * }
70
+ * ]
71
+ * })
72
+ * const mappingFile = buildMappingFile(schema)
73
+ *
74
+ * expect(mappingFile).toEqual(`
75
+ * import type { Mapping } from '@graphprotocol/hypergraph/mapping';
76
+ * import { Id } from '@graphprotocol/hypergraph';
77
+ *
78
+ * export const mapping: Mapping = {
79
+ * User: {
80
+ * typeIds: [Id('7f9562d4-034d-4385-bf5c-f02cdebba47a')],
81
+ * properties: {
82
+ * name: Id('a126ca53-0c8e-48d5-b888-82c734c38935'),
83
+ * }
84
+ * }
85
+ * }
86
+ * `)
87
+ * ```
88
+ */
89
+ export declare function buildMappingFileFromSchema(schema: Model.TypesyncHypergraphSchema): string;
9
90
  export {};
10
91
  //# sourceMappingURL=Utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/cli/services/Utils.ts"],"names":[],"mappings":";;;AA2HA,qBAAa,mBAAoB,SAAQ,yBAA+D;IACtG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG"}
1
+ {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/cli/services/Utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAC;;;;AA+IzC,qBAAa,mBAAoB,SAAQ,yBAA+D;IACtG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AA8GL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,wBAAwB,UAQrE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,yBAAyB,UAoD1F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,KAAK,CAAC,wBAAwB,UAIhF"}