@agentuity/core 2.0.0-beta.1 → 2.0.1

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 (67) hide show
  1. package/dist/services/auth/index.d.ts +7 -0
  2. package/dist/services/auth/index.d.ts.map +1 -0
  3. package/dist/services/auth/index.js +7 -0
  4. package/dist/services/auth/index.js.map +1 -0
  5. package/dist/services/auth/types.d.ts +192 -0
  6. package/dist/services/auth/types.d.ts.map +1 -0
  7. package/dist/services/auth/types.js +11 -0
  8. package/dist/services/auth/types.js.map +1 -0
  9. package/dist/services/index.d.ts +1 -0
  10. package/dist/services/index.d.ts.map +1 -1
  11. package/dist/services/index.js +1 -0
  12. package/dist/services/index.js.map +1 -1
  13. package/dist/services/oauth/flow.d.ts +31 -0
  14. package/dist/services/oauth/flow.d.ts.map +1 -1
  15. package/dist/services/oauth/flow.js +138 -13
  16. package/dist/services/oauth/flow.js.map +1 -1
  17. package/dist/services/oauth/index.d.ts +1 -0
  18. package/dist/services/oauth/index.d.ts.map +1 -1
  19. package/dist/services/oauth/index.js +1 -0
  20. package/dist/services/oauth/index.js.map +1 -1
  21. package/dist/services/oauth/token-storage.d.ts +109 -0
  22. package/dist/services/oauth/token-storage.d.ts.map +1 -0
  23. package/dist/services/oauth/token-storage.js +140 -0
  24. package/dist/services/oauth/token-storage.js.map +1 -0
  25. package/dist/services/oauth/types.d.ts +21 -0
  26. package/dist/services/oauth/types.d.ts.map +1 -1
  27. package/dist/services/oauth/types.js +21 -0
  28. package/dist/services/oauth/types.js.map +1 -1
  29. package/dist/services/project/get.d.ts +12 -0
  30. package/dist/services/project/get.d.ts.map +1 -1
  31. package/dist/services/project/get.js +9 -0
  32. package/dist/services/project/get.js.map +1 -1
  33. package/dist/services/sandbox/create.d.ts +3 -0
  34. package/dist/services/sandbox/create.d.ts.map +1 -1
  35. package/dist/services/sandbox/create.js +7 -0
  36. package/dist/services/sandbox/create.js.map +1 -1
  37. package/dist/services/sandbox/execute.d.ts.map +1 -1
  38. package/dist/services/sandbox/execute.js +22 -11
  39. package/dist/services/sandbox/execute.js.map +1 -1
  40. package/dist/services/sandbox/run.d.ts +1 -0
  41. package/dist/services/sandbox/run.d.ts.map +1 -1
  42. package/dist/services/sandbox/run.js +83 -30
  43. package/dist/services/sandbox/run.js.map +1 -1
  44. package/dist/services/sandbox/types.d.ts +10 -0
  45. package/dist/services/sandbox/types.d.ts.map +1 -1
  46. package/dist/services/sandbox/types.js +19 -0
  47. package/dist/services/sandbox/types.js.map +1 -1
  48. package/dist/services/schedule/service.d.ts +5 -0
  49. package/dist/services/schedule/service.d.ts.map +1 -1
  50. package/dist/services/schedule/service.js +16 -0
  51. package/dist/services/schedule/service.js.map +1 -1
  52. package/dist/services/schedule/types.d.ts +1 -0
  53. package/dist/services/schedule/types.d.ts.map +1 -1
  54. package/package.json +2 -2
  55. package/src/services/auth/index.ts +19 -0
  56. package/src/services/auth/types.ts +223 -0
  57. package/src/services/index.ts +1 -0
  58. package/src/services/oauth/flow.ts +156 -15
  59. package/src/services/oauth/index.ts +1 -0
  60. package/src/services/oauth/token-storage.ts +220 -0
  61. package/src/services/oauth/types.ts +28 -0
  62. package/src/services/project/get.ts +9 -0
  63. package/src/services/sandbox/create.ts +9 -0
  64. package/src/services/sandbox/execute.ts +26 -12
  65. package/src/services/sandbox/run.ts +129 -34
  66. package/src/services/sandbox/types.ts +21 -0
  67. package/src/services/schedule/service.ts +20 -0
