create-windy 0.2.32 → 0.2.34
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 +9 -1
- package/package.json +1 -1
- package/template/.agents/skills/windy-business-module/SKILL.md +10 -1
- package/template/.windy-template.json +2 -2
- package/template/AGENTS.md +11 -0
- package/template/apps/agent-server/README.md +10 -0
- package/template/apps/agent-server/src/southwind_agent_server/app.py +62 -1
- package/template/apps/agent-server/src/southwind_agent_server/contracts.py +35 -0
- package/template/apps/agent-server/src/southwind_agent_server/engine.py +2 -0
- package/template/apps/agent-server/src/southwind_agent_server/openai_engine.py +31 -3
- package/template/apps/agent-server/src/southwind_agent_server/openai_provider.py +22 -9
- package/template/apps/agent-server/src/southwind_agent_server/provider_audit.py +144 -0
- package/template/apps/agent-server/src/southwind_agent_server/provider_governance.py +227 -0
- package/template/apps/agent-server/src/southwind_agent_server/service.py +1 -0
- package/template/apps/agent-server/tests/test_api.py +16 -1
- package/template/apps/agent-server/tests/test_openai_provider.py +79 -0
- package/template/apps/agent-server/tests/test_provider_governance.py +215 -0
- package/template/apps/server/src/agent/provider-input-governance.test.ts +82 -0
- package/template/apps/server/src/agent/provider-input-governance.ts +140 -0
- package/template/apps/server/src/agent/remote-runtime.test.ts +22 -0
- package/template/apps/server/src/agent/remote-runtime.ts +1 -0
- package/template/apps/server/src/agent/run-contracts.ts +2 -0
- package/template/apps/server/src/agent/run-facade.test.ts +52 -2
- package/template/apps/server/src/agent/run-facade.ts +36 -2
- package/template/apps/server/src/index.ts +28 -45
- package/template/apps/server/src/module-host/initialize-contracts.ts +6 -0
- package/template/apps/server/src/module-host/initialize.ts +30 -44
- package/template/apps/server/src/module-host/request-context.ts +23 -17
- package/template/apps/server/src/module-host/resource-file-policies.test.ts +197 -0
- package/template/apps/server/src/module-host/resource-file-policies.ts +108 -0
- package/template/apps/server/src/module-host/route-declaration.ts +45 -0
- package/template/apps/server/src/module-host/route-installer.ts +27 -3
- package/template/apps/server/src/module-host/storage-port.test.ts +170 -1
- package/template/apps/server/src/module-host/storage-port.ts +134 -1
- package/template/apps/server/src/module-host/storage-scope.ts +96 -0
- package/template/apps/server/src/module-host/tool-handlers.test.ts +305 -0
- package/template/apps/server/src/module-host/tool-handlers.ts +38 -4
- package/template/apps/server/src/module-host/user-directory-composition.test.ts +126 -0
- package/template/apps/server/src/module-host/user-directory-port.test.ts +238 -0
- package/template/apps/server/src/module-host/user-directory-port.ts +143 -0
- package/template/apps/server/src/module-host.ts +4 -0
- package/template/apps/server/src/runtime-development.ts +1 -0
- package/template/apps/server/src/settings/drizzle-watermark-repository.integration.test.ts +4 -0
- package/template/apps/server/src/settings/drizzle-watermark-repository.ts +6 -0
- package/template/apps/server/src/settings/watermark-routes.test.ts +13 -3
- package/template/apps/server/src/settings/watermark-routes.ts +41 -3
- package/template/apps/server/src/system/built-in-roles.ts +1 -0
- package/template/apps/web/src/app/auth/login-page.ts +4 -0
- package/template/apps/web/src/composables/useLoginFlow.webtest.ts +91 -0
- package/template/apps/web/src/composables/useWatermarkSettings.ts +7 -3
- package/template/apps/web/src/composables/useWatermarkSettings.webtest.ts +14 -0
- package/template/apps/web/src/composables/watermark-settings.ts +131 -9
- package/template/apps/web/src/composables/watermark-settings.webtest.ts +73 -7
- package/template/apps/web/src/layout/GlobalWatermark.layering.webtest.ts +3 -1
- package/template/apps/web/src/layout/GlobalWatermark.vue +24 -11
- package/template/apps/web/src/layout/GlobalWatermark.webtest.ts +25 -11
- package/template/apps/web/src/pages/auth/login-page-extension.ts +9 -0
- package/template/apps/web/src/pages/auth/login-page-extension.webtest.ts +10 -0
- package/template/apps/web/src/pages/settings/WatermarkSettingsSection.vue +102 -4
- package/template/apps/web/src/router/index.ts +2 -2
- package/template/apps/web/src/router/shared-scaffold-neutrality.webtest.ts +3 -2
- package/template/docker-compose.yml +2 -0
- package/template/docs/architecture/ai-egress.md +49 -7
- package/template/docs/architecture/ai-runtime.md +20 -1
- package/template/docs/architecture/data-scope-query-enforcement.md +4 -0
- package/template/docs/architecture/object-storage.md +22 -2
- package/template/docs/development/custom-login-page.md +90 -0
- package/template/docs/platform/agent-runtime.md +44 -1
- package/template/docs/platform/business-user-directory.md +82 -0
- package/template/docs/platform/platform-shell-settings.md +14 -9
- package/template/docs/platform/web-system-crud.md +1 -1
- package/template/packages/database/drizzle/0034_funny_mesmero.sql +5 -0
- package/template/packages/database/drizzle/meta/0034_snapshot.json +7253 -0
- package/template/packages/database/drizzle/meta/_journal.json +7 -0
- package/template/packages/database/src/schema/platform-settings.ts +13 -0
- package/template/packages/modules/package.json +1 -1
- package/template/packages/modules/src/ai-operation-composition.test.ts +68 -0
- package/template/packages/modules/src/ai-operation-composition.ts +115 -0
- package/template/packages/modules/src/manifest.ts +26 -0
- package/template/packages/modules/src/provider-data-policy-composition.test.ts +74 -0
- package/template/packages/modules/src/system-audit-actions.ts +5 -0
- package/template/packages/modules/src/system-features.ts +5 -0
- package/template/packages/modules/src/system-module-catalog.test.ts +16 -0
- package/template/packages/modules/src/system-module-catalog.ts +26 -3
- package/template/packages/modules/src/system-permissions.ts +2 -0
- package/template/packages/server-sdk/index.ts +11 -0
- package/template/packages/server-sdk/package.json +3 -2
- package/template/packages/server-sdk/src/ai-operation-registration.ts +2 -1
- package/template/packages/server-sdk/src/module-host.ts +8 -0
- package/template/packages/server-sdk/src/request-context.ts +2 -0
- package/template/packages/server-sdk/src/storage-port.ts +66 -0
- package/template/packages/server-sdk/src/tool-registration.ts +6 -0
- package/template/packages/server-sdk/src/user-directory-port.ts +42 -0
- package/template/packages/shared/src/platform-settings.ts +17 -1
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import type { ModuleActor } from "./actor.js";
|
|
2
2
|
import type { ModuleAiJsonValue } from "./ai-operation-registration.js";
|
|
3
|
+
import type { ModuleStoragePort } from "./storage-port.js";
|
|
3
4
|
|
|
4
5
|
export interface ModuleToolContext {
|
|
5
6
|
readonly actor: ModuleActor;
|
|
6
7
|
readonly requestId: string;
|
|
7
8
|
readonly signal: AbortSignal;
|
|
9
|
+
/**
|
|
10
|
+
* 与当前 Tool Actor、请求范围和模块命名空间绑定的受限存储 Port。
|
|
11
|
+
* Host 未安装 Storage 时为 fail-closed 实现。
|
|
12
|
+
*/
|
|
13
|
+
readonly storage: ModuleStoragePort;
|
|
8
14
|
}
|
|
9
15
|
|
|
10
16
|
export type ModuleToolInput = Readonly<Record<string, ModuleAiJsonValue>>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface ModuleUserDirectoryQuery {
|
|
2
|
+
readonly page?: number;
|
|
3
|
+
readonly pageSize?: number;
|
|
4
|
+
readonly q?: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface ModuleUserDirectoryEntry {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly displayName: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface ModuleUserDirectoryPage {
|
|
13
|
+
readonly items: readonly ModuleUserDirectoryEntry[];
|
|
14
|
+
readonly total: number;
|
|
15
|
+
readonly page: number;
|
|
16
|
+
readonly pageSize: number;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type ModuleUserDirectoryErrorCode =
|
|
20
|
+
| "USER_DIRECTORY_FORBIDDEN"
|
|
21
|
+
| "USER_DIRECTORY_UNAVAILABLE"
|
|
22
|
+
| "USER_DIRECTORY_INVALID_QUERY";
|
|
23
|
+
|
|
24
|
+
export class ModuleUserDirectoryError extends Error {
|
|
25
|
+
constructor(
|
|
26
|
+
readonly code: ModuleUserDirectoryErrorCode,
|
|
27
|
+
message: string,
|
|
28
|
+
) {
|
|
29
|
+
super(message);
|
|
30
|
+
this.name = "ModuleUserDirectoryError";
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* 业务模块使用的只读启用用户目录。
|
|
36
|
+
*
|
|
37
|
+
* Actor、租户、部门与 Data Scope 全部由宿主绑定;调用方只能提交分页和搜索条件。
|
|
38
|
+
* 宿主会执行 Feature、Permission、数据范围与审计,失败时不会降级为全量用户查询。
|
|
39
|
+
*/
|
|
40
|
+
export interface ModuleUserDirectoryPort {
|
|
41
|
+
list(query?: ModuleUserDirectoryQuery): Promise<ModuleUserDirectoryPage>;
|
|
42
|
+
}
|
|
@@ -4,15 +4,31 @@ export interface PlatformBrandingSettings {
|
|
|
4
4
|
description?: string;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
+
export const WATERMARK_DENSITIES = ["low", "medium", "high"] as const;
|
|
8
|
+
export type WatermarkDensity = (typeof WATERMARK_DENSITIES)[number];
|
|
9
|
+
|
|
10
|
+
export const WATERMARK_CONTENT_FIELDS = [
|
|
11
|
+
"username",
|
|
12
|
+
"displayName",
|
|
13
|
+
"phone",
|
|
14
|
+
"email",
|
|
15
|
+
"custom",
|
|
16
|
+
] as const;
|
|
17
|
+
export type WatermarkContentField = (typeof WATERMARK_CONTENT_FIELDS)[number];
|
|
18
|
+
|
|
7
19
|
export interface PlatformWatermarkPolicy {
|
|
8
20
|
enabled: boolean;
|
|
9
21
|
businessPagesEnabled: boolean;
|
|
22
|
+
density: WatermarkDensity;
|
|
23
|
+
contentFields: WatermarkContentField[];
|
|
10
24
|
customContent: string;
|
|
11
25
|
}
|
|
12
26
|
|
|
13
27
|
export const DEFAULT_PLATFORM_WATERMARK_POLICY: Readonly<PlatformWatermarkPolicy> =
|
|
14
28
|
{
|
|
15
29
|
enabled: true,
|
|
16
|
-
businessPagesEnabled:
|
|
30
|
+
businessPagesEnabled: true,
|
|
31
|
+
density: "medium",
|
|
32
|
+
contentFields: ["username", "displayName"],
|
|
17
33
|
customContent: "",
|
|
18
34
|
};
|