@meshagent/meshagent 0.52.3 → 0.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/browser/entrypoint.js +22 -10
- package/dist/browser/meshagent-client.d.ts +8 -2
- package/dist/browser/meshagent-client.js +14 -4
- package/dist/esm/entrypoint.js +20 -8
- package/dist/esm/meshagent-client.d.ts +8 -2
- package/dist/esm/meshagent-client.js +14 -4
- package/dist/node/entrypoint.js +20 -8
- package/dist/node/meshagent-client.d.ts +8 -2
- package/dist/node/meshagent-client.js +14 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
## [0.53.0]
|
|
2
|
+
- Added user profile metadata and annotations to project-member types and parsing.
|
|
3
|
+
- Added the `user_profile_editor` project role and support for partial profile updates with metadata, annotations, and project ID options.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
- Added user profile metadata and string annotations to project-member models, plus `metadata`, `annotations`, and `projectId` options on `updateUserProfile`. Omitted fields are preserved; supplied maps replace their previous contents.
|
|
7
|
+
- Added `user_profile_editor` to project role types and parsing. Project owners and admins inherit profile editing; ordinary users can edit their own names and metadata.
|
|
8
|
+
|
|
9
|
+
## [0.52.4]
|
|
10
|
+
- Stability
|
|
11
|
+
|
|
1
12
|
## [0.52.3]
|
|
2
13
|
- Updated LLM proxy TypeScript examples for the current provider endpoints and configuration flow.
|
|
3
14
|
- Updated Vitest to 4.1.11 and added `@vitest/browser-playwright` 4.1.11 for browser testing.
|
|
@@ -702,6 +702,18 @@ var unexpectedCase = () => {
|
|
|
702
702
|
// ../node_modules/lib0/decoding.js
|
|
703
703
|
var errorUnexpectedEndOfArray = create3("Unexpected end of array");
|
|
704
704
|
var errorIntegerOutOfRange = create3("Integer out of Range");
|
|
705
|
+
var subarray = (arr, begin, len) => {
|
|
706
|
+
if (begin < 0 || len < 0 || begin + len > arr.length) {
|
|
707
|
+
throw errorUnexpectedEndOfArray;
|
|
708
|
+
}
|
|
709
|
+
return new Uint8Array(arr.buffer, arr.byteOffset + begin, len);
|
|
710
|
+
};
|
|
711
|
+
var subdataview = (arr, begin, len) => {
|
|
712
|
+
if (begin < 0 || len < 0 || begin + len > arr.length) {
|
|
713
|
+
throw errorUnexpectedEndOfArray;
|
|
714
|
+
}
|
|
715
|
+
return new DataView(arr.buffer, arr.byteOffset + begin, len);
|
|
716
|
+
};
|
|
705
717
|
var Decoder = class {
|
|
706
718
|
/**
|
|
707
719
|
* @param {Uint8Array<Buf>} uint8Array Binary data to decode
|
|
@@ -714,7 +726,7 @@ var Decoder = class {
|
|
|
714
726
|
var createDecoder = (uint8Array) => new Decoder(uint8Array);
|
|
715
727
|
var hasContent = (decoder) => decoder.pos !== decoder.arr.length;
|
|
716
728
|
var readUint8Array = (decoder, len) => {
|
|
717
|
-
const view =
|
|
729
|
+
const view = subarray(decoder.arr, decoder.pos, len);
|
|
718
730
|
decoder.pos += len;
|
|
719
731
|
return view;
|
|
720
732
|
};
|
|
@@ -791,7 +803,7 @@ var _readVarStringNative = (decoder) => (
|
|
|
791
803
|
);
|
|
792
804
|
var readVarString = utf8TextDecoder ? _readVarStringNative : _readVarStringPolyfill;
|
|
793
805
|
var readFromDataView = (decoder, len) => {
|
|
794
|
-
const dv =
|
|
806
|
+
const dv = subdataview(decoder.arr, decoder.pos, len);
|
|
795
807
|
decoder.pos += len;
|
|
796
808
|
return dv;
|
|
797
809
|
};
|
|
@@ -3691,15 +3703,15 @@ var cleanupTransactions = (transactionCleanups, i) => {
|
|
|
3691
3703
|
fs.push(() => {
|
|
3692
3704
|
transaction.changedParentTypes.forEach((events, type) => {
|
|
3693
3705
|
if (type._dEH.l.length > 0 && (type._item === null || !type._item.deleted)) {
|
|
3694
|
-
events = events.filter(
|
|
3695
|
-
(event) => event.target._item === null || !event.target._item.deleted
|
|
3696
|
-
);
|
|
3697
|
-
events.forEach((event) => {
|
|
3698
|
-
event.currentTarget = type;
|
|
3699
|
-
event._path = null;
|
|
3700
|
-
});
|
|
3701
|
-
events.sort((event1, event2) => event1.path.length - event2.path.length);
|
|
3702
3706
|
fs.push(() => {
|
|
3707
|
+
events = events.filter(
|
|
3708
|
+
(event) => event.target._item === null || !event.target._item.deleted
|
|
3709
|
+
);
|
|
3710
|
+
events.forEach((event) => {
|
|
3711
|
+
event.currentTarget = type;
|
|
3712
|
+
event._path = null;
|
|
3713
|
+
});
|
|
3714
|
+
events.sort((event1, event2) => event1.path.length - event2.path.length);
|
|
3703
3715
|
callEventHandlerListeners(type._dEH, events, transaction);
|
|
3704
3716
|
});
|
|
3705
3717
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiScope } from "./participant-token.js";
|
|
2
|
-
export type ProjectRole = "member" | "admin" | "developer" | "room_creator" | "room_inventory" | "room_manager" | "session_inventory" | "agent_creator" | "agent_inventory" | "agent_manager" | "repository_creator" | "repository_inventory" | "repository_manager" | "feed_creator" | "feed_inventory" | "feed_manager" | "oauth_client_creator" | "oauth_client_inventory" | "oauth_client_manager" | "api_key_creator" | "api_key_inventory" | "api_key_manager" | "service_creator" | "service_inventory" | "service_manager" | "service_account_creator" | "service_account_inventory" | "service_account_manager" | "participant_token_creator" | "mailbox_creator" | "mailbox_inventory" | "mailbox_manager" | "route_creator" | "route_inventory" | "route_manager" | "scheduled_task_creator" | "scheduled_task_inventory" | "scheduled_task_manager" | "feed_subscription_creator" | "feed_subscription_inventory" | "feed_subscription_manager" | "llm_logger_creator" | "llm_logger_inventory" | "llm_logger_manager" | "llm_proxy_user" | "llm_quota_manager" | "usage_reporter" | "billing_manager" | "group_manager";
|
|
2
|
+
export type ProjectRole = "member" | "admin" | "developer" | "room_creator" | "room_inventory" | "room_manager" | "session_inventory" | "agent_creator" | "agent_inventory" | "agent_manager" | "repository_creator" | "repository_inventory" | "repository_manager" | "feed_creator" | "feed_inventory" | "feed_manager" | "oauth_client_creator" | "oauth_client_inventory" | "oauth_client_manager" | "api_key_creator" | "api_key_inventory" | "api_key_manager" | "service_creator" | "service_inventory" | "service_manager" | "service_account_creator" | "service_account_inventory" | "service_account_manager" | "participant_token_creator" | "mailbox_creator" | "mailbox_inventory" | "mailbox_manager" | "route_creator" | "route_inventory" | "route_manager" | "scheduled_task_creator" | "scheduled_task_inventory" | "scheduled_task_manager" | "feed_subscription_creator" | "feed_subscription_inventory" | "feed_subscription_manager" | "llm_logger_creator" | "llm_logger_inventory" | "llm_logger_manager" | "llm_proxy_user" | "llm_quota_manager" | "usage_reporter" | "billing_manager" | "group_manager" | "user_profile_editor";
|
|
3
3
|
export type ResourceRole = "viewer" | "operator" | "developer" | "admin";
|
|
4
4
|
export type RoomRole = "site_user" | "guest" | ResourceRole;
|
|
5
5
|
export type ProjectSettingsDocumentName = "openai" | "anthropic" | "otel" | "admission" | "room" | "room_roles" | "router";
|
|
@@ -131,6 +131,8 @@ export interface ProjectMember {
|
|
|
131
131
|
email: string;
|
|
132
132
|
firstName?: string | null;
|
|
133
133
|
lastName?: string | null;
|
|
134
|
+
metadata?: Record<string, unknown>;
|
|
135
|
+
annotations?: Record<string, string>;
|
|
134
136
|
directRoles: ProjectRole[];
|
|
135
137
|
}
|
|
136
138
|
export interface ProjectMembersPage {
|
|
@@ -660,7 +662,11 @@ export declare class Meshagent {
|
|
|
660
662
|
}): Promise<ProjectMembersPage>;
|
|
661
663
|
getUsersInProject(projectId: string): Promise<ProjectMember[]>;
|
|
662
664
|
getUserProfile(userId: string): Promise<Record<string, unknown>>;
|
|
663
|
-
updateUserProfile(userId: string, firstName
|
|
665
|
+
updateUserProfile(userId: string, firstName?: string, lastName?: string, options?: {
|
|
666
|
+
metadata?: Record<string, unknown>;
|
|
667
|
+
annotations?: Record<string, string>;
|
|
668
|
+
projectId?: string;
|
|
669
|
+
}): Promise<Record<string, unknown>>;
|
|
664
670
|
listProjects(): Promise<Record<string, unknown>>;
|
|
665
671
|
getProject(projectId: string): Promise<Record<string, unknown>>;
|
|
666
672
|
getProjectByKey(projectKey: string): Promise<Record<string, unknown>>;
|
|
@@ -697,7 +697,8 @@ class Meshagent {
|
|
|
697
697
|
item === "llm_proxy_user" ||
|
|
698
698
|
item === "usage_reporter" ||
|
|
699
699
|
item === "billing_manager" ||
|
|
700
|
-
item === "group_manager"
|
|
700
|
+
item === "group_manager" ||
|
|
701
|
+
item === "user_profile_editor")
|
|
701
702
|
: [];
|
|
702
703
|
const id = typeof user.id === "string" ? user.id : "";
|
|
703
704
|
const email = typeof user.email === "string" ? user.email : "";
|
|
@@ -706,6 +707,8 @@ class Meshagent {
|
|
|
706
707
|
email,
|
|
707
708
|
firstName: typeof user.first_name === "string" ? user.first_name : null,
|
|
708
709
|
lastName: typeof user.last_name === "string" ? user.last_name : null,
|
|
710
|
+
metadata: user.metadata && typeof user.metadata === "object" ? user.metadata : {},
|
|
711
|
+
annotations: user.annotations && typeof user.annotations === "object" ? user.annotations : {},
|
|
709
712
|
directRoles,
|
|
710
713
|
};
|
|
711
714
|
}
|
|
@@ -779,6 +782,7 @@ class Meshagent {
|
|
|
779
782
|
item === "usage_reporter" ||
|
|
780
783
|
item === "billing_manager" ||
|
|
781
784
|
item === "group_manager" ||
|
|
785
|
+
item === "user_profile_editor" ||
|
|
782
786
|
item === "reader" ||
|
|
783
787
|
item === "subscriber" ||
|
|
784
788
|
item === "publisher" ||
|
|
@@ -1014,10 +1018,16 @@ class Meshagent {
|
|
|
1014
1018
|
action: "fetch user profile",
|
|
1015
1019
|
});
|
|
1016
1020
|
}
|
|
1017
|
-
async updateUserProfile(userId, firstName, lastName) {
|
|
1018
|
-
|
|
1021
|
+
async updateUserProfile(userId, firstName, lastName, options = {}) {
|
|
1022
|
+
const query = options.projectId === undefined ? "" : `?project_id=${encodeURIComponent(options.projectId)}`;
|
|
1023
|
+
return await this.request(`/accounts/profiles/${encodeURIComponent(userId)}${query}`, {
|
|
1019
1024
|
method: "PUT",
|
|
1020
|
-
json: {
|
|
1025
|
+
json: {
|
|
1026
|
+
...(firstName !== undefined ? { first_name: firstName } : {}),
|
|
1027
|
+
...(lastName !== undefined ? { last_name: lastName } : {}),
|
|
1028
|
+
...(options.metadata !== undefined ? { metadata: options.metadata } : {}),
|
|
1029
|
+
...(options.annotations !== undefined ? { annotations: options.annotations } : {}),
|
|
1030
|
+
},
|
|
1021
1031
|
action: "update user profile",
|
|
1022
1032
|
});
|
|
1023
1033
|
}
|
package/dist/esm/entrypoint.js
CHANGED
|
@@ -590,6 +590,18 @@ var unexpectedCase = () => {
|
|
|
590
590
|
};
|
|
591
591
|
var errorUnexpectedEndOfArray = create3("Unexpected end of array");
|
|
592
592
|
var errorIntegerOutOfRange = create3("Integer out of Range");
|
|
593
|
+
var subarray = (arr, begin, len) => {
|
|
594
|
+
if (begin < 0 || len < 0 || begin + len > arr.length) {
|
|
595
|
+
throw errorUnexpectedEndOfArray;
|
|
596
|
+
}
|
|
597
|
+
return new Uint8Array(arr.buffer, arr.byteOffset + begin, len);
|
|
598
|
+
};
|
|
599
|
+
var subdataview = (arr, begin, len) => {
|
|
600
|
+
if (begin < 0 || len < 0 || begin + len > arr.length) {
|
|
601
|
+
throw errorUnexpectedEndOfArray;
|
|
602
|
+
}
|
|
603
|
+
return new DataView(arr.buffer, arr.byteOffset + begin, len);
|
|
604
|
+
};
|
|
593
605
|
var Decoder = class {
|
|
594
606
|
constructor(uint8Array) {
|
|
595
607
|
this.arr = uint8Array;
|
|
@@ -599,7 +611,7 @@ var Decoder = class {
|
|
|
599
611
|
var createDecoder = (uint8Array) => new Decoder(uint8Array);
|
|
600
612
|
var hasContent = (decoder) => decoder.pos !== decoder.arr.length;
|
|
601
613
|
var readUint8Array = (decoder, len) => {
|
|
602
|
-
const view =
|
|
614
|
+
const view = subarray(decoder.arr, decoder.pos, len);
|
|
603
615
|
decoder.pos += len;
|
|
604
616
|
return view;
|
|
605
617
|
};
|
|
@@ -671,7 +683,7 @@ var _readVarStringPolyfill = (decoder) => {
|
|
|
671
683
|
var _readVarStringNative = (decoder) => (utf8TextDecoder.decode(readVarUint8Array(decoder)));
|
|
672
684
|
var readVarString = utf8TextDecoder ? _readVarStringNative : _readVarStringPolyfill;
|
|
673
685
|
var readFromDataView = (decoder, len) => {
|
|
674
|
-
const dv =
|
|
686
|
+
const dv = subdataview(decoder.arr, decoder.pos, len);
|
|
675
687
|
decoder.pos += len;
|
|
676
688
|
return dv;
|
|
677
689
|
};
|
|
@@ -2772,13 +2784,13 @@ var cleanupTransactions = (transactionCleanups, i) => {
|
|
|
2772
2784
|
fs.push(() => {
|
|
2773
2785
|
transaction.changedParentTypes.forEach((events, type) => {
|
|
2774
2786
|
if (type._dEH.l.length > 0 && (type._item === null || !type._item.deleted)) {
|
|
2775
|
-
events = events.filter((event) => event.target._item === null || !event.target._item.deleted);
|
|
2776
|
-
events.forEach((event) => {
|
|
2777
|
-
event.currentTarget = type;
|
|
2778
|
-
event._path = null;
|
|
2779
|
-
});
|
|
2780
|
-
events.sort((event1, event2) => event1.path.length - event2.path.length);
|
|
2781
2787
|
fs.push(() => {
|
|
2788
|
+
events = events.filter((event) => event.target._item === null || !event.target._item.deleted);
|
|
2789
|
+
events.forEach((event) => {
|
|
2790
|
+
event.currentTarget = type;
|
|
2791
|
+
event._path = null;
|
|
2792
|
+
});
|
|
2793
|
+
events.sort((event1, event2) => event1.path.length - event2.path.length);
|
|
2782
2794
|
callEventHandlerListeners(type._dEH, events, transaction);
|
|
2783
2795
|
});
|
|
2784
2796
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiScope } from "./participant-token.js";
|
|
2
|
-
export type ProjectRole = "member" | "admin" | "developer" | "room_creator" | "room_inventory" | "room_manager" | "session_inventory" | "agent_creator" | "agent_inventory" | "agent_manager" | "repository_creator" | "repository_inventory" | "repository_manager" | "feed_creator" | "feed_inventory" | "feed_manager" | "oauth_client_creator" | "oauth_client_inventory" | "oauth_client_manager" | "api_key_creator" | "api_key_inventory" | "api_key_manager" | "service_creator" | "service_inventory" | "service_manager" | "service_account_creator" | "service_account_inventory" | "service_account_manager" | "participant_token_creator" | "mailbox_creator" | "mailbox_inventory" | "mailbox_manager" | "route_creator" | "route_inventory" | "route_manager" | "scheduled_task_creator" | "scheduled_task_inventory" | "scheduled_task_manager" | "feed_subscription_creator" | "feed_subscription_inventory" | "feed_subscription_manager" | "llm_logger_creator" | "llm_logger_inventory" | "llm_logger_manager" | "llm_proxy_user" | "llm_quota_manager" | "usage_reporter" | "billing_manager" | "group_manager";
|
|
2
|
+
export type ProjectRole = "member" | "admin" | "developer" | "room_creator" | "room_inventory" | "room_manager" | "session_inventory" | "agent_creator" | "agent_inventory" | "agent_manager" | "repository_creator" | "repository_inventory" | "repository_manager" | "feed_creator" | "feed_inventory" | "feed_manager" | "oauth_client_creator" | "oauth_client_inventory" | "oauth_client_manager" | "api_key_creator" | "api_key_inventory" | "api_key_manager" | "service_creator" | "service_inventory" | "service_manager" | "service_account_creator" | "service_account_inventory" | "service_account_manager" | "participant_token_creator" | "mailbox_creator" | "mailbox_inventory" | "mailbox_manager" | "route_creator" | "route_inventory" | "route_manager" | "scheduled_task_creator" | "scheduled_task_inventory" | "scheduled_task_manager" | "feed_subscription_creator" | "feed_subscription_inventory" | "feed_subscription_manager" | "llm_logger_creator" | "llm_logger_inventory" | "llm_logger_manager" | "llm_proxy_user" | "llm_quota_manager" | "usage_reporter" | "billing_manager" | "group_manager" | "user_profile_editor";
|
|
3
3
|
export type ResourceRole = "viewer" | "operator" | "developer" | "admin";
|
|
4
4
|
export type RoomRole = "site_user" | "guest" | ResourceRole;
|
|
5
5
|
export type ProjectSettingsDocumentName = "openai" | "anthropic" | "otel" | "admission" | "room" | "room_roles" | "router";
|
|
@@ -131,6 +131,8 @@ export interface ProjectMember {
|
|
|
131
131
|
email: string;
|
|
132
132
|
firstName?: string | null;
|
|
133
133
|
lastName?: string | null;
|
|
134
|
+
metadata?: Record<string, unknown>;
|
|
135
|
+
annotations?: Record<string, string>;
|
|
134
136
|
directRoles: ProjectRole[];
|
|
135
137
|
}
|
|
136
138
|
export interface ProjectMembersPage {
|
|
@@ -660,7 +662,11 @@ export declare class Meshagent {
|
|
|
660
662
|
}): Promise<ProjectMembersPage>;
|
|
661
663
|
getUsersInProject(projectId: string): Promise<ProjectMember[]>;
|
|
662
664
|
getUserProfile(userId: string): Promise<Record<string, unknown>>;
|
|
663
|
-
updateUserProfile(userId: string, firstName
|
|
665
|
+
updateUserProfile(userId: string, firstName?: string, lastName?: string, options?: {
|
|
666
|
+
metadata?: Record<string, unknown>;
|
|
667
|
+
annotations?: Record<string, string>;
|
|
668
|
+
projectId?: string;
|
|
669
|
+
}): Promise<Record<string, unknown>>;
|
|
664
670
|
listProjects(): Promise<Record<string, unknown>>;
|
|
665
671
|
getProject(projectId: string): Promise<Record<string, unknown>>;
|
|
666
672
|
getProjectByKey(projectKey: string): Promise<Record<string, unknown>>;
|
|
@@ -692,7 +692,8 @@ export class Meshagent {
|
|
|
692
692
|
item === "llm_proxy_user" ||
|
|
693
693
|
item === "usage_reporter" ||
|
|
694
694
|
item === "billing_manager" ||
|
|
695
|
-
item === "group_manager"
|
|
695
|
+
item === "group_manager" ||
|
|
696
|
+
item === "user_profile_editor")
|
|
696
697
|
: [];
|
|
697
698
|
const id = typeof user.id === "string" ? user.id : "";
|
|
698
699
|
const email = typeof user.email === "string" ? user.email : "";
|
|
@@ -701,6 +702,8 @@ export class Meshagent {
|
|
|
701
702
|
email,
|
|
702
703
|
firstName: typeof user.first_name === "string" ? user.first_name : null,
|
|
703
704
|
lastName: typeof user.last_name === "string" ? user.last_name : null,
|
|
705
|
+
metadata: user.metadata && typeof user.metadata === "object" ? user.metadata : {},
|
|
706
|
+
annotations: user.annotations && typeof user.annotations === "object" ? user.annotations : {},
|
|
704
707
|
directRoles,
|
|
705
708
|
};
|
|
706
709
|
}
|
|
@@ -774,6 +777,7 @@ export class Meshagent {
|
|
|
774
777
|
item === "usage_reporter" ||
|
|
775
778
|
item === "billing_manager" ||
|
|
776
779
|
item === "group_manager" ||
|
|
780
|
+
item === "user_profile_editor" ||
|
|
777
781
|
item === "reader" ||
|
|
778
782
|
item === "subscriber" ||
|
|
779
783
|
item === "publisher" ||
|
|
@@ -1009,10 +1013,16 @@ export class Meshagent {
|
|
|
1009
1013
|
action: "fetch user profile",
|
|
1010
1014
|
});
|
|
1011
1015
|
}
|
|
1012
|
-
async updateUserProfile(userId, firstName, lastName) {
|
|
1013
|
-
|
|
1016
|
+
async updateUserProfile(userId, firstName, lastName, options = {}) {
|
|
1017
|
+
const query = options.projectId === undefined ? "" : `?project_id=${encodeURIComponent(options.projectId)}`;
|
|
1018
|
+
return await this.request(`/accounts/profiles/${encodeURIComponent(userId)}${query}`, {
|
|
1014
1019
|
method: "PUT",
|
|
1015
|
-
json: {
|
|
1020
|
+
json: {
|
|
1021
|
+
...(firstName !== undefined ? { first_name: firstName } : {}),
|
|
1022
|
+
...(lastName !== undefined ? { last_name: lastName } : {}),
|
|
1023
|
+
...(options.metadata !== undefined ? { metadata: options.metadata } : {}),
|
|
1024
|
+
...(options.annotations !== undefined ? { annotations: options.annotations } : {}),
|
|
1025
|
+
},
|
|
1016
1026
|
action: "update user profile",
|
|
1017
1027
|
});
|
|
1018
1028
|
}
|
package/dist/node/entrypoint.js
CHANGED
|
@@ -601,6 +601,18 @@ var unexpectedCase = () => {
|
|
|
601
601
|
};
|
|
602
602
|
var errorUnexpectedEndOfArray = create3("Unexpected end of array");
|
|
603
603
|
var errorIntegerOutOfRange = create3("Integer out of Range");
|
|
604
|
+
var subarray = (arr, begin, len) => {
|
|
605
|
+
if (begin < 0 || len < 0 || begin + len > arr.length) {
|
|
606
|
+
throw errorUnexpectedEndOfArray;
|
|
607
|
+
}
|
|
608
|
+
return new Uint8Array(arr.buffer, arr.byteOffset + begin, len);
|
|
609
|
+
};
|
|
610
|
+
var subdataview = (arr, begin, len) => {
|
|
611
|
+
if (begin < 0 || len < 0 || begin + len > arr.length) {
|
|
612
|
+
throw errorUnexpectedEndOfArray;
|
|
613
|
+
}
|
|
614
|
+
return new DataView(arr.buffer, arr.byteOffset + begin, len);
|
|
615
|
+
};
|
|
604
616
|
var Decoder = class {
|
|
605
617
|
constructor(uint8Array) {
|
|
606
618
|
this.arr = uint8Array;
|
|
@@ -610,7 +622,7 @@ var Decoder = class {
|
|
|
610
622
|
var createDecoder = (uint8Array) => new Decoder(uint8Array);
|
|
611
623
|
var hasContent = (decoder) => decoder.pos !== decoder.arr.length;
|
|
612
624
|
var readUint8Array = (decoder, len) => {
|
|
613
|
-
const view =
|
|
625
|
+
const view = subarray(decoder.arr, decoder.pos, len);
|
|
614
626
|
decoder.pos += len;
|
|
615
627
|
return view;
|
|
616
628
|
};
|
|
@@ -682,7 +694,7 @@ var _readVarStringPolyfill = (decoder) => {
|
|
|
682
694
|
var _readVarStringNative = (decoder) => (utf8TextDecoder.decode(readVarUint8Array(decoder)));
|
|
683
695
|
var readVarString = utf8TextDecoder ? _readVarStringNative : _readVarStringPolyfill;
|
|
684
696
|
var readFromDataView = (decoder, len) => {
|
|
685
|
-
const dv =
|
|
697
|
+
const dv = subdataview(decoder.arr, decoder.pos, len);
|
|
686
698
|
decoder.pos += len;
|
|
687
699
|
return dv;
|
|
688
700
|
};
|
|
@@ -2783,13 +2795,13 @@ var cleanupTransactions = (transactionCleanups, i) => {
|
|
|
2783
2795
|
fs.push(() => {
|
|
2784
2796
|
transaction.changedParentTypes.forEach((events, type) => {
|
|
2785
2797
|
if (type._dEH.l.length > 0 && (type._item === null || !type._item.deleted)) {
|
|
2786
|
-
events = events.filter((event) => event.target._item === null || !event.target._item.deleted);
|
|
2787
|
-
events.forEach((event) => {
|
|
2788
|
-
event.currentTarget = type;
|
|
2789
|
-
event._path = null;
|
|
2790
|
-
});
|
|
2791
|
-
events.sort((event1, event2) => event1.path.length - event2.path.length);
|
|
2792
2798
|
fs.push(() => {
|
|
2799
|
+
events = events.filter((event) => event.target._item === null || !event.target._item.deleted);
|
|
2800
|
+
events.forEach((event) => {
|
|
2801
|
+
event.currentTarget = type;
|
|
2802
|
+
event._path = null;
|
|
2803
|
+
});
|
|
2804
|
+
events.sort((event1, event2) => event1.path.length - event2.path.length);
|
|
2793
2805
|
callEventHandlerListeners(type._dEH, events, transaction);
|
|
2794
2806
|
});
|
|
2795
2807
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiScope } from "./participant-token.js";
|
|
2
|
-
export type ProjectRole = "member" | "admin" | "developer" | "room_creator" | "room_inventory" | "room_manager" | "session_inventory" | "agent_creator" | "agent_inventory" | "agent_manager" | "repository_creator" | "repository_inventory" | "repository_manager" | "feed_creator" | "feed_inventory" | "feed_manager" | "oauth_client_creator" | "oauth_client_inventory" | "oauth_client_manager" | "api_key_creator" | "api_key_inventory" | "api_key_manager" | "service_creator" | "service_inventory" | "service_manager" | "service_account_creator" | "service_account_inventory" | "service_account_manager" | "participant_token_creator" | "mailbox_creator" | "mailbox_inventory" | "mailbox_manager" | "route_creator" | "route_inventory" | "route_manager" | "scheduled_task_creator" | "scheduled_task_inventory" | "scheduled_task_manager" | "feed_subscription_creator" | "feed_subscription_inventory" | "feed_subscription_manager" | "llm_logger_creator" | "llm_logger_inventory" | "llm_logger_manager" | "llm_proxy_user" | "llm_quota_manager" | "usage_reporter" | "billing_manager" | "group_manager";
|
|
2
|
+
export type ProjectRole = "member" | "admin" | "developer" | "room_creator" | "room_inventory" | "room_manager" | "session_inventory" | "agent_creator" | "agent_inventory" | "agent_manager" | "repository_creator" | "repository_inventory" | "repository_manager" | "feed_creator" | "feed_inventory" | "feed_manager" | "oauth_client_creator" | "oauth_client_inventory" | "oauth_client_manager" | "api_key_creator" | "api_key_inventory" | "api_key_manager" | "service_creator" | "service_inventory" | "service_manager" | "service_account_creator" | "service_account_inventory" | "service_account_manager" | "participant_token_creator" | "mailbox_creator" | "mailbox_inventory" | "mailbox_manager" | "route_creator" | "route_inventory" | "route_manager" | "scheduled_task_creator" | "scheduled_task_inventory" | "scheduled_task_manager" | "feed_subscription_creator" | "feed_subscription_inventory" | "feed_subscription_manager" | "llm_logger_creator" | "llm_logger_inventory" | "llm_logger_manager" | "llm_proxy_user" | "llm_quota_manager" | "usage_reporter" | "billing_manager" | "group_manager" | "user_profile_editor";
|
|
3
3
|
export type ResourceRole = "viewer" | "operator" | "developer" | "admin";
|
|
4
4
|
export type RoomRole = "site_user" | "guest" | ResourceRole;
|
|
5
5
|
export type ProjectSettingsDocumentName = "openai" | "anthropic" | "otel" | "admission" | "room" | "room_roles" | "router";
|
|
@@ -131,6 +131,8 @@ export interface ProjectMember {
|
|
|
131
131
|
email: string;
|
|
132
132
|
firstName?: string | null;
|
|
133
133
|
lastName?: string | null;
|
|
134
|
+
metadata?: Record<string, unknown>;
|
|
135
|
+
annotations?: Record<string, string>;
|
|
134
136
|
directRoles: ProjectRole[];
|
|
135
137
|
}
|
|
136
138
|
export interface ProjectMembersPage {
|
|
@@ -660,7 +662,11 @@ export declare class Meshagent {
|
|
|
660
662
|
}): Promise<ProjectMembersPage>;
|
|
661
663
|
getUsersInProject(projectId: string): Promise<ProjectMember[]>;
|
|
662
664
|
getUserProfile(userId: string): Promise<Record<string, unknown>>;
|
|
663
|
-
updateUserProfile(userId: string, firstName
|
|
665
|
+
updateUserProfile(userId: string, firstName?: string, lastName?: string, options?: {
|
|
666
|
+
metadata?: Record<string, unknown>;
|
|
667
|
+
annotations?: Record<string, string>;
|
|
668
|
+
projectId?: string;
|
|
669
|
+
}): Promise<Record<string, unknown>>;
|
|
664
670
|
listProjects(): Promise<Record<string, unknown>>;
|
|
665
671
|
getProject(projectId: string): Promise<Record<string, unknown>>;
|
|
666
672
|
getProjectByKey(projectKey: string): Promise<Record<string, unknown>>;
|
|
@@ -697,7 +697,8 @@ class Meshagent {
|
|
|
697
697
|
item === "llm_proxy_user" ||
|
|
698
698
|
item === "usage_reporter" ||
|
|
699
699
|
item === "billing_manager" ||
|
|
700
|
-
item === "group_manager"
|
|
700
|
+
item === "group_manager" ||
|
|
701
|
+
item === "user_profile_editor")
|
|
701
702
|
: [];
|
|
702
703
|
const id = typeof user.id === "string" ? user.id : "";
|
|
703
704
|
const email = typeof user.email === "string" ? user.email : "";
|
|
@@ -706,6 +707,8 @@ class Meshagent {
|
|
|
706
707
|
email,
|
|
707
708
|
firstName: typeof user.first_name === "string" ? user.first_name : null,
|
|
708
709
|
lastName: typeof user.last_name === "string" ? user.last_name : null,
|
|
710
|
+
metadata: user.metadata && typeof user.metadata === "object" ? user.metadata : {},
|
|
711
|
+
annotations: user.annotations && typeof user.annotations === "object" ? user.annotations : {},
|
|
709
712
|
directRoles,
|
|
710
713
|
};
|
|
711
714
|
}
|
|
@@ -779,6 +782,7 @@ class Meshagent {
|
|
|
779
782
|
item === "usage_reporter" ||
|
|
780
783
|
item === "billing_manager" ||
|
|
781
784
|
item === "group_manager" ||
|
|
785
|
+
item === "user_profile_editor" ||
|
|
782
786
|
item === "reader" ||
|
|
783
787
|
item === "subscriber" ||
|
|
784
788
|
item === "publisher" ||
|
|
@@ -1014,10 +1018,16 @@ class Meshagent {
|
|
|
1014
1018
|
action: "fetch user profile",
|
|
1015
1019
|
});
|
|
1016
1020
|
}
|
|
1017
|
-
async updateUserProfile(userId, firstName, lastName) {
|
|
1018
|
-
|
|
1021
|
+
async updateUserProfile(userId, firstName, lastName, options = {}) {
|
|
1022
|
+
const query = options.projectId === undefined ? "" : `?project_id=${encodeURIComponent(options.projectId)}`;
|
|
1023
|
+
return await this.request(`/accounts/profiles/${encodeURIComponent(userId)}${query}`, {
|
|
1019
1024
|
method: "PUT",
|
|
1020
|
-
json: {
|
|
1025
|
+
json: {
|
|
1026
|
+
...(firstName !== undefined ? { first_name: firstName } : {}),
|
|
1027
|
+
...(lastName !== undefined ? { last_name: lastName } : {}),
|
|
1028
|
+
...(options.metadata !== undefined ? { metadata: options.metadata } : {}),
|
|
1029
|
+
...(options.annotations !== undefined ? { annotations: options.annotations } : {}),
|
|
1030
|
+
},
|
|
1021
1031
|
action: "update user profile",
|
|
1022
1032
|
});
|
|
1023
1033
|
}
|