@seamapi/cli 0.7.0 → 0.9.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 (53) hide show
  1. package/bin/cli.js +11 -2
  2. package/bin/cli.js.map +1 -1
  3. package/lib/blueprint.d.ts +2 -1
  4. package/lib/blueprint.js +171 -26
  5. package/lib/blueprint.js.map +1 -1
  6. package/lib/config/config-store.d.ts +23 -0
  7. package/lib/config/config-store.js +113 -0
  8. package/lib/config/config-store.js.map +1 -0
  9. package/lib/config/index.d.ts +1 -0
  10. package/lib/config/index.js +2 -0
  11. package/lib/config/index.js.map +1 -0
  12. package/lib/config/migrate.d.ts +2 -0
  13. package/lib/config/migrate.js +21 -0
  14. package/lib/config/migrate.js.map +1 -0
  15. package/lib/get-api-blueprint.d.ts +4 -1
  16. package/lib/get-api-blueprint.js +3 -4
  17. package/lib/get-api-blueprint.js.map +1 -1
  18. package/lib/get-current-workspace-id.js +1 -1
  19. package/lib/get-current-workspace-id.js.map +1 -1
  20. package/lib/get-seam.js +1 -1
  21. package/lib/get-seam.js.map +1 -1
  22. package/lib/get-server.js +1 -1
  23. package/lib/get-server.js.map +1 -1
  24. package/lib/interact-for-login.js +1 -1
  25. package/lib/interact-for-login.js.map +1 -1
  26. package/lib/interact-for-server-selection.js +1 -1
  27. package/lib/interact-for-server-selection.js.map +1 -1
  28. package/lib/interact-for-use-remote-api-defs.js +1 -1
  29. package/lib/interact-for-use-remote-api-defs.js.map +1 -1
  30. package/lib/interact-for-workspace-id.js +1 -1
  31. package/lib/interact-for-workspace-id.js.map +1 -1
  32. package/lib/version.d.ts +3 -1
  33. package/lib/version.js +4 -1
  34. package/lib/version.js.map +1 -1
  35. package/package.json +5 -3
  36. package/src/bin/cli.ts +12 -2
  37. package/src/lib/blueprint.ts +228 -28
  38. package/src/lib/config/config-store.ts +158 -0
  39. package/src/lib/config/index.ts +1 -0
  40. package/src/lib/config/migrate.ts +39 -0
  41. package/src/lib/get-api-blueprint.ts +7 -3
  42. package/src/lib/get-current-workspace-id.ts +1 -1
  43. package/src/lib/get-seam.ts +1 -1
  44. package/src/lib/get-server.ts +1 -1
  45. package/src/lib/interact-for-login.ts +1 -1
  46. package/src/lib/interact-for-server-selection.ts +1 -1
  47. package/src/lib/interact-for-use-remote-api-defs.ts +1 -1
  48. package/src/lib/interact-for-workspace-id.ts +1 -1
  49. package/src/lib/version.ts +4 -1
  50. package/lib/get-config-store.d.ts +0 -2
  51. package/lib/get-config-store.js +0 -5
  52. package/lib/get-config-store.js.map +0 -1
  53. package/src/lib/get-config-store.ts +0 -5
