cli-jaw 2.17.50 → 2.17.51

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.
@@ -1 +1 @@
1
- {"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../src/slack/quote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../src/slack/quote.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cli-jaw",
3
- "version": "2.17.50",
3
+ "version": "2.17.51",
4
4
  "description": "Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -19,11 +19,62 @@ fi
19
19
 
20
20
  PREVIEW_VERSION="$(git show "$PREVIEW_SHA:package.json" \
21
21
  | node -e 'const fs=require("node:fs"); process.stdout.write(JSON.parse(fs.readFileSync(0,"utf8")).version)')"
22
- if [[ ! "$PREVIEW_VERSION" =~ ^([0-9]+\.[0-9]+\.[0-9]+)-preview\.[0-9]+$ ]]; then
23
- echo "ERROR: preview version must match X.Y.Z-preview.TIMESTAMP; got $PREVIEW_VERSION" >&2
24
- exit 1
22
+
23
+ # The version alone cannot decide what to do here. This script writes to the
24
+ # remote in the middle of its own run: it lease-pushes preview to the stable bump
25
+ # and only then waits for CI before touching main. When that wait gave up,
26
+ # preview already carried X.Y.Z while main sat at its parent, and a re-run was
27
+ # refused by the prerelease check that used to live on this line, so the release
28
+ # was finished by hand. Loosening that check alone would be worse: the run would
29
+ # fall into npm version --allow-same-version below and lease-push a SECOND commit
30
+ # for a version CI had already certified. Classify the situation instead; the
31
+ # rules and their fixtures live in scripts/promotion-state.mjs.
32
+ MAIN_IS_ANCESTOR=false
33
+ if git merge-base --is-ancestor refs/remotes/origin/main "$PREVIEW_SHA" 2>/dev/null; then
34
+ MAIN_IS_ANCESTOR=true
25
35
  fi
26
- STABLE_VERSION="${BASH_REMATCH[1]}"
36
+ PREVIEW_PARENT_VERSION="$(git show "$PREVIEW_SHA^:package.json" 2>/dev/null \
37
+ | node -e 'let s="";process.stdin.on("data",d=>s+=d).on("end",()=>{try{process.stdout.write(JSON.parse(s).version)}catch{process.stdout.write("")}})' || true)"
38
+ PREVIEW_SUBJECT="$(git log -1 --format=%s "$PREVIEW_SHA")"
39
+ PREVIEW_DIFF="$(git diff --name-only "$PREVIEW_SHA^" "$PREVIEW_SHA" 2>/dev/null || true)"
40
+ MAIN_HEAD_SHA="$(git rev-parse refs/remotes/origin/main^{commit})"
41
+ PROMOTION_STATE_LINE="$(
42
+ node -e '
43
+ // node -e puts the FIRST user argument at argv[1]; there is no script path
44
+ // to skip, so slicing at 2 silently drops previewVersion and hands the SHA
45
+ // to the classifier as a version.
46
+ const v = process.argv.slice(1);
47
+ process.stdout.write(JSON.stringify({
48
+ previewVersion: v[0], previewSha: v[1], mainSha: v[2],
49
+ mainIsAncestor: v[3] === "true", parentVersion: v[4], previewSubject: v[5],
50
+ changedFiles: v[6] ? v[6].split(String.fromCharCode(10)).filter(Boolean) : [],
51
+ }));
52
+ ' \
53
+ "$PREVIEW_VERSION" "$PREVIEW_SHA" "$MAIN_HEAD_SHA" \
54
+ "$MAIN_IS_ANCESTOR" "$PREVIEW_PARENT_VERSION" "$PREVIEW_SUBJECT" "$PREVIEW_DIFF" \
55
+ | node scripts/promotion-state.mjs
56
+ )"
57
+ PROMOTION_STATE="${PROMOTION_STATE_LINE%% *}"
58
+ STABLE_VERSION="$(echo "$PROMOTION_STATE_LINE" | awk '{print $2}')"
59
+ RESUME=false
60
+ case "$PROMOTION_STATE" in
61
+ prerelease)
62
+ ;;
63
+ resume)
64
+ # preview already holds the bump this script writes and main has not taken
65
+ # it. Skip the mint and the lease push; run the certification tail only.
66
+ RESUME=true
67
+ echo "NOTE: resuming an unfinished promotion of v$STABLE_VERSION at $PREVIEW_SHA" >&2
68
+ ;;
69
+ already_on_main)
70
+ echo "Nothing to do: main and preview are both v$STABLE_VERSION at $PREVIEW_SHA." >&2
71
+ exit 0
72
+ ;;
73
+ *)
74
+ echo "ERROR: ${PROMOTION_STATE_LINE#* }" >&2
75
+ exit 1
76
+ ;;
77
+ esac
27
78
 
