crewly 1.20.122 → 1.20.124

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 (225) hide show
  1. package/config/skills/agent/core/whatsapp-draft/SKILL.md +80 -0
  2. package/config/skills/agent/core/whatsapp-draft/execute.sh +84 -0
  3. package/config/skills/agent/core/whatsapp-draft/execute.test.sh +70 -0
  4. package/config/skills/agent/core/whatsapp-inbox/SKILL.md +75 -0
  5. package/config/skills/agent/core/whatsapp-inbox/execute.sh +87 -0
  6. package/config/skills/agent/core/whatsapp-inbox/execute.test.sh +68 -0
  7. package/config/skills/agent/core/whatsapp-read/SKILL.md +80 -0
  8. package/config/skills/agent/core/whatsapp-read/execute.sh +116 -0
  9. package/config/skills/agent/core/whatsapp-read/execute.test.sh +84 -0
  10. package/config/skills/agent/core/whatsapp-send/SKILL.md +70 -0
  11. package/config/skills/agent/core/whatsapp-send/execute.sh +84 -0
  12. package/config/skills/agent/core/whatsapp-send/execute.test.sh +79 -0
  13. package/dist/backend/backend/src/constants.d.ts +225 -0
  14. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  15. package/dist/backend/backend/src/constants.js +223 -0
  16. package/dist/backend/backend/src/constants.js.map +1 -1
  17. package/dist/backend/backend/src/controllers/harness/harness.controller.d.ts +54 -0
  18. package/dist/backend/backend/src/controllers/harness/harness.controller.d.ts.map +1 -0
  19. package/dist/backend/backend/src/controllers/harness/harness.controller.js +204 -0
  20. package/dist/backend/backend/src/controllers/harness/harness.controller.js.map +1 -0
  21. package/dist/backend/backend/src/controllers/harness/harness.routes.d.ts +27 -0
  22. package/dist/backend/backend/src/controllers/harness/harness.routes.d.ts.map +1 -0
  23. package/dist/backend/backend/src/controllers/harness/harness.routes.js +43 -0
  24. package/dist/backend/backend/src/controllers/harness/harness.routes.js.map +1 -0
  25. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.d.ts +73 -0
  26. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.d.ts.map +1 -0
  27. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.js +310 -0
  28. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.js.map +1 -0
  29. package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.d.ts.map +1 -1
  30. package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.js +53 -4
  31. package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.js.map +1 -1
  32. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  33. package/dist/backend/backend/src/routes/api.routes.js +4 -0
  34. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  35. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +5 -0
  36. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  37. package/dist/backend/backend/src/services/agent/agent-registration.service.js +7 -0
  38. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  39. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  40. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +5 -0
  41. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  42. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +2 -1
  43. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
  44. package/dist/backend/backend/src/services/cloud/cloud-client.service.js +4 -3
  45. package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
  46. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
  47. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +43 -1
  48. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
  49. package/dist/backend/backend/src/services/harness/claude-config.utils.d.ts +67 -0
  50. package/dist/backend/backend/src/services/harness/claude-config.utils.d.ts.map +1 -0
  51. package/dist/backend/backend/src/services/harness/claude-config.utils.js +118 -0
  52. package/dist/backend/backend/src/services/harness/claude-config.utils.js.map +1 -0
  53. package/dist/backend/backend/src/services/harness/harness-api-key.service.d.ts +99 -0
  54. package/dist/backend/backend/src/services/harness/harness-api-key.service.d.ts.map +1 -0
  55. package/dist/backend/backend/src/services/harness/harness-api-key.service.js +157 -0
  56. package/dist/backend/backend/src/services/harness/harness-api-key.service.js.map +1 -0
  57. package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts +135 -0
  58. package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -0
  59. package/dist/backend/backend/src/services/harness/harness-credentials.store.js +208 -0
  60. package/dist/backend/backend/src/services/harness/harness-credentials.store.js.map +1 -0
  61. package/dist/backend/backend/src/services/harness/harness-exec.utils.d.ts +85 -0
  62. package/dist/backend/backend/src/services/harness/harness-exec.utils.d.ts.map +1 -0
  63. package/dist/backend/backend/src/services/harness/harness-exec.utils.js +183 -0
  64. package/dist/backend/backend/src/services/harness/harness-exec.utils.js.map +1 -0
  65. package/dist/backend/backend/src/services/harness/harness-install.service.d.ts +106 -0
  66. package/dist/backend/backend/src/services/harness/harness-install.service.d.ts.map +1 -0
  67. package/dist/backend/backend/src/services/harness/harness-install.service.js +205 -0
  68. package/dist/backend/backend/src/services/harness/harness-install.service.js.map +1 -0
  69. package/dist/backend/backend/src/services/harness/harness-registry.d.ts +86 -0
  70. package/dist/backend/backend/src/services/harness/harness-registry.d.ts.map +1 -0
  71. package/dist/backend/backend/src/services/harness/harness-registry.js +121 -0
  72. package/dist/backend/backend/src/services/harness/harness-registry.js.map +1 -0
  73. package/dist/backend/backend/src/services/harness/harness-status.service.d.ts +173 -0
  74. package/dist/backend/backend/src/services/harness/harness-status.service.d.ts.map +1 -0
  75. package/dist/backend/backend/src/services/harness/harness-status.service.js +324 -0
  76. package/dist/backend/backend/src/services/harness/harness-status.service.js.map +1 -0
  77. package/dist/backend/backend/src/services/harness/harness.service.d.ts +146 -0
  78. package/dist/backend/backend/src/services/harness/harness.service.d.ts.map +1 -0
  79. package/dist/backend/backend/src/services/harness/harness.service.js +193 -0
  80. package/dist/backend/backend/src/services/harness/harness.service.js.map +1 -0
  81. package/dist/backend/backend/src/services/harness/harness.types.d.ts +138 -0
  82. package/dist/backend/backend/src/services/harness/harness.types.d.ts.map +1 -0
  83. package/dist/backend/backend/src/services/harness/harness.types.js +51 -0
  84. package/dist/backend/backend/src/services/harness/harness.types.js.map +1 -0
  85. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts +238 -0
  86. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts.map +1 -0
  87. package/dist/backend/backend/src/services/harness/login-broker.service.js +495 -0
  88. package/dist/backend/backend/src/services/harness/login-broker.service.js.map +1 -0
  89. package/dist/backend/backend/src/services/harness/login-rules.d.ts +162 -0
  90. package/dist/backend/backend/src/services/harness/login-rules.d.ts.map +1 -0
  91. package/dist/backend/backend/src/services/harness/login-rules.js +344 -0
  92. package/dist/backend/backend/src/services/harness/login-rules.js.map +1 -0
  93. package/dist/backend/backend/src/services/harness/orc-harness.store.d.ts +59 -0
  94. package/dist/backend/backend/src/services/harness/orc-harness.store.d.ts.map +1 -0
  95. package/dist/backend/backend/src/services/harness/orc-harness.store.js +108 -0
  96. package/dist/backend/backend/src/services/harness/orc-harness.store.js.map +1 -0
  97. package/dist/backend/backend/src/services/whatsapp/index.d.ts +5 -1
  98. package/dist/backend/backend/src/services/whatsapp/index.d.ts.map +1 -1
  99. package/dist/backend/backend/src/services/whatsapp/index.js +5 -1
  100. package/dist/backend/backend/src/services/whatsapp/index.js.map +1 -1
  101. package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.d.ts +59 -0
  102. package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.d.ts.map +1 -0
  103. package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.js +108 -0
  104. package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.js.map +1 -0
  105. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.d.ts +74 -0
  106. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.d.ts.map +1 -0
  107. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.js +82 -0
  108. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.js.map +1 -0
  109. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.d.ts +184 -0
  110. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.d.ts.map +1 -0
  111. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.js +420 -0
  112. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.js.map +1 -0
  113. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.d.ts +243 -0
  114. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.d.ts.map +1 -0
  115. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.js +538 -0
  116. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.js.map +1 -0
  117. package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.d.ts +32 -2
  118. package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.d.ts.map +1 -1
  119. package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.js +65 -9
  120. package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.js.map +1 -1
  121. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts.map +1 -1
  122. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js +11 -0
  123. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js.map +1 -1
  124. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.d.ts +59 -1
  125. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.d.ts.map +1 -1
  126. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js +159 -9
  127. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js.map +1 -1
  128. package/dist/backend/backend/src/types/whatsapp.types.d.ts +108 -0
  129. package/dist/backend/backend/src/types/whatsapp.types.d.ts.map +1 -1
  130. package/dist/backend/backend/src/types/whatsapp.types.js +9 -0
  131. package/dist/backend/backend/src/types/whatsapp.types.js.map +1 -1
  132. package/dist/backend/build-info.json +2 -2
  133. package/dist/cli/backend/src/constants.d.ts +225 -0
  134. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  135. package/dist/cli/backend/src/constants.js +223 -0
  136. package/dist/cli/backend/src/constants.js.map +1 -1
  137. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +5 -0
  138. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  139. package/dist/cli/backend/src/services/agent/agent-registration.service.js +7 -0
  140. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  141. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  142. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +5 -0
  143. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  144. package/dist/cli/backend/src/services/cloud/cloud-client.service.d.ts +2 -1
  145. package/dist/cli/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
  146. package/dist/cli/backend/src/services/cloud/cloud-client.service.js +4 -3
  147. package/dist/cli/backend/src/services/cloud/cloud-client.service.js.map +1 -1
  148. package/dist/cli/backend/src/services/harness/claude-config.utils.d.ts +67 -0
  149. package/dist/cli/backend/src/services/harness/claude-config.utils.d.ts.map +1 -0
  150. package/dist/cli/backend/src/services/harness/claude-config.utils.js +118 -0
  151. package/dist/cli/backend/src/services/harness/claude-config.utils.js.map +1 -0
  152. package/dist/cli/backend/src/services/harness/harness-api-key.service.d.ts +99 -0
  153. package/dist/cli/backend/src/services/harness/harness-api-key.service.d.ts.map +1 -0
  154. package/dist/cli/backend/src/services/harness/harness-api-key.service.js +157 -0
  155. package/dist/cli/backend/src/services/harness/harness-api-key.service.js.map +1 -0
  156. package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts +135 -0
  157. package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -0
  158. package/dist/cli/backend/src/services/harness/harness-credentials.store.js +208 -0
  159. package/dist/cli/backend/src/services/harness/harness-credentials.store.js.map +1 -0
  160. package/dist/cli/backend/src/services/harness/harness-exec.utils.d.ts +85 -0
  161. package/dist/cli/backend/src/services/harness/harness-exec.utils.d.ts.map +1 -0
  162. package/dist/cli/backend/src/services/harness/harness-exec.utils.js +183 -0
  163. package/dist/cli/backend/src/services/harness/harness-exec.utils.js.map +1 -0
  164. package/dist/cli/backend/src/services/harness/harness-install.service.d.ts +106 -0
  165. package/dist/cli/backend/src/services/harness/harness-install.service.d.ts.map +1 -0
  166. package/dist/cli/backend/src/services/harness/harness-install.service.js +205 -0
  167. package/dist/cli/backend/src/services/harness/harness-install.service.js.map +1 -0
  168. package/dist/cli/backend/src/services/harness/harness-registry.d.ts +86 -0
  169. package/dist/cli/backend/src/services/harness/harness-registry.d.ts.map +1 -0
  170. package/dist/cli/backend/src/services/harness/harness-registry.js +121 -0
  171. package/dist/cli/backend/src/services/harness/harness-registry.js.map +1 -0
  172. package/dist/cli/backend/src/services/harness/harness-status.service.d.ts +173 -0
  173. package/dist/cli/backend/src/services/harness/harness-status.service.d.ts.map +1 -0
  174. package/dist/cli/backend/src/services/harness/harness-status.service.js +324 -0
  175. package/dist/cli/backend/src/services/harness/harness-status.service.js.map +1 -0
  176. package/dist/cli/backend/src/services/harness/harness.service.d.ts +146 -0
  177. package/dist/cli/backend/src/services/harness/harness.service.d.ts.map +1 -0
  178. package/dist/cli/backend/src/services/harness/harness.service.js +193 -0
  179. package/dist/cli/backend/src/services/harness/harness.service.js.map +1 -0
  180. package/dist/cli/backend/src/services/harness/harness.types.d.ts +138 -0
  181. package/dist/cli/backend/src/services/harness/harness.types.d.ts.map +1 -0
  182. package/dist/cli/backend/src/services/harness/harness.types.js +51 -0
  183. package/dist/cli/backend/src/services/harness/harness.types.js.map +1 -0
  184. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts +238 -0
  185. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts.map +1 -0
  186. package/dist/cli/backend/src/services/harness/login-broker.service.js +495 -0
  187. package/dist/cli/backend/src/services/harness/login-broker.service.js.map +1 -0
  188. package/dist/cli/backend/src/services/harness/login-rules.d.ts +162 -0
  189. package/dist/cli/backend/src/services/harness/login-rules.d.ts.map +1 -0
  190. package/dist/cli/backend/src/services/harness/login-rules.js +344 -0
  191. package/dist/cli/backend/src/services/harness/login-rules.js.map +1 -0
  192. package/dist/cli/backend/src/services/harness/orc-harness.store.d.ts +59 -0
  193. package/dist/cli/backend/src/services/harness/orc-harness.store.d.ts.map +1 -0
  194. package/dist/cli/backend/src/services/harness/orc-harness.store.js +108 -0
  195. package/dist/cli/backend/src/services/harness/orc-harness.store.js.map +1 -0
  196. package/dist/cli/cli/src/commands/harness-setup.d.ts +159 -0
  197. package/dist/cli/cli/src/commands/harness-setup.d.ts.map +1 -0
  198. package/dist/cli/cli/src/commands/harness-setup.js +377 -0
  199. package/dist/cli/cli/src/commands/harness-setup.js.map +1 -0
  200. package/dist/cli/cli/src/commands/harness.d.ts +56 -0
  201. package/dist/cli/cli/src/commands/harness.d.ts.map +1 -0
  202. package/dist/cli/cli/src/commands/harness.js +97 -0
  203. package/dist/cli/cli/src/commands/harness.js.map +1 -0
  204. package/dist/cli/cli/src/commands/onboard.d.ts +108 -50
  205. package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
  206. package/dist/cli/cli/src/commands/onboard.js +200 -191
  207. package/dist/cli/cli/src/commands/onboard.js.map +1 -1
  208. package/dist/cli/cli/src/constants.d.ts +18 -0
  209. package/dist/cli/cli/src/constants.d.ts.map +1 -1
  210. package/dist/cli/cli/src/constants.js +18 -0
  211. package/dist/cli/cli/src/constants.js.map +1 -1
  212. package/dist/cli/cli/src/index.js +22 -3
  213. package/dist/cli/cli/src/index.js.map +1 -1
  214. package/dist/cli/cli/src/utils/harness-engine.d.ts +99 -0
  215. package/dist/cli/cli/src/utils/harness-engine.d.ts.map +1 -0
  216. package/dist/cli/cli/src/utils/harness-engine.js +143 -0
  217. package/dist/cli/cli/src/utils/harness-engine.js.map +1 -0
  218. package/dist/cli/cli/src/utils/prompt-io.d.ts +25 -0
  219. package/dist/cli/cli/src/utils/prompt-io.d.ts.map +1 -0
  220. package/dist/cli/cli/src/utils/prompt-io.js +47 -0
  221. package/dist/cli/cli/src/utils/prompt-io.js.map +1 -0
  222. package/frontend/dist/assets/{index-8327e63e.css → index-0a2f783c.css} +1 -1
  223. package/frontend/dist/assets/{index-07e338a9.js → index-aaf65055.js} +309 -309
  224. package/frontend/dist/index.html +2 -2
  225. package/package.json +1 -1
