sonamu 0.10.13 → 0.11.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 (230) hide show
  1. package/dist/ai/agents/agent.d.ts.map +1 -1
  2. package/dist/ai/providers/rtzr/error.d.ts.map +1 -1
  3. package/dist/ai/providers/rtzr/model.d.ts.map +1 -1
  4. package/dist/ai/providers/rtzr/utils.d.ts.map +1 -1
  5. package/dist/api/base-frame.d.ts.map +1 -1
  6. package/dist/api/decorators.d.ts.map +1 -1
  7. package/dist/api/sonamu.d.ts.map +1 -1
  8. package/dist/api/sonamu.js +3 -2
  9. package/dist/api/validator.d.ts.map +1 -1
  10. package/dist/auth/audit-log/events.d.ts.map +1 -1
  11. package/dist/auth/index.d.ts +1 -1
  12. package/dist/auth/index.d.ts.map +1 -1
  13. package/dist/auth/index.js +3 -3
  14. package/dist/auth/knex-adapter.d.ts.map +1 -1
  15. package/dist/auth/plugins/wrappers/admin.d.ts +4 -4
  16. package/dist/auth/plugins/wrappers/admin.d.ts.map +1 -1
  17. package/dist/auth/plugins/wrappers/anonymous.d.ts.map +1 -1
  18. package/dist/auth/plugins/wrappers/api-key.d.ts.map +1 -1
  19. package/dist/auth/plugins/wrappers/jwt.d.ts.map +1 -1
  20. package/dist/auth/plugins/wrappers/organization.d.ts.map +1 -1
  21. package/dist/auth/plugins/wrappers/passkey.d.ts.map +1 -1
  22. package/dist/auth/plugins/wrappers/phone-number.d.ts.map +1 -1
  23. package/dist/auth/plugins/wrappers/sso.d.ts.map +1 -1
  24. package/dist/auth/plugins/wrappers/two-factor.d.ts.map +1 -1
  25. package/dist/auth/plugins/wrappers/username.d.ts.map +1 -1
  26. package/dist/bin/build-config.d.ts +10 -0
  27. package/dist/bin/build-config.d.ts.map +1 -1
  28. package/dist/bin/build-config.js +130 -6
  29. package/dist/bin/fixture.d.ts +7 -4
  30. package/dist/bin/fixture.d.ts.map +1 -1
  31. package/dist/bin/fixture.js +161 -13
  32. package/dist/bin/test-command.d.ts +7 -0
  33. package/dist/bin/test-command.d.ts.map +1 -1
  34. package/dist/bin/test-command.js +18 -4
  35. package/dist/bin/typecheck-web.d.ts +2 -0
  36. package/dist/bin/typecheck-web.d.ts.map +1 -0
  37. package/dist/bin/typecheck-web.js +36 -0
  38. package/dist/cache/decorator.d.ts.map +1 -1
  39. package/dist/cache/drivers.d.ts.map +1 -1
  40. package/dist/cache-control/cache-control.d.ts.map +1 -1
  41. package/dist/compress/compress.d.ts.map +1 -1
  42. package/dist/cone/cone-generator.js +1 -1
  43. package/dist/database/base-model.d.ts.map +1 -1
  44. package/dist/database/base-model.types.d.ts +0 -1
  45. package/dist/database/base-model.types.d.ts.map +1 -1
  46. package/dist/database/db.d.ts.map +1 -1
  47. package/dist/database/puri-subset.types.d.ts +0 -1
  48. package/dist/database/puri-subset.types.d.ts.map +1 -1
  49. package/dist/database/puri-wrapper.d.ts +0 -1
  50. package/dist/database/puri-wrapper.d.ts.map +1 -1
  51. package/dist/database/puri.d.ts +0 -1
  52. package/dist/database/puri.d.ts.map +1 -1
  53. package/dist/database/puri.types.d.ts +0 -1
  54. package/dist/database/puri.types.d.ts.map +1 -1
  55. package/dist/database/transaction-context.d.ts.map +1 -1
  56. package/dist/database/upsert-builder.d.ts.map +1 -1
  57. package/dist/dict/en.d.ts +58 -58
  58. package/dist/dict/en.d.ts.map +1 -1
  59. package/dist/dict/ko.d.ts +58 -58
  60. package/dist/dict/ko.d.ts.map +1 -1
  61. package/dist/dict/rc-keys.d.ts.map +1 -1
  62. package/dist/dict/sonamu-dictionary.d.ts.map +1 -1
  63. package/dist/dict/sonamu-dictionary.js +2 -2
  64. package/dist/dict/utils.d.ts.map +1 -1
  65. package/dist/entity/entity-manager.d.ts +115 -113
  66. package/dist/entity/entity-manager.d.ts.map +1 -1
  67. package/dist/entity/entity-manager.js +25 -19
  68. package/dist/entity/entity-template-cone.d.ts +4 -4
  69. package/dist/entity/entity.d.ts +6 -1
  70. package/dist/entity/entity.d.ts.map +1 -1
  71. package/dist/entity/entity.js +8 -3
  72. package/dist/env.d.ts.map +1 -1
  73. package/dist/exceptions/so-exceptions.d.ts.map +1 -1
  74. package/dist/filter/types.d.ts.map +1 -1
  75. package/dist/index.js +6 -6
  76. package/dist/logger/configure.d.ts +10 -1
  77. package/dist/logger/configure.d.ts.map +1 -1
  78. package/dist/logger/configure.js +30 -5
  79. package/dist/migration/migrator.d.ts +12 -1
  80. package/dist/migration/migrator.d.ts.map +1 -1
  81. package/dist/migration/migrator.js +77 -30
  82. package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
  83. package/dist/migration/slack-confirm.d.ts.map +1 -1
  84. package/dist/naite/messaging-types.d.ts +0 -1
  85. package/dist/naite/messaging-types.d.ts.map +1 -1
  86. package/dist/naite/naite-reporter.d.ts +0 -1
  87. package/dist/naite/naite-reporter.d.ts.map +1 -1
  88. package/dist/naite/naite.d.ts.map +1 -1
  89. package/dist/storage/base-file.d.ts.map +1 -1
  90. package/dist/storage/buffered-file.d.ts.map +1 -1
  91. package/dist/storage/drivers.d.ts.map +1 -1
  92. package/dist/storage/s3-driver.d.ts.map +1 -1
  93. package/dist/storage/storage-manager.d.ts.map +1 -1
  94. package/dist/storage/uploaded-file.d.ts.map +1 -1
  95. package/dist/stream/ws-audience-resolver.d.ts.map +1 -1
  96. package/dist/stream/ws-audience.d.ts.map +1 -1
  97. package/dist/stream/ws-cluster-bus.d.ts.map +1 -1
  98. package/dist/stream/ws-delivery.d.ts.map +1 -1
  99. package/dist/stream/ws-local-connection-store.d.ts.map +1 -1
  100. package/dist/stream/ws-presence-store.d.ts.map +1 -1
  101. package/dist/stream/ws-registry.d.ts.map +1 -1
  102. package/dist/stream/ws-telemetry-memory.d.ts.map +1 -1
  103. package/dist/stream/ws-telemetry.d.ts.map +1 -1
  104. package/dist/stream/ws.d.ts.map +1 -1
  105. package/dist/syncer/api-parser.js +2 -2
  106. package/dist/syncer/file-patterns.d.ts +17 -17
  107. package/dist/syncer/filesystem-dependencies.js +1 -1
  108. package/dist/syncer/syncer.d.ts.map +1 -1
  109. package/dist/tasks/step-wrapper.d.ts.map +1 -1
  110. package/dist/tasks/workflow-manager.d.ts.map +1 -1
  111. package/dist/template/implementations/entity.template.d.ts +2 -2
  112. package/dist/template/implementations/entity.template.d.ts.map +1 -1
  113. package/dist/template/implementations/entry-server.template.d.ts +2 -2
  114. package/dist/template/implementations/entry-server.template.d.ts.map +1 -1
  115. package/dist/template/implementations/generated.template.d.ts +2 -2
  116. package/dist/template/implementations/generated.template.d.ts.map +1 -1
  117. package/dist/template/implementations/generated_http.template.d.ts +2 -2
  118. package/dist/template/implementations/generated_http.template.d.ts.map +1 -1
  119. package/dist/template/implementations/generated_sso.template.d.ts +2 -2
  120. package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
  121. package/dist/template/implementations/http_validators.template.d.ts +2 -2
  122. package/dist/template/implementations/http_validators.template.d.ts.map +1 -1
  123. package/dist/template/implementations/init_types.template.d.ts +2 -2
  124. package/dist/template/implementations/init_types.template.d.ts.map +1 -1
  125. package/dist/template/implementations/model.template.d.ts +2 -2
  126. package/dist/template/implementations/model.template.d.ts.map +1 -1
  127. package/dist/template/implementations/model_test.template.d.ts +2 -2
  128. package/dist/template/implementations/model_test.template.d.ts.map +1 -1
  129. package/dist/template/implementations/queries.template.d.ts +2 -2
  130. package/dist/template/implementations/queries.template.d.ts.map +1 -1
  131. package/dist/template/implementations/sd.template.d.ts +2 -2
  132. package/dist/template/implementations/sd.template.d.ts.map +1 -1
  133. package/dist/template/implementations/sd.template.js +1 -1
  134. package/dist/template/implementations/services.template.d.ts +2 -2
  135. package/dist/template/implementations/services.template.d.ts.map +1 -1
  136. package/dist/template/implementations/view_form.template.d.ts +3 -3
  137. package/dist/template/implementations/view_form.template.d.ts.map +1 -1
  138. package/dist/template/implementations/view_id_all_select.template.d.ts +2 -2
  139. package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -1
  140. package/dist/template/implementations/view_list.template.d.ts +2 -2
  141. package/dist/template/implementations/view_list.template.d.ts.map +1 -1
  142. package/dist/template/implementations/view_search_input.template.d.ts +2 -2
  143. package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
  144. package/dist/template/template-manager.d.ts.map +1 -1
  145. package/dist/template/template.d.ts.map +1 -1
  146. package/dist/template/zod-converter.d.ts.map +1 -1
  147. package/dist/testing/_relation-graph.d.ts.map +1 -1
  148. package/dist/testing/data-explorer.d.ts +2 -2
  149. package/dist/testing/data-explorer.d.ts.map +1 -1
  150. package/dist/testing/dev-vitest-manager.d.ts.map +1 -1
  151. package/dist/testing/faker-mappings.d.ts.map +1 -1
  152. package/dist/testing/fixture-generator.d.ts.map +1 -1
  153. package/dist/testing/fixture-generator.js +1 -1
  154. package/dist/testing/fixture-loader.d.ts.map +1 -1
  155. package/dist/testing/fixture-manager.d.ts +4 -0
  156. package/dist/testing/fixture-manager.d.ts.map +1 -1
  157. package/dist/testing/fixture-manager.js +99 -25
  158. package/dist/testing/naite-vitest-reporter.d.ts.map +1 -1
  159. package/dist/testing/parallel-db-manager.d.ts.map +1 -1
  160. package/dist/tooling/__tests__/helpers/sonamu-test-root.d.ts +10 -0
  161. package/dist/tooling/__tests__/helpers/sonamu-test-root.d.ts.map +1 -0
  162. package/dist/tooling/__tests__/helpers/sonamu-test-root.js +42 -0
  163. package/dist/tooling/cdd-service.d.ts +87 -0
  164. package/dist/tooling/cdd-service.d.ts.map +1 -0
  165. package/dist/tooling/cdd-service.js +215 -0
  166. package/dist/tooling/cli-tooling.d.ts +11 -0
  167. package/dist/tooling/cli-tooling.d.ts.map +1 -0
  168. package/dist/tooling/cli-tooling.js +901 -0
  169. package/dist/tooling/fixture-service.d.ts +29 -0
  170. package/dist/tooling/fixture-service.d.ts.map +1 -0
  171. package/dist/tooling/fixture-service.js +53 -0
  172. package/dist/tooling/index.d.ts +2 -0
  173. package/dist/tooling/index.d.ts.map +1 -0
  174. package/dist/tooling/index.js +2 -0
  175. package/dist/tooling/test-run-client.d.ts +27 -0
  176. package/dist/tooling/test-run-client.d.ts.map +1 -0
  177. package/dist/tooling/test-run-client.js +120 -0
  178. package/dist/tsdown.api.config.js +48 -0
  179. package/dist/types/types.d.ts +527 -527
  180. package/dist/types/types.d.ts.map +1 -1
  181. package/dist/ui/ai-client.d.ts.map +1 -1
  182. package/dist/utils/formatter.d.ts +6 -0
  183. package/dist/utils/formatter.d.ts.map +1 -1
  184. package/dist/utils/formatter.js +42 -11
  185. package/dist/utils/model.d.ts +1 -1
  186. package/dist/vector/chunking.d.ts.map +1 -1
  187. package/dist/vector/embedding.d.ts.map +1 -1
  188. package/package.json +13 -12
  189. package/src/api/sonamu.ts +2 -1
  190. package/src/auth/index.ts +1 -1
  191. package/src/bin/__tests__/zod-compiler-build.test.ts +67 -0
  192. package/src/bin/build-config.ts +151 -5
  193. package/src/bin/fixture.ts +204 -21
  194. package/src/bin/test-command.ts +27 -4
  195. package/src/bin/typecheck-web.ts +56 -0
  196. package/src/dict/sonamu-dictionary.ts +1 -1
  197. package/src/entity/__tests__/entity-manager-autoload.contract.test.ts +55 -0
  198. package/src/entity/__tests__/entity-manager-explicit-root-registration.contract.test.ts +107 -0
  199. package/src/entity/entity-manager.ts +31 -19
  200. package/src/entity/entity.ts +7 -2
  201. package/src/logger/__tests__/configure.test.ts +33 -0
  202. package/src/logger/configure.ts +45 -3
  203. package/src/migration/__tests__/migrator.test.ts +51 -0
  204. package/src/migration/migrator.ts +103 -34
  205. package/src/syncer/api-parser.ts +1 -1
  206. package/src/testing/fixture-manager.ts +124 -32
  207. package/src/tooling/__tests__/cdd-rule-bootstrap.contract.test.ts +118 -0
  208. package/src/tooling/__tests__/cli-tooling-auth.contract.test.ts +72 -0
  209. package/src/tooling/__tests__/cli-tooling-cone-locale.contract.test.ts +150 -0
  210. package/src/tooling/__tests__/cli-tooling-entity-patch.contract.test.ts +131 -0
  211. package/src/tooling/__tests__/cli-tooling-fixture-transfer.contract.test.ts +255 -0
  212. package/src/tooling/__tests__/cli-tooling-i18n-update.contract.test.ts +104 -0
  213. package/src/tooling/__tests__/cli-tooling-scaffold.contract.test.ts +86 -0
  214. package/src/tooling/__tests__/cli-tooling-stub-practice.contract.test.ts +147 -0
  215. package/src/tooling/__tests__/default-cdd-adapter.contract.test.ts +73 -0
  216. package/src/tooling/__tests__/helpers/sonamu-test-root.ts +42 -0
  217. package/src/tooling/__tests__/test-run-client-config.contract.test.ts +154 -0
  218. package/src/tooling/cdd-service.ts +256 -0
  219. package/src/tooling/cli-tooling.ts +937 -0
  220. package/src/tooling/fixture-service.ts +72 -0
  221. package/src/tooling/index.ts +1 -0
  222. package/src/tooling/test-run-client.ts +196 -0
  223. package/src/utils/__tests__/formatter-bin.test.ts +99 -0
  224. package/src/utils/formatter.ts +74 -10
  225. package/tsdown.api.config.ts +8 -10
  226. package/bin/cli.js +0 -75
  227. package/dist/bin/cli.d.ts +0 -2
  228. package/dist/bin/cli.d.ts.map +0 -1
  229. package/dist/bin/cli.js +0 -956
  230. package/src/bin/cli.ts +0 -1166
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAE3B,CAAC;AAqBH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAE3B,CAAC;AAqBH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-client.d.ts","sourceRoot":"","sources":["../../src/ui/ai-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAWlF,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAarE,cAAM,QAAQ;IACZ,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,KAAK,CAIG;IAEV,IAAI;IAcV,aAAa,CACX,QAAQ,EAAE,YAAY,EAAE,EACxB,cAAc,EAAE,aAAa,EAAE,GAC9B,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC;IAyM7B,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC;CAoRnE;AAiDD,eAAO,MAAM,QAAQ,UAAiB,CAAC"}
1
+ {"version":3,"file":"ai-client.d.ts","sourceRoot":"","sources":["../../src/ui/ai-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAWlF,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAarE,cAAM,QAAQ;IACZ,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,KAAK,CAIG;IAEV,IAAI,kBAYT;IAED,aAAa,CACX,QAAQ,EAAE,YAAY,EAAE,EACxB,cAAc,EAAE,aAAa,EAAE,GAC9B,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAuM5B;IAED,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAmRjE;CACF;AAiDD,eAAO,MAAM,QAAQ,UAAiB,CAAC"}
@@ -1,3 +1,8 @@
1
+ export type ResolveOxlintBinOptions = {
2
+ resolveModule: (specifier: string) => string;
3
+ readFile: (filePath: string) => Promise<string>;
4
+ access: (filePath: string, mode: number) => Promise<void>;
5
+ };
1
6
  /**
2
7
  * 코드를 프로젝트의 oxfmt + oxlint 설정에 맞춰 포매팅한 문자열을 반환합니다.
3
8
  *
@@ -5,4 +10,5 @@
5
10
  * 수명은 프로세스 죽을때까지 ㅋ
6
11
  */
7
12
  export declare const formatCode: (code: string, filePath: string) => Promise<string>;
13
+ export declare function resolveOxlintBin(options?: ResolveOxlintBinOptions): Promise<string>;
8
14
  //# sourceMappingURL=formatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/utils/formatter.ts"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,eAAO,MAAM,UAAU,qDAGrB,CAAC"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/utils/formatter.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D,CAAC;AAOF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,qDAGrB,CAAC;AAyHH,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,uBAIR,GACA,OAAO,CAAC,MAAM,CAAC,CA4CjB"}
@@ -3,10 +3,12 @@ import { init_runtime_value, isNumberValue } from "./runtime-value.js";
3
3
  import { init_controller, isTest } from "./controller.js";
4
4
  import { cached, init_async_utils } from "./async-utils.js";
5
5
  import { execute, init_process_utils } from "./process-utils.js";
6
- import path, { dirname, join } from "path";
7
- import { readFile, unlink, writeFile } from "fs/promises";
8
- import { createHash } from "crypto";
9
- import { createRequire } from "module";
6
+ import { createRequire } from "node:module";
7
+ import { z } from "zod";
8
+ import { createHash } from "node:crypto";
9
+ import { constants } from "node:fs";
10
+ import { access, readFile, unlink, writeFile } from "node:fs/promises";
11
+ import path, { dirname, join } from "node:path";
10
12
  import { format } from "oxfmt";
11
13
  //#region src/utils/formatter.ts
12
14
  /**
@@ -74,7 +76,7 @@ async function runOxlint(code) {
74
76
  try {
75
77
  await writeFile(tmpFile, code, "utf-8");
76
78
  try {
77
- await execute(resolveOxlintBin(), [
79
+ await execute(await resolveOxlintBin(), [
78
80
  "--fix",
79
81
  "--fix-suggestions",
80
82
  "--type-aware",
@@ -90,20 +92,49 @@ async function runOxlint(code) {
90
92
  } catch {}
91
93
  }
92
94
  }
93
- function resolveOxlintBin() {
95
+ async function resolveOxlintBin(options = {
96
+ resolveModule: (specifier) => requireFromHere.resolve(specifier),
97
+ readFile: (filePath) => readFile(filePath, "utf-8"),
98
+ access: (filePath, mode) => access(filePath, mode)
99
+ }) {
100
+ let manifestPath;
94
101
  try {
95
- return requireFromHere.resolve("oxlint/bin/oxlint");
102
+ manifestPath = options.resolveModule("oxlint/package.json");
96
103
  } catch {
97
- return "oxlint";
104
+ throw createOxlintBinResolutionError("oxlint package.json을 찾을 수 없습니다. oxlint 의존성을 설치한 뒤 다시 시도해 주세요.");
98
105
  }
106
+ let manifest;
107
+ try {
108
+ manifest = JSON.parse(await options.readFile(manifestPath));
109
+ } catch {
110
+ throw createOxlintBinResolutionError("oxlint package.json을 읽거나 해석할 수 없습니다. 패키지를 다시 설치한 뒤 시도해 주세요.");
111
+ }
112
+ const stringBinManifest = OxlintStringBinManifestSchema.safeParse(manifest);
113
+ const namedBinManifest = OxlintNamedBinManifestSchema.safeParse(manifest);
114
+ let bin = null;
115
+ if (stringBinManifest.success) bin = stringBinManifest.data.bin;
116
+ else if (namedBinManifest.success) bin = namedBinManifest.data.bin.oxlint;
117
+ if (bin === null) throw createOxlintBinResolutionError("oxlint package.json의 bin 필드가 없거나 올바르지 않습니다. 호환되는 oxlint 패키지를 설치해 주세요.");
118
+ const binPath = path.resolve(dirname(manifestPath), bin);
119
+ try {
120
+ await options.access(binPath, constants.F_OK | constants.X_OK);
121
+ } catch {
122
+ throw createOxlintBinResolutionError("oxlint package.json의 bin 실행 파일이 없거나 실행할 수 없습니다. 패키지를 다시 설치해 주세요.");
123
+ }
124
+ return binPath;
125
+ }
126
+ function createOxlintBinResolutionError(message) {
127
+ return Object.assign(new Error(message), { code: "OXLINT_BIN_RESOLUTION_FAILED" });
99
128
  }
100
- var requireFromHere, formatCode, cachedOxfmtConfig;
129
+ var requireFromHere, OxlintStringBinManifestSchema, OxlintNamedBinManifestSchema, formatCode, cachedOxfmtConfig;
101
130
  var init_formatter = __esmMin((() => {
102
131
  init_async_utils();
103
132
  init_controller();
104
133
  init_process_utils();
105
134
  init_runtime_value();
106
135
  requireFromHere = createRequire(import.meta.url);
136
+ OxlintStringBinManifestSchema = z.object({ bin: z.string().trim().min(1) });
137
+ OxlintNamedBinManifestSchema = z.object({ bin: z.object({ oxlint: z.string().trim().min(1) }) });
107
138
  formatCode = cached(formatCodeInternal, (code, filePath) => {
108
139
  return `${filePath.endsWith(".tsx") ? "tsx" : filePath.endsWith(".json") ? "json" : "ts"}:${createHash("sha1").update(code).digest("hex")}`;
109
140
  });
@@ -111,6 +142,6 @@ var init_formatter = __esmMin((() => {
111
142
  }));
112
143
  //#endregion
113
144
  init_formatter();
114
- export { formatCode, init_formatter };
145
+ export { formatCode, init_formatter, resolveOxlintBin };
115
146
 
116
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9mb3JtYXR0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlSGFzaCB9IGZyb20gXCJjcnlwdG9cIjtcbi8vIO2FjOyKpO2KuCDtmZjqsr3sl5DshJzripQgZnMvcHJvbWlzZXPqsIAgbW9ja+uQmOyngOunjCwg7JWE656YIHJ1bk94bGludOydtCBpc1Rlc3Qg6rCA65Oc66GcIOyViCDrj4Tri4jquYxcbi8vIOq3uOuDpSBmcy9wcm9taXNlcyDqt7jrjIDroZwg7IKs7JqpLiAocHJvZHVjdGlvbuyXkOyEnOunjCDsnoTsi5ztjIzsnbwg7Z2Q66aE7J20IOuPleuLiOuLpC4pXG5pbXBvcnQgeyByZWFkRmlsZSwgdW5saW5rLCB3cml0ZUZpbGUgfSBmcm9tIFwiZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibW9kdWxlXCI7XG5pbXBvcnQgcGF0aCwgeyBkaXJuYW1lLCBqb2luIH0gZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgZm9ybWF0LCB0eXBlIEZvcm1hdENvbmZpZyB9IGZyb20gXCJveGZtdFwiO1xuXG5pbXBvcnQgeyBjYWNoZWQgfSBmcm9tIFwiLi9hc3luYy11dGlsc1wiO1xuaW1wb3J0IHsgaXNUZXN0IH0gZnJvbSBcIi4vY29udHJvbGxlclwiO1xuaW1wb3J0IHsgZXhlY3V0ZSB9IGZyb20gXCIuL3Byb2Nlc3MtdXRpbHNcIjtcbmltcG9ydCB7IGlzTnVtYmVyVmFsdWUgfSBmcm9tIFwiLi9ydW50aW1lLXZhbHVlXCI7XG5cbmNvbnN0IHJlcXVpcmVGcm9tSGVyZSA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTtcblxuLyoqXG4gKiDsvZTrk5zrpbwg7ZSE66Gc7KCd7Yq47J2YIG94Zm10ICsgb3hsaW50IOyEpOygleyXkCDrp57strAg7Y+s66ek7YyF7ZWcIOusuOyekOyXtOydhCDrsJjtmZjtlanri4jri6QuXG4gKlxuICog7LqQ7Iux64+EIOyeiOyWtOyalCDjhY7jhY4g65iR6rCZ7J2AIOyeheugpeyXkCDrjIDtlbTshJwg7LqQ7IucIOy7pOuyhOuQqeuLiOuLpC5cbiAqIOyImOuqheydgCDtlITroZzshLjsiqQg7KO97J2E65WM6rmM7KeAIOOFi1xuICovXG5leHBvcnQgY29uc3QgZm9ybWF0Q29kZSA9IGNhY2hlZChmb3JtYXRDb2RlSW50ZXJuYWwsIChjb2RlLCBmaWxlUGF0aCkgPT4ge1xuICBjb25zdCBleHQgPSBmaWxlUGF0aC5lbmRzV2l0aChcIi50c3hcIikgPyBcInRzeFwiIDogZmlsZVBhdGguZW5kc1dpdGgoXCIuanNvblwiKSA/IFwianNvblwiIDogXCJ0c1wiO1xuICByZXR1cm4gYCR7ZXh0fToke2NyZWF0ZUhhc2goXCJzaGExXCIpLnVwZGF0ZShjb2RlKS5kaWdlc3QoXCJoZXhcIil9YDtcbn0pO1xuXG4vKipcbiAqIOy6kOyLnCDsl4bripQg7Y+s66e37ZWo7IiYIOyXlO2KuOumrC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZm9ybWF0Q29kZUludGVybmFsKGNvZGU6IHN0cmluZywgZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIC8vIGpzb27snYAg7Y+s66e366eMIO2VmOuptCDrkKnri4jri6QuXG4gIGlmIChmaWxlUGF0aC5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgcmV0dXJuIHJ1bk94Zm10KGNvZGUsIGZpbGVQYXRoKTtcbiAgfVxuXG4gIC8vIOumsO2KuCDrqLzsoIAg7ZWcIOuLpOydjOyXkCDtj6zrp7fsnLzroZwg66eI66y066as7ZW07JqULlxuICByZXR1cm4gcnVuT3hmbXQoYXdhaXQgcnVuT3hsaW50KGNvZGUpLCBmaWxlUGF0aCk7XG59XG5cbi8qKlxuICog7ZSE66Gc7KCd7Yq4IOyEpOygleydhCDssL7slYTshJwg7J207JeQIOunnuy2sOyEnCDsvZTrk5zrpbwg7Y+s66e37ZWp64uI64ukLlxuICovXG5hc3luYyBmdW5jdGlvbiBydW5PeGZtdChjb2RlOiBzdHJpbmcsIGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBmb3JtYXQocGF0aC5iYXNlbmFtZShmaWxlUGF0aCksIGNvZGUsIGF3YWl0IGxvYWRPeGZtdENvbmZpZygpKTtcblxuICBjb25zdCBlcnJvcnMgPSByZXN1bHQuZXJyb3JzLmZpbHRlcigoZSkgPT4gZS5zZXZlcml0eSA9PT0gXCJFcnJvclwiKTtcbiAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgaWYgKCFpc1Rlc3QoKSkge1xuICAgICAgY29uc29sZS5lcnJvcihgb3hmbXQgZXJyb3JzICgke2ZpbGVQYXRofSk6YCk7XG4gICAgICBmb3IgKGNvbnN0IGVyciBvZiBlcnJvcnMpIHtcbiAgICAgICAgY29uc3QgbGFiZWwgPSBlcnIubGFiZWxzWzBdO1xuICAgICAgICBpZiAobGFiZWwpIHtcbiAgICAgICAgICBjb25zdCBiZWZvcmUgPSBjb2RlLnNsaWNlKE1hdGgubWF4KDAsIGxhYmVsLnN0YXJ0IC0gODApLCBsYWJlbC5zdGFydCk7XG4gICAgICAgICAgY29uc3QgYXQgPSBjb2RlLnNsaWNlKGxhYmVsLnN0YXJ0LCBsYWJlbC5lbmQpO1xuICAgICAgICAgIGNvbnN0IGFmdGVyID0gY29kZS5zbGljZShsYWJlbC5lbmQsIE1hdGgubWluKGNvZGUubGVuZ3RoLCBsYWJlbC5lbmQgKyA4MCkpO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYCAgLSAke2Vyci5tZXNzYWdlfSAob2Zmc2V0ICR7bGFiZWwuc3RhcnR9LSR7bGFiZWwuZW5kfSlgKTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGAgICAgYXJvdW5kOiAuLi4ke2JlZm9yZX3CuyR7YXR9wqske2FmdGVyfS4uLmApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYCAgLSAke2Vyci5tZXNzYWdlfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb2RlO1xuICB9XG4gIHJldHVybiByZXN1bHQuY29kZTtcbn1cblxubGV0IGNhY2hlZE94Zm10Q29uZmlnOiBGb3JtYXRDb25maWcgfCBudWxsID0gbnVsbDtcbmFzeW5jIGZ1bmN0aW9uIGxvYWRPeGZtdENvbmZpZygpOiBQcm9taXNlPEZvcm1hdENvbmZpZz4ge1xuICBpZiAoY2FjaGVkT3hmbXRDb25maWcgIT09IG51bGwpIHtcbiAgICByZXR1cm4gY2FjaGVkT3hmbXRDb25maWc7XG4gIH1cblxuICBsZXQgZGlyID0gcHJvY2Vzcy5jd2QoKTtcbiAgd2hpbGUgKHRydWUpIHtcbiAgICBjb25zdCBjYW5kaWRhdGUgPSBqb2luKGRpciwgXCIub3hmbXRyYy5qc29uXCIpO1xuICAgIHRyeSB7XG4gICAgICAvLyBTQUZFVFk6IOyEoO2WiSDrtoTquLDsmYAg7ZWo7IiYIOqzhOyVveydtCDsnbQg7YOA7J6F7J2EIOuztOyepe2VqeuLiOuLpC5cbiAgICAgIGNhY2hlZE94Zm10Q29uZmlnID0gSlNPTi5wYXJzZShhd2FpdCByZWFkRmlsZShjYW5kaWRhdGUsIFwidXRmLThcIikpIGFzIEZvcm1hdENvbmZpZztcbiAgICAgIHJldHVybiBjYWNoZWRPeGZtdENvbmZpZztcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBTQUZFVFk6IOyEoO2WiSDrtoTquLDsmYAg7ZWo7IiYIOqzhOyVveydtCDsnbQg7YOA7J6F7J2EIOuztOyepe2VqeuLiOuLpC5cbiAgICAgIGlmICgoZSBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUgIT09IFwiRU5PRU5UXCIpIHtcbiAgICAgICAgIWlzVGVzdCgpICYmIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBsb2FkICR7Y2FuZGlkYXRlfTpgLCBlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHBhcmVudCA9IGRpcm5hbWUoZGlyKTtcbiAgICBpZiAocGFyZW50ID09PSBkaXIpIGJyZWFrO1xuICAgIGRpciA9IHBhcmVudDtcbiAgfVxuXG4gIGNhY2hlZE94Zm10Q29uZmlnID0ge307XG4gIHJldHVybiBjYWNoZWRPeGZtdENvbmZpZztcbn1cblxuLyoqXG4gKiDtlITroZzsoJ3tirgg7ISk7KCV7JeQIOunnuy2sCDsvZTrk5zrpbwgbGludO2VqeuLiOuLpC5cbiAqXG4gKiDtlITroZzsoJ3tirgg7ISk7KCV7J2EIOyggeyaqeuwm+uKlCBveGxpbnQgY2xp66W8IOywvuyVhCDrnYTsm4zshJwsXG4gKiDsnoTsi5wg7YyM7J287JeQIGluLXBsYWNl66GcIOyNqOyEnCDqt7gg6rKw6rO866W8IOu5vOyYpOuKlCDrsKnsi53snLzroZwg7J6R64+Z7ZWp64uI64ukLlxuICog7JmcIOydtOugh+qyjCDtlZjripDrg5A/IG94bGludOqwgCBub2RlIGFwaeuPhCDslYgg7KO86rOgIGNsaeyXkOyEnCBzdGRpbiDsmLXshZjrj4Qg7JWIIOyjvOq4sCDrlYzrrLguLi5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcnVuT3hsaW50KGNvZGU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGlmIChpc1Rlc3QoKSkge1xuICAgIC8vIO2FjOyKpO2KuCDtmZjqsr3sl5DshJzripQg64qQ66Ck7KeA6riw66eMIO2VmOqzoCDqsoDspp3tlaAg6rCA7LmY64+EIOyXhuyWtOyEnCDslYgg7ZWp64uI64ukLlxuICAgIC8vIEdpdEh1YiBBY3Rpb25zIO2ZmOqyveyXkOyEnCBsaW506rCAIOyYpOuemCDqsbjroKTshJwg67uX6riw64+EIO2WiOyWtOyalC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9jYXJ0YW5vdmEtYWkvc29uYW11L2FjdGlvbnMvcnVucy8yNTI2NzIxNDAyNy9qb2IvNzQwODM2MzAxNjkpXG4gICAgcmV0dXJuIGNvZGU7XG4gIH1cblxuICBjb25zdCB0bXBGaWxlID0gam9pbihcbiAgICAvLyDtg4Dqsp8g7YyM7J287J20IOujqO2KuCDslYTrnpjsl5Ag7J6I7Ja07JW8IO2VtOyalC4g6re4656Y7IScIHRtcCDrlJTroInthqDrpqzqsJnsnYDqsbAg7JWIIOyUgeuLiOuLpCFcbiAgICBwcm9jZXNzLmN3ZCgpLFxuICAgIGAuc29uYW11LWZtdC0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMil9LnRzYCxcbiAgKTtcblxuICB0cnkge1xuICAgIGF3YWl0IHdyaXRlRmlsZSh0bXBGaWxlLCBjb2RlLCBcInV0Zi04XCIpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWN1dGUocmVzb2x2ZU94bGludEJpbigpLCBbXCItLWZpeFwiLCBcIi0tZml4LXN1Z2dlc3Rpb25zXCIsIFwiLS10eXBlLWF3YXJlXCIsIHRtcEZpbGVdLCB7XG4gICAgICAgIHRpbWVvdXQ6IDEwMDAwLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gbGludCDsnITrsJgg7IucIGV4aXQgY29kZSAhPSAw7J207KeA66eMIC0tZml464qUIOyggeyaqeuQqC4gZXhlYyDsnpDssrQg7Iuk7Yyo66eMIHRocm93LlxuICAgICAgLy8gU0FGRVRZOiDshKDtlokg67aE6riw7JmAIO2VqOyImCDqs4Tslb3snbQg7J20IO2DgOyeheydhCDrs7TsnqXtlanri4jri6QuXG4gICAgICBpZiAoIWlzTnVtYmVyVmFsdWUoKGUgYXMgRXJyb3IgJiB7IGNvZGU/OiBudW1iZXIgfSkuY29kZSkpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgcmVhZEZpbGUodG1wRmlsZSwgXCJ1dGYtOFwiKTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdW5saW5rKHRtcEZpbGUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8g7IKt7KCcIOyLpO2MqO2VtOuPhCDslrTssKjtlLwgaWdub3Jl65CoLlxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlT3hsaW50QmluKCk6IHN0cmluZyB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHJlcXVpcmVGcm9tSGVyZS5yZXNvbHZlKFwib3hsaW50L2Jpbi9veGxpbnRcIik7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBcIm94bGludFwiO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBOEJBLGVBQWUsbUJBQW1CLE1BQWMsVUFBbUM7Q0FFakYsSUFBSSxTQUFTLFNBQVMsT0FBTyxHQUMzQixPQUFPLFNBQVMsTUFBTSxRQUFRO0NBSWhDLE9BQU8sU0FBUyxNQUFNLFVBQVUsSUFBSSxHQUFHLFFBQVE7QUFDakQ7Ozs7QUFLQSxlQUFlLFNBQVMsTUFBYyxVQUFtQztDQUN2RSxNQUFNLFNBQVMsTUFBTSxPQUFPLEtBQUssU0FBUyxRQUFRLEdBQUcsTUFBTSxNQUFNLGdCQUFnQixDQUFDO0NBRWxGLE1BQU0sU0FBUyxPQUFPLE9BQU8sUUFBUSxNQUFNLEVBQUUsYUFBYSxPQUFPO0NBQ2pFLElBQUksT0FBTyxTQUFTLEdBQUc7RUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRztHQUNiLFFBQVEsTUFBTSxpQkFBaUIsU0FBUyxHQUFHO0dBQzNDLEtBQUssTUFBTSxPQUFPLFFBQVE7SUFDeEIsTUFBTSxRQUFRLElBQUksT0FBTztJQUN6QixJQUFJLE9BQU87S0FDVCxNQUFNLFNBQVMsS0FBSyxNQUFNLEtBQUssSUFBSSxHQUFHLE1BQU0sUUFBUSxFQUFFLEdBQUcsTUFBTSxLQUFLO0tBQ3BFLE1BQU0sS0FBSyxLQUFLLE1BQU0sTUFBTSxPQUFPLE1BQU0sR0FBRztLQUM1QyxNQUFNLFFBQVEsS0FBSyxNQUFNLE1BQU0sS0FBSyxLQUFLLElBQUksS0FBSyxRQUFRLE1BQU0sTUFBTSxFQUFFLENBQUM7S0FDekUsUUFBUSxNQUFNLE9BQU8sSUFBSSxRQUFRLFdBQVcsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUU7S0FDdkUsUUFBUSxNQUFNLGtCQUFrQixPQUFPLEdBQUcsR0FBRyxHQUFHLE1BQU0sSUFBSTtJQUM1RCxPQUNFLFFBQVEsTUFBTSxPQUFPLElBQUksU0FBUztHQUV0QztFQUNGO0VBQ0EsT0FBTztDQUNUO0NBQ0EsT0FBTyxPQUFPO0FBQ2hCO0FBR0EsZUFBZSxrQkFBeUM7Q0FDdEQsSUFBSSxzQkFBc0IsTUFDeEIsT0FBTztDQUdULElBQUksTUFBTSxRQUFRLElBQUk7Q0FDdEIsT0FBTyxNQUFNO0VBQ1gsTUFBTSxZQUFZLEtBQUssS0FBSyxlQUFlO0VBQzNDLElBQUk7R0FFRixvQkFBb0IsS0FBSyxNQUFNLE1BQU0sU0FBUyxXQUFXLE9BQU8sQ0FBQztHQUNqRSxPQUFPO0VBQ1QsU0FBUyxHQUFHO0dBRVYsSUFBSyxFQUE0QixTQUFTLFVBQVU7SUFDbEQsQ0FBQyxPQUFPLEtBQUssUUFBUSxNQUFNLGtCQUFrQixVQUFVLElBQUksQ0FBQztJQUM1RDtHQUNGO0VBQ0Y7RUFDQSxNQUFNLFNBQVMsUUFBUSxHQUFHO0VBQzFCLElBQUksV0FBVyxLQUFLO0VBQ3BCLE1BQU07Q0FDUjtDQUVBLG9CQUFvQixDQUFDO0NBQ3JCLE9BQU87QUFDVDs7Ozs7Ozs7QUFTQSxlQUFlLFVBQVUsTUFBK0I7Q0FDdEQsSUFBSSxPQUFPLEdBR1QsT0FBTztDQUdULE1BQU0sVUFBVSxLQUVkLFFBQVEsSUFBSSxHQUNaLGVBQWUsS0FBSyxJQUFJLEVBQUUsR0FBRyxLQUFLLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFDbkU7Q0FFQSxJQUFJO0VBQ0YsTUFBTSxVQUFVLFNBQVMsTUFBTSxPQUFPO0VBRXRDLElBQUk7R0FDRixNQUFNLFFBQVEsaUJBQWlCLEdBQUc7SUFBQztJQUFTO0lBQXFCO0lBQWdCO0dBQU8sR0FBRyxFQUN6RixTQUFTLElBQ1gsQ0FBQztFQUNILFNBQVMsR0FBRztHQUdWLElBQUksQ0FBQyxjQUFlLEVBQWdDLElBQUksR0FDdEQsTUFBTTtFQUVWO0VBRUEsT0FBTyxNQUFNLFNBQVMsU0FBUyxPQUFPO0NBQ3hDLFVBQVU7RUFDUixJQUFJO0dBQ0YsTUFBTSxPQUFPLE9BQU87RUFDdEIsUUFBUSxDQUVSO0NBQ0Y7QUFDRjtBQUVBLFNBQVMsbUJBQTJCO0NBQ2xDLElBQUk7RUFDRixPQUFPLGdCQUFnQixRQUFRLG1CQUFtQjtDQUNwRCxRQUFRO0VBQ04sT0FBTztDQUNUO0FBQ0Y7OztrQkEzSXNDO2lCQUNEO29CQUNJO29CQUNNO0NBRXpDLGtCQUFrQixjQUFjLE9BQU8sS0FBSyxHQUFHO0NBUXhDLGFBQWEsT0FBTyxxQkFBcUIsTUFBTSxhQUFhO0VBRXZFLE9BQU8sR0FESyxTQUFTLFNBQVMsTUFBTSxJQUFJLFFBQVEsU0FBUyxTQUFTLE9BQU8sSUFBSSxTQUFTLEtBQ3hFLEdBQUcsV0FBVyxNQUFNLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSztDQUMvRCxDQUFDO0NBMkNHLG9CQUF5QyJ9
147
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9mb3JtYXR0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlSGFzaCB9IGZyb20gXCJub2RlOmNyeXB0b1wiO1xuLy8g7YWM7Iqk7Yq4IO2ZmOqyveyXkOyEnOuKlCBmcy9wcm9taXNlc+qwgCBtb2Nr65CY7KeA66eMLCDslYTrnpggcnVuT3hsaW507J20IGlzVGVzdCDqsIDrk5zroZwg7JWIIOuPhOuLiOq5jFxuLy8g6re464OlIGZzL3Byb21pc2VzIOq3uOuMgOuhnCDsgqzsmqkuIChwcm9kdWN0aW9u7JeQ7ISc66eMIOyehOyLnO2MjOydvCDtnZDrpoTsnbQg64+V64uI64ukLilcbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBhY2Nlc3MsIHJlYWRGaWxlLCB1bmxpbmssIHdyaXRlRmlsZSB9IGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5pbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSBcIm5vZGU6bW9kdWxlXCI7XG5pbXBvcnQgcGF0aCwgeyBkaXJuYW1lLCBqb2luIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuXG5pbXBvcnQgeyBmb3JtYXQsIHR5cGUgRm9ybWF0Q29uZmlnIH0gZnJvbSBcIm94Zm10XCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG5pbXBvcnQgeyBjYWNoZWQgfSBmcm9tIFwiLi9hc3luYy11dGlsc1wiO1xuaW1wb3J0IHsgaXNUZXN0IH0gZnJvbSBcIi4vY29udHJvbGxlclwiO1xuaW1wb3J0IHsgZXhlY3V0ZSB9IGZyb20gXCIuL3Byb2Nlc3MtdXRpbHNcIjtcbmltcG9ydCB7IGlzTnVtYmVyVmFsdWUgfSBmcm9tIFwiLi9ydW50aW1lLXZhbHVlXCI7XG5cbmNvbnN0IHJlcXVpcmVGcm9tSGVyZSA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTtcblxuZXhwb3J0IHR5cGUgUmVzb2x2ZU94bGludEJpbk9wdGlvbnMgPSB7XG4gIHJlc29sdmVNb2R1bGU6IChzcGVjaWZpZXI6IHN0cmluZykgPT4gc3RyaW5nO1xuICByZWFkRmlsZTogKGZpbGVQYXRoOiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nPjtcbiAgYWNjZXNzOiAoZmlsZVBhdGg6IHN0cmluZywgbW9kZTogbnVtYmVyKSA9PiBQcm9taXNlPHZvaWQ+O1xufTtcblxuY29uc3QgT3hsaW50U3RyaW5nQmluTWFuaWZlc3RTY2hlbWEgPSB6Lm9iamVjdCh7IGJpbjogei5zdHJpbmcoKS50cmltKCkubWluKDEpIH0pO1xuY29uc3QgT3hsaW50TmFtZWRCaW5NYW5pZmVzdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgYmluOiB6Lm9iamVjdCh7IG94bGludDogei5zdHJpbmcoKS50cmltKCkubWluKDEpIH0pLFxufSk7XG5cbi8qKlxuICog7L2U65Oc66W8IO2UhOuhnOygne2KuOydmCBveGZtdCArIG94bGludCDshKTsoJXsl5Ag66ee7LawIO2PrOunpO2Mhe2VnCDrrLjsnpDsl7TsnYQg67CY7ZmY7ZWp64uI64ukLlxuICpcbiAqIOy6kOyLseuPhCDsnojslrTsmpQg44WO44WOIOuYkeqwmeydgCDsnoXroKXsl5Ag64yA7ZW07IScIOy6kOyLnCDsu6TrsoTrkKnri4jri6QuXG4gKiDsiJjrqoXsnYAg7ZSE66Gc7IS47IqkIOyjveydhOuVjOq5jOyngCDjhYtcbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdENvZGUgPSBjYWNoZWQoZm9ybWF0Q29kZUludGVybmFsLCAoY29kZSwgZmlsZVBhdGgpID0+IHtcbiAgY29uc3QgZXh0ID0gZmlsZVBhdGguZW5kc1dpdGgoXCIudHN4XCIpID8gXCJ0c3hcIiA6IGZpbGVQYXRoLmVuZHNXaXRoKFwiLmpzb25cIikgPyBcImpzb25cIiA6IFwidHNcIjtcbiAgcmV0dXJuIGAke2V4dH06JHtjcmVhdGVIYXNoKFwic2hhMVwiKS51cGRhdGUoY29kZSkuZGlnZXN0KFwiaGV4XCIpfWA7XG59KTtcblxuLyoqXG4gKiDsupDsi5wg7JeG64qUIO2PrOunt+2VqOyImCDsl5TtirjrpqwuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGZvcm1hdENvZGVJbnRlcm5hbChjb2RlOiBzdHJpbmcsIGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAvLyBqc29u7J2AIO2PrOunt+unjCDtlZjrqbQg65Cp64uI64ukLlxuICBpZiAoZmlsZVBhdGguZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgIHJldHVybiBydW5PeGZtdChjb2RlLCBmaWxlUGF0aCk7XG4gIH1cblxuICAvLyDrprDtirgg66i87KCAIO2VnCDri6TsnYzsl5Ag7Y+s66e37Jy866GcIOuniOustOumrO2VtOyalC5cbiAgcmV0dXJuIHJ1bk94Zm10KGF3YWl0IHJ1bk94bGludChjb2RlKSwgZmlsZVBhdGgpO1xufVxuXG4vKipcbiAqIO2UhOuhnOygne2KuCDshKTsoJXsnYQg7LC+7JWE7IScIOydtOyXkCDrp57strDshJwg7L2U65Oc66W8IO2PrOunt+2VqeuLiOuLpC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcnVuT3hmbXQoY29kZTogc3RyaW5nLCBmaWxlUGF0aDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZm9ybWF0KHBhdGguYmFzZW5hbWUoZmlsZVBhdGgpLCBjb2RlLCBhd2FpdCBsb2FkT3hmbXRDb25maWcoKSk7XG5cbiAgY29uc3QgZXJyb3JzID0gcmVzdWx0LmVycm9ycy5maWx0ZXIoKGUpID0+IGUuc2V2ZXJpdHkgPT09IFwiRXJyb3JcIik7XG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIGlmICghaXNUZXN0KCkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYG94Zm10IGVycm9ycyAoJHtmaWxlUGF0aH0pOmApO1xuICAgICAgZm9yIChjb25zdCBlcnIgb2YgZXJyb3JzKSB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gZXJyLmxhYmVsc1swXTtcbiAgICAgICAgaWYgKGxhYmVsKSB7XG4gICAgICAgICAgY29uc3QgYmVmb3JlID0gY29kZS5zbGljZShNYXRoLm1heCgwLCBsYWJlbC5zdGFydCAtIDgwKSwgbGFiZWwuc3RhcnQpO1xuICAgICAgICAgIGNvbnN0IGF0ID0gY29kZS5zbGljZShsYWJlbC5zdGFydCwgbGFiZWwuZW5kKTtcbiAgICAgICAgICBjb25zdCBhZnRlciA9IGNvZGUuc2xpY2UobGFiZWwuZW5kLCBNYXRoLm1pbihjb2RlLmxlbmd0aCwgbGFiZWwuZW5kICsgODApKTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGAgIC0gJHtlcnIubWVzc2FnZX0gKG9mZnNldCAke2xhYmVsLnN0YXJ0fS0ke2xhYmVsLmVuZH0pYCk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgICAgIGFyb3VuZDogLi4uJHtiZWZvcmV9wrske2F0fcKrJHthZnRlcn0uLi5gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGAgIC0gJHtlcnIubWVzc2FnZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29kZTtcbiAgfVxuICByZXR1cm4gcmVzdWx0LmNvZGU7XG59XG5cbmxldCBjYWNoZWRPeGZtdENvbmZpZzogRm9ybWF0Q29uZmlnIHwgbnVsbCA9IG51bGw7XG5hc3luYyBmdW5jdGlvbiBsb2FkT3hmbXRDb25maWcoKTogUHJvbWlzZTxGb3JtYXRDb25maWc+IHtcbiAgaWYgKGNhY2hlZE94Zm10Q29uZmlnICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGNhY2hlZE94Zm10Q29uZmlnO1xuICB9XG5cbiAgbGV0IGRpciA9IHByb2Nlc3MuY3dkKCk7XG4gIHdoaWxlICh0cnVlKSB7XG4gICAgY29uc3QgY2FuZGlkYXRlID0gam9pbihkaXIsIFwiLm94Zm10cmMuanNvblwiKTtcbiAgICB0cnkge1xuICAgICAgLy8gU0FGRVRZOiDshKDtlokg67aE6riw7JmAIO2VqOyImCDqs4Tslb3snbQg7J20IO2DgOyeheydhCDrs7TsnqXtlanri4jri6QuXG4gICAgICBjYWNoZWRPeGZtdENvbmZpZyA9IEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUoY2FuZGlkYXRlLCBcInV0Zi04XCIpKSBhcyBGb3JtYXRDb25maWc7XG4gICAgICByZXR1cm4gY2FjaGVkT3hmbXRDb25maWc7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gU0FGRVRZOiDshKDtlokg67aE6riw7JmAIO2VqOyImCDqs4Tslb3snbQg7J20IO2DgOyeheydhCDrs7TsnqXtlanri4jri6QuXG4gICAgICBpZiAoKGUgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlICE9PSBcIkVOT0VOVFwiKSB7XG4gICAgICAgICFpc1Rlc3QoKSAmJiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCAke2NhbmRpZGF0ZX06YCwgZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBwYXJlbnQgPSBkaXJuYW1lKGRpcik7XG4gICAgaWYgKHBhcmVudCA9PT0gZGlyKSBicmVhaztcbiAgICBkaXIgPSBwYXJlbnQ7XG4gIH1cblxuICBjYWNoZWRPeGZtdENvbmZpZyA9IHt9O1xuICByZXR1cm4gY2FjaGVkT3hmbXRDb25maWc7XG59XG5cbi8qKlxuICog7ZSE66Gc7KCd7Yq4IOyEpOygleyXkCDrp57strAg7L2U65Oc66W8IGxpbnTtlanri4jri6QuXG4gKlxuICog7ZSE66Gc7KCd7Yq4IOyEpOygleydhCDsoIHsmqnrsJvripQgb3hsaW50IGNsaeulvCDssL7slYQg652E7JuM7IScLFxuICog7J6E7IucIO2MjOydvOyXkCBpbi1wbGFjZeuhnCDsjajshJwg6re4IOqysOqzvOulvCDrubzsmKTripQg67Cp7Iud7Jy866GcIOyekeuPme2VqeuLiOuLpC5cbiAqIOyZnCDsnbTroIfqsowg7ZWY64qQ64OQPyBveGxpbnTqsIAgbm9kZSBhcGnrj4Qg7JWIIOyjvOqzoCBjbGnsl5DshJwgc3RkaW4g7Ji17IWY64+EIOyViCDso7zquLAg65WM66y4Li4uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJ1bk94bGludChjb2RlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBpZiAoaXNUZXN0KCkpIHtcbiAgICAvLyDthYzsiqTtirgg7ZmY6rK97JeQ7ISc64qUIOuKkOugpOyngOq4sOunjCDtlZjqs6Ag6rKA7Kad7ZWgIOqwgOy5mOuPhCDsl4bslrTshJwg7JWIIO2VqeuLiOuLpC5cbiAgICAvLyBHaXRIdWIgQWN0aW9ucyDtmZjqsr3sl5DshJwgbGludOqwgCDsmKTrnpgg6rG466Ck7IScIOu7l+q4sOuPhCDtlojslrTsmpQuIChodHRwczovL2dpdGh1Yi5jb20vY2FydGFub3ZhLWFpL3NvbmFtdS9hY3Rpb25zL3J1bnMvMjUyNjcyMTQwMjcvam9iLzc0MDgzNjMwMTY5KVxuICAgIHJldHVybiBjb2RlO1xuICB9XG5cbiAgY29uc3QgdG1wRmlsZSA9IGpvaW4oXG4gICAgLy8g7YOA6rKfIO2MjOydvOydtCDro6jtirgg7JWE656Y7JeQIOyeiOyWtOyVvCDtlbTsmpQuIOq3uOuemOyEnCB0bXAg65SU66CJ7Yag66as6rCZ7J2A6rGwIOyViCDslIHri4jri6QhXG4gICAgcHJvY2Vzcy5jd2QoKSxcbiAgICBgLnNvbmFtdS1mbXQtJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpfS50c2AsXG4gICk7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCB3cml0ZUZpbGUodG1wRmlsZSwgY29kZSwgXCJ1dGYtOFwiKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBleGVjdXRlKFxuICAgICAgICBhd2FpdCByZXNvbHZlT3hsaW50QmluKCksXG4gICAgICAgIFtcIi0tZml4XCIsIFwiLS1maXgtc3VnZ2VzdGlvbnNcIiwgXCItLXR5cGUtYXdhcmVcIiwgdG1wRmlsZV0sXG4gICAgICAgIHtcbiAgICAgICAgICB0aW1lb3V0OiAxMDAwMCxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gbGludCDsnITrsJgg7IucIGV4aXQgY29kZSAhPSAw7J207KeA66eMIC0tZml464qUIOyggeyaqeuQqC4gZXhlYyDsnpDssrQg7Iuk7Yyo66eMIHRocm93LlxuICAgICAgLy8gU0FGRVRZOiDshKDtlokg67aE6riw7JmAIO2VqOyImCDqs4Tslb3snbQg7J20IO2DgOyeheydhCDrs7TsnqXtlanri4jri6QuXG4gICAgICBpZiAoIWlzTnVtYmVyVmFsdWUoKGUgYXMgRXJyb3IgJiB7IGNvZGU/OiBudW1iZXIgfSkuY29kZSkpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgcmVhZEZpbGUodG1wRmlsZSwgXCJ1dGYtOFwiKTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdW5saW5rKHRtcEZpbGUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8g7IKt7KCcIOyLpO2MqO2VtOuPhCDslrTssKjtlLwgaWdub3Jl65CoLlxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZU94bGludEJpbihcbiAgb3B0aW9uczogUmVzb2x2ZU94bGludEJpbk9wdGlvbnMgPSB7XG4gICAgcmVzb2x2ZU1vZHVsZTogKHNwZWNpZmllcikgPT4gcmVxdWlyZUZyb21IZXJlLnJlc29sdmUoc3BlY2lmaWVyKSxcbiAgICByZWFkRmlsZTogKGZpbGVQYXRoKSA9PiByZWFkRmlsZShmaWxlUGF0aCwgXCJ1dGYtOFwiKSxcbiAgICBhY2Nlc3M6IChmaWxlUGF0aCwgbW9kZSkgPT4gYWNjZXNzKGZpbGVQYXRoLCBtb2RlKSxcbiAgfSxcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGxldCBtYW5pZmVzdFBhdGg6IHN0cmluZztcbiAgdHJ5IHtcbiAgICBtYW5pZmVzdFBhdGggPSBvcHRpb25zLnJlc29sdmVNb2R1bGUoXCJveGxpbnQvcGFja2FnZS5qc29uXCIpO1xuICB9IGNhdGNoIHtcbiAgICB0aHJvdyBjcmVhdGVPeGxpbnRCaW5SZXNvbHV0aW9uRXJyb3IoXG4gICAgICBcIm94bGludCBwYWNrYWdlLmpzb27snYQg7LC+7J2EIOyImCDsl4bsirXri4jri6QuIG94bGludCDsnZjsobTshLHsnYQg7ISk7LmY7ZWcIOuSpCDri6Tsi5wg7Iuc64+E7ZW0IOyjvOyEuOyalC5cIixcbiAgICApO1xuICB9XG5cbiAgbGV0IG1hbmlmZXN0OiB1bmtub3duO1xuICB0cnkge1xuICAgIG1hbmlmZXN0ID0gSlNPTi5wYXJzZShhd2FpdCBvcHRpb25zLnJlYWRGaWxlKG1hbmlmZXN0UGF0aCkpO1xuICB9IGNhdGNoIHtcbiAgICB0aHJvdyBjcmVhdGVPeGxpbnRCaW5SZXNvbHV0aW9uRXJyb3IoXG4gICAgICBcIm94bGludCBwYWNrYWdlLmpzb27snYQg7J296rGw64KYIO2VtOyEne2VoCDsiJgg7JeG7Iq164uI64ukLiDtjKjtgqTsp4Drpbwg64uk7IucIOyEpOy5mO2VnCDrkqQg7Iuc64+E7ZW0IOyjvOyEuOyalC5cIixcbiAgICApO1xuICB9XG5cbiAgLy8gbnBt7J2YIGJpbuydgCDri6jsnbwg7Iuk7ZaJIO2MjOydvCDrrLjsnpDsl7Tqs7wg66qF66C5IOydtOumhOuzhCDqsJ3ssrTrpbwg66qo65GQIO2XiOyaqe2VqeuLiOuLpC5cbiAgY29uc3Qgc3RyaW5nQmluTWFuaWZlc3QgPSBPeGxpbnRTdHJpbmdCaW5NYW5pZmVzdFNjaGVtYS5zYWZlUGFyc2UobWFuaWZlc3QpO1xuICBjb25zdCBuYW1lZEJpbk1hbmlmZXN0ID0gT3hsaW50TmFtZWRCaW5NYW5pZmVzdFNjaGVtYS5zYWZlUGFyc2UobWFuaWZlc3QpO1xuICBsZXQgYmluOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgaWYgKHN0cmluZ0Jpbk1hbmlmZXN0LnN1Y2Nlc3MpIHtcbiAgICBiaW4gPSBzdHJpbmdCaW5NYW5pZmVzdC5kYXRhLmJpbjtcbiAgfSBlbHNlIGlmIChuYW1lZEJpbk1hbmlmZXN0LnN1Y2Nlc3MpIHtcbiAgICBiaW4gPSBuYW1lZEJpbk1hbmlmZXN0LmRhdGEuYmluLm94bGludDtcbiAgfVxuICBpZiAoYmluID09PSBudWxsKSB7XG4gICAgdGhyb3cgY3JlYXRlT3hsaW50QmluUmVzb2x1dGlvbkVycm9yKFxuICAgICAgXCJveGxpbnQgcGFja2FnZS5qc29u7J2YIGJpbiDtlYTrk5zqsIAg7JeG6rGw64KYIOyYrOuwlOultOyngCDslYrsirXri4jri6QuIO2YuO2ZmOuQmOuKlCBveGxpbnQg7Yyo7YKk7KeA66W8IOyEpOy5mO2VtCDso7zshLjsmpQuXCIsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGJpblBhdGggPSBwYXRoLnJlc29sdmUoZGlybmFtZShtYW5pZmVzdFBhdGgpLCBiaW4pO1xuICB0cnkge1xuICAgIGF3YWl0IG9wdGlvbnMuYWNjZXNzKGJpblBhdGgsIGNvbnN0YW50cy5GX09LIHwgY29uc3RhbnRzLlhfT0spO1xuICB9IGNhdGNoIHtcbiAgICB0aHJvdyBjcmVhdGVPeGxpbnRCaW5SZXNvbHV0aW9uRXJyb3IoXG4gICAgICBcIm94bGludCBwYWNrYWdlLmpzb27snZggYmluIOyLpO2WiSDtjIzsnbzsnbQg7JeG6rGw64KYIOyLpO2Wie2VoCDsiJgg7JeG7Iq164uI64ukLiDtjKjtgqTsp4Drpbwg64uk7IucIOyEpOy5mO2VtCDso7zshLjsmpQuXCIsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBiaW5QYXRoO1xufVxuZnVuY3Rpb24gY3JlYXRlT3hsaW50QmluUmVzb2x1dGlvbkVycm9yKG1lc3NhZ2U6IHN0cmluZyk6IE5vZGVKUy5FcnJub0V4Y2VwdGlvbiB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKG5ldyBFcnJvcihtZXNzYWdlKSwgeyBjb2RlOiBcIk9YTElOVF9CSU5fUkVTT0xVVElPTl9GQUlMRURcIiB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQTJDQSxlQUFlLG1CQUFtQixNQUFjLFVBQW1DO0NBRWpGLElBQUksU0FB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
@@ -16,7 +16,7 @@ export type ArrayOr<T> = T | T[];
16
16
  export declare function asArray<T>(param: T | T[]): T[];
17
17
  export declare function objToMap<T>(obj: {
18
18
  [k: string]: T;
19
- }): Map<number, T> | Map<string, T>;
19
+ }): Map<string, T> | Map<number, T>;
20
20
  export interface BaseListParams {
21
21
  id?: number | number[];
22
22
  num?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"chunking.d.ts","sourceRoot":"","sources":["../../src/vector/chunking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAO1D;;;;GAIG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM;IAIhD;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE;IAmC5B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQxC,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,gBAAgB;CA2BzB"}
1
+ {"version":3,"file":"chunking.d.ts","sourceRoot":"","sources":["../../src/vector/chunking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAO1D;;;;GAIG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;IAE/B,YAAY,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM,EAE/C;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,CAiC3B;IAED;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnC;IAED;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvC;IAED,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,gBAAgB;CA2BzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/vector/embedding.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAU9C;;OAEG;YACW,eAAe;IAS7B;;OAEG;YACW,iBAAiB;IAS/B;;;;;;OAMG;IACG,KAAK,CACT,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,GAAE,eAA4B,EACvC,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,eAAe,EAAE,CAAC;IA0B7B;;OAEG;IACG,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,GAAE,eAA4B,GACtC,OAAO,CAAC,eAAe,CAAC;IAK3B;;OAEG;YACW,WAAW;IAuBzB;;OAEG;YACW,WAAW;IAkBzB;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM;CAGnD;AACD,eAAO,MAAM,SAAS,gBAAuB,CAAC"}
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/vector/embedding.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,MAAM,CAAe;IAE7B,YAAY,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,EAQ7C;IAED;;OAEG;YACW,eAAe;IAS7B;;OAEG;YACW,iBAAiB;IAS/B;;;;;;OAMG;IACG,KAAK,CACT,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,GAAE,eAA4B,EACvC,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,eAAe,EAAE,CAAC,CAwB5B;IAED;;OAEG;IACG,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,GAAE,eAA4B,GACtC,OAAO,CAAC,eAAe,CAAC,CAG1B;IAED;;OAEG;YACW,WAAW;IAuBzB;;OAEG;YACW,WAAW;IAkBzB;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAEjD;CACF;AACD,eAAO,MAAM,SAAS,gBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sonamu",
3
- "version": "0.10.13",
3
+ "version": "0.11.0",
4
4
  "description": "Sonamu — TypeScript Fullstack API Framework",
5
5
  "keywords": [
6
6
  "framework",
@@ -19,7 +19,6 @@
19
19
  "files": [
20
20
  "dist",
21
21
  "src",
22
- "bin",
23
22
  "tsdown.api.config.ts"
24
23
  ],
25
24
  "type": "module",
@@ -77,6 +76,11 @@
77
76
  "./cdd-types": {
78
77
  "import": "./dist/ui/cdd-types.js",
79
78
  "types": "./dist/ui/cdd-types.d.ts"
79
+ },
80
+ "./tooling": {
81
+ "import": "./dist/tooling/index.js",
82
+ "types": "./dist/tooling/index.d.ts",
83
+ "development": "./src/tooling/index.ts"
80
84
  }
81
85
  },
82
86
  "dependencies": {
@@ -95,16 +99,17 @@
95
99
  "@fastify/passport": "^2.2.0",
96
100
  "@fastify/static": "^7",
97
101
  "@fastify/websocket": "^8.3.0",
98
- "@logtape/fastify": "2.0.0",
99
- "@logtape/logtape": "2.0.0",
100
- "@logtape/pretty": "2.0.0",
101
- "@logtape/redaction": "2.0.0",
102
+ "@logtape/fastify": "2.2.2",
103
+ "@logtape/logtape": "2.2.2",
104
+ "@logtape/pretty": "2.2.2",
105
+ "@logtape/redaction": "2.2.2",
102
106
  "@sheetkit/node": "^0.5.0",
103
107
  "@sonamu-kit/hmr-hook": "^0.5.1",
104
108
  "@sonamu-kit/hmr-runner": "^0.2.0",
105
109
  "@sonamu-kit/tasks": "^0.3.1",
106
110
  "@sonamu-kit/ts-loader": "^2.2.0",
107
111
  "@types/ws": "^8.18.1",
112
+ "@typescript/typescript6": "6.0.2",
108
113
  "bcrypt": "^6.0.0",
109
114
  "bentocache": "^1.5.0",
110
115
  "better-auth": "~1.6.0",
@@ -129,7 +134,6 @@
129
134
  "prompts": "^2.4.2",
130
135
  "qs": "^6.14.1",
131
136
  "radashi": "^12.2.0",
132
- "tsicli": "^1.0.5",
133
137
  "vite": "8.0.16",
134
138
  "vitest": "^4.1.9",
135
139
  "zod-compiler": "1.23.6"
@@ -144,7 +148,7 @@
144
148
  "@types/qs": "^6.14.0",
145
149
  "nodemon": "^3.1.10",
146
150
  "tsdown": "^0.22.3",
147
- "typescript": "^6.0.3"
151
+ "typescript": "7.1.0-dev.20260831.1"
148
152
  },
149
153
  "peerDependencies": {
150
154
  "@ai-sdk/anthropic": "^3.0.0",
@@ -160,7 +164,7 @@
160
164
  "ioredis": "^5.8.2",
161
165
  "knex": "^3.2.9",
162
166
  "pgvector": "^0.2.1",
163
- "typescript": "^6.0.3",
167
+ "typescript": "7.1.0-dev.20260831.1",
164
168
  "voyageai": "^0.0.8",
165
169
  "zod": "^4.3.6"
166
170
  },
@@ -199,8 +203,5 @@
199
203
  "benchmark:http-validator": "tsx benchmarks/run-http-validator-benchmark.ts",
200
204
  "test:type": "vitest run --typecheck test-d.ts",
201
205
  "test:unit": "vitest run --config vitest.config.ts"
202
- },
203
- "bin": {
204
- "sonamu": "./bin/cli.js"
205
206
  }
206
207
  }
package/src/api/sonamu.ts CHANGED
@@ -2253,6 +2253,7 @@ class SonamuClass {
2253
2253
  }
2254
2254
 
2255
2255
  async destroy(): Promise<void> {
2256
+ const { hasExternalLogTapeConfiguration } = await import("../logger/configure");
2256
2257
  const { BaseModel } = await import("../database/base-model");
2257
2258
  // 먼저 처리해야함.
2258
2259
  await BaseModel.destroy();
@@ -2269,7 +2270,7 @@ class SonamuClass {
2269
2270
  this.watcher?.close() ?? Promise.resolve(),
2270
2271
  ]);
2271
2272
  // LogTape dispose after WS shutdown so telemetry records are flushed first
2272
- await logtapeDispose();
2273
+ if (!hasExternalLogTapeConfiguration()) await logtapeDispose();
2273
2274
  }
2274
2275
  }
2275
2276
 
package/src/auth/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export type { GenerateBetterAuthEntitiesOptions } from "./auth-generator";
2
- export { generateBetterAuthEntities } from "./auth-generator";
2
+ export { addCompanionsToEntities, generateBetterAuthEntities } from "./auth-generator";
3
3
  export { ingestAuditEvent } from "./audit-log-ingestor";
4
4
  export { type AuditLogEvent } from "./audit-log/events";
5
5
  export { sonamuAuditLog } from "./audit-log/plugin";
@@ -1,6 +1,8 @@
1
+ import { exec } from "node:child_process";
1
2
  import { mkdir, mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
2
3
  import path from "node:path";
3
4
  import { pathToFileURL } from "node:url";
5
+ import { promisify } from "node:util";
4
6
 
5
7
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
6
8
 
@@ -10,15 +12,80 @@ import {
10
12
  assertApiZodCompilerSourceRegistry,
11
13
  composeApiZodCompilerBuildConfig,
12
14
  createApiZodCompilerBuildWrapper,
15
+ createWebTypecheckCommand,
16
+ quoteShellArgument,
17
+ WEB_ARTIFACTS,
13
18
  } from "../build-config";
14
19
 
15
20
  const compilerPluginFake = vi.fn();
21
+ const execAsync = promisify(exec);
22
+ const webTypecheckRoots: string[] = [];
23
+
24
+ afterEach(async () => {
25
+ await Promise.all(
26
+ webTypecheckRoots.splice(0).map((rootPath) => rm(rootPath, { recursive: true, force: true })),
27
+ );
28
+ });
16
29
  const compilerDependencies = {
17
30
  async loadCompilerPlugin() {
18
31
  return compilerPluginFake;
19
32
  },
20
33
  };
21
34
 
35
+ describe("TypeScript 7 Web 빌드 정책", () => {
36
+ it("셸 메타문자가 포함된 실행 경로를 단일 인수로 보존한다", async () => {
37
+ const argument = "공백 '따옴표' $(echo 위험) `echo 위험` $HOME";
38
+ const { stdout } = await execAsync(`printf %s ${quoteShellArgument(argument)}`);
39
+
40
+ expect(stdout).toBe(argument);
41
+ });
42
+
43
+ it("선언을 만들지 않는 앱은 모든 project reference를 타입 검사한다", async () => {
44
+ const webRoot = await mkdtemp(path.join(process.cwd(), ".sonamu-web-typecheck-test-"));
45
+ webTypecheckRoots.push(webRoot);
46
+ await writeFile(
47
+ path.join(webRoot, "tsconfig.json"),
48
+ `{
49
+ // TypeScript가 지원하는 JSONC 형식을 유지합니다.
50
+ "references": [
51
+ { "path": "tsconfig.app.json" },
52
+ { "path": "tsconfig.worker.json" },
53
+ ],
54
+ }`,
55
+ );
56
+ for (const project of ["app", "worker"]) {
57
+ await writeFile(
58
+ path.join(webRoot, `tsconfig.${project}.json`),
59
+ JSON.stringify({
60
+ compilerOptions: {
61
+ composite: true,
62
+ declaration: true,
63
+ declarationMap: true,
64
+ emitDeclarationOnly: true,
65
+ strict: true,
66
+ },
67
+ files: [`${project}.ts`],
68
+ }),
69
+ );
70
+ }
71
+ await writeFile(path.join(webRoot, "app.ts"), "export const app: string = 1;\n");
72
+ await writeFile(path.join(webRoot, "worker.ts"), 'export const worker: string = "ok";\n');
73
+
74
+ await expect(execAsync(createWebTypecheckCommand(), { cwd: webRoot })).rejects.toThrow();
75
+ await writeFile(path.join(webRoot, "app.ts"), 'export const app: string = "ok";\n');
76
+ await writeFile(path.join(webRoot, "worker.ts"), "export const worker: string = 1;\n");
77
+ await expect(execAsync(createWebTypecheckCommand(), { cwd: webRoot })).rejects.toThrow();
78
+ await writeFile(path.join(webRoot, "worker.ts"), 'export const worker: string = "ok";\n');
79
+ await expect(execAsync(createWebTypecheckCommand(), { cwd: webRoot })).resolves.toBeDefined();
80
+
81
+ for (const artifact of WEB_ARTIFACTS) {
82
+ const command = artifact.buildCommand({ configFilePath: "" });
83
+ expect(command).toContain("typecheck-web");
84
+ expect(command).not.toContain("tsc -b");
85
+ }
86
+ });
87
+ });
88
+
22
89
  describe("API zod-compiler 빌드 정책", () => {
23
90
  const tempRoots: string[] = [];
24
91