@@ -49,6 +49,15 @@ export const ScheduleSchema = z.object({
49
49
  * the schedule fires or the expression is changed.
50
50
  */
51
51
  due_date: z.string().describe('ISO 8601 timestamp of the next scheduled execution.'),
52
+ /**
53
+ * Whether this is a system-managed schedule.
54
+ *
55
+ * @remarks Internal schedules are created by the system and cannot be modified
56
+ * or deleted by users.
57
+ */
58
+ internal: z
59
+ .boolean()
60
+ .describe('Whether this is a system-managed schedule. Internal schedules cannot be modified or deleted users.'),
52
61
  });
53
62
  /**
54
63
  * A delivery target for a scheduled job.
@@ -166,6 +175,13 @@ export const CreateScheduleParamsSchema = z.object({
166
175
  * Supports standard five-field cron syntax including step values.
167
176
  */
168
177
  expression: z.string().describe('Cron expression defining when the schedule fires'),
178
+ /**
179
+ * Whether this is a system-managed schedule.
180
+ *
181
+ * @remarks Internal schedules are created by the system for workflows and cannot
182
+ * be modified or deleted directly by users.
183
+ */
184
+ internal: z.boolean().optional().describe('Whether this is a system-managed schedule.'),
169
185
  /**
170
186
  * Optional array of destinations to create alongside the schedule.
171
187
  *
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/services/schedule/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/services/schedule/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC;;;;OAIG;IACH,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAE9D;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAEpF;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IAE1F;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IAE3E;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAElE;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAE9F;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IAE5F;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IAEpF;;;;;OAKG;IACH,QAAQ,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,CACR,oGAAoG,CACpG;CACF,CAAC,CAAC;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD;;;;OAIG;IACH,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAEjE;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAElE;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAEvF;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IAE5F;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAE9E;;OAEG;IACH,IAAI,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SACxB,QAAQ,CACR,kGAAkG,CAClG;IAEF;;;;;;;;;OASG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CAC9F,CAAC,CAAC;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C;;OAEG;IACH,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAEtE;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IAEhF;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAExF;;OAEG;IACH,uBAAuB,EAAE,CAAC;SACxB,MAAM,EAAE;SACR,QAAQ,CAAC,sDAAsD,CAAC;IAElE;;OAEG;IACH,MAAM,EAAE,CAAC;SACP,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;SACtC,QAAQ,CACR,iGAAiG,CACjG;IAEF;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAEhF;;OAEG;IACH,KAAK,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IAEtE;;OAEG;IACH,QAAQ,EAAE,CAAC;SACT,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;CACnF,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAElE;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAE9F;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAEnF;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAEvF;;;;;OAKG;IACH,YAAY,EAAE,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,qCAAqC,CAAC,CAAC;SAC1D,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;CAC9E,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D;;OAEG;IACH,IAAI,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SACxB,QAAQ,CACR,kGAAkG,CAClG;IAEF;;;;;;;;;OASG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CAC9F,CAAC,CAAC;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAErF;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAEnE;;;;OAIG;IACH,UAAU,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kFAAkF,CAAC;CAC9F,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD;;OAEG;IACH,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAE9F;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CACzE,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAEzD;;OAEG;IACH,YAAY,EAAE,CAAC;SACb,KAAK,CAAC,yBAAyB,CAAC;SAChC,QAAQ,CAAC,qDAAqD,CAAC;CACjE,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAEvE;;OAEG;IACH,YAAY,EAAE,CAAC;SACb,KAAK,CAAC,yBAAyB,CAAC;SAChC,QAAQ,CAAC,iEAAiE,CAAC;CAC7E,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAC1F,CAAC,CAAC;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,eAAe;IAC3B,QAAQ,CAAe;IACvB,QAAQ,CAAS;IAEjB;;;;;OAKG;IACH,YAAY,OAAe,EAAE,OAAqB;QACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,MAAM,CAAC,MAA4B;QACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAuB,GAAG,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,kBAAkB;YAC/B,SAAS,EAAE;gBACV,IAAI,EAAE,2BAA2B;gBACjC,UAAU,EAAE;oBACX,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;oBAC1D,IAAI,EAAE,MAAM,CAAC,IAAI;iBACjB;aACD;SACD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC,IAAI,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,IAAI,CAAC,MAA4C;QACtD,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAClF,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAqB,GAAG,EAAE;YAC/D,MAAM,EAAE,KAAK;YACb,MAAM;YACN,SAAS,EAAE;gBACV,IAAI,EAAE,yBAAyB;gBAC/B,UAAU,EAAE;oBACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;oBAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;iBACpC;aACD;SACD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC,IAAI,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,GAAG,CAAC,UAAkB;QAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAoB,GAAG,EAAE;YAC9D,MAAM,EAAE,KAAK;YACb,MAAM;YACN,SAAS,EAAE;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,UAAU,EAAE;oBACX,UAAU;iBACV;aACD;SACD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACjC,MAAM,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,MAA4B;QAC5D,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAyB,GAAG,EAAE;YACnE,MAAM,EAAE,KAAK;YACb,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,kBAAkB;YAC/B,SAAS,EAAE;gBACV,IAAI,EAAE,2BAA2B;gBACjC,UAAU,EAAE;oBACX,UAAU;iBACV;aACD;SACD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC,IAAI,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAO,GAAG,EAAE;YACjD,MAAM,EAAE,QAAQ;YAChB,MAAM;YACN,SAAS,EAAE;gBACV,IAAI,EAAE,2BAA2B;gBACjC,UAAU,EAAE;oBACX,UAAU;iBACV;aACD;SACD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QAED,MAAM,MAAM,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,iBAAiB,CACtB,UAAkB,EAClB,MAAuC;QAEvC,MAAM,GAAG,GAAG,QAAQ,CACnB,IAAI,CAAC,QAAQ,EACb,iCAAiC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CACjE,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAuC,GAAG,EAAE;YACjF,MAAM,EAAE,MAAM;YACd,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,kBAAkB;YAC/B,SAAS,EAAE;gBACV,IAAI,EAAE,sCAAsC;gBAC5C,UAAU,EAAE;oBACX,UAAU;oBACV,IAAI,EAAE,MAAM,CAAC,IAAI;iBACjB;aACD;SACD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC,IAAI,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QAC5C,MAAM,GAAG,GAAG,QAAQ,CACnB,IAAI,CAAC,QAAQ,EACb,iCAAiC,kBAAkB,CAAC,aAAa,CAAC,EAAE,CACpE,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAO,GAAG,EAAE;YACjD,MAAM,EAAE,QAAQ;YAChB,MAAM;YACN,SAAS,EAAE;gBACV,IAAI,EAAE,sCAAsC;gBAC5C,UAAU,EAAE;oBACX,aAAa;iBACb;aACD;SACD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QAED,MAAM,MAAM,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,cAAc,CACnB,UAAkB,EAClB,MAA4C;QAE5C,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,QAAQ,GAAG,wBAAwB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAA6B,GAAG,EAAE;YACvE,MAAM,EAAE,KAAK;YACb,MAAM;YACN,SAAS,EAAE;gBACV,IAAI,EAAE,mCAAmC;gBACzC,UAAU,EAAE;oBACX,UAAU;oBACV,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;oBAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;iBACpC;aACD;SACD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACjC,MAAM,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,aAAqB;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,WAAW,CAChB,UAAkB,EAClB,UAAkB,EAClB,MAA4C;QAE5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD"}
@@ -12,6 +12,7 @@ export declare const ScheduleUpdateResultSchema: z.ZodObject<{
12
12
  description: z.ZodNullable<z.ZodString>;
13
13
  expression: z.ZodString;
14
14
  due_date: z.ZodString;
15
+ internal: z.ZodBoolean;
15
16
  }, z.core.$strip>;
16
17
  }, z.core.$strip>;
17
18
  export type ScheduleUpdateResult = z.infer<typeof ScheduleUpdateResultSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/schedule/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBAGrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;iBAGhD,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/schedule/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;iBAGrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;iBAGhD,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/core",
3
- "version": "2.0.0-beta.1",
3
+ "version": "2.0.1",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -89,7 +89,7 @@
89
89
  "zod": "^4.3.5"
90
90
  },
91
91
  "devDependencies": {
92
- "@agentuity/test-utils": "2.0.0-beta.1",
92
+ "@agentuity/test-utils": "2.0.1",
93
93
  "@types/bun": "latest",
94
94
  "bun-types": "latest",
95
95
  "esbuild": "^0.25.0",
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Authentication service types.
3
+ *
4
+ * @module services/auth
5
+ */
6
+
7
+ export type {
8
+ AuthUser,
9
+ AuthSession,
10
+ AuthContext,
11
+ AuthOrgContext,
12
+ AuthApiKeyPermissions,
13
+ AuthApiKeyContext,
14
+ AuthMethod,
15
+ AgentuityAuth,
16
+ AuthOrgHelpers,
17
+ AuthApiKeyHelpers,
18
+ AuthInterface,
19
+ } from './types';
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Core authentication types for Agentuity.
3
+ *
4
+ * These types are defined in @agentuity/core to avoid circular dependencies
5
+ * and allow packages like @agentuity/runtime to use auth types without
6
+ * pulling in heavy dependencies like drizzle-orm.
7
+ *
8
+ * @module services/auth/types
9
+ */
10
+
11
+ // =============================================================================
12
+ // Canonical User/Session Types
13
+ // =============================================================================
14
+
15
+ /**
16
+ * Canonical authenticated user type for Agentuity Auth.
17
+ *
18
+ * Common fields include:
19
+ * - `id` – Stable user identifier
20
+ * - `email` – Primary email address
21
+ * - `name` – Display name
22
+ * - `image` – Avatar URL (if configured)
23
+ * - `createdAt` / `updatedAt` – Timestamps
24
+ */
25
+ export interface AuthUser {
26
+ id: string;
27
+ email: string;
28
+ name?: string | null;
29
+ image?: string | null;
30
+ createdAt?: Date | string;
31
+ updatedAt?: Date | string;
32
+ }
33
+
34
+ /**
35
+ * Auth session type with organization plugin fields.
36
+ */
37
+ export interface AuthSession {
38
+ id: string;
39
+ userId: string;
40
+ expiresAt: Date | string;
41
+ /** Active organization ID from the organization plugin */
42
+ activeOrganizationId?: string;
43
+ ipAddress?: string | null;
44
+ userAgent?: string | null;
45
+ createdAt?: Date | string;
46
+ updatedAt?: Date | string;
47
+ }
48
+
49
+ /**
50
+ * Auth context containing user, session, and org data.
51
+ * This is the full auth context available on AgentContext.auth and c.var.auth.
52
+ * Session may be null for API key authentication.
53
+ */
54
+ export interface AuthContext<TUser = AuthUser, TSession = AuthSession | null> {
55
+ user: TUser;
56
+ session: TSession;
57
+ org: AuthOrgContext | null;
58
+ }
59
+
60
+ /**
61
+ * Organization context from the organization plugin.
62
+ */
63
+ export interface AuthOrgContext {
64
+ /** Organization ID */
65
+ id: string;
66
+ /** Organization slug (URL-friendly identifier) */
67
+ slug?: string | null;
68
+ /** Organization display name */
69
+ name?: string | null;
70
+ /** Member's role in this organization (e.g., 'owner', 'admin', 'member') */
71
+ role?: string | null;
72
+ /** Member ID for this user in this organization */
73
+ memberId?: string | null;
74
+ /** Organization metadata (if enabled) */
75
+ metadata?: unknown;
76
+ }
77
+
78
+ // =============================================================================
79
+ // API Key Types
80
+ // =============================================================================
81
+
82
+ /**
83
+ * API key permissions format.
84
+ * Maps resource names to arrays of allowed actions.
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * const permissions: AuthApiKeyPermissions = {
89
+ * project: ['read', 'write'],
90
+ * user: ['read'],
91
+ * admin: ['*'], // wildcard - all actions
92
+ * };
93
+ * ```
94
+ */
95
+ export interface AuthApiKeyPermissions {
96
+ [key: string]: string[];
97
+ }
98
+
99
+ /**
100
+ * API key context when request is authenticated via API key.
101
+ */
102
+ export interface AuthApiKeyContext {
103
+ /** API key ID */
104
+ id: string;
105
+ /** Display name of the API key */
106
+ name?: string | null;
107
+ /** Permissions associated with this API key */
108
+ permissions: AuthApiKeyPermissions;
109
+ /** User ID the API key belongs to */
110
+ userId?: string | null;
111
+ }
112
+
113
+ /**
114
+ * Authentication method used for the current request.
115
+ */
116
+ export type AuthMethod = 'session' | 'api-key' | 'bearer';
117
+
118
+ // =============================================================================
119
+ // Auth Interface
120
+ // =============================================================================
121
+
122
+ /**
123
+ * Generic authentication interface exposed on Hono context.
124
+ *
125
+ * This type is intentionally provider-agnostic.
126
+ *
127
+ * @typeParam TUser - Domain user type (defaults to unknown for flexibility).
128
+ * @typeParam TRaw - Underlying auth context (defaults to unknown for flexibility).
129
+ */
130
+ export interface AgentuityAuth<TUser = unknown, TRaw = unknown> {
131
+ /** Get the authenticated user, throws if not authenticated */
132
+ getUser(): Promise<TUser>;
133
+
134
+ /** Get the raw JWT token */
135
+ getToken(): Promise<string | null>;
136
+
137
+ /** Raw provider-specific auth object or auth context */
138
+ raw: TRaw;
139
+ }
140
+
141
+ /**
142
+ * Organization helpers available on the auth context.
143
+ */
144
+ export interface AuthOrgHelpers {
145
+ /** Active organization context if available, null otherwise */
146
+ org: AuthOrgContext | null;
147
+
148
+ /** Returns active org or null (never throws) */
149
+ getOrg(): Promise<AuthOrgContext | null>;
150
+
151
+ /** Convenience accessor for the member's role on the active org */
152
+ getOrgRole(): Promise<string | null>;
153
+
154
+ /** True if the current member's role is one of the provided roles */
155
+ hasOrgRole(...roles: string[]): Promise<boolean>;
156
+ }
157
+
158
+ /**
159
+ * API key helpers available on the auth context.
160
+ */
161
+ export interface AuthApiKeyHelpers {
162
+ /** How this request was authenticated */
163
+ authMethod: AuthMethod;
164
+
165
+ /** API key context when request is authenticated via API key, null otherwise */
166
+ apiKey: AuthApiKeyContext | null;
167
+
168
+ /**
169
+ * Check if the API key has the required permissions.
170
+ * All specified actions must be present for the resource.
171
+ * Supports '*' wildcard which matches any action.
172
+ *
173
+ * @param resource - The resource to check (e.g., 'project', 'user')
174
+ * @param actions - Actions required (e.g., 'read', 'write')
175
+ * @returns true if all actions are permitted, false otherwise
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * // Check for specific permission
180
+ * if (c.var.auth.hasPermission('project', 'write')) { ... }
181
+ *
182
+ * // Check for multiple permissions (all required)
183
+ * if (c.var.auth.hasPermission('project', 'read', 'write')) { ... }
184
+ * ```
185
+ */
186
+ hasPermission(resource: string, ...actions: string[]): boolean;
187
+ }
188
+
189
+ /**
190
+ * Full authentication interface available on `c.var.auth` and `ctx.auth`.
191
+ *
192
+ * This is the primary interface you'll use to access authentication data
193
+ * in your route handlers and agents. It provides:
194
+ *
195
+ * - User data via `getUser()`
196
+ * - Organization helpers via `getOrg()`, `getOrgRole()`, `hasOrgRole()`
197
+ * - API key helpers via `apiKey`, `hasPermission()`
198
+ * - Token access via `getToken()`
199
+ *
200
+ * @example Route handler
201
+ * ```typescript
202
+ * app.get('/api/profile', async (c) => {
203
+ * const user = await c.var.auth.getUser();
204
+ * const org = await c.var.auth.getOrg();
205
+ * return c.json({ user, org });
206
+ * });
207
+ * ```
208
+ *
209
+ * @example Agent handler
210
+ * ```typescript
211
+ * handler: async (ctx, input) => {
212
+ * if (!ctx.auth) return { error: 'Unauthorized' };
213
+ * const user = await ctx.auth.getUser();
214
+ * return { message: `Hello, ${user.email}!` };
215
+ * }
216
+ * ```
217
+ *
218
+ * @typeParam TUser - User type (extends AuthUser, defaults to AuthUser)
219
+ */
220
+ export interface AuthInterface<TUser extends AuthUser = AuthUser>
221
+ extends AgentuityAuth<TUser, AuthContext<TUser>>,
222
+ AuthOrgHelpers,
223
+ AuthApiKeyHelpers {}
@@ -1,4 +1,5 @@
1
1
  export * from './adapter.ts';
