@slates/provider 1.0.0-rc.2 → 1.0.0-rc.20

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 (124) hide show
  1. package/dist/index.cjs +2847 -2
  2. package/dist/index.d.cts +1019 -0
  3. package/dist/index.d.ts +1019 -9
  4. package/dist/index.module.js +2737 -2
  5. package/package.json +9 -6
  6. package/src/action/action.ts +92 -4
  7. package/src/action/attachment.ts +87 -0
  8. package/src/action/builder.test.ts +136 -0
  9. package/src/action/builder.ts +113 -15
  10. package/src/action/directUpload.ts +59 -0
  11. package/src/action/getFileUrlTool.ts +41 -0
  12. package/src/action/index.ts +4 -2
  13. package/src/action/publicTool.ts +36 -0
  14. package/src/action/scopes.test.ts +76 -0
  15. package/src/action/scopes.ts +103 -0
  16. package/src/action/tool.ts +22 -6
  17. package/src/action/trigger.ts +19 -11
  18. package/src/adapter/adapter.ts +38 -0
  19. package/src/adapter/index.test.ts +322 -0
  20. package/src/adapter/index.ts +2 -0
  21. package/src/adapter/spec.ts +154 -0
  22. package/src/auth/auth.ts +3 -3
  23. package/src/auth/index.ts +2 -0
  24. package/src/auth/oauth.test.ts +83 -0
  25. package/src/auth/oauth.ts +150 -0
  26. package/src/auth/redact.test.ts +103 -0
  27. package/src/auth/redact.ts +111 -0
  28. package/src/auth/types.ts +72 -13
  29. package/src/axios/http.test.ts +83 -0
  30. package/src/axios/index.ts +116 -10
  31. package/src/axios/trace.test.ts +377 -0
  32. package/src/axios/trace.ts +803 -0
  33. package/src/config/config.ts +14 -3
  34. package/src/context/context.ts +264 -17
  35. package/src/context/hook.test.ts +46 -0
  36. package/src/context/hook.ts +15 -6
  37. package/src/context/index.ts +1 -0
  38. package/src/context/pQueue.ts +4 -0
  39. package/src/crypto/hmac.test.ts +40 -0
  40. package/src/crypto/hmac.ts +32 -0
  41. package/src/crypto/index.ts +1 -0
  42. package/src/docs.ts +22 -0
  43. package/src/error/api.test.ts +114 -0
  44. package/src/error/api.ts +236 -0
  45. package/src/error/axios.ts +220 -0
  46. package/src/error/base.test.ts +178 -0
  47. package/src/error/base.ts +108 -2
  48. package/src/error/declaration.ts +7 -2
  49. package/src/error/defaults.ts +50 -0
  50. package/src/error/index.ts +4 -0
  51. package/src/error/service.ts +170 -0
  52. package/src/error/types.ts +75 -0
  53. package/src/error/utils.ts +157 -0
  54. package/src/file/index.test.ts +36 -0
  55. package/src/file/index.ts +27 -0
  56. package/src/index.ts +8 -0
  57. package/src/logger/logger.test.ts +57 -0
  58. package/src/logger/logger.ts +72 -11
  59. package/src/module/resolveDefaultExport.test.ts +32 -0
  60. package/src/module/resolveDefaultExport.ts +14 -0
  61. package/src/object/index.test.ts +38 -0
  62. package/src/object/index.ts +12 -0
  63. package/src/specification/slate.ts +40 -4
  64. package/src/specification/specification.ts +10 -6
  65. package/src/webhook/graph.test.ts +37 -0
  66. package/src/webhook/graph.ts +22 -0
  67. package/src/webhook/index.ts +2 -0
  68. package/src/webhook/meta.test.ts +52 -0
  69. package/src/webhook/meta.ts +43 -0
  70. package/dist/action/action.d.ts +0 -98
  71. package/dist/action/action.d.ts.map +0 -1
  72. package/dist/action/builder.d.ts +0 -27
  73. package/dist/action/builder.d.ts.map +0 -1
  74. package/dist/action/index.d.ts +0 -5
  75. package/dist/action/index.d.ts.map +0 -1
  76. package/dist/action/tool.d.ts +0 -14
  77. package/dist/action/tool.d.ts.map +0 -1
  78. package/dist/action/trigger.d.ts +0 -32
  79. package/dist/action/trigger.d.ts.map +0 -1
  80. package/dist/auth/auth.d.ts +0 -30
  81. package/dist/auth/auth.d.ts.map +0 -1
  82. package/dist/auth/index.d.ts +0 -3
  83. package/dist/auth/index.d.ts.map +0 -1
  84. package/dist/auth/types.d.ts +0 -148
  85. package/dist/auth/types.d.ts.map +0 -1
  86. package/dist/axios/index.d.ts +0 -4
  87. package/dist/axios/index.d.ts.map +0 -1
  88. package/dist/config/config.d.ts +0 -26
  89. package/dist/config/config.d.ts.map +0 -1
  90. package/dist/config/index.d.ts +0 -2
  91. package/dist/config/index.d.ts.map +0 -1
  92. package/dist/context/context.d.ts +0 -20
  93. package/dist/context/context.d.ts.map +0 -1
  94. package/dist/context/hook.d.ts +0 -4
  95. package/dist/context/hook.d.ts.map +0 -1
  96. package/dist/context/index.d.ts +0 -2
  97. package/dist/context/index.d.ts.map +0 -1
  98. package/dist/error/base.d.ts +0 -5
  99. package/dist/error/base.d.ts.map +0 -1
  100. package/dist/error/declaration.d.ts +0 -6
  101. package/dist/error/declaration.d.ts.map +0 -1
  102. package/dist/error/index.d.ts +0 -3
  103. package/dist/error/index.d.ts.map +0 -1
  104. package/dist/index.cjs.map +0 -1
  105. package/dist/index.d.ts.map +0 -1
  106. package/dist/index.modern.js +0 -2
  107. package/dist/index.modern.js.map +0 -1
  108. package/dist/index.module.js.map +0 -1
  109. package/dist/index.umd.js +0 -2
  110. package/dist/index.umd.js.map +0 -1
  111. package/dist/logger/index.d.ts +0 -2
  112. package/dist/logger/index.d.ts.map +0 -1
  113. package/dist/logger/logger.d.ts +0 -20
  114. package/dist/logger/logger.d.ts.map +0 -1
  115. package/dist/specification/index.d.ts +0 -3
  116. package/dist/specification/index.d.ts.map +0 -1
  117. package/dist/specification/slate.d.ts +0 -15
  118. package/dist/specification/slate.d.ts.map +0 -1
  119. package/dist/specification/specification.d.ts +0 -30
  120. package/dist/specification/specification.d.ts.map +0 -1
  121. package/dist/specification/zero.d.ts +0 -13
  122. package/dist/specification/zero.d.ts.map +0 -1
  123. package/dist/tokens.d.ts +0 -34
  124. package/dist/tokens.d.ts.map +0 -1
