@channel.io/app-sdk-core 0.18.2 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,132 @@
1
+ import { z } from "zod";
1
2
  import { zodToJsonSchema } from "../utils/zod-to-json-schema.js";
3
+ const UserInputKeySchema = z.string().trim().min(1).max(100);
4
+ const UserInputTextSchema = z.string().trim().min(1).max(1_000);
5
+ export const FunctionUserInputOptionSchema = z.object({
6
+ value: z.string().min(1).max(200),
7
+ label: z.string().trim().min(1).max(200),
8
+ exclusive: z.boolean().optional(),
9
+ });
10
+ const FunctionUserInputQuestionFields = {
11
+ key: UserInputKeySchema,
12
+ label: UserInputTextSchema,
13
+ prompt: UserInputTextSchema,
14
+ required: z.boolean(),
15
+ };
16
+ export const FunctionUserInputQuestionSchema = z.discriminatedUnion("inputType", [
17
+ z.object({
18
+ ...FunctionUserInputQuestionFields,
19
+ inputType: z.literal("singleSelect"),
20
+ options: z.array(FunctionUserInputOptionSchema).min(1).max(50),
21
+ }),
22
+ z.object({
23
+ ...FunctionUserInputQuestionFields,
24
+ inputType: z.literal("multiSelect"),
25
+ minSelections: z.number().int().min(0).max(50).optional(),
26
+ maxSelections: z.number().int().min(1).max(50).optional(),
27
+ options: z.array(FunctionUserInputOptionSchema).min(1).max(50),
28
+ }),
29
+ z.object({
30
+ ...FunctionUserInputQuestionFields,
31
+ inputType: z.literal("text"),
32
+ placeholder: z.string().max(500).optional(),
33
+ minLength: z.number().int().nonnegative().max(10_000).optional(),
34
+ maxLength: z.number().int().positive().max(10_000).optional(),
35
+ }),
36
+ z.object({
37
+ ...FunctionUserInputQuestionFields,
38
+ inputType: z.literal("date"),
39
+ min: z.string().date().optional(),
40
+ max: z.string().date().optional(),
41
+ }),
42
+ z.object({
43
+ ...FunctionUserInputQuestionFields,
44
+ inputType: z.literal("number"),
45
+ min: z.number().finite().optional(),
46
+ max: z.number().finite().optional(),
47
+ step: z.number().positive().finite().optional(),
48
+ placeholder: z.string().max(500).optional(),
49
+ }),
50
+ ]);
51
+ export const FunctionUserInputAnswerSchema = z.union([
52
+ z.string(),
53
+ z.number().finite(),
54
+ z.array(z.string()).max(50),
55
+ ]);
56
+ export const FunctionUserInputAnswersSchema = z.record(UserInputKeySchema, FunctionUserInputAnswerSchema);
57
+ export const NeedsUserInputResultSchema = z
58
+ .object({
59
+ type: z.literal("needsUserInput"),
60
+ requestId: z.string().trim().min(1).max(200),
61
+ questions: z.array(FunctionUserInputQuestionSchema).min(1).max(10),
62
+ continuationToken: z.string().min(1).max(8_192),
63
+ message: z.string().trim().min(1).max(1_000).optional(),
64
+ })
65
+ .superRefine((result, ctx) => {
66
+ const questionKeys = new Set();
67
+ result.questions.forEach((question, questionIndex) => {
68
+ if (questionKeys.has(question.key)) {
69
+ ctx.addIssue({
70
+ code: z.ZodIssueCode.custom,
71
+ message: `Duplicate question key: ${question.key}`,
72
+ path: ["questions", questionIndex, "key"],
73
+ });
74
+ }
75
+ questionKeys.add(question.key);
76
+ if (question.inputType === "singleSelect" || question.inputType === "multiSelect") {
77
+ const optionValues = new Set();
78
+ question.options.forEach((option, optionIndex) => {
79
+ if (optionValues.has(option.value)) {
80
+ ctx.addIssue({
81
+ code: z.ZodIssueCode.custom,
82
+ message: `Duplicate option value: ${option.value}`,
83
+ path: ["questions", questionIndex, "options", optionIndex, "value"],
84
+ });
85
+ }
86
+ optionValues.add(option.value);
87
+ });
88
+ }
89
+ if (question.inputType === "multiSelect" &&
90
+ question.minSelections != null &&
91
+ question.maxSelections != null &&
92
+ question.minSelections > question.maxSelections) {
93
+ ctx.addIssue({
94
+ code: z.ZodIssueCode.custom,
95
+ message: "minSelections must be less than or equal to maxSelections",
96
+ path: ["questions", questionIndex, "minSelections"],
97
+ });
98
+ }
99
+ if (question.inputType === "multiSelect" &&
100
+ ((question.minSelections != null && question.minSelections > question.options.length) ||
101
+ (question.maxSelections != null && question.maxSelections > question.options.length))) {
102
+ ctx.addIssue({
103
+ code: z.ZodIssueCode.custom,
104
+ message: "selection bounds must not exceed the number of options",
105
+ path: ["questions", questionIndex, "options"],
106
+ });
107
+ }
108
+ if (question.inputType === "text" &&
109
+ question.minLength != null &&
110
+ question.maxLength != null &&
111
+ question.minLength > question.maxLength) {
112
+ ctx.addIssue({
113
+ code: z.ZodIssueCode.custom,
114
+ message: "minLength must be less than or equal to maxLength",
115
+ path: ["questions", questionIndex, "minLength"],
116
+ });
117
+ }
118
+ if ((question.inputType === "date" || question.inputType === "number") &&
119
+ question.min != null &&
120
+ question.max != null &&
121
+ question.min > question.max) {
122
+ ctx.addIssue({
123
+ code: z.ZodIssueCode.custom,
124
+ message: "min must be less than or equal to max",
125
+ path: ["questions", questionIndex, "min"],
126
+ });
127
+ }
128
+ });
129
+ });
2
130
  /**
3
131
  * Create a registered function from a definition
4
132
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/schemas/function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAIjE;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,UAA8B;IAE9B,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExF,iCAAiC;IACjC,MAAM,cAAc,GAAoB,KAAK,EAAE,GAAY,EAAE,MAAe,EAAE,EAAE;QAC9E,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAE7D,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAuB;QACjC,IAAI;QACJ,WAAW;QACX,OAAO,EAAE,cAAc;KACxB,CAAC;IAEF,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC9C,CAAC;IAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/schemas/function.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { createRegisteredFunction } from "./function.js";
1
+ export * from "./function.js";
2
2
  export { registerExtension, getFullMethodName } from "./extension.js";
3
3
  export * from "./native.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,cAAc,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
- export { createRegisteredFunction } from "./function.js";
1
+ export * from "./function.js";
2
2
  export { registerExtension, getFullMethodName } from "./extension.js";
3
3
  export * from "./native.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,cAAc,aAAa,CAAC"}
@@ -3,4 +3,5 @@ export * from "./extension.js";
3
3
  export * from "./function.js";
4
4
  export * from "./message.js";
5
5
  export * from "./native.js";
6
+ export * from "./wam.js";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
@@ -3,4 +3,5 @@ export * from "./extension.js";
3
3
  export * from "./function.js";
4
4
  export * from "./message.js";
5
5
  export * from "./native.js";
6
+ export * from "./wam.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,37 @@
1
+ export type WamRenderData = Record<string, unknown>;
2
+ export interface WamRenderSnapshot<T extends WamRenderData = WamRenderData> {
3
+ schemaVersion: number;
4
+ capturedAt: string;
5
+ data: T;
6
+ }
7
+ export interface WamSharePolicy {
8
+ channel?: "interactive";
9
+ public?: "fallback" | "interactiveSnapshot";
10
+ }
11
+ export interface WamPublicFallback {
12
+ title: string;
13
+ description?: string;
14
+ provider?: string;
15
+ }
16
+ /**
17
+ * Attributes returned by an app Function that opens a WAM.
18
+ *
19
+ * `wamVersion` versions the renderer contract. `renderSnapshot.schemaVersion`
20
+ * versions the persisted data shape consumed by that renderer.
21
+ */
22
+ export interface WamResultAttributes<TArgs extends WamRenderData = WamRenderData, TSnapshot extends WamRenderData = WamRenderData> {
23
+ appId?: string;
24
+ name: string;
25
+ wamVersion: number;
26
+ wamArgs?: TArgs;
27
+ renderSnapshot?: WamRenderSnapshot<TSnapshot>;
28
+ title?: string;
29
+ preferredHeight?: number;
30
+ sharePolicy?: WamSharePolicy;
31
+ publicFallback?: WamPublicFallback;
32
+ }
33
+ export interface WamResult<TArgs extends WamRenderData = WamRenderData, TSnapshot extends WamRenderData = WamRenderData> {
34
+ type: "wam";
35
+ attributes: WamResultAttributes<TArgs, TSnapshot>;
36
+ }
37
+ //# sourceMappingURL=wam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wam.d.ts","sourceRoot":"","sources":["../../src/types/wam.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,GAAG,qBAAqB,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB,CAClC,KAAK,SAAS,aAAa,GAAG,aAAa,EAC3C,SAAS,SAAS,aAAa,GAAG,aAAa;IAE/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,cAAc,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,cAAc,CAAC,EAAE,iBAAiB,CAAC;CACpC;AAED,MAAM,WAAW,SAAS,CACxB,KAAK,SAAS,aAAa,GAAG,aAAa,EAC3C,SAAS,SAAS,aAAa,GAAG,aAAa;IAE/C,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;CACnD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wam.js","sourceRoot":"","sources":["../../src/types/wam.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@channel.io/app-sdk-core",
3
- "version": "0.18.2",
3
+ "version": "0.19.0",
4
4
  "description": "Core types and utilities for Channel.io App SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",