@epilot/sdk 2.18.17 → 2.18.19

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 (131) hide show
  1. package/definitions/app.json +34 -17
  2. package/definitions/calendar.json +18 -4
  3. package/dist/apis/access-token.cjs +6 -6
  4. package/dist/apis/access-token.js +1 -1
  5. package/dist/apis/address-suggestions.cjs +6 -6
  6. package/dist/apis/address-suggestions.js +1 -1
  7. package/dist/apis/address.cjs +6 -6
  8. package/dist/apis/address.js +1 -1
  9. package/dist/apis/ai-agents.cjs +6 -6
  10. package/dist/apis/ai-agents.js +1 -1
  11. package/dist/apis/app.cjs +6 -6
  12. package/dist/apis/app.d.cts +2 -2
  13. package/dist/apis/app.d.ts +2 -2
  14. package/dist/apis/app.js +1 -1
  15. package/dist/apis/audit-logs.cjs +6 -6
  16. package/dist/apis/audit-logs.js +1 -1
  17. package/dist/apis/automation.cjs +6 -6
  18. package/dist/apis/automation.js +1 -1
  19. package/dist/apis/billing.cjs +6 -6
  20. package/dist/apis/billing.js +1 -1
  21. package/dist/apis/blueprint-manifest.cjs +6 -6
  22. package/dist/apis/blueprint-manifest.js +1 -1
  23. package/dist/apis/calendar.cjs +6 -6
  24. package/dist/apis/calendar.d.cts +2 -2
  25. package/dist/apis/calendar.d.ts +2 -2
  26. package/dist/apis/calendar.js +1 -1
  27. package/dist/apis/configuration-hub.cjs +6 -6
  28. package/dist/apis/configuration-hub.js +1 -1
  29. package/dist/apis/consent.cjs +6 -6
  30. package/dist/apis/consent.js +1 -1
  31. package/dist/apis/customer-portal.cjs +6 -6
  32. package/dist/apis/customer-portal.js +1 -1
  33. package/dist/apis/dashboard.cjs +6 -6
  34. package/dist/apis/dashboard.js +1 -1
  35. package/dist/apis/data-governance.cjs +6 -6
  36. package/dist/apis/data-governance.js +1 -1
  37. package/dist/apis/deduplication.cjs +6 -6
  38. package/dist/apis/deduplication.js +1 -1
  39. package/dist/apis/design.cjs +6 -6
  40. package/dist/apis/design.js +1 -1
  41. package/dist/apis/document.cjs +6 -6
  42. package/dist/apis/document.js +1 -1
  43. package/dist/apis/email-settings.cjs +6 -6
  44. package/dist/apis/email-settings.js +1 -1
  45. package/dist/apis/email-template.cjs +6 -6
  46. package/dist/apis/email-template.js +1 -1
  47. package/dist/apis/entity-mapping.cjs +6 -6
  48. package/dist/apis/entity-mapping.js +1 -1
  49. package/dist/apis/entity.cjs +6 -6
  50. package/dist/apis/entity.js +1 -1
  51. package/dist/apis/environments.cjs +6 -6
  52. package/dist/apis/environments.js +1 -1
  53. package/dist/apis/event-catalog.cjs +6 -6
  54. package/dist/apis/event-catalog.js +1 -1
  55. package/dist/apis/file.cjs +6 -6
  56. package/dist/apis/file.js +1 -1
  57. package/dist/apis/iban.cjs +6 -6
  58. package/dist/apis/iban.js +1 -1
  59. package/dist/apis/integration-toolkit.cjs +6 -6
  60. package/dist/apis/integration-toolkit.js +1 -1
  61. package/dist/apis/journey.cjs +6 -6
  62. package/dist/apis/journey.js +1 -1
  63. package/dist/apis/kanban.cjs +6 -6
  64. package/dist/apis/kanban.js +1 -1
  65. package/dist/apis/message.cjs +6 -6
  66. package/dist/apis/message.js +1 -1
  67. package/dist/apis/metering.cjs +6 -6
  68. package/dist/apis/metering.js +1 -1
  69. package/dist/apis/notes.cjs +6 -6
  70. package/dist/apis/notes.js +1 -1
  71. package/dist/apis/notification.cjs +6 -6
  72. package/dist/apis/notification.js +1 -1
  73. package/dist/apis/organization.cjs +6 -6
  74. package/dist/apis/organization.js +1 -1
  75. package/dist/apis/partner-directory.cjs +6 -6
  76. package/dist/apis/partner-directory.js +1 -1
  77. package/dist/apis/permissions.cjs +6 -6
  78. package/dist/apis/permissions.js +1 -1
  79. package/dist/apis/pricing-tier.cjs +6 -6
  80. package/dist/apis/pricing-tier.js +1 -1
  81. package/dist/apis/pricing.cjs +6 -6
  82. package/dist/apis/pricing.js +1 -1
  83. package/dist/apis/purpose.cjs +6 -6
  84. package/dist/apis/purpose.js +1 -1
  85. package/dist/apis/query.cjs +6 -6
  86. package/dist/apis/query.js +1 -1
  87. package/dist/apis/sandbox.cjs +6 -6
  88. package/dist/apis/sandbox.js +1 -1
  89. package/dist/apis/sharing.cjs +6 -6
  90. package/dist/apis/sharing.js +1 -1
  91. package/dist/apis/snapshot.cjs +6 -6
  92. package/dist/apis/snapshot.js +1 -1
  93. package/dist/apis/submission.cjs +6 -6
  94. package/dist/apis/submission.js +1 -1
  95. package/dist/apis/target.cjs +6 -6
  96. package/dist/apis/target.js +1 -1
  97. package/dist/apis/targeting.cjs +6 -6
  98. package/dist/apis/targeting.js +1 -1
  99. package/dist/apis/template-variables.cjs +6 -6
  100. package/dist/apis/template-variables.js +1 -1
  101. package/dist/apis/user.cjs +6 -6
  102. package/dist/apis/user.js +1 -1
  103. package/dist/apis/validation-rules.cjs +6 -6
  104. package/dist/apis/validation-rules.js +1 -1
  105. package/dist/apis/webhooks.cjs +6 -6
  106. package/dist/apis/webhooks.js +1 -1
  107. package/dist/apis/workflow-definition.cjs +6 -6
  108. package/dist/apis/workflow-definition.js +1 -1
  109. package/dist/apis/workflow.cjs +6 -6
  110. package/dist/apis/workflow.js +1 -1
  111. package/dist/app-IXCUVIHD.js +7 -0
  112. package/dist/app-RKHOTF7Z.cjs +7 -0
  113. package/dist/{app.d-vPrbhe5h.d.cts → app.d-CZDjyxee.d.cts} +22 -15
  114. package/dist/{app.d-vPrbhe5h.d.ts → app.d-CZDjyxee.d.ts} +22 -15
  115. package/dist/calendar-2H4RGMV3.js +7 -0
  116. package/dist/calendar-UADWQX7G.cjs +7 -0
  117. package/dist/{calendar.d-Cz8R-GJ5.d.cts → calendar.d-mk-ltGpk.d.cts} +10 -5
  118. package/dist/{calendar.d-Cz8R-GJ5.d.ts → calendar.d-mk-ltGpk.d.ts} +10 -5
  119. package/dist/{chunk-LPUT63UQ.cjs → chunk-ELTL6P4A.cjs} +2 -2
  120. package/dist/{chunk-TQCQYO4X.js → chunk-YQ5ZNKOC.js} +2 -2
  121. package/dist/index.cjs +8 -8
  122. package/dist/index.d.cts +2 -2
  123. package/dist/index.d.ts +2 -2
  124. package/dist/index.js +1 -1
  125. package/docs/app.md +43 -88
  126. package/docs/calendar.md +8 -2
  127. package/package.json +1 -1
  128. package/dist/app-A7P5LKNL.cjs +0 -7
  129. package/dist/app-EEEBOCVZ.js +0 -7
  130. package/dist/calendar-EMNHW6ME.cjs +0 -7
  131. package/dist/calendar-PZFEAXYE.js +0 -7
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
+
3
+ // src/docs/calendar.json
4
+ var calendar_default = '# Calendar API\n\n- **Base URL:** `https://calendar.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/calendar](https://docs.epilot.io/api/calendar)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.calendar.listUsersAbsence(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/calendar\'\n\nconst calendarClient = getClient()\nauthorize(calendarClient, () => \'<token>\')\nconst { data } = await calendarClient.listUsersAbsence(...)\n```\n\n## Operations\n\n**Absence**\n- [`listUsersAbsence`](#listusersabsence)\n- [`searchAbsence`](#searchabsence)\n- [`searchNowAbsence`](#searchnowabsence)\n- [`listAbsenceAdjustments`](#listabsenceadjustments)\n- [`createAbsenceAdjustment`](#createabsenceadjustment)\n- [`getAbsenceAdjustment`](#getabsenceadjustment)\n- [`patchAbsenceAdjustment`](#patchabsenceadjustment)\n- [`deleteAbsenceAdjustment`](#deleteabsenceadjustment)\n- [`getUserAbsence`](#getuserabsence)\n\n**Working Hours**\n- [`getWorkingHours`](#getworkinghours)\n- [`putWorkingHours`](#putworkinghours)\n- [`deleteWorkingHours`](#deleteworkinghours)\n\n**Calendars**\n- [`listCalendars`](#listcalendars)\n- [`createCalendar`](#createcalendar)\n- [`addOutlookCalendar`](#addoutlookcalendar)\n- [`listOutlookCalendars`](#listoutlookcalendars)\n- [`deleteOutlookCalendar`](#deleteoutlookcalendar)\n- [`outlookWebhook`](#outlookwebhook)\n- [`getCalendar`](#getcalendar)\n- [`updateCalendar`](#updatecalendar)\n- [`deleteCalendar`](#deletecalendar)\n\n**Calendar Events**\n- [`listEvents`](#listevents)\n- [`createEvent`](#createevent)\n- [`getEvent`](#getevent)\n- [`updateEvent`](#updateevent)\n- [`deleteEvent`](#deleteevent)\n- [`shareEvent`](#shareevent)\n- [`unshareEvent`](#unshareevent)\n\n**Schemas**\n- [`AbsenceInterval`](#absenceinterval)\n- [`AbsenceIntervalSource`](#absenceintervalsource)\n- [`Error`](#error)\n- [`SearchAbsenceBody`](#searchabsencebody)\n- [`SearchNowAbsenceBody`](#searchnowabsencebody)\n- [`AbsenceAdjustment`](#absenceadjustment)\n- [`AbsenceStatus`](#absencestatus)\n- [`AbsenceType`](#absencetype)\n- [`CreateAbsenceAdjustmentBody`](#createabsenceadjustmentbody)\n- [`PatchAbsenceAdjustmentBody`](#patchabsenceadjustmentbody)\n- [`ExternalCalendar`](#externalcalendar)\n- [`WorkingHours`](#workinghours)\n- [`UpsertWorkingHoursBody`](#upsertworkinghoursbody)\n- [`TimeWindow`](#timewindow)\n- [`Calendar`](#calendar)\n- [`CalendarSource`](#calendarsource)\n- [`Provider`](#provider)\n- [`CalendarCreateBody`](#calendarcreatebody)\n- [`AddOutlookCalendarRequest`](#addoutlookcalendarrequest)\n- [`AvailableOutlookCalendar`](#availableoutlookcalendar)\n- [`CalendarPatchBody`](#calendarpatchbody)\n- [`CalendarEvent`](#calendarevent)\n- [`EventType`](#eventtype)\n- [`EventStatus`](#eventstatus)\n- [`Sensitivity`](#sensitivity)\n- [`Importance`](#importance)\n- [`ResponseStatus`](#responsestatus)\n- [`Attendee`](#attendee)\n- [`EventSource`](#eventsource)\n- [`CalendarEventCreateBody`](#calendareventcreatebody)\n- [`CalendarEventPatchBody`](#calendareventpatchbody)\n- [`ShareEventBody`](#shareeventbody)\n\n### `listUsersAbsence`\n\nList organization users with known absence metadata in the requested time window.\n\n`GET /v1/calendar/absence/users`\n\n```ts\nconst { data } = await client.listUsersAbsence({\n from: \'example\',\n to: \'example\',\n include_busy: true,\n working_hours_granularity: \'example\',\n query: \'example\',\n limit: 1,\n offset: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "hits": 0,\n "results": [\n {\n "absent": true,\n "absence_intervals": [\n {\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "original_from": "1970-01-01T00:00:00.000Z",\n "original_to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "source": "calendar_event",\n "calendar_event_id": "string",\n "absence_adjustment_id": "string",\n "reason": "string"\n }\n ],\n "user_id": "string",\n "display_name": "string",\n "email": "user@example.com",\n "status": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `searchAbsence`\n\nSearch known absence for candidate users in the requested time window.\n\n`POST /v1/calendar/absence:search`\n\n```ts\nconst { data } = await client.searchAbsence(\n null,\n {\n from: \'1970-01-01T00:00:00.000Z\',\n to: \'1970-01-01T00:00:00.000Z\',\n user_ids: [\'string\'],\n include_busy: false,\n working_hours_granularity: \'time\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "users": {}\n}\n```\n\n</details>\n\n---\n\n### `searchNowAbsence`\n\nSearch known absence for candidate users at the current server time.\n\n`POST /v1/calendar/absence:search-now`\n\n```ts\nconst { data } = await client.searchNowAbsence(\n null,\n {\n user_ids: [\'string\'],\n include_busy: false,\n working_hours_granularity: \'time\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "users": {}\n}\n```\n\n</details>\n\n---\n\n### `listAbsenceAdjustments`\n\nList absence adjustments for a user in a time window.\n\n`GET /v1/calendar/absence/users/{user_id}/adjustments`\n\n```ts\nconst { data } = await client.listAbsenceAdjustments({\n user_id: \'example\',\n from: \'example\',\n to: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "results": [\n {\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createAbsenceAdjustment`\n\nCreate a time-bound absence adjustment for a user in the caller organization.\n\n`POST /v1/calendar/absence/users/{user_id}/adjustments`\n\n```ts\nconst { data } = await client.createAbsenceAdjustment(\n {\n user_id: \'example\',\n },\n {\n from: \'1970-01-01T00:00:00.000Z\',\n to: \'1970-01-01T00:00:00.000Z\',\n absent: true,\n status: \'oof\',\n type: \'string\',\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getAbsenceAdjustment`\n\nGet an absence adjustment by ID.\n\n`GET /v1/calendar/absence/users/{user_id}/adjustments/{adjustment_id}`\n\n```ts\nconst { data } = await client.getAbsenceAdjustment({\n user_id: \'example\',\n adjustment_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `patchAbsenceAdjustment`\n\nUpdate an absence adjustment in the caller organization.\n\n`PATCH /v1/calendar/absence/users/{user_id}/adjustments/{adjustment_id}`\n\n```ts\nconst { data } = await client.patchAbsenceAdjustment(\n {\n user_id: \'example\',\n adjustment_id: \'example\',\n },\n {\n from: \'1970-01-01T00:00:00.000Z\',\n to: \'1970-01-01T00:00:00.000Z\',\n absent: true,\n status: \'oof\',\n type: \'string\',\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteAbsenceAdjustment`\n\nDelete an absence adjustment.\n\n`DELETE /v1/calendar/absence/users/{user_id}/adjustments/{adjustment_id}`\n\n```ts\nconst { data } = await client.deleteAbsenceAdjustment({\n user_id: \'example\',\n adjustment_id: \'example\',\n})\n```\n\n---\n\n### `getUserAbsence`\n\nGet known absence for a user in a time window. absent=false means no known absence, not guaranteed availability.\n\n`GET /v1/calendar/absence/users/{user_id}`\n\n```ts\nconst { data } = await client.getUserAbsence({\n user_id: \'example\',\n from: \'example\',\n to: \'example\',\n include_busy: true,\n working_hours_granularity: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "absent": true,\n "absence_intervals": [\n {\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "original_from": "1970-01-01T00:00:00.000Z",\n "original_to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "source": "calendar_event",\n "calendar_event_id": "string",\n "absence_adjustment_id": "string",\n "reason": "string"\n }\n ],\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "user_id": "string",\n "external_calendars": [\n {\n "provider": "outlook",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getWorkingHours`\n\nGet the recurring weekly working hours of a user. 404 means no record exists and the user is treated as always available.\n\n`GET /v1/calendar/working-hours/users/{user_id}`\n\n```ts\nconst { data } = await client.getWorkingHours({\n user_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "monday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "tuesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "wednesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "thursday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "friday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "saturday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "sunday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "timezone": "string",\n "user_id": "string",\n "updated_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `putWorkingHours`\n\nCreate or fully replace the working hours of a user in the caller organization. This is a full replace, not a merge.\n\n`PUT /v1/calendar/working-hours/users/{user_id}`\n\n```ts\nconst { data } = await client.putWorkingHours(\n {\n user_id: \'example\',\n },\n {\n monday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n tuesday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n wednesday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n thursday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n friday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n saturday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n sunday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n timezone: \'Europe/Berlin\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "monday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "tuesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "wednesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "thursday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "friday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "saturday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "sunday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "timezone": "string",\n "user_id": "string",\n "updated_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteWorkingHours`\n\nDelete the working hours of a user. The user is then treated as always available again.\n\n`DELETE /v1/calendar/working-hours/users/{user_id}`\n\n```ts\nconst { data } = await client.deleteWorkingHours({\n user_id: \'example\',\n})\n```\n\n---\n\n### `listCalendars`\n\nList calendars visible to the caller.\n\n`GET /v1/calendar`\n\n```ts\nconst { data } = await client.listCalendars({\n size: 1,\n cursor: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "is_epilot_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `createCalendar`\n\nCreate a native epilot calendar.\n\n`POST /v1/calendar`\n\n```ts\nconst { data } = await client.createCalendar(\n null,\n {\n name: \'string\',\n description: \'string\',\n color: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "is_epilot_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `addOutlookCalendar`\n\nRegisters one of the caller\'s Outlook calendars as an epilot calendar.\n\n`POST /v1/calendar/sources/outlook`\n\n```ts\nconst { data } = await client.addOutlookCalendar(\n null,\n {\n provider_calendar_id: \'string\',\n name: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "is_epilot_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `listOutlookCalendars`\n\nLists the calling user\'s Outlook calendars available to import as epilot calendars.\n\n`GET /v1/calendar/sources/outlook/available`\n\n```ts\nconst { data } = await client.listOutlookCalendars()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "calendars": [\n {\n "provider_calendar_id": "string",\n "name": "string",\n "color": "string",\n "is_default": true,\n "can_edit": true,\n "owner": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deleteOutlookCalendar`\n\nDisconnects a previously registered Outlook calendar.\n\n`DELETE /v1/calendar/sources/outlook/{calendar_id}`\n\n```ts\nconst { data } = await client.deleteOutlookCalendar({\n calendar_id: \'example\',\n})\n```\n\n---\n\n### `outlookWebhook`\n\nPublic Microsoft Graph webhook receiver for per-user Outlook calendar\nsubscriptions. Unauthenticated by design (API Gateway `Authorizer: NONE`):\nGraph calls it with no epilot token.\n\n`POST /v1/calendar/outlook/webhook`\n\n```ts\nconst { data } = await client.outlookWebhook({\n validationToken: \'example\',\n})\n```\n\n---\n\n### `getCalendar`\n\nGet a single calendar by its epilot ID.\n\n`GET /v1/calendar/{calendar_id}`\n\n```ts\nconst { data } = await client.getCalendar({\n calendar_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "is_epilot_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateCalendar`\n\nUpdate local calendar details. Changes to synced calendars do not modify the provider calendar.\n\n`PATCH /v1/calendar/{calendar_id}`\n\n```ts\nconst { data } = await client.updateCalendar(\n {\n calendar_id: \'example\',\n },\n {\n name: \'string\',\n description: \'string\',\n color: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "is_epilot_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteCalendar`\n\nDelete a native epilot calendar or disconnect a synced calendar, including its locally stored events.\n\n`DELETE /v1/calendar/{calendar_id}`\n\n```ts\nconst { data } = await client.deleteCalendar({\n calendar_id: \'example\',\n})\n```\n\n---\n\n### `listEvents`\n\nList events in a time window. Recurring events are returned as expanded occurrences \u2013 each instance appears as its own event.\n\n`GET /v1/calendar/events`\n\n```ts\nconst { data } = await client.listEvents({\n from: \'example\',\n to: \'example\',\n calendar_id: \'example\',\n size: 1,\n cursor: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `createEvent`\n\nCreate a native epilot calendar event. Omit `calendar_id` to use the caller\u2019s epilot default calendar.\n\n`POST /v1/calendar/events`\n\n```ts\nconst { data } = await client.createEvent(\n null,\n {\n calendar_id: \'string\',\n description: \'string\',\n start_time: \'1970-01-01T00:00:00.000Z\',\n end_time: \'1970-01-01T00:00:00.000Z\',\n timezone: \'string\',\n is_all_day: true,\n location: \'string\',\n status: \'free\',\n sensitivity: \'normal\',\n metadata: {},\n _title: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getEvent`\n\nGet a single event by its epilot ID.\n\n`GET /v1/calendar/events/{event_id}`\n\n```ts\nconst { data } = await client.getEvent({\n event_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateEvent`\n\nUpdate a native epilot calendar event.\n\n`PATCH /v1/calendar/events/{event_id}`\n\n```ts\nconst { data } = await client.updateEvent(\n {\n event_id: \'example\',\n },\n {\n description: \'string\',\n start_time: \'1970-01-01T00:00:00.000Z\',\n end_time: \'1970-01-01T00:00:00.000Z\',\n timezone: \'string\',\n is_all_day: true,\n location: \'string\',\n status: \'free\',\n is_cancelled: true,\n sensitivity: \'normal\',\n _title: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteEvent`\n\nDelete a native epilot calendar event.\n\n`DELETE /v1/calendar/events/{event_id}`\n\n```ts\nconst { data } = await client.deleteEvent({\n event_id: \'example\',\n})\n```\n\n---\n\n### `shareEvent`\n\nShare a calendar event with another user of the same organization, view-only. Owner-only: recipients of a share cannot re-share. Sharing an already-shared event is a no-op.\n\n`POST /v1/calendar/events/{event_id}/share`\n\n```ts\nconst { data } = await client.shareEvent(\n {\n event_id: \'example\',\n },\n {\n user_id: \'string\'\n },\n)\n```\n\n---\n\n### `unshareEvent`\n\nRevoke a per-event share. The recipient loses access immediately. Owner-only.\n\n`DELETE /v1/calendar/events/{event_id}/share/{user_id}`\n\n```ts\nconst { data } = await client.unshareEvent({\n event_id: \'example\',\n user_id: \'example\',\n})\n```\n\n---\n\n## Schemas\n\n### `AbsenceInterval`\n\n```ts\ntype AbsenceInterval = {\n from: string // date-time\n to: string // date-time\n original_from: string // date-time\n original_to: string // date-time\n absent: boolean\n source: "calendar_event" | "absence_adjustment" | "working_hours"\n calendar_event_id?: string\n absence_adjustment_id?: string\n reason?: string\n}\n```\n\n### `AbsenceIntervalSource`\n\n```ts\ntype AbsenceIntervalSource = "calendar_event" | "absence_adjustment" | "working_hours"\n```\n\n### `Error`\n\n```ts\ntype Error = {\n status: number\n error: string | unknown[]\n}\n```\n\n### `SearchAbsenceBody`\n\n```ts\ntype SearchAbsenceBody = {\n from: string // date-time\n to: string // date-time\n user_ids: string[]\n include_busy?: boolean\n working_hours_granularity?: "time" | "day"\n}\n```\n\n### `SearchNowAbsenceBody`\n\n```ts\ntype SearchNowAbsenceBody = {\n user_ids: string[]\n include_busy?: boolean\n working_hours_granularity?: "time" | "day"\n}\n```\n\n### `AbsenceAdjustment`\n\n```ts\ntype AbsenceAdjustment = {\n from: string // date-time\n to: string // date-time\n absent: boolean\n status: "oof" | "busy"\n type?: string\n reason?: string\n adjustment_id: string\n user_id: string\n created_by: string\n created_at: string // date-time\n updated_at: string // date-time\n}\n```\n\n### `AbsenceStatus`\n\nCalendar status targeted by the absence adjustment.\n\n```ts\ntype AbsenceStatus = "oof" | "busy"\n```\n\n### `AbsenceType`\n\nOptional producer-defined reference stored with an absence adjustment.\n\n```ts\ntype AbsenceType = string\n```\n\n### `CreateAbsenceAdjustmentBody`\n\n```ts\ntype CreateAbsenceAdjustmentBody = {\n from: string // date-time\n to: string // date-time\n absent: boolean\n status: "oof" | "busy"\n type?: string\n reason?: string\n}\n```\n\n### `PatchAbsenceAdjustmentBody`\n\n```ts\ntype PatchAbsenceAdjustmentBody = {\n from?: string // date-time\n to?: string // date-time\n absent?: boolean\n status?: "oof" | "busy"\n type?: string\n reason?: string\n}\n```\n\n### `ExternalCalendar`\n\n```ts\ntype ExternalCalendar = {\n provider: "outlook" | "google"\n last_synced_at: string // date-time\n}\n```\n\n### `WorkingHours`\n\nRecurring weekly working hours of a user. The absence of a record means the user is treated as always available.\n\n```ts\ntype WorkingHours = {\n monday: Array<{\n start: string\n end: string\n }>\n tuesday: Array<{\n start: string\n end: string\n }>\n wednesday: Array<{\n start: string\n end: string\n }>\n thursday: Array<{\n start: string\n end: string\n }>\n friday: Array<{\n start: string\n end: string\n }>\n saturday: Array<{\n start: string\n end: string\n }>\n sunday: Array<{\n start: string\n end: string\n }>\n timezone: string\n user_id: string\n updated_by: string\n created_at: string // date-time\n updated_at: string // date-time\n}\n```\n\n### `UpsertWorkingHoursBody`\n\nFull replacement of the working-hours record. All weekdays are required; an empty array means a day off. Users without a working-hours record are treated as always available.\n\n```ts\ntype UpsertWorkingHoursBody = {\n monday: Array<{\n start: string\n end: string\n }>\n tuesday: Array<{\n start: string\n end: string\n }>\n wednesday: Array<{\n start: string\n end: string\n }>\n thursday: Array<{\n start: string\n end: string\n }>\n friday: Array<{\n start: string\n end: string\n }>\n saturday: Array<{\n start: string\n end: string\n }>\n sunday: Array<{\n start: string\n end: string\n }>\n timezone?: string\n}\n```\n\n### `TimeWindow`\n\nA wall-clock working window within a single day.\n\n```ts\ntype TimeWindow = {\n start: string\n end: string\n}\n```\n\n### `Calendar`\n\n```ts\ntype Calendar = {\n _id: string\n _schema: "calendar"\n _org: string\n _title?: string\n name: string\n description?: string\n color?: string\n is_default: boolean\n is_epilot_default: boolean\n read_only: boolean\n owner_email?: string // email\n source: {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_calendar_id?: string\n last_synced_at?: string // date-time\n }\n _created_at?: string // date-time\n _updated_at?: string // date-time\n}\n```\n\n### `CalendarSource`\n\n```ts\ntype CalendarSource = {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_calendar_id?: string\n last_synced_at?: string // date-time\n}\n```\n\n### `Provider`\n\nNull for native epilot calendars\n\n```ts\ntype Provider = "outlook" | "google" | null\n```\n\n### `CalendarCreateBody`\n\n```ts\ntype CalendarCreateBody = {\n name: string\n description?: string\n color?: string\n}\n```\n\n### `AddOutlookCalendarRequest`\n\n```ts\ntype AddOutlookCalendarRequest = {\n provider_calendar_id: string\n name?: string\n}\n```\n\n### `AvailableOutlookCalendar`\n\n```ts\ntype AvailableOutlookCalendar = {\n provider_calendar_id: string\n name: string\n color?: string\n is_default?: boolean\n can_edit?: boolean\n owner?: string\n}\n```\n\n### `CalendarPatchBody`\n\n```ts\ntype CalendarPatchBody = {\n name?: string\n description?: string\n color?: string\n}\n```\n\n### `CalendarEvent`\n\n```ts\ntype CalendarEvent = {\n _id: string\n _schema: "calendar_event"\n _org: string\n _title?: string\n _tags?: string[]\n calendar_id: string\n event_type: "singleInstance" | "occurrence" | "exception" | "seriesMaster"\n description?: string\n start_time: string // date-time\n end_time: string // date-time\n timezone: string\n is_all_day: boolean\n location?: string\n status: "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n busy: boolean\n is_cancelled: boolean\n is_draft: boolean\n sensitivity: "normal" | "personal" | "private" | "confidential"\n importance: "low" | "normal" | "high"\n is_online_meeting: boolean\n online_meeting_url?: string // uri\n web_link?: string // uri\n response_status: "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n organizer_email?: string // email\n attendees?: Array<{\n email: string // email\n name?: string\n response: "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n type: "required" | "optional" | "resource"\n }>\n metadata?: Record<string, unknown>\n is_recurring: boolean\n series_master_id?: string\n source: {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_event_id?: string\n provider_event_url?: string // uri\n last_synced_at?: string // date-time\n etag?: string\n }\n _created_at?: string // date-time\n _updated_at?: string // date-time\n}\n```\n\n### `EventType`\n\n```ts\ntype EventType = "singleInstance" | "occurrence" | "exception" | "seriesMaster"\n```\n\n### `EventStatus`\n\nFree/busy state derived from provider `showAs`\n\n```ts\ntype EventStatus = "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n```\n\n### `Sensitivity`\n\n```ts\ntype Sensitivity = "normal" | "personal" | "private" | "confidential"\n```\n\n### `Importance`\n\n```ts\ntype Importance = "low" | "normal" | "high"\n```\n\n### `ResponseStatus`\n\nCaller\'s response to the invite\n\n```ts\ntype ResponseStatus = "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n```\n\n### `Attendee`\n\n```ts\ntype Attendee = {\n email: string // email\n name?: string\n response: "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n type: "required" | "optional" | "resource"\n}\n```\n\n### `EventSource`\n\n```ts\ntype EventSource = {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_event_id?: string\n provider_event_url?: string // uri\n last_synced_at?: string // date-time\n etag?: string\n}\n```\n\n### `CalendarEventCreateBody`\n\n```ts\ntype CalendarEventCreateBody = {\n calendar_id?: string\n description?: string\n start_time: string // date-time\n end_time: string // date-time\n timezone: string\n is_all_day: boolean\n location?: string\n status: "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n sensitivity: "normal" | "personal" | "private" | "confidential"\n metadata?: Record<string, unknown>\n _title: string\n}\n```\n\n### `CalendarEventPatchBody`\n\n```ts\ntype CalendarEventPatchBody = {\n description?: string\n start_time?: string // date-time\n end_time?: string // date-time\n timezone?: string\n is_all_day?: boolean\n location?: string\n status?: "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n is_cancelled?: boolean\n sensitivity?: "normal" | "personal" | "private" | "confidential"\n _title?: string\n}\n```\n\n### `ShareEventBody`\n\n```ts\ntype ShareEventBody = {\n user_id: string\n}\n```\n';
5
+
6
+
7
+ exports.default = calendar_default;
@@ -116,9 +116,13 @@ declare namespace Components {
116
116
  */
117
117
  color?: string | null;
118
118
  /**
119
- * True if this is the user's primary calendar
119
+ * True if the source provider marks this calendar as default
120
120
  */
121
121
  is_default: boolean;
122
+ /**
123
+ * True for the epilot default calendar
124
+ */
125
+ is_epilot_default: boolean;
122
126
  /**
123
127
  * True if the caller cannot create, update, or delete events in this calendar
124
128
  */
@@ -218,9 +222,9 @@ declare namespace Components {
218
222
  }
219
223
  export interface CalendarEventCreateBody {
220
224
  /**
221
- * epilot calendar this event belongs to
225
+ * Owned calendar ID. Omit this property to use the epilot default calendar.
222
226
  */
223
- calendar_id: string;
227
+ calendar_id?: string;
224
228
  /**
225
229
  * Preview of the event body, truncated to 255 chars
226
230
  */
@@ -1269,6 +1273,7 @@ declare namespace Paths {
1269
1273
  export interface $204 {
1270
1274
  }
1271
1275
  export type $404 = Components.Schemas.Error;
1276
+ export type $409 = Components.Schemas.Error;
1272
1277
  }
1273
1278
  }
1274
1279
  namespace DeleteEvent {
@@ -1938,7 +1943,7 @@ interface OperationMethods {
1938
1943
  /**
1939
1944
  * createEvent - createEvent
1940
1945
  *
1941
- * Create a native epilot calendar event.
1946
+ * Create a native epilot calendar event. Omit `calendar_id` to use the caller’s epilot default calendar.
1942
1947
  */
1943
1948
  'createEvent'(
1944
1949
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -2267,7 +2272,7 @@ interface PathsDictionary {
2267
2272
  /**
2268
2273
  * createEvent - createEvent
2269
2274
  *
2270
- * Create a native epilot calendar event.
2275
+ * Create a native epilot calendar event. Omit `calendar_id` to use the caller’s epilot default calendar.
2271
2276
  */
2272
2277
  'post'(
2273
2278
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -116,9 +116,13 @@ declare namespace Components {
116
116
  */
117
117
  color?: string | null;
118
118
  /**
119
- * True if this is the user's primary calendar
119
+ * True if the source provider marks this calendar as default
120
120
  */
121
121
  is_default: boolean;
122
+ /**
123
+ * True for the epilot default calendar
124
+ */
125
+ is_epilot_default: boolean;
122
126
  /**
123
127
  * True if the caller cannot create, update, or delete events in this calendar
124
128
  */
@@ -218,9 +222,9 @@ declare namespace Components {
218
222
  }
219
223
  export interface CalendarEventCreateBody {
220
224
  /**
221
- * epilot calendar this event belongs to
225
+ * Owned calendar ID. Omit this property to use the epilot default calendar.
222
226
  */
223
- calendar_id: string;
227
+ calendar_id?: string;
224
228
  /**
225
229
  * Preview of the event body, truncated to 255 chars
226
230
  */
@@ -1269,6 +1273,7 @@ declare namespace Paths {
1269
1273
  export interface $204 {
1270
1274
  }
1271
1275
  export type $404 = Components.Schemas.Error;
1276
+ export type $409 = Components.Schemas.Error;
1272
1277
  }
1273
1278
  }
1274
1279
  namespace DeleteEvent {
@@ -1938,7 +1943,7 @@ interface OperationMethods {
1938
1943
  /**
1939
1944
  * createEvent - createEvent
1940
1945
  *
1941
- * Create a native epilot calendar event.
1946
+ * Create a native epilot calendar event. Omit `calendar_id` to use the caller’s epilot default calendar.
1942
1947
  */
1943
1948
  'createEvent'(
1944
1949
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -2267,7 +2272,7 @@ interface PathsDictionary {
2267
2272
  /**
2268
2273
  * createEvent - createEvent
2269
2274
  *
2270
- * Create a native epilot calendar event.
2275
+ * Create a native epilot calendar event. Omit `calendar_id` to use the caller’s epilot default calendar.
2271
2276
  */
2272
2277
  'post'(
2273
2278
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -33,12 +33,12 @@ var globImport_docs = _chunkNJK5F5TFcjs.__glob.call(void 0, {
33
33
  "./docs/address-suggestions.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./address-suggestions-IUQMYF27.cjs"))),
34
34
  "./docs/address.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./address-HA4RMRNQ.cjs"))),
35
35
  "./docs/ai-agents.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./ai-agents-XST3YUFA.cjs"))),
36
- "./docs/app.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./app-A7P5LKNL.cjs"))),
36
+ "./docs/app.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./app-RKHOTF7Z.cjs"))),
37
37
  "./docs/audit-logs.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./audit-logs-D2LFUA2R.cjs"))),
