sonamu 0.8.26 → 0.9.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.
- package/bin/cli.js +60 -13
- package/dist/_virtual/rolldown_runtime.js +39 -0
- package/dist/ai/agents/agent.d.ts +3 -3
- package/dist/ai/agents/agent.d.ts.map +1 -1
- package/dist/ai/agents/agent.js +76 -73
- package/dist/ai/agents/index.js +3 -3
- package/dist/ai/agents/types.d.ts +3 -3
- package/dist/ai/agents/types.d.ts.map +1 -1
- package/dist/ai/agents/types.js +1 -3
- package/dist/ai/index.js +3 -2
- package/dist/ai/providers/rtzr/api.js +25 -25
- package/dist/ai/providers/rtzr/error.js +25 -26
- package/dist/ai/providers/rtzr/index.js +5 -5
- package/dist/ai/providers/rtzr/model.d.ts +1 -1
- package/dist/ai/providers/rtzr/model.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/model.js +117 -133
- package/dist/ai/providers/rtzr/options.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/options.js +35 -41
- package/dist/ai/providers/rtzr/provider.d.ts +1 -1
- package/dist/ai/providers/rtzr/provider.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/provider.js +53 -51
- package/dist/ai/providers/rtzr/utils.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/utils.js +84 -84
- package/dist/api/base-frame.d.ts +2 -2
- package/dist/api/base-frame.d.ts.map +1 -1
- package/dist/api/base-frame.js +29 -19
- package/dist/api/caster.d.ts +1 -1
- package/dist/api/caster.d.ts.map +1 -1
- package/dist/api/caster.js +51 -61
- package/dist/api/code-converters.d.ts +4 -3
- package/dist/api/code-converters.d.ts.map +1 -1
- package/dist/api/code-converters.js +226 -249
- package/dist/api/config.d.ts +17 -17
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +37 -30
- package/dist/api/context.d.ts +10 -10
- package/dist/api/context.d.ts.map +1 -1
- package/dist/api/context.js +8 -2
- package/dist/api/decorators.d.ts +8 -8
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js +245 -268
- package/dist/api/index.js +39 -7
- package/dist/api/secret.js +22 -15
- package/dist/api/sonamu.d.ts +15 -15
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +1012 -1131
- package/dist/api/validator.js +88 -79
- package/dist/auth/auth-generator.d.ts.map +1 -1
- package/dist/auth/auth-generator.js +203 -200
- package/dist/auth/better-auth-entities.d.ts +2 -2
- package/dist/auth/better-auth-entities.d.ts.map +1 -1
- package/dist/auth/better-auth-entities.js +369 -429
- package/dist/auth/index.js +21 -6
- package/dist/auth/knex-adapter.d.ts +2 -2
- package/dist/auth/knex-adapter.d.ts.map +1 -1
- package/dist/auth/knex-adapter.js +153 -157
- package/dist/auth/plugins/entity-definitions/admin.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/admin.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/admin.js +58 -56
- package/dist/auth/plugins/entity-definitions/anonymous.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/anonymous.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/anonymous.js +20 -20
- package/dist/auth/plugins/entity-definitions/api-key.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/api-key.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/api-key.js +185 -196
- package/dist/auth/plugins/entity-definitions/index.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/index.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/index.js +26 -29
- package/dist/auth/plugins/entity-definitions/jwt.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/jwt.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/jwt.js +62 -64
- package/dist/auth/plugins/entity-definitions/organization.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/organization.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/organization.js +362 -421
- package/dist/auth/plugins/entity-definitions/passkey.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/passkey.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/passkey.js +115 -126
- package/dist/auth/plugins/entity-definitions/phone-number.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/phone-number.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/phone-number.js +31 -40
- package/dist/auth/plugins/entity-definitions/sso.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/sso.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/sso.js +94 -107
- package/dist/auth/plugins/entity-definitions/two-factor.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/two-factor.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/two-factor.js +78 -92
- package/dist/auth/plugins/entity-definitions/types.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/types.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/types.js +1 -10
- package/dist/auth/plugins/entity-definitions/username.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/username.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/username.js +31 -40
- package/dist/auth/plugins/index.js +12 -3
- package/dist/auth/plugins/wrappers/admin.d.ts +2 -2
- package/dist/auth/plugins/wrappers/admin.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/admin.js +28 -29
- package/dist/auth/plugins/wrappers/anonymous.d.ts +2 -1
- package/dist/auth/plugins/wrappers/anonymous.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/anonymous.js +23 -22
- package/dist/auth/plugins/wrappers/api-key.d.ts +2 -1
- package/dist/auth/plugins/wrappers/api-key.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/api-key.js +39 -34
- package/dist/auth/plugins/wrappers/index.js +11 -11
- package/dist/auth/plugins/wrappers/jwt.d.ts +2 -1
- package/dist/auth/plugins/wrappers/jwt.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/jwt.js +31 -26
- package/dist/auth/plugins/wrappers/organization.d.ts +2 -1
- package/dist/auth/plugins/wrappers/organization.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/organization.js +65 -62
- package/dist/auth/plugins/wrappers/passkey.d.ts +2 -1
- package/dist/auth/plugins/wrappers/passkey.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/passkey.js +33 -28
- package/dist/auth/plugins/wrappers/phone-number.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/phone-number.js +26 -23
- package/dist/auth/plugins/wrappers/sso.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/sso.js +37 -31
- package/dist/auth/plugins/wrappers/two-factor.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/two-factor.js +31 -28
- package/dist/auth/plugins/wrappers/username.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/username.js +23 -23
- package/dist/bin/build-config.js +31 -31
- package/dist/bin/cli.js +1063 -1204
- package/dist/bin/fixture.d.ts.map +1 -1
- package/dist/bin/fixture.js +266 -259
- package/dist/bin/hmr-hook-register.d.ts.map +1 -1
- package/dist/bin/hmr-hook-register.js +19 -18
- package/dist/bin/test-command.d.ts.map +1 -1
- package/dist/bin/test-command.js +180 -177
- package/dist/bin/ts-loader-register.js +13 -6
- package/dist/bin/ts-loader-registration.d.ts.map +1 -1
- package/dist/bin/ts-loader-registration.js +28 -38
- package/dist/cache/cache-manager.d.ts +1 -1
- package/dist/cache/cache-manager.d.ts.map +1 -1
- package/dist/cache/cache-manager.js +20 -15
- package/dist/cache/decorator.d.ts +1 -1
- package/dist/cache/decorator.d.ts.map +1 -1
- package/dist/cache/decorator.js +84 -76
- package/dist/cache/drivers.js +21 -34
- package/dist/cache/index.js +10 -7
- package/dist/cache/types.d.ts +2 -2
- package/dist/cache/types.d.ts.map +1 -1
- package/dist/cache/types.js +1 -6
- package/dist/cache-control/cache-control.d.ts +2 -2
- package/dist/cache-control/cache-control.d.ts.map +1 -1
- package/dist/cache-control/cache-control.js +106 -122
- package/dist/cache-control/types.d.ts +2 -2
- package/dist/cache-control/types.d.ts.map +1 -1
- package/dist/cache-control/types.js +1 -19
- package/dist/compress/compress.d.ts +1 -1
- package/dist/compress/compress.d.ts.map +1 -1
- package/dist/compress/compress.js +58 -56
- package/dist/compress/index.js +7 -2
- package/dist/compress/types.js +1 -11
- package/dist/cone/cone-generator.d.ts +1 -1
- package/dist/cone/cone-generator.d.ts.map +1 -1
- package/dist/cone/cone-generator.js +216 -219
- package/dist/database/_batch_update.d.ts +1 -1
- package/dist/database/_batch_update.d.ts.map +1 -1
- package/dist/database/_batch_update.js +107 -102
- package/dist/database/base-model.d.ts +8 -9
- package/dist/database/base-model.d.ts.map +1 -1
- package/dist/database/base-model.js +371 -392
- package/dist/database/base-model.types.d.ts +5 -5
- package/dist/database/base-model.types.d.ts.map +1 -1
- package/dist/database/base-model.types.js +1 -20
- package/dist/database/db.d.ts +5 -2
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +185 -171
- package/dist/database/knex.d.ts +1 -1
- package/dist/database/knex.d.ts.map +1 -1
- package/dist/database/knex.js +48 -42
- package/dist/database/puri-subset.types.d.ts +6 -7
- package/dist/database/puri-subset.types.d.ts.map +1 -1
- package/dist/database/puri-subset.types.js +1 -16
- package/dist/database/puri-wrapper.d.ts +6 -6
- package/dist/database/puri-wrapper.d.ts.map +1 -1
- package/dist/database/puri-wrapper.js +99 -101
- package/dist/database/puri.d.ts +4 -5
- package/dist/database/puri.d.ts.map +1 -1
- package/dist/database/puri.js +1021 -1227
- package/dist/database/puri.types.d.ts +6 -6
- package/dist/database/puri.types.d.ts.map +1 -1
- package/dist/database/puri.types.js +15 -6
- package/dist/database/transaction-context.d.ts +2 -2
- package/dist/database/transaction-context.d.ts.map +1 -1
- package/dist/database/transaction-context.js +22 -13
- package/dist/database/upsert-builder.d.ts +3 -3
- package/dist/database/upsert-builder.d.ts.map +1 -1
- package/dist/database/upsert-builder.js +405 -465
- package/dist/dict/en.js +72 -74
- package/dist/dict/index.js +13 -13
- package/dist/dict/ko.js +72 -74
- package/dist/dict/rc-keys.js +150 -168
- package/dist/dict/sd.d.ts +3 -1
- package/dist/dict/sd.d.ts.map +1 -1
- package/dist/dict/sd.js +54 -40
- package/dist/dict/sonamu-dictionary.d.ts +1 -1
- package/dist/dict/sonamu-dictionary.d.ts.map +1 -1
- package/dist/dict/sonamu-dictionary.js +887 -955
- package/dist/dict/types.js +1 -7
- package/dist/dict/utils.js +26 -24
- package/dist/entity/entity-manager.d.ts +9 -9
- package/dist/entity/entity-manager.d.ts.map +1 -1
- package/dist/entity/entity-manager.js +226 -223
- package/dist/entity/entity-template-cone.d.ts +1 -1
- package/dist/entity/entity-template-cone.d.ts.map +1 -1
- package/dist/entity/entity-template-cone.js +152 -151
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +952 -1089
- package/dist/exceptions/error-handler.d.ts +1 -1
- package/dist/exceptions/error-handler.d.ts.map +1 -1
- package/dist/exceptions/error-handler.js +32 -27
- package/dist/exceptions/so-exceptions.d.ts +1 -1
- package/dist/exceptions/so-exceptions.d.ts.map +1 -1
- package/dist/exceptions/so-exceptions.js +61 -68
- package/dist/filter/index.js +9 -3
- package/dist/filter/types.js +92 -88
- package/dist/filter/utils.d.ts +1 -1
- package/dist/filter/utils.d.ts.map +1 -1
- package/dist/filter/utils.js +147 -161
- package/dist/index.js +87 -40
- package/dist/logger/category.d.ts.map +1 -1
- package/dist/logger/category.js +30 -29
- package/dist/logger/configure.d.ts.map +1 -1
- package/dist/logger/configure.js +83 -107
- package/dist/migration/code-generation.d.ts +2 -2
- package/dist/migration/code-generation.d.ts.map +1 -1
- package/dist/migration/code-generation.js +1385 -1578
- package/dist/migration/migration-set.d.ts +1 -1
- package/dist/migration/migration-set.d.ts.map +1 -1
- package/dist/migration/migration-set.js +177 -227
- package/dist/migration/migrator.d.ts +4 -3
- package/dist/migration/migrator.d.ts.map +1 -1
- package/dist/migration/migrator.js +340 -345
- package/dist/migration/postgresql-schema-reader.d.ts +2 -2
- package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
- package/dist/migration/postgresql-schema-reader.js +506 -564
- package/dist/migration/slack-confirm.d.ts +2 -2
- package/dist/migration/slack-confirm.d.ts.map +1 -1
- package/dist/migration/slack-confirm.js +205 -193
- package/dist/migration/types.d.ts +2 -2
- package/dist/migration/types.d.ts.map +1 -1
- package/dist/migration/types.js +1 -3
- package/dist/naite/messaging-types.d.ts +1 -0
- package/dist/naite/messaging-types.d.ts.map +1 -1
- package/dist/naite/messaging-types.js +1 -7
- package/dist/naite/naite-reporter.d.ts +2 -2
- package/dist/naite/naite-reporter.d.ts.map +1 -1
- package/dist/naite/naite-reporter.js +127 -120
- package/dist/naite/naite.d.ts +3 -2
- package/dist/naite/naite.d.ts.map +1 -1
- package/dist/naite/naite.js +266 -300
- package/dist/ssr/index.d.ts +2 -2
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/ssr/index.js +13 -3
- package/dist/ssr/registry.d.ts +1 -1
- package/dist/ssr/registry.d.ts.map +1 -1
- package/dist/ssr/registry.js +45 -37
- package/dist/ssr/renderer.d.ts +4 -4
- package/dist/ssr/renderer.d.ts.map +1 -1
- package/dist/ssr/renderer.js +84 -91
- package/dist/ssr/types.d.ts +2 -2
- package/dist/ssr/types.d.ts.map +1 -1
- package/dist/ssr/types.js +1 -3
- package/dist/storage/base-file.js +54 -41
- package/dist/storage/buffered-file.d.ts +2 -2
- package/dist/storage/buffered-file.d.ts.map +1 -1
- package/dist/storage/buffered-file.js +51 -44
- package/dist/storage/drivers.d.ts +2 -2
- package/dist/storage/drivers.d.ts.map +1 -1
- package/dist/storage/drivers.js +12 -7
- package/dist/storage/index.js +14 -7
- package/dist/storage/s3-driver.d.ts +2 -2
- package/dist/storage/s3-driver.d.ts.map +1 -1
- package/dist/storage/s3-driver.js +52 -48
- package/dist/storage/storage-manager.d.ts +2 -2
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +33 -25
- package/dist/storage/types.d.ts +2 -2
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/types.js +1 -5
- package/dist/storage/uploaded-file.d.ts +1 -1
- package/dist/storage/uploaded-file.d.ts.map +1 -1
- package/dist/storage/uploaded-file.js +45 -35
- package/dist/stream/index.js +7 -2
- package/dist/stream/sse.d.ts +2 -2
- package/dist/stream/sse.d.ts.map +1 -1
- package/dist/stream/sse.js +72 -67
- package/dist/syncer/api-parser.d.ts +1 -1
- package/dist/syncer/api-parser.d.ts.map +1 -1
- package/dist/syncer/api-parser.js +224 -245
- package/dist/syncer/checksum.d.ts +1 -1
- package/dist/syncer/checksum.d.ts.map +1 -1
- package/dist/syncer/checksum.js +86 -72
- package/dist/syncer/code-generator.d.ts +2 -2
- package/dist/syncer/code-generator.d.ts.map +1 -1
- package/dist/syncer/code-generator.js +154 -160
- package/dist/syncer/entity-operations.d.ts +1 -1
- package/dist/syncer/entity-operations.d.ts.map +1 -1
- package/dist/syncer/entity-operations.js +63 -54
- package/dist/syncer/file-patterns.d.ts +1 -1
- package/dist/syncer/file-patterns.d.ts.map +1 -1
- package/dist/syncer/file-patterns.js +38 -38
- package/dist/syncer/index.js +19 -8
- package/dist/syncer/module-loader.d.ts +5 -5
- package/dist/syncer/module-loader.d.ts.map +1 -1
- package/dist/syncer/module-loader.js +83 -78
- package/dist/syncer/syncer-actions.d.ts +2 -2
- package/dist/syncer/syncer-actions.d.ts.map +1 -1
- package/dist/syncer/syncer-actions.js +76 -91
- package/dist/syncer/syncer.d.ts +7 -6
- package/dist/syncer/syncer.d.ts.map +1 -1
- package/dist/syncer/syncer.js +426 -492
- package/dist/tasks/decorator.d.ts +3 -3
- package/dist/tasks/decorator.d.ts.map +1 -1
- package/dist/tasks/decorator.js +32 -28
- package/dist/tasks/step-wrapper.d.ts +1 -1
- package/dist/tasks/step-wrapper.d.ts.map +1 -1
- package/dist/tasks/step-wrapper.js +42 -41
- package/dist/tasks/workflow-manager.d.ts +2 -2
- package/dist/tasks/workflow-manager.d.ts.map +1 -1
- package/dist/tasks/workflow-manager.js +192 -221
- package/dist/template/entity-converter.d.ts +1 -1
- package/dist/template/entity-converter.d.ts.map +1 -1
- package/dist/template/entity-converter.js +103 -103
- package/dist/template/helpers.d.ts.map +1 -1
- package/dist/template/helpers.js +163 -163
- package/dist/template/implementations/entity.template.d.ts +1 -1
- package/dist/template/implementations/entity.template.d.ts.map +1 -1
- package/dist/template/implementations/entity.template.js +76 -85
- package/dist/template/implementations/entry-server.template.d.ts +1 -1
- package/dist/template/implementations/entry-server.template.d.ts.map +1 -1
- package/dist/template/implementations/entry-server.template.js +32 -27
- package/dist/template/implementations/generated.template.d.ts +1 -1
- package/dist/template/implementations/generated.template.d.ts.map +1 -1
- package/dist/template/implementations/generated.template.js +254 -275
- package/dist/template/implementations/generated_http.template.d.ts +2 -2
- package/dist/template/implementations/generated_http.template.d.ts.map +1 -1
- package/dist/template/implementations/generated_http.template.js +114 -133
- package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
- package/dist/template/implementations/generated_sso.template.js +249 -275
- package/dist/template/implementations/init_types.template.d.ts +1 -1
- package/dist/template/implementations/init_types.template.d.ts.map +1 -1
- package/dist/template/implementations/init_types.template.js +40 -34
- package/dist/template/implementations/model.template.d.ts +1 -1
- package/dist/template/implementations/model.template.d.ts.map +1 -1
- package/dist/template/implementations/model.template.js +56 -53
- package/dist/template/implementations/model_test.template.d.ts +1 -1
- package/dist/template/implementations/model_test.template.d.ts.map +1 -1
- package/dist/template/implementations/model_test.template.js +32 -24
- package/dist/template/implementations/queries.template.d.ts +1 -1
- package/dist/template/implementations/queries.template.d.ts.map +1 -1
- package/dist/template/implementations/queries.template.js +84 -89
- package/dist/template/implementations/sd.template.d.ts +1 -1
- package/dist/template/implementations/sd.template.d.ts.map +1 -1
- package/dist/template/implementations/sd.template.js +137 -144
- package/dist/template/implementations/services.template.d.ts +1 -1
- package/dist/template/implementations/services.template.d.ts.map +1 -1
- package/dist/template/implementations/services.template.js +164 -189
- package/dist/template/implementations/view_form.template.d.ts +1 -1
- package/dist/template/implementations/view_form.template.d.ts.map +1 -1
- package/dist/template/implementations/view_form.template.js +258 -285
- package/dist/template/implementations/view_id_all_select.template.d.ts +1 -1
- package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -1
- package/dist/template/implementations/view_id_all_select.template.js +31 -25
- package/dist/template/implementations/view_list.template.d.ts +1 -1
- package/dist/template/implementations/view_list.template.d.ts.map +1 -1
- package/dist/template/implementations/view_list.template.js +304 -355
- package/dist/template/implementations/view_search_input.template.d.ts +1 -1
- package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
- package/dist/template/implementations/view_search_input.template.js +31 -27
- package/dist/template/index.js +21 -7
- package/dist/template/template-manager.d.ts +1 -1
- package/dist/template/template-manager.d.ts.map +1 -1
- package/dist/template/template-manager.js +132 -123
- package/dist/template/template-types.js +8 -6
- package/dist/template/template.d.ts +2 -2
- package/dist/template/template.d.ts.map +1 -1
- package/dist/template/template.js +73 -68
- package/dist/template/zod-converter.d.ts.map +1 -1
- package/dist/template/zod-converter.js +603 -657
- package/dist/testing/_relation-graph.d.ts +1 -1
- package/dist/testing/_relation-graph.d.ts.map +1 -1
- package/dist/testing/_relation-graph.js +93 -88
- package/dist/testing/bootstrap.d.ts +22 -13
- package/dist/testing/bootstrap.d.ts.map +1 -1
- package/dist/testing/bootstrap.js +114 -114
- package/dist/testing/data-explorer.d.ts +3 -3
- package/dist/testing/data-explorer.d.ts.map +1 -1
- package/dist/testing/data-explorer.js +237 -265
- package/dist/testing/dev-test-routes.d.ts +2 -2
- package/dist/testing/dev-test-routes.d.ts.map +1 -1
- package/dist/testing/dev-test-routes.js +258 -249
- package/dist/testing/dev-vitest-manager.d.ts +1 -1
- package/dist/testing/dev-vitest-manager.d.ts.map +1 -1
- package/dist/testing/dev-vitest-manager.js +514 -539
- package/dist/testing/faker-mappings.js +422 -420
- package/dist/testing/fixture-generator.d.ts +3 -3
- package/dist/testing/fixture-generator.d.ts.map +1 -1
- package/dist/testing/fixture-generator.js +1216 -1346
- package/dist/testing/fixture-loader.js +26 -25
- package/dist/testing/fixture-manager.d.ts +3 -3
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +706 -776
- package/dist/testing/global-setup.js +53 -49
- package/dist/testing/index.js +19 -11
- package/dist/testing/naite-vitest-reporter.js +18 -13
- package/dist/testing/parallel-db-manager.d.ts +1 -1
- package/dist/testing/parallel-db-manager.d.ts.map +1 -1
- package/dist/testing/parallel-db-manager.js +63 -78
- package/dist/testing/vitest-helpers.d.ts +1 -1
- package/dist/testing/vitest-helpers.d.ts.map +1 -1
- package/dist/testing/vitest-helpers.js +37 -33
- package/dist/types/types.d.ts +28 -28
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +764 -890
- package/dist/ui/ai-api.d.ts +1 -1
- package/dist/ui/ai-api.d.ts.map +1 -1
- package/dist/ui/ai-api.js +52 -42
- package/dist/ui/ai-client.d.ts +1 -2
- package/dist/ui/ai-client.d.ts.map +1 -1
- package/dist/ui/ai-client.js +353 -388
- package/dist/ui/api.d.ts +1 -1
- package/dist/ui/api.d.ts.map +1 -1
- package/dist/ui/api.js +903 -1145
- package/dist/ui/cdd-service.d.ts +1 -1
- package/dist/ui/cdd-service.d.ts.map +1 -1
- package/dist/ui/cdd-service.js +406 -407
- package/dist/ui/cdd-types.js +1 -3
- package/dist/ui-web/assets/index-C-Zz-wYg.css +1 -0
- package/dist/ui-web/assets/index-DejDON8K.js +238 -0
- package/dist/ui-web/index.html +3 -3
- package/dist/utils/async-utils.js +57 -45
- package/dist/utils/console-util.d.ts.map +1 -1
- package/dist/utils/console-util.js +104 -87
- package/dist/utils/controller.js +26 -19
- package/dist/utils/esm-utils.js +49 -38
- package/dist/utils/formatter.d.ts +1 -2
- package/dist/utils/formatter.d.ts.map +1 -1
- package/dist/utils/formatter.js +89 -115
- package/dist/utils/fs-utils.d.ts.map +1 -1
- package/dist/utils/fs-utils.js +68 -65
- package/dist/utils/lodash-able.js +11 -4
- package/dist/utils/model.d.ts +1 -1
- package/dist/utils/model.d.ts.map +1 -1
- package/dist/utils/model.js +21 -19
- package/dist/utils/object-utils.js +148 -186
- package/dist/utils/path-utils.js +67 -57
- package/dist/utils/process-utils.d.ts.map +1 -1
- package/dist/utils/process-utils.js +37 -31
- package/dist/utils/sql-parser.d.ts +1 -1
- package/dist/utils/sql-parser.d.ts.map +1 -1
- package/dist/utils/sql-parser.js +40 -40
- package/dist/utils/type-utils.js +44 -43
- package/dist/utils/utils.d.ts +2 -3
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +81 -93
- package/dist/utils/zod-error.d.ts +1 -1
- package/dist/utils/zod-error.d.ts.map +1 -1
- package/dist/utils/zod-error.js +24 -17
- package/dist/vector/chunking.d.ts +1 -1
- package/dist/vector/chunking.d.ts.map +1 -1
- package/dist/vector/chunking.js +100 -94
- package/dist/vector/config.d.ts +1 -1
- package/dist/vector/config.d.ts.map +1 -1
- package/dist/vector/config.js +76 -78
- package/dist/vector/embedding.d.ts +1 -1
- package/dist/vector/embedding.d.ts.map +1 -1
- package/dist/vector/embedding.js +128 -125
- package/dist/vector/index.js +5 -5
- package/dist/vector/types.js +1 -5
- package/package.json +31 -36
- package/src/ai/agents/agent.ts +12 -5
- package/src/ai/agents/types.ts +5 -5
- package/src/ai/providers/rtzr/model.ts +8 -10
- package/src/ai/providers/rtzr/options.ts +2 -1
- package/src/ai/providers/rtzr/provider.ts +5 -3
- package/src/ai/providers/rtzr/utils.ts +2 -7
- package/src/api/__tests__/config.test.ts +15 -8
- package/src/api/base-frame.ts +5 -3
- package/src/api/caster.ts +7 -6
- package/src/api/code-converters.ts +23 -26
- package/src/api/config.ts +23 -17
- package/src/api/context.ts +18 -11
- package/src/api/decorators.ts +17 -18
- package/src/api/sonamu.ts +44 -49
- package/src/auth/auth-generator.ts +4 -6
- package/src/auth/better-auth-entities.ts +3 -2
- package/src/auth/knex-adapter.ts +6 -5
- package/src/auth/plugins/entity-definitions/admin.ts +1 -1
- package/src/auth/plugins/entity-definitions/anonymous.ts +1 -1
- package/src/auth/plugins/entity-definitions/api-key.ts +1 -1
- package/src/auth/plugins/entity-definitions/index.ts +1 -1
- package/src/auth/plugins/entity-definitions/jwt.ts +1 -1
- package/src/auth/plugins/entity-definitions/organization.ts +1 -1
- package/src/auth/plugins/entity-definitions/passkey.ts +1 -1
- package/src/auth/plugins/entity-definitions/phone-number.ts +1 -1
- package/src/auth/plugins/entity-definitions/sso.ts +1 -1
- package/src/auth/plugins/entity-definitions/two-factor.ts +1 -1
- package/src/auth/plugins/entity-definitions/types.ts +1 -1
- package/src/auth/plugins/entity-definitions/username.ts +1 -1
- package/src/auth/plugins/wrappers/admin.ts +3 -1
- package/src/auth/plugins/wrappers/anonymous.ts +3 -1
- package/src/auth/plugins/wrappers/api-key.ts +3 -1
- package/src/auth/plugins/wrappers/jwt.ts +3 -1
- package/src/auth/plugins/wrappers/organization.ts +3 -1
- package/src/auth/plugins/wrappers/passkey.ts +3 -1
- package/src/auth/plugins/wrappers/phone-number.ts +3 -1
- package/src/auth/plugins/wrappers/sso.ts +2 -1
- package/src/auth/plugins/wrappers/two-factor.ts +3 -1
- package/src/auth/plugins/wrappers/username.ts +3 -1
- package/src/bin/__tests__/ts-loader-register.test.ts +7 -12
- package/src/bin/build-config.ts +3 -3
- package/src/bin/cli.ts +27 -25
- package/src/bin/fixture.ts +4 -2
- package/src/bin/hmr-hook-register.ts +1 -0
- package/src/bin/test-command.ts +4 -2
- package/src/bin/ts-loader-registration.ts +6 -22
- package/src/cache/cache-manager.ts +2 -1
- package/src/cache/decorator.ts +2 -2
- package/src/cache/types.ts +3 -3
- package/src/cache-control/cache-control.ts +3 -2
- package/src/cache-control/types.ts +2 -2
- package/src/compress/compress.ts +1 -1
- package/src/cone/cone-generator.ts +5 -3
- package/src/database/_batch_update.ts +1 -1
- package/src/database/base-model.ts +20 -14
- package/src/database/base-model.types.ts +12 -11
- package/src/database/db.ts +56 -21
- package/src/database/knex.ts +2 -2
- package/src/database/puri-subset.test-d.ts +33 -32
- package/src/database/puri-subset.types.ts +6 -7
- package/src/database/puri-wrapper.ts +29 -26
- package/src/database/puri.ts +36 -34
- package/src/database/puri.types.test-d.ts +6 -5
- package/src/database/puri.types.ts +9 -12
- package/src/database/transaction-context.ts +2 -2
- package/src/database/upsert-builder.ts +17 -10
- package/src/dict/sd.ts +17 -4
- package/src/dict/sonamu-dictionary.ts +23 -17
- package/src/entity/entity-manager.ts +9 -7
- package/src/entity/entity-template-cone.ts +10 -3
- package/src/entity/entity.ts +20 -16
- package/src/exceptions/error-handler.ts +2 -1
- package/src/exceptions/so-exceptions.ts +1 -1
- package/src/filter/utils.ts +3 -2
- package/src/logger/category.ts +1 -0
- package/src/logger/configure.ts +5 -5
- package/src/migration/__tests__/code-generation.search-text.test.ts +2 -3
- package/src/migration/code-generation.ts +26 -25
- package/src/migration/migration-set.ts +16 -18
- package/src/migration/migrator.ts +38 -33
- package/src/migration/postgresql-schema-reader.ts +12 -12
- package/src/migration/slack-confirm.ts +5 -4
- package/src/migration/types.ts +2 -2
- package/src/naite/messaging-types.ts +1 -1
- package/src/naite/naite-reporter.ts +5 -3
- package/src/naite/naite.ts +12 -7
- package/src/shared/app.shared.ts.txt +2 -2
- package/src/shared/web.shared.ts.txt +2 -2
- package/src/skills/AGENTS.md +19 -18
- package/src/skills/commands/sonamu-skills.md +9 -9
- package/src/skills/sonamu/SKILL.md +111 -104
- package/src/skills/sonamu/ai-agents.md +27 -26
- package/src/skills/sonamu/api.md +81 -69
- package/src/skills/sonamu/auth-migration.md +13 -27
- package/src/skills/sonamu/auth-plugins.md +41 -31
- package/src/skills/sonamu/auth.md +30 -24
- package/src/skills/sonamu/cdd.md +26 -17
- package/src/skills/sonamu/cone.md +50 -50
- package/src/skills/sonamu/config.md +74 -51
- package/src/skills/sonamu/create-sonamu.md +31 -19
- package/src/skills/sonamu/database.md +43 -26
- package/src/skills/sonamu/entity-basic.md +61 -61
- package/src/skills/sonamu/entity-relations.md +84 -80
- package/src/skills/sonamu/entity-validation-checklist.md +19 -15
- package/src/skills/sonamu/fixture-cli.md +52 -30
- package/src/skills/sonamu/framework-change.md +9 -7
- package/src/skills/sonamu/frontend.md +64 -82
- package/src/skills/sonamu/i18n.md +45 -37
- package/src/skills/sonamu/migration.md +54 -31
- package/src/skills/sonamu/model.md +98 -66
- package/src/skills/sonamu/naite.md +34 -32
- package/src/skills/sonamu/project-init.md +28 -8
- package/src/skills/sonamu/puri.md +82 -91
- package/src/skills/sonamu/scaffolding.md +44 -32
- package/src/skills/sonamu/skill-contribution.md +50 -45
- package/src/skills/sonamu/subset.md +13 -13
- package/src/skills/sonamu/tasks.md +73 -58
- package/src/skills/sonamu/testing-devrunner.md +56 -36
- package/src/skills/sonamu/testing.md +23 -58
- package/src/skills/sonamu/upsert.md +32 -31
- package/src/skills/sonamu/vector.md +37 -36
- package/src/ssr/index.ts +2 -12
- package/src/ssr/registry.ts +1 -1
- package/src/ssr/renderer.ts +7 -5
- package/src/ssr/types.ts +2 -2
- package/src/storage/buffered-file.ts +4 -2
- package/src/storage/drivers.ts +3 -2
- package/src/storage/s3-driver.ts +7 -4
- package/src/storage/storage-manager.ts +3 -2
- package/src/storage/types.ts +3 -2
- package/src/storage/uploaded-file.ts +1 -1
- package/src/stream/sse.ts +2 -2
- package/src/syncer/api-parser.ts +8 -5
- package/src/syncer/checksum.ts +9 -5
- package/src/syncer/code-generator.ts +16 -8
- package/src/syncer/entity-operations.ts +5 -3
- package/src/syncer/file-patterns.ts +2 -1
- package/src/syncer/module-loader.ts +9 -6
- package/src/syncer/syncer-actions.ts +5 -3
- package/src/syncer/syncer.ts +18 -24
- package/src/tasks/decorator.ts +10 -8
- package/src/tasks/step-wrapper.ts +1 -1
- package/src/tasks/workflow-manager.ts +18 -15
- package/src/template/__tests__/generated.template.search-text.test.ts +1 -0
- package/src/template/entity-converter.ts +4 -2
- package/src/template/generated.template.test-d.ts +2 -1
- package/src/template/helpers.ts +5 -2
- package/src/template/implementations/entity.template.ts +9 -8
- package/src/template/implementations/entry-server.template.ts +1 -1
- package/src/template/implementations/generated.template.ts +21 -29
- package/src/template/implementations/generated_http.template.ts +9 -6
- package/src/template/implementations/generated_sso.template.ts +6 -4
- package/src/template/implementations/init_types.template.ts +3 -2
- package/src/template/implementations/model.template.ts +4 -2
- package/src/template/implementations/model_test.template.ts +3 -2
- package/src/template/implementations/queries.template.ts +6 -14
- package/src/template/implementations/sd.template.ts +4 -2
- package/src/template/implementations/services.template.ts +7 -11
- package/src/template/implementations/view_form.template.ts +5 -3
- package/src/template/implementations/view_id_all_select.template.ts +3 -2
- package/src/template/implementations/view_list.template.ts +7 -5
- package/src/template/implementations/view_search_input.template.ts +3 -2
- package/src/template/template-manager.ts +4 -3
- package/src/template/template.ts +4 -3
- package/src/template/zod-converter.ts +10 -7
- package/src/testing/__tests__/dev-test-routes.test.ts +3 -2
- package/src/testing/__tests__/dev-vitest-manager.test.ts +1 -0
- package/src/testing/_relation-graph.ts +2 -2
- package/src/testing/bootstrap.ts +55 -27
- package/src/testing/data-explorer.ts +5 -4
- package/src/testing/dev-test-routes.ts +8 -5
- package/src/testing/dev-vitest-manager.ts +13 -12
- package/src/testing/fixture-generator.ts +11 -17
- package/src/testing/fixture-manager.ts +21 -17
- package/src/testing/parallel-db-manager.ts +2 -1
- package/src/testing/vitest-helpers.ts +2 -1
- package/src/types/__tests__/entity-json-schema-search-text.test.ts +1 -0
- package/src/types/types.ts +8 -8
- package/src/typings/knex.d.ts +4 -4
- package/src/ui/ai-api.ts +5 -3
- package/src/ui/ai-client.ts +6 -5
- package/src/ui/api.ts +25 -23
- package/src/ui/cdd-service.ts +12 -11
- package/src/utils/console-util.ts +3 -1
- package/src/utils/formatter.ts +94 -102
- package/src/utils/fs-utils.ts +2 -1
- package/src/utils/model.ts +2 -2
- package/src/utils/object-utils.ts +3 -3
- package/src/utils/process-utils.ts +2 -1
- package/src/utils/sql-parser.ts +10 -1
- package/src/utils/type-utils.ts +3 -3
- package/src/utils/utils.ts +9 -7
- package/src/utils/zod-error.ts +1 -1
- package/src/vector/chunking.ts +1 -1
- package/src/vector/config.ts +1 -1
- package/src/vector/embedding.ts +11 -9
- package/tsdown.api.config.ts +50 -0
- package/.swcrc.project-default +0 -18
- package/dist/api/__tests__/config.test.js +0 -189
- package/dist/bin/__tests__/test-command.test.js +0 -112
- package/dist/bin/__tests__/ts-loader-register.test.js +0 -45
- package/dist/database/puri-subset.test-d.js +0 -89
- package/dist/database/puri.types.test-d.js +0 -129
- package/dist/migration/__tests__/code-generation.search-text.test.js +0 -435
- package/dist/template/__tests__/generated.template.search-text.test.js +0 -99
- package/dist/template/generated.template.test-d.js +0 -24
- package/dist/testing/__tests__/dev-test-routes.test.js +0 -144
- package/dist/testing/__tests__/dev-vitest-manager.test.js +0 -152
- package/dist/types/__tests__/entity-json-schema-search-text.test.js +0 -256
- package/dist/typings/knex.d.js +0 -3
- package/dist/ui-web/assets/index-CKo0Z2Iu.css +0 -1
- package/dist/ui-web/assets/index-DK-2aacv.js +0 -257
|
@@ -19,7 +19,7 @@ import { passkeyEntityDef } from "./passkey";
|
|
|
19
19
|
import { phoneNumberEntityDef } from "./phone-number";
|
|
20
20
|
import { ssoEntityDef } from "./sso";
|
|
21
21
|
import { twoFactorEntityDef } from "./two-factor";
|
|
22
|
-
import type
|
|
22
|
+
import { type BetterAuthEntityDef, type BetterAuthPluginId } from "./types";
|
|
23
23
|
import { usernameEntityDef } from "./username";
|
|
24
24
|
|
|
25
25
|
/**
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { admin as _admin
|
|
1
|
+
import { admin as _admin } from "better-auth/plugins";
|
|
2
|
+
import { type AdminOptions } from "better-auth/plugins";
|
|
3
|
+
|
|
2
4
|
import { merge } from "../../../utils/utils";
|
|
3
5
|
|
|
4
6
|
export type { AdminOptions } from "better-auth/plugins";
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { anonymous as _anonymous
|
|
1
|
+
import { anonymous as _anonymous } from "better-auth/plugins";
|
|
2
|
+
import { type AnonymousOptions } from "better-auth/plugins";
|
|
3
|
+
|
|
2
4
|
import { merge } from "../../../utils/utils";
|
|
3
5
|
|
|
4
6
|
export type { AnonymousOptions } from "better-auth/plugins";
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { apiKey as _apiKey
|
|
1
|
+
import { apiKey as _apiKey } from "better-auth/plugins";
|
|
2
|
+
import { type ApiKeyOptions } from "better-auth/plugins";
|
|
3
|
+
|
|
2
4
|
import { merge } from "../../../utils/utils";
|
|
3
5
|
|
|
4
6
|
export type { ApiKeyOptions } from "better-auth/plugins";
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { jwt as _jwt
|
|
1
|
+
import { jwt as _jwt } from "better-auth/plugins";
|
|
2
|
+
import { type JwtOptions } from "better-auth/plugins";
|
|
3
|
+
|
|
2
4
|
import { merge } from "../../../utils/utils";
|
|
3
5
|
|
|
4
6
|
export type { JwtOptions } from "better-auth/plugins";
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { organization as _organization
|
|
1
|
+
import { organization as _organization } from "better-auth/plugins";
|
|
2
|
+
import { type OrganizationOptions } from "better-auth/plugins";
|
|
3
|
+
|
|
2
4
|
import { merge } from "../../../utils/utils";
|
|
3
5
|
|
|
4
6
|
export type { OrganizationOptions } from "better-auth/plugins";
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { passkey as _passkey
|
|
1
|
+
import { passkey as _passkey } from "@better-auth/passkey";
|
|
2
|
+
import { type PasskeyOptions } from "@better-auth/passkey";
|
|
3
|
+
|
|
2
4
|
import { merge } from "../../../utils/utils";
|
|
3
5
|
|
|
4
6
|
export type { PasskeyOptions } from "@better-auth/passkey";
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { phoneNumber as _phoneNumber
|
|
1
|
+
import { phoneNumber as _phoneNumber } from "better-auth/plugins";
|
|
2
|
+
import { type PhoneNumberOptions } from "better-auth/plugins";
|
|
3
|
+
|
|
2
4
|
import { merge } from "../../../utils/utils";
|
|
3
5
|
|
|
4
6
|
export type { PhoneNumberOptions } from "better-auth/plugins";
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { twoFactor as _twoFactor
|
|
1
|
+
import { twoFactor as _twoFactor } from "better-auth/plugins";
|
|
2
|
+
import { type TwoFactorOptions } from "better-auth/plugins";
|
|
3
|
+
|
|
2
4
|
import { merge } from "../../../utils/utils";
|
|
3
5
|
|
|
4
6
|
export type { TwoFactorOptions } from "better-auth/plugins";
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { username as _username
|
|
1
|
+
import { username as _username } from "better-auth/plugins";
|
|
2
|
+
import { type UsernameOptions } from "better-auth/plugins";
|
|
3
|
+
|
|
2
4
|
import { merge } from "../../../utils/utils";
|
|
3
5
|
|
|
4
6
|
export type { UsernameOptions } from "better-auth/plugins";
|
|
@@ -13,7 +13,6 @@ type GlobalWithTsLoaderRegisterState = typeof globalThis & {
|
|
|
13
13
|
function resetRegisterState() {
|
|
14
14
|
const globalState = globalThis as GlobalWithTsLoaderRegisterState;
|
|
15
15
|
delete globalState[tsLoaderRegisterStateKey];
|
|
16
|
-
delete process.env.SWCRC_PATH;
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
describe("ensureTsLoaderRegistered", () => {
|
|
@@ -21,7 +20,6 @@ describe("ensureTsLoaderRegistered", () => {
|
|
|
21
20
|
vi.resetModules();
|
|
22
21
|
vi.restoreAllMocks();
|
|
23
22
|
vi.unmock("node:module");
|
|
24
|
-
vi.unmock("../../utils/fs-utils.js");
|
|
25
23
|
resetRegisterState();
|
|
26
24
|
});
|
|
27
25
|
|
|
@@ -29,18 +27,14 @@ describe("ensureTsLoaderRegistered", () => {
|
|
|
29
27
|
vi.resetModules();
|
|
30
28
|
vi.restoreAllMocks();
|
|
31
29
|
vi.unmock("node:module");
|
|
32
|
-
vi.unmock("../../utils/fs-utils.js");
|
|
33
30
|
resetRegisterState();
|
|
34
31
|
});
|
|
35
32
|
|
|
36
|
-
it("
|
|
33
|
+
it("중복 등록하지 않는다", async () => {
|
|
37
34
|
const registerMock = vi.fn();
|
|
38
35
|
vi.doMock("node:module", () => ({
|
|
39
36
|
register: registerMock,
|
|
40
37
|
}));
|
|
41
|
-
vi.doMock("../../utils/fs-utils.js", () => ({
|
|
42
|
-
exists: vi.fn(async (candidate: string) => candidate === "/tmp/fixture-api/.swcrc"),
|
|
43
|
-
}));
|
|
44
38
|
|
|
45
39
|
const module = await import("../ts-loader-registration");
|
|
46
40
|
|
|
@@ -49,14 +43,15 @@ describe("ensureTsLoaderRegistered", () => {
|
|
|
49
43
|
await module.ensureTsLoaderRegistered("/tmp/fixture-api");
|
|
50
44
|
|
|
51
45
|
expect(registerMock).toHaveBeenCalledTimes(1);
|
|
52
|
-
expect(registerMock).toHaveBeenCalledWith(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
46
|
+
expect(registerMock).toHaveBeenCalledWith(
|
|
47
|
+
expect.stringContaining("/modules/ts-loader/dist/loader.js"),
|
|
48
|
+
{
|
|
49
|
+
parentURL: expect.stringContaining("/src/bin/ts-loader-registration"),
|
|
50
|
+
},
|
|
51
|
+
);
|
|
56
52
|
|
|
57
53
|
await module.ensureTsLoaderRegistered("/tmp/another-api");
|
|
58
54
|
|
|
59
55
|
expect(registerMock).toHaveBeenCalledTimes(1);
|
|
60
|
-
expect(process.env.SWCRC_PATH).toBe("/tmp/fixture-api/.swcrc");
|
|
61
56
|
});
|
|
62
57
|
});
|
package/src/bin/build-config.ts
CHANGED
|
@@ -18,7 +18,7 @@ export const API_ARTIFACTS: BuildArtifact<{ configFilePath: string }>[] = [
|
|
|
18
18
|
projectPath: "api",
|
|
19
19
|
preBuildCommand: () => "rm -rf dist",
|
|
20
20
|
buildCommand: ({ configFilePath }) =>
|
|
21
|
-
`tsc --noEmit &&
|
|
21
|
+
`tsc --noEmit && pnpm exec tsdown --config ${JSON.stringify(configFilePath)}`,
|
|
22
22
|
},
|
|
23
23
|
];
|
|
24
24
|
|
|
@@ -32,7 +32,7 @@ export const WEB_ARTIFACTS: BuildArtifact[] = [
|
|
|
32
32
|
description: "Web 프로젝트 클라이언트 빌드 산출물",
|
|
33
33
|
projectPath: "web",
|
|
34
34
|
preBuildCommand: () => "rm -rf dist/client",
|
|
35
|
-
buildCommand: () => "tsc --noEmit && vite build --outDir dist/client",
|
|
35
|
+
buildCommand: () => "tsc --noEmit && vite build --config vite.config.ts --outDir dist/client",
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
name: "Web Server",
|
|
@@ -40,7 +40,7 @@ export const WEB_ARTIFACTS: BuildArtifact[] = [
|
|
|
40
40
|
projectPath: "web",
|
|
41
41
|
preBuildCommand: () => "rm -rf dist/server",
|
|
42
42
|
buildCommand: () =>
|
|
43
|
-
"tsc --noEmit && vite build --ssr src/entry-server.generated.tsx --outDir dist/server",
|
|
43
|
+
"tsc --noEmit && vite build --config vite.config.ts --ssr src/entry-server.generated.tsx --outDir dist/server",
|
|
44
44
|
postBuildCommand: () =>
|
|
45
45
|
"rm -rf ../api/web-dist && mkdir -p ../api/web-dist && cp -r dist/* ../api/web-dist",
|
|
46
46
|
},
|
package/src/bin/cli.ts
CHANGED
|
@@ -6,20 +6,20 @@ dotenv.config();
|
|
|
6
6
|
import assert from "assert";
|
|
7
7
|
import { execSync, spawn } from "child_process";
|
|
8
8
|
import { cp, mkdir, readdir, readFile, rm, symlink, writeFile } from "fs/promises";
|
|
9
|
-
import knex, { type Knex } from "knex";
|
|
10
9
|
import { createRequire } from "module";
|
|
11
10
|
import os from "os";
|
|
12
11
|
import path from "path";
|
|
13
12
|
import process from "process";
|
|
13
|
+
|
|
14
|
+
import knex from "knex";
|
|
15
|
+
import { type Knex } from "knex";
|
|
14
16
|
import { tsicli } from "tsicli";
|
|
15
|
-
|
|
17
|
+
|
|
18
|
+
import { Sonamu } from "../api/sonamu";
|
|
16
19
|
import { addCompanionsToEntities, generateBetterAuthEntities } from "../auth/auth-generator";
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
SUPPORTED_PLUGIN_IDS,
|
|
21
|
-
} from "../auth/plugins/entity-definitions";
|
|
22
|
-
import type { SonamuDBConfig } from "../database/db";
|
|
20
|
+
import { isValidPluginId, SUPPORTED_PLUGIN_IDS } from "../auth/plugins/entity-definitions";
|
|
21
|
+
import { type BetterAuthPluginId } from "../auth/plugins/entity-definitions";
|
|
22
|
+
import { type SonamuDBConfig } from "../database/db";
|
|
23
23
|
import { EntityManager } from "../entity/entity-manager";
|
|
24
24
|
import { Migrator } from "../migration/migrator";
|
|
25
25
|
import { FixtureManager } from "../testing/fixture-manager";
|
|
@@ -33,7 +33,8 @@ import {
|
|
|
33
33
|
} from "../utils/console-util";
|
|
34
34
|
import { exists } from "../utils/fs-utils";
|
|
35
35
|
import { findApiRootPath, findAppRootPath } from "../utils/utils";
|
|
36
|
-
import { API_ARTIFACTS,
|
|
36
|
+
import { API_ARTIFACTS, WEB_ARTIFACTS } from "./build-config";
|
|
37
|
+
import { type BuildArtifact } from "./build-config";
|
|
37
38
|
import { fixtureExploreCommand, fixtureFetchCommand, fixtureGenCommand } from "./fixture";
|
|
38
39
|
import { testCommand } from "./test-command";
|
|
39
40
|
|
|
@@ -368,23 +369,24 @@ async function dev_web() {
|
|
|
368
369
|
}
|
|
369
370
|
|
|
370
371
|
/**
|
|
371
|
-
*
|
|
372
|
-
* 프로젝트 루트에 .
|
|
372
|
+
* API 빌드 설정 파일 경로를 결정합니다.
|
|
373
|
+
* 프로젝트 루트에 `tsdown.config.ts`가 있으면 그것을, 없으면 sonamu 기본 설정을 사용합니다.
|
|
373
374
|
*/
|
|
374
|
-
async function
|
|
375
|
-
|
|
375
|
+
async function resolveApiBuildConfigPath(): Promise<string> {
|
|
376
|
+
const localConfigPath = path.join(process.cwd(), "tsdown.config.ts");
|
|
377
|
+
|
|
376
378
|
try {
|
|
377
|
-
if (await exists(
|
|
378
|
-
console.log(chalk.dim("Using .
|
|
379
|
-
|
|
380
|
-
console.log(chalk.dim("Using default .swcrc from sonamu package..."));
|
|
381
|
-
swcFilePath = path.join(import.meta.dirname, "..", "..", ".swcrc.project-default");
|
|
379
|
+
if (await exists(localConfigPath)) {
|
|
380
|
+
console.log(chalk.dim("Using tsdown.config.ts from project root..."));
|
|
381
|
+
return localConfigPath;
|
|
382
382
|
}
|
|
383
|
+
|
|
384
|
+
console.log(chalk.dim("Using default tsdown API config from sonamu package..."));
|
|
385
|
+
return path.join(import.meta.dirname, "..", "..", "tsdown.api.config.ts");
|
|
383
386
|
} catch (error) {
|
|
384
|
-
console.error(chalk.red("Setting up
|
|
387
|
+
console.error(chalk.red("Setting up API build config failed."), error);
|
|
385
388
|
process.exit(1);
|
|
386
389
|
}
|
|
387
|
-
return swcFilePath;
|
|
388
390
|
}
|
|
389
391
|
|
|
390
392
|
/**
|
|
@@ -404,7 +406,7 @@ async function build_all() {
|
|
|
404
406
|
*/
|
|
405
407
|
async function build_api() {
|
|
406
408
|
const appRoot = findAppRootPath();
|
|
407
|
-
const
|
|
409
|
+
const configFilePath = await resolveApiBuildConfigPath();
|
|
408
410
|
|
|
409
411
|
const apiStartedAt = Date.now();
|
|
410
412
|
try {
|
|
@@ -412,7 +414,7 @@ async function build_api() {
|
|
|
412
414
|
const cwd = path.join(appRoot, artifact.projectPath);
|
|
413
415
|
printTaskHeader(artifact.name, artifact.description, cwd);
|
|
414
416
|
|
|
415
|
-
await runBuildSteps(artifact, { cwd, buildCommandArgs: { configFilePath
|
|
417
|
+
await runBuildSteps(artifact, { cwd, buildCommandArgs: { configFilePath } });
|
|
416
418
|
}
|
|
417
419
|
printBuildSummary("API", true, Date.now() - apiStartedAt);
|
|
418
420
|
} catch (e) {
|
|
@@ -623,7 +625,7 @@ async function fixture_init() {
|
|
|
623
625
|
}
|
|
624
626
|
|
|
625
627
|
// 2. 대상DB 각각에 대하여 존재여부 확인 후 붓기
|
|
626
|
-
for
|
|
628
|
+
for (const { label, config, toSkip } of targets) {
|
|
627
629
|
const conn = config.connection as Knex.ConnectionConfig;
|
|
628
630
|
|
|
629
631
|
if (toSkip === true) {
|
|
@@ -759,7 +761,7 @@ async function stub_practice(name: string) {
|
|
|
759
761
|
const [, seqNo] = fileName.match(/^p([0-9]+)-/) ?? ["0", "0"];
|
|
760
762
|
return parseInt(seqNo);
|
|
761
763
|
})
|
|
762
|
-
.
|
|
764
|
+
.toSorted((a, b) => b - a);
|
|
763
765
|
|
|
764
766
|
if (filteredSeqs.length > 0) {
|
|
765
767
|
return filteredSeqs[0];
|
|
@@ -1111,7 +1113,7 @@ async function skills_sync_to(
|
|
|
1111
1113
|
hooks: [
|
|
1112
1114
|
{
|
|
1113
1115
|
type: "command",
|
|
1114
|
-
command: "pnpm
|
|
1116
|
+
command: "pnpm check 2>&1 | head -60",
|
|
1115
1117
|
},
|
|
1116
1118
|
],
|
|
1117
1119
|
},
|
package/src/bin/fixture.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import prompts from "prompts";
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
import { Sonamu } from "../api/sonamu";
|
|
4
5
|
import { DB } from "../database/db";
|
|
5
6
|
import { createKnexInstance } from "../database/knex";
|
|
6
7
|
import { EntityManager } from "../entity/entity-manager";
|
|
7
|
-
import { DataExplorer
|
|
8
|
+
import { DataExplorer } from "../testing/data-explorer";
|
|
9
|
+
import { type DataExplorerStrategy } from "../testing/data-explorer";
|
|
8
10
|
import { FixtureGenerator } from "../testing/fixture-generator";
|
|
9
11
|
|
|
10
12
|
interface FixtureCommandOptions {
|
package/src/bin/test-command.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
+
|
|
2
3
|
import chalk from "chalk";
|
|
3
|
-
|
|
4
|
+
|
|
5
|
+
import { type SonamuConfig } from "../api/config";
|
|
4
6
|
import { loadConfig } from "../api/config";
|
|
5
|
-
import type
|
|
7
|
+
import { type RunResult, type TestCaseResult } from "../testing";
|
|
6
8
|
import { findApiRootPath } from "../utils/utils";
|
|
7
9
|
|
|
8
10
|
async function loadTestConfig(): Promise<SonamuConfig> {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
1
2
|
import { register } from "node:module";
|
|
2
|
-
import
|
|
3
|
-
import { exists } from "../utils/fs-utils.js";
|
|
3
|
+
import { pathToFileURL } from "node:url";
|
|
4
4
|
|
|
5
5
|
const tsLoaderRegisterStateKey = Symbol.for("sonamu.ts-loader-register.state");
|
|
6
|
+
const require = createRequire(import.meta.url);
|
|
6
7
|
|
|
7
8
|
type TsLoaderRegisterState = {
|
|
8
9
|
registered: boolean;
|
|
@@ -22,33 +23,16 @@ function getTsLoaderRegisterState(): TsLoaderRegisterState {
|
|
|
22
23
|
return globalState[tsLoaderRegisterStateKey];
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
async function setupSwcConfig(apiRoot: string) {
|
|
26
|
-
try {
|
|
27
|
-
const projectSwcrcPath = path.join(apiRoot, ".swcrc");
|
|
28
|
-
if (await exists(projectSwcrcPath)) {
|
|
29
|
-
process.env.SWCRC_PATH = projectSwcrcPath;
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const sonamuSwcrcPath = path.join(import.meta.dirname, "..", "..", ".swcrc.project-default");
|
|
34
|
-
if (await exists(sonamuSwcrcPath)) {
|
|
35
|
-
process.env.SWCRC_PATH = sonamuSwcrcPath;
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
} catch {
|
|
39
|
-
// 환경 변수 설정 실패는 무시 (loader가 기본 설정 사용)
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
26
|
export async function ensureTsLoaderRegistered(apiRoot: string): Promise<void> {
|
|
44
27
|
const state = getTsLoaderRegisterState();
|
|
45
28
|
if (state.registered) {
|
|
46
29
|
return;
|
|
47
30
|
}
|
|
48
31
|
|
|
49
|
-
|
|
32
|
+
void apiRoot;
|
|
33
|
+
const loaderPath = require.resolve("@sonamu-kit/ts-loader/loader");
|
|
50
34
|
|
|
51
|
-
register(
|
|
35
|
+
register(pathToFileURL(loaderPath).href, {
|
|
52
36
|
parentURL: import.meta.url,
|
|
53
37
|
});
|
|
54
38
|
state.registered = true;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BentoCache, bentostore } from "bentocache";
|
|
2
2
|
import { memoryDriver } from "bentocache/drivers/memory";
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
import { type CacheConfig, type CacheManager } from "./types";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* BentoCache 인스턴스를 생성합니다.
|
package/src/cache/decorator.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type BaseFrameClass } from "../api/base-frame";
|
|
2
2
|
import { BaseModelClass } from "../database/base-model";
|
|
3
|
-
import type
|
|
3
|
+
import { type CacheDecoratorOptions, type CacheManager } from "./types";
|
|
4
4
|
|
|
5
5
|
type DecoratorTarget = { constructor: { name: string } };
|
|
6
6
|
|
package/src/cache/types.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
1
|
+
import { type BentoCache } from "bentocache";
|
|
2
|
+
import { type RawCommonOptions } from "bentocache/types";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* 캐시 설정 (sonamu.config.ts에서 사용)
|
|
@@ -28,5 +28,5 @@ export type CacheDecoratorOptions = {
|
|
|
28
28
|
/**
|
|
29
29
|
* CacheManager 타입 (BentoCache 확장)
|
|
30
30
|
*/
|
|
31
|
-
//
|
|
31
|
+
// oxlint-disable-next-line @typescript-eslint/no-explicit-any -- BentoCache의 제네릭 타입을 그대로 사용
|
|
32
32
|
export type CacheManager = BentoCache<any>;
|
package/src/compress/compress.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
import { type Cone, type EntityJson } from "../types/types";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Cone 생성 컨텍스트
|
|
@@ -308,12 +309,12 @@ async function callAnthropicAPI(
|
|
|
308
309
|
if (error && typeof error === "object" && "statusCode" in error) {
|
|
309
310
|
const statusCode = (error as { statusCode: number }).statusCode;
|
|
310
311
|
if (statusCode === 429) {
|
|
311
|
-
throw new Error("Rate limit exceeded. Please try again later.");
|
|
312
|
+
throw new Error("Rate limit exceeded. Please try again later.", { cause: error });
|
|
312
313
|
}
|
|
313
314
|
}
|
|
314
315
|
|
|
315
316
|
const message = error instanceof Error ? error.message : "Unknown error";
|
|
316
|
-
throw new Error(`LLM API failed: ${message}
|
|
317
|
+
throw new Error(`LLM API failed: ${message}`, { cause: error });
|
|
317
318
|
}
|
|
318
319
|
}
|
|
319
320
|
|
|
@@ -348,6 +349,7 @@ function parseConeResponse(text: string): ConeGenerationResult {
|
|
|
348
349
|
`Failed to parse LLM response: ${message}\n\n` +
|
|
349
350
|
`Original response:\n${text}\n\n` +
|
|
350
351
|
`Cleaned JSON:\n${jsonText}`,
|
|
352
|
+
{ cause: error },
|
|
351
353
|
);
|
|
352
354
|
}
|
|
353
355
|
}
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
/** biome-ignore-all lint/suspicious/noExplicitAny: Puri의 타입은 개별 모델에서 확정되므로 BaseModel에서는 any를 허용함 */
|
|
2
|
-
import { getLogger
|
|
3
|
-
import type
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
2
|
+
import { getLogger } from "@logtape/logtape";
|
|
3
|
+
import { type Logger } from "@logtape/logtape";
|
|
4
|
+
import { type Knex } from "knex";
|
|
5
|
+
import { cloneDeep, cluster, group, isObject, omit, set } from "radashi";
|
|
6
|
+
|
|
7
|
+
import { Sonamu } from "../api/sonamu";
|
|
7
8
|
import { EntityManager } from "../entity/entity-manager";
|
|
8
|
-
import type
|
|
9
|
+
import { type FilterOperator, type FilterQuery } from "../filter/types";
|
|
10
|
+
import { normalizeFilterQuery, validateSonamuFilters } from "../filter/utils";
|
|
9
11
|
import { convertDomainToCategory } from "../logger/category";
|
|
10
|
-
import type
|
|
12
|
+
import { type DatabaseSchemaExtend, type SonamuQueryMode } from "../types/types";
|
|
13
|
+
import { type ListResult } from "../utils/model";
|
|
11
14
|
import { getJoinTables, getTableNamesFromWhere } from "../utils/sql-parser";
|
|
12
|
-
import {
|
|
13
|
-
import
|
|
14
|
-
import type { DBPreset } from "./db";
|
|
15
|
+
import { type EnhancerMap, type ResolveSubsetIntersection } from "./base-model.types";
|
|
16
|
+
import { type DBPreset } from "./db";
|
|
15
17
|
import { DB } from "./db";
|
|
16
18
|
import { Puri } from "./puri";
|
|
17
|
-
import
|
|
18
|
-
|
|
19
|
+
import {
|
|
20
|
+
type InferAllSubsets,
|
|
21
|
+
type PuriLoaderQueries,
|
|
22
|
+
type PuriSubsetFn,
|
|
23
|
+
} from "./puri-subset.types";
|
|
19
24
|
import { PuriWrapper } from "./puri-wrapper";
|
|
25
|
+
import { type UnionExtractedTTables } from "./puri.types";
|
|
20
26
|
import { UpsertBuilder } from "./upsert-builder";
|
|
21
27
|
|
|
22
28
|
type UnknownDBRecord = Record<string, unknown>;
|
|
@@ -91,7 +97,7 @@ export class BaseModelClass<
|
|
|
91
97
|
}
|
|
92
98
|
|
|
93
99
|
let resultIds: number[] = [];
|
|
94
|
-
for (const items of
|
|
100
|
+
for (const items of cluster(unqKeys, chunkSize)) {
|
|
95
101
|
const dbRows = await wdb(tableName)
|
|
96
102
|
.select("id", wdb.raw(selectField))
|
|
97
103
|
.whereIn(whereInField as string, items);
|
|
@@ -463,7 +469,7 @@ export class BaseModelClass<
|
|
|
463
469
|
return qb.limit(num).offset(num * (page - 1));
|
|
464
470
|
}
|
|
465
471
|
})();
|
|
466
|
-
let unloadedRows =
|
|
472
|
+
let unloadedRows = await limitedQb;
|
|
467
473
|
|
|
468
474
|
if (debug) {
|
|
469
475
|
qb.debug();
|