wezard 2.6.2 → 2.6.3

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 (71) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/config.example.jsonc +3 -1
  3. package/dist/daemon/answer-transfer.js +56 -0
  4. package/dist/daemon/answer-transfer.js.map +1 -0
  5. package/dist/daemon/approval.js +1 -1
  6. package/dist/daemon/approval.js.map +1 -1
  7. package/dist/daemon/cfg-sync.js +1 -1
  8. package/dist/daemon/cfg-sync.js.map +1 -1
  9. package/dist/daemon/chat-name.js +4 -4
  10. package/dist/daemon/chat-name.js.map +1 -1
  11. package/dist/daemon/config-api.js +2 -2
  12. package/dist/daemon/config-api.js.map +1 -1
  13. package/dist/daemon/image-input.js +34 -0
  14. package/dist/daemon/image-input.js.map +1 -0
  15. package/dist/daemon/inbound.js +4 -11
  16. package/dist/daemon/inbound.js.map +1 -1
  17. package/dist/daemon/index.js +880 -280
  18. package/dist/daemon/index.js.map +1 -1
  19. package/dist/daemon/jobs.js +32 -13
  20. package/dist/daemon/jobs.js.map +1 -1
  21. package/dist/daemon/last-response.js +16 -6
  22. package/dist/daemon/last-response.js.map +1 -1
  23. package/dist/daemon/message-format.js +40 -0
  24. package/dist/daemon/message-format.js.map +1 -0
  25. package/dist/daemon/mirror-bridge.js +673 -295
  26. package/dist/daemon/mirror-bridge.js.map +1 -1
  27. package/dist/daemon/pane-input.js +48 -0
  28. package/dist/daemon/pane-input.js.map +1 -0
  29. package/dist/daemon/peers.js +15 -14
  30. package/dist/daemon/peers.js.map +1 -1
  31. package/dist/daemon/pending-items.js +8 -0
  32. package/dist/daemon/pending-items.js.map +1 -1
  33. package/dist/daemon/receipts.js +346 -120
  34. package/dist/daemon/receipts.js.map +1 -1
  35. package/dist/daemon/scheduled-delivery.js +52 -0
  36. package/dist/daemon/scheduled-delivery.js.map +1 -0
  37. package/dist/daemon/steward-model.js +10 -10
  38. package/dist/daemon/steward-model.js.map +1 -1
  39. package/dist/daemon/tasks.js +83 -27
  40. package/dist/daemon/tasks.js.map +1 -1
  41. package/dist/daemon/tmux-buffer.js +16 -6
  42. package/dist/daemon/tmux-buffer.js.map +1 -1
  43. package/dist/daemon/weixin-cmd.js +2 -4
  44. package/dist/daemon/weixin-cmd.js.map +1 -1
  45. package/dist/daemon/wizard.js +2 -1
  46. package/dist/daemon/wizard.js.map +1 -1
  47. package/dist/daemon/workflow-nodes.js +217 -0
  48. package/dist/daemon/workflow-nodes.js.map +1 -0
  49. package/dist/daemon/workflow-plan-http.js +83 -0
  50. package/dist/daemon/workflow-plan-http.js.map +1 -0
  51. package/dist/daemon/workflow-plans.js +274 -0
  52. package/dist/daemon/workflow-plans.js.map +1 -0
  53. package/dist/mcp/server.js +27 -1
  54. package/dist/mcp/server.js.map +1 -1
  55. package/dist/shared/config.js +12 -10
  56. package/dist/shared/config.js.map +1 -1
  57. package/dist/shared/json-map-store.js +46 -9
  58. package/dist/shared/json-map-store.js.map +1 -1
  59. package/dist/shared/keyed-scheduler.js +51 -0
  60. package/dist/shared/keyed-scheduler.js.map +1 -0
  61. package/dist/shared/message-footer.js +34 -0
  62. package/dist/shared/message-footer.js.map +1 -0
  63. package/dist/shared/model-tiers.js +1 -2
  64. package/dist/shared/model-tiers.js.map +1 -1
  65. package/dist/shared/reminder.js +3 -0
  66. package/dist/shared/reminder.js.map +1 -1
  67. package/dist/shared/session-label.js +19 -1
  68. package/dist/shared/session-label.js.map +1 -1
  69. package/dist/shared/workflow-plan.js +36 -0
  70. package/dist/shared/workflow-plan.js.map +1 -0
  71. package/package.json +1 -1
@@ -0,0 +1,36 @@
1
+ // A fixed segment of work; decisions and acceptance remain with its owner.
2
+ import { z } from "zod";
3
+ import { isAbsolute } from "node:path";
4
+ import { TIERS } from "./config.js";
5
+ export const WorkflowPlanNodeSchema = z.object({
6
+ id: z.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]{0,39}$/),
7
+ task: z.string().trim().min(1).max(24000),
8
+ tier: z.enum(TIERS),
9
+ after: z.array(z.string()).max(4).optional(),
10
+ criteria: z.string().trim().min(1).max(4000).optional(),
11
+ }).strict();
12
+ export const WorkflowPlanInputSchema = z.object({
13
+ version: z.literal(1),
14
+ job: z.string().trim().min(1),
15
+ cwd: z.string().refine(isAbsolute, "cwd must be absolute"),
16
+ maxConcurrency: z.literal(1).default(1),
17
+ nodes: z.array(WorkflowPlanNodeSchema).min(1).max(5),
18
+ }).strict();
19
+ export const WorkflowPlanSchema = WorkflowPlanInputSchema.superRefine((p, ctx) => {
20
+ // Invalid oversized input must not enter the dependency walk.
21
+ if (p.nodes.length > 5 || p.nodes.some((n) => (n.after?.length ?? 0) > 4))
22
+ return;
23
+ const ids = p.nodes.map((n) => n.id);
24
+ if (new Set(ids).size !== ids.length)
25
+ ctx.addIssue({ code: "custom", message: "duplicate node id" });
26
+ p.nodes.forEach((n) => {
27
+ const deps = n.after ?? [];
28
+ if (new Set(deps).size !== deps.length || deps.some((id) => !ids.includes(id) || id === n.id))
29
+ ctx.addIssue({ code: "custom", message: `invalid dependencies for ${n.id}` });
30
+ });
31
+ const cyclic = (id, trail) => trail.includes(id)
32
+ || (p.nodes.find((n) => n.id === id)?.after ?? []).some((dep) => cyclic(dep, [...trail, id]));
33
+ if (ids.some((id) => cyclic(id, [])))
34
+ ctx.addIssue({ code: "custom", message: "dependency cycle" });
35
+ });
36
+ //# sourceMappingURL=workflow-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-plan.js","sourceRoot":"","sources":["../../shared/workflow-plan.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wezard",
3
- "version": "2.6.2",
3
+ "version": "2.6.3",
4
4
  "description": "Bridge Claude Code and WeCom: PreToolUse approval cards + bidirectional tmux session mirror with image paste",
5
5
  "type": "module",
6
6
  "license": "MIT",