@@ -1,27 +0,0 @@
1
- import z from 'zod';
2
- import { SlateSpecification } from '../specification/specification';
3
- import { SlateAction, SlateActionCreateParameters, SlateActionParameters, SlateActionType, SlatePollingOptions, SlateToolInvocationHandler, SlateTriggerMappingHandler, SlateTriggerPollingHandler, SlateTriggerWebhookAutoRegistrationHandler, SlateTriggerWebhookAutoUnregistrationHandler, SlateTriggerWebhookRequestHandler } from './action';
4
- export declare class SlateActionBuilder<Type extends SlateActionType, ConfigType extends {}, AuthType extends {}, InputType extends {}, OutputType extends {}, Result extends SlateAction<Type, ConfigType, AuthType, any, any>> {
5
- #private;
6
- private readonly type;
7
- private readonly spec;
8
- private readonly params;
9
- private readonly factory;
10
- constructor(type: Type, spec: SlateSpecification<ConfigType, AuthType>, params: SlateActionParameters, factory: (params: SlateActionCreateParameters<any, any, any, any>) => Result);
11
- input<NewInputType extends {}>(schema: z.ZodType<NewInputType>): SlateActionBuilder<Type, ConfigType, AuthType, NewInputType, OutputType, Result>;
12
- output<NewOutputType extends {}>(schema: z.ZodType<NewOutputType>): SlateActionBuilder<Type, ConfigType, AuthType, InputType, NewOutputType, Result>;
13
- handleInvocation(handler: SlateToolInvocationHandler<ConfigType, AuthType, InputType, OutputType>): SlateActionBuilder<Type, ConfigType, AuthType, InputType, OutputType, Result>;
14
- webhook(props: {
15
- handleEvent: SlateTriggerMappingHandler<ConfigType, AuthType, InputType, OutputType>;
16
- handleRequest: SlateTriggerWebhookRequestHandler<ConfigType, AuthType, InputType>;
17
- autoRegisterWebhook?: SlateTriggerWebhookAutoRegistrationHandler<ConfigType, AuthType>;
18
- autoUnregisterWebhook?: SlateTriggerWebhookAutoUnregistrationHandler<ConfigType, AuthType>;
19
- }): SlateActionBuilder<Type, ConfigType, AuthType, InputType, OutputType, Result>;
20
- polling(props: {
21
- options?: SlatePollingOptions;
22
- pollEvents?: SlateTriggerPollingHandler<ConfigType, AuthType, InputType>;
23
- handleEvent: SlateTriggerMappingHandler<ConfigType, AuthType, InputType, OutputType>;
24
- }): SlateActionBuilder<Type, ConfigType, AuthType, InputType, OutputType, Result>;
25
- build(): Result;
26
- }
27
- //# sourceMappingURL=builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/action/builder.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACL,WAAW,EACX,2BAA2B,EAC3B,qBAAqB,EAGrB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,0CAA0C,EAC1C,4CAA4C,EAC5C,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAElB,qBAAa,kBAAkB,CAC7B,IAAI,SAAS,eAAe,EAC5B,UAAU,SAAS,EAAE,EACrB,QAAQ,SAAS,EAAE,EACnB,SAAS,SAAS,EAAE,EACpB,UAAU,SAAS,EAAE,EACrB,MAAM,SAAS,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC;;IAiB9D,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC9C,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,CACxB,MAAM,EAAE,2BAA2B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KACpD,MAAM;IAMb,KAAK,CAAC,YAAY,SAAS,EAAE,EAC3B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAC9B,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC;IAKnF,MAAM,CAAC,aAAa,SAAS,EAAE,EAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAC/B,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;IAKnF,gBAAgB,CACd,OAAO,EAAE,0BAA0B,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,GAC/E,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;IAahF,OAAO,CAAC,KAAK,EAAE;QACb,WAAW,EAAE,0BAA0B,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACrF,aAAa,EAAE,iCAAiC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClF,mBAAmB,CAAC,EAAE,0CAA0C,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACvF,qBAAqB,CAAC,EAAE,4CAA4C,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;KAC5F,GAAG,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;IAiBjF,OAAO,CAAC,KAAK,EAAE;QACb,OAAO,CAAC,EAAE,mBAAmB,CAAC;QAC9B,UAAU,CAAC,EAAE,0BAA0B,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzE,WAAW,EAAE,0BAA0B,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;KACtF,GAAG,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;IAgBjF,KAAK,IAuBG,MAAM;CAEf"}
@@ -1,5 +0,0 @@
1
- export * from './action';
2
- export * from './tool';
3
- export * from './trigger';
4
- export type * from './builder';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/action/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAE1B,mBAAmB,WAAW,CAAC"}
@@ -1,14 +0,0 @@
1
- import { SlateSpecification } from '../specification/specification';
2
- import { SlateAction, SlateActionParameters, SlateToolInvocationHandler } from './action';
3
- import { SlateActionBuilder } from './builder';
4
- export interface SlateToolParameters<ConfigType extends {}, AuthType extends {}, InputType extends {}, OutputType extends {}> extends SlateActionParameters {
5
- handleInvocation: SlateToolInvocationHandler<ConfigType, AuthType, InputType, OutputType>;
6
- }
7
- export declare class SlateTool<ConfigType extends {}, AuthType extends {}, InputType extends {}, OutputType extends {}> extends SlateAction<'tool', ConfigType, AuthType, InputType, OutputType> {
8
- #private;
9
- private constructor();
10
- static create<ConfigType extends {}, AuthType extends {}>(spec: SlateSpecification<ConfigType, AuthType>, params: SlateActionParameters): SlateActionBuilder<"tool", ConfigType, AuthType, {}, {}, SlateTool<any, any, any, any>>;
11
- get handleInvocation(): SlateToolInvocationHandler<ConfigType, AuthType, InputType, OutputType>;
12
- }
13
- export declare let tool: <ConfigType extends {}, AuthType extends {}>(spec: SlateSpecification<ConfigType, AuthType>, params: SlateActionParameters) => SlateActionBuilder<"tool", ConfigType, AuthType, {}, {}, SlateTool<any, any, any, any>>;
14
- //# sourceMappingURL=tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/action/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,mBAAmB,CAClC,UAAU,SAAS,EAAE,EACrB,QAAQ,SAAS,EAAE,EACnB,SAAS,SAAS,EAAE,EACpB,UAAU,SAAS,EAAE,CACrB,SAAQ,qBAAqB;IAC7B,gBAAgB,EAAE,0BAA0B,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;CAC3F;AAED,qBAAa,SAAS,CACpB,UAAU,SAAS,EAAE,EACrB,QAAQ,SAAS,EAAE,EACnB,SAAS,SAAS,EAAE,EACpB,UAAU,SAAS,EAAE,CACrB,SAAQ,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC;;IAGxE,OAAO;IAWP,MAAM,CAAC,MAAM,CAAC,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EACtD,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC9C,MAAM,EAAE,qBAAqB;IAQ/B,IAAI,gBAAgB,4EAEnB;CACF;AAED,eAAO,IAAI,IAAI,GAAI,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EAC3D,MAAM,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC9C,QAAQ,qBAAqB,4FACI,CAAC"}
@@ -1,32 +0,0 @@
1
- import { SlateSpecification } from '../specification/specification';
2
- import { SlateAction, SlateActionParameters, SlatePollingOptions, SlateTriggerMappingHandler, SlateTriggerPollingHandler, SlateTriggerWebhookAutoRegistrationHandler, SlateTriggerWebhookAutoUnregistrationHandler, SlateTriggerWebhookRequestHandler } from './action';
3
- import { SlateActionBuilder } from './builder';
4
- export declare const SlateDefaultPollingIntervalSeconds: number;
5
- export interface SlateTriggerParameters<ConfigType extends {}, AuthType extends {}, InputType extends {}, OutputType extends {
6
- type: string;
7
- }> extends SlateActionParameters {
8
- type: 'trigger';
9
- source: 'polling' | 'webhook';
10
- polling?: SlatePollingOptions;
11
- handleEvent: SlateTriggerMappingHandler<ConfigType, AuthType, InputType, OutputType>;
12
- handleRequest?: SlateTriggerWebhookRequestHandler<ConfigType, AuthType, InputType>;
13
- pollEvents?: SlateTriggerPollingHandler<ConfigType, AuthType, InputType>;
14
- autoRegisterWebhook?: SlateTriggerWebhookAutoRegistrationHandler<ConfigType, AuthType>;
15
- autoUnregisterWebhook?: SlateTriggerWebhookAutoUnregistrationHandler<ConfigType, AuthType>;
16
- }
17
- export declare class SlateTrigger<ConfigType extends {}, AuthType extends {}, InputType extends {}, OutputType extends {
18
- type: string;
19
- }> extends SlateAction<'trigger', ConfigType, AuthType, InputType, OutputType> {
20
- #private;
21
- private constructor();
22
- static create<ConfigType extends {}, AuthType extends {}>(spec: SlateSpecification<ConfigType, AuthType>, params: SlateActionParameters): SlateActionBuilder<"trigger", ConfigType, AuthType, {}, {}, SlateTrigger<any, any, any, any>>;
23
- get polling(): SlatePollingOptions;
24
- get source(): "polling" | "webhook";
25
- get handleEvent(): SlateTriggerMappingHandler<ConfigType, AuthType, InputType, OutputType>;
26
- get handleRequest(): SlateTriggerWebhookRequestHandler<ConfigType, AuthType, InputType> | undefined;
27
- get pollEvents(): SlateTriggerPollingHandler<ConfigType, AuthType, InputType> | undefined;
28
- get autoRegisterWebhook(): SlateTriggerWebhookAutoRegistrationHandler<ConfigType, AuthType> | undefined;
29
- get autoUnregisterWebhook(): SlateTriggerWebhookAutoUnregistrationHandler<ConfigType, AuthType> | undefined;
30
- }
31
- export declare let trigger: <ConfigType extends {}, AuthType extends {}>(spec: SlateSpecification<ConfigType, AuthType>, params: SlateActionParameters) => SlateActionBuilder<"trigger", ConfigType, AuthType, {}, {}, SlateTrigger<any, any, any, any>>;
32
- //# sourceMappingURL=trigger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../src/action/trigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,EAC1B,0CAA0C,EAC1C,4CAA4C,EAC5C,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,eAAO,MAAM,kCAAkC,QAAU,CAAC;AAE1D,MAAM,WAAW,sBAAsB,CACrC,UAAU,SAAS,EAAE,EACrB,QAAQ,SAAS,EAAE,EACnB,SAAS,SAAS,EAAE,EACpB,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CACD,SAAQ,qBAAqB;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,WAAW,EAAE,0BAA0B,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACrF,aAAa,CAAC,EAAE,iCAAiC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnF,UAAU,CAAC,EAAE,0BAA0B,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACzE,mBAAmB,CAAC,EAAE,0CAA0C,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACvF,qBAAqB,CAAC,EAAE,4CAA4C,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;CAC5F;AAED,qBAAa,YAAY,CACvB,UAAU,SAAS,EAAE,EACrB,QAAQ,SAAS,EAAE,EACnB,SAAS,SAAS,EAAE,EACpB,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CACD,SAAQ,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC;;IAS3E,OAAO;IAmBP,MAAM,CAAC,MAAM,CAAC,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EACtD,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC9C,MAAM,EAAE,qBAAqB;IAQ/B,IAAI,OAAO,wBAEV;IAED,IAAI,MAAM,0BAET;IAED,IAAI,WAAW,4EAEd;IAED,IAAI,aAAa,mFAEhB;IAED,IAAI,UAAU,4EAEb;IAED,IAAI,mBAAmB,iFAEtB;IAED,IAAI,qBAAqB,mFAExB;CACF;AAED,eAAO,IAAI,OAAO,GAAI,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EAC9D,MAAM,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC9C,QAAQ,qBAAqB,kGACO,CAAC"}
@@ -1,30 +0,0 @@
1
- import z from 'zod';
2
- import { SlateAuthType } from './types';
3
- export declare class SlateAuth<OutputType extends {} = {}> {
4
- #private;
5
- private constructor();
6
- static create<OutputType extends {}>(): SlateAuth<OutputType>;
7
- output<NewOutputType extends {}>(schema: z.ZodType<NewOutputType>): SlateAuth<NewOutputType>;
8
- private addAuth;
9
- addOauth<InputType extends {}>(auth: SlateAuthType<InputType, OutputType> & {
10
- type: 'auth.oauth';
11
- }): SlateAuth<OutputType>;
12
- addTokenAuth<InputType extends {}>(auth: SlateAuthType<InputType, OutputType> & {
13
- type: 'auth.token';
14
- }): SlateAuth<OutputType>;
15
- addServiceAccountAuth<InputType extends {}>(auth: SlateAuthType<InputType, OutputType> & {
16
- type: 'auth.service_account';
17
- }): SlateAuth<OutputType>;
18
- addCustomAuth<InputType extends {}>(auth: SlateAuthType<InputType, OutputType> & {
19
- type: 'auth.custom';
20
- }): SlateAuth<OutputType>;
21
- addNone(): SlateAuth<OutputType>;
22
- get authStack(): (import("./types").SlateAuthWithOauth<any, OutputType & {
23
- token: string;
24
- }> | import("./types").SlateAuthWithToken<any, OutputType & {
25
- token?: string;
26
- }> | import("./types").SlateAuthWithServiceAccount<any, OutputType> | import("./types").SlateAuthWithCustomData<any, OutputType>)[];
27
- get outputSchema(): z.ZodType<OutputType, unknown, z.core.$ZodTypeInternals<OutputType, unknown>>;
28
- }
29
- export declare let auth: <OutputType extends {} = {}>() => SlateAuth<OutputType>;
30
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,SAAS,CAAC,UAAU,SAAS,EAAE,GAAG,EAAE;;IAI/C,OAAO;IAEP,MAAM,CAAC,MAAM,CAAC,UAAU,SAAS,EAAE;IAInC,MAAM,CAAC,aAAa,SAAS,EAAE,EAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAC/B,SAAS,CAAC,aAAa,CAAC;IAK3B,OAAO,CAAC,OAAO;IAYf,QAAQ,CAAC,SAAS,SAAS,EAAE,EAC3B,IAAI,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,GAClE,SAAS,CAAC,UAAU,CAAC;IAKxB,YAAY,CAAC,SAAS,SAAS,EAAE,EAC/B,IAAI,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,GAClE,SAAS,CAAC,UAAU,CAAC;IAKxB,qBAAqB,CAAC,SAAS,SAAS,EAAE,EACxC,IAAI,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;QAAE,IAAI,EAAE,sBAAsB,CAAA;KAAE,GAC5E,SAAS,CAAC,UAAU,CAAC;IAKxB,aAAa,CAAC,SAAS,SAAS,EAAE,EAChC,IAAI,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,GACnE,SAAS,CAAC,UAAU,CAAC;IAKxB,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC;IAShC,IAAI,SAAS;;;;wIAEZ;IAED,IAAI,YAAY,kFAKf;CACF;AAED,eAAO,IAAI,IAAI,GAAI,UAAU,SAAS,EAAE,GAAG,EAAE,4BAAqC,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './auth';
2
- export * from './types';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
@@ -1,148 +0,0 @@
1
- import z from 'zod';
2
- export type SlateAuthWithOauth<InputType extends {}, OutputType extends {
3
- token: string;
4
- refreshToken?: string;
5
- expiresAt?: number | string | Date;
6
- }> = {
7
- type: 'auth.oauth';
8
- name: string;
9
- key: string;
10
- scopes: {
11
- title: string;
12
- description?: string;
13
- scope: string;
14
- }[];
15
- inputSchema?: z.ZodType<InputType>;
16
- onInputChanged?: (params: {
17
- previousInput: InputType | null;
18
- newInput: InputType;
19
- }) => Promise<{
20
- input?: InputType;
21
- } | void>;
22
- getDefaultInput?: () => Promise<InputType>;
23
- getAuthorizationUrl: (ctx: {
24
- redirectUri: string;
25
- state: string;
26
- input: InputType;
27
- clientId: string;
28
- clientSecret: string;
29
- scopes: string[];
30
- }) => Promise<{
31
- url: string;
32
- input?: InputType;
33
- }>;
34
- handleCallback: (ctx: {
35
- code: string;
36
- state: string;
37
- redirectUri: string;
38
- input: InputType;
39
- clientId: string;
40
- clientSecret: string;
41
- scopes: string[];
42
- }) => Promise<{
43
- output: OutputType;
44
- input?: InputType;
45
- }>;
46
- handleTokenRefresh?: (ctx: {
47
- output: OutputType;
48
- input: InputType;
49
- clientId: string;
50
- clientSecret: string;
51
- scopes: string[];
52
- }) => Promise<{
53
- output: OutputType;
54
- input?: InputType;
55
- }>;
56
- getProfile?: (ctx: {
57
- output: OutputType;
58
- input: InputType;
59
- scopes: string[];
60
- }) => Promise<{
61
- profile: Record<string, any>;
62
- }>;
63
- };
64
- export type SlateAuthWithToken<InputType extends {}, OutputType extends {
65
- token?: string;
66
- }> = {
67
- type: 'auth.token';
68
- name: string;
69
- key: string;
70
- inputSchema?: z.ZodType<InputType>;
71
- getOutput: (ctx: {
72
- input: InputType;
73
- }) => Promise<{
74
- output: OutputType;
75
- }>;
76
- onInputChanged?: (params: {
77
- previousInput: InputType;
78
- newInput: InputType;
79
- }) => Promise<{
80
- input?: InputType;
81
- } | void>;
82
- getDefaultInput?: () => Promise<InputType>;
83
- getProfile?: (ctx: {
84
- output: OutputType;
85
- input: InputType;
86
- }) => Promise<{
87
- profile: Record<string, any>;
88
- }>;
89
- };
90
- export type SlateAuthWithServiceAccount<InputType extends {}, OutputType extends {}> = {
91
- type: 'auth.service_account';
92
- name: string;
93
- key: string;
94
- inputSchema?: z.ZodType<InputType>;
95
- getOutput: (ctx: {
96
- input: InputType;
97
- }) => Promise<{
98
- output: OutputType;
99
- }>;
100
- onInputChanged?: (params: {
101
- previousInput: InputType;
102
- newInput: InputType;
103
- }) => Promise<{
104
- input?: InputType;
105
- } | void>;
106
- getDefaultInput?: () => Promise<InputType>;
107
- getProfile?: (ctx: {
108
- output: OutputType;
109
- input: InputType;
110
- }) => Promise<{
111
- profile: Record<string, any>;
112
- }>;
113
- };
114
- export type SlateAuthWithCustomData<InputType extends {}, OutputType extends {}> = {
115
- type: 'auth.custom';
116
- name: string;
117
- key: string;
118
- inputSchema?: z.ZodType<InputType>;
119
- getOutput: (ctx: {
120
- input: InputType;
121
- }) => Promise<{
122
- output: OutputType;
123
- }>;
124
- onInputChanged?: (params: {
125
- previousInput: InputType;
126
- newInput: InputType;
127
- }) => Promise<{
128
- input?: InputType;
129
- } | void>;
130
- getDefaultInput?: () => Promise<InputType>;
131
- getProfile?: (ctx: {
132
- output: OutputType;
133
- input: InputType;
134
- }) => Promise<{
135
- profile: Record<string, any>;
136
- }>;
137
- };
138
- export type SlateAuthWithNone<InputType extends {}, OutputType extends {}> = {
139
- type: 'auth.none';
140
- name: string;
141
- key: string;
142
- };
143
- export type SlateAuthType<InputType extends {}, OutputType extends {}> = SlateAuthWithOauth<InputType, OutputType & {
144
- token: string;
145
- }> | SlateAuthWithToken<InputType, OutputType & {
146
- token?: string;
147
- }> | SlateAuthWithServiceAccount<InputType, OutputType> | SlateAuthWithCustomData<InputType, OutputType> | SlateAuthWithNone<InputType, OutputType>;
148
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { CreateAxiosDefaults } from 'axios';
2
- export declare let createAxios: (config?: CreateAxiosDefaults) => import("axios").AxiosInstance;
3
- export declare let axios: import("axios").AxiosInstance;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/axios/index.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAGvD,eAAO,IAAI,WAAW,GAAI,SAAS,mBAAmB,kCAsBrD,CAAC;AAEF,eAAO,IAAI,KAAK,+BAAgB,CAAC"}
@@ -1,26 +0,0 @@
1
- import z from 'zod';
2
- export declare class SlateConfig<ConfigType extends {}> {
3
- #private;
4
- private constructor();
5
- static create<ConfigType extends {}>(schema: z.ZodType<ConfigType>): SlateConfig<ConfigType>;
6
- config<NewConfigType extends {}>(schema: z.ZodType<NewConfigType>): SlateConfig<NewConfigType>;
7
- onConfigChanged(handler: (params: {
8
- previousConfig: ConfigType | null;
9
- newConfig: ConfigType;
10
- }) => {
11
- config: ConfigType | undefined;
12
- } | void): SlateConfig<ConfigType>;
13
- getDefaultConfig(getter: () => ConfigType): SlateConfig<ConfigType>;
14
- get configSchema(): z.ZodType<ConfigType, unknown, z.core.$ZodTypeInternals<ConfigType, unknown>>;
15
- get handlers(): {
16
- configChanged: ((params: {
17
- previousConfig: ConfigType | null;
18
- newConfig: ConfigType;
19
- }) => {
20
- config: ConfigType | undefined;
21
- } | void) | null;
22
- getDefaultConfig: (() => ConfigType) | null;
23
- };
24
- }
25
- export declare let config: <ConfigType extends {}>(schema: z.ZodType<ConfigType>) => SlateConfig<ConfigType>;
26
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,qBAAa,WAAW,CAAC,UAAU,SAAS,EAAE;;IAU5C,OAAO;IAIP,MAAM,CAAC,MAAM,CAAC,UAAU,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAIlE,MAAM,CAAC,aAAa,SAAS,EAAE,EAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAC/B,WAAW,CAAC,aAAa,CAAC;IAK7B,eAAe,CACb,OAAO,EAAE,CAAC,MAAM,EAAE;QAChB,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC;QAClC,SAAS,EAAE,UAAU,CAAC;KACvB,KAAK;QAAE,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI,GAC9C,WAAW,CAAC,UAAU,CAAC;IAK1B,gBAAgB,CAAC,MAAM,EAAE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IAKnE,IAAI,YAAY,kFAEf;IAED,IAAI,QAAQ;iCAzCE;YACR,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC;YAClC,SAAS,EAAE,UAAU,CAAC;SACvB,KAAK;YAAE,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;SAAE,GAAG,IAAI;iCAEzB,UAAU;MAyCnC;CACF;AAED,eAAO,IAAI,MAAM,GAAI,UAAU,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,4BACjC,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './config';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -1,20 +0,0 @@
1
- import { SlateLogger, SlateLogMessageInput } from '../logger';
2
- import { SlateSpecification } from '../specification/specification';
3
- export declare class SlateContext<ConfigType extends {}, AuthType extends {}, InputType extends {}> {
4
- #private;
5
- private readonly spec;
6
- private readonly logger;
7
- constructor(config: ConfigType, input: InputType, auth: AuthType, spec: SlateSpecification<ConfigType, AuthType>, logger: SlateLogger);
8
- get specification(): SlateSpecification<ConfigType, AuthType>;
9
- get config(): Readonly<ConfigType>;
10
- get input(): Readonly<InputType>;
11
- get event(): Readonly<InputType>;
12
- get state(): "state" extends keyof InputType ? InputType["state"] : never;
13
- get request(): "request" extends keyof InputType ? InputType["request"] : never;
14
- get auth(): Readonly<AuthType>;
15
- info(message: SlateLogMessageInput): void;
16
- warn(message: SlateLogMessageInput): void;
17
- error(message: SlateLogMessageInput): void;
18
- progress(message: SlateLogMessageInput): void;
19
- }
20
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,qBAAa,YAAY,CAAC,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EAAE,SAAS,SAAS,EAAE;;IAStF,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAJvB,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ,EACG,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC9C,MAAM,EAAE,WAAW;IAOtC,IAAI,aAAa,6CAEhB;IAED,IAAI,MAAM,yBAET;IAED,IAAI,KAAK,wBAER;IAED,IAAI,KAAK,wBAER;IAED,IAAI,KAAK,IAC6C,OAAO,SAAS,MAAM,SAAS,GAC/E,SAAS,CAAC,OAAO,CAAC,GAClB,KAAK,CACV;IAED,IAAI,OAAO,IAC6C,SAAS,SAAS,MAAM,SAAS,GACnF,SAAS,CAAC,SAAS,CAAC,GACpB,KAAK,CACV;IAED,IAAI,IAAI,uBAEP;IAED,IAAI,CAAC,OAAO,EAAE,oBAAoB;IAIlC,IAAI,CAAC,OAAO,EAAE,oBAAoB;IAIlC,KAAK,CAAC,OAAO,EAAE,oBAAoB;IAInC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;CAGvC"}
@@ -1,4 +0,0 @@
1
- import { SlateContext } from './context';
2
- export declare let runWithContext: <ConfigType extends {}, AuthType extends {}, InputType extends {}>(context: SlateContext<ConfigType, AuthType, InputType>, fn: () => Promise<void>) => Promise<void>;
3
- export declare let getCurrentContext: <ConfigType extends {}, AuthType extends {}, InputType extends {}>() => SlateContext<ConfigType, AuthType, InputType>;
4
- //# sourceMappingURL=hook.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/context/hook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,eAAO,IAAI,cAAc,GAAI,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EAAE,SAAS,SAAS,EAAE,EAC3F,SAAS,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,EACtD,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,kBAGxB,CAAC;AAEF,eAAO,IAAI,iBAAiB,GAC1B,UAAU,SAAS,EAAE,EACrB,QAAQ,SAAS,EAAE,EACnB,SAAS,SAAS,EAAE,OACjB,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAMhD,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './context';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare class SlateError extends Error {
2
- constructor(message: string);
3
- static is(error: unknown): error is SlateError;
4
- }
5
- //# sourceMappingURL=base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/error/base.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;IAK3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU;CAG/C"}
@@ -1,6 +0,0 @@
1
- import { SlateError } from './base';
2
- export declare class SlateDeclarationError extends SlateError {
3
- constructor(message: string);
4
- static is(error: unknown): error is SlateDeclarationError;
5
- }
6
- //# sourceMappingURL=declaration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../src/error/declaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,qBAAa,qBAAsB,SAAQ,UAAU;gBACvC,OAAO,EAAE,MAAM;IAK3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB;CAG1D"}
@@ -1,3 +0,0 @@
1
- export * from './base';
2
- export * from './declaration';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/action/action.ts","../src/error/base.ts","../src/error/declaration.ts","../src/action/builder.ts","../src/action/tool.ts","../src/action/trigger.ts","../src/auth/auth.ts","../src/context/hook.ts","../src/axios/index.ts","../src/config/config.ts","../src/context/context.ts","../src/logger/logger.ts","../src/specification/slate.ts","../src/specification/specification.ts"],"sourcesContent":["import { z } from 'zod';\nimport { SlateContext } from '../context';\nimport { SlateSpecification } from '../specification/specification';\n\nexport type SlateActionType = 'tool' | 'trigger';\n\nexport interface SlateActionParameters {\n key: string;\n name: string;\n description?: string;\n instructions?: string[];\n constraints?: string[];\n tags?: {\n destructive?: boolean;\n readOnly?: boolean;\n [key: string]: boolean | undefined;\n };\n metadata?: Record<string, any>;\n}\n\nexport type SlateToolInvocationHandler<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {}\n> = (context: SlateContext<ConfigType, AuthType, InputType>) => Promise<{\n output: OutputType;\n message: string;\n}>;\n\nexport type SlateTriggerMappingHandler<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {}\n> = (context: SlateContext<ConfigType, AuthType, InputType>) => Promise<{\n type: string;\n id: string;\n output: OutputType;\n}>;\n\nexport type SlateTriggerPollingHandler<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {}\n> = (context: SlateContext<ConfigType, AuthType, { state: any | null }>) => Promise<{\n inputs: InputType[];\n updatedState?: any;\n}>;\n\nexport type SlateTriggerWebhookRequestHandler<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {}\n> = (\n context: SlateContext<ConfigType, AuthType, { request: Request; state: any | null }>\n) => Promise<{\n inputs: InputType[];\n updatedState?: any;\n}>;\n\nexport type SlateTriggerWebhookAutoRegistrationHandler<\n ConfigType extends {},\n AuthType extends {}\n> = (context: SlateContext<ConfigType, AuthType, { webhookBaseUrl: string }>) => Promise<{\n registrationDetails: any;\n state?: any;\n}>;\n\nexport type SlateTriggerWebhookAutoUnregistrationHandler<\n ConfigType extends {},\n AuthType extends {}\n> = (\n context: SlateContext<\n ConfigType,\n AuthType,\n { webhookBaseUrl: string; registrationDetails: any; state: any | null }\n >\n) => Promise<unknown>;\n\nexport interface SlateActionParametersTool<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {}\n> {\n type: 'tool';\n handleInvocation: SlateToolInvocationHandler<ConfigType, AuthType, InputType, OutputType>;\n}\n\nexport interface SlatePollingOptions {\n intervalInSeconds?: number;\n}\n\nexport interface SlateActionParametersTrigger<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {}\n> {\n type: 'trigger';\n source: 'polling' | 'webhook';\n polling?: SlatePollingOptions;\n handleEvent: SlateTriggerMappingHandler<ConfigType, AuthType, InputType, OutputType>;\n handleRequest?: SlateTriggerWebhookRequestHandler<ConfigType, AuthType, InputType>;\n pollEvents?: SlateTriggerPollingHandler<ConfigType, AuthType, InputType>;\n autoRegisterWebhook?: SlateTriggerWebhookAutoRegistrationHandler<ConfigType, AuthType>;\n autoUnregisterWebhook?: SlateTriggerWebhookAutoUnregistrationHandler<ConfigType, AuthType>;\n}\n\nexport type SlateActionParametersAny<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {}\n> =\n | SlateActionParametersTool<ConfigType, AuthType, InputType, OutputType>\n | SlateActionParametersTrigger<ConfigType, AuthType, InputType, OutputType>;\n\nexport type SlateActionCreateParameters<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {}\n> = SlateActionParametersAny<ConfigType, AuthType, InputType, OutputType> &\n SlateActionParameters & {\n configSchema: z.ZodType<ConfigType>;\n authSchema: z.ZodType<AuthType>;\n inputSchema: z.ZodType<InputType>;\n outputSchema: z.ZodType<OutputType>;\n };\n\nexport abstract class SlateAction<\n Type extends SlateActionType,\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {}\n> {\n constructor(\n public readonly type: Type,\n protected readonly _spec: SlateSpecification<ConfigType, AuthType>,\n protected readonly _inputSchema: z.ZodType<InputType>,\n protected readonly _outputSchema: z.ZodType<OutputType>,\n protected readonly _params: SlateActionParameters\n ) {}\n\n get configSchema() {\n return this._spec.configSchema;\n }\n\n get inputSchema() {\n return this._inputSchema;\n }\n\n get outputSchema() {\n return this._outputSchema;\n }\n\n get parameters() {\n return this._params;\n }\n\n get key() {\n return this._params.key;\n }\n\n get name() {\n return this._params.name;\n }\n\n get description() {\n return this._params.description;\n }\n\n get tags() {\n return this._params.tags;\n }\n\n get instructions() {\n return this._params.instructions;\n }\n\n get constraints() {\n return this._params.constraints;\n }\n\n get metadata() {\n return this._params.metadata;\n }\n}\n","export class SlateError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'SlateError';\n }\n\n static is(error: unknown): error is SlateError {\n return error instanceof SlateError;\n }\n}\n","import { SlateError } from './base';\n\nexport class SlateDeclarationError extends SlateError {\n constructor(message: string) {\n super(`[Declaration Error]: ${message}`);\n this.name = 'SlateError.DeclarationError';\n }\n\n static is(error: unknown): error is SlateDeclarationError {\n return error instanceof SlateDeclarationError;\n }\n}\n","import z from 'zod';\nimport { SlateDeclarationError } from '../error';\nimport { SlateSpecification } from '../specification/specification';\nimport {\n SlateAction,\n SlateActionCreateParameters,\n SlateActionParameters,\n SlateActionParametersTool,\n SlateActionParametersTrigger,\n SlateActionType,\n SlatePollingOptions,\n SlateToolInvocationHandler,\n SlateTriggerMappingHandler,\n SlateTriggerPollingHandler,\n SlateTriggerWebhookAutoRegistrationHandler,\n SlateTriggerWebhookAutoUnregistrationHandler,\n SlateTriggerWebhookRequestHandler\n} from './action';\n\nexport class SlateActionBuilder<\n Type extends SlateActionType,\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {},\n Result extends SlateAction<Type, ConfigType, AuthType, any, any>\n> {\n #configSchema: z.ZodType<ConfigType>;\n #authSchema: z.ZodType<AuthType>;\n #inputSchema: z.ZodType<InputType> | null = null;\n #outputSchema: z.ZodType<OutputType> | null = null;\n\n #toolParams: SlateActionParametersTool<ConfigType, AuthType, InputType, OutputType> | null =\n null;\n #triggerParams: SlateActionParametersTrigger<\n ConfigType,\n AuthType,\n InputType,\n OutputType\n > | null = null;\n\n constructor(\n private readonly type: Type,\n private readonly spec: SlateSpecification<ConfigType, AuthType>,\n private readonly params: SlateActionParameters,\n private readonly factory: (\n params: SlateActionCreateParameters<any, any, any, any>\n ) => Result\n ) {\n this.#configSchema = spec.configSchema;\n this.#authSchema = spec.authSchema;\n }\n\n input<NewInputType extends {}>(\n schema: z.ZodType<NewInputType>\n ): SlateActionBuilder<Type, ConfigType, AuthType, NewInputType, OutputType, Result> {\n this.#inputSchema = schema as any;\n return this as any;\n }\n\n output<NewOutputType extends {}>(\n schema: z.ZodType<NewOutputType>\n ): SlateActionBuilder<Type, ConfigType, AuthType, InputType, NewOutputType, Result> {\n this.#outputSchema = schema as any;\n return this as any;\n }\n\n handleInvocation(\n handler: SlateToolInvocationHandler<ConfigType, AuthType, InputType, OutputType>\n ): SlateActionBuilder<Type, ConfigType, AuthType, InputType, OutputType, Result> {\n if (this.type !== 'tool') {\n throw new SlateDeclarationError('handleInvocation can only be set for tool actions');\n }\n\n this.#toolParams = {\n type: 'tool',\n handleInvocation: handler\n };\n\n return this;\n }\n\n webhook(props: {\n handleEvent: SlateTriggerMappingHandler<ConfigType, AuthType, InputType, OutputType>;\n handleRequest: SlateTriggerWebhookRequestHandler<ConfigType, AuthType, InputType>;\n autoRegisterWebhook?: SlateTriggerWebhookAutoRegistrationHandler<ConfigType, AuthType>;\n autoUnregisterWebhook?: SlateTriggerWebhookAutoUnregistrationHandler<ConfigType, AuthType>;\n }): SlateActionBuilder<Type, ConfigType, AuthType, InputType, OutputType, Result> {\n if (this.type !== 'trigger') {\n throw new SlateDeclarationError('handleEvent can only be set for trigger actions');\n }\n\n this.#triggerParams = {\n type: 'trigger',\n source: 'webhook',\n handleEvent: props.handleEvent,\n handleRequest: props.handleRequest,\n autoRegisterWebhook: props.autoRegisterWebhook,\n autoUnregisterWebhook: props.autoUnregisterWebhook\n };\n\n return this;\n }\n\n polling(props: {\n options?: SlatePollingOptions;\n pollEvents?: SlateTriggerPollingHandler<ConfigType, AuthType, InputType>;\n handleEvent: SlateTriggerMappingHandler<ConfigType, AuthType, InputType, OutputType>;\n }): SlateActionBuilder<Type, ConfigType, AuthType, InputType, OutputType, Result> {\n if (this.type !== 'trigger') {\n throw new SlateDeclarationError('handleEvent can only be set for trigger actions');\n }\n\n this.#triggerParams = {\n type: 'trigger',\n source: 'polling',\n polling: props.options,\n pollEvents: props.pollEvents,\n handleEvent: props.handleEvent\n };\n\n return this;\n }\n\n build() {\n if (!this.#inputSchema) {\n throw new SlateDeclarationError('Input schema is not defined');\n }\n if (!this.#outputSchema) {\n throw new SlateDeclarationError('Output schema is not defined');\n }\n if (this.type === 'tool' && !this.#toolParams) {\n throw new SlateDeclarationError('Tool invocation handler is not defined');\n }\n if (this.type === 'trigger' && !this.#triggerParams) {\n throw new SlateDeclarationError('Trigger event handlers are not defined');\n }\n\n return this.factory({\n ...this.params,\n configSchema: this.#configSchema,\n authSchema: this.#authSchema,\n inputSchema: this.#inputSchema,\n outputSchema: this.#outputSchema,\n\n ...this.#toolParams!,\n ...this.#triggerParams!\n }) as Result;\n }\n}\n","import z from 'zod';\nimport { SlateSpecification } from '../specification/specification';\nimport { SlateAction, SlateActionParameters, SlateToolInvocationHandler } from './action';\nimport { SlateActionBuilder } from './builder';\n\nexport interface SlateToolParameters<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {}\n> extends SlateActionParameters {\n handleInvocation: SlateToolInvocationHandler<ConfigType, AuthType, InputType, OutputType>;\n}\n\nexport class SlateTool<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {}\n> extends SlateAction<'tool', ConfigType, AuthType, InputType, OutputType> {\n #handleInvocation: SlateToolInvocationHandler<ConfigType, AuthType, InputType, OutputType>;\n\n private constructor(\n spec: SlateSpecification<ConfigType, AuthType>,\n inputSchema: z.ZodType<InputType>,\n outputSchema: z.ZodType<OutputType>,\n params: SlateToolParameters<ConfigType, AuthType, InputType, OutputType>\n ) {\n super('tool', spec, inputSchema, outputSchema, params);\n\n this.#handleInvocation = params.handleInvocation;\n }\n\n static create<ConfigType extends {}, AuthType extends {}>(\n spec: SlateSpecification<ConfigType, AuthType>,\n params: SlateActionParameters\n ) {\n return new SlateActionBuilder('tool', spec, params, params => {\n if (params.type != 'tool') throw new Error('Invalid action type for tool');\n return new SlateTool(spec, params.inputSchema, params.outputSchema, params);\n });\n }\n\n get handleInvocation() {\n return this.#handleInvocation;\n }\n}\n\nexport let tool = <ConfigType extends {}, AuthType extends {}>(\n spec: SlateSpecification<ConfigType, AuthType>,\n params: SlateActionParameters\n) => SlateTool.create(spec, params);\n","import z from 'zod';\nimport { SlateSpecification } from '../specification/specification';\nimport {\n SlateAction,\n SlateActionParameters,\n SlatePollingOptions,\n SlateTriggerMappingHandler,\n SlateTriggerPollingHandler,\n SlateTriggerWebhookAutoRegistrationHandler,\n SlateTriggerWebhookAutoUnregistrationHandler,\n SlateTriggerWebhookRequestHandler\n} from './action';\nimport { SlateActionBuilder } from './builder';\n\nexport const SlateDefaultPollingIntervalSeconds = 60 * 10;\n\nexport interface SlateTriggerParameters<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {\n type: string;\n }\n> extends SlateActionParameters {\n type: 'trigger';\n source: 'polling' | 'webhook';\n polling?: SlatePollingOptions;\n handleEvent: SlateTriggerMappingHandler<ConfigType, AuthType, InputType, OutputType>;\n handleRequest?: SlateTriggerWebhookRequestHandler<ConfigType, AuthType, InputType>;\n pollEvents?: SlateTriggerPollingHandler<ConfigType, AuthType, InputType>;\n autoRegisterWebhook?: SlateTriggerWebhookAutoRegistrationHandler<ConfigType, AuthType>;\n autoUnregisterWebhook?: SlateTriggerWebhookAutoUnregistrationHandler<ConfigType, AuthType>;\n}\n\nexport class SlateTrigger<\n ConfigType extends {},\n AuthType extends {},\n InputType extends {},\n OutputType extends {\n type: string;\n }\n> extends SlateAction<'trigger', ConfigType, AuthType, InputType, OutputType> {\n #source: 'polling' | 'webhook';\n #polling: SlatePollingOptions;\n #handleEvent: SlateTriggerMappingHandler<ConfigType, AuthType, InputType, OutputType>;\n #handleRequest?: SlateTriggerWebhookRequestHandler<ConfigType, AuthType, InputType>;\n #pollEvents?: SlateTriggerPollingHandler<ConfigType, AuthType, InputType>;\n #autoRegisterWebhook?: SlateTriggerWebhookAutoRegistrationHandler<ConfigType, AuthType>;\n #autoUnregisterWebhook?: SlateTriggerWebhookAutoUnregistrationHandler<ConfigType, AuthType>;\n\n private constructor(\n spec: SlateSpecification<ConfigType, AuthType>,\n inputSchema: z.ZodType<InputType>,\n outputSchema: z.ZodType<OutputType>,\n params: SlateTriggerParameters<ConfigType, AuthType, InputType, OutputType>\n ) {\n super('trigger', spec, inputSchema, outputSchema, params);\n\n this.#source = params.source;\n this.#polling = params.polling || {\n intervalInSeconds: SlateDefaultPollingIntervalSeconds\n };\n this.#handleEvent = params.handleEvent;\n this.#handleRequest = params.handleRequest;\n this.#pollEvents = params.pollEvents;\n this.#autoRegisterWebhook = params.autoRegisterWebhook;\n this.#autoUnregisterWebhook = params.autoUnregisterWebhook;\n }\n\n static create<ConfigType extends {}, AuthType extends {}>(\n spec: SlateSpecification<ConfigType, AuthType>,\n params: SlateActionParameters\n ) {\n return new SlateActionBuilder('trigger', spec, params, params => {\n if (params.type != 'trigger') throw new Error('Invalid action type for trigger');\n return new SlateTrigger(spec, params.inputSchema, params.outputSchema, params);\n });\n }\n\n get polling() {\n return this.#polling;\n }\n\n get source() {\n return this.#source;\n }\n\n get handleEvent() {\n return this.#handleEvent;\n }\n\n get handleRequest() {\n return this.#handleRequest;\n }\n\n get pollEvents() {\n return this.#pollEvents;\n }\n\n get autoRegisterWebhook() {\n return this.#autoRegisterWebhook;\n }\n\n get autoUnregisterWebhook() {\n return this.#autoUnregisterWebhook;\n }\n}\n\nexport let trigger = <ConfigType extends {}, AuthType extends {}>(\n spec: SlateSpecification<ConfigType, AuthType>,\n params: SlateActionParameters\n) => SlateTrigger.create(spec, params);\n","import z from 'zod';\nimport { SlateAuthType } from './types';\n\nexport class SlateAuth<OutputType extends {} = {}> {\n #outputSchema: z.ZodType<OutputType> | null = null;\n #authStack: SlateAuthType<any, OutputType>[] = [];\n\n private constructor() {}\n\n static create<OutputType extends {}>() {\n return new SlateAuth<OutputType>();\n }\n\n output<NewOutputType extends {}>(\n schema: z.ZodType<NewOutputType>\n ): SlateAuth<NewOutputType> {\n this.#outputSchema = schema as any;\n return this as any as SlateAuth<NewOutputType>;\n }\n\n private addAuth<InputType extends {}>(\n auth: SlateAuthType<InputType, OutputType>\n ): SlateAuth<OutputType> {\n let existingKeys = this.#authStack.map(a => a.key);\n if (existingKeys.includes(auth.key)) {\n throw new Error(`Auth with key \"${auth.key}\" already exists in the auth stack`);\n }\n\n this.#authStack.push(auth);\n return this;\n }\n\n addOauth<InputType extends {}>(\n auth: SlateAuthType<InputType, OutputType> & { type: 'auth.oauth' }\n ): SlateAuth<OutputType> {\n this.addAuth(auth as any);\n return this;\n }\n\n addTokenAuth<InputType extends {}>(\n auth: SlateAuthType<InputType, OutputType> & { type: 'auth.token' }\n ): SlateAuth<OutputType> {\n this.addAuth(auth as any);\n return this;\n }\n\n addServiceAccountAuth<InputType extends {}>(\n auth: SlateAuthType<InputType, OutputType> & { type: 'auth.service_account' }\n ): SlateAuth<OutputType> {\n this.addAuth(auth as any);\n return this;\n }\n\n addCustomAuth<InputType extends {}>(\n auth: SlateAuthType<InputType, OutputType> & { type: 'auth.custom' }\n ): SlateAuth<OutputType> {\n this.addAuth(auth as any);\n return this;\n }\n\n addNone(): SlateAuth<OutputType> {\n this.addAuth({\n type: 'auth.none',\n name: 'No Authentication',\n key: 'none'\n });\n return this;\n }\n\n get authStack() {\n return this.#authStack.filter(a => a.type != 'auth.none');\n }\n\n get outputSchema() {\n if (!this.#outputSchema) {\n throw new Error('Output schema is not defined for this auth');\n }\n return this.#outputSchema;\n }\n}\n\nexport let auth = <OutputType extends {} = {}>() => SlateAuth.create<OutputType>();\n","import { AsyncLocalStorage } from 'async_hooks';\nimport { SlateContext } from './context';\n\nlet asyncLocalStorage = new AsyncLocalStorage<SlateContext<any, any, any>>();\n\nexport let runWithContext = <ConfigType extends {}, AuthType extends {}, InputType extends {}>(\n context: SlateContext<ConfigType, AuthType, InputType>,\n fn: () => Promise<void>\n) => {\n return asyncLocalStorage.run(context, fn);\n};\n\nexport let getCurrentContext = <\n ConfigType extends {},\n AuthType extends {},\n InputType extends {}\n>(): SlateContext<ConfigType, AuthType, InputType> => {\n let context = asyncLocalStorage.getStore();\n if (!context) {\n throw new Error('No Slate context is available');\n }\n return context as SlateContext<ConfigType, AuthType, InputType>;\n};\n","import baseAxios, { CreateAxiosDefaults } from 'axios';\nimport { getCurrentContext } from '../context/hook';\n\nexport let createAxios = (config?: CreateAxiosDefaults) => {\n let instance = baseAxios.create({\n ...config,\n headers: {\n ...config?.headers\n }\n });\n\n instance.interceptors.request.use(\n request => {\n // Has to be called in the context of an action execution\n let ctx = getCurrentContext();\n let spec = ctx.specification;\n\n request.headers.set('User-Agent', `slates.dev@1.0.0/${spec.key}`);\n\n return request;\n },\n error => Promise.reject(error)\n );\n\n return instance;\n};\n\nexport let axios = createAxios();\n","import z from 'zod';\n\nexport class SlateConfig<ConfigType extends {}> {\n #configSchema: z.ZodType<ConfigType>;\n #configChanged:\n | ((params: {\n previousConfig: ConfigType | null;\n newConfig: ConfigType;\n }) => { config: ConfigType | undefined } | void)\n | null = null;\n #getDefaultConfig: (() => ConfigType) | null = null;\n\n private constructor(schema: z.ZodType<ConfigType>) {\n this.#configSchema = schema;\n }\n\n static create<ConfigType extends {}>(schema: z.ZodType<ConfigType>) {\n return new SlateConfig<ConfigType>(schema);\n }\n\n config<NewConfigType extends {}>(\n schema: z.ZodType<NewConfigType>\n ): SlateConfig<NewConfigType> {\n this.#configSchema = schema as any;\n return this as any as SlateConfig<NewConfigType>;\n }\n\n onConfigChanged(\n handler: (params: {\n previousConfig: ConfigType | null;\n newConfig: ConfigType;\n }) => { config: ConfigType | undefined } | void\n ): SlateConfig<ConfigType> {\n this.#configChanged = handler;\n return this;\n }\n\n getDefaultConfig(getter: () => ConfigType): SlateConfig<ConfigType> {\n this.#getDefaultConfig = getter;\n return this;\n }\n\n get configSchema() {\n return this.#configSchema;\n }\n\n get handlers() {\n return {\n configChanged: this.#configChanged,\n getDefaultConfig: this.#getDefaultConfig\n };\n }\n}\n\nexport let config = <ConfigType extends {}>(schema: z.ZodType<ConfigType>) =>\n SlateConfig.create<ConfigType>(schema);\n","import { SlateLogger, SlateLogMessageInput } from '../logger';\nimport { SlateSpecification } from '../specification/specification';\n\nexport class SlateContext<ConfigType extends {}, AuthType extends {}, InputType extends {}> {\n #config: ConfigType;\n #input: InputType;\n #auth: AuthType;\n\n constructor(\n config: ConfigType,\n input: InputType,\n auth: AuthType,\n private readonly spec: SlateSpecification<ConfigType, AuthType>,\n private readonly logger: SlateLogger\n ) {\n this.#config = config;\n this.#input = input;\n this.#auth = auth;\n }\n\n get specification() {\n return this.spec;\n }\n\n get config() {\n return Object.freeze(this.#config);\n }\n\n get input() {\n return Object.freeze(this.#input);\n }\n\n get event() {\n return Object.freeze(this.#input);\n }\n\n get state() {\n return Object.freeze((this.#input as any).state) as 'state' extends keyof InputType\n ? InputType['state']\n : never;\n }\n\n get request() {\n return Object.freeze((this.#input as any).request) as 'request' extends keyof InputType\n ? InputType['request']\n : never;\n }\n\n get auth() {\n return Object.freeze(this.#auth);\n }\n\n info(message: SlateLogMessageInput) {\n this.logger.info(message);\n }\n\n warn(message: SlateLogMessageInput) {\n this.logger.warn(message);\n }\n\n error(message: SlateLogMessageInput) {\n this.logger.error(message);\n }\n\n progress(message: SlateLogMessageInput) {\n this.logger.progress(message);\n }\n}\n","import { encode } from '@toon-format/toon';\n\nexport type SlateLogType = 'info' | 'warn' | 'error' | 'progress';\n\nexport type SlateLogMessageInput =\n | string\n | Error\n | boolean\n | number\n | null\n | undefined\n | object\n | SlateLogMessageInput[];\n\nlet formatMessage = (message: SlateLogMessageInput): string => {\n if (typeof message === 'object') {\n if (message === null) return 'null';\n if (message instanceof Error) {\n return `[ERROR]: ${message.name}: ${message.message}\\n${message.stack}`;\n }\n return encode(message);\n }\n\n return String(message);\n};\n\nexport interface SlateLogEntry {\n type: SlateLogType;\n message: string;\n timestamp: Date;\n}\n\nexport type SlateLogListener = (entries: SlateLogEntry[]) => void;\n\nexport class SlateLogger {\n #logs: SlateLogEntry[] = [];\n #listeners: SlateLogListener[] = [];\n #timer: NodeJS.Timeout | null = null;\n\n constructor(listeners: SlateLogListener[] = []) {\n this.#listeners.push(...listeners);\n }\n\n private flush() {\n if (this.#timer) clearTimeout(this.#timer);\n if (this.#logs.length === 0) return;\n\n for (let listener of this.#listeners) {\n listener(this.#logs);\n }\n }\n\n private scheduleFlush() {\n if (this.#timer) return;\n this.#timer = setTimeout(() => {\n this.flush();\n this.#timer = null;\n }, 10);\n }\n\n log(type: SlateLogType, message: SlateLogMessageInput) {\n this.#logs.push({\n type,\n timestamp: new Date(),\n message: formatMessage(message)\n });\n this.scheduleFlush();\n }\n\n info(...message: SlateLogMessageInput[]) {\n this.log('info', message.flat());\n }\n\n warn(...message: SlateLogMessageInput[]) {\n this.log('warn', message.flat());\n }\n\n error(...message: SlateLogMessageInput[]) {\n this.log('error', message.flat());\n }\n\n progress(...message: SlateLogMessageInput[]) {\n this.log('progress', message.flat());\n }\n}\n","import { SlateTool, SlateTrigger } from '../action';\nimport { SlateSpecification } from './specification';\n\nexport class Slate<ConfigType extends {}, AuthType extends {}> {\n private constructor(\n private readonly _spec: SlateSpecification<ConfigType, AuthType>,\n private readonly _actions: (\n | SlateTrigger<ConfigType, AuthType, any, any>\n | SlateTool<ConfigType, AuthType, any, any>\n )[]\n ) {}\n\n static create<ConfigType extends {}, AuthType extends {}>(params: {\n spec: SlateSpecification<ConfigType, AuthType>;\n triggers: SlateTrigger<ConfigType, AuthType, any, any>[];\n tools: SlateTool<ConfigType, AuthType, any, any>[];\n }) {\n return new Slate(params.spec, [...params.triggers, ...params.tools]);\n }\n\n get spec() {\n return this._spec;\n }\n\n get actions() {\n return this._actions;\n }\n}\n","import z from 'zod';\nimport { SlateAuth } from '../auth';\nimport { SlateConfig } from '../config';\n\nexport interface SlateSpecificationParameters {\n key: string;\n name: string;\n description?: string;\n metadata?: Record<string, any>;\n}\n\nexport interface SlateSpecificationCreateParameters<\n ConfigType extends {},\n AuthType extends {}\n> extends SlateSpecificationParameters {\n config: SlateConfig<ConfigType>;\n auth: SlateAuth<AuthType>;\n}\n\nexport class SlateSpecification<ConfigType extends {}, AuthType extends {}> {\n private constructor(\n private readonly _config: SlateConfig<ConfigType>,\n private readonly _auth: SlateAuth<AuthType>,\n private readonly _params: SlateSpecificationParameters\n ) {}\n\n static create<ConfigType extends {}, AuthType extends {}>(\n params: SlateSpecificationCreateParameters<ConfigType, AuthType>\n ): SlateSpecification<ConfigType, AuthType> {\n return new SlateSpecification(params.config, params.auth, params);\n }\n\n get configSchema() {\n return this._config.configSchema;\n }\n\n get authSchema() {\n return (\n 'outputSchema' in this._auth ? this._auth.outputSchema : z.object({})\n ) as z.ZodType<AuthType>;\n }\n\n get config() {\n return this._config;\n }\n\n get auth() {\n return this._auth;\n }\n\n get parameters() {\n return this._params;\n }\n\n get key() {\n return this._params.key;\n }\n\n get name() {\n return this._params.name;\n }\n\n get description() {\n return this._params.description;\n }\n}\n\nexport let spec = <ConfigType extends {}, AuthType extends {}>(\n params: SlateSpecificationCreateParameters<ConfigType, AuthType>\n): SlateSpecification<ConfigType, AuthType> => SlateSpecification.create(params);\n"],"names":["SlateAction","_createClass","type","_spec","_inputSchema","_outputSchema","_params","this","key","get","configSchema","name","description","tags","instructions","constraints","metadata","SlateError","_Error","message","_this","call","_inheritsLoose","is","error","_wrapNativeSuper","Error","SlateDeclarationError","_SlateError","_configSchema","_classPrivateFieldLooseKey","_authSchema","_toolParams","_triggerParams","SlateActionBuilder","spec","params","factory","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","authSchema","_proto","prototype","input","schema","output","handleInvocation","handler","webhook","props","source","handleEvent","handleRequest","autoRegisterWebhook","autoUnregisterWebhook","polling","options","pollEvents","build","_extends","inputSchema","outputSchema","_handleInvocation","SlateTool","_SlateAction","create","_source","_polling","_handleEvent","_handleRequest","_pollEvents","_autoRegisterWebhook","_autoUnregisterWebhook","SlateTrigger","intervalInSeconds","_authStack","SlateAuth","addAuth","auth","map","a","includes","push","addOauth","addTokenAuth","addServiceAccountAuth","addCustomAuth","addNone","filter","asyncLocalStorage","AsyncLocalStorage","createAxios","config","instance","baseAxios","headers","interceptors","request","use","ctx","context","getStore","getCurrentContext","set","specification","Promise","reject","axios","SlateConfig","_configChanged","_getDefaultConfig","onConfigChanged","getDefaultConfig","getter","configChanged","_config","_input","_auth","SlateContext","logger","info","warn","progress","freeze","state","formatMessage","stack","encode","String","_logs","_listeners","_timer","SlateLogger","listeners","_classPrivateFieldLoo","apply","flush","clearTimeout","length","_step","_iterator","_createForOfIteratorHelperLoose","done","listener","scheduleFlush","setTimeout","log","timestamp","Date","slice","arguments","flat","Slate","_actions","concat","triggers","tools","SlateSpecification","z","object"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
@@ -1,2 +0,0 @@
1
- import{base62 as e}from"@lowerdeck/base62";import{memo as t}from"@lowerdeck/memo";class r{constructor(r){this.keys=void 0,this.signer=void 0,this.keys=r,this.signer=(r=>{if("secret"in r){let n=t(()=>crypto.subtle.importKey("raw",(new TextEncoder).encode(r.secret),{name:"HMAC",hash:{name:"SHA-384"}},!1,["sign","verify"]));return{async sign(t){let r=await crypto.subtle.sign({name:"HMAC",hash:{name:"SHA-384"}},await n(),(new TextEncoder).encode(t));return e.encode(new Uint8Array(r))},verify:async(t,r)=>crypto.subtle.verify({name:"HMAC",hash:{name:"SHA-384"}},await n(),new Uint8Array(e.decodeRaw(r)),(new TextEncoder).encode(t))}}{let n=t(async()=>{if("string"==typeof r.privateKey){let e=JSON.parse(r.privateKey);return await crypto.subtle.importKey("jwk",e,{name:"EC"==e.kty?"ECDSA":e.kty,namedCurve:e.crv},!0,["sign"])}return await r.privateKey()}),i=t(async()=>{if("string"==typeof r.publicKey){let e=JSON.parse(r.publicKey);return await crypto.subtle.importKey("jwk",JSON.parse(r.publicKey),{name:"EC"==e.kty?"ECDSA":e.kty,namedCurve:e.crv},!0,["verify"])}return await r.publicKey()});return{async sign(t){let r=await n(),i=await crypto.subtle.sign({name:r.algorithm.name,hash:{name:"SHA-384"}},r,(new TextEncoder).encode(t));return e.encode(new Uint8Array(i))},verify:async(t,r)=>crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-384"}},await i(),new Uint8Array(e.decodeRaw(r)),(new TextEncoder).encode(t))}}})(r)}async sign({type:t,data:r,expiresAt:n}){let i=`${t}_v1_${e.encode(JSON.stringify({d:r,e:null==n?void 0:n.getTime(),c:Date.now()}))}`;return`${i}_${await this.signer.sign(i)}`}async verify({token:t,expectedType:r}){let n=t.split("_");if(n.length<4)return{verified:!1};let i=n.pop(),a=n.pop(),s=n.pop(),c=n.join("_");if(c!=r)return{verified:!1};if("v1"!=s)return{verified:!1};let o=`${c}_${s}_${a}`;if(!await this.signer.verify(o,i))return{verified:!1};let y=JSON.parse(e.decode(a)),d=y.e?new Date(y.e):null;return d&&d<new Date?{verified:!1}:{verified:!0,type:c,expiresAt:d,createdAt:new Date(y.c),data:y.d}}static decode(t){let r=t.split("_");return r.length<4?null:JSON.parse(e.decode(r[r.length-2]))}}export{r as Tokens};
2
- //# sourceMappingURL=index.modern.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/tokens.ts"],"sourcesContent":["import { base62 } from '@lowerdeck/base62';\nimport { memo } from '@lowerdeck/memo';\n\nexport type TokenKeys =\n | {\n privateKey: string | (() => Promise<CryptoKey> | CryptoKey);\n publicKey: string | (() => Promise<CryptoKey> | CryptoKey);\n }\n | {\n secret: string;\n };\n\ntype Signer = {\n sign: (data: string) => Promise<string>;\n verify: (data: string, signature: string) => Promise<boolean>;\n};\n\nlet getSigner = (keys: TokenKeys): Signer => {\n if ('secret' in keys) {\n let keyMemo = memo(() =>\n crypto.subtle.importKey(\n 'raw',\n new TextEncoder().encode(keys.secret),\n { name: 'HMAC', hash: { name: 'SHA-384' } },\n false,\n ['sign', 'verify']\n )\n );\n\n return {\n async sign(data) {\n let signature = await crypto.subtle.sign(\n { name: 'HMAC', hash: { name: 'SHA-384' } },\n await keyMemo(),\n new TextEncoder().encode(data)\n );\n\n return base62.encode(new Uint8Array(signature));\n },\n\n async verify(data, signature) {\n return crypto.subtle.verify(\n { name: 'HMAC', hash: { name: 'SHA-384' } },\n await keyMemo(),\n new Uint8Array(base62.decodeRaw(signature)),\n new TextEncoder().encode(data)\n );\n }\n };\n } else {\n let privateKeyMemo = memo(async () => {\n if (typeof keys.privateKey == 'string') {\n let data = JSON.parse(keys.privateKey) as any;\n\n return await crypto.subtle.importKey(\n 'jwk',\n data,\n { name: data.kty == 'EC' ? 'ECDSA' : data.kty, namedCurve: data.crv },\n true,\n ['sign']\n );\n } else {\n return (await keys.privateKey()) as CryptoKey;\n }\n });\n\n let publicKeyMemo = memo(async () => {\n if (typeof keys.publicKey == 'string') {\n let data = JSON.parse(keys.publicKey) as any;\n\n return await crypto.subtle.importKey(\n 'jwk',\n JSON.parse(keys.publicKey) as any,\n { name: data.kty == 'EC' ? 'ECDSA' : data.kty, namedCurve: data.crv },\n true,\n ['verify']\n );\n } else {\n return (await keys.publicKey()) as CryptoKey;\n }\n });\n\n return {\n async sign(data) {\n let key = await privateKeyMemo();\n\n let signature = await crypto.subtle.sign(\n { name: key.algorithm.name, hash: { name: 'SHA-384' } },\n key,\n new TextEncoder().encode(data)\n );\n\n return base62.encode(new Uint8Array(signature));\n },\n\n async verify(data, signature) {\n return crypto.subtle.verify(\n { name: 'ECDSA', hash: { name: 'SHA-384' } },\n await publicKeyMemo(),\n new Uint8Array(base62.decodeRaw(signature)),\n new TextEncoder().encode(data)\n );\n }\n };\n }\n};\n\nexport class Tokens {\n private signer: Signer;\n constructor(readonly keys: TokenKeys) {\n this.signer = getSigner(keys);\n }\n\n async sign({ type, data, expiresAt }: { type: string; data: any; expiresAt?: Date }) {\n let token = `${type}_v1_${base62.encode(\n JSON.stringify({\n d: data,\n e: expiresAt?.getTime(),\n c: Date.now()\n })\n )}`;\n\n let signature = await this.signer.sign(token);\n return `${token}_${signature}`;\n }\n\n async verify({ token, expectedType }: { expectedType: string; token: string }) {\n let parts = token.split('_');\n if (parts.length < 4) return { verified: false as const };\n\n let signatureBase62 = parts.pop()!;\n let dataBase62 = parts.pop()!;\n let version = parts.pop()!;\n let type = parts.join('_');\n if (type != expectedType) return { verified: false as const };\n\n if (version != 'v1') return { verified: false as const };\n\n let main = `${type}_${version}_${dataBase62}`;\n\n let verified = await this.signer.verify(main, signatureBase62);\n if (!verified) return { verified: false as const };\n\n let data = JSON.parse(base62.decode(dataBase62));\n let expiresAt = data.e ? new Date(data.e) : null;\n if (expiresAt && expiresAt < new Date()) return { verified: false as const };\n\n let createdAt = new Date(data.c);\n\n return {\n verified: true as const,\n\n type,\n expiresAt,\n createdAt,\n data: data.d\n };\n }\n\n static decode(token: string) {\n let parts = token.split('_');\n if (parts.length < 4) return null;\n\n let dataBase62 = parts[parts.length - 2];\n return JSON.parse(base62.decode(dataBase62));\n }\n}\n"],"names":["Tokens","constructor","keys","this","signer","keyMemo","memo","crypto","subtle","importKey","TextEncoder","encode","secret","name","hash","sign","data","signature","base62","Uint8Array","async","verify","decodeRaw","privateKeyMemo","privateKey","JSON","parse","kty","namedCurve","crv","publicKeyMemo","publicKey","key","algorithm","getSigner","type","expiresAt","token","stringify","d","e","getTime","c","Date","now","expectedType","parts","split","length","verified","signatureBase62","pop","dataBase62","version","join","main","decode","createdAt"],"mappings":"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"}