@provos/ironcurtain 0.4.0 → 0.5.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/README.md +219 -248
- package/dist/cli.js +10 -0
- package/dist/cli.js.map +1 -1
- package/dist/config/config-command.js +144 -6
- package/dist/config/config-command.js.map +1 -1
- package/dist/config/constitution-user-base.md +2 -0
- package/dist/config/first-start.js +77 -12
- package/dist/config/first-start.js.map +1 -1
- package/dist/config/generated/compiled-policy.json +199 -72
- package/dist/config/generated/tool-annotations.json +1018 -36
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/mcp-servers.json +13 -0
- package/dist/config/paths.d.ts +31 -0
- package/dist/config/paths.js +52 -2
- package/dist/config/paths.js.map +1 -1
- package/dist/config/types.d.ts +10 -0
- package/dist/config/user-config.d.ts +21 -3
- package/dist/config/user-config.js +34 -3
- package/dist/config/user-config.js.map +1 -1
- package/dist/docker/adapters/claude-code.d.ts +4 -0
- package/dist/docker/adapters/claude-code.js +96 -37
- package/dist/docker/adapters/claude-code.js.map +1 -1
- package/dist/docker/agent-adapter.d.ts +22 -13
- package/dist/docker/code-mode-proxy.d.ts +34 -0
- package/dist/docker/code-mode-proxy.js +137 -0
- package/dist/docker/code-mode-proxy.js.map +1 -0
- package/dist/docker/docker-agent-session.d.ts +22 -14
- package/dist/docker/docker-agent-session.js +144 -117
- package/dist/docker/docker-agent-session.js.map +1 -1
- package/dist/docker/docker-infrastructure.d.ts +51 -0
- package/dist/docker/docker-infrastructure.js +261 -0
- package/dist/docker/docker-infrastructure.js.map +1 -0
- package/dist/docker/docker-manager.js +27 -0
- package/dist/docker/docker-manager.js.map +1 -1
- package/dist/docker/mitm-proxy.js +4 -0
- package/dist/docker/mitm-proxy.js.map +1 -1
- package/dist/docker/oauth-credentials.d.ts +81 -0
- package/dist/docker/oauth-credentials.js +178 -0
- package/dist/docker/oauth-credentials.js.map +1 -0
- package/dist/docker/orientation.d.ts +3 -2
- package/dist/docker/orientation.js +4 -4
- package/dist/docker/orientation.js.map +1 -1
- package/dist/docker/provider-config.d.ts +3 -0
- package/dist/docker/provider-config.js +28 -0
- package/dist/docker/provider-config.js.map +1 -1
- package/dist/docker/pty-session.d.ts +27 -0
- package/dist/docker/pty-session.js +420 -0
- package/dist/docker/pty-session.js.map +1 -0
- package/dist/docker/pty-types.d.ts +24 -0
- package/dist/docker/pty-types.js +12 -0
- package/dist/docker/pty-types.js.map +1 -0
- package/dist/docker/types.d.ts +18 -2
- package/dist/escalation/escalation-watcher.d.ts +44 -0
- package/dist/escalation/escalation-watcher.js +92 -0
- package/dist/escalation/escalation-watcher.js.map +1 -0
- package/dist/escalation/listener-command.d.ts +10 -0
- package/dist/escalation/listener-command.js +407 -0
- package/dist/escalation/listener-command.js.map +1 -0
- package/dist/escalation/listener-state.d.ts +49 -0
- package/dist/escalation/listener-state.js +104 -0
- package/dist/escalation/listener-state.js.map +1 -0
- package/dist/escalation/session-registry.d.ts +17 -0
- package/dist/escalation/session-registry.js +98 -0
- package/dist/escalation/session-registry.js.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/logger.js +2 -3
- package/dist/logger.js.map +1 -1
- package/dist/pipeline/annotate.js +35 -15
- package/dist/pipeline/annotate.js.map +1 -1
- package/dist/pipeline/constitution-customizer.d.ts +2 -1
- package/dist/pipeline/constitution-customizer.js +36 -3
- package/dist/pipeline/constitution-customizer.js.map +1 -1
- package/dist/pipeline/github-identity.d.ts +38 -0
- package/dist/pipeline/github-identity.js +64 -0
- package/dist/pipeline/github-identity.js.map +1 -0
- package/dist/pipeline/handwritten-scenarios.js +34 -0
- package/dist/pipeline/handwritten-scenarios.js.map +1 -1
- package/dist/sandbox/index.d.ts +25 -1
- package/dist/sandbox/index.js +90 -12
- package/dist/sandbox/index.js.map +1 -1
- package/dist/servers/fetch-server.d.ts +6 -1
- package/dist/servers/fetch-server.js +26 -14
- package/dist/servers/fetch-server.js.map +1 -1
- package/dist/session/agent-session.js +9 -5
- package/dist/session/agent-session.js.map +1 -1
- package/dist/session/base-transport.d.ts +19 -0
- package/dist/session/base-transport.js +36 -0
- package/dist/session/base-transport.js.map +1 -0
- package/dist/session/cli-transport.d.ts +3 -3
- package/dist/session/cli-transport.js +7 -4
- package/dist/session/cli-transport.js.map +1 -1
- package/dist/session/index.js +24 -106
- package/dist/session/index.js.map +1 -1
- package/dist/session/interaction-log.d.ts +13 -0
- package/dist/session/interaction-log.js +28 -0
- package/dist/session/interaction-log.js.map +1 -0
- package/dist/session/preflight.d.ts +3 -0
- package/dist/session/preflight.js +45 -18
- package/dist/session/preflight.js.map +1 -1
- package/dist/session/prompts.d.ts +9 -3
- package/dist/session/prompts.js +28 -10
- package/dist/session/prompts.js.map +1 -1
- package/dist/session/types.d.ts +2 -0
- package/dist/signal/bot-command.js +5 -0
- package/dist/signal/bot-command.js.map +1 -1
- package/dist/signal/format.d.ts +21 -1
- package/dist/signal/format.js +41 -3
- package/dist/signal/format.js.map +1 -1
- package/dist/signal/signal-bot-daemon.d.ts +53 -18
- package/dist/signal/signal-bot-daemon.js +344 -106
- package/dist/signal/signal-bot-daemon.js.map +1 -1
- package/dist/signal/signal-config.d.ts +4 -0
- package/dist/signal/signal-config.js +2 -0
- package/dist/signal/signal-config.js.map +1 -1
- package/dist/signal/signal-transport.d.ts +13 -7
- package/dist/signal/signal-transport.js +36 -12
- package/dist/signal/signal-transport.js.map +1 -1
- package/dist/trusted-process/audit-log.d.ts +6 -1
- package/dist/trusted-process/audit-log.js +22 -2
- package/dist/trusted-process/audit-log.js.map +1 -1
- package/dist/trusted-process/audit-redactor.d.ts +25 -0
- package/dist/trusted-process/audit-redactor.js +121 -0
- package/dist/trusted-process/audit-redactor.js.map +1 -0
- package/dist/trusted-process/escalation.d.ts +1 -1
- package/dist/trusted-process/escalation.js +6 -1
- package/dist/trusted-process/escalation.js.map +1 -1
- package/dist/trusted-process/index.d.ts +2 -1
- package/dist/trusted-process/index.js +24 -6
- package/dist/trusted-process/index.js.map +1 -1
- package/dist/trusted-process/mcp-client-manager.js +14 -2
- package/dist/trusted-process/mcp-client-manager.js.map +1 -1
- package/dist/trusted-process/mcp-error-utils.d.ts +11 -0
- package/dist/trusted-process/mcp-error-utils.js +50 -0
- package/dist/trusted-process/mcp-error-utils.js.map +1 -0
- package/dist/trusted-process/mcp-proxy-server.d.ts +115 -1
- package/dist/trusted-process/mcp-proxy-server.js +318 -267
- package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
- package/dist/trusted-process/policy-engine.d.ts +3 -1
- package/dist/trusted-process/policy-engine.js +17 -6
- package/dist/trusted-process/policy-engine.js.map +1 -1
- package/dist/trusted-process/sandbox-integration.d.ts +16 -4
- package/dist/trusted-process/sandbox-integration.js +14 -8
- package/dist/trusted-process/sandbox-integration.js.map +1 -1
- package/dist/trusted-process/server-context.d.ts +21 -0
- package/dist/trusted-process/server-context.js +42 -0
- package/dist/trusted-process/server-context.js.map +1 -0
- package/dist/types/argument-roles.d.ts +12 -2
- package/dist/types/argument-roles.js +37 -4
- package/dist/types/argument-roles.js.map +1 -1
- package/docker/Dockerfile.claude-code +8 -3
- package/docker/entrypoint-claude-code.sh +64 -4
- package/package.json +19 -9
- package/src/config/constitution-user-base.md +2 -0
- package/src/config/generated/compiled-policy.json +199 -72
- package/src/config/generated/tool-annotations.json +1018 -36
- package/src/config/mcp-servers.json +13 -0
- package/dist/docker/managed-proxy.d.ts +0 -31
- package/dist/docker/managed-proxy.js +0 -265
- package/dist/docker/managed-proxy.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-02-
|
|
3
|
-
"constitutionHash": "
|
|
4
|
-
"inputHash": "
|
|
2
|
+
"generatedAt": "2026-02-28T01:50:08.635Z",
|
|
3
|
+
"constitutionHash": "8e2f1144f44b0f864e70b161e6abf898bf7ac7540e2aeb6df11abbbbfcb9c34c",
|
|
4
|
+
"inputHash": "97a4159c0149574f357fdac5b8046d3ea51006a4e8a3c5f1a3cf0ab3afdcd6e6",
|
|
5
5
|
"rules": [
|
|
6
6
|
{
|
|
7
7
|
"name": "allow-downloads-read",
|
|
8
|
-
"description": "Allow reading files
|
|
8
|
+
"description": "Allow reading files within the Downloads folder.",
|
|
9
9
|
"principle": "The agent is allowed to read, write and delete content in the Downloads folder.",
|
|
10
10
|
"if": {
|
|
11
11
|
"paths": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"name": "allow-downloads-write",
|
|
23
|
-
"description": "Allow writing files
|
|
23
|
+
"description": "Allow writing files within the Downloads folder.",
|
|
24
24
|
"principle": "The agent is allowed to read, write and delete content in the Downloads folder.",
|
|
25
25
|
"if": {
|
|
26
26
|
"paths": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"name": "allow-downloads-delete",
|
|
38
|
-
"description": "Allow deleting files
|
|
38
|
+
"description": "Allow deleting files within the Downloads folder.",
|
|
39
39
|
"principle": "The agent is allowed to read, write and delete content in the Downloads folder.",
|
|
40
40
|
"if": {
|
|
41
41
|
"paths": {
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
"name": "allow-documents-read",
|
|
53
|
-
"description": "Allow reading documents in the
|
|
53
|
+
"description": "Allow reading documents in the Users document folder.",
|
|
54
54
|
"principle": "The agent is allowed to read documents in the Users document folder.",
|
|
55
55
|
"if": {
|
|
56
56
|
"paths": {
|
|
@@ -61,12 +61,12 @@
|
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
63
|
"then": "allow",
|
|
64
|
-
"reason": "Policy explicitly permits reading in the
|
|
64
|
+
"reason": "Policy explicitly permits reading in the Documents folder."
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
67
|
"name": "escalate-documents-write",
|
|
68
|
-
"description": "Escalate write operations
|
|
69
|
-
"principle": "
|
|
68
|
+
"description": "Escalate write operations targeting the Documents folder since only reads are permitted there.",
|
|
69
|
+
"principle": "Least privilege: The agent may only access resources explicitly permitted by policy.",
|
|
70
70
|
"if": {
|
|
71
71
|
"paths": {
|
|
72
72
|
"roles": [
|
|
@@ -76,16 +76,43 @@
|
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
78
|
"then": "escalate",
|
|
79
|
-
"reason": "
|
|
79
|
+
"reason": "Only reads are explicitly permitted in the Documents folder; writes require human approval."
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
|
-
"name": "
|
|
83
|
-
"description": "
|
|
84
|
-
"principle": "
|
|
82
|
+
"name": "escalate-move-with-delete-outside-sandbox",
|
|
83
|
+
"description": "Escalate move operations whose source (delete-path) is outside the Downloads folder, since deletes outside permitted areas require human oversight.",
|
|
84
|
+
"principle": "No destruction: Delete operations outside the sandbox are never permitted unless explicitly granted.",
|
|
85
85
|
"if": {
|
|
86
|
+
"roles": [
|
|
87
|
+
"delete-path"
|
|
88
|
+
],
|
|
86
89
|
"server": [
|
|
87
|
-
"
|
|
90
|
+
"filesystem"
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
"then": "escalate",
|
|
94
|
+
"reason": "Any delete-path argument outside the sandbox or Downloads folder requires human approval before proceeding."
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "escalate-filesystem-write-outside-permitted",
|
|
98
|
+
"description": "Escalate filesystem writes outside explicitly permitted directories.",
|
|
99
|
+
"principle": "Least privilege: The agent may only access resources explicitly permitted by policy.",
|
|
100
|
+
"if": {
|
|
101
|
+
"roles": [
|
|
102
|
+
"write-path"
|
|
88
103
|
],
|
|
104
|
+
"server": [
|
|
105
|
+
"filesystem"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"then": "escalate",
|
|
109
|
+
"reason": "Writes outside the sandbox, Downloads, or Documents require human approval."
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "allow-git-local-read",
|
|
113
|
+
"description": "Allow local git read operations (log, status, diff, show, blame, etc.) within any path.",
|
|
114
|
+
"principle": "The agent is allowed to perform all local read and write git operations within the sandbox.",
|
|
115
|
+
"if": {
|
|
89
116
|
"tool": [
|
|
90
117
|
"git_status",
|
|
91
118
|
"git_log",
|
|
@@ -99,58 +126,131 @@
|
|
|
99
126
|
]
|
|
100
127
|
},
|
|
101
128
|
"then": "allow",
|
|
102
|
-
"reason": "Read-only git operations are permitted as local operations."
|
|
129
|
+
"reason": "Read-only git operations are explicitly permitted as local operations."
|
|
103
130
|
},
|
|
104
131
|
{
|
|
105
|
-
"name": "allow-git-
|
|
106
|
-
"description": "Allow
|
|
132
|
+
"name": "allow-git-set-working-dir",
|
|
133
|
+
"description": "Allow setting the git working directory.",
|
|
134
|
+
"principle": "The agent is allowed to perform all local read and write git operations within the sandbox.",
|
|
135
|
+
"if": {
|
|
136
|
+
"tool": [
|
|
137
|
+
"git_set_working_dir"
|
|
138
|
+
]
|
|
139
|
+
},
|
|
140
|
+
"then": "allow",
|
|
141
|
+
"reason": "Setting the working directory is a local read operation with no side effects outside the sandbox."
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"name": "allow-git-local-write-history",
|
|
145
|
+
"description": "Allow local git write-history operations (commit, merge, rebase, reset, checkout, cherry-pick, stash, tag, branch, add, init, worktree) within the sandbox.",
|
|
107
146
|
"principle": "The agent is allowed to perform all local read and write git operations within the sandbox.",
|
|
108
147
|
"if": {
|
|
109
|
-
"server": [
|
|
110
|
-
"git"
|
|
111
|
-
],
|
|
112
148
|
"tool": [
|
|
113
149
|
"git_add",
|
|
114
150
|
"git_commit",
|
|
115
|
-
"git_branch",
|
|
116
|
-
"git_checkout",
|
|
117
151
|
"git_merge",
|
|
118
152
|
"git_rebase",
|
|
153
|
+
"git_reset",
|
|
154
|
+
"git_checkout",
|
|
155
|
+
"git_cherry_pick",
|
|
119
156
|
"git_stash",
|
|
120
157
|
"git_tag",
|
|
158
|
+
"git_branch",
|
|
121
159
|
"git_init",
|
|
122
160
|
"git_worktree",
|
|
123
|
-
"git_set_working_dir",
|
|
124
|
-
"git_cherry_pick",
|
|
125
|
-
"git_reset",
|
|
126
|
-
"git_clean",
|
|
127
161
|
"git_remote"
|
|
128
162
|
]
|
|
129
163
|
},
|
|
130
164
|
"then": "allow",
|
|
131
|
-
"reason": "Local git write operations are explicitly permitted
|
|
165
|
+
"reason": "Local git write operations are explicitly permitted within the sandbox."
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "allow-git-clean-within-sandbox",
|
|
169
|
+
"description": "Allow git clean operations (removing untracked files) within the sandbox.",
|
|
170
|
+
"principle": "The agent is allowed to perform all local read and write git operations within the sandbox.",
|
|
171
|
+
"if": {
|
|
172
|
+
"tool": [
|
|
173
|
+
"git_clean"
|
|
174
|
+
]
|
|
175
|
+
},
|
|
176
|
+
"then": "allow",
|
|
177
|
+
"reason": "Git clean is a local operation permitted within the sandbox; sandbox containment invariant ensures it stays within bounds."
|
|
132
178
|
},
|
|
133
179
|
{
|
|
134
|
-
"name": "escalate-
|
|
135
|
-
"description": "Escalate git
|
|
180
|
+
"name": "escalate-write-history-outside-sandbox",
|
|
181
|
+
"description": "Escalate git history-modifying operations when the repository path is outside the sandbox.",
|
|
182
|
+
"principle": "Human oversight: Operations outside the sandbox require explicit human approval.",
|
|
183
|
+
"if": {
|
|
184
|
+
"roles": [
|
|
185
|
+
"write-history"
|
|
186
|
+
]
|
|
187
|
+
},
|
|
188
|
+
"then": "escalate",
|
|
189
|
+
"reason": "Git operations that modify history outside the sandbox require human approval."
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"name": "escalate-delete-history-outside-sandbox",
|
|
193
|
+
"description": "Escalate git ref-deletion operations when the repository path is outside the sandbox.",
|
|
194
|
+
"principle": "Human oversight: Operations outside the sandbox require explicit human approval.",
|
|
195
|
+
"if": {
|
|
196
|
+
"roles": [
|
|
197
|
+
"delete-history"
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
"then": "escalate",
|
|
201
|
+
"reason": "Git operations that delete refs outside the sandbox require human approval."
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "escalate-git-push",
|
|
205
|
+
"description": "Escalate git push operations as they interact with remote repositories.",
|
|
206
|
+
"principle": "The agent must ask for human approval for all other git operations.",
|
|
207
|
+
"if": {
|
|
208
|
+
"tool": [
|
|
209
|
+
"git_push"
|
|
210
|
+
]
|
|
211
|
+
},
|
|
212
|
+
"then": "escalate",
|
|
213
|
+
"reason": "Git push is a remote operation that requires explicit human approval."
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"name": "escalate-git-pull",
|
|
217
|
+
"description": "Escalate git pull operations as they interact with remote repositories.",
|
|
218
|
+
"principle": "The agent must ask for human approval for all other git operations.",
|
|
219
|
+
"if": {
|
|
220
|
+
"tool": [
|
|
221
|
+
"git_pull"
|
|
222
|
+
]
|
|
223
|
+
},
|
|
224
|
+
"then": "escalate",
|
|
225
|
+
"reason": "Git pull is a remote operation that requires explicit human approval."
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"name": "escalate-git-fetch",
|
|
229
|
+
"description": "Escalate git fetch operations as they interact with remote repositories.",
|
|
230
|
+
"principle": "The agent must ask for human approval for all other git operations.",
|
|
231
|
+
"if": {
|
|
232
|
+
"tool": [
|
|
233
|
+
"git_fetch"
|
|
234
|
+
]
|
|
235
|
+
},
|
|
236
|
+
"then": "escalate",
|
|
237
|
+
"reason": "Git fetch is a remote operation that requires explicit human approval."
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"name": "escalate-git-clone",
|
|
241
|
+
"description": "Escalate git clone operations as they interact with remote repositories.",
|
|
136
242
|
"principle": "The agent must ask for human approval for all other git operations.",
|
|
137
243
|
"if": {
|
|
138
|
-
"server": [
|
|
139
|
-
"git"
|
|
140
|
-
],
|
|
141
244
|
"tool": [
|
|
142
|
-
"git_push",
|
|
143
|
-
"git_pull",
|
|
144
|
-
"git_fetch",
|
|
145
245
|
"git_clone"
|
|
146
246
|
]
|
|
147
247
|
},
|
|
148
248
|
"then": "escalate",
|
|
149
|
-
"reason": "
|
|
249
|
+
"reason": "Git clone is a remote operation that requires explicit human approval."
|
|
150
250
|
},
|
|
151
251
|
{
|
|
152
252
|
"name": "allow-web-search",
|
|
153
|
-
"description": "Allow web
|
|
253
|
+
"description": "Allow web search operations.",
|
|
154
254
|
"principle": "The agent may perform web searches to find information.",
|
|
155
255
|
"if": {
|
|
156
256
|
"tool": [
|
|
@@ -158,7 +258,7 @@
|
|
|
158
258
|
]
|
|
159
259
|
},
|
|
160
260
|
"then": "allow",
|
|
161
|
-
"reason": "
|
|
261
|
+
"reason": "Web searches are explicitly permitted by policy."
|
|
162
262
|
},
|
|
163
263
|
{
|
|
164
264
|
"name": "allow-fetch-news-sites",
|
|
@@ -178,7 +278,7 @@
|
|
|
178
278
|
}
|
|
179
279
|
},
|
|
180
280
|
"then": "allow",
|
|
181
|
-
"reason": "
|
|
281
|
+
"reason": "Fetching from popular news sites is explicitly permitted."
|
|
182
282
|
},
|
|
183
283
|
{
|
|
184
284
|
"name": "allow-fetch-development-sites",
|
|
@@ -198,55 +298,82 @@
|
|
|
198
298
|
}
|
|
199
299
|
},
|
|
200
300
|
"then": "allow",
|
|
201
|
-
"reason": "
|
|
301
|
+
"reason": "Fetching from popular development sites is explicitly permitted."
|
|
202
302
|
},
|
|
203
303
|
{
|
|
204
|
-
"name": "escalate-other-
|
|
205
|
-
"description": "Escalate HTTP fetch requests to domains not
|
|
206
|
-
"principle": "
|
|
304
|
+
"name": "escalate-fetch-other-urls",
|
|
305
|
+
"description": "Escalate HTTP fetch requests to domains not on the approved lists.",
|
|
306
|
+
"principle": "Least privilege: The agent may only access resources explicitly permitted by policy.",
|
|
207
307
|
"if": {
|
|
208
308
|
"tool": [
|
|
209
309
|
"http_fetch"
|
|
210
310
|
]
|
|
211
311
|
},
|
|
212
312
|
"then": "escalate",
|
|
213
|
-
"reason": "Fetching from domains
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
"name": "escalate-move-with-delete-outside-permitted",
|
|
217
|
-
"description": "Escalate move operations where the source is outside permitted areas.",
|
|
218
|
-
"principle": "No destruction: Delete operations outside the sandbox are never permitted, unless an explicit exception is granted by the user guidance.",
|
|
219
|
-
"if": {
|
|
220
|
-
"roles": [
|
|
221
|
-
"delete-path"
|
|
222
|
-
]
|
|
223
|
-
},
|
|
224
|
-
"then": "escalate",
|
|
225
|
-
"reason": "Move/delete operations with sources outside sandbox or explicitly permitted directories require human approval."
|
|
313
|
+
"reason": "Fetching from non-approved domains requires human approval."
|
|
226
314
|
},
|
|
227
315
|
{
|
|
228
|
-
"name": "
|
|
229
|
-
"description": "
|
|
230
|
-
"principle": "
|
|
316
|
+
"name": "allow-github-read",
|
|
317
|
+
"description": "Allow read-only GitHub operations without human approval.",
|
|
318
|
+
"principle": "The agent may freely list, search, and read GitHub resources without human approval.",
|
|
231
319
|
"if": {
|
|
232
|
-
"
|
|
233
|
-
"
|
|
320
|
+
"tool": [
|
|
321
|
+
"get_commit",
|
|
322
|
+
"get_file_contents",
|
|
323
|
+
"get_label",
|
|
324
|
+
"get_latest_release",
|
|
325
|
+
"get_me",
|
|
326
|
+
"get_release_by_tag",
|
|
327
|
+
"get_tag",
|
|
328
|
+
"get_team_members",
|
|
329
|
+
"get_teams",
|
|
330
|
+
"issue_read",
|
|
331
|
+
"list_branches",
|
|
332
|
+
"list_commits",
|
|
333
|
+
"list_issue_types",
|
|
334
|
+
"list_issues",
|
|
335
|
+
"list_pull_requests",
|
|
336
|
+
"list_releases",
|
|
337
|
+
"list_tags",
|
|
338
|
+
"pull_request_read",
|
|
339
|
+
"search_code",
|
|
340
|
+
"search_issues",
|
|
341
|
+
"search_pull_requests",
|
|
342
|
+
"search_repositories",
|
|
343
|
+
"search_users"
|
|
234
344
|
]
|
|
235
345
|
},
|
|
236
|
-
"then": "
|
|
237
|
-
"reason": "
|
|
346
|
+
"then": "allow",
|
|
347
|
+
"reason": "Read-only GitHub operations are explicitly permitted without human approval."
|
|
238
348
|
},
|
|
239
349
|
{
|
|
240
|
-
"name": "escalate-write
|
|
241
|
-
"description": "Escalate
|
|
242
|
-
"principle": "
|
|
350
|
+
"name": "escalate-github-write",
|
|
351
|
+
"description": "Escalate GitHub mutation operations that create, update, close, or delete resources.",
|
|
352
|
+
"principle": "Creating, updating, closing, or deleting GitHub resources requires human approval.",
|
|
243
353
|
"if": {
|
|
244
|
-
"
|
|
245
|
-
"
|
|
354
|
+
"tool": [
|
|
355
|
+
"add_comment_to_pending_review",
|
|
356
|
+
"add_issue_comment",
|
|
357
|
+
"add_reply_to_pull_request_comment",
|
|
358
|
+
"assign_copilot_to_issue",
|
|
359
|
+
"create_branch",
|
|
360
|
+
"create_or_update_file",
|
|
361
|
+
"create_pull_request",
|
|
362
|
+
"create_repository",
|
|
363
|
+
"delete_file",
|
|
364
|
+
"fork_repository",
|
|
365
|
+
"issue_write",
|
|
366
|
+
"merge_pull_request",
|
|
367
|
+
"pull_request_review_write",
|
|
368
|
+
"push_files",
|
|
369
|
+
"request_copilot_review",
|
|
370
|
+
"sub_issue_write",
|
|
371
|
+
"update_pull_request",
|
|
372
|
+
"update_pull_request_branch"
|
|
246
373
|
]
|
|
247
374
|
},
|
|
248
375
|
"then": "escalate",
|
|
249
|
-
"reason": "
|
|
376
|
+
"reason": "GitHub write/mutation operations require explicit human approval per policy."
|
|
250
377
|
}
|
|
251
378
|
],
|
|
252
379
|
"listDefinitions": [
|
|
@@ -254,14 +381,14 @@
|
|
|
254
381
|
"name": "popular-news-sites",
|
|
255
382
|
"type": "domains",
|
|
256
383
|
"principle": "The agent may fetch web content from popular news sites.",
|
|
257
|
-
"generationPrompt": "List the domains of approximately
|
|
384
|
+
"generationPrompt": "List the domains of approximately 50 popular and widely-recognized news websites, including major international outlets, national newspapers, wire services, and digital-native news organizations (e.g., bbc.com, nytimes.com, reuters.com, theguardian.com, apnews.com, cnn.com, washingtonpost.com, etc.).",
|
|
258
385
|
"requiresMcp": false
|
|
259
386
|
},
|
|
260
387
|
{
|
|
261
388
|
"name": "popular-development-sites",
|
|
262
389
|
"type": "domains",
|
|
263
390
|
"principle": "The agent may fetch web content from popular development sites.",
|
|
264
|
-
"generationPrompt": "List the domains of approximately
|
|
391
|
+
"generationPrompt": "List the domains of approximately 50 popular software development websites and resources, including documentation hosts, package registries, developer communities, code hosting platforms, and technical reference sites (e.g., github.com, stackoverflow.com, developer.mozilla.org, docs.python.org, npmjs.com, pypi.org, rust-lang.org, golang.org, docs.microsoft.com, kubernetes.io, etc.).",
|
|
265
392
|
"requiresMcp": false
|
|
266
393
|
}
|
|
267
394
|
]
|