@channel.io/app-sdk-server 0.3.0 → 0.4.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.
@@ -4,121 +4,134 @@ import { ProxyApi } from "./proxy-api.js";
4
4
  */
5
5
  const DEFAULT_APPSTORE_URL = "https://app-store.channel.io";
6
6
  /**
7
- * Native Function Client for ch-app-store
7
+ * HTTP transport client for ch-app-store native functions.
8
8
  *
9
- * Allows app servers to call PUBLIC native functions provided by ch-app-store.
10
- * Public functions don't require special RBAC claims.
9
+ * Stateless — holds no app credentials. Callers are responsible for
10
+ * supplying `appId`, `appSecret`, and `accessToken` at each call site,
11
+ * which keeps token lifecycle management (caching, refresh) in the caller layer.
12
+ *
13
+ * Most methods require a valid `accessToken` obtained via `issueToken()`.
14
+ * `issueToken` and `refreshToken` share the same rate limit (10 calls / 30 min),
15
+ * so callers should cache the token pair and prefer `refreshToken` on renewal.
11
16
  *
12
17
  * @example
13
18
  * ```typescript
14
19
  * import { NativeFunctionClient } from '@channel.io/app-sdk-server';
15
20
  *
16
- * const client = new NativeFunctionClient({
17
- * appId: process.env.APP_ID,
18
- * appSecret: process.env.APP_SECRET,
19
- * });
21
+ * const client = new NativeFunctionClient();
20
22
  *
21
- * // Issue a token
22
- * const token = await client.issueToken({ channelId: 'channel-123' });
23
+ * // Issue a token (app-scoped)
24
+ * const { accessToken, refreshToken, expiresIn } = await client.issueToken(APP_SECRET);
23
25
  *
24
26
  * // Register commands
25
- * await client.registerCommands([
27
+ * await client.registerCommands(APP_ID, [
26
28
  * {
27
29
  * name: 'hello',
28
30
  * scope: 'desk',
29
31
  * actionFunctionName: 'hello.action',
30
32
  * alfMode: 'disable',
31
33
  * },
32
- * ]);
34
+ * ], accessToken);
33
35
  * ```
34
36
  */
