@epilot/sdk 2.4.1 → 2.4.2

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 (117) hide show
  1. package/definitions/kanban.json +2 -1
  2. package/dist/apis/access-token.cjs +6 -6
  3. package/dist/apis/access-token.js +1 -1
  4. package/dist/apis/address-suggestions.cjs +6 -6
  5. package/dist/apis/address-suggestions.js +1 -1
  6. package/dist/apis/address.cjs +6 -6
  7. package/dist/apis/address.js +1 -1
  8. package/dist/apis/ai-agents.cjs +6 -6
  9. package/dist/apis/ai-agents.js +1 -1
  10. package/dist/apis/app.cjs +6 -6
  11. package/dist/apis/app.js +1 -1
  12. package/dist/apis/audit-logs.cjs +6 -6
  13. package/dist/apis/audit-logs.js +1 -1
  14. package/dist/apis/automation.cjs +6 -6
  15. package/dist/apis/automation.js +1 -1
  16. package/dist/apis/billing.cjs +6 -6
  17. package/dist/apis/billing.js +1 -1
  18. package/dist/apis/blueprint-manifest.cjs +6 -6
  19. package/dist/apis/blueprint-manifest.js +1 -1
  20. package/dist/apis/configuration-hub.cjs +6 -6
  21. package/dist/apis/configuration-hub.js +1 -1
  22. package/dist/apis/consent.cjs +6 -6
  23. package/dist/apis/consent.js +1 -1
  24. package/dist/apis/customer-portal.cjs +6 -6
  25. package/dist/apis/customer-portal.js +1 -1
  26. package/dist/apis/dashboard.cjs +6 -6
  27. package/dist/apis/dashboard.js +1 -1
  28. package/dist/apis/data-governance.cjs +6 -6
  29. package/dist/apis/data-governance.js +1 -1
  30. package/dist/apis/deduplication.cjs +6 -6
  31. package/dist/apis/deduplication.js +1 -1
  32. package/dist/apis/design.cjs +6 -6
  33. package/dist/apis/design.js +1 -1
  34. package/dist/apis/document.cjs +6 -6
  35. package/dist/apis/document.js +1 -1
  36. package/dist/apis/email-settings.cjs +6 -6
  37. package/dist/apis/email-settings.js +1 -1
  38. package/dist/apis/email-template.cjs +6 -6
  39. package/dist/apis/email-template.js +1 -1
  40. package/dist/apis/entity-mapping.cjs +6 -6
  41. package/dist/apis/entity-mapping.js +1 -1
  42. package/dist/apis/entity.cjs +6 -6
  43. package/dist/apis/entity.js +1 -1
  44. package/dist/apis/environments.cjs +6 -6
  45. package/dist/apis/environments.js +1 -1
  46. package/dist/apis/event-catalog.cjs +6 -6
  47. package/dist/apis/event-catalog.js +1 -1
  48. package/dist/apis/file.cjs +6 -6
  49. package/dist/apis/file.js +1 -1
  50. package/dist/apis/iban.cjs +6 -6
  51. package/dist/apis/iban.js +1 -1
  52. package/dist/apis/integration-toolkit.cjs +6 -6
  53. package/dist/apis/integration-toolkit.js +1 -1
  54. package/dist/apis/journey.cjs +6 -6
  55. package/dist/apis/journey.js +1 -1
  56. package/dist/apis/kanban.cjs +6 -6
  57. package/dist/apis/kanban.d.cts +2 -2
  58. package/dist/apis/kanban.d.ts +2 -2
  59. package/dist/apis/kanban.js +1 -1
  60. package/dist/apis/message.cjs +6 -6
  61. package/dist/apis/message.js +1 -1
  62. package/dist/apis/metering.cjs +6 -6
  63. package/dist/apis/metering.js +1 -1
  64. package/dist/apis/notes.cjs +6 -6
  65. package/dist/apis/notes.js +1 -1
  66. package/dist/apis/notification.cjs +6 -6
  67. package/dist/apis/notification.js +1 -1
  68. package/dist/apis/organization.cjs +6 -6
  69. package/dist/apis/organization.js +1 -1
  70. package/dist/apis/partner-directory.cjs +6 -6
  71. package/dist/apis/partner-directory.js +1 -1
  72. package/dist/apis/permissions.cjs +6 -6
  73. package/dist/apis/permissions.js +1 -1
  74. package/dist/apis/pricing-tier.cjs +6 -6
  75. package/dist/apis/pricing-tier.js +1 -1
  76. package/dist/apis/pricing.cjs +6 -6
  77. package/dist/apis/pricing.js +1 -1
  78. package/dist/apis/purpose.cjs +6 -6
  79. package/dist/apis/purpose.js +1 -1
  80. package/dist/apis/query.cjs +6 -6
  81. package/dist/apis/query.js +1 -1
  82. package/dist/apis/sandbox.cjs +6 -6
  83. package/dist/apis/sandbox.js +1 -1
  84. package/dist/apis/sharing.cjs +6 -6
  85. package/dist/apis/sharing.js +1 -1
  86. package/dist/apis/submission.cjs +6 -6
  87. package/dist/apis/submission.js +1 -1
  88. package/dist/apis/target.cjs +6 -6
  89. package/dist/apis/target.js +1 -1
  90. package/dist/apis/targeting.cjs +6 -6
  91. package/dist/apis/targeting.js +1 -1
  92. package/dist/apis/template-variables.cjs +6 -6
  93. package/dist/apis/template-variables.js +1 -1
  94. package/dist/apis/user.cjs +6 -6
  95. package/dist/apis/user.js +1 -1
  96. package/dist/apis/validation-rules.cjs +6 -6
  97. package/dist/apis/validation-rules.js +1 -1
  98. package/dist/apis/webhooks.cjs +6 -6
  99. package/dist/apis/webhooks.js +1 -1
  100. package/dist/apis/workflow-definition.cjs +6 -6
  101. package/dist/apis/workflow-definition.js +1 -1
  102. package/dist/apis/workflow.cjs +6 -6
  103. package/dist/apis/workflow.js +1 -1
  104. package/dist/bin/cli.js +1 -1
  105. package/dist/{chunk-O2AUZKUD.js → chunk-CQ3AKMIJ.js} +1 -1
  106. package/dist/{chunk-OK74PNHY.cjs → chunk-YLJD7G7H.cjs} +1 -1
  107. package/dist/index.cjs +8 -8
  108. package/dist/index.d.cts +1 -1
  109. package/dist/index.d.ts +1 -1
  110. package/dist/index.js +1 -1
  111. package/dist/{js-yaml-UPZKYVRY.js → js-yaml-DLCVPJ7G.js} +17 -15
  112. package/dist/{kanban-PMG5TXE5.js → kanban-F22JXYCG.js} +1 -1
  113. package/dist/{kanban-E2UOBVBK.cjs → kanban-FSATKIGH.cjs} +1 -1
  114. package/dist/{kanban.d-B99GucT_.d.cts → kanban.d-BHnSRCYW.d.cts} +1 -1
  115. package/dist/{kanban.d-B99GucT_.d.ts → kanban.d-BHnSRCYW.d.ts} +1 -1
  116. package/docs/kanban.md +2 -2
  117. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -152,7 +152,7 @@ import {
152
152
  expand,
153
153
  help,
154
154
  openapi
155
- } from "./chunk-O2AUZKUD.js";
155
+ } from "./chunk-CQ3AKMIJ.js";
156
156
  import {
157
157
  __require
158
158
  } from "./chunk-YPSWSI3M.js";
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- // ../../node_modules/js-yaml/dist/js-yaml.mjs
3
+ // ../../node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs
4
4
  function isNothing(subject) {
5
5
  return typeof subject === "undefined" || subject === null;
6
6
  }
