@co0ontty/wand 4.89.5 → 4.90.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.
Files changed (197) hide show
  1. package/README.md +5 -3
  2. package/dist/agent-dispatch.js +4 -9
  3. package/dist/ai-team-employee-binding.js +10 -9
  4. package/dist/ai-team-runner.d.ts +2 -1
  5. package/dist/ai-team-runner.js +38 -2
  6. package/dist/ai-team-types.js +3 -2
  7. package/dist/ai-text-runner.d.ts +61 -0
  8. package/dist/ai-text-runner.js +653 -0
  9. package/dist/avatar-input.d.ts +2 -0
  10. package/dist/avatar-input.js +19 -0
  11. package/dist/bounded-process-output.d.ts +5 -0
  12. package/dist/bounded-process-output.js +9 -0
  13. package/dist/build-info.json +3 -3
  14. package/dist/command-error.d.ts +6 -0
  15. package/dist/command-error.js +8 -0
  16. package/dist/config.js +11 -42
  17. package/dist/conversation-service.d.ts +12 -2
  18. package/dist/conversation-service.js +104 -25
  19. package/dist/conversation-session-preview.d.ts +2 -0
  20. package/dist/conversation-session-preview.js +4 -0
  21. package/dist/decision-client.js +22 -6
  22. package/dist/decision-expert-employee.js +2 -2
  23. package/dist/decision-expert-identity.d.ts +1 -1
  24. package/dist/decision-expert-identity.js +1 -1
  25. package/dist/decision-expert-service.d.ts +1 -0
  26. package/dist/decision-expert-service.js +82 -76
  27. package/dist/decision-hardware.js +4 -3
  28. package/dist/decision-types.d.ts +4 -0
  29. package/dist/decision-types.js +4 -0
  30. package/dist/deployment-lock.d.ts +13 -0
  31. package/dist/deployment-lock.js +189 -0
  32. package/dist/employee-text.js +1 -1
  33. package/dist/fixed-employee-avatar.d.ts +7 -0
  34. package/dist/fixed-employee-avatar.js +13 -0
  35. package/dist/git-quick-commit.d.ts +5 -40
  36. package/dist/git-quick-commit.js +8 -636
  37. package/dist/hr-employee-identity.d.ts +5 -0
  38. package/dist/hr-employee-identity.js +5 -0
  39. package/dist/hr-employee.d.ts +5 -0
  40. package/dist/hr-employee.js +21 -0
  41. package/dist/middleware/path-safety.js +1 -1
  42. package/dist/milestone-scope.js +1 -1
  43. package/dist/model-auto-assign.d.ts +1 -1
  44. package/dist/model-auto-assign.js +1 -1
  45. package/dist/models.d.ts +4 -0
  46. package/dist/models.js +21 -1
  47. package/dist/npm-update-utils.js +5 -44
  48. package/dist/pi-auto-resources.js +6 -3
  49. package/dist/plush-avatar.d.ts +10 -1
  50. package/dist/plush-avatar.js +13 -1
  51. package/dist/plush-cat-appearance.d.ts +97 -0
  52. package/dist/plush-cat-appearance.js +118 -0
  53. package/dist/plush-cat-whiskers.d.ts +6 -0
  54. package/dist/plush-cat-whiskers.js +42 -0
  55. package/dist/process-manager.d.ts +22 -21
  56. package/dist/process-manager.js +49 -83
  57. package/dist/prompt-optimizer.d.ts +1 -1
  58. package/dist/prompt-optimizer.js +1 -1
  59. package/dist/render-host.js +1 -19
  60. package/dist/scheduled-task-service.d.ts +41 -0
  61. package/dist/scheduled-task-service.js +294 -0
  62. package/dist/scheduled-task-state.d.ts +11 -0
  63. package/dist/scheduled-task-state.js +65 -0
  64. package/dist/scheduled-task-time.d.ts +4 -0
  65. package/dist/scheduled-task-time.js +82 -0
  66. package/dist/scheduled-task-types.d.ts +71 -0
  67. package/dist/scheduled-task-types.js +1 -0
  68. package/dist/server-ai-team-routes.js +3 -17
  69. package/dist/server-employee-routes.d.ts +3 -0
  70. package/dist/server-employee-routes.js +20 -38
  71. package/dist/server-file-routes.js +44 -1
  72. package/dist/server-pi-recommendation-routes.js +13 -4
  73. package/dist/server-request.d.ts +2 -0
  74. package/dist/server-request.js +9 -0
  75. package/dist/server-resume-routes.js +1 -1
  76. package/dist/server-scheduled-task-routes.d.ts +4 -0
  77. package/dist/server-scheduled-task-routes.js +34 -0
  78. package/dist/server-session-routes.d.ts +5 -13
  79. package/dist/server-session-routes.js +35 -70
  80. package/dist/server-task-routes.d.ts +6 -21
  81. package/dist/server-task-routes.js +25 -120
  82. package/dist/server-team-dispatch-routes.js +12 -2
  83. package/dist/server-workspace-routes.d.ts +1 -1
  84. package/dist/server-workspace-routes.js +33 -78
  85. package/dist/server.js +55 -20
  86. package/dist/session-model.d.ts +15 -0
  87. package/dist/session-model.js +23 -0
  88. package/dist/session-registry.d.ts +5 -1
  89. package/dist/session-registry.js +20 -11
  90. package/dist/session-request.d.ts +9 -0
  91. package/dist/session-request.js +27 -0
  92. package/dist/session-topic.d.ts +1 -1
  93. package/dist/session-topic.js +1 -1
  94. package/dist/session-transport.d.ts +3 -1
  95. package/dist/session-transport.js +11 -5
  96. package/dist/silicon-employee-draft.d.ts +2 -2
  97. package/dist/silicon-employee-draft.js +3 -3
  98. package/dist/socket-probe.d.ts +2 -0
  99. package/dist/socket-probe.js +20 -0
  100. package/dist/storage-schedules.d.ts +20 -0
  101. package/dist/storage-schedules.js +78 -0
  102. package/dist/storage-schema.d.ts +3 -0
  103. package/dist/storage-schema.js +702 -0
  104. package/dist/storage.d.ts +42 -8
  105. package/dist/storage.js +182 -715
  106. package/dist/structured-claude-adapter.js +12 -0
  107. package/dist/structured-claude-protocol.d.ts +4 -0
  108. package/dist/structured-claude-protocol.js +18 -4
  109. package/dist/structured-codex-adapter.js +11 -0
  110. package/dist/structured-exec-pump.js +79 -38
  111. package/dist/structured-failure.d.ts +21 -0
  112. package/dist/structured-failure.js +14 -0
  113. package/dist/structured-gemini-adapter.js +12 -2
  114. package/dist/structured-grok-adapter.js +12 -2
  115. package/dist/structured-opencode-adapter.js +8 -1
  116. package/dist/structured-qoder-adapter.js +14 -0
  117. package/dist/structured-session-manager.d.ts +13 -18
  118. package/dist/structured-session-manager.js +147 -517
  119. package/dist/system-employee.d.ts +1 -1
  120. package/dist/system-employee.js +1 -1
  121. package/dist/task-archive-policy.js +1 -1
  122. package/dist/task-read-model.d.ts +27 -0
  123. package/dist/task-read-model.js +47 -0
  124. package/dist/task-retention.d.ts +1 -1
  125. package/dist/task-retention.js +1 -1
  126. package/dist/task-title-service.d.ts +30 -0
  127. package/dist/task-title-service.js +122 -0
  128. package/dist/task-title.d.ts +1 -1
  129. package/dist/task-title.js +1 -1
  130. package/dist/terminal-daemon-client.js +1 -18
  131. package/dist/user-memory.js +1 -1
  132. package/dist/web-ui/asset-runtime.d.ts +12 -0
  133. package/dist/web-ui/asset-runtime.js +6 -0
  134. package/dist/web-ui/composer-avatar-activity.d.ts +6 -0
  135. package/dist/web-ui/composer-avatar-activity.js +29 -0
  136. package/dist/web-ui/content/ai-teams.js +13 -13
  137. package/dist/web-ui/content/module-manifest.json +1 -0
  138. package/dist/web-ui/content/modules/5478be410b112154/chat-render-PY6DIXNZ.js +24 -0
  139. package/dist/web-ui/content/modules/5478be410b112154/chunk-2YZLCGYN.js +1 -0
  140. package/dist/web-ui/content/modules/5478be410b112154/chunk-6CFHW3FA.js +111 -0
  141. package/dist/web-ui/content/modules/5478be410b112154/chunk-6XQEBIEX.js +1 -0
  142. package/dist/web-ui/content/modules/5478be410b112154/chunk-DDSO7OX7.js +1 -0
  143. package/dist/web-ui/content/modules/5478be410b112154/chunk-G3CXNMA2.js +20 -0
  144. package/dist/web-ui/content/modules/5478be410b112154/chunk-LGVAPHRS.js +36 -0
  145. package/dist/web-ui/content/modules/5478be410b112154/chunk-NURCNMRU.js +1 -0
  146. package/dist/web-ui/content/modules/5478be410b112154/chunk-PCMFGZKX.js +1 -0
  147. package/dist/web-ui/content/modules/5478be410b112154/chunk-QRNA4D7E.js +1 -0
  148. package/dist/web-ui/content/modules/5478be410b112154/chunk-TMRPHNJO.js +1 -0
  149. package/dist/web-ui/content/modules/5478be410b112154/chunk-WC7RK7LP.js +1 -0
  150. package/dist/web-ui/content/modules/5478be410b112154/chunk-YOXXNXOX.js +2 -0
  151. package/dist/web-ui/content/modules/5478be410b112154/chunk-YX475LXO.js +1 -0
  152. package/dist/web-ui/content/modules/5478be410b112154/employee-card-MDWKU4V3.js +1 -0
  153. package/dist/web-ui/content/modules/5478be410b112154/host-56WPSON2.js +1 -0
  154. package/dist/web-ui/content/modules/5478be410b112154/host-5QOHKHNC.js +1 -0
  155. package/dist/web-ui/content/modules/5478be410b112154/host-AWIJ5L2K.js +1 -0
  156. package/dist/web-ui/content/modules/5478be410b112154/host-BOZLGIT5.js +69 -0
  157. package/dist/web-ui/content/modules/5478be410b112154/host-EZV22Q7Y.js +4 -0
  158. package/dist/web-ui/content/modules/5478be410b112154/host-IW43Z5ZF.js +1 -0
  159. package/dist/web-ui/content/modules/5478be410b112154/host-JT7NIUQL.js +1 -0
  160. package/dist/web-ui/content/modules/5478be410b112154/host-JWEIDB55.js +3 -0
  161. package/dist/web-ui/content/modules/5478be410b112154/host-OU5TRYH6.js +2 -0
  162. package/dist/web-ui/content/modules/5478be410b112154/host-PRSTCPVE.js +5 -0
  163. package/dist/web-ui/content/modules/5478be410b112154/host-TWPJI3HE.js +1 -0
  164. package/dist/web-ui/content/modules/5478be410b112154/host-WZGJSNML.js +1 -0
  165. package/dist/web-ui/content/modules/5478be410b112154/host-X6KQVFD6.js +1 -0
  166. package/dist/web-ui/content/modules/5478be410b112154/host-YKCQFMQR.js +1 -0
  167. package/dist/web-ui/content/modules/5478be410b112154/host-bridge-2LZX6UUZ.js +1 -0
  168. package/dist/web-ui/content/modules/5478be410b112154/library-bridge-MQFJGTGY.js +4 -0
  169. package/dist/web-ui/content/modules/5478be410b112154/page-T3VUCU2W.js +3 -0
  170. package/dist/web-ui/content/modules/5478be410b112154/panel-HJBGBBPY.js +1 -0
  171. package/dist/web-ui/content/modules/5478be410b112154/runtime.js +920 -0
  172. package/dist/web-ui/content/modules/5478be410b112154/sha256-ANXV72UC.js +1 -0
  173. package/dist/web-ui/content/modules/5478be410b112154/task-board-host-AVMDIHIV.js +2 -0
  174. package/dist/web-ui/content/modules/5478be410b112154/workspace-agent-picker-KI7QVSK3.js +1 -0
  175. package/dist/web-ui/content/modules/5478be410b112154/workspace-window-L542FGP2.js +1 -0
  176. package/dist/web-ui/content/plush-avatar.js +177 -177
  177. package/dist/web-ui/content/scripts.js +1 -994
  178. package/dist/web-ui/content/styles.css +1 -1
  179. package/dist/web-ui/content/tailwind.css +1 -1
  180. package/dist/web-ui/embedded-assets.d.ts +32 -0
  181. package/dist/web-ui/embedded-assets.js +10 -8
  182. package/dist/web-ui/markdown.d.ts +3 -2
  183. package/dist/web-ui/markdown.js +61 -48
  184. package/dist/web-ui/message-file-target.d.ts +13 -0
  185. package/dist/web-ui/message-file-target.js +85 -0
  186. package/dist/web-ui/provider-identity.d.ts +1 -1
  187. package/dist/web-ui/provider-identity.js +3 -4
  188. package/dist/web-ui/react/local-preview/controller.d.ts +2 -0
  189. package/dist/web-ui/react/local-preview/controller.js +12 -0
  190. package/dist/web-ui/scripts.d.ts +10 -0
  191. package/dist/web-ui/scripts.js +42 -5
  192. package/package.json +6 -3
  193. package/browser-extension/icons/wand-128.png +0 -0
  194. package/browser-extension/icons/wand-16.png +0 -0
  195. package/browser-extension/icons/wand-32.png +0 -0
  196. package/browser-extension/icons/wand-48.png +0 -0
  197. package/dist/web-ui/content/licenses/codex-LICENSE.txt +0 -21
