@epilot/sdk 2.0.3 → 2.0.4

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 (202) hide show
  1. package/definitions/access-token-runtime.json +1 -0
  2. package/definitions/access-token.json +663 -0
  3. package/definitions/address-runtime.json +1 -0
  4. package/definitions/address-suggestions-runtime.json +1 -0
  5. package/definitions/address-suggestions.json +582 -0
  6. package/definitions/address.json +578 -0
  7. package/definitions/ai-agents-runtime.json +1 -0
  8. package/definitions/ai-agents.json +1711 -0
  9. package/definitions/app-runtime.json +1 -0
  10. package/definitions/app.json +4443 -0
  11. package/definitions/audit-logs-runtime.json +1 -0
  12. package/definitions/audit-logs.json +305 -0
  13. package/definitions/automation-runtime.json +1 -0
  14. package/definitions/automation.json +4850 -0
  15. package/definitions/billing-runtime.json +1 -0
  16. package/definitions/billing.json +837 -0
  17. package/definitions/blueprint-manifest-runtime.json +1 -0
  18. package/definitions/blueprint-manifest.json +3376 -0
  19. package/definitions/consent-runtime.json +1 -0
  20. package/definitions/consent.json +344 -0
  21. package/definitions/customer-portal-runtime.json +1 -0
  22. package/definitions/customer-portal.json +15000 -0
  23. package/definitions/dashboard-runtime.json +1 -0
  24. package/definitions/dashboard.json +484 -0
  25. package/definitions/data-management-runtime.json +1 -0
  26. package/definitions/data-management.json +962 -0
  27. package/definitions/deduplication-runtime.json +1 -0
  28. package/definitions/deduplication.json +183 -0
  29. package/definitions/design-runtime.json +1 -0
  30. package/definitions/design.json +1423 -0
  31. package/definitions/document-runtime.json +1 -0
  32. package/definitions/document.json +758 -0
  33. package/definitions/email-settings-runtime.json +1 -0
  34. package/definitions/email-settings.json +2627 -0
  35. package/definitions/email-template-runtime.json +1 -0
  36. package/definitions/email-template.json +1419 -0
  37. package/definitions/entity-mapping-runtime.json +1 -0
  38. package/definitions/entity-mapping.json +1642 -0
  39. package/definitions/entity-runtime.json +1 -0
  40. package/definitions/entity.json +10074 -0
  41. package/definitions/environments-runtime.json +1 -0
  42. package/definitions/environments.json +363 -0
  43. package/definitions/erp-integration-runtime.json +1 -0
  44. package/definitions/erp-integration.json +5845 -0
  45. package/definitions/event-catalog-runtime.json +1 -0
  46. package/definitions/event-catalog.json +1051 -0
  47. package/definitions/file-runtime.json +1 -0
  48. package/definitions/file.json +2842 -0
  49. package/definitions/iban-runtime.json +1 -0
  50. package/definitions/iban.json +132 -0
  51. package/definitions/journey-runtime.json +1 -0
  52. package/definitions/journey.json +2341 -0
  53. package/definitions/kanban-runtime.json +1 -0
  54. package/definitions/kanban.json +929 -0
  55. package/definitions/message-runtime.json +1 -0
  56. package/definitions/message.json +2660 -0
  57. package/definitions/metering-runtime.json +1 -0
  58. package/definitions/metering.json +2321 -0
  59. package/definitions/notes-runtime.json +1 -0
  60. package/definitions/notes.json +1531 -0
  61. package/definitions/notification-runtime.json +1 -0
  62. package/definitions/notification.json +1425 -0
  63. package/definitions/organization-runtime.json +1 -0
  64. package/definitions/organization.json +629 -0
  65. package/definitions/partner-directory-runtime.json +1 -0
  66. package/definitions/partner-directory.json +1718 -0
  67. package/definitions/permissions-runtime.json +1 -0
  68. package/definitions/permissions.json +1480 -0
  69. package/definitions/pricing-runtime.json +1 -0
  70. package/definitions/pricing-tier-runtime.json +1 -0
  71. package/definitions/pricing-tier.json +105 -0
  72. package/definitions/pricing.json +9884 -0
  73. package/definitions/purpose-runtime.json +1 -0
  74. package/definitions/purpose.json +524 -0
  75. package/definitions/sandbox-runtime.json +1 -0
  76. package/definitions/sandbox.json +453 -0
  77. package/definitions/submission-runtime.json +1 -0
  78. package/definitions/submission.json +313 -0
  79. package/definitions/targeting-runtime.json +1 -0
  80. package/definitions/targeting.json +1474 -0
  81. package/definitions/template-variables-runtime.json +1 -0
  82. package/definitions/template-variables.json +1408 -0
  83. package/definitions/user-runtime.json +1 -0
  84. package/definitions/user.json +2408 -0
  85. package/definitions/validation-rules-runtime.json +1 -0
  86. package/definitions/validation-rules.json +1491 -0
  87. package/definitions/webhooks-runtime.json +1 -0
  88. package/definitions/webhooks.json +1525 -0
  89. package/definitions/workflow-definition-runtime.json +1 -0
  90. package/definitions/workflow-definition.json +3417 -0
  91. package/definitions/workflow-runtime.json +1 -0
  92. package/definitions/workflow.json +4106 -0
  93. package/dist/apis/access-token.cjs +7 -7
  94. package/dist/apis/access-token.js +1 -1
  95. package/dist/apis/address-suggestions.cjs +7 -7
  96. package/dist/apis/address-suggestions.js +1 -1
  97. package/dist/apis/address.cjs +7 -7
  98. package/dist/apis/address.js +1 -1
  99. package/dist/apis/ai-agents.cjs +7 -7
  100. package/dist/apis/ai-agents.js +1 -1
  101. package/dist/apis/app.cjs +7 -7
  102. package/dist/apis/app.js +1 -1
  103. package/dist/apis/audit-logs.cjs +7 -7
  104. package/dist/apis/audit-logs.js +1 -1
  105. package/dist/apis/automation.cjs +7 -7
  106. package/dist/apis/automation.js +1 -1
  107. package/dist/apis/billing.cjs +7 -7
  108. package/dist/apis/billing.js +1 -1
  109. package/dist/apis/blueprint-manifest.cjs +7 -7
  110. package/dist/apis/blueprint-manifest.js +1 -1
  111. package/dist/apis/consent.cjs +7 -7
  112. package/dist/apis/consent.js +1 -1
  113. package/dist/apis/customer-portal.cjs +7 -7
  114. package/dist/apis/customer-portal.js +1 -1
  115. package/dist/apis/dashboard.cjs +7 -7
  116. package/dist/apis/dashboard.js +1 -1
  117. package/dist/apis/data-management.cjs +7 -7
  118. package/dist/apis/data-management.d.cts +2 -2
  119. package/dist/apis/data-management.d.ts +2 -2
  120. package/dist/apis/data-management.js +1 -1
  121. package/dist/apis/deduplication.cjs +7 -7
  122. package/dist/apis/deduplication.js +1 -1
  123. package/dist/apis/design.cjs +7 -7
  124. package/dist/apis/design.js +1 -1
  125. package/dist/apis/document.cjs +7 -7
  126. package/dist/apis/document.js +1 -1
  127. package/dist/apis/email-settings.cjs +7 -7
  128. package/dist/apis/email-settings.js +1 -1
  129. package/dist/apis/email-template.cjs +7 -7
  130. package/dist/apis/email-template.js +1 -1
  131. package/dist/apis/entity-mapping.cjs +7 -7
  132. package/dist/apis/entity-mapping.js +1 -1
  133. package/dist/apis/entity.cjs +8 -8
  134. package/dist/apis/entity.d.cts +2 -2
  135. package/dist/apis/entity.d.ts +2 -2
  136. package/dist/apis/entity.js +2 -2
  137. package/dist/apis/environments.cjs +7 -7
  138. package/dist/apis/environments.js +1 -1
  139. package/dist/apis/erp-integration.cjs +7 -7
  140. package/dist/apis/erp-integration.js +1 -1
  141. package/dist/apis/event-catalog.cjs +7 -7
  142. package/dist/apis/event-catalog.js +1 -1
  143. package/dist/apis/file.cjs +7 -7
  144. package/dist/apis/file.js +1 -1
  145. package/dist/apis/iban.cjs +7 -7
  146. package/dist/apis/iban.js +1 -1
  147. package/dist/apis/journey.cjs +7 -7
  148. package/dist/apis/journey.js +1 -1
  149. package/dist/apis/kanban.cjs +7 -7
  150. package/dist/apis/kanban.js +1 -1
  151. package/dist/apis/message.cjs +7 -7
  152. package/dist/apis/message.js +1 -1
  153. package/dist/apis/metering.cjs +7 -7
  154. package/dist/apis/metering.js +1 -1
  155. package/dist/apis/notes.cjs +7 -7
  156. package/dist/apis/notes.js +1 -1
  157. package/dist/apis/notification.cjs +7 -7
  158. package/dist/apis/notification.js +1 -1
  159. package/dist/apis/organization.cjs +7 -7
  160. package/dist/apis/organization.js +1 -1
  161. package/dist/apis/partner-directory.cjs +7 -7
  162. package/dist/apis/partner-directory.js +1 -1
  163. package/dist/apis/permissions.cjs +7 -7
  164. package/dist/apis/permissions.js +1 -1
  165. package/dist/apis/pricing-tier.cjs +7 -7
  166. package/dist/apis/pricing-tier.js +1 -1
  167. package/dist/apis/pricing.cjs +7 -7
  168. package/dist/apis/pricing.js +1 -1
  169. package/dist/apis/purpose.cjs +7 -7
  170. package/dist/apis/purpose.js +1 -1
  171. package/dist/apis/sandbox.cjs +7 -7
  172. package/dist/apis/sandbox.js +1 -1
  173. package/dist/apis/submission.cjs +7 -7
  174. package/dist/apis/submission.js +1 -1
  175. package/dist/apis/targeting.cjs +7 -7
  176. package/dist/apis/targeting.js +1 -1
  177. package/dist/apis/template-variables.cjs +7 -7
  178. package/dist/apis/template-variables.js +1 -1
  179. package/dist/apis/user.cjs +7 -7
  180. package/dist/apis/user.js +1 -1
  181. package/dist/apis/validation-rules.cjs +7 -7
  182. package/dist/apis/validation-rules.js +1 -1
  183. package/dist/apis/webhooks.cjs +7 -7
  184. package/dist/apis/webhooks.js +1 -1
  185. package/dist/apis/workflow-definition.cjs +7 -7
  186. package/dist/apis/workflow-definition.js +1 -1
  187. package/dist/apis/workflow.cjs +7 -7
  188. package/dist/apis/workflow.js +1 -1
  189. package/dist/bin/cli.js +123 -25
  190. package/dist/{chunk-QMQNMCOC.js → chunk-XE25WERA.js} +1 -1
  191. package/dist/{chunk-5LXNSDG2.cjs → chunk-XEQMAKGA.cjs} +1 -1
  192. package/dist/{data-management.d-pnuiRU2h.d.ts → data-management.d-CkDmJwpx.d.cts} +1 -2
  193. package/dist/{data-management.d-pnuiRU2h.d.cts → data-management.d-CkDmJwpx.d.ts} +1 -2
  194. package/dist/{entity.d-CrtZaZr8.d.cts → entity.d-DtiajmaY.d.cts} +292 -10
  195. package/dist/{entity.d-CrtZaZr8.d.ts → entity.d-DtiajmaY.d.ts} +292 -10
  196. package/dist/index.cjs +7 -7
  197. package/dist/index.d.cts +2 -2
  198. package/dist/index.d.ts +2 -2
  199. package/dist/index.js +1 -1
  200. package/dist/js-yaml-UPZKYVRY.js +2645 -0
  201. package/package.json +11 -10
  202. package/LICENSE +0 -21
