@lifestreamdynamics/vault-sdk 1.2.0 → 2.1.0

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 (110) hide show
  1. package/README.md +245 -13
  2. package/dist/client.d.ts +30 -1
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +73 -23
  5. package/dist/client.js.map +1 -1
  6. package/dist/errors.d.ts +3 -2
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +4 -3
  9. package/dist/errors.js.map +1 -1
  10. package/dist/handle-error.js +1 -1
  11. package/dist/handle-error.js.map +1 -1
  12. package/dist/index.d.ts +15 -3
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +6 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/audit-logger.d.ts +1 -1
  17. package/dist/lib/audit-logger.d.ts.map +1 -1
  18. package/dist/lib/audit-logger.js +26 -18
  19. package/dist/lib/audit-logger.js.map +1 -1
  20. package/dist/lib/encryption.d.ts +2 -2
  21. package/dist/lib/encryption.d.ts.map +1 -1
  22. package/dist/lib/encryption.js +68 -39
  23. package/dist/lib/encryption.js.map +1 -1
  24. package/dist/lib/signature.d.ts +4 -3
  25. package/dist/lib/signature.d.ts.map +1 -1
  26. package/dist/lib/signature.js +37 -15
  27. package/dist/lib/signature.js.map +1 -1
  28. package/dist/lib/token-manager.d.ts +1 -1
  29. package/dist/lib/token-manager.d.ts.map +1 -1
  30. package/dist/lib/token-manager.js +27 -7
  31. package/dist/lib/token-manager.js.map +1 -1
  32. package/dist/resources/admin.d.ts +1 -1
  33. package/dist/resources/admin.d.ts.map +1 -1
  34. package/dist/resources/admin.js +6 -6
  35. package/dist/resources/admin.js.map +1 -1
  36. package/dist/resources/ai.d.ts +10 -0
  37. package/dist/resources/ai.d.ts.map +1 -1
  38. package/dist/resources/ai.js +16 -1
  39. package/dist/resources/ai.js.map +1 -1
  40. package/dist/resources/analytics.d.ts +39 -1
  41. package/dist/resources/analytics.d.ts.map +1 -1
  42. package/dist/resources/analytics.js +40 -2
  43. package/dist/resources/analytics.js.map +1 -1
  44. package/dist/resources/booking.d.ts +405 -0
  45. package/dist/resources/booking.d.ts.map +1 -0
  46. package/dist/resources/booking.js +430 -0
  47. package/dist/resources/booking.js.map +1 -0
  48. package/dist/resources/calendar.d.ts +304 -3
  49. package/dist/resources/calendar.d.ts.map +1 -1
  50. package/dist/resources/calendar.js +364 -4
  51. package/dist/resources/calendar.js.map +1 -1
  52. package/dist/resources/collaboration.d.ts +33 -0
  53. package/dist/resources/collaboration.d.ts.map +1 -0
  54. package/dist/resources/collaboration.js +44 -0
  55. package/dist/resources/collaboration.js.map +1 -0
  56. package/dist/resources/connectors.d.ts +1 -1
  57. package/dist/resources/connectors.d.ts.map +1 -1
  58. package/dist/resources/custom-domains.d.ts +84 -1
  59. package/dist/resources/custom-domains.d.ts.map +1 -1
  60. package/dist/resources/custom-domains.js +84 -1
  61. package/dist/resources/custom-domains.js.map +1 -1
  62. package/dist/resources/documents.d.ts +30 -0
  63. package/dist/resources/documents.d.ts.map +1 -1
  64. package/dist/resources/documents.js +69 -1
  65. package/dist/resources/documents.js.map +1 -1
  66. package/dist/resources/plugins.d.ts +101 -0
  67. package/dist/resources/plugins.d.ts.map +1 -0
  68. package/dist/resources/plugins.js +127 -0
  69. package/dist/resources/plugins.js.map +1 -0
  70. package/dist/resources/publish-vault.d.ts +84 -1
  71. package/dist/resources/publish-vault.d.ts.map +1 -1
  72. package/dist/resources/publish-vault.js +61 -6
  73. package/dist/resources/publish-vault.js.map +1 -1
  74. package/dist/resources/saml.d.ts +142 -0
  75. package/dist/resources/saml.d.ts.map +1 -0
  76. package/dist/resources/saml.js +138 -0
  77. package/dist/resources/saml.js.map +1 -0
  78. package/dist/resources/scim.d.ts +211 -0
  79. package/dist/resources/scim.d.ts.map +1 -0
  80. package/dist/resources/scim.js +131 -0
  81. package/dist/resources/scim.js.map +1 -0
  82. package/dist/resources/search.d.ts +14 -0
  83. package/dist/resources/search.d.ts.map +1 -1
  84. package/dist/resources/search.js +34 -0
  85. package/dist/resources/search.js.map +1 -1
  86. package/dist/resources/subscription.js +1 -1
  87. package/dist/resources/subscription.js.map +1 -1
  88. package/dist/resources/team-booking-groups.d.ts +149 -0
  89. package/dist/resources/team-booking-groups.d.ts.map +1 -0
  90. package/dist/resources/team-booking-groups.js +175 -0
  91. package/dist/resources/team-booking-groups.js.map +1 -0
  92. package/dist/resources/teams.d.ts +12 -3
  93. package/dist/resources/teams.d.ts.map +1 -1
  94. package/dist/resources/teams.js +53 -6
  95. package/dist/resources/teams.js.map +1 -1
  96. package/dist/resources/user.d.ts +27 -8
  97. package/dist/resources/user.d.ts.map +1 -1
  98. package/dist/resources/user.js +35 -4
  99. package/dist/resources/user.js.map +1 -1
  100. package/dist/resources/vaults.d.ts +126 -0
  101. package/dist/resources/vaults.d.ts.map +1 -1
  102. package/dist/resources/vaults.js +131 -0
  103. package/dist/resources/vaults.js.map +1 -1
  104. package/dist/types/index.d.ts +4 -1
  105. package/dist/types/index.d.ts.map +1 -1
  106. package/package.json +1 -1
  107. package/dist/types/resources.d.ts +0 -5
  108. package/dist/types/resources.d.ts.map +0 -1
  109. package/dist/types/resources.js +0 -2
  110. package/dist/types/resources.js.map +0 -1