@@ -0,0 +1,23 @@
1
+ import Configstore from 'configstore';
2
+ export declare const getConfigStore: () => SeamConfigStore;
3
+ export declare const mergeConfig: (baseConfig: Record<string, unknown>, overrideConfig: Record<string, unknown>) => Record<string, unknown>;
4
+ export declare const splitConfig: (config: Record<string, unknown>) => {
5
+ settings: Record<string, unknown>;
6
+ state: Record<string, unknown>;
7
+ };
8
+ declare class SeamConfigStore {
9
+ private readonly settingsStore;
10
+ private readonly stateStore;
11
+ readonly path: string;
12
+ constructor(settingsStore: Configstore, stateStore: Configstore);
13
+ get all(): Record<string, unknown>;
14
+ set all(value: Record<string, unknown>);
15
+ get size(): number;
16
+ get(key: string): unknown;
17
+ set(key: string | Record<string, unknown>, value?: unknown): void;
18
+ has(key: string): boolean;
19
+ delete(key: string): void;
20
+ clear(): void;
21
+ private getStore;
22
+ }
23
+ export {};
@@ -0,0 +1,113 @@
1
+ import { join } from 'node:path';
2
+ import Configstore from 'configstore';
3
+ import envPaths from 'env-paths';
4
+ import { migrateConfigStore } from './migrate.js';
5
+ const configFileName = 'cli.json';
6
+ const legacyConfigStoreId = 'seam-cli';
7
+ const currentWorkspaceIdKey = 'current_workspace_id';
8
+ const patKey = 'pat';
9
+ const paths = envPaths('seam', { suffix: '' });
10
+ export const getConfigStore = () => {
11
+ const settingsStore = new Configstore(legacyConfigStoreId, undefined, {
12
+ configPath: getConfigPath(),
13
+ });
14
+ const stateStore = new Configstore(legacyConfigStoreId, undefined, {
15
+ configPath: getStateConfigPath(),
16
+ });
17
+ migrateConfigStore(settingsStore, stateStore, new Configstore(legacyConfigStoreId));
18
+ return new SeamConfigStore(settingsStore, stateStore);
19
+ };
20
+ export const mergeConfig = (baseConfig, overrideConfig) => {
21
+ const mergedConfig = { ...baseConfig };
22
+ for (const [key, value] of Object.entries(overrideConfig)) {
23
+ const baseValue = mergedConfig[key];
24
+ mergedConfig[key] =
25
+ isRecord(baseValue) && isRecord(value)
26
+ ? mergeConfig(baseValue, value)
27
+ : value;
28
+ }
29
+ return mergedConfig;
30
+ };
31
+ export const splitConfig = (config) => {
32
+ const settings = {};
33
+ const state = {};
34
+ for (const [key, value] of Object.entries(config)) {
35
+ if (isStateKey(key)) {
36
+ state[key] = value;
37
+ continue;
38
+ }
39
+ if (isRecord(value)) {
40
+ const splitValue = splitConfig(value);
41
+ if (Object.keys(splitValue.settings).length > 0) {
42
+ settings[key] = splitValue.settings;
43
+ }
44
+ if (Object.keys(splitValue.state).length > 0) {
45
+ state[key] = splitValue.state;
46
+ }
47
+ continue;
48
+ }
49
+ settings[key] = value;
50
+ }
51
+ return { settings, state };
52
+ };
53
+ class SeamConfigStore {
54
+ settingsStore;
55
+ stateStore;
56
+ path;
57
+ constructor(settingsStore, stateStore) {
58
+ this.settingsStore = settingsStore;
59
+ this.stateStore = stateStore;
60
+ this.path = settingsStore.path;
61
+ }
62
+ get all() {
63
+ return mergeConfig(this.settingsStore.all, this.stateStore.all);
64
+ }
65
+ set all(value) {
66
+ const { settings, state } = splitConfig(value);
67
+ this.settingsStore.all = settings;
68
+ this.stateStore.all = state;
69
+ }
70
+ get size() {
71
+ return Object.keys(this.all).length;
72
+ }
73
+ get(key) {
74
+ return this.getStore(key).get(key);
75
+ }
76
+ set(key, value) {
77
+ if (isRecord(key)) {
78
+ for (const [configKey, configValue] of Object.entries(key)) {
79
+ this.set(configKey, configValue);
80
+ }
81
+ return;
82
+ }
83
+ this.getStore(key).set(key, value);
84
+ }
85
+ has(key) {
86
+ return this.getStore(key).has(key);
87
+ }
88
+ delete(key) {
89
+ this.getStore(key).delete(key);
90
+ }
91
+ clear() {
92
+ this.settingsStore.clear();
93
+ this.stateStore.clear();
94
+ }
95
+ getStore(key) {
96
+ return isStateKey(key) ? this.stateStore : this.settingsStore;
97
+ }
98
+ }
99
+ const getConfigPath = () => {
100
+ return join(paths.config, configFileName);
101
+ };
102
+ const getStateConfigPath = () => {
103
+ return join(paths.log, configFileName);
104
+ };
105
+ const isStateKey = (key) => {
106
+ return (key === currentWorkspaceIdKey ||
107
+ key === patKey ||
108
+ key.endsWith(`.${patKey}`));
109
+ };
110
+ const isRecord = (value) => {
111
+ return value != null && typeof value === 'object' && !Array.isArray(value);
112
+ };
113
+ //# sourceMappingURL=config-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../src/lib/config/config-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { getConfigStore } from './config-store.js';
@@ -0,0 +1,2 @@
1
+ export { getConfigStore } from './config-store.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ import type Configstore from 'configstore';
2
+ export declare const migrateConfigStore: (settingsStore: Configstore, stateStore: Configstore, legacyStore: Configstore) => void;
@@ -0,0 +1,21 @@
1
+ import { existsSync, rmSync } from 'node:fs';
2
+ import { mergeConfig, splitConfig } from './config-store.js';
3
+ export const migrateConfigStore = (settingsStore, stateStore, legacyStore) => {
4
+ if (!existsSync(legacyStore.path))
5
+ return;
6
+ migrateLegacyConfig(settingsStore, stateStore, legacyStore.all);
7
+ rmSync(legacyStore.path, { force: true });
8
+ };
9
+ const migrateLegacyConfig = (settingsStore, stateStore, legacyConfig) => {
10
+ if (Object.keys(legacyConfig).length === 0)
11
+ return;
12
+ const { settings, state } = splitConfig(legacyConfig);
13
+ writeIfChanged(settingsStore, mergeConfig(settings, settingsStore.all));
14
+ writeIfChanged(stateStore, mergeConfig(state, stateStore.all));
15
+ };
16
+ const writeIfChanged = (store, nextConfig) => {
17
+ if (JSON.stringify(store.all) !== JSON.stringify(nextConfig)) {
18
+ store.all = nextConfig;
19
+ }
20
+ };
21
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/lib/config/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAI5C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,aAA0B,EAC1B,UAAuB,EACvB,WAAwB,EAClB,EAAE;IACR,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;QAAE,OAAM;IAEzC,mBAAmB,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IAE/D,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAC1B,aAA0B,EAC1B,UAAuB,EACvB,YAAqC,EAC/B,EAAE;IACR,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAElD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IAErD,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;IACvE,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;AAChE,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CACrB,KAAkB,EAClB,UAAmC,EAC7B,EAAE;IACR,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,KAAK,CAAC,GAAG,GAAG,UAAU,CAAA;IACxB,CAAC;AACH,CAAC,CAAA"}
@@ -1,3 +1,6 @@
1
1
  import type { Blueprint } from '@seamapi/blueprint';
