great 1.4.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +20 -7
  2. package/dist/generated/operations.d.ts +30 -21
  3. package/dist/generated/schema.d.ts +63 -7
  4. package/dist/generated/schema.js.map +1 -1
  5. package/dist/import/index.js +24 -17
  6. package/dist/import/index.js.map +1 -1
  7. package/dist/include/index.js +1 -4
  8. package/dist/include/index.js.map +1 -1
  9. package/dist/index.js +2 -2
  10. package/dist/index.js.map +1 -1
  11. package/dist/init/index.d.ts +7 -2
  12. package/dist/init/index.js +41 -7
  13. package/dist/init/index.js.map +1 -1
  14. package/dist/integrations/create.d.ts +1 -0
  15. package/dist/integrations/create.js +11 -2
  16. package/dist/integrations/create.js.map +1 -1
  17. package/dist/push/index.js +7 -1
  18. package/dist/push/index.js.map +1 -1
  19. package/dist/utils/applyImports.d.ts +14 -0
  20. package/dist/utils/applyImports.js +147 -0
  21. package/dist/utils/applyImports.js.map +1 -0
  22. package/dist/utils/config.d.ts +1 -1
  23. package/dist/utils/config.js.map +1 -1
  24. package/dist/utils/createIntegrationFromFile.d.ts +1 -0
  25. package/dist/utils/createIntegrationFromFile.js +9 -1
  26. package/dist/utils/createIntegrationFromFile.js.map +1 -1
  27. package/dist/utils/graphqlError.d.ts +1 -0
  28. package/dist/utils/graphqlError.js +16 -1
  29. package/dist/utils/graphqlError.js.map +1 -1
  30. package/dist/utils/greatFile.d.ts +1 -0
  31. package/dist/utils/greatFile.js +8 -0
  32. package/dist/utils/greatFile.js.map +1 -1
  33. package/dist/utils/resolveAccount.d.ts +1 -0
  34. package/dist/utils/resolveAccount.js +1 -1
  35. package/dist/utils/resolveAccount.js.map +1 -1
  36. package/dist/utils/resolveImports.d.ts +9 -0
  37. package/dist/utils/resolveImports.js +67 -0
  38. package/dist/utils/resolveImports.js.map +1 -0
  39. package/dist/utils/resolveIntegration.js +3 -3
  40. package/dist/utils/resolveIntegration.js.map +1 -1
  41. package/dist/utils/valueTypes.d.ts +4 -0
  42. package/dist/utils/valueTypes.js +6 -0
  43. package/dist/utils/valueTypes.js.map +1 -1
  44. package/dist/utils/writeShadowElement.d.ts +5 -8
  45. package/dist/utils/writeShadowElement.js +25 -81
  46. package/dist/utils/writeShadowElement.js.map +1 -1
  47. package/dist/values/list.js +11 -8
  48. package/dist/values/list.js.map +1 -1
  49. package/dist/values/set.js +2 -3
  50. package/dist/values/set.js.map +1 -1
  51. package/dist/values/unset.js +3 -1
  52. package/dist/values/unset.js.map +1 -1
  53. package/package.json +9 -9
  54. package/dist/utils/mergeEndpointLists.d.ts +0 -7
  55. package/dist/utils/mergeEndpointLists.js +0 -32
  56. package/dist/utils/mergeEndpointLists.js.map +0 -1
  57. package/dist/utils/resolveTemplateImport.d.ts +0 -3
  58. package/dist/utils/resolveTemplateImport.js +0 -30
  59. package/dist/utils/resolveTemplateImport.js.map +0 -1
package/README.md CHANGED
@@ -75,7 +75,8 @@ commands never silently fall back to the current folder in that case.
75
75
 
76
76
  - `great init [name]`: Initialize a new integration workspace locally. Creates
77
77
  `integration.json` and folder structure without creating anything in
78
- Integreat. If name is omitted, uses the current directory name.
78
+ Integreat. If name is omitted, uses the current directory name. Use
79
+ `-a <account-id-or-key>` to link the workspace to an account right away.
79
80
  - `great clone <integration>`: Clone an integration to a new folder.
