@epilot/sdk 2.3.8 → 2.3.9

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 (222) hide show
  1. package/dist/apis/access-token.cjs +6 -6
  2. package/dist/apis/access-token.js +1 -1
  3. package/dist/apis/address-suggestions.cjs +6 -6
  4. package/dist/apis/address-suggestions.js +1 -1
  5. package/dist/apis/address.cjs +6 -6
  6. package/dist/apis/address.js +1 -1
  7. package/dist/apis/ai-agents.cjs +6 -6
  8. package/dist/apis/ai-agents.js +1 -1
  9. package/dist/apis/app.cjs +6 -6
  10. package/dist/apis/app.js +1 -1
  11. package/dist/apis/audit-logs.cjs +6 -6
  12. package/dist/apis/audit-logs.js +1 -1
  13. package/dist/apis/automation.cjs +6 -6
  14. package/dist/apis/automation.js +1 -1
  15. package/dist/apis/billing.cjs +6 -6
  16. package/dist/apis/billing.js +1 -1
  17. package/dist/apis/blueprint-manifest.cjs +6 -6
  18. package/dist/apis/blueprint-manifest.js +1 -1
  19. package/dist/apis/configuration-hub.cjs +8 -8
  20. package/dist/apis/configuration-hub.d.cts +2 -2
  21. package/dist/apis/configuration-hub.d.ts +2 -2
  22. package/dist/apis/configuration-hub.js +2 -2
  23. package/dist/apis/consent.cjs +6 -6
  24. package/dist/apis/consent.js +1 -1
  25. package/dist/apis/customer-portal.cjs +6 -6
  26. package/dist/apis/customer-portal.js +1 -1
  27. package/dist/apis/dashboard.cjs +6 -6
  28. package/dist/apis/dashboard.js +1 -1
  29. package/dist/apis/data-governance.cjs +6 -6
  30. package/dist/apis/data-governance.js +1 -1
  31. package/dist/apis/deduplication.cjs +6 -6
  32. package/dist/apis/deduplication.js +1 -1
  33. package/dist/apis/design.cjs +6 -6
  34. package/dist/apis/design.js +1 -1
  35. package/dist/apis/document.cjs +6 -6
  36. package/dist/apis/document.js +1 -1
  37. package/dist/apis/email-settings.cjs +6 -6
  38. package/dist/apis/email-settings.js +1 -1
  39. package/dist/apis/email-template.cjs +6 -6
  40. package/dist/apis/email-template.js +1 -1
  41. package/dist/apis/entity-mapping.cjs +6 -6
  42. package/dist/apis/entity-mapping.js +1 -1
  43. package/dist/apis/entity.cjs +6 -6
  44. package/dist/apis/entity.js +1 -1
  45. package/dist/apis/environments.cjs +6 -6
  46. package/dist/apis/environments.js +1 -1
  47. package/dist/apis/event-catalog.cjs +6 -6
  48. package/dist/apis/event-catalog.js +1 -1
  49. package/dist/apis/file.cjs +6 -6
  50. package/dist/apis/file.js +1 -1
  51. package/dist/apis/iban.cjs +6 -6
  52. package/dist/apis/iban.js +1 -1
  53. package/dist/apis/integration-toolkit.cjs +6 -6
  54. package/dist/apis/integration-toolkit.js +1 -1
  55. package/dist/apis/journey.cjs +6 -6
  56. package/dist/apis/journey.js +1 -1
  57. package/dist/apis/kanban.cjs +6 -6
  58. package/dist/apis/kanban.js +1 -1
  59. package/dist/apis/message.cjs +6 -6
  60. package/dist/apis/message.js +1 -1
  61. package/dist/apis/metering.cjs +6 -6
  62. package/dist/apis/metering.js +1 -1
  63. package/dist/apis/notes.cjs +6 -6
  64. package/dist/apis/notes.js +1 -1
  65. package/dist/apis/notification.cjs +6 -6
  66. package/dist/apis/notification.js +1 -1
  67. package/dist/apis/organization.cjs +6 -6
  68. package/dist/apis/organization.js +1 -1
  69. package/dist/apis/partner-directory.cjs +6 -6
  70. package/dist/apis/partner-directory.js +1 -1
  71. package/dist/apis/permissions.cjs +6 -6
  72. package/dist/apis/permissions.js +1 -1
  73. package/dist/apis/pricing-tier.cjs +6 -6
  74. package/dist/apis/pricing-tier.js +1 -1
  75. package/dist/apis/pricing.cjs +6 -6
  76. package/dist/apis/pricing.js +1 -1
  77. package/dist/apis/purpose.cjs +6 -6
  78. package/dist/apis/purpose.js +1 -1
  79. package/dist/apis/query.cjs +6 -6
  80. package/dist/apis/query.js +1 -1
  81. package/dist/apis/sandbox.cjs +6 -6
  82. package/dist/apis/sandbox.js +1 -1
  83. package/dist/apis/sharing.cjs +6 -6
  84. package/dist/apis/sharing.js +1 -1
  85. package/dist/apis/submission.cjs +6 -6
  86. package/dist/apis/submission.js +1 -1
  87. package/dist/apis/target.cjs +6 -6
  88. package/dist/apis/target.js +1 -1
  89. package/dist/apis/targeting.cjs +6 -6
  90. package/dist/apis/targeting.js +1 -1
  91. package/dist/apis/template-variables.cjs +6 -6
  92. package/dist/apis/template-variables.js +1 -1
  93. package/dist/apis/user.cjs +6 -6
  94. package/dist/apis/user.js +1 -1
  95. package/dist/apis/validation-rules.cjs +6 -6
  96. package/dist/apis/validation-rules.js +1 -1
  97. package/dist/apis/webhooks.cjs +6 -6
  98. package/dist/apis/webhooks.js +1 -1
  99. package/dist/apis/workflow-definition.cjs +6 -6
  100. package/dist/apis/workflow-definition.js +1 -1
  101. package/dist/apis/workflow.cjs +6 -6
  102. package/dist/apis/workflow.js +1 -1
  103. package/dist/chunk-AOFZDDXN.js +14 -0
  104. package/dist/{chunk-6DZXWV2A.cjs → chunk-L37V2R32.cjs} +2 -2
  105. package/dist/{chunk-7TFVO6SP.js → chunk-OMNMMMRJ.js} +2 -2
  106. package/dist/chunk-VFCH5IEL.cjs +14 -0
  107. package/dist/configuration-hub-2F636SNK.js +7 -0
  108. package/dist/configuration-hub-XQGJK2JA.cjs +7 -0
  109. package/dist/{configuration-hub-runtime-TEDEKI7E.js → configuration-hub-runtime-5R6Y4KF7.js} +1 -1
  110. package/dist/{configuration-hub-runtime-B7KKIHHY.cjs → configuration-hub-runtime-TY2X2ECO.cjs} +2 -2
  111. package/dist/configuration-hub.d-DZE3wTQE.d.cts +375 -0
  112. package/dist/configuration-hub.d-DZE3wTQE.d.ts +375 -0
  113. package/dist/index.cjs +10 -10
  114. package/dist/index.d.cts +1 -1
  115. package/dist/index.d.ts +1 -1
  116. package/dist/index.js +2 -2
  117. package/docs/configuration-hub.md +52 -1
  118. package/package.json +1 -1
  119. package/definitions/access-token-runtime.json +0 -1
  120. package/definitions/access-token.json +0 -663
  121. package/definitions/address-runtime.json +0 -1
  122. package/definitions/address-suggestions-runtime.json +0 -1
  123. package/definitions/address-suggestions.json +0 -582
  124. package/definitions/address.json +0 -578
  125. package/definitions/ai-agents-runtime.json +0 -1
  126. package/definitions/ai-agents.json +0 -1711
  127. package/definitions/app-runtime.json +0 -1
  128. package/definitions/app.json +0 -4493
  129. package/definitions/audit-logs-runtime.json +0 -1
  130. package/definitions/audit-logs.json +0 -305
  131. package/definitions/automation-runtime.json +0 -1
  132. package/definitions/automation.json +0 -5028
  133. package/definitions/billing-runtime.json +0 -1
  134. package/definitions/billing.json +0 -837
  135. package/definitions/blueprint-manifest-runtime.json +0 -1
  136. package/definitions/blueprint-manifest.json +0 -4846
  137. package/definitions/configuration-hub-runtime.json +0 -1
  138. package/definitions/configuration-hub.json +0 -399
  139. package/definitions/consent-runtime.json +0 -1
  140. package/definitions/consent.json +0 -344
  141. package/definitions/customer-portal-runtime.json +0 -1
  142. package/definitions/customer-portal.json +0 -16045
  143. package/definitions/dashboard-runtime.json +0 -1
  144. package/definitions/dashboard.json +0 -484
  145. package/definitions/data-governance-runtime.json +0 -1
  146. package/definitions/data-governance.json +0 -1126
  147. package/definitions/deduplication-runtime.json +0 -1
  148. package/definitions/deduplication.json +0 -314
  149. package/definitions/design-runtime.json +0 -1
  150. package/definitions/design.json +0 -1722
  151. package/definitions/document-runtime.json +0 -1
  152. package/definitions/document.json +0 -758
  153. package/definitions/email-settings-runtime.json +0 -1
  154. package/definitions/email-settings.json +0 -2777
  155. package/definitions/email-template-runtime.json +0 -1
  156. package/definitions/email-template.json +0 -1441
  157. package/definitions/entity-mapping-runtime.json +0 -1
  158. package/definitions/entity-mapping.json +0 -1642
  159. package/definitions/entity-runtime.json +0 -1
  160. package/definitions/entity.json +0 -10474
  161. package/definitions/environments-runtime.json +0 -1
  162. package/definitions/environments.json +0 -539
  163. package/definitions/event-catalog-runtime.json +0 -1
  164. package/definitions/event-catalog.json +0 -1051
  165. package/definitions/file-runtime.json +0 -1
  166. package/definitions/file.json +0 -2842
  167. package/definitions/iban-runtime.json +0 -1
  168. package/definitions/iban.json +0 -132
  169. package/definitions/integration-toolkit-runtime.json +0 -1
  170. package/definitions/integration-toolkit.json +0 -7998
  171. package/definitions/journey-runtime.json +0 -1
  172. package/definitions/journey.json +0 -2603
  173. package/definitions/kanban-runtime.json +0 -1
  174. package/definitions/kanban.json +0 -1505
  175. package/definitions/message-runtime.json +0 -1
  176. package/definitions/message.json +0 -2872
  177. package/definitions/metering-runtime.json +0 -1
  178. package/definitions/metering.json +0 -2321
  179. package/definitions/notes-runtime.json +0 -1
  180. package/definitions/notes.json +0 -1531
  181. package/definitions/notification-runtime.json +0 -1
  182. package/definitions/notification.json +0 -1425
  183. package/definitions/organization-runtime.json +0 -1
  184. package/definitions/organization.json +0 -1192
  185. package/definitions/partner-directory-runtime.json +0 -1
  186. package/definitions/partner-directory.json +0 -2284
  187. package/definitions/permissions-runtime.json +0 -1
  188. package/definitions/permissions.json +0 -1515
  189. package/definitions/pricing-runtime.json +0 -1
  190. package/definitions/pricing-tier-runtime.json +0 -1
  191. package/definitions/pricing-tier.json +0 -105
  192. package/definitions/pricing.json +0 -9884
  193. package/definitions/purpose-runtime.json +0 -1
  194. package/definitions/purpose.json +0 -524
  195. package/definitions/query-runtime.json +0 -1
  196. package/definitions/query.json +0 -3178
  197. package/definitions/sandbox-runtime.json +0 -1
  198. package/definitions/sandbox.json +0 -453
  199. package/definitions/sharing-runtime.json +0 -1
  200. package/definitions/sharing.json +0 -956
  201. package/definitions/submission-runtime.json +0 -1
  202. package/definitions/submission.json +0 -313
  203. package/definitions/targeting-runtime.json +0 -1
  204. package/definitions/targeting.json +0 -1474
  205. package/definitions/template-variables-runtime.json +0 -1
  206. package/definitions/template-variables.json +0 -1416
  207. package/definitions/user-runtime.json +0 -1
  208. package/definitions/user.json +0 -2460
  209. package/definitions/validation-rules-runtime.json +0 -1
  210. package/definitions/validation-rules.json +0 -1491
  211. package/definitions/webhooks-runtime.json +0 -1
  212. package/definitions/webhooks.json +0 -1634
  213. package/definitions/workflow-definition-runtime.json +0 -1
  214. package/definitions/workflow-definition.json +0 -3302
  215. package/definitions/workflow-runtime.json +0 -1
  216. package/definitions/workflow.json +0 -4248
  217. package/dist/chunk-4JAOFRYX.js +0 -14
  218. package/dist/chunk-Q7OKRNUG.cjs +0 -14
  219. package/dist/configuration-hub-LKSRCGYT.cjs +0 -7
  220. package/dist/configuration-hub-TZ2ULWV4.js +0 -7
  221. package/dist/configuration-hub.d-CqvhcMOn.d.cts +0 -166
  222. package/dist/configuration-hub.d-CqvhcMOn.d.ts +0 -166
