@indigoai-us/hq-cli 5.345.122 → 5.345.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.
- package/CHANGELOG.md +25 -0
- package/README.md +15 -0
- package/assets/scaffold/core/scripts/handoff-sync-prefetch.sh +121 -0
- package/assets/scaffold/core/scripts/handoff-sync-publish.sh +124 -0
- package/assets/scaffold/core/scripts/knowledge-pulse-lock.sh +27 -0
- package/assets/scaffold/core/scripts/lib/session-skill-catalog.sh +226 -0
- package/assets/scaffold/core/scripts/skill-installed.sh +43 -0
- package/assets/scaffold/core/scripts/work-mesh-project-registration-offer.sh +77 -0
- package/assets/scaffold/core/scripts/workflow-gate.sh +247 -0
- package/dist/command-catalog.generated.d.ts +332 -0
- package/dist/command-catalog.generated.js +402 -0
- package/dist/command-registration-plan.d.ts +6 -0
- package/dist/command-registration-plan.js +1 -0
- package/dist/commands/core-bucket-c-handoff-sync-fast.d.ts +3 -0
- package/dist/commands/core-bucket-c-handoff-sync-fast.js +16 -0
- package/dist/commands/core-bucket-c-handoff-sync-native.d.ts +45 -0
- package/dist/commands/core-bucket-c-handoff-sync-native.js +300 -0
- package/dist/commands/core-bucket-c-small-fast.d.ts +5 -0
- package/dist/commands/core-bucket-c-small-fast.js +19 -0
- package/dist/commands/core-bucket-c-small-native.d.ts +11 -0
- package/dist/commands/core-bucket-c-small-native.js +197 -0
- package/dist/commands/core-bucket-c-work-mesh-offer-native.d.ts +7 -0
- package/dist/commands/core-bucket-c-work-mesh-offer-native.js +147 -0
- package/dist/commands/core-bucket-c-workflow-gate-fast.d.ts +3 -0
- package/dist/commands/core-bucket-c-workflow-gate-fast.js +17 -0
- package/dist/commands/core-bucket-c-workflow-gate-native.d.ts +7 -0
- package/dist/commands/core-bucket-c-workflow-gate-native.js +250 -0
- package/dist/commands/core-derive-trigger-facts-native.js +4 -1
- package/dist/commands/core.js +37 -0
- package/dist/commands/deploy-comments.d.ts +2 -0
- package/dist/commands/deploy-comments.js +2 -2
- package/dist/commands/deploy-list.d.ts +22 -0
- package/dist/commands/deploy-list.js +153 -0
- package/dist/commands/lanes.js +41 -2
- package/dist/commands/mesh.js +457 -16
- package/dist/fast-scaffold.js +74 -0
- package/dist/lib/core-utils/session-company.d.ts +3 -0
- package/dist/lib/core-utils/session-company.js +78 -0
- package/dist/lib/lanes/quota-notice.d.ts +24 -0
- package/dist/lib/lanes/quota-notice.js +61 -0
- package/dist/lib/lanes/quota.d.ts +44 -8
- package/dist/lib/lanes/quota.js +187 -45
- package/dist/lib/lanes/reconcile.js +17 -1
- package/dist/lib/lanes/watcher.js +13 -1
- package/dist/lib/mesh/api.d.ts +2 -0
- package/dist/lib/mesh/api.js +3 -0
- package/dist/lib/mesh/client.d.ts +6 -1
- package/dist/lib/mesh/client.js +18 -5
- package/dist/lib/mesh/team-coordination.d.ts +106 -0
- package/dist/lib/mesh/team-coordination.js +297 -0
- package/dist/lib/work-context/auto-bind.d.ts +75 -0
- package/dist/lib/work-context/auto-bind.js +245 -0
- package/package.json +1 -1
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# workflow-gate.sh — inspect and answer human gates opened by codex-workflow.mjs gate().
|
|
3
|
+
#
|
|
4
|
+
# A gate is a self-contained pending question file written by a paused workflow
|
|
5
|
+
# run; writing a matching answered/<id>.json resumes that run in place. Answers
|
|
6
|
+
# are durable: a re-launched run returns them instantly instead of re-asking
|
|
7
|
+
# the human, so never delete answered/ files while their project is live.
|
|
8
|
+
#
|
|
9
|
+
# Usage:
|
|
10
|
+
# workflow-gate.sh list
|
|
11
|
+
# workflow-gate.sh show <id>
|
|
12
|
+
# workflow-gate.sh answer <id> <choice|N> [--notes "..."] [--by name] [--force] [--freeform]
|
|
13
|
+
# <choice|N> an option label, or a 1-based option index
|
|
14
|
+
# --notes free-text note stored alongside the choice
|
|
15
|
+
# --by who answered (recorded as answered_by)
|
|
16
|
+
# --force pre-answer a gate that has not opened yet, or overwrite an
|
|
17
|
+
# existing answer
|
|
18
|
+
# --freeform accept a choice that is not one of the gate's options
|
|
19
|
+
# workflow-gate.sh wait-pending [--timeout secs]
|
|
20
|
+
# Blocks until any pending gate exists (exit 0) or the timeout elapses
|
|
21
|
+
# (exit 1). Monitor-friendly wake condition for watching sessions.
|
|
22
|
+
# workflow-gate.sh watch-run <run-dir> [--timeout secs]
|
|
23
|
+
# Run-scoped wake condition for the session that launched a workflow.
|
|
24
|
+
# Blocks until a gate belonging to THAT run opens (prints its id, exit 0),
|
|
25
|
+
# the run finishes (exit 3), or --timeout elapses (exit 1). Match is on
|
|
26
|
+
# the run_dir every gate carries, which is the --run-dir the launching
|
|
27
|
+
# session chose — no id parsing, no env coupling, no startup race.
|
|
28
|
+
# workflow-gate.sh clear <id>
|
|
29
|
+
# Remove both the pending and answered files for a gate id.
|
|
30
|
+
#
|
|
31
|
+
# Env: HQ_WORKFLOW_GATES_DIR overrides the gates root (default
|
|
32
|
+
# <hq-root>/workspace/gates); legacy CODEX_WORKFLOW_GATES_DIR is honored.
|
|
33
|
+
|
|
34
|
+
set -uo pipefail
|
|
35
|
+
|
|
36
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
37
|
+
HQ_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
38
|
+
GATES_DIR="${HQ_WORKFLOW_GATES_DIR:-${CODEX_WORKFLOW_GATES_DIR:-$HQ_ROOT/workspace/gates}}"
|
|
39
|
+
PENDING_DIR="$GATES_DIR/pending"
|
|
40
|
+
ANSWERED_DIR="$GATES_DIR/answered"
|
|
41
|
+
|
|
42
|
+
die() { printf 'workflow-gate: %s\n' "$1" >&2; exit 1; }
|
|
43
|
+
usage() { sed -n '2,33p' "$0" | sed 's/^# \{0,1\}//'; exit "${1:-0}"; }
|
|
44
|
+
|
|
45
|
+
# Gate ids are slugged filenames (see the spec) — reject anything else so an id
|
|
46
|
+
# can never traverse outside the gates dir or smuggle path separators.
|
|
47
|
+
require_gate_id() {
|
|
48
|
+
case "$1" in
|
|
49
|
+
(*[!a-z0-9._-]*|'') die "invalid gate id \"$1\" — ids are lowercase [a-z0-9._-]" ;;
|
|
50
|
+
esac
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
cmd="${1:-}"
|
|
54
|
+
[ -n "$cmd" ] || usage 1
|
|
55
|
+
shift
|
|
56
|
+
|
|
57
|
+
case "$cmd" in
|
|
58
|
+
|
|
59
|
+
list)
|
|
60
|
+
if ! ls "$PENDING_DIR"/*.json >/dev/null 2>&1; then
|
|
61
|
+
echo "no pending gates"
|
|
62
|
+
exit 0
|
|
63
|
+
fi
|
|
64
|
+
node -e '
|
|
65
|
+
const fs = require("fs");
|
|
66
|
+
for (const f of process.argv.slice(1)) {
|
|
67
|
+
try {
|
|
68
|
+
const g = JSON.parse(fs.readFileSync(f, "utf8"));
|
|
69
|
+
const ageMin = Math.max(0, Math.round((Date.now() - Date.parse(g.created_at || 0)) / 60000));
|
|
70
|
+
const opts = (g.options || []).map((o, i) => `${i + 1}=${o.label}`).join(" ");
|
|
71
|
+
console.log(`${g.id} (${ageMin}m) ${g.question}${opts ? ` [${opts}]` : ""}`);
|
|
72
|
+
} catch { console.log(`<unreadable> ${f}`); }
|
|
73
|
+
}
|
|
74
|
+
' "$PENDING_DIR"/*.json
|
|
75
|
+
;;
|
|
76
|
+
|
|
77
|
+
show)
|
|
78
|
+
id="${1:-}"
|
|
79
|
+
[ -n "$id" ] || die "usage: show <id>"
|
|
80
|
+
require_gate_id "$id"
|
|
81
|
+
if [ -f "$PENDING_DIR/$id.json" ]; then
|
|
82
|
+
cat "$PENDING_DIR/$id.json"
|
|
83
|
+
elif [ -f "$ANSWERED_DIR/$id.json" ]; then
|
|
84
|
+
cat "$ANSWERED_DIR/$id.json"
|
|
85
|
+
else
|
|
86
|
+
die "no gate \"$id\" in pending or answered"
|
|
87
|
+
fi
|
|
88
|
+
;;
|
|
89
|
+
|
|
90
|
+
answer)
|
|
91
|
+
id="${1:-}"; choice="${2:-}"
|
|
92
|
+
{ [ -n "$id" ] && [ -n "$choice" ]; } || die "usage: answer <id> <choice|N> [--notes ...] [--by name] [--force] [--freeform]"
|
|
93
|
+
require_gate_id "$id"
|
|
94
|
+
shift 2
|
|
95
|
+
notes=""; by=""; force=0; freeform=0
|
|
96
|
+
while [ $# -gt 0 ]; do
|
|
97
|
+
case "$1" in
|
|
98
|
+
--notes) [ $# -ge 2 ] || die "--notes needs a value"; notes="$2"; shift 2 ;;
|
|
99
|
+
--by) [ $# -ge 2 ] || die "--by needs a value"; by="$2"; shift 2 ;;
|
|
100
|
+
--force) force=1; shift ;;
|
|
101
|
+
--freeform) freeform=1; shift ;;
|
|
102
|
+
*) die "unknown flag: $1" ;;
|
|
103
|
+
esac
|
|
104
|
+
done
|
|
105
|
+
JS="$(cat <<'NODE'
|
|
106
|
+
const fs = require("fs");
|
|
107
|
+
const path = require("path");
|
|
108
|
+
const [, pendingDir, answeredDir, id, rawChoice, notes, by, force, freeform] = process.argv;
|
|
109
|
+
const F = force === "1";
|
|
110
|
+
const FF = freeform === "1";
|
|
111
|
+
const pendingFile = path.join(pendingDir, id + ".json");
|
|
112
|
+
const answeredFile = path.join(answeredDir, id + ".json");
|
|
113
|
+
const fail = (m) => { console.error("workflow-gate: " + m); process.exit(1); };
|
|
114
|
+
|
|
115
|
+
let gate = null;
|
|
116
|
+
try { gate = JSON.parse(fs.readFileSync(pendingFile, "utf8")); } catch { /* not pending */ }
|
|
117
|
+
if (!gate && !F) {
|
|
118
|
+
let ids = [];
|
|
119
|
+
try { ids = fs.readdirSync(pendingDir).filter((f) => f.endsWith(".json")).map((f) => f.slice(0, -5)); } catch { /* no dir */ }
|
|
120
|
+
fail(`no pending gate "${id}"${ids.length ? ` — pending: ${ids.join(", ")}` : " — nothing is pending"} (use --force to pre-answer)`);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
let choice = rawChoice;
|
|
124
|
+
const opts = gate && Array.isArray(gate.options) ? gate.options : [];
|
|
125
|
+
if (opts.length) {
|
|
126
|
+
if (/^[0-9]+$/.test(rawChoice)) {
|
|
127
|
+
const n = Number(rawChoice);
|
|
128
|
+
if (n >= 1 && n <= opts.length) choice = opts[n - 1].label;
|
|
129
|
+
else fail(`index ${n} is out of range 1..${opts.length} for "${id}"`);
|
|
130
|
+
} else {
|
|
131
|
+
const hit = opts.find((o) => String(o.label).toLowerCase() === rawChoice.toLowerCase());
|
|
132
|
+
if (hit) choice = hit.label;
|
|
133
|
+
else if (!FF) fail(`"${rawChoice}" is not an option for "${id}" — options: ${opts.map((o) => o.label).join(", ")} (use --freeform to record it anyway)`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (fs.existsSync(answeredFile) && !F) {
|
|
138
|
+
fail(`gate "${id}" is already answered (${answeredFile}) — use --force to overwrite`);
|
|
139
|
+
}
|
|
140
|
+
fs.mkdirSync(answeredDir, { recursive: true });
|
|
141
|
+
const answer = {
|
|
142
|
+
id,
|
|
143
|
+
choice,
|
|
144
|
+
...(notes ? { notes } : {}),
|
|
145
|
+
...(by ? { answered_by: by } : {}),
|
|
146
|
+
answered_at: new Date().toISOString(),
|
|
147
|
+
};
|
|
148
|
+
const tmp = `${answeredFile}.tmp-${process.pid}`;
|
|
149
|
+
fs.writeFileSync(tmp, JSON.stringify(answer, null, 2) + "\n");
|
|
150
|
+
fs.renameSync(tmp, answeredFile);
|
|
151
|
+
try { fs.rmSync(pendingFile, { force: true }); } catch { /* best-effort */ }
|
|
152
|
+
console.log(`answered ${id} -> ${choice}`);
|
|
153
|
+
NODE
|
|
154
|
+
)"
|
|
155
|
+
node -e "$JS" "$PENDING_DIR" "$ANSWERED_DIR" "$id" "$choice" "$notes" "$by" "$force" "$freeform"
|
|
156
|
+
;;
|
|
157
|
+
|
|
158
|
+
wait-pending)
|
|
159
|
+
timeout=""
|
|
160
|
+
while [ $# -gt 0 ]; do
|
|
161
|
+
case "$1" in
|
|
162
|
+
--timeout) [ $# -ge 2 ] || die "--timeout needs a value"; timeout="$2"; shift 2 ;;
|
|
163
|
+
*) die "unknown flag: $1" ;;
|
|
164
|
+
esac
|
|
165
|
+
done
|
|
166
|
+
if [ -n "$timeout" ]; then
|
|
167
|
+
case "$timeout" in
|
|
168
|
+
(*[!0-9]*|'') die "--timeout must be a whole number of seconds" ;;
|
|
169
|
+
esac
|
|
170
|
+
fi
|
|
171
|
+
elapsed=0
|
|
172
|
+
while :; do
|
|
173
|
+
if ls "$PENDING_DIR"/*.json >/dev/null 2>&1; then exit 0; fi
|
|
174
|
+
if [ -n "$timeout" ] && [ "$elapsed" -ge "$timeout" ]; then exit 1; fi
|
|
175
|
+
sleep 1
|
|
176
|
+
elapsed=$((elapsed + 1))
|
|
177
|
+
done
|
|
178
|
+
;;
|
|
179
|
+
|
|
180
|
+
watch-run)
|
|
181
|
+
# Run-scoped wake condition: block until a gate belonging to THIS run opens,
|
|
182
|
+
# or until the run finishes. Gates carry the run_dir the runner was launched
|
|
183
|
+
# with, and the launching session chooses that --run-dir, so matching on it
|
|
184
|
+
# needs no id parsing, no env coupling, and no race at startup.
|
|
185
|
+
# exit 0 + gate id a pending gate for this run
|
|
186
|
+
# exit 3 the run finished (journal.jsonl has run-done)
|
|
187
|
+
# exit 1 --timeout elapsed
|
|
188
|
+
run_dir="${1:-}"
|
|
189
|
+
[ -n "$run_dir" ] || die "usage: watch-run <run-dir> [--timeout secs]"
|
|
190
|
+
case "$run_dir" in -*) die "usage: watch-run <run-dir> [--timeout secs]" ;; esac
|
|
191
|
+
shift
|
|
192
|
+
timeout=""
|
|
193
|
+
while [ $# -gt 0 ]; do
|
|
194
|
+
case "$1" in
|
|
195
|
+
--timeout) [ $# -ge 2 ] || die "--timeout needs a value"; timeout="$2"; shift 2 ;;
|
|
196
|
+
*) die "unknown flag: $1" ;;
|
|
197
|
+
esac
|
|
198
|
+
done
|
|
199
|
+
if [ -n "$timeout" ]; then
|
|
200
|
+
case "$timeout" in
|
|
201
|
+
(*[!0-9]*|'') die "--timeout must be a whole number of seconds" ;;
|
|
202
|
+
esac
|
|
203
|
+
fi
|
|
204
|
+
elapsed=0
|
|
205
|
+
while :; do
|
|
206
|
+
# Gate check first: a gate that opened just before the run ended must
|
|
207
|
+
# still be surfaced rather than swallowed by the run-done exit.
|
|
208
|
+
hit="$(PENDING_DIR="$PENDING_DIR" RUN_DIR="$run_dir" node -e '
|
|
209
|
+
const fs = require("fs"), path = require("path");
|
|
210
|
+
const pendingDir = process.env.PENDING_DIR;
|
|
211
|
+
const want = path.resolve(process.env.RUN_DIR);
|
|
212
|
+
let files = [];
|
|
213
|
+
try { files = fs.readdirSync(pendingDir).filter((f) => f.endsWith(".json")); } catch { process.exit(0); }
|
|
214
|
+
files.sort();
|
|
215
|
+
for (const f of files) {
|
|
216
|
+
try {
|
|
217
|
+
const g = JSON.parse(fs.readFileSync(path.join(pendingDir, f), "utf8"));
|
|
218
|
+
if (g.run_dir && path.resolve(g.run_dir) === want) { console.log(g.id || f.slice(0, -5)); break; }
|
|
219
|
+
} catch { /* half-written or malformed — try the next one */ }
|
|
220
|
+
}
|
|
221
|
+
' 2>/dev/null)"
|
|
222
|
+
if [ -n "$hit" ]; then printf '%s\n' "$hit"; exit 0; fi
|
|
223
|
+
if [ -f "$run_dir/journal.jsonl" ] && grep -q '"event":"run-done"' "$run_dir/journal.jsonl" 2>/dev/null; then
|
|
224
|
+
exit 3
|
|
225
|
+
fi
|
|
226
|
+
if [ -n "$timeout" ] && [ "$elapsed" -ge "$timeout" ]; then exit 1; fi
|
|
227
|
+
sleep 1
|
|
228
|
+
elapsed=$((elapsed + 1))
|
|
229
|
+
done
|
|
230
|
+
;;
|
|
231
|
+
|
|
232
|
+
clear)
|
|
233
|
+
id="${1:-}"
|
|
234
|
+
[ -n "$id" ] || die "usage: clear <id>"
|
|
235
|
+
require_gate_id "$id"
|
|
236
|
+
rm -f "$PENDING_DIR/$id.json" "$ANSWERED_DIR/$id.json"
|
|
237
|
+
echo "cleared $id"
|
|
238
|
+
;;
|
|
239
|
+
|
|
240
|
+
-h|--help|help)
|
|
241
|
+
usage 0
|
|
242
|
+
;;
|
|
243
|
+
|
|
244
|
+
*)
|
|
245
|
+
die "unknown command: $cmd (list | show | answer | wait-pending | watch-run | clear)"
|
|
246
|
+
;;
|
|
247
|
+
esac
|
|
@@ -9511,6 +9511,40 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
9511
9511
|
}];
|
|
9512
9512
|
readonly options: readonly [];
|
|
9513
9513
|
readonly subcommands: readonly [];
|
|
9514
|
+
}, {
|
|
9515
|
+
readonly name: "handoff-sync-prefetch";
|
|
9516
|
+
readonly description: "Pull the latest continuity pointer before a session resumes";
|
|
9517
|
+
readonly aliases: readonly [];
|
|
9518
|
+
readonly hidden: false;
|
|
9519
|
+
readonly helpOption: false;
|
|
9520
|
+
readonly helpCommand: false;
|
|
9521
|
+
readonly usage: "[args...]";
|
|
9522
|
+
readonly helpText: readonly [];
|
|
9523
|
+
readonly arguments: readonly [{
|
|
9524
|
+
readonly name: "args";
|
|
9525
|
+
readonly required: false;
|
|
9526
|
+
readonly variadic: true;
|
|
9527
|
+
readonly description: "arguments passed through to the script";
|
|
9528
|
+
}];
|
|
9529
|
+
readonly options: readonly [];
|
|
9530
|
+
readonly subcommands: readonly [];
|
|
9531
|
+
}, {
|
|
9532
|
+
readonly name: "handoff-sync-publish";
|
|
9533
|
+
readonly description: "Publish the session continuity pointer to the personal vault";
|
|
9534
|
+
readonly aliases: readonly [];
|
|
9535
|
+
readonly hidden: false;
|
|
9536
|
+
readonly helpOption: false;
|
|
9537
|
+
readonly helpCommand: false;
|
|
9538
|
+
readonly usage: "[args...]";
|
|
9539
|
+
readonly helpText: readonly [];
|
|
9540
|
+
readonly arguments: readonly [{
|
|
9541
|
+
readonly name: "args";
|
|
9542
|
+
readonly required: false;
|
|
9543
|
+
readonly variadic: true;
|
|
9544
|
+
readonly description: "arguments passed through to the script";
|
|
9545
|
+
}];
|
|
9546
|
+
readonly options: readonly [];
|
|
9547
|
+
readonly subcommands: readonly [];
|
|
9514
9548
|
}, {
|
|
9515
9549
|
readonly name: "hq-task";
|
|
9516
9550
|
readonly description: "List and update tasks on personal or company boards";
|
|
@@ -9528,6 +9562,74 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
9528
9562
|
}];
|
|
9529
9563
|
readonly options: readonly [];
|
|
9530
9564
|
readonly subcommands: readonly [];
|
|
9565
|
+
}, {
|
|
9566
|
+
readonly name: "knowledge-pulse-lock";
|
|
9567
|
+
readonly description: "Atomically claim a company knowledge-pulse run";
|
|
9568
|
+
readonly aliases: readonly [];
|
|
9569
|
+
readonly hidden: false;
|
|
9570
|
+
readonly helpOption: false;
|
|
9571
|
+
readonly helpCommand: false;
|
|
9572
|
+
readonly usage: "[args...]";
|
|
9573
|
+
readonly helpText: readonly [];
|
|
9574
|
+
readonly arguments: readonly [{
|
|
9575
|
+
readonly name: "args";
|
|
9576
|
+
readonly required: false;
|
|
9577
|
+
readonly variadic: true;
|
|
9578
|
+
readonly description: "arguments passed through to the script";
|
|
9579
|
+
}];
|
|
9580
|
+
readonly options: readonly [];
|
|
9581
|
+
readonly subcommands: readonly [];
|
|
9582
|
+
}, {
|
|
9583
|
+
readonly name: "skill-installed";
|
|
9584
|
+
readonly description: "Check whether a company-scoped skill is installed";
|
|
9585
|
+
readonly aliases: readonly [];
|
|
9586
|
+
readonly hidden: false;
|
|
9587
|
+
readonly helpOption: false;
|
|
9588
|
+
readonly helpCommand: false;
|
|
9589
|
+
readonly usage: "[args...]";
|
|
9590
|
+
readonly helpText: readonly [];
|
|
9591
|
+
readonly arguments: readonly [{
|
|
9592
|
+
readonly name: "args";
|
|
9593
|
+
readonly required: false;
|
|
9594
|
+
readonly variadic: true;
|
|
9595
|
+
readonly description: "arguments passed through to the script";
|
|
9596
|
+
}];
|
|
9597
|
+
readonly options: readonly [];
|
|
9598
|
+
readonly subcommands: readonly [];
|
|
9599
|
+
}, {
|
|
9600
|
+
readonly name: "work-mesh-project-registration-offer";
|
|
9601
|
+
readonly description: "Check and record the work-mesh project registration offer";
|
|
9602
|
+
readonly aliases: readonly [];
|
|
9603
|
+
readonly hidden: false;
|
|
9604
|
+
readonly helpOption: false;
|
|
9605
|
+
readonly helpCommand: false;
|
|
9606
|
+
readonly usage: "[args...]";
|
|
9607
|
+
readonly helpText: readonly [];
|
|
9608
|
+
readonly arguments: readonly [{
|
|
9609
|
+
readonly name: "args";
|
|
9610
|
+
readonly required: false;
|
|
9611
|
+
readonly variadic: true;
|
|
9612
|
+
readonly description: "arguments passed through to the script";
|
|
9613
|
+
}];
|
|
9614
|
+
readonly options: readonly [];
|
|
9615
|
+
readonly subcommands: readonly [];
|
|
9616
|
+
}, {
|
|
9617
|
+
readonly name: "workflow-gate";
|
|
9618
|
+
readonly description: "Inspect, answer, and wait for workflow gates";
|
|
9619
|
+
readonly aliases: readonly [];
|
|
9620
|
+
readonly hidden: false;
|
|
9621
|
+
readonly helpOption: false;
|
|
9622
|
+
readonly helpCommand: false;
|
|
9623
|
+
readonly usage: "[args...]";
|
|
9624
|
+
readonly helpText: readonly [];
|
|
9625
|
+
readonly arguments: readonly [{
|
|
9626
|
+
readonly name: "args";
|
|
9627
|
+
readonly required: false;
|
|
9628
|
+
readonly variadic: true;
|
|
9629
|
+
readonly description: "arguments passed through to the script";
|
|
9630
|
+
}];
|
|
9631
|
+
readonly options: readonly [];
|
|
9632
|
+
readonly subcommands: readonly [];
|
|
9531
9633
|
}, {
|
|
9532
9634
|
readonly name: "checkpoint-stop-gate";
|
|
9533
9635
|
readonly description: "Stop-hook checkpoint + company-scope gate (reads the hook payload on stdin)";
|
|
@@ -10363,6 +10465,46 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
10363
10465
|
readonly flags: "--assignee <uid|me|none>";
|
|
10364
10466
|
readonly description: "Assign a person or agent uid, yourself, or clear";
|
|
10365
10467
|
readonly hidden: false;
|
|
10468
|
+
}, {
|
|
10469
|
+
readonly flags: "--force";
|
|
10470
|
+
readonly description: "Override another holder's assignment";
|
|
10471
|
+
readonly hidden: false;
|
|
10472
|
+
}, {
|
|
10473
|
+
readonly flags: "--company <slug|uid>";
|
|
10474
|
+
readonly description: "Company slug or cloud uid";
|
|
10475
|
+
readonly hidden: false;
|
|
10476
|
+
}, {
|
|
10477
|
+
readonly flags: "--project <slug>";
|
|
10478
|
+
readonly description: "HQ project slug / projectId";
|
|
10479
|
+
readonly hidden: false;
|
|
10480
|
+
}, {
|
|
10481
|
+
readonly flags: "--thread-id <id>";
|
|
10482
|
+
readonly description: "Explicit work thread id";
|
|
10483
|
+
readonly hidden: false;
|
|
10484
|
+
}, {
|
|
10485
|
+
readonly flags: "--json";
|
|
10486
|
+
readonly description: "Print machine-readable JSON";
|
|
10487
|
+
readonly hidden: false;
|
|
10488
|
+
}];
|
|
10489
|
+
readonly subcommands: readonly [];
|
|
10490
|
+
}, {
|
|
10491
|
+
readonly name: "claim";
|
|
10492
|
+
readonly description: "Assign a story to yourself and move it to in_progress";
|
|
10493
|
+
readonly aliases: readonly [];
|
|
10494
|
+
readonly hidden: false;
|
|
10495
|
+
readonly helpOption: true;
|
|
10496
|
+
readonly helpCommand: false;
|
|
10497
|
+
readonly usage: "[options]";
|
|
10498
|
+
readonly helpText: readonly [];
|
|
10499
|
+
readonly arguments: readonly [];
|
|
10500
|
+
readonly options: readonly [{
|
|
10501
|
+
readonly flags: "--story <id>";
|
|
10502
|
+
readonly description: "Story id, e.g. US-001";
|
|
10503
|
+
readonly hidden: false;
|
|
10504
|
+
}, {
|
|
10505
|
+
readonly flags: "--force";
|
|
10506
|
+
readonly description: "Take the story even when someone else holds it";
|
|
10507
|
+
readonly hidden: false;
|
|
10366
10508
|
}, {
|
|
10367
10509
|
readonly flags: "--company <slug|uid>";
|
|
10368
10510
|
readonly description: "Company slug or cloud uid";
|
|
@@ -10381,6 +10523,102 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
10381
10523
|
readonly hidden: false;
|
|
10382
10524
|
}];
|
|
10383
10525
|
readonly subcommands: readonly [];
|
|
10526
|
+
}, {
|
|
10527
|
+
readonly name: "overlap";
|
|
10528
|
+
readonly description: "List other sessions working on the same story, branch, or files";
|
|
10529
|
+
readonly aliases: readonly [];
|
|
10530
|
+
readonly hidden: false;
|
|
10531
|
+
readonly helpOption: true;
|
|
10532
|
+
readonly helpCommand: false;
|
|
10533
|
+
readonly usage: "[options]";
|
|
10534
|
+
readonly helpText: readonly [];
|
|
10535
|
+
readonly arguments: readonly [];
|
|
10536
|
+
readonly options: readonly [{
|
|
10537
|
+
readonly flags: "--company <slug|uid>";
|
|
10538
|
+
readonly description: "Company slug or cloud uid";
|
|
10539
|
+
readonly hidden: false;
|
|
10540
|
+
}, {
|
|
10541
|
+
readonly flags: "--session <sid>";
|
|
10542
|
+
readonly description: "Your session id";
|
|
10543
|
+
readonly hidden: false;
|
|
10544
|
+
}, {
|
|
10545
|
+
readonly flags: "--repo <name>";
|
|
10546
|
+
readonly description: "Repository name";
|
|
10547
|
+
readonly hidden: false;
|
|
10548
|
+
}, {
|
|
10549
|
+
readonly flags: "--branch <branch>";
|
|
10550
|
+
readonly description: "Current branch";
|
|
10551
|
+
readonly hidden: false;
|
|
10552
|
+
}, {
|
|
10553
|
+
readonly flags: "--project <id>";
|
|
10554
|
+
readonly description: "Project id";
|
|
10555
|
+
readonly hidden: false;
|
|
10556
|
+
}, {
|
|
10557
|
+
readonly flags: "--story <id>";
|
|
10558
|
+
readonly description: "Story id";
|
|
10559
|
+
readonly hidden: false;
|
|
10560
|
+
}, {
|
|
10561
|
+
readonly flags: "--file <path>";
|
|
10562
|
+
readonly description: "Repo-relative file you are changing (repeatable)";
|
|
10563
|
+
readonly hidden: false;
|
|
10564
|
+
}, {
|
|
10565
|
+
readonly flags: "--files-json <json>";
|
|
10566
|
+
readonly description: "JSON array of repo-relative file paths";
|
|
10567
|
+
readonly hidden: false;
|
|
10568
|
+
}, {
|
|
10569
|
+
readonly flags: "--json";
|
|
10570
|
+
readonly description: "Print machine-readable JSON";
|
|
10571
|
+
readonly hidden: false;
|
|
10572
|
+
}];
|
|
10573
|
+
readonly subcommands: readonly [];
|
|
10574
|
+
}, {
|
|
10575
|
+
readonly name: "suggest";
|
|
10576
|
+
readonly description: "Rank teammates and agents to pick up a story";
|
|
10577
|
+
readonly aliases: readonly [];
|
|
10578
|
+
readonly hidden: false;
|
|
10579
|
+
readonly helpOption: true;
|
|
10580
|
+
readonly helpCommand: false;
|
|
10581
|
+
readonly usage: "[options]";
|
|
10582
|
+
readonly helpText: readonly [];
|
|
10583
|
+
readonly arguments: readonly [];
|
|
10584
|
+
readonly options: readonly [{
|
|
10585
|
+
readonly flags: "--company <slug|uid>";
|
|
10586
|
+
readonly description: "Company slug or cloud uid";
|
|
10587
|
+
readonly hidden: false;
|
|
10588
|
+
}, {
|
|
10589
|
+
readonly flags: "--project <id>";
|
|
10590
|
+
readonly description: "Project id";
|
|
10591
|
+
readonly hidden: false;
|
|
10592
|
+
}, {
|
|
10593
|
+
readonly flags: "--story <id>";
|
|
10594
|
+
readonly description: "Story id";
|
|
10595
|
+
readonly hidden: false;
|
|
10596
|
+
}, {
|
|
10597
|
+
readonly flags: "--json";
|
|
10598
|
+
readonly description: "Print machine-readable JSON";
|
|
10599
|
+
readonly hidden: false;
|
|
10600
|
+
}];
|
|
10601
|
+
readonly subcommands: readonly [];
|
|
10602
|
+
}, {
|
|
10603
|
+
readonly name: "roster";
|
|
10604
|
+
readonly description: "Show each member's daemon and session reporting state";
|
|
10605
|
+
readonly aliases: readonly [];
|
|
10606
|
+
readonly hidden: false;
|
|
10607
|
+
readonly helpOption: true;
|
|
10608
|
+
readonly helpCommand: false;
|
|
10609
|
+
readonly usage: "[options]";
|
|
10610
|
+
readonly helpText: readonly [];
|
|
10611
|
+
readonly arguments: readonly [];
|
|
10612
|
+
readonly options: readonly [{
|
|
10613
|
+
readonly flags: "--company <slug|uid>";
|
|
10614
|
+
readonly description: "Company slug or cloud uid";
|
|
10615
|
+
readonly hidden: false;
|
|
10616
|
+
}, {
|
|
10617
|
+
readonly flags: "--json";
|
|
10618
|
+
readonly description: "Print machine-readable JSON";
|
|
10619
|
+
readonly hidden: false;
|
|
10620
|
+
}];
|
|
10621
|
+
readonly subcommands: readonly [];
|
|
10384
10622
|
}, {
|
|
10385
10623
|
readonly name: "project";
|
|
10386
10624
|
readonly description: "Set a project Board view or register its project channel";
|
|
@@ -10544,6 +10782,43 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
10544
10782
|
readonly hidden: false;
|
|
10545
10783
|
}];
|
|
10546
10784
|
readonly subcommands: readonly [];
|
|
10785
|
+
}, {
|
|
10786
|
+
readonly name: "reassign";
|
|
10787
|
+
readonly description: "Move project ownership to another person or agent";
|
|
10788
|
+
readonly aliases: readonly [];
|
|
10789
|
+
readonly hidden: false;
|
|
10790
|
+
readonly helpOption: true;
|
|
10791
|
+
readonly helpCommand: false;
|
|
10792
|
+
readonly usage: "[options] <projectId>";
|
|
10793
|
+
readonly helpText: readonly [];
|
|
10794
|
+
readonly arguments: readonly [{
|
|
10795
|
+
readonly name: "projectId";
|
|
10796
|
+
readonly required: true;
|
|
10797
|
+
readonly variadic: false;
|
|
10798
|
+
readonly description: "";
|
|
10799
|
+
}];
|
|
10800
|
+
readonly options: readonly [{
|
|
10801
|
+
readonly flags: "--company <slug|uid>";
|
|
10802
|
+
readonly description: "Company slug or cloud uid";
|
|
10803
|
+
readonly hidden: false;
|
|
10804
|
+
}, {
|
|
10805
|
+
readonly flags: "--to <uid|email|name>";
|
|
10806
|
+
readonly description: "New owner (uid, email, or directory name)";
|
|
10807
|
+
readonly hidden: false;
|
|
10808
|
+
}, {
|
|
10809
|
+
readonly flags: "--include-open-stories";
|
|
10810
|
+
readonly description: "Also reassign the project's open stories";
|
|
10811
|
+
readonly hidden: false;
|
|
10812
|
+
}, {
|
|
10813
|
+
readonly flags: "--note <text>";
|
|
10814
|
+
readonly description: "Handoff note";
|
|
10815
|
+
readonly hidden: false;
|
|
10816
|
+
}, {
|
|
10817
|
+
readonly flags: "--json";
|
|
10818
|
+
readonly description: "Print machine-readable JSON";
|
|
10819
|
+
readonly hidden: false;
|
|
10820
|
+
}];
|
|
10821
|
+
readonly subcommands: readonly [];
|
|
10547
10822
|
}, {
|
|
10548
10823
|
readonly name: "member";
|
|
10549
10824
|
readonly description: "Manage project members";
|
|
@@ -10772,6 +11047,38 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
10772
11047
|
readonly hidden: false;
|
|
10773
11048
|
}];
|
|
10774
11049
|
readonly subcommands: readonly [];
|
|
11050
|
+
}, {
|
|
11051
|
+
readonly name: "auto-bind";
|
|
11052
|
+
readonly description: "Bind a needs_project session to the project its repo and branch belong to (local-only, fail-open)";
|
|
11053
|
+
readonly aliases: readonly [];
|
|
11054
|
+
readonly hidden: false;
|
|
11055
|
+
readonly helpOption: true;
|
|
11056
|
+
readonly helpCommand: false;
|
|
11057
|
+
readonly usage: "[options]";
|
|
11058
|
+
readonly helpText: readonly [];
|
|
11059
|
+
readonly arguments: readonly [];
|
|
11060
|
+
readonly options: readonly [{
|
|
11061
|
+
readonly flags: "--session <sid>";
|
|
11062
|
+
readonly description: "Canonical session id";
|
|
11063
|
+
readonly hidden: false;
|
|
11064
|
+
}, {
|
|
11065
|
+
readonly flags: "--cwd <dir>";
|
|
11066
|
+
readonly description: "Working directory to read the repo and branch from";
|
|
11067
|
+
readonly hidden: false;
|
|
11068
|
+
}, {
|
|
11069
|
+
readonly flags: "--company <slug>";
|
|
11070
|
+
readonly description: "Company slug (defaults to the session's company)";
|
|
11071
|
+
readonly hidden: false;
|
|
11072
|
+
}, {
|
|
11073
|
+
readonly flags: "--dry-run";
|
|
11074
|
+
readonly description: "Print the decision without binding";
|
|
11075
|
+
readonly hidden: false;
|
|
11076
|
+
}, {
|
|
11077
|
+
readonly flags: "--json";
|
|
11078
|
+
readonly description: "Print machine-readable JSON";
|
|
11079
|
+
readonly hidden: false;
|
|
11080
|
+
}];
|
|
11081
|
+
readonly subcommands: readonly [];
|
|
10775
11082
|
}, {
|
|
10776
11083
|
readonly name: "organize";
|
|
10777
11084
|
readonly description: "List or submit one-time project/task decisions (US-007B / US-005B)";
|
|
@@ -17180,6 +17487,31 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
17180
17487
|
}];
|
|
17181
17488
|
readonly subcommands: readonly [];
|
|
17182
17489
|
}];
|
|
17490
|
+
}, {
|
|
17491
|
+
readonly name: "list";
|
|
17492
|
+
readonly description: "List deploy apps in your company, optionally filtered by name or subdomain";
|
|
17493
|
+
readonly aliases: readonly [];
|
|
17494
|
+
readonly hidden: false;
|
|
17495
|
+
readonly helpOption: true;
|
|
17496
|
+
readonly helpCommand: false;
|
|
17497
|
+
readonly usage: "[options] [query]";
|
|
17498
|
+
readonly helpText: readonly [];
|
|
17499
|
+
readonly arguments: readonly [{
|
|
17500
|
+
readonly name: "query";
|
|
17501
|
+
readonly required: false;
|
|
17502
|
+
readonly variadic: false;
|
|
17503
|
+
readonly description: "";
|
|
17504
|
+
}];
|
|
17505
|
+
readonly options: readonly [{
|
|
17506
|
+
readonly flags: "--company <slug>";
|
|
17507
|
+
readonly description: "use this company instead of the active company";
|
|
17508
|
+
readonly hidden: false;
|
|
17509
|
+
}, {
|
|
17510
|
+
readonly flags: "--json";
|
|
17511
|
+
readonly description: "print the matching apps as JSON";
|
|
17512
|
+
readonly hidden: false;
|
|
17513
|
+
}];
|
|
17514
|
+
readonly subcommands: readonly [];
|
|
17183
17515
|
}];
|
|
17184
17516
|
}, {
|
|
17185
17517
|
readonly name: "staff";
|