80
81
  `<integration>` can be an integration id or key; supports `-a`. Creates a new
81
82
  directory with the integration key (or id) and downloads all integration
@@ -94,12 +95,17 @@ commands never silently fall back to the current folder in that case.
94
95
  `-a`. A shadow file is an ordinary element file carrying a `$shadow: true`
95
96
  marker; it does not own its content (that lives in the source element) — the
96
97
  link to the source and the template import are recorded in `.great.json`.
97
- Several templates may import the same element; re-importing updates the
98
- existing shadow. Editing a shadow's content locally and pushing detaches it
99
- from its source (push asks first). When templates share a service with
100
- different endpoint lists, the lists are merged into a local endpoint list that
101
- remembers every template it came from. This fails only when the lists order
102
- their endpoints differently.Must be run from a folder with an
98
+ Integreat resolves all the imported templates together against the local
99
+ elements, and the result is applied to the local files. Re-importing a
100
+ template moves its shadows to the template's new version and removes the
101
+ elements it no longer has (the next `great push` deletes them in Integreat
102
+ too). Elements shared by several templates point at what the templates have in
103
+ common. When templates share a service with different endpoint lists, the
104
+ lists are merged into a local endpoint list that remembers every template it
105
+ came from. Editing a shadow's content locally and pushing detaches it from its
106
+ source (push asks first). Conflicts — such as a local element in the way of a
107
+ template element, or templates disagreeing on an element — are reported by
108
+ Integreat, and nothing is written. Must be run from a folder with an
103
109
  `integration.json` file (no push required first).
104
110
  - `great include <element>`: Include a single element from another integration
105
111
  as a shadow file. Use `-p, --pinned-at <timestamp>` to pin the shadow to the
@@ -146,6 +152,13 @@ commands never silently fall back to the current folder in that case.
146
152
 
147
153
  ### Value Management
148
154
 
155
+ Value commands read the _latest_ values (the draft, when there is one, otherwise
156
+ the active version), so they show what you're working on. Values are normally
157
+ part of a version and take effect on the next `great deploy`. A value whose file
158
+ has `"isDynamic": true` next to `"type"` is used by the running integration
159
+ right away, outside of versions: setting or clearing it reloads the integration
160
+ when it is running.
161
+
149
162
  - `great values` or `great values list`: List all value elements in an
150
163
  integration. Supports `-i` and `-a`.
151
164
  - `great values get <element>`: Get the value of a value element. The
@@ -541,6 +541,35 @@ export type ElementIdByKeyQuery = {
541
541
  id: string;
542
542
  };
543
543
  };
544
+ export type ResolveImportsQueryVariables = Exact<{
545
+ imports: Array<Types.ImportInput> | Types.ImportInput;
546
+ elements?: Array<Types.TargetElementInput> | Types.TargetElementInput | null | undefined;
547
+ }>;
548
+ export type ResolveImportsQuery = {
549
+ resolveImports: {
550
+ imports: Array<{
551
+ templateId: string;
552
+ timestamp: string;
553
+ }>;
554
+ conflicts: Array<{
555
+ type: Types.ElementType;
556
+ key: string;
557
+ reason: string;
558
+ }>;
559
+ elements: Array<{
560
+ key: string;
561
+ name: string;
562
+ description: string | null;
563
+ type: Types.ElementType;
564
+ content: {
565
+ sourceId: string | null;
566
+ sourceTimestamp: string | null;
567
+ provenance: Array<string>;
568
+ data: Record<string, unknown> | null;
569
+ } | null;
570
+ }>;
571
+ };
572
+ };
544
573
  export type IntegrationQueryVariables = Exact<{
545
574
  id: string | number;
546
575
  }>;
@@ -552,7 +581,7 @@ export type IntegrationQuery = {
552
581
  } | null;
553
582
  };
554
583
  export type IntegrationByKeyQueryVariables = Exact<{
555
- accountId: string | number;
584
+ account: Types.AccountSelector;
556
585
  key: string | number;
557
586
  }>;
