@aalis/plugin-authority 0.5.2 → 0.10.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.
@@ -1,6 +1,6 @@
1
+ import type { AccessConfirmHandler, AccessRequest, AuthorityService, AuthorityUserEntry, AuthorizeRequest, TemporaryGrant, UserIdentity } from '@aalis/api-authority';
2
+ import type { StorageService } from '@aalis/api-storage';
1
3
  import type { ConfigManager, Logger } from '@aalis/core';
2
- import type { AccessConfirmHandler, AccessRequest, AuthorityService, AuthorityUserEntry, AuthorizeRequest, TemporaryGrant, UserIdentity } from '@aalis/plugin-authority-api';
3
- import type { StorageService } from '@aalis/plugin-storage-api';
4
4
  export declare class AuthorityManager implements AuthorityService {
5
5
  private readonly config;
6
6
  private readonly logger;
@@ -21,12 +21,15 @@ export declare class AuthorityManager implements AuthorityService {
21
21
  }, request: AuthorizeRequest): string | null;
22
22
  setUserLevel(target: UserIdentity, level: number): void;
23
23
  removeUser(platform: string, userId: string): void;
24
+ /** 撤销某身份名下所有未过期的会话授予(降权 / 删除用户记录时调用)。 */
25
+ private revokeGrantsOf;
24
26
  setConfirmHandler(platform: string, handler: AccessConfirmHandler): void;
25
27
  /**
26
28
  * 该请求是否被 owner **预先**放行(白名单 / 该用户在本会话已有的临时授予)——**绝不**含"问发起者本人"。
27
29
  * 先过绝对闸(任何放行都不得绕过):硬禁 deniedCapabilities。
28
30
  * 再看:restrictedPolicy 全局白名单(自动化免确认)或 会话临时授予。
29
- * 临时授予按 **userId + sessionId + capability** 匹配 —— 群内 sessionId 全群共享时,不跨用户泄漏。
31
+ * 临时授予按 **platform + userId + sessionId + capability** 匹配 —— 群内 sessionId 全群共享时
32
+ * 不跨用户泄漏,同名 id 跨平台时不跨平台泄漏。消费端 consumeTempGrant 用同一组判据。
30
33
  */
31
34
  private isTemporarilyAllowed;
