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
|
@@ -12,11 +12,13 @@ Claude Code skill for developing projects with the Sonamu framework.
|
|
|
12
12
|
**MUST ask questions one at a time. NEVER overwhelm users with multiple questions.**
|
|
13
13
|
|
|
14
14
|
### MUST DO
|
|
15
|
+
|
|
15
16
|
- One question → wait for user response → next question
|
|
16
17
|
- Keep questions concise
|
|
17
18
|
- Present choices clearly when options are available
|
|
18
19
|
|
|
19
20
|
### NEVER DO
|
|
21
|
+
|
|
20
22
|
- List multiple questions at once
|
|
21
23
|
- Ask questions alongside long explanations
|
|
22
24
|
- Output a checklist of confirmation items all at once
|
|
@@ -41,16 +43,17 @@ PHASE 6: Frontend development (proceed in batches with user confi
|
|
|
41
43
|
|
|
42
44
|
**Begin from the PHASE that matches the user's instruction.** Do not always start from PHASE 0.
|
|
43
45
|
|
|
44
|
-
| User instruction
|
|
45
|
-
|
|
46
|
-
| "Create a new project"
|
|
47
|
-
| "Write contract" / "Analyze domain" | PHASE 1
|
|
48
|
-
| "Add entity" / "Create entity"
|
|
49
|
-
| "Write tests" / "Implement API"
|
|
50
|
-
| "Generate fixtures"
|
|
51
|
-
| "Develop frontend"
|
|
46
|
+
| User instruction | Starting PHASE | Prerequisites to verify |
|
|
47
|
+
| ----------------------------------- | -------------- | ------------------------------------------------------------------------------------- |
|
|
48
|
+
| "Create a new project" | PHASE 0 | — |
|
|
49
|
+
| "Write contract" / "Analyze domain" | PHASE 1 | Domain list identified |
|
|
50
|
+
| "Add entity" / "Create entity" | PHASE 2 | Project exists, dev server running, read contract/\*_/_.contract.md, PHASE 1 complete |
|
|
51
|
+
| "Write tests" / "Implement API" | PHASE 4 | entity.json exists, migration complete, scaffolding complete |
|
|
52
|
+
| "Generate fixtures" | PHASE 5 | Tests passing, cone.note exists |
|
|
53
|
+
| "Develop frontend" | PHASE 6 | API implementation complete, contract/\*_/_.contract.md reviewed |
|
|
52
54
|
|
|
53
55
|
**Mid-entry rules:**
|
|
56
|
+
|
|
54
57
|
1. If `contract/**/*.contract.md` and `skills/project/architecture.md` exist, read them first.
|
|
55
58
|
2. Verify prerequisites for the target PHASE.
|
|
56
59
|
3. If prerequisites are not met, inform the user and begin from the required step.
|
|
@@ -85,18 +88,22 @@ Documents domain rules in a cohesive form and captures decision rationale that c
|
|
|
85
88
|
# {Domain} Business Logic
|
|
86
89
|
|
|
87
90
|
## Rules
|
|
91
|
+
|
|
88
92
|
- Refunds allowed only within 7 days of payment [Rationale: PG provider policy]
|
|
89
93
|
- Order status transitions: pending → confirmed → shipped → completed
|
|
90
94
|
|
|
91
95
|
## Workflow
|
|
96
|
+
|
|
92
97
|
1. ...
|
|
93
98
|
```
|
|
94
99
|
|
|
95
100
|
**Two development paths:**
|
|
101
|
+
|
|
96
102
|
- **New**: write `*.contract.md` → Claim → AC (test name) → implement (TDD)
|
|
97
103
|
- **Change**: modify code → register Claim → verify/update `*.contract.md` (record change rationale)
|
|
98
104
|
|
|
99
105
|
**Update rules:**
|
|
106
|
+
|
|
100
107
|
- When code changes, check affected domain rules and update `*.contract.md` together
|
|
101
108
|
- Record the reason and decision rationale — this keeps `*.contract.md` alive
|
|
102
109
|
|
|
@@ -113,79 +120,79 @@ Documents are persisted as files, so project context is preserved even when the
|
|
|
113
120
|
|
|
114
121
|
## Skills List
|
|
115
122
|
|
|
116
|
-
| Skill
|
|
117
|
-
|
|
118
|
-
| **CDD (AC+Claim-based development)** | `cdd.md`
|
|
119
|
-
| Project creation
|
|
120
|
-
| Project initialization
|
|
121
|
-
| Project configuration
|
|
122
|
-
| Database
|
|
123
|
-
| Entity validation
|
|
124
|
-
| Entity basics
|
|
125
|
-
| Entity relations
|
|
126
|
-
| Subset
|
|
127
|
-
| Model
|
|
128
|
-
| API
|
|
129
|
-
| Puri
|
|
130
|
-
| i18n
|
|
131
|
-
| Upsert
|
|
132
|
-
| Testing
|
|
133
|
-
| **DevRunner**
|
|
134
|
-
| **Naite**
|
|
135
|
-
| **Cone**
|
|
136
|
-
| **Fixture CLI**
|
|
137
|
-
| Migration
|
|
138
|
-
| Auth
|
|
139
|
-
| Auth Migration
|
|
140
|
-
| **Auth Plugins**
|
|
141
|
-
| **Vector search**
|
|
142
|
-
| Puri query builder
|
|
143
|
-
| **AI Agents**
|
|
144
|
-
| **Tasks**
|
|
145
|
-
| **Skill contribution**
|
|
146
|
-
| **Framework change**
|
|
147
|
-
| Frontend
|
|
148
|
-
| Scaffolding
|
|
123
|
+
| Skill | File | Purpose |
|
|
124
|
+
| ------------------------------------ | -------------------------------- | -------------------------------------------------------------------------------------------------------- |
|
|
125
|
+
| **CDD (AC+Claim-based development)** | `cdd.md` | **`*.contract.md` (domain rules), AC (test names), Claim (work instructions) — 3-artifact system** |
|
|
126
|
+
| Project creation | `create-sonamu.md` | create-sonamu CLI options |
|
|
127
|
+
| Project initialization | `project-init.md` | Project creation flow and conversation guide |
|
|
128
|
+
| Project configuration | `config.md` | .env, sonamu.config.ts settings |
|
|
129
|
+
| Database | `database.md` | DB setup, port conflict resolution, 3-Tier structure |
|
|
130
|
+
| Entity validation | `entity-validation-checklist.md` | Step-by-step entity creation checklist |
|
|
131
|
+
| Entity basics | `entity-basic.md` | Entity JSON structure, field types |
|
|
132
|
+
| Entity relations | `entity-relations.md` | BelongsToOne, HasMany, ManyToMany, FK code patterns |
|
|
133
|
+
| Subset | `subset.md` | Response field scope definition |
|
|
134
|
+
| Model | `model.md` | BaseModelClass, CRUD patterns |
|
|
135
|
+
| API | `api.md` | @api decorator |
|
|
136
|
+
| Puri | `puri.md` | SQL query builder |
|
|
137
|
+
| i18n | `i18n.md` | Internationalization, SD functions |
|
|
138
|
+
| Upsert | `upsert.md` | Batch saving of relation data |
|
|
139
|
+
| Testing | `testing.md` | Vitest tests (test/testAs), fixture generation tips |
|
|
140
|
+
| **DevRunner** | `testing-devrunner.md` | **sonamu test execution, HMR integration, parallel tests, sonamu.config.ts test settings** |
|
|
141
|
+
| **Naite** | `naite.md` | **Naite.t()/get() tracing system, chaining filters, trace CLI output** |
|
|
142
|
+
| **Cone** | `cone.md` | **Cone metadata generation and management (LLM/template)** |
|
|
143
|
+
| **Fixture CLI** | `fixture-cli.md` | **fixture gen/fetch/explore commands, 3-Tier DB usage** |
|
|
144
|
+
| Migration | `migration.md` | DB schema migration, PK type changes |
|
|
145
|
+
| Auth | `auth.md` | better-auth system (auto entity generation, Guards, Context) |
|
|
146
|
+
| Auth Migration | `auth-migration.md` | User.id type changes for external auth (e.g., better-auth) |
|
|
147
|
+
| **Auth Plugins** | `auth-plugins.md` | **better-auth plugin wrappers (admin, organization, 2fa, passkey, etc. — 10 types), snake_case mapping** |
|
|
148
|
+
| **Vector search** | `vector.md` | **pgvector embeddings (Voyage AI/OpenAI), chunking, hybrid search** |
|
|
149
|
+
| Puri query builder | `puri.md` | SELECT, WHERE, JOIN, FTS, pg_trgm fuzzy search, pgvector |
|
|
150
|
+
| **AI Agents** | `ai-agents.md` | **BaseAgentClass, @tools decorator, ToolLoopAgent, AsyncLocalStorage state** |
|
|
151
|
+
| **Tasks** | `tasks.md` | **Background workflows, cron scheduling, durable steps, retry policies** |
|
|
152
|
+
| **Skill contribution** | `skill-contribution.md` | **Troubleshooting → skill contribution workflow (matching, decision, format, approval)** |
|
|
153
|
+
| **Framework change** | `framework-change.md` | **Criteria for framework fix vs. project workaround. @upload parameter pattern** |
|
|
154
|
+
| Frontend | `frontend.md` | Service, TanStack Query |
|
|
155
|
+
| Scaffolding | `scaffolding.md` | Resolving UI scaffolding errors |
|
|
149
156
|
|
|
150
157
|
## Task-to-Skill Reference
|
|
151
158
|
|
|
152
159
|
**CRITICAL: When building a new system from scratch, start with `.claude/workflow/project_init.md`!**
|
|
153
160
|
|
|
154
|
-
| Task
|
|
155
|
-
|
|
156
|
-
| **Build an entire system from scratch**
|
|
157
|
-
| **Domain logic documentation / AC+Claim-based development** | **cdd.md**
|
|
158
|
-
| Project creation
|
|
159
|
-
| Project configuration
|
|
160
|
-
| Sonamu local dev setup
|
|
161
|
-
| DB setup / port conflict
|
|
162
|
-
| **3-Tier DB structure**
|
|
163
|
-
| **Cone metadata generation/management**
|
|
164
|
-
| Entity / field definition
|
|
165
|
-
| Relationship setup
|
|
166
|
-
| **BelongsToOne FK code usage**
|
|
167
|
-
| API response field composition
|
|
168
|
-
| Data query / save logic
|
|
169
|
-
| API endpoints
|
|
170
|
-
| Batch saving of relation data
|
|
171
|
-
| Writing tests
|
|
172
|
-
| **Running tests (sonamu test)**
|
|
173
|
-
| **Naite tracing / debugging**
|
|
174
|
-
| **Fixture data generation/management**
|
|
175
|
-
| **Test data generation tips**
|
|
176
|
-
| DB schema changes
|
|
177
|
-
| **Auth setup (auth generate, Guards, Context)**
|
|
178
|
-
| PK type changes (better-auth, etc.)
|
|
179
|
-
| **Adding auth plugins**
|
|
180
|
-
| Frontend development
|
|
181
|
-
| Internationalization / translation
|
|
182
|
-
| Scaffolding errors
|
|
183
|
-
| **Vector search / embeddings**
|
|
184
|
-
| **pg_trgm Fuzzy Search**
|
|
185
|
-
| **AI Agent development**
|
|
186
|
-
| **Background jobs / scheduling**
|
|
187
|
-
| **Troubleshooting → skill contribution**
|
|
188
|
-
| **Framework bug / constraint response**
|
|
161
|
+
| Task | Reference Skill |
|
|
162
|
+
| ----------------------------------------------------------- | ------------------------------------------------------------------------ |
|
|
163
|
+
| **Build an entire system from scratch** | **`.claude/workflow/project_init.md` (7-phase master guide)** |
|
|
164
|
+
| **Domain logic documentation / AC+Claim-based development** | **cdd.md** |
|
|
165
|
+
| Project creation | create-sonamu, project-init |
|
|
166
|
+
| Project configuration | config |
|
|
167
|
+
| Sonamu local dev setup | config |
|
|
168
|
+
| DB setup / port conflict | database, config |
|
|
169
|
+
| **3-Tier DB structure** | **database, fixture-cli** |
|
|
170
|
+
| **Cone metadata generation/management** | **cone** |
|
|
171
|
+
| Entity / field definition | entity-basic |
|
|
172
|
+
| Relationship setup | entity-relations |
|
|
173
|
+
| **BelongsToOne FK code usage** | **entity-relations** |
|
|
174
|
+
| API response field composition | subset |
|
|
175
|
+
| Data query / save logic | model, puri |
|
|
176
|
+
| API endpoints | api |
|
|
177
|
+
| Batch saving of relation data | upsert |
|
|
178
|
+
| Writing tests | testing |
|
|
179
|
+
| **Running tests (sonamu test)** | **testing-devrunner** |
|
|
180
|
+
| **Naite tracing / debugging** | **naite** |
|
|
181
|
+
| **Fixture data generation/management** | **fixture-cli** |
|
|
182
|
+
| **Test data generation tips** | **testing (Fixture data generation tips), fixture-cli (practical tips)** |
|
|
183
|
+
| DB schema changes | migration |
|
|
184
|
+
| **Auth setup (auth generate, Guards, Context)** | **auth** |
|
|
185
|
+
| PK type changes (better-auth, etc.) | auth-migration |
|
|
186
|
+
| **Adding auth plugins** | **auth-plugins** |
|
|
187
|
+
| Frontend development | frontend |
|
|
188
|
+
| Internationalization / translation | i18n |
|
|
189
|
+
| Scaffolding errors | scaffolding |
|
|
190
|
+
| **Vector search / embeddings** | **vector** |
|
|
191
|
+
| **pg_trgm Fuzzy Search** | **puri, entity-basic** |
|
|
192
|
+
| **AI Agent development** | **ai-agents** |
|
|
193
|
+
| **Background jobs / scheduling** | **tasks** |
|
|
194
|
+
| **Troubleshooting → skill contribution** | **skill-contribution** |
|
|
195
|
+
| **Framework bug / constraint response** | **framework-change** |
|
|
189
196
|
|
|
190
197
|
## Skill Selection by CDD Claim Type
|
|
191
198
|
|
|
@@ -193,40 +200,40 @@ Documents are persisted as files, so project context is preserved even when the
|
|
|
193
200
|
|
|
194
201
|
### `surface` — Entity / Schema / Shared Type Work
|
|
195
202
|
|
|
196
|
-
| Case
|
|
197
|
-
|
|
198
|
-
| Add new entity
|
|
199
|
-
| Define subset
|
|
200
|
-
| Add auth entity
|
|
201
|
-
| Add auth plugin
|
|
202
|
-
| Add batch save structure
|
|
203
|
-
| Add vector search structure | `vector`, `entity-basic`
|
|
204
|
-
| Resolve scaffolding errors
|
|
203
|
+
| Case | Required Skills |
|
|
204
|
+
| --------------------------- | ------------------------------------------------------------------------------ |
|
|
205
|
+
| Add new entity | `entity-basic`, `entity-relations`, `migration`, `cone`, `fixture-cli`, `i18n` |
|
|
206
|
+
| Define subset | `entity-basic`, `subset` |
|
|
207
|
+
| Add auth entity | `auth`, `auth-migration` |
|
|
208
|
+
| Add auth plugin | `auth-plugins` |
|
|
209
|
+
| Add batch save structure | `upsert` |
|
|
210
|
+
| Add vector search structure | `vector`, `entity-basic` |
|
|
211
|
+
| Resolve scaffolding errors | `scaffolding` |
|
|
205
212
|
|
|
206
213
|
### `test` — Test Writing
|
|
207
214
|
|
|
208
|
-
| Case
|
|
209
|
-
|
|
210
|
-
| Business logic tests
|
|
211
|
-
| Tests requiring fixtures | `testing`, `fixture-cli`
|
|
212
|
-
| Debugging / tracing
|
|
215
|
+
| Case | Required Skills |
|
|
216
|
+
| ------------------------ | ------------------------------ |
|
|
217
|
+
| Business logic tests | `testing`, `testing-devrunner` |
|
|
218
|
+
| Tests requiring fixtures | `testing`, `fixture-cli` |
|
|
219
|
+
| Debugging / tracing | `naite` |
|
|
213
220
|
|
|
214
221
|
### `implement` — Business Logic Implementation
|
|
215
222
|
|
|
216
|
-
| Case
|
|
217
|
-
|
|
218
|
-
| Model CRUD implementation
|
|
219
|
-
| API endpoint implementation
|
|
220
|
-
| File upload implementation
|
|
221
|
-
| SQL query writing
|
|
222
|
-
| Internationalization
|
|
223
|
-
| Auth guard / session handling | `auth`
|
|
224
|
-
| Auth plugin implementation
|
|
225
|
-
| Batch save implementation
|
|
226
|
-
| AI Agent implementation
|
|
227
|
-
| Background job / scheduling
|
|
228
|
-
| Vector search implementation
|
|
229
|
-
| Frontend integration
|
|
223
|
+
| Case | Required Skills |
|
|
224
|
+
| ----------------------------- | ------------------------- |
|
|
225
|
+
| Model CRUD implementation | `model`, `puri` |
|
|
226
|
+
| API endpoint implementation | `api`, `model` |
|
|
227
|
+
| File upload implementation | `api`, `framework-change` |
|
|
228
|
+
| SQL query writing | `puri` |
|
|
229
|
+
| Internationalization | `i18n` |
|
|
230
|
+
| Auth guard / session handling | `auth` |
|
|
231
|
+
| Auth plugin implementation | `auth-plugins` |
|
|
232
|
+
| Batch save implementation | `upsert`, `model` |
|
|
233
|
+
| AI Agent implementation | `ai-agents` |
|
|
234
|
+
| Background job / scheduling | `tasks` |
|
|
235
|
+
| Vector search implementation | `vector`, `puri` |
|
|
236
|
+
| Frontend integration | `frontend`, `scaffolding` |
|
|
230
237
|
|
|
231
238
|
---
|
|
232
239
|
|
|
@@ -13,9 +13,9 @@ Sonamu provides a framework that wraps Vercel AI SDK's `ToolLoopAgent` to build
|
|
|
13
13
|
|
|
14
14
|
## Structure
|
|
15
15
|
|
|
16
|
-
| File
|
|
17
|
-
|
|
18
|
-
| `agent.ts` | `BaseAgentClass`, `tools` decorator
|
|
16
|
+
| File | Role |
|
|
17
|
+
| ---------- | ----------------------------------------------------------------------- |
|
|
18
|
+
| `agent.ts` | `BaseAgentClass`, `tools` decorator |
|
|
19
19
|
| `types.ts` | `AgentConfig`, `ToolDecoratorOptions`, `RegisteredToolDefinition`, etc. |
|
|
20
20
|
|
|
21
21
|
---
|
|
@@ -30,7 +30,7 @@ import { z } from "zod/v4";
|
|
|
30
30
|
|
|
31
31
|
class MyAgentClass extends BaseAgentClass<{ count: number }> {
|
|
32
32
|
constructor() {
|
|
33
|
-
super("MyAgent");
|
|
33
|
+
super("MyAgent"); // agentName (used as logger category)
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
@tools({
|
|
@@ -50,12 +50,12 @@ export const MyAgent = new MyAgentClass();
|
|
|
50
50
|
|
|
51
51
|
### Key Features
|
|
52
52
|
|
|
53
|
-
| Feature
|
|
54
|
-
|
|
55
|
-
| `this.logger` | LogTape logger (agent category)
|
|
56
|
-
| `this.store`
|
|
57
|
-
| `this.tools`
|
|
58
|
-
| `this.use()`
|
|
53
|
+
| Feature | Description |
|
|
54
|
+
| ------------- | ------------------------------------------- |
|
|
55
|
+
| `this.logger` | LogTape logger (agent category) |
|
|
56
|
+
| `this.store` | AsyncLocalStorage-based state access |
|
|
57
|
+
| `this.tools` | Registered toolset (ToolSet) |
|
|
58
|
+
| `this.use()` | Run the Agent (ALS context + ToolLoopAgent) |
|
|
59
59
|
|
|
60
60
|
---
|
|
61
61
|
|
|
@@ -105,7 +105,7 @@ const result = await MyAgent.use(
|
|
|
105
105
|
{
|
|
106
106
|
model: anthropic("claude-sonnet-4-5-20250514"),
|
|
107
107
|
instructions: "You are a math assistant.",
|
|
108
|
-
toolChoice: "auto",
|
|
108
|
+
toolChoice: "auto", // "auto" | "none" | "required"
|
|
109
109
|
maxOutputTokens: 1000,
|
|
110
110
|
temperature: 0.7,
|
|
111
111
|
},
|
|
@@ -122,21 +122,21 @@ const result = await MyAgent.use(
|
|
|
122
122
|
|
|
123
123
|
### AgentConfig Options
|
|
124
124
|
|
|
125
|
-
| Option
|
|
126
|
-
|
|
127
|
-
| `model`
|
|
128
|
-
| `instructions`
|
|
129
|
-
| `toolChoice`
|
|
130
|
-
| `stopWhen`
|
|
131
|
-
| `activeTools`
|
|
132
|
-
| `maxOutputTokens`
|
|
133
|
-
| `temperature`
|
|
134
|
-
| `topP` / `topK`
|
|
135
|
-
| `presencePenalty` / `frequencyPenalty` | `number`
|
|
136
|
-
| `seed`
|
|
137
|
-
| `stopSequences`
|
|
138
|
-
| `providerOptions`
|
|
139
|
-
| `headers`
|
|
125
|
+
| Option | Type | Description |
|
|
126
|
+
| -------------------------------------- | -------------------------------- | ------------------------------------ |
|
|
127
|
+
| `model` | `LanguageModel` | AI SDK model (required) |
|
|
128
|
+
| `instructions` | `string` | System prompt |
|
|
129
|
+
| `toolChoice` | `"auto" \| "none" \| "required"` | Tool selection strategy |
|
|
130
|
+
| `stopWhen` | `StopCondition` | Stop condition |
|
|
131
|
+
| `activeTools` | `string[]` | List of tool names to activate |
|
|
132
|
+
| `maxOutputTokens` | `number` | Maximum output tokens |
|
|
133
|
+
| `temperature` | `number` | Temperature |
|
|
134
|
+
| `topP` / `topK` | `number` | Sampling parameters |
|
|
135
|
+
| `presencePenalty` / `frequencyPenalty` | `number` | Penalties |
|
|
136
|
+
| `seed` | `number` | Seed for reproducibility |
|
|
137
|
+
| `stopSequences` | `string[]` | Generation stop sequences |
|
|
138
|
+
| `providerOptions` | `ProviderOptions` | Additional provider-specific options |
|
|
139
|
+
| `headers` | `Record<string, string>` | Custom HTTP headers |
|
|
140
140
|
|
|
141
141
|
---
|
|
142
142
|
|
|
@@ -182,6 +182,7 @@ class AgentB extends BaseAgentClass<void> {
|
|
|
182
182
|
`this.logger` uses LogTape. The category is generated with `convertDomainToCategory(agentName, "agent")`.
|
|
183
183
|
|
|
184
184
|
Debug logs are automatically recorded on tool execution:
|
|
185
|
+
|
|
185
186
|
```
|
|
186
187
|
tools: {model}.{method} with args: {args}
|
|
187
188
|
```
|