@aalis/api-authority 0.11.0 → 0.12.1

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/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import type { OriginKind } from '@aalis/api-approval';
2
+ import type { TextRef } from '@aalis/schema-i18n';
3
+ import { type FromTurn, type IncomingMessage } from '@aalis/schema-message';
2
4
  /** 细粒度能力标识,如 tool:file.write、command:shutdown */
3
5
  export type CapabilityId = string;
4
6
  /**
@@ -11,9 +13,10 @@ export type CapabilityVisibility = 'public' | 'restricted';
11
13
  * 能力确认要求(轴 B · 确认:是否需「人确认」这一步,与 visibility 正交、owner 也生效):
12
14
  * - 缺省/undefined:无需确认(不提醒)。
13
15
  * - 'session':执行前需人确认;系统源(ExecutionGuardContext.skipConfirm)与 restrictedPolicy 白名单可免。
14
- * - 'always':每次都需确认,什么都免不掉(最危险操作)。
16
+ * - 'always':每次都需确认(最危险操作),只有确认覆盖设为 'off' 能免。
17
+ * 免确认只对参与者都是 owner 的回合生效,有别人的照旧要确认。
15
18
  *
16
- * 怎么确认看操作是谁发起的:工具由模型调用,确认是 owner 审批(@aalis/api-approval);指令由人亲手输入,
19
+ * 怎么确认看操作是谁发起的:工具由模型调用,确认是只有 owner 能批的审批(@aalis/api-approval);指令由人亲手输入,
17
20
  * 确认是向发出者本人核对意图(ExecutionGuardContext.confirmIntent)。
18
21
  *
19
22
  * 与 visibility 正交:visibility 管「授权(能不能)」,confirm 管「意图确认(是不是你本人此刻要)/防注入减速带」。
@@ -23,7 +26,7 @@ export type CapabilityConfirm = 'session' | 'always';
23
26
  /**
24
27
  * 能力风险等级(可选声明糖):插件自分类风险,框架展开为 (visibility, confirm) 默认:
25
28
  * - safe → (public, 无确认) 查天气/算术等
26
- * - sensitive → (restricted, 无确认) owner 顺手的中危
29
+ * - sensitive → (restricted, 无确认) owner 免确认的中危操作
27
30
  * - dangerous → (restricted, 'session') owner 也确认 —— shell / 写删 / 改系统 等
28
31
  *
29
32
  * 显式 visibility / confirm 覆盖 risk 推导值;三者皆不声明 → visibility 默认 public(保持向后兼容)。
@@ -75,17 +78,14 @@ export declare function resolveCapabilityPolicy(decl: CapabilityPolicyDecl, defa
75
78
  };
76
79
  /**
77
80
  * 调用所在的入站回合(只由 agent 工具循环填写,指令与其他调用方没有)。守卫据它判发起回合的类别,
78
- * 类别决定需要确认的工具调用能不能产生 owner 审批。
81
+ * 类别决定这次工具调用能不能产生审批。
79
82
  */
80
83
  export interface InboundTurn {
81
84
  /** 同 IncomingMessage.source:真人消息为 undefined,内部注入为注入方标识 */
82
85
  source?: string;
83
- /**
84
- * 宿主通知延续某次工具调用时,那次调用的发言者(IncomingMessage.hostNotice.callerUserId)。
85
- * 那次调用是 owner 在自己会话里发起的,这一轮才是 owner 链的延续
86
- */
87
- callerUserId?: string;
88
- /** 同 IncomingMessage.messageId:入站消息的平台消息 id。转到后台的工具调用结束时,结束通知的回复据它引用这条消息 */
86
+ /** 同 IncomingMessage.fromTurn:续做与子任务都带着发起它的那一轮,这一轮与它同一类别,主体按同一条判 */
87
+ fromTurn?: FromTurn;
88
+ /** 这一轮最近一条输入的平台消息 id(IncomingMessage.messageId)。转到后台的工具调用结束时,结束通知的回复据它引用这条消息 */
89
89
  messageId?: string;
90
90
  }
