@sema-agent/sdk 0.0.115 → 0.0.117
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/registry/admin.d.ts +328 -0
- package/dist/registry/admin.d.ts.map +1 -0
- package/dist/registry/admin.js +187 -0
- package/dist/registry/admin.js.map +1 -0
- package/dist/registry/index.d.ts +3 -0
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +3 -0
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/me-config.d.ts +40 -0
- package/dist/registry/me-config.d.ts.map +1 -0
- package/dist/registry/me-config.js +58 -0
- package/dist/registry/me-config.js.map +1 -0
- package/dist/registry/scope-config-feedback.d.ts +58 -0
- package/dist/registry/scope-config-feedback.d.ts.map +1 -0
- package/dist/registry/scope-config-feedback.js +79 -0
- package/dist/registry/scope-config-feedback.js.map +1 -0
- package/dist/registry/scopes-effective.d.ts +2 -0
- package/dist/registry/scopes-effective.d.ts.map +1 -1
- package/dist/registry/scopes-effective.js +2 -1
- package/dist/registry/scopes-effective.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* G17 R4 — registry 管理面 verb 族(clay 拍 2026-07-27:与 ControlClient **并列**;壳 cloudAdmin.ts
|
|
3
|
+
* 1195 行/~40 端点的收编归宿)。
|
|
4
|
+
*
|
|
5
|
+
* 凭证事实(壳头注亲读,R4 设计的根据):cloudAdmin 全部走 **user JWT**(device flow 的
|
|
6
|
+
* getValidAccessToken)——「admin」是 registry 侧的**角色**判定(instance admin / scope admin),
|
|
7
|
+
* 不是另一种凭证。⇒ 本族挂在 {@link RegistryClient} 上(Bearer + 401 单飞 refresh 白得),与
|
|
8
|
+
* ControlClient(config-center 控制面,另一套 registry token)并列互不相扰。
|
|
9
|
+
*
|
|
10
|
+
* 形:**薄 verb 层**——one endpoint per verb,零本地状态;403 的人话句 registry 原话直出
|
|
11
|
+
* (RegistryApiError.message);DANGER 确认(TTY confirm/--yes)是壳交互语义,**SDK 不代判**。
|
|
12
|
+
* 端点契约=下方 ADMIN_ENDPOINTS 表(与壳 cloudAdmin.ts 头注 COMMAND→ENDPOINT MAP 对账;
|
|
13
|
+
* registry-auth R4 测试表驱动逐条钉 method/path/body 形)。
|
|
14
|
+
*/
|
|
15
|
+
import type { RegistryClient } from "./client.js";
|
|
16
|
+
/** 端点表(机器可对账;值=壳 cloudAdmin.ts 头注 MAP 的逐字移植)。 */
|
|
17
|
+
export declare const ADMIN_ENDPOINTS: {
|
|
18
|
+
readonly whoami: {
|
|
19
|
+
readonly method: "GET";
|
|
20
|
+
readonly path: "/api/v1/me";
|
|
21
|
+
};
|
|
22
|
+
readonly instanceFeatures: {
|
|
23
|
+
readonly method: "GET";
|
|
24
|
+
readonly path: "/api/v1/instance/features";
|
|
25
|
+
};
|
|
26
|
+
readonly usersList: {
|
|
27
|
+
readonly method: "GET";
|
|
28
|
+
readonly path: "/api/v1/users";
|
|
29
|
+
};
|
|
30
|
+
readonly usersShow: {
|
|
31
|
+
readonly method: "GET";
|
|
32
|
+
readonly path: "/api/v1/users/{u}";
|
|
33
|
+
};
|
|
34
|
+
readonly usersCreate: {
|
|
35
|
+
readonly method: "POST";
|
|
36
|
+
readonly path: "/api/v1/users";
|
|
37
|
+
};
|
|
38
|
+
readonly usersDelete: {
|
|
39
|
+
readonly method: "DELETE";
|
|
40
|
+
readonly path: "/api/v1/users/{u}";
|
|
41
|
+
};
|
|
42
|
+
readonly accessRequestsList: {
|
|
43
|
+
readonly method: "GET";
|
|
44
|
+
readonly path: "/api/v1/access-requests";
|
|
45
|
+
};
|
|
46
|
+
readonly accessRequestDecide: {
|
|
47
|
+
readonly method: "POST";
|
|
48
|
+
readonly path: "/api/v1/access-requests/{id}/decision";
|
|
49
|
+
};
|
|
50
|
+
readonly spacesCreate: {
|
|
51
|
+
readonly method: "POST";
|
|
52
|
+
readonly path: "/api/v1/scopes";
|
|
53
|
+
};
|
|
54
|
+
readonly spacesDelete: {
|
|
55
|
+
readonly method: "DELETE";
|
|
56
|
+
readonly path: "/api/v1/scopes/{id}";
|
|
57
|
+
};
|
|
58
|
+
readonly spacesPatch: {
|
|
59
|
+
readonly method: "PATCH";
|
|
60
|
+
readonly path: "/api/v1/scopes/{id}";
|
|
61
|
+
};
|
|
62
|
+
readonly spaceMembersList: {
|
|
63
|
+
readonly method: "GET";
|
|
64
|
+
readonly path: "/api/v1/scopes/{id}/members";
|
|
65
|
+
};
|
|
66
|
+
readonly spaceMembersPut: {
|
|
67
|
+
readonly method: "PUT";
|
|
68
|
+
readonly path: "/api/v1/scopes/{id}/members";
|
|
69
|
+
};
|
|
70
|
+
readonly spaceMembersDelete: {
|
|
71
|
+
readonly method: "DELETE";
|
|
72
|
+
readonly path: "/api/v1/scopes/{id}/members";
|
|
73
|
+
};
|
|
74
|
+
readonly groupsList: {
|
|
75
|
+
readonly method: "GET";
|
|
76
|
+
readonly path: "/api/v1/groups";
|
|
77
|
+
};
|
|
78
|
+
readonly groupsCreate: {
|
|
79
|
+
readonly method: "POST";
|
|
80
|
+
readonly path: "/api/v1/groups";
|
|
81
|
+
};
|
|
82
|
+
readonly groupsShow: {
|
|
83
|
+
readonly method: "GET";
|
|
84
|
+
readonly path: "/api/v1/groups/{id}";
|
|
85
|
+
};
|
|
86
|
+
readonly groupsRename: {
|
|
87
|
+
readonly method: "PUT";
|
|
88
|
+
readonly path: "/api/v1/groups/{id}";
|
|
89
|
+
};
|
|
90
|
+
readonly groupsDelete: {
|
|
91
|
+
readonly method: "DELETE";
|
|
92
|
+
readonly path: "/api/v1/groups/{id}";
|
|
93
|
+
};
|
|
94
|
+
readonly groupMembersList: {
|
|
95
|
+
readonly method: "GET";
|
|
96
|
+
readonly path: "/api/v1/groups/{g}/members";
|
|
97
|
+
};
|
|
98
|
+
readonly groupMembersAdd: {
|
|
99
|
+
readonly method: "PUT";
|
|
100
|
+
readonly path: "/api/v1/groups/{g}/members";
|
|
101
|
+
};
|
|
102
|
+
readonly groupMembersRemove: {
|
|
103
|
+
readonly method: "DELETE";
|
|
104
|
+
readonly path: "/api/v1/groups/{g}/members";
|
|
105
|
+
};
|
|
106
|
+
readonly auditList: {
|
|
107
|
+
readonly method: "GET";
|
|
108
|
+
readonly path: "/api/v1/audit";
|
|
109
|
+
};
|
|
110
|
+
readonly auditListScoped: {
|
|
111
|
+
readonly method: "GET";
|
|
112
|
+
readonly path: "/api/v1/scopes/{s}/audit";
|
|
113
|
+
};
|
|
114
|
+
readonly auditDiff: {
|
|
115
|
+
readonly method: "GET";
|
|
116
|
+
readonly path: "/api/v1/audit/{id}/diff";
|
|
117
|
+
};
|
|
118
|
+
readonly auditDiffScoped: {
|
|
119
|
+
readonly method: "GET";
|
|
120
|
+
readonly path: "/api/v1/scopes/{s}/audit/{id}/diff";
|
|
121
|
+
};
|
|
122
|
+
readonly imagesList: {
|
|
123
|
+
readonly method: "GET";
|
|
124
|
+
readonly path: "/api/v1/images";
|
|
125
|
+
};
|
|
126
|
+
readonly imagesShow: {
|
|
127
|
+
readonly method: "GET";
|
|
128
|
+
readonly path: "/api/v1/images/{profile}";
|
|
129
|
+
};
|
|
130
|
+
readonly secretsList: {
|
|
131
|
+
readonly method: "GET";
|
|
132
|
+
readonly path: "/api/v1/secrets";
|
|
133
|
+
};
|
|
134
|
+
readonly secretsRefs: {
|
|
135
|
+
readonly method: "GET";
|
|
136
|
+
readonly path: "/api/v1/secrets/refs";
|
|
137
|
+
};
|
|
138
|
+
readonly authProvidersList: {
|
|
139
|
+
readonly method: "GET";
|
|
140
|
+
readonly path: "/api/v1/auth-providers";
|
|
141
|
+
};
|
|
142
|
+
readonly authProvidersShow: {
|
|
143
|
+
readonly method: "GET";
|
|
144
|
+
readonly path: "/api/v1/auth-providers/{id}";
|
|
145
|
+
};
|
|
146
|
+
readonly rollback: {
|
|
147
|
+
readonly method: "POST";
|
|
148
|
+
readonly path: "/api/v1/scopes/{s}/rollback";
|
|
149
|
+
};
|
|
150
|
+
readonly usageMe: {
|
|
151
|
+
readonly method: "GET";
|
|
152
|
+
readonly path: "/api/v1/usage/me";
|
|
153
|
+
};
|
|
154
|
+
readonly usageSummary: {
|
|
155
|
+
readonly method: "GET";
|
|
156
|
+
readonly path: "/api/v1/usage/summary";
|
|
157
|
+
};
|
|
158
|
+
readonly publishApprove: {
|
|
159
|
+
readonly method: "POST";
|
|
160
|
+
readonly path: "/api/v1/scopes/{s}/publish/approve";
|
|
161
|
+
};
|
|
162
|
+
readonly publishWithdraw: {
|
|
163
|
+
readonly method: "DELETE";
|
|
164
|
+
readonly path: "/api/v1/scopes/{s}/publish/pending";
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
/** 管理面 verb 族(user JWT 角色判定;响应 body registry 原样直出——管理面是展示/轻编辑,SDK 不重铸
|
|
168
|
+
* schema)。`opts.signal` 全 verb 通用,略去不注。 */
|
|
169
|
+
export declare class RegistryAdmin {
|
|
170
|
+
private readonly client;
|
|
171
|
+
constructor(client: RegistryClient);
|
|
172
|
+
private req;
|
|
173
|
+
whoami(o?: {
|
|
174
|
+
signal?: AbortSignal;
|
|
175
|
+
}): Promise<unknown>;
|
|
176
|
+
instanceFeatures(o?: {
|
|
177
|
+
signal?: AbortSignal;
|
|
178
|
+
}): Promise<unknown>;
|
|
179
|
+
usersList(o?: {
|
|
180
|
+
signal?: AbortSignal;
|
|
181
|
+
}): Promise<unknown>;
|
|
182
|
+
usersShow(username: string, o?: {
|
|
183
|
+
signal?: AbortSignal;
|
|
184
|
+
}): Promise<unknown>;
|
|
185
|
+
/** ⚠️ password 经内存直传 wire——调用方(壳)负责“绝不 argv/绝不落日志”的采集纪律。 */
|
|
186
|
+
usersCreate(body: {
|
|
187
|
+
username: string;
|
|
188
|
+
role: string;
|
|
189
|
+
password: string;
|
|
190
|
+
}, o?: {
|
|
191
|
+
signal?: AbortSignal;
|
|
192
|
+
}): Promise<unknown>;
|
|
193
|
+
/** DANGER(四表级联)——确认交互归调用方。 */
|
|
194
|
+
usersDelete(username: string, o?: {
|
|
195
|
+
signal?: AbortSignal;
|
|
196
|
+
}): Promise<unknown>;
|
|
197
|
+
accessRequestsList(filter?: {
|
|
198
|
+
mine?: boolean;
|
|
199
|
+
status?: string;
|
|
200
|
+
scope?: string;
|
|
201
|
+
}, o?: {
|
|
202
|
+
signal?: AbortSignal;
|
|
203
|
+
}): Promise<unknown>;
|
|
204
|
+
/** decision 两形共用一端点(approve 带 scope/role;baseStatus:"pending" = 乐观并发基线,壳形逐字)。 */
|
|
205
|
+
accessRequestDecide(id: string, body: {
|
|
206
|
+
decision: "approve" | "reject";
|
|
207
|
+
scope?: string;
|
|
208
|
+
role?: string;
|
|
209
|
+
note?: string;
|
|
210
|
+
baseStatus: "pending";
|
|
211
|
+
}, o?: {
|
|
212
|
+
signal?: AbortSignal;
|
|
213
|
+
}): Promise<unknown>;
|
|
214
|
+
spacesList(opts?: {
|
|
215
|
+
counts?: "members";
|
|
216
|
+
signal?: AbortSignal;
|
|
217
|
+
}): Promise<unknown>;
|
|
218
|
+
spacesCreate(body: {
|
|
219
|
+
id: string;
|
|
220
|
+
name?: string;
|
|
221
|
+
}, o?: {
|
|
222
|
+
signal?: AbortSignal;
|
|
223
|
+
}): Promise<unknown>;
|
|
224
|
+
/** DANGER。 */
|
|
225
|
+
spacesDelete(id: string, o?: {
|
|
226
|
+
signal?: AbortSignal;
|
|
227
|
+
}): Promise<unknown>;
|
|
228
|
+
spacesPatch(id: string, body: {
|
|
229
|
+
publishApprovals?: number;
|
|
230
|
+
}, o?: {
|
|
231
|
+
signal?: AbortSignal;
|
|
232
|
+
}): Promise<unknown>;
|
|
233
|
+
spaceMembersList(id: string, o?: {
|
|
234
|
+
signal?: AbortSignal;
|
|
235
|
+
}): Promise<unknown>;
|
|
236
|
+
spaceMembersPut(id: string, body: {
|
|
237
|
+
principal: string;
|
|
238
|
+
role: string;
|
|
239
|
+
}, o?: {
|
|
240
|
+
signal?: AbortSignal;
|
|
241
|
+
}): Promise<unknown>;
|
|
242
|
+
/** DANGER。 */
|
|
243
|
+
spaceMembersRemove(id: string, body: {
|
|
244
|
+
principal: string;
|
|
245
|
+
}, o?: {
|
|
246
|
+
signal?: AbortSignal;
|
|
247
|
+
}): Promise<unknown>;
|
|
248
|
+
groupsList(o?: {
|
|
249
|
+
signal?: AbortSignal;
|
|
250
|
+
}): Promise<unknown>;
|
|
251
|
+
groupsCreate(body: {
|
|
252
|
+
id: string;
|
|
253
|
+
name?: string;
|
|
254
|
+
}, o?: {
|
|
255
|
+
signal?: AbortSignal;
|
|
256
|
+
}): Promise<unknown>;
|
|
257
|
+
groupsShow(id: string, o?: {
|
|
258
|
+
signal?: AbortSignal;
|
|
259
|
+
}): Promise<unknown>;
|
|
260
|
+
groupsRename(id: string, body: {
|
|
261
|
+
name: string;
|
|
262
|
+
}, o?: {
|
|
263
|
+
signal?: AbortSignal;
|
|
264
|
+
}): Promise<unknown>;
|
|
265
|
+
/** DANGER。 */
|
|
266
|
+
groupsDelete(id: string, o?: {
|
|
267
|
+
signal?: AbortSignal;
|
|
268
|
+
}): Promise<unknown>;
|
|
269
|
+
groupMembersList(g: string, o?: {
|
|
270
|
+
signal?: AbortSignal;
|
|
271
|
+
}): Promise<unknown>;
|
|
272
|
+
groupMembersAdd(g: string, body: {
|
|
273
|
+
principal: string;
|
|
274
|
+
}, o?: {
|
|
275
|
+
signal?: AbortSignal;
|
|
276
|
+
}): Promise<unknown>;
|
|
277
|
+
/** DANGER(壳形:principal 走 query)。 */
|
|
278
|
+
groupMembersRemove(g: string, principal: string, o?: {
|
|
279
|
+
signal?: AbortSignal;
|
|
280
|
+
}): Promise<unknown>;
|
|
281
|
+
auditList(opts?: {
|
|
282
|
+
space?: string;
|
|
283
|
+
signal?: AbortSignal;
|
|
284
|
+
}): Promise<unknown>;
|
|
285
|
+
auditDiff(id: string, opts?: {
|
|
286
|
+
space?: string;
|
|
287
|
+
signal?: AbortSignal;
|
|
288
|
+
}): Promise<unknown>;
|
|
289
|
+
/** DANGER(preview=先 auditDiff 自看;本 verb 只发回滚)。 */
|
|
290
|
+
rollback(space: string, body: {
|
|
291
|
+
changeId: string;
|
|
292
|
+
}, o?: {
|
|
293
|
+
signal?: AbortSignal;
|
|
294
|
+
}): Promise<unknown>;
|
|
295
|
+
imagesList(o?: {
|
|
296
|
+
signal?: AbortSignal;
|
|
297
|
+
}): Promise<unknown>;
|
|
298
|
+
imagesShow(profile: string, o?: {
|
|
299
|
+
signal?: AbortSignal;
|
|
300
|
+
}): Promise<unknown>;
|
|
301
|
+
secretsList(opts?: {
|
|
302
|
+
orphans?: boolean;
|
|
303
|
+
signal?: AbortSignal;
|
|
304
|
+
}): Promise<unknown>;
|
|
305
|
+
secretsRefs(o?: {
|
|
306
|
+
signal?: AbortSignal;
|
|
307
|
+
}): Promise<unknown>;
|
|
308
|
+
authProvidersList(o?: {
|
|
309
|
+
signal?: AbortSignal;
|
|
310
|
+
}): Promise<unknown>;
|
|
311
|
+
authProvidersShow(id: string, o?: {
|
|
312
|
+
signal?: AbortSignal;
|
|
313
|
+
}): Promise<unknown>;
|
|
314
|
+
usageMe(o?: {
|
|
315
|
+
signal?: AbortSignal;
|
|
316
|
+
}): Promise<unknown>;
|
|
317
|
+
usageSummary(o?: {
|
|
318
|
+
signal?: AbortSignal;
|
|
319
|
+
}): Promise<unknown>;
|
|
320
|
+
publishApprove(space: string, o?: {
|
|
321
|
+
signal?: AbortSignal;
|
|
322
|
+
}): Promise<unknown>;
|
|
323
|
+
/** DANGER。 */
|
|
324
|
+
publishWithdraw(space: string, o?: {
|
|
325
|
+
signal?: AbortSignal;
|
|
326
|
+
}): Promise<unknown>;
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/registry/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/** 端点表(机器可对账;值=壳 cloudAdmin.ts 头注 MAP 的逐字移植)。 */
|
|
2
|
+
export const ADMIN_ENDPOINTS = {
|
|
3
|
+
whoami: { method: "GET", path: "/api/v1/me" },
|
|
4
|
+
instanceFeatures: { method: "GET", path: "/api/v1/instance/features" },
|
|
5
|
+
usersList: { method: "GET", path: "/api/v1/users" },
|
|
6
|
+
usersShow: { method: "GET", path: "/api/v1/users/{u}" },
|
|
7
|
+
usersCreate: { method: "POST", path: "/api/v1/users" },
|
|
8
|
+
usersDelete: { method: "DELETE", path: "/api/v1/users/{u}" },
|
|
9
|
+
accessRequestsList: { method: "GET", path: "/api/v1/access-requests" },
|
|
10
|
+
accessRequestDecide: { method: "POST", path: "/api/v1/access-requests/{id}/decision" },
|
|
11
|
+
spacesCreate: { method: "POST", path: "/api/v1/scopes" },
|
|
12
|
+
spacesDelete: { method: "DELETE", path: "/api/v1/scopes/{id}" },
|
|
13
|
+
spacesPatch: { method: "PATCH", path: "/api/v1/scopes/{id}" },
|
|
14
|
+
spaceMembersList: { method: "GET", path: "/api/v1/scopes/{id}/members" },
|
|
15
|
+
spaceMembersPut: { method: "PUT", path: "/api/v1/scopes/{id}/members" },
|
|
16
|
+
spaceMembersDelete: { method: "DELETE", path: "/api/v1/scopes/{id}/members" },
|
|
17
|
+
groupsList: { method: "GET", path: "/api/v1/groups" },
|
|
18
|
+
groupsCreate: { method: "POST", path: "/api/v1/groups" },
|
|
19
|
+
groupsShow: { method: "GET", path: "/api/v1/groups/{id}" },
|
|
20
|
+
groupsRename: { method: "PUT", path: "/api/v1/groups/{id}" },
|
|
21
|
+
groupsDelete: { method: "DELETE", path: "/api/v1/groups/{id}" },
|
|
22
|
+
groupMembersList: { method: "GET", path: "/api/v1/groups/{g}/members" },
|
|
23
|
+
groupMembersAdd: { method: "PUT", path: "/api/v1/groups/{g}/members" },
|
|
24
|
+
groupMembersRemove: { method: "DELETE", path: "/api/v1/groups/{g}/members" },
|
|
25
|
+
auditList: { method: "GET", path: "/api/v1/audit" },
|
|
26
|
+
auditListScoped: { method: "GET", path: "/api/v1/scopes/{s}/audit" },
|
|
27
|
+
auditDiff: { method: "GET", path: "/api/v1/audit/{id}/diff" },
|
|
28
|
+
auditDiffScoped: { method: "GET", path: "/api/v1/scopes/{s}/audit/{id}/diff" },
|
|
29
|
+
imagesList: { method: "GET", path: "/api/v1/images" },
|
|
30
|
+
imagesShow: { method: "GET", path: "/api/v1/images/{profile}" },
|
|
31
|
+
secretsList: { method: "GET", path: "/api/v1/secrets" },
|
|
32
|
+
secretsRefs: { method: "GET", path: "/api/v1/secrets/refs" },
|
|
33
|
+
authProvidersList: { method: "GET", path: "/api/v1/auth-providers" },
|
|
34
|
+
authProvidersShow: { method: "GET", path: "/api/v1/auth-providers/{id}" },
|
|
35
|
+
rollback: { method: "POST", path: "/api/v1/scopes/{s}/rollback" },
|
|
36
|
+
usageMe: { method: "GET", path: "/api/v1/usage/me" },
|
|
37
|
+
usageSummary: { method: "GET", path: "/api/v1/usage/summary" },
|
|
38
|
+
publishApprove: { method: "POST", path: "/api/v1/scopes/{s}/publish/approve" },
|
|
39
|
+
publishWithdraw: { method: "DELETE", path: "/api/v1/scopes/{s}/publish/pending" },
|
|
40
|
+
};
|
|
41
|
+
const p = (template, params) => template.replace(/\{(\w+)\}/g, (_, k) => encodeURIComponent(params[k] ?? ""));
|
|
42
|
+
const q = (query) => {
|
|
43
|
+
if (!query)
|
|
44
|
+
return "";
|
|
45
|
+
const parts = Object.entries(query)
|
|
46
|
+
.filter(([, v]) => v !== undefined)
|
|
47
|
+
.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`);
|
|
48
|
+
return parts.length ? `?${parts.join("&")}` : "";
|
|
49
|
+
};
|
|
50
|
+
/** 管理面 verb 族(user JWT 角色判定;响应 body registry 原样直出——管理面是展示/轻编辑,SDK 不重铸
|
|
51
|
+
* schema)。`opts.signal` 全 verb 通用,略去不注。 */
|
|
52
|
+
export class RegistryAdmin {
|
|
53
|
+
client;
|
|
54
|
+
constructor(client) {
|
|
55
|
+
this.client = client;
|
|
56
|
+
}
|
|
57
|
+
req(method, path, body, signal) {
|
|
58
|
+
return this.client.request({ method, path, ...(body !== undefined ? { body } : {}), ...(signal ? { signal } : {}) });
|
|
59
|
+
}
|
|
60
|
+
whoami(o) {
|
|
61
|
+
return this.req("GET", ADMIN_ENDPOINTS.whoami.path, undefined, o?.signal);
|
|
62
|
+
}
|
|
63
|
+
instanceFeatures(o) {
|
|
64
|
+
return this.req("GET", ADMIN_ENDPOINTS.instanceFeatures.path, undefined, o?.signal);
|
|
65
|
+
}
|
|
66
|
+
// ── users(instance admin)────────────────────────────────────────────────────────────────────────────
|
|
67
|
+
usersList(o) {
|
|
68
|
+
return this.req("GET", ADMIN_ENDPOINTS.usersList.path, undefined, o?.signal);
|
|
69
|
+
}
|
|
70
|
+
usersShow(username, o) {
|
|
71
|
+
return this.req("GET", p(ADMIN_ENDPOINTS.usersShow.path, { u: username }), undefined, o?.signal);
|
|
72
|
+
}
|
|
73
|
+
/** ⚠️ password 经内存直传 wire——调用方(壳)负责“绝不 argv/绝不落日志”的采集纪律。 */
|
|
74
|
+
usersCreate(body, o) {
|
|
75
|
+
return this.req("POST", ADMIN_ENDPOINTS.usersCreate.path, body, o?.signal);
|
|
76
|
+
}
|
|
77
|
+
/** DANGER(四表级联)——确认交互归调用方。 */
|
|
78
|
+
usersDelete(username, o) {
|
|
79
|
+
return this.req("DELETE", p(ADMIN_ENDPOINTS.usersDelete.path, { u: username }), undefined, o?.signal);
|
|
80
|
+
}
|
|
81
|
+
// ── access requests ─────────────────────────────────────────────────────────────────────────────────
|
|
82
|
+
accessRequestsList(filter, o) {
|
|
83
|
+
return this.req("GET", `${ADMIN_ENDPOINTS.accessRequestsList.path}${q(filter)}`, undefined, o?.signal);
|
|
84
|
+
}
|
|
85
|
+
/** decision 两形共用一端点(approve 带 scope/role;baseStatus:"pending" = 乐观并发基线,壳形逐字)。 */
|
|
86
|
+
accessRequestDecide(id, body, o) {
|
|
87
|
+
return this.req("POST", p(ADMIN_ENDPOINTS.accessRequestDecide.path, { id }), body, o?.signal);
|
|
88
|
+
}
|
|
89
|
+
// ── spaces(scopes 管理半场;读列表在 scopes-effective.listScopes,?counts=members 变体在此)──────
|
|
90
|
+
spacesList(opts) {
|
|
91
|
+
return this.req("GET", `/api/v1/scopes${q({ counts: opts?.counts })}`, undefined, opts?.signal);
|
|
92
|
+
}
|
|
93
|
+
spacesCreate(body, o) {
|
|
94
|
+
return this.req("POST", ADMIN_ENDPOINTS.spacesCreate.path, body, o?.signal);
|
|
95
|
+
}
|
|
96
|
+
/** DANGER。 */
|
|
97
|
+
spacesDelete(id, o) {
|
|
98
|
+
return this.req("DELETE", p(ADMIN_ENDPOINTS.spacesDelete.path, { id }), undefined, o?.signal);
|
|
99
|
+
}
|
|
100
|
+
spacesPatch(id, body, o) {
|
|
101
|
+
return this.req("PATCH", p(ADMIN_ENDPOINTS.spacesPatch.path, { id }), body, o?.signal);
|
|
102
|
+
}
|
|
103
|
+
spaceMembersList(id, o) {
|
|
104
|
+
return this.req("GET", p(ADMIN_ENDPOINTS.spaceMembersList.path, { id }), undefined, o?.signal);
|
|
105
|
+
}
|
|
106
|
+
spaceMembersPut(id, body, o) {
|
|
107
|
+
return this.req("PUT", p(ADMIN_ENDPOINTS.spaceMembersPut.path, { id }), body, o?.signal);
|
|
108
|
+
}
|
|
109
|
+
/** DANGER。 */
|
|
110
|
+
spaceMembersRemove(id, body, o) {
|
|
111
|
+
return this.req("DELETE", p(ADMIN_ENDPOINTS.spaceMembersDelete.path, { id }), body, o?.signal);
|
|
112
|
+
}
|
|
113
|
+
// ── groups ──────────────────────────────────────────────────────────────────────────────────────────
|
|
114
|
+
groupsList(o) {
|
|
115
|
+
return this.req("GET", ADMIN_ENDPOINTS.groupsList.path, undefined, o?.signal);
|
|
116
|
+
}
|
|
117
|
+
groupsCreate(body, o) {
|
|
118
|
+
return this.req("POST", ADMIN_ENDPOINTS.groupsCreate.path, body, o?.signal);
|
|
119
|
+
}
|
|
120
|
+
groupsShow(id, o) {
|
|
121
|
+
return this.req("GET", p(ADMIN_ENDPOINTS.groupsShow.path, { id }), undefined, o?.signal);
|
|
122
|
+
}
|
|
123
|
+
groupsRename(id, body, o) {
|
|
124
|
+
return this.req("PUT", p(ADMIN_ENDPOINTS.groupsRename.path, { id }), body, o?.signal);
|
|
125
|
+
}
|
|
126
|
+
/** DANGER。 */
|
|
127
|
+
groupsDelete(id, o) {
|
|
128
|
+
return this.req("DELETE", p(ADMIN_ENDPOINTS.groupsDelete.path, { id }), undefined, o?.signal);
|
|
129
|
+
}
|
|
130
|
+
groupMembersList(g, o) {
|
|
131
|
+
return this.req("GET", p(ADMIN_ENDPOINTS.groupMembersList.path, { g }), undefined, o?.signal);
|
|
132
|
+
}
|
|
133
|
+
groupMembersAdd(g, body, o) {
|
|
134
|
+
return this.req("PUT", p(ADMIN_ENDPOINTS.groupMembersAdd.path, { g }), body, o?.signal);
|
|
135
|
+
}
|
|
136
|
+
/** DANGER(壳形:principal 走 query)。 */
|
|
137
|
+
groupMembersRemove(g, principal, o) {
|
|
138
|
+
return this.req("DELETE", `${p(ADMIN_ENDPOINTS.groupMembersRemove.path, { g })}${q({ principal })}`, undefined, o?.signal);
|
|
139
|
+
}
|
|
140
|
+
// ── audit / rollback ────────────────────────────────────────────────────────────────────────────────
|
|
141
|
+
auditList(opts) {
|
|
142
|
+
const path = opts?.space ? p(ADMIN_ENDPOINTS.auditListScoped.path, { s: opts.space }) : ADMIN_ENDPOINTS.auditList.path;
|
|
143
|
+
return this.req("GET", path, undefined, opts?.signal);
|
|
144
|
+
}
|
|
145
|
+
auditDiff(id, opts) {
|
|
146
|
+
const path = opts?.space ? p(ADMIN_ENDPOINTS.auditDiffScoped.path, { s: opts.space, id }) : p(ADMIN_ENDPOINTS.auditDiff.path, { id });
|
|
147
|
+
return this.req("GET", path, undefined, opts?.signal);
|
|
148
|
+
}
|
|
149
|
+
/** DANGER(preview=先 auditDiff 自看;本 verb 只发回滚)。 */
|
|
150
|
+
rollback(space, body, o) {
|
|
151
|
+
return this.req("POST", p(ADMIN_ENDPOINTS.rollback.path, { s: space }), body, o?.signal);
|
|
152
|
+
}
|
|
153
|
+
// ── read-only inventories(images/secrets/auth-providers;值永不回读,registry 契约)────────────────
|
|
154
|
+
imagesList(o) {
|
|
155
|
+
return this.req("GET", ADMIN_ENDPOINTS.imagesList.path, undefined, o?.signal);
|
|
156
|
+
}
|
|
157
|
+
imagesShow(profile, o) {
|
|
158
|
+
return this.req("GET", p(ADMIN_ENDPOINTS.imagesShow.path, { profile }), undefined, o?.signal);
|
|
159
|
+
}
|
|
160
|
+
secretsList(opts) {
|
|
161
|
+
return this.req("GET", `${ADMIN_ENDPOINTS.secretsList.path}${q({ orphans: opts?.orphans })}`, undefined, opts?.signal);
|
|
162
|
+
}
|
|
163
|
+
secretsRefs(o) {
|
|
164
|
+
return this.req("GET", ADMIN_ENDPOINTS.secretsRefs.path, undefined, o?.signal);
|
|
165
|
+
}
|
|
166
|
+
authProvidersList(o) {
|
|
167
|
+
return this.req("GET", ADMIN_ENDPOINTS.authProvidersList.path, undefined, o?.signal);
|
|
168
|
+
}
|
|
169
|
+
authProvidersShow(id, o) {
|
|
170
|
+
return this.req("GET", p(ADMIN_ENDPOINTS.authProvidersShow.path, { id }), undefined, o?.signal);
|
|
171
|
+
}
|
|
172
|
+
// ── usage / publish 审批半场 ─────────────────────────────────────────────────────────────────────────
|
|
173
|
+
usageMe(o) {
|
|
174
|
+
return this.req("GET", ADMIN_ENDPOINTS.usageMe.path, undefined, o?.signal);
|
|
175
|
+
}
|
|
176
|
+
usageSummary(o) {
|
|
177
|
+
return this.req("GET", ADMIN_ENDPOINTS.usageSummary.path, undefined, o?.signal);
|
|
178
|
+
}
|
|
179
|
+
publishApprove(space, o) {
|
|
180
|
+
return this.req("POST", p(ADMIN_ENDPOINTS.publishApprove.path, { s: space }), {}, o?.signal);
|
|
181
|
+
}
|
|
182
|
+
/** DANGER。 */
|
|
183
|
+
publishWithdraw(space, o) {
|
|
184
|
+
return this.req("DELETE", p(ADMIN_ENDPOINTS.publishWithdraw.path, { s: space }), undefined, o?.signal);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/registry/admin.ts"],"names":[],"mappings":"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"}
|
package/dist/registry/index.d.ts
CHANGED
|
@@ -15,4 +15,7 @@ export { requestDeviceCode, pollUntilApproved, refreshTokens, logoutRegistry, RE
|
|
|
15
15
|
export { probeRegistryHealth, type RegistryHealthResult } from "./health.js";
|
|
16
16
|
export { listScopes, switchScope, getEffective, REGISTRY_SCOPES_PATHS, type ScopesListResponse, type ScopeSwitchResponse, type EffectiveResult, } from "./scopes-effective.js";
|
|
17
17
|
export { RegistryApiError, OAuthFlowError, type OAuthFlowErrorCode } from "./errors.js";
|
|
18
|
+
export { getMeConfig, putMeConfig, ConfigCasConflictError, type PersonalConfigDomain, type MeConfigValue, type MeConfigPut, type MeConfigPutResult, } from "./me-config.js";
|
|
19
|
+
export { RegistryAdmin, ADMIN_ENDPOINTS } from "./admin.js";
|
|
20
|
+
export { getScopeConfigDraft, getScopeConfigPublished, putScopeConfigDraft, getPublishState, requestPublish, postFeedback, skillContentAddress, } from "./scope-config-feedback.js";
|
|
18
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,WAAW,EACX,WAAW,EACX,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,mBAAmB,GACpB,MAAM,4BAA4B,CAAC"}
|
package/dist/registry/index.js
CHANGED
|
@@ -15,4 +15,7 @@ export { requestDeviceCode, pollUntilApproved, refreshTokens, logoutRegistry, RE
|
|
|
15
15
|
export { probeRegistryHealth } from "./health.js";
|
|
16
16
|
export { listScopes, switchScope, getEffective, REGISTRY_SCOPES_PATHS, } from "./scopes-effective.js";
|
|
17
17
|
export { RegistryApiError, OAuthFlowError } from "./errors.js";
|
|
18
|
+
export { getMeConfig, putMeConfig, ConfigCasConflictError, } from "./me-config.js";
|
|
19
|
+
export { RegistryAdmin, ADMIN_ENDPOINTS } from "./admin.js";
|
|
20
|
+
export { getScopeConfigDraft, getScopeConfigPublished, putScopeConfigDraft, getPublishState, requestPublish, postFeedback, skillContentAddress, } from "./scope-config-feedback.js";
|
|
18
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAA0D,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAA2C,MAAM,qBAAqB,CAAC;AACrG,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,0BAA0B,GAG3B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAC7E,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,GAItB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAA2B,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAA0D,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAA2C,MAAM,qBAAqB,CAAC;AACrG,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,0BAA0B,GAG3B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAC7E,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,GAItB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAA2B,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,WAAW,EACX,WAAW,EACX,sBAAsB,GAKvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,mBAAmB,GACpB,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { RegistryClient } from "./client.js";
|
|
2
|
+
/** 与壳 MeDomain 同值域;开放 string——registry 加域(如 plugins 之后的新域)SDK 不挡。 */
|
|
3
|
+
export type PersonalConfigDomain = "models" | "mcp" | "skills" | "plugins" | (string & {});
|
|
4
|
+
/** PUT 409:CAS 冲突——`currentUpdatedAt` 是服务端现值的锁(重 GET 后以它为 baseUpdatedAt 重试)。 */
|
|
5
|
+
export declare class ConfigCasConflictError extends Error {
|
|
6
|
+
readonly currentUpdatedAt: string | null;
|
|
7
|
+
constructor(currentUpdatedAt: string | null);
|
|
8
|
+
}
|
|
9
|
+
export interface MeConfigValue {
|
|
10
|
+
value: unknown;
|
|
11
|
+
updatedAt: string | null;
|
|
12
|
+
}
|
|
13
|
+
/** GET 个人域文档(managed 面传 `forUser`;403/404 的辖区语句 registry 原话直出在 RegistryApiError)。 */
|
|
14
|
+
export declare function getMeConfig(client: RegistryClient, domain: PersonalConfigDomain, opts?: {
|
|
15
|
+
forUser?: string;
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
}): Promise<MeConfigValue>;
|
|
18
|
+
export interface MeConfigPut {
|
|
19
|
+
value: unknown;
|
|
20
|
+
/** 变更摘要(registry 审计行)。 */
|
|
21
|
+
summary: string;
|
|
22
|
+
/** CAS 基线(上次 GET 的 updatedAt;首写 null)。 */
|
|
23
|
+
baseUpdatedAt: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface MeConfigPutResult {
|
|
26
|
+
ok: true;
|
|
27
|
+
scope: string;
|
|
28
|
+
updatedAt: string;
|
|
29
|
+
}
|
|
30
|
+
/** PUT 个人域文档(CAS)。409 ⇒ 无 `retryOn409` 时 typed 直抛;给了 merge 回调则
|
|
31
|
+
* 「refetch → merge(现值, 我值) → 以现值锁重 PUT」**一次**,再 409 上抛([1864] 逐字节奏)。
|
|
32
|
+
* 400 = registry DOMAIN_SCHEMAS 校验失败(zod issues 在 body,RegistryApiError.body 里可取)。 */
|
|
33
|
+
export declare function putMeConfig(client: RegistryClient, domain: PersonalConfigDomain, put: MeConfigPut, opts?: {
|
|
34
|
+
forUser?: string;
|
|
35
|
+
signal?: AbortSignal;
|
|
36
|
+
retryOn409?: {
|
|
37
|
+
merge: (currentValue: unknown, myValue: unknown) => unknown;
|
|
38
|
+
};
|
|
39
|
+
}): Promise<MeConfigPutResult>;
|
|
40
|
+
//# sourceMappingURL=me-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"me-config.d.ts","sourceRoot":"","sources":["../../src/registry/me-config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAK3F,gFAAgF;AAChF,qBAAa,sBAAuB,SAAQ,KAAK;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;gBAA/B,gBAAgB,EAAE,MAAM,GAAG,IAAI;CAIrD;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qFAAqF;AACrF,wBAAsB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAQjK;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;uFAEuF;AACvF,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE,WAAW,EAChB,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;KAAE,CAAA;CAAE,GAC9H,OAAO,CAAC,iBAAiB,CAAC,CAwB5B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* G17 R3 — personal config(me/managed 两面)CAS 引擎([1864]§一坐标,壳 cloudResources.ts:214/262
|
|
3
|
+
* wire 真形亲读)。CAS 轴 = `updatedAt` 字符串乐观锁(⚠️ scopes 面的轴是 version 数字——两轴别混)。
|
|
4
|
+
* merge 是壳/端语义 ⇒ 回调注入,SDK 只做「409 → refetch → merge → 重 PUT **一次**」的节奏;二连
|
|
5
|
+
* 409 typed 上抛(无限重试=两个写者互相打转)。
|
|
6
|
+
*/
|
|
7
|
+
import { RegistryApiError } from "./errors.js";
|
|
8
|
+
const personalPath = (domain, forUser) => forUser ? `/api/v1/users/${encodeURIComponent(forUser)}/config/${encodeURIComponent(domain)}` : `/api/v1/me/config/${encodeURIComponent(domain)}`;
|
|
9
|
+
/** PUT 409:CAS 冲突——`currentUpdatedAt` 是服务端现值的锁(重 GET 后以它为 baseUpdatedAt 重试)。 */
|
|
10
|
+
export class ConfigCasConflictError extends Error {
|
|
11
|
+
currentUpdatedAt;
|
|
12
|
+
constructor(currentUpdatedAt) {
|
|
13
|
+
super(`personal-config CAS conflict (currentUpdatedAt=${currentUpdatedAt ?? "unknown"}) — refetch, re-merge, retry with the fresh baseUpdatedAt`);
|
|
14
|
+
this.currentUpdatedAt = currentUpdatedAt;
|
|
15
|
+
this.name = "ConfigCasConflictError";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/** GET 个人域文档(managed 面传 `forUser`;403/404 的辖区语句 registry 原话直出在 RegistryApiError)。 */
|
|
19
|
+
export async function getMeConfig(client, domain, opts) {
|
|
20
|
+
const r = await client.requestRaw({ method: "GET", path: personalPath(domain, opts?.forUser), ...(opts?.signal ? { signal: opts.signal } : {}) });
|
|
21
|
+
if (r.status !== 200) {
|
|
22
|
+
const msg = r.body?.error;
|
|
23
|
+
throw new RegistryApiError(r.status, typeof msg === "string" ? msg : `personal-config read failed (HTTP ${r.status})`, r.body);
|
|
24
|
+
}
|
|
25
|
+
const b = r.body;
|
|
26
|
+
return { value: b.value ?? null, updatedAt: typeof b.updatedAt === "string" ? b.updatedAt : null };
|
|
27
|
+
}
|
|
28
|
+
/** PUT 个人域文档(CAS)。409 ⇒ 无 `retryOn409` 时 typed 直抛;给了 merge 回调则
|
|
29
|
+
* 「refetch → merge(现值, 我值) → 以现值锁重 PUT」**一次**,再 409 上抛([1864] 逐字节奏)。
|
|
30
|
+
* 400 = registry DOMAIN_SCHEMAS 校验失败(zod issues 在 body,RegistryApiError.body 里可取)。 */
|
|
31
|
+
export async function putMeConfig(client, domain, put, opts) {
|
|
32
|
+
const attempt = async (body) => {
|
|
33
|
+
const r = await client.requestRaw({ method: "PUT", path: personalPath(domain, opts?.forUser), body, ...(opts?.signal ? { signal: opts.signal } : {}) });
|
|
34
|
+
if (r.status === 409) {
|
|
35
|
+
const cur = r.body?.currentUpdatedAt;
|
|
36
|
+
return new ConfigCasConflictError(typeof cur === "string" ? cur : null);
|
|
37
|
+
}
|
|
38
|
+
const b = r.body;
|
|
39
|
+
if (r.status !== 200 || b?.ok !== true) {
|
|
40
|
+
const msg = r.body?.error;
|
|
41
|
+
throw new RegistryApiError(r.status, typeof msg === "string" ? msg : `personal-config write failed (HTTP ${r.status})`, r.body);
|
|
42
|
+
}
|
|
43
|
+
return { ok: true, scope: String(b.scope ?? ""), updatedAt: String(b.updatedAt ?? "") };
|
|
44
|
+
};
|
|
45
|
+
const first = await attempt(put);
|
|
46
|
+
if (!(first instanceof ConfigCasConflictError))
|
|
47
|
+
return first;
|
|
48
|
+
if (!opts?.retryOn409)
|
|
49
|
+
throw first;
|
|
50
|
+
// refetch-merge-once:现值+现锁 → 端语义 merge → 重 PUT 一次
|
|
51
|
+
const fresh = await getMeConfig(client, domain, { ...(opts.forUser ? { forUser: opts.forUser } : {}), ...(opts.signal ? { signal: opts.signal } : {}) });
|
|
52
|
+
const merged = opts.retryOn409.merge(fresh.value, put.value);
|
|
53
|
+
const second = await attempt({ value: merged, summary: put.summary, baseUpdatedAt: fresh.updatedAt });
|
|
54
|
+
if (second instanceof ConfigCasConflictError)
|
|
55
|
+
throw second; // 二连 409:上抛,绝不循环
|
|
56
|
+
return second;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=me-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"me-config.js","sourceRoot":"","sources":["../../src/registry/me-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { RegistryClient } from "./client.js";
|
|
2
|
+
import type { PersonalConfigDomain } from "./me-config.js";
|
|
3
|
+
/** DRAFT(工作区)读:{value, version}——version 即 PUT 的 CAS 基线。 */
|
|
4
|
+
export declare function getScopeConfigDraft(client: RegistryClient, space: string, domain: PersonalConfigDomain, opts?: {
|
|
5
|
+
signal?: AbortSignal;
|
|
6
|
+
}): Promise<{
|
|
7
|
+
value: unknown;
|
|
8
|
+
version: number;
|
|
9
|
+
}>;
|
|
10
|
+
/** PUBLISHED 快照读(members 实际拿到的):?source=published。 */
|
|
11
|
+
export declare function getScopeConfigPublished(client: RegistryClient, space: string, domain: PersonalConfigDomain, opts?: {
|
|
12
|
+
signal?: AbortSignal;
|
|
13
|
+
}): Promise<{
|
|
14
|
+
value: unknown;
|
|
15
|
+
published: boolean;
|
|
16
|
+
publishedAt?: string;
|
|
17
|
+
}>;
|
|
18
|
+
/** DRAFT 写(version-CAS)。409/400 等非 200 typed 直出(merge-retry 节奏留调用方——scope 面的
|
|
19
|
+
* 写者是发布工作流,自动 merge 比个人面更危险,SDK 不提供 retryOn409)。 */
|
|
20
|
+
export declare function putScopeConfigDraft(client: RegistryClient, space: string, domain: PersonalConfigDomain, put: {
|
|
21
|
+
value: unknown;
|
|
22
|
+
summary: string;
|
|
23
|
+
baseVersion: number;
|
|
24
|
+
}, opts?: {
|
|
25
|
+
signal?: AbortSignal;
|
|
26
|
+
}): Promise<{
|
|
27
|
+
ok: true;
|
|
28
|
+
version: number;
|
|
29
|
+
}>;
|
|
30
|
+
/** publish 状态读(pending 在 = 已有挂起请求,新请求开不了;字段 registry 原样直出)。 */
|
|
31
|
+
export declare function getPublishState(client: RegistryClient, space: string, opts?: {
|
|
32
|
+
signal?: AbortSignal;
|
|
33
|
+
}): Promise<{
|
|
34
|
+
published?: unknown;
|
|
35
|
+
pending?: unknown;
|
|
36
|
+
approvalsRequired: number;
|
|
37
|
+
}>;
|
|
38
|
+
/** 发布请求。判别结果:`published`(200,即时生效)| `pending`(202,审批闸空间——draft **未**生效,
|
|
39
|
+
* approvers 走 …/publish/approve;诚实判别位,消费方绝不许把 202 渲染成已发布)。 */
|
|
40
|
+
export declare function requestPublish(client: RegistryClient, space: string, opts?: {
|
|
41
|
+
signal?: AbortSignal;
|
|
42
|
+
}): Promise<{
|
|
43
|
+
status: "published" | "pending";
|
|
44
|
+
body: unknown;
|
|
45
|
+
}>;
|
|
46
|
+
/** POST /api/v1/feedback → {id}。body 开放域(壳的 FeedbackCenterSubmitData 投影自带;SDK 不重铸
|
|
47
|
+
* schema)。隐私闸(essential-traffic-only)是壳策略,调用前自查——SDK 不代判。响应无 id = 失败
|
|
48
|
+
* (壳同判据:「response did not return an id」)。 */
|
|
49
|
+
export declare function postFeedback(client: RegistryClient, body: Record<string, unknown>, opts?: {
|
|
50
|
+
signal?: AbortSignal;
|
|
51
|
+
}): Promise<{
|
|
52
|
+
id: string;
|
|
53
|
+
}>;
|
|
54
|
+
/** skills 域内容寻址:`sha256:<hex>`(壳 cloudConfigWire.sha256Address 同算法)。多端都要校验
|
|
55
|
+
* skills body 完整性 ⇒ 收编成跨平台纯 helper(web crypto,浏览器/Node ≥18 通用;async 因
|
|
56
|
+
* crypto.subtle 使然)。 */
|
|
57
|
+
export declare function skillContentAddress(content: string): Promise<string>;
|
|
58
|
+
//# sourceMappingURL=scope-config-feedback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-config-feedback.d.ts","sourceRoot":"","sources":["../../src/registry/scope-config-feedback.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAU3D,4DAA4D;AAC5D,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAK5L;AAED,sDAAsD;AACtD,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAKzN;AAED;qDACqD;AACrD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAC7D,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAC9B,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAKxC;AAID,+DAA+D;AAC/D,wBAAsB,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC,CAK5L;AAED;+DAC+D;AAC/D,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAK7D;AAID;;8CAE8C;AAC9C,wBAAsB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAKlJ;AAID;;yBAEyB;AACzB,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI1E"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* G17 R3 — scopes 层配置(draft/published 双读 + version-CAS 写 + publish 闸)与 feedback
|
|
3
|
+
* ([1864]§二 C2-9/C2-4;壳 cloudResources.ts teamConfig 族 + runPublish + feedbackCenterSink 族 wire 真形亲读)。
|
|
4
|
+
*
|
|
5
|
+
* ⚠️ CAS 轴:scopes 面 = **version 数字**(me 面是 updatedAt 字符串——两轴别混,[1864] 原话)。
|
|
6
|
+
* publish 语义:审批闸空间 POST 答 **202 pending**——诚实判别位,绝不装已发布(壳 runPublish 同句)。
|
|
7
|
+
* feedback 的隐私闸(isEssentialTrafficOnly)是壳策略,**留壳不进 SDK**。
|
|
8
|
+
*/
|
|
9
|
+
import { RegistryApiError } from "./errors.js";
|
|
10
|
+
const scopeConfigPath = (space, domain) => `/api/v1/scopes/${encodeURIComponent(space)}/config/${encodeURIComponent(domain)}`;
|
|
11
|
+
const fail = (r, what) => {
|
|
12
|
+
const msg = r.body?.error;
|
|
13
|
+
throw new RegistryApiError(r.status, typeof msg === "string" ? msg : `${what} failed (HTTP ${r.status})`, r.body);
|
|
14
|
+
};
|
|
15
|
+
/** DRAFT(工作区)读:{value, version}——version 即 PUT 的 CAS 基线。 */
|
|
16
|
+
export async function getScopeConfigDraft(client, space, domain, opts) {
|
|
17
|
+
const r = await client.requestRaw({ method: "GET", path: scopeConfigPath(space, domain), ...(opts?.signal ? { signal: opts.signal } : {}) });
|
|
18
|
+
if (r.status !== 200)
|
|
19
|
+
fail(r, `scope-config draft read`);
|
|
20
|
+
const b = r.body;
|
|
21
|
+
return { value: b.value ?? null, version: typeof b.version === "number" ? b.version : 0 };
|
|
22
|
+
}
|
|
23
|
+
/** PUBLISHED 快照读(members 实际拿到的):?source=published。 */
|
|
24
|
+
export async function getScopeConfigPublished(client, space, domain, opts) {
|
|
25
|
+
const r = await client.requestRaw({ method: "GET", path: `${scopeConfigPath(space, domain)}?source=published`, ...(opts?.signal ? { signal: opts.signal } : {}) });
|
|
26
|
+
if (r.status !== 200)
|
|
27
|
+
fail(r, `scope-config published read`);
|
|
28
|
+
const b = r.body;
|
|
29
|
+
return { value: b.value ?? null, published: b.published === true, ...(typeof b.publishedAt === "string" ? { publishedAt: b.publishedAt } : {}) };
|
|
30
|
+
}
|
|
31
|
+
/** DRAFT 写(version-CAS)。409/400 等非 200 typed 直出(merge-retry 节奏留调用方——scope 面的
|
|
32
|
+
* 写者是发布工作流,自动 merge 比个人面更危险,SDK 不提供 retryOn409)。 */
|
|
33
|
+
export async function putScopeConfigDraft(client, space, domain, put, opts) {
|
|
34
|
+
const r = await client.requestRaw({ method: "PUT", path: scopeConfigPath(space, domain), body: put, ...(opts?.signal ? { signal: opts.signal } : {}) });
|
|
35
|
+
const b = r.body;
|
|
36
|
+
if (r.status !== 200 || b?.ok !== true)
|
|
37
|
+
fail(r, `scope-config draft write`);
|
|
38
|
+
return { ok: true, version: typeof b.version === "number" ? b.version : 0 };
|
|
39
|
+
}
|
|
40
|
+
const publishPath = (space) => `/api/v1/scopes/${encodeURIComponent(space)}/publish`;
|
|
41
|
+
/** publish 状态读(pending 在 = 已有挂起请求,新请求开不了;字段 registry 原样直出)。 */
|
|
42
|
+
export async function getPublishState(client, space, opts) {
|
|
43
|
+
const r = await client.requestRaw({ method: "GET", path: publishPath(space), ...(opts?.signal ? { signal: opts.signal } : {}) });
|
|
44
|
+
if (r.status !== 200)
|
|
45
|
+
fail(r, `publish-state read`);
|
|
46
|
+
const b = r.body;
|
|
47
|
+
return { published: b.published, pending: b.pending, approvalsRequired: typeof b.approvalsRequired === "number" ? b.approvalsRequired : 0 };
|
|
48
|
+
}
|
|
49
|
+
/** 发布请求。判别结果:`published`(200,即时生效)| `pending`(202,审批闸空间——draft **未**生效,
|
|
50
|
+
* approvers 走 …/publish/approve;诚实判别位,消费方绝不许把 202 渲染成已发布)。 */
|
|
51
|
+
export async function requestPublish(client, space, opts) {
|
|
52
|
+
const r = await client.requestRaw({ method: "POST", path: publishPath(space), body: {}, ...(opts?.signal ? { signal: opts.signal } : {}) });
|
|
53
|
+
if (r.status === 200)
|
|
54
|
+
return { status: "published", body: r.body };
|
|
55
|
+
if (r.status === 202)
|
|
56
|
+
return { status: "pending", body: r.body };
|
|
57
|
+
return fail(r, `publish request`);
|
|
58
|
+
}
|
|
59
|
+
// ── feedback(C2-4)──────────────────────────────────────────────────────────────────────────────────────
|
|
60
|
+
/** POST /api/v1/feedback → {id}。body 开放域(壳的 FeedbackCenterSubmitData 投影自带;SDK 不重铸
|
|
61
|
+
* schema)。隐私闸(essential-traffic-only)是壳策略,调用前自查——SDK 不代判。响应无 id = 失败
|
|
62
|
+
* (壳同判据:「response did not return an id」)。 */
|
|
63
|
+
export async function postFeedback(client, body, opts) {
|
|
64
|
+
const r = await client.requestRaw({ method: "POST", path: "/api/v1/feedback", body, ...(opts?.signal ? { signal: opts.signal } : {}) });
|
|
65
|
+
const id = r.body?.id;
|
|
66
|
+
if (r.status < 200 || r.status >= 300 || typeof id !== "string" || id.length === 0)
|
|
67
|
+
fail(r, `feedback post`);
|
|
68
|
+
return { id: id };
|
|
69
|
+
}
|
|
70
|
+
// ── skillContentAddress(C2-3 表态:进 SDK 作纯 helper)──────────────────────────────────────────────────
|
|
71
|
+
/** skills 域内容寻址:`sha256:<hex>`(壳 cloudConfigWire.sha256Address 同算法)。多端都要校验
|
|
72
|
+
* skills body 完整性 ⇒ 收编成跨平台纯 helper(web crypto,浏览器/Node ≥18 通用;async 因
|
|
73
|
+
* crypto.subtle 使然)。 */
|
|
74
|
+
export async function skillContentAddress(content) {
|
|
75
|
+
const digest = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(content));
|
|
76
|
+
const hex = Array.from(new Uint8Array(digest), (b) => b.toString(16).padStart(2, "0")).join("");
|
|
77
|
+
return `sha256:${hex}`;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=scope-config-feedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-config-feedback.js","sourceRoot":"","sources":["../../src/registry/scope-config-feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,9 +36,11 @@ export type EffectiveResult = {
|
|
|
36
36
|
etag?: string;
|
|
37
37
|
};
|
|
38
38
|
/** GET /api/v1/effective(ETag 引擎):传上次的 `etag` ⇒ 带 If-None-Match,没变答 304 零 body。
|
|
39
|
+
* `principal` ⇒ `?principal=` query([1864] C2-10 管理面消费形:查看**别人**的生效配置)。
|
|
39
40
|
* 走 RegistryClient 同一引擎(Bearer + 401 单飞 refresh 重试)——凭证生命周期不旁路。 */
|
|
40
41
|
export declare function getEffective(client: RegistryClient, opts?: {
|
|
41
42
|
etag?: string;
|
|
43
|
+
principal?: string;
|
|
42
44
|
signal?: AbortSignal;
|
|
43
45
|
}): Promise<EffectiveResult>;
|
|
44
46
|
//# sourceMappingURL=scopes-effective.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopes-effective.d.ts","sourceRoot":"","sources":["../../src/registry/scopes-effective.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,oDAAoD;AACpD,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AAEX,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;AAExD,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAE/G;AAED;;;kBAGkB;AAClB,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAK9B;AAED,uEAAuE;AACvE,MAAM,MAAM,eAAe,GAAG;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7G;
|
|
1
|
+
{"version":3,"file":"scopes-effective.d.ts","sourceRoot":"","sources":["../../src/registry/scopes-effective.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,oDAAoD;AACpD,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AAEX,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;AAExD,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAE/G;AAED;;;kBAGkB;AAClB,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAK9B;AAED,uEAAuE;AACvE,MAAM,MAAM,eAAe,GAAG;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7G;;oEAEoE;AACpE,wBAAsB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAYvJ"}
|
|
@@ -20,11 +20,12 @@ export async function switchScope(client, tokens, scope, opts) {
|
|
|
20
20
|
return out;
|
|
21
21
|
}
|
|
22
22
|
/** GET /api/v1/effective(ETag 引擎):传上次的 `etag` ⇒ 带 If-None-Match,没变答 304 零 body。
|
|
23
|
+
* `principal` ⇒ `?principal=` query([1864] C2-10 管理面消费形:查看**别人**的生效配置)。
|
|
23
24
|
* 走 RegistryClient 同一引擎(Bearer + 401 单飞 refresh 重试)——凭证生命周期不旁路。 */
|
|
24
25
|
export async function getEffective(client, opts) {
|
|
25
26
|
const r = await client.requestRaw({
|
|
26
27
|
method: "GET",
|
|
27
|
-
path:
|
|
28
|
+
path: `/api/v1/effective${opts?.principal ? `?principal=${encodeURIComponent(opts.principal)}` : ""}`,
|
|
28
29
|
...(opts?.etag ? { headers: { "if-none-match": opts.etag } } : {}),
|
|
29
30
|
...(opts?.signal ? { signal: opts.signal } : {}),
|
|
30
31
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopes-effective.js","sourceRoot":"","sources":["../../src/registry/scopes-effective.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,gBAAgB;IACxB,SAAS,EAAE,oBAAoB;CACvB,CAAC;AAIX,kEAAkE;AAClE,MAAM,UAAU,UAAU,CAAC,MAAsB,EAAE,IAA+B;IAChF,OAAO,MAAM,CAAC,OAAO,CAAqB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACrJ,CAAC;AAED;;;kBAGkB;AAClB,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAsB,EACtB,MAAqB,EACrB,KAAa,EACb,IAA+B;IAE/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAsB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpL,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IAChC,IAAI,IAAI;QAAE,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/F,OAAO,GAAG,CAAC;AACb,CAAC;AAKD;
|
|
1
|
+
{"version":3,"file":"scopes-effective.js","sourceRoot":"","sources":["../../src/registry/scopes-effective.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sema-agent/sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.117",
|
|
4
4
|
"description": "Typed, zero-runtime-dependency SDK for the Sema agent fleet usage plane. The shared substrate for all doors (CC/Codex MCP façade + web). Server-side only — tokens never enter the browser.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "BUSL-1.1",
|