@co0ontty/wand 4.105.1 → 4.106.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/build-info.json +3 -3
- package/dist/cli.js +7 -2
- package/dist/distribution-manager.d.ts +2 -0
- package/dist/distribution-manager.js +23 -0
- package/dist/employee-input-scheduling.d.ts +2 -1
- package/dist/employee-knowledge-cli.d.ts +1 -1
- package/dist/employee-knowledge-cli.js +91 -20
- package/dist/employee-knowledge-content.js +1 -1
- package/dist/employee-knowledge-types.d.ts +1 -1
- package/dist/employee-knowledge-types.js +1 -1
- package/dist/employee-knowledge.d.ts +6 -3
- package/dist/employee-knowledge.js +54 -58
- package/dist/env-utils.js +1 -1
- package/dist/html-preview-policy.d.ts +4 -0
- package/dist/html-preview-policy.js +4 -0
- package/dist/ios-ota.d.ts +5 -0
- package/dist/ios-ota.js +11 -1
- package/dist/knowledge-skill.d.ts +2 -0
- package/dist/knowledge-skill.js +17 -0
- package/dist/knowledge-types.d.ts +36 -0
- package/dist/knowledge-types.js +8 -0
- package/dist/managed-skills-ensure.js +2 -0
- package/dist/middleware/api-scope.js +2 -0
- package/dist/path-repair.js +28 -6
- package/dist/pi-resource-catalog.d.ts +3 -1
- package/dist/pi-resource-catalog.js +25 -0
- package/dist/pi-session-settings.d.ts +2 -0
- package/dist/pi-session-settings.js +25 -0
- package/dist/process-manager.d.ts +2 -0
- package/dist/process-manager.js +35 -12
- package/dist/quick-terminal-session.d.ts +3 -0
- package/dist/quick-terminal-session.js +5 -0
- package/dist/retention-protection.d.ts +15 -0
- package/dist/retention-protection.js +134 -0
- package/dist/retention.d.ts +3 -2
- package/dist/retention.js +58 -76
- package/dist/server-employee-routes.js +1 -1
- package/dist/server-file-routes.js +84 -16
- package/dist/server-knowledge-routes.d.ts +4 -0
- package/dist/server-knowledge-routes.js +61 -0
- package/dist/server-local-preview-routes.js +28 -6
- package/dist/server-pi-defaults-routes.d.ts +1 -1
- package/dist/server-pi-defaults-routes.js +13 -20
- package/dist/server-session-lifecycle-routes.js +17 -17
- package/dist/server-session-list-routes.js +1 -1
- package/dist/server-task-routes.js +6 -0
- package/dist/server-update-routes.d.ts +1 -0
- package/dist/server-update-routes.js +62 -17
- package/dist/server-workspace-routes.js +5 -5
- package/dist/server.js +4 -2
- package/dist/session-questions.d.ts +7 -0
- package/dist/session-questions.js +25 -0
- package/dist/session-registry.d.ts +3 -0
- package/dist/session-registry.js +17 -0
- package/dist/session-request.d.ts +1 -1
- package/dist/session-request.js +6 -2
- package/dist/session-service.js +1 -1
- package/dist/storage/employees-repository.js +5 -2
- package/dist/storage/knowledge-repository.d.ts +35 -0
- package/dist/storage/knowledge-repository.js +208 -0
- package/dist/storage/mappers.js +1 -1
- package/dist/storage/migrations.js +51 -0
- package/dist/storage/sessions-repository.d.ts +2 -0
- package/dist/storage/sessions-repository.js +16 -0
- package/dist/storage/tasks-repository.d.ts +7 -0
- package/dist/storage/tasks-repository.js +21 -0
- package/dist/storage/workspaces-repository.d.ts +1 -0
- package/dist/storage/workspaces-repository.js +2 -1
- package/dist/storage.d.ts +3 -1
- package/dist/storage.js +4 -0
- package/dist/structured-session-manager.d.ts +3 -0
- package/dist/structured-session-manager.js +13 -4
- package/dist/task-action-types.d.ts +22 -0
- package/dist/task-action-types.js +1 -0
- package/dist/task-actions.d.ts +5 -0
- package/dist/task-actions.js +86 -0
- package/dist/task-execution-queue.d.ts +1 -1
- package/dist/task-execution-queue.js +4 -1
- package/dist/task-retention.d.ts +4 -2
- package/dist/task-retention.js +2 -0
- package/dist/types.d.ts +2 -1
- package/dist/web-ui/content/ai-teams.js +12 -12
- package/dist/web-ui/content/module-manifest.json +1 -1
- package/dist/web-ui/content/modules/00b168a19664439e/dropdown-surface.js +1 -0
- package/dist/web-ui/content/modules/059c5fb7f128d340/task-board-host.js +27 -0
- package/dist/web-ui/content/modules/07494f5a623e4471/chat-render.js +76 -0
- package/dist/web-ui/content/modules/{bc28252270bcc51a → 0a743ad3b4db6874}/chunk.js +1 -1
- package/dist/web-ui/content/modules/0d76e582a7a71b2f/chunk.js +1 -0
- package/dist/web-ui/content/modules/11af5d14b30e57b6/chunk.js +1 -0
- package/dist/web-ui/content/modules/16dab1297efd71a7/chunk.js +10 -0
- package/dist/web-ui/content/modules/182929e188c1ab3a/host.js +5 -0
- package/dist/web-ui/content/modules/1858670c0f84fec5/employee-profile.js +1 -0
- package/dist/web-ui/content/modules/{1cf252d2f64a6279 → 1eab7410d5586038}/chunk.js +1 -1
- package/dist/web-ui/content/modules/20c47dc0442f5a04/host.js +1 -0
- package/dist/web-ui/content/modules/226241b999d12008/host.js +1 -0
- package/dist/web-ui/content/modules/23c4b8d223ec64c5/host.js +61 -0
- package/dist/web-ui/content/modules/2882c97388ff4f7b/employee-card.js +1 -0
- package/dist/web-ui/content/modules/2a791cd2e14aa1e0/notice-view.js +1 -0
- package/dist/web-ui/content/modules/2c90c3be260e6cce/progress.js +1 -0
- package/dist/web-ui/content/modules/2d7be9935394f397/workspace-window.js +1 -0
- package/dist/web-ui/content/modules/2f801e53dda62770/chunk.js +1 -0
- package/dist/web-ui/content/modules/2f97ddba3842adaa/chunk.js +1 -0
- package/dist/web-ui/content/modules/31157ceb6d23b809/chunk.js +15 -0
- package/dist/web-ui/content/modules/389a5112332ec23a/host.js +1 -0
- package/dist/web-ui/content/modules/3ea13e8b3c2deaa4/panel-host.js +1 -0
- package/dist/web-ui/content/modules/3f8830f8ad28decc/chunk.js +3 -0
- package/dist/web-ui/content/modules/{70715360138f4d99 → 3fe11a75284ad8ae}/host.js +1 -1
- package/dist/web-ui/content/modules/{e0a1ae9163e77556 → 41445c6589dba325}/host.js +2 -2
- package/dist/web-ui/content/modules/{8b2f9a027ae1d7eb → 42e5c34002fcffb7}/chunk.js +1 -1
- package/dist/web-ui/content/modules/438807b8bf112cd0/chunk.js +1 -0
- package/dist/web-ui/content/modules/4861eca9a8a87ad0/chunk.js +1 -0
- package/dist/web-ui/content/modules/{78d06dfdc4b13d78 → 4970319a83432ec7}/chunk.js +1 -1
- package/dist/web-ui/content/modules/4a5d669c90f545cb/host.js +1 -0
- package/dist/web-ui/content/modules/4ba1e8c74bed7ef2/chunk.js +1 -0
- package/dist/web-ui/content/modules/5083a5dbb5b155b7/chunk.js +1 -0
- package/dist/web-ui/content/modules/50da446c1377c220/chunk.js +20 -0
- package/dist/web-ui/content/modules/52574891ef08e29b/host.js +30 -0
- package/dist/web-ui/content/modules/5705d25468274534/host.js +1 -0
- package/dist/web-ui/content/modules/579d486763d47c0d/chunk.js +1 -0
- package/dist/web-ui/content/modules/57c357d321db5df9/chunk.js +1 -0
- package/dist/web-ui/content/modules/5933ce8965aa4004/chunk.js +1 -0
- package/dist/web-ui/content/modules/5961ab2947c86ca1/shell-file-panel-drawer.js +1 -0
- package/dist/web-ui/content/modules/5b6e1369df7dea69/chunk.js +1 -0
- package/dist/web-ui/content/modules/5f298a8f43dd0589/chunk.js +1 -0
- package/dist/web-ui/content/modules/62e0023451f428cf/chunk.js +1 -0
- package/dist/web-ui/content/modules/6787bdcf56f743a5/host.js +1 -0
- package/dist/web-ui/content/modules/67c39b0398186a9f/host.js +1 -0
- package/dist/web-ui/content/modules/6b16f35c0627bafb/chunk.js +1 -0
- package/dist/web-ui/content/modules/6dd4f3e2f619f7a0/chunk.js +1 -0
- package/dist/web-ui/content/modules/70a2e13e0ccc8549/panel.js +1 -0
- package/dist/web-ui/content/modules/710db590e9707f73/runtime.js +338 -0
- package/dist/web-ui/content/modules/7249950f8771dbeb/workspaces-panel.js +4 -0
- package/dist/web-ui/content/modules/771439a41e737ee2/chunk.js +1 -0
- package/dist/web-ui/content/modules/{2061d4a88875b9f9 → 816eb9b3a000fb2c}/chunk.js +1 -1
- package/dist/web-ui/content/modules/{c0384ffb4ef740a0 → 831b6c7b43e800be}/host.js +1 -1
- package/dist/web-ui/content/modules/87c7f50d9455d55e/chunk.js +1 -0
- package/dist/web-ui/content/modules/87dcd516ffd9f688/composer-surface-adapter.js +1 -0
- package/dist/web-ui/content/modules/8891ca8165435ca1/chunk.js +1 -0
- package/dist/web-ui/content/modules/8b7cd7bffdfd69e7/brand-identity.js +1 -0
- package/dist/web-ui/content/modules/8bf9917f6c3429f6/host.js +1 -0
- package/dist/web-ui/content/modules/8de8368570ab089d/chunk.js +57 -0
- package/dist/web-ui/content/modules/8e612d4881fa4118/home.js +6 -0
- package/dist/web-ui/content/modules/8e6178262ea63dec/markdown.js +1 -0
- package/dist/web-ui/content/modules/913187c92a98a1ac/chunk.js +1 -0
- package/dist/web-ui/content/modules/96f2ae970f8c576b/host.js +1 -0
- package/dist/web-ui/content/modules/97d7f267959fd385/chunk.js +1 -0
- package/dist/web-ui/content/modules/{22497085d7cdd83b → 9b12c2301f3a18f3}/chunk.js +1 -1
- package/dist/web-ui/content/modules/{9f4e26a1c1867d65 → 9d941d6ff39861b8}/chunk.js +2 -2
- package/dist/web-ui/content/modules/9e163d54ff8fd1aa/chunk.js +1 -0
- package/dist/web-ui/content/modules/{0567e161e2cca41e → a2caed0139df4b21}/chunk.js +1 -1
- package/dist/web-ui/content/modules/a59734be368daa7e/chunk.js +1 -0
- package/dist/web-ui/content/modules/{e4503f8e6379ccdc → a61393bfa976d8d5}/chunk.js +1 -1
- package/dist/web-ui/content/modules/{df5d48b4ff04b443 → b63e075f222a1266}/library-bridge.js +2 -2
- package/dist/web-ui/content/modules/b713cad51ca4c512/chunk.js +1 -0
- package/dist/web-ui/content/modules/ba89cd97627e6682/queue-view-adapter.js +1 -0
- package/dist/web-ui/content/modules/bd3daf04a8bf4422/chunk.js +1 -0
- package/dist/web-ui/content/modules/{aa7d409d04bbd736 → bd7dc4bb46731ee7}/chunk.js +1 -1
- package/dist/web-ui/content/modules/bf3ee58e0da44822/chunk.js +1 -0
- package/dist/web-ui/content/modules/c0a446100d969f3e/chunk.js +8 -0
- package/dist/web-ui/content/modules/c2f09c8a472f5d83/dialog-modal.js +4 -0
- package/dist/web-ui/content/modules/c33935155289c22d/chunk.js +3 -0
- package/dist/web-ui/content/modules/c351eb11e0bdec2c/sidebar-peek.js +1 -0
- package/dist/web-ui/content/modules/ca7ca5902a35d26e/chunk.js +1 -0
- package/dist/web-ui/content/modules/cba6f13c0b2aec1c/chunk.js +1 -0
- package/dist/web-ui/content/modules/d434edbb2f4672e5/chunk.js +1 -0
- package/dist/web-ui/content/modules/{d569c96d4acfdec3 → d47d75a78ae598e3}/chunk.js +25 -25
- package/dist/web-ui/content/modules/d49f106c4d106057/chunk.js +1 -0
- package/dist/web-ui/content/modules/d5d28ec375826ef2/chunk.js +3 -0
- package/dist/web-ui/content/modules/{7edec8f23f8e0834 → d6b16dedb9011c33}/chunk.js +1 -1
- package/dist/web-ui/content/modules/d6fffe2c2a3a738d/toast-region.js +1 -0
- package/dist/web-ui/content/modules/d8a7011760f61719/group-editor.js +1 -0
- package/dist/web-ui/content/modules/{bf0b693a654e2655 → d9e2b65e9679ad39}/host.js +3 -3
- package/dist/web-ui/content/modules/db521a246e14e5e4/chunk.js +4 -0
- package/dist/web-ui/content/modules/{7994dec16e8b1039 → dedd4a19bb70e327}/page.js +2 -2
- package/dist/web-ui/content/modules/e060508ecd50fa7e/chunk.js +1 -0
- package/dist/web-ui/content/modules/e5174201f9d918fb/chunk.js +1 -0
- package/dist/web-ui/content/modules/e63582a3bce48f7d/chunk.js +1 -0
- package/dist/web-ui/content/modules/ea8fe4b9999fd2aa/chunk.js +1 -0
- package/dist/web-ui/content/modules/{d7cdd7dca9a0c9f8 → eac72f69716dba05}/chunk.js +1 -1
- package/dist/web-ui/content/modules/ebc53dedc3945514/host.js +1 -0
- package/dist/web-ui/content/modules/{0d7f7d954382dc42 → ec33e17c00c1eb24}/chunk.js +1 -1
- package/dist/web-ui/content/modules/{99e5cdf0c3bd0e3d → ed7405f064944215}/sha256.js +1 -1
- package/dist/web-ui/content/modules/f27a5d3c6c02a71c/chunk.js +1 -0
- package/dist/web-ui/content/modules/f383d892fef73483/chunk.js +1 -0
- package/dist/web-ui/content/modules/{084dca1ea52bf38e → f3cff7792ba39df8}/login-visual.js +1 -1
- package/dist/web-ui/content/modules/f43da7050badf54c/host.js +1 -0
- package/dist/web-ui/content/modules/face3dbf117d63e3/chunk.js +1 -0
- package/dist/web-ui/content/modules/fb2356eced24c4cc/host-bridge.js +1 -0
- package/dist/web-ui/content/styles.css +1 -1
- package/dist/web-ui/embedded-assets.d.ts +413 -420
- package/dist/web-ui/embedded-assets.js +5 -5
- package/dist/web-ui/group-chat-visibility.d.ts +1 -0
- package/dist/web-ui/group-chat-visibility.js +1 -1
- package/dist/web-ui/markdown.js +10 -36
- package/dist/web-ui/message-file-target.d.ts +8 -0
- package/dist/web-ui/message-file-target.js +105 -15
- package/dist/web-ui/page-route.js +2 -0
- package/dist/web-ui/react/local-preview/controller.d.ts +2 -2
- package/dist/web-ui/react/local-preview/controller.js +53 -10
- package/dist/web-ui/react/workspaces/types.d.ts +1 -0
- package/dist/web-ui/server-link-url.d.ts +3 -0
- package/dist/web-ui/server-link-url.js +18 -0
- package/package.json +2 -1
- package/skills/wand-knowledge/SKILL.md +47 -0
- package/skills/wand-knowledge/scripts/knowledge.mjs +18 -0
- package/dist/web-ui/content/modules/0341f0d00f88a16f/chunk.js +0 -1
- package/dist/web-ui/content/modules/069f5a4267b0a9e3/runtime.js +0 -279
- package/dist/web-ui/content/modules/0d62c22b7aed5f1f/host-bridge.js +0 -1
- package/dist/web-ui/content/modules/0da28408ec089cf7/chunk.js +0 -1
- package/dist/web-ui/content/modules/130e8905cc7f639c/toast-region.js +0 -1
- package/dist/web-ui/content/modules/186d6e3b44a3c539/host.js +0 -1
- package/dist/web-ui/content/modules/1870280f0e783c62/chunk.js +0 -4
- package/dist/web-ui/content/modules/19d3bc36fa1e9160/chunk.js +0 -1
- package/dist/web-ui/content/modules/1a0b5db535599f72/chunk.js +0 -1
- package/dist/web-ui/content/modules/1d1dc0fd8a0210aa/composer-surface-adapter.js +0 -1
- package/dist/web-ui/content/modules/23f15023aa2279a3/shell-file-panel-drawer.js +0 -1
- package/dist/web-ui/content/modules/2cab58e5d148844c/host.js +0 -1
- package/dist/web-ui/content/modules/32edeb64dbf339f6/chunk.js +0 -1
- package/dist/web-ui/content/modules/33daaeb4bf68c7ba/chunk.js +0 -9
- package/dist/web-ui/content/modules/37da177222b6308d/workspaces-panel.js +0 -4
- package/dist/web-ui/content/modules/3af7facf8a7588c7/chunk.js +0 -1
- package/dist/web-ui/content/modules/3b95dc1376e932ea/host.js +0 -1
- package/dist/web-ui/content/modules/3cbbad48df7998f8/chunk.js +0 -1
- package/dist/web-ui/content/modules/41cf79c899bc83c8/host.js +0 -1
- package/dist/web-ui/content/modules/444af9de1698eea0/host.js +0 -1
- package/dist/web-ui/content/modules/452327275cc5d8f8/host.js +0 -1
- package/dist/web-ui/content/modules/466310a17dac465f/chunk.js +0 -3
- package/dist/web-ui/content/modules/46f1b6c3274d399b/host.js +0 -1
- package/dist/web-ui/content/modules/47998d82dc65bfeb/sidebar-peek.js +0 -1
- package/dist/web-ui/content/modules/486a828390c5d44d/host.js +0 -30
- package/dist/web-ui/content/modules/4cc15b385bc6cc32/chunk.js +0 -1
- package/dist/web-ui/content/modules/4d5ab67f6c0ce19f/chunk.js +0 -1
- package/dist/web-ui/content/modules/54aaf60ac85dcb2b/chunk.js +0 -1
- package/dist/web-ui/content/modules/54c22eddaf009d00/chunk.js +0 -1
- package/dist/web-ui/content/modules/55b931232c672f4f/chunk.js +0 -1
- package/dist/web-ui/content/modules/583049de28ef2b02/panel.js +0 -1
- package/dist/web-ui/content/modules/5a2a58334d63e127/chunk.js +0 -20
- package/dist/web-ui/content/modules/5ba0668f5a22133b/home.js +0 -6
- package/dist/web-ui/content/modules/5cd5d3d65d966c5f/chunk.js +0 -1
- package/dist/web-ui/content/modules/6b41e59ab342482f/notice-view.js +0 -1
- package/dist/web-ui/content/modules/6b5445f41bef0a66/chunk.js +0 -1
- package/dist/web-ui/content/modules/6e8395f61c89b5aa/chunk.js +0 -1
- package/dist/web-ui/content/modules/6f74cede70164e19/chunk.js +0 -1
- package/dist/web-ui/content/modules/704690f5d6ab9157/chunk.js +0 -1
- package/dist/web-ui/content/modules/7dce56c1987e8d43/chunk.js +0 -29
- package/dist/web-ui/content/modules/80e92c14a6789896/progress.js +0 -1
- package/dist/web-ui/content/modules/8a828b4d087667dd/chunk.js +0 -1
- package/dist/web-ui/content/modules/8d6f223764846e18/brand-identity.js +0 -1
- package/dist/web-ui/content/modules/9136bae16758fd4c/chunk.js +0 -1
- package/dist/web-ui/content/modules/93fa5c35e4bcab96/chunk.js +0 -1
- package/dist/web-ui/content/modules/96fe39f39930d9e4/chunk.js +0 -8
- package/dist/web-ui/content/modules/9db41ad5ac96ffa2/chunk.js +0 -1
- package/dist/web-ui/content/modules/a073cb6d182ccd32/chunk.js +0 -1
- package/dist/web-ui/content/modules/a8cba9f1d6b49ef1/chunk.js +0 -1
- package/dist/web-ui/content/modules/a97b3b9b68f9ca38/chunk.js +0 -57
- package/dist/web-ui/content/modules/ac34ed6692b43ede/dropdown-surface.js +0 -1
- package/dist/web-ui/content/modules/aff19b31898aa157/chunk.js +0 -1
- package/dist/web-ui/content/modules/b2f6e088e6e45878/chunk.js +0 -1
- package/dist/web-ui/content/modules/b4446bf92e182bfb/employee-card.js +0 -1
- package/dist/web-ui/content/modules/b79c15aace456028/chunk.js +0 -6
- package/dist/web-ui/content/modules/b8c18baf7cfb61b1/chat-render.js +0 -76
- package/dist/web-ui/content/modules/b8c447171e3d60a0/chunk.js +0 -1
- package/dist/web-ui/content/modules/b945370f1fa784f9/chunk.js +0 -13
- package/dist/web-ui/content/modules/ba5fa76884e1f806/chunk.js +0 -1
- package/dist/web-ui/content/modules/bb1bb9460cc10fbe/host.js +0 -1
- package/dist/web-ui/content/modules/be7f1f9183a1247f/chunk.js +0 -3
- package/dist/web-ui/content/modules/bf7449bcf95e1454/chunk.js +0 -1
- package/dist/web-ui/content/modules/c091efd46e221c29/chunk.js +0 -1
- package/dist/web-ui/content/modules/c1ec2ebce8ea5dd8/dialog-modal.js +0 -4
- package/dist/web-ui/content/modules/c2f7bb50118f1603/chunk.js +0 -1
- package/dist/web-ui/content/modules/c369ce4eb71277e6/host.js +0 -1
- package/dist/web-ui/content/modules/c46b3501573953e9/chunk.js +0 -1
- package/dist/web-ui/content/modules/c577ad641502d509/panel-host.js +0 -1
- package/dist/web-ui/content/modules/c75976857c18f251/host.js +0 -1
- package/dist/web-ui/content/modules/c8eaffbedda0d3d0/queue-view-adapter.js +0 -3
- package/dist/web-ui/content/modules/cadd26ae50359434/chunk.js +0 -1
- package/dist/web-ui/content/modules/d37ff6684c9aeeec/chunk.js +0 -3
- package/dist/web-ui/content/modules/d48c1f89342bc4bc/workspace-window.js +0 -1
- package/dist/web-ui/content/modules/d859a83f486aab23/chunk.js +0 -15
- package/dist/web-ui/content/modules/d8b258a6455d77da/host.js +0 -5
- package/dist/web-ui/content/modules/d937e939122180b9/host.js +0 -1
- package/dist/web-ui/content/modules/e020beea3e7da7db/chunk.js +0 -1
- package/dist/web-ui/content/modules/e2feda63a603c64e/group-editor.js +0 -1
- package/dist/web-ui/content/modules/e70296674a841d60/chunk.js +0 -1
- package/dist/web-ui/content/modules/ec2f6b23d12d3a15/chunk.js +0 -1
- package/dist/web-ui/content/modules/ede751e1f2500d03/employee-profile.js +0 -1
- package/dist/web-ui/content/modules/ee4301b734e2fd43/chunk.js +0 -1
- package/dist/web-ui/content/modules/f4e6095edc32562c/markdown.js +0 -1
- package/dist/web-ui/content/modules/f7f0710962cab0e0/chunk.js +0 -10
- package/dist/web-ui/content/modules/fe30627fc1e59d4f/chunk.js +0 -1
- package/dist/web-ui/content/modules/ffbd3bcaecd8e814/task-board-host.js +0 -10
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { pendingSessionQuestions, sessionToolQuestions } from "./session-questions.js";
|
|
2
|
+
import { TaskReadModel } from "./task-read-model.js";
|
|
3
|
+
const MAX_SESSIONS = 256;
|
|
4
|
+
const MAX_ITEMS = 512;
|
|
5
|
+
const MAX_TURNS = 128;
|
|
6
|
+
const MAX_BLOCKS = 2048;
|
|
7
|
+
/** Read-only, runtime-backed navigation. No stored transcript hydration, repair, or mutation. */
|
|
8
|
+
export function readTaskActions(storage, registry, workspaceId) {
|
|
9
|
+
const model = new TaskReadModel(storage, registry);
|
|
10
|
+
const tasks = model.tasks.filter(task => task.status !== "archived" && (workspaceId === undefined || task.workspaceId === workspaceId));
|
|
11
|
+
const byId = new Map(tasks.map(task => [task.id, task]));
|
|
12
|
+
const items = new Map();
|
|
13
|
+
let incompleteSources = 0;
|
|
14
|
+
let sessionReads = 0;
|
|
15
|
+
const add = (task, kind, id, reason, source = {}) => {
|
|
16
|
+
const key = JSON.stringify([kind, task.id, id]);
|
|
17
|
+
if (items.has(key))
|
|
18
|
+
return;
|
|
19
|
+
if (items.size >= MAX_ITEMS) {
|
|
20
|
+
incompleteSources++;
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
items.set(key, { key, taskId: task.id, identifier: task.identifier, title: task.title, workspaceId: task.workspaceId,
|
|
24
|
+
kind, reason: reason.slice(0, 4000), source });
|
|
25
|
+
};
|
|
26
|
+
for (const task of tasks) {
|
|
27
|
+
if (!task.acceptance?.acceptedAt) {
|
|
28
|
+
if (task.acceptance?.blocker.trim())
|
|
29
|
+
add(task, "blocker", task.id, task.acceptance.blocker);
|
|
30
|
+
else if (task.status === "done")
|
|
31
|
+
add(task, "review", task.id, task.acceptance?.evidence.trim()
|
|
32
|
+
? "交付已汇总,请查看证据并明确验收。" : "任务已提交确认,尚缺交付证据;请先查看并补齐。");
|
|
33
|
+
}
|
|
34
|
+
for (const slim of model.taskSessions(task)) {
|
|
35
|
+
if (slim.archived || ["failed", "stopped", "exited"].includes(slim.status))
|
|
36
|
+
continue;
|
|
37
|
+
if (++sessionReads > MAX_SESSIONS) {
|
|
38
|
+
incompleteSources++;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
const runtime = registry?.getRuntimeSnapshot(slim.id);
|
|
43
|
+
if (!runtime) {
|
|
44
|
+
// A durable status cannot prove that a request is still current.
|
|
45
|
+
if (slim.permissionBlocked)
|
|
46
|
+
add(task, "permission", slim.id, "源会话有授权提示,请进入核对当前请求。", { sessionId: slim.id });
|
|
47
|
+
if (slim.permissionBlocked || slim.status === "running" || slim.sessionKind === "structured" || slim.providerCliActive)
|
|
48
|
+
incompleteSources++;
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
if (runtime.id !== slim.id || runtime.archived || ["failed", "stopped", "exited"].includes(runtime.status))
|
|
52
|
+
continue;
|
|
53
|
+
const request = runtime.pendingEscalation;
|
|
54
|
+
if (!runtime.autoApprovePermissions && (request || runtime.permissionBlocked))
|
|
55
|
+
add(task, "permission", `${slim.id}:${request?.requestId ?? "legacy"}`, request?.reason || "源会话等待授权,请核对当前请求。", { sessionId: slim.id, ...(request?.requestId ? { requestId: request.requestId } : {}) });
|
|
56
|
+
const messages = runtime.messages ?? [];
|
|
57
|
+
const tail = messages.slice(-MAX_TURNS);
|
|
58
|
+
if (tail.reduce((count, turn) => count + turn.content.length, 0) > MAX_BLOCKS) {
|
|
59
|
+
incompleteSources++;
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
// Earlier turns cannot own a current request once the latest assistant or user text is known.
|
|
63
|
+
if (messages.length > MAX_TURNS && !tail.some(turn => turn.role === "assistant" || turn.role === "user" && turn.content.some(block => block.type === "text" && block.text.trim())))
|
|
64
|
+
incompleteSources++;
|
|
65
|
+
for (const tool of pendingSessionQuestions({ ...runtime, messages: tail })) {
|
|
66
|
+
const reason = sessionToolQuestions(tool).map(question => question.question).filter(Boolean).join(";");
|
|
67
|
+
add(task, "question", `${slim.id}:${tool.id}`, reason || "源会话有当前待回答问题。", { sessionId: slim.id, toolId: tool.id });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// One unavailable owner must not turn all other known actions into an empty inbox.
|
|
72
|
+
incompleteSources++;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
for (const run of storage.listAiTeamRuns({ statuses: ["awaiting_approval", "waiting_user"] })) {
|
|
77
|
+
const task = byId.get(run.taskId) ?? model.cardsByContainer.get(run.taskId);
|
|
78
|
+
if (!task || !byId.has(task.id))
|
|
79
|
+
continue;
|
|
80
|
+
add(task, run.status === "awaiting_approval" ? "plan" : "reply", run.id, run.statusDetail || (run.status === "awaiting_approval" ? "计划需你明确批准后才会执行。" : "负责人正在等待你的回复。"), { runId: run.id });
|
|
81
|
+
}
|
|
82
|
+
// Stable order, not a fabricated wait time; polling cannot reorder equivalent items.
|
|
83
|
+
const priority = { urgent: 0, high: 1, medium: 2, low: 3, none: 4 };
|
|
84
|
+
return { items: [...items.values()].sort((a, b) => priority[byId.get(a.taskId).priority] - priority[byId.get(b.taskId).priority]
|
|
85
|
+
|| a.identifier.localeCompare(b.identifier, "zh", { numeric: true }) || a.key.localeCompare(b.key)), incompleteSources };
|
|
86
|
+
}
|
|
@@ -51,7 +51,7 @@ export declare class TaskExecutionQueue {
|
|
|
51
51
|
private drainLocked;
|
|
52
52
|
private dispatchComment;
|
|
53
53
|
/** 与任务派发共享同一闸门,来源来自服务端手动发送入口。 */
|
|
54
|
-
canStartSession(session: SessionSnapshot, scheduling: EmployeeInputScheduling): boolean;
|
|
54
|
+
canStartSession(session: SessionSnapshot, scheduling: EmployeeInputScheduling, immediate?: boolean): boolean;
|
|
55
55
|
private sessionTaskId;
|
|
56
56
|
private priority;
|
|
57
57
|
private queuedExecutions;
|
|
@@ -188,7 +188,7 @@ export class TaskExecutionQueue {
|
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
/** 与任务派发共享同一闸门,来源来自服务端手动发送入口。 */
|
|
191
|
-
canStartSession(session, scheduling) {
|
|
191
|
+
canStartSession(session, scheduling, immediate = false) {
|
|
192
192
|
if (this.disposed)
|
|
193
193
|
return false;
|
|
194
194
|
if (!session.employeeId)
|
|
@@ -196,6 +196,9 @@ export class TaskExecutionQueue {
|
|
|
196
196
|
const employee = this.deps.storage.getSiliconEmployee(session.employeeId);
|
|
197
197
|
if (!employee || employee.archivedAt)
|
|
198
198
|
throw new Error("硅基员工不存在或已归档。");
|
|
199
|
+
// 「立即发送」是显式用户动作:不再等待并发槽位或排在其它派发之后。
|
|
200
|
+
if (immediate)
|
|
201
|
+
return true;
|
|
199
202
|
const taskId = this.sessionTaskId(session);
|
|
200
203
|
if (!this.hasCapacity(employee, taskId))
|
|
201
204
|
return false;
|
package/dist/task-retention.d.ts
CHANGED
|
@@ -3,11 +3,13 @@ export declare const TASK_RETENTION_MIN_DAYS = 1;
|
|
|
3
3
|
export declare const TASK_RETENTION_MAX_DAYS = 365;
|
|
4
4
|
export declare const DEFAULT_TASK_AUTO_ARCHIVE_DAYS = 7;
|
|
5
5
|
export declare const DEFAULT_TASK_AUTO_DELETE_DAYS = 7;
|
|
6
|
+
/** Only archives created under the acceptance-aware policy may enter automatic deletion. Never backfill legacy rows. */
|
|
7
|
+
export declare const TASK_RETENTION_ARCHIVE_VERSION = 1;
|
|
6
8
|
export interface TaskRetentionSettings {
|
|
7
|
-
/**
|
|
9
|
+
/** 合资格的已验收任务/无保护关联历史空闲达到天数后归档;关闭不影响手动归档。 */
|
|
8
10
|
autoArchiveEnabled: boolean;
|
|
9
11
|
autoArchiveDays: number;
|
|
10
|
-
/**
|
|
12
|
+
/** 仅合资格的新归档及无保护关联历史到期删除;未完成上下文与旧任务归档不自动删除。 */
|
|
11
13
|
autoDeleteEnabled: boolean;
|
|
12
14
|
autoDeleteDays: number;
|
|
13
15
|
}
|
package/dist/task-retention.js
CHANGED
|
@@ -3,6 +3,8 @@ export const TASK_RETENTION_MIN_DAYS = 1;
|
|
|
3
3
|
export const TASK_RETENTION_MAX_DAYS = 365;
|
|
4
4
|
export const DEFAULT_TASK_AUTO_ARCHIVE_DAYS = 7;
|
|
5
5
|
export const DEFAULT_TASK_AUTO_DELETE_DAYS = 7;
|
|
6
|
+
/** Only archives created under the acceptance-aware policy may enter automatic deletion. Never backfill legacy rows. */
|
|
7
|
+
export const TASK_RETENTION_ARCHIVE_VERSION = 1;
|
|
6
8
|
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
7
9
|
export function defaultTaskRetention() {
|
|
8
10
|
return {
|
package/dist/types.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ export type { SessionProvider } from "./provider-catalog.js";
|
|
|
4
4
|
import type { SessionProvider } from "./provider-catalog.js";
|
|
5
5
|
/** "claude-sdk" 是历史值:SDK 执行路径已移除,读旧会话时归一为 claude-cli-print。 */
|
|
6
6
|
export type SessionRunner = "claude-cli" | "claude-cli-print" | "claude-sdk" | "codex-cli-exec" | "opencode-cli-run" | "grok-cli-headless" | "qoder-cli-print" | "pi-cli-json" | "pty";
|
|
7
|
-
|
|
7
|
+
/** quick-terminal is a retained shell owned by the detail panel, excluded only from work-list projections. */
|
|
8
|
+
export type SessionSource = "interactive" | "automation" | "startup" | "quick-terminal";
|
|
8
9
|
export type ExecutionMode = "assist" | "agent" | "agent-max" | "default" | "auto-edit" | "full-access" | "native" | "managed";
|
|
9
10
|
export type AutonomyPolicy = "assist" | "agent" | "agent-max";
|
|
10
11
|
export type ApprovalPolicy = "ask-every-time" | "approve-once" | "remember-this-turn";
|