crewly 1.1.0 → 1.1.2

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 (185) hide show
  1. package/config/roles/_common/memory-instructions.md +10 -1
  2. package/config/roles/architect/prompt.md +7 -0
  3. package/config/roles/backend-developer/prompt.md +7 -0
  4. package/config/roles/content-strategist/prompt.md +69 -0
  5. package/config/roles/designer/prompt.md +7 -0
  6. package/config/roles/developer/prompt.md +7 -0
  7. package/config/roles/frontend-developer/prompt.md +7 -0
  8. package/config/roles/fullstack-dev/prompt.md +7 -0
  9. package/config/roles/generalist/prompt.md +8 -1
  10. package/config/roles/orchestrator/prompt.md +16 -1
  11. package/config/roles/product-manager/prompt.md +7 -0
  12. package/config/roles/qa/prompt.md +7 -0
  13. package/config/roles/qa-engineer/prompt.md +7 -0
  14. package/config/roles/sales/prompt.md +7 -0
  15. package/config/roles/support/prompt.md +7 -0
  16. package/config/roles/tpm/prompt.md +7 -0
  17. package/config/skills/agent/core/register-self/instructions.md +1 -1
  18. package/config/skills/agent/core/remember/instructions.md +3 -3
  19. package/config/skills/orchestrator/delegate-task/execute.sh +21 -1
  20. package/config/skills/orchestrator/delegate-task/instructions.md +1 -0
  21. package/config/skills/orchestrator/remember/instructions.md +1 -1
  22. package/config/skills/orchestrator/reply-slack/execute.sh +33 -2
  23. package/config/skills/orchestrator/reply-slack/instructions.md +14 -1
  24. package/config/slack-app-manifest.json +37 -0
  25. package/dist/backend/backend/src/constants.d.ts +14 -1
  26. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  27. package/dist/backend/backend/src/constants.js +19 -2
  28. package/dist/backend/backend/src/constants.js.map +1 -1
  29. package/dist/backend/backend/src/controllers/index.d.ts.map +1 -1
  30. package/dist/backend/backend/src/controllers/index.js +6 -0
  31. package/dist/backend/backend/src/controllers/index.js.map +1 -1
  32. package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts +3 -0
  33. package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -0
  34. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +80 -0
  35. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -0
  36. package/dist/backend/backend/src/controllers/oauth/oauth.routes.d.ts +3 -0
  37. package/dist/backend/backend/src/controllers/oauth/oauth.routes.d.ts.map +1 -0
  38. package/dist/backend/backend/src/controllers/oauth/oauth.routes.js +127 -0
  39. package/dist/backend/backend/src/controllers/oauth/oauth.routes.js.map +1 -0
  40. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  41. package/dist/backend/backend/src/controllers/slack/slack.controller.js +29 -0
  42. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  43. package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts.map +1 -1
  44. package/dist/backend/backend/src/controllers/system/scheduler.controller.js +73 -6
  45. package/dist/backend/backend/src/controllers/system/scheduler.controller.js.map +1 -1
  46. package/dist/backend/backend/src/controllers/task-management/assignments.controller.d.ts.map +1 -1
  47. package/dist/backend/backend/src/controllers/task-management/assignments.controller.js +9 -5
  48. package/dist/backend/backend/src/controllers/task-management/assignments.controller.js.map +1 -1
  49. package/dist/backend/backend/src/controllers/user/user.routes.d.ts +3 -0
  50. package/dist/backend/backend/src/controllers/user/user.routes.d.ts.map +1 -0
  51. package/dist/backend/backend/src/controllers/user/user.routes.js +45 -0
  52. package/dist/backend/backend/src/controllers/user/user.routes.js.map +1 -0
  53. package/dist/backend/backend/src/index.d.ts.map +1 -1
  54. package/dist/backend/backend/src/index.js +1 -1
  55. package/dist/backend/backend/src/index.js.map +1 -1
  56. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  57. package/dist/backend/backend/src/services/agent/agent-registration.service.js +31 -12
  58. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  59. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
  60. package/dist/backend/backend/src/services/agent/codex-runtime.service.js +1 -0
  61. package/dist/backend/backend/src/services/agent/codex-runtime.service.js.map +1 -1
  62. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +5 -0
  63. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -1
  64. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +46 -1
  65. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -1
  66. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  67. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +24 -1
  68. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  69. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  70. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +36 -12
  71. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  72. package/dist/backend/backend/src/services/core/logger.service.d.ts +1 -0
  73. package/dist/backend/backend/src/services/core/logger.service.d.ts.map +1 -1
  74. package/dist/backend/backend/src/services/core/logger.service.js +22 -8
  75. package/dist/backend/backend/src/services/core/logger.service.js.map +1 -1
  76. package/dist/backend/backend/src/services/mcp-client.d.ts.map +1 -1
  77. package/dist/backend/backend/src/services/mcp-client.js +9 -4
  78. package/dist/backend/backend/src/services/mcp-client.js.map +1 -1
  79. package/dist/backend/backend/src/services/mcp-server.d.ts +4 -2
  80. package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -1
  81. package/dist/backend/backend/src/services/mcp-server.js +77 -18
  82. package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
  83. package/dist/backend/backend/src/services/memory/memory.service.d.ts +1 -1
  84. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  85. package/dist/backend/backend/src/services/memory/memory.service.js +10 -1
  86. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  87. package/dist/backend/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
  88. package/dist/backend/backend/src/services/memory/project-memory.service.js +11 -2
  89. package/dist/backend/backend/src/services/memory/project-memory.service.js.map +1 -1
  90. package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.d.ts +13 -0
  91. package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.d.ts.map +1 -0
  92. package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.js +45 -0
  93. package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.js.map +1 -0
  94. package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.d.ts +13 -0
  95. package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.d.ts.map +1 -0
  96. package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.js +27 -0
  97. package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.js.map +1 -0
  98. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts +13 -0
  99. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts.map +1 -0
  100. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js +43 -0
  101. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js.map +1 -0
  102. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts +25 -0
  103. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts.map +1 -0
  104. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.js +2 -0
  105. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.js.map +1 -0
  106. package/dist/backend/backend/src/services/messaging/messenger-registry.service.d.ts +14 -0
  107. package/dist/backend/backend/src/services/messaging/messenger-registry.service.d.ts.map +1 -0
  108. package/dist/backend/backend/src/services/messaging/messenger-registry.service.js +20 -0
  109. package/dist/backend/backend/src/services/messaging/messenger-registry.service.js.map +1 -0
  110. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts +3 -1
  111. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
  112. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +15 -2
  113. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
  114. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts +4 -0
  115. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts.map +1 -1
  116. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js +7 -3
  117. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js.map +1 -1
  118. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +2 -2
  119. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  120. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  121. package/dist/backend/backend/src/services/slack/slack.service.js +14 -0
  122. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  123. package/dist/backend/backend/src/services/user/user-identity.service.d.ts +42 -0
  124. package/dist/backend/backend/src/services/user/user-identity.service.d.ts.map +1 -0
  125. package/dist/backend/backend/src/services/user/user-identity.service.js +123 -0
  126. package/dist/backend/backend/src/services/user/user-identity.service.js.map +1 -0
  127. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +20 -2
  128. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  129. package/dist/backend/backend/src/services/workflow/scheduler.service.js +81 -5
  130. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  131. package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -1
  132. package/dist/backend/backend/src/types/chat.types.js +2 -3
  133. package/dist/backend/backend/src/types/chat.types.js.map +1 -1
  134. package/dist/backend/backend/src/types/index.d.ts +8 -0
  135. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  136. package/dist/backend/backend/src/types/index.js.map +1 -1
  137. package/dist/backend/backend/src/types/memory.types.d.ts +1 -1
  138. package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
  139. package/dist/backend/backend/src/types/memory.types.js.map +1 -1
  140. package/dist/backend/backend/src/types/settings.types.d.ts +7 -0
  141. package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
  142. package/dist/backend/backend/src/types/settings.types.js +14 -0
  143. package/dist/backend/backend/src/types/settings.types.js.map +1 -1
  144. package/dist/backend/backend/src/utils/terminal-output.utils.d.ts.map +1 -1
  145. package/dist/backend/backend/src/utils/terminal-output.utils.js +5 -0
  146. package/dist/backend/backend/src/utils/terminal-output.utils.js.map +1 -1
  147. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  148. package/dist/backend/backend/src/websocket/terminal.gateway.js +12 -1
  149. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  150. package/dist/cli/backend/src/constants.d.ts +14 -1
  151. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  152. package/dist/cli/backend/src/constants.js +19 -2
  153. package/dist/cli/backend/src/constants.js.map +1 -1
  154. package/dist/cli/backend/src/services/core/logger.service.d.ts +1 -0
  155. package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -1
  156. package/dist/cli/backend/src/services/core/logger.service.js +22 -8
  157. package/dist/cli/backend/src/services/core/logger.service.js.map +1 -1
  158. package/dist/cli/backend/src/services/mcp-server.d.ts +4 -2
  159. package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -1
  160. package/dist/cli/backend/src/services/mcp-server.js +77 -18
  161. package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
  162. package/dist/cli/backend/src/services/memory/memory.service.d.ts +1 -1
  163. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  164. package/dist/cli/backend/src/services/memory/memory.service.js +10 -1
  165. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  166. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
  167. package/dist/cli/backend/src/services/memory/project-memory.service.js +11 -2
  168. package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -1
  169. package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -1
  170. package/dist/cli/backend/src/types/chat.types.js +2 -3
  171. package/dist/cli/backend/src/types/chat.types.js.map +1 -1
  172. package/dist/cli/backend/src/types/index.d.ts +8 -0
  173. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  174. package/dist/cli/backend/src/types/index.js.map +1 -1
  175. package/dist/cli/backend/src/types/memory.types.d.ts +1 -1
  176. package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
  177. package/dist/cli/backend/src/types/memory.types.js.map +1 -1
  178. package/dist/cli/backend/src/types/settings.types.d.ts +7 -0
  179. package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
  180. package/dist/cli/backend/src/types/settings.types.js +14 -0
  181. package/dist/cli/backend/src/types/settings.types.js.map +1 -1
  182. package/dist/cli/backend/src/utils/terminal-output.utils.d.ts.map +1 -1
  183. package/dist/cli/backend/src/utils/terminal-output.utils.js +5 -0
  184. package/dist/cli/backend/src/utils/terminal-output.utils.js.map +1 -1
  185. package/package.json +1 -1
