@iflow-ai/iflow-cli 0.1.4 → 0.1.6
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 +10 -44
- package/bundle/sandbox-macos-permissive-closed.sb +26 -0
- package/bundle/sandbox-macos-permissive-open.sb +19 -0
- package/bundle/sandbox-macos-permissive-proxied.sb +31 -0
- package/bundle/sandbox-macos-restrictive-closed.sb +87 -0
- package/bundle/sandbox-macos-restrictive-open.sb +90 -0
- package/bundle/sandbox-macos-restrictive-proxied.sb +92 -0
- package/package.json +6 -7
package/README.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# 🤖 iFlow CLI
|
|
2
|
+

|
|
2
3
|
|
|
3
4
|
**English** | [中文](README_CN.md) | [日本語](README_JA.md) | [한국어](README_KO.md) | [Français](README_FR.md) | [Deutsch](README_DE.md) | [Español](README_ES.md) | [Русский](README_RU.md)
|
|
4
5
|
|
|
@@ -14,7 +15,6 @@ iFlow CLI is a powerful AI assistant that runs directly in your terminal. It sea
|
|
|
14
15
|
## 📥 Installation
|
|
15
16
|
|
|
16
17
|
### System requirements
|
|
17
|
-
|
|
18
18
|
- Operating Systems: macOS 10.15+, Ubuntu 20.04+/Debian 10+, or Windows 10+ (with WSL 1, WSL 2, or Git for Windows)
|
|
19
19
|
- Hardware: 4GB+ RAM
|
|
20
20
|
- Software: Node.js 18+
|
|
@@ -22,31 +22,13 @@ iFlow CLI is a powerful AI assistant that runs directly in your terminal. It sea
|
|
|
22
22
|
- Shell: Works best in Bash, Zsh or Fish
|
|
23
23
|
|
|
24
24
|
### install command
|
|
25
|
-
|
|
26
25
|
```shell
|
|
27
26
|
bash -c "$(curl -fsSL https://cloud.iflow.cn/iflow-cli/install.sh)"
|
|
28
27
|
```
|
|
29
28
|
|
|
30
29
|
This command automatically installs all necessary dependencies for your terminal.
|
|
31
30
|
|
|
32
|
-
**Windows Users**:
|
|
33
|
-
|
|
34
|
-
1. Go to https://nodejs.org/en/download to download the latest Node.js installer
|
|
35
|
-
2. Run the installer to install Node.js
|
|
36
|
-
3. Restart your terminal: CMD or PowerShell
|
|
37
|
-
4. Run `npm install -g @iflow-ai/iflow-cli` to install iFlow CLI
|
|
38
|
-
5. Run `iflow` to start iFlow CLI
|
|
39
|
-
|
|
40
|
-
If you are in China Mainland, you can use the following command to install iFlow CLI:
|
|
41
|
-
|
|
42
|
-
1. Go to https://cloud.iflow.cn/iflow-cli/nvm-setup.exe to download the latest nvm installer
|
|
43
|
-
2. Run the installer to install nvm
|
|
44
|
-
3. **Restart your terminal: CMD or PowerShell**
|
|
45
|
-
4. Run `nvm node_mirror https://npmmirror.com/mirrors/node/` and `nvm npm_mirror https://npmmirror.com/mirrors/npm/`
|
|
46
|
-
5. Run `nvm install 22` to install Node.js 22
|
|
47
|
-
6. Run `nvm use 22` to use Node.js 22
|
|
48
|
-
7. Run `npm install -g @iflow-ai/iflow-cli` to install iFlow CLI
|
|
49
|
-
8. Run `iflow` to start iFlow CLI
|
|
31
|
+
**Windows Users**: First launch `bash` in your terminal, then run the installation script above.
|
|
50
32
|
|
|
51
33
|
## 🔑 Authentication
|
|
52
34
|
|
|
@@ -58,7 +40,6 @@ iFlow offers two authentication options:
|
|
|
58
40
|

