@google/gemini-cli 0.52.0 → 0.53.0-preview.0
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/bundle/{chunk-BG2B4WV5.js → chunk-27C6XFMY.js} +184 -87
- package/bundle/{chunk-24R3JJRB.js → chunk-4OVORMGE.js} +1 -1
- package/bundle/{chunk-7LQRUKPT.js → chunk-5RDOS7UZ.js} +168 -81
- package/bundle/{chunk-P4IYYRKC.js → chunk-6AD4A2WF.js} +1 -1
- package/bundle/{chunk-ILANJJAD.js → chunk-7VUO7T2C.js} +3 -3
- package/bundle/{chunk-UB6EWNWI.js → chunk-BDSSP5BZ.js} +1 -1
- package/bundle/{chunk-ZLL3UXFN.js → chunk-BRZT2CQU.js} +1 -1
- package/bundle/{chunk-Y5NBDPUP.js → chunk-BX6DTJOD.js} +1 -1
- package/bundle/{chunk-B54TROKV.js → chunk-CTNBR234.js} +2 -2
- package/bundle/{chunk-F7WLNK6O.js → chunk-GHVD6PXK.js} +1 -1
- package/bundle/{chunk-IQDAUFS5.js → chunk-HF533LET.js} +184 -87
- package/bundle/{chunk-6Z2GQGII.js → chunk-HVYOZEAP.js} +3 -3
- package/bundle/{chunk-SZMWXEEI.js → chunk-IODN6H35.js} +1 -1
- package/bundle/{chunk-ZINRZXUN.js → chunk-LUM47MYE.js} +1 -1
- package/bundle/{chunk-JB342GRK.js → chunk-PKFZO3SN.js} +1 -1
- package/bundle/{chunk-FBGJOW3X.js → chunk-PLMRBJEA.js} +2 -2
- package/bundle/{chunk-OFOMMM4A.js → chunk-PVCJCQWY.js} +1 -1
- package/bundle/{chunk-SNUSRD5O.js → chunk-QSTUV3QH.js} +7 -7
- package/bundle/{chunk-RHQ5RWRW.js → chunk-SLQKIE73.js} +1 -1
- package/bundle/{chunk-SDT3SMSX.js → chunk-SXKIOLLX.js} +7 -7
- package/bundle/{chunk-PTIIH33O.js → chunk-UEI42N7R.js} +3 -3
- package/bundle/{chunk-THWSXFSH.js → chunk-UJVAPQ7V.js} +1 -1
- package/bundle/{chunk-ZNHHIFQN.js → chunk-WVDR5L2V.js} +7 -7
- package/bundle/{chunk-ALVMXQYL.js → chunk-XH7QC2TB.js} +2 -2
- package/bundle/{cleanup-2EKCP4Q4.js → cleanup-4FVUYQ7H.js} +2 -2
- package/bundle/{cleanup-G4HKUFT2.js → cleanup-XETKRH7X.js} +2 -2
- package/bundle/{cleanup-X3KOZTUK.js → cleanup-ZR34H2GU.js} +2 -2
- package/bundle/{core-ZIYDWN4V.js → core-I73XKBPY.js} +3 -1
- package/bundle/{dist-WD2ZO2DC.js → core-PVG4D2MR.js} +3 -1
- package/bundle/{devtoolsService-KJJEIBQ2.js → devtoolsService-IVPTF5ZJ.js} +2 -2
- package/bundle/{devtoolsService-UB2E5377.js → devtoolsService-OUX7PWP3.js} +2 -2
- package/bundle/{devtoolsService-NFNYJGMS.js → devtoolsService-QYDPHHFN.js} +2 -2
- package/bundle/{core-JDFTBJXX.js → dist-PRJQFPSQ.js} +3 -1
- package/bundle/docs/CONTRIBUTING.md +3 -3
- package/bundle/docs/cli/sandbox.md +3 -2
- package/bundle/docs/reference/configuration.md +4 -4
- package/bundle/{gemini-Y4OW3GPV.js → gemini-E2E3U6PR.js} +14 -14
- package/bundle/{gemini-6K6USV55.js → gemini-LA6TNI44.js} +14 -14
- package/bundle/{gemini-NJ7GQJ2G.js → gemini-QKB55UV6.js} +14 -14
- package/bundle/gemini.js +7 -7
- package/bundle/{interactiveCli-NNJDT7RS.js → interactiveCli-ADLAWPXN.js} +8 -8
- package/bundle/{interactiveCli-3B23G3WW.js → interactiveCli-FS3OVPXQ.js} +8 -8
- package/bundle/{interactiveCli-3XBP73G4.js → interactiveCli-OD2LO24X.js} +8 -8
- package/bundle/{liteRtServerManager-MQS4LI5P.js → liteRtServerManager-3SKK7MNE.js} +4 -4
- package/bundle/{liteRtServerManager-PYCXZRAL.js → liteRtServerManager-O7PFOUFD.js} +4 -4
- package/bundle/{liteRtServerManager-A77B57ZY.js → liteRtServerManager-T2Z3RLS3.js} +4 -4
- package/bundle/{oauth2-provider-6EE3JV6M.js → oauth2-provider-DFVE3NYF.js} +1 -1
- package/bundle/{oauth2-provider-5JL2PKRR.js → oauth2-provider-E3S5DGLL.js} +1 -1
- package/bundle/{oauth2-provider-THDZ27ZX.js → oauth2-provider-Q433RA6I.js} +1 -1
- package/bundle/sandbox-macos-permissive-open.sb +113 -4
- package/bundle/sandbox-macos-permissive-proxied.sb +111 -9
- package/bundle/{start-SV5TPWOH.js → start-3FPYJBRX.js} +6 -6
- package/bundle/{start-YON746V5.js → start-5G2UDZZ6.js} +6 -6
- package/bundle/{start-K5QQG7K4.js → start-XMJ23QZN.js} +6 -6
- package/package.json +1 -1
package/bundle/gemini.js
CHANGED
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
RELAUNCH_EXIT_CODE,
|
|
5
5
|
getScriptArgs,
|
|
6
6
|
getSpawnConfig
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-PLMRBJEA.js";
|
|
8
|
+
import "./chunk-BRZT2CQU.js";
|
|
9
|
+
import "./chunk-BX6DTJOD.js";
|
|
10
|
+
import "./chunk-5RDOS7UZ.js";
|
|
11
11
|
import "./chunk-664ZODQF.js";
|
|
12
12
|
import "./chunk-IUUIT4SU.js";
|
|
13
13
|
import "./chunk-TUDYL3X4.js";
|
|
@@ -115,9 +115,9 @@ ${error instanceof Error ? error.stack ?? error.message : String(error)}
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
} else {
|
|
118
|
-
const { main } = await import("./gemini-
|
|
119
|
-
const { FatalError, writeToStderr } = await import("./dist-
|
|
120
|
-
const { runExitCleanup } = await import("./cleanup-
|
|
118
|
+
const { main } = await import("./gemini-LA6TNI44.js");
|
|
119
|
+
const { FatalError, writeToStderr } = await import("./dist-PRJQFPSQ.js");
|
|
120
|
+
const { runExitCleanup } = await import("./cleanup-ZR34H2GU.js");
|
|
121
121
|
main().catch(async (error) => {
|
|
122
122
|
const cleanupTimeout = setTimeout(() => {
|
|
123
123
|
writeToStderr("Cleanup timed out, forcing exit...\n");
|
|
@@ -157,10 +157,10 @@ import {
|
|
|
157
157
|
widestLineFromStyledChars,
|
|
158
158
|
wordBreakStyledChars,
|
|
159
159
|
wrapStyledChars
|
|
160
|
-
} from "./chunk-
|
|
160
|
+
} from "./chunk-WVDR5L2V.js";
|
|
161
161
|
import {
|
|
162
162
|
require_source
|
|
163
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-SLQKIE73.js";
|
|
164
164
|
import {
|
|
165
165
|
appEvents
|
|
166
166
|
} from "./chunk-5PS3AYFU.js";
|
|
@@ -214,24 +214,24 @@ import {
|
|
|
214
214
|
stripAnsi,
|
|
215
215
|
stripUnsafeCharacters,
|
|
216
216
|
toCodePoints
|
|
217
|
-
} from "./chunk-
|
|
217
|
+
} from "./chunk-6AD4A2WF.js";
|
|
218
218
|
import {
|
|
219
219
|
handleAutoUpdate,
|
|
220
220
|
isDevelopment,
|
|
221
221
|
relaunchApp,
|
|
222
222
|
setUpdateHandler
|
|
223
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-CTNBR234.js";
|
|
224
224
|
import {
|
|
225
225
|
isTodoList,
|
|
226
226
|
mapCoreStatusToDisplayStatus,
|
|
227
227
|
require_react
|
|
228
|
-
} from "./chunk-
|
|
228
|
+
} from "./chunk-GHVD6PXK.js";
|
|
229
229
|
import {
|
|
230
230
|
registerCleanup,
|
|
231
231
|
removeCleanup,
|
|
232
232
|
runExitCleanup,
|
|
233
233
|
setupTtyCheck
|
|
234
|
-
} from "./chunk-
|
|
234
|
+
} from "./chunk-PVCJCQWY.js";
|
|
235
235
|
import {
|
|
236
236
|
ACTIVATE_SKILL_TOOL_NAME,
|
|
237
237
|
AGENT_TOOL_NAME,
|
|
@@ -412,7 +412,7 @@ import {
|
|
|
412
412
|
validatePlanContent,
|
|
413
413
|
validatePlanPath,
|
|
414
414
|
writeToStdout
|
|
415
|
-
} from "./chunk-
|
|
415
|
+
} from "./chunk-HF533LET.js";
|
|
416
416
|
import "./chunk-664ZODQF.js";
|
|
417
417
|
import "./chunk-IUUIT4SU.js";
|
|
418
418
|
import "./chunk-TUDYL3X4.js";
|
|
@@ -33778,7 +33778,7 @@ ${queuedText}` : queuedText;
|
|
|
33778
33778
|
if (keyMatchers["app.showErrorDetails" /* SHOW_ERROR_DETAILS */](key)) {
|
|
33779
33779
|
if (settings.merged.general.devtools) {
|
|
33780
33780
|
void (async () => {
|
|
33781
|
-
const { toggleDevToolsPanel } = await import("./devtoolsService-
|
|
33781
|
+
const { toggleDevToolsPanel } = await import("./devtoolsService-IVPTF5ZJ.js");
|
|
33782
33782
|
await toggleDevToolsPanel(
|
|
33783
33783
|
config,
|
|
33784
33784
|
showErrorDetails,
|
|
@@ -157,10 +157,10 @@ import {
|
|
|
157
157
|
widestLineFromStyledChars,
|
|
158
158
|
wordBreakStyledChars,
|
|
159
159
|
wrapStyledChars
|
|
160
|
-
} from "./chunk-
|
|
160
|
+
} from "./chunk-QSTUV3QH.js";
|
|
161
161
|
import {
|
|
162
162
|
require_source
|
|
163
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-4OVORMGE.js";
|
|
164
164
|
import {
|
|
165
165
|
appEvents
|
|
166
166
|
} from "./chunk-5PS3AYFU.js";
|
|
@@ -214,24 +214,24 @@ import {
|
|
|
214
214
|
stripAnsi,
|
|
215
215
|
stripUnsafeCharacters,
|
|
216
216
|
toCodePoints
|
|
217
|
-
} from "./chunk-
|
|
217
|
+
} from "./chunk-IODN6H35.js";
|
|
218
218
|
import {
|
|
219
219
|
handleAutoUpdate,
|
|
220
220
|
isDevelopment,
|
|
221
221
|
relaunchApp,
|
|
222
222
|
setUpdateHandler
|
|
223
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-XH7QC2TB.js";
|
|
224
224
|
import {
|
|
225
225
|
isTodoList,
|
|
226
226
|
mapCoreStatusToDisplayStatus,
|
|
227
227
|
require_react
|
|
228
|
-
} from "./chunk-
|
|
228
|
+
} from "./chunk-BDSSP5BZ.js";
|
|
229
229
|
import {
|
|
230
230
|
registerCleanup,
|
|
231
231
|
removeCleanup,
|
|
232
232
|
runExitCleanup,
|
|
233
233
|
setupTtyCheck
|
|
234
|
-
} from "./chunk-
|
|
234
|
+
} from "./chunk-PKFZO3SN.js";
|
|
235
235
|
import {
|
|
236
236
|
ACTIVATE_SKILL_TOOL_NAME,
|
|
237
237
|
AGENT_TOOL_NAME,
|
|
@@ -412,7 +412,7 @@ import {
|
|
|
412
412
|
validatePlanContent,
|
|
413
413
|
validatePlanPath,
|
|
414
414
|
writeToStdout
|
|
415
|
-
} from "./chunk-
|
|
415
|
+
} from "./chunk-27C6XFMY.js";
|
|
416
416
|
import "./chunk-664ZODQF.js";
|
|
417
417
|
import "./chunk-IUUIT4SU.js";
|
|
418
418
|
import "./chunk-TUDYL3X4.js";
|
|
@@ -33778,7 +33778,7 @@ ${queuedText}` : queuedText;
|
|
|
33778
33778
|
if (keyMatchers["app.showErrorDetails" /* SHOW_ERROR_DETAILS */](key)) {
|
|
33779
33779
|
if (settings.merged.general.devtools) {
|
|
33780
33780
|
void (async () => {
|
|
33781
|
-
const { toggleDevToolsPanel } = await import("./devtoolsService-
|
|
33781
|
+
const { toggleDevToolsPanel } = await import("./devtoolsService-QYDPHHFN.js");
|
|
33782
33782
|
await toggleDevToolsPanel(
|
|
33783
33783
|
config,
|
|
33784
33784
|
showErrorDetails,
|
|
@@ -157,10 +157,10 @@ import {
|
|
|
157
157
|
widestLineFromStyledChars,
|
|
158
158
|
wordBreakStyledChars,
|
|
159
159
|
wrapStyledChars
|
|
160
|
-
} from "./chunk-
|
|
160
|
+
} from "./chunk-SXKIOLLX.js";
|
|
161
161
|
import {
|
|
162
162
|
require_source
|
|
163
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-UJVAPQ7V.js";
|
|
164
164
|
import {
|
|
165
165
|
appEvents
|
|
166
166
|
} from "./chunk-5PS3AYFU.js";
|
|
@@ -214,24 +214,24 @@ import {
|
|
|
214
214
|
stripAnsi,
|
|
215
215
|
stripUnsafeCharacters,
|
|
216
216
|
toCodePoints
|
|
217
|
-
} from "./chunk-
|
|
217
|
+
} from "./chunk-LUM47MYE.js";
|
|
218
218
|
import {
|
|
219
219
|
handleAutoUpdate,
|
|
220
220
|
isDevelopment,
|
|
221
221
|
relaunchApp,
|
|
222
222
|
setUpdateHandler
|
|
223
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-PLMRBJEA.js";
|
|
224
224
|
import {
|
|
225
225
|
isTodoList,
|
|
226
226
|
mapCoreStatusToDisplayStatus,
|
|
227
227
|
require_react
|
|
228
|
-
} from "./chunk-
|
|
228
|
+
} from "./chunk-BRZT2CQU.js";
|
|
229
229
|
import {
|
|
230
230
|
registerCleanup,
|
|
231
231
|
removeCleanup,
|
|
232
232
|
runExitCleanup,
|
|
233
233
|
setupTtyCheck
|
|
234
|
-
} from "./chunk-
|
|
234
|
+
} from "./chunk-BX6DTJOD.js";
|
|
235
235
|
import {
|
|
236
236
|
ACTIVATE_SKILL_TOOL_NAME,
|
|
237
237
|
AGENT_TOOL_NAME,
|
|
@@ -431,7 +431,7 @@ import {
|
|
|
431
431
|
validatePlanContent,
|
|
432
432
|
validatePlanPath,
|
|
433
433
|
writeToStdout
|
|
434
|
-
} from "./chunk-
|
|
434
|
+
} from "./chunk-5RDOS7UZ.js";
|
|
435
435
|
import "./chunk-664ZODQF.js";
|
|
436
436
|
import "./chunk-IUUIT4SU.js";
|
|
437
437
|
import "./chunk-TUDYL3X4.js";
|
|
@@ -33797,7 +33797,7 @@ ${queuedText}` : queuedText;
|
|
|
33797
33797
|
if (keyMatchers["app.showErrorDetails" /* SHOW_ERROR_DETAILS */](key)) {
|
|
33798
33798
|
if (settings.merged.general.devtools) {
|
|
33799
33799
|
void (async () => {
|
|
33800
|
-
const { toggleDevToolsPanel } = await import("./devtoolsService-
|
|
33800
|
+
const { toggleDevToolsPanel } = await import("./devtoolsService-OUX7PWP3.js");
|
|
33801
33801
|
await toggleDevToolsPanel(
|
|
33802
33802
|
config,
|
|
33803
33803
|
showErrorDetails,
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
DEFAULT_PORT,
|
|
4
4
|
getBinaryPath,
|
|
5
5
|
isServerRunning
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-LUM47MYE.js";
|
|
7
|
+
import "./chunk-BRZT2CQU.js";
|
|
8
8
|
import {
|
|
9
9
|
debugLogger
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5RDOS7UZ.js";
|
|
11
11
|
import "./chunk-664ZODQF.js";
|
|
12
12
|
import "./chunk-IUUIT4SU.js";
|
|
13
13
|
import "./chunk-TUDYL3X4.js";
|
|
@@ -41,7 +41,7 @@ var LiteRtServerManager = class {
|
|
|
41
41
|
`[LiteRtServerManager] Auto-starting LiteRT server on port ${port}...`
|
|
42
42
|
);
|
|
43
43
|
try {
|
|
44
|
-
const { startServer } = await import("./start-
|
|
44
|
+
const { startServer } = await import("./start-3FPYJBRX.js");
|
|
45
45
|
const started = await startServer(binaryPath, port);
|
|
46
46
|
if (started) {
|
|
47
47
|
debugLogger.log(`[LiteRtServerManager] Server started on port ${port}`);
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
DEFAULT_PORT,
|
|
4
4
|
getBinaryPath,
|
|
5
5
|
isServerRunning
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-6AD4A2WF.js";
|
|
7
|
+
import "./chunk-GHVD6PXK.js";
|
|
8
8
|
import {
|
|
9
9
|
debugLogger
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HF533LET.js";
|
|
11
11
|
import "./chunk-664ZODQF.js";
|
|
12
12
|
import "./chunk-IUUIT4SU.js";
|
|
13
13
|
import "./chunk-TUDYL3X4.js";
|
|
@@ -41,7 +41,7 @@ var LiteRtServerManager = class {
|
|
|
41
41
|
`[LiteRtServerManager] Auto-starting LiteRT server on port ${port}...`
|
|
42
42
|
);
|
|
43
43
|
try {
|
|
44
|
-
const { startServer } = await import("./start-
|
|
44
|
+
const { startServer } = await import("./start-XMJ23QZN.js");
|
|
45
45
|
const started = await startServer(binaryPath, port);
|
|
46
46
|
if (started) {
|
|
47
47
|
debugLogger.log(`[LiteRtServerManager] Server started on port ${port}`);
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
DEFAULT_PORT,
|
|
4
4
|
getBinaryPath,
|
|
5
5
|
isServerRunning
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-IODN6H35.js";
|
|
7
|
+
import "./chunk-BDSSP5BZ.js";
|
|
8
8
|
import {
|
|
9
9
|
debugLogger
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-27C6XFMY.js";
|
|
11
11
|
import "./chunk-664ZODQF.js";
|
|
12
12
|
import "./chunk-IUUIT4SU.js";
|
|
13
13
|
import "./chunk-TUDYL3X4.js";
|
|
@@ -41,7 +41,7 @@ var LiteRtServerManager = class {
|
|
|
41
41
|
`[LiteRtServerManager] Auto-starting LiteRT server on port ${port}...`
|
|
42
42
|
);
|
|
43
43
|
try {
|
|
44
|
-
const { startServer } = await import("./start-
|
|
44
|
+
const { startServer } = await import("./start-5G2UDZZ6.js");
|
|
45
45
|
const started = await startServer(binaryPath, port);
|
|
46
46
|
if (started) {
|
|
47
47
|
debugLogger.log(`[LiteRtServerManager] Server started on port ${port}`);
|
|
@@ -1,10 +1,74 @@
|
|
|
1
1
|
(version 1)
|
|
2
2
|
|
|
3
|
-
;;
|
|
4
|
-
|
|
3
|
+
;; permissive-open: uses (deny default) and explicitly allows the operations the
|
|
4
|
+
;; CLI needs, matching the restrictive-* / strict-* profiles. Keep the allow-list
|
|
5
|
+
;; minimal and reviewed; do not switch to (allow default).
|
|
6
|
+
;;
|
|
7
|
+
;; Keep the non-network rules in sync with sandbox-macos-permissive-proxied.sb:
|
|
8
|
+
;; the two profiles are intentionally identical except for their network rules
|
|
9
|
+
;; ("open" allows broad outbound; "proxied" routes outbound through the proxy).
|
|
10
|
+
(deny default)
|
|
5
11
|
|
|
6
|
-
;;
|
|
7
|
-
(
|
|
12
|
+
;; allow reading files from anywhere on host
|
|
13
|
+
(allow file-read*)
|
|
14
|
+
|
|
15
|
+
;; allow exec/fork (children inherit this policy, so they stay sandboxed)
|
|
16
|
+
(allow process-exec)
|
|
17
|
+
(allow process-fork)
|
|
18
|
+
|
|
19
|
+
;; allow signals to self, e.g. SIGPIPE on write to closed pipe
|
|
20
|
+
(allow signal (target self))
|
|
21
|
+
|
|
22
|
+
;; allow read access to specific information about system
|
|
23
|
+
;; from https://source.chromium.org/chromium/chromium/src/+/main:sandbox/policy/mac/common.sb;l=273-319;drc=7b3962fe2e5fc9e2ee58000dc8fbf3429d84d3bd
|
|
24
|
+
(allow sysctl-read
|
|
25
|
+
(sysctl-name "hw.activecpu")
|
|
26
|
+
(sysctl-name "hw.busfrequency_compat")
|
|
27
|
+
(sysctl-name "hw.byteorder")
|
|
28
|
+
(sysctl-name "hw.cacheconfig")
|
|
29
|
+
(sysctl-name "hw.cachelinesize_compat")
|
|
30
|
+
(sysctl-name "hw.cpufamily")
|
|
31
|
+
(sysctl-name "hw.cpufrequency_compat")
|
|
32
|
+
(sysctl-name "hw.cputype")
|
|
33
|
+
(sysctl-name "hw.l1dcachesize_compat")
|
|
34
|
+
(sysctl-name "hw.l1icachesize_compat")
|
|
35
|
+
(sysctl-name "hw.l2cachesize_compat")
|
|
36
|
+
(sysctl-name "hw.l3cachesize_compat")
|
|
37
|
+
(sysctl-name "hw.logicalcpu_max")
|
|
38
|
+
(sysctl-name "hw.machine")
|
|
39
|
+
(sysctl-name "hw.ncpu")
|
|
40
|
+
(sysctl-name "hw.nperflevels")
|
|
41
|
+
(sysctl-name "hw.optional.arm.FEAT_BF16")
|
|
42
|
+
(sysctl-name "hw.optional.arm.FEAT_DotProd")
|
|
43
|
+
(sysctl-name "hw.optional.arm.FEAT_FCMA")
|
|
44
|
+
(sysctl-name "hw.optional.arm.FEAT_FHM")
|
|
45
|
+
(sysctl-name "hw.optional.arm.FEAT_FP16")
|
|
46
|
+
(sysctl-name "hw.optional.arm.FEAT_I8MM")
|
|
47
|
+
(sysctl-name "hw.optional.arm.FEAT_JSCVT")
|
|
48
|
+
(sysctl-name "hw.optional.arm.FEAT_LSE")
|
|
49
|
+
(sysctl-name "hw.optional.arm.FEAT_RDM")
|
|
50
|
+
(sysctl-name "hw.optional.arm.FEAT_SHA512")
|
|
51
|
+
(sysctl-name "hw.optional.armv8_2_sha512")
|
|
52
|
+
(sysctl-name "hw.packages")
|
|
53
|
+
(sysctl-name "hw.pagesize_compat")
|
|
54
|
+
(sysctl-name "hw.physicalcpu_max")
|
|
55
|
+
(sysctl-name "hw.tbfrequency_compat")
|
|
56
|
+
(sysctl-name "hw.vectorunit")
|
|
57
|
+
(sysctl-name "kern.hostname")
|
|
58
|
+
(sysctl-name "kern.maxfilesperproc")
|
|
59
|
+
(sysctl-name "kern.osproductversion")
|
|
60
|
+
(sysctl-name "kern.osrelease")
|
|
61
|
+
(sysctl-name "kern.ostype")
|
|
62
|
+
(sysctl-name "kern.osvariant_status")
|
|
63
|
+
(sysctl-name "kern.osversion")
|
|
64
|
+
(sysctl-name "kern.secure_kernel")
|
|
65
|
+
(sysctl-name "kern.usrstack64")
|
|
66
|
+
(sysctl-name "kern.version")
|
|
67
|
+
(sysctl-name "sysctl.proc_cputype")
|
|
68
|
+
(sysctl-name-prefix "hw.perflevel")
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
;; allow writes only to specific paths (deny default already blocks the rest)
|
|
8
72
|
(allow file-write*
|
|
9
73
|
(subpath (param "TARGET_DIR"))
|
|
10
74
|
(subpath (param "TMP_DIR"))
|
|
@@ -24,3 +88,48 @@
|
|
|
24
88
|
(literal "/dev/ptmx")
|
|
25
89
|
(regex #"^/dev/ttys[0-9]*$")
|
|
26
90
|
)
|
|
91
|
+
|
|
92
|
+
;; allow the mach services normal workflows need under deny-default: sysmond for
|
|
93
|
+
;; process listing (pgrep), plus DNS resolution (mDNSResponder), directory
|
|
94
|
+
;; services (opendirectoryd), and certificate validation (trustd/ocspd).
|
|
95
|
+
;; This set mirrors the deny-default profile in
|
|
96
|
+
;; packages/core/src/sandbox/macos/baseProfile.ts (its NETWORK_SEATBELT_PROFILE),
|
|
97
|
+
;; which restrictive-open reaches only implicitly via (allow network-outbound).
|
|
98
|
+
;; Keep this allow-list minimal and reviewed.
|
|
99
|
+
(allow mach-lookup
|
|
100
|
+
(global-name "com.apple.sysmond")
|
|
101
|
+
(global-name "com.apple.system.opendirectoryd.libinfo")
|
|
102
|
+
(global-name "com.apple.system.opendirectoryd.membership")
|
|
103
|
+
(global-name "com.apple.bsd.dirhelper")
|
|
104
|
+
(global-name "com.apple.SecurityServer")
|
|
105
|
+
(global-name "com.apple.networkd")
|
|
106
|
+
(global-name "com.apple.ocspd")
|
|
107
|
+
(global-name "com.apple.trustd")
|
|
108
|
+
(global-name "com.apple.trustd.agent")
|
|
109
|
+
(global-name "com.apple.mDNSResponder")
|
|
110
|
+
(global-name "com.apple.mDNSResponderHelper")
|
|
111
|
+
(global-name "com.apple.SystemConfiguration.DNSConfiguration")
|
|
112
|
+
(global-name "com.apple.SystemConfiguration.configd")
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
;; AF_SYSTEM socket used by the network stack (from baseProfile.ts)
|
|
116
|
+
(allow system-socket
|
|
117
|
+
(require-all
|
|
118
|
+
(socket-domain AF_SYSTEM)
|
|
119
|
+
(socket-protocol 2)
|
|
120
|
+
)
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
;; enable terminal access required by ink
|
|
124
|
+
;; fixes setRawMode EPERM failure (at node:tty:81:24)
|
|
125
|
+
(allow file-ioctl (regex #"^/dev/tty.*"))
|
|
126
|
+
|
|
127
|
+
;; allow inbound network traffic (local dev/test servers, the debugger on :9229,
|
|
128
|
+
;; OAuth localhost callbacks)
|
|
129
|
+
(allow network-inbound (local ip "*:*"))
|
|
130
|
+
|
|
131
|
+
;; allow binding local ports (dev/test servers, OAuth localhost listeners)
|
|
132
|
+
(allow network-bind (local ip "*:*"))
|
|
133
|
+
|
|
134
|
+
;; allow all outbound network traffic
|
|
135
|
+
(allow network-outbound)
|
|
@@ -1,10 +1,76 @@
|
|
|
1
1
|
(version 1)
|
|
2
2
|
|
|
3
|
-
;;
|
|
4
|
-
|
|
3
|
+
;; permissive-proxied: uses (deny default) and explicitly allows the operations
|
|
4
|
+
;; the CLI needs, matching the restrictive-* / strict-* profiles. Keep the
|
|
5
|
+
;; allow-list minimal and reviewed; do not switch to (allow default).
|
|
6
|
+
;;
|
|
7
|
+
;; Keep the non-network rules in sync with sandbox-macos-permissive-open.sb:
|
|
8
|
+
;; the two profiles are intentionally identical except for their network rules
|
|
9
|
+
;; ("open" allows broad outbound; "proxied" routes outbound through the proxy).
|
|
10
|
+
(deny default)
|
|
5
11
|
|
|
6
|
-
;;
|
|
7
|
-
(
|
|
12
|
+
;; allow reading files from anywhere on host
|
|
13
|
+
(allow file-read*)
|
|
14
|
+
|
|
15
|
+
;; allow exec/fork (children inherit this policy, so they stay sandboxed)
|
|
16
|
+
(allow process-exec)
|
|
17
|
+
(allow process-fork)
|
|
18
|
+
|
|
19
|
+
;; allow signals to self, e.g. SIGPIPE on write to closed pipe
|
|
20
|
+
(allow signal (target self))
|
|
21
|
+
|
|
22
|
+
;; allow read access to specific information about system
|
|
23
|
+
;; from https://source.chromium.org/chromium/chromium/src/+/main:sandbox/policy/mac/common.sb;l=273-319;drc=7b3962fe2e5fc9e2ee58000dc8fbf3429d84d3bd
|
|
24
|
+
(allow sysctl-read
|
|
25
|
+
(sysctl-name "hw.activecpu")
|
|
26
|
+
(sysctl-name "hw.busfrequency_compat")
|
|
27
|
+
(sysctl-name "hw.byteorder")
|
|
28
|
+
(sysctl-name "hw.cacheconfig")
|
|
29
|
+
(sysctl-name "hw.cachelinesize_compat")
|
|
30
|
+
(sysctl-name "hw.cpufamily")
|
|
31
|
+
(sysctl-name "hw.cpufrequency_compat")
|
|
32
|
+
(sysctl-name "hw.cputype")
|
|
33
|
+
(sysctl-name "hw.l1dcachesize_compat")
|
|
34
|
+
(sysctl-name "hw.l1icachesize_compat")
|
|
35
|
+
(sysctl-name "hw.l2cachesize_compat")
|
|
36
|
+
(sysctl-name "hw.l3cachesize_compat")
|
|
37
|
+
(sysctl-name "hw.logicalcpu_max")
|
|
38
|
+
(sysctl-name "hw.machine")
|
|
39
|
+
(sysctl-name "hw.ncpu")
|
|
40
|
+
(sysctl-name "hw.nperflevels")
|
|
41
|
+
(sysctl-name "hw.optional.arm.FEAT_BF16")
|
|
42
|
+
(sysctl-name "hw.optional.arm.FEAT_DotProd")
|
|
43
|
+
(sysctl-name "hw.optional.arm.FEAT_FCMA")
|
|
44
|
+
(sysctl-name "hw.optional.arm.FEAT_FHM")
|
|
45
|
+
(sysctl-name "hw.optional.arm.FEAT_FP16")
|
|
46
|
+
(sysctl-name "hw.optional.arm.FEAT_I8MM")
|
|
47
|
+
(sysctl-name "hw.optional.arm.FEAT_JSCVT")
|
|
48
|
+
(sysctl-name "hw.optional.arm.FEAT_LSE")
|
|
49
|
+
(sysctl-name "hw.optional.arm.FEAT_RDM")
|
|
50
|
+
(sysctl-name "hw.optional.arm.FEAT_SHA512")
|
|
51
|
+
(sysctl-name "hw.optional.armv8_2_sha512")
|
|
52
|
+
(sysctl-name "hw.packages")
|
|
53
|
+
(sysctl-name "hw.pagesize_compat")
|
|
54
|
+
(sysctl-name "hw.physicalcpu_max")
|
|
55
|
+
(sysctl-name "hw.tbfrequency_compat")
|
|
56
|
+
(sysctl-name "hw.vectorunit")
|
|
57
|
+
(sysctl-name "kern.hostname")
|
|
58
|
+
(sysctl-name "kern.maxfilesperproc")
|
|
59
|
+
(sysctl-name "kern.osproductversion")
|
|
60
|
+
(sysctl-name "kern.osrelease")
|
|
61
|
+
(sysctl-name "kern.ostype")
|
|
62
|
+
(sysctl-name "kern.osvariant_status")
|
|
63
|
+
(sysctl-name "kern.osversion")
|
|
64
|
+
(sysctl-name "kern.secure_kernel")
|
|
65
|
+
(sysctl-name "kern.usrstack64")
|
|
66
|
+
(sysctl-name "kern.version")
|
|
67
|
+
(sysctl-name "sysctl.proc_cputype")
|
|
68
|
+
(sysctl-name-prefix "hw.perflevel")
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
;; allow writes only to specific paths (deny default already blocks the rest).
|
|
72
|
+
;; Mirrors permissive-open, including /dev/ptmx and the /dev/ttys regex needed
|
|
73
|
+
;; for PTY support under deny default.
|
|
8
74
|
(allow file-write*
|
|
9
75
|
(subpath (param "TARGET_DIR"))
|
|
10
76
|
(subpath (param "TMP_DIR"))
|
|
@@ -21,16 +87,52 @@
|
|
|
21
87
|
(literal "/dev/stdout")
|
|
22
88
|
(literal "/dev/stderr")
|
|
23
89
|
(literal "/dev/null")
|
|
90
|
+
(literal "/dev/ptmx")
|
|
91
|
+
(regex #"^/dev/ttys[0-9]*$")
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
;; allow the mach services normal workflows need under deny-default: sysmond for
|
|
95
|
+
;; process listing (pgrep), plus DNS resolution (mDNSResponder), directory
|
|
96
|
+
;; services (opendirectoryd), and certificate validation (trustd/ocspd).
|
|
97
|
+
;; This set mirrors the deny-default profile in
|
|
98
|
+
;; packages/core/src/sandbox/macos/baseProfile.ts (its NETWORK_SEATBELT_PROFILE),
|
|
99
|
+
;; which restrictive-proxied reaches only implicitly via (allow network-outbound).
|
|
100
|
+
;; Keep this allow-list minimal and reviewed.
|
|
101
|
+
(allow mach-lookup
|
|
102
|
+
(global-name "com.apple.sysmond")
|
|
103
|
+
(global-name "com.apple.system.opendirectoryd.libinfo")
|
|
104
|
+
(global-name "com.apple.system.opendirectoryd.membership")
|
|
105
|
+
(global-name "com.apple.bsd.dirhelper")
|
|
106
|
+
(global-name "com.apple.SecurityServer")
|
|
107
|
+
(global-name "com.apple.networkd")
|
|
108
|
+
(global-name "com.apple.ocspd")
|
|
109
|
+
(global-name "com.apple.trustd")
|
|
110
|
+
(global-name "com.apple.trustd.agent")
|
|
111
|
+
(global-name "com.apple.mDNSResponder")
|
|
112
|
+
(global-name "com.apple.mDNSResponderHelper")
|
|
113
|
+
(global-name "com.apple.SystemConfiguration.DNSConfiguration")
|
|
114
|
+
(global-name "com.apple.SystemConfiguration.configd")
|
|
24
115
|
)
|
|
25
116
|
|
|
26
|
-
;;
|
|
27
|
-
(
|
|
117
|
+
;; AF_SYSTEM socket used by the network stack (from baseProfile.ts)
|
|
118
|
+
(allow system-socket
|
|
119
|
+
(require-all
|
|
120
|
+
(socket-domain AF_SYSTEM)
|
|
121
|
+
(socket-protocol 2)
|
|
122
|
+
)
|
|
123
|
+
)
|
|
124
|
+
|
|
125
|
+
;; enable terminal access required by ink
|
|
126
|
+
;; fixes setRawMode EPERM failure (at node:tty:81:24)
|
|
127
|
+
(allow file-ioctl (regex #"^/dev/tty.*"))
|
|
128
|
+
|
|
129
|
+
;; allow inbound network traffic on debugger port
|
|
28
130
|
(allow network-inbound (local ip "localhost:9229"))
|
|
29
131
|
|
|
132
|
+
;; allow binding local ports (dev/test servers, OAuth localhost listeners)
|
|
133
|
+
(allow network-bind (local ip "*:*"))
|
|
134
|
+
|
|
30
135
|
;; deny all outbound network traffic EXCEPT through proxy on localhost:8877
|
|
31
136
|
;; set `GEMINI_SANDBOX_PROXY_COMMAND=<command>` to run proxy alongside sandbox
|
|
32
137
|
;; proxy must listen on :::8877 (see docs/examples/proxy-script.md)
|
|
33
|
-
(deny network-outbound)
|
|
34
138
|
(allow network-outbound (remote tcp "localhost:8877"))
|
|
35
|
-
|
|
36
|
-
(allow network-bind (local ip "*:*"))
|
|
@@ -2,12 +2,12 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
|
|
|
2
2
|
import {
|
|
3
3
|
startCommand,
|
|
4
4
|
startServer
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-7VUO7T2C.js";
|
|
6
|
+
import "./chunk-UJVAPQ7V.js";
|
|
7
|
+
import "./chunk-LUM47MYE.js";
|
|
8
|
+
import "./chunk-BRZT2CQU.js";
|
|
9
|
+
import "./chunk-BX6DTJOD.js";
|
|
10
|
+
import "./chunk-5RDOS7UZ.js";
|
|
11
11
|
import "./chunk-664ZODQF.js";
|
|
12
12
|
import "./chunk-IUUIT4SU.js";
|
|
13
13
|
import "./chunk-TUDYL3X4.js";
|
|
@@ -2,12 +2,12 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
|
|
|
2
2
|
import {
|
|
3
3
|
startCommand,
|
|
4
4
|
startServer
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-UEI42N7R.js";
|
|
6
|
+
import "./chunk-4OVORMGE.js";
|
|
7
|
+
import "./chunk-IODN6H35.js";
|
|
8
|
+
import "./chunk-BDSSP5BZ.js";
|
|
9
|
+
import "./chunk-PKFZO3SN.js";
|
|
10
|
+
import "./chunk-27C6XFMY.js";
|
|
11
11
|
import "./chunk-664ZODQF.js";
|
|
12
12
|
import "./chunk-IUUIT4SU.js";
|
|
13
13
|
import "./chunk-TUDYL3X4.js";
|
|
@@ -2,12 +2,12 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
|
|
|
2
2
|
import {
|
|
3
3
|
startCommand,
|
|
4
4
|
startServer
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-HVYOZEAP.js";
|
|
6
|
+
import "./chunk-SLQKIE73.js";
|
|
7
|
+
import "./chunk-6AD4A2WF.js";
|
|
8
|
+
import "./chunk-GHVD6PXK.js";
|
|
9
|
+
import "./chunk-PVCJCQWY.js";
|
|
10
|
+
import "./chunk-HF533LET.js";
|
|
11
11
|
import "./chunk-664ZODQF.js";
|
|
12
12
|
import "./chunk-IUUIT4SU.js";
|
|
13
13
|
import "./chunk-TUDYL3X4.js";
|