@@ -864,6 +864,18 @@ function charFromCodepoint(c) {
864
864
  (c - 65536 & 1023) + 56320
865
865
  );
866
866
  }
867
+ function setProperty(object, key, value) {
868
+ if (key === "__proto__") {
869
+ Object.defineProperty(object, key, {
870
+ configurable: true,
871
+ enumerable: true,
872
+ writable: true,
873
+ value
874
+ });
875
+ } else {
876
+ object[key] = value;
877
+ }
878
+ }
867
879
  var simpleEscapeCheck = new Array(256);
868
880
  var simpleEscapeMap = new Array(256);
869
881
  for (i = 0; i < 256; i++) {
@@ -983,7 +995,7 @@ function mergeMappings(state, destination, source, overridableKeys) {
983
995
  for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
984
996
  key = sourceKeys[index];
985
997
  if (!_hasOwnProperty$1.call(destination, key)) {
986
- destination[key] = source[key];
998
+ setProperty(destination, key, source[key]);
987
999
  overridableKeys[key] = true;
988
1000
  }
989
1001
  }
@@ -1023,16 +1035,7 @@ function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valu
1023
1035
  state.position = startPos || state.position;
1024
1036
  throwError(state, "duplicated mapping key");
1025
1037
  }
1026
- if (keyNode === "__proto__") {
1027
- Object.defineProperty(_result, keyNode, {
1028
- configurable: true,
1029
- enumerable: true,
1030
- writable: true,
1031
- value: valueNode
1032
- });
1033
- } else {
1034
- _result[keyNode] = valueNode;
1035
- }
1038
+ setProperty(_result, keyNode, valueNode);
1036
1039
  delete overridableKeys[keyNode];
1037
1040
  }
1038
1041
  return _result;
@@ -2620,7 +2623,6 @@ var jsYaml = {
2620
2623
  safeLoadAll,
2621
2624
  safeDump
2622
2625
  };
