@eide/foir-cli 0.1.30 → 0.1.31

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/dist/codegen/generators/static-documents.d.ts.map +1 -1
  2. package/dist/codegen/generators/static-documents.js +4 -1
  3. package/dist/commands/api-keys.d.ts.map +1 -1
  4. package/dist/commands/api-keys.js +3 -1
  5. package/dist/commands/auth-config.d.ts.map +1 -1
  6. package/dist/commands/auth-config.js +4 -3
  7. package/dist/commands/auth-providers.d.ts.map +1 -1
  8. package/dist/commands/auth-providers.js +7 -2
  9. package/dist/commands/customer-profiles.d.ts.map +1 -1
  10. package/dist/commands/customer-profiles.js +3 -1
  11. package/dist/commands/customers.d.ts.map +1 -1
  12. package/dist/commands/customers.js +9 -3
  13. package/dist/commands/embeddings.d.ts.map +1 -1
  14. package/dist/commands/embeddings.js +9 -3
  15. package/dist/commands/experiments.d.ts.map +1 -1
  16. package/dist/commands/experiments.js +28 -9
  17. package/dist/commands/extensions.d.ts.map +1 -1
  18. package/dist/commands/extensions.js +18 -6
  19. package/dist/commands/files.d.ts.map +1 -1
  20. package/dist/commands/hooks.d.ts.map +1 -1
  21. package/dist/commands/hooks.js +14 -6
  22. package/dist/commands/locales.d.ts.map +1 -1
  23. package/dist/commands/locales.js +13 -4
  24. package/dist/commands/login.d.ts.map +1 -1
  25. package/dist/commands/login.js +0 -1
  26. package/dist/commands/models.d.ts.map +1 -1
  27. package/dist/commands/models.js +6 -2
  28. package/dist/commands/notes.d.ts.map +1 -1
  29. package/dist/commands/notes.js +4 -2
  30. package/dist/commands/notifications.d.ts.map +1 -1
  31. package/dist/commands/operations.d.ts.map +1 -1
  32. package/dist/commands/operations.js +16 -5
  33. package/dist/commands/records.d.ts.map +1 -1
  34. package/dist/commands/records.js +15 -5
  35. package/dist/commands/schedules.d.ts.map +1 -1
  36. package/dist/commands/schedules.js +7 -2
  37. package/dist/commands/search.d.ts.map +1 -1
  38. package/dist/commands/segments.d.ts.map +1 -1
  39. package/dist/commands/segments.js +17 -5
  40. package/dist/commands/select-project.js +3 -3
  41. package/dist/commands/settings.d.ts.map +1 -1
  42. package/dist/commands/settings.js +3 -1
  43. package/dist/commands/variant-catalog.d.ts.map +1 -1
  44. package/dist/commands/variant-catalog.js +10 -3
  45. package/dist/commands/whoami.js +1 -1
  46. package/dist/graphql/generated.d.ts +2 -10
  47. package/dist/graphql/generated.d.ts.map +1 -1
  48. package/dist/graphql/generated.js +2 -2
  49. package/dist/lib/errors.d.ts.map +1 -1
  50. package/dist/lib/errors.js +3 -0
  51. package/dist/lib/extension-helpers.d.ts.map +1 -1
  52. package/dist/lib/seed-helpers.d.ts.map +1 -1
  53. package/package.json +20 -23
@@ -64,7 +64,9 @@ export function registerRecordsCommands(program, globalOpts) {
64
64
  result = data.record;
65
65
  }
66
66
  else {
67
- const data = await client.request(GetRecordDocument, { id: idOrKey });
67
+ const data = await client.request(GetRecordDocument, {
68
+ id: idOrKey,
69
+ });
68
70
  result = data.record;
69
71
  }
70
72
  }