91
91
  /** 执行守卫上下文 —— 操作执行前权限检查的最小信息 */
@@ -102,20 +102,22 @@ export interface ExecutionGuardContext {
102
102
  confirm?: CapabilityConfirm;
103
103
  /** 会话 ID */
104
104
  sessionId: string;
105
- /** 来源平台(会话语义;等级判定见 actor) */
105
+ /** 来源平台(会话语义;等级判定见 participants) */
106
106
  platform: string;
107
- /** 用户 ID(物理发言者;等级判定见 actor) */
107
+ /** 用户 ID(物理发言者;等级判定见 participants) */
108
108
  userId?: string;
109
- /** 授权身份(缺省 = platform/userId 本身):等级裁决(authorize)按它评估 */
110
- actor?: {
111
- platform: string;
112
- userId: string;
113
- };
109
+ /**
110
+ * 这一轮的参与者(授权身份,入站回合里由 {@link originTurnOf} 算出;指令一路是发出者,不在入站回合里的调用方填它自己的
111
+ * 身份,没有身份的是一个无主体):等级裁决(authorize)、免确认与审批都按它们,对每个参与者各裁决一次
112
+ */
113
+ participants: readonly UserIdentity[];
114
+ /** 工具所属的工具分组(工具一路由执行器填,指令没有):原样转给 authorize,权限组的 `tool-group:` 条目按它覆盖 */
115
+ toolGroups?: readonly string[];
114
116
  /** 操作参数 */
115
117
  args?: Record<string, unknown>;
116
118
  /**
117
119
  * 系统/受信源(如 scheduler,无人能点交互确认):仍走 authorize 评估调用者能力,**不**绕过它(防提权)。
118
- * 已授权时跳过非 always 的确认,always 照常确认。
120
+ * 已授权时跳过非 always 的确认,always 照常确认;只对参与者都是 owner 的回合生效。
119
121
  */
120
122
  skipConfirm?: boolean;
121
123
  /** 调用所在回合的 id(工具调用由 agent 工具循环填写);审批随回合结束撤销 */
@@ -129,28 +131,62 @@ export interface ExecutionGuardContext {
129
131
  * 需要确认的指令没有它(定时任务、编排注入的指令)就无从确认,按拒绝处理
130
132
  */
131
133
  confirmIntent?: () => Promise<boolean>;
132
- /** 调用方回合的中止信号:守卫等 owner 审批期间回合中止,审批即撤销 */
134
+ /** 调用方的中止信号(回合中止、工具撤回登记等):守卫等审批期间断开,审批即撤销 */
133
135
  signal?: AbortSignal;
136
+ /**
137
+ * 取用判定(工具执行中经工具调用上下文的 approveFor 交来):给了即按它对每个参与者判、代替等级裁决,三分同等级裁决;
138
+ * 确认在这次调用开始时已经判过,不再判
139
+ */
140
+ check?: (who: UserIdentity) => Verdict;
134
141
  }
135
- /** 判发起回合的类别要的信息:执行守卫上下文的这几项,调用方按同样的口径填 */
136
- export type OriginTurn = Pick<ExecutionGuardContext, 'sessionId' | 'platform' | 'userId' | 'actor' | 'inbound'>;
137
142
  /**
138
- * 执行守卫函数。返回 null 放行;返回 string 拦截(值为原因/提示)。
143
+ * 一次判定:放行,或带一句原因拒绝(原因可以是文字对象,指令一路作为回复交给发出者、由出口按读者语言渲染,工具一路交给模型、
144
+ * 取 toSource)。执行守卫经审批放行的带回批的人 by
145
+ */
146
+ export type Verdict = {
147
+ ok: true;
148
+ by?: UserIdentity;
149
+ } | {
150
+ ok: false;
151
+ reason: string | TextRef;
152
+ };
153
+ /** 判发起回合的类别与主体要的信息:执行守卫上下文的这几项,调用方按同样的口径填(由入站消息拼时用 {@link originTurnOf}) */
154
+ export type OriginTurn = Pick<ExecutionGuardContext, 'sessionId' | 'platform' | 'userId' | 'participants' | 'inbound'>;
155
+ /** 是不是同一个参与者:身份相同,或两边都是 owner(owner 的各个身份算一个参与者;isOwner 不给时只按字面身份) */
156
+ export declare function sameParticipant(a: UserIdentity, b: UserIdentity, isOwner?: (platform: string, userId: string) => boolean): boolean;
157
+ /**
158
+ * 由一轮的输入拼这一轮,拼一轮的唯一函数:agent 据它填工具调用上下文,调用方不各自拼。
159
+ * - 参与者:各条输入的授权身份(actor,没有时是发言者,没有发言者的是无主体;插话不带 actor,就是发言者),带发起它的那一轮的
160
+ * 注入取那一轮的参与者;按进入先后排、按身份去重,owner 的各个身份算一个参与者、取最先进来的那一个(isOwner 不给时按字面
161
+ * 身份)。历史里别人的话、引用与转发进某条输入的内容都不另算
162
+ * - 发言者:各条输入的物理发言者相同时是他,不同时没有;缺省时取发起它的那一轮的(续做的通知不带发言者,工具眼里是发起它的人在调)
163
+ * - 入站回合:来源与发起它的那一轮取第一条(同一轮的输入来源相同,带来源的注入各自成一轮),平台消息 id 取最近一条
164
+ */
165
+ export declare function originTurnOf(inputs: readonly [IncomingMessage, ...IncomingMessage[]], isOwner?: (platform: string, userId: string) => boolean): OriginTurn;
166
+ /**
167
+ * 执行守卫函数。经审批放行的带回批的人 by:工具一路这次调用按他执行(指令一路的参与者只有发出者,不会有)。
139
168
  * 由 plugin-authority 通过 setExecutionGuard() 注入,停用时摘掉。
140
169
  */
141
- export type ExecutionGuard = (ctx: ExecutionGuardContext) => Promise<string | null>;
170
+ export type ExecutionGuard = (ctx: ExecutionGuardContext) => Promise<Verdict>;
142
171
  /**
143
172
  * 能力统一闸请求:一次敏感操作在边界处声明它触达的能力。
144
173
  *
145
174
  * tools / commands 的执行守卫在操作边界调用 authorize 过这道闸。
146
175
  */
147
176
  export interface AuthorizeRequest {
148
- /** 操作主能力(tool:<name> / command:<name>) */
177
+ /** 操作主能力(tool:<name> / command:<name> / setting:<实例 id>/<键>) */
149
178
  capability: CapabilityId;
150
179
  /** 主能力的默认可见性(操作声明;无 risk 时据它兜底 minLevel) */
151
180
  visibility: CapabilityVisibility;
152
181
  /** 操作原始风险(透传,供 minLevel 派生;缺省回退 visibility) */
153
182
  risk?: CapabilityRisk;
183
+ /**
184
+ * 操作自己声明的最低等级(如会话设置项按字段声明的门槛),压过 risk 与 visibility 的派生、让位于 config.authorityOverrides;
185
+ * Number.POSITIVE_INFINITY 即只有 owner
186
+ */
187
+ minLevel?: number;
188
+ /** 被裁决的工具所属的工具分组(工具一路由执行器填,指令没有):权限组的 `tool-group:` 条目按它覆盖,权限服务不反查工具表 */
189
+ toolGroups?: readonly string[];
154
190
  }
155
191
  /** 跨平台用户身份标识 */
156
192
  export interface UserIdentity {
@@ -172,23 +208,41 @@ export interface AuthorityService {
172
208
  /** 是否为 owner(owners 配置命中 → 拥有 `*`) */
173
209
  isOwner(platform: string, userId?: string): boolean;
174
210
  /**
175
- * 这一轮是谁发起的(契约见 api-approval 的 OriginKind):按回合的来源判,不按授权身份判,会话的受众按会话管理里
176
- * 记下的字段判。只有 owner 与 owner-chain 能产生审批;本地效果由触及服务按这一类别定主体:owner 与 owner-chain 为
177
- * owner,subtask 随派出它的那一轮父会话,其余没有本地效果
211
+ * owner 在这个平台登记的账号:配置 owners 里这个平台的第一个,没有时为 undefined。本机控制台(webui、cli 的 console)
212
+ * 恒为 owner,但不是登记的账号,不算
213
+ */
214
+ ownerOn(platform: string): UserIdentity | undefined;
215
+ /**
216
+ * 这一轮从哪里来(契约见 api-approval 的 OriginKind):只看消息事实(来源、发起它的那一轮、授权身份有没有账号),
217
+ * 不看会话类型与受众,不判是不是 owner,不按授权身份判。能不能产生审批由审批服务按类别与参与者判
178
218
  */
179
219
  originOf(turn: OriginTurn): OriginKind;
220
+ /**
221
+ * 这一轮的主体,定本地效果:类别为 hand 且参与者(授权身份)都是 owner 的为 owner;续做与子任务的类别沿 fromTurn 随发起它的
222
+ * 那一轮,参与者是那一轮交来的(批过的调用是批的人);其余为 other(owner 与别人同在的一轮也是)。消费方不自己读受众
223
+ */
224
+ principalOf(turn: OriginTurn): 'owner' | 'other';
180
225
  /**
181
226
  * 统一权限闸 —— tools / commands 的执行守卫在操作边界调用本方法。
182
- * 数字等级裁决:deniedCapabilities(全局硬禁) > owner(∞) > 用户 level >= 操作 minLevel;
183
- * minLevel 由 request.risk/visibility/config.authorityOverrides 派生。
184
- * @returns null 放行;string 为拒绝原因(可直接展示)
227
+ * 裁决:deniedCapabilities(全局硬禁) > owner(∞) > 封禁(level < 0)> 用户 level >= 操作 minLevel > 所属权限组覆盖;
228
+ * minLevel 取 config.authorityOverrides,没有时取 request.minLevel,再没有时由 request.risk/visibility 派生,组的放行条目取自
229
+ * config.authorityGroups。门槛为只有 owner 时拒绝语写「只有 owner 能改」,不写 Infinity。
230
+ * @returns null 放行;否则为拒绝原因,可以是文字对象(读法同 {@link ExecutionGuard} 的返回值)
185
231
  */
186
232
  authorize(identity: UserIdentity | {
187
233
  platform: string;
188
234
  userId?: string;
189
- }, request: AuthorizeRequest): string | null;
235
+ }, request: AuthorizeRequest): string | TextRef | null;
190
236
  /**
191
- * 设置 target 外部身份的等级(覆盖式整数;level=0 默认值且无备注则清记录)。
237
+ * 这个身份的等级够不够 minLevel:owner 恒过,封禁(等级为负数)恒不过,其余登记等级不低于 minLevel 才过;minLevel 为
238
+ * Number.POSITIVE_INFINITY 即只有 owner。不看能力、权限组与硬禁(那些归 authorize),给按层固定的门槛用
239
+ */
240
+ meetsLevel(identity: UserIdentity | {
241
+ platform: string;
242
+ userId?: string;
243
+ }, minLevel: number): boolean;
244
+ /**
245
+ * 设置 target 外部身份的等级(覆盖式整数;level=0 默认值且记录里没有备注等别的内容则清记录)。
192
246
  * 单 owner 终态:权限只由 owner 管理。调用方(WebUI action / CLI 指令)自行确保仅 owner 可达(防自授)。
193
247
  */
194
248
  setUserLevel(target: UserIdentity, level: number): void;
@@ -204,35 +258,46 @@ declare module '@aalis/api-host-config' {
204
258
  /** 全局能力封禁(glob):命中即拒,连 owner 都压过(系统级硬禁用,慎用)。 */
205
259
  deniedCapabilities?: string[];
206
260
  /**
207
- * 管理员对单条操作的最低等级覆盖(能力键 `type:name`,如 `tool:weather` → 任意整数)。
261
+ * 管理员对单条操作的最低等级覆盖(能力键 `type:name`,如 `tool:weather`、`setting:<实例 id>/<键>` → 任意整数)。
208
262
  * 让 owner 调某操作的门槛等级,无需改插件声明;优先于 risk/visibility 派生。
209
263
  */
210
264
  authorityOverrides?: Record<string, number>;
211
265
  /**
212
266
  * 管理员对单条操作的确认要求覆盖(能力键 `type:name` → session/always/off)。
213
- * 'off' 强制关闭确认(即便插件声明了 confirm,便于自动化);与等级正交,owner 也吃。
267
+ * 'off' 关闭确认(即便插件声明了 confirm,便于自动化),只对参与者都是 owner 的回合生效,有别人的回落到插件声明;
268
+ * 与等级正交。
214
269
  */
215
270
  confirmOverrides?: Record<string, CapabilityConfirm | 'off'>;
216
271
  /**
217
272
  * 免确认白名单:allow 列出不必确认的能力 glob(['*'] 全放);duration 生效时长(秒,0=永久)。
218
- * 只免 confirm 为 session 的确认,always 照常确认;不放宽授权,等级不够的照样拒。
273
+ * 只免 confirm 为 session 的确认,always 照常确认;只对参与者都是 owner 的回合生效;不放宽授权,等级不够、所属组也不覆盖的照样拒。
219
274
  * 运行时启用时点(enabledAt)不持久化,是 plugin-authority 运行时状态。
220
275
  */
221
276
  restrictedPolicy?: {
222
277
  allow?: string[];
223
278
  duration?: number;
224
279
  };
280
+ /**
281
+ * 权限组:组名 → 放行条目。条目写成 `tool:<名或通配>`、`command:<名或通配>`(通配同 deniedCapabilities)或
282
+ * `tool-group:<工具分组名>`(工具的分组里有它即覆盖);裸 `*` 与别的前缀不命中任何操作。组只加放行:等级不够的操作,
283
+ * 所属组里有一条覆盖它即放行;硬禁与封禁照旧先拒,确认照旧。成员记在实现的用户数据里,指向没定义的组不放行。
284
+ */
285
+ authorityGroups?: Record<string, string[]>;
225
286
  /**
226
287
  * 网络出口闸(SSRF 防护,粗粒度高效):限制由 LLM/用户 URL 触发的出口能连到哪,即 safeFetch,
227
288
  * 以及 tool-browser 开启 blockPrivate 时的浏览器网络闸(三项都遵循)。
228
289
  * 不影响你自己配置的固定本地服务(ollama/onebot daemon 走裸 fetch,不过 safeFetch)。
290
+ * 改了即时生效;写错一处时经出网闸的请求一律拒绝,直到改对。
229
291
  */
230
292
  network?: {
231
293
  /** 拦私网/回环/链路本地/元数据段(默认 true)。 */
232
294
  blockPrivate?: boolean;
233
- /** 额外拒绝的 IPv4 CIDR,如 ["100.64.0.0/10"]。 */
295
+ /**
296
+ * 额外拒绝的网段:IPv4 或 IPv6,写成「地址/前缀长度」或单个地址,如 ["100.64.0.0/10", "fd00::/8"];
297
+ * IPv4 网段同样管 IPv4 映射与 NAT64 写法。
298
+ */
234
299
  denyCidrs?: string[];
235
- /** 仅允许这些目标端口(非空生效),如 [80, 443]。 */
300
+ /** 仅允许这些目标端口(1 到 65535 的整数,非空生效),如 [80, 443]。 */
236
301
  allowedPorts?: number[];
237
302
  };
238
303
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { defineService } from '@aalis/core';
2
+ import { oneSpeaker } from '@aalis/schema-message';
2
3
  const RISK_DEFAULTS = {
3
4
  safe: { visibility: 'public' },
4
5
  sensitive: { visibility: 'restricted' },
@@ -49,6 +50,41 @@ export function resolveCapabilityPolicy(decl, defaultVisibility = 'public') {
49
50
  confirm: decl.confirm ?? base.confirm,
50
51
  };
51
52
  }
53
+ /** 是不是同一个参与者:身份相同,或两边都是 owner(owner 的各个身份算一个参与者;isOwner 不给时只按字面身份) */
54
+ export function sameParticipant(a, b, isOwner) {
55
+ if (a.platform === b.platform && a.userId === b.userId)
56
+ return true;
57
+ return Boolean(isOwner?.(a.platform, a.userId) && isOwner(b.platform, b.userId));
58
+ }
59
+ /**
60
+ * 由一轮的输入拼这一轮,拼一轮的唯一函数:agent 据它填工具调用上下文,调用方不各自拼。
61
+ * - 参与者:各条输入的授权身份(actor,没有时是发言者,没有发言者的是无主体;插话不带 actor,就是发言者),带发起它的那一轮的
62
+ * 注入取那一轮的参与者;按进入先后排、按身份去重,owner 的各个身份算一个参与者、取最先进来的那一个(isOwner 不给时按字面
63
+ * 身份)。历史里别人的话、引用与转发进某条输入的内容都不另算
64
+ * - 发言者:各条输入的物理发言者相同时是他,不同时没有;缺省时取发起它的那一轮的(续做的通知不带发言者,工具眼里是发起它的人在调)
65
+ * - 入站回合:来源与发起它的那一轮取第一条(同一轮的输入来源相同,带来源的注入各自成一轮),平台消息 id 取最近一条
66
+ */
67
+ export function originTurnOf(inputs, isOwner) {
68
+ const [first] = inputs;
69
+ const { sessionId, platform, source, fromTurn } = first;
70
+ const participants = [];
71
+ for (const message of inputs) {
72
+ const identities = message.fromTurn?.participants ?? [
73
+ message.actor ?? { platform: message.platform, userId: message.userId ?? '' },
74
+ ];
75
+ for (const who of identities) {
76
+ if (!participants.some(seen => sameParticipant(seen, who, isOwner)))
77
+ participants.push(who);
78
+ }
79
+ }
80
+ return {
81
+ sessionId,
82
+ platform,
83
+ userId: oneSpeaker(inputs) ? (first.userId ?? fromTurn?.userId) : undefined,
84
+ participants,
85
+ inbound: { source, fromTurn, messageId: inputs[inputs.length - 1].messageId },
86
+ };
87
+ }
52
88
  // ----- 服务描述符(调用型:业务层就是提供者的形状)-----
53
89
  export const authority = defineService('authority');
54
90
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAyD5C,MAAM,aAAa,GAA8F;IAC/G,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;IAC9B,SAAS,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE;IACvC,SAAS,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE;CAC5D,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAkE;IACnG,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,iBAAiB,CAAC;IACnD,OAAO,IAAI,CAAC,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAqB;IAIhD,OAAO,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAA0B,EAC1B,oBAA0C,QAAQ;IAKlD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,iBAAiB;QACnE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;KACtC,CAAC;AACJ,CAAC;AAoMD,oCAAoC;AACpC,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAmB,WAAW,CAAC,CAAC"}
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-authority",
3
- "version": "0.11.0",
3
+ "version": "0.12.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,16 +19,18 @@
19
19
  "dist"
20
20
  ],
21
21
  "dependencies": {
22
- "@aalis/api-approval": ">=0.1.0 <1.0.0",
23
- "@aalis/api-host-config": ">=0.2.0 <1.0.0"
22
+ "@aalis/api-approval": ">=0.2.0 <1.0.0",
23
+ "@aalis/api-host-config": ">=0.3.0 <1.0.0",
24
+ "@aalis/schema-i18n": ">=0.1.0 <1.0.0",
25
+ "@aalis/schema-message": ">=0.11.0 <1.0.0"
24
26
  },
25
27
  "devDependencies": {
26
28
  "@types/node": "^22.0.0",
27
29
  "typescript": "^5.7.0",
28
- "@aalis/core": "0.20.0"
30
+ "@aalis/core": "0.21.1"
29
31
  },
30
32
  "peerDependencies": {
31
- "@aalis/core": ">=0.20.0 <1.0.0"
33
+ "@aalis/core": ">=0.21.0 <1.0.0"
32
34
  },
33
35
  "keywords": [
34
36
  "aalis",