28
79
  TESTS_URL="$(gh run list \
29
80
  --workflow test.yml \
@@ -66,63 +117,96 @@ cleanup() {
66
117
  exit "$status"
67
118
  }
68
119
  trap cleanup EXIT
69
- prepare_promotion_checkout "$REMOTE_URL" "$PREVIEW_SHA" preview "$WORKTREE"
70
-
71
- (
72
- cd "$WORKTREE"
73
- npm ci --ignore-scripts
74
- npm version "$STABLE_VERSION" --no-git-tag-version --allow-same-version
75
- node scripts/sync-electron-version.cjs
76
- npm run gate:all
77
- node scripts/require-release-evidence.mjs --accept-ci-evidence
78
- git add package.json package-lock.json electron/package.json electron/package-lock.json
79
- git commit -m "chore: promote v$STABLE_VERSION"
80
- assert_promotion_checkout_ready_to_push "$WORKTREE" "$PREVIEW_SHA" preview
81
- )
82
- PROMOTION_COMMIT="$(git -C "$WORKTREE" rev-parse HEAD)"
83
-
84
- # Fast-forward preview first. preview is where the release CI that publish.yml
85
- # gates on actually runs, so the bump has to be certified there before main can
86
- # take it. --force-with-lease pins the push to the SHA this run certified: if
87
- # preview moved while the gates ran, the push is refused instead of silently
88
- # discarding whatever landed.
89
- #
90
- # Every push here runs from the promotion checkout. The promotion commit exists
91
- # only in that clone, so pushing from the main repository fails with
92
- # "fatal: bad object" -- the object it is asked to send was never written here.
93
- git -C "$WORKTREE" push --force-with-lease="refs/heads/preview:$PREVIEW_SHA" \
94
- origin "$PROMOTION_COMMIT:refs/heads/preview"
95
- echo "preview fast-forwarded to the promotion commit: $PROMOTION_COMMIT"
120
+ if [ "$RESUME" = true ]; then
121
+ # Resume takes the commit preview already holds. Minting again would produce a
122
+ # second commit for the same version, and lease-pushing it would replace a tree
123
+ # CI had already certified, so neither the bump nor the preview push happens on
124
+ # this path. The clone exists only so the main push below has the object: a push
125
+ # from this repository would fail with "fatal: bad object".
126
+ PROMOTION_COMMIT="$PREVIEW_SHA"
127
+ git clone --quiet --no-checkout "$REMOTE_URL" "$WORKTREE"
128
+ git -C "$WORKTREE" fetch --quiet origin "$PROMOTION_COMMIT"
129
+ echo "resuming at the commit preview already carries: $PROMOTION_COMMIT"
130
+ else
131
+ prepare_promotion_checkout "$REMOTE_URL" "$PREVIEW_SHA" preview "$WORKTREE"
132
+
133
+ (
134
+ cd "$WORKTREE"
135
+ npm ci --ignore-scripts
136
+ npm version "$STABLE_VERSION" --no-git-tag-version --allow-same-version
137
+ node scripts/sync-electron-version.cjs
138
+ npm run gate:all
139
+ node scripts/require-release-evidence.mjs --accept-ci-evidence
140
+ git add package.json package-lock.json electron/package.json electron/package-lock.json
141
+ git commit -m "chore: promote v$STABLE_VERSION"
142
+ assert_promotion_checkout_ready_to_push "$WORKTREE" "$PREVIEW_SHA" preview
143
+ )
144
+ PROMOTION_COMMIT="$(git -C "$WORKTREE" rev-parse HEAD)"
145
+
146
+ # Fast-forward preview first. preview is where the release CI that publish.yml
147
+ # gates on actually runs, so the bump has to be certified there before main can
148
+ # take it. --force-with-lease pins the push to the SHA this run certified: if
149
+ # preview moved while the gates ran, the push is refused instead of silently
150
+ # discarding whatever landed.
151
+ #
152
+ # Every push here runs from the promotion checkout. The promotion commit exists
153
+ # only in that clone, so pushing from the main repository fails with
154
+ # "fatal: bad object" -- the object it is asked to send was never written here.
155
+ git -C "$WORKTREE" push --force-with-lease="refs/heads/preview:$PREVIEW_SHA" \
156
+ origin "$PROMOTION_COMMIT:refs/heads/preview"
157
+ echo "preview fast-forwarded to the promotion commit: $PROMOTION_COMMIT"
158
+ fi
96
159
 
