@intuitionrobotics/thunderstorm 2.0.11 → 2.1.1

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.
Files changed (38) hide show
  1. package/dist/app-backend/core/Storm.d.ts +5 -1
  2. package/dist/app-backend/core/Storm.d.ts.map +1 -1
  3. package/dist/app-backend/core/Storm.js +58 -13
  4. package/dist/app-backend/core/Storm.js.map +1 -1
  5. package/dist/app-backend/modules/SlackModule.d.ts +2 -3
  6. package/dist/app-backend/modules/SlackModule.d.ts.map +1 -1
  7. package/dist/app-backend/modules/SlackModule.js +13 -8
  8. package/dist/app-backend/modules/SlackModule.js.map +1 -1
  9. package/dist/app-backend/modules/http/AxiosHttpModule.d.ts +0 -1
  10. package/dist/app-backend/modules/http/AxiosHttpModule.d.ts.map +1 -1
  11. package/dist/app-backend/modules/http/AxiosHttpModule.js +2 -10
  12. package/dist/app-backend/modules/http/AxiosHttpModule.js.map +1 -1
  13. package/dist/app-backend/modules/proxy/RemoteProxy.d.ts +4 -3
  14. package/dist/app-backend/modules/proxy/RemoteProxy.d.ts.map +1 -1
  15. package/dist/app-backend/modules/proxy/RemoteProxy.js +10 -13
  16. package/dist/app-backend/modules/proxy/RemoteProxy.js.map +1 -1
  17. package/dist/app-backend/modules/proxy/RemoteProxyCaller.d.ts +2 -1
  18. package/dist/app-backend/modules/proxy/RemoteProxyCaller.d.ts.map +1 -1
  19. package/dist/app-backend/modules/proxy/RemoteProxyCaller.js +21 -14
  20. package/dist/app-backend/modules/proxy/RemoteProxyCaller.js.map +1 -1
  21. package/dist/app-backend/modules/server/ApiFunction.d.ts +56 -0
  22. package/dist/app-backend/modules/server/ApiFunction.d.ts.map +1 -0
  23. package/dist/app-backend/modules/server/ApiFunction.js +68 -0
  24. package/dist/app-backend/modules/server/ApiFunction.js.map +1 -0
  25. package/dist/app-backend/modules/server/HttpServer.d.ts +16 -5
  26. package/dist/app-backend/modules/server/HttpServer.d.ts.map +1 -1
  27. package/dist/app-backend/modules/server/HttpServer.js +54 -26
  28. package/dist/app-backend/modules/server/HttpServer.js.map +1 -1
  29. package/dist/backend.d.ts +1 -0
  30. package/dist/backend.d.ts.map +1 -1
  31. package/dist/backend.js +1 -0
  32. package/dist/backend.js.map +1 -1
  33. package/dist/shared/BaseHttpModule.d.ts +6 -3
  34. package/dist/shared/BaseHttpModule.d.ts.map +1 -1
  35. package/dist/shared/BaseHttpModule.js +15 -4
  36. package/dist/shared/BaseHttpModule.js.map +1 -1
  37. package/dist/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +4 -4
@@ -1,4 +1,5 @@
1
1
  import { LogClient } from "@intuitionrobotics/ts-common";
2
+ import { type DeployableFunction, type FirebaseFunctionOptions } from '@intuitionrobotics/firebase/backend-functions';
2
3
  import { type HttpErrorHandler } from "../modules/server/HttpServer.js";
3
4
  import { BaseStorm } from "./BaseStorm.js";
4
5
  import { type Express, type Router } from "express";
@@ -10,18 +11,21 @@ export declare class Storm extends BaseStorm {
10
11
  private logClient;
11
12
  private onDestroy?;
12
13
  private onStart?;
14
+ private apiFunctionOptions;
13
15
  errorMessageComposer: HttpErrorHandler;
14
16
  constructor();
15
17
  setErrorMessageComposer(errorMessageComposer: HttpErrorHandler): this;
16
18
  setApp(app: Express): this;
19
+ setApiFunctionOptions(options: FirebaseFunctionOptions): this;
17
20
  setLogClient(logClient: LogClient): this;
18
21
  getLogClient(): LogClient;
19
22
  setOnDestroy(onDestroy?: () => Promise<void>): this;
20
23
  setOnStart(onStart?: () => Promise<void>): this;
21
24
  static getInstance(): Storm;
22
25
  init(): this;
26
+ private assertNoLegacyModuleInit;
23
27
  setRoutes(routes: Router): this;
24
28
  setInitialRoutePath(initialPath: string): this;
25
- build(onStarted?: () => Promise<void>): any;
29
+ build(onStarted?: () => Promise<void>): Record<string, DeployableFunction>;
26
30
  }
