qca-sdk 0.8.0 → 0.9.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 (46) hide show
  1. package/README.md +4 -0
  2. package/dist/esm/forward/forwardClient.d.ts +2 -0
  3. package/dist/esm/forward/forwardClient.d.ts.map +1 -1
  4. package/dist/esm/forward/forwardClient.js +2 -0
  5. package/dist/esm/forward/forwardClient.js.map +1 -1
  6. package/dist/esm/forward/index.d.ts +2 -0
  7. package/dist/esm/forward/index.d.ts.map +1 -1
  8. package/dist/esm/forward/index.js +2 -0
  9. package/dist/esm/forward/index.js.map +1 -1
  10. package/dist/esm/forward/webhook-signature.d.ts +8 -0
  11. package/dist/esm/forward/webhook-signature.d.ts.map +1 -0
  12. package/dist/esm/forward/webhook-signature.js +52 -0
  13. package/dist/esm/forward/webhook-signature.js.map +1 -0
  14. package/dist/esm/forward/webhook.d.ts +95 -0
  15. package/dist/esm/forward/webhook.d.ts.map +1 -0
  16. package/dist/esm/forward/webhook.js +97 -0
  17. package/dist/esm/forward/webhook.js.map +1 -0
  18. package/dist/esm/index.d.ts +2 -0
  19. package/dist/esm/index.d.ts.map +1 -1
  20. package/dist/esm/index.js +2 -0
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/version.d.ts +1 -1
  23. package/dist/esm/version.js +1 -1
  24. package/dist/forward/forwardClient.d.ts +2 -0
  25. package/dist/forward/forwardClient.d.ts.map +1 -1
  26. package/dist/forward/forwardClient.js +2 -0
  27. package/dist/forward/forwardClient.js.map +1 -1
  28. package/dist/forward/index.d.ts +2 -0
  29. package/dist/forward/index.d.ts.map +1 -1
  30. package/dist/forward/index.js +2 -0
  31. package/dist/forward/index.js.map +1 -1
  32. package/dist/forward/webhook-signature.d.ts +8 -0
  33. package/dist/forward/webhook-signature.d.ts.map +1 -0
  34. package/dist/forward/webhook-signature.js +57 -0
  35. package/dist/forward/webhook-signature.js.map +1 -0
  36. package/dist/forward/webhook.d.ts +95 -0
  37. package/dist/forward/webhook.d.ts.map +1 -0
  38. package/dist/forward/webhook.js +102 -0
  39. package/dist/forward/webhook.js.map +1 -0
  40. package/dist/index.d.ts +2 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +2 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -731,3 +731,7 @@ and request IDs without tokens. Tests create temporary Identities, delete them o
731
731
  original Templates and record persisted Conversations because transport close cannot delete them. These entries are not
732
732
  included in daily PAT tests until explicitly configured; offline CI validates
733
733
  protocol behavior without network or credentials.
734
+
735
+ ## Forward Webhooks (next release)
736
+
737
+ Manage webhook endpoints and verify signed event deliveries. See [Webhook usage and receiver examples](docs/webhooks.md).
@@ -1,3 +1,4 @@
1
+ import { Webhooks } from './webhook.js';
1
2
  import { APIClient, type ClientOptions } from '../core/client.js';
2
3
  import { Templates } from './template.js';
3
4
  import { Identities } from './identity.js';
@@ -19,6 +20,7 @@ import { Realtime } from './realtime/realtime.js';
19
20
  import { ServiceAccountTokens } from './service-account-token.js';
20
21
  export type ForwardClientOptions = ClientOptions;