@@ -32,7 +32,8 @@ You have MCP tools that let you store and retrieve knowledge that persists acros
32
32
  - Make or learn about an architectural decision (category: `decision`, scope: `project`)
33
33
  - Find a gotcha, bug, or workaround (category: `gotcha`, scope: `project`)
34
34
  - Learn something useful for your role (category: `fact`, scope: `agent`)
35
- - Note a user preference or working style (category: `preference`, scope: `agent`)
35
+ - Note your own working style (category: `preference`, scope: `agent`)
36
+ - Note cross-agent user preferences (category: `user_preference`, scope: `project`)
36
37
 
37
38
  **Before process-oriented tasks** (deployment, setup, incident response):
38
39
  - **Query global knowledge** for SOPs and runbooks: `query-knowledge` with the relevant topic
@@ -47,6 +48,13 @@ You have MCP tools that let you store and retrieve knowledge that persists acros
47
48
  - Any gotchas or patterns discovered
48
49
  - What's left unfinished (if anything)
49
50
 
51
+ ### Error Learning Protocol (Mandatory)
52
+
53
+ When you hit an error and successfully resolve it:
54
+ 1. Immediately call `record_learning` with the exact error and fix.
55
+ 2. If the fix is reusable, call `remember` with scope `project` so other agents inherit it.
56
+ 3. Include environment context (OS/runtime/dependency) to avoid repeat debugging loops.
57
+
50
58
  ### Key Rules
