@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.
@@ -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,gPAqBtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
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,4 +1,5 @@
1
1
  export const SDK_EXTENSION_NAMES = [
2
+ "issue",
2
3
  "oauth",
3
4
  "apikey",
4
5
  "config",
@@ -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":"AACA,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,CAYH"}
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,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,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,MAAM,IAAI,eAAe,CAAC,8BAA8B,YAAY,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
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.27.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.27.0"
28
+ "@channel.io/app-sdk-core": "0.29.0"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "@google-cloud/bigquery": "^8.3.1",