@standardagents/builder 0.41.16 → 0.41.17
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/built-in-routes.js +64 -14
- package/dist/built-in-routes.js.map +1 -1
- package/dist/{index-BrQgCoFh.d.ts → index-C82dLGPq.d.ts} +3 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +90 -28
- package/dist/index.js.map +1 -1
- package/dist/plugin.js +1 -8
- package/dist/plugin.js.map +1 -1
- package/dist/{resolver-CWWRzZU1.d.ts → resolver-eygn_O1w.d.ts} +12 -4
- package/dist/runtime.d.ts +2 -2
- package/dist/runtime.js +89 -20
- package/dist/runtime.js.map +1 -1
- package/dist/test.d.ts +1 -1
- package/package.json +5 -5
package/dist/built-in-routes.js
CHANGED
|
@@ -9948,6 +9948,24 @@ var init_platform_handoff_jtis = __esm({
|
|
|
9948
9948
|
}
|
|
9949
9949
|
});
|
|
9950
9950
|
|
|
9951
|
+
// src/durable-objects/agentbuilder-migrations/0022_application_roles.ts
|
|
9952
|
+
var migration60;
|
|
9953
|
+
var init_application_roles = __esm({
|
|
9954
|
+
"src/durable-objects/agentbuilder-migrations/0022_application_roles.ts"() {
|
|
9955
|
+
migration60 = {
|
|
9956
|
+
version: 22,
|
|
9957
|
+
async up(sql) {
|
|
9958
|
+
sql.exec(`CREATE TABLE platform_application_roles (
|
|
9959
|
+
platform_user_id TEXT PRIMARY KEY,
|
|
9960
|
+
roles TEXT NOT NULL DEFAULT '[]',
|
|
9961
|
+
roles_version INTEGER NOT NULL DEFAULT 0
|
|
9962
|
+
)`);
|
|
9963
|
+
sql.exec(`INSERT OR REPLACE INTO _metadata (key, value) VALUES ('schema_version', '22')`);
|
|
9964
|
+
}
|
|
9965
|
+
};
|
|
9966
|
+
}
|
|
9967
|
+
});
|
|
9968
|
+
|
|
9951
9969
|
// src/durable-objects/agentbuilder-migrations/index.ts
|
|
9952
9970
|
var migrations2;
|
|
9953
9971
|
var init_agentbuilder_migrations = __esm({
|
|
@@ -9973,9 +9991,10 @@ var init_agentbuilder_migrations = __esm({
|
|
|
9973
9991
|
init_scope_skills();
|
|
9974
9992
|
init_websocket_tickets();
|
|
9975
9993
|
init_platform_handoff_jtis();
|
|
9976
|
-
|
|
9994
|
+
init_application_roles();
|
|
9995
|
+
migrations2 = [migration39, migration40, migration41, migration42, migration43, migration44, migration45, migration46, migration47, migration48, migration49, migration50, migration51, migration52, migration53, migration54, migration55, migration56, migration57, migration58, migration59, migration60];
|
|
9977
9996
|
migrations2.reduce(
|
|
9978
|
-
(max,
|
|
9997
|
+
(max, migration61) => Math.max(max, migration61.version),
|
|
9979
9998
|
0
|
|
9980
9999
|
);
|
|
9981
10000
|
}
|
|
@@ -13781,9 +13800,9 @@ var init_DurableThread = __esm({
|
|
|
13781
13800
|
* Each migration is run in order, starting from the current version + 1.
|
|
13782
13801
|
*/
|
|
13783
13802
|
async runMigrations(fromVersion) {
|
|
13784
|
-
for (const
|
|
13785
|
-
if (
|
|
13786
|
-
await
|
|
13803
|
+
for (const migration61 of migrations) {
|
|
13804
|
+
if (migration61.version > fromVersion) {
|
|
13805
|
+
await migration61.up(this.ctx.storage.sql);
|
|
13787
13806
|
}
|
|
13788
13807
|
}
|
|
13789
13808
|
}
|
|
@@ -25378,6 +25397,7 @@ var init_ThreadStateImpl = __esm({
|
|
|
25378
25397
|
username: user.username,
|
|
25379
25398
|
role: user.role,
|
|
25380
25399
|
permissions: user.permissions ?? null,
|
|
25400
|
+
roles: user.roles ?? [],
|
|
25381
25401
|
email: user.email ?? null,
|
|
25382
25402
|
display_name: user.display_name ?? null,
|
|
25383
25403
|
avatar_url: user.avatar_url ?? null
|
|
@@ -78945,6 +78965,8 @@ function parseWebSocketTicketAuth(authJson) {
|
|
|
78945
78965
|
if (typeof user.id !== "string" || typeof user.username !== "string" || typeof user.role !== "string" || record24.authType !== "super_admin" && record24.authType !== "session" && record24.authType !== "api_key") {
|
|
78946
78966
|
return null;
|
|
78947
78967
|
}
|
|
78968
|
+
const roles = user.roles;
|
|
78969
|
+
if (roles !== void 0 && (!Array.isArray(roles) || !roles.every((role) => typeof role === "string"))) return null;
|
|
78948
78970
|
const permissions = user.permissions;
|
|
78949
78971
|
if (permissions !== void 0 && permissions !== null && (!Array.isArray(permissions) || !permissions.every((permission) => typeof permission === "string"))) {
|
|
78950
78972
|
return null;
|
|
@@ -78956,6 +78978,7 @@ function parseWebSocketTicketAuth(authJson) {
|
|
|
78956
78978
|
username: user.username,
|
|
78957
78979
|
role: user.role,
|
|
78958
78980
|
permissions,
|
|
78981
|
+
roles: Array.isArray(roles) ? roles : [],
|
|
78959
78982
|
platform_user_id: typeof user.platform_user_id === "string" ? user.platform_user_id : null,
|
|
78960
78983
|
email: typeof user.email === "string" ? user.email : null,
|
|
78961
78984
|
display_name: typeof user.display_name === "string" ? user.display_name : null,
|
|
@@ -78979,7 +79002,19 @@ async function consumeWebSocketTicket(request, env2) {
|
|
|
78979
79002
|
ticket_hash: await hashToken(ticket),
|
|
78980
79003
|
pathname: url.pathname
|
|
78981
79004
|
});
|
|
78982
|
-
|
|
79005
|
+
const context = typeof authJson === "string" ? parseWebSocketTicketAuth(authJson) : null;
|
|
79006
|
+
if (!context || context.authType === "super_admin") return context;
|
|
79007
|
+
const user = await getAgentBuilder(env2).getUserById(context.user.id);
|
|
79008
|
+
if (!user) return null;
|
|
79009
|
+
return {
|
|
79010
|
+
...context,
|
|
79011
|
+
user: {
|
|
79012
|
+
...context.user,
|
|
79013
|
+
role: user.role,
|
|
79014
|
+
permissions: parsePermissions(user.permissions),
|
|
79015
|
+
roles: user.roles ?? []
|
|
79016
|
+
}
|
|
79017
|
+
};
|
|
78983
79018
|
}
|
|
78984
79019
|
function isWebSocketTicketPath(pathname) {
|
|
78985
79020
|
if (!pathname.startsWith("/api/") || pathname.includes("?") || pathname.includes("#")) return false;
|
|
@@ -79010,7 +79045,8 @@ async function authenticate(request, env2) {
|
|
|
79010
79045
|
user: {
|
|
79011
79046
|
id: "super_admin",
|
|
79012
79047
|
username: "admin",
|
|
79013
|
-
role: "admin"
|
|
79048
|
+
role: "admin",
|
|
79049
|
+
roles: []
|
|
79014
79050
|
},
|
|
79015
79051
|
authType: "super_admin"
|
|
79016
79052
|
};
|
|
@@ -79031,6 +79067,7 @@ async function authenticate(request, env2) {
|
|
|
79031
79067
|
username: user.username,
|
|
79032
79068
|
role: user.role,
|
|
79033
79069
|
permissions: parsePermissions(user.permissions),
|
|
79070
|
+
roles: user.roles ?? [],
|
|
79034
79071
|
platform_user_id: user.platform_user_id ?? null,
|
|
79035
79072
|
email: user.email ?? null,
|
|
79036
79073
|
display_name: user.display_name ?? null,
|
|
@@ -79054,6 +79091,7 @@ async function authenticate(request, env2) {
|
|
|
79054
79091
|
username: user.username,
|
|
79055
79092
|
role: user.role,
|
|
79056
79093
|
permissions: parsePermissions(user.permissions),
|
|
79094
|
+
roles: user.roles ?? [],
|
|
79057
79095
|
platform_user_id: user.platform_user_id ?? null,
|
|
79058
79096
|
email: user.email ?? null,
|
|
79059
79097
|
display_name: user.display_name ?? null,
|
|
@@ -79332,6 +79370,8 @@ function normalizeLocalBootstrap(payload, endpoint) {
|
|
|
79332
79370
|
id: platformUserId,
|
|
79333
79371
|
username,
|
|
79334
79372
|
role,
|
|
79373
|
+
roles: Array.isArray(payload.user?.roles) && payload.user.roles.every((role2) => typeof role2 === "string") ? payload.user.roles : [],
|
|
79374
|
+
roles_version: typeof payload.user?.roles_version === "number" ? payload.user.roles_version : 0,
|
|
79335
79375
|
email: typeof payload.user?.email === "string" ? payload.user.email : null,
|
|
79336
79376
|
display_name: typeof payload.user?.display_name === "string" ? payload.user.display_name : null,
|
|
79337
79377
|
avatar_url: typeof payload.user?.avatar_url === "string" ? payload.user.avatar_url : null,
|
|
@@ -79389,7 +79429,9 @@ async function upsertReplicaUserForPlatformProfile(env2, profile) {
|
|
|
79389
79429
|
email: profile.email ?? null,
|
|
79390
79430
|
avatar_url: profile.avatar_url ?? null,
|
|
79391
79431
|
role: profile.role ?? "admin",
|
|
79392
|
-
permissions: profile.permissions ?? null
|
|
79432
|
+
permissions: profile.permissions ?? null,
|
|
79433
|
+
roles: profile.roles ?? [],
|
|
79434
|
+
roles_version: profile.roles_version
|
|
79393
79435
|
});
|
|
79394
79436
|
}
|
|
79395
79437
|
async function mintLocalSessionForPlatformUser(env2, platformUser) {
|
|
@@ -79403,7 +79445,7 @@ async function mintLocalSessionForPlatformUser(env2, platformUser) {
|
|
|
79403
79445
|
const tokenHash = await hashToken(token);
|
|
79404
79446
|
const expiresAt = Math.floor(Date.now() / 1e3) + SESSION_TTL_SECONDS;
|
|
79405
79447
|
await agentBuilder.createSession({ user_id: user.id, token_hash: tokenHash, expires_at: expiresAt });
|
|
79406
|
-
return { token, user: { id: user.id, username: user.username, role: user.role } };
|
|
79448
|
+
return { token, user: { id: user.id, username: user.username, role: user.role, roles: user.roles ?? [] } };
|
|
79407
79449
|
}
|
|
79408
79450
|
async function consumePlatformHandoffJti(env2, jti, expiresAt) {
|
|
79409
79451
|
return agentBuilderAuthStub(env2).consumePlatformHandoffJti({
|
|
@@ -79431,7 +79473,9 @@ async function createPlatformLocalSession(request, env2) {
|
|
|
79431
79473
|
display_name: identity.user.display_name ?? null,
|
|
79432
79474
|
email: identity.user.email ?? null,
|
|
79433
79475
|
avatar_url: identity.user.avatar_url ?? null,
|
|
79434
|
-
role: identity.user.role
|
|
79476
|
+
role: identity.user.role,
|
|
79477
|
+
roles: identity.user.roles ?? [],
|
|
79478
|
+
roles_version: identity.user.roles_version
|
|
79435
79479
|
});
|
|
79436
79480
|
const token = generateUserToken();
|
|
79437
79481
|
const tokenHash = await hashToken(token);
|
|
@@ -79446,7 +79490,8 @@ async function createPlatformLocalSession(request, env2) {
|
|
|
79446
79490
|
user: {
|
|
79447
79491
|
id: user.id,
|
|
79448
79492
|
username: user.username,
|
|
79449
|
-
role: user.role
|
|
79493
|
+
role: user.role,
|
|
79494
|
+
roles: user.roles ?? []
|
|
79450
79495
|
},
|
|
79451
79496
|
authType: "platform_token",
|
|
79452
79497
|
platform: identity
|
|
@@ -79698,7 +79743,7 @@ var config_get_default = defineController2(async ({ config, env: env2, req }) =>
|
|
|
79698
79743
|
});
|
|
79699
79744
|
|
|
79700
79745
|
// src/version.ts
|
|
79701
|
-
var BUILDER_VERSION = "0.41.
|
|
79746
|
+
var BUILDER_VERSION = "0.41.17".length > 0 ? "0.41.17" : "dev";
|
|
79702
79747
|
|
|
79703
79748
|
// src/api/diagnostics.get.ts
|
|
79704
79749
|
init_LLMRequest();
|
|
@@ -82466,6 +82511,7 @@ var platform_replica_post_default = defineController2(async ({ req, env: env2 })
|
|
|
82466
82511
|
const agentBuilder = env2.AGENT_BUILDER.get(env2.AGENT_BUILDER.idFromName("singleton"));
|
|
82467
82512
|
const result = await agentBuilder.applyPlatformReplicaSnapshot({
|
|
82468
82513
|
users: payload.users,
|
|
82514
|
+
role_revocations: payload.role_revocations,
|
|
82469
82515
|
api_keys: payload.api_keys ?? []
|
|
82470
82516
|
});
|
|
82471
82517
|
return Response.json({ ok: true, ...result });
|
|
@@ -86320,7 +86366,9 @@ var callback_get_default = defineController2(async ({ req, env: env2 }) => {
|
|
|
86320
86366
|
email: payload.email ?? null,
|
|
86321
86367
|
avatar_url: payload.avatar_url ?? null,
|
|
86322
86368
|
role: payload.role,
|
|
86323
|
-
permissions: payload.permissions ?? null
|
|
86369
|
+
permissions: payload.permissions ?? null,
|
|
86370
|
+
roles: payload.roles ?? [],
|
|
86371
|
+
roles_version: payload.roles_version
|
|
86324
86372
|
});
|
|
86325
86373
|
const returnTo = failReturnTo;
|
|
86326
86374
|
const headers = new Headers({
|
|
@@ -86774,7 +86822,9 @@ async function resolveDeviceApprovalIdentity(req, env2) {
|
|
|
86774
86822
|
email: payload.email ?? null,
|
|
86775
86823
|
avatar_url: payload.avatar_url ?? null,
|
|
86776
86824
|
role: payload.role,
|
|
86777
|
-
permissions: payload.permissions ?? null
|
|
86825
|
+
permissions: payload.permissions ?? null,
|
|
86826
|
+
roles: payload.roles ?? [],
|
|
86827
|
+
roles_version: payload.roles_version
|
|
86778
86828
|
};
|
|
86779
86829
|
return {
|
|
86780
86830
|
confirmationSubject: `platform:${payload.platform_user_id}`,
|