@@ -0,0 +1,14 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkNJK5F5TFcjs = require('./chunk-NJK5F5TF.cjs');
4
+
5
+ // src/definitions/configuration-hub-runtime.json
6
+ var require_configuration_hub_runtime = _chunkNJK5F5TFcjs.__commonJS.call(void 0, {
7
+ "src/definitions/configuration-hub-runtime.json"(exports, module) {
8
+ module.exports = { s: "https://configuration-hub.sls.epilot.io", o: [["listConfigTypes", "get", "/v1/configs/types"], ["listConfigs", "get", "/v1/configs/{type}", [["ConfigType"], ["CursorParam"], ["SizeParam"], ["q", "q"], ["updated_after", "q"], ["updated_before", "q"], ["purposes", "q"]]], ["getConfigDependencies", "get", "/v1/configs/{type}/{id}/dependencies", [["ConfigType"], ["ConfigId"], ["CursorParam"], ["SizeParam"]]], ["rebuildIndex", "post", "/v1/index/rebuild"]], v: "3.0.3", cp: { ConfigType: ["type", "p", true], ConfigId: ["id", "p", true], CursorParam: ["cursor", "q"], SizeParam: ["size", "q"] } };
9
+ }
10
+ });
11
+
12
+
13
+
14
+ exports.require_configuration_hub_runtime = require_configuration_hub_runtime;
@@ -0,0 +1,7 @@
1
+ import "./chunk-YPSWSI3M.js";
2
+
3
+ // src/docs/configuration-hub.json
4
+ var configuration_hub_default = '# Configuration Hub API\n\n- **Base URL:** `https://configuration-hub.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/configuration-hub](https://docs.epilot.io/api/configuration-hub)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.configurationHub.listConfigTypes(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/configuration-hub\'\n\nconst configurationHubClient = getClient()\nauthorize(configurationHubClient, () => \'<token>\')\nconst { data } = await configurationHubClient.listConfigTypes(...)\n```\n\n## Operations\n\n**Configs**\n- [`listConfigTypes`](#listconfigtypes)\n- [`listConfigs`](#listconfigs)\n- [`getConfigDependencies`](#getconfigdependencies)\n\n**Index**\n- [`rebuildIndex`](#rebuildindex)\n\n**Schemas**\n- [`ResourceType`](#resourcetype)\n- [`ConfigTypeInfo`](#configtypeinfo)\n- [`ConfigNode`](#confignode)\n- [`ConfigListResponse`](#configlistresponse)\n- [`ConfigDependenciesResponse`](#configdependenciesresponse)\n- [`IndexRebuildResponse`](#indexrebuildresponse)\n- [`ErrorResponse`](#errorresponse)\n\n### `listConfigTypes`\n\nReturns the static list of available configuration types with display metadata.\nThis is a cheap call \u2014 no fan-out to downstream APIs. Returns all known types\nwith labels and icons. The frontend should\n\n`GET /v1/configs/types`\n\n```ts\nconst { data } = await client.listConfigTypes()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "type": "journey",\n "label": "Journeys",\n "icon": "Route",\n "source_api": "https://journey.sls.epilot.io",\n "sdk_client": "@epilot/sdk/journey"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `listConfigs`\n\nList configs of a given type with pagination. Returns summary metadata only\n(not full payloads). The frontend calls this per type folder when expanding.\n\n`GET /v1/configs/{type}`\n\n```ts\nconst { data } = await client.listConfigs({\n type: \'example\',\n cursor: \'example\',\n size: 1,\n q: \'example\',\n updated_after: \'example\',\n updated_before: \'example\',\n purposes: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "type": "journey",\n "label": "string",\n "icon": "string",\n "total": 0,\n "next_cursor": "string",\n "items": [\n {\n "type": "journey",\n "id": "string",\n "title": "string",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "updated_by": "string",\n "tags": ["string"],\n "purposes": ["string"],\n "link": "https://example.com/path"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getConfigDependencies`\n\nGet configs that are referenced by the given config.\nUsed to render children when expanding a config node in the tree.\n\n`GET /v1/configs/{type}/{id}/dependencies`\n\n```ts\nconst { data } = await client.getConfigDependencies({\n type: \'example\',\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n cursor: \'example\',\n size: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "total": 0,\n "next_cursor": "string",\n "results": [\n {\n "type": "journey",\n "id": "string",\n "title": "string",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "updated_by": "string",\n "tags": ["string"],\n "purposes": ["string"],\n "link": "https://example.com/path"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `rebuildIndex`\n\nRebuild the configuration index for the caller\'s organization.\nCalls all adapter APIs in parallel and stores results in DynamoDB.\nIf a build is already in progress (within 60s), returns immediately.\n\n`POST /v1/index/rebuild`\n\n```ts\nconst { data } = await client.rebuildIndex()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status": "ready",\n "last_built_at": "1970-01-01T00:00:00.000Z",\n "total_items": 0,\n "build_duration_ms": 0,\n "failed_types": ["string"]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ResourceType`\n\nConfiguration resource type identifier.\nMatches blueprint-manifest-api V3 naming conventions.\n\n\n```ts\ntype ResourceType = "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n```\n\n### `ConfigTypeInfo`\n\nStatic metadata for a config type folder in the tree.\nNo downstream API calls \u2014 just type + label + icon + source API info.\n\n\n```ts\ntype ConfigTypeInfo = {\n type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n label: string\n icon: string\n source_api: string\n sdk_client: string\n}\n```\n\n### `ConfigNode`\n\nSummary metadata for a single configuration item in the tree\n\n```ts\ntype ConfigNode = {\n type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n id: string\n title: string\n updated_at?: string // date-time\n updated_by?: string\n tags?: string[]\n purposes?: string[]\n link?: string // uri\n}\n```\n\n### `ConfigListResponse`\n\nCursor-paginated list of configs for a specific type\n\n```ts\ntype ConfigListResponse = {\n type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n label: string\n icon: string\n total?: number\n next_cursor?: string\n items: Array<{\n type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n id: string\n title: string\n updated_at?: string // date-time\n updated_by?: string\n tags?: string[]\n purposes?: string[]\n link?: string // uri\n }>\n}\n```\n\n### `ConfigDependenciesResponse`\n\nCursor-paginated list of configs referenced by a given config\n\n```ts\ntype ConfigDependenciesResponse = {\n total?: number\n next_cursor?: string\n results: Array<{\n type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n id: string\n title: string\n updated_at?: string // date-time\n updated_by?: string\n tags?: string[]\n purposes?: string[]\n link?: string // uri\n }>\n}\n```\n\n### `IndexRebuildResponse`\n\nResult of an index rebuild operation\n\n```ts\ntype IndexRebuildResponse = {\n status: "ready" | "building" | "failed" | "already_building"\n last_built_at?: string // date-time\n total_items?: number\n build_duration_ms?: number\n failed_types?: string[]\n}\n```\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n status: number\n error: string\n}\n```\n';
5
+ export {
6
+ configuration_hub_default as default
7
+ };
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
+
3
+ // src/docs/configuration-hub.json
4
+ var configuration_hub_default = '# Configuration Hub API\n\n- **Base URL:** `https://configuration-hub.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/configuration-hub](https://docs.epilot.io/api/configuration-hub)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.configurationHub.listConfigTypes(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/configuration-hub\'\n\nconst configurationHubClient = getClient()\nauthorize(configurationHubClient, () => \'<token>\')\nconst { data } = await configurationHubClient.listConfigTypes(...)\n```\n\n## Operations\n\n**Configs**\n- [`listConfigTypes`](#listconfigtypes)\n- [`listConfigs`](#listconfigs)\n- [`getConfigDependencies`](#getconfigdependencies)\n\n**Index**\n- [`rebuildIndex`](#rebuildindex)\n\n**Schemas**\n- [`ResourceType`](#resourcetype)\n- [`ConfigTypeInfo`](#configtypeinfo)\n- [`ConfigNode`](#confignode)\n- [`ConfigListResponse`](#configlistresponse)\n- [`ConfigDependenciesResponse`](#configdependenciesresponse)\n- [`IndexRebuildResponse`](#indexrebuildresponse)\n- [`ErrorResponse`](#errorresponse)\n\n### `listConfigTypes`\n\nReturns the static list of available configuration types with display metadata.\nThis is a cheap call \u2014 no fan-out to downstream APIs. Returns all known types\nwith labels and icons. The frontend should\n\n`GET /v1/configs/types`\n\n```ts\nconst { data } = await client.listConfigTypes()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "type": "journey",\n "label": "Journeys",\n "icon": "Route",\n "source_api": "https://journey.sls.epilot.io",\n "sdk_client": "@epilot/sdk/journey"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `listConfigs`\n\nList configs of a given type with pagination. Returns summary metadata only\n(not full payloads). The frontend calls this per type folder when expanding.\n\n`GET /v1/configs/{type}`\n\n```ts\nconst { data } = await client.listConfigs({\n type: \'example\',\n cursor: \'example\',\n size: 1,\n q: \'example\',\n updated_after: \'example\',\n updated_before: \'example\',\n purposes: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "type": "journey",\n "label": "string",\n "icon": "string",\n "total": 0,\n "next_cursor": "string",\n "items": [\n {\n "type": "journey",\n "id": "string",\n "title": "string",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "updated_by": "string",\n "tags": ["string"],\n "purposes": ["string"],\n "link": "https://example.com/path"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getConfigDependencies`\n\nGet configs that are referenced by the given config.\nUsed to render children when expanding a config node in the tree.\n\n`GET /v1/configs/{type}/{id}/dependencies`\n\n```ts\nconst { data } = await client.getConfigDependencies({\n type: \'example\',\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n cursor: \'example\',\n size: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "total": 0,\n "next_cursor": "string",\n "results": [\n {\n "type": "journey",\n "id": "string",\n "title": "string",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "updated_by": "string",\n "tags": ["string"],\n "purposes": ["string"],\n "link": "https://example.com/path"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `rebuildIndex`\n\nRebuild the configuration index for the caller\'s organization.\nCalls all adapter APIs in parallel and stores results in DynamoDB.\nIf a build is already in progress (within 60s), returns immediately.\n\n`POST /v1/index/rebuild`\n\n```ts\nconst { data } = await client.rebuildIndex()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status": "ready",\n "last_built_at": "1970-01-01T00:00:00.000Z",\n "total_items": 0,\n "build_duration_ms": 0,\n "failed_types": ["string"]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ResourceType`\n\nConfiguration resource type identifier.\nMatches blueprint-manifest-api V3 naming conventions.\n\n\n```ts\ntype ResourceType = "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n```\n\n### `ConfigTypeInfo`\n\nStatic metadata for a config type folder in the tree.\nNo downstream API calls \u2014 just type + label + icon + source API info.\n\n\n```ts\ntype ConfigTypeInfo = {\n type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n label: string\n icon: string\n source_api: string\n sdk_client: string\n}\n```\n\n### `ConfigNode`\n\nSummary metadata for a single configuration item in the tree\n\n```ts\ntype ConfigNode = {\n type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n id: string\n title: string\n updated_at?: string // date-time\n updated_by?: string\n tags?: string[]\n purposes?: string[]\n link?: string // uri\n}\n```\n\n### `ConfigListResponse`\n\nCursor-paginated list of configs for a specific type\n\n```ts\ntype ConfigListResponse = {\n type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n label: string\n icon: string\n total?: number\n next_cursor?: string\n items: Array<{\n type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n id: string\n title: string\n updated_at?: string // date-time\n updated_by?: string\n tags?: string[]\n purposes?: string[]\n link?: string // uri\n }>\n}\n```\n\n### `ConfigDependenciesResponse`\n\nCursor-paginated list of configs referenced by a given config\n\n```ts\ntype ConfigDependenciesResponse = {\n total?: number\n next_cursor?: string\n results: Array<{\n type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation"\n id: string\n title: string\n updated_at?: string // date-time\n updated_by?: string\n tags?: string[]\n purposes?: string[]\n link?: string // uri\n }>\n}\n```\n\n### `IndexRebuildResponse`\n\nResult of an index rebuild operation\n\n```ts\ntype IndexRebuildResponse = {\n status: "ready" | "building" | "failed" | "already_building"\n last_built_at?: string // date-time\n total_items?: number\n build_duration_ms?: number\n failed_types?: string[]\n}\n```\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n status: number\n error: string\n}\n```\n';
5
+
6
+
7
+ exports.default = configuration_hub_default;
@@ -1,5 +1,5 @@
1
1
  import {
2
2
  require_configuration_hub_runtime
3
- } from "./chunk-4JAOFRYX.js";
3
+ } from "./chunk-AOFZDDXN.js";
4
4
  import "./chunk-YPSWSI3M.js";