558
587
  export type IntegrationByKeyQuery = {
@@ -562,26 +591,6 @@ export type IntegrationByKeyQuery = {
562
591
  type: Types.IntegrationType;
563
592
  } | null;
564
593
  };
565
- export type ResolveTemplateImportQueryVariables = Exact<{
566
- templateId: string | number;
567
- }>;
568
- export type ResolveTemplateImportQuery = {
569
- resolveTemplateImport: {
570
- timestamp: string;
571
- elements: Array<{
572
- key: string;
573
- name: string;
574
- description: string | null;
575
- type: Types.ElementType;
576
- content: {
577
- sourceId: string | null;
578
- sourceTimestamp: string | null;
579
- provenance: Array<string>;
580
- data: Record<string, unknown> | null;
581
- } | null;
582
- }>;
583
- };
584
- };
585
594
  export type ResponseQueryVariables = Exact<{
586
595
  actionId: string | number;
587
596
  }>;
@@ -56,6 +56,7 @@ export type AccountIntegrationsArgs = {
56
56
  first?: InputMaybe<Scalars['Int']['input']>;
57
57
  last?: InputMaybe<Scalars['Int']['input']>;
58
58
  orderBy?: InputMaybe<IntegrationOrderField>;
59
+ status?: InputMaybe<Status>;
59
60
  type?: InputMaybe<IntegrationType>;
60
61
  };