21
22
  export declare class ForwardClient extends APIClient {
23
+ readonly webhooks: Webhooks;
22
24
  readonly templates: Templates;
23
25
  readonly identities: Identities;
24
26
  readonly sessions: Sessions;
@@ -1 +1 @@
1
- {"version":3,"file":"forwardClient.d.ts","sourceRoot":"","sources":["../../../src/forward/forwardClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAEjD,qBAAa,aAAc,SAAQ,SAAS;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAuB;IACpD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAwB;IACvD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IACjD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAuB;IACpD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAqB;IAC9C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IACjD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAA6B;IACtE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAmB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAmB;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IAEjD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAkC;gBAEzE,OAAO,GAAE,oBAAyB;CAG/C;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"forwardClient.d.ts","sourceRoot":"","sources":["../../../src/forward/forwardClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAEjD,qBAAa,aAAc,SAAQ,SAAS;IAC1C,QAAQ,CAAC,QAAQ,WAAsB;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAuB;IACpD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAwB;IACvD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IACjD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAuB;IACpD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAqB;IAC9C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IACjD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAA6B;IACtE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAmB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAmB;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IAEjD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAkC;gBAEzE,OAAO,GAAE,oBAAyB;CAG/C;AAED,eAAe,aAAa,CAAC"}
@@ -1,4 +1,5 @@
1
1
  // Resource hierarchy mirrors the Forward API surface.
2
+ import { Webhooks } from './webhook.js';
2
3
  import { APIClient } from '../core/client.js';
3
4
  import { Templates } from './template.js';
4
5
  import { Identities } from './identity.js';
@@ -19,6 +20,7 @@ import { Usage } from './usage.js';
19
20
  import { Realtime } from './realtime/realtime.js';
20
21
  import { ServiceAccountTokens } from './service-account-token.js';
21
22
  export class ForwardClient extends APIClient {
23
+ webhooks = new Webhooks(this);
22
24
  templates = new Templates(this);
23
25
  identities = new Identities(this);
24
26
  sessions = new Sessions(this);
@@ -1 +1 @@
1
- {"version":3,"file":"forwardClient.js","sourceRoot":"","sources":["../../../src/forward/forwardClient.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIlE,MAAM,OAAO,aAAc,SAAQ,SAAS;IACjC,SAAS,GAAc,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,UAAU,GAAe,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,SAAS,GAAc,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,GAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,eAAe,GAAoB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7D,YAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,KAAK,GAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,YAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,GAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAExC,oBAAoB,GAAyB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAErF,YAAY,UAAgC,EAAE;QAC5C,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"forwardClient.js","sourceRoot":"","sources":["../../../src/forward/forwardClient.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIlE,MAAM,OAAO,aAAc,SAAQ,SAAS;IACjC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,SAAS,GAAc,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,UAAU,GAAe,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,SAAS,GAAc,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,GAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,eAAe,GAAoB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7D,YAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,KAAK,GAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,YAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,GAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAExC,oBAAoB,GAAyB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAErF,YAAY,UAAgC,EAAE;QAC5C,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
@@ -47,4 +47,6 @@ export * from './realtime/types.js';
47
47
  export { ServiceAccountTokens } from './service-account-token.js';
48
48
  export { IdentityServiceAccountTokens } from './identity-service-account-token.js';
49
49
  export { Drives } from './drive.js';
50
+ export * from "./webhook.js";
51
+ export * from "./webhook-signature.js";
50
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forward/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forward/index.ts"],"names":[],"mappings":"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"}
@@ -41,4 +41,6 @@ export * from './realtime/types.js';
41
41
  export { ServiceAccountTokens } from './service-account-token.js';
42
42
  export { IdentityServiceAccountTokens } from './identity-service-account-token.js';
43
43
  export { Drives } from './drive.js';
44
+ export * from "./webhook.js";
45
+ export * from "./webhook-signature.js";
44
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/forward/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7E,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGjF,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE9J,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/forward/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7E,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGjF,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE9J,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** Missing, invalid, expired or mismatched delivery authentication. */
2
+ export declare class WebhookVerificationError extends Error {
3
+ constructor();
4
+ }
5
+ /** Verify original body bytes before parsing JSON. Accepts any matching v1 signature
6
+ * within 300 seconds. Deduplicate accepted events using Webhook-ID. */
7
+ export declare function verifyWebhookSignature(payload: Uint8Array, headers: Headers | Record<string, string>, secret: string): Promise<void>;
8
+ //# sourceMappingURL=webhook-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-signature.d.ts","sourceRoot":"","sources":["../../../src/forward/webhook-signature.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,qBAAa,wBAAyB,SAAQ,KAAK;;CAElD;AAED;uEACuE;AACvE,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B1I"}
@@ -0,0 +1,52 @@
1
+ /** Missing, invalid, expired or mismatched delivery authentication. */
2
+ export class WebhookVerificationError extends Error {
3
+ constructor() { super('webhook signature verification failed'); this.name = 'WebhookVerificationError'; }
4
+ }
5
+ /** Verify original body bytes before parsing JSON. Accepts any matching v1 signature
6
+ * within 300 seconds. Deduplicate accepted events using Webhook-ID. */
7
+ export async function verifyWebhookSignature(payload, headers, secret) {
8
+ const invalid = () => new WebhookVerificationError();
9
+ const header = (name) => {
10
+ if (headers instanceof Headers)
11
+ return headers.get(name) ?? '';
12
+ const values = Object.entries(headers).filter(([k]) => k.toLowerCase() === name).map(([, v]) => v);
13
+ return values.length === 1 ? values[0] : '';
14
+ };
15
+ const id = header('webhook-id'), timestamp = header('webhook-timestamp');
16
+ if (!(payload instanceof Uint8Array) || !id || /[.\r\n]/.test(id) || !/^[0-9]{1,19}$/.test(timestamp) || !secret.startsWith('whsec_'))
17
+ throw invalid();
18
+ const ts = Number(timestamp), now = Math.floor(Date.now() / 1000);
19
+ if (!Number.isSafeInteger(ts) || ts < now - 300 || ts > now + 300)
20
+ throw invalid();
21
+ const decode = (value) => {
22
+ if (!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(value))
23
+ throw invalid();
24
+ const raw = atob(value);
25
+ if (btoa(raw) !== value)
26
+ throw invalid();
27
+ return Uint8Array.from(raw, c => c.charCodeAt(0));
28
+ };
29
+ const keyBytes = decode(secret.slice(6));
30
+ if (keyBytes.length < 24 || keyBytes.length > 64)
31
+ throw invalid();
32
+ const prefix = new TextEncoder().encode(`${id}.${timestamp}.`);
33
+ const message = new Uint8Array(prefix.length + payload.length);
34
+ message.set(prefix);
35
+ message.set(payload, prefix.length);
36
+ const key = await globalThis.crypto.subtle.importKey('raw', keyBytes, { name: 'HMAC', hash: 'SHA-256' }, false, ['verify']);
37
+ for (const signature of header('webhook-signature').split(/\s+/)) {
38
+ if (!signature.startsWith('v1,'))
39
+ continue;
40
+ let candidate;
41
+ try {
42
+ candidate = decode(signature.slice(3));
43
+ }
44
+ catch {
45
+ continue;
46
+ }
47
+ if (await globalThis.crypto.subtle.verify('HMAC', key, candidate, message))
48
+ return;
49
+ }
50
+ throw invalid();
51
+ }
52
+ //# sourceMappingURL=webhook-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-signature.js","sourceRoot":"","sources":["../../../src/forward/webhook-signature.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { APIResource } from '../core/resource.js';
2
+ import type { RequestOptions } from '../core/client.js';
3
+ import type { APIPromise } from '../core/api-promise.js';
4
+ import type { PagePromise } from '../core/pagination.js';
5
+ export interface WebhookEndpoint {
6
+ id: string;
7
+ url: string;
8
+ events: string[];
9
+ description?: string;
10
+ metadata: Record<string, unknown>;
11
+ active: boolean;
12
+ created_at: string;
13
+ updated_at: string;
14
+ last_success_at?: string | null;
15
+ last_failure_at?: string | null;
16
+ disabled_reason?: string;
17
+ consecutive_fail: number;
18
+ [key: string]: unknown;
19
+ }
20
+ /** signing_secret is returned once. Store securely; do not log this response. */
21
+ export interface WebhookEndpointCreateResponse {
22
+ id: string;
23
+ url: string;
24
+ events: string[];
25
+ description?: string;
26
+ metadata: Record<string, unknown>;
27
+ active: boolean;
28
+ created_at: string;
29
+ signing_secret: string;
30
+ [key: string]: unknown;
31
+ }
32
+ export interface WebhookEndpointCreateParams {
33
+ url: string;
34
+ events: string[];
35
+ description?: string;
36
+ metadata?: Record<string, string>;
37
+ idempotency_key?: string;
38
+ }
39
+ export interface WebhookEndpointUpdateParams {
40
+ url?: string;
41
+ events?: string[];
42
+ description?: string;
43
+ active?: boolean;
44
+ /** Merge entries; a null value removes the key. */
45
+ metadata?: Record<string, string | null>;
46
+ }
47
+ export interface WebhookEndpointListParams {
48
+ limit?: number;
49
+ after_id?: string;
50
+ }
51
+ /** Accepted delivery rows; not a delivery success report. */
52
+ export interface WebhookEndpointTestResponse {
53
+ event_id: number;
54
+ delivery_rows: number;
55
+ [key: string]: unknown;
56
+ }
57
+ /** Requires a PAT or administrator SAT. */
58
+ export declare class Webhooks extends APIResource {
59
+ readonly endpoints: WebhookEndpoints;
60
+ }
61
+ export declare class WebhookEndpoints extends APIResource {
62
+ /** Create webhook endpoints.
63
+ * @operation createWebhookEndpoint
64
+ */
65
+ create(params: WebhookEndpointCreateParams, options?: RequestOptions): APIPromise<WebhookEndpointCreateResponse>;
66
+ /** List webhook endpoints.
67
+ * @operation listWebhookEndpoints
68
+ */
69
+ list(params?: WebhookEndpointListParams, options?: RequestOptions): PagePromise<WebhookEndpoint>;
70
+ /** Retrieve webhook endpoints.
71
+ * @operation getWebhookEndpoint
72
+ */
73
+ retrieve(endpointID: string, options?: RequestOptions): APIPromise<WebhookEndpoint>;
74
+ /** Update webhook endpoints.
75
+ * @operation updateWebhookEndpoint
76
+ */
77
+ update(endpointID: string, params?: WebhookEndpointUpdateParams, options?: RequestOptions): APIPromise<WebhookEndpoint>;
78
+ /** Delete webhook endpoints.
79
+ * @operation deleteWebhookEndpoint
80
+ */
81
+ delete(endpointID: string, options?: RequestOptions): APIPromise<void>;
82
+ /** Enable webhook endpoints.
83
+ * @operation enableWebhookEndpoint
84
+ */
85
+ enable(endpointID: string, options?: RequestOptions): APIPromise<WebhookEndpoint>;
86
+ /** Disable webhook endpoints.
87
+ * @operation disableWebhookEndpoint
88
+ */
89
+ disable(endpointID: string, options?: RequestOptions): APIPromise<WebhookEndpoint>;
90
+ /** Queue a synthetic event; acceptance does not confirm delivery.
91
+ * @operation testWebhookEndpoint
92
+ */
93
+ test(endpointID: string, options?: RequestOptions): APIPromise<WebhookEndpointTestResponse>;
94
+ }
95
+ //# sourceMappingURL=webhook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../src/forward/webhook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import { APIResource } from '../core/resource.js';
2
+ import { pathParam, requestHeaders } from './_utils.js';
3
+ /** Requires a PAT or administrator SAT. */
4
+ export class Webhooks extends APIResource {
5
+ endpoints = new WebhookEndpoints(this._client);
6
+ }
7
+ export class WebhookEndpoints extends APIResource {
8
+ /** Create webhook endpoints.
9
+ * @operation createWebhookEndpoint
10
+ */
11
+ create(params, options) {
12
+ const path = 'webhook/endpoints';
13
+ const { idempotency_key, ...body } = params;
14
+ return this._client.request({
15
+ method: "POST",
16
+ path,
17
+ body,
18
+ ...options,
19
+ headers: requestHeaders({ "Idempotency-Key": idempotency_key }, options?.headers)
20
+ });
21
+ }
22
+ /** List webhook endpoints.
23
+ * @operation listWebhookEndpoints
24
+ */
25
+ list(params = {}, options) {
26
+ const path = 'webhook/endpoints';
27
+ return this._client.getAPIList(path, params, options, 'cursor');
28
+ }
29
+ /** Retrieve webhook endpoints.
30
+ * @operation getWebhookEndpoint
31
+ */
32
+ retrieve(endpointID, options) {
33
+ const path = `webhook/endpoints/${pathParam(endpointID, "endpointID")}`;
34
+ return this._client.request({
35
+ method: "GET",
36
+ path,
37
+ ...options
38
+ });
39
+ }
40
+ /** Update webhook endpoints.
41
+ * @operation updateWebhookEndpoint
42
+ */
43
+ update(endpointID, params = {}, options) {
44
+ const path = `webhook/endpoints/${pathParam(endpointID, "endpointID")}`;
45
+ return this._client.request({
46
+ method: "PUT",
47
+ path,
48
+ body: params,
49
+ ...options
50
+ });
51
+ }
52
+ /** Delete webhook endpoints.
53
+ * @operation deleteWebhookEndpoint
54
+ */
55
+ delete(endpointID, options) {
56
+ const path = `webhook/endpoints/${pathParam(endpointID, "endpointID")}`;
57
+ return this._client.request({
58
+ method: "DELETE",
59
+ path, responseType: "void",
60
+ ...options
61
+ });
62
+ }
63
+ /** Enable webhook endpoints.
64
+ * @operation enableWebhookEndpoint
65
+ */
66
+ enable(endpointID, options) {
67
+ const path = `webhook/endpoints/${pathParam(endpointID, "endpointID")}/enable`;
68
+ return this._client.request({
69
+ method: "POST",
70
+ path,
71
+ ...options
72
+ });
73
+ }
74
+ /** Disable webhook endpoints.
75
+ * @operation disableWebhookEndpoint
76
+ */
77
+ disable(endpointID, options) {
78
+ const path = `webhook/endpoints/${pathParam(endpointID, "endpointID")}/disable`;
79
+ return this._client.request({
80
+ method: "POST",
81
+ path,
82
+ ...options
83
+ });
84
+ }
85
+ /** Queue a synthetic event; acceptance does not confirm delivery.
86
+ * @operation testWebhookEndpoint
87
+ */
88
+ test(endpointID, options) {
89
+ const path = `webhook/endpoints/${pathParam(endpointID, "endpointID")}/test`;
90
+ return this._client.request({
91
+ method: "POST",
92
+ path,
93
+ ...options
94
+ });
95
+ }
96
+ }
97
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../src/forward/webhook.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,6 @@ export { RealtimeConversations, RealtimeHistoryPage } from './forward/realtime/c
14
14
  export { RealtimeConnection, RealtimeProtocolError, RealtimeConnectionClosedError, RealtimeServerError, decodeRealtimeAudio } from './forward/realtime/connection.js';
15
15
  export type { RealtimeConnectOptions, RealtimeWaitOptions, RealtimeCloseOptions } from './forward/realtime/connection.js';
16
16
  export * from './forward/realtime/types.js';
17
+ export * from "./forward/webhook.js";
18
+ export * from "./forward/webhook-signature.js";
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACtK,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC1H,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACtK,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC1H,cAAc,6BAA6B,CAAC;AAE5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC"}
package/dist/esm/index.js CHANGED
@@ -13,4 +13,6 @@ export { Realtime } from './forward/realtime/realtime.js';
13
13
  export { RealtimeConversations, RealtimeHistoryPage } from './forward/realtime/conversation.js';
14
14
  export { RealtimeConnection, RealtimeProtocolError, RealtimeConnectionClosedError, RealtimeServerError, decodeRealtimeAudio } from './forward/realtime/connection.js';
15
15
  export * from './forward/realtime/types.js';
16
+ export * from "./forward/webhook.js";
17
+ export * from "./forward/webhook-signature.js";
16
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEtK,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEtK,cAAc,6BAA6B,CAAC;AAE5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.8.0";
1
+ export declare const VERSION = "0.9.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -3,5 +3,5 @@
3
3
  // describe a version that was never published; `npm run build` compares the two.
4
4
  // Declared here rather than imported from package.json so bundlers do not have to
5
5
  // resolve JSON from outside src/.
6
- export const VERSION = '0.8.0';
6
+ export const VERSION = '0.9.0';
7
7
  //# sourceMappingURL=version.js.map
@@ -1,3 +1,4 @@
1
+ import { Webhooks } from './webhook.js';
1
2
  import { APIClient, type ClientOptions } from '../core/client.js';
2
3
  import { Templates } from './template.js';
3
4
  import { Identities } from './identity.js';
@@ -19,6 +20,7 @@ import { Realtime } from './realtime/realtime.js';
19
20
  import { ServiceAccountTokens } from './service-account-token.js';
20
21
  export type ForwardClientOptions = ClientOptions;
21
22
  export declare class ForwardClient extends APIClient {
23
+ readonly webhooks: Webhooks;
22
24
  readonly templates: Templates;
23
25
  readonly identities: Identities;
24
26
  readonly sessions: Sessions;
@@ -1 +1 @@
1
- {"version":3,"file":"forwardClient.d.ts","sourceRoot":"","sources":["../../src/forward/forwardClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAEjD,qBAAa,aAAc,SAAQ,SAAS;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAuB;IACpD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAwB;IACvD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IACjD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAuB;IACpD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAqB;IAC9C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IACjD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAA6B;IACtE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAmB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAmB;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IAEjD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAkC;gBAEzE,OAAO,GAAE,oBAAyB;CAG/C;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"forwardClient.d.ts","sourceRoot":"","sources":["../../src/forward/forwardClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAEjD,qBAAa,aAAc,SAAQ,SAAS;IAC1C,QAAQ,CAAC,QAAQ,WAAsB;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAuB;IACpD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAwB;IACvD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IACjD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAuB;IACpD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAqB;IAC9C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IACjD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAA6B;IACtE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAmB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAmB;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IAEjD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAkC;gBAEzE,OAAO,GAAE,oBAAyB;CAG/C;AAED,eAAe,aAAa,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ForwardClient = void 0;
4
4
  // Resource hierarchy mirrors the Forward API surface.
5
+ const webhook_js_1 = require("./webhook.js");
5
6
  const client_js_1 = require("../core/client.js");
6
7
  const template_js_1 = require("./template.js");
7
8
  const identity_js_1 = require("./identity.js");
@@ -22,6 +23,7 @@ const usage_js_1 = require("./usage.js");
22
23
  const realtime_js_1 = require("./realtime/realtime.js");
23
24
  const service_account_token_js_1 = require("./service-account-token.js");
24
25
  class ForwardClient extends client_js_1.APIClient {
26
+ webhooks = new webhook_js_1.Webhooks(this);
25
27
  templates = new template_js_1.Templates(this);
26
28
  identities = new identity_js_1.Identities(this);
27
29
  sessions = new session_js_1.Sessions(this);
@@ -1 +1 @@
1
- {"version":3,"file":"forwardClient.js","sourceRoot":"","sources":["../../src/forward/forwardClient.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,iDAAkE;AAClE,+CAA0C;AAC1C,+CAA2C;AAC3C,6CAAwC;AACxC,+CAA0C;AAC1C,uDAAiD;AACjD,yCAAqC;AACrC,6CAAwC;AACxC,6DAAuD;AACvD,qDAAgD;AAChD,uCAAkC;AAClC,yCAAoC;AACpC,yCAAoC;AACpC,yCAAoC;AACpC,uDAAiD;AACjD,yCAAoC;AACpC,yCAAmC;AACnC,wDAAkD;AAElD,yEAAkE;AAIlE,MAAa,aAAc,SAAQ,qBAAS;IACjC,SAAS,GAAc,IAAI,uBAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,UAAU,GAAe,IAAI,wBAAU,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,GAAa,IAAI,qBAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,SAAS,GAAc,IAAI,uBAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,GAAiB,IAAI,8BAAY,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,GAAY,IAAI,kBAAO,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,GAAa,IAAI,qBAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,eAAe,GAAoB,IAAI,oCAAe,CAAC,IAAI,CAAC,CAAC;IAC7D,YAAY,GAAiB,IAAI,6BAAY,CAAC,IAAI,CAAC,CAAC;IACpD,KAAK,GAAU,IAAI,eAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAW,IAAI,iBAAM,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAW,IAAI,iBAAM,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAW,IAAI,iBAAM,CAAC,IAAI,CAAC,CAAC;IAClC,YAAY,GAAiB,IAAI,8BAAY,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,GAAW,IAAI,iBAAM,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,GAAU,IAAI,gBAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,GAAa,IAAI,sBAAQ,CAAC,IAAI,CAAC,CAAC;IAExC,oBAAoB,GAAyB,IAAI,+CAAoB,CAAC,IAAI,CAAC,CAAC;IAErF,YAAY,UAAgC,EAAE;QAC5C,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;CACF;AAxBD,sCAwBC;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"forwardClient.js","sourceRoot":"","sources":["../../src/forward/forwardClient.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,6CAAwC;AACxC,iDAAkE;AAClE,+CAA0C;AAC1C,+CAA2C;AAC3C,6CAAwC;AACxC,+CAA0C;AAC1C,uDAAiD;AACjD,yCAAqC;AACrC,6CAAwC;AACxC,6DAAuD;AACvD,qDAAgD;AAChD,uCAAkC;AAClC,yCAAoC;AACpC,yCAAoC;AACpC,yCAAoC;AACpC,uDAAiD;AACjD,yCAAoC;AACpC,yCAAmC;AACnC,wDAAkD;AAElD,yEAAkE;AAIlE,MAAa,aAAc,SAAQ,qBAAS;IACjC,QAAQ,GAAG,IAAI,qBAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,SAAS,GAAc,IAAI,uBAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,UAAU,GAAe,IAAI,wBAAU,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,GAAa,IAAI,qBAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,SAAS,GAAc,IAAI,uBAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,GAAiB,IAAI,8BAAY,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,GAAY,IAAI,kBAAO,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,GAAa,IAAI,qBAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,eAAe,GAAoB,IAAI,oCAAe,CAAC,IAAI,CAAC,CAAC;IAC7D,YAAY,GAAiB,IAAI,6BAAY,CAAC,IAAI,CAAC,CAAC;IACpD,KAAK,GAAU,IAAI,eAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAW,IAAI,iBAAM,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAW,IAAI,iBAAM,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAW,IAAI,iBAAM,CAAC,IAAI,CAAC,CAAC;IAClC,YAAY,GAAiB,IAAI,8BAAY,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,GAAW,IAAI,iBAAM,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,GAAU,IAAI,gBAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,GAAa,IAAI,sBAAQ,CAAC,IAAI,CAAC,CAAC;IAExC,oBAAoB,GAAyB,IAAI,+CAAoB,CAAC,IAAI,CAAC,CAAC;IAErF,YAAY,UAAgC,EAAE;QAC5C,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;CACF;AAzBD,sCAyBC;AAED,kBAAe,aAAa,CAAC"}
@@ -47,4 +47,6 @@ export * from './realtime/types.js';
47
47
  export { ServiceAccountTokens } from './service-account-token.js';
48
48
  export { IdentityServiceAccountTokens } from './identity-service-account-token.js';
49
49
  export { Drives } from './drive.js';
50
+ export * from "./webhook.js";
51
+ export * from "./webhook-signature.js";
50
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forward/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forward/index.ts"],"names":[],"mappings":"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"}
@@ -106,4 +106,6 @@ var identity_service_account_token_js_1 = require("./identity-service-account-to
106
106
  Object.defineProperty(exports, "IdentityServiceAccountTokens", { enumerable: true, get: function () { return identity_service_account_token_js_1.IdentityServiceAccountTokens; } });
107
107
  var drive_js_1 = require("./drive.js");
108
108
  Object.defineProperty(exports, "Drives", { enumerable: true, get: function () { return drive_js_1.Drives; } });
109
+ __exportStar(require("./webhook.js"), exports);
110
+ __exportStar(require("./webhook-signature.js"), exports);
109
111
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/forward/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAA6E;AAApE,iHAAA,aAAa,OAAA;AAAE,2GAAA,aAAa,OAAW;AAEhD,6CAA2B;AAC3B,6CAA0C;AAAjC,wGAAA,SAAS,OAAA;AAClB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,2DAAuD;AAA9C,qHAAA,eAAe,OAAA;AACxB,uEAAkE;AAAzD,gIAAA,oBAAoB,OAAA;AAC7B,2CAAwC;AAA/B,sGAAA,QAAQ,OAAA;AACjB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AACtB,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AACzB,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,qEAAgE;AAAvD,8HAAA,mBAAmB,OAAA;AAC5B,6CAA0C;AAAjC,wGAAA,SAAS,OAAA;AAClB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAChB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,2CAAwC;AAA/B,sGAAA,QAAQ,OAAA;AACjB,iEAA4D;AAAnD,0HAAA,iBAAiB,OAAA;AAC1B,2DAAuD;AAA9C,qHAAA,eAAe,OAAA;AACxB,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,qCAAkC;AAAzB,gGAAA,KAAK,OAAA;AACd,uCAAoC;AAA3B,kGAAA,MAAM,OAAA;AACf,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AACtB,uCAAoC;AAA3B,kGAAA,MAAM,OAAA;AACf,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AACzB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,mEAA+D;AAAtD,6HAAA,mBAAmB,OAAA;AAC5B,mFAA6E;AAApE,2IAAA,yBAAyB,OAAA;AAClC,uCAAoC;AAA3B,kGAAA,MAAM,OAAA;AAEf,yDAAoD;AAA3C,4GAAA,UAAU,OAAA;AACnB,uDAA0D;AAAjD,qGAAA,IAAI,OAAA;AAAE,4GAAA,WAAW,OAAA;AAC1B,qDAA8C;AAArC,sGAAA,MAAM,OAAA;AACf,+FAAwF;AAA/E,gJAAA,2BAA2B,OAAA;AACpC,iDAA4C;AAAnC,oGAAA,MAAM,OAAA;AAEf,yDAAiF;AAAxE,+GAAA,aAAa,OAAA;AAAE,0HAAA,wBAAwB,OAAA;AAGhD,mDAAiC;AACjC,uCAAmC;AAA1B,iGAAA,KAAK,OAAA;AAEd,sDAAkD;AAAzC,uGAAA,QAAQ,OAAA;AACjB,8DAAwF;AAA/E,wHAAA,qBAAqB,OAAA;AAAE,sHAAA,mBAAmB,OAAA;AACnD,0DAA8J;AAArJ,mHAAA,kBAAkB,OAAA;AAAE,sHAAA,qBAAqB,OAAA;AAAE,8HAAA,6BAA6B,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAE3H,sDAAoC;AAEpC,uEAAkE;AAAzD,gIAAA,oBAAoB,OAAA;AAC7B,yFAAmF;AAA1E,iJAAA,4BAA4B,OAAA;AAErC,uCAAoC;AAA3B,kGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/forward/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAA6E;AAApE,iHAAA,aAAa,OAAA;AAAE,2GAAA,aAAa,OAAW;AAEhD,6CAA2B;AAC3B,6CAA0C;AAAjC,wGAAA,SAAS,OAAA;AAClB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,2DAAuD;AAA9C,qHAAA,eAAe,OAAA;AACxB,uEAAkE;AAAzD,gIAAA,oBAAoB,OAAA;AAC7B,2CAAwC;AAA/B,sGAAA,QAAQ,OAAA;AACjB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AACtB,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AACzB,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,qEAAgE;AAAvD,8HAAA,mBAAmB,OAAA;AAC5B,6CAA0C;AAAjC,wGAAA,SAAS,OAAA;AAClB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAChB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,2CAAwC;AAA/B,sGAAA,QAAQ,OAAA;AACjB,iEAA4D;AAAnD,0HAAA,iBAAiB,OAAA;AAC1B,2DAAuD;AAA9C,qHAAA,eAAe,OAAA;AACxB,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,qCAAkC;AAAzB,gGAAA,KAAK,OAAA;AACd,uCAAoC;AAA3B,kGAAA,MAAM,OAAA;AACf,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AACtB,uCAAoC;AAA3B,kGAAA,MAAM,OAAA;AACf,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AACzB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,mEAA+D;AAAtD,6HAAA,mBAAmB,OAAA;AAC5B,mFAA6E;AAApE,2IAAA,yBAAyB,OAAA;AAClC,uCAAoC;AAA3B,kGAAA,MAAM,OAAA;AAEf,yDAAoD;AAA3C,4GAAA,UAAU,OAAA;AACnB,uDAA0D;AAAjD,qGAAA,IAAI,OAAA;AAAE,4GAAA,WAAW,OAAA;AAC1B,qDAA8C;AAArC,sGAAA,MAAM,OAAA;AACf,+FAAwF;AAA/E,gJAAA,2BAA2B,OAAA;AACpC,iDAA4C;AAAnC,oGAAA,MAAM,OAAA;AAEf,yDAAiF;AAAxE,+GAAA,aAAa,OAAA;AAAE,0HAAA,wBAAwB,OAAA;AAGhD,mDAAiC;AACjC,uCAAmC;AAA1B,iGAAA,KAAK,OAAA;AAEd,sDAAkD;AAAzC,uGAAA,QAAQ,OAAA;AACjB,8DAAwF;AAA/E,wHAAA,qBAAqB,OAAA;AAAE,sHAAA,mBAAmB,OAAA;AACnD,0DAA8J;AAArJ,mHAAA,kBAAkB,OAAA;AAAE,sHAAA,qBAAqB,OAAA;AAAE,8HAAA,6BAA6B,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAE3H,sDAAoC;AAEpC,uEAAkE;AAAzD,gIAAA,oBAAoB,OAAA;AAC7B,yFAAmF;AAA1E,iJAAA,4BAA4B,OAAA;AAErC,uCAAoC;AAA3B,kGAAA,MAAM,OAAA;AAEf,+CAA6B;AAC7B,yDAAuC"}
@@ -0,0 +1,8 @@
1
+ /** Missing, invalid, expired or mismatched delivery authentication. */
2
+ export declare class WebhookVerificationError extends Error {
3
+ constructor();
4
+ }
5
+ /** Verify original body bytes before parsing JSON. Accepts any matching v1 signature
6
+ * within 300 seconds. Deduplicate accepted events using Webhook-ID. */
7
+ export declare function verifyWebhookSignature(payload: Uint8Array, headers: Headers | Record<string, string>, secret: string): Promise<void>;
8
+ //# sourceMappingURL=webhook-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-signature.d.ts","sourceRoot":"","sources":["../../src/forward/webhook-signature.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,qBAAa,wBAAyB,SAAQ,KAAK;;CAElD;AAED;uEACuE;AACvE,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B1I"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebhookVerificationError = void 0;
4
+ exports.verifyWebhookSignature = verifyWebhookSignature;
5
+ /** Missing, invalid, expired or mismatched delivery authentication. */
6
+ class WebhookVerificationError extends Error {
7
+ constructor() { super('webhook signature verification failed'); this.name = 'WebhookVerificationError'; }
8
+ }
9
+ exports.WebhookVerificationError = WebhookVerificationError;
10
+ /** Verify original body bytes before parsing JSON. Accepts any matching v1 signature
11
+ * within 300 seconds. Deduplicate accepted events using Webhook-ID. */
12
+ async function verifyWebhookSignature(payload, headers, secret) {
13
+ const invalid = () => new WebhookVerificationError();
14
+ const header = (name) => {
15
+ if (headers instanceof Headers)
16
+ return headers.get(name) ?? '';
17
+ const values = Object.entries(headers).filter(([k]) => k.toLowerCase() === name).map(([, v]) => v);
18
+ return values.length === 1 ? values[0] : '';
19
+ };
20
+ const id = header('webhook-id'), timestamp = header('webhook-timestamp');
21
+ if (!(payload instanceof Uint8Array) || !id || /[.\r\n]/.test(id) || !/^[0-9]{1,19}$/.test(timestamp) || !secret.startsWith('whsec_'))
22
+ throw invalid();
23
+ const ts = Number(timestamp), now = Math.floor(Date.now() / 1000);
24
+ if (!Number.isSafeInteger(ts) || ts < now - 300 || ts > now + 300)
25
+ throw invalid();
26
+ const decode = (value) => {
27
+ if (!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(value))
28
+ throw invalid();
29
+ const raw = atob(value);
30
+ if (btoa(raw) !== value)
31
+ throw invalid();
32
+ return Uint8Array.from(raw, c => c.charCodeAt(0));
33
+ };
34
+ const keyBytes = decode(secret.slice(6));
35
+ if (keyBytes.length < 24 || keyBytes.length > 64)
36
+ throw invalid();
37
+ const prefix = new TextEncoder().encode(`${id}.${timestamp}.`);
38
+ const message = new Uint8Array(prefix.length + payload.length);
39
+ message.set(prefix);
40
+ message.set(payload, prefix.length);
41
+ const key = await globalThis.crypto.subtle.importKey('raw', keyBytes, { name: 'HMAC', hash: 'SHA-256' }, false, ['verify']);
42
+ for (const signature of header('webhook-signature').split(/\s+/)) {
43
+ if (!signature.startsWith('v1,'))
44
+ continue;
45
+ let candidate;
46
+ try {
47
+ candidate = decode(signature.slice(3));
48
+ }
49
+ catch {
50
+ continue;
51
+ }
52
+ if (await globalThis.crypto.subtle.verify('HMAC', key, candidate, message))
53
+ return;
54
+ }
55
+ throw invalid();
56
+ }
57
+ //# sourceMappingURL=webhook-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-signature.js","sourceRoot":"","sources":["../../src/forward/webhook-signature.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { APIResource } from '../core/resource.js';
2
+ import type { RequestOptions } from '../core/client.js';
3
+ import type { APIPromise } from '../core/api-promise.js';
4
+ import type { PagePromise } from '../core/pagination.js';
5
+ export interface WebhookEndpoint {
6
+ id: string;
7
+ url: string;
8
+ events: string[];
9
+ description?: string;
10
+ metadata: Record<string, unknown>;
11
+ active: boolean;
12
+ created_at: string;
13
+ updated_at: string;
14
+ last_success_at?: string | null;
15
+ last_failure_at?: string | null;
16
+ disabled_reason?: string;
17
+ consecutive_fail: number;
18
+ [key: string]: unknown;
19
+ }
20
+ /** signing_secret is returned once. Store securely; do not log this response. */
21
+ export interface WebhookEndpointCreateResponse {
22
+ id: string;
23
+ url: string;
24
+ events: string[];
25
+ description?: string;
26
+ metadata: Record<string, unknown>;
27
+ active: boolean;
28
+ created_at: string;
29
+ signing_secret: string;
30
+ [key: string]: unknown;
31
+ }
32
+ export interface WebhookEndpointCreateParams {
33
+ url: string;
34
+ events: string[];
35
+ description?: string;
36
+ metadata?: Record<string, string>;
37
+ idempotency_key?: string;
38
+ }
39
+ export interface WebhookEndpointUpdateParams {
40
+ url?: string;
41
+ events?: string[];
42
+ description?: string;
43
+ active?: boolean;
44
+ /** Merge entries; a null value removes the key. */
45
+ metadata?: Record<string, string | null>;
46
+ }
47
+ export interface WebhookEndpointListParams {
48
+ limit?: number;
49
+ after_id?: string;
50
+ }
51
+ /** Accepted delivery rows; not a delivery success report. */
52
+ export interface WebhookEndpointTestResponse {
53
+ event_id: number;
54
+ delivery_rows: number;
55
+ [key: string]: unknown;
56
+ }
57
+ /** Requires a PAT or administrator SAT. */
58
+ export declare class Webhooks extends APIResource {
59
+ readonly endpoints: WebhookEndpoints;
60
+ }
61
+ export declare class WebhookEndpoints extends APIResource {
62
+ /** Create webhook endpoints.
63
+ * @operation createWebhookEndpoint
64
+ */
65
+ create(params: WebhookEndpointCreateParams, options?: RequestOptions): APIPromise<WebhookEndpointCreateResponse>;
66
+ /** List webhook endpoints.
67
+ * @operation listWebhookEndpoints
68
+ */
69
+ list(params?: WebhookEndpointListParams, options?: RequestOptions): PagePromise<WebhookEndpoint>;
70
+ /** Retrieve webhook endpoints.
71
+ * @operation getWebhookEndpoint
72
+ */
73
+ retrieve(endpointID: string, options?: RequestOptions): APIPromise<WebhookEndpoint>;
74
+ /** Update webhook endpoints.
75
+ * @operation updateWebhookEndpoint
76
+ */
77
+ update(endpointID: string, params?: WebhookEndpointUpdateParams, options?: RequestOptions): APIPromise<WebhookEndpoint>;
78
+ /** Delete webhook endpoints.
79
+ * @operation deleteWebhookEndpoint
80
+ */
81
+ delete(endpointID: string, options?: RequestOptions): APIPromise<void>;
82
+ /** Enable webhook endpoints.
83
+ * @operation enableWebhookEndpoint
84
+ */
85
+ enable(endpointID: string, options?: RequestOptions): APIPromise<WebhookEndpoint>;
86
+ /** Disable webhook endpoints.
87
+ * @operation disableWebhookEndpoint
88
+ */
89
+ disable(endpointID: string, options?: RequestOptions): APIPromise<WebhookEndpoint>;
90
+ /** Queue a synthetic event; acceptance does not confirm delivery.
91
+ * @operation testWebhookEndpoint
92
+ */
93
+ test(endpointID: string, options?: RequestOptions): APIPromise<WebhookEndpointTestResponse>;
94
+ }
95
+ //# sourceMappingURL=webhook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/forward/webhook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebhookEndpoints = exports.Webhooks = void 0;
4
+ const resource_js_1 = require("../core/resource.js");
5
+ const _utils_js_1 = require("./_utils.js");
6
+ /** Requires a PAT or administrator SAT. */
7
+ class Webhooks extends resource_js_1.APIResource {
8
+ endpoints = new WebhookEndpoints(this._client);
9
+ }
10
+ exports.Webhooks = Webhooks;
11
+ class WebhookEndpoints extends resource_js_1.APIResource {
12
+ /** Create webhook endpoints.
13
+ * @operation createWebhookEndpoint
14
+ */
15
+ create(params, options) {
16
+ const path = 'webhook/endpoints';
17
+ const { idempotency_key, ...body } = params;
18
+ return this._client.request({
19
+ method: "POST",
20
+ path,
21
+ body,
22
+ ...options,
23
+ headers: (0, _utils_js_1.requestHeaders)({ "Idempotency-Key": idempotency_key }, options?.headers)
24
+ });
25
+ }
26
+ /** List webhook endpoints.
27
+ * @operation listWebhookEndpoints
28
+ */
29
+ list(params = {}, options) {
30
+ const path = 'webhook/endpoints';
31
+ return this._client.getAPIList(path, params, options, 'cursor');
32
+ }
33
+ /** Retrieve webhook endpoints.
34
+ * @operation getWebhookEndpoint
35
+ */
36
+ retrieve(endpointID, options) {
37
+ const path = `webhook/endpoints/${(0, _utils_js_1.pathParam)(endpointID, "endpointID")}`;
38
+ return this._client.request({
39
+ method: "GET",
40
+ path,
41
+ ...options
42
+ });
43
+ }
44
+ /** Update webhook endpoints.
45
+ * @operation updateWebhookEndpoint
46
+ */
47
+ update(endpointID, params = {}, options) {
48
+ const path = `webhook/endpoints/${(0, _utils_js_1.pathParam)(endpointID, "endpointID")}`;
49
+ return this._client.request({
50
+ method: "PUT",
51
+ path,
52
+ body: params,
53
+ ...options
54
+ });
55
+ }
56
+ /** Delete webhook endpoints.
57
+ * @operation deleteWebhookEndpoint
58
+ */
59
+ delete(endpointID, options) {
60
+ const path = `webhook/endpoints/${(0, _utils_js_1.pathParam)(endpointID, "endpointID")}`;
61
+ return this._client.request({
62
+ method: "DELETE",
63
+ path, responseType: "void",
64
+ ...options
65
+ });
66
+ }
67
+ /** Enable webhook endpoints.
68
+ * @operation enableWebhookEndpoint
69
+ */
70
+ enable(endpointID, options) {
71
+ const path = `webhook/endpoints/${(0, _utils_js_1.pathParam)(endpointID, "endpointID")}/enable`;
72
+ return this._client.request({
73
+ method: "POST",
74
+ path,
75
+ ...options
76
+ });
77
+ }
78
+ /** Disable webhook endpoints.
79
+ * @operation disableWebhookEndpoint
80
+ */
81
+ disable(endpointID, options) {
82
+ const path = `webhook/endpoints/${(0, _utils_js_1.pathParam)(endpointID, "endpointID")}/disable`;
83
+ return this._client.request({
84
+ method: "POST",
85
+ path,
86
+ ...options
87
+ });
88
+ }
89
+ /** Queue a synthetic event; acceptance does not confirm delivery.
90
+ * @operation testWebhookEndpoint
91
+ */
92
+ test(endpointID, options) {
93
+ const path = `webhook/endpoints/${(0, _utils_js_1.pathParam)(endpointID, "endpointID")}/test`;
94
+ return this._client.request({
95
+ method: "POST",
96
+ path,
97
+ ...options
98
+ });
99
+ }
100
+ }
101
+ exports.WebhookEndpoints = WebhookEndpoints;
102
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/forward/webhook.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,4 +14,6 @@ export { RealtimeConversations, RealtimeHistoryPage } from './forward/realtime/c
14
14
  export { RealtimeConnection, RealtimeProtocolError, RealtimeConnectionClosedError, RealtimeServerError, decodeRealtimeAudio } from './forward/realtime/connection.js';
15
15
  export type { RealtimeConnectOptions, RealtimeWaitOptions, RealtimeCloseOptions } from './forward/realtime/connection.js';
16
16
  export * from './forward/realtime/types.js';
17
+ export * from "./forward/webhook.js";
18
+ export * from "./forward/webhook-signature.js";
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACtK,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC1H,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACtK,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC1H,cAAc,6BAA6B,CAAC;AAE5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC"}
package/dist/index.js CHANGED
@@ -42,4 +42,6 @@ Object.defineProperty(exports, "RealtimeConnectionClosedError", { enumerable: tr
42
42
  Object.defineProperty(exports, "RealtimeServerError", { enumerable: true, get: function () { return connection_js_1.RealtimeServerError; } });
43
43
  Object.defineProperty(exports, "decodeRealtimeAudio", { enumerable: true, get: function () { return connection_js_1.decodeRealtimeAudio; } });
44
44
  __exportStar(require("./forward/realtime/types.js"), exports);
45
+ __exportStar(require("./forward/webhook.js"), exports);
46
+ __exportStar(require("./forward/webhook-signature.js"), exports);
45
47
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+DAA2D;AAAlD,iHAAA,aAAa,OAAA;AACtB,+DAA2D;AAAlD,iHAAA,aAAa,OAAA;AACtB,2CAAuC;AAA9B,qGAAA,OAAO,OAAA;AAChB,mDAAiC;AACjC,kDAAgC;AAChC,wDAAsC;AACtC,wDAAsC;AACtC,uDAAqC;AACrC,sDAAoC;AACpC,8FAAuF;AAA9E,gJAAA,2BAA2B,OAAA;AACpC,oDAAkC;AAElC,8DAA0D;AAAjD,uGAAA,QAAQ,OAAA;AACjB,sEAAgG;AAAvF,wHAAA,qBAAqB,OAAA;AAAE,sHAAA,mBAAmB,OAAA;AACnD,kEAAsK;AAA7J,mHAAA,kBAAkB,OAAA;AAAE,sHAAA,qBAAqB,OAAA;AAAE,8HAAA,6BAA6B,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAE3H,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+DAA2D;AAAlD,iHAAA,aAAa,OAAA;AACtB,+DAA2D;AAAlD,iHAAA,aAAa,OAAA;AACtB,2CAAuC;AAA9B,qGAAA,OAAO,OAAA;AAChB,mDAAiC;AACjC,kDAAgC;AAChC,wDAAsC;AACtC,wDAAsC;AACtC,uDAAqC;AACrC,sDAAoC;AACpC,8FAAuF;AAA9E,gJAAA,2BAA2B,OAAA;AACpC,oDAAkC;AAElC,8DAA0D;AAAjD,uGAAA,QAAQ,OAAA;AACjB,sEAAgG;AAAvF,wHAAA,qBAAqB,OAAA;AAAE,sHAAA,mBAAmB,OAAA;AACnD,kEAAsK;AAA7J,mHAAA,kBAAkB,OAAA;AAAE,sHAAA,qBAAqB,OAAA;AAAE,8HAAA,6BAA6B,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAE3H,8DAA4C;AAE5C,uDAAqC;AACrC,iEAA+C"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.8.0";
1
+ export declare const VERSION = "0.9.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -6,5 +6,5 @@ exports.VERSION = void 0;
6
6
  // describe a version that was never published; `npm run build` compares the two.
7
7
  // Declared here rather than imported from package.json so bundlers do not have to
8
8
  // resolve JSON from outside src/.
9
- exports.VERSION = '0.8.0';
9
+ exports.VERSION = '0.9.0';
10
10
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qca-sdk",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "TypeScript SDK for Qoder Cloud Agents Forward and Managed APIs",
5
5
  "author": "Qoder",
6
6
  "license": "MIT",