experiments in a post-browser web
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: add shared iOS build cache to avoid Rust rebuilds across agent workspaces

+456 -865
+12 -1
.agent-task.md
··· 44 44 - **CRITICAL: Use YOUR workspace path for all file operations** - When using Read/Edit tools, files must be in YOUR workspace directory (check with `pwd`), NOT the main repo. Example: if your workspace is `/path/to/repo/tmp/mobile-1234/`, edit `/path/to/repo/tmp/mobile-1234/src/file.js`, NOT `/path/to/repo/src/file.js`. 45 45 - **Never use hardcoded paths to ~/misc/mpeek or similar** - Always resolve paths relative to your current working directory. 46 46 47 + ### Policy: Process Safety (CRITICAL) 48 + 49 + **NEVER interfere with processes outside your workspace.** 50 + 51 + - **Do NOT kill, stop, or signal processes** you didn't start (no `kill`, `pkill`, `killall` on external processes) 52 + - **Do NOT modify system state** outside your workspace (no writing to /tmp shared files, no global npm installs, etc.) 53 + - **Only manage processes YOU started** within YOUR workspace session 54 + - **If external processes block you, REPORT IT** - don't try to fix it yourself 55 + 56 + Violations of this policy compromise other agents and the coordinator's work. If you encounter a port conflict or blocking process, use `agent-status "blocked" "description"` and wait for coordinator assistance. 57 + 47 58 ### Policy: Commands (CRITICAL) 48 59 49 60 **STOP. READ THIS BEFORE RUNNING ANY COMMAND.** ··· 160 171 161 172 --- 162 173 163 - ## Your Taskyarn start shows electron not found so we need to test and stabilize things after the big electron/node upgrade 174 + ## Your Taskshared iOS build artifacts in ./tmp to avoid full rebuilds per workspace (one mobile task at a time)
+209 -850
backend/server/yarn.lock
··· 1 - # This file is generated by running "yarn install" inside your project. 2 - # Manual changes might be lost - proceed with caution! 1 + # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 + # yarn lockfile v1 3 3 4 - __metadata: 5 - version: 8 6 - cacheKey: 10c0 7 4 8 - "@hono/node-server@npm:^1.19.6": 9 - version: 1.19.9 10 - resolution: "@hono/node-server@npm:1.19.9" 11 - peerDependencies: 12 - hono: ^4 13 - checksum: 10c0/de18c06b6b266dc45fe55fb82053bd1da8fe84939c49b6fbab4d2448b679d54ab5affbf8b15de9bead26f29b1755284d770aafb5ad14a8e4b3cfb4f79334554e 14 - languageName: node 15 - linkType: hard 5 + "@hono/node-server@^1.19.6": 6 + version "1.19.9" 7 + resolved "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz" 8 + integrity sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw== 16 9 17 - "@isaacs/balanced-match@npm:^4.0.1": 18 - version: 4.0.1 19 - resolution: "@isaacs/balanced-match@npm:4.0.1" 20 - checksum: 10c0/7da011805b259ec5c955f01cee903da72ad97c5e6f01ca96197267d3f33103d5b2f8a1af192140f3aa64526c593c8d098ae366c2b11f7f17645d12387c2fd420 21 - languageName: node 22 - linkType: hard 10 + base64-js@^1.3.1: 11 + version "1.5.1" 12 + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" 13 + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 23 14 24 - "@isaacs/brace-expansion@npm:^5.0.0": 25 - version: 5.0.0 26 - resolution: "@isaacs/brace-expansion@npm:5.0.0" 15 + better-sqlite3@^12.5.0: 16 + version "12.6.2" 17 + resolved "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.6.2.tgz" 18 + integrity sha512-8VYKM3MjCa9WcaSAI3hzwhmyHVlH8tiGFwf0RlTsZPWJ1I5MkzjiudCo4KC4DxOaL/53A5B1sI/IbldNFDbsKA== 27 19 dependencies: 28 - "@isaacs/balanced-match": "npm:^4.0.1" 29 - checksum: 10c0/b4d4812f4be53afc2c5b6c545001ff7a4659af68d4484804e9d514e183d20269bb81def8682c01a22b17c4d6aed14292c8494f7d2ac664e547101c1a905aa977 30 - languageName: node 31 - linkType: hard 20 + bindings "^1.5.0" 21 + prebuild-install "^7.1.1" 32 22 33 - "@isaacs/fs-minipass@npm:^4.0.0": 34 - version: 4.0.1 35 - resolution: "@isaacs/fs-minipass@npm:4.0.1" 23 + bindings@^1.5.0: 24 + version "1.5.0" 25 + resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" 26 + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== 36 27 dependencies: 37 - minipass: "npm:^7.0.4" 38 - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 39 - languageName: node 40 - linkType: hard 28 + file-uri-to-path "1.0.0" 41 29 42 - "@npmcli/agent@npm:^4.0.0": 43 - version: 4.0.0 44 - resolution: "@npmcli/agent@npm:4.0.0" 30 + bl@^4.0.3: 31 + version "4.1.0" 32 + resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" 33 + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== 45 34 dependencies: 46 - agent-base: "npm:^7.1.0" 47 - http-proxy-agent: "npm:^7.0.0" 48 - https-proxy-agent: "npm:^7.0.1" 49 - lru-cache: "npm:^11.2.1" 50 - socks-proxy-agent: "npm:^8.0.3" 51 - checksum: 10c0/f7b5ce0f3dd42c3f8c6546e8433573d8049f67ef11ec22aa4704bc41483122f68bf97752e06302c455ead667af5cb753e6a09bff06632bc465c1cfd4c4b75a53 52 - languageName: node 53 - linkType: hard 35 + buffer "^5.5.0" 36 + inherits "^2.0.4" 37 + readable-stream "^3.4.0" 54 38 55 - "@npmcli/fs@npm:^5.0.0": 56 - version: 5.0.0 57 - resolution: "@npmcli/fs@npm:5.0.0" 39 + buffer@^5.5.0: 40 + version "5.7.1" 41 + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" 42 + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== 58 43 dependencies: 59 - semver: "npm:^7.3.5" 60 - checksum: 10c0/26e376d780f60ff16e874a0ac9bc3399186846baae0b6e1352286385ac134d900cc5dafaded77f38d77f86898fc923ae1cee9d7399f0275b1aa24878915d722b 61 - languageName: node 62 - linkType: hard 44 + base64-js "^1.3.1" 45 + ieee754 "^1.1.13" 63 46 64 - "abbrev@npm:^4.0.0": 65 - version: 4.0.0 66 - resolution: "abbrev@npm:4.0.0" 67 - checksum: 10c0/b4cc16935235e80702fc90192e349e32f8ef0ed151ef506aa78c81a7c455ec18375c4125414b99f84b2e055199d66383e787675f0bcd87da7a4dbd59f9eac1d5 68 - languageName: node 69 - linkType: hard 70 - 71 - "agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": 72 - version: 7.1.4 73 - resolution: "agent-base@npm:7.1.4" 74 - checksum: 10c0/c2c9ab7599692d594b6a161559ada307b7a624fa4c7b03e3afdb5a5e31cd0e53269115b620fcab024c5ac6a6f37fa5eb2e004f076ad30f5f7e6b8b671f7b35fe 75 - languageName: node 76 - linkType: hard 77 - 78 - "base64-js@npm:^1.3.1": 79 - version: 1.5.1 80 - resolution: "base64-js@npm:1.5.1" 81 - checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf 82 - languageName: node 83 - linkType: hard 47 + chownr@^1.1.1: 48 + version "1.1.4" 49 + resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" 50 + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== 84 51 85 - "better-sqlite3@npm:^12.5.0": 86 - version: 12.6.2 87 - resolution: "better-sqlite3@npm:12.6.2" 52 + decompress-response@^6.0.0: 53 + version "6.0.0" 54 + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" 55 + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== 88 56 dependencies: 89 - bindings: "npm:^1.5.0" 90 - node-gyp: "npm:latest" 91 - prebuild-install: "npm:^7.1.1" 92 - checksum: 10c0/a58fb3f7a7f5469ba0b8de0855aa67396ff34f951a6975746e4b21987f530be6a34427d1d4bd5958cf48c67ed7ba1df038ae163d2ee9d944237f6b8112f6640d 93 - languageName: node 94 - linkType: hard 57 + mimic-response "^3.1.0" 95 58 96 - "bindings@npm:^1.5.0": 97 - version: 1.5.0 98 - resolution: "bindings@npm:1.5.0" 99 - dependencies: 100 - file-uri-to-path: "npm:1.0.0" 101 - checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba 102 - languageName: node 103 - linkType: hard 59 + deep-extend@^0.6.0: 60 + version "0.6.0" 61 + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" 62 + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 104 63 105 - "bl@npm:^4.0.3": 106 - version: 4.1.0 107 - resolution: "bl@npm:4.1.0" 108 - dependencies: 109 - buffer: "npm:^5.5.0" 110 - inherits: "npm:^2.0.4" 111 - readable-stream: "npm:^3.4.0" 112 - checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f 113 - languageName: node 114 - linkType: hard 115 - 116 - "buffer@npm:^5.5.0": 117 - version: 5.7.1 118 - resolution: "buffer@npm:5.7.1" 119 - dependencies: 120 - base64-js: "npm:^1.3.1" 121 - ieee754: "npm:^1.1.13" 122 - checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e 123 - languageName: node 124 - linkType: hard 125 - 126 - "cacache@npm:^20.0.1": 127 - version: 20.0.3 128 - resolution: "cacache@npm:20.0.3" 129 - dependencies: 130 - "@npmcli/fs": "npm:^5.0.0" 131 - fs-minipass: "npm:^3.0.0" 132 - glob: "npm:^13.0.0" 133 - lru-cache: "npm:^11.1.0" 134 - minipass: "npm:^7.0.3" 135 - minipass-collect: "npm:^2.0.1" 136 - minipass-flush: "npm:^1.0.5" 137 - minipass-pipeline: "npm:^1.2.4" 138 - p-map: "npm:^7.0.2" 139 - ssri: "npm:^13.0.0" 140 - unique-filename: "npm:^5.0.0" 141 - checksum: 10c0/c7da1ca694d20e8f8aedabd21dc11518f809a7d2b59aa76a1fc655db5a9e62379e465c157ddd2afe34b19230808882288effa6911b2de26a088a6d5645123462 142 - languageName: node 143 - linkType: hard 64 + detect-libc@^2.0.0: 65 + version "2.1.2" 66 + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz" 67 + integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== 144 68 145 - "chownr@npm:^1.1.1": 146 - version: 1.1.4 147 - resolution: "chownr@npm:1.1.4" 148 - checksum: 10c0/ed57952a84cc0c802af900cf7136de643d3aba2eecb59d29344bc2f3f9bf703a301b9d84cdc71f82c3ffc9ccde831b0d92f5b45f91727d6c9da62f23aef9d9db 149 - languageName: node 150 - linkType: hard 151 - 152 - "chownr@npm:^3.0.0": 153 - version: 3.0.0 154 - resolution: "chownr@npm:3.0.0" 155 - checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 156 - languageName: node 157 - linkType: hard 158 - 159 - "debug@npm:4, debug@npm:^4.3.4": 160 - version: 4.4.3 161 - resolution: "debug@npm:4.4.3" 69 + end-of-stream@^1.1.0, end-of-stream@^1.4.1: 70 + version "1.4.5" 71 + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz" 72 + integrity sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== 162 73 dependencies: 163 - ms: "npm:^2.1.3" 164 - peerDependenciesMeta: 165 - supports-color: 166 - optional: true 167 - checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 168 - languageName: node 169 - linkType: hard 74 + once "^1.4.0" 170 75 171 - "decompress-response@npm:^6.0.0": 172 - version: 6.0.0 173 - resolution: "decompress-response@npm:6.0.0" 174 - dependencies: 175 - mimic-response: "npm:^3.1.0" 176 - checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e 177 - languageName: node 178 - linkType: hard 76 + expand-template@^2.0.3: 77 + version "2.0.3" 78 + resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" 79 + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== 179 80 180 - "deep-extend@npm:^0.6.0": 181 - version: 0.6.0 182 - resolution: "deep-extend@npm:0.6.0" 183 - checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 184 - languageName: node 185 - linkType: hard 81 + file-uri-to-path@1.0.0: 82 + version "1.0.0" 83 + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" 84 + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== 186 85 187 - "detect-libc@npm:^2.0.0": 188 - version: 2.1.2 189 - resolution: "detect-libc@npm:2.1.2" 190 - checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 191 - languageName: node 192 - linkType: hard 86 + fs-constants@^1.0.0: 87 + version "1.0.0" 88 + resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" 89 + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== 193 90 194 - "encoding@npm:^0.1.13": 195 - version: 0.1.13 196 - resolution: "encoding@npm:0.1.13" 197 - dependencies: 198 - iconv-lite: "npm:^0.6.2" 199 - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 200 - languageName: node 201 - linkType: hard 91 + github-from-package@0.0.0: 92 + version "0.0.0" 93 + resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" 94 + integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== 202 95 203 - "end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": 204 - version: 1.4.5 205 - resolution: "end-of-stream@npm:1.4.5" 206 - dependencies: 207 - once: "npm:^1.4.0" 208 - checksum: 10c0/b0701c92a10b89afb1cb45bf54a5292c6f008d744eb4382fa559d54775ff31617d1d7bc3ef617575f552e24fad2c7c1a1835948c66b3f3a4be0a6c1f35c883d8 209 - languageName: node 210 - linkType: hard 96 + hono@^4, hono@^4.10.7: 97 + version "4.11.4" 98 + resolved "https://registry.npmjs.org/hono/-/hono-4.11.4.tgz" 99 + integrity sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA== 211 100 212 - "env-paths@npm:^2.2.0": 213 - version: 2.2.1 214 - resolution: "env-paths@npm:2.2.1" 215 - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 216 - languageName: node 217 - linkType: hard 101 + ieee754@^1.1.13: 102 + version "1.2.1" 103 + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" 104 + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 218 105 219 - "err-code@npm:^2.0.2": 220 - version: 2.0.3 221 - resolution: "err-code@npm:2.0.3" 222 - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 223 - languageName: node 224 - linkType: hard 106 + inherits@^2.0.3, inherits@^2.0.4: 107 + version "2.0.4" 108 + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 109 + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 225 110 226 - "expand-template@npm:^2.0.3": 227 - version: 2.0.3 228 - resolution: "expand-template@npm:2.0.3" 229 - checksum: 10c0/1c9e7afe9acadf9d373301d27f6a47b34e89b3391b1ef38b7471d381812537ef2457e620ae7f819d2642ce9c43b189b3583813ec395e2938319abe356a9b2f51 230 - languageName: node 231 - linkType: hard 111 + ini@~1.3.0: 112 + version "1.3.8" 113 + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" 114 + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 232 115 233 - "exponential-backoff@npm:^3.1.1": 234 - version: 3.1.3 235 - resolution: "exponential-backoff@npm:3.1.3" 236 - checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 237 - languageName: node 238 - linkType: hard 116 + mimic-response@^3.1.0: 117 + version "3.1.0" 118 + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" 119 + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== 239 120 240 - "fdir@npm:^6.5.0": 241 - version: 6.5.0 242 - resolution: "fdir@npm:6.5.0" 243 - peerDependencies: 244 - picomatch: ^3 || ^4 245 - peerDependenciesMeta: 246 - picomatch: 247 - optional: true 248 - checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f 249 - languageName: node 250 - linkType: hard 121 + minimist@^1.2.0, minimist@^1.2.3: 122 + version "1.2.8" 123 + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" 124 + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== 251 125 252 - "file-uri-to-path@npm:1.0.0": 253 - version: 1.0.0 254 - resolution: "file-uri-to-path@npm:1.0.0" 255 - checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519 256 - languageName: node 257 - linkType: hard 126 + mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: 127 + version "0.5.3" 128 + resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" 129 + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== 258 130 259 - "fs-constants@npm:^1.0.0": 260 - version: 1.0.0 261 - resolution: "fs-constants@npm:1.0.0" 262 - checksum: 10c0/a0cde99085f0872f4d244e83e03a46aa387b74f5a5af750896c6b05e9077fac00e9932fdf5aef84f2f16634cd473c63037d7a512576da7d5c2b9163d1909f3a8 263 - languageName: node 264 - linkType: hard 131 + napi-build-utils@^2.0.0: 132 + version "2.0.0" 133 + resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz" 134 + integrity sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA== 265 135 266 - "fs-minipass@npm:^3.0.0": 267 - version: 3.0.3 268 - resolution: "fs-minipass@npm:3.0.3" 136 + node-abi@^3.3.0: 137 + version "3.86.0" 138 + resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.86.0.tgz" 139 + integrity sha512-sn9Et4N3ynsetj3spsZR729DVlGH6iBG4RiDMV7HEp3guyOW6W3S0unGpLDxT50mXortGUMax/ykUNQXdqc/Xg== 269 140 dependencies: 270 - minipass: "npm:^7.0.3" 271 - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 272 - languageName: node 273 - linkType: hard 274 - 275 - "github-from-package@npm:0.0.0": 276 - version: 0.0.0 277 - resolution: "github-from-package@npm:0.0.0" 278 - checksum: 10c0/737ee3f52d0a27e26332cde85b533c21fcdc0b09fb716c3f8e522cfaa9c600d4a631dec9fcde179ec9d47cca89017b7848ed4d6ae6b6b78f936c06825b1fcc12 279 - languageName: node 280 - linkType: hard 141 + semver "^7.3.5" 281 142 282 - "glob@npm:^13.0.0": 283 - version: 13.0.0 284 - resolution: "glob@npm:13.0.0" 143 + once@^1.3.1, once@^1.4.0: 144 + version "1.4.0" 145 + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 146 + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 285 147 dependencies: 286 - minimatch: "npm:^10.1.1" 287 - minipass: "npm:^7.1.2" 288 - path-scurry: "npm:^2.0.0" 289 - checksum: 10c0/8e2f5821f3f7c312dd102e23a15b80c79e0837a9872784293ba2e15ec73b3f3749a49a42a31bfcb4e52c84820a474e92331c2eebf18819d20308f5c33876630a 290 - languageName: node 291 - linkType: hard 148 + wrappy "1" 292 149 293 - "graceful-fs@npm:^4.2.6": 294 - version: 4.2.11 295 - resolution: "graceful-fs@npm:4.2.11" 296 - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 297 - languageName: node 298 - linkType: hard 299 - 300 - "hono@npm:^4.10.7": 301 - version: 4.11.4 302 - resolution: "hono@npm:4.11.4" 303 - checksum: 10c0/19b5ebf28f89ad8e8d9fc465e9e9073026a344e15e841b5b251831b0ae3843e50c29328c95e69a0d7e2681c5b35e475445f4faf59d3d51c6c32a834a0211099a 304 - languageName: node 305 - linkType: hard 306 - 307 - "http-cache-semantics@npm:^4.1.1": 308 - version: 4.2.0 309 - resolution: "http-cache-semantics@npm:4.2.0" 310 - checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 311 - languageName: node 312 - linkType: hard 313 - 314 - "http-proxy-agent@npm:^7.0.0": 315 - version: 7.0.2 316 - resolution: "http-proxy-agent@npm:7.0.2" 150 + prebuild-install@^7.1.1: 151 + version "7.1.3" 152 + resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz" 153 + integrity sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug== 317 154 dependencies: 318 - agent-base: "npm:^7.1.0" 319 - debug: "npm:^4.3.4" 320 - checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 321 - languageName: node 322 - linkType: hard 155 + detect-libc "^2.0.0" 156 + expand-template "^2.0.3" 157 + github-from-package "0.0.0" 158 + minimist "^1.2.3" 159 + mkdirp-classic "^0.5.3" 160 + napi-build-utils "^2.0.0" 161 + node-abi "^3.3.0" 162 + pump "^3.0.0" 163 + rc "^1.2.7" 164 + simple-get "^4.0.0" 165 + tar-fs "^2.0.0" 166 + tunnel-agent "^0.6.0" 323 167 324 - "https-proxy-agent@npm:^7.0.1": 325 - version: 7.0.6 326 - resolution: "https-proxy-agent@npm:7.0.6" 168 + pump@^3.0.0: 169 + version "3.0.3" 170 + resolved "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz" 171 + integrity sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA== 327 172 dependencies: 328 - agent-base: "npm:^7.1.2" 329 - debug: "npm:4" 330 - checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac 331 - languageName: node 332 - linkType: hard 173 + end-of-stream "^1.1.0" 174 + once "^1.3.1" 333 175 334 - "iconv-lite@npm:^0.6.2": 335 - version: 0.6.3 336 - resolution: "iconv-lite@npm:0.6.3" 176 + rc@^1.2.7: 177 + version "1.2.8" 178 + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" 179 + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 337 180 dependencies: 338 - safer-buffer: "npm:>= 2.1.2 < 3.0.0" 339 - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 340 - languageName: node 341 - linkType: hard 342 - 343 - "ieee754@npm:^1.1.13": 344 - version: 1.2.1 345 - resolution: "ieee754@npm:1.2.1" 346 - checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb 347 - languageName: node 348 - linkType: hard 349 - 350 - "imurmurhash@npm:^0.1.4": 351 - version: 0.1.4 352 - resolution: "imurmurhash@npm:0.1.4" 353 - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 354 - languageName: node 355 - linkType: hard 356 - 357 - "inherits@npm:^2.0.3, inherits@npm:^2.0.4": 358 - version: 2.0.4 359 - resolution: "inherits@npm:2.0.4" 360 - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 361 - languageName: node 362 - linkType: hard 363 - 364 - "ini@npm:~1.3.0": 365 - version: 1.3.8 366 - resolution: "ini@npm:1.3.8" 367 - checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a 368 - languageName: node 369 - linkType: hard 181 + deep-extend "^0.6.0" 182 + ini "~1.3.0" 183 + minimist "^1.2.0" 184 + strip-json-comments "~2.0.1" 370 185 371 - "ip-address@npm:^10.0.1": 372 - version: 10.1.0 373 - resolution: "ip-address@npm:10.1.0" 374 - checksum: 10c0/0103516cfa93f6433b3bd7333fa876eb21263912329bfa47010af5e16934eeeff86f3d2ae700a3744a137839ddfad62b900c7a445607884a49b5d1e32a3d7566 375 - languageName: node 376 - linkType: hard 377 - 378 - "isexe@npm:^3.1.1": 379 - version: 3.1.1 380 - resolution: "isexe@npm:3.1.1" 381 - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 382 - languageName: node 383 - linkType: hard 384 - 385 - "lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": 386 - version: 11.2.4 387 - resolution: "lru-cache@npm:11.2.4" 388 - checksum: 10c0/4a24f9b17537619f9144d7b8e42cd5a225efdfd7076ebe7b5e7dc02b860a818455201e67fbf000765233fe7e339d3c8229fc815e9b58ee6ede511e07608c19b2 389 - languageName: node 390 - linkType: hard 391 - 392 - "make-fetch-happen@npm:^15.0.0": 393 - version: 15.0.3 394 - resolution: "make-fetch-happen@npm:15.0.3" 186 + readable-stream@^3.1.1, readable-stream@^3.4.0: 187 + version "3.6.2" 188 + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" 189 + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== 395 190 dependencies: 396 - "@npmcli/agent": "npm:^4.0.0" 397 - cacache: "npm:^20.0.1" 398 - http-cache-semantics: "npm:^4.1.1" 399 - minipass: "npm:^7.0.2" 400 - minipass-fetch: "npm:^5.0.0" 401 - minipass-flush: "npm:^1.0.5" 402 - minipass-pipeline: "npm:^1.2.4" 403 - negotiator: "npm:^1.0.0" 404 - proc-log: "npm:^6.0.0" 405 - promise-retry: "npm:^2.0.1" 406 - ssri: "npm:^13.0.0" 407 - checksum: 10c0/525f74915660be60b616bcbd267c4a5b59481b073ba125e45c9c3a041bb1a47a2bd0ae79d028eb6f5f95bf9851a4158423f5068539c3093621abb64027e8e461 408 - languageName: node 409 - linkType: hard 191 + inherits "^2.0.3" 192 + string_decoder "^1.1.1" 193 + util-deprecate "^1.0.1" 410 194 411 - "mimic-response@npm:^3.1.0": 412 - version: 3.1.0 413 - resolution: "mimic-response@npm:3.1.0" 414 - checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 415 - languageName: node 416 - linkType: hard 195 + safe-buffer@^5.0.1, safe-buffer@~5.2.0: 196 + version "5.2.1" 197 + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" 198 + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 417 199 418 - "minimatch@npm:^10.1.1": 419 - version: 10.1.1 420 - resolution: "minimatch@npm:10.1.1" 421 - dependencies: 422 - "@isaacs/brace-expansion": "npm:^5.0.0" 423 - checksum: 10c0/c85d44821c71973d636091fddbfbffe62370f5ee3caf0241c5b60c18cd289e916200acb2361b7e987558cd06896d153e25d505db9fc1e43e6b4b6752e2702902 424 - languageName: node 425 - linkType: hard 200 + semver@^7.3.5: 201 + version "7.7.3" 202 + resolved "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz" 203 + integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== 426 204 427 - "minimist@npm:^1.2.0, minimist@npm:^1.2.3": 428 - version: 1.2.8 429 - resolution: "minimist@npm:1.2.8" 430 - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 431 - languageName: node 432 - linkType: hard 205 + simple-concat@^1.0.0: 206 + version "1.0.1" 207 + resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" 208 + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== 433 209 434 - "minipass-collect@npm:^2.0.1": 435 - version: 2.0.1 436 - resolution: "minipass-collect@npm:2.0.1" 210 + simple-get@^4.0.0: 211 + version "4.0.1" 212 + resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" 213 + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== 437 214 dependencies: 438 - minipass: "npm:^7.0.3" 439 - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e 440 - languageName: node 441 - linkType: hard 215 + decompress-response "^6.0.0" 216 + once "^1.3.1" 217 + simple-concat "^1.0.0" 442 218 443 - "minipass-fetch@npm:^5.0.0": 444 - version: 5.0.0 445 - resolution: "minipass-fetch@npm:5.0.0" 219 + string_decoder@^1.1.1: 220 + version "1.3.0" 221 + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" 222 + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 446 223 dependencies: 447 - encoding: "npm:^0.1.13" 448 - minipass: "npm:^7.0.3" 449 - minipass-sized: "npm:^1.0.3" 450 - minizlib: "npm:^3.0.1" 451 - dependenciesMeta: 452 - encoding: 453 - optional: true 454 - checksum: 10c0/9443aab5feab190972f84b64116e54e58dd87a58e62399cae0a4a7461b80568281039b7c3a38ba96453431ebc799d1e26999e548540156216729a4967cd5ef06 455 - languageName: node 456 - linkType: hard 224 + safe-buffer "~5.2.0" 457 225 458 - "minipass-flush@npm:^1.0.5": 459 - version: 1.0.5 460 - resolution: "minipass-flush@npm:1.0.5" 461 - dependencies: 462 - minipass: "npm:^3.0.0" 463 - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd 464 - languageName: node 465 - linkType: hard 226 + strip-json-comments@~2.0.1: 227 + version "2.0.1" 228 + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" 229 + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== 466 230 467 - "minipass-pipeline@npm:^1.2.4": 468 - version: 1.2.4 469 - resolution: "minipass-pipeline@npm:1.2.4" 231 + tar-fs@^2.0.0: 232 + version "2.1.4" 233 + resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz" 234 + integrity sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ== 470 235 dependencies: 471 - minipass: "npm:^3.0.0" 472 - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 473 - languageName: node 474 - linkType: hard 236 + chownr "^1.1.1" 237 + mkdirp-classic "^0.5.2" 238 + pump "^3.0.0" 239 + tar-stream "^2.1.4" 475 240 476 - "minipass-sized@npm:^1.0.3": 477 - version: 1.0.3 478 - resolution: "minipass-sized@npm:1.0.3" 241 + tar-stream@^2.1.4: 242 + version "2.2.0" 243 + resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" 244 + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== 479 245 dependencies: 480 - minipass: "npm:^3.0.0" 481 - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb 482 - languageName: node 483 - linkType: hard 246 + bl "^4.0.3" 247 + end-of-stream "^1.4.1" 248 + fs-constants "^1.0.0" 249 + inherits "^2.0.3" 250 + readable-stream "^3.1.1" 484 251 485 - "minipass@npm:^3.0.0": 486 - version: 3.3.6 487 - resolution: "minipass@npm:3.3.6" 252 + tunnel-agent@^0.6.0: 253 + version "0.6.0" 254 + resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" 255 + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== 488 256 dependencies: 489 - yallist: "npm:^4.0.0" 490 - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c 491 - languageName: node 492 - linkType: hard 257 + safe-buffer "^5.0.1" 493 258 494 - "minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": 495 - version: 7.1.2 496 - resolution: "minipass@npm:7.1.2" 497 - checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 498 - languageName: node 499 - linkType: hard 259 + util-deprecate@^1.0.1: 260 + version "1.0.2" 261 + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 262 + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 500 263 501 - "minizlib@npm:^3.0.1, minizlib@npm:^3.1.0": 502 - version: 3.1.0 503 - resolution: "minizlib@npm:3.1.0" 504 - dependencies: 505 - minipass: "npm:^7.1.2" 506 - checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec 507 - languageName: node 508 - linkType: hard 509 - 510 - "mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": 511 - version: 0.5.3 512 - resolution: "mkdirp-classic@npm:0.5.3" 513 - checksum: 10c0/95371d831d196960ddc3833cc6907e6b8f67ac5501a6582f47dfae5eb0f092e9f8ce88e0d83afcae95d6e2b61a01741ba03714eeafb6f7a6e9dcc158ac85b168 514 - languageName: node 515 - linkType: hard 516 - 517 - "ms@npm:^2.1.3": 518 - version: 2.1.3 519 - resolution: "ms@npm:2.1.3" 520 - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 521 - languageName: node 522 - linkType: hard 523 - 524 - "napi-build-utils@npm:^2.0.0": 525 - version: 2.0.0 526 - resolution: "napi-build-utils@npm:2.0.0" 527 - checksum: 10c0/5833aaeb5cc5c173da47a102efa4680a95842c13e0d9cc70428bd3ee8d96bb2172f8860d2811799b5daa5cbeda779933601492a2028a6a5351c6d0fcf6de83db 528 - languageName: node 529 - linkType: hard 530 - 531 - "negotiator@npm:^1.0.0": 532 - version: 1.0.0 533 - resolution: "negotiator@npm:1.0.0" 534 - checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b 535 - languageName: node 536 - linkType: hard 537 - 538 - "node-abi@npm:^3.3.0": 539 - version: 3.87.0 540 - resolution: "node-abi@npm:3.87.0" 541 - dependencies: 542 - semver: "npm:^7.3.5" 543 - checksum: 10c0/41cfc361edd1b0711d412ca9e1a475180c5b897868bd5583df7ff73e30e6044cc7de307df36c2257203320f17fadf7e82dfdf5a9f6fd510a8578e3fe3ed67ebb 544 - languageName: node 545 - linkType: hard 546 - 547 - "node-gyp@npm:latest": 548 - version: 12.1.0 549 - resolution: "node-gyp@npm:12.1.0" 550 - dependencies: 551 - env-paths: "npm:^2.2.0" 552 - exponential-backoff: "npm:^3.1.1" 553 - graceful-fs: "npm:^4.2.6" 554 - make-fetch-happen: "npm:^15.0.0" 555 - nopt: "npm:^9.0.0" 556 - proc-log: "npm:^6.0.0" 557 - semver: "npm:^7.3.5" 558 - tar: "npm:^7.5.2" 559 - tinyglobby: "npm:^0.2.12" 560 - which: "npm:^6.0.0" 561 - bin: 562 - node-gyp: bin/node-gyp.js 563 - checksum: 10c0/f43efea8aaf0beb6b2f6184e533edad779b2ae38062953e21951f46221dd104006cc574154f2ad4a135467a5aae92c49e84ef289311a82e08481c5df0e8dc495 564 - languageName: node 565 - linkType: hard 566 - 567 - "nopt@npm:^9.0.0": 568 - version: 9.0.0 569 - resolution: "nopt@npm:9.0.0" 570 - dependencies: 571 - abbrev: "npm:^4.0.0" 572 - bin: 573 - nopt: bin/nopt.js 574 - checksum: 10c0/1822eb6f9b020ef6f7a7516d7b64a8036e09666ea55ac40416c36e4b2b343122c3cff0e2f085675f53de1d2db99a2a89a60ccea1d120bcd6a5347bf6ceb4a7fd 575 - languageName: node 576 - linkType: hard 577 - 578 - "once@npm:^1.3.1, once@npm:^1.4.0": 579 - version: 1.4.0 580 - resolution: "once@npm:1.4.0" 581 - dependencies: 582 - wrappy: "npm:1" 583 - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 584 - languageName: node 585 - linkType: hard 586 - 587 - "p-map@npm:^7.0.2": 588 - version: 7.0.4 589 - resolution: "p-map@npm:7.0.4" 590 - checksum: 10c0/a5030935d3cb2919d7e89454d1ce82141e6f9955413658b8c9403cfe379283770ed3048146b44cde168aa9e8c716505f196d5689db0ae3ce9a71521a2fef3abd 591 - languageName: node 592 - linkType: hard 593 - 594 - "path-scurry@npm:^2.0.0": 595 - version: 2.0.1 596 - resolution: "path-scurry@npm:2.0.1" 597 - dependencies: 598 - lru-cache: "npm:^11.0.0" 599 - minipass: "npm:^7.1.2" 600 - checksum: 10c0/2a16ed0e81fbc43513e245aa5763354e25e787dab0d539581a6c3f0f967461a159ed6236b2559de23aa5b88e7dc32b469b6c47568833dd142a4b24b4f5cd2620 601 - languageName: node 602 - linkType: hard 603 - 604 - "peek-server@workspace:.": 605 - version: 0.0.0-use.local 606 - resolution: "peek-server@workspace:." 607 - dependencies: 608 - "@hono/node-server": "npm:^1.19.6" 609 - better-sqlite3: "npm:^12.5.0" 610 - hono: "npm:^4.10.7" 611 - languageName: unknown 612 - linkType: soft 613 - 614 - "picomatch@npm:^4.0.3": 615 - version: 4.0.3 616 - resolution: "picomatch@npm:4.0.3" 617 - checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 618 - languageName: node 619 - linkType: hard 620 - 621 - "prebuild-install@npm:^7.1.1": 622 - version: 7.1.3 623 - resolution: "prebuild-install@npm:7.1.3" 624 - dependencies: 625 - detect-libc: "npm:^2.0.0" 626 - expand-template: "npm:^2.0.3" 627 - github-from-package: "npm:0.0.0" 628 - minimist: "npm:^1.2.3" 629 - mkdirp-classic: "npm:^0.5.3" 630 - napi-build-utils: "npm:^2.0.0" 631 - node-abi: "npm:^3.3.0" 632 - pump: "npm:^3.0.0" 633 - rc: "npm:^1.2.7" 634 - simple-get: "npm:^4.0.0" 635 - tar-fs: "npm:^2.0.0" 636 - tunnel-agent: "npm:^0.6.0" 637 - bin: 638 - prebuild-install: bin.js 639 - checksum: 10c0/25919a42b52734606a4036ab492d37cfe8b601273d8dfb1fa3c84e141a0a475e7bad3ab848c741d2f810cef892fcf6059b8c7fe5b29f98d30e0c29ad009bedff 640 - languageName: node 641 - linkType: hard 642 - 643 - "proc-log@npm:^6.0.0": 644 - version: 6.1.0 645 - resolution: "proc-log@npm:6.1.0" 646 - checksum: 10c0/4f178d4062733ead9d71a9b1ab24ebcecdfe2250916a5b1555f04fe2eda972a0ec76fbaa8df1ad9c02707add6749219d118a4fc46dc56bdfe4dde4b47d80bb82 647 - languageName: node 648 - linkType: hard 649 - 650 - "promise-retry@npm:^2.0.1": 651 - version: 2.0.1 652 - resolution: "promise-retry@npm:2.0.1" 653 - dependencies: 654 - err-code: "npm:^2.0.2" 655 - retry: "npm:^0.12.0" 656 - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 657 - languageName: node 658 - linkType: hard 659 - 660 - "pump@npm:^3.0.0": 661 - version: 3.0.3 662 - resolution: "pump@npm:3.0.3" 663 - dependencies: 664 - end-of-stream: "npm:^1.1.0" 665 - once: "npm:^1.3.1" 666 - checksum: 10c0/ada5cdf1d813065bbc99aa2c393b8f6beee73b5de2890a8754c9f488d7323ffd2ca5f5a0943b48934e3fcbd97637d0337369c3c631aeb9614915db629f1c75c9 667 - languageName: node 668 - linkType: hard 669 - 670 - "rc@npm:^1.2.7": 671 - version: 1.2.8 672 - resolution: "rc@npm:1.2.8" 673 - dependencies: 674 - deep-extend: "npm:^0.6.0" 675 - ini: "npm:~1.3.0" 676 - minimist: "npm:^1.2.0" 677 - strip-json-comments: "npm:~2.0.1" 678 - bin: 679 - rc: ./cli.js 680 - checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15 681 - languageName: node 682 - linkType: hard 683 - 684 - "readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0": 685 - version: 3.6.2 686 - resolution: "readable-stream@npm:3.6.2" 687 - dependencies: 688 - inherits: "npm:^2.0.3" 689 - string_decoder: "npm:^1.1.1" 690 - util-deprecate: "npm:^1.0.1" 691 - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 692 - languageName: node 693 - linkType: hard 694 - 695 - "retry@npm:^0.12.0": 696 - version: 0.12.0 697 - resolution: "retry@npm:0.12.0" 698 - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe 699 - languageName: node 700 - linkType: hard 701 - 702 - "safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0": 703 - version: 5.2.1 704 - resolution: "safe-buffer@npm:5.2.1" 705 - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 706 - languageName: node 707 - linkType: hard 708 - 709 - "safer-buffer@npm:>= 2.1.2 < 3.0.0": 710 - version: 2.1.2 711 - resolution: "safer-buffer@npm:2.1.2" 712 - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 713 - languageName: node 714 - linkType: hard 715 - 716 - "semver@npm:^7.3.5": 717 - version: 7.7.3 718 - resolution: "semver@npm:7.7.3" 719 - bin: 720 - semver: bin/semver.js 721 - checksum: 10c0/4afe5c986567db82f44c8c6faef8fe9df2a9b1d98098fc1721f57c696c4c21cebd572f297fc21002f81889492345b8470473bc6f4aff5fb032a6ea59ea2bc45e 722 - languageName: node 723 - linkType: hard 724 - 725 - "simple-concat@npm:^1.0.0": 726 - version: 1.0.1 727 - resolution: "simple-concat@npm:1.0.1" 728 - checksum: 10c0/62f7508e674414008910b5397c1811941d457dfa0db4fd5aa7fa0409eb02c3609608dfcd7508cace75b3a0bf67a2a77990711e32cd213d2c76f4fd12ee86d776 729 - languageName: node 730 - linkType: hard 731 - 732 - "simple-get@npm:^4.0.0": 733 - version: 4.0.1 734 - resolution: "simple-get@npm:4.0.1" 735 - dependencies: 736 - decompress-response: "npm:^6.0.0" 737 - once: "npm:^1.3.1" 738 - simple-concat: "npm:^1.0.0" 739 - checksum: 10c0/b0649a581dbca741babb960423248899203165769747142033479a7dc5e77d7b0fced0253c731cd57cf21e31e4d77c9157c3069f4448d558ebc96cf9e1eebcf0 740 - languageName: node 741 - linkType: hard 742 - 743 - "smart-buffer@npm:^4.2.0": 744 - version: 4.2.0 745 - resolution: "smart-buffer@npm:4.2.0" 746 - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 747 - languageName: node 748 - linkType: hard 749 - 750 - "socks-proxy-agent@npm:^8.0.3": 751 - version: 8.0.5 752 - resolution: "socks-proxy-agent@npm:8.0.5" 753 - dependencies: 754 - agent-base: "npm:^7.1.2" 755 - debug: "npm:^4.3.4" 756 - socks: "npm:^2.8.3" 757 - checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 758 - languageName: node 759 - linkType: hard 760 - 761 - "socks@npm:^2.8.3": 762 - version: 2.8.7 763 - resolution: "socks@npm:2.8.7" 764 - dependencies: 765 - ip-address: "npm:^10.0.1" 766 - smart-buffer: "npm:^4.2.0" 767 - checksum: 10c0/2805a43a1c4bcf9ebf6e018268d87b32b32b06fbbc1f9282573583acc155860dc361500f89c73bfbb157caa1b4ac78059eac0ef15d1811eb0ca75e0bdadbc9d2 768 - languageName: node 769 - linkType: hard 770 - 771 - "ssri@npm:^13.0.0": 772 - version: 13.0.0 773 - resolution: "ssri@npm:13.0.0" 774 - dependencies: 775 - minipass: "npm:^7.0.3" 776 - checksum: 10c0/405f3a531cd98b013cecb355d63555dca42fd12c7bc6671738aaa9a82882ff41cdf0ef9a2b734ca4f9a760338f114c29d01d9238a65db3ccac27929bd6e6d4b2 777 - languageName: node 778 - linkType: hard 779 - 780 - "string_decoder@npm:^1.1.1": 781 - version: 1.3.0 782 - resolution: "string_decoder@npm:1.3.0" 783 - dependencies: 784 - safe-buffer: "npm:~5.2.0" 785 - checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d 786 - languageName: node 787 - linkType: hard 788 - 789 - "strip-json-comments@npm:~2.0.1": 790 - version: 2.0.1 791 - resolution: "strip-json-comments@npm:2.0.1" 792 - checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 793 - languageName: node 794 - linkType: hard 795 - 796 - "tar-fs@npm:^2.0.0": 797 - version: 2.1.4 798 - resolution: "tar-fs@npm:2.1.4" 799 - dependencies: 800 - chownr: "npm:^1.1.1" 801 - mkdirp-classic: "npm:^0.5.2" 802 - pump: "npm:^3.0.0" 803 - tar-stream: "npm:^2.1.4" 804 - checksum: 10c0/decb25acdc6839182c06ec83cba6136205bda1db984e120c8ffd0d80182bc5baa1d916f9b6c5c663ea3f9975b4dd49e3c6bb7b1707cbcdaba4e76042f43ec84c 805 - languageName: node 806 - linkType: hard 807 - 808 - "tar-stream@npm:^2.1.4": 809 - version: 2.2.0 810 - resolution: "tar-stream@npm:2.2.0" 811 - dependencies: 812 - bl: "npm:^4.0.3" 813 - end-of-stream: "npm:^1.4.1" 814 - fs-constants: "npm:^1.0.0" 815 - inherits: "npm:^2.0.3" 816 - readable-stream: "npm:^3.1.1" 817 - checksum: 10c0/2f4c910b3ee7196502e1ff015a7ba321ec6ea837667220d7bcb8d0852d51cb04b87f7ae471008a6fb8f5b1a1b5078f62f3a82d30c706f20ada1238ac797e7692 818 - languageName: node 819 - linkType: hard 820 - 821 - "tar@npm:^7.5.2": 822 - version: 7.5.6 823 - resolution: "tar@npm:7.5.6" 824 - dependencies: 825 - "@isaacs/fs-minipass": "npm:^4.0.0" 826 - chownr: "npm:^3.0.0" 827 - minipass: "npm:^7.1.2" 828 - minizlib: "npm:^3.1.0" 829 - yallist: "npm:^5.0.0" 830 - checksum: 10c0/08af3807035957650ad5f2a300c49ca4fe0566ac0ea5a23741a5b5103c6da42891a9eeaed39bc1fbcf21c5cac4dc846828a004727fb08b9d946322d3144d1fd2 831 - languageName: node 832 - linkType: hard 833 - 834 - "tinyglobby@npm:^0.2.12": 835 - version: 0.2.15 836 - resolution: "tinyglobby@npm:0.2.15" 837 - dependencies: 838 - fdir: "npm:^6.5.0" 839 - picomatch: "npm:^4.0.3" 840 - checksum: 10c0/869c31490d0d88eedb8305d178d4c75e7463e820df5a9b9d388291daf93e8b1eb5de1dad1c1e139767e4269fe75f3b10d5009b2cc14db96ff98986920a186844 841 - languageName: node 842 - linkType: hard 843 - 844 - "tunnel-agent@npm:^0.6.0": 845 - version: 0.6.0 846 - resolution: "tunnel-agent@npm:0.6.0" 847 - dependencies: 848 - safe-buffer: "npm:^5.0.1" 849 - checksum: 10c0/4c7a1b813e7beae66fdbf567a65ec6d46313643753d0beefb3c7973d66fcec3a1e7f39759f0a0b4465883499c6dc8b0750ab8b287399af2e583823e40410a17a 850 - languageName: node 851 - linkType: hard 852 - 853 - "unique-filename@npm:^5.0.0": 854 - version: 5.0.0 855 - resolution: "unique-filename@npm:5.0.0" 856 - dependencies: 857 - unique-slug: "npm:^6.0.0" 858 - checksum: 10c0/afb897e9cf4c2fb622ea716f7c2bb462001928fc5f437972213afdf1cc32101a230c0f1e9d96fc91ee5185eca0f2feb34127145874975f347be52eb91d6ccc2c 859 - languageName: node 860 - linkType: hard 861 - 862 - "unique-slug@npm:^6.0.0": 863 - version: 6.0.0 864 - resolution: "unique-slug@npm:6.0.0" 865 - dependencies: 866 - imurmurhash: "npm:^0.1.4" 867 - checksum: 10c0/da7ade4cb04eb33ad0499861f82fe95ce9c7c878b7139dc54d140ecfb6a6541c18a5c8dac16188b8b379fe62c0c1f1b710814baac910cde5f4fec06212126c6a 868 - languageName: node 869 - linkType: hard 870 - 871 - "util-deprecate@npm:^1.0.1": 872 - version: 1.0.2 873 - resolution: "util-deprecate@npm:1.0.2" 874 - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 875 - languageName: node 876 - linkType: hard 877 - 878 - "which@npm:^6.0.0": 879 - version: 6.0.0 880 - resolution: "which@npm:6.0.0" 881 - dependencies: 882 - isexe: "npm:^3.1.1" 883 - bin: 884 - node-which: bin/which.js 885 - checksum: 10c0/fe9d6463fe44a76232bb6e3b3181922c87510a5b250a98f1e43a69c99c079b3f42ddeca7e03d3e5f2241bf2d334f5a7657cfa868b97c109f3870625842f4cc15 886 - languageName: node 887 - linkType: hard 888 - 889 - "wrappy@npm:1": 890 - version: 1.0.2 891 - resolution: "wrappy@npm:1.0.2" 892 - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 893 - languageName: node 894 - linkType: hard 895 - 896 - "yallist@npm:^4.0.0": 897 - version: 4.0.0 898 - resolution: "yallist@npm:4.0.0" 899 - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a 900 - languageName: node 901 - linkType: hard 902 - 903 - "yallist@npm:^5.0.0": 904 - version: 5.0.0 905 - resolution: "yallist@npm:5.0.0" 906 - checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 907 - languageName: node 908 - linkType: hard 264 + wrappy@1: 265 + version "1.0.2" 266 + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 267 + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+63 -6
backend/tauri-mobile/build-ios.sh
··· 1 1 #!/bin/bash 2 - # Script to build Rust library for iOS simulator manually 2 + # Script to build Rust library for iOS simulator (debug) 3 + # Uses shared cache to avoid rebuilds across agent workspaces 4 + 5 + set -e 6 + 7 + SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" 8 + TAURI_DIR="$SCRIPT_DIR/src-tauri" 9 + DEST_DIR="$TAURI_DIR/gen/apple/Externals/arm64/Debug" 10 + DEST_PATH="$DEST_DIR/libapp.a" 11 + 12 + # Source cache utilities 13 + REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" 14 + source "$REPO_ROOT/scripts/ios-cache.sh" 15 + 16 + # Parse flags 17 + FORCE_REBUILD=false 18 + NO_CACHE=false 19 + while [ $# -gt 0 ]; do 20 + case "$1" in 21 + --force|-f) 22 + FORCE_REBUILD=true 23 + ;; 24 + --no-cache) 25 + NO_CACHE=true 26 + ;; 27 + *) 28 + echo "Unknown option: $1" 29 + echo "Usage: $0 [--force|-f] [--no-cache]" 30 + exit 1 31 + ;; 32 + esac 33 + shift 34 + done 35 + 36 + cd "$TAURI_DIR" 37 + 38 + # Check cache unless forced or disabled 39 + if [ "$FORCE_REBUILD" = false ] && [ "$NO_CACHE" = false ]; then 40 + if check_cache "debug" "$TAURI_DIR"; then 41 + mkdir -p "$DEST_DIR" 42 + use_cache "debug" "$DEST_PATH" 43 + echo "✓ iOS debug library ready at $DEST_PATH (from cache)" 44 + exit 0 45 + fi 46 + fi 3 47 4 - cd "$(dirname "$0")/src-tauri" 48 + # Build 49 + if [ "$FORCE_REBUILD" = true ]; then 50 + echo "(Forcing Rust recompile...)" 51 + touch src/lib.rs 52 + fi 53 + 54 + echo "Building Rust for iOS simulator (debug)..." 5 55 cargo tauri build --target aarch64-apple-ios-sim --debug 6 - mkdir -p gen/apple/Externals/arm64/Debug 7 - cp target/aarch64-apple-ios-sim/debug/deps/libpeek_save_lib.a \ 8 - gen/apple/Externals/arm64/Debug/libapp.a 9 - echo "✓ iOS library built successfully at gen/apple/Externals/arm64/Debug/libapp.a" 56 + 57 + # Copy to Xcode location 58 + mkdir -p "$DEST_DIR" 59 + cp target/aarch64-apple-ios-sim/debug/deps/libpeek_save_lib.a "$DEST_PATH" 60 + 61 + # Update cache 62 + if [ "$NO_CACHE" = false ]; then 63 + update_cache "debug" "$TAURI_DIR" "$DEST_PATH" 64 + fi 65 + 66 + echo "✓ iOS debug library built successfully at $DEST_PATH"
+50 -7
backend/tauri-mobile/build-release.sh
··· 1 1 #!/bin/bash 2 + # Script to build Rust library for iOS device (release) 3 + # Uses shared cache to avoid rebuilds across agent workspaces 4 + 2 5 set -e 3 6 4 - # Use --force flag to force full Rust recompile (for Rust code changes) 7 + SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" 8 + TAURI_DIR="$SCRIPT_DIR/src-tauri" 9 + DEST_DIR="$TAURI_DIR/gen/apple/Externals/arm64/Release" 10 + DEST_PATH="$DEST_DIR/libapp.a" 11 + 12 + # Source cache utilities 13 + REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" 14 + source "$REPO_ROOT/scripts/ios-cache.sh" 15 + 16 + # Parse flags 5 17 FORCE_REBUILD=false 6 - if [ "$1" = "--force" ] || [ "$1" = "-f" ]; then 7 - FORCE_REBUILD=true 8 - fi 18 + NO_CACHE=false 19 + while [ $# -gt 0 ]; do 20 + case "$1" in 21 + --force|-f) 22 + FORCE_REBUILD=true 23 + ;; 24 + --no-cache) 25 + NO_CACHE=true 26 + ;; 27 + *) 28 + echo "Unknown option: $1" 29 + echo "Usage: $0 [--force|-f] [--no-cache]" 30 + exit 1 31 + ;; 32 + esac 33 + shift 34 + done 9 35 10 36 echo "Building frontend..." 11 37 npm run build 12 38 13 - echo "Building Rust for iOS device (release)..." 14 - cd src-tauri 39 + cd "$TAURI_DIR" 15 40 41 + # Check cache unless forced or disabled 42 + if [ "$FORCE_REBUILD" = false ] && [ "$NO_CACHE" = false ]; then 43 + if check_cache "release" "$TAURI_DIR"; then 44 + mkdir -p "$DEST_DIR" 45 + use_cache "release" "$DEST_PATH" 46 + echo "Done! Now rebuild in Xcode with Release scheme on your device." 47 + exit 0 48 + fi 49 + fi 50 + 51 + # Build 16 52 if [ "$FORCE_REBUILD" = true ]; then 17 53 echo "(Forcing Rust recompile...)" 18 54 touch src/lib.rs 19 55 fi 20 56 57 + echo "Building Rust for iOS device (release)..." 21 58 cargo tauri build --target aarch64-apple-ios 22 59 23 60 echo "Copying library to Xcode location..." 24 - cp target/aarch64-apple-ios/release/deps/libpeek_save_lib.a gen/apple/Externals/arm64/Release/libapp.a 61 + mkdir -p "$DEST_DIR" 62 + cp target/aarch64-apple-ios/release/deps/libpeek_save_lib.a "$DEST_PATH" 63 + 64 + # Update cache 65 + if [ "$NO_CACHE" = false ]; then 66 + update_cache "release" "$TAURI_DIR" "$DEST_PATH" 67 + fi 25 68 26 69 echo "Done! Now rebuild in Xcode with Release scheme on your device."
+1
backend/tauri-mobile/src-tauri/gen/apple/assets
··· 1 + ../../../dist
+1 -1
backend/tauri-mobile/src-tauri/gen/apple/peek-save.xcodeproj/xcshareddata/xcschemes/peek-save_iOS.xcscheme
··· 52 52 </Testables> 53 53 </TestAction> 54 54 <LaunchAction 55 - buildConfiguration = "release" 55 + buildConfiguration = "debug" 56 56 selectedDebuggerIdentifier = "" 57 57 selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn" 58 58 launchStyle = "0"
+120
scripts/ios-cache.sh
··· 1 + #!/bin/bash 2 + # iOS build cache utilities 3 + # Caches Rust build artifacts to avoid rebuilds across agent workspaces 4 + 5 + # Cache location (relative to repo root) 6 + IOS_CACHE_DIR="tmp/ios-cache" 7 + 8 + # Get the repository root directory 9 + get_repo_root() { 10 + git rev-parse --show-toplevel 2>/dev/null || echo "$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" 11 + } 12 + 13 + # Compute hash of Rust source files that affect the build 14 + # Includes Cargo.toml, Cargo.lock, and all .rs files 15 + get_source_hash() { 16 + local tauri_dir="$1" 17 + 18 + if [ -z "$tauri_dir" ]; then 19 + echo "Error: tauri_dir required" >&2 20 + return 1 21 + fi 22 + 23 + # Hash Cargo files and all Rust source files 24 + cat "$tauri_dir/Cargo.toml" \ 25 + "$tauri_dir/Cargo.lock" \ 26 + "$tauri_dir/src"/*.rs 2>/dev/null | shasum -a 256 | cut -d' ' -f1 27 + } 28 + 29 + # Check if cache is valid for a given build type 30 + # Returns 0 if cache hit, 1 if cache miss 31 + # Usage: check_cache debug|release tauri_dir 32 + check_cache() { 33 + local build_type="$1" 34 + local tauri_dir="$2" 35 + local repo_root 36 + repo_root="$(get_repo_root)" 37 + 38 + local cache_dir="$repo_root/$IOS_CACHE_DIR/$build_type" 39 + local lib_path="$cache_dir/libapp.a" 40 + local checksum_path="$cache_dir/checksum.txt" 41 + 42 + # Check if cached files exist 43 + if [ ! -f "$lib_path" ] || [ ! -f "$checksum_path" ]; then 44 + echo "Cache miss: no cached $build_type build found" 45 + return 1 46 + fi 47 + 48 + # Compare checksums 49 + local current_hash 50 + local cached_hash 51 + current_hash="$(get_source_hash "$tauri_dir")" 52 + cached_hash="$(cat "$checksum_path")" 53 + 54 + if [ "$current_hash" = "$cached_hash" ]; then 55 + echo "Cache hit: $build_type build matches (hash: ${current_hash:0:8}...)" 56 + return 0 57 + else 58 + echo "Cache miss: source changed (cached: ${cached_hash:0:8}..., current: ${current_hash:0:8}...)" 59 + return 1 60 + fi 61 + } 62 + 63 + # Update cache with newly built library 64 + # Usage: update_cache debug|release tauri_dir lib_path 65 + update_cache() { 66 + local build_type="$1" 67 + local tauri_dir="$2" 68 + local lib_path="$3" 69 + local repo_root 70 + repo_root="$(get_repo_root)" 71 + 72 + local cache_dir="$repo_root/$IOS_CACHE_DIR/$build_type" 73 + 74 + # Create cache directory if needed 75 + mkdir -p "$cache_dir" 76 + 77 + # Copy library to cache 78 + cp "$lib_path" "$cache_dir/libapp.a" 79 + 80 + # Save checksum 81 + get_source_hash "$tauri_dir" > "$cache_dir/checksum.txt" 82 + 83 + echo "Cache updated: $build_type build saved to $cache_dir" 84 + } 85 + 86 + # Copy cached library to workspace destination 87 + # Usage: use_cache debug|release dest_path 88 + use_cache() { 89 + local build_type="$1" 90 + local dest_path="$2" 91 + local repo_root 92 + repo_root="$(get_repo_root)" 93 + 94 + local cache_dir="$repo_root/$IOS_CACHE_DIR/$build_type" 95 + local lib_path="$cache_dir/libapp.a" 96 + 97 + # Ensure destination directory exists 98 + mkdir -p "$(dirname "$dest_path")" 99 + 100 + # Copy from cache 101 + cp "$lib_path" "$dest_path" 102 + 103 + echo "Using cached $build_type build: $dest_path" 104 + } 105 + 106 + # Clear cache for a build type or all caches 107 + # Usage: clear_cache [debug|release] 108 + clear_cache() { 109 + local build_type="$1" 110 + local repo_root 111 + repo_root="$(get_repo_root)" 112 + 113 + if [ -z "$build_type" ]; then 114 + rm -rf "$repo_root/$IOS_CACHE_DIR" 115 + echo "Cleared all iOS build caches" 116 + else 117 + rm -rf "$repo_root/$IOS_CACHE_DIR/$build_type" 118 + echo "Cleared $build_type iOS build cache" 119 + fi 120 + }