27
31
  //# sourceMappingURL=Storm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Storm.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/core/Storm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,SAAS,EAAiD,MAAM,8BAA8B,CAAC;AAEjH,OAAO,EAAC,KAAK,gBAAgB,EAAmB,MAAM,iCAAiC,CAAC;AAExF,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAC,KAAK,OAAO,EAAE,KAAK,MAAM,EAAC,MAAM,SAAS,CAAC;AAIlD,qBAAa,KACT,SAAQ,SAAS;IAGjB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,SAAS,CAAC,CAAsB;IACxC,OAAO,CAAC,OAAO,CAAC,CAAsB;IAEtC,oBAAoB,EAAE,gBAAgB,CAAoC;;IAOnE,uBAAuB,CAAC,oBAAoB,EAAE,gBAAgB;IAK9D,MAAM,CAAC,GAAG,EAAE,OAAO;IAKnB,YAAY,CAAC,SAAS,EAAE,SAAS;IAKjC,YAAY;IAIZ,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAK5C,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAK/C,MAAM,CAAC,WAAW,IAAI,KAAK;IAI3B,IAAI;IAWJ,SAAS,CAAC,MAAM,EAAE,MAAM;IAKxB,mBAAmB,CAAC,WAAW,EAAE,MAAM;IAKvC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;CA2BxC"}
1
+ {"version":3,"file":"Storm.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/core/Storm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,SAAS,EAAiD,MAAM,8BAA8B,CAAC;AAC7I,OAAO,EACH,KAAK,kBAAkB,EAEvB,KAAK,uBAAuB,EAC/B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAC,KAAK,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAGtE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,KAAK,OAAO,EAAE,KAAK,MAAM,EAAC,MAAM,SAAS,CAAC;AAIlD,qBAAa,KACT,SAAQ,SAAS;IAGjB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,SAAS,CAAC,CAAsB;IACxC,OAAO,CAAC,OAAO,CAAC,CAAsB;IACtC,OAAO,CAAC,kBAAkB,CAA+B;IAEzD,oBAAoB,EAAE,gBAAgB,CAAoC;;IAOnE,uBAAuB,CAAC,oBAAoB,EAAE,gBAAgB;IAK9D,MAAM,CAAC,GAAG,EAAE,OAAO;IAQnB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB;IAKtD,YAAY,CAAC,SAAS,EAAE,SAAS;IAKjC,YAAY;IAIZ,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAK5C,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAK/C,MAAM,CAAC,WAAW,IAAI,KAAK;IAI3B,IAAI;IAiBJ,OAAO,CAAC,wBAAwB;IA2BhC,SAAS,CAAC,MAAM,EAAE,MAAM;IAKxB,mBAAmB,CAAC,WAAW,EAAE,MAAM;IAKvC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;CAgCxC"}
@@ -1,9 +1,9 @@
1
- import { BeLogged, LogClient, LogClient_Function, LogClient_Terminal, Module } from "@intuitionrobotics/ts-common";
2
- import { Firebase_ExpressFunction, FirebaseFunction } from '@intuitionrobotics/firebase/backend-functions';
3
- import { HttpServer_Class } from "../modules/server/HttpServer.js";
1
+ import { BadImplementationException, BeLogged, LogClient, LogClient_Function, LogClient_Terminal, Module } from "@intuitionrobotics/ts-common";
2
+ import { FirebaseFunction } from '@intuitionrobotics/firebase/backend-functions';
3
+ import {} from "../modules/server/HttpServer.js";
4
+ import { ApiFunction } from "../modules/server/ApiFunction.js";
4
5
  import { ServerApi } from "../modules/server/server-api.js";
5
6
  import { BaseStorm } from "./BaseStorm.js";
6
- import express from "express";
7
7
  import {} from "express";
8
8
  import { DefaultApiErrorMessageComposer } from "../modules/server/server-errors.js";
9
9
  import { FirebaseModule } from "@intuitionrobotics/firebase/backend";
