@unifiedcommerce/core 0.4.3 → 0.4.4
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/interfaces/rest/index.d.ts.map +1 -1
- package/dist/interfaces/rest/index.js +4 -17
- package/dist/runtime/server.d.ts.map +1 -1
- package/dist/runtime/server.js +33 -0
- package/package.json +1 -1
- package/dist/adapters/console-email.d.ts +0 -23
- package/dist/adapters/console-email.d.ts.map +0 -1
- package/dist/adapters/console-email.js +0 -38
- package/dist/auth/access.d.ts +0 -101
- package/dist/auth/access.d.ts.map +0 -1
- package/dist/auth/access.js +0 -128
- package/dist/auth/auth-schema.d.ts +0 -1475
- package/dist/auth/auth-schema.d.ts.map +0 -1
- package/dist/auth/auth-schema.js +0 -124
- package/dist/auth/middleware.d.ts +0 -5
- package/dist/auth/middleware.d.ts.map +0 -1
- package/dist/auth/middleware.js +0 -141
- package/dist/auth/org.d.ts +0 -22
- package/dist/auth/org.d.ts.map +0 -1
- package/dist/auth/org.js +0 -36
- package/dist/auth/permissions.d.ts +0 -4
- package/dist/auth/permissions.d.ts.map +0 -1
- package/dist/auth/permissions.js +0 -24
- package/dist/auth/setup.d.ts +0 -29
- package/dist/auth/setup.d.ts.map +0 -1
- package/dist/auth/setup.js +0 -117
- package/dist/auth/system-actor.d.ts +0 -7
- package/dist/auth/system-actor.d.ts.map +0 -1
- package/dist/auth/system-actor.js +0 -17
- package/dist/auth/types.d.ts +0 -11
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/auth/types.js +0 -1
- package/dist/config/defaults.d.ts +0 -3
- package/dist/config/defaults.d.ts.map +0 -1
- package/dist/config/defaults.js +0 -80
- package/dist/config/define-config.d.ts +0 -9
- package/dist/config/define-config.d.ts.map +0 -1
- package/dist/config/define-config.js +0 -44
- package/dist/config/types.d.ts +0 -327
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/types.js +0 -1
- package/dist/generated/plugin-manifest.d.ts +0 -48
- package/dist/generated/plugin-manifest.d.ts.map +0 -1
- package/dist/generated/plugin-manifest.js +0 -20
- package/dist/hooks/checkout-completion.d.ts +0 -58
- package/dist/hooks/checkout-completion.d.ts.map +0 -1
- package/dist/hooks/checkout-completion.js +0 -137
- package/dist/hooks/checkout.d.ts +0 -99
- package/dist/hooks/checkout.d.ts.map +0 -1
- package/dist/hooks/checkout.js +0 -317
- package/dist/hooks/order-emails.d.ts +0 -16
- package/dist/hooks/order-emails.d.ts.map +0 -1
- package/dist/hooks/order-emails.js +0 -44
- package/dist/index.d.ts +0 -77
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -45
- package/dist/interfaces/mcp/agent-prompt.d.ts +0 -16
- package/dist/interfaces/mcp/agent-prompt.d.ts.map +0 -1
- package/dist/interfaces/mcp/agent-prompt.js +0 -172
- package/dist/interfaces/mcp/context-enrichment.d.ts +0 -39
- package/dist/interfaces/mcp/context-enrichment.d.ts.map +0 -1
- package/dist/interfaces/mcp/context-enrichment.js +0 -119
- package/dist/interfaces/mcp/server.d.ts +0 -5
- package/dist/interfaces/mcp/server.d.ts.map +0 -1
- package/dist/interfaces/mcp/server.js +0 -30
- package/dist/interfaces/mcp/tool-builder.d.ts +0 -120
- package/dist/interfaces/mcp/tool-builder.d.ts.map +0 -1
- package/dist/interfaces/mcp/tool-builder.js +0 -224
- package/dist/interfaces/mcp/tools/analytics.d.ts +0 -42
- package/dist/interfaces/mcp/tools/analytics.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/analytics.js +0 -70
- package/dist/interfaces/mcp/tools/cart.d.ts +0 -14
- package/dist/interfaces/mcp/tools/cart.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/cart.js +0 -47
- package/dist/interfaces/mcp/tools/catalog.d.ts +0 -53
- package/dist/interfaces/mcp/tools/catalog.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/catalog.js +0 -284
- package/dist/interfaces/mcp/tools/index.d.ts +0 -3
- package/dist/interfaces/mcp/tools/index.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/index.js +0 -20
- package/dist/interfaces/mcp/tools/inventory.d.ts +0 -27
- package/dist/interfaces/mcp/tools/inventory.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/inventory.js +0 -143
- package/dist/interfaces/mcp/tools/orders.d.ts +0 -18
- package/dist/interfaces/mcp/tools/orders.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/orders.js +0 -82
- package/dist/interfaces/mcp/tools/pricing.d.ts +0 -29
- package/dist/interfaces/mcp/tools/pricing.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/pricing.js +0 -90
- package/dist/interfaces/mcp/tools/promotions.d.ts +0 -44
- package/dist/interfaces/mcp/tools/promotions.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/promotions.js +0 -109
- package/dist/interfaces/mcp/tools/registry.d.ts +0 -32
- package/dist/interfaces/mcp/tools/registry.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/registry.js +0 -55
- package/dist/interfaces/mcp/tools/search.d.ts +0 -14
- package/dist/interfaces/mcp/tools/search.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/search.js +0 -39
- package/dist/interfaces/mcp/tools/webhooks.d.ts +0 -15
- package/dist/interfaces/mcp/tools/webhooks.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/webhooks.js +0 -48
- package/dist/interfaces/mcp/transport.d.ts +0 -20
- package/dist/interfaces/mcp/transport.d.ts.map +0 -1
- package/dist/interfaces/mcp/transport.js +0 -99
- package/dist/interfaces/rest/customer-portal.d.ts +0 -5
- package/dist/interfaces/rest/customer-portal.d.ts.map +0 -1
- package/dist/interfaces/rest/customer-portal.js +0 -206
- package/dist/interfaces/rest/router.d.ts +0 -164
- package/dist/interfaces/rest/router.d.ts.map +0 -1
- package/dist/interfaces/rest/router.js +0 -259
- package/dist/interfaces/rest/routes/admin-jobs.d.ts +0 -5
- package/dist/interfaces/rest/routes/admin-jobs.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/admin-jobs.js +0 -48
- package/dist/interfaces/rest/routes/audit.d.ts +0 -5
- package/dist/interfaces/rest/routes/audit.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/audit.js +0 -43
- package/dist/interfaces/rest/routes/carts.d.ts +0 -5
- package/dist/interfaces/rest/routes/carts.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/carts.js +0 -55
- package/dist/interfaces/rest/routes/catalog.d.ts +0 -5
- package/dist/interfaces/rest/routes/catalog.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/catalog.js +0 -256
- package/dist/interfaces/rest/routes/checkout.d.ts +0 -5
- package/dist/interfaces/rest/routes/checkout.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/checkout.js +0 -216
- package/dist/interfaces/rest/routes/customers.d.ts +0 -5
- package/dist/interfaces/rest/routes/customers.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/customers.js +0 -74
- package/dist/interfaces/rest/routes/entity-aliases.d.ts +0 -18
- package/dist/interfaces/rest/routes/entity-aliases.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/entity-aliases.js +0 -39
- package/dist/interfaces/rest/routes/inventory.d.ts +0 -5
- package/dist/interfaces/rest/routes/inventory.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/inventory.js +0 -72
- package/dist/interfaces/rest/routes/media.d.ts +0 -5
- package/dist/interfaces/rest/routes/media.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/media.js +0 -65
- package/dist/interfaces/rest/routes/orders.d.ts +0 -5
- package/dist/interfaces/rest/routes/orders.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/orders.js +0 -64
- package/dist/interfaces/rest/routes/payments.d.ts +0 -5
- package/dist/interfaces/rest/routes/payments.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/payments.js +0 -45
- package/dist/interfaces/rest/routes/pricing.d.ts +0 -5
- package/dist/interfaces/rest/routes/pricing.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/pricing.js +0 -48
- package/dist/interfaces/rest/routes/promotions.d.ts +0 -5
- package/dist/interfaces/rest/routes/promotions.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/promotions.js +0 -76
- package/dist/interfaces/rest/routes/search.d.ts +0 -5
- package/dist/interfaces/rest/routes/search.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/search.js +0 -60
- package/dist/interfaces/rest/routes/webhooks.d.ts +0 -5
- package/dist/interfaces/rest/routes/webhooks.d.ts.map +0 -1
- package/dist/interfaces/rest/routes/webhooks.js +0 -39
- package/dist/interfaces/rest/schemas/admin-jobs.d.ts +0 -327
- package/dist/interfaces/rest/schemas/admin-jobs.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/admin-jobs.js +0 -37
- package/dist/interfaces/rest/schemas/audit.d.ts +0 -59
- package/dist/interfaces/rest/schemas/audit.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/audit.js +0 -43
- package/dist/interfaces/rest/schemas/carts.d.ts +0 -1456
- package/dist/interfaces/rest/schemas/carts.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/carts.js +0 -109
- package/dist/interfaces/rest/schemas/catalog.d.ts +0 -5452
- package/dist/interfaces/rest/schemas/catalog.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/catalog.js +0 -397
- package/dist/interfaces/rest/schemas/checkout.d.ts +0 -160
- package/dist/interfaces/rest/schemas/checkout.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/checkout.js +0 -60
- package/dist/interfaces/rest/schemas/customer-portal.d.ts +0 -2203
- package/dist/interfaces/rest/schemas/customer-portal.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/customer-portal.js +0 -177
- package/dist/interfaces/rest/schemas/customers.d.ts +0 -422
- package/dist/interfaces/rest/schemas/customers.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/customers.js +0 -150
- package/dist/interfaces/rest/schemas/inventory.d.ts +0 -561
- package/dist/interfaces/rest/schemas/inventory.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/inventory.js +0 -148
- package/dist/interfaces/rest/schemas/media.d.ts +0 -303
- package/dist/interfaces/rest/schemas/media.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/media.js +0 -69
- package/dist/interfaces/rest/schemas/orders.d.ts +0 -1792
- package/dist/interfaces/rest/schemas/orders.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/orders.js +0 -93
- package/dist/interfaces/rest/schemas/pricing.d.ts +0 -256
- package/dist/interfaces/rest/schemas/pricing.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/pricing.js +0 -72
- package/dist/interfaces/rest/schemas/promotions.d.ts +0 -363
- package/dist/interfaces/rest/schemas/promotions.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/promotions.js +0 -98
- package/dist/interfaces/rest/schemas/responses.d.ts +0 -4086
- package/dist/interfaces/rest/schemas/responses.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/responses.js +0 -74
- package/dist/interfaces/rest/schemas/search.d.ts +0 -247
- package/dist/interfaces/rest/schemas/search.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/search.js +0 -55
- package/dist/interfaces/rest/schemas/shared.d.ts +0 -95
- package/dist/interfaces/rest/schemas/shared.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/shared.js +0 -51
- package/dist/interfaces/rest/schemas/webhooks.d.ts +0 -221
- package/dist/interfaces/rest/schemas/webhooks.d.ts.map +0 -1
- package/dist/interfaces/rest/schemas/webhooks.js +0 -62
- package/dist/interfaces/rest/utils.d.ts +0 -45
- package/dist/interfaces/rest/utils.d.ts.map +0 -1
- package/dist/interfaces/rest/utils.js +0 -71
- package/dist/interfaces/rest/webhook-router.d.ts +0 -41
- package/dist/interfaces/rest/webhook-router.d.ts.map +0 -1
- package/dist/interfaces/rest/webhook-router.js +0 -36
- package/dist/kernel/compensation/executor.d.ts +0 -21
- package/dist/kernel/compensation/executor.d.ts.map +0 -1
- package/dist/kernel/compensation/executor.js +0 -36
- package/dist/kernel/compensation/types.d.ts +0 -25
- package/dist/kernel/compensation/types.d.ts.map +0 -1
- package/dist/kernel/compensation/types.js +0 -1
- package/dist/kernel/database/adapter.d.ts +0 -18
- package/dist/kernel/database/adapter.d.ts.map +0 -1
- package/dist/kernel/database/adapter.js +0 -3
- package/dist/kernel/database/drizzle-db.d.ts +0 -49
- package/dist/kernel/database/drizzle-db.d.ts.map +0 -1
- package/dist/kernel/database/drizzle-db.js +0 -20
- package/dist/kernel/database/migrate.d.ts +0 -38
- package/dist/kernel/database/migrate.d.ts.map +0 -1
- package/dist/kernel/database/migrate.js +0 -61
- package/dist/kernel/database/plugin-types.d.ts +0 -32
- package/dist/kernel/database/plugin-types.d.ts.map +0 -1
- package/dist/kernel/database/plugin-types.js +0 -10
- package/dist/kernel/database/schema.d.ts +0 -24
- package/dist/kernel/database/schema.d.ts.map +0 -1
- package/dist/kernel/database/schema.js +0 -36
- package/dist/kernel/database/scoped-db.d.ts +0 -20
- package/dist/kernel/database/scoped-db.d.ts.map +0 -1
- package/dist/kernel/database/scoped-db.js +0 -62
- package/dist/kernel/database/tx-context.d.ts +0 -15
- package/dist/kernel/database/tx-context.d.ts.map +0 -1
- package/dist/kernel/database/tx-context.js +0 -19
- package/dist/kernel/error-mapper.d.ts +0 -3
- package/dist/kernel/error-mapper.d.ts.map +0 -1
- package/dist/kernel/error-mapper.js +0 -12
- package/dist/kernel/errors.d.ts +0 -38
- package/dist/kernel/errors.d.ts.map +0 -1
- package/dist/kernel/errors.js +0 -69
- package/dist/kernel/factory/repository-factory.d.ts +0 -71
- package/dist/kernel/factory/repository-factory.d.ts.map +0 -1
- package/dist/kernel/factory/repository-factory.js +0 -138
- package/dist/kernel/hooks/create-context.d.ts +0 -25
- package/dist/kernel/hooks/create-context.d.ts.map +0 -1
- package/dist/kernel/hooks/create-context.js +0 -22
- package/dist/kernel/hooks/executor.d.ts +0 -12
- package/dist/kernel/hooks/executor.d.ts.map +0 -1
- package/dist/kernel/hooks/executor.js +0 -50
- package/dist/kernel/hooks/registry.d.ts +0 -28
- package/dist/kernel/hooks/registry.d.ts.map +0 -1
- package/dist/kernel/hooks/registry.js +0 -58
- package/dist/kernel/hooks/types.d.ts +0 -37
- package/dist/kernel/hooks/types.d.ts.map +0 -1
- package/dist/kernel/hooks/types.js +0 -1
- package/dist/kernel/http-error.d.ts +0 -30
- package/dist/kernel/http-error.d.ts.map +0 -1
- package/dist/kernel/http-error.js +0 -35
- package/dist/kernel/jobs/adapter.d.ts +0 -25
- package/dist/kernel/jobs/adapter.d.ts.map +0 -1
- package/dist/kernel/jobs/adapter.js +0 -9
- package/dist/kernel/jobs/drizzle-adapter.d.ts +0 -15
- package/dist/kernel/jobs/drizzle-adapter.d.ts.map +0 -1
- package/dist/kernel/jobs/drizzle-adapter.js +0 -42
- package/dist/kernel/jobs/runner.d.ts +0 -24
- package/dist/kernel/jobs/runner.d.ts.map +0 -1
- package/dist/kernel/jobs/runner.js +0 -114
- package/dist/kernel/jobs/schema.d.ts +0 -280
- package/dist/kernel/jobs/schema.d.ts.map +0 -1
- package/dist/kernel/jobs/schema.js +0 -37
- package/dist/kernel/jobs/types.d.ts +0 -30
- package/dist/kernel/jobs/types.d.ts.map +0 -1
- package/dist/kernel/jobs/types.js +0 -1
- package/dist/kernel/local-api.d.ts +0 -103
- package/dist/kernel/local-api.d.ts.map +0 -1
- package/dist/kernel/local-api.js +0 -89
- package/dist/kernel/plugin/manifest.d.ts +0 -90
- package/dist/kernel/plugin/manifest.d.ts.map +0 -1
- package/dist/kernel/plugin/manifest.js +0 -169
- package/dist/kernel/query/executor.d.ts +0 -21
- package/dist/kernel/query/executor.d.ts.map +0 -1
- package/dist/kernel/query/executor.js +0 -128
- package/dist/kernel/query/registry.d.ts +0 -33
- package/dist/kernel/query/registry.d.ts.map +0 -1
- package/dist/kernel/query/registry.js +0 -20
- package/dist/kernel/result.d.ts +0 -36
- package/dist/kernel/result.d.ts.map +0 -1
- package/dist/kernel/result.js +0 -16
- package/dist/kernel/schema/extra-columns.d.ts +0 -23
- package/dist/kernel/schema/extra-columns.d.ts.map +0 -1
- package/dist/kernel/schema/extra-columns.js +0 -10
- package/dist/kernel/service-registry.d.ts +0 -109
- package/dist/kernel/service-registry.d.ts.map +0 -1
- package/dist/kernel/service-registry.js +0 -26
- package/dist/kernel/service-timing.d.ts +0 -25
- package/dist/kernel/service-timing.d.ts.map +0 -1
- package/dist/kernel/service-timing.js +0 -62
- package/dist/kernel/state-machine/machine.d.ts +0 -24
- package/dist/kernel/state-machine/machine.d.ts.map +0 -1
- package/dist/kernel/state-machine/machine.js +0 -70
- package/dist/modules/analytics/drizzle-adapter.d.ts +0 -13
- package/dist/modules/analytics/drizzle-adapter.d.ts.map +0 -1
- package/dist/modules/analytics/drizzle-adapter.js +0 -358
- package/dist/modules/analytics/hooks.d.ts +0 -13
- package/dist/modules/analytics/hooks.d.ts.map +0 -1
- package/dist/modules/analytics/hooks.js +0 -12
- package/dist/modules/analytics/models.d.ts +0 -14
- package/dist/modules/analytics/models.d.ts.map +0 -1
- package/dist/modules/analytics/models.js +0 -118
- package/dist/modules/analytics/repository/index.d.ts +0 -5
- package/dist/modules/analytics/repository/index.d.ts.map +0 -1
- package/dist/modules/analytics/repository/index.js +0 -1
- package/dist/modules/analytics/service.d.ts +0 -45
- package/dist/modules/analytics/service.d.ts.map +0 -1
- package/dist/modules/analytics/service.js +0 -196
- package/dist/modules/analytics/types.d.ts +0 -119
- package/dist/modules/analytics/types.d.ts.map +0 -1
- package/dist/modules/analytics/types.js +0 -25
- package/dist/modules/audit/hooks.d.ts +0 -7
- package/dist/modules/audit/hooks.d.ts.map +0 -1
- package/dist/modules/audit/hooks.js +0 -67
- package/dist/modules/audit/schema.d.ts +0 -178
- package/dist/modules/audit/schema.d.ts.map +0 -1
- package/dist/modules/audit/schema.js +0 -21
- package/dist/modules/audit/service.d.ts +0 -38
- package/dist/modules/audit/service.d.ts.map +0 -1
- package/dist/modules/audit/service.js +0 -109
- package/dist/modules/cart/access.d.ts +0 -11
- package/dist/modules/cart/access.d.ts.map +0 -1
- package/dist/modules/cart/access.js +0 -18
- package/dist/modules/cart/matcher.d.ts +0 -20
- package/dist/modules/cart/matcher.d.ts.map +0 -1
- package/dist/modules/cart/matcher.js +0 -2
- package/dist/modules/cart/repository/index.d.ts +0 -45
- package/dist/modules/cart/repository/index.d.ts.map +0 -1
- package/dist/modules/cart/repository/index.js +0 -158
- package/dist/modules/cart/schema.d.ts +0 -359
- package/dist/modules/cart/schema.d.ts.map +0 -1
- package/dist/modules/cart/schema.js +0 -40
- package/dist/modules/cart/schemas.d.ts +0 -29
- package/dist/modules/cart/schemas.d.ts.map +0 -1
- package/dist/modules/cart/schemas.js +0 -14
- package/dist/modules/cart/service.d.ts +0 -63
- package/dist/modules/cart/service.d.ts.map +0 -1
- package/dist/modules/cart/service.js +0 -339
- package/dist/modules/catalog/repository/index.d.ts +0 -106
- package/dist/modules/catalog/repository/index.d.ts.map +0 -1
- package/dist/modules/catalog/repository/index.js +0 -455
- package/dist/modules/catalog/schema.d.ts +0 -1193
- package/dist/modules/catalog/schema.d.ts.map +0 -1
- package/dist/modules/catalog/schema.js +0 -149
- package/dist/modules/catalog/schemas.d.ts +0 -81
- package/dist/modules/catalog/schemas.d.ts.map +0 -1
- package/dist/modules/catalog/schemas.js +0 -62
- package/dist/modules/catalog/service.d.ts +0 -160
- package/dist/modules/catalog/service.d.ts.map +0 -1
- package/dist/modules/catalog/service.js +0 -759
- package/dist/modules/customers/repository/index.d.ts +0 -47
- package/dist/modules/customers/repository/index.d.ts.map +0 -1
- package/dist/modules/customers/repository/index.js +0 -206
- package/dist/modules/customers/schema.d.ts +0 -560
- package/dist/modules/customers/schema.d.ts.map +0 -1
- package/dist/modules/customers/schema.js +0 -60
- package/dist/modules/customers/service.d.ts +0 -27
- package/dist/modules/customers/service.d.ts.map +0 -1
- package/dist/modules/customers/service.js +0 -106
- package/dist/modules/fulfillment/repository/index.d.ts +0 -63
- package/dist/modules/fulfillment/repository/index.d.ts.map +0 -1
- package/dist/modules/fulfillment/repository/index.js +0 -268
- package/dist/modules/fulfillment/schema.d.ts +0 -655
- package/dist/modules/fulfillment/schema.d.ts.map +0 -1
- package/dist/modules/fulfillment/schema.js +0 -83
- package/dist/modules/fulfillment/service.d.ts +0 -58
- package/dist/modules/fulfillment/service.d.ts.map +0 -1
- package/dist/modules/fulfillment/service.js +0 -338
- package/dist/modules/fulfillment/types.d.ts +0 -44
- package/dist/modules/fulfillment/types.d.ts.map +0 -1
- package/dist/modules/fulfillment/types.js +0 -1
- package/dist/modules/inventory/repository/index.d.ts +0 -81
- package/dist/modules/inventory/repository/index.d.ts.map +0 -1
- package/dist/modules/inventory/repository/index.js +0 -310
- package/dist/modules/inventory/schema.d.ts +0 -570
- package/dist/modules/inventory/schema.d.ts.map +0 -1
- package/dist/modules/inventory/schema.js +0 -69
- package/dist/modules/inventory/schemas.d.ts +0 -31
- package/dist/modules/inventory/schemas.d.ts.map +0 -1
- package/dist/modules/inventory/schemas.js +0 -28
- package/dist/modules/inventory/service.d.ts +0 -69
- package/dist/modules/inventory/service.d.ts.map +0 -1
- package/dist/modules/inventory/service.js +0 -283
- package/dist/modules/media/adapter.d.ts +0 -16
- package/dist/modules/media/adapter.d.ts.map +0 -1
- package/dist/modules/media/adapter.js +0 -1
- package/dist/modules/media/repository/index.d.ts +0 -35
- package/dist/modules/media/repository/index.d.ts.map +0 -1
- package/dist/modules/media/repository/index.js +0 -176
- package/dist/modules/media/schema.d.ts +0 -289
- package/dist/modules/media/schema.d.ts.map +0 -1
- package/dist/modules/media/schema.js +0 -35
- package/dist/modules/media/service.d.ts +0 -42
- package/dist/modules/media/service.d.ts.map +0 -1
- package/dist/modules/media/service.js +0 -89
- package/dist/modules/orders/repository/index.d.ts +0 -48
- package/dist/modules/orders/repository/index.d.ts.map +0 -1
- package/dist/modules/orders/repository/index.js +0 -199
- package/dist/modules/orders/schema.d.ts +0 -672
- package/dist/modules/orders/schema.d.ts.map +0 -1
- package/dist/modules/orders/schema.js +0 -63
- package/dist/modules/orders/service.d.ts +0 -85
- package/dist/modules/orders/service.d.ts.map +0 -1
- package/dist/modules/orders/service.js +0 -313
- package/dist/modules/orders/stale-order-cleanup.d.ts +0 -27
- package/dist/modules/orders/stale-order-cleanup.d.ts.map +0 -1
- package/dist/modules/orders/stale-order-cleanup.js +0 -55
- package/dist/modules/organization/service.d.ts +0 -53
- package/dist/modules/organization/service.d.ts.map +0 -1
- package/dist/modules/organization/service.js +0 -151
- package/dist/modules/payments/adapter.d.ts +0 -42
- package/dist/modules/payments/adapter.d.ts.map +0 -1
- package/dist/modules/payments/adapter.js +0 -1
- package/dist/modules/payments/repository/index.d.ts +0 -5
- package/dist/modules/payments/repository/index.d.ts.map +0 -1
- package/dist/modules/payments/repository/index.js +0 -1
- package/dist/modules/payments/service.d.ts +0 -23
- package/dist/modules/payments/service.d.ts.map +0 -1
- package/dist/modules/payments/service.js +0 -72
- package/dist/modules/pricing/repository/index.d.ts +0 -34
- package/dist/modules/pricing/repository/index.d.ts.map +0 -1
- package/dist/modules/pricing/repository/index.js +0 -176
- package/dist/modules/pricing/schema.d.ts +0 -565
- package/dist/modules/pricing/schema.d.ts.map +0 -1
- package/dist/modules/pricing/schema.js +0 -57
- package/dist/modules/pricing/schemas.d.ts +0 -37
- package/dist/modules/pricing/schemas.d.ts.map +0 -1
- package/dist/modules/pricing/schemas.js +0 -30
- package/dist/modules/pricing/service.d.ts +0 -62
- package/dist/modules/pricing/service.d.ts.map +0 -1
- package/dist/modules/pricing/service.js +0 -308
- package/dist/modules/promotions/repository/index.d.ts +0 -41
- package/dist/modules/promotions/repository/index.d.ts.map +0 -1
- package/dist/modules/promotions/repository/index.js +0 -204
- package/dist/modules/promotions/schema.d.ts +0 -427
- package/dist/modules/promotions/schema.d.ts.map +0 -1
- package/dist/modules/promotions/schema.js +0 -52
- package/dist/modules/promotions/schemas.d.ts +0 -33
- package/dist/modules/promotions/schemas.d.ts.map +0 -1
- package/dist/modules/promotions/schemas.js +0 -32
- package/dist/modules/promotions/service.d.ts +0 -80
- package/dist/modules/promotions/service.d.ts.map +0 -1
- package/dist/modules/promotions/service.js +0 -347
- package/dist/modules/search/adapter.d.ts +0 -51
- package/dist/modules/search/adapter.d.ts.map +0 -1
- package/dist/modules/search/adapter.js +0 -1
- package/dist/modules/search/hooks.d.ts +0 -8
- package/dist/modules/search/hooks.d.ts.map +0 -1
- package/dist/modules/search/hooks.js +0 -6
- package/dist/modules/search/repository/index.d.ts +0 -5
- package/dist/modules/search/repository/index.d.ts.map +0 -1
- package/dist/modules/search/repository/index.js +0 -1
- package/dist/modules/search/service.d.ts +0 -24
- package/dist/modules/search/service.d.ts.map +0 -1
- package/dist/modules/search/service.js +0 -217
- package/dist/modules/shipping/calculator.d.ts +0 -42
- package/dist/modules/shipping/calculator.d.ts.map +0 -1
- package/dist/modules/shipping/calculator.js +0 -91
- package/dist/modules/shipping/repository/index.d.ts +0 -5
- package/dist/modules/shipping/repository/index.d.ts.map +0 -1
- package/dist/modules/shipping/repository/index.js +0 -1
- package/dist/modules/shipping/service.d.ts +0 -28
- package/dist/modules/shipping/service.d.ts.map +0 -1
- package/dist/modules/shipping/service.js +0 -20
- package/dist/modules/tax/adapter.d.ts +0 -58
- package/dist/modules/tax/adapter.d.ts.map +0 -1
- package/dist/modules/tax/adapter.js +0 -1
- package/dist/modules/tax/repository/index.d.ts +0 -5
- package/dist/modules/tax/repository/index.d.ts.map +0 -1
- package/dist/modules/tax/repository/index.js +0 -1
- package/dist/modules/tax/service.d.ts +0 -19
- package/dist/modules/tax/service.d.ts.map +0 -1
- package/dist/modules/tax/service.js +0 -34
- package/dist/modules/webhooks/hook.d.ts +0 -13
- package/dist/modules/webhooks/hook.d.ts.map +0 -1
- package/dist/modules/webhooks/hook.js +0 -29
- package/dist/modules/webhooks/repository/index.d.ts +0 -40
- package/dist/modules/webhooks/repository/index.d.ts.map +0 -1
- package/dist/modules/webhooks/repository/index.js +0 -175
- package/dist/modules/webhooks/schema.d.ts +0 -404
- package/dist/modules/webhooks/schema.d.ts.map +0 -1
- package/dist/modules/webhooks/schema.js +0 -40
- package/dist/modules/webhooks/service.d.ts +0 -23
- package/dist/modules/webhooks/service.d.ts.map +0 -1
- package/dist/modules/webhooks/service.js +0 -92
- package/dist/modules/webhooks/signing.d.ts +0 -2
- package/dist/modules/webhooks/signing.d.ts.map +0 -1
- package/dist/modules/webhooks/signing.js +0 -5
- package/dist/modules/webhooks/ssrf-guard.d.ts +0 -19
- package/dist/modules/webhooks/ssrf-guard.d.ts.map +0 -1
- package/dist/modules/webhooks/ssrf-guard.js +0 -79
- package/dist/modules/webhooks/tasks.d.ts +0 -16
- package/dist/modules/webhooks/tasks.d.ts.map +0 -1
- package/dist/modules/webhooks/tasks.js +0 -35
- package/dist/modules/webhooks/worker.d.ts +0 -21
- package/dist/modules/webhooks/worker.d.ts.map +0 -1
- package/dist/modules/webhooks/worker.js +0 -113
- package/dist/runtime/commerce.d.ts +0 -110
- package/dist/runtime/commerce.d.ts.map +0 -1
- package/dist/runtime/commerce.js +0 -37
- package/dist/runtime/kernel.d.ts +0 -71
- package/dist/runtime/kernel.d.ts.map +0 -1
- package/dist/runtime/kernel.js +0 -306
- package/dist/runtime/logger.d.ts +0 -11
- package/dist/runtime/logger.d.ts.map +0 -1
- package/dist/runtime/logger.js +0 -32
- package/dist/runtime/shutdown.d.ts +0 -15
- package/dist/runtime/shutdown.d.ts.map +0 -1
- package/dist/runtime/shutdown.js +0 -34
- package/dist/test-utils/create-pglite-adapter.d.ts +0 -32
- package/dist/test-utils/create-pglite-adapter.d.ts.map +0 -1
- package/dist/test-utils/create-pglite-adapter.js +0 -107
- package/dist/test-utils/create-plugin-test-app.d.ts +0 -50
- package/dist/test-utils/create-plugin-test-app.d.ts.map +0 -1
- package/dist/test-utils/create-plugin-test-app.js +0 -74
- package/dist/test-utils/create-repository-test-harness.d.ts +0 -8
- package/dist/test-utils/create-repository-test-harness.d.ts.map +0 -1
- package/dist/test-utils/create-repository-test-harness.js +0 -7
- package/dist/test-utils/create-test-config.d.ts +0 -18
- package/dist/test-utils/create-test-config.d.ts.map +0 -1
- package/dist/test-utils/create-test-config.js +0 -172
- package/dist/test-utils/create-test-kernel.d.ts +0 -3
- package/dist/test-utils/create-test-kernel.d.ts.map +0 -1
- package/dist/test-utils/create-test-kernel.js +0 -5
- package/dist/test-utils/create-test-plugin-context.d.ts +0 -42
- package/dist/test-utils/create-test-plugin-context.d.ts.map +0 -1
- package/dist/test-utils/create-test-plugin-context.js +0 -46
- package/dist/test-utils/rest-api-test-utils.d.ts +0 -64
- package/dist/test-utils/rest-api-test-utils.d.ts.map +0 -1
- package/dist/test-utils/rest-api-test-utils.js +0 -207
- package/dist/test-utils/test-actors.d.ts +0 -15
- package/dist/test-utils/test-actors.d.ts.map +0 -1
- package/dist/test-utils/test-actors.js +0 -57
- package/dist/test-utils/typed-hooks.d.ts +0 -43
- package/dist/test-utils/typed-hooks.d.ts.map +0 -1
- package/dist/test-utils/typed-hooks.js +0 -35
- package/dist/testing.d.ts +0 -14
- package/dist/testing.d.ts.map +0 -1
- package/dist/testing.js +0 -13
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types/commerce-types.d.ts +0 -34
- package/dist/types/commerce-types.d.ts.map +0 -1
- package/dist/types/commerce-types.js +0 -1
- package/dist/utils/id.d.ts +0 -2
- package/dist/utils/id.d.ts.map +0 -1
- package/dist/utils/id.js +0 -3
- package/dist/utils/logger.d.ts +0 -3
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -16
- package/dist/utils/pagination.d.ts +0 -11
- package/dist/utils/pagination.d.ts.map +0 -1
- package/dist/utils/pagination.js +0 -15
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { defineTool } from "./registry.js";
|
|
3
|
-
export const pricingManage = defineTool({
|
|
4
|
-
name: "pricing_manage",
|
|
5
|
-
description: "Manage pricing for catalog entities. Use when the user wants to set or " +
|
|
6
|
-
"update prices, view current pricing, or create price modifiers (discounts, " +
|
|
7
|
-
"markups, overrides). The 'action' field determines which operation to run.",
|
|
8
|
-
inputSchema: z.object({
|
|
9
|
-
action: z.enum(["set_price", "list", "create_modifier"])
|
|
10
|
-
.describe("The pricing operation to perform"),
|
|
11
|
-
// set_price fields
|
|
12
|
-
entityId: z.string().optional().describe("UUID of the entity (for set_price/list/create_modifier)"),
|
|
13
|
-
currency: z.string().optional().describe("ISO 4217 currency code (for set_price/list/create_modifier)"),
|
|
14
|
-
amount: z.number().int().min(0).optional().describe("Price in smallest currency unit, e.g. cents (for set_price)"),
|
|
15
|
-
variantId: z.string().optional().describe("Variant UUID for variant-level pricing (for set_price/list/create_modifier)"),
|
|
16
|
-
customerGroupId: z.string().optional().describe("Customer group for tiered pricing (for set_price)"),
|
|
17
|
-
minQuantity: z.number().int().optional().describe("Minimum quantity for this price tier (for set_price)"),
|
|
18
|
-
maxQuantity: z.number().int().optional().describe("Maximum quantity for this price tier (for set_price)"),
|
|
19
|
-
validFrom: z.string().optional().describe("ISO date: when this price becomes effective (for set_price/create_modifier)"),
|
|
20
|
-
validUntil: z.string().optional().describe("ISO date: when this price expires (for set_price/create_modifier)"),
|
|
21
|
-
// create_modifier fields
|
|
22
|
-
name: z.string().optional().describe("Modifier name (for create_modifier)"),
|
|
23
|
-
type: z.enum(["percentage_discount", "fixed_discount", "markup", "override"]).optional()
|
|
24
|
-
.describe("Modifier type (for create_modifier)"),
|
|
25
|
-
value: z.number().optional().describe("Modifier value: percentage or fixed amount in cents (for create_modifier)"),
|
|
26
|
-
priority: z.number().int().optional().describe("Application priority, higher = later (for create_modifier)"),
|
|
27
|
-
}),
|
|
28
|
-
async handler(args, kernel) {
|
|
29
|
-
const actor = kernel.getMCPActor();
|
|
30
|
-
switch (args.action) {
|
|
31
|
-
case "set_price": {
|
|
32
|
-
if (!args.entityId)
|
|
33
|
-
return { _error: { message: "entityId required for set_price" } };
|
|
34
|
-
if (!args.currency)
|
|
35
|
-
return { _error: { message: "currency required for set_price" } };
|
|
36
|
-
if (args.amount == null)
|
|
37
|
-
return { _error: { message: "amount required for set_price" } };
|
|
38
|
-
const result = await kernel.services.pricing.setBasePrice({
|
|
39
|
-
entityId: args.entityId,
|
|
40
|
-
currency: args.currency,
|
|
41
|
-
amount: args.amount,
|
|
42
|
-
...(args.variantId != null ? { variantId: args.variantId } : {}),
|
|
43
|
-
...(args.customerGroupId != null ? { customerGroupId: args.customerGroupId } : {}),
|
|
44
|
-
...(args.minQuantity != null ? { minQuantity: args.minQuantity } : {}),
|
|
45
|
-
...(args.maxQuantity != null ? { maxQuantity: args.maxQuantity } : {}),
|
|
46
|
-
...(args.validFrom != null ? { validFrom: new Date(args.validFrom) } : {}),
|
|
47
|
-
...(args.validUntil != null ? { validUntil: new Date(args.validUntil) } : {}),
|
|
48
|
-
}, actor);
|
|
49
|
-
if (!result.ok)
|
|
50
|
-
return { _error: result.error };
|
|
51
|
-
return result.value;
|
|
52
|
-
}
|
|
53
|
-
case "list": {
|
|
54
|
-
const result = await kernel.services.pricing.listPrices({
|
|
55
|
-
...(args.entityId != null ? { entityId: args.entityId } : {}),
|
|
56
|
-
...(args.variantId != null ? { variantId: args.variantId } : {}),
|
|
57
|
-
...(args.currency != null ? { currency: args.currency } : {}),
|
|
58
|
-
});
|
|
59
|
-
if (!result.ok)
|
|
60
|
-
return { _error: result.error };
|
|
61
|
-
return result.value;
|
|
62
|
-
}
|
|
63
|
-
case "create_modifier": {
|
|
64
|
-
if (!args.name)
|
|
65
|
-
return { _error: { message: "name required for create_modifier" } };
|
|
66
|
-
if (!args.type)
|
|
67
|
-
return { _error: { message: "type required for create_modifier" } };
|
|
68
|
-
if (args.value == null)
|
|
69
|
-
return { _error: { message: "value required for create_modifier" } };
|
|
70
|
-
const result = await kernel.services.pricing.createModifier({
|
|
71
|
-
name: args.name,
|
|
72
|
-
type: args.type,
|
|
73
|
-
value: args.value,
|
|
74
|
-
...(args.priority != null ? { priority: args.priority } : {}),
|
|
75
|
-
...(args.entityId != null ? { entityId: args.entityId } : {}),
|
|
76
|
-
...(args.variantId != null ? { variantId: args.variantId } : {}),
|
|
77
|
-
...(args.currency != null ? { currency: args.currency } : {}),
|
|
78
|
-
...(args.validFrom != null ? { validFrom: new Date(args.validFrom) } : {}),
|
|
79
|
-
...(args.validUntil != null ? { validUntil: new Date(args.validUntil) } : {}),
|
|
80
|
-
}, actor);
|
|
81
|
-
if (!result.ok)
|
|
82
|
-
return { _error: result.error };
|
|
83
|
-
return result.value;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
});
|
|
88
|
-
export const pricingTools = [
|
|
89
|
-
pricingManage,
|
|
90
|
-
];
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import type { ToolDefinition } from "./registry.js";
|
|
3
|
-
export declare const promotionsManage: ToolDefinition<z.ZodObject<{
|
|
4
|
-
action: z.ZodEnum<{
|
|
5
|
-
create: "create";
|
|
6
|
-
list: "list";
|
|
7
|
-
validate: "validate";
|
|
8
|
-
deactivate: "deactivate";
|
|
9
|
-
}>;
|
|
10
|
-
name: z.ZodOptional<z.ZodString>;
|
|
11
|
-
type: z.ZodOptional<z.ZodEnum<{
|
|
12
|
-
percentage_off_order: "percentage_off_order";
|
|
13
|
-
fixed_off_order: "fixed_off_order";
|
|
14
|
-
percentage_off_item: "percentage_off_item";
|
|
15
|
-
fixed_off_item: "fixed_off_item";
|
|
16
|
-
free_shipping: "free_shipping";
|
|
17
|
-
buy_x_get_y: "buy_x_get_y";
|
|
18
|
-
}>>;
|
|
19
|
-
value: z.ZodOptional<z.ZodNumber>;
|
|
20
|
-
code: z.ZodOptional<z.ZodString>;
|
|
21
|
-
isAutomatic: z.ZodOptional<z.ZodBoolean>;
|
|
22
|
-
priority: z.ZodOptional<z.ZodNumber>;
|
|
23
|
-
conditions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
24
|
-
usageLimitTotal: z.ZodOptional<z.ZodNumber>;
|
|
25
|
-
usageLimitPerCustomer: z.ZodOptional<z.ZodNumber>;
|
|
26
|
-
validFrom: z.ZodOptional<z.ZodString>;
|
|
27
|
-
validUntil: z.ZodOptional<z.ZodString>;
|
|
28
|
-
buyQuantity: z.ZodOptional<z.ZodNumber>;
|
|
29
|
-
getQuantity: z.ZodOptional<z.ZodNumber>;
|
|
30
|
-
currency: z.ZodOptional<z.ZodString>;
|
|
31
|
-
subtotal: z.ZodOptional<z.ZodNumber>;
|
|
32
|
-
lineItems: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
33
|
-
entityId: z.ZodString;
|
|
34
|
-
entityType: z.ZodString;
|
|
35
|
-
quantity: z.ZodNumber;
|
|
36
|
-
unitPrice: z.ZodNumber;
|
|
37
|
-
totalPrice: z.ZodNumber;
|
|
38
|
-
}, z.core.$strip>>>;
|
|
39
|
-
cartId: z.ZodOptional<z.ZodString>;
|
|
40
|
-
customerId: z.ZodOptional<z.ZodString>;
|
|
41
|
-
promotionId: z.ZodOptional<z.ZodString>;
|
|
42
|
-
}, z.core.$strip>>;
|
|
43
|
-
export declare const promotionsTools: ToolDefinition[];
|
|
44
|
-
//# sourceMappingURL=promotions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promotions.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/mcp/tools/promotions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiG3B,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,cAAc,EAE3C,CAAC"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { defineTool } from "./registry.js";
|
|
3
|
-
export const promotionsManage = defineTool({
|
|
4
|
-
name: "promotions_manage",
|
|
5
|
-
description: "Manage promotions and discount codes. Use when the user wants to create " +
|
|
6
|
-
"a promotion, list active promotions, validate a promo code, or deactivate " +
|
|
7
|
-
"a promotion. The 'action' field determines which operation to run.",
|
|
8
|
-
inputSchema: z.object({
|
|
9
|
-
action: z.enum(["create", "list", "validate", "deactivate"])
|
|
10
|
-
.describe("The promotion operation to perform"),
|
|
11
|
-
// create fields
|
|
12
|
-
name: z.string().optional().describe("Promotion name (for create)"),
|
|
13
|
-
type: z.enum([
|
|
14
|
-
"percentage_off_order", "fixed_off_order", "percentage_off_item",
|
|
15
|
-
"fixed_off_item", "free_shipping", "buy_x_get_y",
|
|
16
|
-
]).optional().describe("Promotion type (for create)"),
|
|
17
|
-
value: z.number().optional().describe("Discount value: percentage or fixed amount in cents (for create)"),
|
|
18
|
-
code: z.string().optional().describe("Promo code, null for automatic promotions (for create/validate)"),
|
|
19
|
-
isAutomatic: z.boolean().optional().describe("Auto-apply without code (for create)"),
|
|
20
|
-
priority: z.number().int().optional().describe("Stacking priority (for create)"),
|
|
21
|
-
conditions: z.record(z.string(), z.unknown()).optional().describe("Condition rules as JSONB (for create)"),
|
|
22
|
-
usageLimitTotal: z.number().int().optional().describe("Max total uses (for create)"),
|
|
23
|
-
usageLimitPerCustomer: z.number().int().optional().describe("Max uses per customer (for create)"),
|
|
24
|
-
validFrom: z.string().optional().describe("ISO date: promotion starts (for create)"),
|
|
25
|
-
validUntil: z.string().optional().describe("ISO date: promotion ends (for create)"),
|
|
26
|
-
buyQuantity: z.number().int().optional().describe("Buy X quantity for buy_x_get_y (for create)"),
|
|
27
|
-
getQuantity: z.number().int().optional().describe("Get Y quantity for buy_x_get_y (for create)"),
|
|
28
|
-
// validate fields
|
|
29
|
-
currency: z.string().optional().describe("Cart currency ISO 4217 (for validate)"),
|
|
30
|
-
subtotal: z.number().optional().describe("Cart subtotal in smallest currency unit (for validate)"),
|
|
31
|
-
lineItems: z.array(z.object({
|
|
32
|
-
entityId: z.string().describe("Entity UUID"),
|
|
33
|
-
entityType: z.string().describe("Entity type"),
|
|
34
|
-
quantity: z.number().int().positive().describe("Item quantity"),
|
|
35
|
-
unitPrice: z.number().describe("Unit price in smallest currency unit"),
|
|
36
|
-
totalPrice: z.number().describe("Total price in smallest currency unit"),
|
|
37
|
-
})).optional().describe("Cart line items for validation context (for validate)"),
|
|
38
|
-
cartId: z.string().optional().describe("Cart UUID for context (for validate)"),
|
|
39
|
-
customerId: z.string().optional().describe("Customer UUID for context (for validate)"),
|
|
40
|
-
// deactivate fields
|
|
41
|
-
promotionId: z.string().optional().describe("UUID of the promotion to deactivate (for deactivate)"),
|
|
42
|
-
}),
|
|
43
|
-
async handler(args, kernel) {
|
|
44
|
-
const actor = kernel.getMCPActor();
|
|
45
|
-
switch (args.action) {
|
|
46
|
-
case "create": {
|
|
47
|
-
if (!args.name)
|
|
48
|
-
return { _error: { message: "name required for create" } };
|
|
49
|
-
if (!args.type)
|
|
50
|
-
return { _error: { message: "type required for create" } };
|
|
51
|
-
if (args.value == null)
|
|
52
|
-
return { _error: { message: "value required for create" } };
|
|
53
|
-
const { action: _action, validFrom, validUntil, code, currency, subtotal, lineItems, cartId, customerId, promotionId, ...rest } = args;
|
|
54
|
-
const input = { ...rest };
|
|
55
|
-
// Filter out undefined optional fields to satisfy exactOptionalPropertyTypes
|
|
56
|
-
for (const key of Object.keys(input)) {
|
|
57
|
-
if (input[key] === undefined)
|
|
58
|
-
delete input[key];
|
|
59
|
-
}
|
|
60
|
-
if (code !== undefined)
|
|
61
|
-
input["code"] = code;
|
|
62
|
-
if (validFrom != null)
|
|
63
|
-
input["validFrom"] = new Date(validFrom);
|
|
64
|
-
if (validUntil != null)
|
|
65
|
-
input["validUntil"] = new Date(validUntil);
|
|
66
|
-
const result = await kernel.services.promotions.create(input, actor);
|
|
67
|
-
if (!result.ok)
|
|
68
|
-
return { _error: result.error };
|
|
69
|
-
return result.value;
|
|
70
|
-
}
|
|
71
|
-
case "list": {
|
|
72
|
-
const result = await kernel.services.promotions.listActive(actor);
|
|
73
|
-
if (!result.ok)
|
|
74
|
-
return { _error: result.error };
|
|
75
|
-
return result.value;
|
|
76
|
-
}
|
|
77
|
-
case "validate": {
|
|
78
|
-
if (!args.code)
|
|
79
|
-
return { _error: { message: "code required for validate" } };
|
|
80
|
-
if (!args.currency)
|
|
81
|
-
return { _error: { message: "currency required for validate" } };
|
|
82
|
-
if (args.subtotal == null)
|
|
83
|
-
return { _error: { message: "subtotal required for validate" } };
|
|
84
|
-
const result = await kernel.services.promotions.validate(args.code, {
|
|
85
|
-
currency: args.currency,
|
|
86
|
-
subtotal: args.subtotal,
|
|
87
|
-
lineItems: args.lineItems ?? [],
|
|
88
|
-
...(args.cartId != null ? { cartId: args.cartId } : {}),
|
|
89
|
-
...(args.customerId != null ? { customerId: args.customerId } : {}),
|
|
90
|
-
});
|
|
91
|
-
if (!result.ok)
|
|
92
|
-
return { _error: result.error };
|
|
93
|
-
return result.value;
|
|
94
|
-
}
|
|
95
|
-
case "deactivate": {
|
|
96
|
-
if (!args.promotionId)
|
|
97
|
-
return { _error: { message: "promotionId required for deactivate" } };
|
|
98
|
-
const orgId = actor.organizationId ?? "";
|
|
99
|
-
const result = await kernel.services.promotions.deactivate(orgId, args.promotionId);
|
|
100
|
-
if (!result.ok)
|
|
101
|
-
return { _error: result.error };
|
|
102
|
-
return result.value;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
});
|
|
107
|
-
export const promotionsTools = [
|
|
108
|
-
promotionsManage,
|
|
109
|
-
];
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
-
import type { Kernel } from "../../../runtime/kernel.js";
|
|
4
|
-
/**
|
|
5
|
-
* A curated MCP tool definition.
|
|
6
|
-
*
|
|
7
|
-
* Unlike auto-generated tools, curated tools are hand-designed for agent UX:
|
|
8
|
-
* - Descriptions explain WHEN to use the tool, not just WHAT it does
|
|
9
|
-
* - Input schemas use Zod with .describe() on every field
|
|
10
|
-
* - Enrichment hooks add _context (summaries, related queries, next steps)
|
|
11
|
-
* - Dangerous tools are excluded from the default set
|
|
12
|
-
*/
|
|
13
|
-
export interface ToolDefinition<TInput extends z.ZodType = z.ZodType> {
|
|
14
|
-
name: string;
|
|
15
|
-
description: string;
|
|
16
|
-
inputSchema: TInput;
|
|
17
|
-
handler: (args: z.infer<TInput>, kernel: Kernel) => Promise<unknown>;
|
|
18
|
-
enrich?: (result: unknown, kernel: Kernel) => Promise<unknown>;
|
|
19
|
-
/** If true, tool is excluded unless explicitly enabled via config.mcp.enableDangerousTools */
|
|
20
|
-
dangerous?: boolean;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Registers curated tool definitions on an McpServer instance.
|
|
24
|
-
* Filters out dangerous tools unless explicitly enabled in config.
|
|
25
|
-
*/
|
|
26
|
-
/**
|
|
27
|
-
* Helper to define a tool with proper type inference on the input schema.
|
|
28
|
-
* Without this, assigning directly to ToolDefinition loses the inferred args type.
|
|
29
|
-
*/
|
|
30
|
-
export declare function defineTool<TInput extends z.ZodType>(def: ToolDefinition<TInput>): ToolDefinition<TInput>;
|
|
31
|
-
export declare function registerToolsOnServer(server: McpServer, kernel: Kernel, tools: ToolDefinition[]): void;
|
|
32
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/mcp/tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,8FAA8F;IAC9F,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAoBD;;;GAGG;AACH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,EACjD,GAAG,EAAE,cAAc,CAAC,MAAM,CAAC,GAC1B,cAAc,CAAC,MAAM,CAAC,CAExB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,EAAE,GACtB,IAAI,CAyCN"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
function textResult(value) {
|
|
2
|
-
return {
|
|
3
|
-
content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
|
|
4
|
-
};
|
|
5
|
-
}
|
|
6
|
-
function errorResult(value) {
|
|
7
|
-
return {
|
|
8
|
-
content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
|
|
9
|
-
isError: true,
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Registers curated tool definitions on an McpServer instance.
|
|
14
|
-
* Filters out dangerous tools unless explicitly enabled in config.
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Helper to define a tool with proper type inference on the input schema.
|
|
18
|
-
* Without this, assigning directly to ToolDefinition loses the inferred args type.
|
|
19
|
-
*/
|
|
20
|
-
export function defineTool(def) {
|
|
21
|
-
return def;
|
|
22
|
-
}
|
|
23
|
-
export function registerToolsOnServer(server, kernel, tools) {
|
|
24
|
-
const enabledDangerous = new Set(kernel.config.mcp?.enableDangerousTools ?? []);
|
|
25
|
-
for (const tool of tools) {
|
|
26
|
-
if (tool.dangerous && !enabledDangerous.has(tool.name)) {
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
server.registerTool(tool.name, {
|
|
30
|
-
description: tool.description,
|
|
31
|
-
inputSchema: tool.inputSchema,
|
|
32
|
-
}, async (args) => {
|
|
33
|
-
try {
|
|
34
|
-
let result = await tool.handler(args, kernel);
|
|
35
|
-
if (tool.enrich) {
|
|
36
|
-
result = await tool.enrich(result, kernel);
|
|
37
|
-
}
|
|
38
|
-
// If handler returned an error result, pass through
|
|
39
|
-
if (result != null && typeof result === "object" && "isError" in result) {
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
// Convention: handlers return { _error: ... } for domain errors
|
|
43
|
-
if (result != null && typeof result === "object" && "_error" in result) {
|
|
44
|
-
return errorResult(result._error);
|
|
45
|
-
}
|
|
46
|
-
return textResult(result);
|
|
47
|
-
}
|
|
48
|
-
catch (err) {
|
|
49
|
-
return errorResult({
|
|
50
|
-
error: err instanceof Error ? err.message : String(err),
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import type { ToolDefinition } from "./registry.js";
|
|
3
|
-
export declare const search: ToolDefinition<z.ZodObject<{
|
|
4
|
-
mode: z.ZodEnum<{
|
|
5
|
-
query: "query";
|
|
6
|
-
suggest: "suggest";
|
|
7
|
-
}>;
|
|
8
|
-
query: z.ZodString;
|
|
9
|
-
page: z.ZodDefault<z.ZodNumber>;
|
|
10
|
-
limit: z.ZodDefault<z.ZodNumber>;
|
|
11
|
-
filters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
12
|
-
}, z.core.$strip>>;
|
|
13
|
-
export declare const searchTools: ToolDefinition[];
|
|
14
|
-
//# sourceMappingURL=search.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/mcp/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,eAAO,MAAM,MAAM;;;;;;;;;kBAgCjB,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,cAAc,EAEvC,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { defineTool } from "./registry.js";
|
|
3
|
-
export const search = defineTool({
|
|
4
|
-
name: "search",
|
|
5
|
-
description: "Search the catalog or get autocomplete suggestions. Use 'query' mode for " +
|
|
6
|
-
"full-text search with faceting, and 'suggest' mode for typeahead/autocomplete " +
|
|
7
|
-
"when the user is typing a partial query.",
|
|
8
|
-
inputSchema: z.object({
|
|
9
|
-
mode: z.enum(["query", "suggest"]).describe("Search mode: 'query' for full results, 'suggest' for autocomplete"),
|
|
10
|
-
query: z.string().describe("Search query text (full query or partial for suggest)"),
|
|
11
|
-
page: z.number().int().positive().default(1).describe("Page number (for query mode)"),
|
|
12
|
-
limit: z.number().int().positive().max(100).default(20).describe("Results per page or max suggestions"),
|
|
13
|
-
filters: z.record(z.string(), z.unknown()).optional().describe("Filter key-value pairs (for query mode)"),
|
|
14
|
-
}),
|
|
15
|
-
async handler({ mode, query, page, limit, filters }, kernel) {
|
|
16
|
-
switch (mode) {
|
|
17
|
-
case "query": {
|
|
18
|
-
const result = await kernel.services.search.query({
|
|
19
|
-
query,
|
|
20
|
-
page,
|
|
21
|
-
limit,
|
|
22
|
-
...(filters != null ? { filters: filters } : {}),
|
|
23
|
-
});
|
|
24
|
-
if (!result.ok)
|
|
25
|
-
return { _error: result.error };
|
|
26
|
-
return result.value;
|
|
27
|
-
}
|
|
28
|
-
case "suggest": {
|
|
29
|
-
const result = await kernel.services.search.suggest({ prefix: query, limit });
|
|
30
|
-
if (!result.ok)
|
|
31
|
-
return { _error: result.error };
|
|
32
|
-
return result.value;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
export const searchTools = [
|
|
38
|
-
search,
|
|
39
|
-
];
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import type { ToolDefinition } from "./registry.js";
|
|
3
|
-
export declare const webhooksManage: ToolDefinition<z.ZodObject<{
|
|
4
|
-
action: z.ZodEnum<{
|
|
5
|
-
delete: "delete";
|
|
6
|
-
create: "create";
|
|
7
|
-
list: "list";
|
|
8
|
-
}>;
|
|
9
|
-
url: z.ZodOptional<z.ZodString>;
|
|
10
|
-
events: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
11
|
-
secret: z.ZodOptional<z.ZodString>;
|
|
12
|
-
endpointId: z.ZodOptional<z.ZodString>;
|
|
13
|
-
}, z.core.$strip>>;
|
|
14
|
-
export declare const webhooksTools: ToolDefinition[];
|
|
15
|
-
//# sourceMappingURL=webhooks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/mcp/tools/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,eAAO,MAAM,cAAc;;;;;;;;;;kBAuCzB,CAAC;AAEH,eAAO,MAAM,aAAa,EAAE,cAAc,EAEzC,CAAC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { defineTool } from "./registry.js";
|
|
3
|
-
export const webhooksManage = defineTool({
|
|
4
|
-
name: "webhooks_manage",
|
|
5
|
-
description: "Manage webhook endpoints: create, list, or delete. Use when the user " +
|
|
6
|
-
"wants to set up integrations, view existing webhooks, or remove an endpoint.",
|
|
7
|
-
inputSchema: z.object({
|
|
8
|
-
action: z.enum(["create", "list", "delete"]).describe("Operation to perform"),
|
|
9
|
-
url: z.string().optional().describe("Endpoint URL (for create)"),
|
|
10
|
-
events: z.array(z.string()).optional().describe("Event names to subscribe to (for create)"),
|
|
11
|
-
secret: z.string().optional().describe("HMAC signing secret (for create)"),
|
|
12
|
-
endpointId: z.string().optional().describe("Endpoint UUID (for delete)"),
|
|
13
|
-
}),
|
|
14
|
-
async handler({ action, url, events, secret, endpointId }, kernel) {
|
|
15
|
-
switch (action) {
|
|
16
|
-
case "create": {
|
|
17
|
-
if (!url || !events || events.length === 0) {
|
|
18
|
-
return { _error: { message: "url and events are required for create" } };
|
|
19
|
-
}
|
|
20
|
-
const result = await kernel.services.webhooks.createEndpoint({
|
|
21
|
-
url,
|
|
22
|
-
secret: secret ?? crypto.randomUUID(),
|
|
23
|
-
events,
|
|
24
|
-
});
|
|
25
|
-
if (!result.ok)
|
|
26
|
-
return { _error: result.error };
|
|
27
|
-
return result.value;
|
|
28
|
-
}
|
|
29
|
-
case "list": {
|
|
30
|
-
const result = await kernel.services.webhooks.listEndpoints();
|
|
31
|
-
if (!result.ok)
|
|
32
|
-
return { _error: result.error };
|
|
33
|
-
return result.value;
|
|
34
|
-
}
|
|
35
|
-
case "delete": {
|
|
36
|
-
if (!endpointId)
|
|
37
|
-
return { _error: { message: "endpointId required for delete" } };
|
|
38
|
-
const result = await kernel.services.webhooks.deleteEndpoint(endpointId);
|
|
39
|
-
if (!result.ok)
|
|
40
|
-
return { _error: result.error };
|
|
41
|
-
return { deleted: true, endpointId };
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
export const webhooksTools = [
|
|
47
|
-
webhooksManage,
|
|
48
|
-
];
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Hono } from "hono";
|
|
2
|
-
import type { Kernel } from "../../runtime/kernel.js";
|
|
3
|
-
/**
|
|
4
|
-
* Creates a spec-compliant MCP handler mounted as a Hono sub-router.
|
|
5
|
-
*
|
|
6
|
-
* Implements MCP Streamable HTTP transport (spec 2025-03-26):
|
|
7
|
-
* POST / -- receives JSON-RPC 2.0 messages (initialize, tools/call, etc.)
|
|
8
|
-
* GET / -- returns 405 (stateless mode: no server-initiated SSE)
|
|
9
|
-
* DELETE / -- returns 405 (stateless mode: no session teardown)
|
|
10
|
-
*
|
|
11
|
-
* Uses WebStandardStreamableHTTPServerTransport which accepts standard
|
|
12
|
-
* Request objects and returns standard Response objects -- works natively
|
|
13
|
-
* with Hono and Bun, zero Node.js shims.
|
|
14
|
-
*
|
|
15
|
-
* Note: @modelcontextprotocol/hono is not yet published to npm.
|
|
16
|
-
* When it is, this can be simplified to use createMcpHonoApp().
|
|
17
|
-
* Until then, we wire the transport to Hono manually -- same result.
|
|
18
|
-
*/
|
|
19
|
-
export declare function createMCPHandler(kernel: Kernel): Hono;
|
|
20
|
-
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/interfaces/mcp/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAK5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AA4DtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA8CrD"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Hono } from "hono";
|
|
2
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
-
import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
|
|
4
|
-
import { z } from "zod";
|
|
5
|
-
import { registerCoreTools, registerCoreResources } from "./server.js";
|
|
6
|
-
/**
|
|
7
|
-
* Registers a plugin MCPTool on an McpServer instance.
|
|
8
|
-
*
|
|
9
|
-
* Plugin tools use the MCPTool interface (JSON Schema inputSchema, untyped handler).
|
|
10
|
-
* This function bridges them to the SDK's registerTool API using a permissive
|
|
11
|
-
* Zod passthrough schema -- the plugin handler does its own validation.
|
|
12
|
-
*/
|
|
13
|
-
function registerPluginTool(server, tool) {
|
|
14
|
-
server.registerTool(tool.name, {
|
|
15
|
-
description: tool.description,
|
|
16
|
-
inputSchema: z.object({}).passthrough(),
|
|
17
|
-
}, async (args) => {
|
|
18
|
-
const result = await tool.handler(args);
|
|
19
|
-
if (result != null && typeof result === "object" && "content" in result) {
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
22
|
-
return {
|
|
23
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
24
|
-
};
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Builds a fresh McpServer instance with all core + plugin tools registered.
|
|
29
|
-
* Called per-request in stateless mode.
|
|
30
|
-
*/
|
|
31
|
-
function buildMcpServer(kernel) {
|
|
32
|
-
const server = new McpServer({
|
|
33
|
-
name: kernel.config.storeName ?? "unified-commerce",
|
|
34
|
-
version: kernel.config.version ?? "0.1.0",
|
|
35
|
-
}, {
|
|
36
|
-
capabilities: {
|
|
37
|
-
tools: {},
|
|
38
|
-
resources: {},
|
|
39
|
-
logging: {},
|
|
40
|
-
},
|
|
41
|
-
});
|
|
42
|
-
// Core tools (curated, Zod-validated, STRAP pattern)
|
|
43
|
-
registerCoreTools(server, kernel);
|
|
44
|
-
registerCoreResources(server, kernel);
|
|
45
|
-
// Plugin tools (MCPTool[] from defineCommercePlugin mcpTools)
|
|
46
|
-
for (const tool of kernel.mcpTools) {
|
|
47
|
-
registerPluginTool(server, tool);
|
|
48
|
-
}
|
|
49
|
-
return server;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Creates a spec-compliant MCP handler mounted as a Hono sub-router.
|
|
53
|
-
*
|
|
54
|
-
* Implements MCP Streamable HTTP transport (spec 2025-03-26):
|
|
55
|
-
* POST / -- receives JSON-RPC 2.0 messages (initialize, tools/call, etc.)
|
|
56
|
-
* GET / -- returns 405 (stateless mode: no server-initiated SSE)
|
|
57
|
-
* DELETE / -- returns 405 (stateless mode: no session teardown)
|
|
58
|
-
*
|
|
59
|
-
* Uses WebStandardStreamableHTTPServerTransport which accepts standard
|
|
60
|
-
* Request objects and returns standard Response objects -- works natively
|
|
61
|
-
* with Hono and Bun, zero Node.js shims.
|
|
62
|
-
*
|
|
63
|
-
* Note: @modelcontextprotocol/hono is not yet published to npm.
|
|
64
|
-
* When it is, this can be simplified to use createMcpHonoApp().
|
|
65
|
-
* Until then, we wire the transport to Hono manually -- same result.
|
|
66
|
-
*/
|
|
67
|
-
export function createMCPHandler(kernel) {
|
|
68
|
-
const router = new Hono();
|
|
69
|
-
router.post("/", async (c) => {
|
|
70
|
-
const server = buildMcpServer(kernel);
|
|
71
|
-
const transport = new WebStandardStreamableHTTPServerTransport({
|
|
72
|
-
enableJsonResponse: true,
|
|
73
|
-
});
|
|
74
|
-
await server.connect(transport);
|
|
75
|
-
try {
|
|
76
|
-
const response = await transport.handleRequest(c.req.raw, {
|
|
77
|
-
parsedBody: await c.req.json(),
|
|
78
|
-
});
|
|
79
|
-
transport.close();
|
|
80
|
-
server.close();
|
|
81
|
-
return response;
|
|
82
|
-
}
|
|
83
|
-
catch (err) {
|
|
84
|
-
transport.close();
|
|
85
|
-
server.close();
|
|
86
|
-
return c.json({
|
|
87
|
-
jsonrpc: "2.0",
|
|
88
|
-
error: {
|
|
89
|
-
code: -32603,
|
|
90
|
-
message: err instanceof Error ? err.message : "Internal server error",
|
|
91
|
-
},
|
|
92
|
-
id: null,
|
|
93
|
-
}, 500);
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
router.get("/", () => new Response(null, { status: 405, statusText: "Method Not Allowed" }));
|
|
97
|
-
router.delete("/", () => new Response(null, { status: 405, statusText: "Method Not Allowed" }));
|
|
98
|
-
return router;
|
|
99
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
2
|
-
import type { Kernel } from "../../runtime/kernel.js";
|
|
3
|
-
import type { AppEnv } from "./utils.js";
|
|
4
|
-
export declare function createCustomerPortalRoutes(kernel: Kernel): OpenAPIHono<AppEnv, {}, "/">;
|
|
5
|
-
//# sourceMappingURL=customer-portal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"customer-portal.d.ts","sourceRoot":"","sources":["../../../src/interfaces/rest/customer-portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAgBzC,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,gCAsRxD"}
|