@channel.io/app-sdk-server 0.27.0 → 0.29.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.
- package/dist/__tests__/function-input-validator.test.js +6 -0
- package/dist/__tests__/function-input-validator.test.js.map +1 -1
- package/dist/decorators/extension-names.d.ts +1 -1
- package/dist/decorators/extension-names.d.ts.map +1 -1
- package/dist/decorators/extension-names.js +1 -0
- package/dist/decorators/extension-names.js.map +1 -1
- package/dist/utils/function-input-validator.d.ts.map +1 -1
- package/dist/utils/function-input-validator.js +8 -1
- package/dist/utils/function-input-validator.js.map +1 -1
- package/package.json +2 -2
|
@@ -47,4 +47,10 @@ describe("parseFunctionInputParams", () => {
|
|
|
47
47
|
expect(() => parseFunctionInputParams("extension.example.run", schema, "value")).toThrow(inputError);
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
|
+
it("returns the Issue invalidInput contract without copying submitted values", () => {
|
|
51
|
+
expect(() => parseFunctionInputParams("extension.issue.core.getIssues", z.object({ issueIds: z.array(z.string()) }), { issueIds: "private-token" })).toThrowError(expect.objectContaining({
|
|
52
|
+
type: "invalidInput",
|
|
53
|
+
data: { type: "invalidInput", message: "Invalid Issue Extension input" },
|
|
54
|
+
}));
|
|
55
|
+
});
|
|
50
56
|
//# sourceMappingURL=function-input-validator.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-input-validator.test.js","sourceRoot":"","sources":["../../src/__tests__/function-input-validator.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"function-input-validator.test.js","sourceRoot":"","sources":["../../src/__tests__/function-input-validator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const SDK_EXTENSION_NAMES: readonly ["oauth", "apikey", "config", "calendar", "messaging", "messenger", "command", "widget", "customtab", "hook", "polling", "store", "suggestion", "datasource", "commerce", "order", "wms", "userAuthorization", "alfTask", "notebook"];
|
|
1
|
+
export declare const SDK_EXTENSION_NAMES: readonly ["issue", "oauth", "apikey", "config", "calendar", "messaging", "messenger", "command", "widget", "customtab", "hook", "polling", "store", "suggestion", "datasource", "commerce", "order", "wms", "userAuthorization", "alfTask", "notebook"];
|
|
2
2
|
export type SdkExtensionName = (typeof SDK_EXTENSION_NAMES)[number];
|
|
3
3
|
//# sourceMappingURL=extension-names.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-names.d.ts","sourceRoot":"","sources":["../../src/decorators/extension-names.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"extension-names.d.ts","sourceRoot":"","sources":["../../src/decorators/extension-names.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,yPAsBtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-names.js","sourceRoot":"","sources":["../../src/decorators/extension-names.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,WAAW;IACX,WAAW;IACX,SAAS;IACT,QAAQ;IACR,WAAW;IACX,MAAM;IACN,SAAS;IACT,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,OAAO;IACP,KAAK;IACL,mBAAmB;IACnB,SAAS;IACT,UAAU;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"extension-names.js","sourceRoot":"","sources":["../../src/decorators/extension-names.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,WAAW;IACX,WAAW;IACX,SAAS;IACT,QAAQ;IACR,WAAW;IACX,MAAM;IACN,SAAS;IACT,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,OAAO;IACP,KAAK;IACL,mBAAmB;IACnB,SAAS;IACT,UAAU;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-input-validator.d.ts","sourceRoot":"","sources":["../../src/utils/function-input-validator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"function-input-validator.d.ts","sourceRoot":"","sources":["../../src/utils/function-input-validator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsB7B,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAC3B,MAAM,EAAE,OAAO,GACd,CAAC,CAmBH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ValidationError } from "@channel.io/app-sdk-core";
|
|
1
|
+
import { ValidationError, FunctionCallError, FunctionCallErrorCode, } from "@channel.io/app-sdk-core";
|
|
2
2
|
import { isMessagingExtensionMethod, parseMessagingExtensionInputParams, } from "./messaging-input-normalizer.js";
|
|
3
3
|
function isZodErrorLike(error) {
|
|
4
4
|
return (typeof error === "object" &&
|
|
@@ -16,6 +16,13 @@ export function parseFunctionInputParams(functionName, inputSchema, params) {
|
|
|
16
16
|
}
|
|
17
17
|
catch (error) {
|
|
18
18
|
if (isZodErrorLike(error)) {
|
|
19
|
+
if (functionName.startsWith("extension.issue.core.")) {
|
|
20
|
+
const message = "Invalid Issue Extension input";
|
|
21
|
+
throw new FunctionCallError(message, FunctionCallErrorCode.BadRequest, {
|
|
22
|
+
type: "invalidInput",
|
|
23
|
+
data: { type: "invalidInput", message },
|
|
24
|
+
});
|
|
25
|
+
}
|
|
19
26
|
throw new ValidationError(`Invalid input for function ${functionName}`, error.issues);
|
|
20
27
|
}
|
|
21
28
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-input-validator.js","sourceRoot":"","sources":["../../src/utils/function-input-validator.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"function-input-validator.js","sourceRoot":"","sources":["../../src/utils/function-input-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,GACnC,MAAM,iCAAiC,CAAC;AAOzC,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,UAAU;QACzB,QAAQ,IAAI,KAAK;QACjB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,YAAoB,EACpB,WAA2B,EAC3B,MAAe;IAEf,IAAI,CAAC;QACH,OAAO,0BAA0B,CAAC,YAAY,CAAC;YAC7C,CAAC,CAAC,kCAAkC,CAAC,WAAW,EAAE,MAAM,CAAC;YACzD,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,YAAY,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBACrD,MAAM,OAAO,GAAG,+BAA+B,CAAC;gBAChD,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,CAAC,UAAU,EAAE;oBACrE,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE;iBACxC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,eAAe,CAAC,8BAA8B,YAAY,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@channel.io/app-sdk-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.0",
|
|
4
4
|
"description": "NestJS server SDK for Channel.io apps",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"protobufjs": "^8.7.1",
|
|
26
26
|
"zod": "^3.24.1",
|
|
27
27
|
"zod-to-json-schema": "^3.25.2",
|
|
28
|
-
"@channel.io/app-sdk-core": "0.
|
|
28
|
+
"@channel.io/app-sdk-core": "0.29.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"@google-cloud/bigquery": "^8.3.1",
|