@mantajs/core 0.1.6 → 0.2.0-beta.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/dist/adapters/auth-mock.d.ts +44 -0
- package/dist/adapters/auth-mock.d.ts.map +1 -0
- package/dist/adapters/auth-mock.js +160 -0
- package/dist/adapters/auth-mock.js.map +1 -0
- package/dist/adapters/cache-memory.d.ts +11 -0
- package/dist/adapters/cache-memory.d.ts.map +1 -0
- package/dist/adapters/cache-memory.js +32 -0
- package/dist/adapters/cache-memory.js.map +1 -0
- package/dist/adapters/database-memory.d.ts +24 -0
- package/dist/adapters/database-memory.d.ts.map +1 -0
- package/dist/adapters/database-memory.js +141 -0
- package/dist/adapters/database-memory.js.map +1 -0
- package/dist/adapters/eventbus-memory.d.ts +37 -0
- package/dist/adapters/eventbus-memory.d.ts.map +1 -0
- package/dist/adapters/eventbus-memory.js +166 -0
- package/dist/adapters/eventbus-memory.js.map +1 -0
- package/dist/adapters/file-memory.d.ts +24 -0
- package/dist/adapters/file-memory.d.ts.map +1 -0
- package/dist/adapters/file-memory.js +77 -0
- package/dist/adapters/file-memory.js.map +1 -0
- package/dist/adapters/http-memory.d.ts +23 -0
- package/dist/adapters/http-memory.d.ts.map +1 -0
- package/dist/adapters/http-memory.js +149 -0
- package/dist/adapters/http-memory.js.map +1 -0
- package/dist/adapters/index.d.ts +14 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +15 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/job-scheduler-memory.d.ts +20 -0
- package/dist/adapters/job-scheduler-memory.d.ts.map +1 -0
- package/dist/adapters/job-scheduler-memory.js +103 -0
- package/dist/adapters/job-scheduler-memory.js.map +1 -0
- package/dist/adapters/locking-memory.d.ts +20 -0
- package/dist/adapters/locking-memory.d.ts.map +1 -0
- package/dist/adapters/locking-memory.js +85 -0
- package/dist/adapters/locking-memory.js.map +1 -0
- package/dist/adapters/logger-test.d.ts +30 -0
- package/dist/adapters/logger-test.d.ts.map +1 -0
- package/dist/adapters/logger-test.js +77 -0
- package/dist/adapters/logger-test.js.map +1 -0
- package/dist/adapters/notification-memory.d.ts +27 -0
- package/dist/adapters/notification-memory.d.ts.map +1 -0
- package/dist/adapters/notification-memory.js +69 -0
- package/dist/adapters/notification-memory.js.map +1 -0
- package/dist/adapters/relational-query-memory.d.ts +47 -0
- package/dist/adapters/relational-query-memory.d.ts.map +1 -0
- package/dist/adapters/relational-query-memory.js +263 -0
- package/dist/adapters/relational-query-memory.js.map +1 -0
- package/dist/adapters/repository-factory-memory.d.ts +17 -0
- package/dist/adapters/repository-factory-memory.d.ts.map +1 -0
- package/dist/adapters/repository-factory-memory.js +32 -0
- package/dist/adapters/repository-factory-memory.js.map +1 -0
- package/dist/adapters/repository-memory.d.ts +30 -0
- package/dist/adapters/repository-memory.d.ts.map +1 -0
- package/dist/adapters/repository-memory.js +183 -0
- package/dist/adapters/repository-memory.js.map +1 -0
- package/dist/ai/index.d.ts +53 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +48 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/app/index.d.ts +97 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +217 -0
- package/dist/app/index.js.map +1 -0
- package/dist/app/request-context.d.ts +35 -0
- package/dist/app/request-context.d.ts.map +1 -0
- package/dist/app/request-context.js +32 -0
- package/dist/app/request-context.js.map +1 -0
- package/dist/auth/auth-module-service.d.ts +62 -0
- package/dist/auth/auth-module-service.d.ts.map +1 -0
- package/dist/auth/auth-module-service.js +210 -0
- package/dist/auth/auth-module-service.js.map +1 -0
- package/dist/auth/index.d.ts +7 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +5 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/middleware.d.ts +19 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/middleware.js +61 -0
- package/dist/auth/middleware.js.map +1 -0
- package/dist/auth/models/auth-identity.d.ts +11 -0
- package/dist/auth/models/auth-identity.d.ts.map +1 -0
- package/dist/auth/models/auth-identity.js +12 -0
- package/dist/auth/models/auth-identity.js.map +1 -0
- package/dist/auth/providers/emailpass.d.ts +7 -0
- package/dist/auth/providers/emailpass.d.ts.map +1 -0
- package/dist/auth/providers/emailpass.js +94 -0
- package/dist/auth/providers/emailpass.js.map +1 -0
- package/dist/auth/providers/types.d.ts +66 -0
- package/dist/auth/providers/types.d.ts.map +1 -0
- package/dist/auth/providers/types.js +3 -0
- package/dist/auth/providers/types.js.map +1 -0
- package/dist/auth/types.d.ts +36 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +3 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/command/define-command-graph.d.ts +63 -0
- package/dist/command/define-command-graph.d.ts.map +1 -0
- package/dist/command/define-command-graph.js +80 -0
- package/dist/command/define-command-graph.js.map +1 -0
- package/dist/command/dml-to-zod.d.ts +34 -0
- package/dist/command/dml-to-zod.d.ts.map +1 -0
- package/dist/command/dml-to-zod.js +140 -0
- package/dist/command/dml-to-zod.js.map +1 -0
- package/dist/command/generate-entity-commands.d.ts +68 -0
- package/dist/command/generate-entity-commands.d.ts.map +1 -0
- package/dist/command/generate-entity-commands.js +350 -0
- package/dist/command/generate-entity-commands.js.map +1 -0
- package/dist/command/index.d.ts +54 -0
- package/dist/command/index.d.ts.map +1 -0
- package/dist/command/index.js +338 -0
- package/dist/command/index.js.map +1 -0
- package/dist/command/types.d.ts +131 -0
- package/dist/command/types.d.ts.map +1 -0
- package/dist/command/types.js +2 -0
- package/dist/command/types.js.map +1 -0
- package/dist/config/built-in-presets.d.ts +20 -0
- package/dist/config/built-in-presets.d.ts.map +1 -0
- package/dist/config/built-in-presets.js +70 -0
- package/dist/config/built-in-presets.js.map +1 -0
- package/dist/config/config-manager.d.ts +117 -0
- package/dist/config/config-manager.d.ts.map +1 -0
- package/dist/config/config-manager.js +245 -0
- package/dist/config/config-manager.js.map +1 -0
- package/dist/config/define-config.d.ts +20 -0
- package/dist/config/define-config.d.ts.map +1 -0
- package/dist/config/define-config.js +64 -0
- package/dist/config/define-config.js.map +1 -0
- package/dist/config/feature-flags.d.ts +48 -0
- package/dist/config/feature-flags.d.ts.map +1 -0
- package/dist/config/feature-flags.js +97 -0
- package/dist/config/feature-flags.js.map +1 -0
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +8 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/presets.d.ts +38 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/presets.js +29 -0
- package/dist/config/presets.js.map +1 -0
- package/dist/config/types.d.ts +707 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +112 -0
- package/dist/config/types.js.map +1 -0
- package/dist/context/index.d.ts +95 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +26 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/registry.d.ts +32 -0
- package/dist/context/registry.d.ts.map +1 -0
- package/dist/context/registry.js +142 -0
- package/dist/context/registry.js.map +1 -0
- package/dist/db/index.d.ts +2 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +4 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/schema.d.ts +839 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +106 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/dml/entity.d.ts +132 -0
- package/dist/dml/entity.d.ts.map +1 -0
- package/dist/dml/entity.js +110 -0
- package/dist/dml/entity.js.map +1 -0
- package/dist/dml/from-zod.d.ts +13 -0
- package/dist/dml/from-zod.d.ts.map +1 -0
- package/dist/dml/from-zod.js +81 -0
- package/dist/dml/from-zod.js.map +1 -0
- package/dist/dml/generator/index.d.ts +62 -0
- package/dist/dml/generator/index.d.ts.map +1 -0
- package/dist/dml/generator/index.js +208 -0
- package/dist/dml/generator/index.js.map +1 -0
- package/dist/dml/index.d.ts +11 -0
- package/dist/dml/index.d.ts.map +1 -0
- package/dist/dml/index.js +13 -0
- package/dist/dml/index.js.map +1 -0
- package/dist/dml/infer.d.ts +36 -0
- package/dist/dml/infer.d.ts.map +1 -0
- package/dist/dml/infer.js +5 -0
- package/dist/dml/infer.js.map +1 -0
- package/dist/dml/model.d.ts +58 -0
- package/dist/dml/model.d.ts.map +1 -0
- package/dist/dml/model.js +95 -0
- package/dist/dml/model.js.map +1 -0
- package/dist/dml/modifiers.d.ts +9 -0
- package/dist/dml/modifiers.d.ts.map +1 -0
- package/dist/dml/modifiers.js +25 -0
- package/dist/dml/modifiers.js.map +1 -0
- package/dist/dml/properties/array.d.ts +7 -0
- package/dist/dml/properties/array.d.ts.map +1 -0
- package/dist/dml/properties/array.js +5 -0
- package/dist/dml/properties/array.js.map +1 -0
- package/dist/dml/properties/autoincrement.d.ts +7 -0
- package/dist/dml/properties/autoincrement.d.ts.map +1 -0
- package/dist/dml/properties/autoincrement.js +5 -0
- package/dist/dml/properties/autoincrement.js.map +1 -0
- package/dist/dml/properties/base.d.ts +124 -0
- package/dist/dml/properties/base.d.ts.map +1 -0
- package/dist/dml/properties/base.js +76 -0
- package/dist/dml/properties/base.js.map +1 -0
- package/dist/dml/properties/big-number.d.ts +7 -0
- package/dist/dml/properties/big-number.d.ts.map +1 -0
- package/dist/dml/properties/big-number.js +5 -0
- package/dist/dml/properties/big-number.js.map +1 -0
- package/dist/dml/properties/boolean.d.ts +7 -0
- package/dist/dml/properties/boolean.d.ts.map +1 -0
- package/dist/dml/properties/boolean.js +5 -0
- package/dist/dml/properties/boolean.js.map +1 -0
- package/dist/dml/properties/computed.d.ts +9 -0
- package/dist/dml/properties/computed.d.ts.map +1 -0
- package/dist/dml/properties/computed.js +22 -0
- package/dist/dml/properties/computed.js.map +1 -0
- package/dist/dml/properties/date-time.d.ts +7 -0
- package/dist/dml/properties/date-time.d.ts.map +1 -0
- package/dist/dml/properties/date-time.js +5 -0
- package/dist/dml/properties/date-time.js.map +1 -0
- package/dist/dml/properties/enum.d.ts +12 -0
- package/dist/dml/properties/enum.d.ts.map +1 -0
- package/dist/dml/properties/enum.js +14 -0
- package/dist/dml/properties/enum.js.map +1 -0
- package/dist/dml/properties/float.d.ts +7 -0
- package/dist/dml/properties/float.d.ts.map +1 -0
- package/dist/dml/properties/float.js +5 -0
- package/dist/dml/properties/float.js.map +1 -0
- package/dist/dml/properties/index.d.ts +15 -0
- package/dist/dml/properties/index.d.ts.map +1 -0
- package/dist/dml/properties/index.js +15 -0
- package/dist/dml/properties/index.js.map +1 -0
- package/dist/dml/properties/json.d.ts +7 -0
- package/dist/dml/properties/json.d.ts.map +1 -0
- package/dist/dml/properties/json.js +6 -0
- package/dist/dml/properties/json.js.map +1 -0
- package/dist/dml/properties/nullable.d.ts +23 -0
- package/dist/dml/properties/nullable.d.ts.map +1 -0
- package/dist/dml/properties/nullable.js +46 -0
- package/dist/dml/properties/nullable.js.map +1 -0
- package/dist/dml/properties/number.d.ts +10 -0
- package/dist/dml/properties/number.d.ts.map +1 -0
- package/dist/dml/properties/number.js +13 -0
- package/dist/dml/properties/number.js.map +1 -0
- package/dist/dml/properties/primary-key.d.ts +14 -0
- package/dist/dml/properties/primary-key.d.ts.map +1 -0
- package/dist/dml/properties/primary-key.js +23 -0
- package/dist/dml/properties/primary-key.js.map +1 -0
- package/dist/dml/properties/text.d.ts +15 -0
- package/dist/dml/properties/text.d.ts.map +1 -0
- package/dist/dml/properties/text.js +19 -0
- package/dist/dml/properties/text.js.map +1 -0
- package/dist/dml/relations/belongs-to.d.ts +20 -0
- package/dist/dml/relations/belongs-to.d.ts.map +1 -0
- package/dist/dml/relations/belongs-to.js +29 -0
- package/dist/dml/relations/belongs-to.js.map +1 -0
- package/dist/dml/relations/has-many.d.ts +16 -0
- package/dist/dml/relations/has-many.d.ts.map +1 -0
- package/dist/dml/relations/has-many.js +25 -0
- package/dist/dml/relations/has-many.js.map +1 -0
- package/dist/dml/relations/has-one.d.ts +26 -0
- package/dist/dml/relations/has-one.d.ts.map +1 -0
- package/dist/dml/relations/has-one.js +46 -0
- package/dist/dml/relations/has-one.js.map +1 -0
- package/dist/dml/relations/many-to-many.d.ts +9 -0
- package/dist/dml/relations/many-to-many.d.ts.map +1 -0
- package/dist/dml/relations/many-to-many.js +11 -0
- package/dist/dml/relations/many-to-many.js.map +1 -0
- package/dist/errors/manta-error.d.ts +68 -0
- package/dist/errors/manta-error.d.ts.map +1 -0
- package/dist/errors/manta-error.js +80 -0
- package/dist/errors/manta-error.js.map +1 -0
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +3 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/message-aggregator.d.ts +25 -0
- package/dist/events/message-aggregator.d.ts.map +1 -0
- package/dist/events/message-aggregator.js +35 -0
- package/dist/events/message-aggregator.js.map +1 -0
- package/dist/events/types.d.ts +42 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +3 -0
- package/dist/events/types.js.map +1 -0
- package/dist/index.d.ts +55 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/job/index.d.ts +52 -0
- package/dist/job/index.d.ts.map +1 -0
- package/dist/job/index.js +31 -0
- package/dist/job/index.js.map +1 -0
- package/dist/link/index.d.ts +97 -0
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/index.js +185 -0
- package/dist/link/index.js.map +1 -0
- package/dist/middleware/define-middleware.d.ts +54 -0
- package/dist/middleware/define-middleware.d.ts.map +1 -0
- package/dist/middleware/define-middleware.js +40 -0
- package/dist/middleware/define-middleware.js.map +1 -0
- package/dist/middleware/index.d.ts +56 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +50 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/module/index.d.ts +56 -0
- package/dist/module/index.d.ts.map +1 -0
- package/dist/module/index.js +52 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/versioning.d.ts +27 -0
- package/dist/module/versioning.d.ts.map +1 -0
- package/dist/module/versioning.js +64 -0
- package/dist/module/versioning.js.map +1 -0
- package/dist/naming.d.ts +39 -0
- package/dist/naming.d.ts.map +1 -0
- package/dist/naming.js +95 -0
- package/dist/naming.js.map +1 -0
- package/dist/ports/analytics.d.ts +7 -0
- package/dist/ports/analytics.d.ts.map +1 -0
- package/dist/ports/analytics.js +3 -0
- package/dist/ports/analytics.js.map +1 -0
- package/dist/ports/auth.d.ts +27 -0
- package/dist/ports/auth.d.ts.map +1 -0
- package/dist/ports/auth.js +3 -0
- package/dist/ports/auth.js.map +1 -0
- package/dist/ports/cache.d.ts +35 -0
- package/dist/ports/cache.d.ts.map +1 -0
- package/dist/ports/cache.js +3 -0
- package/dist/ports/cache.js.map +1 -0
- package/dist/ports/database.d.ts +40 -0
- package/dist/ports/database.d.ts.map +1 -0
- package/dist/ports/database.js +3 -0
- package/dist/ports/database.js.map +1 -0
- package/dist/ports/event-bus.d.ts +85 -0
- package/dist/ports/event-bus.d.ts.map +1 -0
- package/dist/ports/event-bus.js +3 -0
- package/dist/ports/event-bus.js.map +1 -0
- package/dist/ports/file.d.ts +62 -0
- package/dist/ports/file.d.ts.map +1 -0
- package/dist/ports/file.js +3 -0
- package/dist/ports/file.js.map +1 -0
- package/dist/ports/http.d.ts +20 -0
- package/dist/ports/http.d.ts.map +1 -0
- package/dist/ports/http.js +3 -0
- package/dist/ports/http.js.map +1 -0
- package/dist/ports/in-memory-progress-channel.d.ts +9 -0
- package/dist/ports/in-memory-progress-channel.d.ts.map +1 -0
- package/dist/ports/in-memory-progress-channel.js +19 -0
- package/dist/ports/in-memory-progress-channel.js.map +1 -0
- package/dist/ports/in-memory-queue.d.ts +24 -0
- package/dist/ports/in-memory-queue.d.ts.map +1 -0
- package/dist/ports/in-memory-queue.js +63 -0
- package/dist/ports/in-memory-queue.js.map +1 -0
- package/dist/ports/index.d.ts +27 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +6 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/job-scheduler.d.ts +42 -0
- package/dist/ports/job-scheduler.d.ts.map +1 -0
- package/dist/ports/job-scheduler.js +3 -0
- package/dist/ports/job-scheduler.js.map +1 -0
- package/dist/ports/locking.d.ts +43 -0
- package/dist/ports/locking.d.ts.map +1 -0
- package/dist/ports/locking.js +3 -0
- package/dist/ports/locking.js.map +1 -0
- package/dist/ports/logger.d.ts +65 -0
- package/dist/ports/logger.d.ts.map +1 -0
- package/dist/ports/logger.js +3 -0
- package/dist/ports/logger.js.map +1 -0
- package/dist/ports/notification.d.ts +71 -0
- package/dist/ports/notification.d.ts.map +1 -0
- package/dist/ports/notification.js +3 -0
- package/dist/ports/notification.js.map +1 -0
- package/dist/ports/progress-channel.d.ts +46 -0
- package/dist/ports/progress-channel.d.ts.map +1 -0
- package/dist/ports/progress-channel.js +6 -0
- package/dist/ports/progress-channel.js.map +1 -0
- package/dist/ports/queue.d.ts +21 -0
- package/dist/ports/queue.d.ts.map +1 -0
- package/dist/ports/queue.js +15 -0
- package/dist/ports/queue.js.map +1 -0
- package/dist/ports/relational-query.d.ts +37 -0
- package/dist/ports/relational-query.d.ts.map +1 -0
- package/dist/ports/relational-query.js +3 -0
- package/dist/ports/relational-query.js.map +1 -0
- package/dist/ports/repository-factory.d.ts +21 -0
- package/dist/ports/repository-factory.d.ts.map +1 -0
- package/dist/ports/repository-factory.js +4 -0
- package/dist/ports/repository-factory.js.map +1 -0
- package/dist/ports/repository.d.ts +73 -0
- package/dist/ports/repository.d.ts.map +1 -0
- package/dist/ports/repository.js +3 -0
- package/dist/ports/repository.js.map +1 -0
- package/dist/ports/schema-generator.d.ts +15 -0
- package/dist/ports/schema-generator.d.ts.map +1 -0
- package/dist/ports/schema-generator.js +4 -0
- package/dist/ports/schema-generator.js.map +1 -0
- package/dist/ports/search.d.ts +7 -0
- package/dist/ports/search.d.ts.map +1 -0
- package/dist/ports/search.js +3 -0
- package/dist/ports/search.js.map +1 -0
- package/dist/ports/types.d.ts +112 -0
- package/dist/ports/types.d.ts.map +1 -0
- package/dist/ports/types.js +26 -0
- package/dist/ports/types.js.map +1 -0
- package/dist/ports/workflow-store.d.ts +111 -0
- package/dist/ports/workflow-store.d.ts.map +1 -0
- package/dist/ports/workflow-store.js +5 -0
- package/dist/ports/workflow-store.js.map +1 -0
- package/dist/query/define-query-graph.d.ts +55 -0
- package/dist/query/define-query-graph.d.ts.map +1 -0
- package/dist/query/define-query-graph.js +59 -0
- package/dist/query/define-query-graph.js.map +1 -0
- package/dist/query/define-query.d.ts +79 -0
- package/dist/query/define-query.d.ts.map +1 -0
- package/dist/query/define-query.js +77 -0
- package/dist/query/define-query.js.map +1 -0
- package/dist/query/extend-query-graph.d.ts +36 -0
- package/dist/query/extend-query-graph.d.ts.map +1 -0
- package/dist/query/extend-query-graph.js +34 -0
- package/dist/query/extend-query-graph.js.map +1 -0
- package/dist/query/index.d.ts +181 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +288 -0
- package/dist/query/index.js.map +1 -0
- package/dist/service/define.d.ts +97 -0
- package/dist/service/define.d.ts.map +1 -0
- package/dist/service/define.js +45 -0
- package/dist/service/define.js.map +1 -0
- package/dist/service/index.d.ts +52 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/service/index.js +281 -0
- package/dist/service/index.js.map +1 -0
- package/dist/service/instantiate.d.ts +15 -0
- package/dist/service/instantiate.d.ts.map +1 -0
- package/dist/service/instantiate.js +143 -0
- package/dist/service/instantiate.js.map +1 -0
- package/dist/service/snapshot-repository.d.ts +31 -0
- package/dist/service/snapshot-repository.d.ts.map +1 -0
- package/dist/service/snapshot-repository.js +114 -0
- package/dist/service/snapshot-repository.js.map +1 -0
- package/dist/service/types.d.ts +39 -0
- package/dist/service/types.d.ts.map +1 -0
- package/dist/service/types.js +3 -0
- package/dist/service/types.js.map +1 -0
- package/dist/strict-mode/index.d.ts +42 -0
- package/dist/strict-mode/index.d.ts.map +1 -0
- package/dist/strict-mode/index.js +84 -0
- package/dist/strict-mode/index.js.map +1 -0
- package/dist/subscriber/index.d.ts +117 -0
- package/dist/subscriber/index.d.ts.map +1 -0
- package/dist/subscriber/index.js +76 -0
- package/dist/subscriber/index.js.map +1 -0
- package/dist/testing/relational-query-suite.d.ts +22 -0
- package/dist/testing/relational-query-suite.d.ts.map +1 -0
- package/dist/testing/relational-query-suite.js +233 -0
- package/dist/testing/relational-query-suite.js.map +1 -0
- package/dist/user/auto-routes.d.ts +32 -0
- package/dist/user/auto-routes.d.ts.map +1 -0
- package/dist/user/auto-routes.js +424 -0
- package/dist/user/auto-routes.js.map +1 -0
- package/dist/user/define-user.d.ts +54 -0
- package/dist/user/define-user.d.ts.map +1 -0
- package/dist/user/define-user.js +103 -0
- package/dist/user/define-user.js.map +1 -0
- package/dist/user/index.d.ts +7 -0
- package/dist/user/index.d.ts.map +1 -0
- package/dist/user/index.js +5 -0
- package/dist/user/index.js.map +1 -0
- package/dist/user/models/user.d.ts +15 -0
- package/dist/user/models/user.d.ts.map +1 -0
- package/dist/user/models/user.js +16 -0
- package/dist/user/models/user.js.map +1 -0
- package/dist/user/user-module-service.d.ts +55 -0
- package/dist/user/user-module-service.d.ts.map +1 -0
- package/dist/user/user-module-service.js +100 -0
- package/dist/user/user-module-service.js.map +1 -0
- package/dist/workflows/ai-step.d.ts +2 -0
- package/dist/workflows/ai-step.d.ts.map +1 -0
- package/dist/workflows/ai-step.js +54 -0
- package/dist/workflows/ai-step.js.map +1 -0
- package/dist/workflows/create-step.d.ts +16 -0
- package/dist/workflows/create-step.d.ts.map +1 -0
- package/dist/workflows/create-step.js +194 -0
- package/dist/workflows/create-step.js.map +1 -0
- package/dist/workflows/create-workflow.d.ts +16 -0
- package/dist/workflows/create-workflow.d.ts.map +1 -0
- package/dist/workflows/create-workflow.js +21 -0
- package/dist/workflows/create-workflow.js.map +1 -0
- package/dist/workflows/define-workflow.d.ts +55 -0
- package/dist/workflows/define-workflow.d.ts.map +1 -0
- package/dist/workflows/define-workflow.js +72 -0
- package/dist/workflows/define-workflow.js.map +1 -0
- package/dist/workflows/emit-event-step.d.ts +17 -0
- package/dist/workflows/emit-event-step.d.ts.map +1 -0
- package/dist/workflows/emit-event-step.js +46 -0
- package/dist/workflows/emit-event-step.js.map +1 -0
- package/dist/workflows/for-each.d.ts +6 -0
- package/dist/workflows/for-each.d.ts.map +1 -0
- package/dist/workflows/for-each.js +79 -0
- package/dist/workflows/for-each.js.map +1 -0
- package/dist/workflows/index.d.ts +15 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +12 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/manager.d.ts +99 -0
- package/dist/workflows/manager.d.ts.map +1 -0
- package/dist/workflows/manager.js +450 -0
- package/dist/workflows/manager.js.map +1 -0
- package/dist/workflows/orphan-reaper.d.ts +50 -0
- package/dist/workflows/orphan-reaper.d.ts.map +1 -0
- package/dist/workflows/orphan-reaper.js +69 -0
- package/dist/workflows/orphan-reaper.js.map +1 -0
- package/dist/workflows/progress-helper.d.ts +20 -0
- package/dist/workflows/progress-helper.d.ts.map +1 -0
- package/dist/workflows/progress-helper.js +48 -0
- package/dist/workflows/progress-helper.js.map +1 -0
- package/dist/workflows/step.d.ts +103 -0
- package/dist/workflows/step.d.ts.map +1 -0
- package/dist/workflows/step.js +949 -0
- package/dist/workflows/step.js.map +1 -0
- package/dist/workflows/types.d.ts +215 -0
- package/dist/workflows/types.d.ts.map +1 -0
- package/dist/workflows/types.js +9 -0
- package/dist/workflows/types.js.map +1 -0
- package/dist/workflows/yield.d.ts +12 -0
- package/dist/workflows/yield.d.ts.map +1 -0
- package/dist/workflows/yield.js +29 -0
- package/dist/workflows/yield.js.map +1 -0
- package/docs/00-overview.md +254 -0
- package/docs/01-getting-started.md +224 -0
- package/docs/02-models.md +163 -0
- package/docs/03-services.md +208 -0
- package/docs/04-users.md +165 -0
- package/docs/05-commands.md +501 -0
- package/docs/06-queries.md +342 -0
- package/docs/07-events.md +248 -0
- package/docs/08-links.md +182 -0
- package/docs/09-agents.md +142 -0
- package/docs/10-spa.md +327 -0
- package/docs/11-config.md +481 -0
- package/docs/12-constraints.md +183 -0
- package/docs/13-testing.md +345 -0
- package/docs/14-adapters.md +204 -0
- package/docs/15-hosts.md +163 -0
- package/docs/16-reference.md +274 -0
- package/docs/17-dashboard.md +619 -0
- package/docs/AGENT.md +501 -0
- package/package.json +49 -52
- package/.medusa/server/src/admin/index.js +0 -5358
- package/.medusa/server/src/admin/index.mjs +0 -5356
- package/.medusa/server/src/api/admin/companies/[id]/route.js +0 -39
- package/.medusa/server/src/api/admin/companies/middlewares.js +0 -41
- package/.medusa/server/src/api/admin/companies/route.js +0 -37
- package/.medusa/server/src/api/admin/companies/validators.js +0 -29
- package/.medusa/server/src/api/middlewares.js +0 -8
- package/.medusa/server/src/index.js +0 -5
- package/.medusa/server/src/modules/company/index.js +0 -13
- package/.medusa/server/src/modules/company/migrations/Migration20260126141741.js +0 -26
- package/.medusa/server/src/modules/company/models/company.js +0 -24
- package/.medusa/server/src/modules/company/models/employee.js +0 -15
- package/.medusa/server/src/modules/company/models/index.js +0 -11
- package/.medusa/server/src/modules/company/service.js +0 -11
- package/.medusa/server/src/workflows/create-company.js +0 -10
- package/.medusa/server/src/workflows/delete-company.js +0 -10
- package/.medusa/server/src/workflows/steps/create-company.js +0 -16
- package/.medusa/server/src/workflows/steps/delete-company.js +0 -30
- package/.medusa/server/src/workflows/steps/update-company.js +0 -30
- package/.medusa/server/src/workflows/update-company.js +0 -10
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
// AuthModuleService — manages auth identities, provider identities, and delegates to providers.
|
|
2
|
+
// ISO Medusa V2's AuthModuleService interface.
|
|
3
|
+
import { MantaError } from '../errors/manta-error';
|
|
4
|
+
export class AuthModuleService {
|
|
5
|
+
authIdentityRepo;
|
|
6
|
+
providerIdentityRepo;
|
|
7
|
+
providers = new Map();
|
|
8
|
+
cache;
|
|
9
|
+
constructor(deps) {
|
|
10
|
+
this.authIdentityRepo = deps.authIdentityRepository;
|
|
11
|
+
this.providerIdentityRepo = deps.providerIdentityRepository;
|
|
12
|
+
this.cache = deps.cache;
|
|
13
|
+
}
|
|
14
|
+
// --- Provider management ---
|
|
15
|
+
registerProvider(id, provider) {
|
|
16
|
+
this.providers.set(id, provider);
|
|
17
|
+
}
|
|
18
|
+
getProvider(id) {
|
|
19
|
+
const provider = this.providers.get(id);
|
|
20
|
+
if (!provider)
|
|
21
|
+
throw new MantaError('NOT_FOUND', `Auth provider "${id}" not registered`);
|
|
22
|
+
return provider;
|
|
23
|
+
}
|
|
24
|
+
// --- Authentication ---
|
|
25
|
+
async authenticate(provider, data) {
|
|
26
|
+
const authProvider = this.getProvider(provider);
|
|
27
|
+
return authProvider.authenticate(data, this.createProviderService(provider));
|
|
28
|
+
}
|
|
29
|
+
async register(provider, data) {
|
|
30
|
+
const authProvider = this.getProvider(provider);
|
|
31
|
+
return authProvider.register(data, this.createProviderService(provider));
|
|
32
|
+
}
|
|
33
|
+
async update(provider, data) {
|
|
34
|
+
const authProvider = this.getProvider(provider);
|
|
35
|
+
if (!authProvider.update) {
|
|
36
|
+
return { success: false, error: `Provider "${provider}" does not support updates` };
|
|
37
|
+
}
|
|
38
|
+
return authProvider.update(data, this.createProviderService(provider));
|
|
39
|
+
}
|
|
40
|
+
async validateCallback(provider, data) {
|
|
41
|
+
const authProvider = this.getProvider(provider);
|
|
42
|
+
if (!authProvider.validateCallback) {
|
|
43
|
+
return { success: false, error: `Provider "${provider}" does not support callbacks` };
|
|
44
|
+
}
|
|
45
|
+
return authProvider.validateCallback(data, this.createProviderService(provider));
|
|
46
|
+
}
|
|
47
|
+
// --- AuthIdentity CRUD ---
|
|
48
|
+
async createAuthIdentity(data) {
|
|
49
|
+
const [created] = (await this.authIdentityRepo.create([
|
|
50
|
+
{
|
|
51
|
+
app_metadata: data.app_metadata ?? {},
|
|
52
|
+
},
|
|
53
|
+
]));
|
|
54
|
+
return created;
|
|
55
|
+
}
|
|
56
|
+
async retrieveAuthIdentity(id) {
|
|
57
|
+
const results = (await this.authIdentityRepo.find({ where: { id } }));
|
|
58
|
+
if (results.length === 0)
|
|
59
|
+
throw new MantaError('NOT_FOUND', `AuthIdentity "${id}" not found`);
|
|
60
|
+
// Load provider identities
|
|
61
|
+
const providerIdentities = (await this.providerIdentityRepo.find({
|
|
62
|
+
where: { auth_identity_id: id },
|
|
63
|
+
}));
|
|
64
|
+
return { ...results[0], provider_identities: providerIdentities };
|
|
65
|
+
}
|
|
66
|
+
async updateAuthIdentity(id, data) {
|
|
67
|
+
const [updated] = (await this.authIdentityRepo.update([{ id, ...data }]));
|
|
68
|
+
return updated;
|
|
69
|
+
}
|
|
70
|
+
// --- JWT ---
|
|
71
|
+
async generateToken(payload, secret, expiresIn = '7d') {
|
|
72
|
+
// Simple JWT: header.payload.signature
|
|
73
|
+
const header = Buffer.from(JSON.stringify({ alg: 'HS256', typ: 'JWT' })).toString('base64url');
|
|
74
|
+
const now = Math.floor(Date.now() / 1000);
|
|
75
|
+
const exp = now + parseExpiry(expiresIn);
|
|
76
|
+
const body = Buffer.from(JSON.stringify({
|
|
77
|
+
...payload,
|
|
78
|
+
iat: now,
|
|
79
|
+
exp,
|
|
80
|
+
})).toString('base64url');
|
|
81
|
+
const { createHmac } = await import('node:crypto');
|
|
82
|
+
const signature = createHmac('sha256', secret).update(`${header}.${body}`).digest('base64url');
|
|
83
|
+
return `${header}.${body}.${signature}`;
|
|
84
|
+
}
|
|
85
|
+
async verifyToken(token, secret) {
|
|
86
|
+
const parts = token.split('.');
|
|
87
|
+
if (parts.length !== 3)
|
|
88
|
+
throw new MantaError('UNAUTHORIZED', 'Invalid token format');
|
|
89
|
+
const [header, body, signature] = parts;
|
|
90
|
+
// Verify signature
|
|
91
|
+
const { createHmac, timingSafeEqual } = await import('node:crypto');
|
|
92
|
+
const expected = createHmac('sha256', secret).update(`${header}.${body}`).digest('base64url');
|
|
93
|
+
const sigBuffer = Buffer.from(signature, 'base64url');
|
|
94
|
+
const expectedBuffer = Buffer.from(expected, 'base64url');
|
|
95
|
+
if (sigBuffer.length !== expectedBuffer.length || !timingSafeEqual(sigBuffer, expectedBuffer)) {
|
|
96
|
+
throw new MantaError('UNAUTHORIZED', 'Invalid token signature');
|
|
97
|
+
}
|
|
98
|
+
// Decode payload
|
|
99
|
+
const payload = JSON.parse(Buffer.from(body, 'base64url').toString());
|
|
100
|
+
// Check expiry
|
|
101
|
+
if (payload.exp && payload.exp < Math.floor(Date.now() / 1000)) {
|
|
102
|
+
throw new MantaError('UNAUTHORIZED', 'Token expired');
|
|
103
|
+
}
|
|
104
|
+
return payload;
|
|
105
|
+
}
|
|
106
|
+
// --- Session management via ICachePort ---
|
|
107
|
+
async createSession(authContext, options) {
|
|
108
|
+
if (!this.cache)
|
|
109
|
+
throw new MantaError('INVALID_STATE', 'Cache not configured for sessions');
|
|
110
|
+
const sessionId = crypto.randomUUID();
|
|
111
|
+
const ttl = options?.ttl ?? 86400;
|
|
112
|
+
const expiresAt = new Date(Date.now() + ttl * 1000);
|
|
113
|
+
await this.cache.set(`session:${sessionId}`, authContext, ttl);
|
|
114
|
+
return { sessionId, expiresAt };
|
|
115
|
+
}
|
|
116
|
+
async verifySession(sessionId) {
|
|
117
|
+
if (!this.cache)
|
|
118
|
+
return null;
|
|
119
|
+
const data = await this.cache.get(`session:${sessionId}`);
|
|
120
|
+
return data ?? null;
|
|
121
|
+
}
|
|
122
|
+
async destroySession(sessionId) {
|
|
123
|
+
if (!this.cache)
|
|
124
|
+
return;
|
|
125
|
+
await this.cache.invalidate(`session:${sessionId}`);
|
|
126
|
+
}
|
|
127
|
+
// --- Internal: create provider service for delegation ---
|
|
128
|
+
createProviderService(_provider) {
|
|
129
|
+
const self = this;
|
|
130
|
+
return {
|
|
131
|
+
async create(data) {
|
|
132
|
+
// Create AuthIdentity + ProviderIdentity
|
|
133
|
+
const authIdentity = await self.createAuthIdentity({});
|
|
134
|
+
await self.providerIdentityRepo.create([
|
|
135
|
+
{
|
|
136
|
+
entity_id: data.entity_id,
|
|
137
|
+
provider: data.provider,
|
|
138
|
+
auth_identity_id: authIdentity.id,
|
|
139
|
+
user_metadata: data.user_metadata ?? {},
|
|
140
|
+
provider_metadata: data.provider_metadata ?? {},
|
|
141
|
+
},
|
|
142
|
+
]);
|
|
143
|
+
return authIdentity;
|
|
144
|
+
},
|
|
145
|
+
async update(entity_id, provider, data) {
|
|
146
|
+
const existing = await this.retrieve(entity_id, provider);
|
|
147
|
+
if (!existing)
|
|
148
|
+
throw new MantaError('NOT_FOUND', `ProviderIdentity not found`);
|
|
149
|
+
await self.providerIdentityRepo.update([
|
|
150
|
+
{
|
|
151
|
+
id: existing.id,
|
|
152
|
+
...data,
|
|
153
|
+
},
|
|
154
|
+
]);
|
|
155
|
+
return existing.auth_identity;
|
|
156
|
+
},
|
|
157
|
+
async retrieve(entity_id, provider) {
|
|
158
|
+
const results = (await self.providerIdentityRepo.find({
|
|
159
|
+
where: { entity_id, provider },
|
|
160
|
+
}));
|
|
161
|
+
if (results.length === 0)
|
|
162
|
+
return null;
|
|
163
|
+
const pi = results[0];
|
|
164
|
+
const ai = (await self.authIdentityRepo.find({ where: { id: pi.auth_identity_id } }));
|
|
165
|
+
const identity = ai[0] ?? { id: pi.auth_identity_id };
|
|
166
|
+
return {
|
|
167
|
+
id: pi.id,
|
|
168
|
+
provider_metadata: pi.provider_metadata,
|
|
169
|
+
auth_identity: {
|
|
170
|
+
id: identity.id,
|
|
171
|
+
app_metadata: identity.app_metadata,
|
|
172
|
+
},
|
|
173
|
+
};
|
|
174
|
+
},
|
|
175
|
+
async setState(key, value) {
|
|
176
|
+
if (self.cache) {
|
|
177
|
+
await self.cache.set(`auth_state:${key}`, value, 600); // 10 min TTL
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
async getState(key) {
|
|
181
|
+
if (!self.cache)
|
|
182
|
+
return null;
|
|
183
|
+
const data = await self.cache.get(`auth_state:${key}`);
|
|
184
|
+
if (data)
|
|
185
|
+
await self.cache.invalidate(`auth_state:${key}`); // one-time use
|
|
186
|
+
return data;
|
|
187
|
+
},
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function parseExpiry(expiry) {
|
|
192
|
+
const match = expiry.match(/^(\d+)([smhd])$/);
|
|
193
|
+
if (!match)
|
|
194
|
+
return 3600; // default 1h
|
|
195
|
+
const [, num, unit] = match;
|
|
196
|
+
const n = Number.parseInt(num, 10);
|
|
197
|
+
switch (unit) {
|
|
198
|
+
case 's':
|
|
199
|
+
return n;
|
|
200
|
+
case 'm':
|
|
201
|
+
return n * 60;
|
|
202
|
+
case 'h':
|
|
203
|
+
return n * 3600;
|
|
204
|
+
case 'd':
|
|
205
|
+
return n * 86400;
|
|
206
|
+
default:
|
|
207
|
+
return 3600;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=auth-module-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-module-service.js","sourceRoot":"","sources":["../../src/auth/auth-module-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { AuthModuleService, type AuthModuleServiceDeps } from './auth-module-service';
|
|
2
|
+
export { type AuthenticateOptions, extractAuthContext } from './middleware';
|
|
3
|
+
export { AuthIdentity, ProviderIdentity } from './models/auth-identity';
|
|
4
|
+
export { EmailpassAuthProvider } from './providers/emailpass';
|
|
5
|
+
export type { AuthenticationInput, AuthenticationResponse, IAuthIdentityProviderService, IAuthProvider, } from './providers/types';
|
|
6
|
+
export type { AuthContext } from './types';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACrF,OAAO,EAAE,KAAK,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,aAAa,GACd,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { AuthModuleService } from './auth-module-service';
|
|
2
|
+
export { extractAuthContext } from './middleware';
|
|
3
|
+
export { AuthIdentity, ProviderIdentity } from './models/auth-identity';
|
|
4
|
+
export { EmailpassAuthProvider } from './providers/emailpass';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,uBAAuB,CAAA;AACrF,OAAO,EAA4B,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AuthModuleService } from './auth-module-service';
|
|
2
|
+
import type { AuthContext } from './types';
|
|
3
|
+
export interface AuthenticateOptions {
|
|
4
|
+
allowUnregistered?: boolean;
|
|
5
|
+
allowUnauthenticated?: boolean;
|
|
6
|
+
logger?: {
|
|
7
|
+
warn: (msg: string) => void;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Extract auth context from a request.
|
|
12
|
+
* Checks Bearer token first, then session cookie.
|
|
13
|
+
*
|
|
14
|
+
* @param actorType - Expected actor type ("user", "customer", "*" for any)
|
|
15
|
+
* @param authTypes - Allowed auth methods: "bearer", "session", or array
|
|
16
|
+
* @param options - Allow unregistered/unauthenticated access
|
|
17
|
+
*/
|
|
18
|
+
export declare function extractAuthContext(headers: Record<string, string | undefined>, sessionId: string | undefined, authService: AuthModuleService, jwtSecret: string, actorType: string, authTypes?: string | string[], options?: AuthenticateOptions): Promise<AuthContext | null>;
|
|
19
|
+
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/auth/middleware.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAA;CACzC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3C,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAM,GAAG,MAAM,EAA0B,EACpD,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAG7B"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// authenticate() middleware — ISO Medusa V2
|
|
2
|
+
// Extracts auth context from JWT (Bearer) or session (cookie), sets req.auth_context.
|
|
3
|
+
import { MantaError } from '../errors/manta-error';
|
|
4
|
+
/**
|
|
5
|
+
* Extract auth context from a request.
|
|
6
|
+
* Checks Bearer token first, then session cookie.
|
|
7
|
+
*
|
|
8
|
+
* @param actorType - Expected actor type ("user", "customer", "*" for any)
|
|
9
|
+
* @param authTypes - Allowed auth methods: "bearer", "session", or array
|
|
10
|
+
* @param options - Allow unregistered/unauthenticated access
|
|
11
|
+
*/
|
|
12
|
+
export function extractAuthContext(headers, sessionId, authService, jwtSecret, actorType, authTypes = ['bearer', 'session'], options) {
|
|
13
|
+
const types = Array.isArray(authTypes) ? authTypes : [authTypes];
|
|
14
|
+
return _extractAuthContext(headers, sessionId, authService, jwtSecret, actorType, types, options);
|
|
15
|
+
}
|
|
16
|
+
async function _extractAuthContext(headers, sessionId, authService, jwtSecret, actorType, authTypes, options) {
|
|
17
|
+
let authContext = null;
|
|
18
|
+
// 1. Try Bearer token
|
|
19
|
+
if (authTypes.includes('bearer')) {
|
|
20
|
+
const authHeader = headers.authorization || headers.Authorization;
|
|
21
|
+
if (authHeader?.startsWith('Bearer ')) {
|
|
22
|
+
const token = authHeader.slice(7);
|
|
23
|
+
try {
|
|
24
|
+
const payload = await authService.verifyToken(token, jwtSecret);
|
|
25
|
+
authContext = {
|
|
26
|
+
id: payload.id,
|
|
27
|
+
type: payload.type,
|
|
28
|
+
auth_identity_id: payload.auth_identity_id,
|
|
29
|
+
metadata: payload.metadata,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
options?.logger?.warn(`[auth] Bearer token verification failed: ${err.message}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// 2. Try session
|
|
38
|
+
if (!authContext && authTypes.includes('session') && sessionId) {
|
|
39
|
+
const sessionData = await authService.verifySession(sessionId);
|
|
40
|
+
if (sessionData) {
|
|
41
|
+
authContext = sessionData;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// 3. Decide
|
|
45
|
+
if (authContext?.id) {
|
|
46
|
+
// Fully authenticated
|
|
47
|
+
if (actorType !== '*' && authContext.type !== actorType) {
|
|
48
|
+
throw new MantaError('UNAUTHORIZED', `Actor type "${authContext.type}" not allowed for "${actorType}"`);
|
|
49
|
+
}
|
|
50
|
+
return authContext;
|
|
51
|
+
}
|
|
52
|
+
if (authContext?.auth_identity_id && options?.allowUnregistered) {
|
|
53
|
+
// Has auth identity but no id yet (registered with provider, not linked to user)
|
|
54
|
+
return authContext;
|
|
55
|
+
}
|
|
56
|
+
if (options?.allowUnauthenticated) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
throw new MantaError('UNAUTHORIZED', 'Authentication required');
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/auth/middleware.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sFAAsF;AAEtF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAUlD;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAA2C,EAC3C,SAA6B,EAC7B,WAA8B,EAC9B,SAAiB,EACjB,SAAiB,EACjB,YAA+B,CAAC,QAAQ,EAAE,SAAS,CAAC,EACpD,OAA6B;IAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAChE,OAAO,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACnG,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAA2C,EAC3C,SAA6B,EAC7B,WAA8B,EAC9B,SAAiB,EACjB,SAAiB,EACjB,SAAmB,EACnB,OAA6B;IAE7B,IAAI,WAAW,GAAuB,IAAI,CAAA;IAE1C,sBAAsB;IACtB,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAA;QACjE,IAAI,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACjC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;gBAC/D,WAAW,GAAG;oBACZ,EAAE,EAAE,OAAO,CAAC,EAAY;oBACxB,IAAI,EAAE,OAAO,CAAC,IAA2B;oBACzC,gBAAgB,EAAE,OAAO,CAAC,gBAA0B;oBACpD,QAAQ,EAAE,OAAO,CAAC,QAAmC;iBACtD,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,4CAA6C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAA;YAC7F,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;QAC/D,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAC9D,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,GAAG,WAAqC,CAAA;QACrD,CAAC;IACH,CAAC;IAED,YAAY;IACZ,IAAI,WAAW,EAAE,EAAE,EAAE,CAAC;QACpB,sBAAsB;QACtB,IAAI,SAAS,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE,eAAe,WAAW,CAAC,IAAI,sBAAsB,SAAS,GAAG,CAAC,CAAA;QACzG,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,IAAI,WAAW,EAAE,gBAAgB,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAChE,iFAAiF;QACjF,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAA;AACjE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const AuthIdentity: import("../..").DmlEntity<{
|
|
2
|
+
app_metadata: import("../../dml/properties/base").NullableApi<any>;
|
|
3
|
+
}>;
|
|
4
|
+
export declare const ProviderIdentity: import("../..").DmlEntity<{
|
|
5
|
+
entity_id: import("../../dml/properties/base").TextApi;
|
|
6
|
+
provider: import("../../dml/properties/base").TextApi;
|
|
7
|
+
auth_identity_id: import("../../dml/properties/base").TextApi;
|
|
8
|
+
user_metadata: import("../../dml/properties/base").NullableApi<any>;
|
|
9
|
+
provider_metadata: import("../../dml/properties/base").NullableApi<any>;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=auth-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-identity.d.ts","sourceRoot":"","sources":["../../../src/auth/models/auth-identity.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;EAEvB,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;EAM3B,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { field, model } from '../../dml/model';
|
|
2
|
+
export const AuthIdentity = model.define('AuthIdentity', {
|
|
3
|
+
app_metadata: field.json().nullable(),
|
|
4
|
+
});
|
|
5
|
+
export const ProviderIdentity = model.define('ProviderIdentity', {
|
|
6
|
+
entity_id: field.text(),
|
|
7
|
+
provider: field.text().index(),
|
|
8
|
+
auth_identity_id: field.text().index(),
|
|
9
|
+
user_metadata: field.json().nullable(),
|
|
10
|
+
provider_metadata: field.json().nullable(),
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=auth-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-identity.js","sourceRoot":"","sources":["../../../src/auth/models/auth-identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IACvD,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IAC/D,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE;IACvB,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE;IAC9B,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE;IACtC,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACtC,iBAAiB,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AuthenticationInput, AuthenticationResponse, IAuthIdentityProviderService, IAuthProvider } from './types';
|
|
2
|
+
export declare class EmailpassAuthProvider implements IAuthProvider {
|
|
3
|
+
register(data: AuthenticationInput, authIdentityService: IAuthIdentityProviderService): Promise<AuthenticationResponse>;
|
|
4
|
+
authenticate(data: AuthenticationInput, authIdentityService: IAuthIdentityProviderService): Promise<AuthenticationResponse>;
|
|
5
|
+
update(data: Record<string, unknown>, authIdentityService: IAuthIdentityProviderService): Promise<AuthenticationResponse>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=emailpass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emailpass.d.ts","sourceRoot":"","sources":["../../../src/auth/providers/emailpass.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AA0BvH,qBAAa,qBAAsB,YAAW,aAAa;IACnD,QAAQ,CACZ,IAAI,EAAE,mBAAmB,EACzB,mBAAmB,EAAE,4BAA4B,GAChD,OAAO,CAAC,sBAAsB,CAAC;IA2B5B,YAAY,CAChB,IAAI,EAAE,mBAAmB,EACzB,mBAAmB,EAAE,4BAA4B,GAChD,OAAO,CAAC,sBAAsB,CAAC;IA8B5B,MAAM,CACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,mBAAmB,EAAE,4BAA4B,GAChD,OAAO,CAAC,sBAAsB,CAAC;CAuBnC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Emailpass auth provider — ISO Medusa's @medusajs/auth-emailpass
|
|
2
|
+
// Handles email/password registration and authentication.
|
|
3
|
+
import { randomBytes, scryptSync, timingSafeEqual } from 'node:crypto';
|
|
4
|
+
/**
|
|
5
|
+
* Hash a password using scrypt (no bcrypt dependency needed).
|
|
6
|
+
* Format: salt:hash (both hex-encoded).
|
|
7
|
+
*/
|
|
8
|
+
async function hashPassword(password) {
|
|
9
|
+
const salt = randomBytes(16).toString('hex');
|
|
10
|
+
const hash = scryptSync(password, salt, 64).toString('hex');
|
|
11
|
+
return `${salt}:${hash}`;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Compare a password against a stored hash.
|
|
15
|
+
*/
|
|
16
|
+
async function comparePassword(password, storedHash) {
|
|
17
|
+
const [salt, hash] = storedHash.split(':');
|
|
18
|
+
if (!salt || !hash)
|
|
19
|
+
return false;
|
|
20
|
+
const derived = scryptSync(password, salt, 64).toString('hex');
|
|
21
|
+
// Timing-safe comparison
|
|
22
|
+
const hashBuffer = Buffer.from(hash, 'hex');
|
|
23
|
+
const derivedBuffer = Buffer.from(derived, 'hex');
|
|
24
|
+
if (hashBuffer.length !== derivedBuffer.length)
|
|
25
|
+
return false;
|
|
26
|
+
return timingSafeEqual(hashBuffer, derivedBuffer);
|
|
27
|
+
}
|
|
28
|
+
export class EmailpassAuthProvider {
|
|
29
|
+
async register(data, authIdentityService) {
|
|
30
|
+
const { email, password } = data.body;
|
|
31
|
+
if (!email || !password) {
|
|
32
|
+
return { success: false, error: 'Email and password are required' };
|
|
33
|
+
}
|
|
34
|
+
// Check if already registered
|
|
35
|
+
const existing = await authIdentityService.retrieve(email, 'emailpass');
|
|
36
|
+
if (existing) {
|
|
37
|
+
return { success: false, error: 'Identity already exists for this email' };
|
|
38
|
+
}
|
|
39
|
+
// Hash password
|
|
40
|
+
const hashedPassword = await hashPassword(password);
|
|
41
|
+
// Create auth identity + provider identity
|
|
42
|
+
const authIdentity = await authIdentityService.create({
|
|
43
|
+
entity_id: email,
|
|
44
|
+
provider: 'emailpass',
|
|
45
|
+
provider_metadata: { password: hashedPassword },
|
|
46
|
+
user_metadata: { email },
|
|
47
|
+
});
|
|
48
|
+
return { success: true, authIdentity };
|
|
49
|
+
}
|
|
50
|
+
async authenticate(data, authIdentityService) {
|
|
51
|
+
const { email, password } = data.body;
|
|
52
|
+
if (!email || !password) {
|
|
53
|
+
return { success: false, error: 'Email and password are required' };
|
|
54
|
+
}
|
|
55
|
+
// Find provider identity
|
|
56
|
+
const providerIdentity = await authIdentityService.retrieve(email, 'emailpass');
|
|
57
|
+
if (!providerIdentity) {
|
|
58
|
+
return { success: false, error: 'Invalid email or password' };
|
|
59
|
+
}
|
|
60
|
+
// Compare password
|
|
61
|
+
const storedHash = providerIdentity.provider_metadata?.password;
|
|
62
|
+
if (!storedHash) {
|
|
63
|
+
return { success: false, error: 'Invalid email or password' };
|
|
64
|
+
}
|
|
65
|
+
const isValid = await comparePassword(password, storedHash);
|
|
66
|
+
if (!isValid) {
|
|
67
|
+
return { success: false, error: 'Invalid email or password' };
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
success: true,
|
|
71
|
+
authIdentity: providerIdentity.auth_identity,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
async update(data, authIdentityService) {
|
|
75
|
+
const email = typeof data.email === 'string' ? data.email : undefined;
|
|
76
|
+
const password = typeof data.password === 'string' ? data.password : undefined;
|
|
77
|
+
if (!email || !password) {
|
|
78
|
+
return { success: false, error: 'Email and password are required' };
|
|
79
|
+
}
|
|
80
|
+
const existing = await authIdentityService.retrieve(email, 'emailpass');
|
|
81
|
+
if (!existing) {
|
|
82
|
+
return { success: false, error: 'Invalid email or password' };
|
|
83
|
+
}
|
|
84
|
+
const hashedPassword = await hashPassword(password);
|
|
85
|
+
const authIdentity = await authIdentityService.update(email, 'emailpass', {
|
|
86
|
+
provider_metadata: {
|
|
87
|
+
...(existing.provider_metadata ?? {}),
|
|
88
|
+
password: hashedPassword,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
return { success: true, authIdentity };
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=emailpass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emailpass.js","sourceRoot":"","sources":["../../../src/auth/providers/emailpass.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export interface AuthenticationInput {
|
|
2
|
+
url: string;
|
|
3
|
+
headers: Record<string, string>;
|
|
4
|
+
query: Record<string, string>;
|
|
5
|
+
body: Record<string, unknown>;
|
|
6
|
+
protocol: string;
|
|
7
|
+
}
|
|
8
|
+
export interface AuthenticationResponse {
|
|
9
|
+
success: boolean;
|
|
10
|
+
authIdentity?: {
|
|
11
|
+
id: string;
|
|
12
|
+
app_metadata?: Record<string, unknown>;
|
|
13
|
+
};
|
|
14
|
+
error?: string;
|
|
15
|
+
/** Redirect URL for OAuth flows */
|
|
16
|
+
location?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Auth provider contract — same as Medusa's AbstractAuthModuleProvider.
|
|
20
|
+
* Each provider (emailpass, google, github) implements this.
|
|
21
|
+
*/
|
|
22
|
+
export interface IAuthProvider {
|
|
23
|
+
/** Authenticate an existing identity */
|
|
24
|
+
authenticate(data: AuthenticationInput, authIdentityService: IAuthIdentityProviderService): Promise<AuthenticationResponse>;
|
|
25
|
+
/** Register a new identity */
|
|
26
|
+
register(data: AuthenticationInput, authIdentityService: IAuthIdentityProviderService): Promise<AuthenticationResponse>;
|
|
27
|
+
/** Handle OAuth callback */
|
|
28
|
+
validateCallback?(data: AuthenticationInput, authIdentityService: IAuthIdentityProviderService): Promise<AuthenticationResponse>;
|
|
29
|
+
/** Update provider data (e.g., new OAuth token) */
|
|
30
|
+
update?(data: Record<string, unknown>, authIdentityService: IAuthIdentityProviderService): Promise<AuthenticationResponse>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Service interface passed to auth providers for identity management.
|
|
34
|
+
* Allows providers to create/update auth identities without knowing the storage layer.
|
|
35
|
+
*/
|
|
36
|
+
export interface IAuthIdentityProviderService {
|
|
37
|
+
create(data: {
|
|
38
|
+
entity_id: string;
|
|
39
|
+
provider: string;
|
|
40
|
+
user_metadata?: Record<string, unknown>;
|
|
41
|
+
provider_metadata?: Record<string, unknown>;
|
|
42
|
+
}): Promise<{
|
|
43
|
+
id: string;
|
|
44
|
+
app_metadata?: Record<string, unknown>;
|
|
45
|
+
}>;
|
|
46
|
+
update(entity_id: string, provider: string, data: {
|
|
47
|
+
user_metadata?: Record<string, unknown>;
|
|
48
|
+
provider_metadata?: Record<string, unknown>;
|
|
49
|
+
}): Promise<{
|
|
50
|
+
id: string;
|
|
51
|
+
app_metadata?: Record<string, unknown>;
|
|
52
|
+
}>;
|
|
53
|
+
retrieve(entity_id: string, provider: string): Promise<{
|
|
54
|
+
id: string;
|
|
55
|
+
provider_metadata?: Record<string, unknown>;
|
|
56
|
+
auth_identity: {
|
|
57
|
+
id: string;
|
|
58
|
+
app_metadata?: Record<string, unknown>;
|
|
59
|
+
};
|
|
60
|
+
} | null>;
|
|
61
|
+
/** Store temporary state (OAuth state param, PKCE verifier) */
|
|
62
|
+
setState(key: string, value: Record<string, unknown>): Promise<void>;
|
|
63
|
+
/** Retrieve and delete state (one-time use) */
|
|
64
|
+
getState(key: string): Promise<Record<string, unknown> | null>;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/auth/providers/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/auth/providers/types.ts"],"names":[],"mappings":"AAAA,uEAAuE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication context attached to a request scope.
|
|
3
|
+
* Propagated through the entire request lifecycle.
|
|
4
|
+
*
|
|
5
|
+
* - `id` — the authenticated user's ID (from the user table, e.g. admin_user.id)
|
|
6
|
+
* - `type` — the context type (from defineUser, e.g. 'admin', 'customer')
|
|
7
|
+
* - `email` — the user's email (if available in token metadata)
|
|
8
|
+
*/
|
|
9
|
+
export interface AuthContext {
|
|
10
|
+
/** User ID (from the context's user table, e.g. admin_user.id). */
|
|
11
|
+
id: string;
|
|
12
|
+
/** Context type (from defineUser, e.g. 'admin', 'customer'). */
|
|
13
|
+
type: string;
|
|
14
|
+
/** User email (from token metadata). */
|
|
15
|
+
email?: string;
|
|
16
|
+
/** Internal auth identity ID (for token management). */
|
|
17
|
+
auth_identity_id?: string;
|
|
18
|
+
/** Additional metadata from the token. */
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Credentials extracted from a request by the HTTP adapter.
|
|
23
|
+
* Passed to IAuthGateway.authenticate().
|
|
24
|
+
*/
|
|
25
|
+
export interface AuthCredentials {
|
|
26
|
+
bearer?: string;
|
|
27
|
+
apiKey?: string;
|
|
28
|
+
sessionId?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Options for session creation.
|
|
32
|
+
*/
|
|
33
|
+
export interface SessionOptions {
|
|
34
|
+
ttl?: number;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAA;IACV,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA,4BAA4B"}
|