@@ -105,7 +107,9 @@ export function registerRecordsCommands(program, globalOpts) {
105
107
  const client = await createClient(opts);
106
108
  const inputData = await parseInputData(cmdOpts);
107
109
  const input = { modelKey, ...inputData };
108
- const data = await client.request(CreateRecordDocument, { input });
110
+ const data = await client.request(CreateRecordDocument, {
111
+ input,
112
+ });
109
113
  formatOutput(data.createRecord, opts);
110
114
  if (!(opts.json || opts.jsonl || opts.quiet)) {
111
115
  success(`Created record ${data.createRecord.record.id}`);
@@ -188,7 +192,9 @@ export function registerRecordsCommands(program, globalOpts) {
188
192
  const opts = globalOpts();
189
193
  const client = await createClient(opts);
190
194
  const naturalKey = cmdOpts.naturalKey ?? `${id}-copy`;
191
- const data = await client.request(DuplicateRecordDocument, { input: { recordId: id, naturalKey } });
195
+ const data = await client.request(DuplicateRecordDocument, {
196
+ input: { recordId: id, naturalKey },
197
+ });
192
198
  formatOutput(data.duplicateRecord, opts);
193
199
  if (!(opts.json || opts.jsonl || opts.quiet)) {
194
200
  success(`Duplicated → ${data.duplicateRecord.record.id}`);
@@ -262,7 +268,9 @@ export function registerRecordsCommands(program, globalOpts) {
262
268
  input.changeDescription = cmdOpts.message;
263
269
  if (cmdOpts.sourceVersion)
264
270
  input.sourceVersionId = cmdOpts.sourceVersion;
265
- const data = await client.request(CreateVersionDocument, { input });
271
+ const data = await client.request(CreateVersionDocument, {
272
+ input,
273
+ });
266
274
  formatOutput(data.createVersion, opts);
267
275
  if (!(opts.json || opts.jsonl || opts.quiet)) {
268
276
  success(`Created version ${data.createVersion.id}`);
@@ -295,7 +303,9 @@ export function registerRecordsCommands(program, globalOpts) {
295
303
  input.priority = parseInt(cmdOpts.priority, 10);
296
304
  if (cmdOpts.default)
297
305
  input.isDefault = true;
298
- const data = await client.request(CreateVariantDocument, { input });
306
+ const data = await client.request(CreateVariantDocument, {
307
+ input,
308
+ });
299
309
  formatOutput(data.createVariant, opts);
300
310
  if (!(opts.json || opts.jsonl || opts.quiet)) {
301
311
  success(`Created variant ${data.createVariant.id}`);
@@ -1 +1 @@
1
- {"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/commands/schedules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAgBtD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,aAAa,GAC9B,IAAI,CA8KN"}
1
+ {"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/commands/schedules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAgBtD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,aAAa,GAC9B,IAAI,CAmLN"}
@@ -64,7 +64,9 @@ export function registerSchedulesCommands(program, globalOpts) {
64
64
  const opts = globalOpts();
65
65
  const client = await createClient(opts);
66
66
  const input = await parseInputData(cmdOpts);
67
- const data = await client.request(CreateScheduleDocument, { input });
67
+ const data = await client.request(CreateScheduleDocument, {
68
+ input,
69
+ });
68
70
  formatOutput(data.createSchedule, opts);
69
71
  if (!(opts.json || opts.jsonl || opts.quiet))
70
72
  success(`Created schedule ${data.createSchedule.key}`);
@@ -79,7 +81,10 @@ export function registerSchedulesCommands(program, globalOpts) {
79
81
  const opts = globalOpts();
80
82
  const client = await createClient(opts);
81
83
  const input = await parseInputData(cmdOpts);
82
- const data = await client.request(UpdateScheduleDocument, { key, input });
84
+ const data = await client.request(UpdateScheduleDocument, {
85
+ key,
86
+ input,
87
+ });
83
88
  formatOutput(data.updateSchedule, opts);
84
89
  if (!(opts.json || opts.jsonl || opts.quiet))
85
90
  success(`Updated schedule "${key}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,aAAa,GAC9B,IAAI,CAwEN"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,aAAa,GAC9B,IAAI,CAgFN"}
@@ -1 +1 @@
1
- {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/commands/segments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAgBtD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,aAAa,GAC9B,IAAI,CAuKN"}
1
+ {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/commands/segments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAgBtD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,aAAa,GAC9B,IAAI,CAsLN"}
@@ -50,11 +50,15 @@ export function registerSegmentsCommands(program, globalOpts) {
50
50
  const client = await createClient(opts);
51
51
  let result;
52
52
  if (isUUID(idOrKey)) {
53
- const data = await client.request(GetSegmentDocument, { id: idOrKey });
53
+ const data = await client.request(GetSegmentDocument, {
54
+ id: idOrKey,
55
+ });
54
56
  result = data.segment;
55
57
  }
56
58
  else {
57
- const data = await client.request(GetSegmentByKeyDocument, { key: idOrKey });
59
+ const data = await client.request(GetSegmentByKeyDocument, {
60
+ key: idOrKey,
61
+ });
58
62
  result = data.segmentByKey;
59
63
  }
60
64
  if (!result)
@@ -71,7 +75,9 @@ export function registerSegmentsCommands(program, globalOpts) {
71
75
  const opts = globalOpts();
72
76
  const client = await createClient(opts);
73
77
  const input = await parseInputData(cmdOpts);
74
- const data = await client.request(CreateSegmentDocument, { input });
78
+ const data = await client.request(CreateSegmentDocument, {
79
+ input,
80
+ });
75
81
  formatOutput(data.createSegment, opts);
76
82
  if (!(opts.json || opts.jsonl || opts.quiet))
77
83
  success(`Created segment ${data.createSegment.key}`);
@@ -86,7 +92,10 @@ export function registerSegmentsCommands(program, globalOpts) {
86
92
  const opts = globalOpts();
87
93
  const client = await createClient(opts);
88
94
  const input = await parseInputData(cmdOpts);
89
- const data = await client.request(UpdateSegmentDocument, { id, input });
95
+ const data = await client.request(UpdateSegmentDocument, {
96
+ id,
97
+ input,
98
+ });
90
99
  formatOutput(data.updateSegment, opts);
91
100
  if (!(opts.json || opts.jsonl || opts.quiet))
92
101
  success(`Updated segment ${id}`);
@@ -137,7 +146,10 @@ export function registerSegmentsCommands(program, globalOpts) {
137
146
  .action(withErrorHandler(globalOpts, async (segmentId, customerId) => {
138
147
  const opts = globalOpts();
139
148
  const client = await createClient(opts);
140
- const data = await client.request(TestSegmentEvaluationDocument, { segmentId, customerId });
149
+ const data = await client.request(TestSegmentEvaluationDocument, {
150
+ segmentId,
151
+ customerId,
152
+ });
141
153
  formatOutput(data.testSegmentEvaluation, opts);
142
154
  }));
143
155
  }
@@ -79,14 +79,14 @@ export function registerSelectProjectCommand(program, globalOpts) {
79
79
  const credentials = await getCredentials();
80
80
  if (!credentials) {
81
81
  console.log('Not logged in. Run `foir login` first.');
82
- process.exit(1);
82
+ throw new Error('Not authenticated');
83
83
  }
84
84
  console.log('Fetching your projects...\n');
85
85
  const sessionContext = await fetchSessionContext(apiUrl, credentials.accessToken);
86
86
  const { availableTenants: tenants, availableProjects: projects } = sessionContext;
87
87
  if (projects.length === 0) {
88
88
  console.log('No projects found. Create one in the platform first.');
89
- process.exit(1);
89
+ throw new Error('No projects available');
90
90
  }
91
91
  const tenantNameMap = new Map(tenants.map((t) => [t.id, t.name]));
92
92
  let selectedProject;
@@ -98,7 +98,7 @@ export function registerSelectProjectCommand(program, globalOpts) {
98
98
  for (const p of projects) {
99
99
  console.log(` - ${p.name} (${p.id})`);
100
100
  }
101
- process.exit(1);
101
+ throw new Error('Project not found');
102
102
  }
103
103
  selectedProject = found;
104
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/commands/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA0BtD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,aAAa,GAC9B,IAAI,CAgHN"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/commands/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA0BtD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,aAAa,GAC9B,IAAI,CAkHN"}
@@ -30,7 +30,9 @@ export function registerSettingsCommands(program, globalOpts) {
30
30
  const client = await createClient(opts);
31
31
  let items;
32
32
  if (cmdOpts.category) {
33
- const data = await client.request(SettingsByCategoryDocument, { category: cmdOpts.category });
33
+ const data = await client.request(SettingsByCategoryDocument, {
34
+ category: cmdOpts.category,
35
+ });
34
36
  items = data.settingsByCategory;
35
37
  }
36
38
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"variant-catalog.d.ts","sourceRoot":"","sources":["../../src/commands/variant-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AActD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,aAAa,GAC9B,IAAI,CAsIN"}
1
+ {"version":3,"file":"variant-catalog.d.ts","sourceRoot":"","sources":["../../src/commands/variant-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AActD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,aAAa,GAC9B,IAAI,CAyJN"}
@@ -48,7 +48,9 @@ export function registerVariantCatalogCommands(program, globalOpts) {
48
48
  const client = await createClient(opts);
49
49
  let result;
50
50
  if (isUUID(idOrKey)) {
51
- const data = await client.request(GetVariantCatalogEntryDocument, { id: idOrKey });
51
+ const data = await client.request(GetVariantCatalogEntryDocument, {
52
+ id: idOrKey,
53
+ });
52
54
  result = data.variantCatalogEntry;
53
55
  }
54
56
  else {
@@ -69,7 +71,9 @@ export function registerVariantCatalogCommands(program, globalOpts) {
69
71
  const opts = globalOpts();
70
72
  const client = await createClient(opts);
71
73
  const input = await parseInputData(cmdOpts);
72
- const data = await client.request(CreateVariantCatalogEntryDocument, { input });
74
+ const data = await client.request(CreateVariantCatalogEntryDocument, {
75
+ input,
76
+ });
73
77
  formatOutput(data.createVariantCatalogEntry, opts);
74
78
  if (!(opts.json || opts.jsonl || opts.quiet))
75
79
  success(`Created variant catalog entry ${data.createVariantCatalogEntry.key}`);
@@ -84,7 +88,10 @@ export function registerVariantCatalogCommands(program, globalOpts) {
84
88
  const opts = globalOpts();
85
89
  const client = await createClient(opts);
86
90
  const input = await parseInputData(cmdOpts);
87
- const data = await client.request(UpdateVariantCatalogEntryDocument, { id, input });
91
+ const data = await client.request(UpdateVariantCatalogEntryDocument, {
92
+ id,
93
+ input,
94
+ });
88
95
  formatOutput(data.updateVariantCatalogEntry, opts);
89
96
  if (!(opts.json || opts.jsonl || opts.quiet))
90
97
  success(`Updated variant catalog entry ${data.updateVariantCatalogEntry.key}`);
@@ -16,7 +16,7 @@ export function registerWhoamiCommand(program, globalOpts) {
16
16
  console.log('Not logged in.');
17
17
  console.log('\nRun `foir login` to authenticate.');
18
18
  }
19
- process.exit(1);
19
+ throw new Error('Not authenticated');
20
20
  }
21
21
  const expired = isTokenExpired(credentials);
22
22
  const projectContext = await getProjectContext();
@@ -42,6 +42,7 @@ export type Scalars = {
42
42
  input: number;
43
43
  output: number;
44
44
  };
45
+ /** The `BigInt` scalar type represents non-fractional signed whole numeric values. */
45
46
  BigInt: {
46
47
  input: any;
47
48
  output: any;
@@ -436,7 +437,7 @@ export type BillingCustomPackage = {
436
437
  validUntil?: Maybe<Scalars['DateTime']['output']>;
437
438
  };
438
439
  export type BillingInterval = 'MONTH' | 'YEAR';
439
- export type BillingMetric = 'API_REQUESTS' | 'MEDIA_STORAGE' | 'MEDIA_TRANSFORMATIONS' | 'PROJECTS' | 'USERS';
440
+ export type BillingMetric = 'MEDIA_STORAGE' | 'MEDIA_TRANSFORMATIONS' | 'PROJECTS' | 'RECORDS' | 'USERS';
440
441
  export type BillingPackageLimit = {
441
442
  id: Scalars['ID']['output'];
442
443
  includedQuantity?: Maybe<Scalars['BigInt']['output']>;
@@ -757,7 +758,6 @@ export type CreateOperationInput = {
757
758
  models?: InputMaybe<Array<Scalars['String']['input']>>;
758
759
  name: Scalars['String']['input'];
759
760
  outputSchema?: InputMaybe<Scalars['JSON']['input']>;
760
- rateLimitWeight?: InputMaybe<Scalars['Int']['input']>;
761
761
  retryPolicy?: InputMaybe<Scalars['JSON']['input']>;
762
762
  streamConfig?: InputMaybe<OperationStreamConfigInput>;
763
763
  timeoutMs?: InputMaybe<Scalars['Int']['input']>;
@@ -3439,11 +3439,6 @@ export type Operation = {
3439
3439
  models?: Maybe<Array<Scalars['String']['output']>>;
3440
3440
  name: Scalars['String']['output'];
3441
3441
  outputSchema?: Maybe<Scalars['JSON']['output']>;
3442
- /**
3443
- * Rate limit weight — how many rate limit points each execution consumes (default 1).
3444
- * Expensive operations can set higher weights to throttle more aggressively.
3445
- */
3446
- rateLimitWeight: Scalars['Int']['output'];
3447
3442
  retryPolicy?: Maybe<Scalars['JSON']['output']>;
3448
3443
  /** Streaming configuration. Operations with this set support STREAM execution mode. */
3449
3444
  streamConfig?: Maybe<OperationStreamConfig>;
@@ -5710,7 +5705,6 @@ export type UpdateOperationInput = {
5710
5705
  models?: InputMaybe<Array<Scalars['String']['input']>>;
5711
5706
  name?: InputMaybe<Scalars['String']['input']>;
5712
5707
  outputSchema?: InputMaybe<Scalars['JSON']['input']>;
5713
- rateLimitWeight?: InputMaybe<Scalars['Int']['input']>;
5714
5708
  retryPolicy?: InputMaybe<Scalars['JSON']['input']>;
5715
5709
  streamConfig?: InputMaybe<OperationStreamConfigInput>;
5716
5710
  timeoutMs?: InputMaybe<Scalars['Int']['input']>;
@@ -7287,7 +7281,6 @@ export type ListOperationsQuery = {
7287
7281
  category?: string | null;
7288
7282
  endpoint: string;
7289
7283
  isActive: boolean;
7290
- rateLimitWeight: number;
7291
7284
  createdAt: string;
7292
7285
  updatedAt: string;
7293
7286
  }>;
@@ -7314,7 +7307,6 @@ export type GetOperationQuery = {
7314
7307
  ui?: unknown | null;
7315
7308
  isActive: boolean;
7316
7309
  allowedRoles: Array<string>;
7317
- rateLimitWeight: number;
7318
7310
  createdAt: string;
7319
7311
  updatedAt: string;
7320
7312
  streamConfig?: {