2
+ export * from './auth/index.ts';
2
3
  export * from './email/index.ts';
3
4
  export * from './exception.ts';
4
5
  export * from './keyvalue/index.ts';
@@ -25,11 +25,28 @@ function resolveConfig(config?: OAuthFlowConfig) {
25
25
  config?.userinfoUrl ??
26
26
  getEnv('OAUTH_USERINFO_URL') ??
27
27
  (issuer ? `${issuer}/userinfo` : undefined);
28
+ const revokeUrl =
29
+ config?.revokeUrl ?? getEnv('OAUTH_REVOKE_URL') ?? (issuer ? `${issuer}/revoke` : undefined);
30
+ const endSessionUrl =
31
+ config?.endSessionUrl ??
32
+ getEnv('OAUTH_END_SESSION_URL') ??
33
+ (issuer ? `${issuer}/end_session` : undefined);
28
34
  const scopes = config?.scopes ?? getEnv('OAUTH_SCOPES') ?? 'openid profile email';
29
35
 
30
36
  const prompt = config?.prompt;
31
37
 
32
- return { clientId, clientSecret, issuer, authorizeUrl, tokenUrl, userinfoUrl, scopes, prompt };
38
+ return {
39
+ clientId,
40
+ clientSecret,
41
+ issuer,
42
+ authorizeUrl,
43
+ tokenUrl,
44
+ userinfoUrl,
45
+ revokeUrl,
46
+ endSessionUrl,
47
+ scopes,
48
+ prompt,
49
+ };
33
50
  }
