@aalis/api-reach 0.1.0 → 0.2.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 +4 -4
- package/dist/index.d.ts +26 -65
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -52
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
## 角色
|
|
6
6
|
|
|
7
|
-
- 档位 `ACCESS_TIERS`(只读、修改确认、工作区、全权)与越界策略 `BoundaryPolicy
|
|
8
|
-
- `resolveReach
|
|
7
|
+
- 档位 `ACCESS_TIERS`(只读、修改确认、工作区、全权)与越界策略 `BoundaryPolicy`。
|
|
8
|
+
- `resolveReach`:按主体、档位、越界策略、场所、绑定与三张清单解析出一份触及;`judgeReach` 判一个目标放行、问或拒。
|
|
9
9
|
- `protectedLists`:按家目录布局、用户家目录、平台与安装集的形态生成宿主控制面、持久化与自动执行落点、拒读清单;`withRealRoots` 按调用方取好的真实路径补上链接出去的根;`matchesRule` 判一个路径落不落在某条规则里。工具边界与沙箱用同一份清单。
|
|
10
10
|
- `sandboxPolicyOf`:按触及生成沙箱策略 `SandboxPolicy`。
|
|
11
11
|
- 触及凭据 `ReachCredential` 的类型与品牌符号 `REACH_CREDENTIAL`、`isReachCredential`:凭据只由触及插件构造,工具从调用上下文取得后转交给存储与沙箱。
|
|
12
|
-
- 服务描述符 `reach`(`ReachService`):`forCall`
|
|
12
|
+
- 服务描述符 `reach`(`ReachService`):`forCall` 按一次工具调用签发凭据。
|
|
13
13
|
|
|
14
14
|
## 安装
|
|
15
15
|
|
|
@@ -23,7 +23,7 @@ pnpm add @aalis/api-reach
|
|
|
23
23
|
import { judgeReach, protectedLists, resolveReach } from '@aalis/api-reach';
|
|
24
24
|
|
|
25
25
|
const lists = protectedLists({ paths, userHome, platform: process.platform, form: 'npm', codeDirs: [] });
|
|
26
|
-
const reach = resolveReach({ principal: 'owner',
|
|
26
|
+
const reach = resolveReach({ principal: 'owner', tier: 'workspace', onBoundary: 'ask', /* … */ lists, paths });
|
|
27
27
|
judgeReach(reach, { effect: 'write', path: '/<项目>/src/a.ts' }); // { verdict: 'allow' }
|
|
28
28
|
```
|
|
29
29
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,36 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @aalis/api-reach — 触及契约
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
4
|
+
* 一次工具调用最多能触及本机的什么:先按这一轮的主体定上限,主体是 owner 的有本地效果,不看会话(主体见权限服务的
|
|
5
|
+
* principalOf);再按档位收窄。本包只有类型与纯函数:
|
|
6
|
+
* - 档位与越界策略;
|
|
7
7
|
* - `resolveReach` 解析出一份触及,`judgeReach` 判一个目标放行、问或拒;
|
|
8
8
|
* - `protectedLists` 生成宿主控制面、持久化与自动执行落点、拒读清单三张清单,`withRealRoots` 按真实路径补上链接出去的根,
|
|
9
9
|
* 工具边界与沙箱用同一份;
|
|
10
10
|
* - `sandboxPolicyOf` 按触及生成沙箱策略;
|
|
11
11
|
* - 触及凭据 `ReachCredential` 的类型与品牌符号:凭据只由触及插件构造,工具从调用上下文取得后转交;
|
|
12
|
-
* - 触及服务 `reach
|
|
12
|
+
* - 触及服务 `reach`:按一次工具调用签发凭据。
|
|
13
13
|
*
|
|
14
14
|
* 路径一律是真实路径:符号链接已解开;目标不存在时,取最近存在的祖先的真实路径,再接上后面不存在的各段。由调用方取好再交进来。
|
|
15
15
|
*/
|
|
16
16
|
import type { OriginTurn } from '@aalis/api-authority';
|
|
17
17
|
import type { HostPaths } from '@aalis/api-host-paths';
|
|
18
|
-
import type {
|
|
19
|
-
/**
|
|
18
|
+
import type { WorkBinding } from '@aalis/api-session-manager';
|
|
19
|
+
/** 权限四档,从低到高:只读、修改确认、工作区、全权 */
|
|
20
20
|
export declare const ACCESS_TIERS: readonly ["readonly", "confirm", "workspace", "full"];
|
|
21
21
|
export type AccessTier = (typeof ACCESS_TIERS)[number];
|
|
22
22
|
/**
|
|
23
23
|
* 越界策略:需要问的时候在场就问、不在场按拒绝(ask),或一律直接拒绝(deny)。对修改确认档不起作用,那一档本身就是逐步确认
|
|
24
24
|
*/
|
|
25
25
|
export type BoundaryPolicy = 'ask' | 'deny';
|
|
26
|
-
declare module '@aalis/api-session-manager' {
|
|
27
|
-
interface SessionConfig {
|
|
28
|
-
/** 档位:只对 owner 自己的会话起作用,子会话按根会话实时取 */
|
|
29
|
-
accessTier?: AccessTier;
|
|
30
|
-
/** 越界策略:子会话按根会话实时取 */
|
|
31
|
-
accessOnBoundary?: BoundaryPolicy;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
26
|
/**
|
|
35
27
|
* 路径匹配:`path` 是这个路径与它下面的全部;`pattern` 是对整条路径的正则(源码),只用锚点、字符类、分组与选择、量词,
|
|
36
28
|
* 沙箱的生成器才翻译得了。macOS 与 Windows 上不分大小写,Windows 上反斜杠按斜杠比较
|
|
@@ -78,19 +70,13 @@ export declare function protectedLists(input: ProtectedListsInput): ProtectedLis
|
|
|
78
70
|
* 一份同样的规则,根下的例外随根挪过去。真实路径由调用方在激活时取好,路径不存在的不给;激活之后链接改指向不跟踪
|
|
79
71
|
*/
|
|
80
72
|
export declare function withRealRoots(lists: ProtectedLists, realOf: (path: string) => string | undefined): ProtectedLists;
|
|
81
|
-
/**
|
|
82
|
-
export type ReachPrincipal = 'owner' | 'other'
|
|
83
|
-
readonly subtaskOf: Reach;
|
|
84
|
-
};
|
|
73
|
+
/** 发起这一轮的主体(权限服务的 principalOf) */
|
|
74
|
+
export type ReachPrincipal = 'owner' | 'other';
|
|
85
75
|
export interface ReachInput {
|
|
86
76
|
readonly principal: ReachPrincipal;
|
|
87
|
-
/** 会话的房间类别(子会话取根会话的) */
|
|
88
|
-
readonly roomClass: RoomClass;
|
|
89
77
|
/** 生效的档位与越界策略(子会话取根会话的) */
|
|
90
78
|
readonly tier: AccessTier;
|
|
91
79
|
readonly onBoundary: BoundaryPolicy;
|
|
92
|
-
/** 这个会话读进过谁的内容(来源称呼);不给或为空即干净 */
|
|
93
|
-
readonly tainted?: readonly string[];
|
|
94
80
|
/** 场所的主目录与白纸:默认工作区两者是同一处,项目工作区的主目录是绑定目录 */
|
|
95
81
|
readonly place: {
|
|
96
82
|
readonly home: string;
|
|
@@ -102,34 +88,30 @@ export interface ReachInput {
|
|
|
102
88
|
readonly gitDirs: readonly string[];
|
|
103
89
|
/** 本会话临时区 */
|
|
104
90
|
readonly sessionTmp: string;
|
|
105
|
-
/** 别人的内容所在:别人场所的白纸与来源账本里的文件。文件工具读得到(读了计污点),干净回合的沙箱读不到、改不了 */
|
|
106
|
-
readonly othersContent: readonly string[];
|
|
107
91
|
/** 沙箱里拒连的本机端口 */
|
|
108
92
|
readonly localPorts: readonly number[];
|
|
109
93
|
readonly lists: ProtectedLists;
|
|
110
94
|
readonly paths: HostPaths;
|
|
111
95
|
}
|
|
112
|
-
/**
|
|
96
|
+
/**
|
|
97
|
+
* 有本地效果的触及:只有主体是 owner 的调用才有(续做与子任务的类别随起它的那一轮,主体按这次调用的参与者,批过的按批的人)
|
|
98
|
+
*/
|
|
113
99
|
export interface LocalReach {
|
|
114
100
|
/** 命令在哪执行:只读与工作区档在沙箱里,修改确认与全权在宿主上 */
|
|
115
101
|
readonly exec: 'sandbox' | 'host';
|
|
116
102
|
readonly tier: AccessTier;
|
|
117
103
|
readonly onBoundary: BoundaryPolicy;
|
|
118
|
-
/** 读进过谁的内容;干净时没有 */
|
|
119
|
-
readonly tainted?: readonly string[];
|
|
120
104
|
/** 场所的主目录与白纸 */
|
|
121
105
|
readonly home: string;
|
|
122
106
|
readonly paper: string;
|
|
123
107
|
readonly sessionTmp: string;
|
|
124
|
-
readonly skills: string;
|
|
125
108
|
/** 工作区档的可写范围:场所的主目录与白纸、附加可写目录、本会话树建的 worktree;其余档位为空 */
|
|
126
109
|
readonly workRoots: readonly string[];
|
|
127
110
|
/**
|
|
128
|
-
* 沙箱两档不问就能写的根:只读档只有本会话临时区;工作区档是 workRoots、仓库的 git
|
|
129
|
-
*
|
|
111
|
+
* 沙箱两档不问就能写的根:只读档只有本会话临时区;工作区档是 workRoots、仓库的 git 目录、本会话临时区与技能目录。
|
|
112
|
+
* 修改确认与全权为空
|
|
130
113
|
*/
|
|
131
114
|
readonly writable: readonly string[];
|
|
132
|
-
readonly othersContent: readonly string[];
|
|
133
115
|
readonly localPorts: readonly number[];
|
|
134
116
|
/** 这份触及的三张清单:落点按仓库的 git 目录补上(见 resolveReach) */
|
|
135
117
|
readonly lists: ProtectedLists;
|
|
@@ -139,9 +121,8 @@ export type Reach = {
|
|
|
139
121
|
readonly exec: 'none';
|
|
140
122
|
} | LocalReach;
|
|
141
123
|
/**
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
* 它里面的落点照样拦;伪装裸仓库要的 HEAD 是落点,.git 与这些 git 目录里的除外
|
|
124
|
+
* 解析触及:只有主体是 owner 的一轮有本地效果。落点按这份触及的 git 目录补上:git 目录不一定叫 .git(裸仓库、分开放的
|
|
125
|
+
* git 目录),它本身与它里面的落点照样拦;伪装裸仓库要的 HEAD 是落点,.git 与这些 git 目录里的除外
|
|
145
126
|
*/
|
|
146
127
|
export declare function resolveReach(input: ReachInput): Reach;
|
|
147
128
|
/**
|
|
@@ -161,7 +142,7 @@ export type ReachRequest = {
|
|
|
161
142
|
readonly effect: 'network';
|
|
162
143
|
readonly via: 'url' | 'command' | 'provider';
|
|
163
144
|
};
|
|
164
|
-
/**
|
|
145
|
+
/** 要问的原因:修改确认档、越界(范围外写、宿主执行、只读档联网)、写落点 */
|
|
165
146
|
export type ReachAskReason = {
|
|
166
147
|
readonly kind: 'tier';
|
|
167
148
|
} | {
|
|
@@ -169,8 +150,6 @@ export type ReachAskReason = {
|
|
|
169
150
|
readonly target: 'write-path' | 'host-exec' | 'network';
|
|
170
151
|
} | {
|
|
171
152
|
readonly kind: 'landing';
|
|
172
|
-
} | {
|
|
173
|
-
readonly kind: 'outbound';
|
|
174
153
|
};
|
|
175
154
|
/**
|
|
176
155
|
* 判定:放行(全权写落点另带 landing,要记审计);问;拒——没有本地效果、宿主控制面与拒读清单不可申请,
|
|
@@ -194,21 +173,19 @@ export type ReachDecision = {
|
|
|
194
173
|
export declare function judgeReach(reach: Reach, request: ReachRequest): ReachDecision;
|
|
195
174
|
/**
|
|
196
175
|
* 沙箱策略:只由触及生成,工具不自己拼。各段的先后(后面的压过前面的),生成器照这个顺序翻译:
|
|
197
|
-
* - 读:默认可读 → readDeny 拒 → readAllowWithin
|
|
198
|
-
* - 写:默认拒 → write 放 → writeDeny 拒 → writeExceptions 放回 → controlDeny
|
|
176
|
+
* - 读:默认可读 → readDeny 拒 → readAllowWithin 放回;
|
|
177
|
+
* - 写:默认拒 → write 放 → writeDeny 拒 → writeExceptions 放回 → controlDeny 拒。
|
|
199
178
|
*/
|
|
200
179
|
export interface SandboxPolicy {
|
|
201
180
|
/** 拒读清单(规则自带例外) */
|
|
202
181
|
readonly readDeny: readonly PathRule[];
|
|
203
182
|
/** 拒读之后放回:本会话临时区 */
|
|
204
183
|
readonly readAllowWithin: readonly string[];
|
|
205
|
-
/** 干净回合里别人的内容:拒读拒写,排在一切放行之后;受污染时为空 */
|
|
206
|
-
readonly provenanceDeny: readonly string[];
|
|
207
184
|
/** 可写的根,含这条命令批准过的范围外写 */
|
|
208
185
|
readonly write: readonly string[];
|
|
209
|
-
/**
|
|
186
|
+
/** 落点拒写 */
|
|
210
187
|
readonly writeDeny: readonly PathRule[];
|
|
211
|
-
/** 拒写之后放回:锚定在可写范围各根下的项目内 node_modules
|
|
188
|
+
/** 拒写之后放回:锚定在可写范围各根下的项目内 node_modules,与这条命令按落点批准过的确切路径 */
|
|
212
189
|
readonly writeExceptions: readonly PathRule[];
|
|
213
190
|
/** 宿主控制面拒写,排在所有放行与例外之后 */
|
|
214
191
|
readonly controlDeny: readonly PathRule[];
|
|
@@ -221,7 +198,7 @@ export interface SandboxPolicy {
|
|
|
221
198
|
}
|
|
222
199
|
/** 这条命令批准过的提权:按批准时的原因分开放,批准一个目录不连带放回它下面的落点 */
|
|
223
200
|
export interface SandboxGrants {
|
|
224
|
-
/**
|
|
201
|
+
/** 按范围外写批准的路径:并进可写的根,其下的落点照样拒写 */
|
|
225
202
|
readonly writePaths?: readonly string[];
|
|
226
203
|
/** 按落点批准的路径:在拒写之后只放回这一个确切路径 */
|
|
227
204
|
readonly landingPaths?: readonly string[];
|
|
@@ -243,13 +220,11 @@ export type ReachVerdict = {
|
|
|
243
220
|
readonly message: string;
|
|
244
221
|
};
|
|
245
222
|
/**
|
|
246
|
-
* 触及凭据:按一次工具调用签发,只由触及插件构造;工具从调用上下文取得后转交给存储与沙箱。exec、home、paper
|
|
247
|
-
*
|
|
223
|
+
* 触及凭据:按一次工具调用签发,只由触及插件构造;工具从调用上下文取得后转交给存储与沙箱。exec、home、paper 按签发时的
|
|
224
|
+
* 触及;require、allows 与 sandboxPolicy 每次按会话当时的设置重算,降档立即生效
|
|
248
225
|
*/
|
|
249
226
|
export interface ReachCredential {
|
|
250
227
|
readonly [REACH_CREDENTIAL]: true;
|
|
251
|
-
/** 这个会话读进过谁的内容(来源称呼),执行面闸据它给确认卡写来源;没有即干净。全权档不带:全权不提示 */
|
|
252
|
-
readonly tainted?: readonly string[];
|
|
253
228
|
/** 命令在哪执行;none 即这次调用没有本地效果 */
|
|
254
229
|
readonly exec: 'none' | 'sandbox' | 'host';
|
|
255
230
|
/** 场所的主目录与白纸:当前目录没有值时取 home,不写输出位置的工具写进 paper;没有本地效果时不带 */
|
|
@@ -265,33 +240,19 @@ export interface ReachCredential {
|
|
|
265
240
|
*/
|
|
266
241
|
sandboxPolicy(): SandboxPolicy;
|
|
267
242
|
/**
|
|
268
|
-
* 子进程环境:取自 owner 的 login shell
|
|
269
|
-
*
|
|
243
|
+
* 子进程环境:取自 owner 的 login shell(在场所的主目录下取一次),宿主执行用完整的;沙箱内是同一份,只去掉 AALIS_* 与
|
|
244
|
+
* SSH_AUTH_SOCK,再注入沙箱要的几项。没有本地效果的凭据抛错
|
|
270
245
|
*/
|
|
271
246
|
processEnv(mode: 'sandbox' | 'host'): Promise<Record<string, string>>;
|
|
272
|
-
/** 经凭据写进白纸时调用:受污染回合的写入记进来源账本 */
|
|
273
|
-
noteWrite(realPath: string): void;
|
|
274
247
|
}
|
|
275
248
|
/** 带品牌符号的对象才是凭据 */
|
|
276
249
|
export declare function isReachCredential(value: unknown): value is ReachCredential;
|
|
277
|
-
/** 来源账本的一条:受污染的会话经凭据写进白纸的文件 */
|
|
278
|
-
export interface ProvenanceRecord {
|
|
279
|
-
/** 写入它的会话 */
|
|
280
|
-
readonly sessionId: string;
|
|
281
|
-
/** 写入时这个会话读进过谁的内容 */
|
|
282
|
-
readonly sources: readonly string[];
|
|
283
|
-
readonly at: number;
|
|
284
|
-
}
|
|
285
250
|
export interface ReachService {
|
|
286
251
|
/**
|
|
287
|
-
*
|
|
252
|
+
* 按一次工具调用签发凭据:主体取权限服务的 principalOf,会话与绑定取会话管理里的记录。没有本地效果的调用拿到
|
|
288
253
|
* exec 为 none 的凭据
|
|
289
254
|
*/
|
|
290
255
|
forCall(call: OriginTurn): Promise<ReachCredential>;
|
|
291
|
-
/** 记下这个会话读进了别人写的内容(来源称呼,至少一个):粘在会话上,之后签发的凭据都带着 */
|
|
292
|
-
markTainted(sessionId: string, sources: readonly string[]): void;
|
|
293
|
-
/** 白纸里一个文件(真实路径)在来源账本里的记录;没有记录的文件按 owner 写的算 */
|
|
294
|
-
provenanceOf(realPath: string): ProvenanceRecord | undefined;
|
|
295
256
|
}
|
|
296
257
|
/** 调用型服务:业务层就是提供者的形状 */
|
|
297
258
|
export declare const reach: import("@aalis/core").ServiceDescriptor<ReachService, ReachService>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @aalis/api-reach — 触及契约
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
4
|
+
* 一次工具调用最多能触及本机的什么:先按这一轮的主体定上限,主体是 owner 的有本地效果,不看会话(主体见权限服务的
|
|
5
|
+
* principalOf);再按档位收窄。本包只有类型与纯函数:
|
|
6
|
+
* - 档位与越界策略;
|
|
7
7
|
* - `resolveReach` 解析出一份触及,`judgeReach` 判一个目标放行、问或拒;
|
|
8
8
|
* - `protectedLists` 生成宿主控制面、持久化与自动执行落点、拒读清单三张清单,`withRealRoots` 按真实路径补上链接出去的根,
|
|
9
9
|
* 工具边界与沙箱用同一份;
|
|
10
10
|
* - `sandboxPolicyOf` 按触及生成沙箱策略;
|
|
11
11
|
* - 触及凭据 `ReachCredential` 的类型与品牌符号:凭据只由触及插件构造,工具从调用上下文取得后转交;
|
|
12
|
-
* - 触及服务 `reach
|
|
12
|
+
* - 触及服务 `reach`:按一次工具调用签发凭据。
|
|
13
13
|
*
|
|
14
14
|
* 路径一律是真实路径:符号链接已解开;目标不存在时,取最近存在的祖先的真实路径,再接上后面不存在的各段。由调用方取好再交进来。
|
|
15
15
|
*/
|
|
@@ -17,7 +17,7 @@ import { defineService } from '@aalis/core';
|
|
|
17
17
|
// ════════════════════════════════════════════════════════════
|
|
18
18
|
// 档位
|
|
19
19
|
// ════════════════════════════════════════════════════════════
|
|
20
|
-
/**
|
|
20
|
+
/** 权限四档,从低到高:只读、修改确认、工作区、全权 */
|
|
21
21
|
export const ACCESS_TIERS = ['readonly', 'confirm', 'workspace', 'full'];
|
|
22
22
|
/** 路径落在这条规则里:命中它、且不在它的例外里 */
|
|
23
23
|
export function matchesRule(rule, path, platform) {
|
|
@@ -181,27 +181,19 @@ export function withRealRoots(lists, realOf) {
|
|
|
181
181
|
}
|
|
182
182
|
const NO_LOCAL = Object.freeze({ exec: 'none' });
|
|
183
183
|
/**
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
* 它里面的落点照样拦;伪装裸仓库要的 HEAD 是落点,.git 与这些 git 目录里的除外
|
|
184
|
+
* 解析触及:只有主体是 owner 的一轮有本地效果。落点按这份触及的 git 目录补上:git 目录不一定叫 .git(裸仓库、分开放的
|
|
185
|
+
* git 目录),它本身与它里面的落点照样拦;伪装裸仓库要的 HEAD 是落点,.git 与这些 git 目录里的除外
|
|
187
186
|
*/
|
|
188
187
|
export function resolveReach(input) {
|
|
189
|
-
|
|
190
|
-
const parent = typeof principal === 'object' ? principal.subtaskOf : undefined;
|
|
191
|
-
if (parent?.exec === 'none' || principal === 'other' || input.roomClass !== 'owner-only')
|
|
188
|
+
if (input.principal === 'other')
|
|
192
189
|
return NO_LOCAL;
|
|
193
|
-
const tier =
|
|
194
|
-
? ACCESS_TIERS[Math.min(ACCESS_TIERS.indexOf(input.tier), ACCESS_TIERS.indexOf(parent.tier))]
|
|
195
|
-
: input.tier;
|
|
196
|
-
const sources = [...new Set([...(input.tainted ?? []), ...(parent?.tainted ?? [])])];
|
|
197
|
-
const tainted = sources.length > 0 ? sources : undefined;
|
|
190
|
+
const { tier } = input;
|
|
198
191
|
const { home, paper } = input.place;
|
|
199
|
-
const skills = input.paths.self.skills;
|
|
200
192
|
const workRoots = tier === 'workspace'
|
|
201
193
|
? [...new Set([home, paper, ...(input.binding?.extraRoots ?? []), ...(input.binding?.worktrees ?? [])])]
|
|
202
194
|
: [];
|
|
203
195
|
const writable = tier === 'workspace'
|
|
204
|
-
? [...new Set([...workRoots, ...input.gitDirs, input.sessionTmp, skills])]
|
|
196
|
+
? [...new Set([...workRoots, ...input.gitDirs, input.sessionTmp, input.paths.self.skills])]
|
|
205
197
|
: tier === 'readonly'
|
|
206
198
|
? [input.sessionTmp]
|
|
207
199
|
: [];
|
|
@@ -213,15 +205,12 @@ export function resolveReach(input) {
|
|
|
213
205
|
return {
|
|
214
206
|
exec: tier === 'readonly' || tier === 'workspace' ? 'sandbox' : 'host',
|
|
215
207
|
tier,
|
|
216
|
-
onBoundary:
|
|
217
|
-
...(tainted ? { tainted } : {}),
|
|
208
|
+
onBoundary: input.onBoundary,
|
|
218
209
|
home,
|
|
219
210
|
paper,
|
|
220
211
|
sessionTmp: input.sessionTmp,
|
|
221
|
-
skills,
|
|
222
212
|
workRoots,
|
|
223
213
|
writable,
|
|
224
|
-
othersContent: input.othersContent,
|
|
225
214
|
localPorts: input.localPorts,
|
|
226
215
|
lists: { ...input.lists, landing },
|
|
227
216
|
};
|
|
@@ -229,7 +218,6 @@ export function resolveReach(input) {
|
|
|
229
218
|
const ALLOW = { verdict: 'allow' };
|
|
230
219
|
const TIER = { kind: 'tier' };
|
|
231
220
|
const LANDING = { kind: 'landing' };
|
|
232
|
-
const OUTBOUND = { kind: 'outbound' };
|
|
233
221
|
const WRITE_PATH = { kind: 'boundary', target: 'write-path' };
|
|
234
222
|
/** 判一个目标放行、问或拒 */
|
|
235
223
|
export function judgeReach(reach, request) {
|
|
@@ -241,8 +229,6 @@ export function judgeReach(reach, request) {
|
|
|
241
229
|
: { verdict: 'ask', reason };
|
|
242
230
|
const within = (root, path) => matchesRule({ path: root }, path, lists.platform);
|
|
243
231
|
const listed = (rules, path) => rules.some(rule => matchesRule(rule, path, lists.platform));
|
|
244
|
-
// 受污染时全权以外的档位:送出会话的动作要问
|
|
245
|
-
const outbound = reach.tainted !== undefined && tier !== 'full';
|
|
246
232
|
switch (request.effect) {
|
|
247
233
|
case 'read':
|
|
248
234
|
return within(reach.sessionTmp, request.path) || !listed(lists.denyRead, request.path)
|
|
@@ -255,8 +241,6 @@ export function judgeReach(reach, request) {
|
|
|
255
241
|
return ask(TIER);
|
|
256
242
|
return request.host ? ask({ kind: 'boundary', target: 'host-exec' }) : ALLOW;
|
|
257
243
|
case 'network':
|
|
258
|
-
if (outbound && request.via !== 'provider')
|
|
259
|
-
return ask(OUTBOUND);
|
|
260
244
|
return tier === 'readonly' ? ask({ kind: 'boundary', target: 'network' }) : ALLOW;
|
|
261
245
|
case 'write':
|
|
262
246
|
if ('path' in request) {
|
|
@@ -265,17 +249,13 @@ export function judgeReach(reach, request) {
|
|
|
265
249
|
return { verdict: 'deny', rule: 'control-plane' };
|
|
266
250
|
if (listed(lists.landing, path))
|
|
267
251
|
return tier === 'full' ? { verdict: 'allow', landing: true } : ask(LANDING);
|
|
268
|
-
if (
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
return reach.writable.some(root => within(root, path)) ? ALLOW : ask(WRITE_PATH);
|
|
274
|
-
}
|
|
252
|
+
if (tier === 'full')
|
|
253
|
+
return ALLOW;
|
|
254
|
+
if (tier === 'confirm')
|
|
255
|
+
return ask(TIER);
|
|
256
|
+
return reach.writable.some(root => within(root, path)) ? ALLOW : ask(WRITE_PATH);
|
|
275
257
|
}
|
|
276
|
-
//
|
|
277
|
-
if (outbound)
|
|
278
|
-
return ask(OUTBOUND);
|
|
258
|
+
// 编排定义:与工作区档的可写范围同等
|
|
279
259
|
if (tier === 'confirm')
|
|
280
260
|
return ask(TIER);
|
|
281
261
|
return tier === 'readonly' ? ask(WRITE_PATH) : ALLOW;
|
|
@@ -286,28 +266,17 @@ export function sandboxPolicyOf(reach, grants = {}) {
|
|
|
286
266
|
if (reach.exec !== 'sandbox')
|
|
287
267
|
throw new Error(`这次调用的命令不在沙箱里执行(${reach.exec}),没有沙箱策略`);
|
|
288
268
|
const { platform } = reach.lists;
|
|
289
|
-
const writePaths = grants.writePaths ?? [];
|
|
290
|
-
// 技能目录里批准过的那几处:只可能是写技能本身批准的(装着技能目录的范围外目录不算)
|
|
291
|
-
const approvedSkills = writePaths
|
|
292
|
-
.filter(path => matchesRule({ path: reach.skills }, path, platform))
|
|
293
|
-
.map(path => ({ path }));
|
|
294
269
|
return {
|
|
295
270
|
readDeny: reach.lists.denyRead,
|
|
296
271
|
readAllowWithin: [reach.sessionTmp],
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
writeDeny: reach.tainted
|
|
300
|
-
? [...reach.lists.landing, { path: reach.skills, except: approvedSkills }]
|
|
301
|
-
: reach.lists.landing,
|
|
272
|
+
write: [...reach.writable, ...(grants.writePaths ?? [])],
|
|
273
|
+
writeDeny: reach.lists.landing,
|
|
302
274
|
writeExceptions: [
|
|
303
|
-
...reach.workRoots.map(root => ({
|
|
304
|
-
pattern: `^${literal(root, platform)}/(.*/)?node_modules/`,
|
|
305
|
-
...(reach.tainted ? { except: [{ path: reach.skills }] } : {}),
|
|
306
|
-
})),
|
|
275
|
+
...reach.workRoots.map(root => ({ pattern: `^${literal(root, platform)}/(.*/)?node_modules/` })),
|
|
307
276
|
...(grants.landingPaths ?? []).map(path => ({ pattern: `^${literal(path, platform)}$` })),
|
|
308
277
|
],
|
|
309
278
|
controlDeny: reach.lists.control,
|
|
310
|
-
network: grants.network ||
|
|
279
|
+
network: grants.network || reach.tier === 'workspace' ? 'on' : 'off',
|
|
311
280
|
localPorts: reach.localPorts,
|
|
312
281
|
unixSockets: [...reach.workRoots, reach.sessionTmp],
|
|
313
282
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/api-reach",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -19,23 +19,23 @@
|
|
|
19
19
|
"dist"
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@aalis/api-authority": ">=0.
|
|
22
|
+
"@aalis/api-authority": ">=0.12.0 <1.0.0",
|
|
23
23
|
"@aalis/api-host-paths": ">=0.1.0 <1.0.0",
|
|
24
|
-
"@aalis/api-session-manager": ">=0.
|
|
24
|
+
"@aalis/api-session-manager": ">=0.12.0 <1.0.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^22.0.0",
|
|
28
28
|
"typescript": "^5.7.0",
|
|
29
|
-
"@aalis/core": "0.
|
|
29
|
+
"@aalis/core": "0.21.0"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@aalis/core": ">=0.
|
|
32
|
+
"@aalis/core": ">=0.21.0 <1.0.0"
|
|
33
33
|
},
|
|
34
34
|
"keywords": [
|
|
35
35
|
"aalis",
|
|
36
36
|
"aalis-api"
|
|
37
37
|
],
|
|
38
|
-
"description": "
|
|
38
|
+
"description": "触及契约:档位、按主体定上限的触及解析、三张受保护清单、沙箱策略、触及凭据的类型与触及服务描述符",
|
|
39
39
|
"scripts": {
|
|
40
40
|
"build": "tsc",
|
|
41
41
|
"dev": "tsc --watch"
|