@eide/foir-cli 0.1.22 → 0.1.24

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 (82) hide show
  1. package/dist/auth/credentials.d.ts +10 -8
  2. package/dist/auth/credentials.d.ts.map +1 -1
  3. package/dist/auth/credentials.js +72 -12
  4. package/dist/cli.js +6 -0
  5. package/dist/codegen/fetch-customer-profile-schema.d.ts.map +1 -1
  6. package/dist/codegen/fetch-customer-profile-schema.js +4 -4
  7. package/dist/codegen/fetch-models.d.ts.map +1 -1
  8. package/dist/codegen/fetch-models.js +7 -7
  9. package/dist/codegen/field-mapping.d.ts.map +1 -1
  10. package/dist/codegen/field-mapping.js +1 -2
  11. package/dist/codegen/generators/static-documents.d.ts.map +1 -1
  12. package/dist/codegen/generators/static-documents.js +31 -29
  13. package/dist/codegen/generators/typed-operations.d.ts.map +1 -1
  14. package/dist/commands/api-keys.d.ts.map +1 -1
  15. package/dist/commands/api-keys.js +5 -5
  16. package/dist/commands/auth-config.d.ts +4 -0
  17. package/dist/commands/auth-config.d.ts.map +1 -0
  18. package/dist/commands/auth-config.js +37 -0
  19. package/dist/commands/auth-providers.d.ts.map +1 -1
  20. package/dist/commands/auth-providers.js +6 -6
  21. package/dist/commands/context.d.ts.map +1 -1
  22. package/dist/commands/context.js +7 -8
  23. package/dist/commands/customer-profiles.d.ts.map +1 -1
  24. package/dist/commands/customer-profiles.js +5 -5
  25. package/dist/commands/customers.d.ts.map +1 -1
  26. package/dist/commands/customers.js +6 -6
  27. package/dist/commands/embeddings.d.ts +4 -0
  28. package/dist/commands/embeddings.d.ts.map +1 -0
  29. package/dist/commands/embeddings.js +139 -0
  30. package/dist/commands/experiments.d.ts.map +1 -1
  31. package/dist/commands/experiments.js +12 -12
  32. package/dist/commands/extensions.d.ts.map +1 -1
  33. package/dist/commands/extensions.js +6 -6
  34. package/dist/commands/files.d.ts.map +1 -1
  35. package/dist/commands/files.js +8 -8
  36. package/dist/commands/hooks.d.ts +4 -0
  37. package/dist/commands/hooks.d.ts.map +1 -0
  38. package/dist/commands/hooks.js +182 -0
  39. package/dist/commands/locales.d.ts.map +1 -1
  40. package/dist/commands/locales.js +18 -13
  41. package/dist/commands/models.d.ts.map +1 -1
  42. package/dist/commands/models.js +11 -11
  43. package/dist/commands/notes.d.ts.map +1 -1
  44. package/dist/commands/notes.js +18 -8
  45. package/dist/commands/notifications.d.ts.map +1 -1
  46. package/dist/commands/notifications.js +4 -4
  47. package/dist/commands/operations.d.ts.map +1 -1
  48. package/dist/commands/operations.js +126 -12
  49. package/dist/commands/pull.d.ts.map +1 -1
  50. package/dist/commands/pull.js +2 -2
  51. package/dist/commands/records.d.ts.map +1 -1
  52. package/dist/commands/records.js +32 -20
  53. package/dist/commands/schedules.d.ts.map +1 -1
  54. package/dist/commands/schedules.js +9 -9
  55. package/dist/commands/search.d.ts.map +1 -1
  56. package/dist/commands/search.js +2 -2
  57. package/dist/commands/segments.d.ts.map +1 -1
  58. package/dist/commands/segments.js +9 -9
  59. package/dist/commands/select-project.d.ts.map +1 -1
  60. package/dist/commands/select-project.js +8 -9
  61. package/dist/commands/settings.d.ts.map +1 -1
  62. package/dist/commands/settings.js +8 -8
  63. package/dist/commands/variant-catalog.d.ts.map +1 -1
  64. package/dist/commands/variant-catalog.js +7 -7
  65. package/dist/commands/whoami.d.ts.map +1 -1
  66. package/dist/commands/whoami.js +9 -8
  67. package/dist/config/pull-config.js +2 -2
  68. package/dist/config/types.d.ts +1 -1
  69. package/dist/config/types.d.ts.map +1 -1
  70. package/dist/graphql/generated.d.ts +8134 -0
  71. package/dist/graphql/generated.d.ts.map +1 -0
  72. package/dist/graphql/generated.js +133 -0
  73. package/dist/lib/client.d.ts +1 -0
  74. package/dist/lib/client.d.ts.map +1 -1
  75. package/dist/lib/client.js +10 -7
  76. package/dist/lib/config.js +1 -1
  77. package/dist/lib/errors.d.ts.map +1 -1
  78. package/dist/lib/errors.js +11 -0
  79. package/package.json +32 -10
  80. package/dist/graphql/queries.d.ts +0 -115
  81. package/dist/graphql/queries.d.ts.map +0 -1
  82. package/dist/graphql/queries.js +0 -459