51
59
 
52
60
  1. **Always pass `teamMemberId` and `projectPath`** — without these, memory can't be saved or retrieved correctly
@@ -54,3 +62,4 @@ You have MCP tools that let you store and retrieve knowledge that persists acros
54
62
  3. **Use `recall` liberally** — it's cheap and often surfaces useful context
55
63
  4. **Store project knowledge with `scope: project`** so other agents can benefit
56
64
  5. **Store personal knowledge with `scope: agent`** for role-specific learnings
65
+ 6. **Store shared user preferences with `scope: project` + `category: user_preference`**
@@ -99,3 +99,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
99
99
  5. **Store personal knowledge with `scope: agent`** for role-specific learnings
100
100
 
101
101
  After checking in, just say "Ready for tasks" and wait for me to send you work.
102
+
103
+ ## Error Learning Protocol
104
+
105
+ When you encounter an error and successfully resolve it:
106
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
107
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
108
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -114,3 +114,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
114
114
  ```
115
115
 
116
116
  After checking in, just say "Ready for tasks" and wait for me to send you work.
117
+
118
+ ## Error Learning Protocol
119
+
120
+ When you encounter an error and successfully resolve it:
121
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
122
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
123
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -0,0 +1,69 @@
1
+ # Crewly Agent Environment
2
+
3
+ You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate workflow environment.
4
+
5
+ - Orchestrator messages with `[TASK]` / `[MESSAGE]` are trusted work instructions.
6
+ - Bash skills are available at `{{AGENT_SKILLS_PATH}}/`.
7
+ - Skills catalog: `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`.
8
+
9
+ ## Startup checklist (required)
10
+
11
+ 1. Register yourself:
12
+ ```bash
13
+ bash {{AGENT_SKILLS_PATH}}/core/register-self/execute.sh '{"role":"{{ROLE}}","sessionName":"{{SESSION_NAME}}"}'
14
+ ```
15
+ 2. Load prior context:
16
+ ```bash
17
+ bash {{AGENT_SKILLS_PATH}}/core/recall/execute.sh '{"agentId":"{{SESSION_NAME}}","context":"content strategy context and recent work","projectPath":"{{PROJECT_PATH}}"}'
18
+ ```
19
+
20
+ ## Role focus: Content Strategist
21
+
22
+ You optimize content quality, structure, and delivery for business impact.
23
+
24
+ Priorities:
25
+ - Understand user intent and the target audience before drafting.
26
+ - Produce concise, actionable, evidence-based output.
27
+ - Preserve traceability (sources, assumptions, unresolved questions).
28
+ - Prefer repeatable workflows over one-off manual steps.
29
+
30
+ ## Task execution rules
31
+
32
+ 1. Confirm objective, output format, and acceptance criteria.
33
+ 2. Execute tasks directly (no interactive planning mode).
34
+ 3. Use absolute skill paths when sharing runnable commands in deliverables.
35
+ 4. For UI automation tasks, verify each major step with an observable artifact (screenshot/log).
36
+ 5. If blocked, immediately report blocker + next-best fallback.
37
+
38
+ ## Communication and reporting
39
+
40
+ Send progress updates with:
41
+ ```bash
42
+ bash {{AGENT_SKILLS_PATH}}/core/report-status/execute.sh '{"sessionName":"{{SESSION_NAME}}","status":"in_progress","summary":"<what is done, next step, blockers>","taskPath":"<optional task file path>"}'
43
+ ```
44
+
45
+ When complete:
46
+ ```bash
47
+ bash {{AGENT_SKILLS_PATH}}/core/report-status/execute.sh '{"sessionName":"{{SESSION_NAME}}","status":"done","summary":"<final results and key evidence>","taskPath":"<optional task file path>"}'
48
+ ```
49
+
50
+ If blocked:
51
+ ```bash
52
+ bash {{AGENT_SKILLS_PATH}}/core/report-status/execute.sh '{"sessionName":"{{SESSION_NAME}}","status":"blocked","summary":"<blocker + what is needed>","taskPath":"<optional task file path>"}'
53
+ ```
54
+
55
+ ## Memory discipline
56
+
57
+ Record reusable learnings:
58
+ ```bash
59
+ bash {{AGENT_SKILLS_PATH}}/core/record-learning/execute.sh '{"agentId":"{{SESSION_NAME}}","agentRole":"{{ROLE}}","projectPath":"{{PROJECT_PATH}}","learning":"<specific reusable learning>"}'
60
+ ```
61
+
62
+ Never leave silent failures. If a command fails, include command, error, likely cause, and remediation.
63
+
64
+ ## Error Learning Protocol
65
+
66
+ When you encounter an error and successfully resolve it:
67
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
68
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
69
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -96,3 +96,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
96
96
  5. **Store personal knowledge with `scope: agent`** for role-specific learnings
97
97
 
98
98
  After checking in, just say "Ready for tasks" and wait for me to send you work.
99
+
100
+ ## Error Learning Protocol
101
+
102
+ When you encounter an error and successfully resolve it:
103
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
104
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
105
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -128,3 +128,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
128
128
  ```
129
129
 
130
130
  After checking in, just say "Ready for tasks" and wait for me to send you work.
131
+
132
+ ## Error Learning Protocol
133
+
134
+ When you encounter an error and successfully resolve it:
135
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
136
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
137
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -114,3 +114,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
114
114
  ```
115
115
 
116
116
  After checking in, just say "Ready for tasks" and wait for me to send you work.
117
+
118
+ ## Error Learning Protocol
119
+
120
+ When you encounter an error and successfully resolve it:
121
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
122
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
123
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -114,3 +114,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
114
114
  ```