2623
- var js_yaml_default = jsYaml;
2624
2626
  export {
2625
2627
  CORE_SCHEMA,
2626
2628
  DEFAULT_SCHEMA,
@@ -2629,7 +2631,7 @@ export {
2629
2631
  Schema,
2630
2632
  Type,
2631
2633
  YAMLException,
2632
- js_yaml_default as default,
2634
+ jsYaml as default,
2633
2635
  dump,
2634
2636
  load,
2635
2637
  loadAll,
@@ -2641,5 +2643,5 @@ export {
2641
2643
  /*! Bundled license information:
2642
2644
 
2643
2645
  js-yaml/dist/js-yaml.mjs:
2644
- (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *)
2646
+ (*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT *)
2645
2647
  */
@@ -1,7 +1,7 @@
1
1
  import "./chunk-YPSWSI3M.js";
2
2
 
3
3
  // src/docs/kanban.json
4
- var kanban_default = '# Kanban API\n\n- **Base URL:** `https://kanban.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/kanban](https://docs.epilot.io/api/kanban)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.kanban.createKanbanBoard(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/kanban\'\n\nconst kanbanClient = getClient()\nauthorize(kanbanClient, () => \'<token>\')\nconst { data } = await kanbanClient.createKanbanBoard(...)\n```\n\n## Operations\n\n**Kanban**\n- [`createKanbanBoard`](#createkanbanboard)\n- [`getKanbanBoards`](#getkanbanboards)\n- [`getKanbanBoard`](#getkanbanboard)\n- [`updateKanbanBoard`](#updatekanbanboard)\n- [`patchKanbanBoard`](#patchkanbanboard)\n- [`deleteKanbanBoard`](#deletekanbanboard)\n- [`setDefaultKanbanBoard`](#setdefaultkanbanboard)\n- [`clearDefaultKanbanBoard`](#cleardefaultkanbanboard)\n\n**Query**\n- [`flowsAutocomplete`](#flowsautocomplete)\n- [`executeFlowsQuery`](#executeflowsquery)\n\n**Schemas**\n- [`Error`](#error)\n- [`BoardSummary`](#boardsummary)\n- [`Board`](#board)\n- [`Swimlane`](#swimlane)\n- [`Sorting`](#sorting)\n- [`GroupBy`](#groupby)\n- [`BoardFilter`](#boardfilter)\n- [`FilterGroup`](#filtergroup)\n- [`FilterOperator`](#filteroperator)\n- [`DynamicDateValue`](#dynamicdatevalue)\n- [`ValueType`](#valuetype)\n- [`FlowsQueryRequest`](#flowsqueryrequest)\n- [`FlowsQueryResult`](#flowsqueryresult)\n- [`FilterItem`](#filteritem)\n\n### `createKanbanBoard`\n\nCreates a new Kanban board with the provided configuration.\n\n`POST /v1/kanban/board`\n\n```ts\nconst { data } = await client.createKanbanBoard(\n null,\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `getKanbanBoards`\n\nReturns a list of all Kanban boards accessible to the authenticated user.\n\n`GET /v1/kanban/boards`\n\n```ts\nconst { data } = await client.getKanbanBoards({\n filter: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"]\n }\n]\n```\n\n</details>\n\n---\n\n### `getKanbanBoard`\n\nRetrieves a Kanban board by ID, including its full configuration (swimlanes, filters, sorting, card fields).\n\n`GET /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.getKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `updateKanbanBoard`\n\nFully replaces the configuration of an existing Kanban board by ID.\n\n`PUT /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.updateKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `patchKanbanBoard`\n\nPartially updates fields of an existing Kanban board by ID.\n\n`PATCH /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.patchKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n title: \'Board 1\',\n description: \'Board description\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteKanbanBoard`\n\nPermanently deletes a Kanban board by ID. This action is irreversible.\n\n`DELETE /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.deleteKanbanBoard({\n boardId: \'example\',\n})\n```\n\n---\n\n### `setDefaultKanbanBoard`\n\nSets a Kanban board as the default board for the organization.\n\n`PUT /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.setDefaultKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `clearDefaultKanbanBoard`\n\nRemoves the default board configuration for the organization.\n\n`DELETE /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.clearDefaultKanbanBoard()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `flowsAutocomplete`\n\nReturns autocomplete suggestions for a given attribute in the Flows dataset.\n\n`GET /v1/kanban/query/flows:autocomplete`\n\n```ts\nconst { data } = await client.flowsAutocomplete({\n input: \'example\',\n attribute: \'example\',\n size: 1,\n from: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": ["value"],\n "hits": 42\n}\n```\n\n</details>\n\n---\n\n### `executeFlowsQuery`\n\nExecutes a query against the Flows dataset and returns paginated results for use in Kanban card rendering.\n\n`POST /v1/kanban/query/flows:execute`\n\n```ts\nconst { data } = await client.executeFlowsQuery(\n null,\n {\n filters: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n from: 0,\n size: 10\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {}\n ],\n "hits": 42,\n "page_number": 1,\n "page_size": 10,\n "total_pages": 5\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `Error`\n\nStandard error response\n\n```ts\ntype Error = {\n message?: string\n status?: number\n}\n```\n\n### `BoardSummary`\n\nSummary representation of a Kanban board, returned in list responses. Does not include swimlane and filter configuration details.\n\n```ts\ntype BoardSummary = {\n id?: string\n title?: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n}\n```\n\n### `Board`\n\nFull representation of a Kanban board, including swimlane layout, filter configuration, card display fields, and sorting options.\n\n```ts\ntype Board = {\n id?: string\n title: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n config: {\n dataset?: string\n swimlanes?: Array<{\n id?: { ... }\n title?: { ... }\n position?: { ... }\n filter?: { ... }\n title_chip_variant?: { ... }\n }>\n card_config?: {\n fields?: { ... }\n }\n board_filter?: {\n items: { ... }\n combination: { ... }\n }\n sorting?: {\n field: { ... }\n direction?: { ... }\n }\n group_by?: {\n field: { ... }\n }\n search_query?: string\n }\n}\n```\n\n### `Swimlane`\n\nA vertical column in a Kanban board that groups workflow tasks or entities matching its filter criteria. Each swimlane has an independent filter and a display position.\n\n```ts\ntype Swimlane = {\n id?: string\n title?: string\n position?: number\n filter?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n title_chip_variant?: string\n}\n```\n\n### `Sorting`\n\nDefines how query results should be sorted. Specify a field name and sort direction.\n\n```ts\ntype Sorting = {\n field: string\n direction?: "asc" | "desc"\n}\n```\n\n### `GroupBy`\n\nDefines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set.\n\n```ts\ntype GroupBy = {\n field: "context_entity" | "phase"\n}\n```\n\n### `BoardFilter`\n\nA filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).\n\n```ts\ntype BoardFilter = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n } | {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n }>\n combination: "AND" | "OR"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterGroup`\n\n```ts\ntype FilterGroup = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterOperator`\n\nThe comparison operator for filtering\n\n```ts\ntype FilterOperator = "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n```\n\n### `DynamicDateValue`\n\nDynamic date keywords that resolve to actual dates at runtime\n\n```ts\ntype DynamicDateValue = "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER"\n```\n\n### `ValueType`\n\nThe value to compare against - can be a single value (string, number, boolean, or dynamic date) or an array of values\n\n```ts\ntype ValueType = string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n```\n\n### `FlowsQueryRequest`\n\nRequest payload for executing a query against the Flows dataset. Supports filter conditions, sorting, grouping, and offset-based pagination.\n\n```ts\ntype FlowsQueryRequest = {\n filters?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n sorting?: {\n field: string\n direction?: "asc" | "desc"\n }\n group_by?: {\n field: "context_entity" | "phase"\n }\n from?: number\n size?: number\n}\n```\n\n### `FlowsQueryResult`\n\nPaginated result set returned from a Flows query. Each item in `results` is a workflow task record with dynamic fields depending on the dataset configuration.\n\n```ts\ntype FlowsQueryResult = {\n results?: Record<string, unknown>[]\n hits?: number\n page_number?: number\n page_size?: number\n total_pages?: number\n}\n```\n\n### `FilterItem`\n\n```ts\ntype FilterItem = {\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n}\n```\n';
4
+ var kanban_default = '# Kanban API\n\n- **Base URL:** `https://kanban.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/kanban](https://docs.epilot.io/api/kanban)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.kanban.createKanbanBoard(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/kanban\'\n\nconst kanbanClient = getClient()\nauthorize(kanbanClient, () => \'<token>\')\nconst { data } = await kanbanClient.createKanbanBoard(...)\n```\n\n## Operations\n\n**Kanban**\n- [`createKanbanBoard`](#createkanbanboard)\n- [`getKanbanBoards`](#getkanbanboards)\n- [`getKanbanBoard`](#getkanbanboard)\n- [`updateKanbanBoard`](#updatekanbanboard)\n- [`patchKanbanBoard`](#patchkanbanboard)\n- [`deleteKanbanBoard`](#deletekanbanboard)\n- [`setDefaultKanbanBoard`](#setdefaultkanbanboard)\n- [`clearDefaultKanbanBoard`](#cleardefaultkanbanboard)\n\n**Query**\n- [`flowsAutocomplete`](#flowsautocomplete)\n- [`executeFlowsQuery`](#executeflowsquery)\n\n**Schemas**\n- [`Error`](#error)\n- [`BoardSummary`](#boardsummary)\n- [`Board`](#board)\n- [`Swimlane`](#swimlane)\n- [`Sorting`](#sorting)\n- [`GroupBy`](#groupby)\n- [`BoardFilter`](#boardfilter)\n- [`FilterGroup`](#filtergroup)\n- [`FilterOperator`](#filteroperator)\n- [`DynamicDateValue`](#dynamicdatevalue)\n- [`ValueType`](#valuetype)\n- [`FlowsQueryRequest`](#flowsqueryrequest)\n- [`FlowsQueryResult`](#flowsqueryresult)\n- [`FilterItem`](#filteritem)\n\n### `createKanbanBoard`\n\nCreates a new Kanban board with the provided configuration.\n\n`POST /v1/kanban/board`\n\n```ts\nconst { data } = await client.createKanbanBoard(\n null,\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `getKanbanBoards`\n\nReturns a list of all Kanban boards accessible to the authenticated user.\n\n`GET /v1/kanban/boards`\n\n```ts\nconst { data } = await client.getKanbanBoards({\n filter: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"]\n }\n]\n```\n\n</details>\n\n---\n\n### `getKanbanBoard`\n\nRetrieves a Kanban board by ID, including its full configuration (swimlanes, filters, sorting, card fields).\n\n`GET /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.getKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `updateKanbanBoard`\n\nFully replaces the configuration of an existing Kanban board by ID.\n\n`PUT /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.updateKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `patchKanbanBoard`\n\nPartially updates fields of an existing Kanban board by ID.\n\n`PATCH /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.patchKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n title: \'Board 1\',\n description: \'Board description\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteKanbanBoard`\n\nPermanently deletes a Kanban board by ID. This action is irreversible.\n\n`DELETE /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.deleteKanbanBoard({\n boardId: \'example\',\n})\n```\n\n---\n\n### `setDefaultKanbanBoard`\n\nSets a Kanban board as the default board for the organization.\n\n`PUT /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.setDefaultKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `clearDefaultKanbanBoard`\n\nRemoves the default board configuration for the organization.\n\n`DELETE /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.clearDefaultKanbanBoard()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `flowsAutocomplete`\n\nReturns autocomplete suggestions for a given attribute in the Flows dataset.\n\n`GET /v1/kanban/query/flows:autocomplete`\n\n```ts\nconst { data } = await client.flowsAutocomplete({\n input: \'example\',\n attribute: \'example\',\n size: 1,\n from: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": ["value"],\n "hits": 42\n}\n```\n\n</details>\n\n---\n\n### `executeFlowsQuery`\n\nExecutes a query against the Flows dataset and returns paginated results for use in Kanban card rendering.\n\n`POST /v1/kanban/query/flows:execute`\n\n```ts\nconst { data } = await client.executeFlowsQuery(\n null,\n {\n filters: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n from: 0,\n size: 10\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {}\n ],\n "hits": 42,\n "page_number": 1,\n "page_size": 10,\n "total_pages": 5\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `Error`\n\nStandard error response\n\n```ts\ntype Error = {\n message?: string\n status?: number\n}\n```\n\n### `BoardSummary`\n\nSummary representation of a Kanban board, returned in list responses. Does not include swimlane and filter configuration details.\n\n```ts\ntype BoardSummary = {\n id?: string\n title?: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n}\n```\n\n### `Board`\n\nFull representation of a Kanban board, including swimlane layout, filter configuration, card display fields, and sorting options.\n\n```ts\ntype Board = {\n id?: string\n title: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n config: {\n dataset?: string\n swimlanes?: Array<{\n id?: { ... }\n title?: { ... }\n position?: { ... }\n filter?: { ... }\n title_chip_variant?: { ... }\n }>\n card_config?: {\n fields?: { ... }\n }\n board_filter?: {\n items: { ... }\n combination: { ... }\n }\n sorting?: {\n field: { ... }\n direction?: { ... }\n }\n group_by?: {\n field: { ... }\n }\n search_query?: string\n }\n}\n```\n\n### `Swimlane`\n\nA vertical column in a Kanban board that groups workflow tasks or entities matching its filter criteria. Each swimlane has an independent filter and a display position.\n\n```ts\ntype Swimlane = {\n id?: string\n title?: string\n position?: number\n filter?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n title_chip_variant?: string\n}\n```\n\n### `Sorting`\n\nDefines how query results should be sorted. Specify a field name and sort direction.\n\n```ts\ntype Sorting = {\n field: string\n direction?: "asc" | "desc"\n}\n```\n\n### `GroupBy`\n\nDefines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set.\n\n```ts\ntype GroupBy = {\n field: "context_entity" | "phase" | "task"\n}\n```\n\n### `BoardFilter`\n\nA filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).\n\n```ts\ntype BoardFilter = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n } | {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n }>\n combination: "AND" | "OR"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterGroup`\n\n```ts\ntype FilterGroup = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterOperator`\n\nThe comparison operator for filtering\n\n```ts\ntype FilterOperator = "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n```\n\n### `DynamicDateValue`\n\nDynamic date keywords that resolve to actual dates at runtime\n\n```ts\ntype DynamicDateValue = "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER"\n```\n\n### `ValueType`\n\nThe value to compare against - can be a single value (string, number, boolean, or dynamic date) or an array of values\n\n```ts\ntype ValueType = string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n```\n\n### `FlowsQueryRequest`\n\nRequest payload for executing a query against the Flows dataset. Supports filter conditions, sorting, grouping, and offset-based pagination.\n\n```ts\ntype FlowsQueryRequest = {\n filters?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n sorting?: {\n field: string\n direction?: "asc" | "desc"\n }\n group_by?: {\n field: "context_entity" | "phase" | "task"\n }\n from?: number\n size?: number\n}\n```\n\n### `FlowsQueryResult`\n\nPaginated result set returned from a Flows query. Each item in `results` is a workflow task record with dynamic fields depending on the dataset configuration.\n\n```ts\ntype FlowsQueryResult = {\n results?: Record<string, unknown>[]\n hits?: number\n page_number?: number\n page_size?: number\n total_pages?: number\n}\n```\n\n### `FilterItem`\n\n```ts\ntype FilterItem = {\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n}\n```\n';
5
5
  export {
6
6
  kanban_default as default
7
7
  };
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
2
 
3
3
  // src/docs/kanban.json
4
- var kanban_default = '# Kanban API\n\n- **Base URL:** `https://kanban.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/kanban](https://docs.epilot.io/api/kanban)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.kanban.createKanbanBoard(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/kanban\'\n\nconst kanbanClient = getClient()\nauthorize(kanbanClient, () => \'<token>\')\nconst { data } = await kanbanClient.createKanbanBoard(...)\n```\n\n## Operations\n\n**Kanban**\n- [`createKanbanBoard`](#createkanbanboard)\n- [`getKanbanBoards`](#getkanbanboards)\n- [`getKanbanBoard`](#getkanbanboard)\n- [`updateKanbanBoard`](#updatekanbanboard)\n- [`patchKanbanBoard`](#patchkanbanboard)\n- [`deleteKanbanBoard`](#deletekanbanboard)\n- [`setDefaultKanbanBoard`](#setdefaultkanbanboard)\n- [`clearDefaultKanbanBoard`](#cleardefaultkanbanboard)\n\n**Query**\n- [`flowsAutocomplete`](#flowsautocomplete)\n- [`executeFlowsQuery`](#executeflowsquery)\n\n**Schemas**\n- [`Error`](#error)\n- [`BoardSummary`](#boardsummary)\n- [`Board`](#board)\n- [`Swimlane`](#swimlane)\n- [`Sorting`](#sorting)\n- [`GroupBy`](#groupby)\n- [`BoardFilter`](#boardfilter)\n- [`FilterGroup`](#filtergroup)\n- [`FilterOperator`](#filteroperator)\n- [`DynamicDateValue`](#dynamicdatevalue)\n- [`ValueType`](#valuetype)\n- [`FlowsQueryRequest`](#flowsqueryrequest)\n- [`FlowsQueryResult`](#flowsqueryresult)\n- [`FilterItem`](#filteritem)\n\n### `createKanbanBoard`\n\nCreates a new Kanban board with the provided configuration.\n\n`POST /v1/kanban/board`\n\n```ts\nconst { data } = await client.createKanbanBoard(\n null,\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `getKanbanBoards`\n\nReturns a list of all Kanban boards accessible to the authenticated user.\n\n`GET /v1/kanban/boards`\n\n```ts\nconst { data } = await client.getKanbanBoards({\n filter: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"]\n }\n]\n```\n\n</details>\n\n---\n\n### `getKanbanBoard`\n\nRetrieves a Kanban board by ID, including its full configuration (swimlanes, filters, sorting, card fields).\n\n`GET /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.getKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `updateKanbanBoard`\n\nFully replaces the configuration of an existing Kanban board by ID.\n\n`PUT /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.updateKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `patchKanbanBoard`\n\nPartially updates fields of an existing Kanban board by ID.\n\n`PATCH /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.patchKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n title: \'Board 1\',\n description: \'Board description\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteKanbanBoard`\n\nPermanently deletes a Kanban board by ID. This action is irreversible.\n\n`DELETE /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.deleteKanbanBoard({\n boardId: \'example\',\n})\n```\n\n---\n\n### `setDefaultKanbanBoard`\n\nSets a Kanban board as the default board for the organization.\n\n`PUT /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.setDefaultKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `clearDefaultKanbanBoard`\n\nRemoves the default board configuration for the organization.\n\n`DELETE /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.clearDefaultKanbanBoard()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `flowsAutocomplete`\n\nReturns autocomplete suggestions for a given attribute in the Flows dataset.\n\n`GET /v1/kanban/query/flows:autocomplete`\n\n```ts\nconst { data } = await client.flowsAutocomplete({\n input: \'example\',\n attribute: \'example\',\n size: 1,\n from: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": ["value"],\n "hits": 42\n}\n```\n\n</details>\n\n---\n\n### `executeFlowsQuery`\n\nExecutes a query against the Flows dataset and returns paginated results for use in Kanban card rendering.\n\n`POST /v1/kanban/query/flows:execute`\n\n```ts\nconst { data } = await client.executeFlowsQuery(\n null,\n {\n filters: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n from: 0,\n size: 10\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {}\n ],\n "hits": 42,\n "page_number": 1,\n "page_size": 10,\n "total_pages": 5\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `Error`\n\nStandard error response\n\n```ts\ntype Error = {\n message?: string\n status?: number\n}\n```\n\n### `BoardSummary`\n\nSummary representation of a Kanban board, returned in list responses. Does not include swimlane and filter configuration details.\n\n```ts\ntype BoardSummary = {\n id?: string\n title?: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n}\n```\n\n### `Board`\n\nFull representation of a Kanban board, including swimlane layout, filter configuration, card display fields, and sorting options.\n\n```ts\ntype Board = {\n id?: string\n title: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n config: {\n dataset?: string\n swimlanes?: Array<{\n id?: { ... }\n title?: { ... }\n position?: { ... }\n filter?: { ... }\n title_chip_variant?: { ... }\n }>\n card_config?: {\n fields?: { ... }\n }\n board_filter?: {\n items: { ... }\n combination: { ... }\n }\n sorting?: {\n field: { ... }\n direction?: { ... }\n }\n group_by?: {\n field: { ... }\n }\n search_query?: string\n }\n}\n```\n\n### `Swimlane`\n\nA vertical column in a Kanban board that groups workflow tasks or entities matching its filter criteria. Each swimlane has an independent filter and a display position.\n\n```ts\ntype Swimlane = {\n id?: string\n title?: string\n position?: number\n filter?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n title_chip_variant?: string\n}\n```\n\n### `Sorting`\n\nDefines how query results should be sorted. Specify a field name and sort direction.\n\n```ts\ntype Sorting = {\n field: string\n direction?: "asc" | "desc"\n}\n```\n\n### `GroupBy`\n\nDefines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set.\n\n```ts\ntype GroupBy = {\n field: "context_entity" | "phase"\n}\n```\n\n### `BoardFilter`\n\nA filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).\n\n```ts\ntype BoardFilter = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n } | {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n }>\n combination: "AND" | "OR"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterGroup`\n\n```ts\ntype FilterGroup = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterOperator`\n\nThe comparison operator for filtering\n\n```ts\ntype FilterOperator = "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n```\n\n### `DynamicDateValue`\n\nDynamic date keywords that resolve to actual dates at runtime\n\n```ts\ntype DynamicDateValue = "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER"\n```\n\n### `ValueType`\n\nThe value to compare against - can be a single value (string, number, boolean, or dynamic date) or an array of values\n\n```ts\ntype ValueType = string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n```\n\n### `FlowsQueryRequest`\n\nRequest payload for executing a query against the Flows dataset. Supports filter conditions, sorting, grouping, and offset-based pagination.\n\n```ts\ntype FlowsQueryRequest = {\n filters?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n sorting?: {\n field: string\n direction?: "asc" | "desc"\n }\n group_by?: {\n field: "context_entity" | "phase"\n }\n from?: number\n size?: number\n}\n```\n\n### `FlowsQueryResult`\n\nPaginated result set returned from a Flows query. Each item in `results` is a workflow task record with dynamic fields depending on the dataset configuration.\n\n```ts\ntype FlowsQueryResult = {\n results?: Record<string, unknown>[]\n hits?: number\n page_number?: number\n page_size?: number\n total_pages?: number\n}\n```\n\n### `FilterItem`\n\n```ts\ntype FilterItem = {\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n}\n```\n';
4
+ var kanban_default = '# Kanban API\n\n- **Base URL:** `https://kanban.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/kanban](https://docs.epilot.io/api/kanban)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.kanban.createKanbanBoard(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/kanban\'\n\nconst kanbanClient = getClient()\nauthorize(kanbanClient, () => \'<token>\')\nconst { data } = await kanbanClient.createKanbanBoard(...)\n```\n\n## Operations\n\n**Kanban**\n- [`createKanbanBoard`](#createkanbanboard)\n- [`getKanbanBoards`](#getkanbanboards)\n- [`getKanbanBoard`](#getkanbanboard)\n- [`updateKanbanBoard`](#updatekanbanboard)\n- [`patchKanbanBoard`](#patchkanbanboard)\n- [`deleteKanbanBoard`](#deletekanbanboard)\n- [`setDefaultKanbanBoard`](#setdefaultkanbanboard)\n- [`clearDefaultKanbanBoard`](#cleardefaultkanbanboard)\n\n**Query**\n- [`flowsAutocomplete`](#flowsautocomplete)\n- [`executeFlowsQuery`](#executeflowsquery)\n\n**Schemas**\n- [`Error`](#error)\n- [`BoardSummary`](#boardsummary)\n- [`Board`](#board)\n- [`Swimlane`](#swimlane)\n- [`Sorting`](#sorting)\n- [`GroupBy`](#groupby)\n- [`BoardFilter`](#boardfilter)\n- [`FilterGroup`](#filtergroup)\n- [`FilterOperator`](#filteroperator)\n- [`DynamicDateValue`](#dynamicdatevalue)\n- [`ValueType`](#valuetype)\n- [`FlowsQueryRequest`](#flowsqueryrequest)\n- [`FlowsQueryResult`](#flowsqueryresult)\n- [`FilterItem`](#filteritem)\n\n### `createKanbanBoard`\n\nCreates a new Kanban board with the provided configuration.\n\n`POST /v1/kanban/board`\n\n```ts\nconst { data } = await client.createKanbanBoard(\n null,\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `getKanbanBoards`\n\nReturns a list of all Kanban boards accessible to the authenticated user.\n\n`GET /v1/kanban/boards`\n\n```ts\nconst { data } = await client.getKanbanBoards({\n filter: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"]\n }\n]\n```\n\n</details>\n\n---\n\n### `getKanbanBoard`\n\nRetrieves a Kanban board by ID, including its full configuration (swimlanes, filters, sorting, card fields).\n\n`GET /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.getKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `updateKanbanBoard`\n\nFully replaces the configuration of an existing Kanban board by ID.\n\n`PUT /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.updateKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `patchKanbanBoard`\n\nPartially updates fields of an existing Kanban board by ID.\n\n`PATCH /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.patchKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n title: \'Board 1\',\n description: \'Board description\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteKanbanBoard`\n\nPermanently deletes a Kanban board by ID. This action is irreversible.\n\n`DELETE /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.deleteKanbanBoard({\n boardId: \'example\',\n})\n```\n\n---\n\n### `setDefaultKanbanBoard`\n\nSets a Kanban board as the default board for the organization.\n\n`PUT /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.setDefaultKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `clearDefaultKanbanBoard`\n\nRemoves the default board configuration for the organization.\n\n`DELETE /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.clearDefaultKanbanBoard()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `flowsAutocomplete`\n\nReturns autocomplete suggestions for a given attribute in the Flows dataset.\n\n`GET /v1/kanban/query/flows:autocomplete`\n\n```ts\nconst { data } = await client.flowsAutocomplete({\n input: \'example\',\n attribute: \'example\',\n size: 1,\n from: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": ["value"],\n "hits": 42\n}\n```\n\n</details>\n\n---\n\n### `executeFlowsQuery`\n\nExecutes a query against the Flows dataset and returns paginated results for use in Kanban card rendering.\n\n`POST /v1/kanban/query/flows:execute`\n\n```ts\nconst { data } = await client.executeFlowsQuery(\n null,\n {\n filters: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n from: 0,\n size: 10\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {}\n ],\n "hits": 42,\n "page_number": 1,\n "page_size": 10,\n "total_pages": 5\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `Error`\n\nStandard error response\n\n```ts\ntype Error = {\n message?: string\n status?: number\n}\n```\n\n### `BoardSummary`\n\nSummary representation of a Kanban board, returned in list responses. Does not include swimlane and filter configuration details.\n\n```ts\ntype BoardSummary = {\n id?: string\n title?: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n}\n```\n\n### `Board`\n\nFull representation of a Kanban board, including swimlane layout, filter configuration, card display fields, and sorting options.\n\n```ts\ntype Board = {\n id?: string\n title: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n config: {\n dataset?: string\n swimlanes?: Array<{\n id?: { ... }\n title?: { ... }\n position?: { ... }\n filter?: { ... }\n title_chip_variant?: { ... }\n }>\n card_config?: {\n fields?: { ... }\n }\n board_filter?: {\n items: { ... }\n combination: { ... }\n }\n sorting?: {\n field: { ... }\n direction?: { ... }\n }\n group_by?: {\n field: { ... }\n }\n search_query?: string\n }\n}\n```\n\n### `Swimlane`\n\nA vertical column in a Kanban board that groups workflow tasks or entities matching its filter criteria. Each swimlane has an independent filter and a display position.\n\n```ts\ntype Swimlane = {\n id?: string\n title?: string\n position?: number\n filter?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n title_chip_variant?: string\n}\n```\n\n### `Sorting`\n\nDefines how query results should be sorted. Specify a field name and sort direction.\n\n```ts\ntype Sorting = {\n field: string\n direction?: "asc" | "desc"\n}\n```\n\n### `GroupBy`\n\nDefines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set.\n\n```ts\ntype GroupBy = {\n field: "context_entity" | "phase" | "task"\n}\n```\n\n### `BoardFilter`\n\nA filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).\n\n```ts\ntype BoardFilter = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n } | {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n }>\n combination: "AND" | "OR"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterGroup`\n\n```ts\ntype FilterGroup = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterOperator`\n\nThe comparison operator for filtering\n\n```ts\ntype FilterOperator = "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n```\n\n### `DynamicDateValue`\n\nDynamic date keywords that resolve to actual dates at runtime\n\n```ts\ntype DynamicDateValue = "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER"\n```\n\n### `ValueType`\n\nThe value to compare against - can be a single value (string, number, boolean, or dynamic date) or an array of values\n\n```ts\ntype ValueType = string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n```\n\n### `FlowsQueryRequest`\n\nRequest payload for executing a query against the Flows dataset. Supports filter conditions, sorting, grouping, and offset-based pagination.\n\n```ts\ntype FlowsQueryRequest = {\n filters?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n sorting?: {\n field: string\n direction?: "asc" | "desc"\n }\n group_by?: {\n field: "context_entity" | "phase" | "task"\n }\n from?: number\n size?: number\n}\n```\n\n### `FlowsQueryResult`\n\nPaginated result set returned from a Flows query. Each item in `results` is a workflow task record with dynamic fields depending on the dataset configuration.\n\n```ts\ntype FlowsQueryResult = {\n results?: Record<string, unknown>[]\n hits?: number\n page_number?: number\n page_size?: number\n total_pages?: number\n}\n```\n\n### `FilterItem`\n\n```ts\ntype FilterItem = {\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n}\n```\n';
5
5
 
6
6
 
7
7
  exports.default = kanban_default;
@@ -217,7 +217,7 @@ declare namespace Components {
217
217
  /**
218
218
  * Property to group tasks by within each swimlane
219
219
  */
220
- field: "context_entity" | "phase";
220
+ field: "context_entity" | "phase" | "task";
221
221
  }
222
222
  /**
223
223
  * Defines how query results should be sorted. Specify a field name and sort direction.
@@ -217,7 +217,7 @@ declare namespace Components {
217
217
  /**
218
218
  * Property to group tasks by within each swimlane
219
219
  */
220
- field: "context_entity" | "phase";
220
+ field: "context_entity" | "phase" | "task";
221
221
  }
222
222
  /**
223
223
  * Defines how query results should be sorted. Specify a field name and sort direction.
package/docs/kanban.md CHANGED
@@ -798,7 +798,7 @@ Defines how tasks should be grouped within each swimlane. Tasks with the same gr
798
798
 
799
799
  ```ts
800
800
  type GroupBy = {
801
- field: "context_entity" | "phase"
801
+ field: "context_entity" | "phase" | "task"
802
802
  }
803
803
  ```
804
804
 
@@ -887,7 +887,7 @@ type FlowsQueryRequest = {
887
887
  direction?: "asc" | "desc"
888
888
  }
889
889
  group_by?: {
890
- field: "context_entity" | "phase"
890
+ field: "context_entity" | "phase" | "task"
891
891
  }
892
892
  from?: number
893
893
  size?: number
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/sdk",
3
- "version": "2.4.1",
3
+ "version": "2.4.2",
4
4
  "description": "JavaScript/TypeScript SDK for epilot APIs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",