heyio 3.4.0 → 4.0.1

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 (289) hide show
  1. package/CODE_OF_CONDUCT.md +83 -0
  2. package/LICENSE +21 -0
  3. package/README.md +203 -151
  4. package/dist/daemon/cli.js +84366 -0
  5. package/dist/daemon/index.js +82899 -0
  6. package/dist/web/assets/index-CbptHIYU.js +520 -0
  7. package/{public → dist/web}/index.html +1 -1
  8. package/package.json +48 -47
  9. package/dist/api/middleware/auth.d.ts +0 -14
  10. package/dist/api/middleware/auth.d.ts.map +0 -1
  11. package/dist/api/middleware/auth.js +0 -130
  12. package/dist/api/middleware/auth.js.map +0 -1
  13. package/dist/api/notifications.d.ts +0 -14
  14. package/dist/api/notifications.d.ts.map +0 -1
  15. package/dist/api/notifications.js +0 -114
  16. package/dist/api/notifications.js.map +0 -1
  17. package/dist/api/routes/activity.d.ts +0 -3
  18. package/dist/api/routes/activity.d.ts.map +0 -1
  19. package/dist/api/routes/activity.js +0 -28
  20. package/dist/api/routes/activity.js.map +0 -1
  21. package/dist/api/routes/attachments.d.ts +0 -3
  22. package/dist/api/routes/attachments.d.ts.map +0 -1
  23. package/dist/api/routes/attachments.js +0 -83
  24. package/dist/api/routes/attachments.js.map +0 -1
  25. package/dist/api/routes/config.d.ts +0 -3
  26. package/dist/api/routes/config.d.ts.map +0 -1
  27. package/dist/api/routes/config.js +0 -107
  28. package/dist/api/routes/config.js.map +0 -1
  29. package/dist/api/routes/conversations.d.ts +0 -3
  30. package/dist/api/routes/conversations.d.ts.map +0 -1
  31. package/dist/api/routes/conversations.js +0 -25
  32. package/dist/api/routes/conversations.js.map +0 -1
  33. package/dist/api/routes/health.d.ts +0 -3
  34. package/dist/api/routes/health.d.ts.map +0 -1
  35. package/dist/api/routes/health.js +0 -39
  36. package/dist/api/routes/health.js.map +0 -1
  37. package/dist/api/routes/inbox.d.ts +0 -3
  38. package/dist/api/routes/inbox.d.ts.map +0 -1
  39. package/dist/api/routes/inbox.js +0 -139
  40. package/dist/api/routes/inbox.js.map +0 -1
  41. package/dist/api/routes/schedules.d.ts +0 -3
  42. package/dist/api/routes/schedules.d.ts.map +0 -1
  43. package/dist/api/routes/schedules.js +0 -116
  44. package/dist/api/routes/schedules.js.map +0 -1
  45. package/dist/api/routes/skills.d.ts +0 -2
  46. package/dist/api/routes/skills.d.ts.map +0 -1
  47. package/dist/api/routes/skills.js +0 -127
  48. package/dist/api/routes/skills.js.map +0 -1
  49. package/dist/api/routes/squads.d.ts +0 -3
  50. package/dist/api/routes/squads.d.ts.map +0 -1
  51. package/dist/api/routes/squads.js +0 -578
  52. package/dist/api/routes/squads.js.map +0 -1
  53. package/dist/api/routes/usage.d.ts +0 -3
  54. package/dist/api/routes/usage.d.ts.map +0 -1
  55. package/dist/api/routes/usage.js +0 -55
  56. package/dist/api/routes/usage.js.map +0 -1
  57. package/dist/api/routes/wiki.d.ts +0 -2
  58. package/dist/api/routes/wiki.d.ts.map +0 -1
  59. package/dist/api/routes/wiki.js +0 -75
  60. package/dist/api/routes/wiki.js.map +0 -1
  61. package/dist/api/server.d.ts +0 -7
  62. package/dist/api/server.d.ts.map +0 -1
  63. package/dist/api/server.js +0 -183
  64. package/dist/api/server.js.map +0 -1
  65. package/dist/config.d.ts +0 -3
  66. package/dist/config.d.ts.map +0 -1
  67. package/dist/config.js +0 -3
  68. package/dist/config.js.map +0 -1
  69. package/dist/copilot/client.d.ts +0 -5
  70. package/dist/copilot/client.d.ts.map +0 -1
  71. package/dist/copilot/client.js +0 -38
  72. package/dist/copilot/client.js.map +0 -1
  73. package/dist/copilot/health-monitor.d.ts +0 -14
  74. package/dist/copilot/health-monitor.d.ts.map +0 -1
  75. package/dist/copilot/health-monitor.js +0 -70
  76. package/dist/copilot/health-monitor.js.map +0 -1
  77. package/dist/copilot/orchestrator.d.ts +0 -5
  78. package/dist/copilot/orchestrator.d.ts.map +0 -1
  79. package/dist/copilot/orchestrator.js +0 -227
  80. package/dist/copilot/orchestrator.js.map +0 -1
  81. package/dist/copilot/tools.d.ts +0 -80
  82. package/dist/copilot/tools.d.ts.map +0 -1
  83. package/dist/copilot/tools.js +0 -1067
  84. package/dist/copilot/tools.js.map +0 -1
  85. package/dist/index.d.ts +0 -3
  86. package/dist/index.d.ts.map +0 -1
  87. package/dist/index.js +0 -94
  88. package/dist/index.js.map +0 -1
  89. package/dist/logging/logger.d.ts +0 -6
  90. package/dist/logging/logger.d.ts.map +0 -1
  91. package/dist/logging/logger.js +0 -33
  92. package/dist/logging/logger.js.map +0 -1
  93. package/dist/models/index.d.ts +0 -6
  94. package/dist/models/index.d.ts.map +0 -1
  95. package/dist/models/index.js +0 -4
  96. package/dist/models/index.js.map +0 -1
  97. package/dist/models/pricing.d.ts +0 -25
  98. package/dist/models/pricing.d.ts.map +0 -1
  99. package/dist/models/pricing.js +0 -96
  100. package/dist/models/pricing.js.map +0 -1
  101. package/dist/models/registry.d.ts +0 -34
  102. package/dist/models/registry.d.ts.map +0 -1
  103. package/dist/models/registry.js +0 -109
  104. package/dist/models/registry.js.map +0 -1
  105. package/dist/models/token-tracker.d.ts +0 -41
  106. package/dist/models/token-tracker.d.ts.map +0 -1
  107. package/dist/models/token-tracker.js +0 -103
  108. package/dist/models/token-tracker.js.map +0 -1
  109. package/dist/scheduler/engine.d.ts +0 -12
  110. package/dist/scheduler/engine.d.ts.map +0 -1
  111. package/dist/scheduler/engine.js +0 -128
  112. package/dist/scheduler/engine.js.map +0 -1
  113. package/dist/skills/discover.d.ts +0 -22
  114. package/dist/skills/discover.d.ts.map +0 -1
  115. package/dist/skills/discover.js +0 -228
  116. package/dist/skills/discover.js.map +0 -1
  117. package/dist/skills/index.d.ts +0 -5
  118. package/dist/skills/index.d.ts.map +0 -1
  119. package/dist/skills/index.js +0 -3
  120. package/dist/skills/index.js.map +0 -1
  121. package/dist/skills/store.d.ts +0 -56
  122. package/dist/skills/store.d.ts.map +0 -1
  123. package/dist/skills/store.js +0 -154
  124. package/dist/skills/store.js.map +0 -1
  125. package/dist/squad/agent.d.ts +0 -65
  126. package/dist/squad/agent.d.ts.map +0 -1
  127. package/dist/squad/agent.js +0 -544
  128. package/dist/squad/agent.js.map +0 -1
  129. package/dist/squad/autonomy.d.ts +0 -16
  130. package/dist/squad/autonomy.d.ts.map +0 -1
  131. package/dist/squad/autonomy.js +0 -63
  132. package/dist/squad/autonomy.js.map +0 -1
  133. package/dist/squad/event-bus.d.ts +0 -22
  134. package/dist/squad/event-bus.d.ts.map +0 -1
  135. package/dist/squad/event-bus.js +0 -56
  136. package/dist/squad/event-bus.js.map +0 -1
  137. package/dist/squad/execution/index.d.ts +0 -14
  138. package/dist/squad/execution/index.d.ts.map +0 -1
  139. package/dist/squad/execution/index.js +0 -8
  140. package/dist/squad/execution/index.js.map +0 -1
  141. package/dist/squad/execution/instance.d.ts +0 -45
  142. package/dist/squad/execution/instance.d.ts.map +0 -1
  143. package/dist/squad/execution/instance.js +0 -165
  144. package/dist/squad/execution/instance.js.map +0 -1
  145. package/dist/squad/execution/planning.d.ts +0 -20
  146. package/dist/squad/execution/planning.d.ts.map +0 -1
  147. package/dist/squad/execution/planning.js +0 -62
  148. package/dist/squad/execution/planning.js.map +0 -1
  149. package/dist/squad/execution/pr.d.ts +0 -15
  150. package/dist/squad/execution/pr.d.ts.map +0 -1
  151. package/dist/squad/execution/pr.js +0 -109
  152. package/dist/squad/execution/pr.js.map +0 -1
  153. package/dist/squad/execution/review.d.ts +0 -21
  154. package/dist/squad/execution/review.d.ts.map +0 -1
  155. package/dist/squad/execution/review.js +0 -157
  156. package/dist/squad/execution/review.js.map +0 -1
  157. package/dist/squad/execution/runner.d.ts +0 -52
  158. package/dist/squad/execution/runner.d.ts.map +0 -1
  159. package/dist/squad/execution/runner.js +0 -93
  160. package/dist/squad/execution/runner.js.map +0 -1
  161. package/dist/squad/execution/tasks.d.ts +0 -22
  162. package/dist/squad/execution/tasks.d.ts.map +0 -1
  163. package/dist/squad/execution/tasks.js +0 -111
  164. package/dist/squad/execution/tasks.js.map +0 -1
  165. package/dist/squad/execution/worktree.d.ts +0 -27
  166. package/dist/squad/execution/worktree.d.ts.map +0 -1
  167. package/dist/squad/execution/worktree.js +0 -141
  168. package/dist/squad/execution/worktree.js.map +0 -1
  169. package/dist/squad/hiring.d.ts +0 -57
  170. package/dist/squad/hiring.d.ts.map +0 -1
  171. package/dist/squad/hiring.js +0 -588
  172. package/dist/squad/hiring.js.map +0 -1
  173. package/dist/squad/index.d.ts +0 -8
  174. package/dist/squad/index.d.ts.map +0 -1
  175. package/dist/squad/index.js +0 -6
  176. package/dist/squad/index.js.map +0 -1
  177. package/dist/squad/manager.d.ts +0 -58
  178. package/dist/squad/manager.d.ts.map +0 -1
  179. package/dist/squad/manager.js +0 -351
  180. package/dist/squad/manager.js.map +0 -1
  181. package/dist/squad/model-selector.d.ts +0 -29
  182. package/dist/squad/model-selector.d.ts.map +0 -1
  183. package/dist/squad/model-selector.js +0 -64
  184. package/dist/squad/model-selector.js.map +0 -1
  185. package/dist/squad/name-generator.d.ts +0 -16
  186. package/dist/squad/name-generator.d.ts.map +0 -1
  187. package/dist/squad/name-generator.js +0 -111
  188. package/dist/squad/name-generator.js.map +0 -1
  189. package/dist/squad/roles/templates.d.ts +0 -7
  190. package/dist/squad/roles/templates.d.ts.map +0 -1
  191. package/dist/squad/roles/templates.js +0 -104
  192. package/dist/squad/roles/templates.js.map +0 -1
  193. package/dist/squad/skill-parser.d.ts +0 -36
  194. package/dist/squad/skill-parser.d.ts.map +0 -1
  195. package/dist/squad/skill-parser.js +0 -90
  196. package/dist/squad/skill-parser.js.map +0 -1
  197. package/dist/squad/source-resolver.d.ts +0 -20
  198. package/dist/squad/source-resolver.d.ts.map +0 -1
  199. package/dist/squad/source-resolver.js +0 -51
  200. package/dist/squad/source-resolver.js.map +0 -1
  201. package/dist/store/activity.d.ts +0 -51
  202. package/dist/store/activity.d.ts.map +0 -1
  203. package/dist/store/activity.js +0 -197
  204. package/dist/store/activity.js.map +0 -1
  205. package/dist/store/conversations.d.ts +0 -25
  206. package/dist/store/conversations.d.ts.map +0 -1
  207. package/dist/store/conversations.js +0 -76
  208. package/dist/store/conversations.js.map +0 -1
  209. package/dist/store/db.d.ts +0 -5
  210. package/dist/store/db.d.ts.map +0 -1
  211. package/dist/store/db.js +0 -290
  212. package/dist/store/db.js.map +0 -1
  213. package/dist/store/inbox.d.ts +0 -67
  214. package/dist/store/inbox.d.ts.map +0 -1
  215. package/dist/store/inbox.js +0 -192
  216. package/dist/store/inbox.js.map +0 -1
  217. package/dist/store/schedules.d.ts +0 -53
  218. package/dist/store/schedules.d.ts.map +0 -1
  219. package/dist/store/schedules.js +0 -160
  220. package/dist/store/schedules.js.map +0 -1
  221. package/dist/wiki/index.d.ts +0 -3
  222. package/dist/wiki/index.d.ts.map +0 -1
  223. package/dist/wiki/index.js +0 -2
  224. package/dist/wiki/index.js.map +0 -1
  225. package/dist/wiki/store.d.ts +0 -81
  226. package/dist/wiki/store.d.ts.map +0 -1
  227. package/dist/wiki/store.js +0 -270
  228. package/dist/wiki/store.js.map +0 -1
  229. package/node_modules/@io/shared/dist/config.d.ts +0 -26
  230. package/node_modules/@io/shared/dist/config.d.ts.map +0 -1
  231. package/node_modules/@io/shared/dist/config.js +0 -53
  232. package/node_modules/@io/shared/dist/config.js.map +0 -1
  233. package/node_modules/@io/shared/dist/constants.d.ts +0 -19
  234. package/node_modules/@io/shared/dist/constants.d.ts.map +0 -1
  235. package/node_modules/@io/shared/dist/constants.js +0 -51
  236. package/node_modules/@io/shared/dist/constants.js.map +0 -1
  237. package/node_modules/@io/shared/dist/index.d.ts +0 -12
  238. package/node_modules/@io/shared/dist/index.d.ts.map +0 -1
  239. package/node_modules/@io/shared/dist/index.js +0 -3
  240. package/node_modules/@io/shared/dist/index.js.map +0 -1
  241. package/node_modules/@io/shared/dist/types/agents.d.ts +0 -3
  242. package/node_modules/@io/shared/dist/types/agents.d.ts.map +0 -1
  243. package/node_modules/@io/shared/dist/types/agents.js +0 -2
  244. package/node_modules/@io/shared/dist/types/agents.js.map +0 -1
  245. package/node_modules/@io/shared/dist/types/api.d.ts +0 -33
  246. package/node_modules/@io/shared/dist/types/api.d.ts.map +0 -1
  247. package/node_modules/@io/shared/dist/types/api.js +0 -2
  248. package/node_modules/@io/shared/dist/types/api.js.map +0 -1
  249. package/node_modules/@io/shared/dist/types/attachments.d.ts +0 -10
  250. package/node_modules/@io/shared/dist/types/attachments.d.ts.map +0 -1
  251. package/node_modules/@io/shared/dist/types/attachments.js +0 -2
  252. package/node_modules/@io/shared/dist/types/attachments.js.map +0 -1
  253. package/node_modules/@io/shared/dist/types/events.d.ts +0 -44
  254. package/node_modules/@io/shared/dist/types/events.d.ts.map +0 -1
  255. package/node_modules/@io/shared/dist/types/events.js +0 -2
  256. package/node_modules/@io/shared/dist/types/events.js.map +0 -1
  257. package/node_modules/@io/shared/dist/types/history.d.ts +0 -33
  258. package/node_modules/@io/shared/dist/types/history.d.ts.map +0 -1
  259. package/node_modules/@io/shared/dist/types/history.js +0 -2
  260. package/node_modules/@io/shared/dist/types/history.js.map +0 -1
  261. package/node_modules/@io/shared/dist/types/messages.d.ts +0 -15
  262. package/node_modules/@io/shared/dist/types/messages.d.ts.map +0 -1
  263. package/node_modules/@io/shared/dist/types/messages.js +0 -2
  264. package/node_modules/@io/shared/dist/types/messages.js.map +0 -1
  265. package/node_modules/@io/shared/dist/types/squads.d.ts +0 -46
  266. package/node_modules/@io/shared/dist/types/squads.d.ts.map +0 -1
  267. package/node_modules/@io/shared/dist/types/squads.js +0 -2
  268. package/node_modules/@io/shared/dist/types/squads.js.map +0 -1
  269. package/node_modules/@io/shared/dist/types/tokens.d.ts +0 -19
  270. package/node_modules/@io/shared/dist/types/tokens.d.ts.map +0 -1
  271. package/node_modules/@io/shared/dist/types/tokens.js +0 -2
  272. package/node_modules/@io/shared/dist/types/tokens.js.map +0 -1
  273. package/node_modules/@io/shared/package.json +0 -18
  274. package/node_modules/@io/shared/src/config.ts +0 -85
  275. package/node_modules/@io/shared/src/constants.ts +0 -54
  276. package/node_modules/@io/shared/src/index.ts +0 -46
  277. package/node_modules/@io/shared/src/types/agents.ts +0 -3
  278. package/node_modules/@io/shared/src/types/api.ts +0 -35
  279. package/node_modules/@io/shared/src/types/attachments.ts +0 -9
  280. package/node_modules/@io/shared/src/types/events.ts +0 -86
  281. package/node_modules/@io/shared/src/types/history.ts +0 -37
  282. package/node_modules/@io/shared/src/types/messages.ts +0 -15
  283. package/node_modules/@io/shared/src/types/squads.ts +0 -56
  284. package/node_modules/@io/shared/src/types/tokens.ts +0 -19
  285. package/node_modules/@io/shared/tsconfig.json +0 -9
  286. package/node_modules/@io/shared/tsconfig.tsbuildinfo +0 -1
  287. package/public/assets/index-CoSJG-14.js +0 -510
  288. package/public/assets/index-CoSJG-14.js.map +0 -1
  289. /package/{public → dist/web}/assets/index-B6F0UZkW.css +0 -0