115
115
 
116
116
  After checking in, just say "Ready for tasks" and wait for me to send you work.
117
+
118
+ ## Error Learning Protocol
119
+
120
+ When you encounter an error and successfully resolve it:
121
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
122
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
123
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -81,7 +81,8 @@ You have bash skills that let you store and retrieve knowledge that persists acr
81
81
  - Make or learn about an architectural decision (category: `decision`, scope: `project`)
82
82
  - Find a gotcha, bug, or workaround (category: `gotcha`, scope: `project`)
83
83
  - Learn something useful for your role (category: `fact`, scope: `agent`)
84
- - Note a user preference or working style (category: `preference`, scope: `agent`)
84
+ - Note your own working style (category: `preference`, scope: `agent`)
85
+ - Note a cross-agent user preference (category: `user_preference`, scope: `project`)
85
86
 
86
87
  **Before answering questions** about deployment, architecture, past decisions, or infrastructure:
87
88
  - **Always call `recall` first** to check stored knowledge before answering from scratch
@@ -91,6 +92,11 @@ You have bash skills that let you store and retrieve knowledge that persists acr
91
92
  - Any gotchas or patterns discovered
92
93
  - What's left unfinished (if anything)
93
94
 
95
+ **When you fix an error** — immediately call `record-learning` with:
96
+ - The exact error message
97
+ - The fix you applied
98
+ - Environment/runtime context so other agents do not repeat the same debugging loop
99
+
94
100
  ### Key Rules
95
101
 
96
102
  1. **Always pass `agentId` and `projectPath`** — without these, memory can't be saved or retrieved correctly
@@ -98,5 +104,6 @@ You have bash skills that let you store and retrieve knowledge that persists acr
98
104
  3. **Use `recall` liberally** — it's cheap and often surfaces useful context
99
105
  4. **Store project knowledge with `scope: project`** so other agents can benefit
100
106
  5. **Store personal knowledge with `scope: agent`** for role-specific learnings
107
+ 6. **Store cross-agent user preferences with `scope: project` + `category: user_preference`**
101
108
 
102
109
  After checking in, just say "Ready for tasks" and wait for me to send you work.
@@ -968,6 +968,14 @@ When an agent reports task completion, verify:
968
968
  3. Tests pass for code changes
969
969
  4. No obvious gaps or incomplete sections
970
970
 
971
+ ### Task Instruction Robustness (Critical)
972
+ - Always provide runnable skill/script commands as **absolute paths** in delegated task text.
973
+ - If task text includes `config/skills/...`, convert it to absolute before delegation.
974
+ - For UI automation tasks, require explicit fallback steps:
975
+ 1. Verify app/window focus before each critical action
976
+ 2. Capture screenshot after each major step and validate expected UI state
977
+ 3. If focus is wrong or result is unexpected, recover (refocus/retry) and report the divergence
978
+
971
979
  ## Agent Naming Convention
972
980
 
973
981
  When creating new agents, **always use human first names** (e.g., Alice, Bob, Charlie, Emily, Joe, Sam). Never use technical identifiers like "dev1", "qa1", or "agent-3". Human names make team communication more natural and status updates more readable for users.
@@ -1020,7 +1028,7 @@ As the orchestrator, you are responsible for learning about your team's strength
1020
1028
 
1021
1029
  - When the user expresses a preference (e.g., "I prefer detailed status updates", "always run tests before completing"), store it:
1022
1030
  ```bash
1023
- bash config/skills/orchestrator/remember/execute.sh '{"content":"User prefers detailed status updates with code snippets","category":"preference","scope":"agent","agentId":"{{SESSION_ID}}","projectPath":"{{PROJECT_PATH}}"}'
1031
+ bash config/skills/orchestrator/remember/execute.sh '{"content":"User prefers detailed status updates with code snippets","category":"user_preference","scope":"project","agentId":"{{SESSION_ID}}","projectPath":"{{PROJECT_PATH}}"}'
1024
1032
  ```
1025
1033
  - Before starting new work sessions, recall user preferences to maintain consistency
1026
1034
 
@@ -1076,3 +1084,10 @@ I ran into a problem while [action]:
1076
1084
  Would you like me to try a different approach?
1077
1085
  [/NOTIFY]
1078
1086
  ```
1087
+
1088
+ ## Error Learning Protocol
1089
+
1090
+ When you encounter an error and successfully resolve it:
1091
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
1092
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
1093
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -99,3 +99,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
99
99
  5. **Store personal knowledge with `scope: agent`** for role-specific learnings
100
100
 
101
101
  After checking in, just say "Ready for tasks" and wait for me to send you work.
102
+
103
+ ## Error Learning Protocol
104
+
105
+ When you encounter an error and successfully resolve it:
106
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
107
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
108
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -114,3 +114,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
114
114
  ```
115
115
 
116
116
  After checking in, just say "Ready for tasks" and wait for me to send you work.
