crewly 1.20.281 → 1.20.282
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.
- package/config/skills/agent/core/receive-file/SKILL.md +53 -0
- package/config/skills/agent/core/receive-file/execute.sh +125 -0
- package/config/skills/agent/core/receive-file/execute.test.sh +80 -0
- package/config/skills/agent/core/send-file/SKILL.md +62 -0
- package/config/skills/agent/core/send-file/execute.sh +145 -0
- package/config/skills/agent/core/send-file/execute.test.sh +81 -0
- package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts +12 -0
- package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.controller.js +41 -0
- package/dist/backend/backend/src/controllers/apps/apps.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.routes.d.ts +4 -0
- package/dist/backend/backend/src/controllers/apps/apps.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.routes.js +12 -1
- package/dist/backend/backend/src/controllers/apps/apps.routes.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Receive File
|
|
3
|
+
description: Download a large file another agent of the same Crewly account sent with send-file (handoff id hf_…), save it in your workspace, verify its size, then tell Crewly Cloud to delete it. Use when a message gives you a handoff id or says "receive it with the receive-file skill".
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
category: productivity
|
|
6
|
+
skillType: claude-skill
|
|
7
|
+
assignableRoles:
|
|
8
|
+
- "*"
|
|
9
|
+
triggers:
|
|
10
|
+
- receive file
|
|
11
|
+
- download handoff
|
|
12
|
+
- hf_
|
|
13
|
+
- get the file from
|
|
14
|
+
- fetch the video
|
|
15
|
+
tags:
|
|
16
|
+
- files
|
|
17
|
+
- handoff
|
|
18
|
+
- transfer
|
|
19
|
+
execution:
|
|
20
|
+
type: script
|
|
21
|
+
script:
|
|
22
|
+
file: execute.sh
|
|
23
|
+
interpreter: bash
|
|
24
|
+
timeoutMs: 3600000
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Receive File
|
|
28
|
+
|
|
29
|
+
Downloads a file handed to you with `send-file` (by any agent of your own
|
|
30
|
+
Crewly account, on this or another machine). The file streams to disk, never
|
|
31
|
+
through memory; its size is checked against what the sender declared; then the
|
|
32
|
+
temporary copy on the server is deleted.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
bash execute.sh --id hf_AbCdEfGhIjKlMnOpQrStUv
|
|
36
|
+
bash execute.sh --id hf_… --dir ./inbox
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Prints:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{"success":true,"path":"/…/received/daily-2026-10-09.mp4","fileName":"daily-2026-10-09.mp4","sizeBytes":314572800,"note":"today's cut","acked":true}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
- `--dir`: where to save (default `received/` in your project directory).
|
|
46
|
+
An existing file is never overwritten; a number is added to the name.
|
|
47
|
+
- If the size does not match, nothing is acknowledged and the partial file is
|
|
48
|
+
removed: run it again (the server copy stays until it is acknowledged or
|
|
49
|
+
24 hours pass).
|
|
50
|
+
- An interrupted download keeps its `.part` file and resumes on the next run.
|
|
51
|
+
- `--no-ack` keeps the server copy so another run can fetch it again.
|
|
52
|
+
- A handoff is gone once received, cancelled or expired (24 h): ask the sender
|
|
53
|
+
to send it again.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# =============================================================================
|
|
3
|
+
# receive-file — download a file handed over with send-file, verify its size,
|
|
4
|
+
# acknowledge it (Cloud then deletes it). crewly-services apps/SPEC.md section 18.
|
|
5
|
+
#
|
|
6
|
+
# The backend (GET /api/apps/handoffs/:id) answers metadata and a presigned
|
|
7
|
+
# download URL; curl streams it straight to disk (resumable via a .part file).
|
|
8
|
+
#
|
|
9
|
+
# Usage:
|
|
10
|
+
# bash execute.sh --id hf_… [--dir <folder>] [--no-ack]
|
|
11
|
+
# =============================================================================
|
|
12
|
+
set -euo pipefail
|
|
13
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
14
|
+
source "${SCRIPT_DIR}/../../_common/lib.sh"
|
|
15
|
+
|
|
16
|
+
print_usage() {
|
|
17
|
+
cat <<'EOF_USAGE'
|
|
18
|
+
Usage:
|
|
19
|
+
bash execute.sh --id hf_… [--dir <folder>] [--no-ack]
|
|
20
|
+
|
|
21
|
+
Options:
|
|
22
|
+
--id Handoff id from the sender (required)
|
|
23
|
+
--dir Folder to save into (default: received/ in your project directory)
|
|
24
|
+
--no-ack Do not delete the server copy afterwards
|
|
25
|
+
--help | -h Show this help
|
|
26
|
+
EOF_USAGE
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
fail_from() {
|
|
30
|
+
printf '%s' "$1" | jq -c '{success: false, status: (.status // 0), reason: (.details.error // .error // "unknown"), message: (.details.message // .details // "")}' 2>/dev/null \
|
|
31
|
+
|| jq -cn --arg r "$1" '{success: false, reason: $r}'
|
|
32
|
+
exit 1
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
call() {
|
|
36
|
+
local out
|
|
37
|
+
out=$(api_call "$@" 2>&1) || { fail_from "$(printf '%s\n' "$out" | tail -n 1)"; }
|
|
38
|
+
printf '%s\n' "$out" | tail -n 1
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
ID=""; DIR=""; ACK=1
|
|
42
|
+
while [[ $# -gt 0 ]]; do
|
|
43
|
+
case "$1" in
|
|
44
|
+
--id) [ $# -ge 2 ] || error_exit "--id requires a value"; ID="$2"; shift 2 ;;
|
|
45
|
+
--dir) [ $# -ge 2 ] || error_exit "--dir requires a value"; DIR="$2"; shift 2 ;;
|
|
46
|
+
--no-ack) ACK=0; shift ;;
|
|
47
|
+
--help|-h) print_usage; exit 0 ;;
|
|
48
|
+
*) error_exit "Unknown option: $1" ;;
|
|
49
|
+
esac
|
|
50
|
+
done
|
|
51
|
+
[ -n "$ID" ] || error_exit "--id is required"
|
|
52
|
+
[[ "$ID" =~ ^hf_[A-Za-z0-9_-]{22}$ ]] || error_exit "--id must be a handoff id like hf_… (22 characters after hf_)"
|
|
53
|
+
[ -n "$DIR" ] || DIR="${CREWLY_PROJECT_PATH:-$PWD}/received"
|
|
54
|
+
command -v node >/dev/null 2>&1 || error_exit "node is required"
|
|
55
|
+
|
|
56
|
+
# The destination folder must not be inside the Crewly home directory.
|
|
57
|
+
check_dir() {
|
|
58
|
+
RF_DIR="$1" node <<'NODE'
|
|
59
|
+
const fs = require('fs'); const path = require('path'); const os = require('os');
|
|
60
|
+
const abs = path.resolve(process.env.RF_DIR);
|
|
61
|
+
fs.mkdirSync(abs, { recursive: true });
|
|
62
|
+
const r = fs.realpathSync(abs);
|
|
63
|
+
const homes = [path.join(os.homedir(), '.crewly'), process.env.CREWLY_HOME].filter(Boolean).map((p) => { try { return fs.realpathSync(p); } catch { return path.resolve(p); } });
|
|
64
|
+
if (homes.some((h) => r === h || r.startsWith(h + path.sep))) { process.stderr.write(JSON.stringify({ error: 'the folder is inside the Crewly home directory' }) + '\n'); process.exit(1); }
|
|
65
|
+
process.stdout.write(r);
|
|
66
|
+
NODE
|
|
67
|
+
}
|
|
68
|
+
DIR=$(check_dir "$DIR") || exit 1
|
|
69
|
+
|
|
70
|
+
META=$(call GET "/apps/handoffs/${ID}") || { printf '%s\n' "$META"; exit 1; }
|
|
71
|
+
STATUS=$(printf '%s' "$META" | jq -r '.data.status // empty')
|
|
72
|
+
if [ "$STATUS" != "ready" ]; then
|
|
73
|
+
jq -cn '{success: false, reason: "not_ready", message: "The sender has not finished uploading. Ask them to confirm, then run this again."}'
|
|
74
|
+
exit 1
|
|
75
|
+
fi
|
|
76
|
+
URL=$(printf '%s' "$META" | jq -r '.data.download.url // empty')
|
|
77
|
+
SIZE=$(printf '%s' "$META" | jq -r '.data.sizeBytes // empty')
|
|
78
|
+
RAW_NAME=$(printf '%s' "$META" | jq -r '.data.fileName // "file"')
|
|
79
|
+
NOTE=$(printf '%s' "$META" | jq -r '.data.note // empty')
|
|
80
|
+
[ -n "$URL" ] && [[ "$SIZE" =~ ^[0-9]+$ ]] || error_exit "Cloud answered without a download URL"
|
|
81
|
+
|
|
82
|
+
# A safe local name: the last path segment, no leading dots.
|
|
83
|
+
NAME=$(printf '%s' "$RAW_NAME" | tr '\\' '/' | awk -F/ '{print $NF}' | sed 's/^[.[:space:]]*//')
|
|
84
|
+
[ -n "$NAME" ] || NAME="file"
|
|
85
|
+
|
|
86
|
+
# The .part file is named by handoff id so an interrupted run resumes.
|
|
87
|
+
PART="${DIR}/.${ID}.part"
|
|
88
|
+
if [ -f "$PART" ]; then
|
|
89
|
+
HAVE=$(wc -c < "$PART" | tr -d ' ')
|
|
90
|
+
[ "$HAVE" -le "$SIZE" ] || rm -f "$PART"
|
|
91
|
+
fi
|
|
92
|
+
CODE=$(curl -sS -o "$PART" -w '%{http_code}' --connect-timeout 30 --retry 3 --retry-delay 3 -C - "$URL" 2>/dev/null) || CODE="000"
|
|
93
|
+
# 200 = whole body, 206 = resumed, 416 = the .part was already complete.
|
|
94
|
+
case "$CODE" in 200|206|416) ;; *)
|
|
95
|
+
[ "$CODE" = "000" ] || rm -f "$PART"
|
|
96
|
+
jq -cn --arg c "$CODE" '{success: false, reason: "download_failed", message: ("The download failed (HTTP " + $c + "). Run the skill again; a partial file is resumed.")}'
|
|
97
|
+
exit 1 ;;
|
|
98
|
+
esac
|
|
99
|
+
|
|
100
|
+
GOT=$(wc -c < "$PART" | tr -d ' ')
|
|
101
|
+
if [ "$GOT" != "$SIZE" ]; then
|
|
102
|
+
rm -f "$PART"
|
|
103
|
+
jq -cn --argjson g "$GOT" --argjson s "$SIZE" '{success: false, reason: "size_mismatch", message: ("Downloaded " + ($g|tostring) + " bytes, expected " + ($s|tostring) + ". The partial file was removed and the server copy kept; run the skill again.")}'
|
|
104
|
+
exit 1
|
|
105
|
+
fi
|
|
106
|
+
|
|
107
|
+
# Final name: never overwrite.
|
|
108
|
+
DEST="${DIR}/${NAME}"
|
|
109
|
+
if [ -e "$DEST" ]; then
|
|
110
|
+
BASE="${NAME%.*}"; EXT=""
|
|
111
|
+
[ "$BASE" != "$NAME" ] && EXT=".${NAME##*.}"
|
|
112
|
+
N=1
|
|
113
|
+
while [ -e "${DIR}/${BASE}-${N}${EXT}" ]; do N=$((N+1)); done
|
|
114
|
+
DEST="${DIR}/${BASE}-${N}${EXT}"
|
|
115
|
+
fi
|
|
116
|
+
mv "$PART" "$DEST"
|
|
117
|
+
|
|
118
|
+
ACKED=false
|
|
119
|
+
if [ "$ACK" = "1" ]; then
|
|
120
|
+
if api_call POST "/apps/handoffs/${ID}/ack" >/dev/null 2>&1; then ACKED=true; fi
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
jq -cn --arg p "$DEST" --arg n "$NAME" --argjson s "$SIZE" --arg note "$NOTE" --argjson a "$ACKED" \
|
|
124
|
+
'{success: true, path: $p, fileName: $n, sizeBytes: $s, acked: $a} + (if $note != "" then {note: $note} else {} end)
|
|
125
|
+
+ (if $a then {} else {warning: "The server copy was not deleted (it is removed automatically after 24 hours)."} end)'
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Tests for receive-file — run with: bash execute.test.sh
|
|
3
|
+
# A Python stub plays both the Crewly backend and the object storage.
|
|
4
|
+
set -u
|
|
5
|
+
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
6
|
+
EXEC="$HERE/execute.sh"
|
|
7
|
+
PASS=0; FAIL=0
|
|
8
|
+
check() { if [ "$2" = "$3" ]; then PASS=$((PASS+1)); else FAIL=$((FAIL+1)); echo "FAIL: $1"; echo " want: $3"; echo " got: $2"; fi; }
|
|
9
|
+
|
|
10
|
+
PORT=18862
|
|
11
|
+
STUB_LOG="$(mktemp)"; export STUB_LOG STUB_PORT="$PORT"
|
|
12
|
+
python3 -u <<'PY' >/dev/null 2>&1 &
|
|
13
|
+
from http.server import BaseHTTPRequestHandler, HTTPServer
|
|
14
|
+
import json, os
|
|
15
|
+
LOG = os.environ['STUB_LOG']; PORT = int(os.environ['STUB_PORT'])
|
|
16
|
+
OK = 'hf_AbCdEfGhIjKlMnOpQrStUv'; SHORT = 'hf_ShortShortShortShortSh'; PEND = 'hf_PendPendPendPendPendPe'
|
|
17
|
+
DATA = b'x' * 2000000
|
|
18
|
+
def note(**kw):
|
|
19
|
+
with open(LOG, 'a') as f: f.write(json.dumps(kw) + '\n')
|
|
20
|
+
class H(BaseHTTPRequestHandler):
|
|
21
|
+
def send(self, code, obj):
|
|
22
|
+
self.send_response(code); self.send_header('Content-Type', 'application/json'); self.end_headers(); self.wfile.write(json.dumps(obj).encode())
|
|
23
|
+
def do_GET(self):
|
|
24
|
+
if self.path.startswith('/store/'):
|
|
25
|
+
data = DATA[:1000] if 'short' in self.path else DATA
|
|
26
|
+
note(op='download', range=self.headers.get('Range'))
|
|
27
|
+
self.send_response(200); self.send_header('Content-Length', str(len(data))); self.end_headers(); self.wfile.write(data); return
|
|
28
|
+
hid = self.path.rsplit('/', 1)[-1]
|
|
29
|
+
if hid == PEND:
|
|
30
|
+
return self.send(200, {'success': True, 'data': {'handoffId': hid, 'status': 'pending', 'sizeBytes': 5, 'fileName': 'a'}})
|
|
31
|
+
if hid in (OK, SHORT):
|
|
32
|
+
return self.send(200, {'success': True, 'data': {'handoffId': hid, 'status': 'ready', 'sizeBytes': len(DATA), 'fileName': '../../evil name.mp4', 'note': 'today',
|
|
33
|
+
'download': {'url': f'http://127.0.0.1:{PORT}/store/' + ('short' if hid == SHORT else 'ok'), 'expiresAt': 'x'}}})
|
|
34
|
+
self.send(404, {'success': False, 'error': 'not_found', 'message': 'This handoff is gone.'})
|
|
35
|
+
def do_POST(self):
|
|
36
|
+
note(op='ack' if self.path.endswith('/ack') else 'other', path=self.path, session=self.headers.get('X-Agent-Session')); self.send(200, {'success': True, 'data': {'deleted': True}})
|
|
37
|
+
def log_message(self, *a, **k): pass
|
|
38
|
+
HTTPServer(('127.0.0.1', PORT), H).serve_forever()
|
|
39
|
+
PY
|
|
40
|
+
STUB_PID=$!
|
|
41
|
+
disown "$STUB_PID" 2>/dev/null || true
|
|
42
|
+
WORK="$(cd "$(mktemp -d)" && pwd -P)"
|
|
43
|
+
trap 'kill "$STUB_PID" >/dev/null 2>&1; rm -rf "$STUB_LOG" "$WORK"' EXIT
|
|
44
|
+
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
|
|
45
|
+
mkdir -p "$WORK/home/.crewly" "$WORK/proj"
|
|
46
|
+
ENVS=(CREWLY_API_URL="http://127.0.0.1:${PORT}" CREWLY_SESSION_NAME=dev-mia HOME="$WORK/home" CREWLY_HOME="$WORK/home/.crewly" CREWLY_PROJECT_PATH="$WORK/proj")
|
|
47
|
+
run() { env "${ENVS[@]}" bash "$EXEC" "$@" 2>/dev/null; }
|
|
48
|
+
run_err() { env "${ENVS[@]}" bash "$EXEC" "$@" 2>&1 >/dev/null; }
|
|
49
|
+
|
|
50
|
+
OK=hf_AbCdEfGhIjKlMnOpQrStUv
|
|
51
|
+
OUT=$(run --id $OK)
|
|
52
|
+
DEST="$WORK/proj/received/evil name.mp4"
|
|
53
|
+
check "result" "$(printf '%s' "$OUT" | jq -c '{success, fileName, sizeBytes, acked, note}')" '{"success":true,"fileName":"evil name.mp4","sizeBytes":2000000,"acked":true,"note":"today"}'
|
|
54
|
+
check "saved in the default folder under a safe name" "$(wc -c < "$DEST" | tr -d ' ')" "2000000"
|
|
55
|
+
check "ack sent as this agent" "$(grep '"op": "ack"' "$STUB_LOG" | jq -c '{path, session}')" '{"path":"/api/apps/handoffs/hf_AbCdEfGhIjKlMnOpQrStUv/ack","session":"dev-mia"}'
|
|
56
|
+
check "no .part left" "$(ls -a "$WORK/proj/received" | grep -c part)" "0"
|
|
57
|
+
|
|
58
|
+
OUT=$(run --id $OK --dir "$WORK/proj/inbox")
|
|
59
|
+
check "second copy goes to --dir" "$(printf '%s' "$OUT" | jq -r .path)" "$WORK/proj/inbox/evil name.mp4"
|
|
60
|
+
run --id $OK >/dev/null
|
|
61
|
+
check "never overwrites" "$(ls "$WORK/proj/received" | sort | tr '\n' '|')" "evil name-1.mp4|evil name.mp4|"
|
|
62
|
+
|
|
63
|
+
: > "$STUB_LOG"
|
|
64
|
+
OUT=$(run --id $OK --no-ack --dir "$WORK/proj/noack")
|
|
65
|
+
check "--no-ack keeps the server copy" "$(printf '%s' "$OUT" | jq -c '{acked, warning: (.warning != null)}')" '{"acked":false,"warning":true}'
|
|
66
|
+
check "no ack request" "$(grep -c '"op": "ack"' "$STUB_LOG")" "0"
|
|
67
|
+
|
|
68
|
+
: > "$STUB_LOG"
|
|
69
|
+
OUT=$(run --id hf_ShortShortShortShortSh --dir "$WORK/proj/short"; true)
|
|
70
|
+
check "size mismatch fails, removes the partial and does not ack" "$(printf '%s' "$OUT" | jq -r .reason)|$(ls -A "$WORK/proj/short" | wc -l | tr -d ' ')|$(grep -c '"op": "ack"' "$STUB_LOG")" "size_mismatch|0|0"
|
|
71
|
+
|
|
72
|
+
OUT=$(run --id hf_PendPendPendPendPendPe; true)
|
|
73
|
+
check "pending handoff is not ready" "$(printf '%s' "$OUT" | jq -r .reason)" "not_ready"
|
|
74
|
+
OUT=$(run --id hf_GoneGoneGoneGoneGoneGo; true)
|
|
75
|
+
check "unknown handoff passes Cloud's reason" "$(printf '%s' "$OUT" | jq -r .reason)" "not_found"
|
|
76
|
+
check "bad id refused" "$(run_err --id nope | grep -c 'handoff id')" "1"
|
|
77
|
+
check "dir inside Crewly home refused" "$(run_err --id $OK --dir "$WORK/home/.crewly/x" | grep -c 'Crewly home')" "1"
|
|
78
|
+
|
|
79
|
+
echo "receive-file: $PASS passed, $FAIL failed"
|
|
80
|
+
[ "$FAIL" -eq 0 ]
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Send File
|
|
3
|
+
description: Hand a LARGE file (video, archive, dataset, up to 2 GB) to another agent of the same Crewly account, on this or another machine, through a temporary Crewly Cloud relay. Prefer this over Drive or Slack for anything bigger than a few MB. The receiver deletes it with receive-file; unclaimed files are deleted after 24 hours.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
category: productivity
|
|
6
|
+
skillType: claude-skill
|
|
7
|
+
assignableRoles:
|
|
8
|
+
- "*"
|
|
9
|
+
triggers:
|
|
10
|
+
- send file
|
|
11
|
+
- send a large file
|
|
12
|
+
- hand off a file
|
|
13
|
+
- pass the video to
|
|
14
|
+
- transfer file to agent
|
|
15
|
+
- share a big file
|
|
16
|
+
tags:
|
|
17
|
+
- files
|
|
18
|
+
- handoff
|
|
19
|
+
- transfer
|
|
20
|
+
execution:
|
|
21
|
+
type: script
|
|
22
|
+
script:
|
|
23
|
+
file: execute.sh
|
|
24
|
+
interpreter: bash
|
|
25
|
+
timeoutMs: 3600000
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Send File
|
|
29
|
+
|
|
30
|
+
Passes one big file to another agent of **your own Crewly account**
|
|
31
|
+
(same machine or another one) without Slack or Drive. Needs the machine to be
|
|
32
|
+
signed in to Crewly Cloud. The file is streamed from disk (never loaded into
|
|
33
|
+
memory), kept on a temporary server, and deleted as soon as the receiver
|
|
34
|
+
acknowledges it, or after 24 hours.
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
bash execute.sh --path ./out/daily-2026-10-09.mp4 --note "today's cut, 300 MB" --to Mia
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Prints:
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{"success":true,"handoffId":"hf_…","fileName":"daily-2026-10-09.mp4","sizeBytes":314572800,"expiresAt":"…",
|
|
44
|
+
"instruction":"Receive it with the receive-file skill: bash <skills>/core/receive-file/execute.sh --id hf_… [--dir <folder>]"}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Send the `instruction` line to the receiving agent** (use your normal
|
|
48
|
+
agent-to-agent message), and tell it the handoff id. Do not post the id anywhere
|
|
49
|
+
public.
|
|
50
|
+
|
|
51
|
+
Options:
|
|
52
|
+
|
|
53
|
+
- `--path` (required): a regular file inside your project directory (not a
|
|
54
|
+
symlink, not inside Crewly's home). Max 2 GB; the account may hold 5 GB of
|
|
55
|
+
waiting handoffs at once, so wait for receivers to finish before sending more.
|
|
56
|
+
- `--name`: the name the receiver sees (default: the file's name).
|
|
57
|
+
- `--note`: one line for the receiver. `--to`: who it is for (informational).
|
|
58
|
+
- `--content-type`: default from the extension.
|
|
59
|
+
|
|
60
|
+
Not for secrets or credentials. Not for files under ~5 MB that can go in a
|
|
61
|
+
message. Cancel a handoff you no longer want received with
|
|
62
|
+
`bash execute.sh --cancel hf_…`.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# =============================================================================
|
|
3
|
+
# send-file — hand a large file to another agent of the same Crewly account
|
|
4
|
+
# through the Cloud file-handoff relay (crewly-services apps/SPEC.md section 18).
|
|
5
|
+
#
|
|
6
|
+
# The backend (POST /api/apps/handoffs) asks Cloud for a presigned upload URL;
|
|
7
|
+
# this script then streams the file straight to object storage with curl -T
|
|
8
|
+
# (from disk, never buffered), and confirms with /complete.
|
|
9
|
+
#
|
|
10
|
+
# Usage:
|
|
11
|
+
# bash execute.sh --path <file> [--name <name>] [--note <text>] [--to <agent>] [--content-type <type>]
|
|
12
|
+
# bash execute.sh --cancel <handoffId>
|
|
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 --path <file> [--name <name>] [--note <text>] [--to <agent>] [--content-type <type>]
|
|
22
|
+
bash execute.sh --cancel <handoffId>
|
|
23
|
+
|
|
24
|
+
Options:
|
|
25
|
+
--path Regular file inside your project directory, up to 2 GB (required)
|
|
26
|
+
--name Name the receiver sees (default: the file's name)
|
|
27
|
+
--note One line for the receiver
|
|
28
|
+
--to Who it is for (informational; any agent of the account can receive it)
|
|
29
|
+
--content-type MIME type (default: from the extension)
|
|
30
|
+
--cancel Withdraw a handoff you made (deletes the uploaded file)
|
|
31
|
+
--help | -h Show this help
|
|
32
|
+
EOF_USAGE
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
fail_from() {
|
|
36
|
+
printf '%s' "$1" | jq -c '{success: false, status: (.status // 0), reason: (.details.error // .error // "unknown"), message: (.details.message // .details // "")}' 2>/dev/null \
|
|
37
|
+
|| jq -cn --arg r "$1" '{success: false, reason: $r}'
|
|
38
|
+
exit 1
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
call() {
|
|
42
|
+
local out
|
|
43
|
+
out=$(api_call "$@" 2>&1) || { fail_from "$(printf '%s\n' "$out" | tail -n 1)"; }
|
|
44
|
+
printf '%s\n' "$out" | tail -n 1
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
content_type_for() {
|
|
48
|
+
case "$(printf '%s' "${1##*.}" | tr '[:upper:]' '[:lower:]')" in
|
|
49
|
+
mp4|m4v) echo video/mp4 ;;
|
|
50
|
+
mov) echo video/quicktime ;;
|
|
51
|
+
webm) echo video/webm ;;
|
|
52
|
+
mkv) echo video/x-matroska ;;
|
|
53
|
+
mp3) echo audio/mpeg ;;
|
|
54
|
+
wav) echo audio/wav ;;
|
|
55
|
+
m4a) echo audio/mp4 ;;
|
|
56
|
+
png) echo image/png ;;
|
|
57
|
+
jpg|jpeg) echo image/jpeg ;;
|
|
58
|
+
pdf) echo application/pdf ;;
|
|
59
|
+
zip) echo application/zip ;;
|
|
60
|
+
json) echo application/json ;;
|
|
61
|
+
csv) echo text/csv ;;
|
|
62
|
+
txt|md|log) echo text/plain ;;
|
|
63
|
+
*) echo application/octet-stream ;;
|
|
64
|
+
esac
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
# Regular, non-symlink file inside the project directory, never under Crewly's
|
|
68
|
+
# home. Prints the real path, then the size in bytes.
|
|
69
|
+
check_file() {
|
|
70
|
+
command -v node >/dev/null 2>&1 || error_exit "node is required"
|
|
71
|
+
CF_PATH="$1" CF_PROJECT="${CREWLY_PROJECT_PATH:-$PWD}" node <<'NODE'
|
|
72
|
+
const fs = require('fs'); const path = require('path'); const os = require('os');
|
|
73
|
+
const fail = (m) => { process.stderr.write(JSON.stringify({ error: m }) + '\n'); process.exit(1); };
|
|
74
|
+
const real = (p) => { try { return fs.realpathSync(p); } catch { return null; } };
|
|
75
|
+
const within = (c, p) => c === p || c.startsWith(p.endsWith(path.sep) ? p : p + path.sep);
|
|
76
|
+
const given = process.env.CF_PATH;
|
|
77
|
+
const abs = path.resolve(given);
|
|
78
|
+
let st;
|
|
79
|
+
try { st = fs.lstatSync(abs); } catch { fail(`file not found: ${given}`); }
|
|
80
|
+
if (st.isSymbolicLink()) fail(`${given} is a symbolic link; pass the real file`);
|
|
81
|
+
if (!st.isFile()) fail(`${given} is not a regular file`);
|
|
82
|
+
if (st.size === 0) fail(`${given} is empty`);
|
|
83
|
+
const r = real(abs); const project = real(process.env.CF_PROJECT || process.cwd());
|
|
84
|
+
if (!project) fail('cannot resolve the project directory');
|
|
85
|
+
const homes = [path.join(os.homedir(), '.crewly'), process.env.CREWLY_HOME].filter(Boolean).map((p) => real(p) || path.resolve(p));
|
|
86
|
+
if (homes.some((h) => within(r, h))) fail(`${given} is inside Crewly's home directory`);
|
|
87
|
+
if (!within(r, project)) fail(`${given} is outside your project directory (${project}); copy it there first`);
|
|
88
|
+
process.stdout.write(r + '\n' + st.size + '\n');
|
|
89
|
+
NODE
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
FILE=""; NAME=""; NOTE=""; TO=""; CTYPE=""; CANCEL=""
|
|
93
|
+
while [[ $# -gt 0 ]]; do
|
|
94
|
+
case "$1" in
|
|
95
|
+
--path) [ $# -ge 2 ] || error_exit "--path requires a value"; FILE="$2"; shift 2 ;;
|
|
96
|
+
--name) [ $# -ge 2 ] || error_exit "--name requires a value"; NAME="$2"; shift 2 ;;
|
|
97
|
+
--note) [ $# -ge 2 ] || error_exit "--note requires a value"; NOTE="$2"; shift 2 ;;
|
|
98
|
+
--to) [ $# -ge 2 ] || error_exit "--to requires a value"; TO="$2"; shift 2 ;;
|
|
99
|
+
--content-type) [ $# -ge 2 ] || error_exit "--content-type requires a value"; CTYPE="$2"; shift 2 ;;
|
|
100
|
+
--cancel) [ $# -ge 2 ] || error_exit "--cancel requires a handoff id"; CANCEL="$2"; shift 2 ;;
|
|
101
|
+
--help|-h) print_usage; exit 0 ;;
|
|
102
|
+
*) error_exit "Unknown option: $1" ;;
|
|
103
|
+
esac
|
|
104
|
+
done
|
|
105
|
+
|
|
106
|
+
if [ -n "$CANCEL" ]; then
|
|
107
|
+
[[ "$CANCEL" =~ ^hf_[A-Za-z0-9_-]{22}$ ]] || error_exit "--cancel needs a handoff id like hf_…"
|
|
108
|
+
RESULT=$(call DELETE "/apps/handoffs/${CANCEL}") || { printf '%s\n' "$RESULT"; exit 1; }
|
|
109
|
+
jq -cn --arg id "$CANCEL" '{success: true, handoffId: $id, cancelled: true}'
|
|
110
|
+
exit 0
|
|
111
|
+
fi
|
|
112
|
+
|
|
113
|
+
[ -n "$FILE" ] || error_exit "--path is required"
|
|
114
|
+
INFO=$(check_file "$FILE") || { printf '%s\n' "$INFO" >&2; exit 1; }
|
|
115
|
+
REAL=$(printf '%s\n' "$INFO" | sed -n 1p)
|
|
116
|
+
SIZE=$(printf '%s\n' "$INFO" | sed -n 2p)
|
|
117
|
+
[ -n "$NAME" ] || NAME="$(basename "$REAL")"
|
|
118
|
+
[ -n "$CTYPE" ] || CTYPE="$(content_type_for "$REAL")"
|
|
119
|
+
|
|
120
|
+
BODY=$(jq -cn --arg n "$NAME" --argjson s "$SIZE" --arg c "$CTYPE" --arg note "$NOTE" --arg to "$TO" \
|
|
121
|
+
'{fileName: $n, sizeBytes: $s, contentType: $c} + (if $note != "" then {note: $note} else {} end) + (if $to != "" then {to: $to} else {} end)')
|
|
122
|
+
CREATED=$(call POST "/apps/handoffs" "$BODY") || { printf '%s\n' "$CREATED"; exit 1; }
|
|
123
|
+
ID=$(printf '%s' "$CREATED" | jq -r '.data.handoffId // empty')
|
|
124
|
+
URL=$(printf '%s' "$CREATED" | jq -r '.data.upload.url // empty')
|
|
125
|
+
[ -n "$ID" ] && [ -n "$URL" ] || error_exit "Cloud answered without an upload URL"
|
|
126
|
+
|
|
127
|
+
# Headers the presigned URL was signed with; the file streams from disk (-T).
|
|
128
|
+
HDRS=()
|
|
129
|
+
while IFS= read -r line; do HDRS+=(-H "$line"); done < <(printf '%s' "$CREATED" | jq -r '.data.upload.headers // {} | to_entries[] | "\(.key): \(.value)"')
|
|
130
|
+
|
|
131
|
+
cancel_quietly() { api_call DELETE "/apps/handoffs/${ID}" >/dev/null 2>&1 || true; }
|
|
132
|
+
|
|
133
|
+
CODE=$(curl -sS -o /dev/null -w '%{http_code}' --connect-timeout 30 --retry 3 --retry-delay 3 -X PUT -T "$REAL" ${HDRS[@]+"${HDRS[@]}"} "$URL" 2>/dev/null) || CODE="000"
|
|
134
|
+
if [ "$CODE" != "200" ]; then
|
|
135
|
+
cancel_quietly
|
|
136
|
+
jq -cn --arg c "$CODE" '{success: false, reason: "upload_failed", message: ("The upload to temporary storage failed (HTTP " + $c + "). Nothing was kept; try again.")}'
|
|
137
|
+
exit 1
|
|
138
|
+
fi
|
|
139
|
+
|
|
140
|
+
DONE=$(api_call POST "/apps/handoffs/${ID}/complete" 2>&1) || { cancel_quietly; fail_from "$(printf '%s\n' "$DONE" | tail -n 1)"; }
|
|
141
|
+
EXPIRES=$(printf '%s\n' "$DONE" | tail -n 1 | jq -r '.data.expiresAt // empty')
|
|
142
|
+
|
|
143
|
+
jq -cn --arg id "$ID" --arg n "$NAME" --argjson s "$SIZE" --arg e "$EXPIRES" \
|
|
144
|
+
'{success: true, handoffId: $id, fileName: $n, sizeBytes: $s, expiresAt: $e,
|
|
145
|
+
instruction: ("Receive it with the receive-file skill: bash <skills>/core/receive-file/execute.sh --id " + $id + " [--dir <folder>]")}'
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Tests for send-file — run with: bash execute.test.sh
|
|
3
|
+
# A Python stub plays both the Crewly backend and the object storage.
|
|
4
|
+
set -u
|
|
5
|
+
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
6
|
+
EXEC="$HERE/execute.sh"
|
|
7
|
+
PASS=0; FAIL=0
|
|
8
|
+
check() { if [ "$2" = "$3" ]; then PASS=$((PASS+1)); else FAIL=$((FAIL+1)); echo "FAIL: $1"; echo " want: $3"; echo " got: $2"; fi; }
|
|
9
|
+
|
|
10
|
+
PORT=18861
|
|
11
|
+
STUB_LOG="$(mktemp)"; STORE="$(mktemp)"; export STUB_LOG STORE STUB_PORT="$PORT"
|
|
12
|
+
python3 -u <<'PY' >/dev/null 2>&1 &
|
|
13
|
+
from http.server import BaseHTTPRequestHandler, HTTPServer
|
|
14
|
+
import json, os
|
|
15
|
+
LOG = os.environ['STUB_LOG']; STORE = os.environ['STORE']; PORT = int(os.environ['STUB_PORT'])
|
|
16
|
+
ID = 'hf_AbCdEfGhIjKlMnOpQrStUv'
|
|
17
|
+
def note(**kw):
|
|
18
|
+
with open(LOG, 'a') as f: f.write(json.dumps(kw) + '\n')
|
|
19
|
+
class H(BaseHTTPRequestHandler):
|
|
20
|
+
def send(self, code, obj):
|
|
21
|
+
self.send_response(code); self.send_header('Content-Type', 'application/json'); self.end_headers(); self.wfile.write(json.dumps(obj).encode())
|
|
22
|
+
def body(self):
|
|
23
|
+
n = int(self.headers.get('Content-Length') or 0); return self.rfile.read(n)
|
|
24
|
+
def do_POST(self):
|
|
25
|
+
b = self.body()
|
|
26
|
+
if self.path == '/api/apps/handoffs':
|
|
27
|
+
req = json.loads(b); note(op='create', req=req, session=self.headers.get('X-Agent-Session'))
|
|
28
|
+
if req['fileName'] == 'refuse.bin':
|
|
29
|
+
return self.send(402, {'success': False, 'error': 'quota_exceeded', 'message': 'Too many bytes waiting.'})
|
|
30
|
+
return self.send(201, {'success': True, 'data': {'handoffId': ID, 'status': 'pending', 'upload': {'url': f'http://127.0.0.1:{PORT}/store/obj', 'method': 'PUT', 'headers': {'Content-Type': req['contentType'], 'x-amz-server-side-encryption': 'AES256'}}}})
|
|
31
|
+
if self.path == f'/api/apps/handoffs/{ID}/complete':
|
|
32
|
+
note(op='complete'); return self.send(200, {'success': True, 'data': {'handoffId': ID, 'status': 'ready', 'expiresAt': '2026-10-10T00:00:00.000Z'}})
|
|
33
|
+
self.send(404, {'success': False})
|
|
34
|
+
def do_DELETE(self):
|
|
35
|
+
note(op='cancel', path=self.path); self.send(200, {'success': True, 'data': {'deleted': True}})
|
|
36
|
+
def do_PUT(self):
|
|
37
|
+
b = self.body()
|
|
38
|
+
note(op='put', bytes=len(b), ctype=self.headers.get('Content-Type'), sse=self.headers.get('x-amz-server-side-encryption'))
|
|
39
|
+
self.send_response(500 if os.path.exists(STORE + '.fail') else 200); self.end_headers()
|
|
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
|
+
WORK="$(mktemp -d)"
|
|
46
|
+
trap 'kill "$STUB_PID" >/dev/null 2>&1; rm -rf "$STUB_LOG" "$STORE" "$STORE.fail" "$WORK"' EXIT
|
|
47
|
+
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
|
|
48
|
+
mkdir -p "$WORK/home/.crewly" "$WORK/proj"
|
|
49
|
+
ENVS=(CREWLY_API_URL="http://127.0.0.1:${PORT}" CREWLY_SESSION_NAME=dev-ella HOME="$WORK/home" CREWLY_HOME="$WORK/home/.crewly" CREWLY_PROJECT_PATH="$WORK/proj")
|
|
50
|
+
run() { env "${ENVS[@]}" bash "$EXEC" "$@" 2>/dev/null; }
|
|
51
|
+
run_err() { env "${ENVS[@]}" bash "$EXEC" "$@" 2>&1 >/dev/null; }
|
|
52
|
+
|
|
53
|
+
head -c 3000000 /dev/zero > "$WORK/proj/daily.mp4"
|
|
54
|
+
OUT=$(run --path "$WORK/proj/daily.mp4" --note "today" --to Mia)
|
|
55
|
+
check "result" "$(printf '%s' "$OUT" | jq -c '{success, handoffId, fileName, sizeBytes, expiresAt}')" '{"success":true,"handoffId":"hf_AbCdEfGhIjKlMnOpQrStUv","fileName":"daily.mp4","sizeBytes":3000000,"expiresAt":"2026-10-10T00:00:00.000Z"}'
|
|
56
|
+
check "instruction names the receiver skill" "$(printf '%s' "$OUT" | jq -r '.instruction' | grep -c 'receive-file/execute.sh --id hf_AbCdEfGhIjKlMnOpQrStUv')" "1"
|
|
57
|
+
check "create request" "$(sed -n 1p "$STUB_LOG" | jq -c '{req, session}')" '{"req":{"fileName":"daily.mp4","sizeBytes":3000000,"contentType":"video/mp4","note":"today","to":"Mia"},"session":"dev-ella"}'
|
|
58
|
+
check "upload streamed with signed headers" "$(sed -n 2p "$STUB_LOG" | jq -c '{bytes, ctype, sse}')" '{"bytes":3000000,"ctype":"video/mp4","sse":"AES256"}'
|
|
59
|
+
check "complete called" "$(sed -n 3p "$STUB_LOG" | jq -r .op)" "complete"
|
|
60
|
+
|
|
61
|
+
: > "$STUB_LOG"
|
|
62
|
+
OUT=$(run --path "$WORK/proj/daily.mp4" --name "refuse.bin"; true)
|
|
63
|
+
check "cloud refusal passed through" "$(printf '%s' "$OUT" | jq -c '{success, reason}')" '{"success":false,"reason":"quota_exceeded"}'
|
|
64
|
+
|
|
65
|
+
: > "$STUB_LOG"; touch "$STORE.fail"
|
|
66
|
+
OUT=$(run --path "$WORK/proj/daily.mp4"; true)
|
|
67
|
+
check "failed upload reports and cancels" "$(printf '%s' "$OUT" | jq -r .reason)" "upload_failed"
|
|
68
|
+
check "cancel issued" "$(grep -c '"op": "cancel"' "$STUB_LOG")" "1"
|
|
69
|
+
rm -f "$STORE.fail"
|
|
70
|
+
|
|
71
|
+
echo secret > "$WORK/outside.txt"; ln -s "$WORK/proj/daily.mp4" "$WORK/proj/link.mp4"
|
|
72
|
+
check "outside project refused" "$(run_err --path "$WORK/outside.txt" | grep -c 'outside your project directory')" "1"
|
|
73
|
+
check "symlink refused" "$(run_err --path "$WORK/proj/link.mp4" | grep -c 'symbolic link')" "1"
|
|
74
|
+
check "missing file refused" "$(run_err --path "$WORK/proj/nope" | grep -c 'file not found')" "1"
|
|
75
|
+
check "path required" "$(run_err | grep -c -- '--path is required')" "1"
|
|
76
|
+
: > "$STUB_LOG"
|
|
77
|
+
run --cancel hf_AbCdEfGhIjKlMnOpQrStUv >/dev/null
|
|
78
|
+
check "cancel" "$(jq -r .path "$STUB_LOG")" "/api/apps/handoffs/hf_AbCdEfGhIjKlMnOpQrStUv"
|
|
79
|
+
|
|
80
|
+
echo "send-file: $PASS passed, $FAIL failed"
|
|
81
|
+
[ "$FAIL" -eq 0 ]
|
|
@@ -119,4 +119,16 @@ export declare const useTemplate: (req: Request, res: Response) => Promise<void>
|
|
|
119
119
|
export declare const unlistTemplate: (req: Request, res: Response) => Promise<void>;
|
|
120
120
|
/** POST /api/apps/:appId/template-files `{ source? }` — the template files of an app made from a template */
|
|
121
121
|
export declare const checkoutTemplateFiles: (req: Request, res: Response) => Promise<void>;
|
|
122
|
+
/** POST /api/apps/handoffs `{ fileName, sizeBytes, contentType?, note?, to? }` — reserve a handoff; answers a presigned upload URL */
|
|
123
|
+
export declare const createHandoff: (req: Request, res: Response) => Promise<void>;
|
|
124
|
+
/** POST /api/apps/handoffs/:handoffId/complete — the upload finished; Cloud checks the size */
|
|
125
|
+
export declare const completeHandoff: (req: Request, res: Response) => Promise<void>;
|
|
126
|
+
/** GET /api/apps/handoffs/:handoffId — metadata, plus a presigned download URL once ready */
|
|
127
|
+
export declare const getHandoff: (req: Request, res: Response) => Promise<void>;
|
|
128
|
+
/** GET /api/apps/handoffs — the account's waiting handoffs */
|
|
129
|
+
export declare const listHandoffs: (req: Request, res: Response) => Promise<void>;
|
|
130
|
+
/** POST /api/apps/handoffs/:handoffId/ack — received; Cloud deletes the file */
|
|
131
|
+
export declare const ackHandoff: (req: Request, res: Response) => Promise<void>;
|
|
132
|
+
/** DELETE /api/apps/handoffs/:handoffId — withdraw */
|
|
133
|
+
export declare const cancelHandoff: (req: Request, res: Response) => Promise<void>;
|
|
122
134
|
//# sourceMappingURL=apps.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apps.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apps.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -300,4 +300,45 @@ export const useTemplate = handle(async (req, caller) => {
|
|
|
300
300
|
export const unlistTemplate = handle(async (req, caller) => requireTemplates().unlist(req.params.templateId, caller));
|
|
301
301
|
/** POST /api/apps/:appId/template-files `{ source? }` — the template files of an app made from a template */
|
|
302
302
|
export const checkoutTemplateFiles = handle(async (req, caller) => requireTemplates().checkout(req.params.appId, caller, { source: body(req).source }));
|
|
303
|
+
// ---------------------------------------------------------------------------
|
|
304
|
+
// File handoff (crewly-services apps/SPEC.md section 18): a temporary relay for one
|
|
305
|
+
// large file between agents of the same account. The bytes never pass through
|
|
306
|
+
// this backend: the skills PUT to / GET from the presigned URLs Cloud returns.
|
|
307
|
+
// ---------------------------------------------------------------------------
|
|
308
|
+
const HANDOFF_ID_RE = /^hf_[A-Za-z0-9_-]{22}$/;
|
|
309
|
+
/** A handoff id from the URL, or a 404 that names nothing. */
|
|
310
|
+
function handoffIdOf(req) {
|
|
311
|
+
const id = req.params.handoffId;
|
|
312
|
+
if (!HANDOFF_ID_RE.test(id))
|
|
313
|
+
throw new AppsCloudError(404, 'not_found', 'No such handoff.');
|
|
314
|
+
return id;
|
|
315
|
+
}
|
|
316
|
+
/** Call Cloud's handoff API as this agent (or the owner). */
|
|
317
|
+
function handoffCall(method, path, caller, reqBody) {
|
|
318
|
+
return getAppsParts().client.request(method, path, {
|
|
319
|
+
...(reqBody !== undefined ? { body: reqBody } : {}),
|
|
320
|
+
...(caller.agentSession ? { agent: caller.agentSession } : { asOwner: true }),
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
/** POST /api/apps/handoffs `{ fileName, sizeBytes, contentType?, note?, to? }` — reserve a handoff; answers a presigned upload URL */
|
|
324
|
+
export const createHandoff = handle(async (req, caller) => {
|
|
325
|
+
const b = body(req);
|
|
326
|
+
const result = await handoffCall('POST', '/handoffs', caller, { fileName: b.fileName, sizeBytes: b.sizeBytes, contentType: b.contentType, note: b.note, to: b.to });
|
|
327
|
+
logger.info('File handoff created', { handoffId: result.handoffId, sizeBytes: result.sizeBytes, agent: caller.agentSession ?? 'owner' });
|
|
328
|
+
return result;
|
|
329
|
+
}, 201);
|
|
330
|
+
/** POST /api/apps/handoffs/:handoffId/complete — the upload finished; Cloud checks the size */
|
|
331
|
+
export const completeHandoff = handle((req, caller) => handoffCall('POST', `/handoffs/${handoffIdOf(req)}/complete`, caller));
|
|
332
|
+
/** GET /api/apps/handoffs/:handoffId — metadata, plus a presigned download URL once ready */
|
|
333
|
+
export const getHandoff = handle((req, caller) => handoffCall('GET', `/handoffs/${handoffIdOf(req)}`, caller));
|
|
334
|
+
/** GET /api/apps/handoffs — the account's waiting handoffs */
|
|
335
|
+
export const listHandoffs = handle((_req, caller) => handoffCall('GET', '/handoffs', caller));
|
|
336
|
+
/** POST /api/apps/handoffs/:handoffId/ack — received; Cloud deletes the file */
|
|
337
|
+
export const ackHandoff = handle(async (req, caller) => {
|
|
338
|
+
const result = await handoffCall('POST', `/handoffs/${handoffIdOf(req)}/ack`, caller);
|
|
339
|
+
logger.info('File handoff acknowledged', { handoffId: req.params.handoffId, agent: caller.agentSession ?? 'owner' });
|
|
340
|
+
return result;
|
|
341
|
+
});
|
|
342
|
+
/** DELETE /api/apps/handoffs/:handoffId — withdraw */
|
|
343
|
+
export const cancelHandoff = handle((req, caller) => handoffCall('DELETE', `/handoffs/${handoffIdOf(req)}`, caller));
|
|
303
344
|
//# sourceMappingURL=apps.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apps.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apps.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,10 @@
|
|
|
35
35
|
* - POST /:appId/comments/:commentId/replies — reply `{ text }`
|
|
36
36
|
* - POST /:appId/comments/:commentId/resolve — resolve (`/reopen` reopens)
|
|
37
37
|
* - POST /:appId/comments/:commentId/audio — download its voice recordings here; answers local paths
|
|
38
|
+
* - POST /handoffs — `{ fileName, sizeBytes, contentType?, note?, to? }`: reserve a large-file handoff; answers a presigned upload URL
|
|
39
|
+
* - POST /handoffs/:handoffId/complete — upload finished (Cloud checks the size)
|
|
40
|
+
* - GET /handoffs/:handoffId — metadata + presigned download URL once ready (`GET /handoffs` lists)
|
|
41
|
+
* - POST /handoffs/:handoffId/ack — received: Cloud deletes the file (`DELETE /handoffs/:handoffId` withdraws)
|
|
38
42
|
* - GET /templates — `?q&tag&category&limit`: search Marketplace app templates
|
|
39
43
|
* - GET /templates/mine — this account's own templates
|
|
40
44
|
* - POST /templates/:templateId/use — `{ name?, source? }`: a new app from a template (+ its files)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apps.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.routes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"apps.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH,OAAgB,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkE/G;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAS5E;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAQ5F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAQ3F;AAeD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAoDzC"}
|
|
@@ -35,6 +35,10 @@
|
|
|
35
35
|
* - POST /:appId/comments/:commentId/replies — reply `{ text }`
|
|
36
36
|
* - POST /:appId/comments/:commentId/resolve — resolve (`/reopen` reopens)
|
|
37
37
|
* - POST /:appId/comments/:commentId/audio — download its voice recordings here; answers local paths
|
|
38
|
+
* - POST /handoffs — `{ fileName, sizeBytes, contentType?, note?, to? }`: reserve a large-file handoff; answers a presigned upload URL
|
|
39
|
+
* - POST /handoffs/:handoffId/complete — upload finished (Cloud checks the size)
|
|
40
|
+
* - GET /handoffs/:handoffId — metadata + presigned download URL once ready (`GET /handoffs` lists)
|
|
41
|
+
* - POST /handoffs/:handoffId/ack — received: Cloud deletes the file (`DELETE /handoffs/:handoffId` withdraws)
|
|
38
42
|
* - GET /templates — `?q&tag&category&limit`: search Marketplace app templates
|
|
39
43
|
* - GET /templates/mine — this account's own templates
|
|
40
44
|
* - POST /templates/:templateId/use — `{ name?, source? }`: a new app from a template (+ its files)
|
|
@@ -51,7 +55,7 @@
|
|
|
51
55
|
import express, { Router } from 'express';
|
|
52
56
|
import { ownerOrVerifiedAgent, rejectNonOwner } from '../../middleware/caller-identity.middleware.js';
|
|
53
57
|
import { CREWLY_APPS_CONSTANTS } from '../../constants.js';
|
|
54
|
-
import { publishApp, listApps, rollbackApp, transferApp, getAppOwner, setAppOwner, addAgentCollaborator, requestCollaborator, listCollaborators, addCollaborator, removeCollaborator, listVersions, listDocs, addDoc, getDoc, setDoc, updateDoc, deleteDoc, shareApp, listLinks, revokeLink, revokeLinks, requestPublic, cancelPublicRequest, makePrivate, listComments, getComment, replyComment, resolveComment, reopenComment, downloadCommentAudio, refreshThumbnail, refreshAllThumbnails, uploadFile, requestTemplate, findTemplates, myTemplates, useTemplate, unlistTemplate, checkoutTemplateFiles, } from './apps.controller.js';
|
|
58
|
+
import { publishApp, listApps, rollbackApp, transferApp, getAppOwner, setAppOwner, addAgentCollaborator, requestCollaborator, listCollaborators, addCollaborator, removeCollaborator, listVersions, listDocs, addDoc, getDoc, setDoc, updateDoc, deleteDoc, shareApp, listLinks, revokeLink, revokeLinks, requestPublic, cancelPublicRequest, makePrivate, listComments, getComment, replyComment, resolveComment, reopenComment, downloadCommentAudio, refreshThumbnail, refreshAllThumbnails, uploadFile, requestTemplate, findTemplates, myTemplates, useTemplate, unlistTemplate, checkoutTemplateFiles, createHandoff, completeHandoff, getHandoff, listHandoffs, ackHandoff, cancelHandoff, } from './apps.controller.js';
|
|
55
59
|
const C = CREWLY_APPS_CONSTANTS;
|
|
56
60
|
/**
|
|
57
61
|
* The declared body size, or null when the request does not say.
|
|
@@ -147,6 +151,13 @@ export function createAppsRouter() {
|
|
|
147
151
|
router.post('/templates/:templateId/unlist', unlistTemplate);
|
|
148
152
|
router.post('/:appId/template-request', requestTemplate);
|
|
149
153
|
router.post('/:appId/template-files', checkoutTemplateFiles);
|
|
154
|
+
// File handoff (large files between agents): registered before the /:appId routes.
|
|
155
|
+
router.post('/handoffs', createHandoff);
|
|
156
|
+
router.get('/handoffs', listHandoffs);
|
|
157
|
+
router.get('/handoffs/:handoffId', getHandoff);
|
|
158
|
+
router.post('/handoffs/:handoffId/complete', completeHandoff);
|
|
159
|
+
router.post('/handoffs/:handoffId/ack', ackHandoff);
|
|
160
|
+
router.delete('/handoffs/:handoffId', cancelHandoff);
|
|
150
161
|
router.post('/thumbnails/refresh-all', refreshAllThumbnails);
|
|
151
162
|
router.post('/:appId/thumbnail/refresh', refreshThumbnail);
|
|
152
163
|
router.post('/:appId/transfer', transferApp);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apps.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.routes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"apps.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.routes.ts"],"names":[],"mappings":"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"}
|
package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-reference.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACzD,IAAI,SAAuB;IAC3B,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAelD;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"skills-reference.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACzD,IAAI,SAAuB;IAC3B,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAelD;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,eAAe;IAoDvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgFvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA0DzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,kBAAkB;IA+D1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAoC1B"}
|
|
@@ -66,6 +66,7 @@ export class SkillsReferenceModule {
|
|
|
66
66
|
`- \`${p}/drive-search\` — find files in Drive by text, type or folder`,
|
|
67
67
|
`- \`${p}/drive-read\` — read a Drive file's content`,
|
|
68
68
|
`- \`${p}/drive-upload\` — put a file or text into Drive`,
|
|
69
|
+
`- \`${p}/send-file\` / \`receive-file\` — hand a LARGE file (video, archive, up to 2 GB) to another agent of this account, on this or another machine, via a temporary Crewly Cloud relay (needs Cloud sign-in). **For big files prefer these over Drive or Slack**; the receiver deletes it, unclaimed files vanish after 24 h`,
|
|
69
70
|
`- \`${p}/docs-read\` / \`docs-write\` — read a Google Doc as text; create one or append to it`,
|
|
70
71
|
`- \`${p}/docs-comment\` — list, reply to, resolve or add comments in a Google Doc (the owner's feedback)`,
|
|
71
72
|
`- \`${p}/sheets-read\` / \`sheets-write\` — read a range as rows; create a sheet or append rows`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-reference.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills-reference.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-reference.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACzD,IAAI,SAAuB;IAC3B,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAelD;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"skills-reference.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACzD,IAAI,SAAuB;IAC3B,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAelD;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,eAAe;IAoDvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgFvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA0DzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,kBAAkB;IA+D1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAoC1B"}
|
|
@@ -66,6 +66,7 @@ export class SkillsReferenceModule {
|
|
|
66
66
|
`- \`${p}/drive-search\` — find files in Drive by text, type or folder`,
|
|
67
67
|
`- \`${p}/drive-read\` — read a Drive file's content`,
|
|
68
68
|
`- \`${p}/drive-upload\` — put a file or text into Drive`,
|
|
69
|
+
`- \`${p}/send-file\` / \`receive-file\` — hand a LARGE file (video, archive, up to 2 GB) to another agent of this account, on this or another machine, via a temporary Crewly Cloud relay (needs Cloud sign-in). **For big files prefer these over Drive or Slack**; the receiver deletes it, unclaimed files vanish after 24 h`,
|
|
69
70
|
`- \`${p}/docs-read\` / \`docs-write\` — read a Google Doc as text; create one or append to it`,
|
|
70
71
|
`- \`${p}/docs-comment\` — list, reply to, resolve or add comments in a Google Doc (the owner's feedback)`,
|
|
71
72
|
`- \`${p}/sheets-read\` / \`sheets-write\` — read a range as rows; create a sheet or append rows`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-reference.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills-reference.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,OAAO,qBAAqB;IACjC,IAAI,GAAG,mBAAmB,CAAC;IAC3B,QAAQ,GAAG,CAAC,CAAC;IACb,SAAS,GAAG,GAAG,CAAC;IAChB,WAAW,GAAG,KAAK,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAqB;QAClC,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEtD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACvF,IAAI,aAAa,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,eAAe,CAAC,MAAoB;QAC3C,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,eAAe,OAAO,CAAC;QAC3C,OAAO;YACN,0CAA0C;YAC1C,EAAE;YACF,+EAA+E;YAC/E,uFAAuF;YACvF,EAAE;YACF,OAAO,CAAC,+DAA+D;YACvE,OAAO,CAAC,6CAA6C;YACrD,OAAO,CAAC,iDAAiD;YACzD,OAAO,CAAC,yTAAyT;YACjU,OAAO,CAAC,uFAAuF;YAC/F,OAAO,CAAC,kGAAkG;YAC1G,OAAO,CAAC,yFAAyF;YACjG,OAAO,CAAC,qFAAqF;YAC7F,OAAO,CAAC,qEAAqE;YAC7E,OAAO,CAAC,4OAA4O;YACpP,OAAO,CAAC,8EAA8E;YACtF,OAAO,CAAC,sEAAsE;YAC9E,EAAE;YACF,sFAAsF;YACtF,qFAAqF;YACrF,4EAA4E;YAC5E,EAAE;YACF,oGAAoG;YACpG,oDAAoD,CAAC,oCAAoC;YACzF,qEAAqE;YACrE,EAAE;YACF,iFAAiF;YACjF,EAAE;YACF,6EAA6E;YAC7E,KAAK,CAAC,iFAAiF;YACvF,wFAAwF;YACxF,oFAAoF;YACpF,EAAE;YACF,sFAAsF;YACtF,KAAK,CAAC,wHAAwH;YAC9H,yGAAyG,CAAC,aAAa;YACvH,2GAA2G,CAAC,sFAAsF;YAClM,+FAA+F;YAC/F,sGAAsG;YACtG,yGAAyG;YACzG,kEAAkE;YAClE,6CAA6C,CAAC,wEAAwE;YACtH,kDAAkD,CAAC,mEAAmE;YACtH,mHAAmH;YACnH,sFAAsF;YACtF,qIAAqI;SACrI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,sBAAsB,CAAC,MAAoB;QAClD,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,eAAe,OAAO,CAAC;QAC3C,OAAO;YACN,0EAA0E;YAC1E,EAAE;YACF,yFAAyF;YACzF,wEAAwE;YACxE,QAAQ,CAAC,oGAAoG;YAC7G,kGAAkG;YAClG,sGAAsG;YACtG,QAAQ,CAAC,oGAAoG;YAC7G,8FAA8F;YAC9F,qFAAqF;YACrF,iFAAiF;YACjF,uDAAuD;YACvD,8FAA8F;SAC9F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAoB;QAC3C,MAAM,KAAK,GAAG;YACb,qBAAqB;YACrB,EAAE;YACF,oBAAoB,MAAM,CAAC,eAAe,MAAM;YAChD,2DAA2D;YAC3D,0DAA0D;YAC1D,2DAA2D;YAC3D,uEAAuE;YACvE,8LAA8L;YAC9L,EAAE;YACF,uDAAuD;YACvD,uFAAuF;YACvF,oFAAoF;YACpF,oFAAoF;YACpF,mGAAmG;YACnG,sKAAsK;YACtK,gTAAgT;YAChT,EAAE;YACF,yDAAyD;YACzD,2FAA2F;YAC3F,2DAA2D;YAC3D,0DAA0D;YAC1D,iEAAiE;YACjE,2GAA2G;YAC3G,qFAAqF;YACrF,8FAA8F;YAC9F,8EAA8E;YAC9E,iGAAiG;YACjG,EAAE;YACF,sCAAsC;YACtC,mIAAmI;YACnI,8HAA8H;YAC9H,mHAAmH;YACnH,qLAAqL;SACrL,CAAC;QAEF,2DAA2D;QAC3D,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CACT,iDAAiD,EACjD,2CAA2C,EAC3C,yDAAyD,EACzD,2DAA2D,EAC3D,6DAA6D,EAC7D,6DAA6D,EAC7D,qDAAqD,EACrD,sFAAsF,EACtF,+IAA+I,EAC/I,iSAAiS,EACjS,6DAA6D,EAC7D,iEAAiE,EACjE,kFAAkF,EAClF,wEAAwE,EACxE,mFAAmF,EACnF,6WAA6W,EAC7W,EAAE,EACF,6GAA6G,CAC7G,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CACT,wEAAwE,EACxE,2CAA2C,EAC3C,6BAA6B,MAAM,CAAC,YAAY,MAAM,EACtD,oDAAoD,EACpD,oDAAoD,EACpD,qDAAqD,CACrD,CAAC;QACH,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CACT,sDAAsD,EACtD,iEAAiE,CACjE,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,4DAA4D,CAAC,CAAC;QAE7E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,MAAoB;QAC7C,MAAM,KAAK,GAAG,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;QAEhD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CACT,6BAA6B,EAC7B,wEAAwE,EACxE,gEAAgE,EAChE,qEAAqE,EACrE,mEAAmE,EACnE,EAAE,EACF,mFAAmF,CACnF,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CACT,6BAA6B,EAC7B,qDAAqD,EACrD,mCAAmC,MAAM,CAAC,eAAe,yBAAyB,EAClF,mCAAmC,MAAM,CAAC,YAAY,0BAA0B,EAChF,mEAAmE,CACnE,CAAC;QACH,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CACT,6BAA6B,EAC7B,qDAAqD,EACrD,mCAAmC,MAAM,CAAC,eAAe,yBAAyB,EAClF,mEAAmE,CACnE,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,8EAA8E;QAC9E,MAAM,iBAAiB,GAAG,GAAG,MAAM,CAAC,eAAe,4BAA4B,CAAC;QAChF,KAAK,CAAC,IAAI,CACT,EAAE,EACF,6CAA6C,EAC7C,EAAE,EACF,mHAAmH,EACnH,uBAAuB,iBAAiB,IAAI,EAC5C,iHAAiH,EACjH,mHAAmH,EACnH,4HAA4H,EAC5H,4FAA4F,EAC5F,wGAAwG,EACxG,8GAA8G,EAC9G,EAAE,EACF,qGAAqG,EACrG,SAAS,EACT,QAAQ,iBAAiB,sDAAsD,EAC/E,QAAQ,iBAAiB,4BAA4B,EACrD,QAAQ,iBAAiB,2BAA2B,EACpD,QAAQ,iBAAiB,wBAAwB,EACjD,KAAK,CACL,CAAC;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACK,kBAAkB,CAAC,MAAoB;QAC9C,IAAI,MAAM,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO;;;;;;;;OAQF,MAAM,CAAC,eAAe,6HAA6H,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;;;OAG3L,MAAM,CAAC,eAAe;;;OAGtB,MAAM,CAAC,eAAe,sHAAsH,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;;;OAGpL,MAAM,CAAC,eAAe,qFAAqF,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;;;OAGnJ,MAAM,CAAC,eAAe,mFAAmF,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;;;;;;mEAMrF,MAAM,CAAC,eAAe,gFAAgF,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;;;;;;OAM1M,MAAM,CAAC,eAAe,gHAAgH,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;QAC7K,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;;;;;OAKtB,MAAM,CAAC,YAAY,2GAA2G,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,aAAa,MAAM,CAAC,MAAM,IAAI,EAAE,kBAAkB,MAAM,CAAC,QAAQ;;;+CAG/L,MAAM,CAAC,YAAY,8EAA8E,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;;;OAGjL,MAAM,CAAC,YAAY;;;OAGnB,MAAM,CAAC,YAAY;OACnB,CAAC,CAAC,CAAC,EAAE;;;;;;;0DAO8C,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAoB;QAC9C,OAAO;;uBAEc,MAAM,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kLA+BqI,CAAC;IAClL,CAAC;CACD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crewly",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.282",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Multi-agent orchestration platform for AI coding teams — coordinates Claude Code, Gemini CLI, and Codex agents with a real-time web dashboard",
|
|
6
6
|
"workspaces": [
|