97
160
  wait_for_run() {
98
- local workflow="$1" label="$2" branch="$3" sha="$4" url="" failed=""
99
- local deadline=$((SECONDS + 1200))
100
- while [ "$SECONDS" -lt "$deadline" ]; do
161
+ # $5 is the event filter. Tests must stay push-only: publish.yml accepts a
162
+ # certifying Tests run only from a preview/main push, so waiting on any other
163
+ # event here would wait for evidence the gate then rejects. The platform
164
+ # workflow is the opposite: publish.yml and require-release-evidence.mjs both
165
+ # look it up by commit with no event filter, so insisting on push here made a
166
+ # legal re-dispatch unable to finish a promotion it had already satisfied.
167
+ local workflow="$1" label="$2" branch="$3" sha="$4" event="${5:-push}"
168
+ local url="" states="" live="" failed=""
169
+ local -a event_filter=()
170
+ [ -n "$event" ] && event_filter=(--event "$event")
171
+
172
+ # The budget bounds DISCOVERY, not execution. It used to bound both at 1200s,
173
+ # which is shorter than the 1500s the windows-wsl job alone is allowed, so a
174
+ # slow-but-legal platform run could exhaust it while still running. Once a run
175
+ # for this SHA exists, it carries its own timeout-minutes and that is the bound
176
+ # we respect; a run that never appears is what this deadline is for.
177
+ local discovery_deadline=$((SECONDS + 1200))
178
+ while :; do
101
179
  url="$(gh run list \
102
180
  --workflow "$workflow" \
103
181
  --branch "$branch" \
104
182
  --commit "$sha" \
105
- --event push \
183
+ "${event_filter[@]}" \
106
184
  --status success \
107
185
  --limit 1 --json url --jq '.[0].url // ""')"
108
186
  [ -n "$url" ] && { echo "$label certified by: $url" >&2; return 0; }
109
- failed="$(gh run list \
187
+
188
+ # One listing, newest first, so liveness and failure are judged against the
189
+ # same snapshot. Both workflows set cancel-in-progress, so a superseded run
190
+ # leaves a cancelled conclusion next to a live replacement; reading only the
191
+ # newest completed row called the SHA dead while it was still being tested.
192
+ states="$(gh run list \
110
193
  --workflow "$workflow" \
111
194
  --branch "$branch" \
112
195
  --commit "$sha" \
113
- --event push \
114
- --status completed \
115
- --limit 1 --json conclusion --jq '.[0].conclusion // ""')"
116
- case "$failed" in
117
- failure|cancelled|timed_out|startup_failure|action_required)
118
- echo "ERROR: $branch $label completed with $failed" >&2
119
- return 1
120
- ;;
121
- esac
196
+ "${event_filter[@]}" \
197
+ --limit 20 --json status,conclusion --jq '.[] | "\(.status) \(.conclusion // "")"')"
198
+ live="$(printf '%s\n' "$states" | grep -c -E '^(queued|in_progress|waiting|requested|pending)' || true)"
199
+ failed="$(printf '%s\n' "$states" | grep -m1 -E '^completed (failure|cancelled|timed_out|startup_failure|action_required)$' || true)"
200
+ if [ -n "$failed" ] && [ "${live:-0}" -eq 0 ]; then
201
+ echo "ERROR: $branch $label completed with ${failed#completed }" >&2
202
+ return 1
203
+ fi
204
+ if [ "${live:-0}" -eq 0 ] && [ "$SECONDS" -ge "$discovery_deadline" ]; then
205
+ echo "ERROR: no $branch $label run appeared for $sha within 1200s" >&2
206
+ return 1
207
+ fi
122
208
  sleep 10
123
209
  done
124
- echo "ERROR: timed out waiting for successful $branch $label" >&2
125
- return 1
126
210
  }