@@ -1,270 +0,0 @@
1
- import { copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, rmSync, unlinkSync, writeFileSync } from 'node:fs';
2
- import { dirname, join, resolve } from 'node:path';
3
- import { createChildLogger } from '../logging/logger.js';
4
- const logger = () => createChildLogger('wiki');
5
- let wikiRoot = '';
6
- const DEFAULT_RULES = `# Squad Rules
7
-
8
- These rules are automatically enforced for all squad members.
9
-
10
- ## Git Workflow
11
- - Always pull the latest main branch before starting work
12
- - Create feature branches from main (never commit directly to main)
13
- - Run tests before committing changes
14
- - Never force-push to shared branches
15
-
16
- ## Code Quality
17
- - Run the project's linter before submitting changes
18
- - Ensure all existing tests pass after your changes
19
- - Add tests for new functionality
20
-
21
- ## Communication
22
- - Document significant decisions in the wiki
23
- - Update the wiki when you discover important project context
24
- `;
25
- /**
26
- * Initialize the wiki directory structure.
27
- */
28
- export function initWiki(dataDir) {
29
- wikiRoot = join(dataDir, 'wiki');
30
- mkdirSync(join(wikiRoot, 'io'), { recursive: true });
31
- mkdirSync(join(wikiRoot, 'shared'), { recursive: true });
32
- mkdirSync(join(wikiRoot, 'squads'), { recursive: true });
33
- mkdirSync(join(wikiRoot, 'templates'), { recursive: true });
34
- // Seed default _rules.md template if not present
35
- const rulesTemplate = join(wikiRoot, 'templates', '_rules.md');
36
- if (!existsSync(rulesTemplate)) {
37
- writeFileSync(rulesTemplate, DEFAULT_RULES, 'utf-8');
38
- }
39
- logger().info({ wikiRoot }, 'Wiki initialized');
40
- }
41
- /**
42
- * Ensure a squad wiki folder exists. Seeds from templates/ on first creation.
43
- */
44
- export function ensureSquadWiki(squadName) {
45
- const dir = join(wikiRoot, 'squads', squadName);
46
- const isNew = !existsSync(dir);
47
- mkdirSync(dir, { recursive: true });
48
- // Seed from templates on first creation
49
- if (isNew) {
50
- const templatesDir = join(wikiRoot, 'templates');
51
- if (existsSync(templatesDir)) {
52
- seedFromTemplates(templatesDir, dir);
53
- }
54
- }
55
- }
56
- /**
57
- * Recursively copy files from templates directory into target.
58
- */
59
- function seedFromTemplates(src, dest) {
60
- for (const entry of readdirSync(src, { withFileTypes: true })) {
61
- const srcPath = join(src, entry.name);
62
- const destPath = join(dest, entry.name);
63
- if (entry.isDirectory()) {
64
- mkdirSync(destPath, { recursive: true });
65
- seedFromTemplates(srcPath, destPath);
66
- }
67
- else if (entry.isFile()) {
68
- if (!existsSync(destPath)) {
69
- copyFileSync(srcPath, destPath);
70
- }
71
- }
72
- }
73
- }
74
- /**
75
- * List all available wiki scopes (io, shared, + all squads with wiki folders).
76
- */
77
- export function listWikiScopes() {
78
- const scopes = ['io', 'shared'];
79
- const squadsDir = join(wikiRoot, 'squads');
80
- if (existsSync(squadsDir)) {
81
- for (const entry of readdirSync(squadsDir, { withFileTypes: true })) {
82
- if (entry.isDirectory()) {
83
- scopes.push(entry.name);
84
- }
85
- }
86
- }
87
- return scopes;
88
- }
89
- /**
90
- * List all pages across all scopes, with scope prefix in the path.
91
- * Simply walks the wiki directory recursively — directories and .md files.
92
- */
93
- export function listAllWikiPages() {
94
- if (!wikiRoot || !existsSync(wikiRoot))
95
- return [];
96
- const results = [];
97
- function walk(dir, prefix) {
98
- for (const entry of readdirSync(dir, { withFileTypes: true })) {
99
- const entryPath = prefix ? `${prefix}/${entry.name}` : entry.name;
100
- if (entry.isDirectory()) {
101
- results.push({ name: entry.name, path: entryPath, isDir: true });
102
- walk(join(dir, entry.name), entryPath);
103
- }
104
- else if (entry.name.endsWith('.md')) {
105
- results.push({ name: entry.name.replace(/\.md$/, ''), path: entryPath.replace(/\.md$/, '') });
106
- }
107
- }
108
- }
109
- walk(wikiRoot, '');
110
- return results;
111
- }
112
- function scopeDir(scope) {
113
- if (scope === 'io')
114
- return join(wikiRoot, 'io');
115
- if (scope === 'shared')
116
- return join(wikiRoot, 'shared');
117
- if (scope === 'templates')
118
- return join(wikiRoot, 'templates');
119
- return join(wikiRoot, 'squads', scope);
120
- }
121
- /**
122
- * List all pages in a scope, including nested directories.
123
- */
124
- export function listWikiPages(scope) {
125
- const dir = scopeDir(scope);
126
- if (!existsSync(dir))
127
- return [];
128
- const pages = collectWikiPages(dir);
129
- return pages.sort((a, b) => a.path.localeCompare(b.path));
130
- }
131
- function collectWikiPages(dir, prefix = '') {
132
- const pages = [];
133
- for (const entry of readdirSync(dir, { withFileTypes: true })) {
134
- const entryPath = join(dir, entry.name);
135
- const pagePath = prefix ? `${prefix}/${entry.name}` : entry.name;
136
- if (entry.isDirectory()) {
137
- pages.push(...collectWikiPages(entryPath, pagePath));
138
- continue;
139
- }
140
- if (!entry.isFile() || !entry.name.endsWith('.md')) {
141
- continue;
142
- }
143
- const normalizedPath = pagePath.replace(/\.md$/, '');
144
- pages.push({
145
- name: entry.name,
146
- path: normalizedPath,
147
- });
148
- }
149
- return pages;
150
- }
151
- /**
152
- * Read a wiki page. Returns null if it doesn't exist.
153
- */
154
- export function readWikiPage(scope, pageName) {
155
- const filePath = join(scopeDir(scope), `${pageName}.md`);
156
- if (!existsSync(filePath))
157
- return null;
158
- const content = readFileSync(filePath, 'utf-8');
159
- return { scope, name: pageName, content };
160
- }
161
- /**
162
- * Write (create or overwrite) a wiki page.
163
- */
164
- export function writeWikiPage(scope, pageName, content) {
165
- const dir = scopeDir(scope);
166
- const filePath = join(dir, `${pageName}.md`);
167
- mkdirSync(dirname(filePath), { recursive: true });
168
- writeFileSync(filePath, content, 'utf-8');
169
- logger().info({ scope, pageName }, 'Wiki page written');
170
- return { scope, name: pageName, content };
171
- }
172
- /**
173
- * Delete a wiki page.
174
- */
175
- export function deleteWikiPage(scope, pageName) {
176
- const filePath = join(scopeDir(scope), `${pageName}.md`);
177
- if (!existsSync(filePath))
178
- return false;
179
- unlinkSync(filePath);
180
- logger().info({ scope, pageName }, 'Wiki page deleted');
181
- return true;
182
- }
183
- // Protected root directories that cannot be deleted
184
- const PROTECTED_DIRS = new Set(['io', 'shared', 'squads', 'templates']);
185
- /**
186
- * Delete a wiki directory and all its contents.
187
- * Protected directories (io, shared, squads) cannot be deleted.
188
- * Path is relative to wiki root (e.g. "squads/myproject").
189
- */
190
- export function deleteWikiDirectory(relativePath) {
191
- if (!wikiRoot)
192
- return false;
193
- // Block deletion of protected root directories
194
- const normalized = relativePath.replace(/^\/+|\/+$/g, '');
195
- if (PROTECTED_DIRS.has(normalized))
196
- return false;
197
- const target = resolve(wikiRoot, normalized);
198
- // Safety: ensure target is actually inside wikiRoot
199
- if (!target.startsWith(resolve(wikiRoot)))
200
- return false;
201
- if (!existsSync(target))
202
- return false;
203
- rmSync(target, { recursive: true, force: true });
204
- logger().info({ path: normalized }, 'Wiki directory deleted');
205
- return true;
206
- }
207
- /**
208
- * Search wiki pages by keyword across one or more scopes.
209
- * Returns matching pages with context lines.
210
- */
211
- export function searchWiki(keyword, scopes) {
212
- const results = [];
213
- const lower = keyword.toLowerCase();
214
- for (const scope of scopes) {
215
- const pages = listWikiPages(scope);
216
- for (const pageSummary of pages) {
217
- const page = readWikiPage(scope, pageSummary.path);
218
- if (!page)
219
- continue;
220
- const lines = page.content.split('\n');
221
- const matches = [];
222
- for (const line of lines) {
223
- if (line.toLowerCase().includes(lower)) {
224
- matches.push(line.trim());
225
- }
226
- }
227
- if (matches.length > 0) {
228
- results.push({ scope, name: pageSummary.name, matches: matches.slice(0, 5) });
229
- }
230
- }
231
- }
232
- return results;
233
- }
234
- /**
235
- * Get accessible scopes for a squad agent.
236
- */
237
- export function getSquadScopes(squadName) {
238
- return ['shared', squadName];
239
- }
240
- /**
241
- * Get accessible scopes for the orchestrator.
242
- */
243
- export function getOrchestratorScopes() {
244
- return ['io', 'shared'];
245
- }
246
- /**
247
- * Get a summary of available pages for injection into system prompts.
248
- * Excludes _rules.md since it's injected separately.
249
- */
250
- export function getPageListing(scopes) {
251
- const sections = [];
252
- for (const scope of scopes) {
253
- const pages = listWikiPages(scope).filter((p) => p.path !== '_rules');
254
- if (pages.length > 0) {
255
- const label = scope === 'io' ? 'IO' : scope === 'shared' ? 'Shared' : `Squad (${scope})`;
256
- sections.push(`${label}: ${pages.map((page) => page.name).join(', ')}`);
257
- }
258
- }
259
- return sections.length > 0 ? sections.join('\n') : '(no wiki pages yet)';
260
- }
261
- /**
262
- * Read the _rules.md content for a squad. Returns null if not found.
263
- */
264
- export function readSquadRules(squadName) {
265
- const filePath = join(wikiRoot, 'squads', squadName, '_rules.md');
266
- if (!existsSync(filePath))
267
- return null;
268
- return readFileSync(filePath, 'utf-8');
269
- }
270
- //# sourceMappingURL=store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/wiki/store.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- export interface IOConfig {
2
- apiPort: number;
3
- logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
4
- defaultModel: string;
5
- maxInstancesPerSquad: number;
6
- dataDir: string;
7
- timezone: string;
8
- pricing: {
9
- refreshIntervalHours: number;
10
- };
11
- telegram: {
12
- botToken: string | null;
13
- allowedChatIds: number[];
14
- };
15
- supabase: {
16
- projectUrl: string | null;
17
- anonKey: string | null;
18
- jwtSecret: string | null;
19
- };
20
- }
21
- /**
22
- * Load IO configuration. Priority: env vars > config file > defaults.
23
- * Config file location: ~/.io/config.json (or IO_DATA_DIR/config.json).
24
- */
25
- export declare function loadConfig(): IOConfig;
26
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,QAAQ;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACR,oBAAoB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,QAAQ,EAAE;QACT,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,cAAc,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,QAAQ,EAAE;QACT,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC;CACF;AAkBD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,QAAQ,CAsCrC"}
@@ -1,53 +0,0 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- import { homedir } from 'node:os';
3
- import { join } from 'node:path';
4
- import { DEFAULT_CONFIG } from './constants.js';
5
- function resolveDataDir(dir) {
6
- if (dir.startsWith('~')) {
7
- return join(homedir(), dir.slice(1));
8
- }
9
- return dir;
10
- }
11
- /** Read a trimmed string from env or config, returning null if empty. */
12
- function readString(envVal, configVal) {
13
- const raw = envVal || configVal || null;
14
- return raw?.trim() || null;
15
- }
16
- /**
17
- * Load IO configuration. Priority: env vars > config file > defaults.
18
- * Config file location: ~/.io/config.json (or IO_DATA_DIR/config.json).
19
- */
20
- export function loadConfig() {
21
- const dataDir = resolveDataDir(process.env.IO_DATA_DIR ?? DEFAULT_CONFIG.dataDir);
22
- const configPath = join(dataDir, 'config.json');
23
- let fileConfig = {};
24
- if (existsSync(configPath)) {
25
- const raw = readFileSync(configPath, 'utf-8');
26
- fileConfig = JSON.parse(raw);
27
- }
28
- return {
29
- apiPort: Number(process.env.IO_PORT) || fileConfig.apiPort || DEFAULT_CONFIG.apiPort,
30
- logLevel: process.env.IO_LOG_LEVEL ||
31
- fileConfig.logLevel ||
32
- DEFAULT_CONFIG.logLevel,
33
- defaultModel: process.env.IO_MODEL || fileConfig.defaultModel || DEFAULT_CONFIG.defaultModel,
34
- maxInstancesPerSquad: fileConfig.maxInstancesPerSquad || DEFAULT_CONFIG.maxInstancesPerSquad,
35
- dataDir,
36
- timezone: process.env.IO_TIMEZONE || fileConfig.timezone || DEFAULT_CONFIG.timezone,
37
- pricing: {
38
- refreshIntervalHours: fileConfig.pricing?.refreshIntervalHours || DEFAULT_CONFIG.pricing.refreshIntervalHours,
39
- },
40
- telegram: {
41
- botToken: process.env.TELEGRAM_BOT_TOKEN || fileConfig.telegram?.botToken || null,
42
- allowedChatIds: process.env.TELEGRAM_ALLOWED_CHAT_IDS
43
- ? process.env.TELEGRAM_ALLOWED_CHAT_IDS.split(',').map((id) => Number.parseInt(id.trim(), 10))
44
- : fileConfig.telegram?.allowedChatIds || [],
45
- },
46
- supabase: {
47
- projectUrl: readString(process.env.IO_SUPABASE_URL, fileConfig.supabase?.projectUrl),
48
- anonKey: readString(process.env.IO_SUPABASE_ANON_KEY, fileConfig.supabase?.anonKey),
49
- jwtSecret: readString(process.env.IO_SUPABASE_JWT_SECRET, fileConfig.supabase?.jwtSecret),
50
- },
51
- };
52
- }
53
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAuBhD,SAAS,cAAc,CAAC,GAAW;IAClC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,yEAAyE;AACzE,SAAS,UAAU,CAClB,MAA0B,EAC1B,SAAoC;IAEpC,MAAM,GAAG,GAAG,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC;IACxC,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACzB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAEhD,IAAI,UAAU,GAAwB,EAAE,CAAC;IACzC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACN,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO;QACpF,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,YAAqC;YAClD,UAAU,CAAC,QAAQ;YACnB,cAAc,CAAC,QAAQ;QACxB,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,UAAU,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY;QAC5F,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,IAAI,cAAc,CAAC,oBAAoB;QAC5F,OAAO;QACP,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,UAAU,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ;QACnF,OAAO,EAAE;YACR,oBAAoB,EACnB,UAAU,CAAC,OAAO,EAAE,oBAAoB,IAAI,cAAc,CAAC,OAAO,CAAC,oBAAoB;SACxF;QACD,QAAQ,EAAE;YACT,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,IAAI,IAAI;YACjF,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;gBACpD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAC5D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAC9B;gBACF,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE;SAC5C;QACD,QAAQ,EAAE;YACT,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;YACpF,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC;YACnF,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;SACzF;KACD,CAAC;AACH,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { AutonomyConfig } from './types/squads.js';
2
- /**
3
- * Squad color palette — complementary to the dark UI with pink (#E43A9C) accent.
4
- * Each squad gets a unique color from this list at creation time.
5
- */
6
- export declare const SQUAD_COLORS: readonly ["#38bdf8", "#a78bfa", "#34d399", "#f59e0b", "#f87171", "#06b6d4", "#fb923c", "#4ade80", "#c084fc", "#facc15"];
7
- export declare const AUTONOMY_TIERS: Record<string, AutonomyConfig>;
8
- export declare const DEFAULT_CONFIG: {
9
- apiPort: number;
10
- logLevel: "info";
11
- defaultModel: string;
12
- maxInstancesPerSquad: number;
13
- dataDir: string;
14
- timezone: string;
15
- pricing: {
16
- refreshIntervalHours: number;
17
- };
18
- };
19
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,YAAY,yHAWf,CAAC;AAEX,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAsBzD,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;CAU1B,CAAC"}
@@ -1,51 +0,0 @@
1
- /**
2
- * Squad color palette — complementary to the dark UI with pink (#E43A9C) accent.
3
- * Each squad gets a unique color from this list at creation time.
4
- */
5
- export const SQUAD_COLORS = [
6
- '#38bdf8', // sky blue
7
- '#a78bfa', // violet
8
- '#34d399', // emerald
9
- '#f59e0b', // amber
10
- '#f87171', // red
11
- '#06b6d4', // cyan
12
- '#fb923c', // orange
13
- '#4ade80', // green
14
- '#c084fc', // purple
15
- '#facc15', // yellow
16
- ];
17
- export const AUTONOMY_TIERS = {
18
- low: {
19
- canMergePrs: false,
20
- canCreateReleases: false,
21
- canCloseIssues: false,
22
- canSelfReview: false,
23
- requiresUserApprovalFor: ['merge', 'release', 'close', 'review'],
24
- },
25
- medium: {
26
- canMergePrs: false,
27
- canCreateReleases: false,
28
- canCloseIssues: true,
29
- canSelfReview: true,
30
- requiresUserApprovalFor: ['merge', 'release'],
31
- },
32
- high: {
33
- canMergePrs: true,
34
- canCreateReleases: true,
35
- canCloseIssues: true,
36
- canSelfReview: true,
37
- requiresUserApprovalFor: [],
38
- },
39
- };
40
- export const DEFAULT_CONFIG = {
41
- apiPort: 7777,
42
- logLevel: 'info',
43
- defaultModel: 'claude-opus-4.6',
44
- maxInstancesPerSquad: 3,
45
- dataDir: '~/.io',
46
- timezone: 'UTC',
47
- pricing: {
48
- refreshIntervalHours: 24,
49
- },
50
- };
51
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAmC;IAC7D,GAAG,EAAE;QACJ,WAAW,EAAE,KAAK;QAClB,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,KAAK;QACpB,uBAAuB,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;KAChE;IACD,MAAM,EAAE;QACP,WAAW,EAAE,KAAK;QAClB,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,uBAAuB,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;KAC7C;IACD,IAAI,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,uBAAuB,EAAE,EAAE;KAC3B;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,MAAe;IACzB,YAAY,EAAE,iBAAiB;IAC/B,oBAAoB,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE;QACR,oBAAoB,EAAE,EAAE;KACxB;CACD,CAAC"}
@@ -1,12 +0,0 @@
1
- export type { Message, Conversation } from './types/messages.js';
2
- export type { Squad, SquadMember, SquadInstance, InstanceStatus, AutonomyTier, AutonomyConfig, } from './types/squads.js';
3
- export type { AgentRole, AgentStatus } from './types/agents.js';
4
- export type { TokenUsage, ModelPricing } from './types/tokens.js';
5
- export type { Attachment } from './types/attachments.js';
6
- export type { WorkEventKind, WorkEvent, AgentHistoryEntry, HistoryActivityStatus, HistoryActivityType, HistoryActivity, HistoryActivityDetail, } from './types/history.js';
7
- export type { SquadEvent, SquadEventType, AgentEvent, AgentEventType, InstanceEvent, InstanceEventType, MeetingEvent, MeetingEventType, InboxEvent, InboxEventType, ScheduleEvent, ScheduleEventType, IOEvent, BaseEvent, } from './types/events.js';
8
- export type { ApiMessage, ApiSquadResponse, ApiUsageResponse, ApiHealthResponse, } from './types/api.js';
9
- export { AUTONOMY_TIERS, DEFAULT_CONFIG, SQUAD_COLORS } from './constants.js';
10
- export { loadConfig } from './config.js';
11
- export type { IOConfig } from './config.js';
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACjE,YAAY,EACX,KAAK,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EACX,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACX,UAAU,EACV,cAAc,EACd,UAAU,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,SAAS,GACT,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
@@ -1,3 +0,0 @@
1
- export { AUTONOMY_TIERS, DEFAULT_CONFIG, SQUAD_COLORS } from './constants.js';
2
- export { loadConfig } from './config.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -1,3 +0,0 @@
1
- export type AgentRole = 'team-lead' | 'scribe' | 'qa-tester' | string;
2
- export type AgentStatus = 'idle' | 'working' | 'meeting' | 'blocked' | 'error';
3
- //# sourceMappingURL=agents.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/types/agents.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=agents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/types/agents.ts"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- export interface ApiMessage {
2
- content: string;
3
- source?: 'tui' | 'telegram' | 'web';
4
- attachmentIds?: string[];
5
- }
6
- export interface ApiSquadResponse {
7
- id: string;
8
- name: string;
9
- projectPath: string;
10
- status: string;
11
- autonomyTier: string;
12
- memberCount: number;
13
- activeInstances: number;
14
- }
15
- export interface ApiUsageResponse {
16
- totalInputTokens: number;
17
- totalOutputTokens: number;
18
- totalEstimatedCost: number;
19
- breakdown: {
20
- model: string;
21
- inputTokens: number;
22
- outputTokens: number;
23
- estimatedCost: number;
24
- }[];
25
- }
26
- export interface ApiHealthResponse {
27
- status: 'healthy' | 'degraded' | 'unhealthy';
28
- uptime: number;
29
- copilotConnected: boolean;
30
- activeSquads: number;
31
- activeInstances: number;
32
- }
33
- //# sourceMappingURL=api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACtB,EAAE,CAAC;CACJ;AAED,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACxB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- export interface Attachment {
2
- id: string;
3
- messageId?: string;
4
- filename: string;
5
- mimeType?: string;
6
- sizeBytes?: number;
7
- diskPath: string;
8
- createdAt: Date;
9
- }
10
- //# sourceMappingURL=attachments.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../src/types/attachments.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CAChB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=attachments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../src/types/attachments.ts"],"names":[],"mappings":""}
@@ -1,44 +0,0 @@
1
- export type SquadEventType = 'squad:created' | 'squad:disbanded' | 'squad:member_added' | 'squad:member_retired';
2
- export type AgentEventType = 'agent:task_started' | 'agent:task_completed' | 'agent:tool_call' | 'agent:tool_result' | 'agent:thought' | 'agent:decision' | 'agent:error' | 'agent:permission_denied';
3
- export type InstanceEventType = 'instance:created' | 'instance:meeting_started' | 'instance:meeting_complete' | 'instance:planning_complete' | 'instance:review_cycle' | 'instance:work_started' | 'instance:pr_created' | 'instance:complete' | 'instance:failed';
4
- export type MeetingEventType = 'meeting:contribution' | 'meeting:consensus_reached' | 'meeting:veto';
5
- export type InboxEventType = 'inbox:new' | 'inbox:resolved';
6
- export type ScheduleEventType = 'schedule:fired' | 'schedule:completed' | 'schedule:failed';
7
- export interface BaseEvent {
8
- id: string;
9
- timestamp: Date;
10
- squadId?: string;
11
- instanceId?: string;
12
- }
13
- export interface SquadEvent extends BaseEvent {
14
- type: SquadEventType;
15
- squadName: string;
16
- data?: Record<string, unknown>;
17
- }
18
- export interface AgentEvent extends BaseEvent {
19
- type: AgentEventType;
20
- agentRole: string;
21
- model?: string;
22
- data?: Record<string, unknown>;
23
- }
24
- export interface InstanceEvent extends BaseEvent {
25
- type: InstanceEventType;
26
- data?: Record<string, unknown>;
27
- }
28
- export interface MeetingEvent extends BaseEvent {
29
- type: MeetingEventType;
30
- agentRole: string;
31
- content: string;
32
- }
33
- export interface InboxEvent extends BaseEvent {
34
- type: InboxEventType;
35
- kind: 'deliverable' | 'question' | 'note';
36
- title: string;
37
- entryId: string;
38
- }
39
- export interface ScheduleEvent extends BaseEvent {
40
- type: ScheduleEventType;
41
- data?: Record<string, unknown>;
42
- }
43
- export type IOEvent = SquadEvent | AgentEvent | InstanceEvent | MeetingEvent | InboxEvent | ScheduleEvent;
44
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACvB,eAAe,GACf,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,CAAC;AAE1B,MAAM,MAAM,cAAc,GACvB,oBAAoB,GACpB,sBAAsB,GACtB,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,yBAAyB,CAAC;AAE7B,MAAM,MAAM,iBAAiB,GAC1B,kBAAkB,GAClB,0BAA0B,GAC1B,2BAA2B,GAC3B,4BAA4B,GAC5B,uBAAuB,GACvB,uBAAuB,GACvB,qBAAqB,GACrB,mBAAmB,GACnB,iBAAiB,CAAC;AAErB,MAAM,MAAM,gBAAgB,GACzB,sBAAsB,GACtB,2BAA2B,GAC3B,cAAc,CAAC;AAElB,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAE5D,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,iBAAiB,CAAC;AAE5F,MAAM,WAAW,SAAS;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC5C,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC5C,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC/C,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC9C,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC5C,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC/C,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,OAAO,GAChB,UAAU,GACV,UAAU,GACV,aAAa,GACb,YAAY,GACZ,UAAU,GACV,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":""}