@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
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.5.0-alpha.1'
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;;;;;sCA+Lc,wBAAwB;uCA8CvB,wBAAwB,WAAW,yBAAyB;;;AA1O/F,qBAAa,2BAA4B,SAAQ,gCAuShD;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,114 @@ 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));
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
+ }
124
137
  return currentSchemaStream(schemaFilePath, mappingFilePath).pipe(Stream.concat(watchSchemaStream(schemaFilePath, mappingFilePath)), Stream.map(stream => {
125
138
  const jsonData = JSON.stringify(stream);
126
139
  const sseData = `data: ${jsonData}\n\n`;
127
140
  return encoder.encode(sseData);
128
141
  }));
129
142
  });
143
+ /**
144
+ * Write the user-submitted Hypergraph schema to the schema.ts file in the users repo.
145
+ *
146
+ * @param schema the user-submitted Hypergraph schema from the Typesync UI
147
+ * @returns the updated Hypergraph schema
148
+ */
149
+ const syncSchema = schema => Effect.gen(function* () {
150
+ const cwd = process.cwd();
151
+ const schemaFilePath = yield* kv.get(SCHEMA_FILE_PATH_STORAGE_KEY).pipe(Effect.map(Option.getOrElse(() => path.join(cwd, 'src', 'schema.ts'))));
152
+ // update schema file with updated content from the typesync studio UI
153
+ yield* fs.writeFileString(schemaFilePath, buildSchemaFile(schema));
154
+ return TypesyncHypergraphSchema.make({
155
+ types: EffectArray.map(schema.types, type => TypesyncHypergraphSchemaType.make({
156
+ name: type.name,
157
+ knowledgeGraphId: type.knowledgeGraphId,
158
+ status: type.knowledgeGraphId != null ? 'published' : 'synced',
159
+ properties: EffectArray.map(type.properties, prop => {
160
+ if (propertyIsRelation(prop)) {
161
+ return {
162
+ name: prop.name,
163
+ knowledgeGraphId: prop.knowledgeGraphId,
164
+ dataType: prop.dataType,
165
+ relationType: prop.relationType,
166
+ status: prop.knowledgeGraphId != null ? 'published' : 'synced'
167
+ };
168
+ }
169
+ return {
170
+ name: prop.name,
171
+ knowledgeGraphId: prop.knowledgeGraphId,
172
+ dataType: prop.dataType,
173
+ status: prop.knowledgeGraphId != null ? 'published' : 'synced'
174
+ };
175
+ })
176
+ }))
177
+ });
178
+ });
179
+ /**
180
+ * Update the mapping.ts file in the users repo with the up-to-date, published to the Knowledge Graph, mapping
181
+ *
182
+ * @param schema the Hypergraph schema
183
+ * @param mapping the up-to-date Hypergraph Mapping with all types/properties having Id
184
+ * @returns the updated schema with connected knowledgeGraphIds
185
+ */
186
+ const syncMapping = (schema, mapping) => Effect.gen(function* () {
187
+ const cwd = process.cwd();
188
+ const mappingFilePath = yield* kv.get(MAPPING_FILE_PATH_STORAGE_KEY).pipe(Effect.map(Option.getOrElse(() => path.join(cwd, 'src', 'mapping.ts'))));
189
+ // update mapping file with updated content from the typesync studio UI
190
+ yield* fs.writeFileString(mappingFilePath, buildMappingFile(mapping));
191
+ // update Schema to update with generated GRC-20 Ids for types/properties
192
+ return TypesyncHypergraphSchema.make({
193
+ types: EffectArray.map(schema.types, type => {
194
+ const mappingEntry = mapping[toPascalCase(type.name)];
195
+ let knowledgeGraphId = type.knowledgeGraphId;
196
+ if (!knowledgeGraphId) {
197
+ const typeKnowledgeGraphId = mappingEntry?.typeIds?.[0] ? mappingEntry.typeIds[0] : null;
198
+ if (typeKnowledgeGraphId) {
199
+ knowledgeGraphId = typeKnowledgeGraphId;
200
+ }
201
+ }
202
+ return TypesyncHypergraphSchemaType.make({
203
+ name: type.name,
204
+ knowledgeGraphId,
205
+ status: knowledgeGraphId != null ? 'published' : 'synced',
206
+ properties: EffectArray.map(type.properties, prop => {
207
+ const propName = toCamelCase(prop.name);
208
+ if (propertyIsRelation(prop)) {
209
+ const relKnowledgeGraphId = prop.knowledgeGraphId || mappingEntry?.relations?.[propName] || null;
210
+ return {
211
+ name: prop.name,
212
+ knowledgeGraphId: relKnowledgeGraphId,
213
+ dataType: prop.dataType,
214
+ relationType: prop.relationType,
215
+ status: relKnowledgeGraphId != null ? 'published' : 'synced'
216
+ };
217
+ }
218
+ const propKnowledgeGraphId = prop.knowledgeGraphId || mappingEntry?.properties?.[propName] || null;
219
+ return {
220
+ name: prop.name,
221
+ knowledgeGraphId: propKnowledgeGraphId,
222
+ dataType: prop.dataType,
223
+ status: propKnowledgeGraphId != null ? 'published' : 'synced'
224
+ };
225
+ })
226
+ });
227
+ })
228
+ });
229
+ });
130
230
  return {
131
- hypergraphSchemaStream
231
+ hypergraphSchemaStream,
232
+ syncSchema,
233
+ syncMapping
132
234
  };
133
235
  })
134
236
  }) {}
@@ -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","stream","jsonData","JSON","stringify","sseData","encode","syncSchema","process","get","getOrElse","join","writeFileString","type","name","knowledgeGraphId","status","properties","prop","dataType","relationType","syncMapping","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"}