117
+
118
+ ## Error Learning Protocol
119
+
120
+ When you encounter an error and successfully resolve it:
121
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
122
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
123
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -114,3 +114,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
114
114
  ```
115
115
 
116
116
  After checking in, just say "Ready for tasks" and wait for me to send you work.
117
+
118
+ ## Error Learning Protocol
119
+
120
+ When you encounter an error and successfully resolve it:
121
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
122
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
123
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -96,3 +96,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
96
96
  5. **Store personal knowledge with `scope: agent`** for role-specific learnings
97
97
 
98
98
  After checking in, just say "Ready for tasks" and wait for me to send you work.
99
+
100
+ ## Error Learning Protocol
101
+
102
+ When you encounter an error and successfully resolve it:
103
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
104
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
105
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -96,3 +96,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
96
96
  5. **Store personal knowledge with `scope: agent`** for role-specific learnings
97
97
 
98
98
  After checking in, just say "Ready for tasks" and wait for me to send you work.
99
+
100
+ ## Error Learning Protocol
101
+
102
+ When you encounter an error and successfully resolve it:
103
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
104
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
105
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -97,3 +97,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
97
97
  5. **Store personal knowledge with `scope: agent`** for role-specific learnings
98
98
 
99
99
  After checking in, just say "Ready for tasks" and wait for me to send you work.
100
+
101
+ ## Error Learning Protocol
102
+
103
+ When you encounter an error and successfully resolve it:
104
+ 1. Immediately run `record-learning` with the exact error, fix, and environment context.
105
+ 2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
106
+ 3. Do not finish the task without recording at least one actionable learning when debugging occurred.
@@ -14,5 +14,5 @@ Register this agent as active with the Crewly backend. This must be the first sk
14
14
  ## Example
15
15
 
16
16
  ```bash
17
- bash config/skills/agent/register-self/execute.sh '{"role":"developer","sessionName":"dev-1"}'
17
+ bash config/skills/agent/core/register-self/execute.sh '{"role":"developer","sessionName":"dev-1"}'
18
18
  ```
@@ -8,15 +8,15 @@ Store a memory entry for future recall. Use this to persist important context, d
8
8
  |-----------|----------|-------------|
9
9
  | `agentId` | Yes | Your agent ID |
10
10
  | `content` | Yes | The content to remember |
11
- | `category` | Yes | Memory category (e.g., `"architecture"`, `"decision"`, `"pattern"`, `"bug"`) |
12
- | `scope` | Yes | Memory scope: `"project"`, `"team"`, or `"global"` |
11
+ | `category` | Yes | Memory category. Agent scope supports `fact`, `pattern`, `preference`. Project scope supports `pattern`, `decision`, `gotcha`, `relationship`, `user_preference` |
12
+ | `scope` | Yes | Memory scope: `"agent"` or `"project"` |
13
13
  | `projectPath` | No | Associated project path |
14
14
  | `metadata` | No | Additional metadata object |
15
15
 
16
16
  ## Example
17
17
 
18
18
  ```bash