127
211
 
128
212
  # postinstall-platform.yml carries paths: filters, so it never runs for a SHA
@@ -139,9 +223,23 @@ if [ -n "$PREVIOUS_TAG" ]; then
139
223
  [ "$DETECTOR_STATUS" -eq 1 ] && PLATFORM_REQUIRED=true
140
224
  fi
141
225
 
142
- wait_for_run test.yml "Tests" preview "$PROMOTION_COMMIT"
226
+ # Printed on every path that gives up after preview already moved, so the
227
+ # operator resumes instead of reconstructing the tail by hand. The script is
228
+ # resumable now: re-running it classifies this exact state and skips the bump.
229
+ promote_resume_hint() {
230
+ echo "" >&2
231
+ echo "preview already carries v$STABLE_VERSION at $PROMOTION_COMMIT; main was not moved." >&2
232
+ echo "Resume once the required runs are green (the bump is not repeated):" >&2
233
+ echo " bash scripts/promote-to-main.sh" >&2
234
+ }
235
+
236
+ wait_for_run test.yml "Tests" preview "$PROMOTION_COMMIT" push || { promote_resume_hint; exit 1; }
143
237
  if [ "$PLATFORM_REQUIRED" = true ]; then
144
- wait_for_run postinstall-platform.yml "Postinstall Platform Checks" preview "$PROMOTION_COMMIT"
238
+ # No event filter: publish.yml and require-release-evidence.mjs both accept any
239
+ # successful platform run for the commit, so promote must not be stricter than
240
+ # the gate it is feeding.
241
+ wait_for_run postinstall-platform.yml "Postinstall Platform Checks" preview "$PROMOTION_COMMIT" "" \
242
+ || { promote_resume_hint; exit 1; }
145
243
  fi
146
244
 
147
245
  # ─── Fast-forward main onto the certified commit ────────────────────────────
