lemon-core 4.2.7 → 5.0.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.
Files changed (167) hide show
  1. package/README.md +128 -2
  2. package/dist/common/lemon-error.d.ts +34 -0
  3. package/dist/common/lemon-error.js +52 -0
  4. package/dist/common/lemon-error.js.map +1 -0
  5. package/dist/controllers/general-api-controller.d.ts +7 -0
  6. package/dist/controllers/general-api-controller.js +7 -0
  7. package/dist/controllers/general-api-controller.js.map +1 -1
  8. package/dist/cores/api/api-service.js +10 -43
  9. package/dist/cores/api/api-service.js.map +1 -1
  10. package/dist/cores/aws/aws-kms-service.d.ts +13 -5
  11. package/dist/cores/aws/aws-kms-service.js +23 -9
  12. package/dist/cores/aws/aws-kms-service.js.map +1 -1
  13. package/dist/cores/aws/aws-s3-service.d.ts +30 -4
  14. package/dist/cores/aws/aws-s3-service.js +35 -15
  15. package/dist/cores/aws/aws-s3-service.js.map +1 -1
  16. package/dist/cores/aws/aws-sns-service.js +59 -9
  17. package/dist/cores/aws/aws-sns-service.js.map +1 -1
  18. package/dist/cores/aws/aws-sqs-service.d.ts +1 -1
  19. package/dist/cores/aws/aws-sqs-service.js +54 -12
  20. package/dist/cores/aws/aws-sqs-service.js.map +1 -1
  21. package/dist/cores/cache/cache-service.d.ts +10 -9
  22. package/dist/cores/cache/cache-service.js +9 -346
  23. package/dist/cores/cache/cache-service.js.map +1 -1
  24. package/dist/cores/config/config-service.d.ts +3 -15
  25. package/dist/cores/config/config-service.js +5 -34
  26. package/dist/cores/config/config-service.js.map +1 -1
  27. package/dist/cores/dynamo/dynamo-query-service.js +42 -2
  28. package/dist/cores/dynamo/dynamo-query-service.js.map +1 -1
  29. package/dist/cores/dynamo/dynamo-scan-service.js +42 -2
  30. package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -1
  31. package/dist/cores/dynamo/dynamo-service.d.ts +45 -14
  32. package/dist/cores/dynamo/dynamo-service.js +48 -21
  33. package/dist/cores/dynamo/dynamo-service.js.map +1 -1
  34. package/dist/cores/dynamo/tools/expressions.js +32 -22
  35. package/dist/cores/dynamo/tools/expressions.js.map +1 -1
  36. package/dist/cores/dynamo/tools/lang.d.ts +30 -0
  37. package/dist/cores/dynamo/tools/lang.js +75 -0
  38. package/dist/cores/dynamo/tools/lang.js.map +1 -0
  39. package/dist/cores/dynamo/tools/query.js +20 -21
  40. package/dist/cores/dynamo/tools/query.js.map +1 -1
  41. package/dist/cores/dynamo/tools/scan.js +15 -16
  42. package/dist/cores/dynamo/tools/scan.js.map +1 -1
  43. package/dist/cores/dynamo/tools/serializer.js +40 -38
  44. package/dist/cores/dynamo/tools/serializer.js.map +1 -1
  45. package/dist/cores/dynamo/tools/utils.d.ts +6 -2
  46. package/dist/cores/dynamo/tools/utils.js +11 -8
  47. package/dist/cores/dynamo/tools/utils.js.map +1 -1
  48. package/dist/cores/elastic/elastic6-query-service.d.ts +1 -104
  49. package/dist/cores/elastic/elastic6-query-service.js +15 -489
  50. package/dist/cores/elastic/elastic6-query-service.js.map +1 -1
  51. package/dist/cores/elastic/elastic6-service.d.ts +1 -482
  52. package/dist/cores/elastic/elastic6-service.js +15 -1153
  53. package/dist/cores/elastic/elastic6-service.js.map +1 -1
  54. package/dist/cores/elastic/index.d.ts +2 -2
  55. package/dist/cores/elastic/index.js +3 -2
  56. package/dist/cores/elastic/index.js.map +1 -1
  57. package/dist/cores/elastic/os2-query-service.d.ts +104 -0
  58. package/dist/cores/elastic/os2-query-service.js +495 -0
  59. package/dist/cores/elastic/os2-query-service.js.map +1 -0
  60. package/dist/cores/elastic/os2-service.d.ts +372 -0
  61. package/dist/cores/elastic/os2-service.js +943 -0
  62. package/dist/cores/elastic/os2-service.js.map +1 -0
  63. package/dist/cores/index.d.ts +6 -1
  64. package/dist/cores/index.js +9 -2
  65. package/dist/cores/index.js.map +1 -1
  66. package/dist/cores/lambda/index.js +2 -1
  67. package/dist/cores/lambda/index.js.map +1 -1
  68. package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -0
  69. package/dist/cores/lambda/lambda-cron-handler.js +5 -1
  70. package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
  71. package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +5 -4
  72. package/dist/cores/lambda/lambda-dynamo-stream-handler.js +18 -5
  73. package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
  74. package/dist/cores/lambda/lambda-handler.d.ts +22 -2
  75. package/dist/cores/lambda/lambda-handler.js +85 -23
  76. package/dist/cores/lambda/lambda-handler.js.map +1 -1
  77. package/dist/cores/lambda/lambda-sns-handler.d.ts +1 -0
  78. package/dist/cores/lambda/lambda-sns-handler.js +5 -0
  79. package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
  80. package/dist/cores/lambda/lambda-sqs-handler.d.ts +1 -0
  81. package/dist/cores/lambda/lambda-sqs-handler.js +20 -5
  82. package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
  83. package/dist/cores/lambda/lambda-web-handler.d.ts +10 -0
  84. package/dist/cores/lambda/lambda-web-handler.js +107 -41
  85. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  86. package/dist/cores/protocol/aws-lambda-helper.js +58 -11
  87. package/dist/cores/protocol/aws-lambda-helper.js.map +1 -1
  88. package/dist/cores/protocol/index.js +3 -0
  89. package/dist/cores/protocol/index.js.map +1 -1
  90. package/dist/cores/protocol/protocol-service.d.ts +26 -5
  91. package/dist/cores/protocol/protocol-service.js +42 -12
  92. package/dist/cores/protocol/protocol-service.js.map +1 -1
  93. package/dist/cores/protocol/protocol-sign.d.ts +72 -0
  94. package/dist/cores/protocol/protocol-sign.js +194 -0
  95. package/dist/cores/protocol/protocol-sign.js.map +1 -0
  96. package/dist/cores/storage/index.d.ts +0 -1
  97. package/dist/cores/storage/index.js +0 -1
  98. package/dist/cores/storage/index.js.map +1 -1
  99. package/dist/cores/storage/model-fields.d.ts +7 -0
  100. package/dist/cores/storage/model-fields.js +21 -0
  101. package/dist/cores/storage/model-fields.js.map +1 -0
  102. package/dist/cores/storage/model-manager.d.ts +3 -2
  103. package/dist/cores/storage/model-manager.js +7 -3
  104. package/dist/cores/storage/model-manager.js.map +1 -1
  105. package/dist/engine/builder.js +20 -2
  106. package/dist/engine/builder.js.map +1 -1
  107. package/dist/engine/engine.d.ts +2 -2
  108. package/dist/engine/engine.js +4 -4
  109. package/dist/engine/engine.js.map +1 -1
  110. package/dist/engine/utilities.d.ts +11 -12
  111. package/dist/engine/utilities.js +30 -82
  112. package/dist/engine/utilities.js.map +1 -1
  113. package/dist/environ.d.ts +0 -6
  114. package/dist/environ.js +1 -12
  115. package/dist/environ.js.map +1 -1
  116. package/dist/esm/index.mjs +140 -0
  117. package/dist/esm/testing.mjs +12 -0
  118. package/dist/extended/abstract-service.d.ts +48 -139
  119. package/dist/extended/abstract-service.js +46 -382
  120. package/dist/extended/abstract-service.js.map +1 -1
  121. package/dist/extended/cores/abstract-controllers.d.ts +170 -0
  122. package/dist/extended/cores/abstract-controllers.js +533 -0
  123. package/dist/extended/cores/abstract-controllers.js.map +1 -0
  124. package/dist/extended/cores/abstract-rest-apis.d.ts +142 -0
  125. package/dist/extended/cores/abstract-rest-apis.js +203 -0
  126. package/dist/extended/cores/abstract-rest-apis.js.map +1 -0
  127. package/dist/extended/cores/abstract-services.d.ts +771 -0
  128. package/dist/extended/cores/abstract-services.js +2042 -0
  129. package/dist/extended/cores/abstract-services.js.map +1 -0
  130. package/dist/extended/cores/browser-cache.d.ts +2 -0
  131. package/dist/extended/cores/browser-cache.js +34 -0
  132. package/dist/extended/cores/browser-cache.js.map +1 -0
  133. package/dist/extended/cores/commons.d.ts +20 -0
  134. package/dist/extended/cores/commons.js +31 -0
  135. package/dist/extended/cores/commons.js.map +1 -0
  136. package/dist/extended/cores/index.d.ts +15 -0
  137. package/dist/extended/cores/index.js +32 -0
  138. package/dist/extended/cores/index.js.map +1 -0
  139. package/dist/extended/cores/types.d.ts +14 -0
  140. package/dist/extended/cores/types.js +31 -0
  141. package/dist/extended/cores/types.js.map +1 -0
  142. package/dist/helpers/helpers.d.ts +10 -5
  143. package/dist/helpers/helpers.js +46 -58
  144. package/dist/helpers/helpers.js.map +1 -1
  145. package/dist/helpers/types.d.ts +22 -10
  146. package/dist/index.d.ts +4 -0
  147. package/dist/index.js +12 -1
  148. package/dist/index.js.map +1 -1
  149. package/dist/lib/http-fetch.d.ts +54 -0
  150. package/dist/lib/http-fetch.js +133 -0
  151. package/dist/lib/http-fetch.js.map +1 -0
  152. package/dist/lib/lazy.d.ts +22 -0
  153. package/dist/lib/lazy.js +54 -0
  154. package/dist/lib/lazy.js.map +1 -0
  155. package/dist/lib/perf.d.ts +35 -0
  156. package/dist/lib/perf.js +52 -0
  157. package/dist/lib/perf.js.map +1 -0
  158. package/dist/tools/tools.d.ts +15 -3
  159. package/dist/tools/tools.js +21 -4
  160. package/dist/tools/tools.js.map +1 -1
  161. package/package.json +96 -39
  162. package/dist/cores/storage/redis-storage-service.d.ts +0 -183
  163. package/dist/cores/storage/redis-storage-service.js +0 -377
  164. package/dist/cores/storage/redis-storage-service.js.map +0 -1
  165. package/dist/generated/field-registry.d.ts +0 -10
  166. package/dist/generated/field-registry.js +0 -17
  167. package/dist/generated/field-registry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers/helpers.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,13 @@