2
2
  export type ApiBlueprint = Blueprint;
3
- export declare const getApiBlueprint: (useRemoteDefinitions: boolean) => Promise<ApiBlueprint>;
3
+ export interface GetApiBlueprintOptions {
4
+ update?: boolean;
5
+ }
6
+ export declare const getApiBlueprint: (useRemoteDefinitions: boolean, options?: GetApiBlueprintOptions) => Promise<ApiBlueprint>;
@@ -1,12 +1,11 @@
1
1
  import getBlueprint from './blueprint.js';
2
2
  import { getServer } from './get-server.js';
3
- export const getApiBlueprint = async (useRemoteDefinitions) => {
3
+ export const getApiBlueprint = async (useRemoteDefinitions, options = {}) => {
4
4
  // Remote definitions describe whatever the server is currently running, so
5
- // build them directly from the server's OpenAPI document. This runtime path
6
- // does not load @seamapi/types.
5
+ // build them directly from the server's OpenAPI document.
7
6
  if (useRemoteDefinitions)
8
7
  return await createRemoteBlueprint();
9
- return await getBlueprint();
8
+ return await getBlueprint(options);
10
9
  };
11
10
  const createRemoteBlueprint = async () => {
12
11
  const [{ createBlueprint }, { getOpenapiSchema }] = await Promise.all([
@@ -1 +1 @@
1
- {"version":3,"file":"get-api-blueprint.js","sourceRoot":"","sources":["../src/lib/get-api-blueprint.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAI3C,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,oBAA6B,EACN,EAAE;IACzB,2EAA2E;IAC3E,4EAA4E;IAC5E,gCAAgC;IAChC,IAAI,oBAAoB;QAAE,OAAO,MAAM,qBAAqB,EAAE,CAAA;IAE9D,OAAO,MAAM,YAAY,EAAE,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,KAAK,IAAwB,EAAE;IAC3D,MAAM,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC;QAC5B,MAAM,CAAC,uBAAuB,CAAC;KAChC,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAA;IAEnD,OAAO,MAAM,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;AACvE,CAAC,CAAA"}
1
+ {"version":3,"file":"get-api-blueprint.js","sourceRoot":"","sources":["../src/lib/get-api-blueprint.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3C,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,oBAA6B,EAC7B,UAAkC,EAAE,EACb,EAAE;IACzB,2EAA2E;IAC3E,0DAA0D;IAC1D,IAAI,oBAAoB;QAAE,OAAO,MAAM,qBAAqB,EAAE,CAAA;IAE9D,OAAO,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,KAAK,IAAwB,EAAE;IAC3D,MAAM,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpE,MAAM,CAAC,oBAAoB,CAAC;QAC5B,MAAM,CAAC,uBAAuB,CAAC;KAChC,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAA;IAEnD,OAAO,MAAM,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;AACvE,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { getConfigStore } from './get-config-store.js';
1
+ import { getConfigStore } from './config/index.js';
2
2
  import { interactForWorkspaceId } from './interact-for-workspace-id.js';
3
3
  export const getCurrentWorkspaceId = async () => {
4
4
  const configStore = getConfigStore();
@@ -1 +1 @@
1
- {"version":3,"file":"get-current-workspace-id.js","sourceRoot":"","sources":["../src/lib/get-current-workspace-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,IAAqB,EAAE;IAC/D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAClE,IAAI,OAAO,kBAAkB,KAAK,QAAQ;QAAE,OAAO,kBAAkB,CAAA;IAErE,OAAO,MAAM,sBAAsB,EAAE,CAAA;AACvC,CAAC,CAAA"}
1
+ {"version":3,"file":"get-current-workspace-id.js","sourceRoot":"","sources":["../src/lib/get-current-workspace-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,IAAqB,EAAE;IAC/D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAClE,IAAI,OAAO,kBAAkB,KAAK,QAAQ;QAAE,OAAO,kBAAkB,CAAA;IAErE,OAAO,MAAM,sBAAsB,EAAE,CAAA;AACvC,CAAC,CAAA"}
package/lib/get-seam.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { isConsoleSessionToken, isPersonalAccessToken, SeamHttp, SeamHttpWithoutWorkspace, } from '@seamapi/http/connect';
2
- import { getConfigStore } from './get-config-store.js';
2
+ import { getConfigStore } from './config/index.js';
3
3
  import { getServer } from './get-server.js';
4
4
  export const getSeam = async () => {
5
5
  const config = getConfigStore();
@@ -1 +1 @@
1
- {"version":3,"file":"get-seam.js","sourceRoot":"","sources":["../src/lib/get-seam.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,QAAQ,EACR,wBAAwB,GACzB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,IAAuB,EAAE;IACnD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,MAAM,CAAW,CAAA;IAExD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAW,CAAA;IAEhE,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAA;IAEzC,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IACtE,CAAC;IAED,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IACtE,CAAC;IAED,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,IAExC,EAAE;IACF,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,MAAM,CAAW,CAAA;IACxD,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAA;IAEzC,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,wBAAwB,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,OAAO,EAAE,CAAA;AAClB,CAAC,CAAA"}
1
+ {"version":3,"file":"get-seam.js","sourceRoot":"","sources":["../src/lib/get-seam.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,QAAQ,EACR,wBAAwB,GACzB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,IAAuB,EAAE;IACnD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,MAAM,CAAW,CAAA;IAExD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAW,CAAA;IAEhE,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAA;IAEzC,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IACtE,CAAC;IAED,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IACtE,CAAC;IAED,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,IAExC,EAAE;IACF,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,MAAM,CAAW,CAAA;IACxD,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAA;IAEzC,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,wBAAwB,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,OAAO,EAAE,CAAA;AAClB,CAAC,CAAA"}
package/lib/get-server.js CHANGED
@@ -1,4 +1,4 @@
1
- import { getConfigStore } from './get-config-store.js';
1
+ import { getConfigStore } from './config/index.js';
2
2
  export const getServer = () => {
3
3
  const config = getConfigStore();
4
4
  const server = config.get('server');
@@ -1 +1 @@
1
- {"version":3,"file":"get-server.js","sourceRoot":"","sources":["../src/lib/get-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAW,EAAE;IACpC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEnC,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAA;AAC5E,CAAC,CAAA"}
1
+ {"version":3,"file":"get-server.js","sourceRoot":"","sources":["../src/lib/get-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAW,EAAE;IACpC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEnC,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAA;AAC5E,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { isApiKey, isPersonalAccessToken } from '@seamapi/http/connect';
2
2
  import chalk from 'chalk';
3
3
  import prompts from 'prompts';
4
- import { getConfigStore } from './get-config-store.js';
4
+ import { getConfigStore } from './config/index.js';
5
5
  import { getServer } from './get-server.js';
6
6
  import { interactForWorkspaceId } from './interact-for-workspace-id.js';
7
7
  import { withLoading } from './util/with-loading.js';
@@ -1 +1 @@
1
- {"version":3,"file":"interact-for-login.js","sourceRoot":"","sources":["../src/lib/interact-for-login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACzC,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;IAErC,IAAI,SAAS,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CACT,gIAAgI,SAAS,EAAE,iCAAiC,CAC7K,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,+KAA+K,CAChL,CAAA;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,mEAAmE,CACpE,CACF,CAAA;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC;QAC5B,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,wBAAwB;KAClC,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,CAAA;IAEzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;SAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,WAAW,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IACxE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAA;IACH,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;AAC1D,CAAC,CAAA"}
1
+ {"version":3,"file":"interact-for-login.js","sourceRoot":"","sources":["../src/lib/interact-for-login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACzC,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;IAErC,IAAI,SAAS,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CACT,gIAAgI,SAAS,EAAE,iCAAiC,CAC7K,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,+KAA+K,CAChL,CAAA;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,mEAAmE,CACpE,CACF,CAAA;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC;QAC5B,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,wBAAwB;KAClC,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,CAAA;IAEzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;SAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,WAAW,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IACxE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAA;IACH,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;AAC1D,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { randomBytes } from 'node:crypto';
2
2
  import prompts from 'prompts';
3
- import { getConfigStore } from './get-config-store.js';
3
+ import { getConfigStore } from './config/index.js';
4
4
  import { getServer } from './get-server.js';
5
5
  export async function interactForServerSelection() {
6
6
  const servers = [
@@ -1 +1 @@
1
- {"version":3,"file":"interact-for-server-selection.js","sourceRoot":"","sources":["../src/lib/interact-for-server-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAC9C,MAAM,OAAO,GAAG;QACd,uBAAuB;QACvB,6BAA6B;QAC7B,iCAAiC;KAClC,CAAA;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;QAC/B;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;SACrE;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,OAAO,CAAC;YAClC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EACL,sFAAsF;aACzF;SACF,CAAC,CAAA;QAEF,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC9C,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,WAAW,0BAA0B,CAAC,CAAA;QACtE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAA;IACzE,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC9B,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;IACrC,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAA;AACxC,CAAC"}
1
+ {"version":3,"file":"interact-for-server-selection.js","sourceRoot":"","sources":["../src/lib/interact-for-server-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAC9C,MAAM,OAAO,GAAG;QACd,uBAAuB;QACvB,6BAA6B;QAC7B,iCAAiC;KAClC,CAAA;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;QAC/B;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;SACrE;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,OAAO,CAAC;YAClC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EACL,sFAAsF;aACzF;SACF,CAAC,CAAA;QAEF,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC9C,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,WAAW,0BAA0B,CAAC,CAAA;QACtE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAA;IACzE,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC9B,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;IACrC,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAA;AACxC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import prompts from 'prompts';
2
- import { getConfigStore } from './get-config-store.js';
2
+ import { getConfigStore } from './config/index.js';
3
3
  export async function interactForUseRemoteApiDefs() {
4
4
  const { use_remote_api_defs } = await prompts([
5
5
  {
@@ -1 +1 @@
1
- {"version":3,"file":"interact-for-use-remote-api-defs.js","sourceRoot":"","sources":["../src/lib/interact-for-use-remote-api-defs.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,CAAC,KAAK,UAAU,2BAA2B;IAC/C,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,OAAO,CAAC;QAC5C;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,IAAI;iBACZ;gBACD;oBACE,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,KAAK;iBACb;aACF;SACF;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAA;IACtD,OAAO,CAAC,GAAG,CAAC,+BAA+B,mBAAmB,EAAE,CAAC,CAAA;AACnE,CAAC"}
1
+ {"version":3,"file":"interact-for-use-remote-api-defs.js","sourceRoot":"","sources":["../src/lib/interact-for-use-remote-api-defs.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,CAAC,KAAK,UAAU,2BAA2B;IAC/C,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,OAAO,CAAC;QAC5C;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,IAAI;iBACZ;gBACD;oBACE,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,KAAK;iBACb;aACF;SACF;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAA;IACtD,OAAO,CAAC,GAAG,CAAC,+BAA+B,mBAAmB,EAAE,CAAC,CAAA;AACnE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { SeamHttpWithoutWorkspace } from '@seamapi/http/connect';
2
2
  import prompts from 'prompts';
3
- import { getConfigStore } from './get-config-store.js';
3
+ import { getConfigStore } from './config/index.js';
4
4
  import { getSeamMultiWorkspace } from './get-seam.js';
5
5
  import { getServer } from './get-server.js';
6
6
  import { withLoading } from './util/with-loading.js';
@@ -1 +1 @@
1
- {"version":3,"file":"interact-for-workspace-id.js","sourceRoot":"","sources":["../src/lib/interact-for-workspace-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,mBAA4B,EAAE,EAAE;IAC3E,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,MAAM,IAAI,GAAG,mBAAmB;QAC9B,CAAC,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,mBAAmB,EAAE;YACpE,QAAQ,EAAE,SAAS,EAAE;SACtB,CAAC;QACJ,CAAC,CAAC,MAAM,qBAAqB,EAAE,CAAA;IAEjC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAClE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CACvB,CAAA;IACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,OAAO,CAAC;QACpC,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAc,EAAE,EAAE,CAAC,CAAC;YAC3C,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,KAAK,EAAE,SAAS,CAAC,YAAY;YAC7B,WAAW,EAAE,SAAS,CAAC,YAAY;SACpC,CAAC,CAAC;KACJ,CAAC,CAAA;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAA;QAC/C,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC,CAAA"}
1
+ {"version":3,"file":"interact-for-workspace-id.js","sourceRoot":"","sources":["../src/lib/interact-for-workspace-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,mBAA4B,EAAE,EAAE;IAC3E,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,MAAM,IAAI,GAAG,mBAAmB;QAC9B,CAAC,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,mBAAmB,EAAE;YACpE,QAAQ,EAAE,SAAS,EAAE;SACtB,CAAC;QACJ,CAAC,CAAC,MAAM,qBAAqB,EAAE,CAAA;IAEjC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAClE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CACvB,CAAA;IACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,OAAO,CAAC;QACpC,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAc,EAAE,EAAE,CAAC,CAAC;YAC3C,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,KAAK,EAAE,SAAS,CAAC,YAAY;YAC7B,WAAW,EAAE,SAAS,CAAC,YAAY;SACpC,CAAC,CAAC;KACJ,CAAC,CAAA;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAA;QAC/C,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC,CAAA"}
package/lib/version.d.ts CHANGED
@@ -1,2 +1,4 @@
1
- declare const seamapiCliVersion = "0.7.0";
1
+ declare const seamapiCliVersion = "0.9.0";
2
+ declare const seamapiBlueprintVersion = "1.2.0";
3
+ export { seamapiBlueprintVersion };
2
4
  export default seamapiCliVersion;
package/lib/version.js CHANGED
@@ -1,3 +1,6 @@
1
- const seamapiCliVersion = '0.7.0';
1
+ // Versions are replaced with generated values when the package is packed.
2
+ const seamapiCliVersion = '0.9.0';
3
+ const seamapiBlueprintVersion = '1.2.0';
4
+ export { seamapiBlueprintVersion };
2
5
  export default seamapiCliVersion;
3
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/lib/version.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,OAAO,CAAA;AAEjC,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/lib/version.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,iBAAiB,GAAG,OAAO,CAAA;AACjC,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAEvC,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAClC,eAAe,iBAAiB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/cli",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "description": "A command line interface (CLI) for interacting with the Seam API.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -89,16 +89,18 @@
89
89
  }
90
90
  },
91
91
  "dependencies": {
92
- "@seamapi/blueprint": "^1.1.0",
92
+ "@seamapi/blueprint": "1.2.0",
93
93
  "@seamapi/http": "2.2.0",
94
94
  "@seamapi/wizard": "0.5.2",
95
95
  "chalk": "^6.0.0",
96
96
  "command-line-usage": "^7.0.4",
97
97
  "configstore": "^8.0.0",
98
+ "env-paths": "^4.0.0",
98
99
  "minimist": "^1.2.8",
99
100
  "nanospinner": "^1.2.2",
100
101
  "open": "^11.0.0",
101
- "prompts": "^2.4.2"
102
+ "prompts": "^2.4.2",
103
+ "tar": "^7.5.22"
102
104
  },
103
105
  "devDependencies": {
104
106
  "@seamapi/types": "1.985.0",
package/src/bin/cli.ts CHANGED
@@ -7,8 +7,8 @@ import commandLineUsage from 'command-line-usage'
7
7
  import parseArgs, { type ParsedArgs } from 'minimist'
8
8
  import prompts from 'prompts'
9
9
 
10
+ import { getConfigStore } from 'lib/config/index.js'
10
11
  import { getApiBlueprint } from 'lib/get-api-blueprint.js'
11
- import { getConfigStore } from 'lib/get-config-store.js'
12
12
  import { getServer } from 'lib/get-server.js'
13
13
  import { interactForActionAttemptPoll } from 'lib/interact-for-action-attempt-poll.js'
14
14
  import { interactForCommandParams } from 'lib/interact-for-command-params.js'
@@ -37,6 +37,11 @@ const sections = [
37
37
  alias: 'h',
38
38
  type: Boolean,
39
39
  },
40
+ {
41
+ name: 'update',
42
+ description: 'Force an update of the cached Seam API definitions.',
43
+ type: Boolean,
44
+ },
40
45
  ],
41
46
  },
42
47
  {
@@ -117,7 +122,12 @@ async function cli(args: ParsedArgs) {
117
122
  const use_remote_api_defs =
118
123
  args['remote_api_defs'] ?? config.get('use_remote_api_defs')
119
124
 
120
- const blueprint = await getApiBlueprint(use_remote_api_defs ?? false)
125
+ const update = args['update'] === true
126
+ delete args['update']
127
+
128
+ const blueprint = await getApiBlueprint(use_remote_api_defs ?? false, {
129
+ update,
130
+ })
121
131
 
122
132
  const commandParams: Record<string, any> = {}
123
133