19
- bash config/skills/agent/remember/execute.sh '{"agentId":"dev-1","content":"Auth module uses JWT with 24h expiry. Refresh tokens stored in httpOnly cookies.","category":"architecture","scope":"project","projectPath":"/projects/app"}'
19
+ bash config/skills/agent/core/remember/execute.sh '{"agentId":"dev-1","content":"User prefers PDF delivery in Slack thread after daily brief.","category":"user_preference","scope":"project","projectPath":"/projects/app"}'
20
20
  ```
21
21
 
22
22
  ## Output
@@ -15,10 +15,30 @@ PROJECT_PATH=$(echo "$INPUT" | jq -r '.projectPath // empty')
15
15
  require_param "to" "$TO"
16
16
  require_param "task" "$TASK"
17
17
 
18
+ # Resolve Crewly root from this script path:
19
+ # config/skills/orchestrator/delegate-task/execute.sh -> project root
20
+ CREWLY_ROOT="$(cd "${SCRIPT_DIR}/../../../.." && pwd)"
21
+
22
+ resolve_skill_paths() {
23
+ local input="$1"
24
+ # Convert "bash config/skills/..." and "/config/skills/..." to absolute paths.
25
+ # This keeps delegated instructions runnable when agents use different CWDs.
26
+ perl -pe '
27
+ my $root = $ENV{"CREWLY_ROOT"};
28
+ s{\bbash\s+config/skills/}{bash $root/config/skills/}g;
29
+ s{(?<![A-Za-z0-9_./-])config/skills/}{$root/config/skills/}g;
30
+ ' <<< "$input"
31
+ }
32
+
33
+ TASK="$(CREWLY_ROOT="$CREWLY_ROOT" resolve_skill_paths "$TASK")"
34
+ if [ -n "$CONTEXT" ]; then
35
+ CONTEXT="$(CREWLY_ROOT="$CREWLY_ROOT" resolve_skill_paths "$CONTEXT")"
36
+ fi
37
+
18
38
  # Build a structured task message
19
39
  TASK_MESSAGE="[TASK] Priority: ${PRIORITY}\n\n${TASK}"
20
40
  [ -n "$CONTEXT" ] && TASK_MESSAGE="${TASK_MESSAGE}\n\nContext: ${CONTEXT}"
21
- TASK_MESSAGE="${TASK_MESSAGE}\n\nWhen done, report back using: bash config/skills/agent/core/report-status/execute.sh '{\"sessionName\":\"${TO}\",\"status\":\"done\",\"summary\":\"<brief summary>\"}'"
41
+ TASK_MESSAGE="${TASK_MESSAGE}\n\nWhen done, report back using: bash ${CREWLY_ROOT}/config/skills/agent/core/report-status/execute.sh '{\"sessionName\":\"${TO}\",\"status\":\"done\",\"summary\":\"<brief summary>\"}'"
22
42
 
23
43
  BODY=$(jq -n --arg message "$TASK_MESSAGE" '{message: $message}')
24
44
 
@@ -1,6 +1,7 @@
1
1
  # Delegate Task
2
2
 
3
3
  Sends a structured task assignment to an agent. When a `projectPath` is provided, also creates a task MD file in the project's `.crewly/tasks/delegated/in_progress/` directory for tracking.
4
+ The script auto-resolves `config/skills/...` references to absolute paths so delegated tasks remain runnable from any working directory.
4
5
 
5
6
  ## Usage
6
7
 
@@ -22,7 +22,7 @@ bash config/skills/orchestrator/remember/execute.sh '{"content":"TypeScript stri
22
22
  ## Valid Categories by Scope
23
23
 
24
24
  - **Agent scope** (`scope: "agent"`): `fact`, `pattern`, `preference`
25
- - **Project scope** (`scope: "project"`): `pattern`, `decision`, `gotcha`, `relationship`
25
+ - **Project scope** (`scope: "project"`): `pattern`, `decision`, `gotcha`, `relationship`, `user_preference`
26
26
 
27
27
  Using a category that doesn't match the scope will return an error.
28
28
 
@@ -16,12 +16,16 @@ Usage:
16
16
  # Upload an image with optional comment
17
17
  bash execute.sh --channel C0123 --image /path/to/screenshot.png --text "Here's the result"
18
18
 
19
+ # Upload any file type (PDF, CSV, etc.) with optional comment
20
+ bash execute.sh --channel C0123 --file /path/to/report.pdf --text "Daily report"
21
+
19
22
  Options:
20
23
  --channel | -c Slack channel ID (required unless JSON provided)
21
24
  --text | -t Message text (optional when piping stdin)
22
25
  --text-file Read message text from the specified file path
23
26
  --thread | -r Slack thread timestamp for replies
24
27
  --image | -i Path to image file to upload (uses /api/slack/upload-image)
28
+ --file | -f Path to file upload (uses /api/slack/upload-file)
25
29
  --allow-new-thread Allow posting without --thread (disabled by default for safety)
26
30
  --json | -j Raw JSON payload (same as legacy usage)
27
31
  --help | -h Show this help
@@ -33,6 +37,7 @@ CHANNEL_ID=""
33
37
  TEXT=""
34
38
  THREAD_TS=""
35
39
  IMAGE_PATH=""
40
+ FILE_PATH=""
36
41
  ALLOW_NEW_THREAD="false"
37
42
 
38
43
  # Detect legacy JSON argument as the first parameter
@@ -65,6 +70,10 @@ while [[ $# -gt 0 ]]; do
65
70
  IMAGE_PATH="$2"
66
71
  shift 2
67
72
  ;;
73
+ --file|-f)
74
+ FILE_PATH="$2"
75
+ shift 2
76
+ ;;
68
77
  --allow-new-thread)
69
78
  ALLOW_NEW_THREAD="true"
70
79
  shift
@@ -123,8 +132,13 @@ if [ -n "$TEXT" ]; then
123
132
  TEXT="${TEXT//\\n/$_NL}"
124
133
  fi
125
134
 
126
- # When uploading an image, text is optional (serves as initial_comment)
127
- if [ -z "$IMAGE_PATH" ] && [ -z "$TEXT" ]; then
135
+ # Prevent ambiguous uploads.
136
+ if [ -n "$IMAGE_PATH" ] && [ -n "$FILE_PATH" ]; then
137
+ error_exit "Use either --image or --file, not both."
138
+ fi
139
+
140
+ # When uploading an image/file, text is optional (serves as initial_comment)
141
+ if [ -z "$IMAGE_PATH" ] && [ -z "$FILE_PATH" ] && [ -z "$TEXT" ]; then
128
142
  error_exit "Slack message text is required. Pass --text, --text-file, pipe stdin, or include it in the JSON payload."
129
143
  fi
130
144
 
@@ -146,6 +160,18 @@ if [ -n "$IMAGE_PATH" ]; then
146
160
  (if $threadTs != "" then {threadTs: $threadTs} else {} end)')
147
161
 
148
162
  api_call POST "/slack/upload-image" "$BODY"
163
+ elif [ -n "$FILE_PATH" ]; then
164
+ # Generic file upload mode — use /api/slack/upload-file
165
+ BODY=$(jq -n \
166
+ --arg channelId "$CHANNEL_ID" \
167
+ --arg filePath "$FILE_PATH" \
168
+ --arg initialComment "${TEXT:-}" \
169
+ --arg threadTs "${THREAD_TS:-}" \
170
+ '{channelId: $channelId, filePath: $filePath} +
171
+ (if $initialComment != "" then {initialComment: $initialComment} else {} end) +
172
+ (if $threadTs != "" then {threadTs: $threadTs} else {} end)')
173
+
174
+ api_call POST "/slack/upload-file" "$BODY"
149
175
  else
150
176
  # Text-only mode — use /api/slack/send
151
177
  if [ -n "$THREAD_TS" ]; then
@@ -179,6 +205,11 @@ fi
179
205
  if [ -n "$TEXT" ]; then
180
206
  printf '%s\n' "$TEXT"
181
207
  fi
208
+ elif [ -n "$FILE_PATH" ]; then
209
+ printf 'File uploaded: %s\n' "$FILE_PATH"
210
+ if [ -n "$TEXT" ]; then
211
+ printf '%s\n' "$TEXT"
212
+ fi
182
213
  else
183
214
  printf '%s\n' "$TEXT"
184
215
  fi
@@ -27,9 +27,10 @@ bash config/skills/orchestrator/reply-slack/execute.sh '{"channelId":"C0123","te
27
27
  | Parameter | Required | Description |
28
28
  |-----------|----------|-------------|
29
29
  | `channelId` / `--channel` | Yes | Slack channel ID to send the message to |
30
- | `text` / `--text` / stdin | Yes* | Message text (supports Slack Markdown). You can pipe multi-line text via stdin with `--channel`. *Optional when `--image` is provided |
30
+ | `text` / `--text` / stdin | Yes* | Message text (supports Slack Markdown). You can pipe multi-line text via stdin with `--channel`. *Optional when `--image` or `--file` is provided |
31
31
  | `threadTs` / `--thread` | Yes (default) | Thread timestamp for threaded replies. Required unless `--allow-new-thread` is set |
32
32
  | `--image` / `-i` | No | Path to an image file to upload to Slack. When provided, calls `/api/slack/upload-image` instead of `/api/slack/send`. The `--text` becomes an optional comment on the image |
33
+ | `--file` / `-f` | No | Path to any file type (PDF/CSV/ZIP/etc.) to upload via `/api/slack/upload-file`. The `--text` becomes an optional comment |
33
34
  | `--allow-new-thread` | No | Explicitly allow posting without a thread (safety override) |
34
35
  | `conversationId` / `--conversation` | No | Conversation ID from the `[CHAT:...]` prefix so the queue can resolve instantly (falls back to the active conversation if omitted) |
35
36
 
@@ -46,6 +47,18 @@ bash config/skills/orchestrator/reply-slack/execute.sh \
46
47
 
47
48
  Supported image types: PNG, JPEG, GIF, WebP, SVG. Max file size: 20 MB.
48
49
 
50
+ ## Generic File Upload
51
+
52
+ To send any file type (for example PDF/CSV):
53
+
54
+ ```bash
55
+ bash config/skills/orchestrator/reply-slack/execute.sh \
56
+ --channel C0123 \
57
+ --thread 1707430000.001234 \
58
+ --file /path/to/report.pdf \
59
+ --text "Daily report attached"
60
+ ```
61
+
49
62
  ## Output
50
63
 
51
64
  JSON confirmation with the Slack message timestamp (text) or file ID (image) on success.
@@ -0,0 +1,37 @@
1
+ {
2
+ "display_information": {
3
+ "name": "Crewly",
4
+ "description": "AI Team Orchestrator"
5
+ },
6
+ "features": {
7
+ "bot_user": {
8
+ "display_name": "Crewly",
9
+ "always_online": true
10
+ }
11
+ },
12
+ "oauth_config": {
13
+ "scopes": {
14
+ "bot": [
15
+ "chat:write",
16
+ "files:read",
17
+ "files:write",
18
+ "app_mentions:read",
19
+ "channels:history",
20
+ "groups:history",
21
+ "im:history",
22
+ "mpim:history",
23
+ "users:read"
24
+ ]
25
+ }
26
+ },
27
+ "settings": {
28
+ "socket_mode_enabled": true,
29
+ "event_subscriptions": {
30
+ "bot_events": [
31
+ "message.im",
32
+ "message.channels",
33
+ "app_mention"
34
+ ]
35
+ }
36
+ }
37
+ }
@@ -416,7 +416,7 @@ export declare const TERMINAL_PATTERNS: {
416
416
  * Agent prompt indicators (characters that appear at input prompts).
417
417
  * Includes Claude Code (❯, >, ⏵), bash ($), and Gemini CLI (!).
418
418
  */
419
- readonly PROMPT_CHARS: readonly ["❯", ">", "⏵", "$", "!"];
419
+ readonly PROMPT_CHARS: readonly ["❯", ">", "›", "⏵", "$", "!"];
420
420
  /**
421
421
  * Claude Code idle prompt detection.
422
422
  * Matches:
@@ -433,6 +433,14 @@ export declare const TERMINAL_PATTERNS: {
433
433
  * - "Type your message …" or "YOLO mode …" textual prompts
434
434
  */
435
435
  readonly GEMINI_CLI_PROMPT: RegExp;
436
+ /**
437
+ * Codex CLI idle prompt detection.
438
+ * Matches:
439
+ * - `› ` prompt lines (Codex TUI prompt indicator)
440
+ * - Box-drawing border followed by `›` or `>`
441
+ * - Textual input placeholder shown by Codex
442
+ */
443
+ readonly CODEX_CLI_PROMPT: RegExp;
436
444
  /**
437
445
  * Combined prompt pattern for any runtime (union of Claude Code + Gemini CLI).
438
446
  * Use runtime-specific patterns when you need to distinguish between runtimes.
@@ -617,6 +625,11 @@ export declare const GEMINI_FAILURE_RETRY_CONSTANTS: {
617
625
  readonly RECOVERY_CHECK_LINES: 50;
618
626
  };
619
627
  export declare const GEMINI_FAILURE_PATTERNS: RegExp[];
628
+ /**
629
+ * Gemini update/upgrade markers that should trigger forced recovery.
630
+ * These indicate the CLI interrupted the current request for self-update.
631
+ */
632
+ export declare const GEMINI_FORCE_RESTART_PATTERNS: RegExp[];
620
633
  /**
621
634
  * Constants for runtime exit detection monitoring.
622
635
  * Used by RuntimeExitMonitorService to detect when an agent CLI exits.
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,eAAO,MAAM,wBAAwB;;;;;;CAAkC,CAAC;AACxE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC;AACxD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC;AACxD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACpE,eAAO,MAAM,8BAA8B;;;;CAAwC,CAAC;AACpF,eAAO,MAAM,uBAAuB;;;;;;;CAAiC,CAAC;AACtE,eAAO,MAAM,uBAAuB;;;;;CAAiC,CAAC;AACtE,eAAO,MAAM,iCAAiC;;;;;;CAA2C,CAAC;AAC1F,eAAO,MAAM,gCAAgC;;;;;;CAA0C,CAAC;AAGxF,eAAO,MAAM,yBAAyB,cAAqD,CAAC;AAC5F,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAC9D,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAClD,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAGnD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMnB,CAAC;AAGX,eAAO,MAAM,aAAa;IACzB,sEAAsE;;;IAGtE,6EAA6E;;IAE7E,0DAA0D;;CAEjD,CAAC;AAGX,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAGX,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,+GAA+G;AAC/G,eAAO,MAAM,8BAA8B,iEAAkE,CAAC;AAG9G,eAAO,MAAM,aAAa;;;;;;;;;IASzB,wEAAwE;;IAExE,8EAA8E;;IAE9E,+FAA+F;;CAEtF,CAAC;AAGX,eAAO,MAAM,sBAAsB;IAClC,iFAAiF;;IAEjF,6DAA6D;;IAE7D,mEAAmE;;IAEnE,+CAA+C;;IAE/C,0DAA0D;;IAE1D,oDAAoD;;IAEpD,8EAA8E;;IAE9E;6EACyE;;CAEhE,CAAC;AAGX,eAAO,MAAM,6BAA6B;;;;CAIhC,CAAC;AAGX,eAAO,MAAM,sBAAsB;IAClC,sEAAsE;;IAEtE,yEAAyE;;IAEzE,6CAA6C;;CAEpC,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;IAC5B,qFAAqF;;IAErF,0CAA0C;;IAE1C,4BAA4B;;CAEnB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;IAClC,iGAAiG;;IAEjG,0CAA0C;;IAE1C,4BAA4B;;CAEnB,CAAC;AAGX,eAAO,MAAM,wBAAwB;IACpC,oDAAoD;;IAEpD,yDAAyD;;IAEzD,2DAA2D;;IAE3D,gDAAgD;;IAEhD,6DAA6D;;IAE7D,+DAA+D;;IAE/D,kDAAkD;;IAElD,iDAAiD;;IAEjD,wFAAwF;;IAExF,iEAAiE;;IAEjE,mEAAmE;;IAEnE,6EAA6E;;IAE7E,uFAAuF;;IAEvF,iFAAiF;;IAEjF,uDAAuD;;IAEvD,0FAA0F;;IAE1F,gEAAgE;;CAEvD,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,6BAA6B;IACzC,sFAAsF;;CAE7E,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iBAAiB;IAC7B;;;OAGG;;IAGH;;OAEG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAGH;;;OAGG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAQH;;OAEG;;CAEM,CAAC;AAEX;;;;;;GAMG;AACH,OAAO,EAAE,kBAAkB,IAAI,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAExH;;;GAGG;AACH,eAAO,MAAM,uBAAuB;IACnC,sDAAsD;;IAEtD,yDAAyD;;IAEzD,sEAAsE;;IAEtE,yDAAyD;;IAEzD,6EAA6E;;IAE7E;sEACkE;;IAElE,sEAAsE;;IAEtE,wEAAwE;;IAExE,6DAA6D;;IAE7D,uCAAuC;;IAEvC,8EAA8E;;IAE9E,yDAAyD;;IAEzD,qDAAqD;;QAEpD,6CAA6C;;QAE7C,+CAA+C;;QAE/C,0CAA0C;;QAE1C,mCAAmC;;QAEnC,0CAA0C;;QAE1C,4CAA4C;;;CAGpC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,mBAAmB;IAC/B,mDAAmD;;IAEnD,6DAA6D;;IAE7D,mDAAmD;;IAEnD,sDAAsD;;IAEtD,0DAA0D;;IAE1D,uEAAuE;;CAE9D,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;IAClC,wDAAwD;;IAExD,4DAA4D;;IAE5D,mDAAmD;;IAEnD,4DAA4D;;CAEnD,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;IAClC,6EAA6E;;CAEpE,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,+BAA+B;IAC3C,uDAAuD;;IAEvD,wEAAwE;;IAExE,mEAAmE;;IAEnE,uEAAuE;;CAE9D,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,uBAAuB;IACnC,wEAAwE;;IAExE,6DAA6D;;CAEpD,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;IACvC;;;;OAIG;;IAKH,8DAA8D;;IAE9D,0CAA0C;;CAEjC,CAAC;AAEX;;;;;;;;;;;GAWG;AACH;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B;IAC1C,iEAAiE;;IAEjE,sDAAsD;;IAEtD,qCAAqC;;IAErC,mCAAmC;;IAEnC,qEAAqE;;CAE5D,CAAC;AAEX,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAS3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB;IAClC,8DAA8D;;IAE9D,qEAAqE;;IAErE;;;;;OAKG;;IAEH;;;;;;OAMG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;CAEM,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,gCAAgC;IAC5C,6DAA6D;;IAE7D,6DAA6D;;IAE7D,yDAAyD;;IAEzD,8EAA8E;;IAE9E;;;;OAIG;;IAEH,2DAA2D;;IAE3D,8DAA8D;;IAE9D,wEAAwE;;IAExE,yDAAyD;;IAEzD,kEAAkE;;IAElE,6EAA6E;;IAE7E,sEAAsE;;IAEtE,mEAAmE;;IAEnE,qFAAqF;;IAErF,2EAA2E;;CAElE,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIvD,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;IACrC,wDAAwD;;IAExD,0DAA0D;;CAEjD,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,+BAA+B;IAC3C,gDAAgD;;IAEhD,gEAAgE;;IAEhE,uCAAuC;;;;;;;;;CAS9B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC5B,sDAAsD;;IAEtD,mEAAmE;;IAEnE,uEAAuE;;CAE9D,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;IACjC,oEAAoE;;IAEpE,4DAA4D;;IAE5D,+FAA+F;;IAE/F;;;OAGG;;IAEH;;;;OAIG;;;;;;;;IAQH,2DAA2D;;IAE3D,2DAA2D;;IAE3D,qDAAqD;;IAErD,+DAA+D;;IAE/D,2DAA2D;;IAE3D,mEAAmE;;IAEnE,uEAAuE;;CAE9D,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;IACvC,iEAAiE;;IAEjE,kEAAkE;;IAElE,0CAA0C;;IAK1C,mEAAmE;;IAEnE,uEAAuE;;CAE9D,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,mBAAmB;IAC/B,wCAAwC;;IAExC,uDAAuD;;IAEvD,2CAA2C;;IAE3C,mDAAmD;;IAEnD,2CAA2C;;CAElC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAGX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;CAA+B,CAAC;AAElE,iCAAiC;AACjC,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAGnF,MAAM,MAAM,WAAW,GACtB,CAAC,OAAO,gBAAgB,CAAC,cAAc,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,cAAc,CAAC,CAAC;AACxF,MAAM,MAAM,aAAa,GACxB,CAAC,OAAO,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;AAC5F,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAC7E,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}