8
8
  * @date 2023-01-18 optimized with `lemon-core@3.2.4`
9
9
  * @date 2023-02-15 optimized with `lemon-core@3.2.5`
10
10
  * @date 2024-11-14 optimized `IdentityToken`.
11
+ * @date 2026-10-28 v5 B3: the single definition (L2 content; `extended/cores/types.ts` re-exports it).
11
12
  *
12
13
  * @copyright (C) 2022 LemonCloud Co Ltd. - All Rights Reserved.
13
14
  * @origin `@lemoncloud/lemon-templates-api/cores`
14
15
  */
15
16
  import { NextIdentity, CoreModel, View, Body } from 'lemon-model';
16
- export { CoreModel, View, Body };
17
+ export type { CoreModel, View, Body };
17
18
  /** type: `IdentityTokenSite` */
18
19
  export interface IdentityTokenSite {
19
20
  /** site-code (ex: kwonsun) */
@@ -46,6 +47,12 @@ export interface IdentityTokenGroup {
46
47
  * - 세션토큰 검사는 `proxy.getCurrentSession()` 이용하기
47
48
  */
48
49
  export interface IdentityToken<T = any, U extends IdentityTokenUser = IdentityTokenUser, S extends IdentityTokenSite = IdentityTokenSite, G extends IdentityTokenGroup = IdentityTokenGroup> extends NextIdentity<T> {
50
+ /**
51
+ * cloud-id (= id in `AWS ACCOUNT_NO`)
52
+ * - `#` 일경우, 무시됨.
53
+ * - aws 계정 수준의 cloud-id
54
+ */
55
+ cid: string;
49
56
  /**
50
57
  * site-id (= id in `SiteModel(사이트)`)
51
58
  * - `#` 일경우, 특정 site에 엮이지 않음 (무시됨)
@@ -78,17 +85,17 @@ export interface IdentityToken<T = any, U extends IdentityTokenUser = IdentityTo
78
85
  */
79
86
  aid: string;
80
87
  /**
81
- * list of roles (like `user`, `admin`, `super`)
88
+ * (optional) delegator-id (= 위임된 게스트 User ID)
89
+ * - **중계서버(`backend-api`)에서만 유효한 필드.** 다른 시스템(socials 등)은 이 필드를 신뢰하지 말 것.
90
+ * - 소셜 로그인 세션에서 원본 디바이스 게스트 User ID를 가리킴 (= `AuthModel.linkUserId`).
91
+ * - 채팅(개인 채팅방) 도메인은 본 신원이 아닌 `did`를 채택하여 게스트의 데이터를 그대로 이용함.
92
+ * - 게스트 세션이거나 위임이 없을 때는 `undefined`.
82
93
  */
83
- roles: string[];
94
+ did?: string;
84
95
  /**
85
- * (optional) internal `identity-id` (= delegated identity)
86
- * - `.identityId` 는 aws cognito 인증을 통해서, 현재 인증된 `identity-id`를 알 수 있음
87
- * - 다만, `delegated`된 경우에는 위임된 id 가 들어감.
88
- *
89
- * @deprecated 삭제될 예정! @241114
96
+ * list of roles (like `user`, `admin`, `super`)
90
97
  */
91
- iid?: string;
98
+ roles: string[];
92
99
  /**
93
100
  * service-name of issuer
94
101
  * ex) `lemon-backend-api`
@@ -128,7 +135,12 @@ export interface ListResult<T, R = any> {
128
135
  /**
129
136
  * (optional) aggr list
130
137
  */
131
- aggr?: R[];
138
+ aggr?: R | R[];
139
+ }
140
+ export interface AggrResult {
141
+ [key: string]: {
142
+ [key: string]: number;
143
+ };
132
144
  }
133
145
  export interface AggrKeyCount {
134
146
  /** name of key(or bucket name) */
package/dist/index.d.ts CHANGED
@@ -13,6 +13,7 @@
13
13
  */
14
14
  export * from './common/types';
15
15
  export * from './common/test-helper';
16
+ export { LemonError } from './common/lemon-error';
16
17
  export * from './engine/';
17
18
  export * from './cores/';
18
19
  export * from './tools/';
@@ -23,6 +24,9 @@ import * as controllers from './controllers/';
23
24
  export { lib, tools };
24
25
  export * from './helpers/';
25
26
  export * from './extended/';
27
+ export * from './extended/cores/';
28
+ export { withBrowserCache } from './extended/cores/browser-cache';
29
+ export { $ES6Routed } from './extended/cores/abstract-services';
26
30
  declare const _default: {
27
31
  engine: import("./engine/types").LemonEngine;
28
32
  cores: {
package/dist/index.js CHANGED
@@ -39,7 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.tools = exports.lib = void 0;
42
+ exports.$ES6Routed = exports.withBrowserCache = exports.tools = exports.lib = exports.LemonError = void 0;
43
43
  /**
44
44
  * `index.ts`
45
45
  * - main index
@@ -56,6 +56,8 @@ exports.tools = exports.lib = void 0;
56
56
  //NOTE! - if loading this index.ts, it will trigger `bootloader` in `/engine`.
57
57
  __exportStar(require("./common/types"), exports);
58
58
  __exportStar(require("./common/test-helper"), exports);
59
+ var lemon_error_1 = require("./common/lemon-error"); //* v5 B5: the only new root name (status-carrying error, SPEC § 6.6)
60
+ Object.defineProperty(exports, "LemonError", { enumerable: true, get: function () { return lemon_error_1.LemonError; } });
59
61
  __exportStar(require("./engine/"), exports);
60
62
  __exportStar(require("./cores/"), exports);
61
63
  __exportStar(require("./tools/"), exports);
@@ -63,6 +65,7 @@ __exportStar(require("./controllers/"), exports);
63
65
  //* init an instance of core modules.
64
66
  const engine_1 = __importDefault(require("./engine/"));
65
67
  const cores_1 = __importDefault(require("./cores/"));
68
+ const engine_2 = require("./engine/");
66
69
  //* export as group.
67
70
  const lib = __importStar(require("./lib/"));
68
71
  exports.lib = lib;
@@ -71,6 +74,14 @@ exports.tools = tools;
71
74
  const controllers = __importStar(require("./controllers/"));
72
75
  __exportStar(require("./helpers/"), exports);
73
76
  __exportStar(require("./extended/"), exports);
77
+ //* export the L2 template layer. v5 B3: every L1/L2 name has one definition, so no collision pins are needed.
78
+ __exportStar(require("./extended/cores/"), exports);
79
+ var browser_cache_1 = require("./extended/cores/browser-cache"); //* not in the cores barrel (optional util)
80
+ Object.defineProperty(exports, "withBrowserCache", { enumerable: true, get: function () { return browser_cache_1.withBrowserCache; } });
81
+ var abstract_services_1 = require("./extended/cores/abstract-services"); //* v5 B2-b: the same lazy object as `$OS2` (root `$ES6` is removed)
82
+ Object.defineProperty(exports, "$ES6Routed", { enumerable: true, get: function () { return abstract_services_1.$ES6Routed; } });
74
83
  //* export as default.
75
84
  exports.default = { engine: engine_1.default, cores: cores_1.default, tools, controllers };
85
+ //* PERF (D40): process time at the end of this barrel (the baseline to compare the lazy loads against).
86
+ (0, engine_2._inf)(engine_2.$U.NS('PERF', 'cyan'), '>', 'loaded lemon-core', `${(process.uptime() * 1000).toFixed(1)} ms`);
76
87
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;GAYG;AACH,8EAA8E;AAC9E,iDAA+B;AAC/B,uDAAqC;AACrC,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,iDAA+B;AAE/B,qCAAqC;AACrC,uDAA+B;AAC/B,qDAA6B;AAE7B,oBAAoB;AACpB,4CAA8B;AAKrB,kBAAG;AAJZ,gDAAkC;AAIpB,sBAAK;AAHnB,4DAA8C;AAI9C,6CAA2B;AAC3B,8CAA4B;AAE5B,sBAAsB;AACtB,kBAAe,EAAE,MAAM,EAAN,gBAAM,EAAE,KAAK,EAAL,eAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;GAYG;AACH,8EAA8E;AAC9E,iDAA+B;AAC/B,uDAAqC;AACrC,oDAAkD,CAAC,qEAAqE;AAA/G,yGAAA,UAAU,OAAA;AACnB,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,iDAA+B;AAE/B,qCAAqC;AACrC,uDAA+B;AAC/B,qDAA6B;AAC7B,sCAAqC;AAErC,oBAAoB;AACpB,4CAA8B;AAKrB,kBAAG;AAJZ,gDAAkC;AAIpB,sBAAK;AAHnB,4DAA8C;AAI9C,6CAA2B;AAC3B,8CAA4B;AAE5B,8GAA8G;AAC9G,oDAAkC;AAClC,gEAAkE,CAAC,2CAA2C;AAArG,iHAAA,gBAAgB,OAAA;AACzB,wEAAgE,CAAC,oEAAoE;AAA5H,+GAAA,UAAU,OAAA;AAEnB,sBAAsB;AACtB,kBAAe,EAAE,MAAM,EAAN,gBAAM,EAAE,KAAK,EAAL,eAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAErD,wGAAwG;AACxG,IAAA,aAAI,EAAC,WAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1,54 @@
1
+ export declare const DEFAULT_FETCH_TIMEOUT = 25000;
2
+ /** one request to send (the payload is serialized already, see `toPayload()`) */
3
+ export interface HttpFetchRequest {
4
+ /** http method (GET, PUT, POST, ...) */
5
+ method: string;
6
+ /** full url with query-string */
7
+ url: string;
8
+ /** headers to send (`undefined`/`null` values are skipped) */
9
+ headers?: {
10
+ [key: string]: any;
11
+ };
12
+ /** serialized body sent as-is (for SigV4 it must be the exact signed string) */
13
+ payload?: string;
14
+ /** json mode, same meaning as `request` option `json:true` */
15
+ json: boolean;
16
+ /** (optional) timeout in ms (v5 default `DEFAULT_FETCH_TIMEOUT` = 25000) */
17
+ timeout?: number;
18
+ }
19
+ /** optional log hooks, so each factory keeps its own namespace and verbosity */
20
+ export interface HttpFetchLogger {
21
+ /** normal log */
22
+ log?: (...args: any[]) => void;
23
+ /** error log */
24
+ err?: (...args: any[]) => void;
25
+ }
26
+ /** json mode rule of the factories: a string body goes plain, anything else as json */
27
+ export declare const isJsonBody: ($body: any) => boolean;
28
+ /** serialize the body once: `null`/`undefined` → no body, json → `JSON.stringify`, string → as-is */
29
+ export declare const toPayload: ($body: any, json: boolean) => string | undefined;
30
+ /** turn a `fetch` failure into an Error whose message starts with the errno (ex: `ECONNREFUSED ...`) */
31
+ export declare const asFetchError: (e: any, timeout?: number) => Error;
32
+ /** parse response text like `request` did: json → try `JSON.parse` on any text (empty → `undefined`), else the text */
33
+ export declare const parseResponseText: (text: string, json: boolean) => any;
34
+ /** build fetch headers: string values, last one wins case-insensitively, json defaults added if absent */
35
+ export declare const buildHeaders: (req: HttpFetchRequest) => Headers;
36
+ /** the raw response: status and the parsed body (`statusMessage` is `res.statusText`) */
37
+ export interface HttpFetchResponse {
38
+ /** http status code */
39
+ statusCode: number;
40
+ /** http status text */
41
+ statusMessage: string;
42
+ /** body parsed by `parseResponseText()` */
43
+ body: any;
44
+ }
45
+ /** send one request with `fetch`, and read the body. network errors (and timeout) are rethrown by `asFetchError()` */
46
+ export declare const sendRequest: (req: HttpFetchRequest) => Promise<HttpFetchResponse>;
47
+ /** re-parse a string body that looks like a json object or array (kept from the v4 code) */
48
+ export declare const reparseBody: (body: any, logger?: HttpFetchLogger) => any;
49
+ /** turn a non-success response into the v4 error message (400·404 and other formats) — v5: a `LemonError` with the peer status */
50
+ export declare const asStatusError: (res: HttpFetchResponse, logger?: HttpFetchLogger) => Error;
51
+ /** v5: any 2xx is a success (B5 § 6.6) */
52
+ export declare const isSuccessStatus: (status: number) => boolean;
53
+ /** send a request and resolve the body: v5 success on any 2xx (204, or another 2xx with no body → `null`), other status codes reject */
54
+ export declare const fetchProxyBody: <T = any>(req: HttpFetchRequest, logger?: HttpFetchLogger) => Promise<T>;
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchProxyBody = exports.isSuccessStatus = exports.asStatusError = exports.reparseBody = exports.sendRequest = exports.buildHeaders = exports.parseResponseText = exports.asFetchError = exports.toPayload = exports.isJsonBody = exports.DEFAULT_FETCH_TIMEOUT = void 0;
4
+ /**
5
+ * `http-fetch.ts`
6
+ * - internal transport for the http proxy factories (`createSigV4Proxy`, `createHttpWebProxy`, `$X.createHttpSearchProxy`).
7
+ * - uses the Node built-in `fetch`, and keeps the contract of the former `request` based code (v4).
8
+ * - NOTE: internal only. do not export from `lib/index.ts` or any other barrel.
9
+ *
10
+ * @author Steve Jung <steve@lemoncloud.io>
11
+ * @date 2026-10-27 initial version (v5 B2-a: `request` -> `fetch`)
12
+ *
13
+ * @copyright (C) lemoncloud.io 2026 - All Rights Reserved.
14
+ */
15
+ const test_helper_1 = require("../common/test-helper");
16
+ const lemon_error_1 = require("../common/lemon-error");
17
+ //* v5 B5: default timeout of one request (ms) — under API Gateway 29 s and the 30 s Lambda timeout (SPEC § 6.6).
18
+ exports.DEFAULT_FETCH_TIMEOUT = 25000;
19
+ /** json mode rule of the factories: a string body goes plain, anything else as json */
20
+ const isJsonBody = ($body) => typeof $body !== 'string';
21
+ exports.isJsonBody = isJsonBody;
22
+ /** serialize the body once: `null`/`undefined` → no body, json → `JSON.stringify`, string → as-is */
23
+ const toPayload = ($body, json) => {
24
+ if ($body === null || $body === undefined)
25
+ return undefined;
26
+ return json ? JSON.stringify($body) : `${$body}`;
27
+ };
28
+ exports.toPayload = toPayload;
29
+ /** turn a `fetch` failure into an Error whose message starts with the errno (ex: `ECONNREFUSED ...`) */
30
+ const asFetchError = (e, timeout) => {
31
+ //* v5: `AbortSignal.timeout` rejects with `TimeoutError` (no `cause`) → errno-style `ETIMEDOUT timeout ...`.
32
+ if (e?.name === 'TimeoutError')
33
+ return new Error(`ETIMEDOUT timeout after ${timeout ?? exports.DEFAULT_FETCH_TIMEOUT} ms`);
34
+ const cause = e?.cause;
35
+ return new Error(`${cause?.code ?? 'FETCH_FAILED'} ${cause?.message ?? e?.message}`);
36
+ };
37
+ exports.asFetchError = asFetchError;
38
+ /** parse response text like `request` did: json → try `JSON.parse` on any text (empty → `undefined`), else the text */
39
+ const parseResponseText = (text, json) => {
40
+ if (!json)
41
+ return text;
42
+ if (!text)
43
+ return undefined;
44
+ try {
45
+ return JSON.parse(text);
46
+ }
47
+ catch (e) {
48
+ return text;
49
+ }
50
+ };
51
+ exports.parseResponseText = parseResponseText;
52
+ /** build fetch headers: string values, last one wins case-insensitively, json defaults added if absent */
53
+ const buildHeaders = (req) => {
54
+ const headers = new Headers();
55
+ // copy given headers, skipping empty values.
56
+ Object.entries(req.headers ?? {}).forEach(([key, val]) => {
57
+ if (val !== undefined && val !== null)
58
+ headers.set(key, `${val}`);
59
+ });
60
+ // json mode defaults, same as `request`: accept always, content-type only with a body.
61
+ if (req.json && !headers.has('accept'))
62
+ headers.set('accept', 'application/json');
63
+ if (req.json && req.payload !== undefined && !headers.has('content-type'))
64
+ headers.set('content-type', 'application/json');
65
+ return headers;
66
+ };
67
+ exports.buildHeaders = buildHeaders;
68
+ /** send one request with `fetch`, and read the body. network errors (and timeout) are rethrown by `asFetchError()` */
69
+ const sendRequest = async (req) => {
70
+ const method = `${req.method || 'GET'}`.toUpperCase();
71
+ // `fetch` cannot send a body with GET/HEAD (SigV4 also signs an empty body for GET).
72
+ const body = method === 'GET' || method === 'HEAD' ? undefined : req.payload;
73
+ //* v5: every request has a timeout (default 25 s, per-request `timeout`).
74
+ const timeout = req.timeout ?? exports.DEFAULT_FETCH_TIMEOUT;
75
+ try {
76
+ const signal = AbortSignal.timeout(timeout);
77
+ const res = await fetch(req.url, { method, headers: (0, exports.buildHeaders)(req), body, signal });
78
+ const text = await res.text();
79
+ return { statusCode: res.status, statusMessage: res.statusText, body: (0, exports.parseResponseText)(text, req.json) };
80
+ }
81
+ catch (e) {
82
+ throw (0, exports.asFetchError)(e, timeout);
83
+ }
84
+ };
85
+ exports.sendRequest = sendRequest;
86
+ /** re-parse a string body that looks like a json object or array (kept from the v4 code) */
87
+ const reparseBody = (body, logger) => {
88
+ try {
89
+ if (body && typeof body == 'string' && body.startsWith('{') && body.endsWith('}'))
90
+ return JSON.parse(body);
91
+ if (body && typeof body == 'string' && body.startsWith('[') && body.endsWith(']'))
92
+ return JSON.parse(body);
93
+ }
94
+ catch (e) {
95
+ logger?.err?.('!WARN! parse(body) =', e instanceof Error ? e : (0, test_helper_1.GETERR)(e));
96
+ }
97
+ return body;
98
+ };
99
+ exports.reparseBody = reparseBody;
100
+ /** turn a non-success response into the v4 error message (400·404 and other formats) — v5: a `LemonError` with the peer status */
101
+ const asStatusError = (res, logger) => {
102
+ const { statusCode, statusMessage, body } = res;
103
+ const msg = body ? (0, test_helper_1.GETERR)(body) : `${statusMessage || ''}`;
104
+ // 400·404: `<code> <TITLE> - <msg>`, unless the message is already `404 NOT FOUND ...`.
105
+ if (statusCode === 400 || statusCode === 404) {
106
+ const title = `${(statusCode == 404 ? '' : statusMessage) || 'NOT FOUND'}`.toUpperCase();
107
+ return (0, lemon_error_1.asLemonError)(statusCode, msg.startsWith('404 NOT FOUND') ? msg : `${statusCode} ${title} - ${msg}`, title);
108
+ }
109
+ statusMessage && logger?.log?.(`> statusMessage[${statusCode}] =`, statusMessage);
110
+ body && logger?.log?.(`> body[${statusCode}] =`, (0, test_helper_1.GETERR)(body));
111
+ //* v5: the message string is unchanged, the status is typed.
112
+ return (0, lemon_error_1.asLemonError)(statusCode, `${statusCode} ${statusMessage || 'FAILURE'} - ${msg}`, `${statusMessage || 'FAILURE'}`);
113
+ };
114
+ exports.asStatusError = asStatusError;
115
+ /** v5: any 2xx is a success (B5 § 6.6) */
116
+ const isSuccessStatus = (status) => status >= 200 && status < 300;
117
+ exports.isSuccessStatus = isSuccessStatus;
118
+ /** send a request and resolve the body: v5 success on any 2xx (204, or another 2xx with no body → `null`), other status codes reject */
119
+ const fetchProxyBody = async (req, logger) => {
120
+ const res = await (0, exports.sendRequest)(req).catch((e) => {
121
+ logger?.err?.('>>>>> requested! err=', e);
122
+ throw e;
123
+ });
124
+ if (!(0, exports.isSuccessStatus)(res.statusCode))
125
+ throw (0, exports.asStatusError)(res, logger);
126
+ //* v5: a 2xx other than 200·201 with no body (ex: 204) → `null` (200·201 keep the v4 empty-body result).
127
+ const noBody = res.body === undefined || res.body === '';
128
+ if (noBody && res.statusCode !== 200 && res.statusCode !== 201)
129
+ return null;
130
+ return (0, exports.reparseBody)(res.body, logger);
131
+ };
132
+ exports.fetchProxyBody = fetchProxyBody;
133
+ //# sourceMappingURL=http-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-fetch.js","sourceRoot":"","sources":["../../src/lib/http-fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * `lib/lazy.ts`
3
+ * - (internal) lazy singleton as a `Proxy`: nothing is built until the first trap.
4
+ * - not exported by the `lib` barrel.
5
+ *
6
+ * Why a Proxy (not a getter): the ESM wrapper reads every value export once at load
7
+ * (`export const X = cjs.X`). A getter would build the instance at that moment;
8
+ * reading a Proxy builds nothing.
9
+ *
10
+ * @author Steve Jung <steve@lemoncloud.io>
11
+ * @date 2026-10-27 v5 B2-b (S-25)
12
+ *
13
+ * @copyright (C) 2026 LemonCloud Co Ltd. - All Rights Reserved.
14
+ */
15
+ /**
16
+ * make a lazy instance: `factory()` runs once, on the first trap, and every trap is then delegated.
17
+ * - traps: `get`, `has`, `ownKeys`, `getOwnPropertyDescriptor`, `getPrototypeOf`, `set`.
18
+ * - `instanceof` works via `getPrototypeOf`.
19
+ *
20
+ * @param factory builds the real instance (called at most once)
21
+ */
22
+ export declare const lazyInstance: <T extends object>(factory: () => T) => T;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /**
3
+ * `lib/lazy.ts`
4
+ * - (internal) lazy singleton as a `Proxy`: nothing is built until the first trap.
5
+ * - not exported by the `lib` barrel.
6
+ *
7
+ * Why a Proxy (not a getter): the ESM wrapper reads every value export once at load
8
+ * (`export const X = cjs.X`). A getter would build the instance at that moment;
9
+ * reading a Proxy builds nothing.
10
+ *
11
+ * @author Steve Jung <steve@lemoncloud.io>
12
+ * @date 2026-10-27 v5 B2-b (S-25)
13
+ *
14
+ * @copyright (C) 2026 LemonCloud Co Ltd. - All Rights Reserved.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.lazyInstance = void 0;
18
+ /**
19
+ * make a lazy instance: `factory()` runs once, on the first trap, and every trap is then delegated.
20
+ * - traps: `get`, `has`, `ownKeys`, `getOwnPropertyDescriptor`, `getPrototypeOf`, `set`.
21
+ * - `instanceof` works via `getPrototypeOf`.
22
+ *
23
+ * @param factory builds the real instance (called at most once)
24
+ */
25
+ const lazyInstance = (factory) => {
26
+ let instance = null;
27
+ // build once, then reuse.
28
+ const real = () => {
29
+ if (instance === null)
30
+ instance = factory();
31
+ return instance;
32
+ };
33
+ // the proxy target is an empty object; the real instance only lives in the closure.
34
+ const target = {};
35
+ return new Proxy(target, {
36
+ // read a property (own field, getter or method) from the real instance.
37
+ get: (_t, prop) => Reflect.get(real(), prop),
38
+ // `prop in proxy`.
39
+ has: (_t, prop) => Reflect.has(real(), prop),
40
+ // `Object.keys(proxy)` and friends.
41
+ ownKeys: () => Reflect.ownKeys(real()),
42
+ // descriptors must be configurable: the empty target does not hold the property (Proxy invariant).
43
+ getOwnPropertyDescriptor: (_t, prop) => {
44
+ const desc = Reflect.getOwnPropertyDescriptor(real(), prop);
45
+ return desc ? { ...desc, configurable: true } : undefined;
46
+ },
47
+ // the real prototype, so `proxy instanceof Class` is true.
48
+ getPrototypeOf: () => Reflect.getPrototypeOf(real()),
49
+ // write a property on the real instance.
50
+ set: (_t, prop, value) => Reflect.set(real(), prop, value),
51
+ });
52
+ };
53
+ exports.lazyInstance = lazyInstance;
54
+ //# sourceMappingURL=lazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/lib/lazy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH;;;;;;GAMG;AACI,MAAM,YAAY,GAAG,CAAmB,OAAgB,EAAK,EAAE;IAClE,IAAI,QAAQ,GAAM,IAAI,CAAC;IACvB,0BAA0B;IAC1B,MAAM,IAAI,GAAG,GAAM,EAAE;QACjB,IAAI,QAAQ,KAAK,IAAI;YAAE,QAAQ,GAAG,OAAO,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;IACF,oFAAoF;IACpF,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,OAAO,IAAI,KAAK,CAAI,MAAM,EAAE;QACxB,wEAAwE;QACxE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC;QAC5C,mBAAmB;QACnB,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC;QAC5C,oCAAoC;QACpC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtC,mGAAmG;QACnG,wBAAwB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,CAAC;QACD,2DAA2D;QAC3D,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACpD,yCAAyC;QACzC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC;KAC7D,CAAC,CAAC;AACP,CAAC,CAAC;AA1BW,QAAA,YAAY,gBA0BvB"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * `lib/perf.ts`
3
+ * - (internal) performance checkpoint helpers for the `PERF` log lines (v5 B2-c, D40).
4
+ * - not exported by the `lib` barrel.
5
+ * - imports nothing from `engine/`: the caller passes its logger and namespace,
6
+ * so `tools/` and other engine-free files can use it too.
7
+ *
8
+ * line format: `log(ns, '>', label, '<ms> ms')` with one decimal, e.g. `PERF: > lazy-load <package> 12.3 ms`.
9
+ *
10
+ * @author Steve Jung <steve@lemoncloud.io>
11
+ * @date 2026-10-27 v5 B2-c (D40)
12
+ *
13
+ * @copyright (C) 2026 LemonCloud Co Ltd. - All Rights Reserved.
14
+ */
15
+ /** a logger like `_inf` or `$engine.inf`. */
16
+ export type PerfLogger = (...args: any[]) => void;
17
+ /**
18
+ * current monotonic time in ms (from `process.hrtime.bigint()`).
19
+ */
20
+ export declare const nowMs: () => number;
21
+ /**
22
+ * run `fn` and print one line with its elapsed ms; returns the result.
23
+ * - an exception is thrown as is, and no line is printed.
24
+ *
25
+ * @param log logger (e.g. `_inf`)
26
+ * @param ns namespace (e.g. `$U.NS('PERF', 'cyan')`)
27
+ * @param label checkpoint label (no values, no hosts)
28
+ * @param fn the work to measure
29
+ */
30
+ export declare const measure: <T>(log: PerfLogger, ns: string, label: string, fn: () => T) => T;
31
+ /**
32
+ * the async version of `measure()`: the line is printed after `fn()` resolves.
33
+ * - a rejection is passed through, and no line is printed.
34
+ */
35
+ export declare const measureAsync: <T>(log: PerfLogger, ns: string, label: string, fn: () => Promise<T>) => Promise<T>;