@@ -5,6 +5,7 @@ import { type GlobalOptions } from './config.js';
5
5
  * Auth priority:
6
6
  * 1. FOIR_API_KEY env var (CI / headless / LLM mode)
7
7
  * 2. Stored credentials from ~/.foir/credentials.json (interactive)
8
+ * Project context is read from .foir/project.json in the current repo.
8
9
  */
9
10
  export declare function createClient(options?: GlobalOptions): Promise<GraphQLClient>;
10
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhF;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC,CAiCxB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CA2B9D"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhF;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC,CAkCxB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CA4B9D"}
@@ -1,11 +1,12 @@
1
1
  import { GraphQLClient } from 'graphql-request';
2
- import { getCredentials, isTokenExpired } from '../auth/credentials.js';
2
+ import { getCredentials, getProjectContext, isTokenExpired, } from '../auth/credentials.js';
3
3
  import { getApiUrl, getGraphQLEndpoint } from './config.js';
4
4
  /**
5
5
  * Create an authenticated GraphQL client.
6
6
  * Auth priority:
7
7
  * 1. FOIR_API_KEY env var (CI / headless / LLM mode)
8
8
  * 2. Stored credentials from ~/.foir/credentials.json (interactive)
9
+ * Project context is read from .foir/project.json in the current repo.
9
10
  */
