@staix/agent-hub 0.23.1 → 0.25.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 (95) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +32 -5
  3. package/docs/agent-notes/adapters.md +5 -2
  4. package/docs/agent-notes/bus.md +1 -0
  5. package/docs/agent-notes/daemon.md +16 -2
  6. package/docs/agent-notes/tasks.md +9 -2
  7. package/docs/agent-notes/tests.md +3 -0
  8. package/docs/dogfood.md +16 -2
  9. package/docs/memory.md +1 -1
  10. package/docs/operations.md +198 -5
  11. package/docs/profiles.md +2 -0
  12. package/docs/quickstart.md +19 -4
  13. package/docs/security.md +225 -8
  14. package/docs/specs/2026-09-19-agent-hub-design.md +54 -1
  15. package/docs/specs/2026-09-19-multi-project-design.md +12 -1
  16. package/docs/specs/2026-11-01-research-campaigns-design.md +351 -0
  17. package/docs/verification/2026-10-31-0.24.0.md +63 -0
  18. package/docs/verification/2026-10-31-claude-implementer-2.1.316.md +65 -0
  19. package/docs/verification/2026-11-01-0.25.0.md +91 -0
  20. package/docs/verification/claude-shell-wrapper-native.py +1 -1
  21. package/docs/verified.json +31 -15
  22. package/package.json +4 -3
  23. package/plugins/agent-hub/.claude-plugin/plugin.json +1 -1
  24. package/plugins/agent-hub/server.js +5120 -4710
  25. package/src/adapters/claude-channel.ts +29 -6
  26. package/src/adapters/compat.ts +3 -3
  27. package/src/adapters/definitions/native-cli-claude-setup.ts +4 -0
  28. package/src/adapters/definitions/native-cli-doctor.ts +30 -0
  29. package/src/adapters/jcode.ts +3 -0
  30. package/src/adapters/registry.ts +1 -1
  31. package/src/cli/acon-register.ts +29 -0
  32. package/src/cli/autonomy-homes.ts +33 -0
  33. package/src/cli/autonomy-offline.ts +75 -0
  34. package/src/cli/autonomy-projects.ts +103 -0
  35. package/src/cli/autonomy.ts +44 -0
  36. package/src/cli/claude-homes.ts +123 -0
  37. package/src/cli/claude-profile-hook.ts +130 -0
  38. package/src/cli/handoff-args.ts +27 -0
  39. package/src/cli/handoff-output.ts +25 -0
  40. package/src/cli/help.ts +8 -4
  41. package/src/cli/identity.ts +8 -1
  42. package/src/cli/main.ts +174 -33
  43. package/src/cli/output.ts +8 -5
  44. package/src/cli/schedule-output.ts +8 -4
  45. package/src/cli/setup-homes.ts +46 -0
  46. package/src/cli/setup.ts +1 -1
  47. package/src/cli/study-output.ts +71 -0
  48. package/src/cli/study.ts +58 -0
  49. package/src/cli/task-output.ts +1 -0
  50. package/src/hub/action-class.ts +203 -14
  51. package/src/hub/action-enforce.ts +8 -6
  52. package/src/hub/action-policy.ts +95 -9
  53. package/src/hub/autonomy-consent.ts +173 -0
  54. package/src/hub/autonomy-defaults.ts +58 -0
  55. package/src/hub/autonomy.ts +232 -0
  56. package/src/hub/board.ts +871 -2
  57. package/src/hub/channel-project.ts +61 -0
  58. package/src/hub/config-apply.ts +3 -2
  59. package/src/hub/confirmation-matrix.ts +202 -0
  60. package/src/hub/control-client.ts +10 -1
  61. package/src/hub/daemon.ts +546 -27
  62. package/src/hub/envelope.ts +2 -0
  63. package/src/hub/events.ts +4 -1
  64. package/src/hub/execution-budget.ts +12 -0
  65. package/src/hub/handoff.ts +126 -0
  66. package/src/hub/hub-tools.ts +12 -2
  67. package/src/hub/manager.ts +64 -57
  68. package/src/hub/no-writes.ts +1 -1
  69. package/src/hub/path-policy.ts +12 -8
  70. package/src/hub/project.ts +14 -5
  71. package/src/hub/provenance.ts +30 -0
  72. package/src/hub/research-campaign.ts +265 -0
  73. package/src/hub/research-experiments.ts +445 -0
  74. package/src/hub/restart.ts +26 -0
  75. package/src/hub/schedules.ts +210 -9
  76. package/src/hub/session-identity.ts +49 -0
  77. package/src/hub/settings.ts +105 -8
  78. package/src/hub/task-repository.ts +11 -6
  79. package/src/hub/tasks.ts +894 -22
  80. package/src/hub/ui.ts +15 -6
  81. package/src/memory/capture.ts +2 -2
  82. package/src/ui/index.html +5 -3
  83. package/src/ui/office-space.ts +118 -0
  84. package/src/ui/plugin.ts +293 -0
  85. package/templates/AGENTS.block.md +1 -0
  86. package/templates/presets/autonomous.json +161 -0
  87. package/templates/presets/confirmation-matrix.json +943 -0
  88. package/templates/profiles/general.json +1 -1
  89. package/templates/profiles/research.json +4 -4
  90. package/templates/profiles/writing.json +1 -1
  91. package/templates/roles/research/analyst.md +1 -0
  92. package/templates/roles/research/fact-checker.md +1 -0
  93. package/templates/roles/research/research-lead.md +1 -0
  94. package/templates/roles/research/researcher.md +1 -0
  95. package/templates/roles/research/statistician.md +1 -0
