@akbarsafari00/bonyan-types 5.52.1-fa.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/LICENSE +37 -0
- package/README.md +9 -0
- package/dist/core/api.d.ts +3 -0
- package/dist/core/api.d.ts.map +1 -0
- package/dist/core/commands/index.d.ts +6 -0
- package/dist/core/commands/index.d.ts.map +1 -0
- package/dist/core/config/admin.d.ts +156 -0
- package/dist/core/config/admin.d.ts.map +1 -0
- package/dist/core/config/api.d.ts +38 -0
- package/dist/core/config/api.d.ts.map +1 -0
- package/dist/core/config/database.d.ts +78 -0
- package/dist/core/config/database.d.ts.map +1 -0
- package/dist/core/config/features.d.ts +14 -0
- package/dist/core/config/features.d.ts.map +1 -0
- package/dist/core/config/index.d.ts +11 -0
- package/dist/core/config/index.d.ts.map +1 -0
- package/dist/core/config/middlewares.d.ts +3 -0
- package/dist/core/config/middlewares.d.ts.map +1 -0
- package/dist/core/config/openapi.d.ts +35 -0
- package/dist/core/config/openapi.d.ts.map +1 -0
- package/dist/core/config/plugin.d.ts +8 -0
- package/dist/core/config/plugin.d.ts.map +1 -0
- package/dist/core/config/server.d.ts +102 -0
- package/dist/core/config/server.d.ts.map +1 -0
- package/dist/core/config/shared.d.ts +8 -0
- package/dist/core/config/shared.d.ts.map +1 -0
- package/dist/core/config/typescript.d.ts +10 -0
- package/dist/core/config/typescript.d.ts.map +1 -0
- package/dist/core/container.d.ts +5 -0
- package/dist/core/container.d.ts.map +1 -0
- package/dist/core/controller.d.ts +7 -0
- package/dist/core/controller.d.ts.map +1 -0
- package/dist/core/core-api/controller.d.ts +47 -0
- package/dist/core/core-api/controller.d.ts.map +1 -0
- package/dist/core/core-api/index.d.ts +4 -0
- package/dist/core/core-api/index.d.ts.map +1 -0
- package/dist/core/core-api/router.d.ts +64 -0
- package/dist/core/core-api/router.d.ts.map +1 -0
- package/dist/core/core-api/service.d.ts +69 -0
- package/dist/core/core-api/service.d.ts.map +1 -0
- package/dist/core/index.d.ts +15 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/middleware.d.ts +15 -0
- package/dist/core/middleware.d.ts.map +1 -0
- package/dist/core/module.d.ts +26 -0
- package/dist/core/module.d.ts.map +1 -0
- package/dist/core/plugin.d.ts +6 -0
- package/dist/core/plugin.d.ts.map +1 -0
- package/dist/core/policy.d.ts +15 -0
- package/dist/core/policy.d.ts.map +1 -0
- package/dist/core/route.d.ts +54 -0
- package/dist/core/route.d.ts.map +1 -0
- package/dist/core/router.d.ts +15 -0
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/service.d.ts +4 -0
- package/dist/core/service.d.ts.map +1 -0
- package/dist/core/strapi.d.ts +162 -0
- package/dist/core/strapi.d.ts.map +1 -0
- package/dist/data/component.d.ts +21 -0
- package/dist/data/component.d.ts.map +1 -0
- package/dist/data/constants.d.ts +5 -0
- package/dist/data/constants.d.ts.map +1 -0
- package/dist/data/content-type.d.ts +26 -0
- package/dist/data/content-type.d.ts.map +1 -0
- package/dist/data/entity.d.ts +15 -0
- package/dist/data/entity.d.ts.map +1 -0
- package/dist/data/index.d.ts +5 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/internal/index.d.ts +13 -0
- package/dist/internal/index.d.ts.map +1 -0
- package/dist/internal/namespace.d.ts +78 -0
- package/dist/internal/namespace.d.ts.map +1 -0
- package/dist/internal/registry.d.ts +8 -0
- package/dist/internal/registry.d.ts.map +1 -0
- package/dist/internal/uid.d.ts +116 -0
- package/dist/internal/uid.d.ts.map +1 -0
- package/dist/modules/ai.d.ts +34 -0
- package/dist/modules/ai.d.ts.map +1 -0
- package/dist/modules/audit-logs.d.ts +6 -0
- package/dist/modules/audit-logs.d.ts.map +1 -0
- package/dist/modules/auth.d.ts +25 -0
- package/dist/modules/auth.d.ts.map +1 -0
- package/dist/modules/content-api.d.ts +92 -0
- package/dist/modules/content-api.d.ts.map +1 -0
- package/dist/modules/core-store.d.ts +28 -0
- package/dist/modules/core-store.d.ts.map +1 -0
- package/dist/modules/cron.d.ts +27 -0
- package/dist/modules/cron.d.ts.map +1 -0
- package/dist/modules/custom-fields.d.ts +25 -0
- package/dist/modules/custom-fields.d.ts.map +1 -0
- package/dist/modules/documents/component-extension.d.ts +73 -0
- package/dist/modules/documents/component-extension.d.ts.map +1 -0
- package/dist/modules/documents/draft-and-publish.d.ts +12 -0
- package/dist/modules/documents/draft-and-publish.d.ts.map +1 -0
- package/dist/modules/documents/index.d.ts +27 -0
- package/dist/modules/documents/index.d.ts.map +1 -0
- package/dist/modules/documents/middleware.d.ts +14 -0
- package/dist/modules/documents/middleware.d.ts.map +1 -0
- package/dist/modules/documents/params/attributes/id.d.ts +4 -0
- package/dist/modules/documents/params/attributes/id.d.ts.map +1 -0
- package/dist/modules/documents/params/attributes/index.d.ts +79 -0
- package/dist/modules/documents/params/attributes/index.d.ts.map +1 -0
- package/dist/modules/documents/params/attributes/relations.d.ts +40 -0
- package/dist/modules/documents/params/attributes/relations.d.ts.map +1 -0
- package/dist/modules/documents/params/data.d.ts +67 -0
- package/dist/modules/documents/params/data.d.ts.map +1 -0
- package/dist/modules/documents/params/document-engine.d.ts +34 -0
- package/dist/modules/documents/params/document-engine.d.ts.map +1 -0
- package/dist/modules/documents/params/fields.d.ts +61 -0
- package/dist/modules/documents/params/fields.d.ts.map +1 -0
- package/dist/modules/documents/params/filters/index.d.ts +61 -0
- package/dist/modules/documents/params/filters/index.d.ts.map +1 -0
- package/dist/modules/documents/params/filters/operators.d.ts +9 -0
- package/dist/modules/documents/params/filters/operators.d.ts.map +1 -0
- package/dist/modules/documents/params/index.d.ts +162 -0
- package/dist/modules/documents/params/index.d.ts.map +1 -0
- package/dist/modules/documents/params/locale.d.ts +4 -0
- package/dist/modules/documents/params/locale.d.ts.map +1 -0
- package/dist/modules/documents/params/pagination.d.ts +11 -0
- package/dist/modules/documents/params/pagination.d.ts.map +1 -0
- package/dist/modules/documents/params/populate.d.ts +86 -0
- package/dist/modules/documents/params/populate.d.ts.map +1 -0
- package/dist/modules/documents/params/search.d.ts +2 -0
- package/dist/modules/documents/params/search.d.ts.map +1 -0
- package/dist/modules/documents/params/sort.d.ts +87 -0
- package/dist/modules/documents/params/sort.d.ts.map +1 -0
- package/dist/modules/documents/params/status.d.ts +12 -0
- package/dist/modules/documents/params/status.d.ts.map +1 -0
- package/dist/modules/documents/plugin.d.ts +11 -0
- package/dist/modules/documents/plugin.d.ts.map +1 -0
- package/dist/modules/documents/result/document-engine.d.ts +34 -0
- package/dist/modules/documents/result/document-engine.d.ts.map +1 -0
- package/dist/modules/documents/result/index.d.ts +93 -0
- package/dist/modules/documents/result/index.d.ts.map +1 -0
- package/dist/modules/documents/service-instance.d.ts +96 -0
- package/dist/modules/documents/service-instance.d.ts.map +1 -0
- package/dist/modules/entity-service/index.d.ts +87 -0
- package/dist/modules/entity-service/index.d.ts.map +1 -0
- package/dist/modules/entity-service/params/attributes/id.d.ts +3 -0
- package/dist/modules/entity-service/params/attributes/id.d.ts.map +1 -0
- package/dist/modules/entity-service/params/attributes/index.d.ts +71 -0
- package/dist/modules/entity-service/params/attributes/index.d.ts.map +1 -0
- package/dist/modules/entity-service/params/attributes/literals.d.ts +8 -0
- package/dist/modules/entity-service/params/attributes/literals.d.ts.map +1 -0
- package/dist/modules/entity-service/params/attributes/relation.d.ts +40 -0
- package/dist/modules/entity-service/params/attributes/relation.d.ts.map +1 -0
- package/dist/modules/entity-service/params/attributes/utils.d.ts +9 -0
- package/dist/modules/entity-service/params/attributes/utils.d.ts.map +1 -0
- package/dist/modules/entity-service/params/data.d.ts +52 -0
- package/dist/modules/entity-service/params/data.d.ts.map +1 -0
- package/dist/modules/entity-service/params/fields.d.ts +61 -0
- package/dist/modules/entity-service/params/fields.d.ts.map +1 -0
- package/dist/modules/entity-service/params/filters/index.d.ts +96 -0
- package/dist/modules/entity-service/params/filters/index.d.ts.map +1 -0
- package/dist/modules/entity-service/params/filters/operators.d.ts +9 -0
- package/dist/modules/entity-service/params/filters/operators.d.ts.map +1 -0
- package/dist/modules/entity-service/params/index.d.ts +123 -0
- package/dist/modules/entity-service/params/index.d.ts.map +1 -0
- package/dist/modules/entity-service/params/pagination.d.ts +10 -0
- package/dist/modules/entity-service/params/pagination.d.ts.map +1 -0
- package/dist/modules/entity-service/params/populate.d.ts +69 -0
- package/dist/modules/entity-service/params/populate.d.ts.map +1 -0
- package/dist/modules/entity-service/params/search.d.ts +2 -0
- package/dist/modules/entity-service/params/search.d.ts.map +1 -0
- package/dist/modules/entity-service/params/sort.d.ts +95 -0
- package/dist/modules/entity-service/params/sort.d.ts.map +1 -0
- package/dist/modules/entity-service/plugin.d.ts +11 -0
- package/dist/modules/entity-service/plugin.d.ts.map +1 -0
- package/dist/modules/entity-service/result.d.ts +78 -0
- package/dist/modules/entity-service/result.d.ts.map +1 -0
- package/dist/modules/entity-validator.d.ts +21 -0
- package/dist/modules/entity-validator.d.ts.map +1 -0
- package/dist/modules/event-hub.d.ts +16 -0
- package/dist/modules/event-hub.d.ts.map +1 -0
- package/dist/modules/features.d.ts +12 -0
- package/dist/modules/features.d.ts.map +1 -0
- package/dist/modules/fetch.d.ts +11 -0
- package/dist/modules/fetch.d.ts.map +1 -0
- package/dist/modules/index.d.ts +24 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/mcp.d.ts +216 -0
- package/dist/modules/mcp.d.ts.map +1 -0
- package/dist/modules/metrics.d.ts +8 -0
- package/dist/modules/metrics.d.ts.map +1 -0
- package/dist/modules/permissions.d.ts +14 -0
- package/dist/modules/permissions.d.ts.map +1 -0
- package/dist/modules/request-context.d.ts +6 -0
- package/dist/modules/request-context.d.ts.map +1 -0
- package/dist/modules/sanitizers.d.ts +8 -0
- package/dist/modules/sanitizers.d.ts.map +1 -0
- package/dist/modules/server.d.ts +29 -0
- package/dist/modules/server.d.ts.map +1 -0
- package/dist/modules/session-manager.d.ts +70 -0
- package/dist/modules/session-manager.d.ts.map +1 -0
- package/dist/modules/validators.d.ts +8 -0
- package/dist/modules/validators.d.ts.map +1 -0
- package/dist/modules/webhook-runner.d.ts +19 -0
- package/dist/modules/webhook-runner.d.ts.map +1 -0
- package/dist/modules/webhook-store.d.ts +21 -0
- package/dist/modules/webhook-store.d.ts.map +1 -0
- package/dist/plugin/config/index.d.ts +3 -0
- package/dist/plugin/config/index.d.ts.map +1 -0
- package/dist/plugin/config/strapi-admin/index.d.ts +8 -0
- package/dist/plugin/config/strapi-admin/index.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/config.d.ts +8 -0
- package/dist/plugin/config/strapi-server/config.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/content-types.d.ts +11 -0
- package/dist/plugin/config/strapi-server/content-types.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/controllers.d.ts +8 -0
- package/dist/plugin/config/strapi-server/controllers.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/index.d.ts +21 -0
- package/dist/plugin/config/strapi-server/index.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/lifecycle.d.ts +8 -0
- package/dist/plugin/config/strapi-server/lifecycle.d.ts.map +1 -0
- package/dist/plugin/config/strapi-server/routes.d.ts +11 -0
- package/dist/plugin/config/strapi-server/routes.d.ts.map +1 -0
- package/dist/plugin/index.d.ts +40 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/public/index.d.ts +6 -0
- package/dist/public/index.d.ts.map +1 -0
- package/dist/public/registries.d.ts +68 -0
- package/dist/public/registries.d.ts.map +1 -0
- package/dist/public/shared.d.ts +61 -0
- package/dist/public/shared.d.ts.map +1 -0
- package/dist/schema/attribute/base.d.ts +92 -0
- package/dist/schema/attribute/base.d.ts.map +1 -0
- package/dist/schema/attribute/common.d.ts +29 -0
- package/dist/schema/attribute/common.d.ts.map +1 -0
- package/dist/schema/attribute/constants.d.ts +12 -0
- package/dist/schema/attribute/constants.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/biginteger.d.ts +19 -0
- package/dist/schema/attribute/definitions/biginteger.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/blocks.d.ts +80 -0
- package/dist/schema/attribute/definitions/blocks.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/boolean.d.ts +19 -0
- package/dist/schema/attribute/definitions/boolean.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/component.d.ts +25 -0
- package/dist/schema/attribute/definitions/component.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/date-time.d.ts +18 -0
- package/dist/schema/attribute/definitions/date-time.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/date.d.ts +18 -0
- package/dist/schema/attribute/definitions/date.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/decimal.d.ts +19 -0
- package/dist/schema/attribute/definitions/decimal.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/dynamic-zone.d.ts +25 -0
- package/dist/schema/attribute/definitions/dynamic-zone.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/email.d.ts +19 -0
- package/dist/schema/attribute/definitions/email.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/enumeration.d.ts +22 -0
- package/dist/schema/attribute/definitions/enumeration.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/float.d.ts +19 -0
- package/dist/schema/attribute/definitions/float.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/index.d.ts +23 -0
- package/dist/schema/attribute/definitions/index.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/integer.d.ts +19 -0
- package/dist/schema/attribute/definitions/integer.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/json.d.ts +17 -0
- package/dist/schema/attribute/definitions/json.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/media.d.ts +24 -0
- package/dist/schema/attribute/definitions/media.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/password.d.ts +18 -0
- package/dist/schema/attribute/definitions/password.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/relation.d.ts +167 -0
- package/dist/schema/attribute/definitions/relation.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/richtext.d.ts +18 -0
- package/dist/schema/attribute/definitions/richtext.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/string.d.ts +28 -0
- package/dist/schema/attribute/definitions/string.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/text.d.ts +23 -0
- package/dist/schema/attribute/definitions/text.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/time.d.ts +18 -0
- package/dist/schema/attribute/definitions/time.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/timestamp.d.ts +18 -0
- package/dist/schema/attribute/definitions/timestamp.d.ts.map +1 -0
- package/dist/schema/attribute/definitions/uid.d.ts +31 -0
- package/dist/schema/attribute/definitions/uid.d.ts.map +1 -0
- package/dist/schema/attribute/index.d.ts +7 -0
- package/dist/schema/attribute/index.d.ts.map +1 -0
- package/dist/schema/attribute/options.d.ts +221 -0
- package/dist/schema/attribute/options.d.ts.map +1 -0
- package/dist/schema/attribute/utils.d.ts +101 -0
- package/dist/schema/attribute/utils.d.ts.map +1 -0
- package/dist/schema/index.d.ts +144 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/struct/index.d.ts +3 -0
- package/dist/struct/index.d.ts.map +1 -0
- package/dist/struct/schema-definition.d.ts +10 -0
- package/dist/struct/schema-definition.d.ts.map +1 -0
- package/dist/struct/schema.d.ts +286 -0
- package/dist/struct/schema.d.ts.map +1 -0
- package/dist/uid/index.d.ts +168 -0
- package/dist/uid/index.d.ts.map +1 -0
- package/dist/utils/array.d.ts +80 -0
- package/dist/utils/array.d.ts.map +1 -0
- package/dist/utils/constants.d.ts +67 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/expression.d.ts +490 -0
- package/dist/utils/expression.d.ts.map +1 -0
- package/dist/utils/function.d.ts +21 -0
- package/dist/utils/function.d.ts.map +1 -0
- package/dist/utils/guard.d.ts +90 -0
- package/dist/utils/guard.d.ts.map +1 -0
- package/dist/utils/index.d.ts +236 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/json.d.ts +119 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/object.d.ts +180 -0
- package/dist/utils/object.d.ts.map +1 -0
- package/dist/utils/string.d.ts +190 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/tuple.d.ts +19 -0
- package/dist/utils/tuple.d.ts.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import type { Ability } from '@casl/ability';
|
|
2
|
+
import { z } from '@strapi/utils';
|
|
3
|
+
import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
|
|
4
|
+
import type { ServerNotification, ServerRequest, ContentBlock, GetPromptResult, ReadResourceResult } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
+
import type { ResourceMetadata } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import type * as Core from '../core';
|
|
7
|
+
/** A single CASL permission check: action + optional subject. */
|
|
8
|
+
export type McpAuthPolicy = {
|
|
9
|
+
action: string;
|
|
10
|
+
subject?: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Auth requirement for a non-dev MCP capability.
|
|
14
|
+
* The session gate passes when the user's ability satisfies ANY policy in the array.
|
|
15
|
+
*/
|
|
16
|
+
export type McpCapabilityAuth = {
|
|
17
|
+
policies: [McpAuthPolicy, ...McpAuthPolicy[]];
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Per-request context injected into MCP tool handler factories.
|
|
21
|
+
* Carries the authenticated session's ability so handlers can enforce
|
|
22
|
+
* field-level and entity-level permission checks identical to HTTP controllers.
|
|
23
|
+
* Also carries the token owner's user so write handlers can call setCreatorFields.
|
|
24
|
+
*/
|
|
25
|
+
export type McpHandlerContext = {
|
|
26
|
+
userAbility: Ability;
|
|
27
|
+
user: {
|
|
28
|
+
id: string | number;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
/** Access variant for dev-mode-only capabilities (no auth policies). */
|
|
32
|
+
export type McpDevModeAccess = {
|
|
33
|
+
devModeOnly: true;
|
|
34
|
+
auth?: never;
|
|
35
|
+
};
|
|
36
|
+
/** Access variant for capabilities gated by CASL auth policies. */
|
|
37
|
+
export type McpAuthAccess = {
|
|
38
|
+
devModeOnly?: never;
|
|
39
|
+
auth: McpCapabilityAuth;
|
|
40
|
+
};
|
|
41
|
+
export type McpCapabilityAccess = McpDevModeAccess | McpAuthAccess;
|
|
42
|
+
export type McpCapabilityTelemetry = {
|
|
43
|
+
source?: string;
|
|
44
|
+
/** Sanitized name override — replaces raw capability name in analytics */
|
|
45
|
+
name?: string;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Base definition for Strapi MCP capabilities
|
|
49
|
+
*/
|
|
50
|
+
export type McpCapabilityDefinition<Name extends string = string> = {
|
|
51
|
+
name: Name;
|
|
52
|
+
telemetry?: McpCapabilityTelemetry;
|
|
53
|
+
} & McpCapabilityAccess;
|
|
54
|
+
/**
|
|
55
|
+
* Handler function for Strapi MCP tools.
|
|
56
|
+
* Receives a single object parameter `{ args, extra }`.
|
|
57
|
+
* When InputSchema is a ZodObject, `args` is typed as its inferred shape.
|
|
58
|
+
* When InputSchema is undefined, `args` is `never` (omit it in destructuring).
|
|
59
|
+
*/
|
|
60
|
+
export type McpToolHandler<InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = z.ZodObject<z.ZodRawShape> | undefined, OutputSchema extends z.ZodObject<z.ZodRawShape> = z.ZodObject<z.ZodRawShape>> = (params: {
|
|
61
|
+
extra: RequestHandlerExtra<ServerRequest, ServerNotification>;
|
|
62
|
+
} & (InputSchema extends z.ZodObject<z.ZodRawShape> ? {
|
|
63
|
+
args: z.infer<InputSchema>;
|
|
64
|
+
} : {
|
|
65
|
+
args?: never;
|
|
66
|
+
})) => Promise<McpToolHandlerReturn<OutputSchema>>;
|
|
67
|
+
/**
|
|
68
|
+
* Return type for Strapi MCP tool handlers.
|
|
69
|
+
*/
|
|
70
|
+
export type McpToolHandlerReturn<OutputSchema extends z.ZodObject<z.ZodRawShape> = z.ZodObject<z.ZodRawShape>> = {
|
|
71
|
+
content: ContentBlock[];
|
|
72
|
+
structuredContent?: never;
|
|
73
|
+
isError: true;
|
|
74
|
+
} | {
|
|
75
|
+
content: ContentBlock[];
|
|
76
|
+
structuredContent: z.infer<OutputSchema>;
|
|
77
|
+
isError?: never;
|
|
78
|
+
};
|
|
79
|
+
export type McpToolSchemaResolver<Schema> = (context: McpHandlerContext) => Schema;
|
|
80
|
+
/**
|
|
81
|
+
* Access-agnostic fields of a Strapi MCP tool definition.
|
|
82
|
+
* Shared by the `defineTool` builder ({@link McpToolBuilder}) and
|
|
83
|
+
* `McpService.registerTool`, then intersected with an access variant
|
|
84
|
+
* ({@link McpDevModeAccess} or {@link McpAuthAccess}).
|
|
85
|
+
*/
|
|
86
|
+
export type McpToolDefinitionFields<Name extends string = string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = z.ZodObject<z.ZodRawShape> | undefined, OutputSchema extends z.ZodObject<z.ZodRawShape> = z.ZodObject<z.ZodRawShape>, Title extends string = string, Description extends string = string> = {
|
|
87
|
+
name: Name;
|
|
88
|
+
title: Title;
|
|
89
|
+
description: Description;
|
|
90
|
+
telemetry?: McpCapabilityTelemetry;
|
|
91
|
+
resolveInputSchema?: McpToolSchemaResolver<InputSchema>;
|
|
92
|
+
resolveOutputSchema: McpToolSchemaResolver<OutputSchema>;
|
|
93
|
+
createHandler: (strapi: Core.Strapi, context: McpHandlerContext) => McpToolHandler<NoInfer<InputSchema>, NoInfer<OutputSchema>>;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Definition for Strapi MCP tools
|
|
97
|
+
*/
|
|
98
|
+
export type McpToolDefinition<Name extends string = string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = z.ZodObject<z.ZodRawShape> | undefined, OutputSchema extends z.ZodObject<z.ZodRawShape> = z.ZodObject<z.ZodRawShape>, Title extends string = string, Description extends string = string> = McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpCapabilityAccess;
|
|
99
|
+
/**
|
|
100
|
+
* Builder for Strapi MCP tool definitions, exposed publicly as `ai.mcp.defineTool`.
|
|
101
|
+
* Identity at runtime — its only job is to infer and narrow the access variant
|
|
102
|
+
* (`devModeOnly` vs `auth`) so the result is directly assignable to
|
|
103
|
+
* {@link McpService.registerTool}.
|
|
104
|
+
*/
|
|
105
|
+
export interface McpToolBuilder {
|
|
106
|
+
<Name extends string, OutputSchema extends z.ZodObject<z.ZodRawShape>, Title extends string, Description extends string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = undefined>(tool: McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpDevModeAccess): McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpDevModeAccess;
|
|
107
|
+
<Name extends string, OutputSchema extends z.ZodObject<z.ZodRawShape>, Title extends string, Description extends string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = undefined>(tool: McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpAuthAccess): McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpAuthAccess;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Callback function for Strapi MCP prompts
|
|
111
|
+
*/
|
|
112
|
+
export type McpPromptCallback<ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined> = ArgsSchema extends z.ZodTypeAny ? (args: z.infer<ArgsSchema>, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => Promise<GetPromptResult> : (extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => Promise<GetPromptResult>;
|
|
113
|
+
/**
|
|
114
|
+
* Access-agnostic fields of a Strapi MCP prompt definition.
|
|
115
|
+
* Shared by the `definePrompt` builder ({@link McpPromptBuilder}) and
|
|
116
|
+
* `McpService.registerPrompt`, then intersected with an access variant.
|
|
117
|
+
*/
|
|
118
|
+
export type McpPromptDefinitionFields<Name extends string = string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined = z.ZodObject<z.ZodRawShape> | undefined, Title extends string = string, Description extends string = string> = {
|
|
119
|
+
name: Name;
|
|
120
|
+
title: Title;
|
|
121
|
+
description: Description;
|
|
122
|
+
argsSchema?: ArgsSchema;
|
|
123
|
+
telemetry?: McpCapabilityTelemetry;
|
|
124
|
+
createHandler: (strapi: Core.Strapi) => McpPromptCallback<ArgsSchema>;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Definition for Strapi MCP prompts
|
|
128
|
+
*/
|
|
129
|
+
export type McpPromptDefinition<Name extends string = string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined = z.ZodObject<z.ZodRawShape> | undefined, Title extends string = string, Description extends string = string> = McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpCapabilityAccess;
|
|
130
|
+
/**
|
|
131
|
+
* Builder for Strapi MCP prompt definitions, exposed publicly as `ai.mcp.definePrompt`.
|
|
132
|
+
* Identity at runtime — narrows the access variant for {@link McpService.registerPrompt}.
|
|
133
|
+
*/
|
|
134
|
+
export interface McpPromptBuilder {
|
|
135
|
+
<Name extends string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined, Title extends string, Description extends string>(prompt: McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpDevModeAccess): McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpDevModeAccess;
|
|
136
|
+
<Name extends string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined, Title extends string, Description extends string>(prompt: McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpAuthAccess): McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpAuthAccess;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Callback function for Strapi MCP resources
|
|
140
|
+
*/
|
|
141
|
+
export type McpResourceCallback = (uri: URL, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => Promise<ReadResourceResult>;
|
|
142
|
+
/**
|
|
143
|
+
* Access-agnostic fields of a Strapi MCP resource definition.
|
|
144
|
+
* Shared by the `defineResource` builder ({@link McpResourceBuilder}) and
|
|
145
|
+
* `McpService.registerResource`, then intersected with an access variant.
|
|
146
|
+
*/
|
|
147
|
+
export type McpResourceDefinitionFields<Name extends string = string> = {
|
|
148
|
+
name: Name;
|
|
149
|
+
uri: string;
|
|
150
|
+
metadata: ResourceMetadata;
|
|
151
|
+
telemetry?: McpCapabilityTelemetry;
|
|
152
|
+
createHandler: (strapi: Core.Strapi) => McpResourceCallback;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Definition for Strapi MCP resources
|
|
156
|
+
*/
|
|
157
|
+
export type McpResourceDefinition<Name extends string = string> = McpResourceDefinitionFields<Name> & McpCapabilityAccess;
|
|
158
|
+
/**
|
|
159
|
+
* Builder for Strapi MCP resource definitions, exposed publicly as `ai.mcp.defineResource`.
|
|
160
|
+
* Identity at runtime — narrows the access variant for {@link McpService.registerResource}.
|
|
161
|
+
*/
|
|
162
|
+
export interface McpResourceBuilder {
|
|
163
|
+
<Name extends string>(resource: McpResourceDefinitionFields<Name> & McpDevModeAccess): McpResourceDefinitionFields<Name> & McpDevModeAccess;
|
|
164
|
+
<Name extends string>(resource: McpResourceDefinitionFields<Name> & McpAuthAccess): McpResourceDefinitionFields<Name> & McpAuthAccess;
|
|
165
|
+
}
|
|
166
|
+
export type McpServiceStatus = 'idle' | 'starting' | 'running' | 'stopping' | 'error';
|
|
167
|
+
/**
|
|
168
|
+
* Service providing Model Context Protocol (MCP) capabilities.
|
|
169
|
+
* Available on strapi.ai.mcp.
|
|
170
|
+
*
|
|
171
|
+
* Call `registerTool`, `registerPrompt`, and `registerResource` only during
|
|
172
|
+
* Strapi's register phase. The MCP HTTP server starts during bootstrap.
|
|
173
|
+
*/
|
|
174
|
+
export interface McpService {
|
|
175
|
+
/**
|
|
176
|
+
* Check if the MCP service is enabled in configuration
|
|
177
|
+
*/
|
|
178
|
+
isEnabled(): boolean;
|
|
179
|
+
/**
|
|
180
|
+
* Check if the MCP server is currently running
|
|
181
|
+
*/
|
|
182
|
+
isRunning(): boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Register a single MCP tool.
|
|
185
|
+
* Must be called while strapi.ai.mcp is idle, before strapi.ai.mcp.start() runs.
|
|
186
|
+
* In Strapi's load lifecycle, call only from the register phase (plugin register() or app register()).
|
|
187
|
+
* @throws Error if called after the MCP server has started
|
|
188
|
+
*/
|
|
189
|
+
registerTool<Name extends string, OutputSchema extends z.ZodObject<z.ZodRawShape>, Title extends string, Description extends string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = undefined>(tool: McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpDevModeAccess): void;
|
|
190
|
+
registerTool<Name extends string, OutputSchema extends z.ZodObject<z.ZodRawShape>, Title extends string, Description extends string, InputSchema extends z.ZodObject<z.ZodRawShape> | undefined = undefined>(tool: McpToolDefinitionFields<Name, InputSchema, OutputSchema, Title, Description> & McpAuthAccess): void;
|
|
191
|
+
/**
|
|
192
|
+
* Register a single MCP prompt.
|
|
193
|
+
* Must be called while strapi.ai.mcp is idle, before strapi.ai.mcp.start() runs.
|
|
194
|
+
* In Strapi's load lifecycle, call only from the register phase (plugin register() or app register()).
|
|
195
|
+
* @throws Error if called after the MCP server has started
|
|
196
|
+
*/
|
|
197
|
+
registerPrompt<Name extends string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined, Title extends string, Description extends string>(prompt: McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpDevModeAccess): void;
|
|
198
|
+
registerPrompt<Name extends string, ArgsSchema extends z.ZodObject<z.ZodRawShape> | undefined, Title extends string, Description extends string>(prompt: McpPromptDefinitionFields<Name, ArgsSchema, Title, Description> & McpAuthAccess): void;
|
|
199
|
+
/**
|
|
200
|
+
* Register a single MCP resource.
|
|
201
|
+
* Must be called while strapi.ai.mcp is idle, before strapi.ai.mcp.start() runs.
|
|
202
|
+
* In Strapi's load lifecycle, call only from the register phase (plugin register() or app register()).
|
|
203
|
+
* @throws Error if called after the MCP server has started
|
|
204
|
+
*/
|
|
205
|
+
registerResource<Name extends string>(resource: McpResourceDefinitionFields<Name> & McpDevModeAccess): void;
|
|
206
|
+
registerResource<Name extends string>(resource: McpResourceDefinitionFields<Name> & McpAuthAccess): void;
|
|
207
|
+
/**
|
|
208
|
+
* Start the MCP server
|
|
209
|
+
*/
|
|
210
|
+
start(): Promise<void>;
|
|
211
|
+
/**
|
|
212
|
+
* Stop the MCP server
|
|
213
|
+
*/
|
|
214
|
+
stop(): Promise<void>;
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/modules/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/modules/metrics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,IAAI,IAAI,CAAC;IACjB,SAAS,IAAI,IAAI,CAAC;IAClB,OAAO,IAAI,IAAI,CAAC;IAChB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Subject } from '@casl/ability';
|
|
2
|
+
export interface ParametrizedAction {
|
|
3
|
+
name: string;
|
|
4
|
+
params: Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
export interface PermissionRule {
|
|
7
|
+
action: string | ParametrizedAction;
|
|
8
|
+
subject?: Subject | null;
|
|
9
|
+
properties?: {
|
|
10
|
+
fields?: string[];
|
|
11
|
+
};
|
|
12
|
+
condition?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/modules/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AACD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/modules/request-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,GAAG,IAAI,oBAAoB,GAAG,SAAS,CAAC;IACxC,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { sanitize } from '@strapi/utils';
|
|
2
|
+
export interface SanitizersRegistry {
|
|
3
|
+
get(path: string): sanitize.Sanitizer[];
|
|
4
|
+
add(path: string, sanitizer: sanitize.Sanitizer): this;
|
|
5
|
+
set(path: string, value?: sanitize.Sanitizer[]): this;
|
|
6
|
+
has(path: string): boolean;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=sanitizers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitizers.d.ts","sourceRoot":"","sources":["../../src/modules/sanitizers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACxC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;IACvD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;IACtD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type * as http from 'http';
|
|
2
|
+
import type Router from '@koa/router';
|
|
3
|
+
import type Koa from 'koa';
|
|
4
|
+
import type * as Core from '../core';
|
|
5
|
+
export interface HTTPServer extends http.Server {
|
|
6
|
+
destroy: () => Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export interface API {
|
|
9
|
+
listRoutes(): Router.Layer[];
|
|
10
|
+
use(fn: Router.Middleware): API;
|
|
11
|
+
routes(routes: Core.Router | Omit<Core.Route, 'info'>[]): this;
|
|
12
|
+
mount(router: Router): this;
|
|
13
|
+
}
|
|
14
|
+
export interface Server {
|
|
15
|
+
app: Koa;
|
|
16
|
+
router: Router;
|
|
17
|
+
httpServer: HTTPServer;
|
|
18
|
+
api(name: 'content-api'): API;
|
|
19
|
+
api(name: 'admin'): API;
|
|
20
|
+
use(...args: Parameters<Koa['use']>): Server;
|
|
21
|
+
routes(routes: Core.Router | Omit<Core.Route, 'info'>[]): this;
|
|
22
|
+
mount(): this;
|
|
23
|
+
initRouting(): this;
|
|
24
|
+
initMiddlewares(): Promise<this>;
|
|
25
|
+
listRoutes(): Router.Layer[];
|
|
26
|
+
listen: HTTPServer['listen'];
|
|
27
|
+
destroy(): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/modules/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,KAAK,IAAI,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,MAAM;IAC7C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,GAAG;IAClB,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;IAChC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG,CAAC;IAC9B,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC;IACxB,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC;IAC7C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAC/D,KAAK,IAAI,IAAI,CAAC;IACd,WAAW,IAAI,IAAI,CAAC;IACpB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export type ValidateRefreshTokenResult = {
|
|
2
|
+
isValid: true;
|
|
3
|
+
userId: string;
|
|
4
|
+
sessionId: string;
|
|
5
|
+
} | {
|
|
6
|
+
isValid: false;
|
|
7
|
+
};
|
|
8
|
+
export interface SessionEntry {
|
|
9
|
+
id?: string;
|
|
10
|
+
userId: string;
|
|
11
|
+
sessionId: string;
|
|
12
|
+
deviceId?: string;
|
|
13
|
+
origin: string;
|
|
14
|
+
childId?: string | null;
|
|
15
|
+
type?: 'refresh' | 'session';
|
|
16
|
+
status?: 'active' | 'rotated' | 'revoked';
|
|
17
|
+
metadata?: Record<string, unknown> | null;
|
|
18
|
+
expiresAt: Date;
|
|
19
|
+
absoluteExpiresAt?: Date | null;
|
|
20
|
+
createdAt?: Date;
|
|
21
|
+
updatedAt?: Date;
|
|
22
|
+
}
|
|
23
|
+
export interface OriginSessionManagerService {
|
|
24
|
+
generateRefreshToken(userId: string, deviceId: string | undefined, options?: {
|
|
25
|
+
type?: 'refresh' | 'session';
|
|
26
|
+
metadata?: Record<string, unknown>;
|
|
27
|
+
}): Promise<{
|
|
28
|
+
token: string;
|
|
29
|
+
sessionId: string;
|
|
30
|
+
absoluteExpiresAt: string;
|
|
31
|
+
}>;
|
|
32
|
+
generateAccessToken(refreshToken: string): Promise<{
|
|
33
|
+
token: string;
|
|
34
|
+
} | {
|
|
35
|
+
error: string;
|
|
36
|
+
}>;
|
|
37
|
+
rotateRefreshToken(refreshToken: string): Promise<{
|
|
38
|
+
token: string;
|
|
39
|
+
sessionId: string;
|
|
40
|
+
absoluteExpiresAt: string;
|
|
41
|
+
type: 'refresh' | 'session';
|
|
42
|
+
} | {
|
|
43
|
+
error: string;
|
|
44
|
+
}>;
|
|
45
|
+
validateAccessToken(token: string): {
|
|
46
|
+
isValid: true;
|
|
47
|
+
payload: {
|
|
48
|
+
userId: string;
|
|
49
|
+
sessionId: string;
|
|
50
|
+
type: 'access';
|
|
51
|
+
exp: number;
|
|
52
|
+
iat: number;
|
|
53
|
+
};
|
|
54
|
+
} | {
|
|
55
|
+
isValid: false;
|
|
56
|
+
payload: null;
|
|
57
|
+
};
|
|
58
|
+
validateRefreshToken(token: string): Promise<ValidateRefreshTokenResult>;
|
|
59
|
+
invalidateRefreshToken(userId: string, deviceId?: string): Promise<void>;
|
|
60
|
+
listSessions(userId: string): Promise<SessionEntry[]>;
|
|
61
|
+
revokeSessionById(userId: string, sessionId: string): Promise<boolean>;
|
|
62
|
+
isSessionActive(sessionId: string): Promise<boolean>;
|
|
63
|
+
}
|
|
64
|
+
export interface SessionManagerService {
|
|
65
|
+
generateSessionId(): string;
|
|
66
|
+
defineOrigin(origin: string, config: any): void;
|
|
67
|
+
hasOrigin(origin: string): boolean;
|
|
68
|
+
(origin: string): OriginSessionManagerService;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/modules/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { validate } from '@strapi/utils';
|
|
2
|
+
export interface ValidatorsRegistry {
|
|
3
|
+
get(path: string): validate.Validator[];
|
|
4
|
+
add(path: string, validator: validate.Validator): this;
|
|
5
|
+
set(path: string, value?: validate.Validator[]): this;
|
|
6
|
+
has(path: string): boolean;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/modules/validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACxC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;IACvD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;IACtD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Webhook } from './webhook-store';
|
|
2
|
+
interface Event {
|
|
3
|
+
event: string;
|
|
4
|
+
info: Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
export interface WebhookRunner {
|
|
7
|
+
deleteListener(event: string): void;
|
|
8
|
+
createListener(event: string): void;
|
|
9
|
+
executeListener({ event, info }: Event): Promise<void>;
|
|
10
|
+
run(webhook: Webhook, event: string, info?: Record<string, unknown>): Promise<{
|
|
11
|
+
statusCode: number;
|
|
12
|
+
message?: string;
|
|
13
|
+
}>;
|
|
14
|
+
add(webhook: Webhook): void;
|
|
15
|
+
update(webhook: Webhook): void;
|
|
16
|
+
remove(webhook: Webhook): void;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=webhook-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-runner.d.ts","sourceRoot":"","sources":["../../src/modules/webhook-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AACD,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,GAAG,CACD,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface Webhook {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
url: string;
|
|
5
|
+
headers: Record<string, string>;
|
|
6
|
+
events: string[];
|
|
7
|
+
isEnabled: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface WebhookStore {
|
|
10
|
+
allowedEvents: Map<string, string>;
|
|
11
|
+
addAllowedEvent(key: string, value: string): void;
|
|
12
|
+
removeAllowedEvent(key: string): void;
|
|
13
|
+
listAllowedEvents(): string[];
|
|
14
|
+
getAllowedEvent(key: string): string | undefined;
|
|
15
|
+
findWebhooks(): Promise<Webhook[]>;
|
|
16
|
+
findWebhook(id: string): Promise<Webhook | null>;
|
|
17
|
+
createWebhook(data: Webhook): Promise<Webhook>;
|
|
18
|
+
updateWebhook(id: string, data: Webhook): Promise<Webhook | null>;
|
|
19
|
+
deleteWebhook(id: string): Promise<Webhook | null>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=webhook-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-store.d.ts","sourceRoot":"","sources":["../../src/modules/webhook-store.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,IAAI,MAAM,EAAE,CAAC;IAC9B,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACjD,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAClE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CACpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugin/config/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-admin/index.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,OAAO,GAAG,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC7F"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SchemaDefinition } from '../../../struct';
|
|
2
|
+
export interface ContentTypes {
|
|
3
|
+
/**
|
|
4
|
+
* Only the schema property is used and available
|
|
5
|
+
* See loader in packages/core/strapi/src/core/loaders/plugins/index.ts
|
|
6
|
+
* */
|
|
7
|
+
[key: string]: {
|
|
8
|
+
schema: SchemaDefinition;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=content-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/content-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B;;;UAGM;IACN,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAC;CAC7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/controllers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,eAAe,CAAC;AAG3C,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC,UAAU,CAAC;AAElF,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Config } from './config';
|
|
2
|
+
import type { Routes } from './routes';
|
|
3
|
+
import type { ContentTypes } from './content-types';
|
|
4
|
+
import type { Controllers } from './controllers';
|
|
5
|
+
import type { Register, Bootstrap, Destroy } from './lifecycle';
|
|
6
|
+
export interface ServerObject {
|
|
7
|
+
register: Register;
|
|
8
|
+
bootstrap: Bootstrap;
|
|
9
|
+
destroy: Destroy;
|
|
10
|
+
config: Config;
|
|
11
|
+
routes: Routes;
|
|
12
|
+
contentTypes: ContentTypes;
|
|
13
|
+
controllers: Controllers;
|
|
14
|
+
registerTrads: unknown;
|
|
15
|
+
services: unknown;
|
|
16
|
+
policies: unknown;
|
|
17
|
+
middlewares: unknown;
|
|
18
|
+
}
|
|
19
|
+
export type ServerFunction = () => ServerObject;
|
|
20
|
+
export type ServerInput = ServerObject | ServerFunction;
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGhE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;IAEzB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Strapi } from '../../../core';
|
|
2
|
+
export type LifecycleMethod = ({ strapi }: {
|
|
3
|
+
strapi: Strapi;
|
|
4
|
+
}) => Promise<unknown> | unknown;
|
|
5
|
+
export type Register = LifecycleMethod;
|
|
6
|
+
export type Bootstrap = LifecycleMethod;
|
|
7
|
+
export type Destroy = LifecycleMethod;
|
|
8
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAE7F,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC;AACvC,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AACxC,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RouterType, RouteInput } from '../../../core';
|
|
2
|
+
export type ArrayNotation = RouteInput[];
|
|
3
|
+
export interface ObjectNotation {
|
|
4
|
+
routes: RouteInput[];
|
|
5
|
+
type?: RouterType;
|
|
6
|
+
}
|
|
7
|
+
export interface NamedRoutes {
|
|
8
|
+
[key: string]: ObjectNotation;
|
|
9
|
+
}
|
|
10
|
+
export type Routes = ArrayNotation | NamedRoutes;
|
|
11
|
+
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/strapi-server/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CAC/B;AAED,MAAM,MAAM,MAAM,GAAG,aAAa,GAAG,WAAW,CAAC"}
|