10
11
  export async function createClient(options) {
11
12
  const apiUrl = getApiUrl(options);
@@ -28,9 +29,10 @@ export async function createClient(options) {
28
29
  throw new Error('Session expired. Run `foir login` to re-authenticate.');
29
30
  }
30
31
  headers['Authorization'] = `Bearer ${credentials.accessToken}`;
31
- if (credentials.selectedProject) {
32
- headers['x-tenant-id'] = credentials.selectedProject.tenantId;
33
- headers['x-project-id'] = credentials.selectedProject.id;
32
+ const project = await getProjectContext();
33
+ if (project) {
34
+ headers['x-tenant-id'] = project.tenantId;
35
+ headers['x-project-id'] = project.id;
34
36
  }
35
37
  return new GraphQLClient(endpoint, { headers });
36
38
  }
@@ -53,9 +55,10 @@ export async function getRestAuth(options) {
53
55
  throw new Error('Session expired. Run `foir login` to re-authenticate.');
54
56
  }
55
57
  headers['Authorization'] = `Bearer ${credentials.accessToken}`;
56
- if (credentials.selectedProject) {
57
- headers['x-tenant-id'] = credentials.selectedProject.tenantId;
58
- headers['x-project-id'] = credentials.selectedProject.id;
58
+ const project = await getProjectContext();
59
+ if (project) {
60
+ headers['x-tenant-id'] = project.tenantId;
61
+ headers['x-project-id'] = project.id;
59
62
  }
60
63
  return { apiUrl, headers };
61
64
  }
@@ -1,4 +1,4 @@
1
- const DEFAULT_API_URL = 'https://api.eide.app';
1
+ const DEFAULT_API_URL = 'https://api.foir.dev';
2
2
  export function getApiUrl(options) {
3
3
  return process.env.FOIR_API_URL ?? options?.apiUrl ?? DEFAULT_API_URL;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAejD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,EAClD,MAAM,EAAE,MAAM,aAAa,GAAG,SAAS,EACvC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAChC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAoE/B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAkBjD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,EAClD,MAAM,EAAE,MAAM,aAAa,GAAG,SAAS,EACvC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAChC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAiF/B"}
@@ -15,16 +15,27 @@ export function withErrorHandler(optsFn, fn) {
15
15
  if (gqlErrors && gqlErrors.length > 0) {
16
16
  const first = gqlErrors[0];
17
17
  const code = first.extensions?.code;
18
+ const validationErrors = first.extensions?.validationErrors;
18
19
  if (opts?.json || opts?.jsonl) {
19
20
  console.error(JSON.stringify({
20
21
  error: {
21
22
  message: first.message,
22
23
  code: code ?? 'GRAPHQL_ERROR',
24
+ ...(validationErrors ? { validationErrors } : {}),
23
25
  },
24
26
  }));
25
27
  }
26
28
  else {
27
29
  console.error(chalk.red('Error:'), first.message);
30
+ if (validationErrors && Object.keys(validationErrors).length > 0) {
31
+ console.error('');
32
+ console.error(chalk.yellow('Field errors:'));
33
+ for (const [field, messages] of Object.entries(validationErrors)) {
34
+ for (const msg of messages) {
35
+ console.error(chalk.gray(` • ${field}:`), msg);
36
+ }
37
+ }
38
+ }
28
39
  if (code === 'UNAUTHENTICATED') {
29
40
  console.error(chalk.gray('Hint: Run `foir login` to authenticate.'));
30
41
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eide/foir-cli",
3
- "version": "0.1.22",
3
+ "version": "0.1.24",
4
4
  "description": "Universal platform CLI for EIDE — scriptable, composable resource management",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -23,6 +23,23 @@
23
23
  "dist",
24
24
  "README.md"
25
25
  ],
26
+ "scripts": {
27
+ "build": "tsc",
28
+ "dev:cli": "tsx src/cli.ts",
29
+ "check-types": "tsc --noEmit",
30
+ "lint": "eslint src/",
31
+ "lint:fix": "eslint src/ --fix",
32
+ "test": "vitest run",
33
+ "test:watch": "vitest watch",
34
+ "codegen": "graphql-codegen --config codegen.ts",
35
+ "codegen:watch": "graphql-codegen --config codegen.ts --watch",
36
+ "prepublishOnly": "npm run build",
37
+ "patch": "npm run build &&npm version patch",
38
+ "minor": "npm run build &&npm version minor",
39
+ "major": "npm run build &&npm version major",
40
+ "publish": "npm run build && npm publish",
41
+ "release": "npm run build &&npm version patch && npm publish"
42
+ },
26
43
  "keywords": [
27
44
  "foir",
28
45
  "eide",
@@ -38,6 +55,7 @@
38
55
  "chalk": "^5.3.0",
39
56
  "commander": "^12.1.0",
40
57
  "dotenv": "^16.4.5",
58
+ "graphql": "^16.9.0",
41
59
  "graphql-request": "^7.1.2",
42
60
  "inquirer": "^9.2.12",
43
61
  "open": "^10.1.0",
@@ -45,21 +63,25 @@
45
63
  "prettier": "^3.4.2"
46
64
  },
47
65
  "devDependencies": {
66
+ "@graphql-codegen/cli": "^5.0.3",
67
+ "@graphql-codegen/typed-document-node": "^5.0.12",
68
+ "@graphql-codegen/typescript": "^4.1.2",
69
+ "@graphql-codegen/typescript-operations": "^4.4.0",
70
+ "@graphql-typed-document-node/core": "^3.2.0",
48
71
  "@types/inquirer": "^9.0.7",
49
72
  "@types/node": "^22.5.0",
73
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
74
+ "@typescript-eslint/parser": "^8.0.0",
75
+ "eslint": "^9.0.0",
50
76
  "tsx": "^4.20.0",
51
77
  "typescript": "5.9.2",
52
- "vitest": "^3.2.4",
53
- "@foir/config": "0.0.1"
78
+ "vitest": "^3.2.4"
54
79
  },
55
80
  "engines": {
56
81
  "node": ">=18.0.0"
57
82
  },
58
- "scripts": {
59
- "build": "tsc",
60
- "dev:cli": "tsx src/cli.ts",
61
- "check-types": "tsc --noEmit",
62
- "test": "vitest run",
63
- "test:watch": "vitest watch"
83
+ "repository": {
84
+ "type": "git",
85
+ "url": "https://github.com/eidebuild/foir-cli.git"
64
86
  }
65
- }
87
+ }
@@ -1,115 +0,0 @@
1
- export declare const GET_SESSION_CONTEXT = "\n query { sessionContext { tenantId projectId availableTenants { id name } availableProjects { id name tenantId } } }\n";
2
- export declare const LIST_API_KEYS = "\n query($includeInactive: Boolean, $search: String, $limit: Int, $offset: Int) {\n listApiKeys(includeInactive: $includeInactive, search: $search, limit: $limit, offset: $offset) {\n apiKeys { id name keyPrefix keyType isActive lastUsedAt usageCount expiresAt scopes createdAt revokedAt rotatedAt }\n total\n }\n }\n";
3
- export declare const GET_API_KEY = "\n query($id: ID!) { getApiKey(id: $id) { id name keyPrefix keyType isActive lastUsedAt lastUsedIp usageCount expiresAt scopes allowedModels allowedFileTypes metadata createdBy createdAt updatedAt revokedAt rotatedAt } }\n";
4
- export declare const CREATE_API_KEY = "\n mutation($input: CreateApiKeyInput!) { createApiKey(input: $input) { apiKey { id name keyPrefix isActive scopes createdAt } plainKey warning } }\n";
5
- export declare const ROTATE_API_KEY = "\n mutation($id: ID!) { rotateApiKey(id: $id) { apiKey { id name keyPrefix rotatedAt } plainKey warning } }\n";
6
- export declare const REVOKE_API_KEY = "\n mutation($id: ID!) { revokeApiKey(id: $id) { id name isActive revokedAt } }\n";
7
- export declare const LIST_AUTH_PROVIDERS = "\n query($enabledOnly: Boolean) {\n customerAuthProviders(enabledOnly: $enabledOnly) {\n id key name type enabled isDefault priority createdAt updatedAt\n }\n }\n";
8
- export declare const GET_AUTH_PROVIDER = "\n query($id: ID!) {\n customerAuthProvider(id: $id) {\n id key name type configDisplay enabled isDefault priority\n verifyExternalCustomer captureMetadata createdAt updatedAt createdBy updatedBy\n }\n }\n";
9
- export declare const CREATE_AUTH_PROVIDER = "\n mutation($input: CreateAuthProviderInput!) {\n createCustomerAuthProvider(input: $input) {\n id key name type enabled isDefault priority createdAt\n }\n }\n";
10
- export declare const UPDATE_AUTH_PROVIDER = "\n mutation($id: ID!, $input: UpdateAuthProviderInput!) {\n updateCustomerAuthProvider(id: $id, input: $input) {\n id key name type enabled isDefault priority updatedAt\n }\n }\n";
11
- export declare const DELETE_AUTH_PROVIDER = "\n mutation($id: ID!) { deleteCustomerAuthProvider(id: $id) }\n";
12
- export declare const RECORD = "\n query($id: ID!) { record(id: $id) { id modelKey naturalKey data metadata publishedVersionNumber publishedAt versionNumber changeDescription createdAt updatedAt } }\n";
13
- export declare const RECORD_RESOLVED = "\n query($id: ID!, $locale: String, $preview: Boolean) {\n record(id: $id) {\n id modelKey naturalKey data metadata publishedVersionNumber publishedAt versionNumber changeDescription createdAt updatedAt\n resolved(locale: $locale, preview: $preview) {\n content\n record { id modelKey naturalKey }\n variant { id variantKey }\n version { id versionNumber }\n }\n }\n }\n";
14
- export declare const RECORD_BY_KEY = "\n query($modelKey: String!, $naturalKey: String!) { recordByKey(modelKey: $modelKey, naturalKey: $naturalKey) { id modelKey naturalKey data metadata publishedVersionNumber publishedAt versionNumber changeDescription createdAt updatedAt } }\n";
15
- export declare const RECORD_BY_KEY_RESOLVED = "\n query($modelKey: String!, $naturalKey: String!, $locale: String, $preview: Boolean) {\n recordByKey(modelKey: $modelKey, naturalKey: $naturalKey) {\n id modelKey naturalKey data metadata publishedVersionNumber publishedAt versionNumber changeDescription createdAt updatedAt\n resolved(locale: $locale, preview: $preview) {\n content\n record { id modelKey naturalKey }\n variant { id variantKey }\n version { id versionNumber }\n }\n }\n }\n";
16
- export declare const RECORDS = "\n query($modelKey: String!, $limit: Int, $offset: Int, $filters: [FilterInput!], $sort: SortInput) {\n records(modelKey: $modelKey, limit: $limit, offset: $offset, filters: $filters, sort: $sort) {\n items { id modelKey naturalKey versionNumber createdAt updatedAt }\n total\n }\n }\n";
17
- export declare const CREATE_RECORD = "\n mutation($input: CreateRecordInput!) { createRecord(input: $input) { record { id modelKey naturalKey data metadata createdAt } } }\n";
18
- export declare const UPDATE_RECORD = "\n mutation($input: UpdateRecordInput!) { updateRecord(input: $input) { record { id modelKey naturalKey data metadata updatedAt } matched } }\n";
19
- export declare const DELETE_RECORD = "\n mutation($id: ID!) { deleteRecord(id: $id) { id modelKey naturalKey } }\n";
20
- export declare const PUBLISH_VERSION = "\n mutation($versionId: ID!) { publishVersion(versionId: $versionId) }\n";
21
- export declare const UNPUBLISH_RECORD = "\n mutation($id: ID!) { unpublishRecord(id: $id) }\n";
22
- export declare const DUPLICATE_RECORD = "\n mutation($input: DuplicateRecordInput!) { duplicateRecord(input: $input) { record { id modelKey naturalKey } variant { id variantKey } version { id versionNumber } } }\n";
23
- export declare const CREATE_VERSION = "\n mutation($input: CreateVersionInput!) { createVersion(input: $input) { id modelKey recordType parentId data metadata versionNumber contentHash changeDescription publishStatus createdAt } }\n";
24
- export declare const CREATE_VARIANT = "\n mutation($input: CreateVariantInput!) { createVariant(input: $input) { id modelKey recordType parentId variantKey variantName isDefault priority createdAt } }\n";
25
- export declare const RECORD_VERSIONS = "\n query($parentId: ID!, $limit: Int, $offset: Int) { recordVersions(parentId: $parentId, limit: $limit, offset: $offset) { items { id versionNumber data changeDescription createdAt } } }\n";
26
- export declare const RECORD_VARIANTS = "\n query($recordId: ID!, $limit: Int, $offset: Int) { recordVariants(recordId: $recordId, limit: $limit, offset: $offset) { items { id variantKey variantName isDefault priority createdAt } } }\n";
27
- export declare const MODELS_FOR_CODEGEN = "\n query($limit: Int) {\n models(limit: $limit) {\n items { id key name pluralName description category fields config hooks }\n total\n }\n }\n";
28
- export declare const MODEL_BY_KEY = "\n query($key: String!) { modelByKey(key: $key) { id key name pluralName description category icon fields config hooks displayField extensionId systemEntity deletable editable currentVersionId publishedVersionNumber createdAt updatedAt } }\n";
29
- export declare const MODELS = "\n query($search: String, $category: String, $limit: Int, $offset: Int) {\n models(search: $search, category: $category, limit: $limit, offset: $offset) {\n items { id key name category config systemEntity createdAt updatedAt }\n total\n }\n }\n";
30
- export declare const CREATE_MODEL = "\n mutation($input: CreateModelInput!) { createModel(input: $input) { id key name fields config createdAt } }\n";
31
- export declare const UPDATE_MODEL = "\n mutation($input: UpdateModelInput!) { updateModel(input: $input) { id key name fields config updatedAt } }\n";
32
- export declare const DELETE_MODEL = "\n mutation($id: ID!) { deleteModel(id: $id) }\n";
33
- export declare const MODEL_VERSIONS = "\n query($modelId: ID!, $limit: Int, $offset: Int) { modelVersions(modelId: $modelId, limit: $limit, offset: $offset) { items { id modelId versionNumber contentHash changeDescription createdAt createdBy } } }\n";
34
- export declare const GLOBAL_SEARCH = "\n query($query: String!, $limit: Int, $modelKeys: [String!], $includeMedia: Boolean) {\n globalSearch(query: $query, limit: $limit, modelKeys: $modelKeys, includeMedia: $includeMedia) {\n records { id modelKey title naturalKey subtitle modelName updatedAt }\n media { id fileName altText fileUrl }\n }\n }\n";
35
- export declare const CUSTOMER_PROFILE_SCHEMA = "\n query { customerProfileSchema { id fields { id key label type required helpText placeholder defaultValue config validation { rule value message } isTranslatable } publicFields version createdAt updatedAt updatedBy } }\n";
36
- export declare const UPDATE_CUSTOMER_PROFILE_SCHEMA = "\n mutation($fields: [FieldDefinitionInput!]!, $publicFields: [String!]) { updateCustomerProfileSchema(fields: $fields, publicFields: $publicFields) { id fields { id key label type required helpText placeholder defaultValue config validation { rule value message } isTranslatable } publicFields version createdAt updatedAt } }\n";
37
- export declare const CUSTOMER_PROFILE = "\n query($customerId: ID!) { customerProfile(customerId: $customerId) { id customerId data schemaVersionNumber createdAt updatedAt createdBy updatedBy } }\n";
38
- export declare const SET_CUSTOMER_PROFILE = "\n mutation($customerId: ID!, $data: JSON!) { setCustomerProfile(customerId: $customerId, data: $data) { id customerId data schemaVersionNumber createdAt updatedAt } }\n";
39
- export declare const CUSTOMERS = "\n query($status: CustomerStatus, $search: String, $filters: [FilterInput!], $limit: Int, $offset: Int) {\n customers(status: $status, search: $search, filters: $filters, limit: $limit, offset: $offset) {\n customers { id email status lastLoginAt createdAt updatedAt }\n total\n }\n }\n";
40
- export declare const CUSTOMER = "\n query($id: ID!) { customer(id: $id) { id email status lastLoginAt createdAt updatedAt } }\n";
41
- export declare const CUSTOMER_BY_EMAIL = "\n query($email: String!) { customerByEmail(email: $email) { id email status lastLoginAt createdAt updatedAt } }\n";
42
- export declare const CREATE_CUSTOMER = "\n mutation($input: CreateCustomerInput!) { createCustomer(input: $input) { id email status createdAt } }\n";
43
- export declare const DELETE_CUSTOMER = "\n mutation($id: ID!) { deleteCustomer(id: $id) { success deletedAt } }\n";
44
- export declare const SEGMENTS = "\n query($isActive: Boolean, $limit: Int, $offset: Int) { segments(isActive: $isActive, limit: $limit, offset: $offset) { id key name description evaluationMode memberCount isActive createdAt updatedAt } }\n";
45
- export declare const SEGMENT = "\n query($id: ID!) { segment(id: $id) { id key name description rules evaluationMode manualMemberIds manualMemberMode memberCount memberCountUpdatedAt isActive createdAt updatedAt } }\n";
46
- export declare const SEGMENT_BY_KEY = "\n query($key: String!) { segmentByKey(key: $key) { id key name description rules evaluationMode manualMemberIds manualMemberMode memberCount memberCountUpdatedAt isActive createdAt updatedAt } }\n";
47
- export declare const CREATE_SEGMENT = "\n mutation($input: CreateSegmentInput!) { createSegment(input: $input) { id key name isActive createdAt } }\n";
48
- export declare const UPDATE_SEGMENT = "\n mutation($id: ID!, $input: UpdateSegmentInput!) { updateSegment(id: $id, input: $input) { id key name isActive updatedAt } }\n";
49
- export declare const DELETE_SEGMENT = "\n mutation($id: ID!) { deleteSegment(id: $id) }\n";
50
- export declare const PREVIEW_SEGMENT_RULES = "\n query($rules: JSON!, $sampleSize: Int) { previewSegmentRules(rules: $rules, sampleSize: $sampleSize) { estimatedCount sampleCustomerIds sampleSize } }\n";
51
- export declare const TEST_SEGMENT_EVALUATION = "\n query($segmentId: ID!, $customerId: ID!) { testSegmentEvaluation(segmentId: $segmentId, customerId: $customerId) { matches segmentId customerId } }\n";
52
- export declare const EXPERIMENTS = "\n query($status: String, $isActive: Boolean, $limit: Int, $offset: Int) { experiments(status: $status, isActive: $isActive, limit: $limit, offset: $offset) { id key name description status controlPercent isActive startDate endDate createdAt updatedAt } }\n";
53
- export declare const EXPERIMENT = "\n query($id: ID!) { experiment(id: $id) { id key name description status targeting controlPercent variants assignmentPersistence mutuallyExclusive exclusionGroupKey startDate endDate metrics goals { id key name isPrimary } funnel { steps { key name order } } isActive createdAt updatedAt } }\n";
54
- export declare const EXPERIMENT_BY_KEY = "\n query($key: String!) { experimentByKey(key: $key) { id key name description status targeting controlPercent variants assignmentPersistence mutuallyExclusive exclusionGroupKey startDate endDate metrics goals { id key name isPrimary } funnel { steps { key name order } } isActive createdAt updatedAt } }\n";
55
- export declare const CREATE_EXPERIMENT = "\n mutation($input: CreateExperimentInput!) { createExperiment(input: $input) { id key name status isActive createdAt } }\n";
56
- export declare const UPDATE_EXPERIMENT = "\n mutation($id: ID!, $input: UpdateExperimentInput!) { updateExperiment(id: $id, input: $input) { id key name status isActive updatedAt } }\n";
57
- export declare const DELETE_EXPERIMENT = "\n mutation($id: ID!) { deleteExperiment(id: $id) }\n";
58
- export declare const START_EXPERIMENT = "\n mutation($experimentId: ID!) { startExperiment(experimentId: $experimentId) { id key name status } }\n";
59
- export declare const PAUSE_EXPERIMENT = "\n mutation($experimentId: ID!) { pauseExperiment(experimentId: $experimentId) { id key name status } }\n";
60
- export declare const RESUME_EXPERIMENT = "\n mutation($experimentId: ID!) { resumeExperiment(experimentId: $experimentId) { id key name status } }\n";
61
- export declare const END_EXPERIMENT = "\n mutation($experimentId: ID!) { endExperiment(experimentId: $experimentId) { id key name status } }\n";
62
- export declare const EXPERIMENT_STATS = "\n query($experimentId: ID!) { experimentStats(experimentId: $experimentId) { totalAssignments variantAssignments { variantKey variantName count percentage } updatedAt } }\n";
63
- export declare const ALL_SETTINGS = "\n query { allSettings { id key value category displayName description dataType isPublic isEncrypted createdAt updatedAt } }\n";
64
- export declare const SETTINGS_BY_CATEGORY = "\n query($category: String!) { settingsByCategory(category: $category) { id key value category displayName description dataType isPublic isEncrypted createdAt updatedAt } }\n";
65
- export declare const SETTING = "\n query($key: String!) { setting(key: $key) { id key value category displayName description dataType isPublic isEncrypted createdAt updatedAt } }\n";
66
- export declare const SET_SETTING = "\n mutation($input: SetSettingInput!) { setSetting(input: $input) { id key value category dataType updatedAt } }\n";
67
- export declare const DELETE_SETTING = "\n mutation($key: String!) { deleteSetting(key: $key) }\n";
68
- export declare const EXTENSIONS = "\n query($extensionType: String, $enabled: Boolean, $limit: Int, $offset: Int) { extensions(extensionType: $extensionType, enabled: $enabled, limit: $limit, offset: $offset) { id key extensionType direction name description enabled syncStatus createdAt updatedAt } }\n";
69
- export declare const EXTENSION = "\n query($id: ID!) { extension(id: $id) { id key extensionType direction name description connectionDomain connectionId enabled environment syncStatus syncMetadata features config webhooks createdAt updatedAt } }\n";
70
- export declare const EXTENSION_BY_KEY = "\n query($key: String!) { extensionByKey(key: $key) { id key extensionType direction name description connectionDomain connectionId enabled environment syncStatus syncMetadata features config webhooks createdAt updatedAt } }\n";
71
- export declare const REGISTER_EXTENSION = "\n mutation($input: RegisterExtensionInput!) { registerExtension(input: $input) { id key name extensionType enabled createdAt } }\n";
72
- export declare const TRIGGER_EXTENSION_SYNC = "\n mutation($extensionId: ID!) { triggerExtensionSync(extensionId: $extensionId) { success error results } }\n";
73
- export declare const OPERATIONS = "\n query($category: String, $isActive: Boolean, $limit: Int, $offset: Int) { operations(category: $category, isActive: $isActive, limit: $limit, offset: $offset) { id key name description category endpoint isActive rateLimitWeight createdAt updatedAt } }\n";
74
- export declare const OPERATION = "\n query($key: String!) { operation(key: $key) { id key name description icon category endpoint endpointAuth timeoutMs retryPolicy models inputSchema outputSchema ui isActive allowedRoles rateLimitWeight createdAt updatedAt circuitState { endpoint state consecutiveFailures lastFailureTime } } }\n";
75
- export declare const EXECUTE_OPERATION = "\n mutation($input: ExecuteOperationInput!) { executeOperation(input: $input) { success result error { code message } executionId durationMs metadata } }\n";
76
- export declare const OPERATION_EXECUTION_STATS = "\n query($operationKey: String!) { operationExecutionStats(operationKey: $operationKey) { totalExecutions successCount failureCount avgDurationMs lastExecutedAt } }\n";
77
- export declare const DEAD_LETTER_OPERATIONS = "\n query($operationKey: String, $status: DeadLetterStatus, $limit: Int, $offset: Int) {\n deadLetterOperations(operationKey: $operationKey, status: $status, limit: $limit, offset: $offset) {\n items { id operationKey executionId attempts lastError errorCode status failedAt createdAt }\n total\n }\n }\n";
78
- export declare const RETRY_DEAD_LETTER = "\n mutation($id: ID!) { retryDeadLetterOperation(id: $id) { success result error { code message } executionId durationMs } }\n";
79
- export declare const DISMISS_DEAD_LETTER = "\n mutation($id: ID!) { dismissDeadLetterOperation(id: $id) { id status dismissedAt } }\n";
80
- export declare const SCHEDULES = "\n query($isActive: Boolean, $limit: Int, $offset: Int) {\n schedules(isActive: $isActive, limit: $limit, offset: $offset) {\n items { id key name cron cronDescription timezone isActive lastRunAt lastRunStatus nextRunAt runCount failureCount createdAt }\n total\n }\n }\n";
81
- export declare const SCHEDULE = "\n query($key: String!) { schedule(key: $key) { id key name description cron cronDescription timezone targetType targetConfig isActive pausedAt lastRunAt lastRunStatus lastRunError nextRunAt runCount failureCount consecutiveFailures createdAt updatedAt } }\n";
82
- export declare const CREATE_SCHEDULE = "\n mutation($input: CreateScheduleInput!) { createSchedule(input: $input) { id key name cron isActive createdAt } }\n";
83
- export declare const UPDATE_SCHEDULE = "\n mutation($key: String!, $input: UpdateScheduleInput!) { updateSchedule(key: $key, input: $input) { id key name cron isActive updatedAt } }\n";
84
- export declare const DELETE_SCHEDULE = "\n mutation($key: String!) { deleteSchedule(key: $key) }\n";
85
- export declare const PAUSE_SCHEDULE = "\n mutation($key: String!) { pauseSchedule(key: $key) { id key isActive pausedAt } }\n";
86
- export declare const RESUME_SCHEDULE = "\n mutation($key: String!) { resumeSchedule(key: $key) { id key isActive } }\n";
87
- export declare const TRIGGER_SCHEDULE = "\n mutation($key: String!) { triggerSchedule(key: $key) { success jobId error } }\n";
88
- export declare const NOTIFICATIONS = "\n query($unreadOnly: Boolean, $limit: Int, $offset: Int) {\n notifications(unreadOnly: $unreadOnly, limit: $limit, offset: $offset) {\n items { id type title message isRead actionUrl createdAt }\n total\n unreadCount\n hasMore\n }\n }\n";
89
- export declare const MARK_NOTIFICATION_READ = "\n mutation($id: ID!) { markNotificationRead(id: $id) { id isRead readAt } }\n";
90
- export declare const MARK_ALL_NOTIFICATIONS_READ = "\n mutation { markAllNotificationsRead }\n";
91
- export declare const LOCALES = "\n query($includeInactive: Boolean, $limit: Int, $offset: Int) { locales(includeInactive: $includeInactive, limit: $limit, offset: $offset) { id code name nativeName isDefault isActive direction fallbackLocaleId createdAt updatedAt } }\n";
92
- export declare const LOCALE = "\n query($id: ID!) { locale(id: $id) { id code name nativeName isDefault isActive direction fallbackLocaleId createdAt updatedAt } }\n";
93
- export declare const LOCALE_BY_CODE = "\n query($code: String!) { localeByCode(code: $code) { id code name nativeName isDefault isActive direction fallbackLocaleId createdAt updatedAt } }\n";
94
- export declare const DEFAULT_LOCALE = "\n query { defaultLocale { id code name nativeName isDefault isActive direction createdAt } }\n";
95
- export declare const CREATE_LOCALE = "\n mutation($input: CreateLocaleInput!) { createLocale(input: $input) { id code name isDefault isActive createdAt } }\n";
96
- export declare const UPDATE_LOCALE = "\n mutation($id: ID!, $input: UpdateLocaleInput!) { updateLocale(id: $id, input: $input) { id code name isDefault isActive updatedAt } }\n";
97
- export declare const DELETE_LOCALE = "\n mutation($id: ID!) { deleteLocale(id: $id) }\n";
98
- export declare const FILES = "\n query($folder: String, $mimeType: String, $status: FileStatus, $search: String, $limit: Int, $offset: Int) {\n files(folder: $folder, mimeType: $mimeType, status: $status, search: $search, limit: $limit, offset: $offset) {\n items { id filename mimeType size folder fileUrl status tags createdAt updatedAt }\n total\n }\n }\n";
99
- export declare const FILE = "\n query($id: ID!) { file(id: $id) { id filename mimeType size folder fileUrl storageKey status tags metadata altText caption description createdAt updatedAt } }\n";
100
- export declare const FILE_STORAGE_USAGE = "\n query { fileStorageUsage { totalFiles totalSize usedStorage storageLimit } }\n";
101
- export declare const UPDATE_FILE = "\n mutation($id: ID!, $filename: String, $folder: String, $tags: [String!], $status: FileStatus, $metadata: JSON) { updateFile(id: $id, filename: $filename, folder: $folder, tags: $tags, status: $status, metadata: $metadata) { id filename folder tags status updatedAt } }\n";
102
- export declare const UPDATE_FILE_METADATA = "\n mutation($id: ID!, $altText: String, $caption: String, $description: String) { updateFileMetadata(id: $id, altText: $altText, caption: $caption, description: $description) { id altText caption description updatedAt } }\n";
103
- export declare const DELETE_FILE = "\n mutation($id: ID!) { deleteFile(id: $id) }\n";
104
- export declare const NOTES = "\n query($entityType: String!, $entityId: ID!, $includeResolved: Boolean, $limit: Int, $offset: Int) {\n notes(entityType: $entityType, entityId: $entityId, includeResolved: $includeResolved, limit: $limit, offset: $offset) {\n items { id body entityType entityId authorId isResolved resolvedAt resolvedBy parentNoteId createdAt updatedAt }\n total\n }\n }\n";
105
- export declare const NOTE = "\n query($id: ID!) { note(id: $id) { id body entityType entityId authorId isResolved resolvedAt resolvedBy parentNoteId mentions { id userId status } createdAt updatedAt } }\n";
106
- export declare const CREATE_NOTE = "\n mutation($input: CreateNoteInput!) { createNote(input: $input) { id body entityType entityId authorId createdAt } }\n";
107
- export declare const RESOLVE_NOTE = "\n mutation($input: ResolveNoteInput!) { resolveNote(input: $input) { id isResolved resolvedAt resolvedBy } }\n";
108
- export declare const DELETE_NOTE = "\n mutation($noteId: ID!) { deleteNote(noteId: $noteId) }\n";
109
- export declare const VARIANT_CATALOG = "\n query($isActive: Boolean, $limit: Int, $offset: Int) { variantCatalog(isActive: $isActive, limit: $limit, offset: $offset) { id key name description dimensions isDefault isActive createdAt updatedAt } }\n";
110
- export declare const VARIANT_CATALOG_ENTRY = "\n query($id: ID!) { variantCatalogEntry(id: $id) { id key name description dimensions isDefault isActive createdAt updatedAt } }\n";
111
- export declare const VARIANT_CATALOG_ENTRY_BY_KEY = "\n query($key: String!) { variantCatalogEntryByKey(key: $key) { id key name description dimensions isDefault isActive createdAt updatedAt } }\n";
112
- export declare const CREATE_VARIANT_CATALOG_ENTRY = "\n mutation($input: CreateVariantCatalogInput!) { createVariantCatalogEntry(input: $input) { id key name isDefault isActive createdAt } }\n";
113
- export declare const UPDATE_VARIANT_CATALOG_ENTRY = "\n mutation($id: ID!, $input: UpdateVariantCatalogInput!) { updateVariantCatalogEntry(id: $id, input: $input) { id key name isDefault isActive updatedAt } }\n";
114
- export declare const DELETE_VARIANT_CATALOG_ENTRY = "\n mutation($id: ID!) { deleteVariantCatalogEntry(id: $id) }\n";
115
- //# sourceMappingURL=queries.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/graphql/queries.ts"],"names":[],"mappings":"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"}