package/dist/storage.d.ts CHANGED
@@ -1,13 +1,14 @@
1
- import { type ConversationInstance, type ConversationRequest } from "./conversation-types.js";
2
- import { SessionSnapshot, ConversationTurn, SessionProvider, StructuredSessionState, Workspace, LayoutNode, TaskWindowLayout, WorkspaceDefaultProvider, WorkspaceKind, WorkspaceTask, WorkspaceTaskWorktree, WorkspaceTaskStatus } from "./types.js";
3
- import { type PiSessionSettings } from "./pi-session-settings.js";
4
1
  import type { AiTeam, AiTeamRun, AiTeamRunChatMarker, AiTeamRunStatus, AiTeamStep, AiTeamStepSessionMarker, CandidateFailureKind, SiliconEmployee, StepDispatchInfo } from "./ai-team-types.js";
5
- import type { WandTask, WandTaskAgent, WandTaskAgentKind, WandTaskTitleSource } from "./task-types.js";
6
- import { type SystemEmployeeSeed } from "./system-employee.js";
2
+ import { type ConversationInstance, type ConversationRequest } from "./conversation-types.js";
7
3
  import { type EmployeeKnowledgeEntry } from "./employee-knowledge-types.js";
8
- import { type UserMemoryEvent, type UserMemoryProfile, type UserMemoryState } from "./user-memory-types.js";
9
4
  import type { AgentActivityItem, Mission, MissionAttempt, MissionReviewComment, MissionReviewStatus, MissionStatus } from "./mission-types.js";