34
51
 
35
52
  /**
@@ -118,9 +135,6 @@ export async function exchangeToken(
118
135
  });
119
136
  }
120
137
 
121
- const controller = new AbortController();
122
- const timer = setTimeout(() => controller.abort(), DEFAULT_TIMEOUT_MS);
123
-
124
138
  let response: Response;
125
139
  try {
126
140
  response = await fetch(resolved.tokenUrl, {
@@ -133,18 +147,16 @@ export async function exchangeToken(
133
147
  client_id: resolved.clientId,
134
148
  client_secret: resolved.clientSecret,
135
149
  }),
136
- signal: controller.signal,
150
+ signal: AbortSignal.timeout(DEFAULT_TIMEOUT_MS),
137
151
  });
138
152
  } catch (err) {
139
- clearTimeout(timer);
140
- if (err instanceof DOMException && err.name === 'AbortError') {
153
+ if (err instanceof DOMException && err.name === 'TimeoutError') {
141
154
  throw new OAuthResponseError({
142
155
  message: `Token exchange timed out after ${DEFAULT_TIMEOUT_MS}ms`,
143
156
  });
144
157
  }
145
158
  throw err;
146
159
  }
147
- clearTimeout(timer);
148
160
 
149
161
  if (!response.ok) {
150
162
  const error = await response.text();
@@ -157,6 +169,140 @@ export async function exchangeToken(
157
169
  return OAuthTokenResponseSchema.parse(data);
158
170
  }
159
171
 
172
+ /**
173
+ * Refresh an access token using a refresh token.
174
+ *
175
+ * @param refreshTokenValue - The refresh token obtained from a previous token exchange
176
+ * @param config - Optional OAuth configuration. Falls back to environment variables.
177
+ * @returns The token response including a new access_token, and optionally a new refresh_token
178
+ *
179
+ * @example
180
+ * ```typescript
181
+ * const newToken = await refreshToken(previousToken.refresh_token!);
182
+ * console.log(newToken.access_token);
183
+ * ```
184
+ */
185
+ export async function refreshToken(
186
+ refreshTokenValue: string,
187
+ config?: OAuthFlowConfig
188
+ ): Promise<OAuthTokenResponse> {
189
+ const resolved = resolveConfig(config);
190
+
191
+ if (!resolved.tokenUrl) {
192
+ throw new OAuthResponseError({
193
+ message:
194
+ 'No token URL configured. Set OAUTH_TOKEN_URL or OAUTH_ISSUER environment variable.',
195
+ });
196
+ }
197
+ if (!resolved.clientId) {
198
+ throw new OAuthResponseError({
199
+ message: 'No client ID configured. Set OAUTH_CLIENT_ID environment variable.',
200
+ });
201
+ }
202
+
203
+ const params = new URLSearchParams({
204
+ grant_type: 'refresh_token',
205
+ refresh_token: refreshTokenValue,
206
+ client_id: resolved.clientId,
207
+ });
208
+
209
+ if (resolved.clientSecret) {
210
+ params.set('client_secret', resolved.clientSecret);
211
+ }
212
+
213
+ let response: Response;
214
+ try {
215
+ response = await fetch(resolved.tokenUrl, {
216
+ method: 'POST',
217
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
218
+ body: params,
219
+ signal: AbortSignal.timeout(DEFAULT_TIMEOUT_MS),
220
+ });
221
+ } catch (err) {
222
+ if (err instanceof DOMException && err.name === 'TimeoutError') {
223
+ throw new OAuthResponseError({
224
+ message: `Token refresh timed out after ${DEFAULT_TIMEOUT_MS}ms`,
225
+ });
226
+ }
227
+ throw err;
228
+ }
229
+
230
+ if (!response.ok) {
231
+ const error = await response.text();
232
+ throw new OAuthResponseError({
233
+ message: `Token refresh failed (${response.status}): ${error}`,
234
+ });
235
+ }
236
+
237
+ const data = await response.json();
238
+ return OAuthTokenResponseSchema.parse(data);
239
+ }
240
+
241
+ /**
242
+ * Revoke an OAuth token (access token or refresh token) to log the user out.
243
+ *
244
+ * Calls the token revocation endpoint (RFC 7009). The server will invalidate
245
+ * the token so it can no longer be used. Per the spec, the endpoint returns
246
+ * a success response even if the token was already invalid.
247
+ *
248
+ * @param token - The access token or refresh token to revoke
249
+ * @param config - Optional OAuth configuration. Falls back to environment variables.
250
+ *
251
+ * @example
252
+ * ```typescript
253
+ * // Revoke the refresh token to fully log out
254
+ * await logout(token.refresh_token!);
255
+ * ```
256
+ */
257
+ export async function logout(token: string, config?: OAuthFlowConfig): Promise<void> {
258
+ const resolved = resolveConfig(config);
259
+
260
+ if (!resolved.revokeUrl) {
261
+ throw new OAuthResponseError({
262
+ message:
263
+ 'No revoke URL configured. Set OAUTH_REVOKE_URL or OAUTH_ISSUER environment variable.',
264
+ });
265
+ }
266
+ if (!resolved.clientId) {
267
+ throw new OAuthResponseError({
268
+ message: 'No client ID configured. Set OAUTH_CLIENT_ID environment variable.',
269
+ });
270
+ }
271
+
272
+ const params = new URLSearchParams({
273
+ token,
274
+ client_id: resolved.clientId,
275
+ });
276
+
277
+ if (resolved.clientSecret) {
278
+ params.set('client_secret', resolved.clientSecret);
279
+ }
280
+
281
+ let response: Response;
282
+ try {
283
+ response = await fetch(resolved.revokeUrl, {
284
+ method: 'POST',
285
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
286
+ body: params,
287
+ signal: AbortSignal.timeout(DEFAULT_TIMEOUT_MS),
288
+ });
289
+ } catch (err) {
290
+ if (err instanceof DOMException && err.name === 'TimeoutError') {
291
+ throw new OAuthResponseError({
292
+ message: `Token revocation timed out after ${DEFAULT_TIMEOUT_MS}ms`,
293
+ });
294
+ }
295
+ throw err;
296
+ }
297
+
298
+ if (!response.ok) {
299
+ const error = await response.text();
300
+ throw new OAuthResponseError({
301
+ message: `Token revocation failed (${response.status}): ${error}`,
302
+ });
303
+ }
304
+ }
305
+
160
306
  /**
161
307
  * Fetch user information from the OIDC userinfo endpoint using an access token.
162
308
  *
@@ -183,25 +329,20 @@ export async function fetchUserInfo(
183
329
  });
184
330
  }
185
331
 
186
- const controller = new AbortController();
187
- const timer = setTimeout(() => controller.abort(), DEFAULT_TIMEOUT_MS);
188
-
189
332
  let response: Response;
190
333
  try {
191
334
  response = await fetch(resolved.userinfoUrl, {
192
335
  headers: { Authorization: `Bearer ${accessToken}` },
193
- signal: controller.signal,
336
+ signal: AbortSignal.timeout(DEFAULT_TIMEOUT_MS),
194
337
  });
195
338
  } catch (err) {
196
- clearTimeout(timer);
197
- if (err instanceof DOMException && err.name === 'AbortError') {
339
+ if (err instanceof DOMException && err.name === 'TimeoutError') {
198
340
  throw new OAuthResponseError({
199
341
  message: `Userinfo request timed out after ${DEFAULT_TIMEOUT_MS}ms`,
200
342
  });
201
343
  }
202
344
  throw err;
203
345
  }
204
- clearTimeout(timer);
205
346
 
206
347
  if (!response.ok) {
207
348
  const error = await response.text();
@@ -7,3 +7,4 @@ export * from './members.ts';
7
7
  export * from './keys.ts';
8
8
  export * from './util.ts';
9
9
  export * from './flow.ts';
10
+ export * from './token-storage.ts';