@@ -0,0 +1,161 @@
1
+ {
2
+ "schema": 1,
3
+ "issue": "#999",
4
+ "about": "Person-selected project permission/start and task-flow defaults. Permission and start defaults apply at the next peer start. The floor key action_policy.floor (#999 T3) makes ordinary branch pushes and own-repository pull requests run without a prompt where the hub sees the call first; every other floor class keeps asking. Structural guards require current evidence.",
5
+ "hub": {
6
+ "tasks.auto_pull": true,
7
+ "task_sweep.enabled": true,
8
+ "task_sweep.auto_reassign": true,
9
+ "action_policy.floor": true
10
+ },
11
+ "environments": {
12
+ "terminal": {
13
+ "aliases": [],
14
+ "terminalOpen": null,
15
+ "instruction": "Keep the person's terminal.open template. No portable terminal command is invented; configure terminal.open if a TUI peer has no available opener.",
16
+ "matrixEnvironment": "terminal",
17
+ "detect": {
18
+ "priority": 30,
19
+ "terminal": true
20
+ }
21
+ },
22
+ "orca": {
23
+ "aliases": [],
24
+ "terminalOpen": null,
25
+ "instruction": "Keep the person's terminal.open template and the existing Orca fallback. Configure terminal.open or restore the Orca provider if a TUI opener is unavailable. An Orca environment alone does not prove a Claude profile plugin is installed.",
26
+ "matrixEnvironment": "orca",
27
+ "detect": {
28
+ "priority": 0,
29
+ "variable": "ORCA_WORKTREE_ID"
30
+ }
31
+ },
32
+ "headless": {
33
+ "aliases": [],
34
+ "terminalOpen": null,
35
+ "instruction": "Use a headless form where the kind supports one. A TUI-only kind needs a declared headless variant or a person-owned terminal; no automatic downgrade is invented.",
36
+ "matrixEnvironment": "headless",
37
+ "detect": {
38
+ "priority": 40,
39
+ "terminal": false
40
+ }
41
+ },
42
+ "ci": {
43
+ "aliases": [],
44
+ "terminalOpen": null,
45
+ "instruction": "Use the headless defaults in CI; native account and tool availability stay explicit.",
46
+ "matrixEnvironment": "headless",
47
+ "detect": {
48
+ "priority": 10,
49
+ "variable": "CI"
50
+ }
51
+ }
52
+ },
53
+ "kinds": {
54
+ "claude": {
55
+ "permission": {
56
+ "tui": "never-ask",
57
+ "headless": "ask-when-needed"
58
+ },
59
+ "start": {
60
+ "terminal": "tui",
61
+ "orca": "tui",
62
+ "headless": null,
63
+ "ci": null
64
+ }
65
+ },
66
+ "codex": {
67
+ "permission": {
68
+ "tui": "never-ask",
69
+ "headless": "never-ask"
70
+ },
71
+ "start": {
72
+ "terminal": "tui",
73
+ "orca": "tui",
74
+ "headless": "headless",
75
+ "ci": "headless"
76
+ }
77
+ },
78
+ "kimi": {
79
+ "permission": {
80
+ "tui": null,
81
+ "headless": "never-ask"
82
+ },
83
+ "start": {
84
+ "terminal": "tui",
85
+ "orca": "tui",
86
+ "headless": "headless",
87
+ "ci": "headless"
88
+ }
89
+ },
90
+ "qwen": {
91
+ "permission": {
92
+ "tui": null,
93
+ "headless": "never-ask"
94
+ },
95
+ "start": {
96
+ "terminal": "headless",
97
+ "orca": "headless",
98
+ "headless": "headless",
99
+ "ci": "headless"
100
+ }
101
+ },
102
+ "jcode": {
103
+ "permission": {
104
+ "tui": null,
105
+ "headless": null
106
+ },
107
+ "start": {
108
+ "terminal": "tui",
109
+ "orca": "tui",
110
+ "headless": "headless",
111
+ "ci": "headless"
112
+ }
113
+ },
114
+ "pi": {
115
+ "permission": {
116
+ "tui": "never-ask",
117
+ "headless": "never-ask"
118
+ },
119
+ "start": {
120
+ "terminal": "tui",
121
+ "orca": "tui",
122
+ "headless": "headless",
123
+ "ci": "headless"
124
+ }
125
+ },
126
+ "local": {
127
+ "permission": {
128
+ "tui": null,
129
+ "headless": "never-ask"
130
+ },
131
+ "start": {
132
+ "terminal": "headless",
133
+ "orca": "headless",
134
+ "headless": "headless",
135
+ "ci": "headless"
136
+ }
137
+ },
138
+ "agy": {
139
+ "permission": {
140
+ "tui": null,
141
+ "headless": null
142
+ },
143
+ "start": {
144
+ "terminal": "tui",
145
+ "orca": "tui",
146
+ "headless": null,
147
+ "ci": null
148
+ }
149
+ }
150
+ },
151
+ "floorClasses": [
152
+ "force-push",
153
+ "default-branch-push",
154
+ "tag-push",
155
+ "release-publish",
156
+ "package-publish",
157
+ "destroy-outside-root",
158
+ "foreign-repo-write",
159
+ "external-send"
160
+ ]
161
+ }