package/dist/errors.js CHANGED
@@ -40,10 +40,11 @@ export class RateLimitError extends SDKError {
40
40
  }
41
41
  }
42
42
  export class NetworkError extends SDKError {
43
- cause;
44
- constructor(message, cause) {
43
+ /** The original error that caused this network failure, if any. */
44
+ originalError;
45
+ constructor(message, originalError) {
45
46
  super(message);
46
- this.cause = cause;
47
+ this.originalError = originalError;
47
48
  }
48
49
  }
49
50
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAGxB;IAFT,YACE,OAAe,EACR,UAAmB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFR,eAAU,GAAV,UAAU,CAAS;QAG1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAGlC;IAFT,YACE,OAAe,EACR,OAAiB;QAExB,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAFb,YAAO,GAAP,OAAO,CAAU;IAG1B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,UAAkB,yBAAyB;QACrD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IAC9C,YAAY,UAAkB,mBAAmB;QAC/C,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,QAAQ;IACzC,YAAY,QAAgB,EAAE,UAAkB;QAC9C,KAAK,CAAC,GAAG,QAAQ,eAAe,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,QAAQ;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,UAAkB,qBAAqB;QACjD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,QAAQ;IAC/B,KAAK,CAAS;IAEvB,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAGxB;IAFT,YACE,OAAe,EACR,UAAmB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFR,eAAU,GAAV,UAAU,CAAS;QAG1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAGlC;IAFT,YACE,OAAe,EACR,OAAiB;QAExB,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAFb,YAAO,GAAP,OAAO,CAAU;IAG1B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,UAAkB,yBAAyB;QACrD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IAC9C,YAAY,UAAkB,mBAAmB;QAC/C,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,QAAQ;IACzC,YAAY,QAAgB,EAAE,UAAkB;QAC9C,KAAK,CAAC,GAAG,QAAQ,eAAe,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,QAAQ;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,UAAkB,qBAAqB;QACjD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,QAAQ;IACxC,mEAAmE;IAC1D,aAAa,CAAS;IAE/B,YAAY,OAAe,EAAE,aAAqB;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF"}
@@ -20,7 +20,7 @@ export async function handleError(error, resource = 'Resource', identifier = '')
20
20
  if (status === 403)
21
21
  throw new AuthorizationError(msg);
22
22
  if (status === 404)
23
- throw new NotFoundError(resource, identifier);
23
+ throw new NotFoundError(resource, identifier || msg);
24
24
  if (status === 409)
25
25
  throw new ConflictError(msg);
26
26
  if (status === 429)
@@ -1 +1 @@
1
- {"version":3,"file":"handle-error.js","sourceRoot":"","sources":["../src/handle-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC;AAOrB;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAc,EACd,WAAmB,UAAU,EAC7B,aAAqB,EAAE;IAEvB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrC,MAAM,IAAI,GAAc,MAAM,KAAK,CAAC,QAAQ;aACzC,IAAI,EAAE;aACN,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAc,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC;QAE7C,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,YAAY,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,YAAY,CAAC,wBAAwB,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"handle-error.js","sourceRoot":"","sources":["../src/handle-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC;AAOrB;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAc,EACd,WAAmB,UAAU,EAC7B,aAAqB,EAAE;IAEvB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrC,MAAM,IAAI,GAAc,MAAM,KAAK,CAAC,QAAQ;aACzC,IAAI,EAAE;aACN,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAc,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC;QAE7C,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,aAAa,CAAC,QAAQ,EAAE,UAAU,IAAI,GAAG,CAAC,CAAC;QACzE,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,YAAY,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,YAAY,CAAC,wBAAwB,CAAC,CAAC;AACnD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export { LifestreamVaultClient, DEFAULT_API_URL, type ClientOptions } from './client.js';
2
2
  export { VaultsResource } from './resources/vaults.js';
3
- export type { VaultTreeNode, VaultExportRecord, VaultMfaConfig } from './resources/vaults.js';
3
+ export type { VaultTreeNode, VaultExportRecord, VaultMfaConfig, LinkGraphNode, LinkGraphEdge, LinkGraphResponse, UnresolvedLink, UnresolvedLinkReference } from './resources/vaults.js';
4
4
  export { DocumentsResource } from './resources/documents.js';
5
- export type { BulkOperationResult } from './resources/documents.js';
5
+ export type { BulkOperationResult, DocumentVersion, DocumentVersionWithContent, VersionDiffResponse, ForwardLinkResult, BacklinkResult } from './resources/documents.js';
6
6
  export { SearchResource } from './resources/search.js';
7
7
  export { AiResource } from './resources/ai.js';
8
8
  export { ApiKeysResource } from './resources/api-keys.js';
@@ -26,14 +26,26 @@ export type { Webhook, WebhookWithSecret, WebhookDelivery, CreateWebhookParams,
26
26
  export { AdminResource } from './resources/admin.js';
27
27
  export type { SystemStats, TimeseriesDataPoint, TimeseriesResponse, AdminUser, AdminUserListResponse, AdminUserDetail, AdminUserListParams, AdminUpdateUserParams, ActivityEntry, SubscriptionSummary, SystemHealth, BackupStatus, } from './resources/admin.js';
28
28
  export { MfaResource } from './resources/mfa.js';
29
+ export type { MfaStatus, TotpSetupResponse, PasskeyInfo } from './types/api.js';
29
30
  export { CalendarResource } from './resources/calendar.js';
30
- export type { CalendarEvent, DueDocument, CalendarDayData, CalendarActivityDay, CalendarResponse, CalendarActivityResponse, CreateCalendarEventInput, AgendaGroup, AgendaResponse, } from './resources/calendar.js';
31
+ export type { CalendarEvent, DueDocument, CalendarDayData, CalendarActivityDay, CalendarResponse, CalendarActivityResponse, CreateCalendarEventInput, AgendaGroup, AgendaResponse, TimelineItem, TimelineResponse, UpcomingResponse, ICalTokenResponse, ICalTokenStatus, CalendarConnector, CalendarConnectorSyncResult, EventParticipant, RecurrenceRule, CalendarEventTemplate, CreateEventTemplateInput, UpdateEventTemplateInput, CalendarConnectorOAuthResult, } from './resources/calendar.js';
32
+ export { BookingResource } from './resources/booking.js';
33
+ export type { EventSlot, Booking, AvailableTime, AvailabilityResponse, CreateSlotInput, UpdateSlotInput, BookingFilters, WaitlistStatus, BookingWaitlistEntry, JoinWaitlistInput, WaitlistFilters, BookingAnalytics, AnalyticsFilters, EventTemplate, CreateTemplateInput, BookingBranding, PaymentStatus, } from './resources/booking.js';
34
+ export { TeamBookingGroupsResource } from './resources/team-booking-groups.js';
35
+ export type { TeamBookingGroup, TeamBookingGroupMember, CreateBookingGroupInput, UpdateBookingGroupInput, AssignmentMode, AddGroupMemberInput, } from './resources/team-booking-groups.js';
31
36
  export { CustomDomainsResource } from './resources/custom-domains.js';
32
37
  export type { CustomDomain, DnsCheckResult } from './resources/custom-domains.js';
33
38
  export { AnalyticsResource } from './resources/analytics.js';
34
39
  export type { PublishedSummary, ShareAnalytics, PublishedDocAnalytics } from './resources/analytics.js';
35
40
  export { PublishVaultResource } from './resources/publish-vault.js';
36
41
  export type { PublishedVault, PublishVaultParams } from './resources/publish-vault.js';
42
+ export { SamlResource } from './resources/saml.js';
43
+ export type { SsoConfig, CreateSsoConfigInput, UpdateSsoConfigInput } from './resources/saml.js';
44
+ export { ScimResource } from './resources/scim.js';
45
+ export type { ScimUser, ScimListResponse, ScimCreateUserInput, ScimUpdateUserInput, ScimServiceProviderConfig, } from './resources/scim.js';
46
+ export { PluginsResource } from './resources/plugins.js';
47
+ export type { InstalledPlugin, InstallPluginInput } from './resources/plugins.js';
48
+ export { CollaborationResource } from './resources/collaboration.js';
37
49
  export { signRequest, buildSignaturePayload, signPayload, generateNonce, SIGNATURE_HEADER, SIGNATURE_TIMESTAMP_HEADER, SIGNATURE_NONCE_HEADER, MAX_TIMESTAMP_AGE_MS, } from './lib/signature.js';
38
50
  export { AuditLogger, type AuditEntry, type AuditLoggerOptions } from './lib/audit-logger.js';
39
51
  export { generateVaultKey, encrypt as encryptContent, decrypt as decryptContent, isEncryptedEnvelope, type EncryptedEnvelope, } from './lib/encryption.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,9 +15,15 @@ export { WebhooksResource } from './resources/webhooks.js';
15
15
  export { AdminResource } from './resources/admin.js';
16
16
  export { MfaResource } from './resources/mfa.js';
17
17
  export { CalendarResource } from './resources/calendar.js';
18
+ export { BookingResource } from './resources/booking.js';
19
+ export { TeamBookingGroupsResource } from './resources/team-booking-groups.js';
18
20
  export { CustomDomainsResource } from './resources/custom-domains.js';
19
21
  export { AnalyticsResource } from './resources/analytics.js';
20
22
  export { PublishVaultResource } from './resources/publish-vault.js';
23
+ export { SamlResource } from './resources/saml.js';
24
+ export { ScimResource } from './resources/scim.js';
25
+ export { PluginsResource } from './resources/plugins.js';
26
+ export { CollaborationResource } from './resources/collaboration.js';
21
27
  // Request signing
22
28
  export { signRequest, buildSignaturePayload, signPayload, generateNonce, SIGNATURE_HEADER, SIGNATURE_TIMESTAMP_HEADER, SIGNATURE_NONCE_HEADER, MAX_TIMESTAMP_AGE_MS, } from './lib/signature.js';
23
29
  // Audit logging
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAY/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAerD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAY3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAA4C,MAAM,uBAAuB,CAAC;AAE9F,aAAa;AACb,OAAO,EACL,gBAAgB,EAChB,OAAO,IAAI,cAAc,EACzB,OAAO,IAAI,cAAc,EACzB,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAE7B,mBAAmB;AACnB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,GAKf,MAAM,wBAAwB,CAAC;AAEhC,gBAAgB;AAChB,OAAO,EACL,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAY/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAerD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAyB3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAoBzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAS/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAA4C,MAAM,uBAAuB,CAAC;AAE9F,aAAa;AACb,OAAO,EACL,gBAAgB,EAChB,OAAO,IAAI,cAAc,EACzB,OAAO,IAAI,cAAc,EACzB,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAE7B,mBAAmB;AACnB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,GAKf,MAAM,wBAAwB,CAAC;AAEhC,gBAAgB;AAChB,OAAO,EACL,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC"}
@@ -16,7 +16,7 @@ export declare class AuditLogger {
16
16
  private readonly maxFiles;
17
17
  constructor(options?: AuditLoggerOptions);
18
18
  getLogPath(): string;
19
- log(entry: AuditEntry): void;
19
+ log(entry: AuditEntry): Promise<void>;
20
20
  private rotateIfNeeded;
21
21
  readEntries(options?: {
22
22
  tail?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logger.d.ts","sourceRoot":"","sources":["../../src/lib/audit-logger.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,OAAO,GAAE,kBAAuB;IAM5C,UAAU,IAAI,MAAM;IAIpB,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAY5B,OAAO,CAAC,cAAc;IA+BtB,WAAW,CAAC,OAAO,GAAE;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GAAG,UAAU,EAAE;IAiCrB,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM;CAOzC"}
1
+ {"version":3,"file":"audit-logger.d.ts","sourceRoot":"","sources":["../../src/lib/audit-logger.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,OAAO,GAAE,kBAAuB;IAM5C,UAAU,IAAI,MAAM;IAId,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YAW7B,cAAc;IAkC5B,WAAW,CAAC,OAAO,GAAE;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GAAG,UAAU,EAAE;IAoCrB,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM;CAOzC"}
@@ -17,47 +17,55 @@ export class AuditLogger {
17
17
  getLogPath() {
18
18
  return this.logPath;
19
19
  }
20
- log(entry) {
20
+ async log(entry) {
21
21
  const dir = path.dirname(this.logPath);
22
- if (!fs.existsSync(dir)) {
23
- fs.mkdirSync(dir, { recursive: true });
24
- }
25
- this.rotateIfNeeded();
22
+ // mkdir with recursive:true is a no-op if the dir already exists
23
+ await fs.promises.mkdir(dir, { recursive: true });
24
+ await this.rotateIfNeeded();
26
25
  const line = JSON.stringify(entry) + '\n';
27
- fs.appendFileSync(this.logPath, line, 'utf-8');
26
+ await fs.promises.appendFile(this.logPath, line, 'utf-8');
28
27
  }
29
- rotateIfNeeded() {
30
- if (!fs.existsSync(this.logPath))
31
- return;
28
+ async rotateIfNeeded() {
32
29
  let stat;
33
30
  try {
34
- stat = fs.statSync(this.logPath);
31
+ stat = await fs.promises.stat(this.logPath);
35
32
  }
36
33
  catch {
34
+ // File does not exist yet — nothing to rotate
37
35
  return;
38
36
  }
39
37
  if (stat.size < this.maxSize)
40
38
  return;
41
39
  // Delete oldest rotated file if it exists
42
40
  const oldest = `${this.logPath}.${this.maxFiles}`;
43
- if (fs.existsSync(oldest)) {
44
- fs.unlinkSync(oldest);
41
+ try {
42
+ await fs.promises.unlink(oldest);
43
+ }
44
+ catch {
45
+ // Ignore — file may not exist
45
46
  }
46
47
  // Shift existing rotated files: .4 -> .5, .3 -> .4, etc.
47
48
  for (let i = this.maxFiles - 1; i >= 1; i--) {
48
49
  const src = `${this.logPath}.${i}`;
49
50
  const dest = `${this.logPath}.${i + 1}`;
50
- if (fs.existsSync(src)) {
51
- fs.renameSync(src, dest);
51
+ try {
52
+ await fs.promises.rename(src, dest);
53
+ }
54
+ catch {
55
+ // Ignore — file may not exist
52
56
  }
53
57
  }
54
58
  // Rotate current log to .1
55
- fs.renameSync(this.logPath, `${this.logPath}.1`);
59
+ await fs.promises.rename(this.logPath, `${this.logPath}.1`);
56
60
  }
57
61
  readEntries(options = {}) {
58
- if (!fs.existsSync(this.logPath))
62
+ let content;
63
+ try {
64
+ content = fs.readFileSync(this.logPath, 'utf-8');
65
+ }
66
+ catch {
59
67
  return [];
60
- const content = fs.readFileSync(this.logPath, 'utf-8');
68
+ }
61
69
  const lines = content.split('\n').filter(Boolean);
62
70
  let entries = [];
63
71
  for (const line of lines) {
@@ -86,7 +94,7 @@ export class AuditLogger {
86
94
  }
87
95
  exportCsv(entries) {
88
96
  const header = 'timestamp,method,path,status,durationMs';
89
- const rows = entries.map(e => `${e.timestamp},${e.method},${csvEscape(e.path)},${e.status},${e.durationMs}`);
97
+ const rows = entries.map(e => `${csvEscape(e.timestamp)},${csvEscape(e.method)},${csvEscape(e.path)},${e.status},${e.durationMs}`);
90
98
  return [header, ...rows].join('\n') + '\n';
91
99
  }
92
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logger.js","sourceRoot":"","sources":["../../src/lib/audit-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit-logger.js","sourceRoot":"","sources":["../../src/lib/audit-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC5D,MAAM,gBAAgB,GAAG,WAAW,CAAC;AACrC,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAC9C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAgB5B,MAAM,OAAO,WAAW;IACL,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,QAAQ,CAAS;IAElC,YAAY,UAA8B,EAAE;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IACxD,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAiB;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,iEAAiE;QACjE,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAC1C,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO;YAAE,OAAO;QAErC,0CAA0C;QAC1C,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QAED,yDAAyD;QACzD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,WAAW,CAAC,UAKR,EAAE;QACJ,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,OAAO,GAAiB,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,CAAC,OAAqB;QAC7B,MAAM,MAAM,GAAG,yCAAyC,CAAC;QACzD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC3B,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,EAAE,CACpG,CAAC;QACF,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,CAAC;CACF;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -18,7 +18,7 @@ export declare function generateVaultKey(): string;
18
18
  * @param keyHex - The 256-bit key as a hex string
19
19
  * @returns The encrypted envelope as a JSON string
20
20
  */
21
- export declare function encrypt(plaintext: string, keyHex: string): string;
21
+ export declare function encrypt(plaintext: string, keyHex: string): Promise<string>;
22
22
  /**
23
23
  * Decrypt content from an encrypted envelope using AES-256-GCM.
24
24
  *
@@ -26,7 +26,7 @@ export declare function encrypt(plaintext: string, keyHex: string): string;
26
26
  * @param keyHex - The 256-bit key as a hex string
27
27
  * @returns The decrypted plaintext string
28
28
  */
29
- export declare function decrypt(envelopeJson: string, keyHex: string): string;
29
+ export declare function decrypt(envelopeJson: string, keyHex: string): Promise<string>;
30
30
  /**
31
31
  * Check if a string is an encrypted envelope (basic structure check).
32
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/lib/encryption.ts"],"names":[],"mappings":"AAOA,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,aAAa,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBjE;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA4BpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAa5D"}
1
+ {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/lib/encryption.ts"],"names":[],"mappings":"AAKA,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,aAAa,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAiCD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BhF;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6CnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAa5D"}
@@ -1,14 +1,37 @@
1
- import crypto from 'node:crypto';
2
- const ALGORITHM = 'aes-256-gcm';
3
- const KEY_LENGTH = 32; // 256 bits
4
- const IV_LENGTH = 12; // 96 bits (recommended for GCM)
5
- const AUTH_TAG_LENGTH = 16; // 128 bits
1
+ const ALGORITHM = 'AES-GCM';
2
+ const KEY_LENGTH_BYTES = 32; // 256 bits
3
+ const IV_LENGTH_BYTES = 12; // 96 bits (recommended for GCM)
4
+ const AUTH_TAG_LENGTH_BYTES = 16; // 128 bits
5
+ /** Convert a Uint8Array to a lowercase hex string. */
6
+ function toHex(bytes) {
7
+ return Array.from(bytes)
8
+ .map(b => b.toString(16).padStart(2, '0'))
9
+ .join('');
10
+ }
11
+ /** Convert a hex string to a Uint8Array. */
12
+ function fromHex(hex) {
13
+ const result = new Uint8Array(hex.length / 2);
14
+ for (let i = 0; i < hex.length; i += 2) {
15
+ result[i / 2] = parseInt(hex.slice(i, i + 2), 16);
16
+ }
17
+ return result;
18
+ }
19
+ /** Import a raw 256-bit key hex string as a Web Crypto AES-GCM CryptoKey. */
20
+ async function importKey(keyHex) {
21
+ const keyBytes = fromHex(keyHex);
22
+ if (keyBytes.length !== KEY_LENGTH_BYTES) {
23
+ throw new Error(`Invalid key length: expected ${KEY_LENGTH_BYTES} bytes, got ${keyBytes.length}`);
24
+ }
25
+ return globalThis.crypto.subtle.importKey('raw', keyBytes, { name: ALGORITHM }, false, ['encrypt', 'decrypt']);
26
+ }
6
27
  /**
7
28
  * Generate a random 256-bit encryption key.
8
29
  * Returns the key as a hex string (64 characters).
9
30
  */
10
31
  export function generateVaultKey() {
11
- return crypto.randomBytes(KEY_LENGTH).toString('hex');
32
+ const bytes = new Uint8Array(KEY_LENGTH_BYTES);
33
+ globalThis.crypto.getRandomValues(bytes);
34
+ return toHex(bytes);
12
35
  }
13
36
  /**
14
37
  * Encrypt plaintext content using AES-256-GCM.
@@ -17,24 +40,23 @@ export function generateVaultKey() {
17
40
  * @param keyHex - The 256-bit key as a hex string
18
41
  * @returns The encrypted envelope as a JSON string
19
42
  */
20
- export function encrypt(plaintext, keyHex) {
21
- const key = Buffer.from(keyHex, 'hex');
22
- if (key.length !== KEY_LENGTH) {
23
- throw new Error(`Invalid key length: expected ${KEY_LENGTH} bytes, got ${key.length}`);
24
- }
25
- const iv = crypto.randomBytes(IV_LENGTH);
26
- const cipher = crypto.createCipheriv(ALGORITHM, key, iv);
27
- const encrypted = Buffer.concat([
28
- cipher.update(plaintext, 'utf8'),
29
- cipher.final(),
30
- ]);
31
- const authTag = cipher.getAuthTag();
43
+ export async function encrypt(plaintext, keyHex) {
44
+ const key = await importKey(keyHex);
45
+ const iv = new Uint8Array(IV_LENGTH_BYTES);
46
+ globalThis.crypto.getRandomValues(iv);
47
+ const encoded = new TextEncoder().encode(plaintext);
48
+ // AES-GCM output from subtle.encrypt is ciphertext + 16-byte auth tag appended
49
+ const encryptedBuffer = await globalThis.crypto.subtle.encrypt({ name: ALGORITHM, iv, tagLength: AUTH_TAG_LENGTH_BYTES * 8 }, key, encoded);
50
+ const encryptedBytes = new Uint8Array(encryptedBuffer);
51
+ // The Web Crypto API appends the auth tag to the end of the ciphertext
52
+ const ciphertext = encryptedBytes.slice(0, encryptedBytes.length - AUTH_TAG_LENGTH_BYTES);
53
+ const authTag = encryptedBytes.slice(encryptedBytes.length - AUTH_TAG_LENGTH_BYTES);
32
54
  const envelope = {
33
55
  version: 1,
34
- algorithm: ALGORITHM,
35
- iv: iv.toString('hex'),
36
- authTag: authTag.toString('hex'),
37
- ciphertext: encrypted.toString('hex'),
56
+ algorithm: 'aes-256-gcm',
57
+ iv: toHex(iv),
58
+ authTag: toHex(authTag),
59
+ ciphertext: toHex(ciphertext),
38
60
  };
39
61
  return JSON.stringify(envelope);
40
62
  }
@@ -45,28 +67,35 @@ export function encrypt(plaintext, keyHex) {
45
67
  * @param keyHex - The 256-bit key as a hex string
46
68
  * @returns The decrypted plaintext string
47
69
  */
48
- export function decrypt(envelopeJson, keyHex) {
49
- const key = Buffer.from(keyHex, 'hex');
50
- if (key.length !== KEY_LENGTH) {
51
- throw new Error(`Invalid key length: expected ${KEY_LENGTH} bytes, got ${key.length}`);
70
+ export async function decrypt(envelopeJson, keyHex) {
71
+ // Validate key length before parsing envelope so we throw the right error first
72
+ const keyBytes = fromHex(keyHex);
73
+ if (keyBytes.length !== KEY_LENGTH_BYTES) {
74
+ throw new Error(`Invalid key length: expected ${KEY_LENGTH_BYTES} bytes, got ${keyBytes.length}`);
75
+ }
76
+ let envelope;
77
+ try {
78
+ envelope = JSON.parse(envelopeJson);
79
+ }
80
+ catch {
81
+ throw new Error('Invalid encrypted envelope: not valid JSON');
52
82
  }
53
- const envelope = JSON.parse(envelopeJson);
54
83
  if (envelope.version !== 1) {
55
84
  throw new Error(`Unsupported encryption envelope version: ${envelope.version}`);
56
85
  }
57
- if (envelope.algorithm !== ALGORITHM) {
86
+ if (envelope.algorithm !== 'aes-256-gcm') {
58
87
  throw new Error(`Unsupported encryption algorithm: ${envelope.algorithm}`);
59
88
  }
60
- const iv = Buffer.from(envelope.iv, 'hex');
61
- const authTag = Buffer.from(envelope.authTag, 'hex');
62
- const ciphertext = Buffer.from(envelope.ciphertext, 'hex');
63
- const decipher = crypto.createDecipheriv(ALGORITHM, key, iv);
64
- decipher.setAuthTag(authTag);
65
- const decrypted = Buffer.concat([
66
- decipher.update(ciphertext),
67
- decipher.final(),
68
- ]);
69
- return decrypted.toString('utf8');
89
+ const key = await globalThis.crypto.subtle.importKey('raw', keyBytes, { name: ALGORITHM }, false, ['encrypt', 'decrypt']);
90
+ const iv = fromHex(envelope.iv);
91
+ const authTag = fromHex(envelope.authTag);
92
+ const ciphertext = fromHex(envelope.ciphertext);
93
+ // Reattach the auth tag at the end for Web Crypto (which expects ciphertext + tag combined)
94
+ const combined = new Uint8Array(ciphertext.length + authTag.length);
95
+ combined.set(ciphertext);
96
+ combined.set(authTag, ciphertext.length);
97
+ const decryptedBuffer = await globalThis.crypto.subtle.decrypt({ name: ALGORITHM, iv: iv, tagLength: AUTH_TAG_LENGTH_BYTES * 8 }, key, combined);
98
+ return new TextDecoder().decode(decryptedBuffer);
70
99
  }
71
100
  /**
72
101
  * Check if a string is an encrypted envelope (basic structure check).
@@ -75,7 +104,7 @@ export function isEncryptedEnvelope(content) {
75
104
  try {
76
105
  const parsed = JSON.parse(content);
77
106
  return (parsed.version === 1
78
- && parsed.algorithm === ALGORITHM
107
+ && parsed.algorithm === 'aes-256-gcm'
79
108
  && typeof parsed.iv === 'string'
80
109
  && typeof parsed.authTag === 'string'
81
110
  && typeof parsed.ciphertext === 'string');
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/lib/encryption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/lib/encryption.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export declare const MAX_TIMESTAMP_AGE_MS: number;
21
21
  * @param body - Request body string (empty string if no body)
22
22
  * @returns The canonical payload string
23
23
  */
24
- export declare function buildSignaturePayload(method: string, path: string, timestamp: string, nonce: string, body: string): string;
24
+ export declare function buildSignaturePayload(method: string, path: string, timestamp: string, nonce: string, body: string): Promise<string>;
25
25
  /**
26
26
  * Generates an HMAC-SHA256 signature for a request.
27
27
  *
@@ -29,9 +29,10 @@ export declare function buildSignaturePayload(method: string, path: string, time
29
29
  * @param payload - The canonical payload string
30
30
  * @returns Hex-encoded HMAC signature
31
31
  */
32
- export declare function signPayload(secret: string, payload: string): string;
32
+ export declare function signPayload(secret: string, payload: string): Promise<string>;
33
33
  /**
34
34
  * Generates a cryptographically secure 16-byte hex nonce.
35
+ * Uses the Web Crypto API (available in Node 18+, all modern browsers, Deno, Bun).
35
36
  */
36
37
  export declare function generateNonce(): string;
37
38
  /**
@@ -43,5 +44,5 @@ export declare function generateNonce(): string;
43
44
  * @param body - Request body string (empty string for no body)
44
45
  * @returns Object containing the three signature headers
45
46
  */
46
- export declare function signRequest(apiKey: string, method: string, path: string, body?: string): Record<string, string>;
47
+ export declare function signRequest(apiKey: string, method: string, path: string, body?: string): Promise<Record<string, string>>;
47
48
  //# sourceMappingURL=signature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/lib/signature.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAClE,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAgB,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,CAMR;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKnE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAW,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxB"}
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/lib/signature.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAClE,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAgB,CAAC;AAkClD;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAElF;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAMtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAW,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWjC"}
@@ -1,4 +1,3 @@
1
- import crypto from 'node:crypto';
2
1
  /**
3
2
  * Headers used for HMAC request signing.
4
3
  */
@@ -10,6 +9,30 @@ export const SIGNATURE_NONCE_HEADER = 'x-signature-nonce';
10
9
  * Requests older than this are rejected to prevent replay attacks.
11
10
  */
12
11
  export const MAX_TIMESTAMP_AGE_MS = 5 * 60 * 1000; // 5 minutes
12
+ /**
13
+ * Compute a SHA-256 hash of a string and return it as a lowercase hex string.
14
+ * Uses the Web Crypto API (available in Node 18+, all modern browsers, Deno, Bun).
15
+ */
16
+ async function sha256Hex(data) {
17
+ const encoded = new TextEncoder().encode(data);
18
+ const hash = await globalThis.crypto.subtle.digest('SHA-256', encoded);
19
+ return Array.from(new Uint8Array(hash))
20
+ .map(b => b.toString(16).padStart(2, '0'))
21
+ .join('');
22
+ }
23
+ /**
24
+ * Compute an HMAC-SHA256 of a message using a secret key.
25
+ * Returns the result as a lowercase hex string.
26
+ * Uses the Web Crypto API (available in Node 18+, all modern browsers, Deno, Bun).
27
+ */
28
+ async function hmacSha256Hex(key, data) {
29
+ const encoder = new TextEncoder();
30
+ const cryptoKey = await globalThis.crypto.subtle.importKey('raw', encoder.encode(key), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
31
+ const sig = await globalThis.crypto.subtle.sign('HMAC', cryptoKey, encoder.encode(data));
32
+ return Array.from(new Uint8Array(sig))
33
+ .map(b => b.toString(16).padStart(2, '0'))
34
+ .join('');
35
+ }
13
36
  /**
14
37
  * Constructs the canonical payload string for HMAC signing.
15
38
  *
@@ -22,11 +45,8 @@ export const MAX_TIMESTAMP_AGE_MS = 5 * 60 * 1000; // 5 minutes
22
45
  * @param body - Request body string (empty string if no body)
23
46
  * @returns The canonical payload string
24
47
  */
25
- export function buildSignaturePayload(method, path, timestamp, nonce, body) {
26
- const bodyHash = crypto
27
- .createHash('sha256')
28
- .update(body)
29
- .digest('hex');
48
+ export async function buildSignaturePayload(method, path, timestamp, nonce, body) {
49
+ const bodyHash = await sha256Hex(body);
30
50
  return `${method.toUpperCase()}\n${path}\n${timestamp}\n${nonce}\n${bodyHash}`;
31
51
  }
32
52
  /**
@@ -36,17 +56,19 @@ export function buildSignaturePayload(method, path, timestamp, nonce, body) {
36
56
  * @param payload - The canonical payload string
37
57
  * @returns Hex-encoded HMAC signature
38
58
  */
39
- export function signPayload(secret, payload) {
40
- return crypto
41
- .createHmac('sha256', secret)
42
- .update(payload)
43
- .digest('hex');
59
+ export async function signPayload(secret, payload) {
60
+ return hmacSha256Hex(secret, payload);
44
61
  }
45
62
  /**
46
63
  * Generates a cryptographically secure 16-byte hex nonce.
64
+ * Uses the Web Crypto API (available in Node 18+, all modern browsers, Deno, Bun).
47
65
  */
48
66
  export function generateNonce() {
49
- return crypto.randomBytes(16).toString('hex');
67
+ const bytes = new Uint8Array(16);
68
+ globalThis.crypto.getRandomValues(bytes);
69
+ return Array.from(bytes)
70
+ .map(b => b.toString(16).padStart(2, '0'))
71
+ .join('');
50
72
  }
51
73
  /**
52
74
  * Signs a request and returns the headers to attach.
@@ -57,11 +79,11 @@ export function generateNonce() {
57
79
  * @param body - Request body string (empty string for no body)
58
80
  * @returns Object containing the three signature headers
59
81
  */
60
- export function signRequest(apiKey, method, path, body = '') {
82
+ export async function signRequest(apiKey, method, path, body = '') {
61
83
  const timestamp = new Date().toISOString();
62
84
  const nonce = generateNonce();
63
- const payload = buildSignaturePayload(method, path, timestamp, nonce, body);
64
- const signature = signPayload(apiKey, payload);
85
+ const payload = await buildSignaturePayload(method, path, timestamp, nonce, body);
86
+ const signature = await signPayload(apiKey, payload);
65
87
  return {
66
88
  [SIGNATURE_HEADER]: signature,
67
89
  [SIGNATURE_TIMESTAMP_HEADER]: timestamp,
@@ -1 +1 @@
1
- {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/lib/signature.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,IAAY,EACZ,SAAiB,EACjB,KAAa,EACb,IAAY;IAEZ,MAAM,QAAQ,GAAG,MAAM;SACpB,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,KAAK,SAAS,KAAK,KAAK,KAAK,QAAQ,EAAE,CAAC;AACjF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,OAAe;IACzD,OAAO,MAAM;SACV,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC5B,MAAM,CAAC,OAAO,CAAC;SACf,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,MAAc,EACd,IAAY,EACZ,OAAe,EAAE;IAEjB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/C,OAAO;QACL,CAAC,gBAAgB,CAAC,EAAE,SAAS;QAC7B,CAAC,0BAA0B,CAAC,EAAE,SAAS;QACvC,CAAC,sBAAsB,CAAC,EAAE,KAAK;KAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/lib/signature.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export interface AuthTokens {
13
13
  user: {
14
14
  id: string;
15
15
  email: string;
16
- name?: string;
16
+ displayName?: string;
17
17
  role: string;
18
18
  [key: string]: unknown;
19
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../src/lib/token-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAErC,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,yDAAyD;AACzD,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED,kDAAkD;AAClD,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;AAE1D,gDAAgD;AAChD,MAAM,WAAW,mBAAmB;IAClC,kGAAkG;IAClG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAoBjE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAe,GAAG,OAAO,CAMhF;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;gBAG/C,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,OAAO,GAAE,mBAAwB;IAQnC,oCAAoC;IACpC,cAAc,IAAI,MAAM;IAIxB,qCAAqC;IACrC,eAAe,IAAI,MAAM,GAAG,IAAI;IAIhC,4DAA4D;IAC5D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC,gCAAgC;IAChC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI3C,+DAA+D;IAC/D,YAAY,IAAI,OAAO;IAIvB;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;YAmBlC,cAAc;CAa7B"}
1
+ {"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../src/lib/token-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAErC,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,yDAAyD;AACzD,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED,kDAAkD;AAClD,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;AAE1D,gDAAgD;AAChD,MAAM,WAAW,mBAAmB;IAClC,kGAAkG;IAClG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAoBjE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAe,GAAG,OAAO,CAMhF;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;gBAG/C,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,OAAO,GAAE,mBAAwB;IAQnC,oCAAoC;IACpC,cAAc,IAAI,MAAM;IAIxB,qCAAqC;IACrC,eAAe,IAAI,MAAM,GAAG,IAAI;IAIhC,4DAA4D;IAC5D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC,gCAAgC;IAChC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI3C,+DAA+D;IAC/D,YAAY,IAAI,OAAO;IAIvB;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;YAmBlC,cAAc;CAoC7B"}