38
38
  "./docs/automation.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./automation-ZF5ACFVW.cjs"))),
39
39
  "./docs/billing.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./billing-C45UEPBV.cjs"))),
40
40
  "./docs/blueprint-manifest.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./blueprint-manifest-4DD7CUPX.cjs"))),
41
- "./docs/calendar.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./calendar-EMNHW6ME.cjs"))),
41
+ "./docs/calendar.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./calendar-UADWQX7G.cjs"))),
42
42
  "./docs/configuration-hub.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./configuration-hub-6TSL5AGX.cjs"))),
43
43
  "./docs/consent.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./consent-CS2ZBZX4.cjs"))),
44
44
  "./docs/customer-portal.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./customer-portal-JDIXJD6C.cjs"))),
@@ -33,12 +33,12 @@ var globImport_docs = __glob({
33
33
  "./docs/address-suggestions.json": () => import("./address-suggestions-74244BAJ.js"),
34
34
  "./docs/address.json": () => import("./address-QVJUGMOG.js"),
35
35
  "./docs/ai-agents.json": () => import("./ai-agents-3JK4UU2G.js"),
36
- "./docs/app.json": () => import("./app-EEEBOCVZ.js"),
36
+ "./docs/app.json": () => import("./app-IXCUVIHD.js"),
37
37
  "./docs/audit-logs.json": () => import("./audit-logs-5VXHOQ7S.js"),
38
38
  "./docs/automation.json": () => import("./automation-UP6J7QIK.js"),
39
39
  "./docs/billing.json": () => import("./billing-IV5ABNW4.js"),
40
40
  "./docs/blueprint-manifest.json": () => import("./blueprint-manifest-IP2AU3F3.js"),
41
- "./docs/calendar.json": () => import("./calendar-PZFEAXYE.js"),
41
+ "./docs/calendar.json": () => import("./calendar-2H4RGMV3.js"),
42
42
  "./docs/configuration-hub.json": () => import("./configuration-hub-ZYOLN7ZX.js"),
43
43
  "./docs/consent.json": () => import("./consent-NNYHF2N4.js"),
44
44
  "./docs/customer-portal.json": () => import("./customer-portal-WIRQ7UCN.js"),
package/dist/index.cjs CHANGED
@@ -158,7 +158,7 @@ var _chunkADSWGLIVcjs = require('./chunk-ADSWGLIV.cjs');
158
158
 
159
159
 
160
160
 
161
- var _chunkLPUT63UQcjs = require('./chunk-LPUT63UQ.cjs');
161
+ var _chunkELTL6P4Acjs = require('./chunk-ELTL6P4A.cjs');
162
162
 
163
163
 
164
164
  var _chunkNJK5F5TFcjs = require('./chunk-NJK5F5TF.cjs');
@@ -225,7 +225,7 @@ var resolveClient = (params) => {
225
225
  }
226
226
  if (!entry.instance) {
227
227
  const definition = entry.loader();
228
- entry.instance = _chunkLPUT63UQcjs.createApiClient.call(void 0, {
228
+ entry.instance = _chunkELTL6P4Acjs.createApiClient.call(void 0, {
229
229
  definition,
230
230
  token: state.token,
231
231
  headers: state.globalHeaders,
@@ -258,7 +258,7 @@ var resetAllClients = (registry) => {
258
258
  };
259
259
 
260
260
  // src/apis/_registry.ts
261
- var expandDef = (mod) => _chunkLPUT63UQcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
261
+ var expandDef = (mod) => _chunkELTL6P4Acjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
262
262
  var registerBuiltinApis = (registry) => {
263
263
  registerApi({
264
264
  registry,
@@ -601,9 +601,9 @@ var createSDK = () => {
601
601
  const available = [...registry.keys()].join(", ");
602
602
  throw new Error(`Unknown API: "${name}". Available: ${available}`);
603
603
  }
604
- return _chunkLPUT63UQcjs.createApiHandle.call(void 0, {
604
+ return _chunkELTL6P4Acjs.createApiHandle.call(void 0, {
605
605
  resolveClient: () => resolveClient({ registry, name, state }),
606
- createClient: () => _chunkLPUT63UQcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
606
+ createClient: () => _chunkELTL6P4Acjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
607
607
  apiName: name
608
608
  });
609
609
  };
@@ -651,9 +651,9 @@ var createSDK = () => {
651
651
  return interceptorUse;
652
652
  }
653
653
  case "help":
654
- return (apiName) => _chunkLPUT63UQcjs.help.call(void 0, apiName);
654
+ return (apiName) => _chunkELTL6P4Acjs.help.call(void 0, apiName);
655
655
  case "openapi":
656
- return (apiName) => _chunkLPUT63UQcjs.openapi.call(void 0, apiName);
656
+ return (apiName) => _chunkELTL6P4Acjs.openapi.call(void 0, apiName);
657
657
  case "then":
658
658
  case "catch":
659
659
  case "finally":
@@ -683,4 +683,4 @@ var epilot = createSDK();
683
683
 
684
684
 
685
685
 
686
- exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunkLPUT63UQcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunkLPUT63UQcjs.help; exports.openapi = _chunkLPUT63UQcjs.openapi;
686
+ exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunkELTL6P4Acjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunkELTL6P4Acjs.help; exports.openapi = _chunkELTL6P4Acjs.openapi;
package/dist/index.d.cts CHANGED
@@ -7,12 +7,12 @@ import { C as Client } from './access-token.d-BhRUc8I-.cjs';
7
7
  import { C as Client$1 } from './address.d-CwAPOVxa.cjs';
8
8
  import { C as Client$2 } from './address-suggestions.d-_YwTOR-9.cjs';
9
9
  import { C as Client$3 } from './ai-agents.d-BnR7CAeJ.cjs';
10
- import { C as Client$4 } from './app.d-vPrbhe5h.cjs';
10
+ import { C as Client$4 } from './app.d-CZDjyxee.cjs';
11
11
  import { C as Client$5 } from './audit-logs.d-BRToFqeX.cjs';
12
12
  import { C as Client$6 } from './automation.d-DiWfPkLs.cjs';
13
13
  import { C as Client$7 } from './billing.d-N_1F759g.cjs';
14
14
  import { C as Client$8 } from './blueprint-manifest.d-CjsI-JqR.cjs';
15
- import { C as Client$9 } from './calendar.d-Cz8R-GJ5.cjs';
15
+ import { C as Client$9 } from './calendar.d-mk-ltGpk.cjs';
16
16
  import { C as Client$a } from './configuration-hub.d-Dv41yC3b.cjs';
17
17
  import { C as Client$b } from './consent.d-C2PROHhX.cjs';
18
18
  import { C as Client$c } from './customer-portal.d-JVkJjm_e.cjs';
package/dist/index.d.ts CHANGED
@@ -7,12 +7,12 @@ import { C as Client } from './access-token.d-BhRUc8I-.js';
7
7
  import { C as Client$1 } from './address.d-CwAPOVxa.js';
8
8
  import { C as Client$2 } from './address-suggestions.d-_YwTOR-9.js';
9
9
  import { C as Client$3 } from './ai-agents.d-BnR7CAeJ.js';
10
- import { C as Client$4 } from './app.d-vPrbhe5h.js';
10
+ import { C as Client$4 } from './app.d-CZDjyxee.js';
11
11
  import { C as Client$5 } from './audit-logs.d-BRToFqeX.js';
12
12
  import { C as Client$6 } from './automation.d-DiWfPkLs.js';
13
13
  import { C as Client$7 } from './billing.d-N_1F759g.js';
14
14
  import { C as Client$8 } from './blueprint-manifest.d-CjsI-JqR.js';
15
- import { C as Client$9 } from './calendar.d-Cz8R-GJ5.js';
15
+ import { C as Client$9 } from './calendar.d-mk-ltGpk.js';
16
16
  import { C as Client$a } from './configuration-hub.d-Dv41yC3b.js';
17
17
  import { C as Client$b } from './consent.d-C2PROHhX.js';
18
18
  import { C as Client$c } from './customer-portal.d-JVkJjm_e.js';
package/dist/index.js CHANGED
@@ -158,7 +158,7 @@ import {
158
158
  expand,
159
159
  help,
160
160
  openapi
161
- } from "./chunk-TQCQYO4X.js";
161
+ } from "./chunk-YQ5ZNKOC.js";
162
162
  import {
163
163
  __require
164
164
  } from "./chunk-YPSWSI3M.js";
package/docs/app.md CHANGED
@@ -91,6 +91,7 @@ const { data } = await appClient.getPublicFacingComponent(...)
91
91
  - [`CustomFlowActionComponent`](#customflowactioncomponent)
92
92
  - [`BaseCustomActionConfig`](#basecustomactionconfig)
93
93
  - [`ExternalIntegrationCustomActionConfig`](#externalintegrationcustomactionconfig)
94
+ - [`FunctionRefCustomActionConfig`](#functionrefcustomactionconfig)
94
95
  - [`CustomFlowConfig`](#customflowconfig)
95
96
  - [`ExternalProductCatalogComponent`](#externalproductcatalogcomponent)
96
97
  - [`ExternalProductCatalogConfig`](#externalproductcatalogconfig)
@@ -415,9 +416,7 @@ const { data } = await client.getPublicConfiguration({
415
416
  "schedule": "rate(30 minutes)",
416
417
  "schedule_timezone": "Europe/Berlin",
417
418
  "schedule_overlap": "skip",
418
- "secrets": ["string"],
419
- "wait_for_callback": true,
420
- "surfaces": {}
419
+ "secrets": ["string"]
421
420
  }
422
421
  ],
423
422
  "is_beta": true,
@@ -531,9 +530,7 @@ const { data } = await client.getConfiguration({
531
530
  "schedule": "rate(30 minutes)",
532
531
  "schedule_timezone": "Europe/Berlin",
533
532
  "schedule_overlap": "skip",
534
- "secrets": ["string"],
535
- "wait_for_callback": true,
536
- "surfaces": {}
533
+ "secrets": ["string"]
537
534
  }
538
535
  ],
539
536
  "visibility": "private",
@@ -908,15 +905,7 @@ const { data } = await client.listVersions({
908
905
  "schedule": "rate(30 minutes)",
909
906
  "schedule_timezone": "Europe/Berlin",
910
907
  "schedule_overlap": "skip",
911
- "secrets": ["string"],
912
- "wait_for_callback": true,
913
- "surfaces": {
914
- "flow_action_config": {
915
- "app_url": "string",
916
- "zip_url": "string",
917
- "override_url": "string"
918
- }
919
- }
908
+ "secrets": ["string"]
920
909
  }
921
910
  ],
922
911
  "visibility": "private",
@@ -1032,9 +1021,7 @@ const { data } = await client.getVersion({
1032
1021
  "schedule": "rate(30 minutes)",
1033
1022
  "schedule_timezone": "Europe/Berlin",
1034
1023
  "schedule_overlap": "skip",
1035
- "secrets": ["string"],
1036
- "wait_for_callback": true,
1037
- "surfaces": {}
1024
+ "secrets": ["string"]
1038
1025
  }
1039
1026
  ],
1040
1027
  "visibility": "private",
@@ -1123,15 +1110,7 @@ const { data } = await client.patchVersion(
1123
1110
  schedule: 'rate(30 minutes)',
1124
1111
  schedule_timezone: 'Europe/Berlin',
1125
1112
  schedule_overlap: 'skip',
1126
- secrets: ['string'],
1127
- wait_for_callback: true,
1128
- surfaces: {
1129
- flow_action_config: {
1130
- app_url: 'string',
1131
- zip_url: 'string',
1132
- override_url: 'string'
1133
- }
1134
- }
1113
+ secrets: ['string']
1135
1114
  }
1136
1115
  ]
1137
1116
  },
@@ -1430,15 +1409,7 @@ const { data } = await client.listInstallations({
1430
1409
  "schedule": "rate(30 minutes)",
1431
1410
  "schedule_timezone": "Europe/Berlin",
1432
1411
  "schedule_overlap": "skip",
1433
- "secrets": ["string"],
1434
- "wait_for_callback": true,
1435
- "surfaces": {
1436
- "flow_action_config": {
1437
- "app_url": "string",
1438
- "zip_url": "string",
1439
- "override_url": "string"
1440
- }
1441
- }
1412
+ "secrets": ["string"]
1442
1413
  }
1443
1414
  ],
1444
1415
  "installed_version": "string",
@@ -1538,15 +1509,7 @@ const { data } = await client.getInstallation({
1538
1509
  "schedule": "rate(30 minutes)",
1539
1510
  "schedule_timezone": "Europe/Berlin",
1540
1511
  "schedule_overlap": "skip",
1541
- "secrets": ["string"],
1542
- "wait_for_callback": true,
1543
- "surfaces": {
1544
- "flow_action_config": {
1545
- "app_url": "string",
1546
- "zip_url": "string",
1547
- "override_url": "string"
1548
- }
1549
- }
1512
+ "secrets": ["string"]
1550
1513
  }
1551
1514
  ],
1552
1515
  "installed_version": "string",
@@ -1656,15 +1619,7 @@ const { data } = await client.install(
1656
1619
  "schedule": "rate(30 minutes)",
1657
1620
  "schedule_timezone": "Europe/Berlin",
1658
1621
  "schedule_overlap": "skip",
1659
- "secrets": ["string"],
1660
- "wait_for_callback": true,
1661
- "surfaces": {
1662
- "flow_action_config": {
1663
- "app_url": "string",
1664
- "zip_url": "string",
1665
- "override_url": "string"
1666
- }
1667
- }
1622
+ "secrets": ["string"]
1668
1623
  }
1669
1624
  ],
1670
1625
  "installed_version": "string",
@@ -1803,15 +1758,7 @@ const { data } = await client.promoteVersion({
1803
1758
  "schedule": "rate(30 minutes)",
1804
1759
  "schedule_timezone": "Europe/Berlin",
1805
1760
  "schedule_overlap": "skip",
1806
- "secrets": ["string"],
1807
- "wait_for_callback": true,
1808
- "surfaces": {
1809
- "flow_action_config": {
1810
- "app_url": "string",
1811
- "zip_url": "string",
1812
- "override_url": "string"
1813
- }
1814
- }
1761
+ "secrets": ["string"]
1815
1762
  }
1816
1763
  ],
1817
1764
  "installed_version": "string",
@@ -2072,14 +2019,6 @@ type FunctionDefinition = {
2072
2019
  schedule_timezone?: string
2073
2020
  schedule_overlap?: "skip"
2074
2021
  secrets?: string[]
2075
- wait_for_callback?: boolean
2076
- surfaces?: {
2077
- flow_action_config?: {
2078
- app_url?: { ... }
2079
- zip_url?: { ... }
2080
- override_url?: { ... }
2081
- }
2082
- }
2083
2022
  }
2084
2023
  ```
2085
2024
 
@@ -2307,6 +2246,12 @@ type CustomFlowActionComponent = {
2307
2246
  url?: { ... }
2308
2247
  headers?: { ... }
2309
2248
  }
2249
+ } | {
2250
+ name?: string
2251
+ description?: string
2252
+ wait_for_callback?: boolean
2253
+ type: "function"
2254
+ function_name: string
2310
2255
  }
2311
2256
  surfaces?: {
2312
2257
  flow_action_config?: {
@@ -2343,9 +2288,21 @@ type ExternalIntegrationCustomActionConfig = {
2343
2288
  }
2344
2289
  ```
2345
2290
 
2291
+ ### `FunctionRefCustomActionConfig`
2292
+
2293
+ ```ts
2294
+ type FunctionRefCustomActionConfig = {
2295
+ name?: string
2296
+ description?: string
2297
+ wait_for_callback?: boolean
2298
+ type: "function"
2299
+ function_name: string
2300
+ }
2301
+ ```
2302
+
2346
2303
  ### `CustomFlowConfig`
2347
2304
 
2348
- Configuration of an external-integration flow action. Sandboxed code belongs in the app's `functions` (type `workflow`) instead — workflow functions are selectable directly in the flow builder without a component.
2305
+ Configuration of a flow action component. `external_integration` calls an external HTTP endpoint; `function` runs a workflow-type app function in the epilot sandbox.
2349
2306
 
2350
2307
 
2351
2308
  ```ts
@@ -2358,6 +2315,12 @@ type CustomFlowConfig = {
2358
2315
  url?: string
2359
2316
  headers?: Record<string, unknown>
2360
2317
  }
2318
+ } | {
2319
+ name?: string
2320
+ description?: string
2321
+ wait_for_callback?: boolean
2322
+ type: "function"
2323
+ function_name: string
2361
2324
  }
2362
2325
  ```
2363
2326
 
@@ -3568,10 +3531,6 @@ type ConfigurationVersion = {
3568
3531
  schedule_timezone?: string
3569
3532
  schedule_overlap?: "skip"
3570
3533
  secrets?: string[]
3571
- wait_for_callback?: boolean
3572
- surfaces?: {
3573
- flow_action_config?: { ... }
3574
- }
3575
3534
  }>
3576
3535
  visibility?: "public" | "private"
3577
3536
  public?: boolean
@@ -3697,10 +3656,6 @@ type Installation = {
3697
3656
  schedule_timezone?: string
3698
3657
  schedule_overlap?: "skip"
3699
3658
  secrets?: string[]
3700
- wait_for_callback?: boolean
3701
- surfaces?: {
3702
- flow_action_config?: { ... }
3703
- }
3704
3659
  }>
3705
3660
  installed_version: string
3706
3661
  role?: string
@@ -3784,10 +3739,6 @@ type PublicConfiguration = {
3784
3739
  schedule_timezone?: string
3785
3740
  schedule_overlap?: "skip"
3786
3741
  secrets?: string[]
3787
- wait_for_callback?: boolean
3788
- surfaces?: {
3789
- flow_action_config?: { ... }
3790
- }
3791
3742
  }>
3792
3743
  is_beta?: boolean
3793
3744
  deprecated_at?: string
@@ -3824,6 +3775,10 @@ type PublicConfiguration = {
3824
3775
  code: { ... }
3825
3776
  schedule?: { ... }
3826
3777
  schedule_timezone?: { ... }
3778
+ schedule_overlap?: { ... }
3779
+ secrets?: { ... }
3780
+ }>
3781
+ visibility?: "public" | "private"
3827
3782
  // ...
3828
3783
  }
3829
3784
  ```
@@ -3907,10 +3862,6 @@ type Configuration = {
3907
3862
  schedule_timezone?: string
3908
3863
  schedule_overlap?: "skip"
3909
3864
  secrets?: string[]
3910
- wait_for_callback?: boolean
3911
- surfaces?: {
3912
- flow_action_config?: { ... }
3913
- }
3914
3865
  }>
3915
3866
  visibility?: "public" | "private"
3916
3867
  public?: boolean
@@ -3933,6 +3884,10 @@ type Configuration = {
3933
3884
  source_blueprint_file?: string
3934
3885
  }
3935
3886
  version_audit: {
3887
+ created_at?: string
3888
+ created_by?: string
3889
+ updated_at?: string
3890
+ updated_by?: string
3936
3891
  // ...
3937
3892
  }
3938
3893
  ```