@channel.io/app-sdk-server 0.1.1 → 0.3.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__/decorators.test.js +68 -7
- package/dist/__tests__/decorators.test.js.map +1 -1
- package/dist/__tests__/native-client.test.d.ts +2 -0
- package/dist/__tests__/native-client.test.d.ts.map +1 -0
- package/dist/__tests__/native-client.test.js +256 -0
- package/dist/__tests__/native-client.test.js.map +1 -0
- package/dist/__tests__/proxy-api.test.d.ts +2 -0
- package/dist/__tests__/proxy-api.test.d.ts.map +1 -0
- package/dist/__tests__/proxy-api.test.js +273 -0
- package/dist/__tests__/proxy-api.test.js.map +1 -0
- package/dist/__tests__/signature.test.d.ts +2 -0
- package/dist/__tests__/signature.test.d.ts.map +1 -0
- package/dist/__tests__/signature.test.js +172 -0
- package/dist/__tests__/signature.test.js.map +1 -0
- package/dist/__tests__/testing-utils.test.js +2 -2
- package/dist/__tests__/testing-utils.test.js.map +1 -1
- package/dist/__tests__/token-manager.test.d.ts +2 -0
- package/dist/__tests__/token-manager.test.d.ts.map +1 -0
- package/dist/__tests__/token-manager.test.js +624 -0
- package/dist/__tests__/token-manager.test.js.map +1 -0
- package/dist/decorators/extension-names.d.ts +3 -0
- package/dist/decorators/extension-names.d.ts.map +1 -0
- package/dist/decorators/extension-names.js +12 -0
- package/dist/decorators/extension-names.js.map +1 -0
- package/dist/decorators/extension.decorator.d.ts +4 -1
- package/dist/decorators/extension.decorator.d.ts.map +1 -1
- package/dist/decorators/extension.decorator.js +5 -0
- package/dist/decorators/extension.decorator.js.map +1 -1
- package/dist/decorators/function.decorator.d.ts.map +1 -1
- package/dist/decorators/function.decorator.js +3 -0
- package/dist/decorators/function.decorator.js.map +1 -1
- package/dist/decorators/index.d.ts +1 -0
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +2 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/discovery/extension-discovery.service.d.ts +5 -1
- package/dist/discovery/extension-discovery.service.d.ts.map +1 -1
- package/dist/discovery/extension-discovery.service.js +37 -5
- package/dist/discovery/extension-discovery.service.js.map +1 -1
- package/dist/guards/signature.middleware.d.ts +25 -16
- package/dist/guards/signature.middleware.d.ts.map +1 -1
- package/dist/guards/signature.middleware.js +35 -19
- package/dist/guards/signature.middleware.js.map +1 -1
- package/dist/native/client.d.ts +55 -1
- package/dist/native/client.d.ts.map +1 -1
- package/dist/native/client.js +89 -0
- package/dist/native/client.js.map +1 -1
- package/dist/native/index.d.ts +2 -0
- package/dist/native/index.d.ts.map +1 -1
- package/dist/native/index.js +2 -0
- package/dist/native/index.js.map +1 -1
- package/dist/native/proxy-api.d.ts +110 -0
- package/dist/native/proxy-api.d.ts.map +1 -0
- package/dist/native/proxy-api.js +159 -0
- package/dist/native/proxy-api.js.map +1 -0
- package/dist/native/proxy-api.types.d.ts +232 -0
- package/dist/native/proxy-api.types.d.ts.map +1 -0
- package/dist/native/proxy-api.types.js +10 -0
- package/dist/native/proxy-api.types.js.map +1 -0
- package/dist/native/types.d.ts +108 -0
- package/dist/native/types.d.ts.map +1 -1
- package/dist/nestjs/channel-app.service.d.ts +21 -2
- package/dist/nestjs/channel-app.service.d.ts.map +1 -1
- package/dist/nestjs/channel-app.service.js +81 -36
- package/dist/nestjs/channel-app.service.js.map +1 -1
- package/dist/nestjs/channel-app.service.test.d.ts +2 -0
- package/dist/nestjs/channel-app.service.test.d.ts.map +1 -0
- package/dist/nestjs/channel-app.service.test.js +240 -0
- package/dist/nestjs/channel-app.service.test.js.map +1 -0
- package/dist/token/manager.d.ts +33 -1
- package/dist/token/manager.d.ts.map +1 -1
- package/dist/token/manager.js +75 -13
- package/dist/token/manager.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-manager.test.js","sourceRoot":"","sources":["../../src/__tests__/token-manager.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-names.d.ts","sourceRoot":"","sources":["../../src/decorators/extension-names.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,gHAUtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +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,UAAU;IACV,WAAW;IACX,SAAS;IACT,QAAQ;IACR,WAAW;IACX,UAAU;IACV,SAAS;CACD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type SdkExtensionName } from "./extension-names.js";
|
|
1
2
|
export declare const EXTENSION_METADATA: unique symbol;
|
|
2
3
|
export interface ExtensionOptions {
|
|
3
4
|
/** Extension name (e.g., "calendar", "oauth") */
|
|
@@ -29,5 +30,7 @@ export interface ExtensionOptions {
|
|
|
29
30
|
* export class CalendarExtension { ... }
|
|
30
31
|
* ```
|
|
31
32
|
*/
|
|
32
|
-
export declare function Extension(nameOrOptions:
|
|
33
|
+
export declare function Extension(nameOrOptions: SdkExtensionName | (ExtensionOptions & {
|
|
34
|
+
name: SdkExtensionName;
|
|
35
|
+
})): ClassDecorator;
|
|
33
36
|
//# sourceMappingURL=extension.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/extension.decorator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/extension.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAElF,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAE/D,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CACvB,aAAa,EAAE,gBAAgB,GAAG,CAAC,gBAAgB,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAChF,cAAc,CAsBhB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Injectable, SetMetadata } from "@nestjs/common";
|
|
2
|
+
import { SDK_EXTENSION_NAMES } from "./extension-names.js";
|
|
2
3
|
export const EXTENSION_METADATA = Symbol("EXTENSION_METADATA");
|
|
3
4
|
/**
|
|
4
5
|
* Marks a class as a Channel.io App Extension
|
|
@@ -22,6 +23,10 @@ export const EXTENSION_METADATA = Symbol("EXTENSION_METADATA");
|
|
|
22
23
|
*/
|
|
23
24
|
export function Extension(nameOrOptions) {
|
|
24
25
|
const options = typeof nameOrOptions === "string" ? { name: nameOrOptions } : nameOrOptions;
|
|
26
|
+
if (!SDK_EXTENSION_NAMES.includes(options.name)) {
|
|
27
|
+
throw new Error(`@Extension name "${options.name}" is not a valid SDK extension name. ` +
|
|
28
|
+
`Valid: ${SDK_EXTENSION_NAMES.join(", ")}. For custom functions, use @Func() directly.`);
|
|
29
|
+
}
|
|
25
30
|
return (target) => {
|
|
26
31
|
SetMetadata(EXTENSION_METADATA, {
|
|
27
32
|
name: options.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.decorator.js","sourceRoot":"","sources":["../../src/decorators/extension.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"extension.decorator.js","sourceRoot":"","sources":["../../src/decorators/extension.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAyB,MAAM,sBAAsB,CAAC;AAElF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAa/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,SAAS,CACvB,aAAiF;IAEjF,MAAM,OAAO,GACX,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;IAE9E,IAAI,CAAE,mBAAyC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,oBAAoB,OAAO,CAAC,IAAI,uCAAuC;YACrE,UAAU,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAC1F,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,WAAW,CAAC,kBAAkB,EAAE;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;YAC5C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;YACrC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC,MAAM,CAAC,CAAC;QAEX,8CAA8C;QAC9C,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/function.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"function.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/function.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,CAiC9E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
|
+
import { Injectable } from "@nestjs/common";
|
|
2
3
|
export const FUNCTION_METADATA = Symbol("FUNCTION_METADATA");
|
|
3
4
|
export const FUNCTIONS_METADATA = Symbol("FUNCTIONS_METADATA");
|
|
4
5
|
/**
|
|
@@ -39,6 +40,8 @@ export function Func(nameOrOptions) {
|
|
|
39
40
|
existingFunctions.push(propertyKey);
|
|
40
41
|
}
|
|
41
42
|
Reflect.defineMetadata(FUNCTIONS_METADATA, existingFunctions, target.constructor);
|
|
43
|
+
// Auto-apply @Injectable() to the class (idempotent)
|
|
44
|
+
Injectable()(target.constructor);
|
|
42
45
|
return descriptor;
|
|
43
46
|
};
|
|
44
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.decorator.js","sourceRoot":"","sources":["../../src/decorators/function.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"function.decorator.js","sourceRoot":"","sources":["../../src/decorators/function.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAe/D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,IAAI,CAAC,aAAwC;IAC3D,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;QACzC,MAAM,OAAO,GACX,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QAEtF,kDAAkD;QAClD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;QAEzD,MAAM,QAAQ,GAA0B;YACtC,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,WAAW;SACxB,CAAC;QAEF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC7C,CAAC;QAED,+BAA+B;QAC/B,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAErF,qDAAqD;QACrD,MAAM,iBAAiB,GACrB,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAElF,qDAAqD;QACrD,UAAU,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEjC,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { Extension, EXTENSION_METADATA, type ExtensionOptions } from "./extension.decorator.js";
|
|
2
|
+
export { SDK_EXTENSION_NAMES, type SdkExtensionName } from "./extension-names.js";
|
|
2
3
|
export { Func, FUNCTION_METADATA, FUNCTIONS_METADATA, type FunctionOptions, type FunctionMetadataValue, } from "./function.decorator.js";
|
|
3
4
|
export { Ctx, Input, Body, PARAM_METADATA, FunctionParamType, type FunctionParamMetadata, } from "./param.decorator.js";
|
|
4
5
|
export { InputSchema, OutputSchema, Description, INPUT_SCHEMA_METADATA, OUTPUT_SCHEMA_METADATA, DESCRIPTION_METADATA, } from "./schema.decorator.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGhG,OAAO,EACL,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,GAAG,EACH,KAAK,EACL,IAAI,EACJ,cAAc,EACd,iBAAiB,EACjB,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGhG,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGlF,OAAO,EACL,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,GAAG,EACH,KAAK,EACL,IAAI,EACJ,cAAc,EACd,iBAAiB,EACjB,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC"}
|
package/dist/decorators/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// Extension decorator
|
|
2
2
|
export { Extension, EXTENSION_METADATA } from "./extension.decorator.js";
|
|
3
|
+
// SDK extension names
|
|
4
|
+
export { SDK_EXTENSION_NAMES } from "./extension-names.js";
|
|
3
5
|
// Function decorator
|
|
4
6
|
export { Func, FUNCTION_METADATA, FUNCTIONS_METADATA, } from "./function.decorator.js";
|
|
5
7
|
// Parameter decorators
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAyB,MAAM,0BAA0B,CAAC;AAEhG,qBAAqB;AACrB,OAAO,EACL,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,yBAAyB,CAAC;AAEjC,uBAAuB;AACvB,OAAO,EACL,GAAG,EACH,KAAK,EACL,IAAI,EACJ,cAAc,EACd,iBAAiB,GAElB,MAAM,sBAAsB,CAAC;AAE9B,oBAAoB;AACpB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAyB,MAAM,0BAA0B,CAAC;AAEhG,sBAAsB;AACtB,OAAO,EAAE,mBAAmB,EAAyB,MAAM,sBAAsB,CAAC;AAElF,qBAAqB;AACrB,OAAO,EACL,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,yBAAyB,CAAC;AAEjC,uBAAuB;AACvB,OAAO,EACL,GAAG,EACH,KAAK,EACL,IAAI,EACJ,cAAc,EACd,iBAAiB,GAElB,MAAM,sBAAsB,CAAC;AAE9B,oBAAoB;AACpB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC"}
|
|
@@ -14,7 +14,11 @@ export declare class ExtensionDiscoveryService implements OnModuleInit {
|
|
|
14
14
|
*/
|
|
15
15
|
private discoverExtensions;
|
|
16
16
|
/**
|
|
17
|
-
* Discover @
|
|
17
|
+
* Discover standalone @Func decorated classes (no @Extension)
|
|
18
|
+
*/
|
|
19
|
+
private discoverStandaloneFunctions;
|
|
20
|
+
/**
|
|
21
|
+
* Discover @Func decorated methods on a class
|
|
18
22
|
*/
|
|
19
23
|
private discoverFunctions;
|
|
20
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-discovery.service.d.ts","sourceRoot":"","sources":["../../src/discovery/extension-discovery.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAe3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEnF,qBACa,yBAA0B,YAAW,YAAY;IAM1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAN5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IACnE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuC;gBAGrD,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS;IAGvC,YAAY;
|
|
1
|
+
{"version":3,"file":"extension-discovery.service.d.ts","sourceRoot":"","sources":["../../src/discovery/extension-discovery.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAe3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEnF,qBACa,yBAA0B,YAAW,YAAY;IAM1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAN5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IACnE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuC;gBAGrD,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS;IAGvC,YAAY;IAKZ;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0C1B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA+BnC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsFzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwDrB;;OAEG;IACH,aAAa,IAAI,iBAAiB,EAAE;IAIpC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIzD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI3D;;OAEG;IACH,eAAe,IAAI,gBAAgB,EAAE;IAIrC;;OAEG;IACH,aAAa,IAAI,OAAO;CAGzB"}
|
|
@@ -24,6 +24,7 @@ let ExtensionDiscoveryService = ExtensionDiscoveryService_1 = class ExtensionDis
|
|
|
24
24
|
}
|
|
25
25
|
onModuleInit() {
|
|
26
26
|
this.discoverExtensions();
|
|
27
|
+
this.discoverStandaloneFunctions();
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
30
|
* Discover all @Extension decorated classes
|
|
@@ -40,7 +41,7 @@ let ExtensionDiscoveryService = ExtensionDiscoveryService_1 = class ExtensionDis
|
|
|
40
41
|
continue;
|
|
41
42
|
this.logger.log(`Discovered extension: ${extensionMeta.name}`);
|
|
42
43
|
// Discover functions on this extension
|
|
43
|
-
const functions = this.discoverFunctions(instance, metatype, extensionMeta.name);
|
|
44
|
+
const functions = this.discoverFunctions(instance, metatype, `extension.${extensionMeta.name}`);
|
|
44
45
|
const metadata = {
|
|
45
46
|
name: extensionMeta.name,
|
|
46
47
|
systemVersion: extensionMeta.systemVersion ?? "v1",
|
|
@@ -52,15 +53,47 @@ let ExtensionDiscoveryService = ExtensionDiscoveryService_1 = class ExtensionDis
|
|
|
52
53
|
this.extensions.set(extensionMeta.name, metadata);
|
|
53
54
|
// Register functions globally for routing
|
|
54
55
|
for (const func of functions) {
|
|
56
|
+
if (this.functionRegistry.has(func.fullName)) {
|
|
57
|
+
throw new Error(`Duplicate function name "${func.fullName}"`);
|
|
58
|
+
}
|
|
59
|
+
this.functionRegistry.set(func.fullName, func);
|
|
60
|
+
this.logger.debug(`Registered function: ${func.fullName}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Discover standalone @Func decorated classes (no @Extension)
|
|
66
|
+
*/
|
|
67
|
+
discoverStandaloneFunctions() {
|
|
68
|
+
const providers = this.discoveryService.getProviders();
|
|
69
|
+
for (const wrapper of providers) {
|
|
70
|
+
const { instance, metatype } = wrapper;
|
|
71
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
72
|
+
if (!instance || !metatype)
|
|
73
|
+
continue;
|
|
74
|
+
// Skip @Extension classes (already handled)
|
|
75
|
+
if (this.reflector.get(EXTENSION_METADATA, metatype))
|
|
76
|
+
continue;
|
|
77
|
+
// Check for @Func methods
|
|
78
|
+
const functionKeys = Reflect.getMetadata(FUNCTIONS_METADATA, metatype) ?? [];
|
|
79
|
+
if (!functionKeys.length)
|
|
80
|
+
continue;
|
|
81
|
+
this.logger.log(`Discovered standalone functions on: ${metatype.name}`);
|
|
82
|
+
// namePrefix = null → fullName = funcMeta.name (as-is)
|
|
83
|
+
const functions = this.discoverFunctions(instance, metatype, null);
|
|
84
|
+
for (const func of functions) {
|
|
85
|
+
if (this.functionRegistry.has(func.fullName)) {
|
|
86
|
+
throw new Error(`Duplicate function name "${func.fullName}"`);
|
|
87
|
+
}
|
|
55
88
|
this.functionRegistry.set(func.fullName, func);
|
|
56
89
|
this.logger.debug(`Registered function: ${func.fullName}`);
|
|
57
90
|
}
|
|
58
91
|
}
|
|
59
92
|
}
|
|
60
93
|
/**
|
|
61
|
-
* Discover @
|
|
94
|
+
* Discover @Func decorated methods on a class
|
|
62
95
|
*/
|
|
63
|
-
discoverFunctions(instance, metatype,
|
|
96
|
+
discoverFunctions(instance, metatype, namePrefix) {
|
|
64
97
|
const functionKeys = Reflect.getMetadata(FUNCTIONS_METADATA, metatype) ?? [];
|
|
65
98
|
const results = [];
|
|
66
99
|
for (const methodName of functionKeys) {
|
|
@@ -74,7 +107,7 @@ let ExtensionDiscoveryService = ExtensionDiscoveryService_1 = class ExtensionDis
|
|
|
74
107
|
// Get parameter metadata for injection
|
|
75
108
|
const paramMeta = Reflect.getMetadata(PARAM_METADATA, metatype, methodName) ?? [];
|
|
76
109
|
// Build full method name for routing
|
|
77
|
-
const fullName =
|
|
110
|
+
const fullName = namePrefix ? `${namePrefix}.${funcMeta.name}` : funcMeta.name;
|
|
78
111
|
// Convert schemas to JSON Schema
|
|
79
112
|
const inputJsonSchema = inputSchema
|
|
80
113
|
? zodToJsonSchema(inputSchema, { $refStrategy: "none" })
|
|
@@ -148,7 +181,6 @@ let ExtensionDiscoveryService = ExtensionDiscoveryService_1 = class ExtensionDis
|
|
|
148
181
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
149
182
|
return outputSchema.parse(result);
|
|
150
183
|
}
|
|
151
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
152
184
|
return result;
|
|
153
185
|
};
|
|
154
186
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-discovery.service.js","sourceRoot":"","sources":["../../src/discovery/extension-discovery.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAqB,MAAM,EAAa,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,GAGlB,MAAM,wBAAwB,CAAC;AAIzB,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IAMjB;IACA;IANF,MAAM,GAAG,IAAI,MAAM,CAAC,2BAAyB,CAAC,IAAI,CAAC,CAAC;IACpD,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;IAClD,gBAAgB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAExE,YACmB,gBAAkC,EAClC,SAAoB;QADpB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,cAAS,GAAT,SAAS,CAAW;IACpC,CAAC;IAEJ,YAAY;QACV,IAAI,CAAC,kBAAkB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"extension-discovery.service.js","sourceRoot":"","sources":["../../src/discovery/extension-discovery.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,12 +13,30 @@ declare global {
|
|
|
13
13
|
/**
|
|
14
14
|
* Middleware to capture raw request body for signature verification
|
|
15
15
|
*
|
|
16
|
-
* This middleware
|
|
17
|
-
*
|
|
16
|
+
* This middleware uses express.json()'s `verify` callback to capture the raw body
|
|
17
|
+
* buffer before JSON parsing, ensuring the exact bytes sent by ch-app-store are
|
|
18
|
+
* preserved for HMAC signature verification.
|
|
18
19
|
*
|
|
20
|
+
* **Recommended approach** (NestJS v10+): Use the built-in `rawBody` option instead.
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const app = await NestFactory.create(AppModule, { rawBody: true });
|
|
23
|
+
* ```
|
|
24
|
+
* Then access `request.rawBody` directly in the guard.
|
|
25
|
+
*
|
|
26
|
+
* If you cannot use NestJS built-in rawBody, use this middleware:
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* // main.ts - disable default body parser and use this middleware
|
|
30
|
+
* const app = await NestFactory.create(AppModule, {
|
|
31
|
+
* bodyParser: false,
|
|
32
|
+
* });
|
|
33
|
+
*
|
|
34
|
+
* app.use(express.json(jsonWithRawBody()));
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* Or apply as NestJS middleware:
|
|
19
38
|
* @example
|
|
20
39
|
* ```typescript
|
|
21
|
-
* // Apply in NestJS module
|
|
22
40
|
* export class AppModule implements NestModule {
|
|
23
41
|
* configure(consumer: MiddlewareConsumer) {
|
|
24
42
|
* consumer
|
|
@@ -27,18 +45,6 @@ declare global {
|
|
|
27
45
|
* }
|
|
28
46
|
* }
|
|
29
47
|
* ```
|
|
30
|
-
*
|
|
31
|
-
* Or configure globally in main.ts:
|
|
32
|
-
* ```typescript
|
|
33
|
-
* // main.ts - Alternative approach with express
|
|
34
|
-
* import express from 'express';
|
|
35
|
-
*
|
|
36
|
-
* app.use(express.json({
|
|
37
|
-
* verify: (req, res, buf) => {
|
|
38
|
-
* req.rawBody = buf;
|
|
39
|
-
* },
|
|
40
|
-
* }));
|
|
41
|
-
* ```
|
|
42
48
|
*/
|
|
43
49
|
export declare class SignatureMiddleware implements NestMiddleware {
|
|
44
50
|
use(req: Request, _res: Response, next: NextFunction): void;
|
|
@@ -56,7 +62,10 @@ export declare class SignatureMiddleware implements NestMiddleware {
|
|
|
56
62
|
export declare function rawBodyMiddleware(req: Request, _res: Response, next: NextFunction): void;
|
|
57
63
|
/**
|
|
58
64
|
* Create express.json() options with raw body capture
|
|
59
|
-
*
|
|
65
|
+
*
|
|
66
|
+
* This is the recommended middleware approach for signature verification when
|
|
67
|
+
* NestJS built-in rawBody option is not available. It uses express.json()'s
|
|
68
|
+
* `verify` callback to capture the raw buffer synchronously during parsing.
|
|
60
69
|
*
|
|
61
70
|
* @example
|
|
62
71
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.middleware.d.ts","sourceRoot":"","sources":["../../src/guards/signature.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE/D;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,OAAO;YACf,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB;KACF;CACF;AAED
|
|
1
|
+
{"version":3,"file":"signature.middleware.d.ts","sourceRoot":"","sources":["../../src/guards/signature.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE/D;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,OAAO;YACf,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB;KACF;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBACa,mBAAoB,YAAW,cAAc;IACxD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;CAyB5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAsBxF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,IAAI;IACjC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5D,CAMA"}
|
|
@@ -8,12 +8,30 @@ import { Injectable } from "@nestjs/common";
|
|
|
8
8
|
/**
|
|
9
9
|
* Middleware to capture raw request body for signature verification
|
|
10
10
|
*
|
|
11
|
-
* This middleware
|
|
12
|
-
*
|
|
11
|
+
* This middleware uses express.json()'s `verify` callback to capture the raw body
|
|
12
|
+
* buffer before JSON parsing, ensuring the exact bytes sent by ch-app-store are
|
|
13
|
+
* preserved for HMAC signature verification.
|
|
13
14
|
*
|
|
15
|
+
* **Recommended approach** (NestJS v10+): Use the built-in `rawBody` option instead.
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const app = await NestFactory.create(AppModule, { rawBody: true });
|
|
18
|
+
* ```
|
|
19
|
+
* Then access `request.rawBody` directly in the guard.
|
|
20
|
+
*
|
|
21
|
+
* If you cannot use NestJS built-in rawBody, use this middleware:
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* // main.ts - disable default body parser and use this middleware
|
|
25
|
+
* const app = await NestFactory.create(AppModule, {
|
|
26
|
+
* bodyParser: false,
|
|
27
|
+
* });
|
|
28
|
+
*
|
|
29
|
+
* app.use(express.json(jsonWithRawBody()));
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* Or apply as NestJS middleware:
|
|
14
33
|
* @example
|
|
15
34
|
* ```typescript
|
|
16
|
-
* // Apply in NestJS module
|
|
17
35
|
* export class AppModule implements NestModule {
|
|
18
36
|
* configure(consumer: MiddlewareConsumer) {
|
|
19
37
|
* consumer
|
|
@@ -22,26 +40,15 @@ import { Injectable } from "@nestjs/common";
|
|
|
22
40
|
* }
|
|
23
41
|
* }
|
|
24
42
|
* ```
|
|
25
|
-
*
|
|
26
|
-
* Or configure globally in main.ts:
|
|
27
|
-
* ```typescript
|
|
28
|
-
* // main.ts - Alternative approach with express
|
|
29
|
-
* import express from 'express';
|
|
30
|
-
*
|
|
31
|
-
* app.use(express.json({
|
|
32
|
-
* verify: (req, res, buf) => {
|
|
33
|
-
* req.rawBody = buf;
|
|
34
|
-
* },
|
|
35
|
-
* }));
|
|
36
|
-
* ```
|
|
37
43
|
*/
|
|
38
44
|
let SignatureMiddleware = class SignatureMiddleware {
|
|
39
45
|
use(req, _res, next) {
|
|
40
|
-
// If rawBody already exists (set by another middleware), skip
|
|
46
|
+
// If rawBody already exists (set by NestJS rawBody option or another middleware), skip
|
|
41
47
|
if (req.rawBody) {
|
|
42
48
|
next();
|
|
43
49
|
return;
|
|
44
50
|
}
|
|
51
|
+
// Collect raw body chunks and wait for the full body before calling next()
|
|
45
52
|
const chunks = [];
|
|
46
53
|
req.on("data", (chunk) => {
|
|
47
54
|
chunks.push(chunk);
|
|
@@ -50,8 +57,11 @@ let SignatureMiddleware = class SignatureMiddleware {
|
|
|
50
57
|
if (chunks.length > 0) {
|
|
51
58
|
req.rawBody = Buffer.concat(chunks);
|
|
52
59
|
}
|
|
60
|
+
next();
|
|
61
|
+
});
|
|
62
|
+
req.on("error", (err) => {
|
|
63
|
+
next(err);
|
|
53
64
|
});
|
|
54
|
-
next();
|
|
55
65
|
}
|
|
56
66
|
};
|
|
57
67
|
SignatureMiddleware = __decorate([
|
|
@@ -81,12 +91,18 @@ export function rawBodyMiddleware(req, _res, next) {
|
|
|
81
91
|
if (chunks.length > 0) {
|
|
82
92
|
req.rawBody = Buffer.concat(chunks);
|
|
83
93
|
}
|
|
94
|
+
next();
|
|
95
|
+
});
|
|
96
|
+
req.on("error", (err) => {
|
|
97
|
+
next(err);
|
|
84
98
|
});
|
|
85
|
-
next();
|
|
86
99
|
}
|
|
87
100
|
/**
|
|
88
101
|
* Create express.json() options with raw body capture
|
|
89
|
-
*
|
|
102
|
+
*
|
|
103
|
+
* This is the recommended middleware approach for signature verification when
|
|
104
|
+
* NestJS built-in rawBody option is not available. It uses express.json()'s
|
|
105
|
+
* `verify` callback to capture the raw buffer synchronously during parsing.
|
|
90
106
|
*
|
|
91
107
|
* @example
|
|
92
108
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.middleware.js","sourceRoot":"","sources":["../../src/guards/signature.middleware.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AAcjE
|
|
1
|
+
{"version":3,"file":"signature.middleware.js","sourceRoot":"","sources":["../../src/guards/signature.middleware.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AAcjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;QAClD,uFAAuF;QACvF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,2EAA2E;QAC3E,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA1BY,mBAAmB;IAD/B,UAAU,EAAE;GACA,mBAAmB,CA0B/B;;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;IAChF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,EAAE,CAAC;QACP,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACjB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,eAAe;IAG7B,OAAO;QACL,MAAM,EAAE,CAAC,GAAY,EAAE,IAAc,EAAE,GAAW,EAAE,EAAE;YACpD,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/native/client.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { NativeFunctionClientConfig, FunctionContext, IssueTokenResult, RegisterCommandsResult, CommandDTO } from "./types.js";
|
|
1
|
+
import type { NativeFunctionClientConfig, FunctionContext, IssueTokenResult, RegisterCommandsResult, CommandDTO, NativeRegisterExtensionResult, NativeUnregisterExtensionResult, RegisterAlfTasksResult, GetAlfTaskVersionsResult } from "./types.js";
|
|
2
|
+
import { ProxyApi } from "./proxy-api.js";
|
|
2
3
|
/**
|
|
3
4
|
* Native Function Client for ch-app-store
|
|
4
5
|
*
|
|
@@ -55,6 +56,59 @@ export declare class NativeFunctionClient {
|
|
|
55
56
|
* @returns Registration result
|
|
56
57
|
*/
|
|
57
58
|
registerCommands(commands: CommandDTO[]): Promise<RegisterCommandsResult>;
|
|
59
|
+
/**
|
|
60
|
+
* Register an extension for the app
|
|
61
|
+
*
|
|
62
|
+
* @param extensionName Extension name (e.g., "calendar", "oauth")
|
|
63
|
+
* @param systemVersion System version (e.g., "v1")
|
|
64
|
+
* @returns Registration result
|
|
65
|
+
*/
|
|
66
|
+
registerExtension(extensionName: string, systemVersion: string): Promise<NativeRegisterExtensionResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Unregister an extension for the app
|
|
69
|
+
*
|
|
70
|
+
* @param extensionName Extension name
|
|
71
|
+
* @param systemVersion System version
|
|
72
|
+
* @returns Unregistration result
|
|
73
|
+
*/
|
|
74
|
+
unregisterExtension(extensionName: string, systemVersion: string): Promise<NativeUnregisterExtensionResult>;
|
|
75
|
+
/**
|
|
76
|
+
* Register ALF tasks for the app
|
|
77
|
+
*
|
|
78
|
+
* Triggers ch-app-store to call the app's alftask.getTasks function
|
|
79
|
+
* and register the returned tasks.
|
|
80
|
+
*
|
|
81
|
+
* @returns Registration result with counts
|
|
82
|
+
*/
|
|
83
|
+
registerAlfTasks(): Promise<RegisterAlfTasksResult>;
|
|
84
|
+
/**
|
|
85
|
+
* Get ALF task versions for the app
|
|
86
|
+
*
|
|
87
|
+
* @returns Task version list
|
|
88
|
+
*/
|
|
89
|
+
getAlfTaskVersions(): Promise<GetAlfTaskVersionsResult>;
|
|
90
|
+
/**
|
|
91
|
+
* Create a typed ProxyAPI wrapper for Channel Talk core API functions
|
|
92
|
+
*
|
|
93
|
+
* All proxy functions are PRIVATE and require an access token.
|
|
94
|
+
* Use `issueToken()` to obtain a token first.
|
|
95
|
+
*
|
|
96
|
+
* @param accessToken Access token obtained from `issueToken()`
|
|
97
|
+
* @returns Typed ProxyAPI instance
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const { accessToken } = await client.issueToken({ channelId: 'ch-123' });
|
|
102
|
+
* const api = client.createProxyApi(accessToken);
|
|
103
|
+
*
|
|
104
|
+
* const { message } = await api.writeGroupMessage({
|
|
105
|
+
* channelId: 'ch-123',
|
|
106
|
+
* groupId: 'group-456',
|
|
107
|
+
* dto: { plainText: 'Hello!' },
|
|
108
|
+
* });
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
createProxyApi(accessToken: string): ProxyApi;
|
|
58
112
|
/**
|
|
59
113
|
* Call any native function (no authentication required for public functions)
|
|
60
114
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/native/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAG1B,eAAe,EAEf,gBAAgB,EAGhB,sBAAsB,EACtB,UAAU,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/native/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAG1B,eAAe,EAEf,gBAAgB,EAGhB,sBAAsB,EACtB,UAAU,EAEV,6BAA6B,EAE7B,+BAA+B,EAE/B,sBAAsB,EAEtB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGM;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAEpB,MAAM,EAAE,0BAA0B;IAY9C;;;;;OAKG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IASvE;;;;;OAKG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU7D;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAezE;;;;;;OAMG;IACH,iBAAiB,CACf,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,6BAA6B,CAAC;IAYzC;;;;;;OAMG;IACH,mBAAmB,CACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,+BAA+B,CAAC;IAgB3C;;;;;;;OAOG;IACH,gBAAgB,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAUnD;;;;OAIG;IACH,kBAAkB,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAcvD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ;IAQ7C;;;;;;OAMG;IACG,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAqB9F;;;;;;;;OAQG;IACG,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAChD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;IAsBnB;;;;;;;;;;OAUG;IACG,eAAe,CAAC,OAAO,EAAE,OAAO,EACpC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC;IAwBnB;;OAEG;YACW,cAAc;IAyB5B;;OAEG;IACH,OAAO,CAAC,GAAG;CASZ;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,IAAI,CAAC,EAAE,MAAM;aACb,YAAY,CAAC,EAAE,MAAM;gBAFrC,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,YAAY,CAAC,EAAE,MAAM,YAAA;CAKxC"}
|