@channel.io/app-sdk-core 0.3.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/extensions/apikey.d.ts +94 -113
  2. package/dist/extensions/apikey.d.ts.map +1 -1
  3. package/dist/extensions/apikey.js +26 -25
  4. package/dist/extensions/apikey.js.map +1 -1
  5. package/dist/extensions/command.d.ts +11 -22
  6. package/dist/extensions/command.d.ts.map +1 -1
  7. package/dist/extensions/command.js +10 -18
  8. package/dist/extensions/command.js.map +1 -1
  9. package/dist/extensions/index.d.ts +2 -2
  10. package/dist/extensions/index.d.ts.map +1 -1
  11. package/dist/extensions/index.js +2 -2
  12. package/dist/extensions/index.js.map +1 -1
  13. package/dist/extensions/interfaces/alftask.d.ts +2 -2
  14. package/dist/extensions/interfaces/alftask.d.ts.map +1 -1
  15. package/dist/extensions/interfaces/apikey.d.ts +23 -33
  16. package/dist/extensions/interfaces/apikey.d.ts.map +1 -1
  17. package/dist/extensions/interfaces/apikey.js +2 -2
  18. package/dist/extensions/interfaces/apikey.js.map +1 -1
  19. package/dist/extensions/interfaces/calendar.d.ts +7 -7
  20. package/dist/extensions/interfaces/calendar.d.ts.map +1 -1
  21. package/dist/extensions/interfaces/calendar.js.map +1 -1
  22. package/dist/extensions/interfaces/command.d.ts +11 -8
  23. package/dist/extensions/interfaces/command.d.ts.map +1 -1
  24. package/dist/extensions/interfaces/command.js.map +1 -1
  25. package/dist/extensions/interfaces/customtab.d.ts +3 -3
  26. package/dist/extensions/interfaces/customtab.d.ts.map +1 -1
  27. package/dist/extensions/interfaces/oauth.d.ts +5 -18
  28. package/dist/extensions/interfaces/oauth.d.ts.map +1 -1
  29. package/dist/extensions/interfaces/oauth.js.map +1 -1
  30. package/dist/extensions/interfaces/order.d.ts +10 -11
  31. package/dist/extensions/interfaces/order.d.ts.map +1 -1
  32. package/dist/extensions/interfaces/order.js.map +1 -1
  33. package/dist/extensions/interfaces/widget.d.ts +3 -3
  34. package/dist/extensions/interfaces/widget.d.ts.map +1 -1
  35. package/dist/types/context.d.ts +28 -15
  36. package/dist/types/context.d.ts.map +1 -1
  37. package/package.json +1 -1
@@ -1,160 +1,141 @@
1
1
  import { z } from "zod";
2
- /**
3
- * API Key field type
4
- */
5
- export declare const ApiKeyFieldType: z.ZodEnum<["text", "password", "select"]>;
6
- export type ApiKeyFieldType = z.infer<typeof ApiKeyFieldType>;
7
- /**
8
- * API Key field option (for select type)
9
- */
10
- export declare const ApiKeyFieldOptionSchema: z.ZodObject<{
11
- label: z.ZodString;
12
- value: z.ZodString;
13
- }, "strip", z.ZodTypeAny, {
14
- value: string;
15
- label: string;
16
- }, {
17
- value: string;
18
- label: string;
19
- }>;
20
- export type ApiKeyFieldOption = z.infer<typeof ApiKeyFieldOptionSchema>;
21
2
  /**
22
3
  * API Key field schema
23
4
  */
24
5
  export declare const ApiKeyFieldSchema: z.ZodObject<{
25
6
  name: z.ZodString;
26
- label: z.ZodString;
27
- type: z.ZodEnum<["text", "password", "select"]>;
28
- required: z.ZodOptional<z.ZodBoolean>;
29
- placeholder: z.ZodOptional<z.ZodString>;
7
+ displayName: z.ZodString;
30
8
  description: z.ZodOptional<z.ZodString>;
31
- options: z.ZodOptional<z.ZodArray<z.ZodObject<{
32
- label: z.ZodString;
33
- value: z.ZodString;
34
- }, "strip", z.ZodTypeAny, {
35
- value: string;
36
- label: string;
37
- }, {
38
- value: string;
39
- label: string;
40
- }>, "many">>;
9
+ required: z.ZodBoolean;
10
+ sensitive: z.ZodBoolean;
11
+ maskType: z.ZodOptional<z.ZodString>;
12
+ placeholder: z.ZodOptional<z.ZodString>;
13
+ validationRegex: z.ZodOptional<z.ZodString>;
41
14
  }, "strip", z.ZodTypeAny, {
42
- type: "text" | "password" | "select";
43
15
  name: string;
44
- label: string;
45
- options?: {
46
- value: string;
47
- label: string;
48
- }[] | undefined;
49
- required?: boolean | undefined;
50
- placeholder?: string | undefined;
16
+ displayName: string;
17
+ required: boolean;
18
+ sensitive: boolean;
51
19
  description?: string | undefined;
20
+ maskType?: string | undefined;
21
+ placeholder?: string | undefined;
22
+ validationRegex?: string | undefined;
52
23
  }, {
53
- type: "text" | "password" | "select";
54
24
  name: string;
55
- label: string;
56
- options?: {
57
- value: string;
58
- label: string;
59
- }[] | undefined;
60
- required?: boolean | undefined;
61
- placeholder?: string | undefined;
25
+ displayName: string;
26
+ required: boolean;
27
+ sensitive: boolean;
62
28
  description?: string | undefined;
29
+ maskType?: string | undefined;
30
+ placeholder?: string | undefined;
31
+ validationRegex?: string | undefined;
63
32
  }>;
64
33
  export type ApiKeyField = z.infer<typeof ApiKeyFieldSchema>;
65
34
  /**
66
- * API Key configuration schema
35
+ * Auth scope for API Key extension
67
36
  */
