create-windy 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1769 -1277
- package/package.json +2 -2
- package/template/.agents/skills/windy-business-module/SKILL.md +33 -1
- package/template/.windy-template.json +6 -2
- package/template/AGENTS.md +4 -0
- package/template/README.md +2 -0
- package/template/apps/agent-server/Dockerfile +1 -1
- package/template/apps/agent-server/README.md +1 -1
- package/template/apps/agent-server/native/EXTENSIONS.md +2 -2
- package/template/apps/agent-server/native/parallel-harness.ts +2 -0
- package/template/apps/agent-server/native/storage-lifecycle.test.ts +2 -1
- package/template/apps/agent-server/package.json +42 -41
- package/template/apps/agent-server/plugins/downloads/README.md +1 -1
- package/template/apps/agent-server/plugins/drop-overlay/README.md +1 -1
- package/template/apps/agent-server/plugins/settings/README.md +1 -1
- package/template/apps/agent-server/plugins/skill-library/client-chunks.test.ts +4 -1
- package/template/apps/agent-server/plugins/theme/README.md +5 -1
- package/template/apps/agent-server/plugins/theme/source-tokens.ts +0 -1
- package/template/apps/agent-server/plugins/theme/tokens.json +0 -4
- package/template/apps/agent-server/plugins/tool-catalog/README.md +6 -3
- package/template/apps/agent-server/plugins/tool-catalog/discovery.mjs +13 -10
- package/template/apps/agent-server/plugins/tool-catalog/discovery.test.ts +68 -6
- package/template/apps/agent-server/runtime/compatibility.ts +7 -1
- package/template/apps/agent-server/runtime/dsh-engine.ts +2 -0
- package/template/apps/agent-server/runtime/questions-workflow.nodecheck.ts +2 -0
- package/template/apps/server/Dockerfile +2 -1
- package/template/apps/server/package.json +11 -11
- package/template/apps/server/scripts/validate-module-composition-once.ts +2 -0
- package/template/apps/server/scripts/validate-module-composition.ts +8 -4
- package/template/apps/server/src/admin/routes.test.ts +29 -1
- package/template/apps/server/src/admin/routes.ts +20 -2
- package/template/apps/server/src/agent/client-session/completion.ts +1 -1
- package/template/apps/server/src/agent/client-session/manifest-admission.ts +1 -1
- package/template/apps/server/src/agent/client-session/request.ts +1 -1
- package/template/apps/server/src/agent/context-version-routes.ts +37 -13
- package/template/apps/server/src/agent/run-facade.ts +1 -1
- package/template/apps/server/src/agent/run-input-verification.ts +1 -1
- package/template/apps/server/src/agent/run-routes.ts +1 -14
- package/template/apps/server/src/agent/run-start-preparation.ts +1 -1
- package/template/apps/server/src/agent/runtime-bootstrap-input.ts +2 -0
- package/template/apps/server/src/agent/runtime-bootstrap.ts +49 -157
- package/template/apps/server/src/agent/runtime-disabled-composition.ts +2 -1
- package/template/apps/server/src/agent/session-invalidation/authorization-revocation.ts +54 -0
- package/template/apps/server/src/agent/session-runtime-composition.ts +1 -51
- package/template/apps/server/src/agent/unavailable-routes.ts +13 -2
- package/template/apps/server/src/agent-workflow/runtime-composition.ts +3 -0
- package/template/apps/server/src/agent-workflow/service.ts +17 -1
- package/template/apps/server/src/ai-artifact/media-resource-route.test.ts +134 -0
- package/template/apps/server/src/ai-artifact/routes.ts +1 -1
- package/template/apps/server/src/ai-artifact/runtime.ts +12 -0
- package/template/apps/server/src/ai-runtime-readiness/operation-port.test-support.ts +1 -1
- package/template/apps/server/src/ai-runtime-readiness/operation-port.ts +8 -0
- package/template/apps/server/src/ai-runtime-security/internal-token.ts +14 -0
- package/template/apps/server/src/app/antivirus-composition.test.ts +63 -0
- package/template/apps/server/src/app/antivirus-composition.ts +29 -0
- package/template/apps/server/src/app/dsh-workbench-socket-audit.test.ts +2 -1
- package/template/apps/server/src/configuration/definition.ts +15 -11
- package/template/apps/server/src/document/facade-support.ts +2 -2
- package/template/apps/server/src/document/facade.ts +2 -2
- package/template/apps/server/src/document/output-artifact-composition.ts +9 -5
- package/template/apps/server/src/document/output-artifact.test-support.ts +1 -1
- package/template/apps/server/src/embedding/facade.ts +1 -1
- package/template/apps/server/src/embedding/input.ts +1 -1
- package/template/apps/server/src/embedding/routes.ts +1 -1
- package/template/apps/server/src/index.ts +60 -60
- package/template/apps/server/src/license/routes.ts +4 -1
- package/template/apps/server/src/license/runtime-business-access.test.ts +261 -0
- package/template/apps/server/src/media-runtime/composition.ts +157 -0
- package/template/apps/server/src/media-runtime/media-only-composition.ts +44 -0
- package/template/apps/server/src/media-runtime/module-ai-port-factory.test.ts +69 -0
- package/template/apps/server/src/media-runtime/module-ai-port-factory.ts +72 -0
- package/template/apps/server/src/{agent → media-runtime}/runtime-readiness-sources.ts +14 -6
- package/template/apps/server/src/media-runtime/shared-composition.ts +104 -0
- package/template/apps/server/src/module-composition.test.ts +22 -0
- package/template/apps/server/src/module-composition.ts +48 -0
- package/template/apps/server/src/module-host/ai-operation-port.ts +97 -30
- package/template/apps/server/src/module-host/ai-operation-speech-normalize.test.ts +1 -1
- package/template/apps/server/src/module-host/http-runtime.ts +9 -3
- package/template/apps/server/src/module-host/static-route-authorization.test.ts +6 -3
- package/template/apps/server/src/module-host/storage-authorization-binding.test.ts +4 -0
- package/template/apps/server/src/module-runtime-validation.ts +2 -0
- package/template/apps/server/src/observability/diagnostic-index.ts +26 -1
- package/template/apps/server/src/observability/diagnostic-repository.ts +40 -11
- package/template/apps/server/src/platform-http-runtime.ts +1 -1
- package/template/apps/server/src/runtime-feature.ts +5 -1
- package/template/apps/server/src/runtime.ts +3 -0
- package/template/apps/server/src/settings/drizzle-watermark-repository.ts +35 -4
- package/template/apps/server/src/settings/watermark-repository.ts +14 -0
- package/template/apps/server/src/settings/watermark-routes.test.ts +84 -2
- package/template/apps/server/src/settings/watermark-routes.ts +109 -0
- package/template/apps/server/src/settings/watermark-transfer.ts +79 -0
- package/template/apps/server/src/speech/facade-validation.ts +1 -1
- package/template/apps/server/src/speech/facade.ts +2 -2
- package/template/apps/server/src/startup-composition-validation.test.ts +32 -0
- package/template/apps/server/src/startup-finalization.ts +2 -0
- package/template/apps/server/src/startup-runtime.ts +77 -0
- package/template/apps/server/src/system/ai-runtime-build.ts +3 -0
- package/template/apps/server/src/system/ai-runtime-configuration.test.ts +36 -0
- package/template/apps/server/src/system/ai-runtime-configuration.ts +58 -0
- package/template/apps/server/src/system/diagnostic-routes.test.ts +45 -0
- package/template/apps/server/src/system/diagnostic-routes.ts +35 -0
- package/template/apps/server/src/system/environment-policy-reader.test.ts +74 -0
- package/template/apps/server/src/system/environment-policy-reader.ts +62 -0
- package/template/apps/server/src/system/feature-environment-assessment.test.ts +148 -0
- package/template/apps/server/src/system/feature-environment-assessment.ts +179 -0
- package/template/apps/server/src/system/host-diagnostics.test.ts +155 -0
- package/template/apps/server/src/system/host-diagnostics.ts +225 -0
- package/template/apps/server/src/system/menu-registry.test.ts +26 -0
- package/template/apps/server/src/system/menu-registry.ts +9 -7
- package/template/apps/server/src/system/operations.test.ts +5 -0
- package/template/apps/server/src/system/operations.ts +36 -12
- package/template/apps/server/src/system/role-authorization-postgres.integration.test.ts +181 -0
- package/template/apps/web/Dockerfile +7 -3
- package/template/apps/web/dev/dev-port.test.ts +6 -6
- package/template/apps/web/dev/dev-port.ts +1 -1
- package/template/apps/web/dev/start.ts +6 -1
- package/template/apps/web/index.html +1 -0
- package/template/apps/web/package.json +16 -16
- package/template/apps/web/runtime-server.test.ts +22 -1
- package/template/apps/web/runtime-server.ts +6 -0
- package/template/apps/web/src/App.vue +6 -3
- package/template/apps/web/src/assets/windy.svg +4 -0
- package/template/apps/web/src/components/auth/LoginForm.vue +2 -2
- package/template/apps/web/src/components/auth/PasswordChangeForm.vue +14 -3
- package/template/apps/web/src/components/common/FormDialog.vue +1 -1
- package/template/apps/web/src/components/license/LicenseFlow.webtest.ts +3 -0
- package/template/apps/web/src/components/license/LicenseMachineCodeQr.vue +99 -0
- package/template/apps/web/src/components/license/LicenseMachineCodeQr.webtest.ts +83 -0
- package/template/apps/web/src/components/license/LicensePairingCard.vue +1 -1
- package/template/apps/web/src/components/license/LicenseStatusCard.vue +14 -2
- package/template/apps/web/src/composables/useLoginFlow.ts +2 -2
- package/template/apps/web/src/composables/usePlatformSettings.ts +1 -1
- package/template/apps/web/src/composables/useWatermarkSettings.ts +1 -0
- package/template/apps/web/src/layout/AppSidebar.vue +5 -9
- package/template/apps/web/src/layout/AppSidebar.webtest.ts +4 -1
- package/template/apps/web/src/pages/auth/ChangePasswordPage.vue +67 -6
- package/template/apps/web/src/pages/auth/LoginPage.vue +3 -12
- package/template/apps/web/src/pages/configuration/components/ModuleConfigurationEditor.vue +30 -0
- package/template/apps/web/src/pages/configuration/components/ModuleConfigurationWorkbench.vue +25 -14
- package/template/apps/web/src/pages/configuration/components/TimeZoneSelect.vue +55 -0
- package/template/apps/web/src/pages/profile/PersonalSettingsPage.vue +64 -11
- package/template/apps/web/src/pages/profile/PersonalSettingsPage.webtest.ts +21 -1
- package/template/apps/web/src/pages/settings/BrandingSettingsSection.vue +7 -18
- package/template/apps/web/src/pages/settings/BrandingSettingsSection.webtest.ts +9 -4
- package/template/apps/web/src/pages/settings/GlobalSettingsPage.vue +51 -6
- package/template/apps/web/src/pages/settings/GlobalSettingsPage.webtest.ts +19 -3
- package/template/apps/web/src/pages/settings/WatermarkSettingsSection.vue +1 -0
- package/template/apps/web/src/pages/settings/WatermarkYamlTransfer.vue +211 -0
- package/template/apps/web/src/pages/system/DiagnosticLookupPage.vue +18 -3
- package/template/apps/web/src/pages/system/DiagnosticLookupPage.webtest.ts +4 -1
- package/template/apps/web/src/pages/system/SystemOperationsPage.vue +23 -0
- package/template/apps/web/src/pages/system/components/DiagnosticLogList.vue +120 -0
- package/template/apps/web/src/pages/system/components/OperationEnvironmentPanel.vue +237 -0
- package/template/apps/web/src/pages/system/components/OperationFeatureAssessmentPanel.vue +131 -0
- package/template/apps/web/src/pages/system/components/PagedSelectionList.vue +31 -24
- package/template/apps/web/src/pages/system/components/SystemResourceActions.vue +2 -1
- package/template/apps/web/src/pages/system/components/SystemResourceEditor.vue +11 -2
- package/template/apps/web/src/pages/system/components/SystemResourcePage.vue +1 -0
- package/template/apps/web/src/pages/system/components/SystemResourcePage.webtest.ts +6 -2
- package/template/apps/web/src/pages/system/components/agent-skills/AgentSkillImportDialog.vue +18 -9
- package/template/apps/web/src/pages/system/components/agent-workbench/SessionReplayTimeline.vue +18 -9
- package/template/apps/web/src/pages/system/components/agent-workbench/TestRunComposer.vue +66 -34
- package/template/apps/web/src/pages/system/components/agent-workbench/ToolCatalogPanel.vue +48 -33
- package/template/apps/web/src/pages/system/components/agent-workbench/ToolCatalogPanel.webtest.ts +9 -2
- package/template/apps/web/src/pages/system/components/agent-workbench/ToolRuleDetail.vue +23 -16
- package/template/apps/web/src/pages/system/components/dictionary-bulk/DictionaryBulkJobDetail.vue +10 -7
- package/template/apps/web/src/pages/system/components/user-account/RolePermissionSummary.vue +81 -57
- package/template/apps/web/src/pages/system/components/user-account/UserRoleSelector.vue +6 -4
- package/template/apps/web/src/pages/system/components/user-account/UserRoleSelector.webtest.ts +20 -4
- package/template/apps/web/src/pages/system/resource-config.ts +9 -0
- package/template/apps/web/src/pages/work-orders/WorkOrderListPage.vue +1 -1
- package/template/apps/web/src/router/disabled-feature-loading.webtest.ts +78 -0
- package/template/apps/web/src/router/index.ts +3 -6
- package/template/apps/web/src/router/manifest-routes.ts +2 -3
- package/template/apps/web/src/router/platform-admin-pages.ts +21 -62
- package/template/apps/web/src/router/platform-admin-route-bindings.ts +4 -4
- package/template/apps/web/src/services/diagnostics-api.ts +13 -1
- package/template/apps/web/src/services/operations-api.ts +4 -0
- package/template/apps/web/src/services/platform-settings-api.ts +35 -1
- package/template/apps/web/vite.config.ts +9 -3
- package/template/deploy/environment/windy.environment.example.yaml +53 -0
- package/template/docker-compose.yml +4 -2
- package/template/docs/architecture/agent-admin-workbench-implementation.md +1 -1
- package/template/docs/architecture/agent-admin-workbench-plan.md +1 -1
- package/template/docs/architecture/agent-workflow.md +8 -0
- package/template/docs/architecture/durable-jobs.md +17 -0
- package/template/docs/architecture/embedded-dsh-integration.md +1 -1
- package/template/docs/development/dsh-plugins.md +1 -1
- package/template/docs/development/performance-engineering.md +24 -0
- package/template/docs/operations/admin-settings-yaml.md +29 -0
- package/template/docs/operations/dsh-agent-migration.md +2 -2
- package/template/docs/operations/environment-capabilities.md +185 -0
- package/template/docs/platform/module-configuration.md +18 -3
- package/template/docs/platform/platform-authentication.md +1 -1
- package/template/package.json +10 -8
- package/template/packages/config/package.json +2 -2
- package/template/packages/config/src/definition.ts +14 -4
- package/template/packages/config/src/environment-loader.ts +27 -3
- package/template/packages/config/src/platform-ai-runtime.test.ts +94 -0
- package/template/packages/config/src/platform.ts +5 -2
- package/template/packages/database/drizzle/0065_durable_job_lease_snapshot_lookup.sql +1 -0
- package/template/packages/database/drizzle/0066_agent_source_sequence_bigint.sql +3 -0
- package/template/packages/database/drizzle/0067_media_runtime_access.sql +46 -0
- package/template/packages/database/drizzle/meta/0065_snapshot.json +15370 -0
- package/template/packages/database/drizzle/meta/0066_snapshot.json +15370 -0
- package/template/packages/database/drizzle/meta/0067_snapshot.json +15370 -0
- package/template/packages/database/drizzle/meta/_journal.json +21 -0
- package/template/packages/database/package.json +3 -3
- package/template/packages/database/src/schema/agent-session.ts +4 -3
- package/template/packages/database/src/schema/durable-jobs.ts +4 -0
- package/template/packages/database/src/schema/index.ts +3 -1
- package/template/packages/database/src/schema-durable-recovery.test.ts +21 -1
- package/template/packages/database/src/schema-source-sequence.test.ts +24 -0
- package/template/packages/example-work-order/package.json +2 -2
- package/template/packages/modules/package.json +1 -1
- package/template/packages/modules/src/admin-ui-boundary.test.ts +33 -0
- package/template/packages/modules/src/composition.ts +11 -28
- package/template/packages/modules/src/manifest.ts +2 -0
- package/template/packages/modules/src/menu-composition.ts +24 -0
- package/template/packages/modules/src/system-admin-routes.ts +2 -2
- package/template/packages/modules/src/system-admin-ui-catalog.ts +6 -1
- package/template/packages/modules/src/system-ai-api-bindings.ts +0 -16
- package/template/packages/modules/src/system-api-control-plane.ts +9 -1
- package/template/packages/modules/src/system-api-permissions.ts +7 -0
- package/template/packages/modules/src/system-api-watermark.ts +21 -0
- package/template/packages/modules/src/system-audit-actions.ts +3 -1
- package/template/packages/modules/src/system-features.ts +21 -3
- package/template/packages/modules/src/system-media-api-bindings.ts +97 -0
- package/template/packages/modules/src/system-module-audit-selection.ts +2 -0
- package/template/packages/modules/src/system-module-catalog.test.ts +13 -6
- package/template/packages/modules/src/system-module-catalog.ts +6 -241
- package/template/packages/modules/src/system-module-definitions.ts +260 -0
- package/template/packages/modules/src/system-modules-access.test.ts +2 -0
- package/template/packages/modules/src/system-modules.test.ts +7 -1
- package/template/packages/modules/src/system-modules.ts +25 -13
- package/template/packages/modules/src/system-permissions.ts +12 -0
- package/template/packages/server-sdk/package.json +1 -1
- package/template/packages/shared/index.ts +3 -0
- package/template/packages/shared/package.json +1 -1
- package/template/packages/shared/src/environment-assessment.ts +68 -0
- package/template/packages/shared/src/environment-policy.ts +205 -0
- package/template/packages/shared/src/license-console-capabilities.ts +7 -0
- package/template/packages/shared/src/license.ts +1 -0
- package/template/packages/shared/src/module-configuration.ts +2 -1
- package/template/scripts/operations/collect-device-info.py +230 -0
- package/template/apps/server/src/agent/module-ai-port-factory.ts +0 -41
- /package/template/apps/server/src/{agent → ai-runtime-security}/execution-grants.ts +0 -0
- /package/template/apps/server/src/{agent → ai-runtime-security}/idempotency-key.test.ts +0 -0
- /package/template/apps/server/src/{agent → ai-runtime-security}/idempotency-key.ts +0 -0
- /package/template/apps/server/src/{agent → ai-runtime-security}/provider-input-governance.test.ts +0 -0
- /package/template/apps/server/src/{agent → ai-runtime-security}/provider-input-governance.ts +0 -0
- /package/template/apps/server/src/{agent → media-runtime}/required-environment.ts +0 -0
- /package/template/apps/server/src/{agent → media-runtime}/runtime-readiness-sources.test.ts +0 -0
|
@@ -34,6 +34,9 @@ describe("系统能力模块目录", () => {
|
|
|
34
34
|
// @windy-module system.storage begin
|
|
35
35
|
"system.storage",
|
|
36
36
|
// @windy-module system.storage end
|
|
37
|
+
// @windy-module system.media-runtime begin
|
|
38
|
+
"system.media-runtime",
|
|
39
|
+
// @windy-module system.media-runtime end
|
|
37
40
|
// @windy-module system.agent begin
|
|
38
41
|
"system.agent",
|
|
39
42
|
// @windy-module system.agent end
|
|
@@ -130,6 +133,7 @@ describe("系统能力模块目录", () => {
|
|
|
130
133
|
});
|
|
131
134
|
|
|
132
135
|
// @windy-module system.agent begin
|
|
136
|
+
// @windy-module system.agent-ui begin
|
|
133
137
|
test("AI Runtime 能力与专用审计动作归属 system.agent", () => {
|
|
134
138
|
const agent = systemModuleManifests().find(
|
|
135
139
|
({ name }) => name === "system.agent",
|
|
@@ -162,10 +166,13 @@ describe("系统能力模块目录", () => {
|
|
|
162
166
|
]),
|
|
163
167
|
);
|
|
164
168
|
});
|
|
169
|
+
// @windy-module system.agent-ui end
|
|
165
170
|
|
|
171
|
+
// @windy-module system.agent end
|
|
172
|
+
// @windy-module system.media-runtime begin
|
|
166
173
|
test("Embedding Run API 声明用户 Guard 与内部 Artifact 边界", () => {
|
|
167
174
|
const agent = systemModuleManifests().find(
|
|
168
|
-
({ name }) => name === "system.
|
|
175
|
+
({ name }) => name === "system.media-runtime",
|
|
169
176
|
);
|
|
170
177
|
const bindings = new Map(
|
|
171
178
|
agent?.apiPermissions.map((binding) => [
|
|
@@ -174,8 +181,8 @@ describe("系统能力模块目录", () => {
|
|
|
174
181
|
]),
|
|
175
182
|
);
|
|
176
183
|
const guarded = {
|
|
177
|
-
permissionKey: "system.
|
|
178
|
-
featureKey: "system.
|
|
184
|
+
permissionKey: "system.embedding.read",
|
|
185
|
+
featureKey: "system.embedding",
|
|
179
186
|
anonymous: false,
|
|
180
187
|
};
|
|
181
188
|
|
|
@@ -208,13 +215,13 @@ describe("系统能力模块目录", () => {
|
|
|
208
215
|
).toEqual({
|
|
209
216
|
method: "GET",
|
|
210
217
|
path: "/api/internal/embeddings/runs/:runId/artifacts/:itemId",
|
|
211
|
-
permissionKey: "system.
|
|
212
|
-
featureKey: "system.
|
|
218
|
+
permissionKey: "system.embedding.read",
|
|
219
|
+
featureKey: "system.embedding",
|
|
213
220
|
auditAction: "data.read",
|
|
214
221
|
anonymous: true,
|
|
215
222
|
});
|
|
216
223
|
});
|
|
217
|
-
// @windy-module system.
|
|
224
|
+
// @windy-module system.media-runtime end
|
|
218
225
|
|
|
219
226
|
// @windy-module system.data-governance begin
|
|
220
227
|
test("能力声明归属到对应模块而不是继续挂在 system 聚合项", () => {
|
|
@@ -5,248 +5,13 @@ import { systemFoundationModule } from "./system-modules.js";
|
|
|
5
5
|
import { selectSystemJsonSchemas } from "./system-module-schema-catalog.js";
|
|
6
6
|
import { selectSystemAuditActions } from "./system-module-audit-selection.js";
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
dependencies?: readonly string[];
|
|
14
|
-
resources: readonly string[];
|
|
15
|
-
permissionKeys?: readonly string[];
|
|
16
|
-
excludedPermissionKeys?: readonly string[];
|
|
17
|
-
featureKeys: readonly string[];
|
|
18
|
-
runtimeActivation?: "physical-only";
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export const systemModuleDefinitions = [
|
|
22
|
-
{
|
|
23
|
-
name: "system",
|
|
24
|
-
version: "0.1.0",
|
|
25
|
-
label: "系统核心",
|
|
26
|
-
description: "管理面准入、Feature 治理、数据库基线与审计动作目录。",
|
|
27
|
-
resources: ["admin", "runtime", "auth", "feature", "ui-components"],
|
|
28
|
-
featureKeys: [
|
|
29
|
-
"system.admin",
|
|
30
|
-
"system.runtime",
|
|
31
|
-
"system.auth",
|
|
32
|
-
"system.feature",
|
|
33
|
-
"system.ui-components",
|
|
34
|
-
],
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
name: "system.identity",
|
|
38
|
-
version: "0.1.0",
|
|
39
|
-
label: "身份与权限",
|
|
40
|
-
description: "用户、角色、部门、菜单、字典、个人资料和数据范围。",
|
|
41
|
-
dependencies: ["system"],
|
|
42
|
-
resources: [
|
|
43
|
-
"user",
|
|
44
|
-
"user-directory",
|
|
45
|
-
"role",
|
|
46
|
-
"department",
|
|
47
|
-
"menu",
|
|
48
|
-
"dict",
|
|
49
|
-
"profile",
|
|
50
|
-
],
|
|
51
|
-
excludedPermissionKeys: ["system.user.reveal", "system.user.export"],
|
|
52
|
-
featureKeys: [
|
|
53
|
-
"system.rbac",
|
|
54
|
-
"system.user",
|
|
55
|
-
"system.role",
|
|
56
|
-
"system.department",
|
|
57
|
-
"system.menu",
|
|
58
|
-
"system.dict",
|
|
59
|
-
"system.user-directory",
|
|
60
|
-
"system.profile",
|
|
61
|
-
],
|
|
62
|
-
},
|
|
63
|
-
// @windy-module system.settings begin
|
|
64
|
-
{
|
|
65
|
-
name: "system.settings",
|
|
66
|
-
version: "0.1.0",
|
|
67
|
-
label: "平台设置",
|
|
68
|
-
description: "品牌设置、Logo 与页面水印。",
|
|
69
|
-
dependencies: ["system"],
|
|
70
|
-
resources: ["settings", "watermark"],
|
|
71
|
-
featureKeys: ["system.settings", "system.watermark"],
|
|
72
|
-
runtimeActivation: "physical-only",
|
|
73
|
-
},
|
|
74
|
-
// @windy-module system.settings end
|
|
75
|
-
// @windy-module system.configuration begin
|
|
76
|
-
{
|
|
77
|
-
name: "system.configuration",
|
|
78
|
-
version: "0.1.0",
|
|
79
|
-
label: "配置版本",
|
|
80
|
-
description: "类型化模块配置、版本、差异、应用与回滚。",
|
|
81
|
-
dependencies: ["system"],
|
|
82
|
-
resources: ["config"],
|
|
83
|
-
featureKeys: ["system.config"],
|
|
84
|
-
},
|
|
85
|
-
// @windy-module system.configuration end
|
|
86
|
-
// @windy-module system.license begin
|
|
87
|
-
{
|
|
88
|
-
name: "system.license",
|
|
89
|
-
version: "0.1.0",
|
|
90
|
-
label: "License",
|
|
91
|
-
description: "License 安装、验签、到期限制与版本授权。",
|
|
92
|
-
dependencies: ["system"],
|
|
93
|
-
resources: ["license"],
|
|
94
|
-
featureKeys: ["system.license"],
|
|
95
|
-
},
|
|
96
|
-
// @windy-module system.license end
|
|
97
|
-
// @windy-module system.audit begin
|
|
98
|
-
{
|
|
99
|
-
name: "system.audit",
|
|
100
|
-
version: "0.1.0",
|
|
101
|
-
label: "审计日志",
|
|
102
|
-
description: "关键操作、权限拒绝和系统异常的安全追溯。",
|
|
103
|
-
dependencies: ["system"],
|
|
104
|
-
resources: ["audit", "diagnostics"],
|
|
105
|
-
featureKeys: ["system.audit", "system.diagnostics"],
|
|
106
|
-
},
|
|
107
|
-
// @windy-module system.audit end
|
|
108
|
-
// @windy-module system.storage begin
|
|
109
|
-
{
|
|
110
|
-
name: "system.storage",
|
|
111
|
-
version: "0.1.0",
|
|
112
|
-
label: "文件存储",
|
|
113
|
-
description: "上传、续传、下载与对象生命周期管理。",
|
|
114
|
-
dependencies: ["system", "system.settings", "system.scheduler"],
|
|
115
|
-
resources: ["storage"],
|
|
116
|
-
featureKeys: ["system.storage"],
|
|
117
|
-
runtimeActivation: "physical-only",
|
|
118
|
-
},
|
|
119
|
-
// @windy-module system.storage end
|
|
120
|
-
// @windy-module system.agent begin
|
|
121
|
-
{
|
|
122
|
-
name: "system.agent",
|
|
123
|
-
version: "0.1.2",
|
|
124
|
-
label: "Agent Tool",
|
|
125
|
-
description: "受 Feature、RBAC 和审计保护的 Agent 工具调用。",
|
|
126
|
-
dependencies: [
|
|
127
|
-
"system",
|
|
128
|
-
"system.audit",
|
|
129
|
-
"system.storage",
|
|
130
|
-
"system.scheduler",
|
|
131
|
-
"system.workflow",
|
|
132
|
-
],
|
|
133
|
-
resources: [
|
|
134
|
-
"agent",
|
|
135
|
-
"agent-tools",
|
|
136
|
-
"agent-debug",
|
|
137
|
-
"agent-workbench",
|
|
138
|
-
"agent-skill",
|
|
139
|
-
"agent-session",
|
|
140
|
-
"agent-workflow",
|
|
141
|
-
"ai-runtime",
|
|
142
|
-
],
|
|
143
|
-
featureKeys: [
|
|
144
|
-
"system.agent",
|
|
145
|
-
"system.agent-tools",
|
|
146
|
-
"system.agent-debug",
|
|
147
|
-
"system.agent-workbench",
|
|
148
|
-
"system.agent-skill",
|
|
149
|
-
"system.agent-session",
|
|
150
|
-
"system.agent-workflow",
|
|
151
|
-
"system.ai-runtime",
|
|
152
|
-
],
|
|
153
|
-
},
|
|
154
|
-
// @windy-module system.agent end
|
|
155
|
-
// @windy-module system.operations begin
|
|
156
|
-
{
|
|
157
|
-
name: "system.operations",
|
|
158
|
-
version: "0.1.0",
|
|
159
|
-
label: "运维与调度",
|
|
160
|
-
description: "服务、数据库、缓存、磁盘与在线会话监控。",
|
|
161
|
-
dependencies: ["system", "system.configuration"],
|
|
162
|
-
resources: ["ops"],
|
|
163
|
-
featureKeys: ["system.ops"],
|
|
164
|
-
},
|
|
165
|
-
// @windy-module system.operations end
|
|
166
|
-
// @windy-module system.scheduler begin
|
|
167
|
-
{
|
|
168
|
-
name: "system.scheduler",
|
|
169
|
-
version: "0.1.0",
|
|
170
|
-
label: "任务调度",
|
|
171
|
-
description: "定时任务注册、执行、重试、历史与恢复。",
|
|
172
|
-
dependencies: ["system", "system.audit"],
|
|
173
|
-
resources: ["scheduler"],
|
|
174
|
-
featureKeys: ["system.scheduler"],
|
|
175
|
-
},
|
|
176
|
-
// @windy-module system.scheduler end
|
|
177
|
-
// @windy-module system.notification begin
|
|
178
|
-
{
|
|
179
|
-
name: "system.notification",
|
|
180
|
-
version: "0.1.0",
|
|
181
|
-
label: "站内通知",
|
|
182
|
-
description:
|
|
183
|
-
"通知定向与定时发布、用户偏好、外部渠道投递、修改历史、阅读、收藏和归档。",
|
|
184
|
-
dependencies: ["system", "system.identity", "system.scheduler"],
|
|
185
|
-
resources: ["notification"],
|
|
186
|
-
featureKeys: ["system.notification"],
|
|
187
|
-
},
|
|
188
|
-
// @windy-module system.notification end
|
|
189
|
-
// @windy-module system.workflow begin
|
|
190
|
-
{
|
|
191
|
-
name: "system.workflow",
|
|
192
|
-
version: "0.1.0",
|
|
193
|
-
label: "审批工作流",
|
|
194
|
-
description: "审批领取、转交、决定、取消与超时补偿。",
|
|
195
|
-
dependencies: [
|
|
196
|
-
"system",
|
|
197
|
-
"system.identity",
|
|
198
|
-
"system.notification",
|
|
199
|
-
"system.scheduler",
|
|
200
|
-
],
|
|
201
|
-
resources: ["workflow"],
|
|
202
|
-
featureKeys: ["system.workflow"],
|
|
203
|
-
},
|
|
204
|
-
// @windy-module system.workflow end
|
|
205
|
-
// @windy-module system.bulk-data begin
|
|
206
|
-
{
|
|
207
|
-
name: "system.bulk-data",
|
|
208
|
-
version: "0.1.0",
|
|
209
|
-
label: "批量数据",
|
|
210
|
-
description: "批量导入导出、失败明细、结果留存与清理。",
|
|
211
|
-
dependencies: ["system", "system.storage", "system.scheduler"],
|
|
212
|
-
resources: ["bulk-data"],
|
|
213
|
-
featureKeys: ["system.bulk-data"],
|
|
214
|
-
},
|
|
215
|
-
// @windy-module system.bulk-data end
|
|
216
|
-
// @windy-module system.search begin
|
|
217
|
-
{
|
|
218
|
-
name: "system.search",
|
|
219
|
-
version: "0.1.0",
|
|
220
|
-
label: "平台搜索",
|
|
221
|
-
description: "权限感知的功能搜索与业务 SearchProvider 聚合。",
|
|
222
|
-
dependencies: ["system"],
|
|
223
|
-
resources: ["search"],
|
|
224
|
-
featureKeys: ["system.search"],
|
|
225
|
-
},
|
|
226
|
-
// @windy-module system.search end
|
|
227
|
-
// @windy-module system.data-governance begin
|
|
228
|
-
{
|
|
229
|
-
name: "system.data-governance",
|
|
230
|
-
version: "0.1.0",
|
|
231
|
-
label: "数据治理",
|
|
232
|
-
description: "敏感字段投影、明文访问与受治理导出。",
|
|
233
|
-
dependencies: [
|
|
234
|
-
"system",
|
|
235
|
-
"system.identity",
|
|
236
|
-
"system.audit",
|
|
237
|
-
"system.storage",
|
|
238
|
-
"system.workflow",
|
|
239
|
-
"system.scheduler",
|
|
240
|
-
],
|
|
241
|
-
resources: [],
|
|
242
|
-
permissionKeys: ["system.user.reveal", "system.user.export"],
|
|
243
|
-
featureKeys: [],
|
|
244
|
-
runtimeActivation: "physical-only",
|
|
245
|
-
},
|
|
246
|
-
// @windy-module system.data-governance end
|
|
247
|
-
] as const satisfies readonly SystemModuleDefinition[];
|
|
8
|
+
import {
|
|
9
|
+
systemModuleDefinitions,
|
|
10
|
+
type SystemModuleDefinition,
|
|
11
|
+
type SystemModuleName,
|
|
12
|
+
} from "./system-module-definitions.js";
|
|
248
13
|
|
|
249
|
-
export
|
|
14
|
+
export * from "./system-module-definitions.js";
|
|
250
15
|
|
|
251
16
|
export const systemModuleFactories: readonly ModuleFactory[] =
|
|
252
17
|
systemModuleDefinitions.map(
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
export interface SystemModuleDefinition {
|
|
2
|
+
name: string;
|
|
3
|
+
version: string;
|
|
4
|
+
label: string;
|
|
5
|
+
description: string;
|
|
6
|
+
dependencies?: readonly string[];
|
|
7
|
+
resources: readonly string[];
|
|
8
|
+
permissionKeys?: readonly string[];
|
|
9
|
+
excludedPermissionKeys?: readonly string[];
|
|
10
|
+
featureKeys: readonly string[];
|
|
11
|
+
runtimeActivation?: "physical-only";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const systemModuleDefinitions = [
|
|
15
|
+
{
|
|
16
|
+
name: "system",
|
|
17
|
+
version: "0.1.0",
|
|
18
|
+
label: "系统核心",
|
|
19
|
+
description: "管理面准入、Feature 治理、数据库基线与审计动作目录。",
|
|
20
|
+
resources: ["admin", "runtime", "auth", "feature", "ui-components"],
|
|
21
|
+
featureKeys: [
|
|
22
|
+
"system.admin",
|
|
23
|
+
"system.runtime",
|
|
24
|
+
"system.auth",
|
|
25
|
+
"system.feature",
|
|
26
|
+
"system.ui-components",
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "system.identity",
|
|
31
|
+
version: "0.1.0",
|
|
32
|
+
label: "身份与权限",
|
|
33
|
+
description: "用户、角色、部门、菜单、字典、个人资料和数据范围。",
|
|
34
|
+
dependencies: ["system"],
|
|
35
|
+
resources: [
|
|
36
|
+
"user",
|
|
37
|
+
"user-directory",
|
|
38
|
+
"role",
|
|
39
|
+
"department",
|
|
40
|
+
"menu",
|
|
41
|
+
"dict",
|
|
42
|
+
"profile",
|
|
43
|
+
],
|
|
44
|
+
excludedPermissionKeys: ["system.user.reveal", "system.user.export"],
|
|
45
|
+
featureKeys: [
|
|
46
|
+
"system.rbac",
|
|
47
|
+
"system.user",
|
|
48
|
+
"system.role",
|
|
49
|
+
"system.department",
|
|
50
|
+
"system.menu",
|
|
51
|
+
"system.dict",
|
|
52
|
+
"system.user-directory",
|
|
53
|
+
"system.profile",
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
// @windy-module system.settings begin
|
|
57
|
+
{
|
|
58
|
+
name: "system.settings",
|
|
59
|
+
version: "0.1.0",
|
|
60
|
+
label: "平台设置",
|
|
61
|
+
description: "品牌设置、Logo 与页面水印。",
|
|
62
|
+
dependencies: ["system"],
|
|
63
|
+
resources: ["settings", "watermark"],
|
|
64
|
+
featureKeys: ["system.settings", "system.watermark"],
|
|
65
|
+
runtimeActivation: "physical-only",
|
|
66
|
+
},
|
|
67
|
+
// @windy-module system.settings end
|
|
68
|
+
// @windy-module system.configuration begin
|
|
69
|
+
{
|
|
70
|
+
name: "system.configuration",
|
|
71
|
+
version: "0.1.0",
|
|
72
|
+
label: "配置版本",
|
|
73
|
+
description: "类型化模块配置、版本、差异、应用与回滚。",
|
|
74
|
+
dependencies: ["system"],
|
|
75
|
+
resources: ["config"],
|
|
76
|
+
featureKeys: ["system.config"],
|
|
77
|
+
},
|
|
78
|
+
// @windy-module system.configuration end
|
|
79
|
+
// @windy-module system.license begin
|
|
80
|
+
{
|
|
81
|
+
name: "system.license",
|
|
82
|
+
version: "0.1.0",
|
|
83
|
+
label: "License",
|
|
84
|
+
description: "License 安装、验签、到期限制与版本授权。",
|
|
85
|
+
dependencies: ["system"],
|
|
86
|
+
resources: ["license"],
|
|
87
|
+
featureKeys: ["system.license"],
|
|
88
|
+
},
|
|
89
|
+
// @windy-module system.license end
|
|
90
|
+
// @windy-module system.audit begin
|
|
91
|
+
{
|
|
92
|
+
name: "system.audit",
|
|
93
|
+
version: "0.1.0",
|
|
94
|
+
label: "审计日志",
|
|
95
|
+
description: "关键操作、权限拒绝和系统异常的安全追溯。",
|
|
96
|
+
dependencies: ["system"],
|
|
97
|
+
resources: ["audit", "diagnostics"],
|
|
98
|
+
featureKeys: ["system.audit", "system.diagnostics"],
|
|
99
|
+
},
|
|
100
|
+
// @windy-module system.audit end
|
|
101
|
+
// @windy-module system.storage begin
|
|
102
|
+
{
|
|
103
|
+
name: "system.storage",
|
|
104
|
+
version: "0.1.0",
|
|
105
|
+
label: "文件存储",
|
|
106
|
+
description: "上传、续传、下载与对象生命周期管理。",
|
|
107
|
+
dependencies: ["system", "system.settings", "system.scheduler"],
|
|
108
|
+
resources: ["storage"],
|
|
109
|
+
featureKeys: ["system.storage"],
|
|
110
|
+
runtimeActivation: "physical-only",
|
|
111
|
+
},
|
|
112
|
+
// @windy-module system.storage end
|
|
113
|
+
// @windy-module system.media-runtime begin
|
|
114
|
+
{
|
|
115
|
+
name: "system.media-runtime",
|
|
116
|
+
version: "0.1.0",
|
|
117
|
+
label: "媒体运行时",
|
|
118
|
+
description: "受治理的文档、语音、嵌入与公共文件引用。",
|
|
119
|
+
dependencies: ["system", "system.audit", "system.storage"],
|
|
120
|
+
resources: ["document", "speech", "embedding", "ai-artifact"],
|
|
121
|
+
featureKeys: [
|
|
122
|
+
"system.document",
|
|
123
|
+
"system.speech",
|
|
124
|
+
"system.embedding",
|
|
125
|
+
"system.ai-artifact",
|
|
126
|
+
],
|
|
127
|
+
runtimeActivation: "physical-only",
|
|
128
|
+
},
|
|
129
|
+
// @windy-module system.media-runtime end
|
|
130
|
+
// @windy-module system.agent begin
|
|
131
|
+
{
|
|
132
|
+
name: "system.agent",
|
|
133
|
+
version: "0.1.2",
|
|
134
|
+
label: "Agent Tool",
|
|
135
|
+
description: "受 Feature、RBAC 和审计保护的 Agent 工具调用。",
|
|
136
|
+
dependencies: [
|
|
137
|
+
"system",
|
|
138
|
+
"system.audit",
|
|
139
|
+
"system.storage",
|
|
140
|
+
"system.scheduler",
|
|
141
|
+
"system.workflow",
|
|
142
|
+
"system.media-runtime",
|
|
143
|
+
],
|
|
144
|
+
resources: [
|
|
145
|
+
"agent",
|
|
146
|
+
"agent-tools",
|
|
147
|
+
"agent-debug",
|
|
148
|
+
"agent-workbench",
|
|
149
|
+
"agent-skill",
|
|
150
|
+
"agent-session",
|
|
151
|
+
"agent-workflow",
|
|
152
|
+
"ai-runtime",
|
|
153
|
+
],
|
|
154
|
+
featureKeys: [
|
|
155
|
+
"system.agent",
|
|
156
|
+
"system.agent-tools",
|
|
157
|
+
"system.agent-debug",
|
|
158
|
+
"system.agent-workbench",
|
|
159
|
+
"system.agent-skill",
|
|
160
|
+
"system.agent-session",
|
|
161
|
+
"system.agent-workflow",
|
|
162
|
+
"system.ai-runtime",
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
// @windy-module system.agent end
|
|
166
|
+
// @windy-module system.operations begin
|
|
167
|
+
{
|
|
168
|
+
name: "system.operations",
|
|
169
|
+
version: "0.1.0",
|
|
170
|
+
label: "运维与调度",
|
|
171
|
+
description: "服务、数据库、缓存、磁盘与在线会话监控。",
|
|
172
|
+
dependencies: ["system", "system.configuration"],
|
|
173
|
+
resources: ["ops"],
|
|
174
|
+
featureKeys: ["system.ops"],
|
|
175
|
+
},
|
|
176
|
+
// @windy-module system.operations end
|
|
177
|
+
// @windy-module system.scheduler begin
|
|
178
|
+
{
|
|
179
|
+
name: "system.scheduler",
|
|
180
|
+
version: "0.1.0",
|
|
181
|
+
label: "任务调度",
|
|
182
|
+
description: "定时任务注册、执行、重试、历史与恢复。",
|
|
183
|
+
dependencies: ["system", "system.audit"],
|
|
184
|
+
resources: ["scheduler"],
|
|
185
|
+
featureKeys: ["system.scheduler"],
|
|
186
|
+
},
|
|
187
|
+
// @windy-module system.scheduler end
|
|
188
|
+
// @windy-module system.notification begin
|
|
189
|
+
{
|
|
190
|
+
name: "system.notification",
|
|
191
|
+
version: "0.1.0",
|
|
192
|
+
label: "站内通知",
|
|
193
|
+
description:
|
|
194
|
+
"通知定向与定时发布、用户偏好、外部渠道投递、修改历史、阅读、收藏和归档。",
|
|
195
|
+
dependencies: ["system", "system.identity", "system.scheduler"],
|
|
196
|
+
resources: ["notification"],
|
|
197
|
+
featureKeys: ["system.notification"],
|
|
198
|
+
},
|
|
199
|
+
// @windy-module system.notification end
|
|
200
|
+
// @windy-module system.workflow begin
|
|
201
|
+
{
|
|
202
|
+
name: "system.workflow",
|
|
203
|
+
version: "0.1.0",
|
|
204
|
+
label: "审批工作流",
|
|
205
|
+
description: "审批领取、转交、决定、取消与超时补偿。",
|
|
206
|
+
dependencies: [
|
|
207
|
+
"system",
|
|
208
|
+
"system.identity",
|
|
209
|
+
"system.notification",
|
|
210
|
+
"system.scheduler",
|
|
211
|
+
],
|
|
212
|
+
resources: ["workflow"],
|
|
213
|
+
featureKeys: ["system.workflow"],
|
|
214
|
+
},
|
|
215
|
+
// @windy-module system.workflow end
|
|
216
|
+
// @windy-module system.bulk-data begin
|
|
217
|
+
{
|
|
218
|
+
name: "system.bulk-data",
|
|
219
|
+
version: "0.1.0",
|
|
220
|
+
label: "批量数据",
|
|
221
|
+
description: "批量导入导出、失败明细、结果留存与清理。",
|
|
222
|
+
dependencies: ["system", "system.storage", "system.scheduler"],
|
|
223
|
+
resources: ["bulk-data"],
|
|
224
|
+
featureKeys: ["system.bulk-data"],
|
|
225
|
+
},
|
|
226
|
+
// @windy-module system.bulk-data end
|
|
227
|
+
// @windy-module system.search begin
|
|
228
|
+
{
|
|
229
|
+
name: "system.search",
|
|
230
|
+
version: "0.1.0",
|
|
231
|
+
label: "平台搜索",
|
|
232
|
+
description: "权限感知的功能搜索与业务 SearchProvider 聚合。",
|
|
233
|
+
dependencies: ["system"],
|
|
234
|
+
resources: ["search"],
|
|
235
|
+
featureKeys: ["system.search"],
|
|
236
|
+
},
|
|
237
|
+
// @windy-module system.search end
|
|
238
|
+
// @windy-module system.data-governance begin
|
|
239
|
+
{
|
|
240
|
+
name: "system.data-governance",
|
|
241
|
+
version: "0.1.0",
|
|
242
|
+
label: "数据治理",
|
|
243
|
+
description: "敏感字段投影、明文访问与受治理导出。",
|
|
244
|
+
dependencies: [
|
|
245
|
+
"system",
|
|
246
|
+
"system.identity",
|
|
247
|
+
"system.audit",
|
|
248
|
+
"system.storage",
|
|
249
|
+
"system.workflow",
|
|
250
|
+
"system.scheduler",
|
|
251
|
+
],
|
|
252
|
+
resources: [],
|
|
253
|
+
permissionKeys: ["system.user.reveal", "system.user.export"],
|
|
254
|
+
featureKeys: [],
|
|
255
|
+
runtimeActivation: "physical-only",
|
|
256
|
+
},
|
|
257
|
+
// @windy-module system.data-governance end
|
|
258
|
+
] as const satisfies readonly SystemModuleDefinition[];
|
|
259
|
+
|
|
260
|
+
export type SystemModuleName = (typeof systemModuleDefinitions)[number]["name"];
|
|
@@ -61,6 +61,7 @@ describe("系统模块管理面与 MCP 注册", () => {
|
|
|
61
61
|
]);
|
|
62
62
|
});
|
|
63
63
|
|
|
64
|
+
// @windy-module system.agent-ui begin
|
|
64
65
|
test("AI Runtime 报表完整注册 Feature、权限、入口、API 与审计", () => {
|
|
65
66
|
const manifest = systemFoundationModule();
|
|
66
67
|
const menus = manifest.menus.flatMap((menu) => menu.children ?? []);
|
|
@@ -129,5 +130,6 @@ describe("系统模块管理面与 MCP 注册", () => {
|
|
|
129
130
|
]),
|
|
130
131
|
);
|
|
131
132
|
});
|
|
133
|
+
// @windy-module system.agent-ui end
|
|
132
134
|
// @windy-module system.agent end
|
|
133
135
|
});
|
|
@@ -219,7 +219,13 @@ describe("系统模块能力注册", () => {
|
|
|
219
219
|
|
|
220
220
|
test("Sidebar 分类由 Manifest 目录声明", () => {
|
|
221
221
|
const catalogs = systemFoundationModule().menus.map((menu) => menu.title);
|
|
222
|
-
expect(catalogs).toEqual([
|
|
222
|
+
expect(catalogs).toEqual([
|
|
223
|
+
"组织与权限",
|
|
224
|
+
"平台配置",
|
|
225
|
+
"安全与合规",
|
|
226
|
+
"运维",
|
|
227
|
+
"AI 与 Agent",
|
|
228
|
+
]);
|
|
223
229
|
});
|
|
224
230
|
|
|
225
231
|
test("部门创建与迁移处置绑定独立权限、Feature 和审计动作", () => {
|
|
@@ -4,7 +4,9 @@ import {
|
|
|
4
4
|
systemAgentToolSchemas,
|
|
5
5
|
systemAgentTools,
|
|
6
6
|
} from "./system-agent-tools.js";
|
|
7
|
+
// @windy-module system.agent-ui begin
|
|
7
8
|
import { systemAgentAdminMenus } from "./system-agent-admin-menus.js";
|
|
9
|
+
// @windy-module system.agent-ui end
|
|
8
10
|
import { systemAgentSupervisorSchemas } from "./system-agent-supervisor.js";
|
|
9
11
|
// @windy-module system.agent end
|
|
10
12
|
import { systemAdminRoutes } from "./system-admin-routes.js";
|
|
@@ -252,7 +254,28 @@ export function systemFoundationModule(): ModuleManifest {
|
|
|
252
254
|
featureKey: "system.ops",
|
|
253
255
|
},
|
|
254
256
|
// @windy-module system.operations end
|
|
255
|
-
// @windy-module system.
|
|
257
|
+
// @windy-module system.workflow begin
|
|
258
|
+
{
|
|
259
|
+
key: "system.workflow",
|
|
260
|
+
title: "审批任务",
|
|
261
|
+
type: "button",
|
|
262
|
+
order: 20,
|
|
263
|
+
visible: false,
|
|
264
|
+
permissionKey: "system.workflow.read",
|
|
265
|
+
featureKey: "system.workflow",
|
|
266
|
+
},
|
|
267
|
+
// @windy-module system.workflow end
|
|
268
|
+
],
|
|
269
|
+
},
|
|
270
|
+
// @windy-module system.agent-ui begin
|
|
271
|
+
{
|
|
272
|
+
key: "system.ai",
|
|
273
|
+
title: "AI 与 Agent",
|
|
274
|
+
type: "catalog",
|
|
275
|
+
order: 50,
|
|
276
|
+
visible: true,
|
|
277
|
+
icon: "sparkles",
|
|
278
|
+
children: [
|
|
256
279
|
...systemAgentAdminMenus,
|
|
257
280
|
{
|
|
258
281
|
key: "system.agent-session",
|
|
@@ -287,20 +310,9 @@ export function systemFoundationModule(): ModuleManifest {
|
|
|
287
310
|
permissionKey: "system.agent-workflow.read",
|
|
288
311
|
featureKey: "system.agent-workflow",
|
|
289
312
|
},
|
|
290
|
-
// @windy-module system.agent end
|
|
291
|
-
// @windy-module system.workflow begin
|
|
292
|
-
{
|
|
293
|
-
key: "system.workflow",
|
|
294
|
-
title: "审批任务",
|
|
295
|
-
type: "button",
|
|
296
|
-
order: 20,
|
|
297
|
-
visible: false,
|
|
298
|
-
permissionKey: "system.workflow.read",
|
|
299
|
-
featureKey: "system.workflow",
|
|
300
|
-
},
|
|
301
|
-
// @windy-module system.workflow end
|
|
302
313
|
],
|
|
303
314
|
},
|
|
315
|
+
// @windy-module system.agent-ui end
|
|
304
316
|
],
|
|
305
317
|
adminRoutes: systemAdminRoutes,
|
|
306
318
|
permissions: systemPermissions,
|
|
@@ -20,6 +20,12 @@ const systemResourceLabels = {
|
|
|
20
20
|
license: "许可证管理",
|
|
21
21
|
audit: "审计日志",
|
|
22
22
|
diagnostics: "错误诊断",
|
|
23
|
+
// @windy-module system.media-runtime begin
|
|
24
|
+
document: "文档识别与 OCR",
|
|
25
|
+
speech: "语音处理",
|
|
26
|
+
embedding: "向量嵌入",
|
|
27
|
+
"ai-artifact": "AI 文件引用",
|
|
28
|
+
// @windy-module system.media-runtime end
|
|
23
29
|
// @windy-module system.agent begin
|
|
24
30
|
agent: "智能代理",
|
|
25
31
|
"agent-session": "Agent 长期会话",
|
|
@@ -135,6 +141,12 @@ export const systemPermissions: ModuleManifest["permissions"] = [
|
|
|
135
141
|
permission("audit", "read"),
|
|
136
142
|
permission("diagnostics", "read"),
|
|
137
143
|
// @windy-module system.audit end
|
|
144
|
+
// @windy-module system.media-runtime begin
|
|
145
|
+
permission("document", "read"),
|
|
146
|
+
permission("speech", "read"),
|
|
147
|
+
permission("embedding", "read"),
|
|
148
|
+
permission("ai-artifact", "read"),
|
|
149
|
+
// @windy-module system.media-runtime end
|
|
138
150
|
// @windy-module system.agent begin
|
|
139
151
|
permission("agent", "read"),
|
|
140
152
|
permission("agent-tools", "read"),
|