|
|
59
41
|
|
|
60
42
|
To get your API key:
|
|
61
|
-
|
|
62
43
|
1. Register for an iFlow account
|
|
63
44
|
2. Go to your profile settings or click [this direct link](https://iflow.cn/?open=setting)
|
|
64
45
|
3. Click "Reset" in the pop-up dialog to generate a new API key
|
|
@@ -154,35 +135,20 @@ iFlow CLI extends beyond coding to handle a wide range of tasks:
|
|
|
154
135
|
> Write a program that downloads stock prices daily and sends me email notifications.
|
|
155
136
|
```
|
|
156
137
|
|
|
157
|
-
|
|
138
|
+
*Note: Advanced automation tasks can leverage MCP servers to integrate your local system tools with enterprise collaboration suites.*
|
|
158
139
|
|
|
159
140
|
## 🔧 Switch to customized model
|
|
160
141
|
|
|
161
142
|
iFlow CLI can connect to any OpenAI-compatible API. Edit the settings file in `~/.iflow/settings.json` to change the model you use.
|
|
162
143
|
|
|
163
144
|
Here is a settings demo file:
|
|
164
|
-
|
|
165
145
|
```json
|
|
166
146
|
{
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
147
|
+
"theme": "Default",
|
|
148
|
+
"selectedAuthType": "iflow",
|
|
149
|
+
"apiKey": "your iflow key",
|
|
150
|
+
"baseUrl": "https://apis.iflow.cn/v1",
|
|
151
|
+
"modelName": "Qwen3-Coder",
|
|
152
|
+
"searchApiKey": "your iflow key"
|
|
173
153
|
}
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
## GitHub Actions
|
|
177
|
-
|
|
178
|
-
You can also use iFlow CLI in your GitHub Actions workflows with the community-maintained action: [iflow-cli-action](https://github.com/vibe-ideas/iflow-cli-action)
|
|
179
|
-
|
|
180
|
-
## Community Communication
|
|
181
|
-
|
|
182
|
-
If you encounter problems in use, you can directly raise Issues on the github page.
|
|
183
|
-
|
|
184
|
-
You can also scan the following Wechat group to join the community group for communication and discussion.
|
|
185
|
-
|
|
186
|
-
### Wechat group
|
|
187
|
-
|
|
188
|
-

|
|
154
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
(version 1)
|
|
2
|
+
|
|
3
|
+
;; allow everything by default
|
|
4
|
+
(allow default)
|
|
5
|
+
|
|
6
|
+
;; deny all writes EXCEPT under specific paths
|
|
7
|
+
(deny file-write*)
|
|
8
|
+
(allow file-write*
|
|
9
|
+
(subpath (param "TARGET_DIR"))
|
|
10
|
+
(subpath (param "TMP_DIR"))
|
|
11
|
+
(subpath (param "CACHE_DIR"))
|
|
12
|
+
(subpath (string-append (param "HOME_DIR") "/.iflow"))
|
|
13
|
+
(subpath (string-append (param "HOME_DIR") "/.npm"))
|
|
14
|
+
(subpath (string-append (param "HOME_DIR") "/.cache"))
|
|
15
|
+
(subpath (string-append (param "HOME_DIR") "/.gitconfig"))
|
|
16
|
+
(literal "/dev/stdout")
|
|
17
|
+
(literal "/dev/stderr")
|
|
18
|
+
(literal "/dev/null")
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
;; deny all inbound network traffic EXCEPT on debugger port
|
|
22
|
+
(deny network-inbound)
|
|
23
|
+
(allow network-inbound (local ip "localhost:9229"))
|
|
24
|
+
|
|
25
|
+
;; deny all outbound network traffic
|
|
26
|
+
(deny network-outbound)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
(version 1)
|
|
2
|
+
|
|
3
|
+
;; allow everything by default
|
|
4
|
+
(allow default)
|
|
5
|
+
|
|
6
|
+
;; deny all writes EXCEPT under specific paths
|
|
7
|
+
(deny file-write*)
|
|
8
|
+
(allow file-write*
|
|
9
|
+
(subpath (param "TARGET_DIR"))
|
|
10
|
+
(subpath (param "TMP_DIR"))
|
|
11
|
+
(subpath (param "CACHE_DIR"))
|
|
12
|
+
(subpath (string-append (param "HOME_DIR") "/.iflow"))
|
|
13
|
+
(subpath (string-append (param "HOME_DIR") "/.npm"))
|
|
14
|
+
(subpath (string-append (param "HOME_DIR") "/.cache"))
|
|
15
|
+
(subpath (string-append (param "HOME_DIR") "/.gitconfig"))
|
|
16
|
+
(literal "/dev/stdout")
|
|
17
|
+
(literal "/dev/stderr")
|
|
18
|
+
(literal "/dev/null")
|
|
19
|
+
)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
(version 1)
|
|
2
|
+
|
|
3
|
+
;; allow everything by default
|
|
4
|
+
(allow default)
|
|
5
|
+
|
|
6
|
+
;; deny all writes EXCEPT under specific paths
|
|
7
|
+
(deny file-write*)
|
|
8
|
+
(allow file-write*
|
|
9
|
+
(subpath (param "TARGET_DIR"))
|
|
10
|
+
(subpath (param "TMP_DIR"))
|
|
11
|
+
(subpath (param "CACHE_DIR"))
|
|
12
|
+
(subpath (string-append (param "HOME_DIR") "/.iflow"))
|
|
13
|
+
(subpath (string-append (param "HOME_DIR") "/.npm"))
|
|
14
|
+
(subpath (string-append (param "HOME_DIR") "/.cache"))
|
|
15
|
+
(subpath (string-append (param "HOME_DIR") "/.gitconfig"))
|
|
16
|
+
(literal "/dev/stdout")
|
|
17
|
+
(literal "/dev/stderr")
|
|
18
|
+
(literal "/dev/null")
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
;; deny all inbound network traffic EXCEPT on debugger port
|
|
22
|
+
(deny network-inbound)
|
|
23
|
+
(allow network-inbound (local ip "localhost:9229"))
|
|
24
|
+
|
|
25
|
+
;; deny all outbound network traffic EXCEPT through proxy on localhost:8877
|
|
26
|
+
;; set `iflow_SANDBOX_PROXY_COMMAND=<command>` to run proxy alongside sandbox
|
|
27
|
+
;; proxy must listen on :::8877 (see docs/examples/proxy-script.md)
|
|
28
|
+
(deny network-outbound)
|
|
29
|
+
(allow network-outbound (remote tcp "localhost:8877"))
|
|
30
|
+
|
|
31
|
+
(allow network-bind (local ip "*:*"))
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
(version 1)
|
|
2
|
+
|
|
3
|
+
;; deny everything by default
|
|
4
|
+
(deny default)
|
|
5
|
+
|
|
6
|
+
;; allow reading files from anywhere on host
|
|
7
|
+
(allow file-read*)
|
|
8
|
+
|
|
9
|
+
;; allow exec/fork (children inherit policy)
|
|
10
|
+
(allow process-exec)
|
|
11
|
+
(allow process-fork)
|
|
12
|
+
|
|
13
|
+
;; allow signals to self, e.g. SIGPIPE on write to closed pipe
|
|
14
|
+
(allow signal (target self))
|
|
15
|
+
|
|
16
|
+
;; allow read access to specific information about system
|
|
17
|
+
;; from https://source.chromium.org/chromium/chromium/src/+/main:sandbox/policy/mac/common.sb;l=273-319;drc=7b3962fe2e5fc9e2ee58000dc8fbf3429d84d3bd
|
|
18
|
+
(allow sysctl-read
|
|
19
|
+
(sysctl-name "hw.activecpu")
|
|
20
|
+
(sysctl-name "hw.busfrequency_compat")
|
|
21
|
+
(sysctl-name "hw.byteorder")
|
|
22
|
+
(sysctl-name "hw.cacheconfig")
|
|
23
|
+
(sysctl-name "hw.cachelinesize_compat")
|
|
24
|
+
(sysctl-name "hw.cpufamily")
|
|
25
|
+
(sysctl-name "hw.cpufrequency_compat")
|
|
26
|
+
(sysctl-name "hw.cputype")
|
|
27
|
+
(sysctl-name "hw.l1dcachesize_compat")
|
|
28
|
+
(sysctl-name "hw.l1icachesize_compat")
|
|
29
|
+
(sysctl-name "hw.l2cachesize_compat")
|
|
30
|
+
(sysctl-name "hw.l3cachesize_compat")
|
|
31
|
+
(sysctl-name "hw.logicalcpu_max")
|
|
32
|
+
(sysctl-name "hw.machine")
|
|
33
|
+
(sysctl-name "hw.ncpu")
|
|
34
|
+
(sysctl-name "hw.nperflevels")
|
|
35
|
+
(sysctl-name "hw.optional.arm.FEAT_BF16")
|
|
36
|
+
(sysctl-name "hw.optional.arm.FEAT_DotProd")
|
|
37
|
+
(sysctl-name "hw.optional.arm.FEAT_FCMA")
|
|
38
|
+
(sysctl-name "hw.optional.arm.FEAT_FHM")
|
|
39
|
+
(sysctl-name "hw.optional.arm.FEAT_FP16")
|
|
40
|
+
(sysctl-name "hw.optional.arm.FEAT_I8MM")
|
|
41
|
+
(sysctl-name "hw.optional.arm.FEAT_JSCVT")
|
|
42
|
+
(sysctl-name "hw.optional.arm.FEAT_LSE")
|
|
43
|
+
(sysctl-name "hw.optional.arm.FEAT_RDM")
|
|
44
|
+
(sysctl-name "hw.optional.arm.FEAT_SHA512")
|
|
45
|
+
(sysctl-name "hw.optional.armv8_2_sha512")
|
|
46
|
+
(sysctl-name "hw.packages")
|
|
47
|
+
(sysctl-name "hw.pagesize_compat")
|
|
48
|
+
(sysctl-name "hw.physicalcpu_max")
|
|
49
|
+
(sysctl-name "hw.tbfrequency_compat")
|
|
50
|
+
(sysctl-name "hw.vectorunit")
|
|
51
|
+
(sysctl-name "kern.hostname")
|
|
52
|
+
(sysctl-name "kern.maxfilesperproc")
|
|
53
|
+
(sysctl-name "kern.osproductversion")
|
|
54
|
+
(sysctl-name "kern.osrelease")
|
|
55
|
+
(sysctl-name "kern.ostype")
|
|
56
|
+
(sysctl-name "kern.osvariant_status")
|
|
57
|
+
(sysctl-name "kern.osversion")
|
|
58
|
+
(sysctl-name "kern.secure_kernel")
|
|
59
|
+
(sysctl-name "kern.usrstack64")
|
|
60
|
+
(sysctl-name "kern.version")
|
|
61
|
+
(sysctl-name "sysctl.proc_cputype")
|
|
62
|
+
(sysctl-name-prefix "hw.perflevel")
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
;; allow writes to specific paths
|
|
66
|
+
(allow file-write*
|
|
67
|
+
(subpath (param "TARGET_DIR"))
|
|
68
|
+
(subpath (param "TMP_DIR"))
|
|
69
|
+
(subpath (param "CACHE_DIR"))
|
|
70
|
+
(subpath (string-append (param "HOME_DIR") "/.iflow"))
|
|
71
|
+
(subpath (string-append (param "HOME_DIR") "/.npm"))
|
|
72
|
+
(subpath (string-append (param "HOME_DIR") "/.cache"))
|
|
73
|
+
(subpath (string-append (param "HOME_DIR") "/.gitconfig"))
|
|
74
|
+
(literal "/dev/stdout")
|
|
75
|
+
(literal "/dev/stderr")
|
|
76
|
+
(literal "/dev/null")
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
;; allow communication with sysmond for process listing (e.g. for pgrep)
|
|
80
|
+
(allow mach-lookup (global-name "com.apple.sysmond"))
|
|
81
|
+
|
|
82
|
+
;; enable terminal access required by ink
|
|
83
|
+
;; fixes setRawMode EPERM failure (at node:tty:81:24)
|
|
84
|
+
(allow file-ioctl (regex #"^/dev/tty.*"))
|
|
85
|
+
|
|
86
|
+
;; allow inbound network traffic on debugger port
|
|
87
|
+
(allow network-inbound (local ip "localhost:9229"))
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
(version 1)
|
|
2
|
+
|
|
3
|
+
;; deny everything by default
|
|
4
|
+
(deny default)
|
|
5
|
+
|
|
6
|
+
;; allow reading files from anywhere on host
|
|
7
|
+
(allow file-read*)
|
|
8
|
+
|
|
9
|
+
;; allow exec/fork (children inherit policy)
|
|
10
|
+
(allow process-exec)
|
|
11
|
+
(allow process-fork)
|
|
12
|
+
|
|
13
|
+
;; allow signals to self, e.g. SIGPIPE on write to closed pipe
|
|
14
|
+
(allow signal (target self))
|
|
15
|
+
|
|
16
|
+
;; allow read access to specific information about system
|
|
17
|
+
;; from https://source.chromium.org/chromium/chromium/src/+/main:sandbox/policy/mac/common.sb;l=273-319;drc=7b3962fe2e5fc9e2ee58000dc8fbf3429d84d3bd
|
|
18
|
+
(allow sysctl-read
|
|
19
|
+
(sysctl-name "hw.activecpu")
|
|
20
|
+
(sysctl-name "hw.busfrequency_compat")
|
|
21
|
+
(sysctl-name "hw.byteorder")
|
|
22
|
+
(sysctl-name "hw.cacheconfig")
|
|
23
|
+
(sysctl-name "hw.cachelinesize_compat")
|
|
24
|
+
(sysctl-name "hw.cpufamily")
|
|
25
|
+
(sysctl-name "hw.cpufrequency_compat")
|
|
26
|
+
(sysctl-name "hw.cputype")
|
|
27
|
+
(sysctl-name "hw.l1dcachesize_compat")
|
|
28
|
+
(sysctl-name "hw.l1icachesize_compat")
|
|
29
|
+
(sysctl-name "hw.l2cachesize_compat")
|
|
30
|
+
(sysctl-name "hw.l3cachesize_compat")
|
|
31
|
+
(sysctl-name "hw.logicalcpu_max")
|
|
32
|
+
(sysctl-name "hw.machine")
|
|
33
|
+
(sysctl-name "hw.ncpu")
|
|
34
|
+
(sysctl-name "hw.nperflevels")
|
|
35
|
+
(sysctl-name "hw.optional.arm.FEAT_BF16")
|
|
36
|
+
(sysctl-name "hw.optional.arm.FEAT_DotProd")
|
|
37
|
+
(sysctl-name "hw.optional.arm.FEAT_FCMA")
|
|
38
|
+
(sysctl-name "hw.optional.arm.FEAT_FHM")
|
|
39
|
+
(sysctl-name "hw.optional.arm.FEAT_FP16")
|
|
40
|
+
(sysctl-name "hw.optional.arm.FEAT_I8MM")
|
|
41
|
+
(sysctl-name "hw.optional.arm.FEAT_JSCVT")
|
|
42
|
+
(sysctl-name "hw.optional.arm.FEAT_LSE")
|
|
43
|
+
(sysctl-name "hw.optional.arm.FEAT_RDM")
|
|
44
|
+
(sysctl-name "hw.optional.arm.FEAT_SHA512")
|
|
45
|
+
(sysctl-name "hw.optional.armv8_2_sha512")
|
|
46
|
+
(sysctl-name "hw.packages")
|
|
47
|
+
(sysctl-name "hw.pagesize_compat")
|
|
48
|
+
(sysctl-name "hw.physicalcpu_max")
|
|
49
|
+
(sysctl-name "hw.tbfrequency_compat")
|
|
50
|
+
(sysctl-name "hw.vectorunit")
|
|
51
|
+
(sysctl-name "kern.hostname")
|
|
52
|
+
(sysctl-name "kern.maxfilesperproc")
|
|
53
|
+
(sysctl-name "kern.osproductversion")
|
|
54
|
+
(sysctl-name "kern.osrelease")
|
|
55
|
+
(sysctl-name "kern.ostype")
|
|
56
|
+
(sysctl-name "kern.osvariant_status")
|
|
57
|
+
(sysctl-name "kern.osversion")
|
|
58
|
+
(sysctl-name "kern.secure_kernel")
|
|
59
|
+
(sysctl-name "kern.usrstack64")
|
|
60
|
+
(sysctl-name "kern.version")
|
|
61
|
+
(sysctl-name "sysctl.proc_cputype")
|
|
62
|
+
(sysctl-name-prefix "hw.perflevel")
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
;; allow writes to specific paths
|
|
66
|
+
(allow file-write*
|
|
67
|
+
(subpath (param "TARGET_DIR"))
|
|
68
|
+
(subpath (param "TMP_DIR"))
|
|
69
|
+
(subpath (param "CACHE_DIR"))
|
|
70
|
+
(subpath (string-append (param "HOME_DIR") "/.iflow"))
|
|
71
|
+
(subpath (string-append (param "HOME_DIR") "/.npm"))
|
|
72
|
+
(subpath (string-append (param "HOME_DIR") "/.cache"))
|
|
73
|
+
(subpath (string-append (param "HOME_DIR") "/.gitconfig"))
|
|
74
|
+
(literal "/dev/stdout")
|
|
75
|
+
(literal "/dev/stderr")
|
|
76
|
+
(literal "/dev/null")
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
;; allow communication with sysmond for process listing (e.g. for pgrep)
|
|
80
|
+
(allow mach-lookup (global-name "com.apple.sysmond"))
|
|
81
|
+
|
|
82
|
+
;; enable terminal access required by ink
|
|
83
|
+
;; fixes setRawMode EPERM failure (at node:tty:81:24)
|
|
84
|
+
(allow file-ioctl (regex #"^/dev/tty.*"))
|
|
85
|
+
|
|
86
|
+
;; allow inbound network traffic on debugger port
|
|
87
|
+
(allow network-inbound (local ip "localhost:9229"))
|
|
88
|
+
|
|
89
|
+
;; allow all outbound network traffic
|
|
90
|
+
(allow network-outbound)
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
(version 1)
|
|
2
|
+
|
|
3
|
+
;; deny everything by default
|
|
4
|
+
(deny default)
|
|
5
|
+
|
|
6
|
+
;; allow reading files from anywhere on host
|
|
7
|
+
(allow file-read*)
|
|
8
|
+
|
|
9
|
+
;; allow exec/fork (children inherit policy)
|
|
10
|
+
(allow process-exec)
|
|
11
|
+
(allow process-fork)
|
|
12
|
+
|
|
13
|
+
;; allow signals to self, e.g. SIGPIPE on write to closed pipe
|
|
14
|
+
(allow signal (target self))
|
|
15
|
+
|
|
16
|
+
;; allow read access to specific information about system
|
|
17
|
+
;; from https://source.chromium.org/chromium/chromium/src/+/main:sandbox/policy/mac/common.sb;l=273-319;drc=7b3962fe2e5fc9e2ee58000dc8fbf3429d84d3bd
|
|
18
|
+
(allow sysctl-read
|
|
19
|
+
(sysctl-name "hw.activecpu")
|
|
20
|
+
(sysctl-name "hw.busfrequency_compat")
|
|
21
|
+
(sysctl-name "hw.byteorder")
|
|
22
|
+
(sysctl-name "hw.cacheconfig")
|
|
23
|
+
(sysctl-name "hw.cachelinesize_compat")
|
|
24
|
+
(sysctl-name "hw.cpufamily")
|
|
25
|
+
(sysctl-name "hw.cpufrequency_compat")
|
|
26
|
+
(sysctl-name "hw.cputype")
|
|
27
|
+
(sysctl-name "hw.l1dcachesize_compat")
|
|
28
|
+
(sysctl-name "hw.l1icachesize_compat")
|
|
29
|
+
(sysctl-name "hw.l2cachesize_compat")
|
|
30
|
+
(sysctl-name "hw.l3cachesize_compat")
|
|
31
|
+
(sysctl-name "hw.logicalcpu_max")
|
|
32
|
+
(sysctl-name "hw.machine")
|
|
33
|
+
(sysctl-name "hw.ncpu")
|
|
34
|
+
(sysctl-name "hw.nperflevels")
|
|
35
|
+
(sysctl-name "hw.optional.arm.FEAT_BF16")
|
|
36
|
+
(sysctl-name "hw.optional.arm.FEAT_DotProd")
|
|
37
|
+
(sysctl-name "hw.optional.arm.FEAT_FCMA")
|
|
38
|
+
(sysctl-name "hw.optional.arm.FEAT_FHM")
|
|
39
|
+
(sysctl-name "hw.optional.arm.FEAT_FP16")
|
|
40
|
+
(sysctl-name "hw.optional.arm.FEAT_I8MM")
|
|
41
|
+
(sysctl-name "hw.optional.arm.FEAT_JSCVT")
|
|
42
|
+
(sysctl-name "hw.optional.arm.FEAT_LSE")
|
|
43
|
+
(sysctl-name "hw.optional.arm.FEAT_RDM")
|
|
44
|
+
(sysctl-name "hw.optional.arm.FEAT_SHA512")
|
|
45
|
+
(sysctl-name "hw.optional.armv8_2_sha512")
|
|
46
|
+
(sysctl-name "hw.packages")
|
|
47
|
+
(sysctl-name "hw.pagesize_compat")
|
|
48
|
+
(sysctl-name "hw.physicalcpu_max")
|
|
49
|
+
(sysctl-name "hw.tbfrequency_compat")
|
|
50
|
+
(sysctl-name "hw.vectorunit")
|
|
51
|
+
(sysctl-name "kern.hostname")
|
|
52
|
+
(sysctl-name "kern.maxfilesperproc")
|
|
53
|
+
(sysctl-name "kern.osproductversion")
|
|
54
|
+
(sysctl-name "kern.osrelease")
|
|
55
|
+
(sysctl-name "kern.ostype")
|
|
56
|
+
(sysctl-name "kern.osvariant_status")
|
|
57
|
+
(sysctl-name "kern.osversion")
|
|
58
|
+
(sysctl-name "kern.secure_kernel")
|
|
59
|
+
(sysctl-name "kern.usrstack64")
|
|
60
|
+
(sysctl-name "kern.version")
|
|
61
|
+
(sysctl-name "sysctl.proc_cputype")
|
|
62
|
+
(sysctl-name-prefix "hw.perflevel")
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
;; allow writes to specific paths
|
|
66
|
+
(allow file-write*
|
|
67
|
+
(subpath (param "TARGET_DIR"))
|
|
68
|
+
(subpath (param "TMP_DIR"))
|
|
69
|
+
(subpath (param "CACHE_DIR"))
|
|
70
|
+
(subpath (string-append (param "HOME_DIR") "/.iflow"))
|
|
71
|
+
(subpath (string-append (param "HOME_DIR") "/.npm"))
|
|
72
|
+
(subpath (string-append (param "HOME_DIR") "/.cache"))
|
|
73
|
+
(subpath (string-append (param "HOME_DIR") "/.gitconfig"))
|
|
74
|
+
(literal "/dev/stdout")
|
|
75
|
+
(literal "/dev/stderr")
|
|
76
|
+
(literal "/dev/null")
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
;; allow communication with sysmond for process listing (e.g. for pgrep)
|
|
80
|
+
(allow mach-lookup (global-name "com.apple.sysmond"))
|
|
81
|
+
|
|
82
|
+
;; enable terminal access required by ink
|
|
83
|
+
;; fixes setRawMode EPERM failure (at node:tty:81:24)
|
|
84
|
+
(allow file-ioctl (regex #"^/dev/tty.*"))
|
|
85
|
+
|
|
86
|
+
;; allow inbound network traffic on debugger port
|
|
87
|
+
(allow network-inbound (local ip "localhost:9229"))
|
|
88
|
+
|
|
89
|
+
;; allow outbound network traffic through proxy on localhost:8877
|
|
90
|
+
;; set `iflow_SANDBOX_PROXY_COMMAND=<command>` to run proxy alongside sandbox
|
|
91
|
+
;; proxy must listen on :::8877 (see docs/examples/proxy-script.md)
|
|
92
|
+
(allow network-outbound (remote tcp "localhost:8877"))
|
package/package.json
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iflow-ai/iflow-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"engines": {
|
|
5
|
-
"node": ">=20
|
|
5
|
+
"node": ">=20"
|
|
6
6
|
},
|
|
7
|
+
"type": "module",
|
|
7
8
|
"repository": {
|
|
8
9
|
"type": "git",
|
|
9
10
|
"url": "git+https://github.com/iflow-ai/iflow-cli.git"
|
|
10
11
|
},
|
|
11
|
-
"config": {
|
|
12
|
-
"sandboxImageUri": "us-docker.pkg.dev/taobao/iflow-cli/sandbox:0.1.3"
|
|
13
|
-
},
|
|
14
12
|
"bin": {
|
|
15
|
-
"iflow": "bundle/iflow.js"
|
|
13
|
+
"iflow": "./bundle/iflow.js"
|
|
16
14
|
},
|
|
17
15
|
"files": [
|
|
18
16
|
"bundle/",
|
|
@@ -20,6 +18,7 @@
|
|
|
20
18
|
"LICENSE"
|
|
21
19
|
],
|
|
22
20
|
"publishConfig": {
|
|
23
|
-
"registry": "https://registry.npmjs.org"
|
|
21
|
+
"registry": "https://registry.npmjs.org",
|
|
22
|
+
"access": "public"
|
|
24
23
|
}
|
|
25
24
|
}
|