10
5
  import { type PasswordVault, type PasswordVaultItem, type PasswordVaultItemFilter, type PasswordVaultItemInput } from "./password-manager.js";
6
+ import { type PiSessionSettings } from "./pi-session-settings.js";
7
+ import { ScheduledTaskRepository } from "./storage-schedules.js";
8
+ import { type SystemEmployeeSeed } from "./system-employee.js";
9
+ import type { WandTask, WandTaskAgent, WandTaskAgentKind, WandTaskTitleSource } from "./task-types.js";
10
+ import { ConversationTurn, LayoutNode, SessionProvider, SessionSnapshot, StructuredSessionState, TaskWindowLayout, Workspace, WorkspaceDefaultProvider, WorkspaceKind, WorkspaceTask, WorkspaceTaskStatus, WorkspaceTaskWorktree } from "./types.js";
11
+ import { type UserMemoryEvent, type UserMemoryProfile, type UserMemoryState } from "./user-memory-types.js";
11
12
  /** `ai_team_runs.run_state_json`:本次运行的候选黑名单(§3.4 修正 B12 两层键值 + host-disabled)。 */
12
13
  export interface AiTeamRunState {
13
14
  /** spawn-missing:该 provider 的候选全部直接跳过。 */
@@ -46,7 +47,7 @@ export interface PersistedAuthSession {
46
47
  principal: AuthPrincipal;
47
48
  }
48
49
  export declare function resolveDatabasePath(configPath: string): string;
49
- export declare function ensureDatabaseFile(dbPath: string): boolean;
50
+ export { ensureDatabaseFile } from "./storage-schema.js";
50
51
  interface CreateWandTaskInput {
51
52
  workspaceId?: string | null;
52
53
  workspaceTaskId?: string | null;
@@ -64,7 +65,19 @@ interface CreateWandTaskInput {
64
65
  }
65
66
  type WandTaskPatch = Partial<Pick<WandTask, "workspaceId" | "workspaceTaskId" | "parentTaskId" | "title" | "titleSource" | "autoTitleSignature" | "description" | "status" | "priority" | "labels" | "dueDate" | "milestoneId" | "sortOrder" | "agent" | "executionSubject">>;
66
67
  export declare class WandStorage {
68
+ private readonly closeListeners;
69
+ private readonly taskTitleListeners;
70
+ private titleNoticePending;
71
+ private closed;
72
+ private readonly projectionEpoch;
73
+ /** Exact conservative invalidation: own writes + writes from other SQLite connections. */
74
+ projectionRevision(): string;
75
+ onClose(listener: () => void): () => void;
76
+ onTaskTitleChange(listener: () => void): () => void;
77
+ /** Coalesce synchronous writes; observers read only after the transaction settles. */
78
+ notifyTaskTitleChange(): void;
67
79
  private readonly db;
80
+ private readonly schedules;
68
81
  private readonly dbPath;
69
82
  private memoryCapture;
70
83
  constructor(dbPath: string);
@@ -76,6 +89,17 @@ export declare class WandStorage {
76
89
  * be nested because SQLite does not support a second BEGIN on this connection.
77
90
  */
78
91
  transaction<T>(action: () => T): T;
92
+ listScheduledTasks(...args: Parameters<ScheduledTaskRepository["listScheduledTasks"]>): ReturnType<ScheduledTaskRepository["listScheduledTasks"]>;
93
+ listDueScheduledTasks(...args: Parameters<ScheduledTaskRepository["listDueScheduledTasks"]>): ReturnType<ScheduledTaskRepository["listDueScheduledTasks"]>;
94
+ getScheduledTask(...args: Parameters<ScheduledTaskRepository["getScheduledTask"]>): ReturnType<ScheduledTaskRepository["getScheduledTask"]>;
95
+ createScheduledTask(...args: Parameters<ScheduledTaskRepository["createScheduledTask"]>): ReturnType<ScheduledTaskRepository["createScheduledTask"]>;
96
+ updateScheduledTask(...args: Parameters<ScheduledTaskRepository["updateScheduledTask"]>): ReturnType<ScheduledTaskRepository["updateScheduledTask"]>;
97
+ claimScheduledTaskRun(...args: Parameters<ScheduledTaskRepository["claimScheduledTaskRun"]>): ReturnType<ScheduledTaskRepository["claimScheduledTaskRun"]>;
98
+ saveScheduledTaskRun(...args: Parameters<ScheduledTaskRepository["saveScheduledTaskRun"]>): ReturnType<ScheduledTaskRepository["saveScheduledTaskRun"]>;
99
+ getScheduledTaskRun(...args: Parameters<ScheduledTaskRepository["getScheduledTaskRun"]>): ReturnType<ScheduledTaskRepository["getScheduledTaskRun"]>;
100
+ listOpenScheduledTaskRuns(...args: Parameters<ScheduledTaskRepository["listOpenScheduledTaskRuns"]>): ReturnType<ScheduledTaskRepository["listOpenScheduledTaskRuns"]>;
101
+ getOpenScheduledTaskRunsForSession(...args: Parameters<ScheduledTaskRepository["getOpenScheduledTaskRunsForSession"]>): ReturnType<ScheduledTaskRepository["getOpenScheduledTaskRunsForSession"]>;
102
+ listScheduledTaskRuns(...args: Parameters<ScheduledTaskRepository["listScheduledTaskRuns"]>): ReturnType<ScheduledTaskRepository["listScheduledTaskRuns"]>;
79
103
  conversationListState(id: string): {
80
104
  pinnedAt: string | null;
81
105
  dissolvedAt: string | null;
@@ -111,6 +135,13 @@ export declare class WandStorage {
111
135
  conversationTaskStartup(taskId: string): ConversationRequest["receipt"] | null;
112
136
  appendConversationEvent(id: string, turn: ConversationTurn): void;
113
137
  conversationEvents(id: string): ConversationTurn[];
138
+ /** List preview only needs the newest event, not the whole transcript. */
139
+ lastConversationEvent(id: string): ConversationTurn | null;
140
+ /**
141
+ * One turn from the persisted JSON array. Avoids materializing the transcript in the list path.
142
+ * Append-only sessions keep the comparator-max at the tail; role walks backward from that tail.
143
+ */
144
+ lastSessionTurn(id: string, role?: "user" | "assistant"): ConversationTurn | null;
114
145
  getConversationRequest(id: string): ConversationRequest | null;
115
146
  saveConversationRequest(request: ConversationRequest): void;
116
147
  /** Get a config value from database */
@@ -167,6 +198,7 @@ export declare class WandStorage {
167
198
  cascade?: boolean;
168
199
  }): void;
169
200
  listSessionsByWorkspace(workspaceId: string): SessionSnapshot[];
201
+ listSessionsByWorkspaceSlim(workspaceId: string): SessionSnapshot[];
170
202
  /** 显式更新某会话的工作空间归属(用于创建时绑定)。 */
171
203
  getSessionWorkspace(sessionId: string): Pick<SessionSnapshot, "workspaceId" | "workspaceTaskId"> | null;
172
204
  /** 空白独立会话的目录与项目归属一次落库;创建新项目失败也随事务回滚。 */
@@ -186,6 +218,7 @@ export declare class WandStorage {
186
218
  }>;
187
219
  /** Both task DTOs read one set of task metadata; containers own only local layout/worktree. */
188
220
  listWorkspaceTasks(workspaceId: string): WorkspaceTask[];
221
+ listAllWorkspaceTasks(): WorkspaceTask[];
189
222
  getWorkspaceTask(id: string): WorkspaceTask | null;
190
223
  private insertWorkspaceTask;
191
224
  private taskMilestoneForWrite;
@@ -399,6 +432,8 @@ export declare class WandStorage {
399
432
  ensureDecisionExpertEmployee(): SiliconEmployee;
400
433
  /** Seed the SDK free group once, then preserve independent user choices. */
401
434
  ensureSpeechPolisherEmployee(): SiliconEmployee;
435
+ /** HR owns recruitment independently; seed from configured system candidates once. */
436
+ ensureHrEmployee(seedAgents?: WandTaskAgent[]): SiliconEmployee;
402
437
  saveSiliconEmployee(employee: SiliconEmployee): void;
403
438
  /** Explicit, atomic migration; not called from GET, config load, seeds, or ordinary saves.
404
439
  * Compare all expected avatar values first; change only avatar, including preserving timestamps.
@@ -538,4 +573,3 @@ export declare class WandStorage {
538
573
  export declare function parseStepDispatchInfo(raw: unknown): StepDispatchInfo;
539
574
  /** `ai_team_runs.run_state_json` 的读侧校验(§3.4);脏值退化成空黑名单。 */
540
575
  export declare function parseAiTeamRunState(raw: unknown): AiTeamRunState;
541
- export {};