@@ -0,0 +1,133 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * promotion-state.mjs — decide what promote-to-main.sh is looking at.
4
+ *
5
+ * WHY THIS EXISTS. `promote-to-main.sh` does three things in order: mint the
6
+ * stable bump, force-with-lease `preview` to it, then fast-forward `main`. The
7
+ * middle step is a remote write, and everything after it can still fail — the
8
+ * script waits for CI before touching `main`. When that wait gave up, `preview`
9
+ * was already carrying `X.Y.Z` while `main` sat at its parent, and re-running
10
+ * the script was refused at its own prerelease check, because `X.Y.Z` is not
11
+ * `X.Y.Z-preview.TIMESTAMP`. The only remaining path was hand recovery.
12
+ *
13
+ * Loosening that regex alone would be worse than the bug: the script would walk
14
+ * into `npm version --allow-same-version`, mint a SECOND commit for the same
15
+ * version, and lease-push it over a commit CI had already certified. So the
16
+ * decision is not "is this a prerelease" but "which of four situations is this",
17
+ * and it is a pure function so the contract test can assert behaviour on
18
+ * fixtures instead of grepping the shell script for phrases.
19
+ *
20
+ * States:
21
+ * prerelease preview is X.Y.Z-preview.N -> mint and push, the normal path
22
+ * already_on_main preview is X.Y.Z and main is the same commit -> nothing to do
23
+ * resume preview is X.Y.Z and carries a promotion commit main has not
24
+ * taken yet -> skip the bump, run the certification tail only
25
+ * refuse anything else -> stop, because we cannot name what happened
26
+ *
27
+ * `resume` is deliberately narrow. It is not "preview looks stable"; it is a
28
+ * fingerprint of a promotion this script itself left behind: main is an ancestor,
29
+ * the parent commit is the matching prerelease, the subject is the one we write,
30
+ * and the diff against that parent touches nothing but the four version
31
+ * manifests. A stable `preview` that fails any clause is `refuse`, not resume,
32
+ * because a tree we cannot identify must never be fast-forwarded onto main.
33
+ */
34
+
35
+ /** The only files a promotion commit is allowed to change. */
36
+ export const VERSION_MANIFESTS = Object.freeze([
37
+ 'package.json',
38
+ 'package-lock.json',
39
+ 'electron/package.json',
40
+ 'electron/package-lock.json',
41
+ ]);
42
+
43
+ const PRERELEASE_RE = /^(\d+\.\d+\.\d+)-preview\.\d+$/;
44
+ const STABLE_RE = /^\d+\.\d+\.\d+$/;
45
+
46
+ /**
47
+ * @param {{
48
+ * previewVersion?: string,
49
+ * previewSha?: string,
50
+ * mainSha?: string,
51
+ * mainIsAncestor?: boolean,
52
+ * parentVersion?: string,
53
+ * previewSubject?: string,
54
+ * changedFiles?: string[],
55
+ * }} input
56
+ */
57
+ export function classifyPromotionState(input = {}) {
58
+ const previewVersion = String(input.previewVersion ?? '').trim();
59
+ const previewSha = String(input.previewSha ?? '').trim();
60
+ const mainSha = String(input.mainSha ?? '').trim();
61
+
62
+ const prerelease = PRERELEASE_RE.exec(previewVersion);
63
+ if (prerelease) {
64
+ return { state: 'prerelease', stableVersion: prerelease[1] };
65
+ }
66
+
67
+ if (!STABLE_RE.test(previewVersion)) {
68
+ return {
69
+ state: 'refuse',
70
+ reason: `preview version must match X.Y.Z-preview.TIMESTAMP or a promotable X.Y.Z; got ${previewVersion || '(empty)'}`,
71
+ };
72
+ }
73
+
74
+ // Equality first: an already-finished promotion is a normal outcome and must
75
+ // not be reported as a broken state just because the operator ran again.
76
+ if (previewSha.length > 0 && previewSha === mainSha) {
77
+ return { state: 'already_on_main', stableVersion: previewVersion };
78
+ }
79
+
80
+ if (input.mainIsAncestor !== true) {
81
+ return {
82
+ state: 'refuse',
83
+ reason: 'origin/main is not an ancestor of origin/preview, so preview was rewritten rather than promoted',
84
+ };
85
+ }
86
+
87
+ const expectedSubject = `chore: promote v${previewVersion}`;
88
+ if (String(input.previewSubject ?? '').trim() !== expectedSubject) {
89
+ return {
90
+ state: 'refuse',
91
+ reason: `preview head is not a promotion commit: expected subject "${expectedSubject}"`,
92
+ };
93
+ }
94
+
95
+ const parentVersion = String(input.parentVersion ?? '').trim();
96
+ const parentPre = PRERELEASE_RE.exec(parentVersion);
97
+ if (!parentPre || parentPre[1] !== previewVersion) {
98
+ return {
99
+ state: 'refuse',
100
+ reason: `preview parent must be the matching prerelease ${previewVersion}-preview.TIMESTAMP; got ${parentVersion || '(empty)'}`,
101
+ };
102
+ }
103
+
104
+ const changed = (input.changedFiles ?? []).map((f) => String(f).replace(/\\/g, '/').trim()).filter(Boolean);
105
+ if (changed.length === 0) {
106
+ return { state: 'refuse', reason: 'promotion commit changed nothing, so it is not the bump this script writes' };
107
+ }
108
+ const stray = changed.filter((f) => !VERSION_MANIFESTS.includes(f));
109
+ if (stray.length > 0) {
110
+ return {
111
+ state: 'refuse',
112
+ reason: `promotion commit touches more than the version manifests: ${stray.join(', ')}`,
113
+ };
114
+ }
115
+
116
+ return { state: 'resume', stableVersion: previewVersion };
117
+ }
118
+
119
+ // CLI: JSON on stdin, one line out as "<state> <stableVersion> <reason...>".
120
+ // The shell reads field one and ignores the rest unless it needs to print why.
121
+ if (process.argv[1] && import.meta.url === new URL(`file://${process.argv[1].replace(/\\/g, '/')}`).href) {
122
+ const chunks = [];
123
+ for await (const chunk of process.stdin) chunks.push(chunk);
124
+ let parsed;
125
+ try {
126
+ parsed = JSON.parse(Buffer.concat(chunks).toString('utf8') || '{}');
127
+ } catch (err) {
128
+ process.stdout.write(`refuse - could not parse promotion state input: ${err.message}\n`);
129
+ process.exit(0);
130
+ }
131
+ const result = classifyPromotionState(parsed);
132
+ process.stdout.write(`${result.state} ${result.stableVersion ?? '-'} ${result.reason ?? ''}\n`.replace(/\s+$/, '') + '\n');
133
+ }