@@ -0,0 +1,84 @@
1
+ #!/bin/bash
2
+ # Tests for whatsapp-read — run with: bash execute.test.sh </dev/null
3
+ # Spins up a python HTTP stub as the backend, asserts the request path the
4
+ # skill sends and the JSON it prints. Exit 0 on pass.
5
+ set -u
6
+ HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
7
+ EXEC="$HERE/execute.sh"
8
+ PASS=0; FAIL=0
9
+ check() {
10
+ local name="$1"; local got="$2"; local want="$3"
11
+ if [ "$got" = "$want" ]; then PASS=$((PASS+1)); else FAIL=$((FAIL+1)); echo "FAIL: $name"; echo " want: $want"; echo " got: $got"; fi
12
+ }
13
+
14
+ PORT=18842
15
+ STUB_LOG="$(mktemp)"; export STUB_LOG; export STUB_PORT="$PORT"
16
+ python3 -u <<'PY' >/dev/null 2>&1 &
17
+ from http.server import BaseHTTPRequestHandler, HTTPServer
18
+ from urllib.parse import urlparse
19
+ import json, os
20
+ LOG = os.environ['STUB_LOG']; PORT = int(os.environ['STUB_PORT'])
21
+ CHAT = {'id': '491@s.whatsapp.net', 'name': 'Ann', 'isGroup': False, 'lastMessageAt': 1760000000000}
22
+ M_IN = {'id': 'm1', 'chatId': '491@s.whatsapp.net', 'fromMe': False, 'senderJid': '491@s.whatsapp.net', 'senderName': 'Ann', 'text': 'at 8?', 'ts': 1760000000000, 'kind': 'text'}
23
+ M_OUT = dict(M_IN, id='m2', fromMe=True, senderJid='999@s.whatsapp.net', senderName=None, text='yes', ts=1760000060000)
24
+ class H(BaseHTTPRequestHandler):
25
+ def reply(self, code, body):
26
+ self.send_response(code); self.send_header('Content-Type', 'application/json'); self.end_headers()
27
+ self.wfile.write(json.dumps(body).encode())
28
+ def do_GET(self):
29
+ open(LOG, 'w').write(json.dumps({'method': 'GET', 'path': self.path}))
30
+ p = urlparse(self.path).path
31
+ if p == '/api/whatsapp/chats/nobody%40s.whatsapp.net/messages':
32
+ return self.reply(404, {'success': False, 'code': 'chat_not_found', 'error': 'Unknown chat: nobody@s.whatsapp.net'})
33
+ if p.endswith('/messages'):
34
+ return self.reply(200, {'success': True, 'data': {'chat': CHAT, 'messages': [M_IN, M_OUT], 'nextBefore': 1760000000000}})
35
+ if p == '/api/whatsapp/search':
36
+ return self.reply(200, {'success': True, 'data': [dict(M_IN, chatName='Ann')]})
37
+ if p == '/api/whatsapp/chats':
38
+ return self.reply(200, {'success': True, 'data': [CHAT, {'id': '120@g.us', 'name': None, 'isGroup': True, 'lastMessageAt': None}]})
39
+ self.reply(404, {'success': False, 'error': 'no route'})
40
+ def log_message(self, *a, **k): pass
41
+ HTTPServer(('127.0.0.1', PORT), H).serve_forever()
42
+ PY
43
+ STUB_PID=$!
44
+ disown "$STUB_PID" 2>/dev/null || true
45
+ trap 'kill "$STUB_PID" >/dev/null 2>&1; rm -f "$STUB_LOG"' EXIT
46
+ for i in $(seq 1 30); do curl -s -o /dev/null -m 0.2 "http://127.0.0.1:${PORT}/" 2>/dev/null && break; sleep 0.1; done
47
+
48
+ run() { CREWLY_SESSION_NAME=test-agent CREWLY_API_URL="http://127.0.0.1:${PORT}" bash "$EXEC" "$@" 2>/dev/null; }
49
+ run_err() { CREWLY_SESSION_NAME=test-agent CREWLY_API_URL="http://127.0.0.1:${PORT}" bash "$EXEC" "$@" 2>&1 >/dev/null | jq -r '.error' 2>/dev/null; }
50
+
51
+ # --- one chat ---
52
+ OUT=$(run --chat 491@s.whatsapp.net --limit 2 --before 1760000100000)
53
+ check "chat: path" "$(jq -r .path "$STUB_LOG")" "/api/whatsapp/chats/491%40s.whatsapp.net/messages?limit=2&before=1760000100000"
54
+ check "chat: output" "$OUT" '{"chat":{"chatId":"491@s.whatsapp.net","name":"Ann","isGroup":false},"messages":[{"at":"2025-10-09T08:53:20Z","fromMe":false,"sender":"Ann","kind":"text","text":"at 8?"},{"at":"2025-10-09T08:54:20Z","fromMe":true,"sender":"me","kind":"text","text":"yes"}],"nextBefore":1760000000000}'
55
+
56
+ run '{"chatId":"491@s.whatsapp.net"}' >/dev/null
57
+ check "chat json: path" "$(jq -r .path "$STUB_LOG")" "/api/whatsapp/chats/491%40s.whatsapp.net/messages"
58
+
59
+ # --- search ---
60
+ OUT=$(run --q "dinner & wine" --limit 5)
61
+ check "search: path" "$(jq -r .path "$STUB_LOG")" "/api/whatsapp/search?q=dinner%20%26%20wine&limit=5"
62
+ check "search: output" "$OUT" '{"count":1,"hits":[{"chatId":"491@s.whatsapp.net","chatName":"Ann","at":"2025-10-09T08:53:20Z","fromMe":false,"sender":"Ann","kind":"text","text":"at 8?"}]}'
63
+
64
+ # --- list chats ---
65
+ OUT=$(run --chats --q ann)
66
+ check "chats: path" "$(jq -r .path "$STUB_LOG")" "/api/whatsapp/chats?q=ann"
67
+ check "chats: output" "$OUT" '{"count":2,"chats":[{"chatId":"491@s.whatsapp.net","name":"Ann","isGroup":false,"lastAt":"2025-10-09T08:53:20Z"},{"chatId":"120@g.us","name":"120@g.us","isGroup":true,"lastAt":null}]}'
68
+ run '{"chats":true,"limit":3}' >/dev/null
69
+ check "chats json: path" "$(jq -r .path "$STUB_LOG")" "/api/whatsapp/chats?limit=3"
70
+
71
+ # --- no session name: output stays clean JSON ---
72
+ OUT=$(CREWLY_SESSION_NAME= CREWLY_API_URL="http://127.0.0.1:${PORT}" bash "$EXEC" --q x 2>/dev/null | jq -r .count)
73
+ check "no session: output still parses" "$OUT" "1"
74
+
75
+ # --- errors ---
76
+ OUT=$(CREWLY_SESSION_NAME=test-agent CREWLY_API_URL="http://127.0.0.1:${PORT}" bash "$EXEC" --chat nobody@s.whatsapp.net 2>/dev/null); RC=$?
77
+ check "404: exit code" "$RC" "1"
78
+ check "404: reason" "$OUT" '{"success":false,"reason":"chat_not_found","message":"Unknown chat: nobody@s.whatsapp.net"}'
79
+
80
+ check "needs a mode" "$(run_err)" "Pass --chat <jid>, --q <text>, or --chats"
81
+ check "unknown option errors" "$(run_err --bogus)" "Unknown option: --bogus"
82
+
83
+ echo "=== Results: $PASS passed, $FAIL failed ==="
84
+ [ "$FAIL" -eq 0 ]
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: WhatsApp Send
3
+ description: Send ONE WhatsApp reply draft that the owner has explicitly confirmed by replying 「发 <code>」. Fails with needs_owner_confirmation otherwise. Never use it on your own initiative.
4
+ version: 1.0.0
5
+ category: communication
6
+ skillType: claude-skill
7
+ assignableRoles:
8
+ - orchestrator
9
+ - team-leader
10
+ - generalist
11
+ - operations
12
+ - ops
13
+ - support
14
+ - sales
15
+ triggers:
16
+ - 发 W
17
+ - send whatsapp draft
18
+ tags:
19
+ - whatsapp
20
+ - send
21
+ execution:
22
+ type: script
23
+ script:
24
+ file: execute.sh
25
+ interpreter: bash
26
+ timeoutMs: 30000
27
+ ---
28
+
29
+ # WhatsApp Send
30
+
31
+ ```bash
32
+ bash execute.sh --draft W12
33
+ ```
34
+
35
+ Use this **only** right after the owner has replied **「发 W12」** (or 「发送 W12」,
36
+ "send W12", 「确认发送 W12」) for that exact draft. One draft per call, one
37
+ message per draft.
38
+
39
+ ## How the backend decides
40
+
41
+ The server checks the owner's own chat messages — which you cannot write or
42
+ fake — for 「发 W12」 sent **after** the draft was created. The draft must also be
43
+ less than **30 minutes** old. If either is missing you get:
44
+
45
+ ```json
46
+ {"success":false,"sent":false,"reason":"needs_owner_confirmation","message":"NOT SENT: the owner has not confirmed. …"}
47
+ ```
48
+
49
+ That is not an error to work around. Show the owner the draft (recipient, exact
50
+ text, code) and ask them to reply 「发 W12」. If the draft is older than 30
51
+ minutes, ask them to send it from the dashboard, or write a fresh draft.
52
+
53
+ Other failures: `draft_not_pending` (already sent or discarded — never resend),
54
+ `draft_not_found`, `not_connected`, `send_failed`.
55
+
56
+ ## Rules (owner decision — apply to every whatsapp-* skill)
57
+
58
+ - **Never send anything without the owner's explicit 「发 <code>」.** A general
59
+ "ok", "sounds good" or "handle it" is not a confirmation.
60
+ - **Never auto-reply to anyone.**
61
+ - **Summarise; don't paste private chats wholesale** into other channels.
62
+ - **Groups are low priority.**
63
+
64
+ ## Output
65
+
66
+ ```json
67
+ {"success":true,"sent":true,"code":"W12","recipient":"Ann","sentAt":"2026-09-24T18:05:00Z"}
68
+ ```
69
+
70
+ Tell the owner it went out, in one line.
@@ -0,0 +1,84 @@
1
+ #!/bin/bash
2
+ # =============================================================================
3
+ # whatsapp-send — Send ONE WhatsApp draft the owner has confirmed
4
+ #
5
+ # Backed by POST /api/whatsapp/drafts/<id|code>/send. The backend refuses
6
+ # (403 needs_owner_confirmation) unless the owner replied 「发 <code>」 in chat
7
+ # after the draft was written, within 30 minutes. This skill cannot get
8
+ # around that, and must not try.
9
+ #
10
+ # Usage:
11
+ # bash execute.sh --draft W12
12
+ # bash execute.sh '{"draft":"W12"}'
13
+ # =============================================================================
14
+ set -euo pipefail
15
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
16
+ source "${SCRIPT_DIR}/../../_common/lib.sh"
17
+
18
+ print_usage() {
19
+ cat <<'EOF_USAGE'
20
+ Usage:
21
+ bash execute.sh --draft <id|code>
22
+ bash execute.sh '{"draft":"W12"}'
23
+
24
+ Options:
25
+ --draft Draft id or code (W12) the owner confirmed with 「发 W12」
26
+ --help | -h Show this help
27
+
28
+ Fails unless the owner has replied 「发 <code>」 for this draft.
29
+ EOF_USAGE
30
+ }
31
+
32
+ INPUT_JSON=""
33
+ DRAFT=""
34
+
35
+ if [[ $# -gt 0 && ${1:0:1} == '{' ]]; then
36
+ INPUT_JSON="$1"
37
+ shift || true
38
+ fi
39
+
40
+ while [[ $# -gt 0 ]]; do
41
+ case "$1" in
42
+ --draft|-d) [ $# -ge 2 ] || error_exit "--draft requires a value"; DRAFT="$2"; shift 2 ;;
43
+ --help|-h) print_usage; exit 0 ;;
44
+ *) error_exit "Unknown option: $1" ;;
45
+ esac
46
+ done
47
+
48
+ if [ -n "$INPUT_JSON" ]; then
49
+ INPUT=$(read_json_input "$INPUT_JSON")
50
+ [ -z "$DRAFT" ] && DRAFT=$(printf '%s' "$INPUT" | jq -r '.draft // .draftId // .code // .id // empty')
51
+ fi
52
+
53
+ require_param "draft (--draft)" "$DRAFT"
54
+
55
+ # Without X-Agent-Session the backend treats a call as the owner's own click.
56
+ # An agent must never be mistaken for the owner, so refuse to run anonymously.
57
+ if [ -z "${CREWLY_SESSION_NAME:-}" ]; then
58
+ error_exit "CREWLY_SESSION_NAME is not set. whatsapp-send only runs as an identified agent; ask the owner to send it themselves or restart the agent."
59
+ fi
60
+
61
+ REF=$(jq -rn --arg v "$DRAFT" '$v|@uri')
62
+
63
+ # stderr is kept apart so lib.sh's session warning cannot pollute a good response.
64
+ ERR_FILE=$(mktemp); trap 'rm -f "$ERR_FILE"' EXIT
65
+ RESPONSE=$(api_call POST "/whatsapp/drafts/${REF}/send" '{}' 2>"$ERR_FILE") || {
66
+ ERR=$(tail -n 1 "$ERR_FILE")
67
+ printf '%s' "$ERR" | jq -c '{
68
+ success: false,
69
+ sent: false,
70
+ reason: (.details.code // .details.error // .details // .error // "unknown"),
71
+ message: (if .details.code == "needs_owner_confirmation"
72
+ then "NOT SENT: the owner has not confirmed. " + (.details.error // "")
73
+ else (.details.error // "") end)
74
+ }' 2>/dev/null || jq -n --arg r "$ERR" '{success: false, sent: false, reason: $r}'
75
+ exit 1
76
+ }
77
+
78
+ printf '%s' "$RESPONSE" | jq -c '.data as $d | {
79
+ success: true,
80
+ sent: true,
81
+ code: $d.code,
82
+ recipient: $d.recipient,
83
+ sentAt: (if $d.sentAt then (($d.sentAt / 1000) | floor | todate) else null end)
84
+ }'
@@ -0,0 +1,79 @@
1
+ #!/bin/bash
2
+ # Tests for whatsapp-send — run with: bash execute.test.sh </dev/null
3
+ # Spins up a python HTTP stub as the backend, asserts the request path the
4
+ # skill sends and the JSON it prints. Exit 0 on pass.
5
+ set -u
6
+ HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
7
+ EXEC="$HERE/execute.sh"
8
+ PASS=0; FAIL=0
9
+ check() {
10
+ local name="$1"; local got="$2"; local want="$3"
11
+ if [ "$got" = "$want" ]; then PASS=$((PASS+1)); else FAIL=$((FAIL+1)); echo "FAIL: $name"; echo " want: $want"; echo " got: $got"; fi
12
+ }
13
+
14
+ PORT=18844
15
+ STUB_LOG="$(mktemp)"; export STUB_LOG; export STUB_PORT="$PORT"
16
+ python3 -u <<'PY' >/dev/null 2>&1 &
17
+ from http.server import BaseHTTPRequestHandler, HTTPServer
18
+ import json, os
19
+ LOG = os.environ['STUB_LOG']; PORT = int(os.environ['STUB_PORT'])
20
+ class H(BaseHTTPRequestHandler):
21
+ def reply(self, code, body):
22
+ self.send_response(code); self.send_header('Content-Type', 'application/json'); self.end_headers()
23
+ self.wfile.write(json.dumps(body).encode())
24
+ def do_POST(self):
25
+ self.rfile.read(int(self.headers.get('Content-Length', 0)))
26
+ open(LOG, 'w').write(json.dumps({'method': 'POST', 'path': self.path, 'agent': self.headers.get('X-Agent-Session')}))
27
+ if self.path == '/api/whatsapp/drafts/W12/send':
28
+ return self.reply(200, {'success': True, 'data': {'id': 'd-1', 'code': 'W12', 'status': 'sent', 'sentAt': 1760000000000, 'recipient': 'Ann', 'via': 'owner_confirmation'}})
29
+ if self.path == '/api/whatsapp/drafts/W13/send':
30
+ return self.reply(403, {'success': False, 'code': 'needs_owner_confirmation',
31
+ 'error': 'The owner has not confirmed draft W13. Ask them to reply 「发 W13」.',
32
+ 'data': {'code': 'W13', 'reason': 'no_confirmation'}})
33
+ if self.path == '/api/whatsapp/drafts/W14/send':
34
+ return self.reply(409, {'success': False, 'code': 'draft_not_pending', 'error': 'Draft W14 is sent; it cannot be sent'})
35
+ self.reply(404, {'success': False, 'code': 'draft_not_found', 'error': 'No draft'})
36
+ def log_message(self, *a, **k): pass
37
+ HTTPServer(('127.0.0.1', PORT), H).serve_forever()
38
+ PY
39
+ STUB_PID=$!
40
+ disown "$STUB_PID" 2>/dev/null || true
41
+ trap 'kill "$STUB_PID" >/dev/null 2>&1; rm -f "$STUB_LOG"' EXIT
42
+ for i in $(seq 1 30); do curl -s -o /dev/null -m 0.2 "http://127.0.0.1:${PORT}/" 2>/dev/null && break; sleep 0.1; done
43
+
44
+ run() { CREWLY_SESSION_NAME=test-agent CREWLY_API_URL="http://127.0.0.1:${PORT}" bash "$EXEC" "$@" 2>/dev/null; }
45
+ run_err() { CREWLY_SESSION_NAME=test-agent CREWLY_API_URL="http://127.0.0.1:${PORT}" bash "$EXEC" "$@" 2>&1 >/dev/null | jq -r '.error' 2>/dev/null; }
46
+
47
+ OUT=$(run --draft W12)
48
+ check "confirmed: path" "$(jq -r .path "$STUB_LOG")" "/api/whatsapp/drafts/W12/send"
49
+ check "confirmed: agent header" "$(jq -r .agent "$STUB_LOG")" "test-agent"
50
+ check "confirmed: output" "$OUT" '{"success":true,"sent":true,"code":"W12","recipient":"Ann","sentAt":"2025-10-09T08:53:20Z"}'
51
+
52
+ run '{"draft":"W12"}' >/dev/null
53
+ check "json: path" "$(jq -r .path "$STUB_LOG")" "/api/whatsapp/drafts/W12/send"
54
+
55
+ OUT=$(run --draft W13); RC=$?
56
+ check "unconfirmed: exit code" "$RC" "1"
57
+ check "unconfirmed: reason" "$(printf '%s' "$OUT" | jq -r .reason)" "needs_owner_confirmation"
58
+ check "unconfirmed: sent false" "$(printf '%s' "$OUT" | jq -r .sent)" "false"
59
+ MSG=$(printf '%s' "$OUT" | jq -r .message)
60
+ [[ "$MSG" == "NOT SENT: the owner has not confirmed."* && "$MSG" == *"「发 W13」"* ]] && OK=yes || OK=no
61
+ check "unconfirmed: clear message" "$OK" "yes"
62
+
63
+ OUT=$(run --draft W14); RC=$?
64
+ check "already sent: exit code" "$RC" "1"
65
+ check "already sent: reason" "$(printf '%s' "$OUT" | jq -r .reason)" "draft_not_pending"
66
+
67
+ # Anonymous calls would look like the owner to the backend — refused locally,
68
+ # and no request is made.
69
+ : > "$STUB_LOG"
70
+ ERR=$(CREWLY_SESSION_NAME= CREWLY_API_URL="http://127.0.0.1:${PORT}" bash "$EXEC" --draft W12 2>&1 >/dev/null | jq -r .error); RC=$?
71
+ [[ "$ERR" == "CREWLY_SESSION_NAME is not set."* ]] && OK=yes || OK=no
72
+ check "no session: refused" "$OK" "yes"
73
+ check "no session: no request made" "$(cat "$STUB_LOG")" ""
74
+
75
+ check "missing draft" "$(run_err)" "Missing required parameter: draft (--draft)"
76
+ check "unknown option errors" "$(run_err --force)" "Unknown option: --force"
77
+
78
+ echo "=== Results: $PASS passed, $FAIL failed ==="
79
+ [ "$FAIL" -eq 0 ]
@@ -2089,7 +2089,114 @@ export declare const WHATSAPP_CONSTANTS: {
2089
2089
  readonly PHONE_PREFIX_PATTERN: RegExp;
2090
2090
  /** Fallback timeout when MESSAGE_QUEUE_CONSTANTS is unavailable (ms) */
2091
2091
  readonly DEFAULT_FALLBACK_TIMEOUT_MS: 120000;
2092
+ /**
2093
+ * Connection modes. `assistant` routes every incoming message to the
2094
+ * orchestrator and auto-replies (the original bridge). `inbox` reads the
2095
+ * owner's personal account, stores it locally and never sends anything
2096
+ * without the owner's explicit confirmation.
2097
+ */
2098
+ readonly MODES: {
2099
+ readonly ASSISTANT: "assistant";
2100
+ readonly INBOX: "inbox";
2101
+ };
2102
+ /** Mode used by `POST /api/whatsapp/connect` when the body names none (owner decision) */
2103
+ readonly DEFAULT_CONNECT_MODE: "inbox";
2104
+ /**
2105
+ * Mode for the legacy `WHATSAPP_ENABLED=true` env path when neither
2106
+ * `WHATSAPP_MODE` nor a persisted connection names one — that path has
2107
+ * always meant the orchestrator assistant.
2108
+ */
2109
+ readonly LEGACY_ENV_MODE: "assistant";
2110
+ /** Data directory under the Crewly home (`~/.crewly/whatsapp/`) */
2111
+ readonly DATA_DIR: "whatsapp";
2112
+ /** SQLite file holding the inbox (chats, messages, drafts) */
2113
+ readonly INBOX_DB_FILE: "inbox.db";
2114
+ /** Persisted connection config (mode, allowed contacts, auto-connect) */
2115
+ readonly CONNECTION_CONFIG_FILE: "connection.json";
2116
+ /** Group chat JID suffix */
2117
+ readonly GROUP_JID_SUFFIX: "@g.us";
2118
+ /** Phone-number user JID suffix */
2119
+ readonly USER_JID_SUFFIX: "@s.whatsapp.net";
2120
+ /** Linked-identity (LID) JID suffix used by newer WhatsApp addressing */
2121
+ readonly LID_JID_SUFFIX: "@lid";
2122
+ /** Pseudo-chat carrying status/stories — never part of the inbox */
2123
+ readonly STATUS_BROADCAST_JID: "status@broadcast";
2124
+ /** Baileys `messages.upsert` types: live (`notify`) and own/backfilled (`append`) */
2125
+ readonly UPSERT_TYPES: {
2126
+ readonly NOTIFY: "notify";
2127
+ readonly APPEND: "append";
2128
+ };
2129
+ /** Baileys `HistorySync.HistorySyncType.FULL` — the whole account history, skipped in inbox mode */
2130
+ readonly HISTORY_SYNC_TYPE_FULL: 2;
2131
+ /** History-sync messages older than this are not stored (inbox seeds recent history only) */
2132
+ readonly HISTORY_SYNC_MAX_AGE_MS: number;
2133
+ /** Stored message kinds */
2134
+ readonly MESSAGE_KINDS: {
2135
+ readonly TEXT: "text";
2136
+ readonly IMAGE: "image";
2137
+ readonly DOCUMENT: "document";
2138
+ readonly AUDIO: "audio";
2139
+ readonly VIDEO: "video";
2140
+ readonly STICKER: "sticker";
2141
+ readonly OTHER: "other";
2142
+ };
2143
+ /** Chat-name provenance, higher wins: pushName < chat/group subject < address-book name */
2144
+ readonly NAME_RANKS: {
2145
+ readonly NONE: 0;
2146
+ readonly PUSH_NAME: 1;
2147
+ readonly CHAT: 2;
2148
+ readonly CONTACT: 3;
2149
+ };
2150
+ /** Row caps for the read API: default and hard maximum per endpoint */
2151
+ readonly LIMITS: {
2152
+ readonly INBOX_DEFAULT: 20;
2153
+ readonly INBOX_MAX: 200;
2154
+ readonly CHATS_DEFAULT: 50;
2155
+ readonly CHATS_MAX: 500;
2156
+ readonly MESSAGES_DEFAULT: 50;
2157
+ readonly MESSAGES_MAX: 500;
2158
+ readonly SEARCH_DEFAULT: 20;
2159
+ readonly SEARCH_MAX: 200;
2160
+ readonly DRAFTS_DEFAULT: 100;
2161
+ readonly DRAFTS_MAX: 500;
2162
+ };
2163
+ /** Prefix of the short human draft code (`W12`) */
2164
+ readonly DRAFT_CODE_PREFIX: "W";
2165
+ /** Draft lifecycle. `sending` is the claim held while the socket call is in flight */
2166
+ readonly DRAFT_STATUSES: {
2167
+ readonly PENDING: "pending";
2168
+ readonly SENDING: "sending";
2169
+ readonly SENT: "sent";
2170
+ readonly DISCARDED: "discarded";
2171
+ };
2172
+ /**
2173
+ * How long after a draft is written an agent may send it on the strength of
2174
+ * the owner's 「发 W12」 chat message. After this the owner must send it from
2175
+ * the dashboard, or the agent drafts again.
2176
+ */
2177
+ readonly DRAFT_CONFIRM_WINDOW_MS: number;
2178
+ /**
2179
+ * Owner confirmation message: 「发 W12」 / 「发送 12」 / "send #W12" / 「确认发送 W12」.
2180
+ * Group 2 is the draft code (with or without the W).
2181
+ */
2182
+ readonly DRAFT_CONFIRM_PATTERN: RegExp;
2183
+ /** Owner messages scanned for a confirmation (newest first) */
2184
+ readonly OWNER_CONFIRM_SCAN_LIMIT: 200;
2185
+ /** Error codes returned by the inbox API */
2186
+ readonly ERROR_CODES: {
2187
+ readonly NEEDS_OWNER_CONFIRMATION: "needs_owner_confirmation";
2188
+ readonly AGENT_SEND_FORBIDDEN: "agent_send_forbidden_in_inbox_mode";
2189
+ readonly DRAFT_NOT_FOUND: "draft_not_found";
2190
+ readonly DRAFT_NOT_PENDING: "draft_not_pending";
2191
+ readonly CHAT_NOT_FOUND: "chat_not_found";
2192
+ readonly NOT_CONNECTED: "not_connected";
2193
+ readonly SEND_FAILED: "send_failed";
2194
+ readonly INVALID_MODE: "invalid_mode";
2195
+ readonly INVALID_INPUT: "invalid_input";
2196
+ };
2092
2197
  };
2198
+ /** WhatsApp connection mode (see {@link WHATSAPP_CONSTANTS.MODES}) */
2199
+ export type WhatsAppMode = (typeof WHATSAPP_CONSTANTS.MODES)[keyof typeof WHATSAPP_CONSTANTS.MODES];
2093
2200
  /** Google OAuth endpoint URLs and default scopes. */
2094
2201
  export declare const GOOGLE_OAUTH_CONSTANTS: {
2095
2202
  readonly AUTH_BASE_URL: "https://accounts.google.com/o/oauth2/v2/auth";
@@ -2772,6 +2879,124 @@ export declare const POOL_ARCHIVE_CONSTANTS: {
2772
2879
  /** Terminal statuses that are archived once old enough */
2773
2880
  readonly TERMINAL_STATUSES: readonly ["verified", "done", "failed", "cancelled"];
2774
2881
  };
2882
+ /**
2883
+ * Harness onboarding (specs/onboarding-harness-login.md): detect, install and
2884
+ * log in to the agent CLIs ("harnesses") Crewly drives — Claude Code, Codex
2885
+ * and Gemini CLI. Shared by the backend REST API and the `crewly` CLI.
2886
+ */
2887
+ export declare const HARNESS_CONSTANTS: {
2888
+ /** Harness ids; equal to the matching RUNTIME_TYPES values */
2889
+ readonly IDS: {
2890
+ readonly CLAUDE_CODE: "claude-code";
2891
+ readonly CODEX_CLI: "codex-cli";
2892
+ readonly GEMINI_CLI: "gemini-cli";
2893
+ };
2894
+ /** Harness the orchestrator uses when the owner does not choose */
2895
+ readonly DEFAULT_ORC_HARNESS: "claude-code";
2896
+ /** Short names accepted by `crewly login <name>` / `--harness <name>` */
2897
+ readonly CLI_ALIASES: {
2898
+ readonly claude: "claude-code";
2899
+ readonly codex: "codex-cli";
2900
+ readonly gemini: "gemini-cli";
2901
+ };
2902
+ /** Credentials file under the Crewly home dir */
2903
+ readonly CREDENTIALS_FILE: "harness-credentials.json";
2904
+ /** File mode for the credentials file (owner read/write only) */
2905
+ readonly CREDENTIALS_FILE_MODE: 384;
2906
+ /** User-owned npm prefix under the Crewly home dir, used when `npm install -g` hits EACCES */
2907
+ readonly USER_NPM_PREFIX_DIR: "npm-global";
2908
+ /** Extra bin dir where Claude Code's native installer puts `claude` (relative to $HOME) */
2909
+ readonly NATIVE_INSTALLER_BIN_DIR: ".local/bin";
2910
+ /** How long `npm view <pkg> version` results are cached */
2911
+ readonly LATEST_VERSION_CACHE_TTL_MS: number;
2912
+ /** How long a failed `npm view` is cached (so an offline machine is not re-probed per request) */
2913
+ readonly LATEST_VERSION_FAILURE_TTL_MS: number;
2914
+ /** Timeout for short probe commands (which, --version, login status) */
2915
+ readonly PROBE_TIMEOUT_MS: 15000;
2916
+ /** Timeout for `npm view` */
2917
+ readonly NPM_VIEW_TIMEOUT_MS: 20000;
2918
+ /** Timeout for one `npm install -g` attempt */
2919
+ readonly INSTALL_TIMEOUT_MS: number;
2920
+ /** Install log kept per job (tail) */
2921
+ readonly INSTALL_LOG_MAX_CHARS: 64000;
2922
+ /** Finished install jobs are forgotten after this long */
2923
+ readonly INSTALL_JOB_RETENTION_MS: number;
2924
+ /** npm output that means "no permission to write the global prefix" */
2925
+ readonly PERMISSION_ERROR_PATTERNS: readonly string[];
2926
+ /** Version-like token in `--version` output */
2927
+ readonly VERSION_PATTERN: RegExp;
2928
+ /** Length bounds for a pasted API key */
2929
+ readonly API_KEY_MIN_LENGTH: 20;
2930
+ readonly API_KEY_MAX_LENGTH: 512;
2931
+ /** Login broker (PTY running the harness's own login command) */
2932
+ readonly LOGIN: {
2933
+ /** A login session that has not finished by then is timed out */
2934
+ readonly TIMEOUT_MS: number;
2935
+ /** Very wide PTY so login URLs are not wrapped at the terminal width */
2936
+ readonly PTY_COLS: 1000;
2937
+ readonly PTY_ROWS: 50;
2938
+ /** Tail of normalized screen text exposed to front ends */
2939
+ readonly SCREEN_MAX_CHARS: 2000;
2940
+ /** Raw PTY output kept per session (tail) */
2941
+ readonly RAW_BUFFER_MAX_CHARS: 200000;
2942
+ /** Finished sessions stay readable for this long */
2943
+ readonly SESSION_RETENTION_MS: number;
2944
+ /** Timeout for the post-login verification command */
2945
+ readonly VERIFY_TIMEOUT_MS: 30000;
2946
+ /** Value for BROWSER in the broker env: a no-op command, so harnesses do not open a browser */
2947
+ readonly BROWSER_SUPPRESS_VALUE: "true";
2948
+ /** Replaces anything that looks like a token or key in exposed screen text */
2949
+ readonly REDACTED: "[redacted]";
2950
+ /** A line that is a piece of a captured secret is redacted when at least this long */
2951
+ readonly REDACT_MIN_FRAGMENT: 8;
2952
+ /** A URL line at least this long that ends at end-of-line may continue on the next line */
2953
+ readonly WRAPPED_LINE_MIN_LENGTH: 40;
2954
+ /** Keys typed after user input */
2955
+ readonly ENTER: "\r";
2956
+ };
2957
+ /** Claude Code facts */
2958
+ readonly CLAUDE: {
2959
+ readonly OAUTH_TOKEN_ENV: "CLAUDE_CODE_OAUTH_TOKEN";
2960
+ readonly API_KEY_ENV: "ANTHROPIC_API_KEY";
2961
+ readonly CONFIG_DIR_ENV: "CLAUDE_CONFIG_DIR";
2962
+ /** `~/.claude.json` (or `$CLAUDE_CONFIG_DIR/.claude.json`) */
2963
+ readonly CONFIG_FILE: ".claude.json";
2964
+ readonly DATA_DIR: ".claude";
2965
+ readonly CREDENTIALS_FILE: ".credentials.json";
2966
+ /** macOS keychain item Claude Code stores its login under */
2967
+ readonly KEYCHAIN_SERVICE: "Claude Code-credentials";
2968
+ /** Claude Code approves a custom API key by its last N characters */
2969
+ readonly API_KEY_APPROVAL_SUFFIX_LENGTH: 20;
2970
+ readonly API_KEY_PREFIX: "sk-ant-";
2971
+ /** Endpoint used to check a pasted Anthropic API key */
2972
+ readonly API_KEY_CHECK_URL: "https://api.anthropic.com/v1/models";
2973
+ readonly API_VERSION: "2023-06-01";
2974
+ readonly API_KEY_CHECK_TIMEOUT_MS: 10000;
2975
+ };
2976
+ /** Codex CLI facts */
2977
+ readonly CODEX: {
2978
+ readonly HOME_ENV: "CODEX_HOME";
2979
+ readonly HOME_DIR: ".codex";
2980
+ readonly AUTH_FILE: "auth.json";
2981
+ };
2982
+ /** Gemini CLI facts (detect only) */
2983
+ readonly GEMINI: {
2984
+ readonly OAUTH_CREDS_FILE: ".gemini/oauth_creds.json";
2985
+ readonly KEY_ENV: readonly string[];
2986
+ };
2987
+ /** System tools Crewly needs (tmux is not one: sessions use node-pty) */
2988
+ readonly SYSTEM_TOOLS: {
2989
+ readonly JQ: {
2990
+ readonly ID: "jq";
2991
+ readonly INSTALL_HINT_MACOS: "brew install jq";
2992
+ readonly INSTALL_HINT_LINUX: "sudo apt-get install -y jq (Fedora: sudo dnf install -y jq)";
2993
+ };
2994
+ };
2995
+ /** Orchestrator config under the Crewly home dir (same file StorageService uses) */
2996
+ readonly ORCHESTRATOR_CONFIG_SEGMENTS: readonly string[];
2997
+ /** Web setup page opened by `crewly onboard --web` */
2998
+ readonly WEB_SETUP_PATH: "/setup";
2999
+ };
2775
3000
  /** License status type */
2776
3001
  export type CloudLicenseStatus = (typeof CLOUD_AUTH_CONSTANTS.LICENSE_STATUS)[keyof typeof CLOUD_AUTH_CONSTANTS.LICENSE_STATUS];
2777
3002
  export type AgentStatus = (typeof CREWLY_CONSTANTS.AGENT_STATUSES)[keyof typeof CREWLY_CONSTANTS.AGENT_STATUSES];
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}