package/dist/bin/cli.js CHANGED
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env node
2
- #!/usr/bin/env node
3
2
 
4
3
  // src/bin/cli.ts
5
4
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
@@ -21,6 +20,11 @@ Examples:
21
20
  npx epilot-sdk typegen
22
21
  `);
23
22
  };
23
+ var isYamlFile = (filePath) => filePath.endsWith(".yaml") || filePath.endsWith(".yml");
24
+ var parseYaml = async (content) => {
25
+ const { load } = await import("../js-yaml-UPZKYVRY.js");
26
+ return load(content);
27
+ };
24
28
  var readOverrides = () => {
25
29
  const filePath = resolve(process.cwd(), OVERRIDES_PATH);
26
30
  if (!existsSync(filePath)) return {};
@@ -42,6 +46,81 @@ var fetchSpec = async (specPath) => {
42
46
  if (!existsSync(absolutePath)) throw new Error(`Spec file not found: ${absolutePath}`);
43
47
  return readFileSync(absolutePath, "utf-8");
44
48
  };
49
+ var parseSpec = async (content, specPath) => {
50
+ if (isYamlFile(specPath)) {
51
+ return await parseYaml(content);
52
+ }
53
+ return JSON.parse(content);
54
+ };
55
+ var toKebabCase = (name) => name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
56
+ var compactifyParam = (p) => {
57
+ if (p.$ref) {
58
+ return [p.$ref.split("/").pop()];
59
+ }
60
+ const loc = { path: "p", query: "q", header: "h", cookie: "c" }[p.in] || "q";
61
+ const cp = [p.name, loc];
62
+ if (p.required) cp.push(true);
63
+ if (p.style) {
64
+ if (!p.required) cp.push(false);
65
+ cp.push(p.style);
66
+ }
67
+ if (p.explode !== void 0) {
68
+ cp.push(p.explode);
69
+ }
70
+ return cp;
71
+ };
72
+ var compactifySpec = (spec) => {
73
+ const server = spec.servers?.[0]?.url || "";
74
+ const openapiVersion = spec.openapi || "3.0.2";
75
+ const paths = spec.paths || {};
76
+ const ops = [];
77
+ const pathParams = {};
78
+ for (const [path, methods] of Object.entries(paths)) {
79
+ if (methods.parameters) {
80
+ pathParams[path] = methods.parameters.map(compactifyParam);
81
+ }
82
+ for (const [method, rawOp] of Object.entries(methods)) {
83
+ if (method === "parameters") continue;
84
+ const op = rawOp;
85
+ if (typeof op !== "object" || !op.operationId) continue;
86
+ const params = op.parameters || [];
87
+ const compactParams = params.map(compactifyParam);
88
+ const hasBody = op.requestBody ? 1 : 0;
89
+ const entry = [op.operationId, method, path];
90
+ if (compactParams.length > 0 || hasBody) entry.push(compactParams.length > 0 ? compactParams : void 0);
91
+ if (hasBody) entry.push(1);
92
+ ops.push(entry);
93
+ }
94
+ }
95
+ const componentParams = spec.components?.parameters;
96
+ const result = { s: server, o: ops };
97
+ if (openapiVersion !== "3.0.2") result.v = openapiVersion;
98
+ if (componentParams && Object.keys(componentParams).length > 0) {
99
+ const cpObj = {};
100
+ for (const [refName, p] of Object.entries(componentParams)) {
101
+ cpObj[refName] = compactifyParam(p);
102
+ }
103
+ result.cp = cpObj;
104
+ }
105
+ if (Object.keys(pathParams).length > 0) {
106
+ result.pp = pathParams;
107
+ }
108
+ return result;
109
+ };
110
+ var findSdkRoot = () => {
111
+ try {
112
+ let dir = process.cwd();
113
+ while (true) {
114
+ const candidate = resolve(dir, "node_modules/@epilot/sdk");
115
+ if (existsSync(candidate)) return candidate;
116
+ const parent = dirname(dir);
117
+ if (parent === dir) break;
118
+ dir = parent;
119
+ }
120
+ } catch {
121
+ }
122
+ return null;
123
+ };
45
124
  var overrideCmd = async (args) => {
46
125
  if (args.length === 2) {
47
126
  const [apiName, specPath] = args;
@@ -49,7 +128,7 @@ var overrideCmd = async (args) => {
49
128
  overrides2[apiName] = specPath;
50
129
  writeOverrides(overrides2);
51
130
  console.log(`Added override: ${apiName} -> ${specPath}`);
52
- console.log(`Run 'npx epilot-sdk typegen' to regenerate types.`);
131
+ console.log(`Run 'npx epilot-sdk override' to apply, then 'npx epilot-sdk typegen' to regenerate types.`);
53
132
  return;
54
133
  }
55
134
  const overrides = readOverrides();
@@ -59,19 +138,27 @@ var overrideCmd = async (args) => {
59
138
  console.log(`Create one with: npx epilot-sdk override <api-name> <spec-path>`);
60
139
  return;
61
140
  }
141
+ const sdkRoot = findSdkRoot();
142
+ if (!sdkRoot) {
143
+ console.error("Could not find @epilot/sdk in node_modules. Is it installed?");
144
+ process.exit(1);
145
+ }
146
+ const defsDir = resolve(sdkRoot, "definitions");
62
147
  console.log(`Applying ${entries.length} override(s)...`);
63
148
  for (const [apiName, specPath] of entries) {
64
149
  try {
65
- console.log(` ${apiName}: ${specPath}`);
66
- const spec = await fetchSpec(specPath);
67
- const overridesDir = resolve(process.cwd(), ".epilot/specs");
68
- mkdirSync(overridesDir, { recursive: true });
69
- const destPath = resolve(overridesDir, `${apiName}.json`);
70
- if (specPath.endsWith(".yaml") || specPath.endsWith(".yml")) {
71
- console.log(` Note: YAML specs should be converted to JSON. Saving as-is.`);
72
- }
73
- writeFileSync(destPath, spec);
74
- console.log(` -> .epilot/specs/${apiName}.json`);
150
+ const kebabName = toKebabCase(apiName);
151
+ console.log(` ${apiName} (${kebabName}): ${specPath}`);
152
+ const rawContent = await fetchSpec(specPath);
153
+ const spec = await parseSpec(rawContent, specPath);
154
+ const fullSpecDest = resolve(defsDir, `${kebabName}.json`);
155
+ writeFileSync(fullSpecDest, `${JSON.stringify(spec, null, 2)}
156
+ `);
157
+ console.log(` -> definitions/${kebabName}.json`);
158
+ const compactSpec = compactifySpec(spec);
159
+ const runtimeDest = resolve(defsDir, `${kebabName}-runtime.json`);
160
+ writeFileSync(runtimeDest, JSON.stringify(compactSpec));
161
+ console.log(` -> definitions/${kebabName}-runtime.json`);
75
162
  } catch (err) {
76
163
  console.error(` Error: ${err.message}`);
77
164
  }
@@ -82,28 +169,39 @@ Done. Run 'npx epilot-sdk typegen' to regenerate types.`);
82
169
  var typegenCmd = async () => {
83
170
  try {
84
171
  const { execSync } = await import("child_process");
85
- const specsDir = resolve(process.cwd(), ".epilot/specs");
86
- if (!existsSync(specsDir)) {
87
- console.log('No override specs found. Run "npx epilot-sdk override" first.');
172
+ const sdkRoot = findSdkRoot();
173
+ if (!sdkRoot) {
174
+ console.error("Could not find @epilot/sdk in node_modules. Is it installed?");
175
+ process.exit(1);
176
+ }
177
+ const overrides = readOverrides();
178
+ const entries = Object.entries(overrides);
179
+ if (entries.length === 0) {
180
+ console.log('No overrides found. Run "npx epilot-sdk override" first.');
88
181
  return;
89
182
  }
90
- const { readdirSync } = await import("fs");
91
- const specs = readdirSync(specsDir).filter((f) => f.endsWith(".json"));
92
- const typesDir = resolve(process.cwd(), ".epilot/types");
93
- mkdirSync(typesDir, { recursive: true });
94
- for (const spec of specs) {
95
- const apiName = spec.replace(".json", "");
96
- const specPath = resolve(specsDir, spec);
97
- const typesPath = resolve(typesDir, `${apiName}.d.ts`);
183
+ const defsDir = resolve(sdkRoot, "definitions");
184
+ const distDir = resolve(sdkRoot, "dist");
185
+ for (const [apiName] of entries) {
186
+ const kebabName = toKebabCase(apiName);
187
+ const specPath = resolve(defsDir, `${kebabName}.json`);
188
+ if (!existsSync(specPath)) {
189
+ console.error(` No spec found for ${apiName}. Run "npx epilot-sdk override" first.`);
190
+ continue;
191
+ }
98
192
  console.log(`Generating types for ${apiName}...`);
99
193
  try {
194
+ const typesPath = resolve(distDir, `apis/${kebabName}.d.ts`);
100
195
  execSync(`npx openapi-client-axios-typegen ${specPath} --client > ${typesPath}`, { stdio: "pipe" });
101
- console.log(` -> .epilot/types/${apiName}.d.ts`);
196
+ console.log(` -> dist/apis/${kebabName}.d.ts`);
197
+ const ctypesPath = resolve(distDir, `apis/${kebabName}.d.cts`);
198
+ execSync(`npx openapi-client-axios-typegen ${specPath} --client > ${ctypesPath}`, { stdio: "pipe" });
199
+ console.log(` -> dist/apis/${kebabName}.d.cts`);
102
200
  } catch (err) {
103
201
  console.error(` Error generating types for ${apiName}: ${err.message}`);
104
202
  }
105
203
  }
106
- console.log("\nDone. Types generated in .epilot/types/");
204
+ console.log("\nDone.");
107
205
  } catch (err) {
108
206
  console.error(`Error: ${err.message}`);
109
207
  }
@@ -61,7 +61,7 @@ var expand = (c) => {
61
61
  openapi: c.v || "3.0.2",
62
62
  info: { title: "", version: "" },
63
63
  paths,
64
- servers: [{ url: c.s }]
64
+ servers: c.s ? [{ url: c.s }] : []
65
65
  };
66
66
  if (c.cp) {
67
67
  const params = {};
@@ -61,7 +61,7 @@ var expand = (c) => {
61
61
  openapi: c.v || "3.0.2",
62
62
  info: { title: "", version: "" },
63
63
  paths,
64
- servers: [{ url: c.s }]
64
+ servers: c.s ? [{ url: c.s }] : []
65
65
  };
66
66
  if (c.cp) {
67
67
  const params = {};
@@ -1,8 +1,6 @@
1
1
  import { OpenAPIClient, Parameters, AxiosRequestConfig, OperationResponse } from 'openapi-client-axios';
2
2
 
3
3
  /* Auto-copied from data-management-client */
4
- /* eslint-disable */
5
-
6
4
 
7
5
 
8
6
  declare namespace Components {
@@ -112,6 +110,7 @@ declare namespace Components {
112
110
  type: QueryFilterType;
113
111
  related_entity_schemas?: string[];
114
112
  lookback_period_days?: number;
113
+ message_type?: ("SENT" | "RECEIVED")[];
115
114
  }
116
115
  export type QueryFilterType = "entity_workflows_only_in_closed_or_cancelled_status" | "no_related_entities" | "related_entities_all_in_closed_or_cancelled_status" | "related_entities_workflows_only_in_closed_or_cancelled_status" | "no_email_communication_since";
117
116
  export interface UpdateJobRequest {
@@ -1,8 +1,6 @@
1
1
  import { OpenAPIClient, Parameters, AxiosRequestConfig, OperationResponse } from 'openapi-client-axios';
2
2
 
3
3
  /* Auto-copied from data-management-client */
4
- /* eslint-disable */
5
-
6
4
 
7
5
 
8
6
  declare namespace Components {
@@ -112,6 +110,7 @@ declare namespace Components {
112
110
  type: QueryFilterType;
113
111
  related_entity_schemas?: string[];
114
112
  lookback_period_days?: number;
113
+ message_type?: ("SENT" | "RECEIVED")[];
115
114
  }
116
115
  export type QueryFilterType = "entity_workflows_only_in_closed_or_cancelled_status" | "no_related_entities" | "related_entities_all_in_closed_or_cancelled_status" | "related_entities_workflows_only_in_closed_or_cancelled_status" | "no_email_communication_since";
117
116
  export interface UpdateJobRequest {