@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 @@
|
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../src/workflows/step.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import type { MantaApp } from '../app';
|
|
2
|
+
import type { Message } from '../events/types';
|
|
3
|
+
import type { IProgressChannelPort } from '../ports/progress-channel';
|
|
4
|
+
import type { IWorkflowStorePort } from '../ports/workflow-store';
|
|
5
|
+
/**
|
|
6
|
+
* Per-batch info passed to `ctx.forEach` handler and message formatter.
|
|
7
|
+
* See WORKFLOW_PROGRESS.md §6.4.
|
|
8
|
+
*/
|
|
9
|
+
export interface ForEachInfo {
|
|
10
|
+
/** Number of items already processed (count before this batch completes). */
|
|
11
|
+
done: number;
|
|
12
|
+
/** Total expected count. `null` for unbounded AsyncIterable streams. */
|
|
13
|
+
total: number | null;
|
|
14
|
+
/** Zero-based index of the batch that just completed / is being processed. */
|
|
15
|
+
batchIndex: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Context available inside step invoke and compensate functions.
|
|
19
|
+
*/
|
|
20
|
+
export interface StepContext {
|
|
21
|
+
app: MantaApp;
|
|
22
|
+
/** @internal Workflow context — set by WorkflowManager, used by createStep */
|
|
23
|
+
__wfCtx?: WorkflowContext;
|
|
24
|
+
/**
|
|
25
|
+
* Report progress for the current step. Fire-and-forget, synchronous return, never throws.
|
|
26
|
+
* See WORKFLOW_PROGRESS.md §6.2 and §10.2.
|
|
27
|
+
*/
|
|
28
|
+
progress?: (current: number, total: number | null, message?: string) => void;
|
|
29
|
+
/**
|
|
30
|
+
* AbortSignal tied to the current workflow run. Fires when cancellation is
|
|
31
|
+
* observed at a step boundary. Long-running steps should pass this to I/O
|
|
32
|
+
* (`fetch(url, { signal: ctx.signal })`) or check `.aborted` between work units.
|
|
33
|
+
* See WORKFLOW_PROGRESS.md §6.3.
|
|
34
|
+
*/
|
|
35
|
+
signal?: AbortSignal;
|
|
36
|
+
/**
|
|
37
|
+
* Ergonomic helper — iterate `items` in batches of `opts.batchSize`, emitting
|
|
38
|
+
* progress after each batch and checking cancel between batches.
|
|
39
|
+
* See WORKFLOW_PROGRESS.md §6.4.
|
|
40
|
+
*/
|
|
41
|
+
forEach?: <T>(items: T[] | AsyncIterable<T>, opts: {
|
|
42
|
+
batchSize: number;
|
|
43
|
+
message?: (info: ForEachInfo) => string;
|
|
44
|
+
}, handler: (batch: T[], info: ForEachInfo) => Promise<void>) => Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Yield the workflow before the serverless host kills this invocation. The
|
|
47
|
+
* framework persists `resumeState` under the current step and enqueues a
|
|
48
|
+
* continuation via `IQueuePort` — when the queue delivers it, the workflow
|
|
49
|
+
* resumes and the step handler is re-invoked with `ctx.resumeState === resumeState`.
|
|
50
|
+
*
|
|
51
|
+
* Throws a non-retryable `WorkflowYield` error that the manager catches
|
|
52
|
+
* before the retry loop, so yielding is NOT a failure and compensation is
|
|
53
|
+
* NOT triggered. Use when a long-running step exceeds a serverless time
|
|
54
|
+
* budget and has an idempotent way to resume from a cursor.
|
|
55
|
+
*
|
|
56
|
+
* The opposite of `throw new MantaError(...)`: pause, don't fail.
|
|
57
|
+
*/
|
|
58
|
+
yield?: (resumeState: unknown) => never;
|
|
59
|
+
/**
|
|
60
|
+
* Resume state written by a previous invocation's `ctx.yield(state)`.
|
|
61
|
+
* `undefined` on the first call; set to the yielded value on every
|
|
62
|
+
* subsequent invocation of the same step until it completes.
|
|
63
|
+
*/
|
|
64
|
+
resumeState?: unknown;
|
|
65
|
+
/**
|
|
66
|
+
* Wall-clock budget (ms) allocated to this step by the manager, computed
|
|
67
|
+
* from the serverless function's max duration minus safety margin. Read
|
|
68
|
+
* this to decide when to `yield()` before the host kills the invocation.
|
|
69
|
+
* `Infinity` when no budget is configured (dev / long-running host).
|
|
70
|
+
*/
|
|
71
|
+
budgetMs?: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* A callable step. Call it inside a workflow to execute with checkpointing.
|
|
75
|
+
* Can also be called standalone (without workflow context) for testing.
|
|
76
|
+
*/
|
|
77
|
+
export type StepFn<TInput = unknown, TOutput = unknown> = (input: TInput, ctx: StepContext) => Promise<TOutput>;
|
|
78
|
+
export interface WorkflowDefinition<TInput = unknown, TOutput = unknown> {
|
|
79
|
+
name: string;
|
|
80
|
+
fn: (input: TInput, ctx: StepContext) => Promise<TOutput>;
|
|
81
|
+
}
|
|
82
|
+
export interface CompletedStep {
|
|
83
|
+
name: string;
|
|
84
|
+
output: unknown;
|
|
85
|
+
compensate?: (output: unknown, ctx: StepContext) => Promise<void>;
|
|
86
|
+
}
|
|
87
|
+
export interface WorkflowContext {
|
|
88
|
+
transactionId: string;
|
|
89
|
+
/**
|
|
90
|
+
* Alias for `transactionId`. `runId` is the forward-looking name used by the
|
|
91
|
+
* durable workflow store and progress-tracking feature (WORKFLOW_PROGRESS.md
|
|
92
|
+
* §5.1). The two strings are identical; `transactionId` is kept for back-compat.
|
|
93
|
+
*/
|
|
94
|
+
runId: string;
|
|
95
|
+
/** Checkpoints loaded from DB (step name → output) */
|
|
96
|
+
checkpoints: Map<string, unknown>;
|
|
97
|
+
/** Steps completed in this run (for compensation) */
|
|
98
|
+
completedSteps: CompletedStep[];
|
|
99
|
+
/** Counter per step name for uniqueness in loops */
|
|
100
|
+
stepCounter: Map<string, number>;
|
|
101
|
+
/** Event buffer group ID */
|
|
102
|
+
eventGroupId: string;
|
|
103
|
+
/** Buffer an event for deferred emission */
|
|
104
|
+
bufferEvent?: (event: Message) => void;
|
|
105
|
+
/** Persist a checkpoint to storage immediately (durable execution) */
|
|
106
|
+
saveCheckpoint?: (stepKey: string, output: unknown) => Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Durable run store — set by WorkflowManager when an IWorkflowStorePort is
|
|
109
|
+
* wired. Used by the engine for `updateStep`/`updateStatus` and cancel checks.
|
|
110
|
+
*/
|
|
111
|
+
store?: IWorkflowStorePort;
|
|
112
|
+
/**
|
|
113
|
+
* Ephemeral progress channel — set by WorkflowManager when an
|
|
114
|
+
* IProgressChannelPort is wired. Used by `ctx.progress` and `ctx.forEach`.
|
|
115
|
+
*/
|
|
116
|
+
progressChannel?: IProgressChannelPort;
|
|
117
|
+
/**
|
|
118
|
+
* Name of the step currently executing. Set by WorkflowManager immediately
|
|
119
|
+
* before invoking a step handler, cleared after. Read by `ctx.progress` /
|
|
120
|
+
* `ctx.forEach` so progress snapshots are tagged with the right step.
|
|
121
|
+
*/
|
|
122
|
+
stepName?: string;
|
|
123
|
+
/**
|
|
124
|
+
* AbortSignal from the per-run AbortController. Fires when cancellation is
|
|
125
|
+
* detected at a step boundary (cancel_requested_at set on the run).
|
|
126
|
+
*/
|
|
127
|
+
signal?: AbortSignal;
|
|
128
|
+
/**
|
|
129
|
+
* Map of stepKey → resumeState persisted by a previous invocation that
|
|
130
|
+
* `ctx.yield(state)`ed. Populated by the manager on resume from
|
|
131
|
+
* `workflow_runs.steps[*].resume_state`. Consumed by createStep / step.action
|
|
132
|
+
* via `ctx.resumeState` on the matching step; `undefined` on first run.
|
|
133
|
+
*/
|
|
134
|
+
resumeStates?: Map<string, unknown>;
|
|
135
|
+
/**
|
|
136
|
+
* Wall-clock budget (ms) propagated into every step's `ctx.budgetMs`. Set
|
|
137
|
+
* by the WorkflowManager when serverless host timing is known (`Infinity`
|
|
138
|
+
* otherwise). Steps self-yield via `ctx.yield(state)` when the budget is
|
|
139
|
+
* about to expire.
|
|
140
|
+
*/
|
|
141
|
+
budgetMs?: number;
|
|
142
|
+
}
|
|
143
|
+
/** @internal */
|
|
144
|
+
export interface RetryPolicy {
|
|
145
|
+
maxAttempts: number;
|
|
146
|
+
initialIntervalMs: number;
|
|
147
|
+
backoffMultiplier: number;
|
|
148
|
+
maxIntervalMs: number;
|
|
149
|
+
}
|
|
150
|
+
/** @internal Framework default: 3 attempts, exponential backoff */
|
|
151
|
+
export declare const RETRY_POLICY: RetryPolicy;
|
|
152
|
+
export interface WorkflowRunOptions {
|
|
153
|
+
input?: Record<string, unknown>;
|
|
154
|
+
transactionId?: string;
|
|
155
|
+
/** Checkpoint strategy: 'per-step' (default) or 'batched' (writes all at end) */
|
|
156
|
+
checkpointMode?: 'per-step' | 'batched';
|
|
157
|
+
/** Cleanup checkpoints after successful completion (default: true) */
|
|
158
|
+
cleanup?: boolean;
|
|
159
|
+
}
|
|
160
|
+
export interface WorkflowRunResult {
|
|
161
|
+
transaction: {
|
|
162
|
+
transactionId: string;
|
|
163
|
+
state: 'done' | 'invoking' | 'failed';
|
|
164
|
+
};
|
|
165
|
+
result?: unknown;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Configuration for CRUD steps (step.create, step.update, step.delete).
|
|
169
|
+
*/
|
|
170
|
+
export interface CrudStepConfig {
|
|
171
|
+
entity: string;
|
|
172
|
+
serviceSuffix?: string;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Configuration for action steps (step.action).
|
|
176
|
+
* Compensation is REQUIRED.
|
|
177
|
+
*/
|
|
178
|
+
export interface ActionStepConfig<TInput = unknown, TOutput = unknown> {
|
|
179
|
+
invoke: (input: TInput, ctx: StepContext) => Promise<TOutput>;
|
|
180
|
+
compensate: (output: TOutput, ctx: StepContext) => Promise<void>;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* WorkflowResult — returned by createWorkflow().run() via WorkflowManager.
|
|
184
|
+
*/
|
|
185
|
+
export interface WorkflowResult<T = unknown> {
|
|
186
|
+
transaction: {
|
|
187
|
+
transactionId: string;
|
|
188
|
+
state: 'done' | 'invoking' | 'failed';
|
|
189
|
+
};
|
|
190
|
+
result?: T;
|
|
191
|
+
}
|
|
192
|
+
export interface StepDefinition {
|
|
193
|
+
name: string;
|
|
194
|
+
handler: (ctx: StepHandlerContext) => Promise<unknown>;
|
|
195
|
+
compensation?: (ctx: {
|
|
196
|
+
output: Record<string, unknown>;
|
|
197
|
+
context: StepResolveContext;
|
|
198
|
+
input?: unknown;
|
|
199
|
+
}) => Promise<void>;
|
|
200
|
+
__compensateInput?: unknown;
|
|
201
|
+
__async?: boolean;
|
|
202
|
+
__timeout?: number;
|
|
203
|
+
__maxRetries?: number;
|
|
204
|
+
}
|
|
205
|
+
export interface StepHandlerContext {
|
|
206
|
+
input: Record<string, unknown>;
|
|
207
|
+
previousOutput: Record<string, unknown>;
|
|
208
|
+
context: StepResolveContext;
|
|
209
|
+
}
|
|
210
|
+
export interface StepResolveContext {
|
|
211
|
+
resolve<T>(key: string): T;
|
|
212
|
+
_bufferEvent?: (event: Message) => void;
|
|
213
|
+
transactionId?: string;
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflows/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Workflow types — imperative async-first API
|
|
2
|
+
/** @internal Framework default: 3 attempts, exponential backoff */
|
|
3
|
+
export const RETRY_POLICY = {
|
|
4
|
+
maxAttempts: 3,
|
|
5
|
+
initialIntervalMs: 250,
|
|
6
|
+
backoffMultiplier: 2,
|
|
7
|
+
maxIntervalMs: 5000,
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflows/types.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAoL9C,mEAAmE;AACnE,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,WAAW,EAAE,CAAC;IACd,iBAAiB,EAAE,GAAG;IACtB,iBAAiB,EAAE,CAAC;IACpB,aAAa,EAAE,IAAI;CACpB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class WorkflowYield extends Error {
|
|
2
|
+
readonly resumeState: unknown;
|
|
3
|
+
readonly name = "WorkflowYield";
|
|
4
|
+
constructor(resumeState: unknown);
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Type guard for WorkflowYield. Checks `name === 'WorkflowYield'` rather than
|
|
8
|
+
* `instanceof` so it works across module-graph duplicates (e.g. when core is
|
|
9
|
+
* loaded twice under pnpm workspace + Nitro inlining).
|
|
10
|
+
*/
|
|
11
|
+
export declare function isWorkflowYield(err: unknown): err is WorkflowYield;
|
|
12
|
+
//# sourceMappingURL=yield.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yield.d.ts","sourceRoot":"","sources":["../../src/workflows/yield.ts"],"names":[],"mappings":"AAaA,qBAAa,aAAc,SAAQ,KAAK;aAGV,WAAW,EAAE,OAAO;IAFhD,QAAQ,CAAC,IAAI,mBAAkB;gBAEH,WAAW,EAAE,OAAO;CAGjD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAElE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// WorkflowYield — non-error control-flow exception used by `ctx.yield(state)`
|
|
2
|
+
// to pause a workflow mid-step before the serverless host kills the invocation.
|
|
3
|
+
//
|
|
4
|
+
// Contrast with CancelledError + MantaError:
|
|
5
|
+
// - MantaError / plain throw → workflow failed, compensation runs, retry may trigger
|
|
6
|
+
// - CancelledError → workflow cancelled by user, compensation runs
|
|
7
|
+
// - WorkflowYield → workflow paused, NO compensation, resume scheduled
|
|
8
|
+
//
|
|
9
|
+
// The manager catches this BEFORE the retry+compensation loop (manager.ts),
|
|
10
|
+
// persists `resumeState` under the current step, moves the run to status
|
|
11
|
+
// `'paused'`, and asks the configured `IQueuePort` to schedule a continuation
|
|
12
|
+
// via `POST /api/<ctx>/_workflow/:runId/resume`.
|
|
13
|
+
export class WorkflowYield extends Error {
|
|
14
|
+
resumeState;
|
|
15
|
+
name = 'WorkflowYield';
|
|
16
|
+
constructor(resumeState) {
|
|
17
|
+
super('workflow yielded — scheduled for continuation');
|
|
18
|
+
this.resumeState = resumeState;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Type guard for WorkflowYield. Checks `name === 'WorkflowYield'` rather than
|
|
23
|
+
* `instanceof` so it works across module-graph duplicates (e.g. when core is
|
|
24
|
+
* loaded twice under pnpm workspace + Nitro inlining).
|
|
25
|
+
*/
|
|
26
|
+
export function isWorkflowYield(err) {
|
|
27
|
+
return err !== null && typeof err === 'object' && err.name === 'WorkflowYield';
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=yield.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yield.js","sourceRoot":"","sources":["../../src/workflows/yield.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gFAAgF;AAChF,EAAE;AACF,6CAA6C;AAC7C,uFAAuF;AACvF,8EAA8E;AAC9E,oFAAoF;AACpF,EAAE;AACF,4EAA4E;AAC5E,yEAAyE;AACzE,8EAA8E;AAC9E,iDAAiD;AAEjD,MAAM,OAAO,aAAc,SAAQ,KAAK;IAGV;IAFnB,IAAI,GAAG,eAAe,CAAA;IAE/B,YAA4B,WAAoB;QAC9C,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAD5B,gBAAW,GAAX,WAAW,CAAS;IAEhD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAK,GAAyB,CAAC,IAAI,KAAK,eAAe,CAAA;AACvG,CAAC"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
# Manta Framework — Overview
|
|
2
|
+
|
|
3
|
+
## What is Manta
|
|
4
|
+
|
|
5
|
+
Manta is a **tool-first runtime for AI agents** with an integrated database. You write commands (mutations) and models (data), and Manta automatically generates:
|
|
6
|
+
|
|
7
|
+
- HTTP API endpoints
|
|
8
|
+
- AI tool schemas (for Claude, GPT, etc.)
|
|
9
|
+
- Admin dashboard actions
|
|
10
|
+
- CLI commands (`manta exec`)
|
|
11
|
+
- OpenAPI documentation
|
|
12
|
+
|
|
13
|
+
**One artifact, five interfaces. Zero configuration.**
|
|
14
|
+
|
|
15
|
+
## Why no API routes?
|
|
16
|
+
|
|
17
|
+
Traditional frameworks make you define routes manually (`GET /products`, `POST /orders`). In Manta, **commands ARE the API**. A `defineCommand()` is a compensable workflow that gets exposed everywhere simultaneously.
|
|
18
|
+
|
|
19
|
+
The HTTP route is just one port among many. The same command can be called by:
|
|
20
|
+
- An HTTP client (via `POST /api/admin/command/create-product`)
|
|
21
|
+
- An AI agent (via the tool schema at `GET /api/admin/tools`)
|
|
22
|
+
- The admin dashboard (via the command UI)
|
|
23
|
+
- A CLI script (`manta exec create-product`)
|
|
24
|
+
- Another command (via `step.command.createProduct()`)
|
|
25
|
+
|
|
26
|
+
This is why the framework controls the routing, not you. If you defined routes manually, the AI couldn't discover them, the dashboard couldn't call them, and the CLI wouldn't know about them.
|
|
27
|
+
|
|
28
|
+
## The mental model
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
defineModel() — Data shape (what exists)
|
|
32
|
+
defineService() — Mutations (what can change, with rollback)
|
|
33
|
+
defineCommand() — Entry point (orchestrates services into workflows)
|
|
34
|
+
defineCommandGraph() — Expose module commands on a context's catch-all route
|
|
35
|
+
defineQuery() — Typed read handler
|
|
36
|
+
defineQueryGraph() — Cross-module read graph (filesystem-derived access rules)
|
|
37
|
+
defineSubscriber() — Reaction (side-effect triggered by events)
|
|
38
|
+
defineJob() — Schedule (periodic tasks)
|
|
39
|
+
defineLink() — Relation (connect entities across modules)
|
|
40
|
+
defineAgent() — AI step (typed LLM call)
|
|
41
|
+
defineWorkflow() — Named compensable workflow (advanced)
|
|
42
|
+
defineUserModel() — Auth-ready user model for a context
|
|
43
|
+
defineMiddleware() — HTTP middleware (per-context override)
|
|
44
|
+
defineMiddlewares() — HTTP pipeline configuration
|
|
45
|
+
defineConfig() — Configuration (database, presets, features)
|
|
46
|
+
definePreset() — Reusable config preset
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Plus helpers**: `field`, `many`, `z` (Zod), `MantaError`, `service`. All globals — zero imports needed. Contexts are filesystem-derived in V2 (`src/contexts/*.ts`) — no `defineContext()` function.
|
|
50
|
+
|
|
51
|
+
## The module rule
|
|
52
|
+
|
|
53
|
+
**A module is composed of 3 concerns:**
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
src/modules/catalog/
|
|
57
|
+
├── entities/ # 1 folder per entity (model + service together)
|
|
58
|
+
│ ├── product/
|
|
59
|
+
│ │ ├── model.ts # defineModel('Product', {...})
|
|
60
|
+
│ │ └── service.ts # defineService((model) => model.product, (db) => ({...}))
|
|
61
|
+
│ └── category/
|
|
62
|
+
│ ├── model.ts
|
|
63
|
+
│ └── service.ts
|
|
64
|
+
├── links/ # Intra-module relations
|
|
65
|
+
│ └── product-category.ts
|
|
66
|
+
├── commands/ # Module commands — orchestrate this module's entities
|
|
67
|
+
│ └── categorize-product.ts
|
|
68
|
+
└── index.ts # Barrel — re-exports only, no logic
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
- **entities/** — One folder per entity. Each contains `model.ts` (data shape) and `service.ts` (mutations). They are an inseparable pair.
|
|
72
|
+
- **commands/** — (optional) Workflows that orchestrate this module's entities. Scoped: can only use this module's steps.
|
|
73
|
+
- **index.ts** — Pure barrel file. Re-exports entities. No logic.
|
|
74
|
+
|
|
75
|
+
### Module granularity
|
|
76
|
+
|
|
77
|
+
The framework doesn't enforce bounded contexts — that's your architecture decision. A module can have 1 entity or 5. What matters:
|
|
78
|
+
|
|
79
|
+
- Entities in the same module share the same service and repository
|
|
80
|
+
- Entities across different modules are connected via `defineLink()`
|
|
81
|
+
- Module commands can only call their own module's steps
|
|
82
|
+
|
|
83
|
+
A good rule of thumb: if two entities always change together, they belong in the same module.
|
|
84
|
+
|
|
85
|
+
### What's NOT a module
|
|
86
|
+
|
|
87
|
+
If you don't have an entity, you don't have a module:
|
|
88
|
+
- File storage → `app.infra.file` (IFilePort)
|
|
89
|
+
- Caching → `app.infra.cache` (ICachePort)
|
|
90
|
+
- Logging → `app.infra.logger` (ILoggerPort)
|
|
91
|
+
- External APIs → `step.action()` in commands
|
|
92
|
+
|
|
93
|
+
### Ecosystem: publish, install, eject
|
|
94
|
+
|
|
95
|
+
Manta uses the same file-based convention for local code and packages. This makes contribution frictionless:
|
|
96
|
+
|
|
97
|
+
**Develop locally → extract → publish → others install → eject if needed**
|
|
98
|
+
|
|
99
|
+
1. **Develop** — Build your module or plugin in your project (src/modules/, src/commands/, etc.)
|
|
100
|
+
2. **Extract** — `manta extract module catalog` copies it into a publishable package with `package.json`
|
|
101
|
+
3. **Publish** — `npm publish` (works locally via workspace before publishing)
|
|
102
|
+
4. **Install** — Consumers run `pnpm add @my-org/module-catalog`. Framework discovers it from `node_modules/`
|
|
103
|
+
5. **Eject** — `manta eject @my-org/module-catalog` copies source back to `src/`. The consumer owns the code, no more upstream updates.
|
|
104
|
+
|
|
105
|
+
**Modules** = single domain (entities/ + commands/). Self-contained, no dependencies. The fundamental unit.
|
|
106
|
+
|
|
107
|
+
**Plugins** = orchestration layer: app-level commands + subscribers + jobs + links + contexts. **Plugins CANNOT contain modules.** They declare dependencies on published modules.
|
|
108
|
+
|
|
109
|
+
This separation is enforced at build time. A plugin that contains `defineModel()` or `defineService()` calls will fail validation. This forces module authors to publish modules independently, making them reusable across plugins.
|
|
110
|
+
|
|
111
|
+
See [Config — Publishing](./08-config.md#publishing-modules-and-plugins) for CLI details.
|
|
112
|
+
|
|
113
|
+
#### Why plugins can't contain modules
|
|
114
|
+
|
|
115
|
+
Modules are the fundamental data unit — entities, database tables, service CRUD. They must be independently publishable, versionable, and ejectible. If a plugin embedded its own modules, those modules would be locked inside the plugin and unavailable to others.
|
|
116
|
+
|
|
117
|
+
By forcing separation:
|
|
118
|
+
- **Modules are reusable** — any plugin can depend on `manta-module-customer`
|
|
119
|
+
- **Eject is granular** — eject the plugin (orchestration) or a module (data) independently
|
|
120
|
+
- **No vendor lock-in** — swap a plugin while keeping its modules, or vice versa
|
|
121
|
+
|
|
122
|
+
**Example: customizing for B2B**
|
|
123
|
+
1. Install `manta-plugin-ecommerce` (depends on `manta-module-customer`, `manta-module-product`, etc.)
|
|
124
|
+
2. Need B2B? Eject the plugin → get workflows/subscribers locally
|
|
125
|
+
3. Eject `manta-module-customer` → get entity code locally
|
|
126
|
+
4. Replace Customer with your own Organization module
|
|
127
|
+
5. Modify workflows to call Organization instead of Customer
|
|
128
|
+
6. All other modules stay as published packages
|
|
129
|
+
|
|
130
|
+
## What's auto-generated
|
|
131
|
+
|
|
132
|
+
| You write | Framework generates |
|
|
133
|
+
|-----------|-------------------|
|
|
134
|
+
| `defineModel('Product', { title: field.text() })` | Database table, migrations, TypeScript types |
|
|
135
|
+
| `defineService((model) => model.product, (db) => ({ activate: ... }))` | 8 CRUD methods, query helpers |
|
|
136
|
+
| `defineCommand({ name: 'create-product', ... })` | HTTP endpoint, AI tool schema, OpenAPI spec |
|
|
137
|
+
| `defineSubscriber({ event: 'product.created', ... })` | Event bus wiring |
|
|
138
|
+
| `defineJob({ name: 'cleanup', schedule: '0 * * * *', ... })` | Cron scheduling, job history |
|
|
139
|
+
| `defineLink((model) => [model.product, many(model.variant)])` | Pivot table, auto-cascade logic |
|
|
140
|
+
| `defineContext({ name: 'store', basePath: '/api/store', ... })` | Route filtering, auth checks |
|
|
141
|
+
| `manta dev` | `.manta/types/` — full TypeScript autocomplete for app.modules.*, events, entities |
|
|
142
|
+
|
|
143
|
+
## Constraint as Convention
|
|
144
|
+
|
|
145
|
+
Manta follows a **"you can't make mistakes"** philosophy:
|
|
146
|
+
|
|
147
|
+
- Services only receive their repository — **impossible** to call another module
|
|
148
|
+
- Service methods **must** be compensable — compile-time error if not
|
|
149
|
+
- Commands **must** have a name, description, Zod input, and workflow — runtime error at definition
|
|
150
|
+
- Entity names **must** be PascalCase — runtime error at definition
|
|
151
|
+
- Duplicate modules, links, and commands are **detected and rejected**
|
|
152
|
+
- Error messages tell you **what to do**, not just what went wrong
|
|
153
|
+
|
|
154
|
+
This makes the framework AI-safe: an AI coding agent reading the error messages can fix issues in one pass.
|
|
155
|
+
|
|
156
|
+
## Type safety guarantees
|
|
157
|
+
|
|
158
|
+
Manta is a zero-import framework but fully typed. When you write:
|
|
159
|
+
|
|
160
|
+
```typescript
|
|
161
|
+
export default defineCommand({
|
|
162
|
+
name: 'create-product',
|
|
163
|
+
input: z.object({ title: z.string() }),
|
|
164
|
+
workflow: async (input, ctx) => {
|
|
165
|
+
// input.title is inferred as string
|
|
166
|
+
// ctx.app, ctx.app.infra, ctx.app.resolve() are all typed
|
|
167
|
+
// step.service.product.create({ ... }) has full autocomplete
|
|
168
|
+
},
|
|
169
|
+
})
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
All the following are available at compile time without any import:
|
|
173
|
+
|
|
174
|
+
| Global | Type |
|
|
175
|
+
|--------|------|
|
|
176
|
+
| `defineCommand`, `defineQuery`, `defineModel`, `defineService`, `defineLink`, `defineSubscriber`, `defineJob`, `defineAgent`, `defineContext`, `defineWorkflow`, `defineUserModel`, `defineConfig`, `definePreset`, `defineMiddleware` | Type-safe |
|
|
177
|
+
| `field`, `many`, `service` | Type-safe |
|
|
178
|
+
| `z` (Zod) | Type-safe |
|
|
179
|
+
|
|
180
|
+
These are declared in `packages/core/src/globals.d.ts` and injected at runtime by `registerGlobals()` in `@mantajs/cli`.
|
|
181
|
+
|
|
182
|
+
### Escape hatches
|
|
183
|
+
For rare cases where you need raw SQL or direct infra access:
|
|
184
|
+
- **`ctx.app.infra.db`** — the underlying `IDatabasePort`. Returns `unknown` from the public API for safety; cast to your adapter's type if needed.
|
|
185
|
+
- **`db.raw<T>(sql, params)`** — parameterized raw SQL. Use for CTEs, window functions, multi-table operations. Service methods should be preferred for simple cases.
|
|
186
|
+
|
|
187
|
+
### Auto-generated types
|
|
188
|
+
Running `manta dev` or `manta generate` produces `.manta/generated.d.ts` which augments the global registries:
|
|
189
|
+
- `MantaGeneratedEntities` — your DML entities
|
|
190
|
+
- `MantaGeneratedCommands` — your commands
|
|
191
|
+
- `MantaGeneratedAppModules` — `app.modules.*` autocomplete
|
|
192
|
+
- `MantaEventMap` — event names for subscribers
|
|
193
|
+
- `MantaActorMap` — actor types for contexts
|
|
194
|
+
|
|
195
|
+
This file is **gitignored** and regenerated on every `manta dev` boot. The codegen validates its own output (via TypeScript parser) to prevent invalid `.d.ts` from corrupting downstream tooling.
|
|
196
|
+
|
|
197
|
+
## Helpers (used inside define functions)
|
|
198
|
+
|
|
199
|
+
These are not primitives — they're building blocks used inside the `define*()` functions:
|
|
200
|
+
|
|
201
|
+
| Helper | Used inside | Purpose |
|
|
202
|
+
|--------|-----------|---------|
|
|
203
|
+
| `field.text()`, `field.number()`, etc. | `defineModel()` | Property type builders |
|
|
204
|
+
| `many(model.entity)` | `defineLink()` | Cardinality modifier |
|
|
205
|
+
| `service.method(forward, compensate)` | `defineService()` | Compensable method wrapper |
|
|
206
|
+
| `step.service.*`, `step.command.*`, `step.action()`, `step.emit()` | `defineCommand()` | Workflow step primitives |
|
|
207
|
+
| `makeIdempotent(cache, handler)` | `defineSubscriber()` | Deduplication wrapper |
|
|
208
|
+
| `z.object()`, `z.string()`, etc. | `defineCommand()` | Zod schema for input validation |
|
|
209
|
+
|
|
210
|
+
All `define*` functions and helpers (`field`, `many`) are **globals** — zero imports needed.
|
|
211
|
+
|
|
212
|
+
## Project structure
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
my-app/
|
|
216
|
+
├── manta.config.ts # defineConfig()
|
|
217
|
+
├── src/
|
|
218
|
+
│ ├── modules/
|
|
219
|
+
│ │ ├── catalog/
|
|
220
|
+
│ │ │ ├── entities/
|
|
221
|
+
│ │ │ │ └── product/
|
|
222
|
+
│ │ │ │ ├── model.ts # defineModel('Product', {...})
|
|
223
|
+
│ │ │ │ └── service.ts # defineService((model) => model.product, (db) => ({...}))
|
|
224
|
+
│ │ │ ├── links/ # Intra-module relations
|
|
225
|
+
│ │ │ │ └── product-category.ts
|
|
226
|
+
│ │ │ ├── commands/ # Module-scoped commands (optional)
|
|
227
|
+
│ │ │ │ └── activate-product.ts
|
|
228
|
+
│ │ │ └── index.ts # Barrel: re-exports only
|
|
229
|
+
│ │ └── inventory/
|
|
230
|
+
│ │ ├── entities/
|
|
231
|
+
│ │ │ └── inventory-item/
|
|
232
|
+
│ │ │ ├── model.ts
|
|
233
|
+
│ │ │ └── service.ts
|
|
234
|
+
│ │ └── index.ts
|
|
235
|
+
│ ├── commands/
|
|
236
|
+
│ │ ├── create-product.ts # defineCommand({...})
|
|
237
|
+
│ │ └── delete-product.ts
|
|
238
|
+
│ ├── subscribers/
|
|
239
|
+
│ │ ├── product-created.ts # defineSubscriber({...})
|
|
240
|
+
│ │ └── low-stock-alert.ts
|
|
241
|
+
│ ├── jobs/
|
|
242
|
+
│ │ └── cleanup-drafts.ts # defineJob({...})
|
|
243
|
+
│ ├── links/
|
|
244
|
+
│ │ └── product-inventory.ts # defineLink({...}) — cross-module ONLY
|
|
245
|
+
│ ├── agents/
|
|
246
|
+
│ │ └── categorize.ts # defineAgent({...})
|
|
247
|
+
│ └── contexts/
|
|
248
|
+
│ ├── admin.ts # defineContext({...})
|
|
249
|
+
│ └── store.ts
|
|
250
|
+
├── .manta/types/ # Auto-generated TypeScript types
|
|
251
|
+
└── drizzle/migrations/ # Auto-generated SQL migrations
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Every directory is auto-discovered. The `export default` of each file is registered automatically at boot.
|