@slates/provider-handler 1.0.0-rc.3 → 1.0.0-rc.32

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 (71) hide show
  1. package/dist/index.cjs +1475 -2
  2. package/dist/index.d.cts +8 -0
  3. package/dist/index.d.ts +6 -3
  4. package/dist/index.module.js +1452 -2
  5. package/package.json +11 -10
  6. package/src/attachments.test.ts +171 -0
  7. package/src/index.ts +1060 -137
  8. package/src/pQueue.test.ts +18 -0
  9. package/src/pQueue.ts +18 -0
  10. package/src/spec.test.ts +83 -0
  11. package/src/spec.ts +150 -21
  12. package/src/validation.ts +1 -1
  13. package/src/webhook.test.ts +65 -0
  14. package/src/webhook.ts +69 -0
  15. package/dist/action/action.d.ts +0 -90
  16. package/dist/action/action.d.ts.map +0 -1
  17. package/dist/action/builder.d.ts +0 -27
  18. package/dist/action/builder.d.ts.map +0 -1
  19. package/dist/action/index.d.ts +0 -5
  20. package/dist/action/index.d.ts.map +0 -1
  21. package/dist/action/tool.d.ts +0 -11
  22. package/dist/action/tool.d.ts.map +0 -1
  23. package/dist/action/trigger.d.ts +0 -14
  24. package/dist/action/trigger.d.ts.map +0 -1
  25. package/dist/auth/auth.d.ts +0 -26
  26. package/dist/auth/auth.d.ts.map +0 -1
  27. package/dist/auth/index.d.ts +0 -3
  28. package/dist/auth/index.d.ts.map +0 -1
  29. package/dist/auth/types.d.ts +0 -148
  30. package/dist/auth/types.d.ts.map +0 -1
  31. package/dist/axios/index.d.ts +0 -4
  32. package/dist/axios/index.d.ts.map +0 -1
  33. package/dist/config/config.d.ts +0 -22
  34. package/dist/config/config.d.ts.map +0 -1
  35. package/dist/config/index.d.ts +0 -2
  36. package/dist/config/index.d.ts.map +0 -1
  37. package/dist/context/context.d.ts +0 -20
  38. package/dist/context/context.d.ts.map +0 -1
  39. package/dist/context/hook.d.ts +0 -4
  40. package/dist/context/hook.d.ts.map +0 -1
  41. package/dist/context/index.d.ts +0 -2
  42. package/dist/context/index.d.ts.map +0 -1
  43. package/dist/error/base.d.ts +0 -5
  44. package/dist/error/base.d.ts.map +0 -1
  45. package/dist/error/declaration.d.ts +0 -6
  46. package/dist/error/declaration.d.ts.map +0 -1
  47. package/dist/error/index.d.ts +0 -3
  48. package/dist/error/index.d.ts.map +0 -1
  49. package/dist/index.cjs.map +0 -1
  50. package/dist/index.d.ts.map +0 -1
  51. package/dist/index.modern.js +0 -2
  52. package/dist/index.modern.js.map +0 -1
  53. package/dist/index.module.js.map +0 -1
  54. package/dist/index.umd.js +0 -2
  55. package/dist/index.umd.js.map +0 -1
  56. package/dist/spec.d.ts +0 -14
  57. package/dist/spec.d.ts.map +0 -1
  58. package/dist/specification/index.d.ts +0 -3
  59. package/dist/specification/index.d.ts.map +0 -1
  60. package/dist/specification/slate.d.ts +0 -15
  61. package/dist/specification/slate.d.ts.map +0 -1
  62. package/dist/specification/specification.d.ts +0 -30
  63. package/dist/specification/specification.d.ts.map +0 -1
  64. package/dist/specification/zero.d.ts +0 -13
  65. package/dist/specification/zero.d.ts.map +0 -1
  66. package/dist/state.d.ts +0 -8
  67. package/dist/state.d.ts.map +0 -1
  68. package/dist/tokens.d.ts +0 -34
  69. package/dist/tokens.d.ts.map +0 -1
  70. package/dist/validation.d.ts +0 -5
  71. package/dist/validation.d.ts.map +0 -1