61
62
  export type AccountConnection = {
@@ -74,6 +75,10 @@ export declare enum AccountRole {
74
75
  Member = "member",
75
76
  Owner = "owner"
76
77
  }
78
+ export type AccountSelector = {
79
+ id?: InputMaybe<Scalars['ID']['input']>;
80
+ key?: InputMaybe<Scalars['ID']['input']>;
81
+ };
77
82
  export type AccountUserEdge = {
78
83
  __typename?: 'AccountUserEdge';
79
84
  cursor: Scalars['String']['output'];
@@ -212,6 +217,17 @@ export type Flow = Element & {
212
217
  sort?: Maybe<Scalars['Int']['output']>;
213
218
  updatedAt: Scalars['DateTime']['output'];
214
219
  };
220
+ export type ImportConflict = {
221
+ __typename?: 'ImportConflict';
222
+ key: Scalars['ID']['output'];
223
+ reason: Scalars['String']['output'];
224
+ type: ElementType;
225
+ };
226
+ export type ImportInput = {
227
+ templateId: Scalars['ID']['input'];
228
+ timestamp?: InputMaybe<Scalars['DateTime']['input']>;
229
+ versionId?: InputMaybe<Scalars['ID']['input']>;
230
+ };
215
231
  export type Integration = {
216
232
  __typename?: 'Integration';
217
233
  account: Account;
@@ -427,6 +443,7 @@ export type Mutation = {
427
443
  __typename?: 'Mutation';
428
444
  acknowledgeNotifications: Array<Notification>;
429
445
  activateVersion: Integration;
446
+ addAccountUser: Account;
430
447
  addParticipant: Participant;
431
448
  clearValue: Scalars['Boolean']['output'];
432
449
  createAccount: Account;
@@ -453,7 +470,9 @@ export type Mutation = {
453
470
  postMessage: Message;
454
471
  promotePrompt: Agent;
455
472
  registerTemplateImport: Integration;
473
+ removeAccountUser: Scalars['Boolean']['output'];
456
474
  removeParticipant: Participant;
475
+ restoreElement: Element;
457
476
  rollbackPrompt: Agent;
458
477
  setElementContent: Element;
459
478
  setExternalReference: ExternalReference;
@@ -465,9 +484,9 @@ export type Mutation = {
465
484
  unacknowledgeNotifications: Array<Notification>;
466
485
  updateAccountKey: Account;
467
486
  updateAccountName: Account;
487
+ updateAccountUserRole: Account;
468
488
  updateElement: Element;
469
489
  updateElementKey: Element;
470
- updateFromTemplate: Integration;
471
490
  updateIntegration: Integration;
472
491
  updateIntegrationKey: Integration;
473
492
  updateIntegrationType: Integration;
@@ -484,6 +503,11 @@ export type MutationAcknowledgeNotificationsArgs = {
484
503
  export type MutationActivateVersionArgs = {
485
504
  versionId: Scalars['ID']['input'];
486
505
  };
506
+ export type MutationAddAccountUserArgs = {
507
+ accountId: Scalars['ID']['input'];
508
+ role: AccountRole;
509
+ userId: Scalars['ID']['input'];
510
+ };
487
511
  export type MutationAddParticipantArgs = {
488
512
  threadId: Scalars['ID']['input'];
489
513
  userId: Scalars['ID']['input'];
@@ -592,10 +616,17 @@ export type MutationRegisterTemplateImportArgs = {
592
616
  templateId: Scalars['ID']['input'];
593
617
  timestamp: Scalars['DateTime']['input'];
594
618
  };
619
+ export type MutationRemoveAccountUserArgs = {
620
+ accountId: Scalars['ID']['input'];
621
+ userId: Scalars['ID']['input'];
622
+ };
595
623
  export type MutationRemoveParticipantArgs = {
596
624
  threadId: Scalars['ID']['input'];
597
625
  userId: Scalars['ID']['input'];
598
626
  };
627
+ export type MutationRestoreElementArgs = {
628
+ id: Scalars['ID']['input'];
629
+ };
599
630
  export type MutationRollbackPromptArgs = {
600
631
  agentId: Scalars['ID']['input'];
601
632
  promptId: Scalars['ID']['input'];
@@ -638,6 +669,11 @@ export type MutationUpdateAccountNameArgs = {
638
669
  id: Scalars['ID']['input'];
639
670
  name: Scalars['String']['input'];
640
671
  };
672
+ export type MutationUpdateAccountUserRoleArgs = {
673
+ accountId: Scalars['ID']['input'];
674
+ role: AccountRole;
675
+ userId: Scalars['ID']['input'];
676
+ };
641
677
  export type MutationUpdateElementArgs = {
642
678
  description?: InputMaybe<Scalars['String']['input']>;
643
679
  id: Scalars['ID']['input'];
@@ -647,11 +683,6 @@ export type MutationUpdateElementKeyArgs = {
647
683
  id: Scalars['ID']['input'];
648
684
  key: Scalars['ID']['input'];
649
685
  };
650
- export type MutationUpdateFromTemplateArgs = {
651
- integrationId: Scalars['ID']['input'];
652
- templateId: Scalars['ID']['input'];
653
- versionId?: InputMaybe<Scalars['ID']['input']>;
654
- };
655
686
  export type MutationUpdateIntegrationArgs = {
656
687
  description?: InputMaybe<Scalars['String']['input']>;
657
688
  id: Scalars['ID']['input'];
@@ -766,6 +797,7 @@ export type Query = {
766
797
  logEntry: LogEntry;
767
798
  notifications: NotificationConnection;
768
799
  resolveElementInclude: ResolvedShadowElement;
800
+ resolveImports: ResolvedImports;
769
801
  resolveTemplateImport: ResolvedTemplateImport;
770
802
  response?: Maybe<Response>;
771
803
  ruleset?: Maybe<Ruleset>;
@@ -815,7 +847,7 @@ export type QueryIntegrationByExternalReferenceArgs = {
815
847
  namespace: Scalars['String']['input'];
816
848
  };
817
849
  export type QueryIntegrationByKeyArgs = {
818
- accountId: Scalars['ID']['input'];
850
+ account: AccountSelector;
819
851
  key: Scalars['ID']['input'];
820
852
  };
821
853
  export type QueryIntegrationsArgs = {
@@ -825,6 +857,7 @@ export type QueryIntegrationsArgs = {
825
857
  first?: InputMaybe<Scalars['Int']['input']>;
826
858
  last?: InputMaybe<Scalars['Int']['input']>;
827
859
  orderBy?: InputMaybe<IntegrationOrderField>;
860
+ status?: InputMaybe<Status>;
828
861
  type?: InputMaybe<IntegrationType>;
829
862
  };
830
863
  export type QueryLogArgs = {
@@ -844,6 +877,10 @@ export type QueryResolveElementIncludeArgs = {
844
877
  elementId: Scalars['ID']['input'];
845
878
  sourceTimestamp?: InputMaybe<Scalars['DateTime']['input']>;
846
879
  };
880
+ export type QueryResolveImportsArgs = {
881
+ elements?: InputMaybe<Array<TargetElementInput>>;
882
+ imports: Array<ImportInput>;
883
+ };
847
884
  export type QueryResolveTemplateImportArgs = {
848
885
  templateId: Scalars['ID']['input'];
849
886
  versionId?: InputMaybe<Scalars['ID']['input']>;
@@ -871,6 +908,17 @@ export type QueryThreadArgs = {
871
908
  export type QueryUserArgs = {
872
909
  id: Scalars['ID']['input'];
873
910
  };
911
+ export type ResolvedImport = {
912
+ __typename?: 'ResolvedImport';
913
+ templateId: Scalars['ID']['output'];
914
+ timestamp: Scalars['DateTime']['output'];
915
+ };
916
+ export type ResolvedImports = {
917
+ __typename?: 'ResolvedImports';
918
+ conflicts: Array<ImportConflict>;
919
+ elements: Array<ResolvedShadowElement>;
920
+ imports: Array<ResolvedImport>;
921
+ };
874
922
  export type ResolvedShadowElement = {
875
923
  __typename?: 'ResolvedShadowElement';
876
924
  content?: Maybe<ElementContent>;
@@ -1016,6 +1064,14 @@ export type Subscription = {
1016
1064
  export type SubscriptionMessagePostedArgs = {
1017
1065
  threadId: Scalars['ID']['input'];
1018
1066
  };
1067
+ export type TargetElementInput = {
1068
+ data?: InputMaybe<Scalars['JSON']['input']>;
1069
+ key: Scalars['ID']['input'];
1070
+ provenance?: InputMaybe<Array<Scalars['ID']['input']>>;
1071
+ sourceId?: InputMaybe<Scalars['ID']['input']>;
1072
+ sourceTimestamp?: InputMaybe<Scalars['DateTime']['input']>;
1073
+ type: ElementType;
1074
+ };
1019
1075
  export type TemplateImport = {
1020
1076
  __typename?: 'TemplateImport';
1021
1077
  createdAt: Scalars['DateTime']['output'];
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/generated/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/generated/schema.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,27 @@ import chalk from 'chalk';
2
2
  import { getClient } from '../utils/graphqlClient.js';
3
3
  import { handleGraphQLError } from '../utils/graphqlError.js';
4
4
  import { fetchIntegrationFromFile } from '../utils/fetchLocal.js';
5
- import { resolveTemplateImport } from '../utils/resolveTemplateImport.js';
5
+ import resolveImports, { buildImportInputs, buildTargetElements, } from '../utils/resolveImports.js';
6
+ import applyImports from '../utils/applyImports.js';
6
7
  import { resolveAccountId } from '../utils/resolveAccount.js';
7
8
  import { resolveIntegration } from '../utils/resolveIntegration.js';
8
- import { readGreatFile, writeGreatFile, upsertImportRecord, } from '../utils/greatFile.js';
9
- import { writeShadowElements, logShadowConflicts, } from '../utils/writeShadowElement.js';
9
+ import { readGreatFile, writeGreatFile } from '../utils/greatFile.js';
10
+ import { logShadowConflicts } from '../utils/writeShadowElement.js';
11
+ function logImportResult(result, templateId, log) {
12
+ log(chalk.green(`Imported ${result.written.length} element(s) from template ${templateId}`));
13
+ for (const { folder, key } of result.merged) {
14
+ log(chalk.green(`Merged ${folder}/${key} from several templates (a local endpoint list)`));
15
+ }
16
+ for (const { folder, key } of result.removed) {
17
+ log(chalk.green(`Removed ${folder}/${key}, as no template supplies it anymore`));
18
+ }
19
+ for (const { folder, key } of result.kept) {
20
+ log(chalk.green(`Kept ${folder}/${key} as a local element, as no template supplies it anymore`));
21
+ }
22
+ if (result.skipped.length > 0) {
23
+ log(chalk.yellow(`Skipped ${result.skipped.length} config element(s)`));
24
+ }
25
+ }
10
26
  export const action = (log, apiToken, client, fsImpl, config) => async function importTemplate(templateIdOrKey, options) {
11
27
  if (!templateIdOrKey) {
12
28
  log(chalk.red('Template id or key is required'));
@@ -30,28 +46,19 @@ export const action = (log, apiToken, client, fsImpl, config) => async function
30
46
  return;
31
47
  }
32
48
  const templateId = template.id;
33
- const resolved = await resolveTemplateImport(graphqlClient, templateId, log);
49
+ const great = readGreatFile(undefined, fsImpl);
50
+ const elements = buildTargetElements(great, undefined, fsImpl);
51
+ const resolved = await resolveImports(graphqlClient, buildImportInputs(great, templateId), elements, log);
34
52
  if (!resolved) {
35
53
  return;
36
54
  }
37
- const great = readGreatFile(undefined, fsImpl);
38
- const result = writeShadowElements(great, resolved.elements, {
39
- mode: 'import',
40
- fsImpl,
41
- });
55
+ const result = applyImports(great, resolved, elements, { fsImpl });
42
56
  if (result.conflicts.length > 0) {
43
57
  logShadowConflicts('Import', result.conflicts, log);
44
58
  return;
45
59
  }
46
- upsertImportRecord(great, templateId, resolved.timestamp);
47
60
  writeGreatFile(great, undefined, fsImpl);
48
- log(chalk.green(`Imported ${result.written.length} element(s) from template ${templateId}`));
49
- for (const merged of result.merged) {
50
- log(chalk.green(`Merged ${merged.folder}/${merged.key} from template ${templateId} (now a local endpoint list)`));
51
- }
52
- if (result.skipped.length > 0) {
53
- log(chalk.yellow(`Skipped ${result.skipped.length} config element(s)`));
54
- }
61
+ logImportResult(result, templateId, log);
55
62
  };
56
63
  export default (program, apiToken) => program
57
64
  .command('import <template>')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/import/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/import/index.ts"],"names":[],"mappings":"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"}
@@ -101,10 +101,7 @@ function writeLocalEndpointList(great, localList, fsImpl) {
101
101
  writeElementFile(undefined, ENDPOINT_LISTS_FOLDER, localList.key, { endpoints: localList.endpoints }, great, fsImpl);
102
102
  }
103
103
  function writeSelection(great, selection, fsImpl, log) {
104
- const result = writeShadowElements(great, selection.shadows, {
105
- mode: 'include',
106
- fsImpl,
107
- });
104
+ const result = writeShadowElements(great, selection.shadows, { fsImpl });
108
105
  if (result.conflicts.length > 0) {
109
106
  logShadowConflicts('Include', result.conflicts, log);
110
107
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/include/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/include/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -27,7 +27,7 @@ import value from './values/index.js';
27
27
  import whoami from './whoami/index.js';
28
28
  import { getStoredToken } from './utils/token.js';
29
29
  const apiToken = getStoredToken();
30
- program.version('1.4.1', '-v, --version').description('Integreat CLI');
30
+ program.version('1.6.0', '-v, --version').description('Integreat CLI');
31
31
  program.enablePositionalOptions();
32
32
  accounts(program, apiToken);
33
33
  clone(program, apiToken);
@@ -39,7 +39,7 @@ explode(program);
39
39
  implode(program, apiToken);
40
40
  importTemplate(program, apiToken);
41
41
  include(program, apiToken);
42
- init(program);
42
+ init(program, apiToken);
43
43
  login(program);
44
44
  logout(program);
45
45
  migrate(program);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
+ import Conf from 'conf';
2
+ import { type GraphQLRequestClient } from '../utils/graphqlClient.js';
1
3
  import type { Command } from 'commander';
4
+ import type { ConfigSchema } from '../utils/config.js';
2
5
  import type { GreatFs } from '../types.js';
3
- export declare const action: (log: (message: string) => void, fsImpl?: GreatFs) => (name?: string) => Promise<void>;
4
- declare const _default: (program: Command) => Command;
6
+ export declare const action: (log: (message: string) => void, fsImpl?: GreatFs, apiToken?: string, client?: GraphQLRequestClient, config?: Conf<ConfigSchema>) => (name?: string, options?: {
7
+ account?: string;
8
+ }) => Promise<void>;
9
+ declare const _default: (program: Command, apiToken?: string) => Command;
5
10
  export default _default;
@@ -3,12 +3,43 @@ import chalk from 'chalk';
3
3
  import determineNameAndKey from '../utils/determineNameAndKey.js';
4
4
  import { ELEMENT_FOLDERS } from '../utils/elementFiles.js';
5
5
  import { currentIntegrationKey } from '../utils/fetchLocal.js';
6
- export const action = (log, fsImpl = fs) => async function init(name) {
6
+ import { readGreatFile, writeGreatFile } from '../utils/greatFile.js';
7
+ import { getClient } from '../utils/graphqlClient.js';
8
+ import { handleGraphQLError } from '../utils/graphqlError.js';
9
+ import { fetchAccount } from '../utils/resolveAccount.js';
10
+ async function lookupAccount(account, log, apiToken, client, config) {
11
+ if (!account) {
12
+ return { failed: false };
13
+ }
14
+ const result = await fetchAccount(account, apiToken, getClient(apiToken, client, config));
15
+ if (result.error || !result.account) {
16
+ handleGraphQLError(result.error ?? `Account "${account}" not found`, log);
17
+ return { failed: true };
18
+ }
19
+ return { account: result.account, failed: false };
20
+ }
21
+ function recordAccount(account, fsImpl) {
22
+ const great = readGreatFile(undefined, fsImpl);
23
+ great.account = { id: account.id, key: account.key };
24
+ writeGreatFile(great, undefined, fsImpl);
25
+ }
26
+ function createFolders(fsImpl) {
27
+ for (const folder of ELEMENT_FOLDERS) {
28
+ if (!fsImpl.existsSync(folder)) {
29
+ fsImpl.mkdirSync(folder, { recursive: true });
30
+ }
31
+ }
32
+ }
33
+ export const action = (log, fsImpl = fs, apiToken, client, config) => async function init(name, options) {
7
34
  if (fsImpl.existsSync('integration.json')) {
8
35
  log(chalk.red('integration.json already exists in this directory'));
9
36
  log(`Run ${chalk.bold('great pull')} to update from Integreat`);
10
37
  return;
11
38
  }
39
+ const { account, failed } = await lookupAccount(options?.account, log, apiToken, client, config);
40
+ if (failed) {
41
+ return;
42
+ }
12
43
  const key = currentIntegrationKey();
13
44
  const { name: displayName, key: derivedKey } = determineNameAndKey(name || key);
14
45
  if (name && derivedKey !== key) {
@@ -18,21 +49,24 @@ export const action = (log, fsImpl = fs) => async function init(name) {
18
49
  name: displayName,
19
50
  };
20
51
  fsImpl.writeFileSync('integration.json', JSON.stringify(integrationData, null, 2));
21
- for (const folder of ELEMENT_FOLDERS) {
22
- if (!fsImpl.existsSync(folder)) {
23
- fsImpl.mkdirSync(folder, { recursive: true });
24
- }
52
+ createFolders(fsImpl);
53
+ if (account) {
54
+ recordAccount(account, fsImpl);
25
55
  }
26
56
  log(chalk.green('✓ Initialized integration workspace'));
27
57
  log(` Name: ${chalk.cyan(displayName)}`);
28
58
  log(` Key: ${key}`);
59
+ if (account) {
60
+ log(` Account: ${account.name} (${account.key})`);
61
+ }
29
62
  log('');
30
63
  log('Next steps:');
31
64
  log(` 1. Create schemas, services, and other elements in their folders`);
32
65
  log(` 2. Run ${chalk.bold('great push')} to sync local files to Integreat`);
33
66
  };
34
- export default (program) => program
67
+ export default (program, apiToken) => program
35
68
  .command('init [name]')
36
69
  .description('Initialize a new integration workspace (local only, nothing is created in Integreat)')
37
- .action(action(console.log));
70
+ .option('-a, --account <id>', 'account id or key to link the workspace to in .great.json')
71
+ .action(action(console.log, undefined, apiToken));
38
72
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,mBAAmB,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAG9D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAA8B,EAAE,SAAkB,EAAE,EAAE,EAAE,CAC7E,KAAK,UAAU,IAAI,CAAC,IAAa;IAE/B,IAAI,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAA;QACnE,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAA;QAC/D,OAAM;IACR,CAAC;IAGD,MAAM,GAAG,GAAG,qBAAqB,EAAE,CAAA;IACnC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAChE,IAAI,IAAI,GAAG,CACZ,CAAA;IAGD,IAAI,IAAI,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QAC/B,GAAG,CACD,KAAK,CAAC,MAAM,CACV,iDAAiD,GAAG,yCAAyC,CAC9F,CACF,CAAA;IACH,CAAC;IAGD,MAAM,eAAe,GAAG;QACtB,IAAI,EAAE,WAAW;KAClB,CAAA;IAED,MAAM,CAAC,aAAa,CAClB,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CACzC,CAAA;IAGD,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAA;IACvD,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACzC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;IACpB,GAAG,CAAC,EAAE,CAAC,CAAA;IACP,GAAG,CAAC,aAAa,CAAC,CAAA;IAClB,GAAG,CAAC,oEAAoE,CAAC,CAAA;IACzE,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAA;AAC9E,CAAC,CAAA;AAEH,eAAe,CAAC,OAAgB,EAAE,EAAE,CAClC,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CACV,sFAAsF,CACvF;KACA,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import Conf from 'conf';
2
2
  import { type GraphQLRequestClient } from '../utils/graphqlClient.js';
3
3
  import type { ConfigSchema } from '../utils/config.js';
4
+ export declare function logKeyConflict(key: string, log: (message: string) => void): void;
4
5
  export default function createIntegration(log: (message: string) => void, apiToken?: string, client?: GraphQLRequestClient, config?: Conf<ConfigSchema>): (integrationName?: string, options?: {
5
6
  account?: string;
6
7
  }) => Promise<void>;
@@ -1,6 +1,6 @@
1
1
  import chalk from 'chalk';
2
2
  import { getClient } from '../utils/graphqlClient.js';
3
- import { handleGraphQLError } from '../utils/graphqlError.js';
3
+ import { handleGraphQLError, isConflictError } from '../utils/graphqlError.js';
4
4
  import { gql } from 'graphql-tag';
5
5
  import determineNameAndKey from '../utils/determineNameAndKey.js';
6
6
  import { resolveAccountId } from '../utils/resolveAccount.js';
@@ -29,6 +29,10 @@ const CreateIntegrationMutationDocument = gql `
29
29
  }
30
30
  }
31
31
  `;
32
+ export function logKeyConflict(key, log) {
33
+ log(chalk.red(`An integration with key '${key}' already exists in this account.`));
34
+ log(`Choose a different name, or run ${chalk.bold('great clone')} to work on the existing integration.`);
35
+ }
32
36
  export default function createIntegration(log, apiToken, client, config) {
33
37
  return async function integration(integrationName, options) {
34
38
  if (!integrationName) {
@@ -49,7 +53,12 @@ export default function createIntegration(log, apiToken, client, config) {
49
53
  }
50
54
  const result = await graphqlClient.request(CreateIntegrationMutationDocument, { accountId, name, key });
51
55
  if (result.error) {
52
- handleGraphQLError(result.error, log);
56
+ if (isConflictError(result.error)) {
57
+ logKeyConflict(key, log);
58
+ }
59
+ else {
60
+ handleGraphQLError(result.error, log);
61
+ }
53
62
  return;
54
63
  }
55
64
  const integration = result.data?.createIntegration;