35
37
  export class NativeFunctionClient {
36
- config;
38
+ appStoreUrl;
37
39
  debug;
38
- constructor(config) {
39
- this.config = {
40
- ...config,
41
- appStoreUrl: config.appStoreUrl ?? DEFAULT_APPSTORE_URL,
42
- };
40
+ constructor(config = {}) {
41
+ this.appStoreUrl = config.appStoreUrl ?? DEFAULT_APPSTORE_URL;
43
42
  this.debug = config.debug ?? false;
44
43
  }
45
44
  // ============================================
46
- // Auth Functions (PUBLIC)
45
+ // Auth Functions
47
46
  // ============================================
48
47
  /**
49
- * Issue an access token
48
+ * Issue an app-level or channel-scoped access token.
50
49
  *
51
- * @param options Token issuance options (channelId is optional)
52
- * @returns Token response
50
+ * Shares the same rate limit as `refreshToken` (10 calls / 30 min per app).
51
+ * Cache the returned token pair and call `refreshToken` on renewal to avoid
52
+ * burning this quota unnecessarily.
53
+ *
54
+ * @param secret App secret (`APP_SECRET`)
55
+ * @param options Pass `channelId` for a channel-scoped token; omit for app-scoped
56
+ * @returns Token pair with `accessToken`, `refreshToken`, and `expiresIn` (seconds)
53
57
  */
54
- issueToken(options) {
58
+ issueToken(secret, options) {
55
59
  const params = {
56
- secret: this.config.appSecret,
60
+ secret,
57
61
  ...(options?.channelId && { channelId: options.channelId }),
58
62
  };
59
63
  return this.callNativeFunction("issueToken", params);
60
64
  }
61
65
  /**
62
- * Refresh an access token
66
+ * Renew an access token using a refresh token.
67
+ *
68
+ * Prefer this over `issueToken` on renewal — both share the same rate limit
69
+ * (10 calls / 30 min), but `refreshToken` does not consume the app secret quota.
63
70
  *
64
- * @param refreshToken The refresh token
65
- * @returns New token response
71
+ * @param refreshToken Refresh token from a previous `issueToken` or `refreshToken` call
72
+ * @returns New token pair
66
73
  */
67
74
  refreshToken(refreshToken) {
68
75
  const params = { refreshToken };
69
76
  return this.callNativeFunction("refreshToken", params);
70
77
  }
71
78
  // ============================================
72
- // Command Functions (PUBLIC)
79
+ // Command Functions
73
80
  // ============================================
74
81
  /**
75
82
  * Register slash commands for the app
76
83
  *
84
+ * @param appId App ID
77
85
  * @param commands Commands to register (max 30)
86
+ * @param accessToken Access token (required for RBAC)
78
87
  * @returns Registration result
79
88
  */
80
- registerCommands(commands) {
89
+ registerCommands(appId, commands, accessToken) {
81
90
  const params = {
82
- appId: this.config.appId,
91
+ appId,
83
92
  commands,
84
93
  };
85
- return this.callNativeFunction("registerCommands", params);
94
+ return this.callNativeFunctionWithToken("registerCommands", params, accessToken);
86
95
  }
87
96
  // ============================================
88
- // Extension Functions (PUBLIC)
97
+ // Extension Functions
89
98
  // ============================================
90
99
  /**
91
100
  * Register an extension for the app
92
101
  *
102
+ * @param appId App ID
93
103
  * @param extensionName Extension name (e.g., "calendar", "oauth")
94
104
  * @param systemVersion System version (e.g., "v1")
105
+ * @param accessToken Access token (required for RBAC)
95
106
  * @returns Registration result
96
107
  */
97
- registerExtension(extensionName, systemVersion) {
108
+ registerExtension(appId, extensionName, systemVersion, accessToken) {
98
109
  const params = {
99
- appId: this.config.appId,
110
+ appId,
100
111
  systemVersion,
101
112
  extensionName,
102
113
  };
103
- return this.callNativeFunction("registerExtension", params);
114
+ return this.callNativeFunctionWithToken("registerExtension", params, accessToken);
104
115
  }
105
116
  /**
106
117
  * Unregister an extension for the app
107
118
  *
119
+ * @param appId App ID
108
120
  * @param extensionName Extension name
109
121
  * @param systemVersion System version
122
+ * @param accessToken Access token (required for RBAC)
110
123
  * @returns Unregistration result
111
124
  */
112
- unregisterExtension(extensionName, systemVersion) {
125
+ unregisterExtension(appId, extensionName, systemVersion, accessToken) {
113
126
  const params = {
114
- appId: this.config.appId,
127
+ appId,
115
128
  systemVersion,
116
129
  extensionName,
117
130
  };
118
- return this.callNativeFunction("unregisterExtension", params);
131
+ return this.callNativeFunctionWithToken("unregisterExtension", params, accessToken);
119
132
  }
120
133
  // ============================================
121
- // ALF Task Functions (PUBLIC)
134
+ // ALF Task Functions
122
135
  // ============================================
123
136
  /**
124
137
  * Register ALF tasks for the app
@@ -126,40 +139,40 @@ export class NativeFunctionClient {
126
139
  * Triggers ch-app-store to call the app's alftask.getTasks function
127
140
  * and register the returned tasks.
128
141
  *
142
+ * @param appId App ID
143
+ * @param accessToken Access token (required for RBAC)
129
144
  * @returns Registration result with counts
130
145
  */
131
- registerAlfTasks() {
132
- const params = {
133
- appId: this.config.appId,
134
- };
135
- return this.callNativeFunction("registerAlfTasks", params);
146
+ registerAlfTasks(appId, accessToken) {
147
+ const params = { appId };
148
+ return this.callNativeFunctionWithToken("registerAlfTasks", params, accessToken);
136
149
  }
137
150
  /**
138
151
  * Get ALF task versions for the app
139
152
  *
153
+ * @param appId App ID
154
+ * @param accessToken Access token (required for RBAC)
140
155
  * @returns Task version list
141
156
  */
142
- getAlfTaskVersions() {
143
- const params = {
144
- appId: this.config.appId,
145
- };
146
- return this.callNativeFunction("getAlfTaskVersions", params);
157
+ getAlfTaskVersions(appId, accessToken) {
158
+ const params = { appId };
159
+ return this.callNativeFunctionWithToken("getAlfTaskVersions", params, accessToken);
147
160
  }
148
161
  // ============================================
149
162
  // ProxyAPI (typed wrappers for core API)
150
163
  // ============================================
151
164
  /**
152
- * Create a typed ProxyAPI wrapper for Channel Talk core API functions
165
+ * Create a typed ProxyAPI wrapper for Channel Talk core API functions.
153
166
  *
154
- * All proxy functions are PRIVATE and require an access token.
155
- * Use `issueToken()` to obtain a token first.
167
+ * All proxy functions require a channel-scoped access token.
168
+ * Use `issueToken(secret, { channelId })` to obtain one first.
156
169
  *
157
- * @param accessToken Access token obtained from `issueToken()`
170
+ * @param accessToken Channel-scoped access token
158
171
  * @returns Typed ProxyAPI instance
159
172
  *
160
173
  * @example
161
174
  * ```typescript
162
- * const { accessToken } = await client.issueToken({ channelId: 'ch-123' });
175
+ * const { accessToken } = await client.issueToken(APP_SECRET, { channelId: 'ch-123' });
163
176
  * const api = client.createProxyApi(accessToken);
164
177
  *
165
178
  * const { message } = await api.writeGroupMessage({
@@ -183,7 +196,7 @@ export class NativeFunctionClient {
183
196
  * @returns Function result
184
197
  */
185
198
  async callNativeFunction(method, params) {
186
- const url = `${this.config.appStoreUrl}/general/v1/native/functions`;
199
+ const url = `${this.appStoreUrl}/general/v1/native/functions`;
187
200
  const request = {
188
201
  method,
189
202
  ...(params && { params }),
@@ -208,7 +221,7 @@ export class NativeFunctionClient {
208
221
  * @returns Function result
209
222
  */
210
223
  async callNativeFunctionWithToken(method, params, accessToken) {
211
- const url = `${this.config.appStoreUrl}/general/v1/native/functions`;
224
+ const url = `${this.appStoreUrl}/general/v1/native/functions`;
212
225
  const request = {
213
226
  method,
214
227
  params,
@@ -236,7 +249,7 @@ export class NativeFunctionClient {
236
249
  * @returns Function result
237
250
  */
238
251
  async callAppFunction(appId, method, params, context, accessToken, systemVersion) {
239
- const url = `${this.config.appStoreUrl}/general/v1/apps/${appId}/functions`;
252
+ const url = `${this.appStoreUrl}/general/v1/apps/${appId}/functions`;
240
253
  const request = {
241
254
  method,
242
255
  params,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/native/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/native/client.ts"],"names":[],"mappings":"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"}
@@ -8,40 +8,19 @@
8
8
  * Native function client configuration
9
9
  */
10
10
  export interface NativeFunctionClientConfig {
11
- /** App ID */
12
- appId: string;
13
- /** App secret */
14
- appSecret: string;
15
11
  /** AppStore API base URL (default: https://app-store.channel.io) */
16
12
  appStoreUrl?: string | undefined;
17
13
  /** Enable debug logging */
18
14
  debug?: boolean | undefined;
19
15
  }
20
- /**
21
- * Function call context
22
- */
23
- export interface FunctionContext {
24
- /** Channel information */
25
- channel: {
26
- id: string;
27
- };
28
- /** Caller information */
29
- caller: {
30
- type: "user" | "manager" | "system";
31
- id: string;
32
- };
33
- /** OAuth token (optional) */
34
- authToken?: string;
35
- /** API credentials (optional) */
36
- apiCredentials?: Record<string, string>;
37
- }
16
+ import type { Context } from "@channel.io/app-sdk-core";
38
17
  /**
39
18
  * Native function request
40
19
  */
41
20
  export interface NativeFunctionRequest<TParams = unknown> {
42
21
  method: string;
43
22
  params?: TParams;
44
- context?: FunctionContext;
23
+ context?: Context;
45
24
  systemVersion?: string;
46
25
  }
47
26
  /**
@@ -74,7 +53,6 @@ export interface IssueTokenResult {
74
53
  accessToken: string;
75
54
  refreshToken: string;
76
55
  expiresIn: number;
77
- expiresAt?: number;
78
56
  }
79
57
  /**
80
58
  * Refresh token params
@@ -189,12 +167,9 @@ export interface RegisterCommandsParams {
189
167
  commands: CommandDTO[];
190
168
  }
191
169
  /**
192
- * Register commands result
170
+ * Register commands result (ch-app-store returns void)
193
171
  */
194
- export interface RegisterCommandsResult {
195
- /** Whether registration succeeded */
196
- success: boolean;
197
- }
172
+ export type RegisterCommandsResult = Record<string, never>;
198
173
  /**
199
174
  * Register extension params (native function, camelCase)
200
175
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/native/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/native/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { type OnModuleInit } from "@nestjs/common";
1
+ import { type OnApplicationBootstrap, type OnModuleInit } from "@nestjs/common";
2
+ import { HttpAdapterHost } from "@nestjs/core";
2
3
  import { type FunctionCallRequest, type FunctionCallResponse, type GetFunctionsResponse } from "@channel.io/app-sdk-core";
3
4
  import { type ChannelAppModuleOptions } from "./types.js";
4
5
  import { ExtensionDiscoveryService } from "../discovery/extension-discovery.service.js";
@@ -10,12 +11,27 @@ export declare class VersionMismatchError extends Error {
10
11
  readonly availableVersions: string[];
11
12
  constructor(requestedVersion: string, availableVersions: string[]);
12
13
  }
13
- export declare class ChannelAppService implements OnModuleInit {
14
+ export declare class ChannelAppService implements OnModuleInit, OnApplicationBootstrap {
14
15
  private readonly options;
16
+ private readonly httpAdapterHost;
15
17
  private readonly discoveryService?;
16
18
  private readonly logger;
17
- constructor(options: ChannelAppModuleOptions, discoveryService?: ExtensionDiscoveryService | undefined);
18
- onModuleInit(): Promise<void>;
19
+ private readonly nativeClient;
20
+ private cachedToken;
21
+ constructor(options: ChannelAppModuleOptions, httpAdapterHost: HttpAdapterHost, discoveryService?: ExtensionDiscoveryService | undefined);
22
+ /**
23
+ * Returns a valid app-level access token.
24
+ *
25
+ * Flow:
26
+ * 1. Return cached accessToken if still valid (with 5-min buffer).
27
+ * 2. Use refreshToken to renew if available (preserves issueToken rate limit).
28
+ * 3. Fall back to issueToken only on first call or when refresh fails.
29
+ *
30
+ * issueToken and refreshToken share the same rate limit (10 calls / 30 min).
31
+ */
32
+ private getAccessToken;
33
+ onModuleInit(): void;
34
+ onApplicationBootstrap(): void;
19
35
  /**
20
36
  * Default extension name used when no @Extension decorators are found.
21
37
  * Apps that only use native functions (e.g., cron bots) still need to
@@ -27,7 +43,11 @@ export declare class ChannelAppService implements OnModuleInit {
27
43
  */
28
44
  static readonly DEFAULT_SYSTEM_VERSION = "v1";
29
45
  /**
30
- * Auto-register all extensions with the AppStore.
46
+ * Register all extensions with the AppStore.
47
+ *
48
+ * Call this after `app.listen()` to ensure the HTTP server is ready before
49
+ * AppStore attempts its getFunctions callback.
50
+ *
31
51
  * If no extensions are discovered via decorators, automatically registers
32
52
  * a "core" extension so that extension-less apps (e.g., cron bots) can
33
53
  * still have a system version registered.
@@ -1 +1 @@
1
- {"version":3,"file":"channel-app.service.d.ts","sourceRoot":"","sources":["../../src/nestjs/channel-app.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AACzF,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAEzB,KAAK,oBAAoB,EAE1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,KAAK,uBAAuB,EAE7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAExF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aAE3B,gBAAgB,EAAE,MAAM;aACxB,iBAAiB,EAAE,MAAM,EAAE;gBAD3B,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,EAAE;CAO9C;AAED,qBACa,iBAAkB,YAAW,YAAY;IAKlD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IANpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;gBAI1C,OAAO,EAAE,uBAAuB,EAEhC,gBAAgB,CAAC,EAAE,yBAAyB,YAAA;IAGzD,YAAY;IAsClB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,mBAAmB,UAAU;IAE7C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,sBAAsB,QAAQ;IAE9C;;;;;OAKG;YACW,sBAAsB;IAuCpC;;OAEG;YACW,uBAAuB;IA2CrC;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAejC;;;;OAIG;IACG,kBAAkB,CACtB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC;IAyBhC;;OAEG;IACH,YAAY,IAAI,oBAAoB;IA6BpC;;OAEG;IACH,YAAY;;;CAKb"}
1
+ {"version":3,"file":"channel-app.service.d.ts","sourceRoot":"","sources":["../../src/nestjs/channel-app.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EAGlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAEzB,KAAK,oBAAoB,EAE1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,KAAK,uBAAuB,EAE7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAExF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aAE3B,gBAAgB,EAAE,MAAM;aACxB,iBAAiB,EAAE,MAAM,EAAE;gBAD3B,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,EAAE;CAO9C;AAED,qBACa,iBAAkB,YAAW,YAAY,EAAE,sBAAsB;IAY1E,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAdpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IAEpD,OAAO,CAAC,WAAW,CAIH;gBAIG,OAAO,EAAE,uBAAuB,EAChC,eAAe,EAAE,eAAe,EAEhC,gBAAgB,CAAC,EAAE,yBAAyB,YAAA;IAQ/D;;;;;;;;;OASG;YACW,cAAc;IAsB5B,YAAY;IAiCZ,sBAAsB;IAWtB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,mBAAmB,UAAU;IAE7C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,sBAAsB,QAAQ;IAE9C;;;;;;;;;OASG;YACW,sBAAsB;IAkCpC;;OAEG;YACW,uBAAuB;IA6CrC;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAejC;;;;OAIG;IACG,kBAAkB,CACtB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC;IA8BhC;;OAEG;IACH,YAAY,IAAI,oBAAoB;IA6BpC;;OAEG;IACH,YAAY;;;CAKb"}
@@ -11,10 +11,11 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  var ChannelAppService_1;
14
- import { Inject, Injectable, Logger, Optional } from "@nestjs/common";
14
+ import { Inject, Injectable, Logger, Optional, } from "@nestjs/common";
15
+ import { HttpAdapterHost } from "@nestjs/core";
15
16
  import { FunctionNotFoundError, } from "@channel.io/app-sdk-core";
16
17
  import { CHANNEL_APP_OPTIONS, } from "./types.js";
17
- import { AppStoreClient } from "../appstore/client.js";
18
+ import { NativeFunctionClient } from "../native/client.js";
18
19
  import { ExtensionDiscoveryService } from "../discovery/extension-discovery.service.js";
19
20
  /**
20
21
  * Version mismatch error for when a function call targets the wrong version
@@ -32,13 +33,50 @@ export class VersionMismatchError extends Error {
32
33
  let ChannelAppService = class ChannelAppService {
33
34
  static { ChannelAppService_1 = this; }
34
35
  options;
36
+ httpAdapterHost;
35
37
  discoveryService;
36
38
  logger = new Logger(ChannelAppService_1.name);
37
- constructor(options, discoveryService) {
39
+ nativeClient;
40
+ cachedToken = null;
41
+ constructor(options, httpAdapterHost, discoveryService) {
38
42
  this.options = options;
43
+ this.httpAdapterHost = httpAdapterHost;
39
44
  this.discoveryService = discoveryService;
45
+ this.nativeClient = new NativeFunctionClient({
46
+ appStoreUrl: this.options.appStoreUrl,
47
+ debug: this.options.debug,
48
+ });
49
+ }
50
+ /**
51
+ * Returns a valid app-level access token.
52
+ *
53
+ * Flow:
54
+ * 1. Return cached accessToken if still valid (with 5-min buffer).
55
+ * 2. Use refreshToken to renew if available (preserves issueToken rate limit).
56
+ * 3. Fall back to issueToken only on first call or when refresh fails.
57
+ *
58
+ * issueToken and refreshToken share the same rate limit (10 calls / 30 min).
59
+ */
60
+ async getAccessToken() {
61
+ const bufferMs = 5 * 60 * 1000;
62
+ if (this.cachedToken && Date.now() < this.cachedToken.expiresAt - bufferMs) {
63
+ return this.cachedToken.accessToken;
64
+ }
65
+ if (this.cachedToken?.refreshToken) {
66
+ try {
67
+ const pair = await this.nativeClient.refreshToken(this.cachedToken.refreshToken);
68
+ this.cachedToken = { ...pair, expiresAt: Date.now() + pair.expiresIn * 1000 };
69
+ return pair.accessToken;
70
+ }
71
+ catch {
72
+ // fall through to issueToken
73
+ }
74
+ }
75
+ const pair = await this.nativeClient.issueToken(this.options.appSecret);
76
+ this.cachedToken = { ...pair, expiresAt: Date.now() + pair.expiresIn * 1000 };
77
+ return pair.accessToken;
40
78
  }
41
- async onModuleInit() {
79
+ onModuleInit() {
42
80
  // Log discovered extensions
43
81
  if (this.discoveryService?.hasExtensions()) {
44
82
  const extensions = this.discoveryService.getExtensions();
@@ -64,9 +102,15 @@ let ChannelAppService = class ChannelAppService {
64
102
  if (standaloneFunctionCount > 0) {
65
103
  this.logger.log(`Discovered ${standaloneFunctionCount} standalone function(s)`);
66
104
  }
67
- // Auto-register extensions with AppStore if enabled
105
+ }
106
+ onApplicationBootstrap() {
68
107
  if (this.options.autoRegister) {
69
- await this.autoRegisterExtensions();
108
+ // Register extensions only after the HTTP server starts listening.
109
+ // AppStore calls back into our app (e.g., getFunctions) immediately after
110
+ // registration, so the server must be ready to accept requests first.
111
+ const server = this.httpAdapterHost.httpAdapter.getHttpServer();
112
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
113
+ server.once("listening", () => this.autoRegisterExtensions());
70
114
  }
71
115
  }
72
116
  /**
@@ -80,28 +124,27 @@ let ChannelAppService = class ChannelAppService {
80
124
  */
81
125
  static DEFAULT_SYSTEM_VERSION = "v1";
82
126
  /**
83
- * Auto-register all extensions with the AppStore.
127
+ * Register all extensions with the AppStore.
128
+ *
129
+ * Call this after `app.listen()` to ensure the HTTP server is ready before
130
+ * AppStore attempts its getFunctions callback.
131
+ *
84
132
  * If no extensions are discovered via decorators, automatically registers
85
133
  * a "core" extension so that extension-less apps (e.g., cron bots) can
86
134
  * still have a system version registered.
87
135
  */
88
136
  async autoRegisterExtensions() {
89
- const client = new AppStoreClient({
90
- appId: this.options.appId,
91
- appSecret: this.options.appSecret,
92
- appStoreUrl: this.options.appStoreUrl,
93
- debug: this.options.debug,
94
- });
137
+ const accessToken = await this.getAccessToken();
95
138
  const results = [];
96
139
  const extensions = this.discoveryService?.getExtensions() ?? [];
97
140
  // If no extensions discovered, register "core" extension as fallback
98
141
  if (extensions.length === 0) {
99
142
  this.logger.log("No extensions discovered. Auto-registering core extension for system version registration.");
100
- await this.registerSingleExtension(client, ChannelAppService_1.CORE_EXTENSION_NAME, ChannelAppService_1.DEFAULT_SYSTEM_VERSION, results);
143
+ await this.registerSingleExtension(accessToken, ChannelAppService_1.CORE_EXTENSION_NAME, ChannelAppService_1.DEFAULT_SYSTEM_VERSION, results);
101
144
  }
102
145
  else {
103
146
  for (const extension of extensions) {
104
- await this.registerSingleExtension(client, extension.name, extension.systemVersion, results);
147
+ await this.registerSingleExtension(accessToken, extension.name, extension.systemVersion, results);
105
148
  }
106
149
  }
107
150
  // Call callback if provided
@@ -112,13 +155,10 @@ let ChannelAppService = class ChannelAppService {
112
155
  /**
113
156
  * Register a single extension with the AppStore and collect the result.
114
157
  */
115
- async registerSingleExtension(client, extensionName, systemVersion, results) {
158
+ async registerSingleExtension(accessToken, extensionName, systemVersion, results) {
116
159
  try {
117
160
  this.logger.log(`Auto-registering extension: ${extensionName} (${systemVersion})`);
118
- const result = await client.registerExtension({
119
- extensionName,
120
- systemVersion,
121
- });
161
+ const result = await this.nativeClient.registerExtension(this.options.appId, extensionName, systemVersion, accessToken);
122
162
  if (result.success) {
123
163
  this.logger.log(`Successfully registered extension: ${extensionName}`);
124
164
  results.push({
@@ -128,7 +168,7 @@ let ChannelAppService = class ChannelAppService {
128
168
  });
129
169
  }
130
170
  else {
131
- const errorMsg = result.error_message ?? result.validation_errors?.join(", ") ?? "Unknown error";
171
+ const errorMsg = result.errorMessage ?? result.validationErrors?.join(", ") ?? "Unknown error";
132
172
  this.logger.warn(`Failed to register extension ${extensionName}: ${errorMsg}`);
133
173
  results.push({
134
174
  extensionName,
@@ -185,9 +225,13 @@ let ChannelAppService = class ChannelAppService {
185
225
  }
186
226
  if (this.options.debug) {
187
227
  this.logger.debug(`Calling function: ${method}`);
228
+ this.logger.debug(`Request: ${JSON.stringify(request)}`);
188
229
  }
189
230
  // Execute the handler
190
231
  const result = await func.handler(context, params ?? {});
232
+ if (this.options.debug) {
233
+ this.logger.debug(`Output: ${JSON.stringify(result)}`);
234
+ }
191
235
  return { result };
192
236
  }
193
237
  /**
@@ -228,8 +272,9 @@ let ChannelAppService = class ChannelAppService {
228
272
  ChannelAppService = ChannelAppService_1 = __decorate([
229
273
  Injectable(),
230
274
  __param(0, Inject(CHANNEL_APP_OPTIONS)),
231
- __param(1, Optional()),
232
- __metadata("design:paramtypes", [Object, ExtensionDiscoveryService])
275
+ __param(2, Optional()),
276
+ __metadata("design:paramtypes", [Object, HttpAdapterHost,
277
+ ExtensionDiscoveryService])
233
278
  ], ChannelAppService);
234
279
  export { ChannelAppService };
235
280
  //# sourceMappingURL=channel-app.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel-app.service.js","sourceRoot":"","sources":["../../src/nestjs/channel-app.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-app.service.js","sourceRoot":"","sources":["../../src/nestjs/channel-app.service.ts"],"names":[],"mappings":"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"}