@@ -1,14 +0,0 @@
1
- import { SlateSpecification } from '../specification/specification';
2
- import { SlateAction, SlateActionParameters } from './action';
3
- import { SlateActionBuilder } from './builder';
4
- export declare const SlateDefaultPollingIntervalSeconds: number;
5
- export interface SlateTriggerParameters extends SlateActionParameters {
6
- }
7
- export declare class SlateTrigger<ConfigType extends {}, AuthType extends {}, InputType extends {}, OutputType extends {
8
- type: string;
9
- }> extends SlateAction<'trigger', ConfigType, AuthType, InputType, OutputType> {
10
- private constructor();
11
- static create<ConfigType extends {}, AuthType extends {}>(spec: SlateSpecification<ConfigType, AuthType>, params: SlateTriggerParameters): SlateActionBuilder<"trigger", ConfigType, AuthType, {}, {}>;
12
- }
13
- export declare let Trigger: <ConfigType extends {}, AuthType extends {}>(spec: SlateSpecification<ConfigType, AuthType>, params: SlateTriggerParameters) => SlateActionBuilder<"trigger", ConfigType, AuthType, {}, {}>;
14
- //# 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,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,eAAO,MAAM,kCAAkC,QAAU,CAAC;AAE1D,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;CAAG;AAExE,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;IAC3E,OAAO;IASP,MAAM,CAAC,MAAM,CAAC,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EACtD,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC9C,MAAM,EAAE,sBAAsB;CASjC;AAED,eAAO,IAAI,OAAO,GAAI,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EAC9D,MAAM,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC9C,QAAQ,sBAAsB,gEACM,CAAC"}
@@ -1,26 +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").SlateAuthWithNone<any, OutputType>[];
23
- get outputSchema(): z.ZodType<OutputType, unknown, z.core.$ZodTypeInternals<OutputType, unknown>>;
24
- }
25
- export declare let auth: <OutputType extends {} = {}>() => SlateAuth<OutputType>;
26
- //# 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,2DAEZ;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,22 +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
- }) => void): SlateConfig<ConfigType>;
11
- getDefaultConfig(getter: () => ConfigType): SlateConfig<ConfigType>;
12
- get configSchema(): z.ZodType<ConfigType, unknown, z.core.$ZodTypeInternals<ConfigType, unknown>>;
13
- get handlers(): {
14
- configChanged: ((params: {
15
- previousConfig: ConfigType | null;
16
- newConfig: ConfigType;
17
- }) => void) | null;
18
- getDefaultConfig: (() => ConfigType) | null;
19
- };
20
- }
21
- export declare let config: <ConfigType extends {}>(schema: z.ZodType<ConfigType>) => SlateConfig<ConfigType>;
22
- //# 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;;IAO5C,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;QAAE,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,GACtF,WAAW,CAAC,UAAU,CAAC;IAK1B,gBAAgB,CAAC,MAAM,EAAE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IAKnE,IAAI,YAAY,kFAEf;IAED,IAAI,QAAQ;iCAnCE;YAAE,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC;YAAC,SAAS,EAAE,UAAU,CAAA;SAAE,KAAK,IAAI;iCAEzD,UAAU;MAsCnC;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/validation.ts","../src/spec.ts","../src/state.ts","../src/index.ts"],"sourcesContent":["import { ServiceError, validationError } from '@lowerdeck/error';\nimport z from 'zod';\n\nexport let zodToValidationError = (entity: string, message: string, e: z.ZodError) => {\n return validationError({\n message,\n entity,\n errors: e.issues.map(i => ({\n ...i,\n path: i.path.map(p => String(p))\n }))\n });\n};\n\nexport let validate = <T>(\n schema: z.ZodType<T>,\n data: unknown,\n entity: string,\n message: string\n): T => {\n let result = schema.safeParse(data);\n if (!result.success) {\n throw new ServiceError(zodToValidationError(entity, message, result.error));\n }\n\n return result.data;\n};\n\nexport let toJsonSchema = (schema: z.ZodType<any>) =>\n schema.toJSONSchema({\n unrepresentable: 'any',\n override: ctx => {\n let def = ctx.zodSchema._zod.def;\n\n if (def.type === 'date') {\n ctx.jsonSchema.type = 'string';\n ctx.jsonSchema.format = 'date-time';\n }\n if (def.type === 'bigint') {\n ctx.jsonSchema.type = 'number';\n }\n }\n });\n","import { badRequestError, notFoundError, ServiceError } from '@lowerdeck/error';\nimport { SlateAuthenticationMethod, SlatesAction } from '@slates/proto';\nimport { Slate, SlateDefaultPollingIntervalSeconds } from '@slates/provider';\nimport z from 'zod';\nimport { toJsonSchema } from './validation';\n\nexport let getAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n authenticationMethodId: string\n) => {\n let authMethod = slate.spec.auth.authStack.find(m => m.key == authenticationMethodId);\n if (!authMethod) {\n throw new ServiceError(\n badRequestError({\n message: `Invalid authentication method ID: ${authenticationMethodId}`\n })\n );\n }\n\n return authMethod;\n};\n\nexport let mapAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n m: ReturnType<typeof getAuthMethod<ConfigType, AuthType>>\n): SlateAuthenticationMethod => ({\n id: m.key,\n name: m.name,\n type: m.type,\n\n scopes:\n 'scopes' in m\n ? m.scopes.map(s => ({\n id: s.scope,\n title: s.title,\n description: s.description\n }))\n : undefined,\n\n inputSchema: toJsonSchema(m.inputSchema ?? z.object({})),\n outputSchema: toJsonSchema(slate.spec.auth.outputSchema),\n\n capabilities: {\n getDefaultInput: { enabled: !!('getDefaultInput' in m && m.getDefaultInput) },\n handleTokenRefresh: {\n enabled: !!('handleTokenRefresh' in m && m.handleTokenRefresh)\n },\n handleChangedInput: {\n enabled: !!m.onInputChanged\n },\n getProfile: { enabled: !!m.getProfile }\n }\n});\n\nexport let getAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n actionId: string\n) => {\n let action = slate.actions.find(m => m.key == actionId);\n if (!action) {\n throw new ServiceError(notFoundError(`action`, actionId));\n }\n\n return action;\n};\n\nexport let getActionWithType = <\n Type extends 'tool' | 'trigger',\n ConfigType extends {},\n AuthType extends {}\n>(\n slate: Slate<ConfigType, AuthType>,\n type: Type,\n actionId: string\n): ReturnType<typeof getAction<ConfigType, AuthType>> & { type: Type } => {\n let action = getAction(slate, actionId);\n if (action.type != type) {\n throw new ServiceError(\n badRequestError({\n message: `Action with ID ${actionId} is not of type ${type}`\n })\n );\n }\n\n return action as any;\n};\n\nexport let mapAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n a: ReturnType<typeof getAction<ConfigType, AuthType>>\n): SlatesAction => {\n let base = {\n id: a.key,\n name: a.name,\n description: a.description,\n instructions: a.instructions,\n constraints: a.constraints,\n tags: a.tags,\n metadata: a.metadata,\n\n inputSchema: toJsonSchema(a.inputSchema),\n outputSchema: toJsonSchema(a.outputSchema)\n };\n\n if (a.type == 'tool') {\n return {\n ...base,\n type: 'action.tool',\n capabilities: {}\n };\n }\n\n return {\n ...base,\n type: 'action.trigger',\n capabilities: {},\n\n invocation:\n a.source == 'polling'\n ? {\n type: 'polling',\n intervalSeconds: a.polling.intervalInSeconds ?? SlateDefaultPollingIntervalSeconds\n }\n : {\n type: 'webhook',\n autoRegistration: !!a.autoRegisterWebhook,\n autoUnregistration: !!a.autoUnregisterWebhook\n }\n };\n};\n","export class State<T> {\n #value: T;\n\n get value() {\n return this.#value;\n }\n\n get() {\n return this.#value;\n }\n\n set(value: T) {\n this.#value = value;\n }\n\n constructor(initialValue: T) {\n this.#value = initialValue;\n }\n}\n","import { badRequestError, preconditionFailedError, ServiceError } from '@lowerdeck/error';\nimport { createSlatesProviderProtoHandler, SlatesParticipant } from '@slates/proto';\nimport { Slate, SlateContext, SlateLogger, SlateLogListener } from '@slates/provider';\nimport { getAction, getActionWithType, getAuthMethod, mapAction, mapAuthMethod } from './spec';\nimport { State } from './state';\nimport { toJsonSchema, validate } from './validation';\n\nexport let createProviderHandler = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n listeners: SlateLogListener[]\n) =>\n createSlatesProviderProtoHandler(async manager => {\n let protocol = new State<string | null>(null);\n let participants = new State<SlatesParticipant[] | null>(null);\n\n let auth = new State<{ authenticationMethodId: string; output: AuthType } | null>(null);\n let config = new State<{ value: ConfigType } | null>(null);\n\n let session = new State<{ id: string; state: any } | null>(null);\n\n let logger = new SlateLogger(listeners);\n\n let getContextBasic = () => {\n let currentProtocol = protocol.get();\n let currentParticipants = participants.get();\n\n if (!currentProtocol || !currentParticipants) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Connection context has not been initialized'\n })\n );\n }\n\n return {\n protocol: currentProtocol,\n participants: currentParticipants\n };\n };\n\n let getContextFull = () => {\n let basic = getContextBasic();\n\n let currentConfig = config.get();\n let currentSession = session.get();\n let currentAuth = auth.get();\n\n if (\n !currentConfig ||\n !currentSession ||\n (!currentAuth && slate.spec.auth.authStack.length > 0)\n ) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Session context has not been initialized'\n })\n );\n }\n\n return {\n ...basic,\n config: currentConfig.value,\n session: currentSession,\n auth: currentAuth\n };\n };\n\n manager.onNotification('slates/hello', async ({ params }) => {\n protocol.set(params.protocol);\n });\n\n manager.onNotification('slates/participant.set', async ({ params }) => {\n if (!protocol.get()) {\n throw new ServiceError(\n preconditionFailedError({ message: 'Connection protocol has not been initialized' })\n );\n }\n\n participants.set(params.participants);\n });\n\n manager.onNotification('slates/auth.set', async ({ params }) => {\n getContextBasic();\n getAuthMethod(slate, params.authenticationMethodId); // validate method ID\n\n let valRes = validate(\n slate.spec.authSchema,\n params.output,\n 'auth',\n `Invalid authentication output for method ID: ${params.authenticationMethodId}`\n );\n\n auth.set({\n authenticationMethodId: params.authenticationMethodId,\n output: valRes\n });\n });\n\n manager.onNotification('slates/config.set', async ({ params }) => {\n getContextBasic();\n\n let value = validate(\n slate.spec.configSchema,\n params.config,\n 'config',\n 'Invalid configuration'\n );\n\n config.set({ value });\n });\n\n manager.onNotification('slates/session.start', async ({ params }) => {\n getContextBasic();\n\n session.set({\n id: params.sessionId,\n state: params.state\n });\n });\n\n manager.onRequest('slates/config.changed', async ({ params }) => {\n getContextBasic();\n\n let newConfig = validate(\n slate.spec.config.configSchema,\n params.newConfig,\n 'config',\n 'Invalid configuration'\n );\n\n let configChanged = slate.spec.config.handlers.configChanged;\n if (!configChanged) {\n return { success: true, config: newConfig };\n }\n\n let updatedConfig = await configChanged({\n previousConfig: params.previousConfig as ConfigType | null,\n newConfig\n });\n\n return { success: true, config: updatedConfig?.config ?? newConfig };\n });\n\n manager.onRequest('slates/config.get_default', async ({ params }) => {\n getContextBasic();\n\n let getDefaultConfig = slate.spec.config.handlers.getDefaultConfig;\n if (!getDefaultConfig) {\n return { config: null };\n }\n\n let defaultConfig = await getDefaultConfig();\n return { config: defaultConfig };\n });\n\n manager.onRequest('slates/config.schema.get', async ({ params }) => {\n getContextBasic();\n\n return { schema: toJsonSchema(slate.spec.configSchema) };\n });\n\n manager.onRequest('slates/provider.identify', async ({ params }) => {\n getContextBasic();\n\n return {\n protocol: 'slates@2026-01-01',\n provider: {\n type: 'provider',\n id: slate.spec.key,\n name: slate.spec.name,\n description: slate.spec.description,\n metadata: slate.spec.parameters.metadata\n }\n };\n });\n\n manager.onRequest('slates/auth.methods.list', async ({ params }) => {\n getContextBasic();\n\n return {\n authenticationMethods: slate.spec.auth.authStack.map(m => mapAuthMethod(slate, m))\n };\n });\n\n manager.onRequest('slates/auth.method.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n return {\n authenticationMethod: mapAuthMethod(slate, authMethod)\n };\n });\n\n manager.onRequest('slates/auth.input.get_default', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.getDefaultInput) {\n return { input: null };\n }\n\n return { input: await authMethod.getDefaultInput() };\n });\n\n manager.onRequest('slates/auth.input.changed', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.onInputChanged) {\n return { success: true, input: params.newInput };\n }\n\n let updatedInput = await authMethod.onInputChanged({\n previousInput: params.previousInput as any | null,\n newInput: params.newInput\n });\n\n return { success: true, input: updatedInput?.input ?? params.newInput };\n });\n\n manager.onRequest('slates/auth.output.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n let input = params.input;\n\n if (authMethod.inputSchema) {\n input = validate(\n authMethod.inputSchema,\n input,\n 'auth',\n `Invalid authentication input for method ID: ${params.authenticationMethodId}`\n );\n }\n\n if ('getOutput' in authMethod) {\n let outputRes = await authMethod.getOutput({ input });\n return { output: outputRes.output };\n }\n\n return { output: input as any };\n });\n\n manager.onRequest('slates/auth.authorization_callback.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleCallback' in authMethod) {\n let callbackRes = await authMethod.handleCallback({\n code: params.code,\n state: params.state,\n redirectUri: params.redirectUri,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: callbackRes.output,\n input: callbackRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization callback handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.authorization_url.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('getAuthorizationUrl' in authMethod) {\n let urlRes = await authMethod.getAuthorizationUrl({\n redirectUri: params.redirectUri,\n state: params.state,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n authorizationUrl: urlRes.url,\n input: urlRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization URL retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.profile.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (authMethod.getProfile) {\n let profileRes = await authMethod.getProfile({\n output: params.output as any,\n input: params.input,\n scopes: params.scopes\n });\n\n return {\n profile: profileRes.profile\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support profile retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.token_refresh.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleTokenRefresh' in authMethod && authMethod.handleTokenRefresh) {\n let refreshRes = await authMethod.handleTokenRefresh({\n output: params.output as any,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: refreshRes.output,\n input: refreshRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support token refresh handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/actions.list', async ({ params }) => {\n getContextBasic();\n\n return {\n actions: slate.actions.map(a => mapAction(slate, a))\n };\n });\n\n manager.onRequest('slates/action.get', async ({ params }) => {\n getContextBasic();\n let action = getAction(slate, params.actionId);\n\n return {\n action: mapAction(slate, action)\n };\n });\n\n manager.onRequest('slates/action.tool.invoke', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'tool', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid input for tool ID: ${params.actionId}`\n );\n\n let res = await action.handleInvocation(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { output: res.output, message: res.message };\n });\n\n manager.onRequest('slates/action.trigger.map_event', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid event for trigger ID: ${params.actionId}`\n );\n\n let res = await action.handleEvent(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { id: res.id, type: res.type, output: res.output };\n });\n\n manager.onRequest('slates/action.trigger.poll_events', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.pollEvents) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support polling: ${params.actionId}`\n })\n );\n }\n\n let res = await action.pollEvents(\n new SlateContext(\n ctx.config,\n { state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_handle', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.handleRequest) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook requests: ${params.actionId}`\n })\n );\n }\n\n let req = new Request(params.url, {\n method: params.method,\n headers: params.headers,\n body: params.body\n ? Uint8Array.from(atob(params.body.content), c => c.charCodeAt(0))\n : null\n });\n\n let res = await action.handleRequest(\n new SlateContext(\n ctx.config,\n { request: req, state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_register', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoRegisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-registration: ${params.actionId}`\n })\n );\n }\n\n let res = await action.autoRegisterWebhook(\n new SlateContext(\n ctx.config,\n { webhookBaseUrl: params.webhookBaseUrl },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { registrationDetails: res.registrationDetails, state: res.state };\n });\n\n manager.onRequest('slates/action.trigger.webhook_unregister', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoUnregisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-unregistration: ${params.actionId}`\n })\n );\n }\n\n await action.autoUnregisterWebhook(\n new SlateContext(\n ctx.config,\n {\n webhookBaseUrl: params.webhookBaseUrl,\n registrationDetails: params.registrationDetails,\n state: params.state\n },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return {};\n });\n });\n"],"names":["validate","schema","data","entity","message","result","safeParse","success","ServiceError","e","validationError","errors","issues","map","i","_extends","path","p","String","zodToValidationError","error","toJsonSchema","toJSONSchema","unrepresentable","override","ctx","def","zodSchema","_zod","type","jsonSchema","format","getAuthMethod","slate","authenticationMethodId","authMethod","spec","auth","authStack","find","m","key","badRequestError","mapAuthMethod","_m$inputSchema","id","name","scopes","s","scope","title","description","undefined","inputSchema","z","object","outputSchema","capabilities","getDefaultInput","enabled","handleTokenRefresh","handleChangedInput","onInputChanged","getProfile","getAction","actionId","action","actions","notFoundError","getActionWithType","mapAction","a","_a$polling$intervalIn","instructions","constraints","tags","metadata","invocation","source","intervalSeconds","polling","intervalInSeconds","SlateDefaultPollingIntervalSeconds","autoRegistration","autoRegisterWebhook","autoUnregistration","autoUnregisterWebhook","State","initialValue","Object","defineProperty","_value","writable","value","_classPrivateFieldLooseBase","_proto","prototype","_createClass","get","this","set","listeners","createSlatesProviderProtoHandler","manager","protocol","participants","config","session","logger","SlateLogger","getContextBasic","currentProtocol","currentParticipants","preconditionFailedError","getContextFull","basic","currentConfig","currentSession","currentAuth","length","onNotification","_ref","params","Promise","resolve","reject","_ref2","_ref3","valRes","authSchema","output","_ref4","configSchema","_ref5","sessionId","state","onRequest","_ref6","newConfig","configChanged","handlers","previousConfig","then","updatedConfig","_updatedConfig$config","_ref7","getDefaultConfig","defaultConfig","_ref8","_ref9","provider","parameters","_ref0","authenticationMethods","_ref1","authenticationMethod","_ref10","_authMethod$getDefaul","input","_ref11","previousInput","newInput","updatedInput","_updatedInput$input","_ref12","_exit","_temp2","_result","_temp","getOutput","outputRes","_output","_ref13","_temp4","_exit2","_result2","_temp3","handleCallback","code","redirectUri","clientId","clientSecret","callbackRes","_output$input","_ref14","_exit3","_temp6","_result3","_temp5","getAuthorizationUrl","urlRes","_authorizationUrl$inp","authorizationUrl","url","_ref15","_temp8","_exit4","_result4","_temp7","profileRes","profile","_ref16","_exit5","_temp0","_result5","_temp9","refreshRes","_ref17","_ref18","_ref19","_ctx$auth","handleInvocation","SlateContext","res","_ref20","_ctx$auth2","handleEvent","_ref21","_ctx$auth3","pollEvents","inputs","updatedState","_ref22","_ctx$auth4","handleRequest","req","Request","method","headers","body","Uint8Array","from","atob","content","c","charCodeAt","request","_ref23","_ctx$auth5","webhookBaseUrl","registrationDetails","_ref24","_ctx$auth6"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAA6B,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKtF,eAAO,IAAI,qBAAqB,GAAI,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EAC5E,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAClC,WAAW,gBAAgB,EAAE;;CAsf3B,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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.js","sources":["../src/validation.ts","../src/spec.ts","../src/state.ts","../src/index.ts"],"sourcesContent":["import { ServiceError, validationError } from '@lowerdeck/error';\nimport z from 'zod';\n\nexport let zodToValidationError = (entity: string, message: string, e: z.ZodError) => {\n return validationError({\n message,\n entity,\n errors: e.issues.map(i => ({\n ...i,\n path: i.path.map(p => String(p))\n }))\n });\n};\n\nexport let validate = <T>(\n schema: z.ZodType<T>,\n data: unknown,\n entity: string,\n message: string\n): T => {\n let result = schema.safeParse(data);\n if (!result.success) {\n throw new ServiceError(zodToValidationError(entity, message, result.error));\n }\n\n return result.data;\n};\n\nexport let toJsonSchema = (schema: z.ZodType<any>) =>\n schema.toJSONSchema({\n unrepresentable: 'any',\n override: ctx => {\n let def = ctx.zodSchema._zod.def;\n\n if (def.type === 'date') {\n ctx.jsonSchema.type = 'string';\n ctx.jsonSchema.format = 'date-time';\n }\n if (def.type === 'bigint') {\n ctx.jsonSchema.type = 'number';\n }\n }\n });\n","import { badRequestError, notFoundError, ServiceError } from '@lowerdeck/error';\nimport { SlateAuthenticationMethod, SlatesAction } from '@slates/proto';\nimport { Slate, SlateDefaultPollingIntervalSeconds } from '@slates/provider';\nimport z from 'zod';\nimport { toJsonSchema } from './validation';\n\nexport let getAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n authenticationMethodId: string\n) => {\n let authMethod = slate.spec.auth.authStack.find(m => m.key == authenticationMethodId);\n if (!authMethod) {\n throw new ServiceError(\n badRequestError({\n message: `Invalid authentication method ID: ${authenticationMethodId}`\n })\n );\n }\n\n return authMethod;\n};\n\nexport let mapAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n m: ReturnType<typeof getAuthMethod<ConfigType, AuthType>>\n): SlateAuthenticationMethod => ({\n id: m.key,\n name: m.name,\n type: m.type,\n\n scopes:\n 'scopes' in m\n ? m.scopes.map(s => ({\n id: s.scope,\n title: s.title,\n description: s.description\n }))\n : undefined,\n\n inputSchema: toJsonSchema(m.inputSchema ?? z.object({})),\n outputSchema: toJsonSchema(slate.spec.auth.outputSchema),\n\n capabilities: {\n getDefaultInput: { enabled: !!('getDefaultInput' in m && m.getDefaultInput) },\n handleTokenRefresh: {\n enabled: !!('handleTokenRefresh' in m && m.handleTokenRefresh)\n },\n handleChangedInput: {\n enabled: !!m.onInputChanged\n },\n getProfile: { enabled: !!m.getProfile }\n }\n});\n\nexport let getAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n actionId: string\n) => {\n let action = slate.actions.find(m => m.key == actionId);\n if (!action) {\n throw new ServiceError(notFoundError(`action`, actionId));\n }\n\n return action;\n};\n\nexport let getActionWithType = <\n Type extends 'tool' | 'trigger',\n ConfigType extends {},\n AuthType extends {}\n>(\n slate: Slate<ConfigType, AuthType>,\n type: Type,\n actionId: string\n): ReturnType<typeof getAction<ConfigType, AuthType>> & { type: Type } => {\n let action = getAction(slate, actionId);\n if (action.type != type) {\n throw new ServiceError(\n badRequestError({\n message: `Action with ID ${actionId} is not of type ${type}`\n })\n );\n }\n\n return action as any;\n};\n\nexport let mapAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n a: ReturnType<typeof getAction<ConfigType, AuthType>>\n): SlatesAction => {\n let base = {\n id: a.key,\n name: a.name,\n description: a.description,\n instructions: a.instructions,\n constraints: a.constraints,\n tags: a.tags,\n metadata: a.metadata,\n\n inputSchema: toJsonSchema(a.inputSchema),\n outputSchema: toJsonSchema(a.outputSchema)\n };\n\n if (a.type == 'tool') {\n return {\n ...base,\n type: 'action.tool',\n capabilities: {}\n };\n }\n\n return {\n ...base,\n type: 'action.trigger',\n capabilities: {},\n\n invocation:\n a.source == 'polling'\n ? {\n type: 'polling',\n intervalSeconds: a.polling.intervalInSeconds ?? SlateDefaultPollingIntervalSeconds\n }\n : {\n type: 'webhook',\n autoRegistration: !!a.autoRegisterWebhook,\n autoUnregistration: !!a.autoUnregisterWebhook\n }\n };\n};\n","export class State<T> {\n #value: T;\n\n get value() {\n return this.#value;\n }\n\n get() {\n return this.#value;\n }\n\n set(value: T) {\n this.#value = value;\n }\n\n constructor(initialValue: T) {\n this.#value = initialValue;\n }\n}\n","import { badRequestError, preconditionFailedError, ServiceError } from '@lowerdeck/error';\nimport { createSlatesProviderProtoHandler, SlatesParticipant } from '@slates/proto';\nimport { Slate, SlateContext, SlateLogger, SlateLogListener } from '@slates/provider';\nimport { getAction, getActionWithType, getAuthMethod, mapAction, mapAuthMethod } from './spec';\nimport { State } from './state';\nimport { toJsonSchema, validate } from './validation';\n\nexport let createProviderHandler = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n listeners: SlateLogListener[]\n) =>\n createSlatesProviderProtoHandler(async manager => {\n let protocol = new State<string | null>(null);\n let participants = new State<SlatesParticipant[] | null>(null);\n\n let auth = new State<{ authenticationMethodId: string; output: AuthType } | null>(null);\n let config = new State<{ value: ConfigType } | null>(null);\n\n let session = new State<{ id: string; state: any } | null>(null);\n\n let logger = new SlateLogger(listeners);\n\n let getContextBasic = () => {\n let currentProtocol = protocol.get();\n let currentParticipants = participants.get();\n\n if (!currentProtocol || !currentParticipants) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Connection context has not been initialized'\n })\n );\n }\n\n return {\n protocol: currentProtocol,\n participants: currentParticipants\n };\n };\n\n let getContextFull = () => {\n let basic = getContextBasic();\n\n let currentConfig = config.get();\n let currentSession = session.get();\n let currentAuth = auth.get();\n\n if (\n !currentConfig ||\n !currentSession ||\n (!currentAuth && slate.spec.auth.authStack.length > 0)\n ) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Session context has not been initialized'\n })\n );\n }\n\n return {\n ...basic,\n config: currentConfig.value,\n session: currentSession,\n auth: currentAuth\n };\n };\n\n manager.onNotification('slates/hello', async ({ params }) => {\n protocol.set(params.protocol);\n });\n\n manager.onNotification('slates/participant.set', async ({ params }) => {\n if (!protocol.get()) {\n throw new ServiceError(\n preconditionFailedError({ message: 'Connection protocol has not been initialized' })\n );\n }\n\n participants.set(params.participants);\n });\n\n manager.onNotification('slates/auth.set', async ({ params }) => {\n getContextBasic();\n getAuthMethod(slate, params.authenticationMethodId); // validate method ID\n\n let valRes = validate(\n slate.spec.authSchema,\n params.output,\n 'auth',\n `Invalid authentication output for method ID: ${params.authenticationMethodId}`\n );\n\n auth.set({\n authenticationMethodId: params.authenticationMethodId,\n output: valRes\n });\n });\n\n manager.onNotification('slates/config.set', async ({ params }) => {\n getContextBasic();\n\n let value = validate(\n slate.spec.configSchema,\n params.config,\n 'config',\n 'Invalid configuration'\n );\n\n config.set({ value });\n });\n\n manager.onNotification('slates/session.start', async ({ params }) => {\n getContextBasic();\n\n session.set({\n id: params.sessionId,\n state: params.state\n });\n });\n\n manager.onRequest('slates/config.changed', async ({ params }) => {\n getContextBasic();\n\n let newConfig = validate(\n slate.spec.config.configSchema,\n params.newConfig,\n 'config',\n 'Invalid configuration'\n );\n\n let configChanged = slate.spec.config.handlers.configChanged;\n if (!configChanged) {\n return { success: true, config: newConfig };\n }\n\n let updatedConfig = await configChanged({\n previousConfig: params.previousConfig as ConfigType | null,\n newConfig\n });\n\n return { success: true, config: updatedConfig?.config ?? newConfig };\n });\n\n manager.onRequest('slates/config.get_default', async ({ params }) => {\n getContextBasic();\n\n let getDefaultConfig = slate.spec.config.handlers.getDefaultConfig;\n if (!getDefaultConfig) {\n return { config: null };\n }\n\n let defaultConfig = await getDefaultConfig();\n return { config: defaultConfig };\n });\n\n manager.onRequest('slates/config.schema.get', async ({ params }) => {\n getContextBasic();\n\n return { schema: toJsonSchema(slate.spec.configSchema) };\n });\n\n manager.onRequest('slates/provider.identify', async ({ params }) => {\n getContextBasic();\n\n return {\n protocol: 'slates@2026-01-01',\n provider: {\n type: 'provider',\n id: slate.spec.key,\n name: slate.spec.name,\n description: slate.spec.description,\n metadata: slate.spec.parameters.metadata\n }\n };\n });\n\n manager.onRequest('slates/auth.methods.list', async ({ params }) => {\n getContextBasic();\n\n return {\n authenticationMethods: slate.spec.auth.authStack.map(m => mapAuthMethod(slate, m))\n };\n });\n\n manager.onRequest('slates/auth.method.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n return {\n authenticationMethod: mapAuthMethod(slate, authMethod)\n };\n });\n\n manager.onRequest('slates/auth.input.get_default', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.getDefaultInput) {\n return { input: null };\n }\n\n return { input: await authMethod.getDefaultInput() };\n });\n\n manager.onRequest('slates/auth.input.changed', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.onInputChanged) {\n return { success: true, input: params.newInput };\n }\n\n let updatedInput = await authMethod.onInputChanged({\n previousInput: params.previousInput as any | null,\n newInput: params.newInput\n });\n\n return { success: true, input: updatedInput?.input ?? params.newInput };\n });\n\n manager.onRequest('slates/auth.output.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n let input = params.input;\n\n if (authMethod.inputSchema) {\n input = validate(\n authMethod.inputSchema,\n input,\n 'auth',\n `Invalid authentication input for method ID: ${params.authenticationMethodId}`\n );\n }\n\n if ('getOutput' in authMethod) {\n let outputRes = await authMethod.getOutput({ input });\n return { output: outputRes.output };\n }\n\n return { output: input as any };\n });\n\n manager.onRequest('slates/auth.authorization_callback.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleCallback' in authMethod) {\n let callbackRes = await authMethod.handleCallback({\n code: params.code,\n state: params.state,\n redirectUri: params.redirectUri,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: callbackRes.output,\n input: callbackRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization callback handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.authorization_url.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('getAuthorizationUrl' in authMethod) {\n let urlRes = await authMethod.getAuthorizationUrl({\n redirectUri: params.redirectUri,\n state: params.state,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n authorizationUrl: urlRes.url,\n input: urlRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization URL retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.profile.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (authMethod.getProfile) {\n let profileRes = await authMethod.getProfile({\n output: params.output as any,\n input: params.input,\n scopes: params.scopes\n });\n\n return {\n profile: profileRes.profile\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support profile retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.token_refresh.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleTokenRefresh' in authMethod && authMethod.handleTokenRefresh) {\n let refreshRes = await authMethod.handleTokenRefresh({\n output: params.output as any,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: refreshRes.output,\n input: refreshRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support token refresh handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/actions.list', async ({ params }) => {\n getContextBasic();\n\n return {\n actions: slate.actions.map(a => mapAction(slate, a))\n };\n });\n\n manager.onRequest('slates/action.get', async ({ params }) => {\n getContextBasic();\n let action = getAction(slate, params.actionId);\n\n return {\n action: mapAction(slate, action)\n };\n });\n\n manager.onRequest('slates/action.tool.invoke', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'tool', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid input for tool ID: ${params.actionId}`\n );\n\n let res = await action.handleInvocation(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { output: res.output, message: res.message };\n });\n\n manager.onRequest('slates/action.trigger.map_event', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid event for trigger ID: ${params.actionId}`\n );\n\n let res = await action.handleEvent(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { id: res.id, type: res.type, output: res.output };\n });\n\n manager.onRequest('slates/action.trigger.poll_events', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.pollEvents) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support polling: ${params.actionId}`\n })\n );\n }\n\n let res = await action.pollEvents(\n new SlateContext(\n ctx.config,\n { state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_handle', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.handleRequest) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook requests: ${params.actionId}`\n })\n );\n }\n\n let req = new Request(params.url, {\n method: params.method,\n headers: params.headers,\n body: params.body\n ? Uint8Array.from(atob(params.body.content), c => c.charCodeAt(0))\n : null\n });\n\n let res = await action.handleRequest(\n new SlateContext(\n ctx.config,\n { request: req, state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_register', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoRegisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-registration: ${params.actionId}`\n })\n );\n }\n\n let res = await action.autoRegisterWebhook(\n new SlateContext(\n ctx.config,\n { webhookBaseUrl: params.webhookBaseUrl },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { registrationDetails: res.registrationDetails, state: res.state };\n });\n\n manager.onRequest('slates/action.trigger.webhook_unregister', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoUnregisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-unregistration: ${params.actionId}`\n })\n );\n }\n\n await action.autoUnregisterWebhook(\n new SlateContext(\n ctx.config,\n {\n webhookBaseUrl: params.webhookBaseUrl,\n registrationDetails: params.registrationDetails,\n state: params.state\n },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return {};\n });\n });\n"],"names":["validate","schema","data","entity","message","result","safeParse","success","ServiceError","e","validationError","errors","issues","map","i","_extends","path","p","String","zodToValidationError","error","toJsonSchema","toJSONSchema","unrepresentable","override","ctx","def","zodSchema","_zod","type","jsonSchema","format","getAuthMethod","slate","authenticationMethodId","authMethod","spec","auth","authStack","find","m","key","badRequestError","mapAuthMethod","_m$inputSchema","id","name","scopes","s","scope","title","description","undefined","inputSchema","z","object","outputSchema","capabilities","getDefaultInput","enabled","handleTokenRefresh","handleChangedInput","onInputChanged","getProfile","getAction","actionId","action","actions","notFoundError","getActionWithType","mapAction","a","_a$polling$intervalIn","instructions","constraints","tags","metadata","invocation","source","intervalSeconds","polling","intervalInSeconds","SlateDefaultPollingIntervalSeconds","autoRegistration","autoRegisterWebhook","autoUnregistration","autoUnregisterWebhook","State","initialValue","Object","defineProperty","_value","writable","value","_classPrivateFieldLooseBase","_proto","prototype","_createClass","get","this","set","createProviderHandler","listeners","createSlatesProviderProtoHandler","manager","protocol","participants","config","session","logger","SlateLogger","getContextBasic","currentProtocol","currentParticipants","preconditionFailedError","getContextFull","basic","currentConfig","currentSession","currentAuth","length","onNotification","_ref","params","Promise","resolve","reject","_ref2","_ref3","valRes","authSchema","output","_ref4","configSchema","_ref5","sessionId","state","onRequest","_ref6","newConfig","configChanged","handlers","previousConfig","then","updatedConfig","_updatedConfig$config","_ref7","getDefaultConfig","defaultConfig","_ref8","_ref9","provider","parameters","_ref0","authenticationMethods","_ref1","authenticationMethod","_ref10","_authMethod$getDefaul","input","_ref11","previousInput","newInput","updatedInput","_updatedInput$input","_ref12","_exit","_temp2","_result","_temp","getOutput","outputRes","_output","_ref13","_temp4","_exit2","_result2","_temp3","handleCallback","code","redirectUri","clientId","clientSecret","callbackRes","_output$input","_ref14","_exit3","_temp6","_result3","_temp5","getAuthorizationUrl","urlRes","_authorizationUrl$inp","authorizationUrl","url","_ref15","_temp8","_exit4","_result4","_temp7","profileRes","profile","_ref16","_exit5","_temp0","_result5","_temp9","refreshRes","_ref17","_ref18","_ref19","_ctx$auth","handleInvocation","SlateContext","res","_ref20","_ctx$auth2","handleEvent","_ref21","_ctx$auth3","pollEvents","inputs","updatedState","_ref22","_ctx$auth4","handleRequest","req","Request","method","headers","body","Uint8Array","from","atob","content","c","charCodeAt","request","_ref23","_ctx$auth5","webhookBaseUrl","registrationDetails","_ref24","_ctx$auth6"],"mappings":"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"}
package/dist/index.umd.js DELETED
@@ -1,2 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@lowerdeck/error"),require("@slates/proto"),require("@slates/provider"),require("zod")):"function"==typeof define&&define.amd?define(["exports","@lowerdeck/error","@slates/proto","@slates/provider","zod"],t):t((e||self).providerHandler={},e.error,e.proto,e.provider,e.zod)}(this,function(e,t,r,n,o){function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=/*#__PURE__*/i(o);function u(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var s=0;function c(e){return"__private_"+s+++"_"+e}function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l.apply(null,arguments)}function p(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var h=function(e,r,n,o){var i=e.safeParse(r);if(!i.success)throw new t.ServiceError(function(e,r,n){return t.validationError({message:r,entity:e,errors:n.issues.map(function(e){return l({},e,{path:e.path.map(function(e){return String(e)})})})})}(n,o,i.error));return i.data},d=function(e){return e.toJSONSchema({unrepresentable:"any",override:function(e){var t=e.zodSchema._zod.def;"date"===t.type&&(e.jsonSchema.type="string",e.jsonSchema.format="date-time"),"bigint"===t.type&&(e.jsonSchema.type="number")}})},f=function(e,r){var n=e.spec.auth.authStack.find(function(e){return e.key==r});if(!n)throw new t.ServiceError(t.badRequestError({message:"Invalid authentication method ID: "+r}));return n},v=function(e,t){var r;return{id:t.key,name:t.name,type:t.type,scopes:"scopes"in t?t.scopes.map(function(e){return{id:e.scope,title:e.title,description:e.description}}):void 0,inputSchema:d(null!=(r=t.inputSchema)?r:a.default.object({})),outputSchema:d(e.spec.auth.outputSchema),capabilities:{getDefaultInput:{enabled:!(!("getDefaultInput"in t)||!t.getDefaultInput)},handleTokenRefresh:{enabled:!(!("handleTokenRefresh"in t)||!t.handleTokenRefresh)},handleChangedInput:{enabled:!!t.onInputChanged},getProfile:{enabled:!!t.getProfile}}}},m=function(e,r){var n=e.actions.find(function(e){return e.key==r});if(!n)throw new t.ServiceError(t.notFoundError("action",r));return n},g=function(e,r,n){var o=m(e,n);if(o.type!=r)throw new t.ServiceError(t.badRequestError({message:"Action with ID "+n+" is not of type "+r}));return o},P=function(e,t){var r;return l({},{id:t.key,name:t.name,description:t.description,instructions:t.instructions,constraints:t.constraints,tags:t.tags,metadata:t.metadata,inputSchema:d(t.inputSchema),outputSchema:d(t.outputSchema)},"tool"==t.type?{type:"action.tool",capabilities:{}}:{type:"action.trigger",capabilities:{},invocation:"polling"==t.source?{type:"polling",intervalSeconds:null!=(r=t.polling.intervalInSeconds)?r:n.SlateDefaultPollingIntervalSeconds}:{type:"webhook",autoRegistration:!!t.autoRegisterWebhook,autoUnregistration:!!t.autoUnregisterWebhook}})},y=/*#__PURE__*/c("value"),w=/*#__PURE__*/function(){function e(e){Object.defineProperty(this,y,{writable:!0,value:void 0}),u(this,y)[y]=e}var t,r,n=e.prototype;return n.get=function(){return u(this,y)[y]},n.set=function(e){u(this,y)[y]=e},t=e,(r=[{key:"value",get:function(){return u(this,y)[y]}}])&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t}();e.createProviderHandler=function(e,o){return r.createSlatesProviderProtoHandler(function(r){try{var i=new w(null),a=new w(null),u=new w(null),s=new w(null),c=new w(null),p=new n.SlateLogger(o),y=function(){var e=i.get(),r=a.get();if(!e||!r)throw new t.ServiceError(t.preconditionFailedError({message:"Connection context has not been initialized"}));return{protocol:e,participants:r}},I=function(){var r=y(),n=s.get(),o=c.get(),i=u.get();if(!n||!o||!i&&e.spec.auth.authStack.length>0)throw new t.ServiceError(t.preconditionFailedError({message:"Session context has not been initialized"}));return l({},r,{config:n.value,session:o,auth:i})};return r.onNotification("slates/hello",function(e){var t=e.params;try{return i.set(t.protocol),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/participant.set",function(e){var r=e.params;try{if(!i.get())throw new t.ServiceError(t.preconditionFailedError({message:"Connection protocol has not been initialized"}));return a.set(r.participants),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/auth.set",function(t){var r=t.params;try{y(),f(e,r.authenticationMethodId);var n=h(e.spec.authSchema,r.output,"auth","Invalid authentication output for method ID: "+r.authenticationMethodId);return u.set({authenticationMethodId:r.authenticationMethodId,output:n}),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/config.set",function(t){var r=t.params;try{y();var n=h(e.spec.configSchema,r.config,"config","Invalid configuration");return s.set({value:n}),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/session.start",function(e){var t=e.params;try{return y(),c.set({id:t.sessionId,state:t.state}),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onRequest("slates/config.changed",function(t){var r=t.params;try{y();var n=h(e.spec.config.configSchema,r.newConfig,"config","Invalid configuration"),o=e.spec.config.handlers.configChanged;return o?Promise.resolve(o({previousConfig:r.previousConfig,newConfig:n})).then(function(e){var t;return{success:!0,config:null!=(t=null==e?void 0:e.config)?t:n}}):Promise.resolve({success:!0,config:n})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/config.get_default",function(t){try{y();var r=e.spec.config.handlers.getDefaultConfig;return r?Promise.resolve(r()).then(function(e){return{config:e}}):Promise.resolve({config:null})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/config.schema.get",function(t){try{return y(),Promise.resolve({schema:d(e.spec.configSchema)})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/provider.identify",function(t){try{return y(),Promise.resolve({protocol:"slates@2026-01-01",provider:{type:"provider",id:e.spec.key,name:e.spec.name,description:e.spec.description,metadata:e.spec.parameters.metadata}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.methods.list",function(t){try{return y(),Promise.resolve({authenticationMethods:e.spec.auth.authStack.map(function(t){return v(e,t)})})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.method.get",function(t){var r=t.params;try{y();var n=f(e,r.authenticationMethodId);return Promise.resolve({authenticationMethod:v(e,n)})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.input.get_default",function(t){var r=t.params;try{y();var n=f(e,r.authenticationMethodId);return n.getDefaultInput?Promise.resolve(n.getDefaultInput()).then(function(e){return{input:e}}):Promise.resolve({input:null})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.input.changed",function(t){var r=t.params;try{y();var n=f(e,r.authenticationMethodId);return n.onInputChanged?Promise.resolve(n.onInputChanged({previousInput:r.previousInput,newInput:r.newInput})).then(function(e){var t;return{success:!0,input:null!=(t=null==e?void 0:e.input)?t:r.newInput}}):Promise.resolve({success:!0,input:r.newInput})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.output.get",function(t){var r=t.params;try{var n,o=function(e){return n?e:{output:a}};y();var i=f(e,r.authenticationMethodId),a=r.input;i.inputSchema&&(a=h(i.inputSchema,a,"auth","Invalid authentication input for method ID: "+r.authenticationMethodId));var u=function(){if("getOutput"in i)return Promise.resolve(i.getOutput({input:a})).then(function(e){return n=1,{output:e.output}})}();return Promise.resolve(u&&u.then?u.then(o):o(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.authorization_callback.handle",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support authorization callback handling: "+n.authenticationMethodId}))};y();var a=f(e,n.authenticationMethodId),u=function(){if("handleCallback"in a)return Promise.resolve(a.handleCallback({code:n.code,state:n.state,redirectUri:n.redirectUri,input:n.input,clientId:n.clientId,clientSecret:n.clientSecret,scopes:n.scopes})).then(function(e){return o=1,{output:e.output,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.authorization_url.get",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support authorization URL retrieval: "+n.authenticationMethodId}))};y();var a=f(e,n.authenticationMethodId),u=function(){if("getAuthorizationUrl"in a)return Promise.resolve(a.getAuthorizationUrl({redirectUri:n.redirectUri,state:n.state,input:n.input,clientId:n.clientId,clientSecret:n.clientSecret,scopes:n.scopes})).then(function(e){return o=1,{authorizationUrl:e.url,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.profile.get",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support profile retrieval: "+n.authenticationMethodId}))};y();var a=f(e,n.authenticationMethodId),u=function(){if(a.getProfile)return Promise.resolve(a.getProfile({output:n.output,input:n.input,scopes:n.scopes})).then(function(e){return o=1,{profile:e.profile}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.token_refresh.handle",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support token refresh handling: "+n.authenticationMethodId}))};y();var a=f(e,n.authenticationMethodId),u=function(){if("handleTokenRefresh"in a&&a.handleTokenRefresh)return Promise.resolve(a.handleTokenRefresh({output:n.output,input:n.input,clientId:n.clientId,clientSecret:n.clientSecret,scopes:n.scopes})).then(function(e){return o=1,{output:e.output,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/actions.list",function(t){try{return y(),Promise.resolve({actions:e.actions.map(function(e){return P(0,e)})})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.get",function(t){var r=t.params;try{y();var n=m(e,r.actionId);return Promise.resolve({action:P(0,n)})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.tool.invoke",function(t){var r=t.params;try{var o,i=I(),a=g(e,"tool",r.actionId),u=h(a.inputSchema,r.input,"input","Invalid input for tool ID: "+r.actionId);return Promise.resolve(a.handleInvocation(new n.SlateContext(i.config,u,null==(o=i.auth)?void 0:o.output,e.spec,p))).then(function(e){return{output:e.output,message:e.message}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.map_event",function(t){var r=t.params;try{var o,i=I(),a=g(e,"trigger",r.actionId),u=h(a.inputSchema,r.input,"input","Invalid event for trigger ID: "+r.actionId);return Promise.resolve(a.handleEvent(new n.SlateContext(i.config,u,null==(o=i.auth)?void 0:o.output,e.spec,p))).then(function(e){return{id:e.id,type:e.type,output:e.output}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.poll_events",function(r){var o=r.params;try{var i,a=I(),u=g(e,"trigger",o.actionId);if(!u.pollEvents)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support polling: "+o.actionId}));return Promise.resolve(u.pollEvents(new n.SlateContext(a.config,{state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(e){return{inputs:e.inputs,updatedState:e.updatedState}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.webhook_handle",function(r){var o=r.params;try{var i,a=I(),u=g(e,"trigger",o.actionId);if(!u.handleRequest)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support webhook requests: "+o.actionId}));var s=new Request(o.url,{method:o.method,headers:o.headers,body:o.body?Uint8Array.from(atob(o.body.content),function(e){return e.charCodeAt(0)}):null});return Promise.resolve(u.handleRequest(new n.SlateContext(a.config,{request:s,state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(e){return{inputs:e.inputs,updatedState:e.updatedState}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.webhook_register",function(r){var o=r.params;try{var i,a=I(),u=g(e,"trigger",o.actionId);if(!u.autoRegisterWebhook)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support webhook auto-registration: "+o.actionId}));return Promise.resolve(u.autoRegisterWebhook(new n.SlateContext(a.config,{webhookBaseUrl:o.webhookBaseUrl},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(e){return{registrationDetails:e.registrationDetails,state:e.state}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.webhook_unregister",function(r){var o=r.params;try{var i,a=I(),u=g(e,"trigger",o.actionId);if(!u.autoUnregisterWebhook)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support webhook auto-unregistration: "+o.actionId}));return Promise.resolve(u.autoUnregisterWebhook(new n.SlateContext(a.config,{webhookBaseUrl:o.webhookBaseUrl,registrationDetails:o.registrationDetails,state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(){return{}})}catch(e){return Promise.reject(e)}}),Promise.resolve()}catch(e){return Promise.reject(e)}})}});
2
- //# sourceMappingURL=index.umd.js.map