opclawtm 1.4.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/README.md +136 -0
- package/dist/bin/team-manager.d.ts +6 -0
- package/dist/bin/team-manager.d.ts.map +1 -0
- package/dist/bin/team-manager.js +36 -0
- package/dist/bin/team-manager.js.map +1 -0
- package/dist/bin/team-setup.d.ts +7 -0
- package/dist/bin/team-setup.d.ts.map +1 -0
- package/dist/bin/team-setup.js +66 -0
- package/dist/bin/team-setup.js.map +1 -0
- package/dist/bin/team-uninstall.d.ts +6 -0
- package/dist/bin/team-uninstall.d.ts.map +1 -0
- package/dist/bin/team-uninstall.js +91 -0
- package/dist/bin/team-uninstall.js.map +1 -0
- package/dist/cli/commands/agent.command.d.ts +43 -0
- package/dist/cli/commands/agent.command.d.ts.map +1 -0
- package/dist/cli/commands/agent.command.js +223 -0
- package/dist/cli/commands/agent.command.js.map +1 -0
- package/dist/cli/commands/checklist.command.d.ts +35 -0
- package/dist/cli/commands/checklist.command.d.ts.map +1 -0
- package/dist/cli/commands/checklist.command.js +77 -0
- package/dist/cli/commands/checklist.command.js.map +1 -0
- package/dist/cli/commands/dept.command.d.ts +32 -0
- package/dist/cli/commands/dept.command.d.ts.map +1 -0
- package/dist/cli/commands/dept.command.js +92 -0
- package/dist/cli/commands/dept.command.js.map +1 -0
- package/dist/cli/commands/document.command.d.ts +37 -0
- package/dist/cli/commands/document.command.d.ts.map +1 -0
- package/dist/cli/commands/document.command.js +146 -0
- package/dist/cli/commands/document.command.js.map +1 -0
- package/dist/cli/commands/domain.command.d.ts +36 -0
- package/dist/cli/commands/domain.command.d.ts.map +1 -0
- package/dist/cli/commands/domain.command.js +97 -0
- package/dist/cli/commands/domain.command.js.map +1 -0
- package/dist/cli/commands/feishu.command.d.ts +63 -0
- package/dist/cli/commands/feishu.command.d.ts.map +1 -0
- package/dist/cli/commands/feishu.command.js +433 -0
- package/dist/cli/commands/feishu.command.js.map +1 -0
- package/dist/cli/commands/job.command.d.ts +39 -0
- package/dist/cli/commands/job.command.d.ts.map +1 -0
- package/dist/cli/commands/job.command.js +168 -0
- package/dist/cli/commands/job.command.js.map +1 -0
- package/dist/cli/commands/license.command.d.ts +22 -0
- package/dist/cli/commands/license.command.d.ts.map +1 -0
- package/dist/cli/commands/license.command.js +68 -0
- package/dist/cli/commands/license.command.js.map +1 -0
- package/dist/cli/commands/message-failure.command.d.ts +44 -0
- package/dist/cli/commands/message-failure.command.d.ts.map +1 -0
- package/dist/cli/commands/message-failure.command.js +137 -0
- package/dist/cli/commands/message-failure.command.js.map +1 -0
- package/dist/cli/commands/message.command.d.ts +47 -0
- package/dist/cli/commands/message.command.d.ts.map +1 -0
- package/dist/cli/commands/message.command.js +129 -0
- package/dist/cli/commands/message.command.js.map +1 -0
- package/dist/cli/commands/node.command.d.ts +76 -0
- package/dist/cli/commands/node.command.d.ts.map +1 -0
- package/dist/cli/commands/node.command.js +251 -0
- package/dist/cli/commands/node.command.js.map +1 -0
- package/dist/cli/commands/role-flow.command.d.ts +12 -0
- package/dist/cli/commands/role-flow.command.d.ts.map +1 -0
- package/dist/cli/commands/role-flow.command.js +54 -0
- package/dist/cli/commands/role-flow.command.js.map +1 -0
- package/dist/cli/commands/skill-pack.command.d.ts +41 -0
- package/dist/cli/commands/skill-pack.command.d.ts.map +1 -0
- package/dist/cli/commands/skill-pack.command.js +137 -0
- package/dist/cli/commands/skill-pack.command.js.map +1 -0
- package/dist/cli/commands/status.command.d.ts +8 -0
- package/dist/cli/commands/status.command.d.ts.map +1 -0
- package/dist/cli/commands/status.command.js +61 -0
- package/dist/cli/commands/status.command.js.map +1 -0
- package/dist/cli/commands/task.command.d.ts +105 -0
- package/dist/cli/commands/task.command.d.ts.map +1 -0
- package/dist/cli/commands/task.command.js +402 -0
- package/dist/cli/commands/task.command.js.map +1 -0
- package/dist/cli/commands/user.command.d.ts +43 -0
- package/dist/cli/commands/user.command.d.ts.map +1 -0
- package/dist/cli/commands/user.command.js +134 -0
- package/dist/cli/commands/user.command.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +863 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/tui/index.d.ts +45 -0
- package/dist/cli/tui/index.d.ts.map +1 -0
- package/dist/cli/tui/index.js +470 -0
- package/dist/cli/tui/index.js.map +1 -0
- package/dist/cli/tui/menus/agent-manage.menu.d.ts +8 -0
- package/dist/cli/tui/menus/agent-manage.menu.d.ts.map +1 -0
- package/dist/cli/tui/menus/agent-manage.menu.js +614 -0
- package/dist/cli/tui/menus/agent-manage.menu.js.map +1 -0
- package/dist/cli/tui/menus/dept-manage.menu.d.ts +8 -0
- package/dist/cli/tui/menus/dept-manage.menu.d.ts.map +1 -0
- package/dist/cli/tui/menus/dept-manage.menu.js +299 -0
- package/dist/cli/tui/menus/dept-manage.menu.js.map +1 -0
- package/dist/cli/tui/menus/domain-manage.menu.d.ts +8 -0
- package/dist/cli/tui/menus/domain-manage.menu.d.ts.map +1 -0
- package/dist/cli/tui/menus/domain-manage.menu.js +208 -0
- package/dist/cli/tui/menus/domain-manage.menu.js.map +1 -0
- package/dist/cli/tui/menus/feishu.menu.d.ts +8 -0
- package/dist/cli/tui/menus/feishu.menu.d.ts.map +1 -0
- package/dist/cli/tui/menus/feishu.menu.js +1727 -0
- package/dist/cli/tui/menus/feishu.menu.js.map +1 -0
- package/dist/cli/tui/menus/job-manage.menu.d.ts +16 -0
- package/dist/cli/tui/menus/job-manage.menu.d.ts.map +1 -0
- package/dist/cli/tui/menus/job-manage.menu.js +734 -0
- package/dist/cli/tui/menus/job-manage.menu.js.map +1 -0
- package/dist/cli/tui/menus/license.menu.d.ts +12 -0
- package/dist/cli/tui/menus/license.menu.d.ts.map +1 -0
- package/dist/cli/tui/menus/license.menu.js +164 -0
- package/dist/cli/tui/menus/license.menu.js.map +1 -0
- package/dist/cli/tui/menus/main.menu.d.ts +10 -0
- package/dist/cli/tui/menus/main.menu.d.ts.map +1 -0
- package/dist/cli/tui/menus/main.menu.js +94 -0
- package/dist/cli/tui/menus/main.menu.js.map +1 -0
- package/dist/cli/tui/menus/reset.menu.d.ts +10 -0
- package/dist/cli/tui/menus/reset.menu.d.ts.map +1 -0
- package/dist/cli/tui/menus/reset.menu.js +767 -0
- package/dist/cli/tui/menus/reset.menu.js.map +1 -0
- package/dist/cli/tui/menus/status.menu.d.ts +8 -0
- package/dist/cli/tui/menus/status.menu.d.ts.map +1 -0
- package/dist/cli/tui/menus/status.menu.js +123 -0
- package/dist/cli/tui/menus/status.menu.js.map +1 -0
- package/dist/cli/tui/menus/task-manage.menu.d.ts +11 -0
- package/dist/cli/tui/menus/task-manage.menu.d.ts.map +1 -0
- package/dist/cli/tui/menus/task-manage.menu.js +129 -0
- package/dist/cli/tui/menus/task-manage.menu.js.map +1 -0
- package/dist/cli/tui/menus/team-create.menu.d.ts +8 -0
- package/dist/cli/tui/menus/team-create.menu.d.ts.map +1 -0
- package/dist/cli/tui/menus/team-create.menu.js +353 -0
- package/dist/cli/tui/menus/team-create.menu.js.map +1 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +74 -0
- package/dist/config.js.map +1 -0
- package/dist/core/auth/index.d.ts +6 -0
- package/dist/core/auth/index.d.ts.map +1 -0
- package/dist/core/auth/index.js +22 -0
- package/dist/core/auth/index.js.map +1 -0
- package/dist/core/auth/middleware.d.ts +73 -0
- package/dist/core/auth/middleware.d.ts.map +1 -0
- package/dist/core/auth/middleware.js +456 -0
- package/dist/core/auth/middleware.js.map +1 -0
- package/dist/core/auth/storage.d.ts +38 -0
- package/dist/core/auth/storage.d.ts.map +1 -0
- package/dist/core/auth/storage.js +280 -0
- package/dist/core/auth/storage.js.map +1 -0
- package/dist/core/keys/public.pem +9 -0
- package/dist/core/models/types.d.ts +426 -0
- package/dist/core/models/types.d.ts.map +1 -0
- package/dist/core/models/types.js +9 -0
- package/dist/core/models/types.js.map +1 -0
- package/dist/core/services/agent-template.service.d.ts +49 -0
- package/dist/core/services/agent-template.service.d.ts.map +1 -0
- package/dist/core/services/agent-template.service.js +88 -0
- package/dist/core/services/agent-template.service.js.map +1 -0
- package/dist/core/services/agent.service.d.ts +120 -0
- package/dist/core/services/agent.service.d.ts.map +1 -0
- package/dist/core/services/agent.service.js +381 -0
- package/dist/core/services/agent.service.js.map +1 -0
- package/dist/core/services/auth-profiles.service.d.ts +93 -0
- package/dist/core/services/auth-profiles.service.d.ts.map +1 -0
- package/dist/core/services/auth-profiles.service.js +220 -0
- package/dist/core/services/auth-profiles.service.js.map +1 -0
- package/dist/core/services/checklist.service.d.ts +58 -0
- package/dist/core/services/checklist.service.d.ts.map +1 -0
- package/dist/core/services/checklist.service.js +240 -0
- package/dist/core/services/checklist.service.js.map +1 -0
- package/dist/core/services/config-tracker.service.d.ts +119 -0
- package/dist/core/services/config-tracker.service.d.ts.map +1 -0
- package/dist/core/services/config-tracker.service.js +1093 -0
- package/dist/core/services/config-tracker.service.js.map +1 -0
- package/dist/core/services/crypto.service.d.ts +102 -0
- package/dist/core/services/crypto.service.d.ts.map +1 -0
- package/dist/core/services/crypto.service.js +377 -0
- package/dist/core/services/crypto.service.js.map +1 -0
- package/dist/core/services/dept.service.d.ts +92 -0
- package/dist/core/services/dept.service.d.ts.map +1 -0
- package/dist/core/services/dept.service.js +260 -0
- package/dist/core/services/dept.service.js.map +1 -0
- package/dist/core/services/document.service.d.ts +131 -0
- package/dist/core/services/document.service.d.ts.map +1 -0
- package/dist/core/services/document.service.js +368 -0
- package/dist/core/services/document.service.js.map +1 -0
- package/dist/core/services/domain.service.d.ts +50 -0
- package/dist/core/services/domain.service.d.ts.map +1 -0
- package/dist/core/services/domain.service.js +98 -0
- package/dist/core/services/domain.service.js.map +1 -0
- package/dist/core/services/feishu.service.d.ts +124 -0
- package/dist/core/services/feishu.service.d.ts.map +1 -0
- package/dist/core/services/feishu.service.js +165 -0
- package/dist/core/services/feishu.service.js.map +1 -0
- package/dist/core/services/index.d.ts +27 -0
- package/dist/core/services/index.d.ts.map +1 -0
- package/dist/core/services/index.js +89 -0
- package/dist/core/services/index.js.map +1 -0
- package/dist/core/services/job.service.d.ts +60 -0
- package/dist/core/services/job.service.d.ts.map +1 -0
- package/dist/core/services/job.service.js +190 -0
- package/dist/core/services/job.service.js.map +1 -0
- package/dist/core/services/log.service.d.ts +111 -0
- package/dist/core/services/log.service.d.ts.map +1 -0
- package/dist/core/services/log.service.js +237 -0
- package/dist/core/services/log.service.js.map +1 -0
- package/dist/core/services/message-failure.service.d.ts +65 -0
- package/dist/core/services/message-failure.service.d.ts.map +1 -0
- package/dist/core/services/message-failure.service.js +112 -0
- package/dist/core/services/message-failure.service.js.map +1 -0
- package/dist/core/services/message.service.d.ts +122 -0
- package/dist/core/services/message.service.d.ts.map +1 -0
- package/dist/core/services/message.service.js +374 -0
- package/dist/core/services/message.service.js.map +1 -0
- package/dist/core/services/node.service.d.ts +150 -0
- package/dist/core/services/node.service.d.ts.map +1 -0
- package/dist/core/services/node.service.js +257 -0
- package/dist/core/services/node.service.js.map +1 -0
- package/dist/core/services/openclaw-config.service.d.ts +187 -0
- package/dist/core/services/openclaw-config.service.d.ts.map +1 -0
- package/dist/core/services/openclaw-config.service.js +268 -0
- package/dist/core/services/openclaw-config.service.js.map +1 -0
- package/dist/core/services/preset-loader.service.d.ts +80 -0
- package/dist/core/services/preset-loader.service.d.ts.map +1 -0
- package/dist/core/services/preset-loader.service.js +379 -0
- package/dist/core/services/preset-loader.service.js.map +1 -0
- package/dist/core/services/role-flow.service.d.ts +21 -0
- package/dist/core/services/role-flow.service.d.ts.map +1 -0
- package/dist/core/services/role-flow.service.js +47 -0
- package/dist/core/services/role-flow.service.js.map +1 -0
- package/dist/core/services/setup.service.d.ts +46 -0
- package/dist/core/services/setup.service.d.ts.map +1 -0
- package/dist/core/services/setup.service.js +336 -0
- package/dist/core/services/setup.service.js.map +1 -0
- package/dist/core/services/skill-pack.service.d.ts +56 -0
- package/dist/core/services/skill-pack.service.d.ts.map +1 -0
- package/dist/core/services/skill-pack.service.js +113 -0
- package/dist/core/services/skill-pack.service.js.map +1 -0
- package/dist/core/services/task.service.d.ts +177 -0
- package/dist/core/services/task.service.d.ts.map +1 -0
- package/dist/core/services/task.service.js +397 -0
- package/dist/core/services/task.service.js.map +1 -0
- package/dist/core/services/template.service.d.ts +51 -0
- package/dist/core/services/template.service.d.ts.map +1 -0
- package/dist/core/services/template.service.js +88 -0
- package/dist/core/services/template.service.js.map +1 -0
- package/dist/core/services/user.service.d.ts +50 -0
- package/dist/core/services/user.service.d.ts.map +1 -0
- package/dist/core/services/user.service.js +111 -0
- package/dist/core/services/user.service.js.map +1 -0
- package/dist/core/utils/agent-guide-generator.d.ts +38 -0
- package/dist/core/utils/agent-guide-generator.d.ts.map +1 -0
- package/dist/core/utils/agent-guide-generator.js +187 -0
- package/dist/core/utils/agent-guide-generator.js.map +1 -0
- package/dist/core/utils/credentials-cleanup.d.ts +81 -0
- package/dist/core/utils/credentials-cleanup.d.ts.map +1 -0
- package/dist/core/utils/credentials-cleanup.js +256 -0
- package/dist/core/utils/credentials-cleanup.js.map +1 -0
- package/dist/core/utils/index.d.ts +215 -0
- package/dist/core/utils/index.d.ts.map +1 -0
- package/dist/core/utils/index.js +462 -0
- package/dist/core/utils/index.js.map +1 -0
- package/dist/core/utils/openclaw-helper.d.ts +250 -0
- package/dist/core/utils/openclaw-helper.d.ts.map +1 -0
- package/dist/core/utils/openclaw-helper.js +1629 -0
- package/dist/core/utils/openclaw-helper.js.map +1 -0
- package/dist/core/utils/template-generator.d.ts +67 -0
- package/dist/core/utils/template-generator.d.ts.map +1 -0
- package/dist/core/utils/template-generator.js +170 -0
- package/dist/core/utils/template-generator.js.map +1 -0
- package/dist/db/index.d.ts +54 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +403 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/repositories/agent-template.repo.d.ts +47 -0
- package/dist/db/repositories/agent-template.repo.d.ts.map +1 -0
- package/dist/db/repositories/agent-template.repo.js +108 -0
- package/dist/db/repositories/agent-template.repo.js.map +1 -0
- package/dist/db/repositories/agent.repo.d.ts +64 -0
- package/dist/db/repositories/agent.repo.d.ts.map +1 -0
- package/dist/db/repositories/agent.repo.js +103 -0
- package/dist/db/repositories/agent.repo.js.map +1 -0
- package/dist/db/repositories/base.repository.d.ts +51 -0
- package/dist/db/repositories/base.repository.d.ts.map +1 -0
- package/dist/db/repositories/base.repository.js +107 -0
- package/dist/db/repositories/base.repository.js.map +1 -0
- package/dist/db/repositories/company.repo.d.ts +18 -0
- package/dist/db/repositories/company.repo.d.ts.map +1 -0
- package/dist/db/repositories/company.repo.js +33 -0
- package/dist/db/repositories/company.repo.js.map +1 -0
- package/dist/db/repositories/config-change.repo.d.ts +65 -0
- package/dist/db/repositories/config-change.repo.d.ts.map +1 -0
- package/dist/db/repositories/config-change.repo.js +119 -0
- package/dist/db/repositories/config-change.repo.js.map +1 -0
- package/dist/db/repositories/dept.repo.d.ts +37 -0
- package/dist/db/repositories/dept.repo.d.ts.map +1 -0
- package/dist/db/repositories/dept.repo.js +66 -0
- package/dist/db/repositories/dept.repo.js.map +1 -0
- package/dist/db/repositories/document.repo.d.ts +25 -0
- package/dist/db/repositories/document.repo.d.ts.map +1 -0
- package/dist/db/repositories/document.repo.js +51 -0
- package/dist/db/repositories/document.repo.js.map +1 -0
- package/dist/db/repositories/domain.repo.d.ts +42 -0
- package/dist/db/repositories/domain.repo.d.ts.map +1 -0
- package/dist/db/repositories/domain.repo.js +79 -0
- package/dist/db/repositories/domain.repo.js.map +1 -0
- package/dist/db/repositories/index.d.ts +24 -0
- package/dist/db/repositories/index.d.ts.map +1 -0
- package/dist/db/repositories/index.js +81 -0
- package/dist/db/repositories/index.js.map +1 -0
- package/dist/db/repositories/init-session.repo.d.ts +38 -0
- package/dist/db/repositories/init-session.repo.d.ts.map +1 -0
- package/dist/db/repositories/init-session.repo.js +112 -0
- package/dist/db/repositories/init-session.repo.js.map +1 -0
- package/dist/db/repositories/job.repo.d.ts +54 -0
- package/dist/db/repositories/job.repo.d.ts.map +1 -0
- package/dist/db/repositories/job.repo.js +119 -0
- package/dist/db/repositories/job.repo.js.map +1 -0
- package/dist/db/repositories/message-failure.repo.d.ts +92 -0
- package/dist/db/repositories/message-failure.repo.d.ts.map +1 -0
- package/dist/db/repositories/message-failure.repo.js +141 -0
- package/dist/db/repositories/message-failure.repo.js.map +1 -0
- package/dist/db/repositories/message-log.repo.d.ts +36 -0
- package/dist/db/repositories/message-log.repo.d.ts.map +1 -0
- package/dist/db/repositories/message-log.repo.js +64 -0
- package/dist/db/repositories/message-log.repo.js.map +1 -0
- package/dist/db/repositories/node.repo.d.ts +107 -0
- package/dist/db/repositories/node.repo.d.ts.map +1 -0
- package/dist/db/repositories/node.repo.js +276 -0
- package/dist/db/repositories/node.repo.js.map +1 -0
- package/dist/db/repositories/role-flow.repo.d.ts +43 -0
- package/dist/db/repositories/role-flow.repo.d.ts.map +1 -0
- package/dist/db/repositories/role-flow.repo.js +83 -0
- package/dist/db/repositories/role-flow.repo.js.map +1 -0
- package/dist/db/repositories/skill-pack.repo.d.ts +45 -0
- package/dist/db/repositories/skill-pack.repo.d.ts.map +1 -0
- package/dist/db/repositories/skill-pack.repo.js +149 -0
- package/dist/db/repositories/skill-pack.repo.js.map +1 -0
- package/dist/db/repositories/task.repo.d.ts +168 -0
- package/dist/db/repositories/task.repo.d.ts.map +1 -0
- package/dist/db/repositories/task.repo.js +381 -0
- package/dist/db/repositories/task.repo.js.map +1 -0
- package/dist/db/repositories/template.repo.d.ts +40 -0
- package/dist/db/repositories/template.repo.d.ts.map +1 -0
- package/dist/db/repositories/template.repo.js +66 -0
- package/dist/db/repositories/template.repo.js.map +1 -0
- package/dist/db/repositories/user.repo.d.ts +46 -0
- package/dist/db/repositories/user.repo.d.ts.map +1 -0
- package/dist/db/repositories/user.repo.js +75 -0
- package/dist/db/repositories/user.repo.js.map +1 -0
- package/dist/db/schema.sql +364 -0
- package/package.json +90 -0
- package/resources/preset-data-hash.enc +1 -0
- package/resources/preset-data.enc +1 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User Repository
|
|
3
|
+
* Manages user information including Feishu binding
|
|
4
|
+
*/
|
|
5
|
+
import { BaseRepository } from './base.repository';
|
|
6
|
+
export interface User {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string | null;
|
|
9
|
+
feishu_open_id: string | null;
|
|
10
|
+
feishu_union_id: string | null;
|
|
11
|
+
created_at: string;
|
|
12
|
+
updated_at: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class UserRepository extends BaseRepository<User> {
|
|
15
|
+
constructor();
|
|
16
|
+
/**
|
|
17
|
+
* Get default user
|
|
18
|
+
*/
|
|
19
|
+
getDefaultUser(): User | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Get user by Feishu open_id
|
|
22
|
+
*/
|
|
23
|
+
findByFeishuOpenId(openId: string): User | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Bind Feishu open_id to user
|
|
26
|
+
*/
|
|
27
|
+
bindFeishu(userId: string, openId: string, unionId?: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Unbind Feishu from user
|
|
30
|
+
*/
|
|
31
|
+
unbindFeishu(userId: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Check if Feishu is bound
|
|
34
|
+
*/
|
|
35
|
+
isFeishuBound(userId: string): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Get Feishu open_id
|
|
38
|
+
*/
|
|
39
|
+
getFeishuOpenId(userId: string): string | null;
|
|
40
|
+
/**
|
|
41
|
+
* Update user name
|
|
42
|
+
*/
|
|
43
|
+
updateName(userId: string, name: string): void;
|
|
44
|
+
}
|
|
45
|
+
export declare const userRepository: UserRepository;
|
|
46
|
+
//# sourceMappingURL=user.repo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.repo.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/user.repo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAe,SAAQ,cAAc,CAAC,IAAI,CAAC;;IAKtD;;OAEG;IACH,cAAc,IAAI,IAAI,GAAG,SAAS;IAIlC;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIpD;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IASlE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IASlC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKtC;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK9C;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CAO/C;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* User Repository
|
|
4
|
+
* Manages user information including Feishu binding
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.userRepository = exports.UserRepository = void 0;
|
|
8
|
+
const base_repository_1 = require("./base.repository");
|
|
9
|
+
class UserRepository extends base_repository_1.BaseRepository {
|
|
10
|
+
constructor() {
|
|
11
|
+
super('users', 'id');
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get default user
|
|
15
|
+
*/
|
|
16
|
+
getDefaultUser() {
|
|
17
|
+
return this.findById('default_user');
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get user by Feishu open_id
|
|
21
|
+
*/
|
|
22
|
+
findByFeishuOpenId(openId) {
|
|
23
|
+
return this.findOneWhere({ feishu_open_id: openId });
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Bind Feishu open_id to user
|
|
27
|
+
*/
|
|
28
|
+
bindFeishu(userId, openId, unionId) {
|
|
29
|
+
const now = new Date().toISOString();
|
|
30
|
+
this.update(userId, {
|
|
31
|
+
feishu_open_id: openId,
|
|
32
|
+
feishu_union_id: unionId || null,
|
|
33
|
+
updated_at: now
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Unbind Feishu from user
|
|
38
|
+
*/
|
|
39
|
+
unbindFeishu(userId) {
|
|
40
|
+
const now = new Date().toISOString();
|
|
41
|
+
this.update(userId, {
|
|
42
|
+
feishu_open_id: null,
|
|
43
|
+
feishu_union_id: null,
|
|
44
|
+
updated_at: now
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Check if Feishu is bound
|
|
49
|
+
*/
|
|
50
|
+
isFeishuBound(userId) {
|
|
51
|
+
const user = this.findById(userId);
|
|
52
|
+
return !!user && !!user.feishu_open_id;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get Feishu open_id
|
|
56
|
+
*/
|
|
57
|
+
getFeishuOpenId(userId) {
|
|
58
|
+
const user = this.findById(userId);
|
|
59
|
+
return user?.feishu_open_id || null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Update user name
|
|
63
|
+
*/
|
|
64
|
+
updateName(userId, name) {
|
|
65
|
+
const now = new Date().toISOString();
|
|
66
|
+
this.update(userId, {
|
|
67
|
+
name,
|
|
68
|
+
updated_at: now
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.UserRepository = UserRepository;
|
|
73
|
+
// Singleton instance
|
|
74
|
+
exports.userRepository = new UserRepository();
|
|
75
|
+
//# sourceMappingURL=user.repo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.repo.js","sourceRoot":"","sources":["../../../src/db/repositories/user.repo.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uDAAmD;AAWnD,MAAa,cAAe,SAAQ,gCAAoB;IACtD;QACE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc,EAAE,MAAc,EAAE,OAAgB;QACzD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,cAAc,EAAE,MAAM;YACtB,eAAe,EAAE,OAAO,IAAI,IAAI;YAChC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAc;QACzB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAc;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAc;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc,EAAE,IAAY;QACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,IAAI;YACJ,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AArED,wCAqEC;AAED,qBAAqB;AACR,QAAA,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
-- Team Manager Database Schema v1.0.0
|
|
2
|
+
-- Multi-Agent Collaboration Framework Database Schema
|
|
3
|
+
-- Supports three-layer structure: Domain - Job - SkillPack
|
|
4
|
+
-- Features: Task management, Message system, Data encryption, Preset data
|
|
5
|
+
|
|
6
|
+
-- ============================================
|
|
7
|
+
-- 1. Users Table
|
|
8
|
+
-- ============================================
|
|
9
|
+
CREATE TABLE IF NOT EXISTS users (
|
|
10
|
+
id TEXT PRIMARY KEY, -- User ID, e.g. 'default_user'
|
|
11
|
+
name TEXT, -- User display name
|
|
12
|
+
feishu_open_id TEXT, -- Feishu open_id (ou_xxx format)
|
|
13
|
+
feishu_union_id TEXT, -- Feishu union_id (optional)
|
|
14
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
15
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
-- Initial default user
|
|
19
|
+
INSERT OR IGNORE INTO users (id, name) VALUES ('default_user', 'Default User');
|
|
20
|
+
|
|
21
|
+
-- ============================================
|
|
22
|
+
-- 2. Company Info Table
|
|
23
|
+
-- ============================================
|
|
24
|
+
CREATE TABLE IF NOT EXISTS companies (
|
|
25
|
+
id TEXT PRIMARY KEY,
|
|
26
|
+
name TEXT NOT NULL,
|
|
27
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
-- ============================================
|
|
31
|
+
-- 2. Department Table
|
|
32
|
+
-- ============================================
|
|
33
|
+
CREATE TABLE IF NOT EXISTS departments (
|
|
34
|
+
id TEXT PRIMARY KEY,
|
|
35
|
+
name TEXT NOT NULL,
|
|
36
|
+
company_id TEXT,
|
|
37
|
+
feishu_group_id TEXT,
|
|
38
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
39
|
+
FOREIGN KEY (company_id) REFERENCES companies(id)
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
-- ============================================
|
|
43
|
+
-- 3. Project Table
|
|
44
|
+
-- ============================================
|
|
45
|
+
CREATE TABLE IF NOT EXISTS projects (
|
|
46
|
+
id TEXT PRIMARY KEY,
|
|
47
|
+
name TEXT NOT NULL,
|
|
48
|
+
department_id TEXT,
|
|
49
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
50
|
+
FOREIGN KEY (department_id) REFERENCES departments(id)
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
-- ============================================
|
|
54
|
+
-- 4. Domain Table (Global Shared)
|
|
55
|
+
-- ============================================
|
|
56
|
+
CREATE TABLE IF NOT EXISTS domains (
|
|
57
|
+
id TEXT PRIMARY KEY,
|
|
58
|
+
name TEXT NOT NULL,
|
|
59
|
+
content TEXT, -- Domain description (encrypted)
|
|
60
|
+
is_preset BOOLEAN DEFAULT 1, -- Is preset data
|
|
61
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
62
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
-- ============================================
|
|
66
|
+
-- 5. Skill Pack Table (Global Shared)
|
|
67
|
+
-- ============================================
|
|
68
|
+
CREATE TABLE IF NOT EXISTS skill_packs (
|
|
69
|
+
id TEXT PRIMARY KEY,
|
|
70
|
+
name TEXT NOT NULL,
|
|
71
|
+
description TEXT,
|
|
72
|
+
content TEXT, -- JSON format, encrypted for preset data
|
|
73
|
+
is_preset BOOLEAN DEFAULT 1, -- Is preset data (preset cannot be modified/deleted)
|
|
74
|
+
version TEXT DEFAULT '1.0.0',
|
|
75
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
76
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
-- ============================================
|
|
80
|
+
-- 6. Job Table (Global Shared, only related to executor)
|
|
81
|
+
-- ============================================
|
|
82
|
+
CREATE TABLE IF NOT EXISTS jobs (
|
|
83
|
+
id TEXT PRIMARY KEY,
|
|
84
|
+
name TEXT NOT NULL,
|
|
85
|
+
domain_id TEXT, -- Domain ID
|
|
86
|
+
skill_pack_ids TEXT, -- JSON array, related to skill_packs table (encrypted)
|
|
87
|
+
is_preset BOOLEAN DEFAULT 1, -- Is preset data (preset cannot be modified/deleted)
|
|
88
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
89
|
+
FOREIGN KEY (domain_id) REFERENCES domains(id)
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
-- ============================================
|
|
93
|
+
-- 7. Agent Table
|
|
94
|
+
-- ============================================
|
|
95
|
+
CREATE TABLE IF NOT EXISTS agents (
|
|
96
|
+
id TEXT PRIMARY KEY,
|
|
97
|
+
name TEXT NOT NULL,
|
|
98
|
+
department_id TEXT, -- NULL for assistant
|
|
99
|
+
job_id TEXT, -- Only for executor, NULL for others
|
|
100
|
+
role TEXT NOT NULL CHECK(role IN ('assistant', 'manager', 'executor', 'reviewer', 'watchdog')),
|
|
101
|
+
role_flow_path TEXT, -- NULL for assistant, others have preset template path
|
|
102
|
+
feishu_bot_id TEXT,
|
|
103
|
+
workspace_path TEXT,
|
|
104
|
+
status TEXT DEFAULT 'active' CHECK(status IN ('active', 'inactive')),
|
|
105
|
+
last_active_at DATETIME,
|
|
106
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
107
|
+
FOREIGN KEY (department_id) REFERENCES departments(id),
|
|
108
|
+
FOREIGN KEY (job_id) REFERENCES jobs(id)
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
-- ============================================
|
|
112
|
+
-- 8. Task Table
|
|
113
|
+
-- ============================================
|
|
114
|
+
CREATE TABLE IF NOT EXISTS tasks (
|
|
115
|
+
id TEXT PRIMARY KEY,
|
|
116
|
+
title TEXT NOT NULL,
|
|
117
|
+
description TEXT,
|
|
118
|
+
status TEXT DEFAULT 'pending' CHECK(status IN ('pending', 'in_progress', 'stage_completed', 'pending_acceptance', 'rejected', 'completed', 'finalized')),
|
|
119
|
+
department_id TEXT,
|
|
120
|
+
manager_id TEXT, -- Manager ID, related to agents.id
|
|
121
|
+
user_id TEXT, -- Task initiator
|
|
122
|
+
base_task_id TEXT, -- For incremental task, related to status=finalized base task
|
|
123
|
+
is_increment BOOLEAN DEFAULT 0,
|
|
124
|
+
parent_task_id TEXT, -- For rework task, related to status=rejected parent task
|
|
125
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
126
|
+
finalized_at DATETIME,
|
|
127
|
+
-- Heartbeat fields (v1.1.1)
|
|
128
|
+
last_manager_heartbeat_at DATETIME, -- Manager's last heartbeat time (for watchdog)
|
|
129
|
+
FOREIGN KEY (department_id) REFERENCES departments(id),
|
|
130
|
+
FOREIGN KEY (manager_id) REFERENCES agents(id),
|
|
131
|
+
FOREIGN KEY (base_task_id) REFERENCES tasks(id),
|
|
132
|
+
FOREIGN KEY (parent_task_id) REFERENCES tasks(id)
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
-- ============================================
|
|
136
|
+
-- 9. Task Node Table
|
|
137
|
+
-- ============================================
|
|
138
|
+
CREATE TABLE IF NOT EXISTS task_nodes (
|
|
139
|
+
id TEXT PRIMARY KEY,
|
|
140
|
+
task_id TEXT NOT NULL,
|
|
141
|
+
node_name TEXT NOT NULL,
|
|
142
|
+
agent_id TEXT, -- Executor ID
|
|
143
|
+
reviewer_id TEXT, -- Reviewer ID (v1.1.8)
|
|
144
|
+
status TEXT DEFAULT 'pending' CHECK(status IN ('pending', 'in_progress', 'pending_review', 'completed', 'failed')),
|
|
145
|
+
sequence INTEGER, -- Execution order
|
|
146
|
+
timeout INTEGER DEFAULT 24, -- Timeout (hours)
|
|
147
|
+
rework_history TEXT, -- JSON array, stores each rework issue, time, reviewer
|
|
148
|
+
failure_history TEXT, -- JSON array, stores each failure reason, time
|
|
149
|
+
review_comment TEXT, -- Review comment
|
|
150
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
151
|
+
started_at DATETIME, -- Node start time
|
|
152
|
+
completed_at DATETIME, -- Node completion time
|
|
153
|
+
-- Heartbeat fields (v1.1.1)
|
|
154
|
+
last_heartbeat_at DATETIME, -- Executor's last heartbeat time (for watchdog)
|
|
155
|
+
last_review_heartbeat_at DATETIME,-- Reviewer's last heartbeat time (for watchdog)
|
|
156
|
+
FOREIGN KEY (task_id) REFERENCES tasks(id),
|
|
157
|
+
FOREIGN KEY (agent_id) REFERENCES agents(id),
|
|
158
|
+
FOREIGN KEY (reviewer_id) REFERENCES agents(id)
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
-- ============================================
|
|
162
|
+
-- 10. Document Table
|
|
163
|
+
-- ============================================
|
|
164
|
+
CREATE TABLE IF NOT EXISTS documents (
|
|
165
|
+
id TEXT PRIMARY KEY,
|
|
166
|
+
task_id TEXT,
|
|
167
|
+
node_id TEXT, -- Optional
|
|
168
|
+
type TEXT NOT NULL CHECK(type IN ('requirement', 'plan', 'output')),
|
|
169
|
+
status TEXT DEFAULT 'draft' CHECK(status IN ('draft', 'final')),
|
|
170
|
+
file_path TEXT NOT NULL, -- Document storage path
|
|
171
|
+
created_by TEXT, -- Creator Agent ID
|
|
172
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
173
|
+
FOREIGN KEY (task_id) REFERENCES tasks(id),
|
|
174
|
+
FOREIGN KEY (node_id) REFERENCES task_nodes(id),
|
|
175
|
+
FOREIGN KEY (created_by) REFERENCES agents(id)
|
|
176
|
+
);
|
|
177
|
+
|
|
178
|
+
-- ============================================
|
|
179
|
+
-- 11. Message Log Table
|
|
180
|
+
-- ============================================
|
|
181
|
+
CREATE TABLE IF NOT EXISTS message_logs (
|
|
182
|
+
id TEXT PRIMARY KEY,
|
|
183
|
+
task_id TEXT,
|
|
184
|
+
message_type TEXT NOT NULL CHECK(message_type IN ('task_assigned', 'node_assigned', 'review_requested', 'review_completed', 'task_completed')),
|
|
185
|
+
sender_id TEXT, -- Sender Agent ID
|
|
186
|
+
receiver_id TEXT, -- Receiver Agent ID
|
|
187
|
+
content TEXT, -- JSON format message body
|
|
188
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
189
|
+
FOREIGN KEY (task_id) REFERENCES tasks(id),
|
|
190
|
+
FOREIGN KEY (sender_id) REFERENCES agents(id),
|
|
191
|
+
FOREIGN KEY (receiver_id) REFERENCES agents(id)
|
|
192
|
+
);
|
|
193
|
+
|
|
194
|
+
-- ============================================
|
|
195
|
+
-- 12. Config Change Record Table
|
|
196
|
+
-- ============================================
|
|
197
|
+
CREATE TABLE IF NOT EXISTS config_changes (
|
|
198
|
+
id TEXT PRIMARY KEY,
|
|
199
|
+
session_id TEXT NOT NULL, -- Related to init session ID
|
|
200
|
+
change_type TEXT NOT NULL CHECK(change_type IN (
|
|
201
|
+
'agent_create', 'agent_delete',
|
|
202
|
+
'agent_allow_list_update', -- Agent allowAgents list update
|
|
203
|
+
'binding_create', 'binding_delete',
|
|
204
|
+
'channel_config',
|
|
205
|
+
'skill_pack_create', 'skill_pack_delete',
|
|
206
|
+
'job_create', 'job_delete',
|
|
207
|
+
'directory_create',
|
|
208
|
+
'department_create', 'department_delete', -- Department operations
|
|
209
|
+
'config_update',
|
|
210
|
+
'feishu_group_bind', 'feishu_group_unbind',
|
|
211
|
+
'feishu_pairing_approve', -- From team-manager: pairing approval
|
|
212
|
+
'other'
|
|
213
|
+
)),
|
|
214
|
+
target_type TEXT NOT NULL CHECK(target_type IN (
|
|
215
|
+
'agents.list',
|
|
216
|
+
'agents.list.allow_agents', -- Agent allowAgents list
|
|
217
|
+
'bindings',
|
|
218
|
+
'channels.feishu', 'channels.feishu.groups',
|
|
219
|
+
'skill_packs', 'jobs', 'directories',
|
|
220
|
+
'gateway', 'departments',
|
|
221
|
+
'credentials', -- From team-manager: credentials support
|
|
222
|
+
'other'
|
|
223
|
+
)),
|
|
224
|
+
target_path TEXT NOT NULL, -- JSONPath, e.g. 'agents.list[0]' or 'bindings[0]'
|
|
225
|
+
action TEXT NOT NULL CHECK(action IN ('add', 'remove', 'update')),
|
|
226
|
+
old_value TEXT, -- Old value (JSON format)
|
|
227
|
+
new_value TEXT, -- New value (JSON format)
|
|
228
|
+
related_id TEXT, -- Related entity ID (e.g. agent_id)
|
|
229
|
+
description TEXT, -- Change description
|
|
230
|
+
cleaned BOOLEAN DEFAULT 0, -- Is cleaned
|
|
231
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
232
|
+
);
|
|
233
|
+
|
|
234
|
+
-- ============================================
|
|
235
|
+
-- 13. Init Session Table
|
|
236
|
+
-- ============================================
|
|
237
|
+
CREATE TABLE IF NOT EXISTS init_sessions (
|
|
238
|
+
id TEXT PRIMARY KEY,
|
|
239
|
+
openclaw_root TEXT NOT NULL, -- OpenClaw workspace path
|
|
240
|
+
assistant_name TEXT, -- Assistant name
|
|
241
|
+
status TEXT DEFAULT 'active' CHECK(status IN ('active', 'reset')),
|
|
242
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
243
|
+
reset_at DATETIME -- Reset time
|
|
244
|
+
);
|
|
245
|
+
|
|
246
|
+
-- ============================================
|
|
247
|
+
-- 14. Role Flow Table
|
|
248
|
+
-- ============================================
|
|
249
|
+
CREATE TABLE IF NOT EXISTS role_flows (
|
|
250
|
+
id TEXT PRIMARY KEY, -- manager_flow / executor_flow / reviewer_flow
|
|
251
|
+
name TEXT NOT NULL, -- Manager flow / Executor flow / Reviewer flow
|
|
252
|
+
content TEXT NOT NULL, -- Encrypted content
|
|
253
|
+
is_preset BOOLEAN DEFAULT 1, -- Is preset data
|
|
254
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
255
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
256
|
+
);
|
|
257
|
+
|
|
258
|
+
-- ============================================
|
|
259
|
+
-- 15. Template Table
|
|
260
|
+
-- ============================================
|
|
261
|
+
CREATE TABLE IF NOT EXISTS templates (
|
|
262
|
+
id TEXT PRIMARY KEY, -- requirement / plan / node_flow / review_flow
|
|
263
|
+
name TEXT NOT NULL, -- Requirement template / Plan template etc.
|
|
264
|
+
type TEXT NOT NULL, -- doc / flow / report
|
|
265
|
+
content TEXT NOT NULL, -- Encrypted (preset) or plain (user-defined)
|
|
266
|
+
is_preset BOOLEAN DEFAULT 1, -- Is preset data
|
|
267
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
268
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
269
|
+
);
|
|
270
|
+
|
|
271
|
+
-- ============================================
|
|
272
|
+
-- 16. Agent Template Table
|
|
273
|
+
-- ============================================
|
|
274
|
+
CREATE TABLE IF NOT EXISTS agent_templates (
|
|
275
|
+
id TEXT PRIMARY KEY, -- agents_md / soul_md / user_md
|
|
276
|
+
name TEXT NOT NULL, -- AGENTS.md / SOUL.md / USER.md
|
|
277
|
+
content TEXT NOT NULL, -- Encrypted content
|
|
278
|
+
is_preset BOOLEAN DEFAULT 1, -- Is preset data
|
|
279
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
280
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
281
|
+
);
|
|
282
|
+
|
|
283
|
+
-- ============================================
|
|
284
|
+
-- 17. Message Failures Table (v1.1.5)
|
|
285
|
+
-- ============================================
|
|
286
|
+
CREATE TABLE IF NOT EXISTS message_failures (
|
|
287
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
288
|
+
message_id TEXT, -- Message unique identifier
|
|
289
|
+
task_id TEXT, -- Related task ID
|
|
290
|
+
sender_id TEXT NOT NULL, -- Sender Agent ID
|
|
291
|
+
receiver_id TEXT NOT NULL, -- Receiver Agent ID
|
|
292
|
+
message_type TEXT NOT NULL, -- Message type (task_completed, node_assigned, etc.)
|
|
293
|
+
message_content TEXT NOT NULL, -- Full message content (JSON)
|
|
294
|
+
failure_reason TEXT, -- Failure reason
|
|
295
|
+
retry_count INTEGER DEFAULT 0, -- Retry count
|
|
296
|
+
status TEXT DEFAULT 'pending' CHECK(status IN ('pending', 'retrying', 'resolved', 'expired')),
|
|
297
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
298
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
299
|
+
);
|
|
300
|
+
|
|
301
|
+
-- Message failures indexes
|
|
302
|
+
CREATE INDEX IF NOT EXISTS idx_message_failures_status ON message_failures(status);
|
|
303
|
+
CREATE INDEX IF NOT EXISTS idx_message_failures_sender ON message_failures(sender_id);
|
|
304
|
+
CREATE INDEX IF NOT EXISTS idx_message_failures_receiver ON message_failures(receiver_id);
|
|
305
|
+
CREATE INDEX IF NOT EXISTS idx_message_failures_task ON message_failures(task_id);
|
|
306
|
+
|
|
307
|
+
-- ============================================
|
|
308
|
+
-- Indexes
|
|
309
|
+
-- ============================================
|
|
310
|
+
CREATE INDEX IF NOT EXISTS idx_departments_company ON departments(company_id);
|
|
311
|
+
CREATE INDEX IF NOT EXISTS idx_agents_department ON agents(department_id);
|
|
312
|
+
CREATE INDEX IF NOT EXISTS idx_agents_role ON agents(role);
|
|
313
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_department ON tasks(department_id);
|
|
314
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);
|
|
315
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_manager ON tasks(manager_id);
|
|
316
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_heartbeat ON tasks(last_manager_heartbeat_at); -- v1.1.1
|
|
317
|
+
CREATE INDEX IF NOT EXISTS idx_nodes_task ON task_nodes(task_id);
|
|
318
|
+
CREATE INDEX IF NOT EXISTS idx_nodes_status ON task_nodes(status);
|
|
319
|
+
CREATE INDEX IF NOT EXISTS idx_nodes_heartbeat ON task_nodes(last_heartbeat_at); -- v1.1.1
|
|
320
|
+
CREATE INDEX IF NOT EXISTS idx_nodes_review_heartbeat ON task_nodes(last_review_heartbeat_at); -- v1.1.1
|
|
321
|
+
CREATE INDEX IF NOT EXISTS idx_documents_task ON documents(task_id);
|
|
322
|
+
CREATE INDEX IF NOT EXISTS idx_documents_type ON documents(type);
|
|
323
|
+
CREATE INDEX IF NOT EXISTS idx_message_logs_task ON message_logs(task_id);
|
|
324
|
+
CREATE INDEX IF NOT EXISTS idx_config_changes_type ON config_changes(target_type);
|
|
325
|
+
CREATE INDEX IF NOT EXISTS idx_config_changes_related ON config_changes(related_id);
|
|
326
|
+
CREATE INDEX IF NOT EXISTS idx_domains_preset ON domains(is_preset);
|
|
327
|
+
CREATE INDEX IF NOT EXISTS idx_skill_packs_preset ON skill_packs(is_preset);
|
|
328
|
+
CREATE INDEX IF NOT EXISTS idx_jobs_preset ON jobs(is_preset);
|
|
329
|
+
CREATE INDEX IF NOT EXISTS idx_jobs_domain ON jobs(domain_id);
|
|
330
|
+
CREATE INDEX IF NOT EXISTS idx_role_flows_preset ON role_flows(is_preset);
|
|
331
|
+
CREATE INDEX IF NOT EXISTS idx_templates_preset ON templates(is_preset);
|
|
332
|
+
CREATE INDEX IF NOT EXISTS idx_templates_type ON templates(type);
|
|
333
|
+
CREATE INDEX IF NOT EXISTS idx_agent_templates_preset ON agent_templates(is_preset);
|
|
334
|
+
-- ============================================
|
|
335
|
+
-- v1.1.7: Task Stages Table (Multi-Department Collaboration)
|
|
336
|
+
-- ============================================
|
|
337
|
+
CREATE TABLE IF NOT EXISTS task_stages (
|
|
338
|
+
id TEXT PRIMARY KEY,
|
|
339
|
+
task_id TEXT NOT NULL,
|
|
340
|
+
stage_name TEXT NOT NULL,
|
|
341
|
+
department_id TEXT NOT NULL,
|
|
342
|
+
manager_id TEXT NOT NULL,
|
|
343
|
+
status TEXT DEFAULT 'pending' CHECK(status IN ('pending', 'in_progress', 'completed')),
|
|
344
|
+
sequence INTEGER,
|
|
345
|
+
output_summary TEXT,
|
|
346
|
+
handover_note TEXT,
|
|
347
|
+
started_at DATETIME,
|
|
348
|
+
completed_at DATETIME,
|
|
349
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
350
|
+
FOREIGN KEY (task_id) REFERENCES tasks(id),
|
|
351
|
+
FOREIGN KEY (department_id) REFERENCES departments(id),
|
|
352
|
+
FOREIGN KEY (manager_id) REFERENCES agents(id)
|
|
353
|
+
);
|
|
354
|
+
|
|
355
|
+
CREATE INDEX IF NOT EXISTS idx_task_stages_task ON task_stages(task_id);
|
|
356
|
+
CREATE INDEX IF NOT EXISTS idx_task_stages_department ON task_stages(department_id);
|
|
357
|
+
CREATE INDEX IF NOT EXISTS idx_task_stages_status ON task_stages(status);
|
|
358
|
+
|
|
359
|
+
-- ============================================
|
|
360
|
+
-- v1.1.7: Migration for existing databases
|
|
361
|
+
-- ============================================
|
|
362
|
+
-- Note: SQLite does not support ALTER CONSTRAINT
|
|
363
|
+
-- For existing databases, the new 'stage_completed' status will work
|
|
364
|
+
-- because CHECK constraints are not enforced on existing data in SQLite
|
package/package.json
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "opclawtm",
|
|
3
|
+
"version": "1.4.0",
|
|
4
|
+
"description": "Multi-Agent Collaboration Framework - CLI Management Tool (Full Version: Agent Management + Task Flow + Feishu Integration)",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"opclawtm": "./dist/bin/team-manager.js",
|
|
9
|
+
"openclaw-team-manager": "./dist/bin/team-manager.js",
|
|
10
|
+
"openclaw-team-setup": "./dist/bin/team-setup.js",
|
|
11
|
+
"openclaw-team-uninstall": "./dist/bin/team-uninstall.js"
|
|
12
|
+
},
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc",
|
|
15
|
+
"postbuild": "node -e \"require('fs').cpSync('src/core/keys', 'dist/core/keys', {recursive:true}); require('fs').copyFileSync('src/db/schema.sql', 'dist/db/schema.sql')\"",
|
|
16
|
+
"start": "node dist/bin/team-manager.js",
|
|
17
|
+
"dev": "ts-node src/bin/team-manager.ts",
|
|
18
|
+
"uninstall": "node dist/bin/team-uninstall.js",
|
|
19
|
+
"prepublishOnly": "npm run build",
|
|
20
|
+
"test": "jest",
|
|
21
|
+
"test:watch": "jest --watch",
|
|
22
|
+
"obfuscate": "node scripts/obfuscate.js",
|
|
23
|
+
"bytecode": "node scripts/bytecode.js",
|
|
24
|
+
"pack:protected": "npm run build && npm run obfuscate && npm run bytecode"
|
|
25
|
+
},
|
|
26
|
+
"keywords": [
|
|
27
|
+
"agent",
|
|
28
|
+
"collaboration",
|
|
29
|
+
"openclaw",
|
|
30
|
+
"cli",
|
|
31
|
+
"multi-agent",
|
|
32
|
+
"feishu",
|
|
33
|
+
"lark",
|
|
34
|
+
"assistant",
|
|
35
|
+
"automation",
|
|
36
|
+
"team",
|
|
37
|
+
"task-management",
|
|
38
|
+
"workflow"
|
|
39
|
+
],
|
|
40
|
+
"author": "",
|
|
41
|
+
"license": "UNLICENSED",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/poderosom1/opclawtm.git"
|
|
45
|
+
},
|
|
46
|
+
"bugs": {
|
|
47
|
+
"url": "https://github.com/poderosom1/opclawtm/issues"
|
|
48
|
+
},
|
|
49
|
+
"homepage": "https://github.com/poderosom1/opclawtm#readme",
|
|
50
|
+
"files": [
|
|
51
|
+
"dist/**/*",
|
|
52
|
+
"resources/**/*",
|
|
53
|
+
"README.md",
|
|
54
|
+
"README_EN.md",
|
|
55
|
+
"LICENSE"
|
|
56
|
+
],
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"better-sqlite3": "^12.6.2",
|
|
59
|
+
"better-sqlite3-multiple-ciphers": "^12.6.2",
|
|
60
|
+
"chalk": "^4.1.2",
|
|
61
|
+
"commander": "^12.0.0",
|
|
62
|
+
"handlebars": "^4.7.8",
|
|
63
|
+
"inquirer": "^8.2.6",
|
|
64
|
+
"ora": "^5.4.1",
|
|
65
|
+
"uuid": "^9.0.1",
|
|
66
|
+
"ws": "^8.19.0",
|
|
67
|
+
"axios": "^1.6.0"
|
|
68
|
+
},
|
|
69
|
+
"devDependencies": {
|
|
70
|
+
"@types/better-sqlite3": "^7.6.12",
|
|
71
|
+
"@types/inquirer": "^9.0.7",
|
|
72
|
+
"@types/jest": "^29.5.12",
|
|
73
|
+
"@types/node": "^20.11.24",
|
|
74
|
+
"@types/uuid": "^9.0.8",
|
|
75
|
+
"bytenode": "^1.5.7",
|
|
76
|
+
"javascript-obfuscator": "^4.1.0",
|
|
77
|
+
"jest": "^29.7.0",
|
|
78
|
+
"ts-jest": "^29.1.2",
|
|
79
|
+
"ts-node": "^10.9.2",
|
|
80
|
+
"typescript": "^5.3.3"
|
|
81
|
+
},
|
|
82
|
+
"engines": {
|
|
83
|
+
"node": ">=20.0.0"
|
|
84
|
+
},
|
|
85
|
+
"os": [
|
|
86
|
+
"win32",
|
|
87
|
+
"darwin",
|
|
88
|
+
"linux"
|
|
89
|
+
]
|
|
90
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
PBOqIkAZQDmYzDSt7Da8IJudv+2OQjHbGMi/tSbwF1As88l88himj8asna+0zatEf13SYxSUgUV1c6fESfiE1m3Wk7SVFcMiad9G105Rz10y8ywRjznXO9c+el9fAosBPAPTTy/UzOj0LaOnSjNBCA5r8766S5rM73JYuRO5dYg=
|