32
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"authority-manager.d.ts","sourceRoot":"","sources":["../src/authority-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EACV,oBAAoB,EAEpB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAahE,qBAAa,gBAAiB,YAAW,gBAAgB;IASrD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IATzB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,QAAQ,CAAK;IACrB,sDAAsD;IACtD,OAAO,CAAC,eAAe,CAAuB;gBAG3B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EAC/B,OAAO,EAAE,cAAc;IAKzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAOnD,6EAA6E;IAC7E,OAAO,CAAC,KAAK;IAOb,SAAS,CAAC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI;IAoBpG,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAYvD,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKlD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAIxE;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAyB5B;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAIxC,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAqB7D,mBAAmB,IAAI,cAAc,EAAE;IAKvC,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAMzC,iBAAiB,IAAI,IAAI;IAIzB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,eAAe;IAQvB,SAAS,IAAI,kBAAkB,EAAE;IAiBjC,IAAI,IAAI,IAAI;CAGb"}
1
+ {"version":3,"file":"authority-manager.d.ts","sourceRoot":"","sources":["../src/authority-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAazD,qBAAa,gBAAiB,YAAW,gBAAgB;IASrD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IATzB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,QAAQ,CAAK;IACrB,sDAAsD;IACtD,OAAO,CAAC,eAAe,CAAuB;gBAG3B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EAC/B,OAAO,EAAE,cAAc;IAKzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAYnD,6EAA6E;IAC7E,OAAO,CAAC,KAAK;IAOb,SAAS,CAAC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI;IAyBpG,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAmBvD,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAUlD,yCAAyC;IACzC,OAAO,CAAC,cAAc;IAYtB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAIxE;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAKxC,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB7D,mBAAmB,IAAI,cAAc,EAAE;IAKvC,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAMzC,iBAAiB,IAAI,IAAI;IAIzB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,eAAe;IAQvB,SAAS,IAAI,kBAAkB,EAAE;IAiBjC,IAAI,IAAI,IAAI;CAGb"}
@@ -29,6 +29,11 @@ export class AuthorityManager {
29
29
  isOwner(platform, userId) {
30
30
  if (!userId)
31
31
  return false;
32
+ // 本机控制台恒为 owner(CLI 的 TUI、WebUI 的已认证会话)。**这是设计不是后门**:
33
+ // `platform` 由适配器自己填(onebot 适配器填 'onebot'),远端用户无从选择它,所以
34
+ // 「伪造成 cli:console」这条路对外不存在。能填 'cli' 的只有本进程内的代码,而那已经
35
+ // 拥有完全能力(服务容器里想调什么调什么),冒充 owner 对它毫无增益。
36
+ // 反过来说:**任何新增的平台适配器都不得把自己的 platform 起名为 'cli' 或 'webui'**。
32
37
  if ((platform === 'webui' || platform === 'cli') && userId === 'console')
33
38
  return true;
34
39
  const owners = this.config.get('owners') ?? [];
@@ -56,6 +61,11 @@ export class AuthorityManager {
56
61
  if (!resolveAccess({ level, minLevel, isOwner, denied, capability: request.capability })) {
57
62
  if (matchAnyCap(denied, request.capability))
58
63
  return `已被系统禁用: ${request.capability}`;
64
+ // 文案点名能力,因此会向无权用户暴露该能力的**存在性**。已评估并决定保留(2026-08):
65
+ // 改成「未知指令」式的模糊回应会牵动所有能力的拒绝语义(本函数同时服务 tools 与
66
+ // commands 两个注入点),而开源项目里能力存在性本就公开——防泄漏不是这里的目标,
67
+ // 说清「差多少等级」对用户更有用。与 CommandRegistry.execute 里那条守卫前泄漏是
68
+ // 同一个决定的两半,要改一起改。
59
69
  return `权限不足: "${request.capability}" 需等级 ${minLevel}(当前 ${level})`;
60
70
  }
61
71
  return null;
@@ -64,6 +74,7 @@ export class AuthorityManager {
64
74
  setUserLevel(target, level) {
65
75
  const key = `${target.platform}:${target.userId}`;
66
76
  const existing = this.store.get(key);
77
+ const prev = existing?.level ?? DEFAULT_AUTHORITY;
67
78
  // 默认等级(0)且无备注 → 直接清记录(保持 users.json 精简)
68
79
  if (level === DEFAULT_AUTHORITY && !existing?.note) {
69
80
  this.store.delete(key);
@@ -71,11 +82,37 @@ export class AuthorityManager {
71
82
  else {
72
83
  this.store.set(key, { ...existing, level });
73
84
  }
85
+ // 降权即撤销该用户尚未过期的会话授予。
86
+ // 不这么做的话,`isPreApproved`(守卫「未授权」分支的救援口)会靠旧授予继续放行——
87
+ // authorize 明确返回「权限不足」而守卫仍放过,即「封了但没封住」,窗口最长 1 小时。
88
+ // 撤销放在这里而不是放在救援口上复查:救援口恰恰是在 authorize 拒绝之后才被调用的,
89
+ // 在那里复查等于把整条会话授予路径变成死代码。撤销本就是管理动作的一部分。
90
+ if (level < prev)
91
+ this.revokeGrantsOf(target.platform, target.userId);
74
92
  this.logger.debug(`设置等级: ${key} → ${level}`);
75
93
  }
76
94
  removeUser(platform, userId) {
77
- if (this.store.delete(`${platform}:${userId}`))
78
- this.logger.debug(`删除用户记录: ${platform}:${userId}`);
95
+ const key = `${platform}:${userId}`;
96
+ // 删记录 = 等级回落 DEFAULT_AUTHORITY,所以**只在这构成降权时**撤销授予,判据与
97
+ // setUserLevel 同源。原等级为负(被封禁)时删记录其实是升权,撤销纯属多余;
98
+ // 记录本就不存在时更是什么都没变,无条件撤销会让人白白重新确认一次。
99
+ const prev = this.store.get(key)?.level ?? DEFAULT_AUTHORITY;
100
+ if (this.store.delete(key))
101
+ this.logger.debug(`删除用户记录: ${key}`);
102
+ if (DEFAULT_AUTHORITY < prev)
103
+ this.revokeGrantsOf(platform, userId);
104
+ }
105
+ /** 撤销某身份名下所有未过期的会话授予(降权 / 删除用户记录时调用)。 */
106
+ revokeGrantsOf(platform, userId) {
107
+ let n = 0;
108
+ for (const [id, g] of this.tempGrants) {
109
+ if (g.platform === platform && g.userId === userId) {
110
+ this.tempGrants.delete(id);
111
+ n++;
112
+ }
113
+ }
114
+ if (n > 0)
115
+ this.logger.info(`已撤销 ${platform}:${userId} 的 ${n} 条会话授予(等级下调)`);
79
116
  }
80
117
  // ── 临时能力委托(restricted 能力的时限/限次放行)──────────────
81
118
  setConfirmHandler(platform, handler) {
@@ -85,15 +122,25 @@ export class AuthorityManager {
85
122
  * 该请求是否被 owner **预先**放行(白名单 / 该用户在本会话已有的临时授予)——**绝不**含"问发起者本人"。
86
123
  * 先过绝对闸(任何放行都不得绕过):硬禁 deniedCapabilities。
87
124
  * 再看:restrictedPolicy 全局白名单(自动化免确认)或 会话临时授予。
88
- * 临时授予按 **userId + sessionId + capability** 匹配 —— 群内 sessionId 全群共享时,不跨用户泄漏。
125
+ * 临时授予按 **platform + userId + sessionId + capability** 匹配 —— 群内 sessionId 全群共享时
126
+ * 不跨用户泄漏,同名 id 跨平台时不跨平台泄漏。消费端 consumeTempGrant 用同一组判据。
89
127
  */
90
- isTemporarilyAllowed(request) {
128
+ isTemporarilyAllowed(request, ownerOnly) {
91
129
  const denied = (this.config.get('deniedCapabilities') ?? []);
92
130
  // 硬禁绝对:主能力命中 deniedCapabilities 时,任何放行路径都不得绕过
93
131
  if (matchAnyCap(denied, request.capability))
94
132
  return false;
95
- // owner 全局白名单(自动化免确认)
96
- const policy = this.config.get('restrictedPolicy');
133
+ // restrictedPolicy 全局白名单。
134
+ //
135
+ // `ownerOnly` 由调用方决定,两条路径的语义**不同**,别再合并成一条:
136
+ // - `requestAccess`(确认轴)传 false:白名单在这里的意思是「免确认」——请求**已经过了
137
+ // 授权**,只是还要不要弹确认。对已授权用户放宽确认,正是它被设计出来的用途。
138
+ // - `isPreApproved`(守卫的未授权分支)传 true:那里是**救援闸**,一条不带身份判据的
139
+ // 白名单等于把「免确认」偷偷变成「免授权」:owner 配 `allow: ['tool:*']`
140
+ // (本意只是让自己的自动化不必每次确认)之后,**任何用户都能过**,包括被显式封禁到
141
+ // -5 的那个。同一函数下半截的会话授予本就带 `userId` 匹配(注释写着「防群内跨用户
142
+ // 白嫖」),这里缺的正是同一道判据。
143
+ const policy = ownerOnly && !this.isOwner(request.platform, request.userId) ? undefined : this.config.get('restrictedPolicy');
97
144
  if (policy?.allow && policy.allow.length > 0) {
98
145
  if (!policy.duration ||
99
146
  policy.duration <= 0 ||
@@ -102,9 +149,18 @@ export class AuthorityManager {
102
149
  return true;
103
150
  }
104
151
  }
105
- // 会话临时授予:同一用户 + 同会话 + 同能力(userId 必须匹配,防群内跨用户白嫖)
152
+ // 会话临时授予:同一平台 + 同一用户 + 同会话 + 同能力。
153
+ //
154
+ // platform 必须一起匹配 —— grant 记录里本就存着它,漏掉则 onebot 的 '123' 会命中
155
+ // telegram 的 '123' 的授予(userId 在跨平台间不唯一)。
156
+ //
157
+ // 这里**不**复查「当前是否仍被授权」:`isPreApproved` 恰恰是在 authorize 已经拒绝
158
+ // 之后才被调用的救援口,加这道复查会把整条会话授予路径变成死代码。
159
+ // 「封禁后旧授予仍生效」那条改在 setUserLevel 侧解决——撤销是管理动作的一部分。
106
160
  this.pruneTempGrants();
107
161
  for (const g of this.tempGrants.values()) {
162
+ if (g.platform !== request.platform)
163
+ continue;
108
164
  if (g.sessionId !== request.sessionId)
109
165
  continue;
110
166
  if (g.userId !== request.userId)
@@ -120,12 +176,14 @@ export class AuthorityManager {
120
176
  * 守卫拒绝后改调本方法(而非 requestAccess),requestAccess 仅用于「已授权但需意图确认」。
121
177
  */
122
178
  isPreApproved(request) {
123
- return this.isTemporarilyAllowed(request);
179
+ // ownerOnly=true:这条是**未授权救援闸**,白名单只认 owner 自己(见上方注释)。
180
+ return this.isTemporarilyAllowed(request, true);
124
181
  }
125
182
  async requestAccess(request) {
126
183
  // confirm='always':每次都问,不接受白名单/会话记忆(最高危)
127
184
  const always = request.confirm === 'always';
128
- if (!always && this.isTemporarilyAllowed(request)) {
185
+ // ownerOnly=false:这条是**确认轴**,请求已过授权,白名单在此的语义就是「免确认」。
186
+ if (!always && this.isTemporarilyAllowed(request, false)) {
129
187
  this.consumeTempGrant(request);
130
188
  return true;
131
189
  }
@@ -165,6 +223,10 @@ export class AuthorityManager {
165
223
  for (const g of this.tempGrants.values()) {
166
224
  if (g.capability !== request.capability)
167
225
  continue;
226
+ // platform 与 isTemporarilyAllowed 的匹配判据保持一致 —— 两个谓词必须成对:
227
+ // 只在匹配端加而消费端不加,会出现「命中的是 A 平台的授予、扣次数的是 B 平台的」。
228
+ if (g.platform !== request.platform)
229
+ continue;
168
230
  if (g.sessionId !== request.sessionId)
169
231
  continue;
170
232
  if (g.userId !== request.userId)
@@ -1 +1 @@
1
- {"version":3,"file":"authority-manager.js","sourceRoot":"","sources":["../src/authority-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authority-manager.js","sourceRoot":"","sources":["../src/authority-manager.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,7 @@
1
1
  /** owner 等级(∞):不入等级轴,靠 owners 列表归属;任何有限门槛都压不过它(防自锁)。 */
2
2
  export declare const OWNER_RANK: number;
3
- /** 未登记外部身份的默认等级。 */
4
- export declare const DEFAULT_AUTHORITY = 0;
5
- /** 无 risk 声明、仅标 visibility:'restricted' 的操作的兜底最低等级(≈老版「受信」门槛)。 */
6
- export declare const RESTRICTED_LEVEL = 2;
7
- /** 风险 → 操作最低等级:safe→0 · sensitive→1 · dangerous→2(owner 可逐条覆盖成任意整数)。 */
8
- export declare function riskToLevel(risk?: 'safe' | 'sensitive' | 'dangerous'): number;
3
+ import { DEFAULT_AUTHORITY, RESTRICTED_LEVEL } from '@aalis/api-authority';
4
+ export { DEFAULT_AUTHORITY, RESTRICTED_LEVEL };
9
5
  export declare function matchAnyCap(patterns: readonly string[], value: string): boolean;
10
6
  /**
11
7
  * 操作最低等级解析:authorityOverrides[cap] > risk 派生 > visibility 兜底。
@@ -47,5 +43,4 @@ export declare function shouldSkipConfirm(opts: {
47
43
  autoConfirmUntil: number;
48
44
  now: number;
49
45
  }): boolean;
50
- export {};
51
46
  //# sourceMappingURL=authority-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authority-model.d.ts","sourceRoot":"","sources":["../src/authority-model.ts"],"names":[],"mappings":"AAcA,wDAAwD;AACxD,eAAO,MAAM,UAAU,QAA2B,CAAC;AACnD,oBAAoB;AACpB,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAI7E;AAYD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAG/E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE;IACJ,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;IAC1C,UAAU,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;CACtC,GACA,MAAM,CAKR;AAED,wBAAwB;AACxB,UAAU,WAAW;IACnB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,+BAA+B;AAC/B,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAIzD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,OAAO,CAIV"}
1
+ {"version":3,"file":"authority-model.d.ts","sourceRoot":"","sources":["../src/authority-model.ts"],"names":[],"mappings":"AAcA,wDAAwD;AACxD,eAAO,MAAM,UAAU,QAA2B,CAAC;AAKnD,OAAO,EAAsB,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE/F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;AAY/C,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAG/E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE;IACJ,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;IAC1C,UAAU,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;CACtC,GACA,MAAM,CAIR;AAED,wBAAwB;AACxB,UAAU,WAAW;IACnB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,+BAA+B;AAC/B,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAIzD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,OAAO,CAIV"}
@@ -13,18 +13,11 @@
13
13
  // ════════════════════════════════════════════════════════════
14
14
  /** owner 等级(∞):不入等级轴,靠 owners 列表归属;任何有限门槛都压不过它(防自锁)。 */
15
15
  export const OWNER_RANK = Number.POSITIVE_INFINITY;
16
- /** 未登记外部身份的默认等级。 */
17
- export const DEFAULT_AUTHORITY = 0;
18
- /** risk 声明、仅标 visibility:'restricted' 的操作的兜底最低等级(≈老版「受信」门槛)。 */
19
- export const RESTRICTED_LEVEL = 2;
20
- /** 风险 操作最低等级:safe→0 · sensitive→1 · dangerous→2(owner 可逐条覆盖成任意整数)。 */
21
- export function riskToLevel(risk) {
22
- if (risk === 'dangerous')
23
- return 2;
24
- if (risk === 'sensitive')
25
- return 1;
26
- return DEFAULT_AUTHORITY; // safe / 未声明
27
- }
16
+ // 等级常量与 (risk,visibility)→门槛 的映射住在契约包 `@aalis/api-authority`:
17
+ // 判断「两份能力声明谁更严」的地方不止这里(plugin-commands 合并同名指令的多份声明时也要),
18
+ // 两份实现必然漂移 —— 曾因此漏掉「risk 遮蔽 visibility」这条性质,酿成一条提权面。
19
+ import { capabilityMinLevel, DEFAULT_AUTHORITY, RESTRICTED_LEVEL } from '@aalis/api-authority';
20
+ export { DEFAULT_AUTHORITY, RESTRICTED_LEVEL };
28
21
  // ── glob(`*` 通配任意字符段)──────────────
29
22
  function capMatches(pattern, value) {
30
23
  if (pattern === '*' || pattern === value)
@@ -51,9 +44,7 @@ export function resolveMinLevel(capability, opts) {
51
44
  const ov = opts.authorityOverrides?.[capability];
52
45
  if (ov !== undefined)
53
46
  return ov;
54
- if (opts.risk)
55
- return riskToLevel(opts.risk);
56
- return opts.visibility === 'restricted' ? RESTRICTED_LEVEL : DEFAULT_AUTHORITY;
47
+ return capabilityMinLevel(opts);
57
48
  }
58
49
  /** 数字等级裁决(见文件头优先级)。true=放行。 */
59
50
  export function resolveAccess(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"authority-model.js","sourceRoot":"","sources":["../src/authority-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authority-model.js","sourceRoot":"","sources":["../src/authority-model.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,6CAA6C;AAC7C,EAAE;AACF,qDAAqD;AACrD,qDAAqD;AACrD,6CAA6C;AAC7C,kDAAkD;AAClD,+EAA+E;AAC/E,yCAAyC;AACzC,mEAAmE;AACnE,6CAA6C;AAC7C,qCAAqC;AACrC,+DAA+D;AAE/D,wDAAwD;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAEnD,8DAA8D;AAC9D,wDAAwD;AACxD,qDAAqD;AACrD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE/F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;AAE/C,qCAAqC;AACrC,SAAS,UAAU,CAAC,OAAe,EAAE,KAAa;IAChD,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9E,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AACD,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AACD,MAAM,UAAU,WAAW,CAAC,QAA2B,EAAE,KAAa;IACpE,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,IAAI,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IAChE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,IAIC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAeD,+BAA+B;AAC/B,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,mBAAmB;IACxF,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,CAAC,cAAc;IAC9C,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,qBAAqB;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,GAAW;IAC1D,OAAO,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAMjC;IACC,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5E,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Context, PluginModule } from '@aalis/core';
2
- export type { AuthorityService } from '@aalis/plugin-authority-api';
2
+ export type { AuthorityService } from '@aalis/api-authority';
3
3
  export { AuthorityManager } from './authority-manager.js';
4
4
  export declare const name = "@aalis/plugin-authority";
5
5
  export declare const displayName = "\u6743\u9650\u7BA1\u7406";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkBrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI1D,eAAO,MAAM,IAAI,4BAA4B,CAAC;AAC9C,eAAO,MAAM,WAAW,6BAAS,CAAC;AAClC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,QAAQ,UAAgB,CAAC;AACtC,eAAO,MAAM,MAAM;;CAElB,CAAC;AASF,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAuKzF;AAUD,eAAO,MAAM,OAAO,EAAE,YAAY,CAAC,SAAS,CA4K3C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAc,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI1D,eAAO,MAAM,IAAI,4BAA4B,CAAC;AAC9C,eAAO,MAAM,WAAW,6BAAS,CAAC;AAClC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,QAAQ,UAAgB,CAAC;AACtC,eAAO,MAAM,MAAM;;CAElB,CAAC;AASF,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0KzF;AAUD,eAAO,MAAM,OAAO,EAAE,YAAY,CAAC,SAAS,CAmL3C,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
- import { useCommandService } from '@aalis/plugin-commands-api';
2
- import { getPlatformNames } from '@aalis/plugin-platform-api';
3
- import { createStorageGateway } from '@aalis/plugin-storage-api';
4
- import { useWebuiService } from '@aalis/plugin-webui-api';
1
+ import { capabilityMinLevel } from '@aalis/api-authority';
2
+ import { useCommandService } from '@aalis/api-commands';
3
+ import { getPlatformNames } from '@aalis/api-platform';
4
+ import { createStorageGateway } from '@aalis/api-storage';
5
+ import { useWebuiService } from '@aalis/api-webui';
5
6
  import { setNetworkPolicy } from '@aalis/util-network-guard';
6
7
  import { AuthorityManager } from './authority-manager.js';
7
8
  import { autoConfirmActive, DEFAULT_AUTHORITY, shouldSkipConfirm } from './authority-model.js';
@@ -107,7 +108,10 @@ export async function apply(ctx, _config) {
107
108
  ctx.onDispose(() => authority.save());
108
109
  // ===== 权限指令 =====
109
110
  // /authority [target] — 查看自己或指定用户的权限等级
110
- cmds.command('authority [target:string]', '查看自己或指定用户的权限等级').action(async (argv, target) => {
111
+ // 读类敏感操作:会披露他人的权限等级 → risk:'sensitive'(推出 restricted=等级 2,不强制确认)。
112
+ cmds
113
+ .command('authority [target:string]', '查看自己或指定用户的权限等级', { risk: 'sensitive' })
114
+ .action(async (argv, target) => {
111
115
  const describe = (platform, userId, self) => {
112
116
  const isOwner = authority.isOwner(platform, userId);
113
117
  const who = self ? '您' : `${platform}:${userId}`;
@@ -223,6 +227,11 @@ export const actions = {
223
227
  temporaryGrants: auth?.listTemporaryGrants() ?? [],
224
228
  commandPrefix,
225
229
  // 操作清单:指令 + 工具统一带 pluginName/type/confirm,供前端「操作」视图按插件分组、显示两轴默认。
230
+ //
231
+ // `minLevel` 是**派生默认值**(不含 authorityOverrides)——定级这件事收在权限服务这一侧,
232
+ // 前端只渲染,不得再自算:它曾自带一份 `derivedMinLevel`,在 risk 为非联合成员的真值串时
233
+ // 与后端分歧(后端落 visibility 兜底=2、前端只要 risk 为真就吐 0),方向是 fail-open 的显示。
234
+ // overrides 不能由后端算进去:它是前端正在编辑中的状态,同一份 payload 里已整体下发。
226
235
  commands: cmdNodes.map(n => ({
227
236
  key: n.name,
228
237
  name: n.name,
@@ -232,6 +241,7 @@ export const actions = {
232
241
  visibility: n.visibility ?? 'public',
233
242
  confirm: n.confirm,
234
243
  risk: n.risk,
244
+ minLevel: capabilityMinLevel({ risk: n.risk, visibility: n.visibility }),
235
245
  })),
236
246
  tools: tools.map(t => ({
237
247
  key: t.name,
@@ -242,6 +252,7 @@ export const actions = {
242
252
  visibility: t.visibility ?? 'public',
243
253
  confirm: t.confirm,
244
254
  risk: t.risk,
255
+ minLevel: capabilityMinLevel({ risk: t.risk, visibility: t.visibility }),
245
256
  })),
246
257
  };
247
258
  },
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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"}
@@ -1,5 +1,5 @@
1
+ import type { StorageService } from '@aalis/api-storage';
1
2
  import type { Logger } from '@aalis/core';
2
- import type { StorageService } from '@aalis/plugin-storage-api';
3
3
  /** users.json v5 单用户记录 */
4
4
  export interface UserRecord {
5
5
  /** 登记等级(整数,越大越高;缺省 0,封禁=负数);owner 不入表 */
@@ -1 +1 @@
1
- {"version":3,"file":"user-store.d.ts","sourceRoot":"","sources":["../src/user-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAUhE,0BAA0B;AAC1B,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAID,qBAAa,SAAS;IAMlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAoC;gBAGlC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,SAAqB;IAI/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAGxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAI1C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK5B,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAKjD,IAAI,IAAI,IAAI;IAiBN,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA8B5B"}
1
+ {"version":3,"file":"user-store.d.ts","sourceRoot":"","sources":["../src/user-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAU1C,0BAA0B;AAC1B,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAID,qBAAa,SAAS;IAMlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAoC;gBAGlC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,SAAqB;IAI/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAGxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAI1C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK5B,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAKjD,IAAI,IAAI,IAAI;IAiBN,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA8B5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/plugin-authority",
3
- "version": "0.5.2",
3
+ "version": "0.10.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,18 +24,18 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@aalis/plugin-commands-api": "^0.5.0",
28
- "@aalis/plugin-platform-api": "^0.5.0",
29
- "@aalis/plugin-storage-api": "^0.5.5",
30
- "@aalis/plugin-webui-api": "^0.5.0",
31
- "@aalis/util-network-guard": "^0.5.1"
27
+ "@aalis/api-authority": ">=0.5.0 <1.0.0",
28
+ "@aalis/api-commands": ">=0.5.0 <1.0.0",
29
+ "@aalis/api-platform": ">=0.5.0 <1.0.0",
30
+ "@aalis/api-storage": ">=0.5.5 <1.0.0",
31
+ "@aalis/api-webui": ">=0.9.0 <1.0.0",
32
+ "@aalis/util-network-guard": ">=0.5.1 <1.0.0"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@types/node": "^22.0.0",
35
36
  "typescript": "^5.7.0",
36
- "@aalis/core": "0.8.0",
37
- "@aalis/plugin-tools-api": "0.5.1",
38
- "@aalis/plugin-authority-api": "0.5.0"
37
+ "@aalis/core": "0.10.0",
38
+ "@aalis/api-tools": "0.5.1"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@aalis/core": ">=0.2.0 <1.0.0"
@@ -1,23 +0,0 @@
1
- /** 单条能力 glob 匹配:`*` 通配任意字符段。pattern 为 glob,value 为具体能力串。 */
2
- export declare function capMatches(pattern: string, value: string): boolean;
3
- /** value 是否被 patterns 中任一 glob 命中。 */
4
- export declare function matchAnyCap(patterns: readonly string[], value: string): boolean;
5
- /**
6
- * 用户的能力解析输入。
7
- * - publicCaps:全局声明为 public 的能力集(来自各操作声明,所有人默认拥有)。
8
- * - grants:该用户被授予的 restricted 能力 glob(委托加)。
9
- * - denies:该用户被禁用的能力 glob(委托减,最高优先)。
10
- * - isOwner:owner = `*`,拥有一切。
11
- */
12
- export interface CapabilityResolution {
13
- isOwner: boolean;
14
- publicCaps: readonly string[];
15
- grants: readonly string[];
16
- denies: readonly string[];
17
- }
18
- /**
19
- * 用户对某具体能力是否有效。优先级:deny > owner(*) > public > granted(restricted)。
20
- * 注意 deny 高于 owner——owner 也可被显式 deny 某能力(如临时收回)。
21
- */
22
- export declare function hasCapability(res: CapabilityResolution, cap: string): boolean;
23
- //# sourceMappingURL=capability-model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capability-model.d.ts","sourceRoot":"","sources":["../src/capability-model.ts"],"names":[],"mappings":"AAUA,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKlE;AAMD,sCAAsC;AACtC,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAG/E;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAI7E"}
@@ -1,40 +0,0 @@
1
- // ════════════════════════════════════════════════════════════
2
- // 纯能力委托模型 —— feat/auth-capability 重构基石(纯函数,无副作用,便于单测)
3
- //
4
- // 用「能力 + 默认可见性 public/restricted + owner 授予加减」替代数字等级:
5
- // - 能力是 glob 标识(tool:x / command:x / storage:path:...:write / *)。
6
- // - 作者为每个操作声明默认可见性:public(默认所有人可用)/ restricted(默认禁,需授予)。
7
- // - 用户有效能力 = owner ? 全部 : (所有 public ∪ 被授予的 restricted) − 被禁用的;deny 优先。
8
- // - 单 owner 终态:权限只由 owner 管理(无委托树/子委托),故无子集约束。
9
- // ════════════════════════════════════════════════════════════
10
- /** 单条能力 glob 匹配:`*` 通配任意字符段。pattern 为 glob,value 为具体能力串。 */
11
- export function capMatches(pattern, value) {
12
- if (pattern === '*' || pattern === value)
13
- return true;
14
- if (!pattern.includes('*'))
15
- return false;
16
- const re = new RegExp(`^${pattern.split('*').map(escapeRegExp).join('.*')}$`);
17
- return re.test(value);
18
- }
19
- function escapeRegExp(s) {
20
- return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
21
- }
22
- /** value 是否被 patterns 中任一 glob 命中。 */
23
- export function matchAnyCap(patterns, value) {
24
- for (const p of patterns)
25
- if (capMatches(p, value))
26
- return true;
27
- return false;
28
- }
29
- /**
30
- * 用户对某具体能力是否有效。优先级:deny > owner(*) > public > granted(restricted)。
31
- * 注意 deny 高于 owner——owner 也可被显式 deny 某能力(如临时收回)。
32
- */
33
- export function hasCapability(res, cap) {
34
- if (matchAnyCap(res.denies, cap))
35
- return false;
36
- if (res.isOwner)
37
- return true;
38
- return matchAnyCap(res.publicCaps, cap) || matchAnyCap(res.grants, cap);
39
- }
40
- //# sourceMappingURL=capability-model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capability-model.js","sourceRoot":"","sources":["../src/capability-model.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,sDAAsD;AACtD,EAAE;AACF,sDAAsD;AACtD,oEAAoE;AACpE,2DAA2D;AAC3D,0EAA0E;AAC1E,iDAAiD;AACjD,+DAA+D;AAE/D,4DAA4D;AAC5D,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,KAAa;IACvD,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9E,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,WAAW,CAAC,QAA2B,EAAE,KAAa;IACpE,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,IAAI,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IAChE,OAAO,KAAK,CAAC;AACf,CAAC;AAgBD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAyB,EAAE,GAAW;IAClE,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1E,CAAC"}
package/dist/i18n.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import type { I18nResources } from '@aalis/core';
2
- export declare const i18n: I18nResources;
3
- //# sourceMappingURL=i18n.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,IAAI,EAAE,aASlB,CAAC"}
package/dist/i18n.js DELETED
@@ -1,11 +0,0 @@
1
- export const i18n = {
2
- 'zh-CN': {
3
- 'plugin.authority.displayName': '权限管理',
4
- 'webui.authority.page': '权限管理',
5
- },
6
- 'en-US': {
7
- 'plugin.authority.displayName': 'Authority',
8
- 'webui.authority.page': 'Authority',
9
- },
10
- };
11
- //# sourceMappingURL=i18n.js.map
package/dist/i18n.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAkB;IACjC,OAAO,EAAE;QACP,8BAA8B,EAAE,MAAM;QACtC,sBAAsB,EAAE,MAAM;KAC/B;IACD,OAAO,EAAE;QACP,8BAA8B,EAAE,WAAW;QAC3C,sBAAsB,EAAE,WAAW;KACpC;CACF,CAAC"}
@@ -1,42 +0,0 @@
1
- import type { TierName } from '@aalis/plugin-authority-api';
2
- /** 档位(有序整数 rank;owner 不入表 = ∞)。档名 TierName 是契约(authority-api)。 */
3
- export declare const TIERS: {
4
- readonly banned: -1;
5
- readonly visitor: 0;
6
- readonly friend: 1;
7
- readonly trusted: 2;
8
- };
9
- export declare const OWNER_RANK: number;
10
- /** 档名 → rank;未知名回退 visitor。 */
11
- export declare function rankOf(name: TierName): number;
12
- /** rank → 档名(owner 之外);用于展示。 */
13
- export declare function tierName(rank: number): TierName;
14
- export declare const TIER_LABEL: Record<TierName, string>;
15
- /** 风险 → 操作最低档:safe→访客 · sensitive→朋友 · dangerous→信任。 */
16
- export declare function riskToTier(risk?: 'safe' | 'sensitive' | 'dangerous'): number;
17
- export declare function matchAnyCap(patterns: readonly string[], value: string): boolean;
18
- /**
19
- * 操作最低档解析:tierOverrides[cap] > risk 派生 > visibility 兜底。
20
- * visibility 兜底仅在拿不到 risk 时用(public→访客 / restricted→信任)。
21
- */
22
- export declare function resolveMinTier(capability: string, opts: {
23
- tierOverrides?: Record<string, number>;
24
- risk?: 'safe' | 'sensitive' | 'dangerous';
25
- visibility?: 'public' | 'restricted';
26
- }): number;
27
- /** 一次访问裁决的输入(纯档位单轴)。 */
28
- interface AccessInput {
29
- /** 触发者有效档(owner→OWNER_RANK;= max(登记档, 访问器命中档)) */
30
- rank: number;
31
- /** 操作最低档 */
32
- minTier: number;
33
- isOwner: boolean;
34
- /** 全局硬禁 glob(config.deniedCapabilities,配置总闸,非 per-user) */
35
- denied?: readonly string[];
36
- /** 被裁决的能力串(command:x / tool:x / storage:...) */
37
- capability: string;
38
- }
39
- /** 档位裁决(见文件头优先级)。true=放行。 */
40
- export declare function resolveAccess(input: AccessInput): boolean;
41
- export {};
42
- //# sourceMappingURL=tier-model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tier-model.d.ts","sourceRoot":"","sources":["../src/tier-model.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,kEAAkE;AAClE,eAAO,MAAM,KAAK;;;;;CAAgG,CAAC;AACnH,eAAO,MAAM,UAAU,QAA2B,CAAC;AAEnD,+BAA+B;AAC/B,wBAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE7C;AACD,gCAAgC;AAChC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAK/C;AACD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAK/C,CAAC;AAEF,wDAAwD;AACxD,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAI5E;AAYD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAG/E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE;IACJ,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;IAC1C,UAAU,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;CACtC,GACA,MAAM,CAKR;AAED,wBAAwB;AACxB,UAAU,WAAW;IACnB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,6BAA6B;AAC7B,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAIzD"}
@@ -1,83 +0,0 @@
1
- // ════════════════════════════════════════════════════════════
2
- // tier-model —— 档位裁决引擎(纯函数,无副作用,便于单测)
3
- //
4
- // 单 owner 个人 bot 的「好管」权限:每个外部身份一个**有序档位**(单值),
5
- // 每个操作一个**最低档**(由 risk 派生、owner 可逐条覆盖)。owner=∞。
6
- // 纯档位单轴:每人一个档、每操作一个门槛,无 per-user 单条特批(杜绝跨轴撞车)。
7
- // 裁决优先级(首个命中赢,对齐 Claude Code deny→allow 与 Koishi 等级):
8
- // 1. 全局硬禁 deniedCapabilities → 拒(压过 owner,保 deny>owner 不变量;非 per-user,是配置总闸)
9
- // 2. owner → 放行
10
- // 3. 有效档 rank >= 操作 minTier → 放行;否则拒(封禁 rank=-1 自然连 minTier=0 都不过)
11
- // 确认轴(confirm/HITL)正交,不在此函数(owner 也吃,防注入借权)。
12
- // 内含 glob 工具 matchAnyCap(资源能力/硬禁匹配)。
13
- // ════════════════════════════════════════════════════════════
14
- /** 档位(有序整数 rank;owner 不入表 = ∞)。档名 TierName 是契约(authority-api)。 */
15
- export const TIERS = { banned: -1, visitor: 0, friend: 1, trusted: 2 };
16
- export const OWNER_RANK = Number.POSITIVE_INFINITY;
17
- /** 档名 → rank;未知名回退 visitor。 */
18
- export function rankOf(name) {
19
- return TIERS[name];
20
- }
21
- /** rank → 档名(owner 之外);用于展示。 */
22
- export function tierName(rank) {
23
- if (rank <= TIERS.banned)
24
- return 'banned';
25
- if (rank >= TIERS.trusted)
26
- return 'trusted';
27
- if (rank >= TIERS.friend)
28
- return 'friend';
29
- return 'visitor';
30
- }
31
- export const TIER_LABEL = {
32
- banned: '封禁',
33
- visitor: '访客',
34
- friend: '朋友',
35
- trusted: '信任',
36
- };
37
- /** 风险 → 操作最低档:safe→访客 · sensitive→朋友 · dangerous→信任。 */
38
- export function riskToTier(risk) {
39
- if (risk === 'dangerous')
40
- return TIERS.trusted;
41
- if (risk === 'sensitive')
42
- return TIERS.friend;
43
- return TIERS.visitor; // safe / 未声明
44
- }
45
- // ── glob(`*` 通配任意字符段)──────────────
46
- function capMatches(pattern, value) {
47
- if (pattern === '*' || pattern === value)
48
- return true;
49
- if (!pattern.includes('*'))
50
- return false;
51
- const re = new RegExp(`^${pattern.split('*').map(escapeRegExp).join('.*')}$`);
52
- return re.test(value);
53
- }
54
- function escapeRegExp(s) {
55
- return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
56
- }
57
- export function matchAnyCap(patterns, value) {
58
- for (const p of patterns)
59
- if (capMatches(p, value))
60
- return true;
61
- return false;
62
- }
63
- /**
64
- * 操作最低档解析:tierOverrides[cap] > risk 派生 > visibility 兜底。
65
- * visibility 兜底仅在拿不到 risk 时用(public→访客 / restricted→信任)。
66
- */
67
- export function resolveMinTier(capability, opts) {
68
- const ov = opts.tierOverrides?.[capability];
69
- if (ov !== undefined)
70
- return ov;
71
- if (opts.risk)
72
- return riskToTier(opts.risk);
73
- return opts.visibility === 'restricted' ? TIERS.trusted : TIERS.visitor;
74
- }
75
- /** 档位裁决(见文件头优先级)。true=放行。 */
76
- export function resolveAccess(input) {
77
- if (matchAnyCap(input.denied ?? [], input.capability))
78
- return false; // 1. 全局硬禁,压过 owner
79
- if (input.isOwner)
80
- return true; // 2. owner
81
- return input.rank >= input.minTier; // 3. 档位门槛(封禁 rank=-1 自然不过)
82
- }
83
- //# sourceMappingURL=tier-model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tier-model.js","sourceRoot":"","sources":["../src/tier-model.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export type { AuthorityService, AuthorityUserEntry, AuthorizeRequest, DangerousConfirmHandler, DangerousConfirmRequest, DangerousConfirmResult, DangerousGrant, DangerousGrantRequest, UserCapabilityOverrides, } from '@aalis/plugin-authority-api';
2
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC"}
package/dist/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}