sonamu 0.7.21 → 0.7.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/agents/agent.d.ts +6 -1
- package/dist/ai/agents/agent.d.ts.map +1 -1
- package/dist/ai/agents/agent.js +20 -5
- package/dist/api/base-frame.d.ts +4 -0
- package/dist/api/base-frame.d.ts.map +1 -1
- package/dist/api/base-frame.js +9 -1
- package/dist/api/caster.d.ts.map +1 -1
- package/dist/api/caster.js +2 -2
- package/dist/api/config.d.ts +35 -3
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +1 -1
- package/dist/api/decorators.d.ts +4 -4
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js +80 -18
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -1
- package/dist/api/secret.d.ts +7 -0
- package/dist/api/secret.d.ts.map +1 -0
- package/dist/api/secret.js +17 -0
- package/dist/api/sonamu.d.ts +17 -8
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +265 -47
- package/dist/cache/cache-manager.d.ts +11 -0
- package/dist/cache/cache-manager.d.ts.map +1 -0
- package/dist/cache/cache-manager.js +22 -0
- package/dist/cache/decorator.d.ts +31 -0
- package/dist/cache/decorator.d.ts.map +1 -0
- package/dist/cache/decorator.js +86 -0
- package/dist/cache/drivers.d.ts +33 -0
- package/dist/cache/drivers.d.ts.map +1 -0
- package/dist/cache/drivers.js +36 -0
- package/dist/cache/index.d.ts +4 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +8 -0
- package/dist/cache/types.d.ts +28 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +6 -0
- package/dist/database/base-model.d.ts +4 -2
- package/dist/database/base-model.d.ts.map +1 -1
- package/dist/database/base-model.js +9 -4
- package/dist/database/code-generator.d.ts +3 -1
- package/dist/database/code-generator.d.ts.map +1 -1
- package/dist/database/code-generator.js +3 -2
- package/dist/database/db.d.ts +1 -1
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +5 -5
- package/dist/database/knex.d.ts +3 -0
- package/dist/database/knex.d.ts.map +1 -0
- package/dist/database/knex.js +29 -0
- package/dist/database/puri.types.d.ts.map +1 -1
- package/dist/database/puri.types.js +1 -1
- package/dist/database/upsert-builder.d.ts.map +1 -1
- package/dist/database/upsert-builder.js +49 -5
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/logger/category.d.ts +4 -0
- package/dist/logger/category.d.ts.map +1 -0
- package/dist/logger/category.js +34 -0
- package/dist/logger/configure.d.ts +9 -0
- package/dist/logger/configure.d.ts.map +1 -0
- package/dist/logger/configure.js +115 -0
- package/dist/migration/code-generation.d.ts +5 -1
- package/dist/migration/code-generation.d.ts.map +1 -1
- package/dist/migration/code-generation.js +13 -7
- package/dist/migration/migrator.d.ts +1 -1
- package/dist/migration/migrator.d.ts.map +1 -1
- package/dist/migration/migrator.js +7 -7
- package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
- package/dist/migration/postgresql-schema-reader.js +5 -3
- package/dist/naite/naite.d.ts +0 -4
- package/dist/naite/naite.d.ts.map +1 -1
- package/dist/naite/naite.js +11 -19
- package/dist/ssr/index.d.ts +4 -0
- package/dist/ssr/index.d.ts.map +1 -0
- package/dist/ssr/index.js +4 -0
- package/dist/ssr/registry.d.ts +10 -0
- package/dist/ssr/registry.d.ts.map +1 -0
- package/dist/ssr/registry.js +43 -0
- package/dist/ssr/renderer.d.ts +6 -0
- package/dist/ssr/renderer.d.ts.map +1 -0
- package/dist/ssr/renderer.js +70 -0
- package/dist/ssr/types.d.ts +19 -0
- package/dist/ssr/types.d.ts.map +1 -0
- package/dist/ssr/types.js +4 -0
- package/dist/syncer/syncer.d.ts +1 -0
- package/dist/syncer/syncer.d.ts.map +1 -1
- package/dist/syncer/syncer.js +58 -1
- package/dist/tasks/decorator.d.ts +1 -0
- package/dist/tasks/decorator.d.ts.map +1 -1
- package/dist/tasks/decorator.js +9 -7
- package/dist/tasks/step-wrapper.d.ts +5 -0
- package/dist/tasks/step-wrapper.d.ts.map +1 -1
- package/dist/tasks/step-wrapper.js +11 -6
- package/dist/tasks/workflow-manager.d.ts +2 -0
- package/dist/tasks/workflow-manager.d.ts.map +1 -1
- package/dist/tasks/workflow-manager.js +5 -2
- package/dist/template/implementations/entry-server.template.d.ts +17 -0
- package/dist/template/implementations/entry-server.template.d.ts.map +1 -0
- package/dist/template/implementations/entry-server.template.js +78 -0
- package/dist/template/implementations/model.template.d.ts.map +1 -1
- package/dist/template/implementations/model.template.js +5 -3
- package/dist/template/implementations/queries.template.d.ts +17 -0
- package/dist/template/implementations/queries.template.d.ts.map +1 -0
- package/dist/template/implementations/queries.template.js +83 -0
- package/dist/template/implementations/view_enums_select.template.d.ts.map +1 -1
- package/dist/template/implementations/view_enums_select.template.js +34 -20
- package/dist/template/implementations/view_form.template.d.ts +2 -1
- package/dist/template/implementations/view_form.template.d.ts.map +1 -1
- package/dist/template/implementations/view_form.template.js +301 -129
- package/dist/template/implementations/view_id_async_select.template.d.ts.map +1 -1
- package/dist/template/implementations/view_id_async_select.template.js +136 -57
- package/dist/template/implementations/view_list.template.d.ts +2 -0
- package/dist/template/implementations/view_list.template.d.ts.map +1 -1
- package/dist/template/implementations/view_list.template.js +392 -227
- package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
- package/dist/template/implementations/view_search_input.template.js +46 -30
- package/dist/template/zod-converter.d.ts.map +1 -1
- package/dist/template/zod-converter.js +2 -2
- package/dist/testing/bootstrap.d.ts +28 -0
- package/dist/testing/bootstrap.d.ts.map +1 -0
- package/dist/testing/bootstrap.js +120 -0
- package/dist/testing/fixture-loader.d.ts +21 -0
- package/dist/testing/fixture-loader.d.ts.map +1 -0
- package/dist/testing/fixture-loader.js +28 -0
- package/dist/testing/fixture-manager.d.ts +1 -1
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +7 -7
- package/dist/testing/index.d.ts +4 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +5 -0
- package/dist/testing/naite-vitest-reporter.d.ts +12 -0
- package/dist/testing/naite-vitest-reporter.d.ts.map +1 -0
- package/dist/testing/naite-vitest-reporter.js +17 -0
- package/dist/types/types.d.ts +5 -6
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +7 -8
- package/dist/ui/ai-client.d.ts +3 -1
- package/dist/ui/ai-client.d.ts.map +1 -1
- package/dist/ui/ai-client.js +27 -8
- package/dist/ui-web/assets/index-CTYv3qL6.js +92 -0
- package/dist/ui-web/index.html +1 -1
- package/package.json +43 -20
- package/src/ai/agents/agent.ts +38 -19
- package/src/api/base-frame.ts +8 -0
- package/src/api/caster.ts +6 -1
- package/src/api/config.ts +38 -4
- package/src/api/decorators.ts +106 -20
- package/src/api/index.ts +1 -0
- package/src/api/secret.ts +23 -0
- package/src/api/sonamu.ts +334 -61
- package/src/cache/cache-manager.ts +23 -0
- package/src/cache/decorator.ts +116 -0
- package/src/cache/drivers.ts +42 -0
- package/src/cache/index.ts +16 -0
- package/src/cache/types.ts +32 -0
- package/src/database/base-model.ts +7 -3
- package/src/database/code-generator.ts +3 -1
- package/src/database/db.ts +5 -5
- package/src/database/knex.ts +34 -0
- package/src/database/puri.types.ts +2 -3
- package/src/database/upsert-builder.ts +58 -4
- package/src/index.ts +4 -0
- package/src/logger/category.ts +42 -0
- package/src/logger/configure.ts +132 -0
- package/src/migration/code-generation.ts +19 -6
- package/src/migration/migrator.ts +7 -6
- package/src/migration/postgresql-schema-reader.ts +7 -2
- package/src/naite/naite.ts +10 -18
- package/src/shared/web.shared.ts.txt +1 -1
- package/src/ssr/index.ts +13 -0
- package/src/ssr/registry.ts +52 -0
- package/src/ssr/renderer.ts +105 -0
- package/src/ssr/types.ts +20 -0
- package/src/syncer/syncer.ts +59 -0
- package/src/tasks/decorator.ts +20 -4
- package/src/tasks/step-wrapper.ts +14 -5
- package/src/tasks/workflow-manager.ts +9 -1
- package/src/template/implementations/entry-server.template.ts +81 -0
- package/src/template/implementations/model.template.ts +4 -2
- package/src/template/implementations/queries.template.ts +111 -0
- package/src/template/implementations/view_enums_select.template.ts +33 -19
- package/src/template/implementations/view_form.template.ts +324 -145
- package/src/template/implementations/view_id_async_select.template.ts +145 -56
- package/src/template/implementations/view_list.template.ts +446 -236
- package/src/template/implementations/view_search_input.template.ts +45 -29
- package/src/template/zod-converter.ts +4 -1
- package/src/testing/bootstrap.ts +176 -0
- package/src/testing/fixture-loader.ts +28 -0
- package/src/testing/fixture-manager.ts +7 -6
- package/src/testing/index.ts +3 -0
- package/src/testing/naite-vitest-reporter.ts +18 -0
- package/src/types/types.ts +4 -5
- package/src/ui/ai-client.ts +82 -50
- package/dist/template/implementations/view_enums_dropdown.template.d.ts +0 -17
- package/dist/template/implementations/view_enums_dropdown.template.d.ts.map +0 -1
- package/dist/template/implementations/view_enums_dropdown.template.js +0 -50
- package/dist/ui-web/assets/index-B87IyofX.js +0 -92
- package/src/template/implementations/view_enums_dropdown.template.ts +0 -53
package/dist/index.d.ts
CHANGED
|
@@ -3,8 +3,11 @@ export * from "./api/config";
|
|
|
3
3
|
export type * from "./api/context";
|
|
4
4
|
export * from "./api/decorators";
|
|
5
5
|
export * from "./api/sonamu";
|
|
6
|
+
export { cache } from "./cache/decorator";
|
|
7
|
+
export type { CacheDecoratorOptions } from "./cache/types";
|
|
6
8
|
export * from "./database/base-model";
|
|
7
9
|
export * from "./database/base-model.types";
|
|
10
|
+
export * from "./database/code-generator";
|
|
8
11
|
export * from "./database/db";
|
|
9
12
|
export * from "./database/puri";
|
|
10
13
|
export * from "./database/puri.types";
|
|
@@ -15,6 +18,7 @@ export * from "./entity/entity";
|
|
|
15
18
|
export * from "./entity/entity-manager";
|
|
16
19
|
export * from "./exceptions/error-handler";
|
|
17
20
|
export * from "./exceptions/so-exceptions";
|
|
21
|
+
export * from "./migration/code-generation";
|
|
18
22
|
export * from "./migration/migration-set";
|
|
19
23
|
export * from "./migration/migrator";
|
|
20
24
|
export * from "./migration/postgresql-schema-reader";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,mBAAmB,eAAe,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sCAAsC,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,mBAAmB,eAAe,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sCAAsC,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,8 +2,10 @@ export * from "./api/base-frame.js";
|
|
|
2
2
|
export * from "./api/config.js";
|
|
3
3
|
export * from "./api/decorators.js";
|
|
4
4
|
export * from "./api/sonamu.js";
|
|
5
|
+
export { cache } from "./cache/decorator.js";
|
|
5
6
|
export * from "./database/base-model.js";
|
|
6
7
|
export * from "./database/base-model.types.js";
|
|
8
|
+
export * from "./database/code-generator.js";
|
|
7
9
|
export * from "./database/db.js";
|
|
8
10
|
export * from "./database/puri.js";
|
|
9
11
|
export * from "./database/puri.types.js";
|
|
@@ -14,6 +16,7 @@ export * from "./entity/entity.js";
|
|
|
14
16
|
export * from "./entity/entity-manager.js";
|
|
15
17
|
export * from "./exceptions/error-handler.js";
|
|
16
18
|
export * from "./exceptions/so-exceptions.js";
|
|
19
|
+
export * from "./migration/code-generation.js";
|
|
17
20
|
export * from "./migration/migration-set.js";
|
|
18
21
|
export * from "./migration/migrator.js";
|
|
19
22
|
export * from "./migration/postgresql-schema-reader.js";
|
|
@@ -32,4 +35,4 @@ export * from "./utils/type-utils.js";
|
|
|
32
35
|
export * from "./utils/utils.js"; // export * from "./api/code-converters";
|
|
33
36
|
// export * from "./syncer/syncer";
|
|
34
37
|
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hcGkvYmFzZS1mcmFtZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXBpL2NvbmZpZ1wiO1xuZXhwb3J0IHR5cGUgKiBmcm9tIFwiLi9hcGkvY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXBpL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FwaS9zb25hbXVcIjtcbmV4cG9ydCB7IGNhY2hlIH0gZnJvbSBcIi4vY2FjaGUvZGVjb3JhdG9yXCI7XG5leHBvcnQgdHlwZSB7IENhY2hlRGVjb3JhdG9yT3B0aW9ucyB9IGZyb20gXCIuL2NhY2hlL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9iYXNlLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9iYXNlLW1vZGVsLnR5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9jb2RlLWdlbmVyYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2UvZGJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL3B1cmlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL3B1cmkudHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL3B1cmktc3Vic2V0LnR5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9wdXJpLXdyYXBwZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL3Vwc2VydC1idWlsZGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdHkvZW50aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4Y2VwdGlvbnMvZXJyb3ItaGFuZGxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhjZXB0aW9ucy9zby1leGNlcHRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWdyYXRpb24vY29kZS1nZW5lcmF0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWdyYXRpb24vbWlncmF0aW9uLXNldFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWlncmF0aW9uL21pZ3JhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWdyYXRpb24vcG9zdGdyZXNxbC1zY2hlbWEtcmVhZGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWdyYXRpb24vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25haXRlL25haXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uYWl0ZS9uYWl0ZS1yZXBvcnRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RyZWFtL3NzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFza3MvZGVjb3JhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZW1wbGF0ZS90ZW1wbGF0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVtcGxhdGUvdGVtcGxhdGUtbWFuYWdlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVzdGluZy9maXh0dXJlLW1hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy9jb250cm9sbGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy9tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMvdHlwZS11dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMvdXRpbHNcIjtcblxuLy8gZXhwb3J0ICogZnJvbSBcIi4vYXBpL2NvZGUtY29udmVydGVyc1wiO1xuLy8gZXhwb3J0ICogZnJvbSBcIi4vc3luY2VyL3N5bmNlclwiO1xuIl0sIm5hbWVzIjpbImNhY2hlIl0sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFtQjtBQUNqQyxjQUFjLGtCQUFlO0FBRTdCLGNBQWMsc0JBQW1CO0FBQ2pDLGNBQWMsa0JBQWU7QUFDN0IsU0FBU0EsS0FBSyxRQUFRLHVCQUFvQjtBQUUxQyxjQUFjLDJCQUF3QjtBQUN0QyxjQUFjLGlDQUE4QjtBQUM1QyxjQUFjLCtCQUE0QjtBQUMxQyxjQUFjLG1CQUFnQjtBQUM5QixjQUFjLHFCQUFrQjtBQUNoQyxjQUFjLDJCQUF3QjtBQUN0QyxjQUFjLGtDQUErQjtBQUM3QyxjQUFjLDZCQUEwQjtBQUN4QyxjQUFjLCtCQUE0QjtBQUMxQyxjQUFjLHFCQUFrQjtBQUNoQyxjQUFjLDZCQUEwQjtBQUN4QyxjQUFjLGdDQUE2QjtBQUMzQyxjQUFjLGdDQUE2QjtBQUMzQyxjQUFjLGlDQUE4QjtBQUM1QyxjQUFjLCtCQUE0QjtBQUMxQyxjQUFjLDBCQUF1QjtBQUNyQyxjQUFjLDBDQUF1QztBQUNyRCxjQUFjLHVCQUFvQjtBQUNsQyxjQUFjLG1CQUFnQjtBQUM5QixjQUFjLDRCQUF5QjtBQUN2QyxjQUFjLGtCQUFlO0FBQzdCLGNBQWMsdUJBQW9CO0FBQ2xDLGNBQWMseUJBQXNCO0FBQ3BDLGNBQWMsaUNBQThCO0FBQzVDLGNBQWMsK0JBQTRCO0FBQzFDLGNBQWMsbUJBQWdCO0FBQzlCLGNBQWMsd0JBQXFCO0FBQ25DLGNBQWMsbUJBQWdCO0FBQzlCLGNBQWMsd0JBQXFCO0FBQ25DLGNBQWMsbUJBQWdCLENBRTlCLHlDQUF5QztDQUN6QyxtQ0FBbUMifQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function isSameCategory(categoryA: readonly string[], categoryB: string | string[]): boolean;
|
|
2
|
+
export declare function convertDomainToCategory(name: string, type: "model" | "frame" | "agent" | "workflow"): readonly string[];
|
|
3
|
+
export declare function convertNaiteKeyToCategory(key: string): readonly string[];
|
|
4
|
+
//# sourceMappingURL=category.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../src/logger/category.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAC3B,OAAO,CAOT;AAKD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAC7C,SAAS,MAAM,EAAE,CAcnB;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAExE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// NOTE: import * as inflection 혹은 import { underscore } 사용 시 오류 발생.
|
|
2
|
+
import inflection from "inflection";
|
|
3
|
+
import { asArray } from "../utils/model.js";
|
|
4
|
+
// 두 카테고리가 동일한지 확인
|
|
5
|
+
export function isSameCategory(categoryA, categoryB) {
|
|
6
|
+
const categoryBArr = asArray(categoryB);
|
|
7
|
+
if (categoryA.length !== categoryBArr.length) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
return categoryA.every((category, index)=>categoryBArr[index] === category);
|
|
11
|
+
}
|
|
12
|
+
// 로깅 카테고리를 지정합니다.
|
|
13
|
+
// 예: SomeAgentClass -> ["sonamu", "agent", "some-agent"]
|
|
14
|
+
// SomeLongWorkflow -> ["sonamu", "workflow", "some-long-workflow"]
|
|
15
|
+
export function convertDomainToCategory(name, type) {
|
|
16
|
+
const compareItems = [
|
|
17
|
+
"class"
|
|
18
|
+
];
|
|
19
|
+
if (type !== "workflow") {
|
|
20
|
+
compareItems.push(type);
|
|
21
|
+
}
|
|
22
|
+
// SomeAgentClass -> some_agent, SomeModelClass -> some_model, SomeFrameClass -> some_frame
|
|
23
|
+
const convertedName = inflection.underscore(name).split("_").filter((item)=>!compareItems.includes(item)).join("-");
|
|
24
|
+
return [
|
|
25
|
+
"sonamu",
|
|
26
|
+
type,
|
|
27
|
+
convertedName
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
export function convertNaiteKeyToCategory(key) {
|
|
31
|
+
return key.split(".").flatMap((stem)=>stem.split(":"));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIvY2F0ZWdvcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gTk9URTogaW1wb3J0ICogYXMgaW5mbGVjdGlvbiDtmLnsnYAgaW1wb3J0IHsgdW5kZXJzY29yZSB9IOyCrOyaqSDsi5wg7Jik66WYIOuwnOyDnS5cbmltcG9ydCBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCI7XG5pbXBvcnQgeyBhc0FycmF5IH0gZnJvbSBcIi4uL3V0aWxzL21vZGVsXCI7XG5cbi8vIOuRkCDsubTthYzqs6DrpqzqsIAg64+Z7J287ZWc7KeAIO2ZleyduFxuZXhwb3J0IGZ1bmN0aW9uIGlzU2FtZUNhdGVnb3J5KFxuICBjYXRlZ29yeUE6IHJlYWRvbmx5IHN0cmluZ1tdLFxuICBjYXRlZ29yeUI6IHN0cmluZyB8IHN0cmluZ1tdLFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IGNhdGVnb3J5QkFyciA9IGFzQXJyYXkoY2F0ZWdvcnlCKTtcbiAgaWYgKGNhdGVnb3J5QS5sZW5ndGggIT09IGNhdGVnb3J5QkFyci5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gY2F0ZWdvcnlBLmV2ZXJ5KChjYXRlZ29yeSwgaW5kZXgpID0+IGNhdGVnb3J5QkFycltpbmRleF0gPT09IGNhdGVnb3J5KTtcbn1cblxuLy8g66Gc6rmFIOy5tO2FjOqzoOumrOulvCDsp4DsoJXtlanri4jri6QuXG4vLyDsmIg6IFNvbWVBZ2VudENsYXNzIC0+IFtcInNvbmFtdVwiLCBcImFnZW50XCIsIFwic29tZS1hZ2VudFwiXVxuLy8gU29tZUxvbmdXb3JrZmxvdyAtPiBbXCJzb25hbXVcIiwgXCJ3b3JrZmxvd1wiLCBcInNvbWUtbG9uZy13b3JrZmxvd1wiXVxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnREb21haW5Ub0NhdGVnb3J5KFxuICBuYW1lOiBzdHJpbmcsXG4gIHR5cGU6IFwibW9kZWxcIiB8IFwiZnJhbWVcIiB8IFwiYWdlbnRcIiB8IFwid29ya2Zsb3dcIixcbik6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgY29uc3QgY29tcGFyZUl0ZW1zID0gW1wiY2xhc3NcIl07XG4gIGlmICh0eXBlICE9PSBcIndvcmtmbG93XCIpIHtcbiAgICBjb21wYXJlSXRlbXMucHVzaCh0eXBlKTtcbiAgfVxuXG4gIC8vIFNvbWVBZ2VudENsYXNzIC0+IHNvbWVfYWdlbnQsIFNvbWVNb2RlbENsYXNzIC0+IHNvbWVfbW9kZWwsIFNvbWVGcmFtZUNsYXNzIC0+IHNvbWVfZnJhbWVcbiAgY29uc3QgY29udmVydGVkTmFtZSA9IGluZmxlY3Rpb25cbiAgICAudW5kZXJzY29yZShuYW1lKVxuICAgIC5zcGxpdChcIl9cIilcbiAgICAuZmlsdGVyKChpdGVtKSA9PiAhY29tcGFyZUl0ZW1zLmluY2x1ZGVzKGl0ZW0pKVxuICAgIC5qb2luKFwiLVwiKTtcblxuICByZXR1cm4gW1wic29uYW11XCIsIHR5cGUsIGNvbnZlcnRlZE5hbWVdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydE5haXRlS2V5VG9DYXRlZ29yeShrZXk6IHN0cmluZyk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgcmV0dXJuIGtleS5zcGxpdChcIi5cIikuZmxhdE1hcCgoc3RlbSkgPT4gc3RlbS5zcGxpdChcIjpcIikpO1xufVxuIl0sIm5hbWVzIjpbImluZmxlY3Rpb24iLCJhc0FycmF5IiwiaXNTYW1lQ2F0ZWdvcnkiLCJjYXRlZ29yeUEiLCJjYXRlZ29yeUIiLCJjYXRlZ29yeUJBcnIiLCJsZW5ndGgiLCJldmVyeSIsImNhdGVnb3J5IiwiaW5kZXgiLCJjb252ZXJ0RG9tYWluVG9DYXRlZ29yeSIsIm5hbWUiLCJ0eXBlIiwiY29tcGFyZUl0ZW1zIiwicHVzaCIsImNvbnZlcnRlZE5hbWUiLCJ1bmRlcnNjb3JlIiwic3BsaXQiLCJmaWx0ZXIiLCJpdGVtIiwiaW5jbHVkZXMiLCJqb2luIiwiY29udmVydE5haXRlS2V5VG9DYXRlZ29yeSIsImtleSIsImZsYXRNYXAiLCJzdGVtIl0sIm1hcHBpbmdzIjoiQUFBQSxvRUFBb0U7QUFDcEUsT0FBT0EsZ0JBQWdCLGFBQWE7QUFDcEMsU0FBU0MsT0FBTyxRQUFRLG9CQUFpQjtBQUV6QyxrQkFBa0I7QUFDbEIsT0FBTyxTQUFTQyxlQUNkQyxTQUE0QixFQUM1QkMsU0FBNEI7SUFFNUIsTUFBTUMsZUFBZUosUUFBUUc7SUFDN0IsSUFBSUQsVUFBVUcsTUFBTSxLQUFLRCxhQUFhQyxNQUFNLEVBQUU7UUFDNUMsT0FBTztJQUNUO0lBRUEsT0FBT0gsVUFBVUksS0FBSyxDQUFDLENBQUNDLFVBQVVDLFFBQVVKLFlBQVksQ0FBQ0ksTUFBTSxLQUFLRDtBQUN0RTtBQUVBLGtCQUFrQjtBQUNsQix5REFBeUQ7QUFDekQsbUVBQW1FO0FBQ25FLE9BQU8sU0FBU0Usd0JBQ2RDLElBQVksRUFDWkMsSUFBOEM7SUFFOUMsTUFBTUMsZUFBZTtRQUFDO0tBQVE7SUFDOUIsSUFBSUQsU0FBUyxZQUFZO1FBQ3ZCQyxhQUFhQyxJQUFJLENBQUNGO0lBQ3BCO0lBRUEsMkZBQTJGO0lBQzNGLE1BQU1HLGdCQUFnQmYsV0FDbkJnQixVQUFVLENBQUNMLE1BQ1hNLEtBQUssQ0FBQyxLQUNOQyxNQUFNLENBQUMsQ0FBQ0MsT0FBUyxDQUFDTixhQUFhTyxRQUFRLENBQUNELE9BQ3hDRSxJQUFJLENBQUM7SUFFUixPQUFPO1FBQUM7UUFBVVQ7UUFBTUc7S0FBYztBQUN4QztBQUVBLE9BQU8sU0FBU08sMEJBQTBCQyxHQUFXO0lBQ25ELE9BQU9BLElBQUlOLEtBQUssQ0FBQyxLQUFLTyxPQUFPLENBQUMsQ0FBQ0MsT0FBU0EsS0FBS1IsS0FBSyxDQUFDO0FBQ3JEIn0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type FilterLike, type LoggerConfig, type Sink } from "@logtape/logtape";
|
|
2
|
+
export type SonamuLoggingOptions<TSinkId extends string, TFilterId extends string> = {
|
|
3
|
+
fastifyCategory?: readonly string[];
|
|
4
|
+
sinks?: Record<TSinkId, Sink>;
|
|
5
|
+
filters?: Record<TFilterId, FilterLike>;
|
|
6
|
+
loggers?: LoggerConfig<TSinkId, TFilterId>[];
|
|
7
|
+
};
|
|
8
|
+
export declare function configureLogTape<TSinkId extends string, TFilterId extends string>(options: SonamuLoggingOptions<TSinkId, TFilterId>): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=configure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/logger/configure.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EAEf,KAAK,YAAY,EAEjB,KAAK,IAAI,EAEV,MAAM,kBAAkB,CAAC;AAK1B,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,IAAI;IAGnF,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAGpC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAGxC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;CAC9C,CAAC;AAwEF,wBAAsB,gBAAgB,CAAC,OAAO,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,EACrF,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,iBAiClD"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { configure, getConsoleSink } from "@logtape/logtape";
|
|
2
|
+
import { getPrettyFormatter } from "@logtape/pretty";
|
|
3
|
+
import { isSameCategory } from "./category.js";
|
|
4
|
+
// fastify에 대한 기본 sink 설정
|
|
5
|
+
function defaultFastifySink(fastifyCategory) {
|
|
6
|
+
const formatter = ((formatter, record)=>{
|
|
7
|
+
// Fastify API Logger의 경우, 응답 코드와 요청 URL을 추가
|
|
8
|
+
const filterFastify = (request, record, responseCode)=>{
|
|
9
|
+
if (!request.url.startsWith("/api")) {
|
|
10
|
+
return formatter(record);
|
|
11
|
+
}
|
|
12
|
+
const lastItem = record.message[record.message.length - 1];
|
|
13
|
+
return formatter({
|
|
14
|
+
...record,
|
|
15
|
+
message: [
|
|
16
|
+
...record.message.slice(0, -1),
|
|
17
|
+
`[${request.method}${responseCode ? `:${responseCode}` : ""}] ${request.originalUrl} - ${lastItem}`
|
|
18
|
+
]
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
if (!isSameCategory(fastifyCategory, [
|
|
22
|
+
...record.category
|
|
23
|
+
])) {
|
|
24
|
+
return formatter(record);
|
|
25
|
+
}
|
|
26
|
+
if ("req" in record.properties && record.properties.req !== null) {
|
|
27
|
+
const request = record.properties.req;
|
|
28
|
+
return filterFastify(request, record);
|
|
29
|
+
}
|
|
30
|
+
if ("res" in record.properties && record.properties.res !== null) {
|
|
31
|
+
const reply = record.properties.res;
|
|
32
|
+
return filterFastify(reply.request, record, reply.statusCode);
|
|
33
|
+
}
|
|
34
|
+
return formatter(record);
|
|
35
|
+
}).bind(null, getPrettyFormatter({
|
|
36
|
+
timestamp: "time",
|
|
37
|
+
categoryWidth: 20,
|
|
38
|
+
categoryTruncate: "middle"
|
|
39
|
+
}));
|
|
40
|
+
return getConsoleSink({
|
|
41
|
+
formatter
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
// fastify에 대한 기본 filter 설정 (/api 경로의 요청만 로깅)
|
|
45
|
+
function defaultFastifyFilter(fastifyCategory) {
|
|
46
|
+
return (record)=>{
|
|
47
|
+
if (!isSameCategory([
|
|
48
|
+
...fastifyCategory
|
|
49
|
+
], [
|
|
50
|
+
...record.category
|
|
51
|
+
])) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
if ("req" in record.properties && record.properties.req !== null) {
|
|
55
|
+
const request = record.properties.req;
|
|
56
|
+
return request.url.startsWith("/api");
|
|
57
|
+
}
|
|
58
|
+
if ("res" in record.properties && record.properties.res !== null) {
|
|
59
|
+
const reply = record.properties.res;
|
|
60
|
+
return reply.request.url.startsWith("/api");
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
// 전체 logtape 설정
|
|
66
|
+
export async function configureLogTape(options) {
|
|
67
|
+
const fastifyCategory = options.fastifyCategory ?? [
|
|
68
|
+
"fastify"
|
|
69
|
+
];
|
|
70
|
+
const sinks = {
|
|
71
|
+
"fastify-console": defaultFastifySink(fastifyCategory),
|
|
72
|
+
...options.sinks ?? {}
|
|
73
|
+
};
|
|
74
|
+
const filters = {
|
|
75
|
+
"fastify-console": defaultFastifyFilter(fastifyCategory),
|
|
76
|
+
...options.filters ?? {}
|
|
77
|
+
};
|
|
78
|
+
const loggers = new Set(options.loggers ?? []);
|
|
79
|
+
// logtape의 meta logger 표시를 비활성화
|
|
80
|
+
loggers.add({
|
|
81
|
+
category: [
|
|
82
|
+
"logtape",
|
|
83
|
+
"meta"
|
|
84
|
+
],
|
|
85
|
+
lowestLevel: "fatal"
|
|
86
|
+
});
|
|
87
|
+
if ([
|
|
88
|
+
...loggers
|
|
89
|
+
].every((logger)=>!isSameCategory([
|
|
90
|
+
...fastifyCategory
|
|
91
|
+
], logger.category))) {
|
|
92
|
+
loggers.add({
|
|
93
|
+
category: [
|
|
94
|
+
...fastifyCategory
|
|
95
|
+
],
|
|
96
|
+
sinks: [
|
|
97
|
+
"fastify-console"
|
|
98
|
+
],
|
|
99
|
+
lowestLevel: "info",
|
|
100
|
+
filters: [
|
|
101
|
+
"fastify-console"
|
|
102
|
+
]
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return configure({
|
|
106
|
+
sinks,
|
|
107
|
+
filters,
|
|
108
|
+
loggers: [
|
|
109
|
+
...loggers
|
|
110
|
+
],
|
|
111
|
+
reset: true
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIvY29uZmlndXJlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNvbmZpZ3VyZSxcbiAgdHlwZSBGaWx0ZXIsXG4gIHR5cGUgRmlsdGVyTGlrZSxcbiAgZ2V0Q29uc29sZVNpbmssXG4gIHR5cGUgTG9nZ2VyQ29uZmlnLFxuICB0eXBlIExvZ1JlY29yZCxcbiAgdHlwZSBTaW5rLFxuICB0eXBlIFRleHRGb3JtYXR0ZXIsXG59IGZyb20gXCJAbG9ndGFwZS9sb2d0YXBlXCI7XG5pbXBvcnQgeyBnZXRQcmV0dHlGb3JtYXR0ZXIgfSBmcm9tIFwiQGxvZ3RhcGUvcHJldHR5XCI7XG5pbXBvcnQgdHlwZSB7IEZhc3RpZnlSZXBseSwgRmFzdGlmeVJlcXVlc3QgfSBmcm9tIFwiZmFzdGlmeVwiO1xuaW1wb3J0IHsgaXNTYW1lQ2F0ZWdvcnkgfSBmcm9tIFwiLi9jYXRlZ29yeVwiO1xuXG5leHBvcnQgdHlwZSBTb25hbXVMb2dnaW5nT3B0aW9uczxUU2lua0lkIGV4dGVuZHMgc3RyaW5nLCBURmlsdGVySWQgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICAvLyBmYXN0aWZ5IOuhnOq5hSDsubTthYzqs6DrpqwgKGEuYi5j7J2YIO2Yle2DnOuhnCDrhKPsnLzrqbQgW2EsIGIsIGNd66GcIOuTpOyWtOqwkeuLiOuLpC4pXG4gIC8vIOq4sOuzuOqwkuydgCBbXCJmYXN0aWZ5XCJdIOyeheuLiOuLpC5cbiAgZmFzdGlmeUNhdGVnb3J5PzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLy8g6rCBIO2VreuqqeuTpOydhCDshKTsoJXtlaAg65WMIFwiZmFzdGlmeS1jb25zb2xlXCLsnbQg65Ok7Ja06rCIIOqyveyasCwg642u7Ja07JSM7JuM7KeR64uI64ukLlxuICBzaW5rcz86IFJlY29yZDxUU2lua0lkLCBTaW5rPjtcbiAgZmlsdGVycz86IFJlY29yZDxURmlsdGVySWQsIEZpbHRlckxpa2U+O1xuXG4gIC8vIOqwgSDtla3rqqnsnYQg7ISk7KCV7ZWgIOuVjCBmYXN0aWZ5Q2F0ZWdvcnnsl5Ag7ISk7KCV65CcIOy5tO2FjOqzoOumrOqwgCDsnojsnYQg6rK97JqwLCDquLDrs7ggbG9nZ2VyIOyEpOygleydgCDstpTqsIDrkJjsp4Ag7JWK7Iq164uI64ukLlxuICBsb2dnZXJzPzogTG9nZ2VyQ29uZmlnPFRTaW5rSWQsIFRGaWx0ZXJJZD5bXTtcbn07XG5cbi8vIGZhc3RpZnnsl5Ag64yA7ZWcIOq4sOuzuCBzaW5rIOyEpOyglVxuZnVuY3Rpb24gZGVmYXVsdEZhc3RpZnlTaW5rKGZhc3RpZnlDYXRlZ29yeTogcmVhZG9ubHkgc3RyaW5nW10pOiBTaW5rIHtcbiAgY29uc3QgZm9ybWF0dGVyID0gKChmb3JtYXR0ZXI6IFRleHRGb3JtYXR0ZXIsIHJlY29yZDogTG9nUmVjb3JkKSA9PiB7XG4gICAgLy8gRmFzdGlmeSBBUEkgTG9nZ2Vy7J2YIOqyveyasCwg7J2R64u1IOy9lOuTnOyZgCDsmpTssq0gVVJM7J2EIOy2lOqwgFxuICAgIGNvbnN0IGZpbHRlckZhc3RpZnkgPSAocmVxdWVzdDogRmFzdGlmeVJlcXVlc3QsIHJlY29yZDogTG9nUmVjb3JkLCByZXNwb25zZUNvZGU/OiBudW1iZXIpID0+IHtcbiAgICAgIGlmICghcmVxdWVzdC51cmwuc3RhcnRzV2l0aChcIi9hcGlcIikpIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlcihyZWNvcmQpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsYXN0SXRlbSA9IHJlY29yZC5tZXNzYWdlW3JlY29yZC5tZXNzYWdlLmxlbmd0aCAtIDFdIGFzIHN0cmluZztcbiAgICAgIHJldHVybiBmb3JtYXR0ZXIoe1xuICAgICAgICAuLi5yZWNvcmQsXG4gICAgICAgIG1lc3NhZ2U6IFtcbiAgICAgICAgICAuLi5yZWNvcmQubWVzc2FnZS5zbGljZSgwLCAtMSksXG4gICAgICAgICAgYFske3JlcXVlc3QubWV0aG9kfSR7cmVzcG9uc2VDb2RlID8gYDoke3Jlc3BvbnNlQ29kZX1gIDogXCJcIn1dICR7cmVxdWVzdC5vcmlnaW5hbFVybH0gLSAke2xhc3RJdGVtfWAsXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaWYgKCFpc1NhbWVDYXRlZ29yeShmYXN0aWZ5Q2F0ZWdvcnksIFsuLi5yZWNvcmQuY2F0ZWdvcnldKSkge1xuICAgICAgcmV0dXJuIGZvcm1hdHRlcihyZWNvcmQpO1xuICAgIH1cblxuICAgIGlmIChcInJlcVwiIGluIHJlY29yZC5wcm9wZXJ0aWVzICYmIHJlY29yZC5wcm9wZXJ0aWVzLnJlcSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IHJlY29yZC5wcm9wZXJ0aWVzLnJlcSBhcyBGYXN0aWZ5UmVxdWVzdDtcbiAgICAgIHJldHVybiBmaWx0ZXJGYXN0aWZ5KHJlcXVlc3QsIHJlY29yZCk7XG4gICAgfVxuXG4gICAgaWYgKFwicmVzXCIgaW4gcmVjb3JkLnByb3BlcnRpZXMgJiYgcmVjb3JkLnByb3BlcnRpZXMucmVzICE9PSBudWxsKSB7XG4gICAgICBjb25zdCByZXBseSA9IHJlY29yZC5wcm9wZXJ0aWVzLnJlcyBhcyBGYXN0aWZ5UmVwbHk7XG4gICAgICByZXR1cm4gZmlsdGVyRmFzdGlmeShyZXBseS5yZXF1ZXN0LCByZWNvcmQsIHJlcGx5LnN0YXR1c0NvZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXR0ZXIocmVjb3JkKTtcbiAgfSkuYmluZChcbiAgICBudWxsLFxuICAgIGdldFByZXR0eUZvcm1hdHRlcih7XG4gICAgICB0aW1lc3RhbXA6IFwidGltZVwiLFxuICAgICAgY2F0ZWdvcnlXaWR0aDogMjAsXG4gICAgICBjYXRlZ29yeVRydW5jYXRlOiBcIm1pZGRsZVwiLFxuICAgIH0pLFxuICApO1xuXG4gIHJldHVybiBnZXRDb25zb2xlU2luayh7XG4gICAgZm9ybWF0dGVyLFxuICB9KTtcbn1cblxuLy8gZmFzdGlmeeyXkCDrjIDtlZwg6riw67O4IGZpbHRlciDshKTsoJUgKC9hcGkg6rK966Gc7J2YIOyalOyyreunjCDroZzquYUpXG5mdW5jdGlvbiBkZWZhdWx0RmFzdGlmeUZpbHRlcihmYXN0aWZ5Q2F0ZWdvcnk6IHJlYWRvbmx5IHN0cmluZ1tdKTogRmlsdGVyIHtcbiAgcmV0dXJuIChyZWNvcmQ6IExvZ1JlY29yZCkgPT4ge1xuICAgIGlmICghaXNTYW1lQ2F0ZWdvcnkoWy4uLmZhc3RpZnlDYXRlZ29yeV0sIFsuLi5yZWNvcmQuY2F0ZWdvcnldKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChcInJlcVwiIGluIHJlY29yZC5wcm9wZXJ0aWVzICYmIHJlY29yZC5wcm9wZXJ0aWVzLnJlcSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IHJlY29yZC5wcm9wZXJ0aWVzLnJlcSBhcyBGYXN0aWZ5UmVxdWVzdDtcbiAgICAgIHJldHVybiByZXF1ZXN0LnVybC5zdGFydHNXaXRoKFwiL2FwaVwiKTtcbiAgICB9XG5cbiAgICBpZiAoXCJyZXNcIiBpbiByZWNvcmQucHJvcGVydGllcyAmJiByZWNvcmQucHJvcGVydGllcy5yZXMgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJlcGx5ID0gcmVjb3JkLnByb3BlcnRpZXMucmVzIGFzIEZhc3RpZnlSZXBseTtcbiAgICAgIHJldHVybiByZXBseS5yZXF1ZXN0LnVybC5zdGFydHNXaXRoKFwiL2FwaVwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcbn1cblxuLy8g7KCE7LK0IGxvZ3RhcGUg7ISk7KCVXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29uZmlndXJlTG9nVGFwZTxUU2lua0lkIGV4dGVuZHMgc3RyaW5nLCBURmlsdGVySWQgZXh0ZW5kcyBzdHJpbmc+KFxuICBvcHRpb25zOiBTb25hbXVMb2dnaW5nT3B0aW9uczxUU2lua0lkLCBURmlsdGVySWQ+LFxuKSB7XG4gIGNvbnN0IGZhc3RpZnlDYXRlZ29yeSA9IG9wdGlvbnMuZmFzdGlmeUNhdGVnb3J5ID8/IFtcImZhc3RpZnlcIl07XG5cbiAgY29uc3Qgc2lua3MgPSB7XG4gICAgXCJmYXN0aWZ5LWNvbnNvbGVcIjogZGVmYXVsdEZhc3RpZnlTaW5rKGZhc3RpZnlDYXRlZ29yeSksXG4gICAgLi4uKG9wdGlvbnMuc2lua3MgPz8ge30pLFxuICB9IGFzIFJlY29yZDxUU2lua0lkIHwgXCJmYXN0aWZ5LWNvbnNvbGVcIiwgU2luaz47XG5cbiAgY29uc3QgZmlsdGVycyA9IHtcbiAgICBcImZhc3RpZnktY29uc29sZVwiOiBkZWZhdWx0RmFzdGlmeUZpbHRlcihmYXN0aWZ5Q2F0ZWdvcnkpLFxuICAgIC4uLihvcHRpb25zLmZpbHRlcnMgPz8ge30pLFxuICB9IGFzIFJlY29yZDxURmlsdGVySWQgfCBcImZhc3RpZnktY29uc29sZVwiLCBGaWx0ZXJMaWtlPjtcblxuICBjb25zdCBsb2dnZXJzOiBTZXQ8TG9nZ2VyQ29uZmlnPFRTaW5rSWQgfCBcImZhc3RpZnktY29uc29sZVwiLCBURmlsdGVySWQgfCBcImZhc3RpZnktY29uc29sZVwiPj4gPVxuICAgIG5ldyBTZXQob3B0aW9ucy5sb2dnZXJzID8/IFtdKTtcblxuICAvLyBsb2d0YXBl7J2YIG1ldGEgbG9nZ2VyIO2RnOyLnOulvCDruYTtmZzshLHtmZRcbiAgbG9nZ2Vycy5hZGQoe1xuICAgIGNhdGVnb3J5OiBbXCJsb2d0YXBlXCIsIFwibWV0YVwiXSxcbiAgICBsb3dlc3RMZXZlbDogXCJmYXRhbFwiLFxuICB9KTtcblxuICBpZiAoWy4uLmxvZ2dlcnNdLmV2ZXJ5KChsb2dnZXIpID0+ICFpc1NhbWVDYXRlZ29yeShbLi4uZmFzdGlmeUNhdGVnb3J5XSwgbG9nZ2VyLmNhdGVnb3J5KSkpIHtcbiAgICBsb2dnZXJzLmFkZCh7XG4gICAgICBjYXRlZ29yeTogWy4uLmZhc3RpZnlDYXRlZ29yeV0sXG4gICAgICBzaW5rczogW1wiZmFzdGlmeS1jb25zb2xlXCJdLFxuICAgICAgbG93ZXN0TGV2ZWw6IFwiaW5mb1wiLFxuICAgICAgZmlsdGVyczogW1wiZmFzdGlmeS1jb25zb2xlXCJdLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZ3VyZSh7IHNpbmtzLCBmaWx0ZXJzLCBsb2dnZXJzOiBbLi4ubG9nZ2Vyc10sIHJlc2V0OiB0cnVlIH0pO1xufVxuIl0sIm5hbWVzIjpbImNvbmZpZ3VyZSIsImdldENvbnNvbGVTaW5rIiwiZ2V0UHJldHR5Rm9ybWF0dGVyIiwiaXNTYW1lQ2F0ZWdvcnkiLCJkZWZhdWx0RmFzdGlmeVNpbmsiLCJmYXN0aWZ5Q2F0ZWdvcnkiLCJmb3JtYXR0ZXIiLCJyZWNvcmQiLCJmaWx0ZXJGYXN0aWZ5IiwicmVxdWVzdCIsInJlc3BvbnNlQ29kZSIsInVybCIsInN0YXJ0c1dpdGgiLCJsYXN0SXRlbSIsIm1lc3NhZ2UiLCJsZW5ndGgiLCJzbGljZSIsIm1ldGhvZCIsIm9yaWdpbmFsVXJsIiwiY2F0ZWdvcnkiLCJwcm9wZXJ0aWVzIiwicmVxIiwicmVzIiwicmVwbHkiLCJzdGF0dXNDb2RlIiwiYmluZCIsInRpbWVzdGFtcCIsImNhdGVnb3J5V2lkdGgiLCJjYXRlZ29yeVRydW5jYXRlIiwiZGVmYXVsdEZhc3RpZnlGaWx0ZXIiLCJjb25maWd1cmVMb2dUYXBlIiwib3B0aW9ucyIsInNpbmtzIiwiZmlsdGVycyIsImxvZ2dlcnMiLCJTZXQiLCJhZGQiLCJsb3dlc3RMZXZlbCIsImV2ZXJ5IiwibG9nZ2VyIiwicmVzZXQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLFNBQVMsRUFHVEMsY0FBYyxRQUtULG1CQUFtQjtBQUMxQixTQUFTQyxrQkFBa0IsUUFBUSxrQkFBa0I7QUFFckQsU0FBU0MsY0FBYyxRQUFRLGdCQUFhO0FBZTVDLHlCQUF5QjtBQUN6QixTQUFTQyxtQkFBbUJDLGVBQWtDO0lBQzVELE1BQU1DLFlBQVksQUFBQyxDQUFBLENBQUNBLFdBQTBCQztRQUM1Qyw0Q0FBNEM7UUFDNUMsTUFBTUMsZ0JBQWdCLENBQUNDLFNBQXlCRixRQUFtQkc7WUFDakUsSUFBSSxDQUFDRCxRQUFRRSxHQUFHLENBQUNDLFVBQVUsQ0FBQyxTQUFTO2dCQUNuQyxPQUFPTixVQUFV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
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import type { GenMigrationCode, MigrationSet } from "../types/types";
|
|
1
|
+
import type { GenMigrationCode, MigrationIndex, MigrationSet } from "../types/types";
|
|
2
|
+
/**
|
|
3
|
+
* DB 조회 결과와 비교하기 위한 인덱스 기본값 설정
|
|
4
|
+
*/
|
|
5
|
+
export declare function setMigrationIndexDefaults(index: MigrationIndex): MigrationIndex;
|
|
2
6
|
/**
|
|
3
7
|
* 주어진 EntitySet을 기반으로 테이블 CREATE 마이그레이션 코드를 생성합니다.
|
|
4
8
|
* @param entitySet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-generation.d.ts","sourceRoot":"","sources":["../../src/migration/code-generation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"code-generation.d.ts","sourceRoot":"","sources":["../../src/migration/code-generation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,gBAAgB,EAGhB,cAAc,EACd,YAAY,EACb,MAAM,gBAAgB,CAAC;AAkwBxB;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAoB/E;AA4HD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAS7F;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAqG7B"}
|