heyio 3.3.5 → 4.0.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 (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 +7153 -0
  5. package/dist/daemon/index.js +6421 -0
  6. package/dist/web/assets/index-CbptHIYU.js +520 -0
  7. package/{public → dist/web}/index.html +1 -1
  8. package/package.json +45 -48
  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 -171
  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 -151
  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 -108
  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-BywBQCtu.js +0 -510
  288. package/public/assets/index-BywBQCtu.js.map +0 -1
  289. /package/{public → dist/web}/assets/index-B6F0UZkW.css +0 -0
@@ -1,33 +0,0 @@
1
- export type WorkEventKind = 'thought' | 'tool_call' | 'tool_result' | 'message' | 'decision';
2
- export interface WorkEvent {
3
- id: number;
4
- kind: WorkEventKind;
5
- timestamp: string;
6
- label?: string;
7
- content: string;
8
- status?: 'ok' | 'error';
9
- }
10
- export interface AgentHistoryEntry {
11
- agentId: string;
12
- agentName: string;
13
- role: string;
14
- roleType?: 'lead' | 'qa' | 'scribe' | 'default';
15
- summary: string;
16
- events: WorkEvent[];
17
- }
18
- export type HistoryActivityStatus = 'completed' | 'errored';
19
- export type HistoryActivityType = 'instance' | 'delegation';
20
- export interface HistoryActivity {
21
- id: string;
22
- title: string;
23
- type: HistoryActivityType;
24
- status: HistoryActivityStatus;
25
- createdAt: string;
26
- completedAt: string;
27
- duration: string;
28
- agentCount: number;
29
- }
30
- export interface HistoryActivityDetail extends HistoryActivity {
31
- agentEntries: AgentHistoryEntry[];
32
- }
33
- //# sourceMappingURL=history.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/types/history.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AAE7F,MAAM,WAAW,SAAS;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,SAAS,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC7D,YAAY,EAAE,iBAAiB,EAAE,CAAC;CAClC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=history.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/types/history.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- export interface Message {
2
- id: string;
3
- role: 'user' | 'assistant' | 'system';
4
- content: string;
5
- source?: 'tui' | 'telegram' | 'web';
6
- attachments?: string[];
7
- createdAt: Date;
8
- }
9
- export interface Conversation {
10
- id: string;
11
- messages: Message[];
12
- createdAt: Date;
13
- updatedAt: Date;
14
- }
15
- //# sourceMappingURL=messages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CAChB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":""}
@@ -1,46 +0,0 @@
1
- export type AutonomyTier = 'low' | 'medium' | 'high';
2
- export interface AutonomyConfig {
3
- canMergePrs: boolean;
4
- canCreateReleases: boolean;
5
- canCloseIssues: boolean;
6
- canSelfReview: boolean;
7
- requiresUserApprovalFor: string[];
8
- }
9
- export interface Squad {
10
- id: string;
11
- name: string;
12
- projectPath: string;
13
- repoUrl?: string;
14
- universe?: string;
15
- color: string;
16
- autonomyTier: AutonomyTier;
17
- autonomyConfig: AutonomyConfig;
18
- status: 'active' | 'paused' | 'disbanded';
19
- createdAt: Date;
20
- }
21
- export interface SquadMember {
22
- id: string;
23
- squadId: string;
24
- displayName: string;
25
- roleName: string;
26
- persona?: string;
27
- skillFilePath?: string;
28
- toolsAllowed: string[];
29
- isVetoMember: boolean;
30
- status: 'active' | 'retired';
31
- createdAt: Date;
32
- }
33
- export type InstanceStatus = 'planning' | 'meeting' | 'working' | 'reviewing' | 'complete' | 'failed';
34
- export interface SquadInstance {
35
- id: string;
36
- squadId: string;
37
- type: 'instance' | 'delegation';
38
- objective?: string;
39
- issueRef?: string;
40
- worktreePath?: string;
41
- branchName?: string;
42
- status: InstanceStatus;
43
- createdAt: Date;
44
- completedAt?: Date;
45
- }
46
- //# sourceMappingURL=squads.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"squads.d.ts","sourceRoot":"","sources":["../../src/types/squads.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,cAAc;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,uBAAuB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,KAAK;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC1C,SAAS,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GACvB,UAAU,GACV,SAAS,GACT,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEZ,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;CACnB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=squads.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"squads.js","sourceRoot":"","sources":["../../src/types/squads.ts"],"names":[],"mappings":""}
@@ -1,19 +0,0 @@
1
- export interface TokenUsage {
2
- id: number;
3
- squadId?: string;
4
- instanceId?: string;
5
- agentRole?: string;
6
- model: string;
7
- inputTokens: number;
8
- outputTokens: number;
9
- estimatedCostUsd?: number;
10
- timestamp: Date;
11
- }
12
- export interface ModelPricing {
13
- model: string;
14
- inputCostPer1m: number;
15
- outputCostPer1m: number;
16
- tier?: 'fast' | 'standard' | 'reasoning';
17
- lastUpdated: Date;
18
- }
19
- //# sourceMappingURL=tokens.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/types/tokens.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;IACzC,WAAW,EAAE,IAAI,CAAC;CAClB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tokens.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/types/tokens.ts"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- {
2
- "name": "@io/shared",
3
- "version": "3.3.5",
4
- "private": true,
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "import": "./dist/index.js",
11
- "types": "./dist/index.d.ts"
12
- }
13
- },
14
- "scripts": {
15
- "build": "tsc",
16
- "dev": "tsc --watch"
17
- }
18
- }
@@ -1,85 +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
-
6
- export interface IOConfig {
7
- apiPort: number;
8
- logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
9
- defaultModel: string;
10
- maxInstancesPerSquad: number;
11
- dataDir: string;
12
- timezone: string;
13
- pricing: {
14
- refreshIntervalHours: number;
15
- };
16
- telegram: {
17
- botToken: string | null;
18
- allowedChatIds: number[];
19
- };
20
- supabase: {
21
- projectUrl: string | null;
22
- anonKey: string | null;
23
- jwtSecret: string | null;
24
- };
25
- }
26
-
27
- function resolveDataDir(dir: string): string {
28
- if (dir.startsWith('~')) {
29
- return join(homedir(), dir.slice(1));
30
- }
31
- return dir;
32
- }
33
-
34
- /** Read a trimmed string from env or config, returning null if empty. */
35
- function readString(
36
- envVal: string | undefined,
37
- configVal: string | null | undefined,
38
- ): string | null {
39
- const raw = envVal || configVal || null;
40
- return raw?.trim() || null;
41
- }
42
-
43
- /**
44
- * Load IO configuration. Priority: env vars > config file > defaults.
45
- * Config file location: ~/.io/config.json (or IO_DATA_DIR/config.json).
46
- */
47
- export function loadConfig(): IOConfig {
48
- const dataDir = resolveDataDir(process.env.IO_DATA_DIR ?? DEFAULT_CONFIG.dataDir);
49
- const configPath = join(dataDir, 'config.json');
50
-
51
- let fileConfig: Record<string, any> = {};
52
- if (existsSync(configPath)) {
53
- const raw = readFileSync(configPath, 'utf-8');
54
- fileConfig = JSON.parse(raw);
55
- }
56
-
57
- return {
58
- apiPort: Number(process.env.IO_PORT) || fileConfig.apiPort || DEFAULT_CONFIG.apiPort,
59
- logLevel:
60
- (process.env.IO_LOG_LEVEL as IOConfig['logLevel']) ||
61
- fileConfig.logLevel ||
62
- DEFAULT_CONFIG.logLevel,
63
- defaultModel: process.env.IO_MODEL || fileConfig.defaultModel || DEFAULT_CONFIG.defaultModel,
64
- maxInstancesPerSquad: fileConfig.maxInstancesPerSquad || DEFAULT_CONFIG.maxInstancesPerSquad,
65
- dataDir,
66
- timezone: process.env.IO_TIMEZONE || fileConfig.timezone || DEFAULT_CONFIG.timezone,
67
- pricing: {
68
- refreshIntervalHours:
69
- fileConfig.pricing?.refreshIntervalHours || DEFAULT_CONFIG.pricing.refreshIntervalHours,
70
- },
71
- telegram: {
72
- botToken: process.env.TELEGRAM_BOT_TOKEN || fileConfig.telegram?.botToken || null,
73
- allowedChatIds: process.env.TELEGRAM_ALLOWED_CHAT_IDS
74
- ? process.env.TELEGRAM_ALLOWED_CHAT_IDS.split(',').map((id) =>
75
- Number.parseInt(id.trim(), 10),
76
- )
77
- : fileConfig.telegram?.allowedChatIds || [],
78
- },
79
- supabase: {
80
- projectUrl: readString(process.env.IO_SUPABASE_URL, fileConfig.supabase?.projectUrl),
81
- anonKey: readString(process.env.IO_SUPABASE_ANON_KEY, fileConfig.supabase?.anonKey),
82
- jwtSecret: readString(process.env.IO_SUPABASE_JWT_SECRET, fileConfig.supabase?.jwtSecret),
83
- },
84
- };
85
- }
@@ -1,54 +0,0 @@
1
- import type { AutonomyConfig } from './types/squads.js';
2
-
3
- /**
4
- * Squad color palette — complementary to the dark UI with pink (#E43A9C) accent.
5
- * Each squad gets a unique color from this list at creation time.
6
- */
7
- export const SQUAD_COLORS = [
8
- '#38bdf8', // sky blue
9
- '#a78bfa', // violet
10
- '#34d399', // emerald
11
- '#f59e0b', // amber
12
- '#f87171', // red
13
- '#06b6d4', // cyan
14
- '#fb923c', // orange
15
- '#4ade80', // green
16
- '#c084fc', // purple
17
- '#facc15', // yellow
18
- ] as const;
19
-
20
- export const AUTONOMY_TIERS: Record<string, AutonomyConfig> = {
21
- low: {
22
- canMergePrs: false,
23
- canCreateReleases: false,
24
- canCloseIssues: false,
25
- canSelfReview: false,
26
- requiresUserApprovalFor: ['merge', 'release', 'close', 'review'],
27
- },
28
- medium: {
29
- canMergePrs: false,
30
- canCreateReleases: false,
31
- canCloseIssues: true,
32
- canSelfReview: true,
33
- requiresUserApprovalFor: ['merge', 'release'],
34
- },
35
- high: {
36
- canMergePrs: true,
37
- canCreateReleases: true,
38
- canCloseIssues: true,
39
- canSelfReview: true,
40
- requiresUserApprovalFor: [],
41
- },
42
- };
43
-
44
- export const DEFAULT_CONFIG = {
45
- apiPort: 7777,
46
- logLevel: 'info' as const,
47
- defaultModel: 'claude-opus-4.6',
48
- maxInstancesPerSquad: 3,
49
- dataDir: '~/.io',
50
- timezone: 'UTC',
51
- pricing: {
52
- refreshIntervalHours: 24,
53
- },
54
- };
@@ -1,46 +0,0 @@
1
- export type { Message, Conversation } from './types/messages.js';
2
- export type {
3
- Squad,
4
- SquadMember,
5
- SquadInstance,
6
- InstanceStatus,
7
- AutonomyTier,
8
- AutonomyConfig,
9
- } from './types/squads.js';
10
- export type { AgentRole, AgentStatus } from './types/agents.js';
11
- export type { TokenUsage, ModelPricing } from './types/tokens.js';
12
- export type { Attachment } from './types/attachments.js';
13
- export type {
14
- WorkEventKind,
15
- WorkEvent,
16
- AgentHistoryEntry,
17
- HistoryActivityStatus,
18
- HistoryActivityType,
19
- HistoryActivity,
20
- HistoryActivityDetail,
21
- } from './types/history.js';
22
- export type {
23
- SquadEvent,
24
- SquadEventType,
25
- AgentEvent,
26
- AgentEventType,
27
- InstanceEvent,
28
- InstanceEventType,
29
- MeetingEvent,
30
- MeetingEventType,
31
- InboxEvent,
32
- InboxEventType,
33
- ScheduleEvent,
34
- ScheduleEventType,
35
- IOEvent,
36
- BaseEvent,
37
- } from './types/events.js';
38
- export type {
39
- ApiMessage,
40
- ApiSquadResponse,
41
- ApiUsageResponse,
42
- ApiHealthResponse,
43
- } from './types/api.js';
44
- export { AUTONOMY_TIERS, DEFAULT_CONFIG, SQUAD_COLORS } from './constants.js';
45
- export { loadConfig } from './config.js';
46
- export type { IOConfig } from './config.js';
@@ -1,3 +0,0 @@
1
- export type AgentRole = 'team-lead' | 'scribe' | 'qa-tester' | string; // dynamic specialist roles
2
-
3
- export type AgentStatus = 'idle' | 'working' | 'meeting' | 'blocked' | 'error';
@@ -1,35 +0,0 @@
1
- export interface ApiMessage {
2
- content: string;
3
- source?: 'tui' | 'telegram' | 'web';
4
- attachmentIds?: string[];
5
- }
6
-
7
- export interface ApiSquadResponse {
8
- id: string;
9
- name: string;
10
- projectPath: string;
11
- status: string;
12
- autonomyTier: string;
13
- memberCount: number;
14
- activeInstances: number;
15
- }
16
-
17
- export interface ApiUsageResponse {
18
- totalInputTokens: number;
19
- totalOutputTokens: number;
20
- totalEstimatedCost: number;
21
- breakdown: {
22
- model: string;
23
- inputTokens: number;
24
- outputTokens: number;
25
- estimatedCost: number;
26
- }[];
27
- }
28
-
29
- export interface ApiHealthResponse {
30
- status: 'healthy' | 'degraded' | 'unhealthy';
31
- uptime: number;
32
- copilotConnected: boolean;
33
- activeSquads: number;
34
- activeInstances: number;
35
- }
@@ -1,9 +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
- }
@@ -1,86 +0,0 @@
1
- export type SquadEventType =
2
- | 'squad:created'
3
- | 'squad:disbanded'
4
- | 'squad:member_added'
5
- | 'squad:member_retired';
6
-
7
- export type AgentEventType =
8
- | 'agent:task_started'
9
- | 'agent:task_completed'
10
- | 'agent:tool_call'
11
- | 'agent:tool_result'
12
- | 'agent:thought'
13
- | 'agent:decision'
14
- | 'agent:error'
15
- | 'agent:permission_denied';
16
-
17
- export type InstanceEventType =
18
- | 'instance:created'
19
- | 'instance:meeting_started'
20
- | 'instance:meeting_complete'
21
- | 'instance:planning_complete'
22
- | 'instance:review_cycle'
23
- | 'instance:work_started'
24
- | 'instance:pr_created'
25
- | 'instance:complete'
26
- | 'instance:failed';
27
-
28
- export type MeetingEventType =
29
- | 'meeting:contribution'
30
- | 'meeting:consensus_reached'
31
- | 'meeting:veto';
32
-
33
- export type InboxEventType = 'inbox:new' | 'inbox:resolved';
34
-
35
- export type ScheduleEventType = 'schedule:fired' | 'schedule:completed' | 'schedule:failed';
36
-
37
- export interface BaseEvent {
38
- id: string;
39
- timestamp: Date;
40
- squadId?: string;
41
- instanceId?: string;
42
- }
43
-
44
- export interface SquadEvent extends BaseEvent {
45
- type: SquadEventType;
46
- squadName: string;
47
- data?: Record<string, unknown>;
48
- }
49
-
50
- export interface AgentEvent extends BaseEvent {
51
- type: AgentEventType;
52
- agentRole: string;
53
- model?: string;
54
- data?: Record<string, unknown>;
55
- }
56
-
57
- export interface InstanceEvent extends BaseEvent {
58
- type: InstanceEventType;
59
- data?: Record<string, unknown>;
60
- }
61
-
62
- export interface MeetingEvent extends BaseEvent {
63
- type: MeetingEventType;
64
- agentRole: string;
65
- content: string;
66
- }
67
-
68
- export interface InboxEvent extends BaseEvent {
69
- type: InboxEventType;
70
- kind: 'deliverable' | 'question' | 'note';
71
- title: string;
72
- entryId: string;
73
- }
74
-
75
- export interface ScheduleEvent extends BaseEvent {
76
- type: ScheduleEventType;
77
- data?: Record<string, unknown>;
78
- }
79
-
80
- export type IOEvent =
81
- | SquadEvent
82
- | AgentEvent
83
- | InstanceEvent
84
- | MeetingEvent
85
- | InboxEvent
86
- | ScheduleEvent;
@@ -1,37 +0,0 @@
1
- export type WorkEventKind = 'thought' | 'tool_call' | 'tool_result' | 'message' | 'decision';
2
-
3
- export interface WorkEvent {
4
- id: number;
5
- kind: WorkEventKind;
6
- timestamp: string;
7
- label?: string;
8
- content: string;
9
- status?: 'ok' | 'error';
10
- }
11
-
12
- export interface AgentHistoryEntry {
13
- agentId: string;
14
- agentName: string;
15
- role: string;
16
- roleType?: 'lead' | 'qa' | 'scribe' | 'default';
17
- summary: string;
18
- events: WorkEvent[];
19
- }
20
-
21
- export type HistoryActivityStatus = 'completed' | 'errored';
22
- export type HistoryActivityType = 'instance' | 'delegation';
23
-
24
- export interface HistoryActivity {
25
- id: string;
26
- title: string;
27
- type: HistoryActivityType;
28
- status: HistoryActivityStatus;
29
- createdAt: string;
30
- completedAt: string;
31
- duration: string;
32
- agentCount: number;
33
- }
34
-
35
- export interface HistoryActivityDetail extends HistoryActivity {
36
- agentEntries: AgentHistoryEntry[];
37
- }
@@ -1,15 +0,0 @@
1
- export interface Message {
2
- id: string;
3
- role: 'user' | 'assistant' | 'system';
4
- content: string;
5
- source?: 'tui' | 'telegram' | 'web';
6
- attachments?: string[];
7
- createdAt: Date;
8
- }
9
-
10
- export interface Conversation {
11
- id: string;
12
- messages: Message[];
13
- createdAt: Date;
14
- updatedAt: Date;
15
- }
@@ -1,56 +0,0 @@
1
- export type AutonomyTier = 'low' | 'medium' | 'high';
2
-
3
- export interface AutonomyConfig {
4
- canMergePrs: boolean;
5
- canCreateReleases: boolean;
6
- canCloseIssues: boolean;
7
- canSelfReview: boolean;
8
- requiresUserApprovalFor: string[];
9
- }
10
-
11
- export interface Squad {
12
- id: string;
13
- name: string;
14
- projectPath: string;
15
- repoUrl?: string;
16
- universe?: string;
17
- color: string;
18
- autonomyTier: AutonomyTier;
19
- autonomyConfig: AutonomyConfig;
20
- status: 'active' | 'paused' | 'disbanded';
21
- createdAt: Date;
22
- }
23
-
24
- export interface SquadMember {
25
- id: string;
26
- squadId: string;
27
- displayName: string;
28
- roleName: string;
29
- persona?: string;
30
- skillFilePath?: string;
31
- toolsAllowed: string[];
32
- isVetoMember: boolean;
33
- status: 'active' | 'retired';
34
- createdAt: Date;
35
- }
36
-
37
- export type InstanceStatus =
38
- | 'planning'
39
- | 'meeting'
40
- | 'working'
41
- | 'reviewing'
42
- | 'complete'
43
- | 'failed';
44
-
45
- export interface SquadInstance {
46
- id: string;
47
- squadId: string;
48
- type: 'instance' | 'delegation';
49
- objective?: string;
50
- issueRef?: string;
51
- worktreePath?: string;
52
- branchName?: string;
53
- status: InstanceStatus;
54
- createdAt: Date;
55
- completedAt?: Date;
56
- }
@@ -1,19 +0,0 @@
1
- export interface TokenUsage {
2
- id: number;
3
- squadId?: string;
4
- instanceId?: string;
5
- agentRole?: string;
6
- model: string;
7
- inputTokens: number;
8
- outputTokens: number;
9
- estimatedCostUsd?: number;
10
- timestamp: Date;
11
- }
12
-
13
- export interface ModelPricing {
14
- model: string;
15
- inputCostPer1m: number;
16
- outputCostPer1m: number;
17
- tier?: 'fast' | 'standard' | 'reasoning';
18
- lastUpdated: Date;
19
- }
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.base.json",
3
- "compilerOptions": {
4
- "outDir": "./dist",
5
- "rootDir": "./src",
6
- "composite": true
7
- },
8
- "include": ["src/**/*"]
9
- }