@@ -17,6 +17,7 @@ export class Storm extends BaseStorm {
17
17
  logClient = LogClient_Function;
18
18
  onDestroy;
19
19
  onStart;
20
+ apiFunctionOptions = {};
20
21
  errorMessageComposer = DefaultApiErrorMessageComposer();
21
22
  constructor() {
22
23
  super();
@@ -30,6 +31,13 @@ export class Storm extends BaseStorm {
30
31
  this.express = app;
31
32
  return this;
32
33
  }
34
+ // Runtime options (memory, region, generation, ...) for the Express "api"
35
+ // HTTPS function that Storm builds internally. Replaces the old mutable
36
+ // static Firebase_ExpressFunction.config.
37
+ setApiFunctionOptions(options) {
38
+ this.apiFunctionOptions = options;
39
+ return this;
40
+ }
33
41
  setLogClient(logClient) {
34
42
  this.logClient = logClient;
35
43
  return this;
@@ -51,9 +59,38 @@ export class Storm extends BaseStorm {
51
59
  init() {
52
60
  BeLogged.addClient(process.env.GCLOUD_PROJECT && process.env.FUNCTIONS_EMULATOR ? LogClient_Terminal : this.logClient);
53
61
  ServerApi.isDebug = !!this.config?.isDebug;
54
- super.init();
62
+ // The backend NEVER eagerly initializes modules (deliberately not super.init()).
63
+ // Registration only wires references; module resources resolve lazily on first
64
+ // use, so a function's container only allocates what its handler actually touches.
65
+ this.modules.forEach(module => module.setManager(this));
66
+ this.assertNoLegacyModuleInit();
67
+ this.modules.forEach(module => module.validate());
55
68
  return this;
56
69
  }
70
+ // Module.init() is never called on the backend — a module overriding it is broken
71
+ // by definition (its setup would silently never run). Fail loudly at build time,
72
+ // with an opt-in bridge for consumers mid-migration.
73
+ assertNoLegacyModuleInit() {
74
+ // @ts-expect-error init is protected; comparing prototype slots to detect overrides
75
+ const offenders = this.modules.filter(module => module.init !== Module.prototype.init);
76
+ if (offenders.length === 0)
77
+ return;
78
+ const names = offenders.map(module => module.getName()).join(", ");
79
+ if (process.env.THUNDERSTORM_LEGACY_MODULE_INIT === "true") {
80
+ this.logWarning(`LEGACY init() bridge active — eagerly initializing: [${names}]. ` +
81
+ `Migrate these modules to constructor/lazy getters and drop init() (run 'thunderstorm-codemod check-module-init').`);
82
+ offenders.forEach(module => {
83
+ // @ts-expect-error TS struggles with this dynamic typing
84
+ module.init();
85
+ // @ts-expect-error TS struggles with this dynamic typing
86
+ module.initiated = true;
87
+ });
88
+ return;
89
+ }
90
+ throw new BadImplementationException(`Backend modules must not override init() — Storm never calls it, so their setup would silently never run. ` +
91
+ `Offenders: [${names}]. Move the work to the constructor (trivial, config-independent) or lazy getters (anything allocating), ` +
92
+ `or set THUNDERSTORM_LEGACY_MODULE_INIT=true as a temporary bridge. See docs/migrating-to-v2.md.`);
93
+ }
57
94
  // The caller passes a fully-built Express Router; Storm wires it onto the
58
95
  // HttpServer's express app at build() time.
59
96
  setRoutes(routes) {
@@ -65,19 +102,27 @@ export class Storm extends BaseStorm {
65
102
  return this;
66
103
  }
67
104
  build(onStarted) {
68
- const app = this.express || express();
69
- const httpServer = new HttpServer_Class(app, this.config?.["HttpServer"]);
70
- const modulesAsFunction = this.modules.filter((module) => module instanceof FirebaseFunction);
71
- this.functions = [new Firebase_ExpressFunction(app), ...modulesAsFunction];
105
+ // The Express API is a regular module now (ApiFunction) — Storm no longer
106
+ // hand-builds it. When none is registered, an implicit default named "api"
107
+ // is created from the legacy builder methods (setApp/setRoutes/
108
+ // setInitialRoutePath/setApiFunctionOptions); registering ANY ApiFunction
109
+ // instance disables that default.
110
+ const registeredApis = this.modules.filter(module => module instanceof ApiFunction);
111
+ if (registeredApis.length === 0)
112
+ this.addModules(new ApiFunction("api", {
113
+ app: this.express,
114
+ router: this.routes,
115
+ initialRoutePath: this.initialPath,
116
+ options: this.apiFunctionOptions
117
+ }));
118
+ else if (this.routes)
119
+ this.logWarning("Storm.setRoutes() is ignored when explicit ApiFunction instances are registered — pass each instance its own router.");
120
+ this.functions = this.modules.filter((module) => module instanceof FirebaseFunction);
72
121
  if (this.onStart)
73
122
  this.functions.forEach(func => func.addOnStart(this.onStart));
74
123
  if (this.onDestroy)
75
124
  this.functions.forEach(func => func.addOnDestroy(this.onDestroy));
76
125
  this.init();
77
- httpServer.init();
78
- const urlPrefix = !process.env.GCLOUD_PROJECT ? this.initialPath : "";
79
- if (this.routes)
80
- httpServer.mountRouter(this.routes, urlPrefix);
81
126
  if (onStarted)
82
127
  onStarted().catch(e => this.logError(e));
83
128
  return this.functions.reduce((toRet, _function) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Storm.js","sourceRoot":"","sources":["../../../src/main/app-backend/core/Storm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Storm.js","sourceRoot":"","sources":["../../../src/main/app-backend/core/Storm.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,10 @@ type _SlackMessage = {
12
12
  };
13
13
  export type SlackMessage = string | _SlackMessage;
14
14
  export declare class SlackModule_Class extends Module<ConfigType> {
15
- private web;
15
+ private _web?;
16
16
  private messageMap;
17
17
  constructor();
18
- protected init(): void;
18
+ private get web();
19
19
  postMessage(slackMessage: SlackMessage): Promise<void>;
20
20
  private postMessageImpl;
21
21
  }
@@ -26,7 +26,6 @@ type ApiErrorConfig = {
26
26
  };
27
27
  export declare class Slack_ServerApiError_Class extends Module<ApiErrorConfig> implements OnApplicationError {
28
28
  constructor();
29
- protected init(): void;
30
29
  __processApplicationError(errorLevel: ServerErrorSeverity, message: string): Promise<void>;
31
30
  }
32
31
  export declare const Slack_ServerApiError: Slack_ServerApiError_Class;
@@ -1 +1 @@
1
- {"version":3,"file":"SlackModule.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/modules/SlackModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,MAAM,EACN,KAAK,kBAAkB,EACvB,mBAAmB,EAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAmC,KAAK,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAWvF,KAAK,UAAU,GAAG;IACd,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC1C,CAAC;AAEF,KAAK,aAAa,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,aAAa,CAAA;AAMjD,qBAAa,iBACT,SAAQ,MAAM,CAAC,UAAU,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,UAAU,CAAkB;;IAMpC,SAAS,CAAC,IAAI,IAAI,IAAI;IAaT,WAAW,CAAC,YAAY,EAAE,YAAY;YAiBrC,eAAe;CAQhC;AAED,eAAO,MAAM,WAAW,mBAA0B,CAAC;AAEnD,KAAK,cAAc,GAAG;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,mBAAmB,CAAA;CAChC,CAAA;AAED,qBAAa,0BACT,SAAQ,MAAM,CAAC,cAAc,CAC7B,YAAW,kBAAkB;;IAM7B,SAAS,CAAC,IAAI,IAAI,IAAI;IAGhB,yBAAyB,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM;CAWnF;AAED,eAAO,MAAM,oBAAoB,4BAAmC,CAAC"}
1
+ {"version":3,"file":"SlackModule.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/modules/SlackModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,MAAM,EACN,KAAK,kBAAkB,EACvB,mBAAmB,EAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAmC,KAAK,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAWvF,KAAK,UAAU,GAAG;IACd,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC1C,CAAC;AAEF,KAAK,aAAa,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,aAAa,CAAA;AAMjD,qBAAa,iBACT,SAAQ,MAAM,CAAC,UAAU,CAAC;IAG1B,OAAO,CAAC,IAAI,CAAC,CAAY;IACzB,OAAO,CAAC,UAAU,CAAkB;;IAMpC,OAAO,KAAK,GAAG,GAUd;IAEY,WAAW,CAAC,YAAY,EAAE,YAAY;YAiBrC,eAAe;CAehC;AAED,eAAO,MAAM,WAAW,mBAA0B,CAAC;AAEnD,KAAK,cAAc,GAAG;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,mBAAmB,CAAA;CAChC,CAAA;AAED,qBAAa,0BACT,SAAQ,MAAM,CAAC,cAAc,CAC7B,YAAW,kBAAkB;;IAMvB,yBAAyB,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM;CAWnF;AAED,eAAO,MAAM,oBAAoB,4BAAmC,CAAC"}
@@ -1,16 +1,17 @@
1
1
  import { currentTimeMillies, Minute, Module, ServerErrorSeverity, ServerErrorSeverity_Ordinal } from "@intuitionrobotics/ts-common";
2
2
  import { WebClient } from "@slack/web-api";
3
3
  export class SlackModule_Class extends Module {
4
- web;
4
+ // Created lazily on the first posted message (was init()); stays undefined
5
+ // when no token is configured, same as before.
6
+ _web;
5
7
  messageMap = {};
6
8
  constructor() {
7
9
  super("SlackModule");
8
10
  }
9
- init() {
11
+ get web() {
10
12
  if (!this.config.token)
11
- return;
12
- // throw new ImplementationMissingException('Missing config token for SlackModule. Please add it');
13
- this.web = new WebClient(this.config.token, {
13
+ return undefined;
14
+ return this._web ??= new WebClient(this.config.token, {
14
15
  rejectRateLimitedCalls: true,
15
16
  ...this.config.slackConfig
16
17
  });
@@ -31,7 +32,13 @@ export class SlackModule_Class extends Module {
31
32
  }
32
33
  }
33
34
  async postMessageImpl(message) {
34
- const res = await this.web.chat.postMessage(message);
35
+ const web = this.web;
36
+ if (!web) {
37
+ // previously a silent NPE when no token was configured — now a logged no-op
38
+ this.logWarning(`Slack token not configured — dropping message to channel: ${message.channel}`);
39
+ return;
40
+ }
41
+ const res = await web.chat.postMessage(message);
35
42
  this.messageMap[message.text] = currentTimeMillies();
36
43
  this.logDebug(`A message was posted to channel: ${message.channel} with message id ${res.ts} which contains the message ${message.text}`);
37
44
  }
@@ -42,8 +49,6 @@ export class Slack_ServerApiError_Class extends Module {
42
49
  super("Slack_ServerApiError");
43
50
  this.setDefaultConfig({ exclude: [], minLevel: ServerErrorSeverity.Info });
44
51
  }
45
- init() {
46
- }
47
52
  async __processApplicationError(errorLevel, message) {
48
53
  if (ServerErrorSeverity_Ordinal.indexOf(errorLevel) < ServerErrorSeverity_Ordinal.indexOf(this.config.minLevel))
49
54
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"SlackModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/SlackModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAClB,MAAM,EACN,MAAM,EAEN,mBAAmB,EACnB,2BAA2B,EAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAwB,SAAS,EAAwB,MAAM,gBAAgB,CAAC;AA6BvF,MAAM,OAAO,iBACT,SAAQ,MAAkB;IAClB,GAAG,CAAa;IAChB,UAAU,GAAe,EAAE,CAAC;IAEpC;QACI,KAAK,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAES,IAAI;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAClB,OAAM;QACV,mGAAmG;QAEnG,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB;YACI,sBAAsB,EAAE,IAAI;YAC5B,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW;SAC7B,CAAC,CAAC;IACX,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,YAA0B;QAC/C,MAAM,UAAU,GAAiB,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC;YAChE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACtC,CAAC,CAAC,CAAC,YAAY,CAAC;QAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,IAAI,IAAI,kBAAkB,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC;YAC5E,OAAO;QAEX,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,6CAA6C,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACxF,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,OAAsB;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAA0B,CAAC;QAC9E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,EAAE,CAAC;QAErD,IAAI,CAAC,QAAQ,CACT,oCAAoC,OAAO,CAAC,OAAO,oBAAoB,GAAG,CAAC,EAAE,+BAA+B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEpI,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAOnD,MAAM,OAAO,0BACT,SAAQ,MAAsB;IAE9B;QACI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,EAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAC,CAAC,CAAA;IAC5E,CAAC;IAES,IAAI;IACd,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,UAA+B,EAAE,OAAe;QAC5E,IAAI,2BAA2B,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,2BAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC3G,OAAO;QAEX,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACrB,OAAM;QACd,CAAC;QAED,MAAM,WAAW,CAAC,WAAW,CAAC,SAAS,OAAO,QAAQ,CAAC,CAAC;IAC5D,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"SlackModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/SlackModule.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ import { type Axios_RequestConfig } from "./types.js";
5
5
  export declare class AxiosHttpModule_Class extends BaseHttpModule_Class {
6
6
  private requestOption;
7
7
  constructor(name?: string);
8
- init(): void;
9
8
  createRequest<Binder extends ApiTypeBinder<U, R, B, P, E>, U extends string = Binder["url"], R = Binder["response"], B = Binder["body"], P extends QueryParams = Binder["queryParams"], E extends void | object = Binder["error"]>(method: HttpMethod, key: string, data?: string): BaseHttpRequest<Binder>;
10
9
  setRequestOption(requestOption: Axios_RequestConfig): this;
11
10
  downloadFile(url: string, outputFile: string, key?: string): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"AxiosHttpModule.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/AxiosHttpModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,aAAa,EAAsB,UAAU,EAAE,KAAK,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAE9G,OAAO,EAAC,eAAe,EAAC,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAC,oBAAoB,EAAE,KAAK,UAAU,EAAC,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAkD,KAAK,mBAAmB,EAA+C,MAAM,YAAY,CAAC;AAGnJ,qBAAa,qBACT,SAAQ,oBAAoB;IAC5B,OAAO,CAAC,aAAa,CAA2B;gBAEpC,IAAI,CAAC,EAAE,MAAM;IAIzB,IAAI;IAOJ,aAAa,CAAC,MAAM,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrD,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAChC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAClB,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAC7C,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAYvH,gBAAgB,CAAC,aAAa,EAAE,mBAAmB;IAK7C,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAA0B;CAepF;AAED,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI,MAAM,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAE3I,eAAO,MAAM,eAAe,uBAA8B,CAAC;AAwI3D,qBAAa,eACT,SAAQ,oBAAoB;IAC5B,OAAO,CAAC,aAAa,CAA2B;gBAEpC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAS5C,aAAa,CAAC,MAAM,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrD,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAChC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAClB,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAC7C,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAYvH,gBAAgB,CAAC,aAAa,EAAE,mBAAmB;CAKtD"}
1
+ {"version":3,"file":"AxiosHttpModule.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/AxiosHttpModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,aAAa,EAAsB,UAAU,EAAE,KAAK,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAE9G,OAAO,EAAC,eAAe,EAAC,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAC,oBAAoB,EAAE,KAAK,UAAU,EAAC,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAkD,KAAK,mBAAmB,EAA+C,MAAM,YAAY,CAAC;AAGnJ,qBAAa,qBACT,SAAQ,oBAAoB;IAC5B,OAAO,CAAC,aAAa,CAA2B;gBAEpC,IAAI,CAAC,EAAE,MAAM;IAKzB,aAAa,CAAC,MAAM,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrD,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAChC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAClB,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAC7C,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAYvH,gBAAgB,CAAC,aAAa,EAAE,mBAAmB;IAK7C,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAA0B;CAepF;AAED,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI,MAAM,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAE3I,eAAO,MAAM,eAAe,uBAA8B,CAAC;AAwI3D,qBAAa,eACT,SAAQ,oBAAoB;IAC5B,OAAO,CAAC,aAAa,CAA2B;gBAEpC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAM5C,aAAa,CAAC,MAAM,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrD,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAChC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAClB,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAC7C,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAYvH,gBAAgB,CAAC,aAAa,EAAE,mBAAmB;CAKtD"}
@@ -9,12 +9,7 @@ export class AxiosHttpModule_Class extends BaseHttpModule_Class {
9
9
  requestOption = {};
10
10
  constructor(name) {
11
11
  super(name || "AxiosHttpModule");
12
- }
13
- init() {
14
- super.init();
15
- const origin = this.config.origin;
16
- if (origin)
17
- this.origin = origin;
12
+ // origin/timeout resolve lazily from config via BaseHttpModule accessors (was init()).
18
13
  }
19
14
  createRequest(method, key, data) {
20
15
  return new AxiosHttpRequest(key, data, this.shouldCompress())
@@ -154,10 +149,7 @@ export class AxiosHttpClient extends BaseHttpModule_Class {
154
149
  constructor(name, config) {
155
150
  super(name);
156
151
  this.setConfig(config);
157
- super.init();
158
- const origin = this.config.origin;
159
- if (origin)
160
- this.origin = origin;
152
+ // origin/timeout resolve lazily from config via BaseHttpModule accessors (was init()).
161
153
  }
162
154
  createRequest(method, key, data) {
163
155
  return new AxiosHttpRequest(key, data, this.shouldCompress())
@@ -1 +1 @@
1
- {"version":3,"file":"AxiosHttpModule.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/AxiosHttpModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AxiosHttpModule.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/AxiosHttpModule.ts"],"names":[],"mappings":"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"}
@@ -23,9 +23,10 @@ export declare class RemoteProxy_Class<Config extends RemoteProxyConfig> extends
23
23
  getProxyHeader(request: ExpressRequest): string;
24
24
  private getSecretHeader;
25
25
  readonly Middleware: ServerApi_Middleware;
26
- private secretHeader;
27
- private proxyHeader;
28
- protected init(): void;
26
+ private _secretHeader?;
27
+ private _proxyHeader?;
28
+ private get secretHeader();
29
+ private get proxyHeader();
29
30
  assertSecret(request: ExpressRequest): ObjectTS | undefined;
30
31
  processApi(request: ExpressRequest, _requestData: HttpRequestData): Promise<ObjectTS | undefined>;
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteProxy.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxy.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAiC,MAAM,EAAE,KAAK,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAEnG,OAAO,EAAY,KAAK,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAC,KAAK,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAC,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAEhF,KAAK,WAAW,GAAG;IACf,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAA;CACjB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE;QACL,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAA;KACjC,CAAA;IACD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,qBAAa,iBAAiB,CAAC,MAAM,SAAS,iBAAiB,CAC3D,SAAQ,MAAM,CAAC,MAAM,CACrB,YAAW,gBAAgB;;IAMrB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;KAAE,CAAC;IAYvF,cAAc,CAAC,OAAO,EAAE,cAAc;IAItC,OAAO,CAAC,eAAe;IAIvB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAGvC;IAEF,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,WAAW,CAAa;IAEhC,SAAS,CAAC,IAAI,IAAI,IAAI;IActB,YAAY,CAAC,OAAO,EAAE,cAAc;IA4B9B,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe;CAG1E;AAED,eAAO,MAAM,WAAW,sCAA0B,CAAC"}
1
+ {"version":3,"file":"RemoteProxy.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxy.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAiC,MAAM,EAAE,KAAK,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAEnG,OAAO,EAAY,KAAK,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAC,KAAK,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAC,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAEhF,KAAK,WAAW,GAAG;IACf,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAA;CACjB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE;QACL,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAA;KACjC,CAAA;IACD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,qBAAa,iBAAiB,CAAC,MAAM,SAAS,iBAAiB,CAC3D,SAAQ,MAAM,CAAC,MAAM,CACrB,YAAW,gBAAgB;;IAMrB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;KAAE,CAAC;IAYvF,cAAc,CAAC,OAAO,EAAE,cAAc;IAItC,OAAO,CAAC,eAAe;IAIvB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAGvC;IAGF,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,YAAY,CAAC,CAAY;IAEjC,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,YAAY,CAAC,OAAO,EAAE,cAAc;IA4B9B,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe;CAG1E;AAED,eAAO,MAAM,WAAW,sCAA0B,CAAC"}
@@ -49,21 +49,18 @@ export class RemoteProxy_Class extends Module {
49
49
  const extras = this.assertSecret(request);
50
50
  return { extras, proxyId: this.getProxyHeader(request) };
51
51
  };
52
- secretHeader;
53
- proxyHeader;
54
- init() {
55
- if (!this.config)
56
- throw new ImplementationMissingException("MUST specify config for this module!!");
57
- if (!this.config.secretHeaderName)
58
- this.config.secretHeaderName = 'x-secret';
59
- if (!this.config.proxyHeaderName)
60
- this.config.proxyHeaderName = 'x-proxy';
61
- this.secretHeader = new HeaderKey(this.config.secretHeaderName);
62
- this.proxyHeader = new HeaderKey(this.config.proxyHeaderName);
52
+ // Header keys resolve lazily from config on first request (was init()).
53
+ _secretHeader;
54
+ _proxyHeader;
55
+ get secretHeader() {
56
+ return this._secretHeader ??= new HeaderKey(this.config.secretHeaderName || 'x-secret');
57
+ }
58
+ get proxyHeader() {
59
+ return this._proxyHeader ??= new HeaderKey(this.config.proxyHeaderName || 'x-proxy');
63
60
  }
64
61
  assertSecret(request) {
65
- if (!this.secretHeader || !this.proxyHeader)
66
- throw new ImplementationMissingException("MUST add RemoteProxy to your module list!!!");
62
+ if (!this.config.remotes)
63
+ throw new ImplementationMissingException("MUST specify config (remotes) for the RemoteProxy module!!");
67
64
  const secret = this.getSecretHeader(request);
68
65
  const proxyId = this.getProxyHeader(request);
69
66
  const expectedSecret = this.config.remotes[proxyId];
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteProxy.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteProxy.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxy.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,8 @@ export type RemoteServerConfig = {
10
10
  };
11
11
  export declare abstract class RemoteProxyCaller<Config extends RemoteServerConfig> extends Module<Config> {
12
12
  constructor(name: string);
13
- protected init(): void;
13
+ private assertedProxyConfig?;
14
+ private get proxyConfig();
14
15
  protected executeGetRequest: <Binder extends ApiWithQuery<U, R, P>, U extends string = Binder["url"], R = Binder["response"], P extends QueryParams = Binder["queryParams"]>(url: U, _params: P, _headers?: {
15
16
  [key: string]: string;
16
17
  }) => Promise<R>;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteProxyCaller.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxyCaller.ts"],"names":[],"mappings":"AAoBA,OAAO,EAA8C,MAAM,EAAC,MAAM,8BAA8B,CAAC;AAEjG,OAAO,EAAC,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAG/F,OAAO,EAA0B,KAAK,aAAa,EAAC,MAAM,OAAO,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACd,CAAA;AAED,8BAAsB,iBAAiB,CAAC,MAAM,SAAS,kBAAkB,CACrE,SAAQ,MAAM,CAAC,MAAM,CAAC;gBAGV,IAAI,EAAE,MAAM;IAIxB,SAAS,CAAC,IAAI,IAAI,IAAI;IAoBtB,SAAS,CAAC,iBAAiB,GAAU,MAAM,SAAS,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,WAAW;QAC/M,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,CAAC,CAAC,CAGZ;IAEF,SAAS,CAAC,qBAAqB,GAAU,MAAM,SAAS,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,WAAW;QACnN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAqB3B;IAEF,SAAS,CAAC,kBAAkB,GAAU,MAAM,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW;QACjL,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,CAAC,CAAC,CAGZ;IAEF,SAAS,CAAC,sBAAsB,GAAU,MAAM,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW;QACrL,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAe5B;IAED,OAAO,CAAC,cAAc,CAyBpB;CACL"}
1
+ {"version":3,"file":"RemoteProxyCaller.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxyCaller.ts"],"names":[],"mappings":"AAoBA,OAAO,EAA8C,MAAM,EAAC,MAAM,8BAA8B,CAAC;AAEjG,OAAO,EAAC,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAG/F,OAAO,EAA0B,KAAK,aAAa,EAAC,MAAM,OAAO,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACd,CAAA;AAED,8BAAsB,iBAAiB,CAAC,MAAM,SAAS,kBAAkB,CACrE,SAAQ,MAAM,CAAC,MAAM,CAAC;gBAGV,IAAI,EAAE,MAAM;IAKxB,OAAO,CAAC,mBAAmB,CAAC,CAAqB;IAEjD,OAAO,KAAK,WAAW,GAoBtB;IAED,SAAS,CAAC,iBAAiB,GAAU,MAAM,SAAS,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,WAAW;QAC/M,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,CAAC,CAAC,CAGZ;IAEF,SAAS,CAAC,qBAAqB,GAAU,MAAM,SAAS,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,WAAW;QACnN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAsB3B;IAEF,SAAS,CAAC,kBAAkB,GAAU,MAAM,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW;QACjL,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,CAAC,CAAC,CAGZ;IAEF,SAAS,CAAC,sBAAsB,GAAU,MAAM,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW;QACrL,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAgB5B;IAED,OAAO,CAAC,cAAc,CAyBpB;CACL"}
@@ -29,19 +29,24 @@ export class RemoteProxyCaller extends Module {
29
29
  constructor(name) {
30
30
  super(name);
31
31
  }
32
- init() {
33
- if (!this.config)
34
- throw new ImplementationMissingException(`MUST specify config for ${this.getName()}`);
32
+ // Was init(): config is asserted and defaulted lazily, on the first proxied request.
33
+ assertedProxyConfig;
34
+ get proxyConfig() {
35
+ if (this.assertedProxyConfig)
36
+ return this.assertedProxyConfig;
35
37
  if (!this.config.proxyId)
36
38
  throw new ImplementationMissingException(`MUST specify the proxyId for ${this.getName()}`);
37
39
  if (!this.config.url)
38
40
  throw new ImplementationMissingException(`MUST specify the url for the remote server for ${this.getName()}`);
39
41
  if (!this.config.secret)
40
42
  throw new ImplementationMissingException(`MUST specify the secret for the remote server for ${this.getName()}`);
41
- if (!this.config.secretHeaderName)
42
- this.config.secretHeaderName = 'x-secret';
43
- if (!this.config.proxyHeaderName)
44
- this.config.proxyHeaderName = 'x-proxy';
43
+ return this.assertedProxyConfig = {
44
+ proxyId: this.config.proxyId,
45
+ url: this.config.url,
46
+ secret: this.config.secret,
47
+ secretHeaderName: this.config.secretHeaderName || 'x-secret',
48
+ proxyHeaderName: this.config.proxyHeaderName || 'x-proxy'
49
+ };
45
50
  }
46
51
  executeGetRequest = async (url, _params, _headers) => {
47
52
  const resp = await this.executeGetRequestImpl(url, _params, _headers);
@@ -54,13 +59,14 @@ export class RemoteProxyCaller extends Module {
54
59
  let urlParams = "";
55
60
  if (params && params.length > 0)
56
61
  urlParams = `?${params.join("&")}`;
62
+ const proxyConfig = this.proxyConfig;
57
63
  const proxyRequest = {
58
64
  headers: {
59
65
  ..._headers,
60
- [this.config.secretHeaderName]: this.config.secret,
61
- [this.config.proxyHeaderName]: this.config.proxyId
66
+ [proxyConfig.secretHeaderName]: proxyConfig.secret,
67
+ [proxyConfig.proxyHeaderName]: proxyConfig.proxyId
62
68
  },
63
- url: `${this.config.url}${url}${urlParams}`,
69
+ url: `${proxyConfig.url}${url}${urlParams}`,
64
70
  method: 'GET',
65
71
  responseType: 'json'
66
72
  };
@@ -71,15 +77,16 @@ export class RemoteProxyCaller extends Module {
71
77
  return resp.data;
72
78
  };
73
79
  executePostRequestImpl = async (url, body, _headers) => {
80
+ const proxyConfig = this.proxyConfig;
74
81
  const proxyRequest = {
75
82
  headers: {
76
83
  ..._headers,
77
84
  'Content-Type': 'application/json',
78
- [this.config.secretHeaderName]: this.config.secret,
79
- [this.config.proxyHeaderName]: this.config.proxyId
85
+ [proxyConfig.secretHeaderName]: proxyConfig.secret,
86
+ [proxyConfig.proxyHeaderName]: proxyConfig.proxyId
80
87
  },
81
88
  responseType: "json",
82
- url: `${this.config.url}${url}`,
89
+ url: `${proxyConfig.url}${url}`,
83
90
  data: body,
84
91
  method: 'POST'
85
92
  };
@@ -88,7 +95,7 @@ export class RemoteProxyCaller extends Module {
88
95
  executeRequest = async (proxyRequest) => {
89
96
  const response = await promisifyRequest(proxyRequest);
90
97
  if (proxyRequest.headers) {
91
- delete proxyRequest.headers[this.config.secretHeaderName];
98
+ delete proxyRequest.headers[this.proxyConfig.secretHeaderName];
92
99
  delete proxyRequest.headers["Authorization"];
93
100
  }
94
101
  const statusCode = response.status;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteProxyCaller.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxyCaller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteProxyCaller.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxyCaller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { type Express, type Router } from "express";
2
+ import { type DeployableFunction, FirebaseFunction, type FirebaseFunctionOptions } from "@intuitionrobotics/firebase/backend-functions";
3
+ export type ApiFunctionArgs = {
4
+ /**
5
+ * A pre-built Express app (e.g. with app-specific middleware already added).
6
+ * ApiFunction still runs the framework server setup (compression/CORS/json)
7
+ * and mounts the router on it — AFTER anything already registered.
8
+ *
9
+ * Contract: a provided app carries MIDDLEWARE ONLY, never routes. Express is
10
+ * registration-order sensitive — a route registered on the app before this
11
+ * instance is built bypasses the framework chain (no CORS headers, no
12
+ * compression). Routes belong in the router; app-level extras (debug
13
+ * endpoints etc.) must be registered AFTER Storm.build(). And each instance
14
+ * needs its OWN app — never share one Express app between two instances.
15
+ */
16
+ app?: Express;
17
+ /** The route table this API serves (an Express Router built by the app). */
18
+ router?: Router;
19
+ /** Mounted as the router's URL prefix when running outside GCP (emulator/local). */
20
+ initialRoutePath?: string;
21
+ /** Runtime options: memory, timeoutSeconds, generation ("v1"/"v2"), region, ... */
22
+ options?: FirebaseFunctionOptions;
23
+ };
24
+ /**
25
+ * An Express-backed HTTPS Cloud Function as a *regular module* — registered via
26
+ * `Storm.addModules(...)` like any other function, named after the module
27
+ * (no more hardcoded "api"), and instantiable as many times as needed:
28
+ *
29
+ * const Api = new ApiFunction("api", {router: rootRouter});
30
+ * const ApiTest = new ApiFunction("api_test", {router: rootRouter, options: {generation: "v2"}});
31
+ * new Storm().addModules(Api, ApiTest, ...modules).build();
32
+ *
33
+ * `api_test` deploys the exact same code as a separate function
34
+ * (`firebase deploy --only functions:api_test`) — a deployed test environment,
35
+ * or a safe gen-2 canary, without touching the real `api`.
36
+ *
37
+ * Server config (baseUrl/bodyParserLimit/cors) resolves through the module
38
+ * config store: the shared "HttpServer" slice applies to every instance, and
39
+ * the instance's own slice (config[name]) layers on top.
40
+ *
41
+ * When no ApiFunction is registered, Storm builds an implicit default named
42
+ * "api" from its legacy builder methods (setApp/setRoutes/setInitialRoutePath/
43
+ * setApiFunctionOptions) — registering ANY instance disables that default.
44
+ */
45
+ export declare class ApiFunction extends FirebaseFunction {
46
+ private readonly providedApp?;
47
+ private router?;
48
+ private initialRoutePath?;
49
+ private _app?;
50
+ constructor(name: string, args?: ApiFunctionArgs);
51
+ setRoutes(router: Router): this;
52
+ setInitialRoutePath(initialRoutePath: string): this;
53
+ private get app();
54
+ getFunction: () => DeployableFunction;
55
+ }
56
+ //# sourceMappingURL=ApiFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiFunction.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/ApiFunction.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,OAAO,EAAE,KAAK,MAAM,EAAC,MAAM,SAAS,CAAC;AAClD,OAAO,EACH,KAAK,kBAAkB,EAEvB,gBAAgB,EAChB,KAAK,uBAAuB,EAC/B,MAAM,+CAA+C,CAAC;AAGvD,MAAM,MAAM,eAAe,GAAG;IAC1B;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WACT,SAAQ,gBAAgB;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAU;IACvC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,IAAI,CAAC,CAAU;gBAEX,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB;IAOpD,SAAS,CAAC,MAAM,EAAE,MAAM;IAKxB,mBAAmB,CAAC,gBAAgB,EAAE,MAAM;IAQ5C,OAAO,KAAK,GAAG,GAad;IAED,WAAW,QAAO,kBAAkB,CAUlC;CACL"}