@jigging/jig 0.1.0-alpha.24 → 0.1.0-alpha.26

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/README.md CHANGED
@@ -9,10 +9,14 @@ combine specialists, inspect their results, and stop owned work.
9
9
  npm install --global @jigging/jig@alpha
10
10
  ```
11
11
 
12
- The developer alpha requires Linux x86_64/glibc, Bubblewrap, and a systemd user
13
- manager with delegated cgroup v2 controllers. See the
12
+ The developer alpha supports qualified Linux x86_64 and selected native Intel
13
+ and Apple Silicon Macs. Linux needs Bubblewrap and a systemd user manager with
14
+ delegated cgroup v2 controllers. Mac needs no administrator setup or `sudo`;
15
+ its supervised resource limits can briefly overshoot. See the
14
16
  [complete supported-host requirements](https://jig.md/guide/#supported-host).
15
17
  npm installs Jig's exact Bun runtime dependency alongside the package.
18
+ Linux ARM64 is unsupported. npm's independent OS and CPU allowlists may permit
19
+ installation there, but the launcher refuses execution before selecting a runtime.
16
20
 
17
21
  ## Get started
18
22
 
@@ -18,14 +18,16 @@ not bundled in the archive.
18
18
  EXTERNAL RUNTIME DEPENDENCY — NOT INCLUDED
19
19
  ------------------------------------------
20
20
 
21
- `@jigging/jig` declares an exact dependency on
22
- `@oven/bun-linux-x64-baseline@1.3.3`. Package managers obtain that package
23
- separately; its bytes are not included or bundled in the Jig archive.
21
+ `@jigging/jig` declares exact, platform-selected optional dependencies on
22
+ `@oven/bun-linux-x64-baseline@1.3.3` and
23
+ `@oven/bun-darwin-x64-baseline@1.4.2`. Package managers obtain the matching
24
+ package separately; its bytes are not included or bundled in the Jig archive.
24
25
 
25
26
  Bun and the third-party components contained in Bun are governed by their
26
27
  respective terms:
27
28
 
28
29
  https://github.com/oven-sh/bun/blob/bun-v1.3.3/LICENSE.md
30
+ https://github.com/oven-sh/bun/blob/bun-v1.4.2/LICENSE.md
29
31
 
30
32
  yaml 2.9.0
31
33
  ----------
@@ -88,7 +90,8 @@ adapter exit. It also registers pending turns before asynchronous prompt setup
88
90
  so immediate cancellation waits for and interrupts the correct native turn.
89
91
  The adapter waits for the matching native turn-start notification before
90
92
  exposing the turn as interruptible; a start reply alone does not establish it.
91
- See `packages/jig/patches/codex-acp@1.8.0.patch` and its companion
93
+ It also accepts Jig’s one-use in-memory ChatGPT token bootstrap so subscription
94
+ credentials need no sandbox-readable file. See `packages/jig/patches/codex-acp@1.8.0.patch` and its companion
92
95
  note for the correction and removal condition.
93
96
 
94
97
  Copyright 2025 JetBrains s.r.o.
@@ -120,6 +123,7 @@ runtime-support files.
120
123
 
121
124
  Jig carries a version-pinned dependency patch preserving failed RPC prompts,
122
125
  assistant errors, cancellation, and token limits as distinct ACP results.
126
+ It also invokes Jig's private launcher with the verified Bun interpreter.
123
127
  The patch is maintained at `packages/jig/patches/pi-acp@0.0.33.patch` in source;
124
128
  the installed bundle includes that correction.
125
129
 
@@ -289,11 +293,14 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
289
293
  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
290
294
  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
291
295
 
292
- Unicode 15.1.0 CaseFolding data
296
+ Unicode 15.1.0 case folding and normalization data
293
297
  --------------------------------
294
298
 
295
299
  `src/package/case-fold-15.1.ts` is generated from the C and F mappings in
296
- Unicode 15.1.0 `CaseFolding.txt`. Unicode data files are licensed under the
300
+ Unicode 15.1.0 `CaseFolding.txt`. `src/package/normalization-data-15.1.ts`
301
+ is generated from `UnicodeData.txt` and `DerivedNormalizationProps.txt`;
302
+ the normalization test fixture retains vectors from `NormalizationTest.txt`.
303
+ Unicode data files are licensed under the
297
304
  Unicode License v3 unless a file identifies different terms.
298
305
 
299
306
  UNICODE LICENSE V3
package/bin/jig CHANGED
@@ -8,28 +8,63 @@ fail() {
8
8
  else
9
9
  printf '%s\n' 'Error: Jig could not start' >&2
10
10
  fi
11
- printf '%s\n' '' ' The installed Jig runtime is unavailable.' '' \
12
- ' Next step: Restore the complete Jig installation.' \
13
- ' See https://jig.md/guide/#install.' '' \
11
+ printf '%s\n' '' " ${1:-The installed Jig runtime is unavailable.}" '' \
12
+ " Next step: ${2:-Restore the complete Jig installation.}" \
13
+ " See ${3:-https://jig.md/guide/#install.}" '' \
14
14
  ' Diagnostic code: JIG_COMMAND_UNAVAILABLE' >&2
15
15
  exit 2
16
16
  }
17
17
 
18
+ unsupported_host() {
19
+ fail 'This operating system and CPU combination is not supported.' \
20
+ 'Use qualified Linux x86_64 or an Intel or Apple Silicon Mac.' \
21
+ 'https://jig.md/guide/#supported-host.'
22
+ }
23
+
18
24
  case $0 in
19
25
  *'
20
26
  '*) fail ;;
21
27
  esac
22
28
 
23
29
  if [ -x /usr/bin/readlink ]; then
24
- readlink=/usr/bin/readlink
30
+ readlink_command=/usr/bin/readlink
25
31
  elif [ -x /bin/readlink ]; then
26
- readlink=/bin/readlink
32
+ readlink_command=/bin/readlink
27
33
  elif [ -x /run/current-system/sw/bin/readlink ]; then
28
- readlink=/run/current-system/sw/bin/readlink
34
+ readlink_command=/run/current-system/sw/bin/readlink
35
+ else
36
+ fail
37
+ fi
38
+
39
+ if [ -x /usr/bin/uname ]; then
40
+ uname_command=/usr/bin/uname
41
+ elif [ -x /bin/uname ]; then
42
+ uname_command=/bin/uname
29
43
  else
30
44
  fail
31
45
  fi
32
- launcher=$($readlink -f -- "$0") || fail
46
+
47
+ resolve_file() {
48
+ resolved=$1
49
+ links=0
50
+ while [ -L "$resolved" ]; do
51
+ links=$((links + 1))
52
+ [ "$links" -le 16 ] || return 1
53
+ target=$($readlink_command "$resolved") || return 1
54
+ case $target in
55
+ /*) resolved=$target ;;
56
+ *) resolved=${resolved%/*}/$target ;;
57
+ esac
58
+ done
59
+ resolved_directory=$(CDPATH= cd -- "${resolved%/*}" && pwd -P) || return 1
60
+ printf '%s/%s\n' "$resolved_directory" "${resolved##*/}"
61
+ }
62
+
63
+ case $0 in
64
+ /*) launcher=$0 ;;
65
+ *) launcher=$PWD/$0 ;;
66
+ esac
67
+ launcher=$(resolve_file "$launcher") || fail
33
68
  [ "${launcher##*/}" = jig ] || fail
34
69
  bin=${launcher%/*}
35
70
  [ "${bin##*/}" = bin ] || fail
@@ -37,8 +72,22 @@ release=${bin%/*}
37
72
  entry=$release/libexec/installed-cli.js
38
73
  [ -f "$entry" ] || fail
39
74
 
40
- nested=$release/node_modules/@oven/bun-linux-x64-baseline/bin/bun
41
- hoisted=$release/../../@oven/bun-linux-x64-baseline/bin/bun
75
+ case $($uname_command -s 2>/dev/null) in
76
+ Darwin)
77
+ case $($uname_command -m 2>/dev/null) in
78
+ x86_64) runtime_package=bun-darwin-x64-baseline ;;
79
+ arm64) runtime_package=bun-darwin-aarch64 ;;
80
+ *) unsupported_host ;;
81
+ esac ;;
82
+ Linux)
83
+ case $($uname_command -m 2>/dev/null) in
84
+ x86_64) runtime_package=bun-linux-x64-baseline ;;
85
+ *) unsupported_host ;;
86
+ esac ;;
87
+ *) unsupported_host ;;
88
+ esac
89
+ nested=$release/node_modules/@oven/$runtime_package/bin/bun
90
+ hoisted=$release/../../@oven/$runtime_package/bin/bun
42
91
  if [ -f "$nested" ] && [ -x "$nested" ]; then
43
92
  runtime=$nested
44
93
  elif [ -f "$hoisted" ] && [ -x "$hoisted" ]; then
@@ -46,7 +95,7 @@ elif [ -f "$hoisted" ] && [ -x "$hoisted" ]; then
46
95
  else
47
96
  fail
48
97
  fi
49
- runtime=$($readlink -f -- "$runtime") || fail
98
+ runtime=$(resolve_file "$runtime") || fail
50
99
 
51
100
  unset BUN_BE_BUN BUN_OPTIONS NODE_OPTIONS
52
101
  exec "$runtime" --no-env-file --no-install --config=/dev/null "$entry" "$@"