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 +0,0 @@
1
- {"version":3,"file":"hiring.js","sourceRoot":"","sources":["../../src/squad/hiring.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export { EventBus, getEventBus } from './event-bus.js';
2
- export { parseSkillFile, parseSkillContent, compileSystemPrompt } from './skill-parser.js';
3
- export type { SkillDefinition } from './skill-parser.js';
4
- export { Agent } from './agent.js';
5
- export type { AgentConfig } from './agent.js';
6
- export { createSquad, addMember, listSquads, getSquadByName, getSquadMembers, disbandSquad, bootSquad, getSquadRuntime, delegateToSquad, } from './manager.js';
7
- export { proposeSquad, confirmSquad, addMemberToExistingSquad, getProposal, getProposalByRepo, deleteProposal, } from './hiring.js';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/squad/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3F,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACN,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,SAAS,EACT,eAAe,EACf,eAAe,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,WAAW,EACX,iBAAiB,EACjB,cAAc,GACd,MAAM,aAAa,CAAC"}
@@ -1,6 +0,0 @@
1
- export { EventBus, getEventBus } from './event-bus.js';
2
- export { parseSkillFile, parseSkillContent, compileSystemPrompt } from './skill-parser.js';
3
- export { Agent } from './agent.js';
4
- export { createSquad, addMember, listSquads, getSquadByName, getSquadMembers, disbandSquad, bootSquad, getSquadRuntime, delegateToSquad, } from './manager.js';
5
- export { proposeSquad, confirmSquad, addMemberToExistingSquad, getProposal, getProposalByRepo, deleteProposal, } from './hiring.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/squad/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE3F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EACN,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,SAAS,EACT,eAAe,EACf,eAAe,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,WAAW,EACX,iBAAiB,EACjB,cAAc,GACd,MAAM,aAAa,CAAC"}
@@ -1,58 +0,0 @@
1
- import { type Squad, type SquadMember } from '@io/shared';
2
- import type { AutonomyTier } from '@io/shared';
3
- import { Agent } from './agent.js';
4
- import { type SkillDefinition } from './skill-parser.js';
5
- export interface SquadRuntime {
6
- squad: Squad;
7
- members: Map<string, Agent>;
8
- skills: Map<string, SkillDefinition>;
9
- }
10
- /** Create a new squad in the database and return it */
11
- export declare function createSquad(params: {
12
- name: string;
13
- projectPath: string;
14
- repoUrl?: string;
15
- universe?: string;
16
- autonomyTier?: AutonomyTier;
17
- }): Promise<Squad>;
18
- /** Add a member to a squad */
19
- export declare function addMember(params: {
20
- squadId: string;
21
- skill: SkillDefinition;
22
- displayName: string;
23
- persona?: string;
24
- isVetoMember?: boolean;
25
- }): Promise<SquadMember>;
26
- /** List all squads */
27
- export declare function listSquads(): Promise<Squad[]>;
28
- /** Get a squad by name */
29
- export declare function getSquadByName(name: string): Promise<Squad | null>;
30
- /** Get squad members */
31
- export declare function getSquadMembers(squadId: string): Promise<SquadMember[]>;
32
- /** Disband a squad — soft-delete that preserves data for usage reports */
33
- export declare function disbandSquad(squadId: string): Promise<void>;
34
- /** Rename a squad member's display name */
35
- export declare function renameMember(memberId: string, newDisplayName: string): Promise<void>;
36
- /** Remove (retire) a member from a squad */
37
- export declare function removeMember(memberId: string, squadId: string): Promise<void>;
38
- /** Find a squad member by role name or display name */
39
- export declare function findMember(squadId: string, identifier: string): Promise<SquadMember | null>;
40
- /** Retheme a squad with a new universe — updates display names and personas */
41
- export declare function rethemeSquad(squadId: string, newUniverse: string, assignments: {
42
- role: string;
43
- displayName: string;
44
- persona: string;
45
- }[]): Promise<void>;
46
- /** Get squad by ID */
47
- export declare function getSquadById(squadId: string): Promise<Squad | null>;
48
- /** Boot a squad's agents (creates sessions for each member) */
49
- export declare function bootSquad(squad: Squad): Promise<SquadRuntime>;
50
- /** Get a running squad's runtime */
51
- export declare function getSquadRuntime(squadId: string): SquadRuntime | undefined;
52
- /** Delegate a message to a squad's team lead */
53
- export declare function delegateToSquad(squadId: string, message: string, attachments?: Array<{
54
- type: 'file';
55
- path: string;
56
- displayName?: string;
57
- }>): Promise<string>;
58
- //# sourceMappingURL=manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/squad/manager.ts"],"names":[],"mappings":"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"}
@@ -1,351 +0,0 @@
1
- import { AUTONOMY_TIERS, SQUAD_COLORS } from '@io/shared';
2
- import { createChildLogger } from '../logging/logger.js';
3
- import { getDatabase } from '../store/db.js';
4
- import { Agent } from './agent.js';
5
- import { getEventBus } from './event-bus.js';
6
- import { selectModelForRole } from './model-selector.js';
7
- import { parseSkillContent, parseSkillFile } from './skill-parser.js';
8
- const logger = () => createChildLogger('squad-manager');
9
- // Active squads keyed by squad ID
10
- const activeSquads = new Map();
11
- /** Create a new squad in the database and return it */
12
- export async function createSquad(params) {
13
- const db = getDatabase();
14
- const id = crypto.randomUUID();
15
- const tier = params.autonomyTier ?? 'medium';
16
- const autonomyConfig = AUTONOMY_TIERS[tier];
17
- // Pick the next color from the palette based on existing squad count
18
- const countResult = await db.execute('SELECT COUNT(*) as cnt FROM squads');
19
- const existingCount = countResult.rows[0]?.cnt ?? 0;
20
- const color = SQUAD_COLORS[existingCount % SQUAD_COLORS.length];
21
- await db.execute({
22
- sql: `INSERT INTO squads (id, name, project_path, repo_url, universe, autonomy_tier, autonomy_config, color, status)
23
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'active')`,
24
- args: [
25
- id,
26
- params.name,
27
- params.projectPath,
28
- params.repoUrl ?? null,
29
- params.universe ?? null,
30
- tier,
31
- JSON.stringify(autonomyConfig),
32
- color,
33
- ],
34
- });
35
- const squad = {
36
- id,
37
- name: params.name,
38
- projectPath: params.projectPath,
39
- repoUrl: params.repoUrl,
40
- universe: params.universe,
41
- color,
42
- autonomyTier: tier,
43
- autonomyConfig,
44
- status: 'active',
45
- createdAt: new Date(),
46
- };
47
- await getEventBus().emit({
48
- id: crypto.randomUUID(),
49
- timestamp: new Date(),
50
- type: 'squad:created',
51
- squadId: id,
52
- squadName: params.name,
53
- data: { projectPath: params.projectPath, tier },
54
- });
55
- logger().info({ squadId: id, name: params.name }, 'Squad created');
56
- return squad;
57
- }
58
- /** Add a member to a squad */
59
- export async function addMember(params) {
60
- const db = getDatabase();
61
- const id = crypto.randomUUID();
62
- await db.execute({
63
- sql: `INSERT INTO squad_members (id, squad_id, display_name, role_name, persona, skill_file_path, tools_allowed, is_veto_member, status)
64
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'active')`,
65
- args: [
66
- id,
67
- params.squadId,
68
- params.displayName,
69
- params.skill.role,
70
- params.persona ?? null,
71
- params.skill.filePath,
72
- JSON.stringify(params.skill.tools),
73
- params.isVetoMember ? 1 : 0,
74
- ],
75
- });
76
- const member = {
77
- id,
78
- squadId: params.squadId,
79
- displayName: params.displayName,
80
- roleName: params.skill.role,
81
- persona: params.persona,
82
- skillFilePath: params.skill.filePath,
83
- toolsAllowed: params.skill.tools,
84
- isVetoMember: params.isVetoMember ?? false,
85
- status: 'active',
86
- createdAt: new Date(),
87
- };
88
- return member;
89
- }
90
- /** List all squads */
91
- export async function listSquads() {
92
- const db = getDatabase();
93
- const result = await db.execute("SELECT * FROM squads WHERE status = 'active'");
94
- return result.rows.map((row) => ({
95
- id: row.id,
96
- name: row.name,
97
- projectPath: row.project_path,
98
- repoUrl: row.repo_url || undefined,
99
- universe: row.universe || undefined,
100
- color: row.color || '#38bdf8',
101
- autonomyTier: row.autonomy_tier,
102
- autonomyConfig: JSON.parse(row.autonomy_config || '{}'),
103
- status: row.status,
104
- createdAt: new Date(row.created_at),
105
- }));
106
- }
107
- /** Get a squad by name */
108
- export async function getSquadByName(name) {
109
- const db = getDatabase();
110
- const result = await db.execute({
111
- sql: "SELECT * FROM squads WHERE name = ? AND status = 'active'",
112
- args: [name],
113
- });
114
- if (result.rows.length === 0)
115
- return null;
116
- const row = result.rows[0];
117
- return {
118
- id: row.id,
119
- name: row.name,
120
- projectPath: row.project_path,
121
- repoUrl: row.repo_url || undefined,
122
- universe: row.universe || undefined,
123
- color: row.color || '#38bdf8',
124
- autonomyTier: row.autonomy_tier,
125
- autonomyConfig: JSON.parse(row.autonomy_config || '{}'),
126
- status: row.status,
127
- createdAt: new Date(row.created_at),
128
- };
129
- }
130
- /** Get squad members */
131
- export async function getSquadMembers(squadId) {
132
- const db = getDatabase();
133
- const result = await db.execute({
134
- sql: "SELECT * FROM squad_members WHERE squad_id = ? AND status = 'active'",
135
- args: [squadId],
136
- });
137
- return result.rows.map((row) => ({
138
- id: row.id,
139
- squadId: row.squad_id,
140
- displayName: row.display_name || row.role_name,
141
- roleName: row.role_name,
142
- persona: row.persona || undefined,
143
- skillFilePath: row.skill_file_path || undefined,
144
- toolsAllowed: JSON.parse(row.tools_allowed || '[]'),
145
- isVetoMember: Boolean(row.is_veto_member),
146
- status: row.status,
147
- createdAt: new Date(row.created_at),
148
- }));
149
- }
150
- /** Disband a squad — soft-delete that preserves data for usage reports */
151
- export async function disbandSquad(squadId) {
152
- const db = getDatabase();
153
- // Get squad name for disk cleanup and event
154
- const squad = await getSquadById(squadId);
155
- const squadName = squad?.name ?? '';
156
- // Mark squad and members as disbanded/retired
157
- await db.execute({
158
- sql: "UPDATE squads SET status = 'disbanded' WHERE id = ?",
159
- args: [squadId],
160
- });
161
- await db.execute({
162
- sql: "UPDATE squad_members SET status = 'retired' WHERE squad_id = ?",
163
- args: [squadId],
164
- });
165
- // Cancel schedules targeting this squad
166
- await db.execute({
167
- sql: "DELETE FROM schedules WHERE target_type = 'squad' AND target_id = ?",
168
- args: [squadId],
169
- });
170
- // Auto-resolve pending inbox entries
171
- await db.execute({
172
- sql: "UPDATE inbox_entries SET status = 'dismissed', response = 'Squad was disbanded', resolved_at = CURRENT_TIMESTAMP WHERE squad_id = ? AND status IN ('unread', 'pending')",
173
- args: [squadId],
174
- });
175
- // Destroy any running agents
176
- const runtime = activeSquads.get(squadId);
177
- if (runtime) {
178
- for (const agent of runtime.members.values()) {
179
- await agent.destroy().catch(() => { });
180
- }
181
- activeSquads.delete(squadId);
182
- }
183
- // Clean up disk artifacts (wiki folder + skill files)
184
- if (squadName) {
185
- const { rmSync, existsSync } = await import('node:fs');
186
- const { join } = await import('node:path');
187
- const { homedir } = await import('node:os');
188
- const home = homedir();
189
- const wikiDir = join(home, '.io', 'wiki', 'squads', squadName);
190
- if (existsSync(wikiDir)) {
191
- rmSync(wikiDir, { recursive: true, force: true });
192
- }
193
- const skillsDir = join(home, '.io', 'squads', squadName);
194
- if (existsSync(skillsDir)) {
195
- rmSync(skillsDir, { recursive: true, force: true });
196
- }
197
- }
198
- await getEventBus().emit({
199
- id: crypto.randomUUID(),
200
- timestamp: new Date(),
201
- type: 'squad:disbanded',
202
- squadId,
203
- squadName,
204
- });
205
- logger().info({ squadId, squadName }, 'Squad disbanded');
206
- }
207
- /** Rename a squad member's display name */
208
- export async function renameMember(memberId, newDisplayName) {
209
- const db = getDatabase();
210
- await db.execute({
211
- sql: 'UPDATE squad_members SET display_name = ? WHERE id = ?',
212
- args: [newDisplayName, memberId],
213
- });
214
- logger().info({ memberId, newDisplayName }, 'Member renamed');
215
- }
216
- /** Remove (retire) a member from a squad */
217
- export async function removeMember(memberId, squadId) {
218
- const db = getDatabase();
219
- await db.execute({
220
- sql: "UPDATE squad_members SET status = 'retired' WHERE id = ?",
221
- args: [memberId],
222
- });
223
- // Destroy running agent if squad is booted
224
- const runtime = activeSquads.get(squadId);
225
- if (runtime) {
226
- // Find and remove the agent by member ID
227
- for (const [role, agent] of runtime.members.entries()) {
228
- const members = await getSquadMembers(squadId);
229
- const member = members.find((m) => m.id === memberId);
230
- if (member && member.roleName === role) {
231
- await agent.destroy().catch(() => { });
232
- runtime.members.delete(role);
233
- break;
234
- }
235
- }
236
- }
237
- logger().info({ memberId, squadId }, 'Member removed from squad');
238
- }
239
- /** Find a squad member by role name or display name */
240
- export async function findMember(squadId, identifier) {
241
- const members = await getSquadMembers(squadId);
242
- return (members.find((m) => m.roleName.toLowerCase() === identifier.toLowerCase() ||
243
- m.displayName.toLowerCase() === identifier.toLowerCase()) ?? null);
244
- }
245
- /** Retheme a squad with a new universe — updates display names and personas */
246
- export async function rethemeSquad(squadId, newUniverse, assignments) {
247
- const db = getDatabase();
248
- // Update squad universe
249
- await db.execute({
250
- sql: 'UPDATE squads SET universe = ? WHERE id = ?',
251
- args: [newUniverse, squadId],
252
- });
253
- // Update each member
254
- for (const assignment of assignments) {
255
- await db.execute({
256
- sql: 'UPDATE squad_members SET display_name = ?, persona = ? WHERE squad_id = ? AND role_name = ?',
257
- args: [assignment.displayName, assignment.persona, squadId, assignment.role],
258
- });
259
- }
260
- // If squad is running, destroy and reboot agents
261
- const runtime = activeSquads.get(squadId);
262
- if (runtime) {
263
- for (const agent of runtime.members.values()) {
264
- await agent.destroy().catch(() => { });
265
- }
266
- activeSquads.delete(squadId);
267
- // Reload squad data and reboot
268
- const squad = await getSquadById(squadId);
269
- if (squad) {
270
- await bootSquad(squad);
271
- }
272
- }
273
- logger().info({ squadId, universe: newUniverse }, 'Squad rethemed');
274
- }
275
- /** Get squad by ID */
276
- export async function getSquadById(squadId) {
277
- const db = getDatabase();
278
- const result = await db.execute({
279
- sql: 'SELECT * FROM squads WHERE id = ?',
280
- args: [squadId],
281
- });
282
- if (result.rows.length === 0)
283
- return null;
284
- const row = result.rows[0];
285
- return {
286
- id: row.id,
287
- name: row.name,
288
- projectPath: row.project_path,
289
- repoUrl: row.repo_url || undefined,
290
- universe: row.universe || undefined,
291
- color: row.color || '#38bdf8',
292
- autonomyTier: row.autonomy_tier,
293
- autonomyConfig: JSON.parse(row.autonomy_config || '{}'),
294
- status: row.status,
295
- createdAt: new Date(row.created_at),
296
- };
297
- }
298
- /** Boot a squad's agents (creates sessions for each member) */
299
- export async function bootSquad(squad) {
300
- const members = await getSquadMembers(squad.id);
301
- const runtime = {
302
- squad,
303
- members: new Map(),
304
- skills: new Map(),
305
- };
306
- const squadContext = `Project: ${squad.name}\nPath: ${squad.projectPath}${squad.repoUrl ? `\nRepo: ${squad.repoUrl}` : ''}`;
307
- for (const member of members) {
308
- let skill;
309
- if (member.skillFilePath) {
310
- skill = parseSkillFile(member.skillFilePath);
311
- }
312
- else {
313
- // Fallback: generate a minimal skill
314
- skill = parseSkillContent(`---\nrole: ${member.roleName}\ntools: []\nveto: false\n---\nYou are the ${member.roleName}.`);
315
- }
316
- runtime.skills.set(member.roleName, skill);
317
- const agent = new Agent({
318
- skill,
319
- squadId: squad.id,
320
- squadName: squad.name,
321
- model: selectModelForRole(member.roleName, 'meeting'),
322
- identity: {
323
- displayName: member.displayName,
324
- persona: member.persona,
325
- universe: squad.universe,
326
- },
327
- });
328
- await agent.init(squadContext);
329
- runtime.members.set(member.roleName, agent);
330
- }
331
- activeSquads.set(squad.id, runtime);
332
- logger().info({ squadId: squad.id, memberCount: members.length }, 'Squad booted');
333
- return runtime;
334
- }
335
- /** Get a running squad's runtime */
336
- export function getSquadRuntime(squadId) {
337
- return activeSquads.get(squadId);
338
- }
339
- /** Delegate a message to a squad's team lead */
340
- export async function delegateToSquad(squadId, message, attachments) {
341
- const runtime = activeSquads.get(squadId);
342
- if (!runtime) {
343
- throw new Error(`Squad ${squadId} is not running`);
344
- }
345
- const teamLead = runtime.members.get('technical-pm');
346
- if (!teamLead) {
347
- throw new Error(`Squad ${squadId} has no team lead`);
348
- }
349
- return teamLead.send(message, attachments);
350
- }
351
- //# sourceMappingURL=manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/squad/manager.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Model selection logic for squad agents.
3
- *
4
- * Strategy:
5
- * - Fixed roles (scribe, technical-pm) have predetermined tiers
6
- * - Dynamic roles get their tier from the team lead's task assignment
7
- * - On retry after failed review, tier automatically escalates
8
- */
9
- import { type ModelTier } from '../models/registry.js';
10
- export type { ModelTier } from '../models/registry.js';
11
- /**
12
- * Select model for a fixed-role agent based on their role and current phase.
13
- */
14
- export declare function selectModelForRole(role: string, phase: 'meeting' | 'task' | 'review'): string;
15
- /**
16
- * Select model for task execution based on team-lead-assigned tier and retry count.
17
- * Each retry bumps the tier up one level (fast→standard→reasoning).
18
- */
19
- export declare function selectModelForTask(tierHint: ModelTier | undefined, retryCount: number): string;
20
- /**
21
- * Escalate tier based on retry count.
22
- * Each retry bumps up one tier. Max is 'reasoning'.
23
- */
24
- export declare function tierForRetry(baseTier: ModelTier, retries: number): ModelTier;
25
- /**
26
- * Parse a MODEL_TIER string into a validated ModelTier value.
27
- */
28
- export declare function parseTierHint(hint: string | undefined): ModelTier | undefined;
29
- //# sourceMappingURL=model-selector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-selector.d.ts","sourceRoot":"","sources":["../../src/squad/model-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AAEvE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAOvD;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAClC,MAAM,CAoBR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,SAAS,GAAG,SAAS,EAC/B,UAAU,EAAE,MAAM,GAChB,MAAM,CAIR;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAI5E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAO7E"}
@@ -1,64 +0,0 @@
1
- /**
2
- * Model selection logic for squad agents.
3
- *
4
- * Strategy:
5
- * - Fixed roles (scribe, technical-pm) have predetermined tiers
6
- * - Dynamic roles get their tier from the team lead's task assignment
7
- * - On retry after failed review, tier automatically escalates
8
- */
9
- import { DEFAULT_MODELS } from '../models/registry.js';
10
- /**
11
- * Tier escalation order: fast → standard → reasoning
12
- */
13
- const TIER_ORDER = ['fast', 'standard', 'reasoning'];
14
- /**
15
- * Select model for a fixed-role agent based on their role and current phase.
16
- */
17
- export function selectModelForRole(role, phase) {
18
- const normalizedRole = role.toLowerCase().replace(/[\s_-]+/g, '');
19
- // Scribe always uses fast tier
20
- if (normalizedRole === 'scribe') {
21
- return DEFAULT_MODELS.fast;
22
- }
23
- // Technical PM: standard for meetings/tasks, reasoning for final review
24
- if (normalizedRole === 'technicalpm' || normalizedRole === 'teamlead') {
25
- return phase === 'review' ? DEFAULT_MODELS.reasoning : DEFAULT_MODELS.standard;
26
- }
27
- // All other roles default to standard during meetings
28
- if (phase === 'meeting') {
29
- return DEFAULT_MODELS.standard;
30
- }
31
- // For task execution, return standard as default (team lead can override)
32
- return DEFAULT_MODELS.standard;
33
- }
34
- /**
35
- * Select model for task execution based on team-lead-assigned tier and retry count.
36
- * Each retry bumps the tier up one level (fast→standard→reasoning).
37
- */
38
- export function selectModelForTask(tierHint, retryCount) {
39
- const baseTier = tierHint ?? 'standard';
40
- const escalatedTier = tierForRetry(baseTier, retryCount);
41
- return DEFAULT_MODELS[escalatedTier];
42
- }
43
- /**
44
- * Escalate tier based on retry count.
45
- * Each retry bumps up one tier. Max is 'reasoning'.
46
- */
47
- export function tierForRetry(baseTier, retries) {
48
- const baseIndex = TIER_ORDER.indexOf(baseTier);
49
- const escalatedIndex = Math.min(baseIndex + retries, TIER_ORDER.length - 1);
50
- return TIER_ORDER[escalatedIndex];
51
- }
52
- /**
53
- * Parse a MODEL_TIER string into a validated ModelTier value.
54
- */
55
- export function parseTierHint(hint) {
56
- if (!hint)
57
- return undefined;
58
- const normalized = hint.toLowerCase().trim();
59
- if (normalized === 'fast' || normalized === 'standard' || normalized === 'reasoning') {
60
- return normalized;
61
- }
62
- return undefined;
63
- }
64
- //# sourceMappingURL=model-selector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-selector.js","sourceRoot":"","sources":["../../src/squad/model-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAkB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvE;;GAEG;AACH,MAAM,UAAU,GAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,kBAAkB,CACjC,IAAY,EACZ,KAAoC;IAEpC,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAElE,+BAA+B;IAC/B,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,cAAc,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,wEAAwE;IACxE,IAAI,cAAc,KAAK,aAAa,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QACvE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;IAChF,CAAC;IAED,sDAAsD;IACtD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,cAAc,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,0EAA0E;IAC1E,OAAO,cAAc,CAAC,QAAQ,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CACjC,QAA+B,EAC/B,UAAkB;IAElB,MAAM,QAAQ,GAAG,QAAQ,IAAI,UAAU,CAAC;IACxC,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACzD,OAAO,cAAc,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAAmB,EAAE,OAAe;IAChE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,UAAU,CAAC,cAAc,CAAc,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAwB;IACrD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QACtF,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
@@ -1,16 +0,0 @@
1
- export interface NameAssignment {
2
- role: string;
3
- displayName: string;
4
- persona: string;
5
- }
6
- export interface GeneratedNames {
7
- universe: string;
8
- assignments: NameAssignment[];
9
- }
10
- /**
11
- * Generate character names and persona blurbs for squad members using the LLM.
12
- * If a universe is provided, names come from that universe.
13
- * If not, the LLM picks a fun universe on its own.
14
- */
15
- export declare function generateSquadNames(roles: string[], universe?: string): Promise<GeneratedNames>;
16
- //# sourceMappingURL=name-generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"name-generator.d.ts","sourceRoot":"","sources":["../../src/squad/name-generator.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC9B;AAwBD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACvC,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAmDzB"}