5
5
  export default require_configuration_hub_runtime();
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkQ7OKRNUGcjs = require('./chunk-Q7OKRNUG.cjs');
3
+ var _chunkVFCH5IELcjs = require('./chunk-VFCH5IEL.cjs');
4
4
  require('./chunk-NJK5F5TF.cjs');
5
- exports. default = _chunkQ7OKRNUGcjs.require_configuration_hub_runtime.call(void 0, );
5
+ exports. default = _chunkVFCH5IELcjs.require_configuration_hub_runtime.call(void 0, );
@@ -0,0 +1,375 @@
1
+ import { OpenAPIClient, Parameters, UnknownParamsObject, AxiosRequestConfig, OperationResponse } from 'openapi-client-axios';
2
+
3
+ /* Auto-copied from configuration-hub-client */
4
+
5
+
6
+ declare namespace Components {
7
+ namespace Parameters {
8
+ export type ConfigId = string;
9
+ export type ConfigType = /**
10
+ * Configuration resource type identifier.
11
+ * Matches blueprint-manifest-api V3 naming conventions.
12
+ *
13
+ */
14
+ Schemas.ResourceType;
15
+ export type CursorParam = string;
16
+ export type SizeParam = number;
17
+ }
18
+ export interface PathParameters {
19
+ ConfigType?: Parameters.ConfigType;
20
+ ConfigId?: Parameters.ConfigId;
21
+ }
22
+ export interface QueryParameters {
23
+ CursorParam?: Parameters.CursorParam;
24
+ SizeParam?: Parameters.SizeParam;
25
+ }
26
+ namespace Schemas {
27
+ /**
28
+ * Cursor-paginated list of configs referenced by a given config
29
+ */
30
+ export interface ConfigDependenciesResponse {
31
+ /**
32
+ * Total number of dependencies found (if known)
33
+ */
34
+ total?: number;
35
+ /**
36
+ * Cursor for fetching the next page. Absent when no more pages.
37
+ */
38
+ next_cursor?: string;
39
+ results: /* Summary metadata for a single configuration item in the tree */ ConfigNode[];
40
+ }
41
+ /**
42
+ * Cursor-paginated list of configs for a specific type
43
+ */
44
+ export interface ConfigListResponse {
45
+ type: /**
46
+ * Configuration resource type identifier.
47
+ * Matches blueprint-manifest-api V3 naming conventions.
48
+ *
49
+ */
50
+ ResourceType;
51
+ label: string;
52
+ icon: string;
53
+ /**
54
+ * Total number of configs of this type (if known)
55
+ */
56
+ total?: number;
57
+ /**
58
+ * Cursor for fetching the next page. Absent when no more pages.
59
+ */
60
+ next_cursor?: string;
61
+ items: /* Summary metadata for a single configuration item in the tree */ ConfigNode[];
62
+ }
63
+ /**
64
+ * Summary metadata for a single configuration item in the tree
65
+ */
66
+ export interface ConfigNode {
67
+ type: /**
68
+ * Configuration resource type identifier.
69
+ * Matches blueprint-manifest-api V3 naming conventions.
70
+ *
71
+ */
72
+ ResourceType;
73
+ /**
74
+ * Unique identifier
75
+ */
76
+ id: string;
77
+ /**
78
+ * Display name
79
+ */
80
+ title: string;
81
+ /**
82
+ * Last modified timestamp
83
+ */
84
+ updated_at?: string; // date-time
85
+ /**
86
+ * User who last modified this config
87
+ */
88
+ updated_by?: string;
89
+ /**
90
+ * Tags / labels
91
+ */
92
+ tags?: string[];
93
+ /**
94
+ * Business purposes
95
+ */
96
+ purposes?: string[];
97
+ /**
98
+ * Direct link to open this config in epilot
99
+ */
100
+ link?: string; // uri
101
+ }
102
+ /**
103
+ * Static metadata for a config type folder in the tree.
104
+ * No downstream API calls — just type + label + icon + source API info.
105
+ *
106
+ */
107
+ export interface ConfigTypeInfo {
108
+ type: /**
109
+ * Configuration resource type identifier.
110
+ * Matches blueprint-manifest-api V3 naming conventions.
111
+ *
112
+ */
113
+ ResourceType;
114
+ /**
115
+ * Display label
116
+ * example:
117
+ * Journeys
118
+ */
119
+ label: string;
120
+ /**
121
+ * Frontend icon name
122
+ * example:
123
+ * Route
124
+ */
125
+ icon: string;
126
+ /**
127
+ * Base URL of the epilot API that owns this resource type
128
+ * example:
129
+ * https://journey.sls.epilot.io
130
+ */
131
+ source_api: string;
132
+ /**
133
+ * @epilot/sdk subpath for fetching full config payloads
134
+ * example:
135
+ * @epilot/sdk/journey
136
+ */
137
+ sdk_client: string;
138
+ }
139
+ export interface ErrorResponse {
140
+ status: number;
141
+ error: string;
142
+ }
143
+ /**
144
+ * Result of an index rebuild operation
145
+ */
146
+ export interface IndexRebuildResponse {
147
+ status: "ready" | "building" | "failed" | "already_building";
148
+ last_built_at?: string; // date-time
149
+ total_items?: number;
150
+ build_duration_ms?: number;
151
+ failed_types?: string[];
152
+ }
153
+ /**
154
+ * Configuration resource type identifier.
155
+ * Matches blueprint-manifest-api V3 naming conventions.
156
+ *
157
+ */
158
+ export type ResourceType = "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation";
159
+ }
160
+ }
161
+ declare namespace Paths {
162
+ namespace GetConfigDependencies {
163
+ namespace Parameters {
164
+ export type Cursor = string;
165
+ export type Id = string;
166
+ export type Size = number;
167
+ export type Type = /**
168
+ * Configuration resource type identifier.
169
+ * Matches blueprint-manifest-api V3 naming conventions.
170
+ *
171
+ */
172
+ Components.Schemas.ResourceType;
173
+ }
174
+ export interface PathParameters {
175
+ type: Parameters.Type;
176
+ id: Parameters.Id;
177
+ }
178
+ export interface QueryParameters {
179
+ cursor?: Parameters.Cursor;
180
+ size?: Parameters.Size;
181
+ }
182
+ namespace Responses {
183
+ export type $200 = /* Cursor-paginated list of configs referenced by a given config */ Components.Schemas.ConfigDependenciesResponse;
184
+ export type $404 = Components.Schemas.ErrorResponse;
185
+ }
186
+ }
187
+ namespace ListConfigTypes {
188
+ namespace Responses {
189
+ export interface $200 {
190
+ results: /**
191
+ * Static metadata for a config type folder in the tree.
192
+ * No downstream API calls — just type + label + icon + source API info.
193
+ *
194
+ */
195
+ Components.Schemas.ConfigTypeInfo[];
196
+ }
197
+ }
198
+ }
199
+ namespace ListConfigs {
200
+ namespace Parameters {
201
+ export type Cursor = string;
202
+ export type Purposes = string;
203
+ export type Q = string;
204
+ export type Size = number;
205
+ export type Type = /**
206
+ * Configuration resource type identifier.
207
+ * Matches blueprint-manifest-api V3 naming conventions.
208
+ *
209
+ */
210
+ Components.Schemas.ResourceType;
211
+ export type UpdatedAfter = string; // date-time
212
+ export type UpdatedBefore = string; // date-time
213
+ }
214
+ export interface PathParameters {
215
+ type: Parameters.Type;
216
+ }
217
+ export interface QueryParameters {
218
+ cursor?: Parameters.Cursor;
219
+ size?: Parameters.Size;
220
+ q?: Parameters.Q;
221
+ updated_after?: Parameters.UpdatedAfter /* date-time */;
222
+ updated_before?: Parameters.UpdatedBefore /* date-time */;
223
+ purposes?: Parameters.Purposes;
224
+ }
225
+ namespace Responses {
226
+ export type $200 = /* Cursor-paginated list of configs for a specific type */ Components.Schemas.ConfigListResponse;
227
+ export type $400 = Components.Schemas.ErrorResponse;
228
+ }
229
+ }
230
+ namespace RebuildIndex {
231
+ namespace Responses {
232
+ export type $200 = /* Result of an index rebuild operation */ Components.Schemas.IndexRebuildResponse;
233
+ }
234
+ }
235
+ }
236
+
237
+
238
+ interface OperationMethods {
239
+ /**
240
+ * listConfigTypes - listConfigTypes
241
+ *
242
+ * Returns the static list of available configuration types with display metadata.
243
+ * This is a cheap call — no fan-out to downstream APIs. Returns all known types
244
+ * with labels and icons. The frontend should then call `listConfigs` separately
245
+ * for each type it wants to load.
246
+ *
247
+ */
248
+ 'listConfigTypes'(
249
+ parameters?: Parameters<UnknownParamsObject> | null,
250
+ data?: any,
251
+ config?: AxiosRequestConfig
252
+ ): OperationResponse<Paths.ListConfigTypes.Responses.$200>
253
+ /**
254
+ * listConfigs - listConfigs
255
+ *
256
+ * List configs of a given type with pagination. Returns summary metadata only
257
+ * (not full payloads). The frontend calls this per type folder when expanding.
258
+ *
259
+ * Supports offset-based pagination via `from` and `size` parameters.
260
+ *
261
+ */
262
+ 'listConfigs'(
263
+ parameters?: Parameters<Paths.ListConfigs.QueryParameters & Paths.ListConfigs.PathParameters> | null,
264
+ data?: any,
265
+ config?: AxiosRequestConfig
266
+ ): OperationResponse<Paths.ListConfigs.Responses.$200>
267
+ /**
268
+ * getConfigDependencies - getConfigDependencies
269
+ *
270
+ * Get configs that are referenced by the given config.
271
+ * Used to render children when expanding a config node in the tree.
272
+ *
273
+ * Resolves dependencies by fetching the config payload server-side and scanning
274
+ * for references (UUIDs, source IDs, slug-based references).
275
+ *
276
+ */
277
+ 'getConfigDependencies'(
278
+ parameters?: Parameters<Paths.GetConfigDependencies.QueryParameters & Paths.GetConfigDependencies.PathParameters> | null,
279
+ data?: any,
280
+ config?: AxiosRequestConfig
281
+ ): OperationResponse<Paths.GetConfigDependencies.Responses.$200>
282
+ /**
283
+ * rebuildIndex - rebuildIndex
284
+ *
285
+ * Rebuild the configuration index for the caller's organization.
286
+ * Calls all adapter APIs in parallel and stores results in DynamoDB.
287
+ * If a build is already in progress (within 60s), returns immediately.
288
+ *
289
+ */
290
+ 'rebuildIndex'(
291
+ parameters?: Parameters<UnknownParamsObject> | null,
292
+ data?: any,
293
+ config?: AxiosRequestConfig
294
+ ): OperationResponse<Paths.RebuildIndex.Responses.$200>
295
+ }
296
+
297
+ interface PathsDictionary {
298
+ ['/v1/configs/types']: {
299
+ /**
300
+ * listConfigTypes - listConfigTypes
301
+ *
302
+ * Returns the static list of available configuration types with display metadata.
303
+ * This is a cheap call — no fan-out to downstream APIs. Returns all known types
304
+ * with labels and icons. The frontend should then call `listConfigs` separately
305
+ * for each type it wants to load.
306
+ *
307
+ */
308
+ 'get'(
309
+ parameters?: Parameters<UnknownParamsObject> | null,
310
+ data?: any,
311
+ config?: AxiosRequestConfig
312
+ ): OperationResponse<Paths.ListConfigTypes.Responses.$200>
313
+ }
314
+ ['/v1/configs/{type}']: {
315
+ /**
316
+ * listConfigs - listConfigs
317
+ *
318
+ * List configs of a given type with pagination. Returns summary metadata only
319
+ * (not full payloads). The frontend calls this per type folder when expanding.
320
+ *
321
+ * Supports offset-based pagination via `from` and `size` parameters.
322
+ *
323
+ */
324
+ 'get'(
325
+ parameters?: Parameters<Paths.ListConfigs.QueryParameters & Paths.ListConfigs.PathParameters> | null,
326
+ data?: any,
327
+ config?: AxiosRequestConfig
328
+ ): OperationResponse<Paths.ListConfigs.Responses.$200>
329
+ }
330
+ ['/v1/configs/{type}/{id}/dependencies']: {
331
+ /**
332
+ * getConfigDependencies - getConfigDependencies
333
+ *
334
+ * Get configs that are referenced by the given config.
335
+ * Used to render children when expanding a config node in the tree.
336
+ *
337
+ * Resolves dependencies by fetching the config payload server-side and scanning
338
+ * for references (UUIDs, source IDs, slug-based references).
339
+ *
340
+ */
341
+ 'get'(
342
+ parameters?: Parameters<Paths.GetConfigDependencies.QueryParameters & Paths.GetConfigDependencies.PathParameters> | null,
343
+ data?: any,
344
+ config?: AxiosRequestConfig
345
+ ): OperationResponse<Paths.GetConfigDependencies.Responses.$200>
346
+ }
347
+ ['/v1/index/rebuild']: {
348
+ /**
349
+ * rebuildIndex - rebuildIndex
350
+ *
351
+ * Rebuild the configuration index for the caller's organization.
352
+ * Calls all adapter APIs in parallel and stores results in DynamoDB.
353
+ * If a build is already in progress (within 60s), returns immediately.
354
+ *
355
+ */
356
+ 'post'(
357
+ parameters?: Parameters<UnknownParamsObject> | null,
358
+ data?: any,
359
+ config?: AxiosRequestConfig
360
+ ): OperationResponse<Paths.RebuildIndex.Responses.$200>
361
+ }
362
+ }
363
+
364
+ type Client = OpenAPIClient<OperationMethods, PathsDictionary>
365
+
366
+
367
+ type ConfigDependenciesResponse = Components.Schemas.ConfigDependenciesResponse;
368
+ type ConfigListResponse = Components.Schemas.ConfigListResponse;
369
+ type ConfigNode = Components.Schemas.ConfigNode;
370
+ type ConfigTypeInfo = Components.Schemas.ConfigTypeInfo;
371
+ type ErrorResponse = Components.Schemas.ErrorResponse;
372
+ type IndexRebuildResponse = Components.Schemas.IndexRebuildResponse;
373
+ type ResourceType = Components.Schemas.ResourceType;
374
+
375
+ export { type Client as C, type ErrorResponse as E, type IndexRebuildResponse as I, type OperationMethods as O, Paths as P, type ResourceType as R, Components as a, type PathsDictionary as b, type ConfigDependenciesResponse as c, type ConfigListResponse as d, type ConfigNode as e, type ConfigTypeInfo as f };