68
- export declare const ApiKeyConfigSchema: z.ZodObject<{
37
+ export declare const ApiKeyAuthScope: z.ZodEnum<["channel", "manager"]>;
38
+ export type ApiKeyAuthScope = z.infer<typeof ApiKeyAuthScope>;
39
+ /**
40
+ * Output schema for extension.apikey.metadata.getAuthConfig
41
+ */
42
+ export declare const GetAuthConfigOutputSchema: z.ZodObject<{
43
+ authType: z.ZodLiteral<"apiKey">;
44
+ authScope: z.ZodEnum<["channel", "manager"]>;
69
45
  fields: z.ZodArray<z.ZodObject<{
70
46
  name: z.ZodString;
71
- label: z.ZodString;
72
- type: z.ZodEnum<["text", "password", "select"]>;
73
- required: z.ZodOptional<z.ZodBoolean>;
74
- placeholder: z.ZodOptional<z.ZodString>;
47
+ displayName: z.ZodString;
75
48
  description: z.ZodOptional<z.ZodString>;
76
- options: z.ZodOptional<z.ZodArray<z.ZodObject<{
77
- label: z.ZodString;
78
- value: z.ZodString;
79
- }, "strip", z.ZodTypeAny, {
80
- value: string;
81
- label: string;
82
- }, {
83
- value: string;
84
- label: string;
85
- }>, "many">>;
49
+ required: z.ZodBoolean;
50
+ sensitive: z.ZodBoolean;
51
+ maskType: z.ZodOptional<z.ZodString>;
52
+ placeholder: z.ZodOptional<z.ZodString>;
53
+ validationRegex: z.ZodOptional<z.ZodString>;
86
54
  }, "strip", z.ZodTypeAny, {
87
- type: "text" | "password" | "select";
88
55
  name: string;
89
- label: string;
90
- options?: {
91
- value: string;
92
- label: string;
93
- }[] | undefined;
94
- required?: boolean | undefined;
95
- placeholder?: string | undefined;
56
+ displayName: string;
57
+ required: boolean;
58
+ sensitive: boolean;
96
59
  description?: string | undefined;
60
+ maskType?: string | undefined;
61
+ placeholder?: string | undefined;
62
+ validationRegex?: string | undefined;
97
63
  }, {
98
- type: "text" | "password" | "select";
99
64
  name: string;
100
- label: string;
101
- options?: {
102
- value: string;
103
- label: string;
104
- }[] | undefined;
105
- required?: boolean | undefined;
106
- placeholder?: string | undefined;
65
+ displayName: string;
66
+ required: boolean;
67
+ sensitive: boolean;
107
68
  description?: string | undefined;
69
+ maskType?: string | undefined;
70
+ placeholder?: string | undefined;
71
+ validationRegex?: string | undefined;
108
72
  }>, "many">;
109
- instructions: z.ZodOptional<z.ZodString>;
110
- helpUrl: z.ZodOptional<z.ZodString>;
73
+ providerName: z.ZodString;
111
74
  }, "strip", z.ZodTypeAny, {
75
+ authType: "apiKey";
76
+ authScope: "manager" | "channel";
112
77
  fields: {
113
- type: "text" | "password" | "select";
114
78
  name: string;
115
- label: string;
116
- options?: {
117
- value: string;
118
- label: string;
119
- }[] | undefined;
120
- required?: boolean | undefined;
121
- placeholder?: string | undefined;
79
+ displayName: string;
80
+ required: boolean;
81
+ sensitive: boolean;
122
82
  description?: string | undefined;
83
+ maskType?: string | undefined;
84
+ placeholder?: string | undefined;
85
+ validationRegex?: string | undefined;
123
86
  }[];
124
- instructions?: string | undefined;
125
- helpUrl?: string | undefined;
87
+ providerName: string;
126
88
  }, {
89
+ authType: "apiKey";
90
+ authScope: "manager" | "channel";
127
91
  fields: {
128
- type: "text" | "password" | "select";
129
92
  name: string;
130
- label: string;
131
- options?: {
132
- value: string;
133
- label: string;
134
- }[] | undefined;
135
- required?: boolean | undefined;
136
- placeholder?: string | undefined;
93
+ displayName: string;
94
+ required: boolean;
95
+ sensitive: boolean;
137
96
  description?: string | undefined;
97
+ maskType?: string | undefined;
98
+ placeholder?: string | undefined;
99
+ validationRegex?: string | undefined;
138
100
  }[];
139
- instructions?: string | undefined;
140
- helpUrl?: string | undefined;
101
+ providerName: string;
141
102
  }>;
142
- export type ApiKeyConfig = z.infer<typeof ApiKeyConfigSchema>;
103
+ export type GetAuthConfigOutput = z.infer<typeof GetAuthConfigOutputSchema>;
143
104
  /**
144
- * API Key validation result schema
105
+ * Output schema for extension.apikey.validation.validateCredentials
145
106
  */
146
- export declare const ApiKeyValidationResultSchema: z.ZodObject<{
107
+ export declare const ValidateCredentialsOutputSchema: z.ZodObject<{
147
108
  valid: z.ZodBoolean;
148
- error: z.ZodOptional<z.ZodString>;
149
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
109
+ error_message: z.ZodOptional<z.ZodString>;
110
+ user_info: z.ZodOptional<z.ZodObject<{
111
+ email: z.ZodOptional<z.ZodString>;
112
+ name: z.ZodOptional<z.ZodString>;
113
+ user_id: z.ZodOptional<z.ZodString>;
114
+ }, "strip", z.ZodTypeAny, {
115
+ name?: string | undefined;
116
+ email?: string | undefined;
117
+ user_id?: string | undefined;
118
+ }, {
119
+ name?: string | undefined;
120
+ email?: string | undefined;
121
+ user_id?: string | undefined;
122
+ }>>;
150
123
  }, "strip", z.ZodTypeAny, {
151
124
  valid: boolean;
152
- error?: string | undefined;
153
- metadata?: Record<string, unknown> | undefined;
125
+ error_message?: string | undefined;
126
+ user_info?: {
127
+ name?: string | undefined;
128
+ email?: string | undefined;
129
+ user_id?: string | undefined;
130
+ } | undefined;
154
131
  }, {
155
132
  valid: boolean;
156
- error?: string | undefined;
157
- metadata?: Record<string, unknown> | undefined;
133
+ error_message?: string | undefined;
134
+ user_info?: {
135
+ name?: string | undefined;
136
+ email?: string | undefined;
137
+ user_id?: string | undefined;
138
+ } | undefined;
158
139
  }>;
159
- export type ApiKeyValidationResult = z.infer<typeof ApiKeyValidationResultSchema>;
140
+ export type ValidateCredentialsOutput = z.infer<typeof ValidateCredentialsOutputSchema>;
160
141
  //# sourceMappingURL=apikey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apikey.d.ts","sourceRoot":"","sources":["../../src/extensions/apikey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,eAAe,2CAAyC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAIvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"apikey.d.ts","sourceRoot":"","sources":["../../src/extensions/apikey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,eAAe,mCAAiC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -1,41 +1,42 @@
1
1
  import { z } from "zod";
2
- /**
3
- * API Key field type
4
- */
5
- export const ApiKeyFieldType = z.enum(["text", "password", "select"]);
6
- /**
7
- * API Key field option (for select type)
8
- */
9
- export const ApiKeyFieldOptionSchema = z.object({
10
- label: z.string(),
11
- value: z.string(),
12
- });
13
2
  /**
14
3
  * API Key field schema
15
4
  */
16
5
  export const ApiKeyFieldSchema = z.object({
17
6
  name: z.string(),
18
- label: z.string(),
19
- type: ApiKeyFieldType,
20
- required: z.boolean().optional(),
21
- placeholder: z.string().optional(),
7
+ displayName: z.string(),
22
8
  description: z.string().optional(),
23
- options: z.array(ApiKeyFieldOptionSchema).optional(),
9
+ required: z.boolean(),
10
+ sensitive: z.boolean(),
11
+ maskType: z.string().optional(),
12
+ placeholder: z.string().optional(),
13
+ validationRegex: z.string().optional(),
24
14
  });
25
15
  /**
26
- * API Key configuration schema
16
+ * Auth scope for API Key extension
17
+ */
18
+ export const ApiKeyAuthScope = z.enum(["channel", "manager"]);
19
+ /**
20
+ * Output schema for extension.apikey.metadata.getAuthConfig
27
21
  */
28
- export const ApiKeyConfigSchema = z.object({
29
- fields: z.array(ApiKeyFieldSchema),
30
- instructions: z.string().optional(),
31
- helpUrl: z.string().optional(),
22
+ export const GetAuthConfigOutputSchema = z.object({
23
+ authType: z.literal("apiKey"),
24
+ authScope: ApiKeyAuthScope,
25
+ fields: z.array(ApiKeyFieldSchema).min(1),
26
+ providerName: z.string(),
32
27
  });
33
28
  /**
34
- * API Key validation result schema
29
+ * Output schema for extension.apikey.validation.validateCredentials
35
30
  */
36
- export const ApiKeyValidationResultSchema = z.object({
31
+ export const ValidateCredentialsOutputSchema = z.object({
37
32
  valid: z.boolean(),
38
- error: z.string().optional(),
39
- metadata: z.record(z.unknown()).optional(),
33
+ error_message: z.string().optional(),
34
+ user_info: z
35
+ .object({
36
+ email: z.string().optional(),
37
+ name: z.string().optional(),
38
+ user_id: z.string().optional(),
39
+ })
40
+ .optional(),
40
41
  });
41
42
  //# sourceMappingURL=apikey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apikey.js","sourceRoot":"","sources":["../../src/extensions/apikey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGtE;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"apikey.js","sourceRoot":"","sources":["../../src/extensions/apikey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAG9D;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC7B,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC"}
@@ -20,31 +20,20 @@ export declare const CommandSuggestionSchema: z.ZodObject<{
20
20
  }>;
21
21
  export type CommandSuggestion = z.infer<typeof CommandSuggestionSchema>;
22
22
  /**
23
- * Command result action types
24
- */
25
- export declare const CommandResultActionType: z.ZodEnum<["sendMessage", "insertText", "openWam", "openUrl", "none"]>;
26
- export type CommandResultActionType = z.infer<typeof CommandResultActionType>;
27
- /**
28
- * Command result schema
23
+ * Command result schema — matches ch-app-store Action format.
24
+ *
25
+ * `type` is a free-form string (no enum constraint), just like
26
+ * app-store's `ActionType string` and desk's type guards.
29
27
  */
30
28
  export declare const CommandResultSchema: z.ZodObject<{
31
- action: z.ZodEnum<["sendMessage", "insertText", "openWam", "openUrl", "none"]>;
32
- text: z.ZodOptional<z.ZodString>;
33
- wamName: z.ZodOptional<z.ZodString>;
34
- wamParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
35
- url: z.ZodOptional<z.ZodString>;
36
- }, "strip", z.ZodTypeAny, {
37
- action: "none" | "sendMessage" | "insertText" | "openWam" | "openUrl";
38
- text?: string | undefined;
39
- wamName?: string | undefined;
40
- wamParams?: Record<string, unknown> | undefined;
41
- url?: string | undefined;
29
+ type: z.ZodString;
30
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
31
+ }, "strict", z.ZodTypeAny, {
32
+ type: string;
33
+ attributes?: Record<string, unknown> | undefined;
42
34
  }, {
43
- action: "none" | "sendMessage" | "insertText" | "openWam" | "openUrl";
44
- text?: string | undefined;
45
- wamName?: string | undefined;
46
- wamParams?: Record<string, unknown> | undefined;
47
- url?: string | undefined;
35
+ type: string;
36
+ attributes?: Record<string, unknown> | undefined;
48
37
  }>;
49
38
  export type CommandResult = z.infer<typeof CommandResultSchema>;
50
39
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/extensions/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAKlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,uBAAuB,wEAMlC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/extensions/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAKlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;EAKrB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -9,23 +9,15 @@ export const CommandSuggestionSchema = z.object({
9
9
  icon: z.string().optional(),
10
10
  });
11
11
  /**
12
- * Command result action types
12
+ * Command result schema — matches ch-app-store Action format.
13
+ *
14
+ * `type` is a free-form string (no enum constraint), just like
15
+ * app-store's `ActionType string` and desk's type guards.
13
16
  */
14
- export const CommandResultActionType = z.enum([
15
- "sendMessage",
16
- "insertText",
17
- "openWam",
18
- "openUrl",
19
- "none",
20
- ]);
21
- /**
22
- * Command result schema
23
- */
24
- export const CommandResultSchema = z.object({
25
- action: CommandResultActionType,
26
- text: z.string().optional(),
27
- wamName: z.string().optional(),
28
- wamParams: z.record(z.unknown()).optional(),
29
- url: z.string().optional(),
30
- });
17
+ export const CommandResultSchema = z
18
+ .object({
19
+ type: z.string().min(1),
20
+ attributes: z.record(z.unknown()).optional(),
21
+ })
22
+ .strict();
31
23
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/extensions/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC5C,aAAa;IACb,YAAY;IACZ,SAAS;IACT,SAAS;IACT,MAAM;CACP,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,uBAAuB;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/extensions/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export { OAuthConfigSchema, CredentialValidationResultSchema, type OAuthConfig, type CredentialValidationResult, } from "./oauth.js";
2
- export { ApiKeyFieldType, ApiKeyFieldOptionSchema, ApiKeyFieldSchema, ApiKeyConfigSchema, ApiKeyValidationResultSchema, type ApiKeyFieldOption, type ApiKeyField, type ApiKeyConfig, type ApiKeyValidationResult, } from "./apikey.js";
2
+ export { ApiKeyFieldSchema, ApiKeyAuthScope, GetAuthConfigOutputSchema, ValidateCredentialsOutputSchema, type ApiKeyField, type GetAuthConfigOutput, type ValidateCredentialsOutput, } from "./apikey.js";
3
3
  export { CalendarSchema, EventTypeSchema, TimeSlotSchema, AttendeeSchema, BookingStatus, BookingSchema, type Calendar, type EventType, type TimeSlot, type Attendee, type Booking, } from "./calendar.js";
4
- export { CommandSuggestionSchema, CommandResultActionType, CommandResultSchema, type CommandSuggestion, type CommandResult, } from "./command.js";
4
+ export { CommandSuggestionSchema, CommandResultSchema, type CommandSuggestion, type CommandResult, } from "./command.js";
5
5
  export { WidgetScope, WidgetType, NameDescI18nSchema, WidgetConfigSchema, WidgetActionResultSchema, type NameDescI18n, type WidgetConfig, type WidgetActionResult, } from "./widget.js";
6
6
  export { CustomTabNameI18nSchema, CustomTabConfigSchema, CustomTabContentSchema, type CustomTabNameI18n, type CustomTabConfig, type CustomTabContent, } from "./customtab.js";
7
7
  export { MemoryDefinitionSchema, WorkflowNodeSchema, PredefinedTaskSchema, GetAlfTasksResponseSchema, type MemoryDefinition, type WorkflowNode, type PredefinedTask, type GetAlfTasksResponse, } from "./alftask.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,gCAAgC,EAChC,KAAK,WAAW,EAChB,KAAK,0BAA0B,GAChC,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,sBAAsB,GAC5B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,OAAO,GACb,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AAGpB,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,gCAAgC,EAChC,KAAK,WAAW,EAChB,KAAK,0BAA0B,GAChC,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,+BAA+B,EAC/B,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,OAAO,GACb,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AAGpB,cAAc,uBAAuB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  // OAuth Extension Schemas (v1)
2
2
  export { OAuthConfigSchema, CredentialValidationResultSchema, } from "./oauth.js";
3
3
  // API Key Extension Schemas (v1)
4
- export { ApiKeyFieldType, ApiKeyFieldOptionSchema, ApiKeyFieldSchema, ApiKeyConfigSchema, ApiKeyValidationResultSchema, } from "./apikey.js";
4
+ export { ApiKeyFieldSchema, ApiKeyAuthScope, GetAuthConfigOutputSchema, ValidateCredentialsOutputSchema, } from "./apikey.js";
5
5
  // Calendar Extension Schemas (v1)
6
6
  export { CalendarSchema, EventTypeSchema, TimeSlotSchema, AttendeeSchema, BookingStatus, BookingSchema, } from "./calendar.js";
7
7
  // Command Extension Schemas (v1)
8
- export { CommandSuggestionSchema, CommandResultActionType, CommandResultSchema, } from "./command.js";
8
+ export { CommandSuggestionSchema, CommandResultSchema, } from "./command.js";
9
9
  // Widget Extension Schemas (v1)
10
10
  export { WidgetScope, WidgetType, NameDescI18nSchema, WidgetConfigSchema, WidgetActionResultSchema, } from "./widget.js";
11
11
  // Custom Tab Extension Schemas (v1)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EACL,iBAAiB,EACjB,gCAAgC,GAGjC,MAAM,YAAY,CAAC;AAEpB,iCAAiC;AACjC,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,GAK7B,MAAM,aAAa,CAAC;AAErB,kCAAkC;AAClC,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,GAMd,MAAM,eAAe,CAAC;AAEvB,iCAAiC;AACjC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GAGpB,MAAM,cAAc,CAAC;AAEtB,gCAAgC;AAChC,OAAO,EACL,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,GAIzB,MAAM,aAAa,CAAC;AAErB,oCAAoC;AACpC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,GAIvB,MAAM,gBAAgB,CAAC;AAExB,kCAAkC;AAClC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,GAK1B,MAAM,cAAc,CAAC;AAEtB,+BAA+B;AAC/B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,GActB,MAAM,YAAY,CAAC;AAEpB,qDAAqD;AACrD,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EACL,iBAAiB,EACjB,gCAAgC,GAGjC,MAAM,YAAY,CAAC;AAEpB,iCAAiC;AACjC,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,+BAA+B,GAIhC,MAAM,aAAa,CAAC;AAErB,kCAAkC;AAClC,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,GAMd,MAAM,eAAe,CAAC;AAEvB,iCAAiC;AACjC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GAGpB,MAAM,cAAc,CAAC;AAEtB,gCAAgC;AAChC,OAAO,EACL,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,GAIzB,MAAM,aAAa,CAAC;AAErB,oCAAoC;AACpC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,GAIvB,MAAM,gBAAgB,CAAC;AAExB,kCAAkC;AAClC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,GAK1B,MAAM,cAAc,CAAC;AAEtB,+BAA+B;AAC/B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,GActB,MAAM,YAAY,CAAC;AAEpB,qDAAqD;AACrD,cAAc,uBAAuB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { GetAlfTasksResponse } from "../alftask.js";
2
- import type { ExtensionContext } from "./oauth.js";
2
+ import type { Context } from "../../types/context.js";
3
3
  /**
4
4
  * ALF Task Extension Input Types
5
5
  */
@@ -47,7 +47,7 @@ export interface AlfTaskExtensionInterface {
47
47
  *
48
48
  * @returns List of predefined task configurations
49
49
  */
50
- getTasks(ctx: ExtensionContext, params: GetAlfTasksInput): Promise<GetAlfTasksResponse>;
50
+ getTasks(ctx: Context, params: GetAlfTasksInput): Promise<GetAlfTasksResponse>;
51
51
  }
52
52
  /**
53
53
  * ALF Task Extension Function Names
@@ -1 +1 @@
1
- {"version":3,"file":"alftask.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/alftask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzF;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;;CAEvB,CAAC"}
1
+ {"version":3,"file":"alftask.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/alftask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAChF;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;;CAEvB,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { ApiKeyConfig, ApiKeyValidationResult } from "../apikey.js";
2
- import type { ExtensionContext } from "./oauth.js";
1
+ import type { GetAuthConfigOutput, ValidateCredentialsOutput } from "../apikey.js";
2
+ import type { Context } from "../../types/context.js";
3
3
  /**
4
4
  * API Key Extension Interface
5
5
  *
@@ -7,28 +7,26 @@ import type { ExtensionContext } from "./oauth.js";
7
7
  *
8
8
  * @example
9
9
  * ```typescript
10
- * @Extension({ name: "apikey", systemVersion: "v1" })
10
+ * @Extension({ name: "apikey" })
11
11
  * export class MyApiKeyExtension implements ApiKeyExtensionInterface {
12
- * @Func("apikey.getConfig")
13
- * @OutputSchema(ApiKeyConfigSchema)
14
- * async getConfig(ctx: ExtensionContext): Promise<ApiKeyConfig> {
12
+ * @Func("metadata.getAuthConfig")
13
+ * @OutputSchema(GetAuthConfigOutputSchema)
14
+ * async getAuthConfig(ctx: Context): Promise<GetAuthConfigOutput> {
15
15
  * return {
16
+ * authType: "apiKey",
17
+ * authScope: "channel",
18
+ * providerName: "My Provider",
16
19
  * fields: [
17
- * { name: "apiKey", label: "API Key", type: "password", required: true },
18
- * { name: "region", label: "Region", type: "select", options: [...] },
20
+ * { name: "apiKey", displayName: "API Key", required: true, sensitive: true },
19
21
  * ],
20
- * instructions: "Get your API key from the settings page",
21
22
  * };
22
23
  * }
23
24
  *
24
- * @Func("apikey.validateCredential")
25
- * @InputSchema(ValidateApiKeyInputSchema)
26
- * @OutputSchema(ApiKeyValidationResultSchema)
27
- * async validateCredential(
28
- * ctx: ExtensionContext,
29
- * params: { credentials: Record<string, string> }
30
- * ): Promise<ApiKeyValidationResult> {
31
- * // Validate the API key
25
+ * @Func("validation.validateCredentials")
26
+ * @OutputSchema(ValidateCredentialsOutputSchema)
27
+ * async validateCredentials(
28
+ * ctx: Context,
29
+ * ): Promise<ValidateCredentialsOutput> {
32
30
  * return { valid: true };
33
31
  * }
34
32
  * }
@@ -36,31 +34,23 @@ import type { ExtensionContext } from "./oauth.js";
36
34
  */
37
35
  export interface ApiKeyExtensionInterface {
38
36
  /**
39
- * Get API key form configuration
37
+ * Return API key field configuration for the provider.
40
38
  *
41
- * Function name: "apikey.getConfig"
42
- *
43
- * @returns Configuration for the API key input form
39
+ * Function name: "metadata.getAuthConfig"
44
40
  */
45
- getConfig(ctx: ExtensionContext): Promise<ApiKeyConfig>;
41
+ getAuthConfig(ctx: Context): Promise<GetAuthConfigOutput>;
46
42
  /**
47
- * Validate API key credentials
48
- *
49
- * Function name: "apikey.validateCredential"
43
+ * Validate submitted credentials (optional but recommended).
50
44
  *
51
- * @param ctx - Extension context
52
- * @param params - Contains the credentials to validate (key-value pairs)
53
- * @returns Validation result
45
+ * Function name: "validation.validateCredentials"
54
46
  */
55
- validateCredential(ctx: ExtensionContext, params: {
56
- credentials: Record<string, string>;
57
- }): Promise<ApiKeyValidationResult>;
47
+ validateCredentials?(ctx: Context): Promise<ValidateCredentialsOutput>;
58
48
  }
59
49
  /**
60
50
  * API Key Extension Function Names
61
51
  */
62
52
  export declare const ApiKeyFunctionNames: {
63
- readonly getConfig: "apikey.getConfig";
64
- readonly validateCredential: "apikey.validateCredential";
53
+ readonly getAuthConfig: "metadata.getAuthConfig";
54
+ readonly validateCredentials: "validation.validateCredentials";
65
55
  };
66
56
  //# sourceMappingURL=apikey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apikey.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/apikey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAExD;;;;;;;;OAQG;IACH,kBAAkB,CAChB,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAC9C,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC"}
1
+ {"version":3,"file":"apikey.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/apikey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE1D;;;;OAIG;IACH,mBAAmB,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACxE;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * API Key Extension Function Names
3
3
  */
4
4
  export const ApiKeyFunctionNames = {
5
- getConfig: "apikey.getConfig",
6
- validateCredential: "apikey.validateCredential",
5
+ getAuthConfig: "metadata.getAuthConfig",
6
+ validateCredentials: "validation.validateCredentials",
7
7
  };
8
8
  //# sourceMappingURL=apikey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apikey.js","sourceRoot":"","sources":["../../../src/extensions/interfaces/apikey.ts"],"names":[],"mappings":"AA8DA;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS,EAAE,kBAAkB;IAC7B,kBAAkB,EAAE,2BAA2B;CACvC,CAAC"}
1
+ {"version":3,"file":"apikey.js","sourceRoot":"","sources":["../../../src/extensions/interfaces/apikey.ts"],"names":[],"mappings":"AAmDA;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa,EAAE,wBAAwB;IACvC,mBAAmB,EAAE,gCAAgC;CAC7C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Calendar, EventType, TimeSlot, Attendee, Booking } from "../calendar.js";
2
- import type { ExtensionContext } from "./oauth.js";
2
+ import type { Context } from "../../types/context.js";
3
3
  /**
4
4
  * Calendar Extension Input Types
5
5
  */
@@ -107,37 +107,37 @@ export interface CalendarExtensionInterface {
107
107
  *
108
108
  * Function name: "calendar.listCalendars"
109
109
  */
110
- listCalendars(ctx: ExtensionContext, params: ListCalendarsInput): Promise<ListCalendarsOutput>;
110
+ listCalendars(ctx: Context, params: ListCalendarsInput): Promise<ListCalendarsOutput>;
111
111
  /**
112
112
  * List event types (meeting types)
113
113
  *
114
114
  * Function name: "calendar.listEventTypes"
115
115
  */
116
- listEventTypes(ctx: ExtensionContext, params: ListEventTypesInput): Promise<ListEventTypesOutput>;
116
+ listEventTypes(ctx: Context, params: ListEventTypesInput): Promise<ListEventTypesOutput>;
117
117
  /**
118
118
  * Get available time slots for booking
119
119
  *
120
120
  * Function name: "calendar.getAvailability"
121
121
  */
122
- getAvailability(ctx: ExtensionContext, params: GetAvailabilityInput): Promise<GetAvailabilityOutput>;
122
+ getAvailability(ctx: Context, params: GetAvailabilityInput): Promise<GetAvailabilityOutput>;
123
123
  /**
124
124
  * Create a new booking
125
125
  *
126
126
  * Function name: "calendar.createBooking"
127
127
  */
128
- createBooking(ctx: ExtensionContext, params: CreateBookingInput): Promise<Booking>;
128
+ createBooking(ctx: Context, params: CreateBookingInput): Promise<Booking>;
129
129
  /**
130
130
  * Cancel an existing booking
131
131
  *
132
132
  * Function name: "calendar.cancelBooking"
133
133
  */
134
- cancelBooking(ctx: ExtensionContext, params: CancelBookingInput): Promise<CancelBookingOutput>;
134
+ cancelBooking(ctx: Context, params: CancelBookingInput): Promise<CancelBookingOutput>;
135
135
  /**
136
136
  * Get booking details
137
137
  *
138
138
  * Function name: "calendar.getBooking"
139
139
  */
140
- getBooking(ctx: ExtensionContext, params: GetBookingInput): Promise<Booking>;
140
+ getBooking(ctx: Context, params: GetBookingInput): Promise<Booking>;
141
141
  }
142
142
  /**
143
143
  * Calendar Extension Function Names
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE/F;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAElG;;;;OAIG;IACH,eAAe,CACb,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAElC;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnF;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE/F;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9E;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;CAOxB,CAAC"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEtF;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEzF;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE5F;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1E;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEtF;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrE;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;CAOxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../src/extensions/interfaces/calendar.ts"],"names":[],"mappings":"AAiKA;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,aAAa,EAAE,wBAAwB;IACvC,cAAc,EAAE,yBAAyB;IACzC,eAAe,EAAE,0BAA0B;IAC3C,aAAa,EAAE,wBAAwB;IACvC,aAAa,EAAE,wBAAwB;IACvC,UAAU,EAAE,qBAAqB;CACzB,CAAC"}
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../src/extensions/interfaces/calendar.ts"],"names":[],"mappings":"AA8JA;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,aAAa,EAAE,wBAAwB;IACvC,cAAc,EAAE,yBAAyB;IACzC,eAAe,EAAE,0BAA0B;IAC3C,aAAa,EAAE,wBAAwB;IACvC,aAAa,EAAE,wBAAwB;IACvC,UAAU,EAAE,qBAAqB;CACzB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { CommandSuggestion, CommandResult } from "../command.js";
2
- import type { ExtensionContext } from "./oauth.js";
2
+ import type { Context } from "../../types/context.js";
3
3
  /**
4
4
  * Command Extension Input Types
5
5
  */
@@ -56,12 +56,15 @@ export interface ExecuteCommandInput {
56
56
  * async execute(ctx, params): Promise<CommandResult> {
57
57
  * if (params.command === "meeting") {
58
58
  * return {
59
- * action: "openWam",
60
- * wamName: "meeting-scheduler",
61
- * wamParams: { chatId: params.chatId },
59
+ * type: "wam",
60
+ * attributes: {
61
+ * appId: process.env.APP_ID,
62
+ * name: "meeting-scheduler",
63
+ * wamArgs: { chatId: params.chatId },
64
+ * },
62
65
  * };
63
66
  * }
64
- * return { action: "none" };
67
+ * return { type: "text", attributes: { message: "Unknown command" } };
65
68
  * }
66
69
  * }
67
70
  * ```
@@ -72,15 +75,15 @@ export interface CommandExtensionInterface {
72
75
  *
73
76
  * Function name: "command.getSuggestions"
74
77
  */
75
- getSuggestions(ctx: ExtensionContext, params: GetSuggestionsInput): Promise<GetSuggestionsOutput>;
78
+ getSuggestions(ctx: Context, params: GetSuggestionsInput): Promise<GetSuggestionsOutput>;
76
79
  /**
77
80
  * Execute a command
78
81
  *
79
82
  * Function name: "command.execute"
80
83
  *
81
- * @returns Action to perform (sendMessage, insertText, openWam, openUrl, or none)
84
+ * @returns Action to perform (e.g. wam, web, command)
82
85
  */
83
- execute(ctx: ExtensionContext, params: ExecuteCommandInput): Promise<CommandResult>;
86
+ execute(ctx: Context, params: ExecuteCommandInput): Promise<CommandResult>;
84
87
  }
85
88
  /**
86
89
  * Command Extension Function Names
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAElG;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACrF;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;CAGvB,CAAC"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEzF;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5E;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;CAGvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/extensions/interfaces/command.ts"],"names":[],"mappings":"AA0FA;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,wBAAwB;IACxC,OAAO,EAAE,iBAAiB;CAClB,CAAC"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/extensions/interfaces/command.ts"],"names":[],"mappings":"AA6FA;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,wBAAwB;IACxC,OAAO,EAAE,iBAAiB;CAClB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { CustomTabConfig, CustomTabContent } from "../customtab.js";
2
- import type { ExtensionContext } from "./oauth.js";
2
+ import type { Context } from "../../types/context.js";
3
3
  /**
4
4
  * Custom Tab Extension Input Types
5
5
  */
@@ -62,7 +62,7 @@ export interface CustomTabExtensionInterface {
62
62
  *
63
63
  * @returns List of tab configurations
64
64
  */
65
- getConfig(ctx: ExtensionContext, params: GetTabConfigInput): Promise<GetTabConfigOutput>;
65
+ getConfig(ctx: Context, params: GetTabConfigInput): Promise<GetTabConfigOutput>;
66
66
  /**
67
67
  * Get content for a specific tab
68
68
  *
@@ -70,7 +70,7 @@ export interface CustomTabExtensionInterface {
70
70
  *
71
71
  * @returns WAM name and params to render in the tab
72
72
  */
73
- getContent(ctx: ExtensionContext, params: GetTabContentInput): Promise<CustomTabContent>;
73
+ getContent(ctx: Context, params: GetTabContentInput): Promise<CustomTabContent>;
74
74
  }
75
75
  /**
76
76
  * Custom Tab Extension Function Names
@@ -1 +1 @@
1
- {"version":3,"file":"customtab.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/customtab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,IAAI,EAAE,eAAe,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa;IACb,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEzF;;;;;;OAMG;IACH,UAAU,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1F;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC"}
1
+ {"version":3,"file":"customtab.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/customtab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,IAAI,EAAE,eAAe,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa;IACb,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEhF;;;;;;OAMG;IACH,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjF;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC"}
@@ -1,18 +1,5 @@
1
1
  import type { OAuthConfig, CredentialValidationResult } from "../oauth.js";
2
- /**
3
- * Base context for all extension functions
4
- */
5
- export interface ExtensionContext {
6
- channel: {
7
- id: string;
8
- };
9
- caller: {
10
- type: "user" | "manager" | "system";
11
- id: string;
12
- };
13
- authToken?: string;
14
- apiCredentials?: Record<string, string>;
15
- }
2
+ import type { Context } from "../../types/context.js";
16
3
  /**
17
4
  * OAuth Extension Interface
18
5
  *
@@ -24,7 +11,7 @@ export interface ExtensionContext {
24
11
  * export class MyOAuthExtension implements OAuthExtensionInterface {
25
12
  * @Func("oauth.getConfig")
26
13
  * @OutputSchema(OAuthConfigSchema)
27
- * async getConfig(ctx: ExtensionContext): Promise<OAuthConfig> {
14
+ * async getConfig(ctx: Context): Promise<OAuthConfig> {
28
15
  * return {
29
16
  * authorizationUrl: "https://example.com/oauth/authorize",
30
17
  * tokenUrl: "https://example.com/oauth/token",
@@ -37,7 +24,7 @@ export interface ExtensionContext {
37
24
  * @InputSchema(ValidateCredentialInputSchema)
38
25
  * @OutputSchema(CredentialValidationResultSchema)
39
26
  * async validateCredential(
40
- * ctx: ExtensionContext,
27
+ * ctx: Context,
41
28
  * params: { accessToken: string }
42
29
  * ): Promise<CredentialValidationResult> {
43
30
  * // Validate the access token
@@ -54,7 +41,7 @@ export interface OAuthExtensionInterface {
54
41
  *
55
42
  * @returns OAuth configuration including authorization URL, token URL, and scopes
56
43
  */
57
- getConfig(ctx: ExtensionContext): Promise<OAuthConfig>;
44
+ getConfig(ctx: Context): Promise<OAuthConfig>;
58
45
  /**
59
46
  * Validate an OAuth credential (access token)
60
47
  *
@@ -64,7 +51,7 @@ export interface OAuthExtensionInterface {
64
51
  * @param params - Contains the access token to validate
65
52
  * @returns Validation result with expiration info
66
53
  */
67
- validateCredential(ctx: ExtensionContext, params: {
54
+ validateCredential(ctx: Context, params: {
68
55
  accessToken: string;
69
56
  }): Promise<CredentialValidationResult>;
70
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEvD;;;;;;;;OAQG;IACH,kBAAkB,CAChB,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAC9B,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9C;;;;;;;;OAQG;IACH,kBAAkB,CAChB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAC9B,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/extensions/interfaces/oauth.ts"],"names":[],"mappings":"AAsEA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,iBAAiB;IAC5B,kBAAkB,EAAE,0BAA0B;CACtC,CAAC"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/extensions/interfaces/oauth.ts"],"names":[],"mappings":"AA6DA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,iBAAiB;IAC5B,kBAAkB,EAAE,0BAA0B;CACtC,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import type { Order, OrderItem, Address, BankAccount, DefectInfo, ClaimReason, AppCapabilities } from "../order.js";
2
- import type { ExtensionContext } from "./oauth.js";
2
+ import type { Context } from "../../types/context.js";
3
3
  export interface GetOrdersInput {
4
- memberId?: string;
5
- identifierType?: "phoneNumber" | "email";
6
- identifierValue?: string;
4
+ identifierType: string;
5
+ identifierValue: string;
7
6
  }
8
7
  export interface GetOrdersOutput {
9
8
  orders: Order[];
@@ -91,13 +90,13 @@ export interface SuccessOutput {
91
90
  * ```
92
91
  */
93
92
  export interface OrderExtensionInterface {
94
- getOrders(ctx: ExtensionContext, params: GetOrdersInput): Promise<GetOrdersOutput>;
95
- getAppConfigs(ctx: ExtensionContext): Promise<GetAppConfigsOutput>;
96
- cancelOrder?(ctx: ExtensionContext, params: CancelOrderInput): Promise<SuccessOutput>;
97
- returnOrder?(ctx: ExtensionContext, params: ReturnOrderInput): Promise<SuccessOutput>;
98
- exchangeOrder?(ctx: ExtensionContext, params: ExchangeOrderInput): Promise<SuccessOutput>;
99
- getExchangeableItems?(ctx: ExtensionContext, params: GetExchangeableItemsInput): Promise<GetExchangeableItemsOutput>;
100
- changeShippingAddress?(ctx: ExtensionContext, params: ChangeShippingAddressInput): Promise<SuccessOutput>;
93
+ getOrders(ctx: Context, params: GetOrdersInput): Promise<GetOrdersOutput>;
94
+ getAppConfigs(ctx: Context): Promise<GetAppConfigsOutput>;
95
+ cancelOrder?(ctx: Context, params: CancelOrderInput): Promise<SuccessOutput>;
96
+ returnOrder?(ctx: Context, params: ReturnOrderInput): Promise<SuccessOutput>;
97
+ exchangeOrder?(ctx: Context, params: ExchangeOrderInput): Promise<SuccessOutput>;
98
+ getExchangeableItems?(ctx: Context, params: GetExchangeableItemsInput): Promise<GetExchangeableItemsOutput>;
99
+ changeShippingAddress?(ctx: Context, params: ChangeShippingAddressInput): Promise<SuccessOutput>;
101
100
  }
102
101
  /**
103
102
  * Order Extension Function Names
@@ -1 +1 @@
1
- {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/order.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/extensions/interfaces/order.ts"],"names":[],"mappings":"AA2JA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,gCAAgC;IAC3C,aAAa,EAAE,oCAAoC;IACnD,WAAW,EAAE,oCAAoC;IACjD,WAAW,EAAE,oCAAoC;IACjD,aAAa,EAAE,wCAAwC;IACvD,oBAAoB,EAAE,+CAA+C;IACrE,qBAAqB,EAAE,4CAA4C;CAC3D,CAAC"}
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/extensions/interfaces/order.ts"],"names":[],"mappings":"AAuJA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,gCAAgC;IAC3C,aAAa,EAAE,oCAAoC;IACnD,WAAW,EAAE,oCAAoC;IACjD,WAAW,EAAE,oCAAoC;IACjD,aAAa,EAAE,wCAAwC;IACvD,oBAAoB,EAAE,+CAA+C;IACrE,qBAAqB,EAAE,4CAA4C;CAC3D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { WidgetConfig, WidgetActionResult } from "../widget.js";
2
- import type { ExtensionContext } from "./oauth.js";
2
+ import type { Context } from "../../types/context.js";
3
3
  /**
4
4
  * Widget Extension Input Types
5
5
  */
@@ -67,7 +67,7 @@ export interface WidgetExtensionInterface {
67
67
  *
68
68
  * @returns List of widget configurations
69
69
  */
70
- getConfig(ctx: ExtensionContext, params: GetWidgetConfigInput): Promise<GetWidgetConfigOutput>;
70
+ getConfig(ctx: Context, params: GetWidgetConfigInput): Promise<GetWidgetConfigOutput>;
71
71
  /**
72
72
  * Handle widget action
73
73
  *
@@ -75,7 +75,7 @@ export interface WidgetExtensionInterface {
75
75
  *
76
76
  * @returns Action result with success status
77
77
  */
78
- action(ctx: ExtensionContext, params: WidgetActionInput): Promise<WidgetActionResult>;
78
+ action(ctx: Context, params: WidgetActionInput): Promise<WidgetActionResult>;
79
79
  }
80
80
  /**
81
81
  * Widget Extension Function Names
@@ -1 +1 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/widget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE/F;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvF;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC"}
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/extensions/interfaces/widget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEtF;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC9E;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC"}
@@ -1,11 +1,15 @@
1
+ /**
2
+ * Caller type — matches Go's CallerType constants
3
+ */
4
+ export type CallerType = "user" | "manager" | "system";
1
5
  /**
2
6
  * Caller information from the function call context
3
7
  */
4
8
  export interface Caller {
5
- /** Caller's unique identifier */
6
- id: string;
7
- /** Caller type (e.g., "manager", "user") */
8
- type?: string;
9
+ /** Caller type */
10
+ type: CallerType;
11
+ /** Caller's unique identifier (omitted for some system calls) */
12
+ id?: string;
9
13
  }
10
14
  /**
11
15
  * Channel information from the function call context
@@ -15,23 +19,32 @@ export interface Channel {
15
19
  id: string;
16
20
  }
17
21
  /**
18
- * App information from the function call context
19
- */
20
- export interface App {
21
- /** App's unique identifier */
22
- id: string;
23
- }
24
- /**
25
- * Context passed to function handlers
22
+ * Context passed to function handlers.
23
+ * Mirrors Go's ChannelContext struct (internal/domain/app/subdomain/core/svc/function.go).
26
24
  */
27
25
  export interface Context {
28
26
  /** Caller information */
29
27
  caller: Caller;
30
28
  /** Channel information */
31
29
  channel: Channel;
32
- /** App information */
33
- app: App;
34
- /** Additional context data */
30
+ /** Language preference (e.g., "ko", "en") */
31
+ language?: string;
32
+ /** OAuth token (decrypted, auto-injected when OAuth is configured) */
33
+ authToken?: string;
34
+ /**
35
+ * Decrypted API Key credentials.
36
+ * AppStore automatically injects this for all function calls
37
+ * once the channel/manager has active credentials stored.
38
+ * Keys correspond to the field names defined in getAuthConfig.
39
+ */
40
+ apiCredentials?: Record<string, string>;
41
+ /** Sandbox mode flag (for LLM mock testing) */
42
+ sandbox?: boolean;
43
+ /** Sandbox session ID (stateful mode) */
44
+ sessionId?: string;
45
+ /** Initial state for new sandbox session */
46
+ seedState?: unknown;
47
+ /** Additional context data from future AppStore versions */
35
48
  [key: string]: unknown;
36
49
  }
37
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,GAAG,EAAE,GAAG,CAAC;IACT,8BAA8B;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,OAAO;IAC/C,kBAAkB;IAClB,MAAM,EAAE,CAAC,CAAC;CACX"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,kBAAkB;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,iEAAiE;IACjE,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,OAAO;IAC/C,kBAAkB;IAClB,MAAM,EAAE,CAAC,CAAC;CACX"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@channel.io/app-sdk-core",
3
- "version": "0.3.1",
3
+ "version": "0.4.1",
4
4
  "description": "Core types and utilities for Channel.io App SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",