@xpert-ai/xpert-sdk 0.21.0 → 0.22.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/dist/artifact-presentation-types.d.ts +43 -0
- package/dist/artifact-presentation-types.js +2 -0
- package/dist/artifact-presentation-types.js.map +1 -0
- package/dist/artifact-presentation-types.mjs +2 -0
- package/dist/artifact-presentation-types.mjs.map +1 -0
- package/dist/group-artifact-types.d.ts +95 -0
- package/dist/group-artifact-types.js +2 -0
- package/dist/group-artifact-types.js.map +1 -0
- package/dist/group-artifact-types.mjs +2 -0
- package/dist/group-artifact-types.mjs.map +1 -0
- package/dist/group-artifacts.d.ts +42 -0
- package/dist/group-artifacts.js +43 -0
- package/dist/group-artifacts.js.map +1 -0
- package/dist/group-artifacts.mjs +43 -0
- package/dist/group-artifacts.mjs.map +1 -0
- package/dist/group-types.d.ts +38 -0
- package/dist/groups.d.ts +3 -0
- package/dist/groups.js +27 -0
- package/dist/groups.js.map +1 -1
- package/dist/groups.mjs +27 -0
- package/dist/groups.mjs.map +1 -1
- package/dist/index.d.ts +24 -20
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/resource-analysis-types.d.ts +40 -0
- package/dist/resource-analysis-types.js +2 -0
- package/dist/resource-analysis-types.js.map +1 -0
- package/dist/resource-analysis-types.mjs +2 -0
- package/dist/resource-analysis-types.mjs.map +1 -0
- package/dist/tests/group-artifacts.test.d.ts +1 -0
- package/dist/tests/group-artifacts.test.js +38 -0
- package/dist/tests/group-artifacts.test.js.map +1 -0
- package/dist/tests/group-artifacts.test.mjs +38 -0
- package/dist/tests/group-artifacts.test.mjs.map +1 -0
- package/dist/tests/groups.test.js +24 -1
- package/dist/tests/groups.test.js.map +1 -1
- package/dist/tests/groups.test.mjs +24 -1
- package/dist/tests/groups.test.mjs.map +1 -1
- package/dist/tests/workbench-open.test.js +14 -0
- package/dist/tests/workbench-open.test.js.map +1 -1
- package/dist/tests/workbench-open.test.mjs +14 -0
- package/dist/tests/workbench-open.test.mjs.map +1 -1
- package/dist/workbench-open.d.ts +16 -1
- package/dist/workbench-open.js +16 -1
- package/dist/workbench-open.js.map +1 -1
- package/dist/workbench-open.mjs +16 -1
- package/dist/workbench-open.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport-independent viewer envelope for one immutable published Artifact version.
|
|
3
|
+
* The supplying transport reauthorizes reads/queries; this payload is not a credential.
|
|
4
|
+
* Render the provider entry in an isolated viewer, never as trusted host application HTML.
|
|
5
|
+
*/
|
|
6
|
+
export interface ArtifactPresentation {
|
|
7
|
+
/** Envelope protocol version; independent of the published content's versionNumber. */
|
|
8
|
+
schemaVersion: 1;
|
|
9
|
+
/** Exact source Artifact/version pair. Never replace versionId with a latest-version lookup. */
|
|
10
|
+
target: {
|
|
11
|
+
artifactId: string;
|
|
12
|
+
versionId: string;
|
|
13
|
+
};
|
|
14
|
+
/** Display text only; not a resource identity or type discriminator. */
|
|
15
|
+
title: string;
|
|
16
|
+
/** Human-readable release sequence; target.versionId identifies the actual version. */
|
|
17
|
+
versionNumber: number;
|
|
18
|
+
/** Source editing is unavailable; authorized read-only interactions may still be exposed. */
|
|
19
|
+
readOnly: true;
|
|
20
|
+
/** Provider-supplied viewer document, subject to the host's sandbox and CSP. */
|
|
21
|
+
entry: {
|
|
22
|
+
html: string;
|
|
23
|
+
};
|
|
24
|
+
/** Client-safe provider state. The domain renderer validates it; generic hosts treat it as opaque. */
|
|
25
|
+
data: object;
|
|
26
|
+
/** Allowed read-only operation names; not Agent tools or a grant of upstream data access. */
|
|
27
|
+
operations: string[];
|
|
28
|
+
/** Optional ISO 8601 access deadline. Absence does not waive live authorization checks. */
|
|
29
|
+
expiresAt?: string | null;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Read-only viewer operation executed through the transport that supplied the presentation.
|
|
33
|
+
* The server checks the pinned target, operation allowlist and current caller's data permissions.
|
|
34
|
+
* This is not a request for the Agent's conversational resource_query tool.
|
|
35
|
+
*/
|
|
36
|
+
export interface ArtifactPresentationQuery {
|
|
37
|
+
/** Copy from the current authorized presentation, without changing its pinned version. */
|
|
38
|
+
target: ArtifactPresentation['target'];
|
|
39
|
+
/** Must be declared in that presentation's operations list. */
|
|
40
|
+
operation: string;
|
|
41
|
+
/** Domain-specific request body, validated by the provider; carries no identity overrides. */
|
|
42
|
+
input: object;
|
|
43
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-presentation-types.js","sourceRoot":"","sources":["../src/artifact-presentation-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-presentation-types.mjs","sourceRoot":"","sources":["../src/artifact-presentation-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { ArtifactPresentation, ArtifactPresentationQuery } from './artifact-presentation-types.js';
|
|
2
|
+
import type { ResourceAnalysisPolicy } from './resource-analysis-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Client-safe grant metadata for fixed published content and one receiving group/Project.
|
|
5
|
+
* Contains no credentials or source file access. Status and expiry are display hints;
|
|
6
|
+
* every operation must still be authorized by the server.
|
|
7
|
+
*/
|
|
8
|
+
export interface GroupArtifactGrant {
|
|
9
|
+
/** Grant identity, distinct from the reference created when the owner accepts it. */
|
|
10
|
+
id: string;
|
|
11
|
+
/** Original Artifact in the authoring Project; no copy is created in the group Project. */
|
|
12
|
+
artifactId: string;
|
|
13
|
+
/** Pinned published version ID, unrelated to a draft revision. */
|
|
14
|
+
versionId: string;
|
|
15
|
+
/** Project retaining source ownership and authoring permissions. */
|
|
16
|
+
ownerProjectId: string;
|
|
17
|
+
/** Receiving group's Project captured when the grant was offered. */
|
|
18
|
+
targetProjectId: string;
|
|
19
|
+
/** Receiving audience; another group in the same Project has no implied access. */
|
|
20
|
+
targetGroupId: string;
|
|
21
|
+
/** Read-only use of the resource, without automatic upstream data access. */
|
|
22
|
+
permission: 'read';
|
|
23
|
+
/** Proposed scope on an offer, accepted scope when active; absent/null means view-only. */
|
|
24
|
+
analysis?: ResourceAnalysisPolicy | null;
|
|
25
|
+
/** Lifecycle state; expiry or changed membership can also make a grant unusable. */
|
|
26
|
+
status: 'offered' | 'active' | 'revoked' | 'removed';
|
|
27
|
+
/** Grant concurrency token for acceptance; do not substitute a reference revision. */
|
|
28
|
+
revision: number;
|
|
29
|
+
/** ISO 8601 access deadline serialized by the host. */
|
|
30
|
+
expiresAt: string;
|
|
31
|
+
/** Display label, not an identity or permission discriminator. */
|
|
32
|
+
title: string;
|
|
33
|
+
/** Display sequence; versionId identifies the published version. */
|
|
34
|
+
versionNumber: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Accepted placement of a source Artifact's fixed version in one group's runtime Project.
|
|
38
|
+
* Keep ownerProjectId and runtimeProjectId separate; opening never switches to the source Project.
|
|
39
|
+
* The placement grants neither source membership nor access to other groups' references.
|
|
40
|
+
*/
|
|
41
|
+
export interface GroupArtifactReference {
|
|
42
|
+
/** Reference ID used for group read, query, remove and navigation operations. */
|
|
43
|
+
id: string;
|
|
44
|
+
/** Backing authorization, whose live status is checked on each operation. */
|
|
45
|
+
grantId: string;
|
|
46
|
+
/** Source Artifact identity, not a copied group Artifact. */
|
|
47
|
+
artifactId: string;
|
|
48
|
+
/** Fixed published version ID; source publication never silently advances this reference. */
|
|
49
|
+
versionId: string;
|
|
50
|
+
/** Project retaining authoring authority. */
|
|
51
|
+
ownerProjectId: string;
|
|
52
|
+
/** Receiving Project, which must still match the group's current binding. */
|
|
53
|
+
runtimeProjectId: string;
|
|
54
|
+
/** Group audience owning this placement. */
|
|
55
|
+
groupId: string;
|
|
56
|
+
/** Stored display title; never resolve resource identity from it. */
|
|
57
|
+
title: string;
|
|
58
|
+
/** Reference concurrency token for removal, independent of the grant revision. */
|
|
59
|
+
revision: number;
|
|
60
|
+
/** Human-readable release sequence; use versionId for identity. */
|
|
61
|
+
versionNumber: number;
|
|
62
|
+
/** Backing grant's ISO 8601 deadline; a cached reference can still be revoked earlier. */
|
|
63
|
+
expiresAt: string;
|
|
64
|
+
/** No source editing through this placement; permitted analysis is described separately. */
|
|
65
|
+
readOnly: true;
|
|
66
|
+
/** Effective analysis scope explicitly accepted by the owner; absent/null is view-only. */
|
|
67
|
+
analysis?: ResourceAnalysisPolicy | null;
|
|
68
|
+
/** Authenticated library-view URL, not a public share link or authorization bypass. */
|
|
69
|
+
url: string;
|
|
70
|
+
}
|
|
71
|
+
/** Compatibility name for presentations obtained through the group API. */
|
|
72
|
+
export type GroupArtifactPresentation = ArtifactPresentation;
|
|
73
|
+
/** Authorized viewer payload and revalidated placement for subsequent group-scoped requests. */
|
|
74
|
+
export interface GroupArtifactView {
|
|
75
|
+
/** Placement reauthorized when this view was read; later operations must recheck access. */
|
|
76
|
+
reference: GroupArtifactReference;
|
|
77
|
+
/** Placement display title. */
|
|
78
|
+
title: string;
|
|
79
|
+
/** Placement revision, not a published version number or grant revision. */
|
|
80
|
+
revision: number;
|
|
81
|
+
/** Explicit content discriminator; render through the generic isolated presentation host. */
|
|
82
|
+
content: {
|
|
83
|
+
kind: 'presentation';
|
|
84
|
+
presentation: ArtifactPresentation;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/** Compatibility name for queries sent through the group API. */
|
|
88
|
+
export type GroupArtifactQuery = ArtifactPresentationQuery;
|
|
89
|
+
/** Server-paginated offers or references after audience/access filtering. */
|
|
90
|
+
export interface GroupArtifactPage<T> {
|
|
91
|
+
/** Visible items in this page; an empty page alone does not imply pagination is complete. */
|
|
92
|
+
items: T[];
|
|
93
|
+
/** Pass as the next offset; null means no further page. Do not derive it from items.length. */
|
|
94
|
+
nextOffset: number | null;
|
|
95
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-artifact-types.js","sourceRoot":"","sources":["../src/group-artifact-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-artifact-types.mjs","sourceRoot":"","sources":["../src/group-artifact-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { GroupTransport, GroupRequestOptions } from './groups.js';
|
|
2
|
+
import type { GroupArtifactGrant, GroupArtifactPage, GroupArtifactReference, GroupArtifactView, GroupArtifactQuery } from './group-artifact-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Receiving-group API exposed as client.groups.artifacts, using its existing auth/refresh transport.
|
|
5
|
+
* The server enforces owner-only acceptance/removal and live access on every read/query.
|
|
6
|
+
* Source-side offering and revocation require the separate authenticated authoring host.
|
|
7
|
+
*/
|
|
8
|
+
export declare class GroupArtifactsClient {
|
|
9
|
+
private readonly transport;
|
|
10
|
+
constructor(transport: GroupTransport);
|
|
11
|
+
private path;
|
|
12
|
+
/** List pending offers for owner review; an offer is not yet an accepted resource. */
|
|
13
|
+
offers(groupId: string, page?: {
|
|
14
|
+
offset?: number;
|
|
15
|
+
limit?: number;
|
|
16
|
+
}, options?: GroupRequestOptions): Promise<GroupArtifactPage<GroupArtifactGrant>>;
|
|
17
|
+
/** List accessible, accepted references for this group and its current Project. */
|
|
18
|
+
list(groupId: string, page?: {
|
|
19
|
+
offset?: number;
|
|
20
|
+
limit?: number;
|
|
21
|
+
}, options?: GroupRequestOptions): Promise<GroupArtifactPage<GroupArtifactReference>>;
|
|
22
|
+
/** Accept an offer as group owner, creating a fixed-version reference without changing ownership. */
|
|
23
|
+
accept(groupId: string, input: {
|
|
24
|
+
/** Identity returned by offers(), not an Artifact or reference ID. */
|
|
25
|
+
grantId: string;
|
|
26
|
+
/** Grant revision observed by the owner; stale acceptance must not overwrite newer consent. */
|
|
27
|
+
expectedRevision: number;
|
|
28
|
+
/** Explicitly accept the offered analysis scope. Omitted/false accepts viewing only. */
|
|
29
|
+
acceptAnalysis?: boolean;
|
|
30
|
+
}, options?: GroupRequestOptions): Promise<GroupArtifactReference>;
|
|
31
|
+
/** Reauthorize a reference and load its published presentation; this does not open a UI itself. */
|
|
32
|
+
read(groupId: string, referenceId: string, options?: GroupRequestOptions): Promise<GroupArtifactView>;
|
|
33
|
+
/** Execute an allowed viewer operation under the current caller; not the Agent analysis API. */
|
|
34
|
+
query(groupId: string, referenceId: string, input: GroupArtifactQuery, options?: GroupRequestOptions): Promise<object>;
|
|
35
|
+
/** Remove this group's placement as owner. Source content remains; reattachment needs a new grant. */
|
|
36
|
+
remove(groupId: string, referenceId: string, input: {
|
|
37
|
+
/** Reference revision returned by list/read, not the backing grant's revision. */
|
|
38
|
+
expectedRevision: number;
|
|
39
|
+
}, options?: GroupRequestOptions): Promise<{
|
|
40
|
+
removed: boolean;
|
|
41
|
+
}>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Receiving-group API exposed as client.groups.artifacts, using its existing auth/refresh transport.
|
|
3
|
+
* The server enforces owner-only acceptance/removal and live access on every read/query.
|
|
4
|
+
* Source-side offering and revocation require the separate authenticated authoring host.
|
|
5
|
+
*/
|
|
6
|
+
export class GroupArtifactsClient {
|
|
7
|
+
transport;
|
|
8
|
+
constructor(transport) {
|
|
9
|
+
this.transport = transport;
|
|
10
|
+
}
|
|
11
|
+
path(groupId, suffix) {
|
|
12
|
+
return `/groups/${encodeURIComponent(groupId)}/artifacts/${suffix}`;
|
|
13
|
+
}
|
|
14
|
+
/** List pending offers for owner review; an offer is not yet an accepted resource. */
|
|
15
|
+
offers(groupId, page = {}, options) {
|
|
16
|
+
return this.transport.json(this.path(groupId, 'offers'), { ...options, params: page });
|
|
17
|
+
}
|
|
18
|
+
/** List accessible, accepted references for this group and its current Project. */
|
|
19
|
+
list(groupId, page = {}, options) {
|
|
20
|
+
return this.transport.json(this.path(groupId, 'references'), { ...options, params: page });
|
|
21
|
+
}
|
|
22
|
+
/** Accept an offer as group owner, creating a fixed-version reference without changing ownership. */
|
|
23
|
+
accept(groupId, input, options) {
|
|
24
|
+
return this.transport.json(this.path(groupId, 'references'), {
|
|
25
|
+
...options,
|
|
26
|
+
method: 'POST',
|
|
27
|
+
json: input,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/** Reauthorize a reference and load its published presentation; this does not open a UI itself. */
|
|
31
|
+
read(groupId, referenceId, options) {
|
|
32
|
+
return this.transport.json(this.path(groupId, `references/${encodeURIComponent(referenceId)}`), options);
|
|
33
|
+
}
|
|
34
|
+
/** Execute an allowed viewer operation under the current caller; not the Agent analysis API. */
|
|
35
|
+
query(groupId, referenceId, input, options) {
|
|
36
|
+
return this.transport.json(this.path(groupId, `references/${encodeURIComponent(referenceId)}/query`), { ...options, method: 'POST', json: input });
|
|
37
|
+
}
|
|
38
|
+
/** Remove this group's placement as owner. Source content remains; reattachment needs a new grant. */
|
|
39
|
+
remove(groupId, referenceId, input, options) {
|
|
40
|
+
return this.transport.json(this.path(groupId, `references/${encodeURIComponent(referenceId)}/remove`), { ...options, method: 'POST', json: input });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=group-artifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-artifacts.js","sourceRoot":"","sources":["../src/group-artifacts.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,SAAyB;QAAzB,cAAS,GAAT,SAAS,CAAgB;IAAG,CAAC;IAClD,IAAI,CAAC,OAAe,EAAE,MAAc;QAC1C,OAAO,WAAW,kBAAkB,CAAC,OAAO,CAAC,cAAc,MAAM,EAAE,CAAC;IACtE,CAAC;IACD,sFAAsF;IACtF,MAAM,CACJ,OAAe,EACf,OAA4C,EAAE,EAC9C,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,mFAAmF;IACnF,IAAI,CACF,OAAe,EACf,OAA4C,EAAE,EAC9C,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,qGAAqG;IACrG,MAAM,CACJ,OAAe,EACf,KAOC,EACD,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;YAC3D,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IACD,mGAAmG;IACnG,IAAI,CACF,OAAe,EACf,WAAmB,EACnB,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,EACnE,OAAO,CACR,CAAC;IACJ,CAAC;IACD,gGAAgG;IAChG,KAAK,CACH,OAAe,EACf,WAAmB,EACnB,KAAyB,EACzB,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,EACzE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAC5C,CAAC;IACJ,CAAC;IACD,sGAAsG;IACtG,MAAM,CACJ,OAAe,EACf,WAAmB,EACnB,KAGC,EACD,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,EAC1E,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAC5C,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Receiving-group API exposed as client.groups.artifacts, using its existing auth/refresh transport.
|
|
3
|
+
* The server enforces owner-only acceptance/removal and live access on every read/query.
|
|
4
|
+
* Source-side offering and revocation require the separate authenticated authoring host.
|
|
5
|
+
*/
|
|
6
|
+
export class GroupArtifactsClient {
|
|
7
|
+
transport;
|
|
8
|
+
constructor(transport) {
|
|
9
|
+
this.transport = transport;
|
|
10
|
+
}
|
|
11
|
+
path(groupId, suffix) {
|
|
12
|
+
return `/groups/${encodeURIComponent(groupId)}/artifacts/${suffix}`;
|
|
13
|
+
}
|
|
14
|
+
/** List pending offers for owner review; an offer is not yet an accepted resource. */
|
|
15
|
+
offers(groupId, page = {}, options) {
|
|
16
|
+
return this.transport.json(this.path(groupId, 'offers'), { ...options, params: page });
|
|
17
|
+
}
|
|
18
|
+
/** List accessible, accepted references for this group and its current Project. */
|
|
19
|
+
list(groupId, page = {}, options) {
|
|
20
|
+
return this.transport.json(this.path(groupId, 'references'), { ...options, params: page });
|
|
21
|
+
}
|
|
22
|
+
/** Accept an offer as group owner, creating a fixed-version reference without changing ownership. */
|
|
23
|
+
accept(groupId, input, options) {
|
|
24
|
+
return this.transport.json(this.path(groupId, 'references'), {
|
|
25
|
+
...options,
|
|
26
|
+
method: 'POST',
|
|
27
|
+
json: input,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/** Reauthorize a reference and load its published presentation; this does not open a UI itself. */
|
|
31
|
+
read(groupId, referenceId, options) {
|
|
32
|
+
return this.transport.json(this.path(groupId, `references/${encodeURIComponent(referenceId)}`), options);
|
|
33
|
+
}
|
|
34
|
+
/** Execute an allowed viewer operation under the current caller; not the Agent analysis API. */
|
|
35
|
+
query(groupId, referenceId, input, options) {
|
|
36
|
+
return this.transport.json(this.path(groupId, `references/${encodeURIComponent(referenceId)}/query`), { ...options, method: 'POST', json: input });
|
|
37
|
+
}
|
|
38
|
+
/** Remove this group's placement as owner. Source content remains; reattachment needs a new grant. */
|
|
39
|
+
remove(groupId, referenceId, input, options) {
|
|
40
|
+
return this.transport.json(this.path(groupId, `references/${encodeURIComponent(referenceId)}/remove`), { ...options, method: 'POST', json: input });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=group-artifacts.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-artifacts.mjs","sourceRoot":"","sources":["../src/group-artifacts.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,SAAyB;QAAzB,cAAS,GAAT,SAAS,CAAgB;IAAG,CAAC;IAClD,IAAI,CAAC,OAAe,EAAE,MAAc;QAC1C,OAAO,WAAW,kBAAkB,CAAC,OAAO,CAAC,cAAc,MAAM,EAAE,CAAC;IACtE,CAAC;IACD,sFAAsF;IACtF,MAAM,CACJ,OAAe,EACf,OAA4C,EAAE,EAC9C,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,mFAAmF;IACnF,IAAI,CACF,OAAe,EACf,OAA4C,EAAE,EAC9C,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,qGAAqG;IACrG,MAAM,CACJ,OAAe,EACf,KAOC,EACD,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;YAC3D,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IACD,mGAAmG;IACnG,IAAI,CACF,OAAe,EACf,WAAmB,EACnB,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,EACnE,OAAO,CACR,CAAC;IACJ,CAAC;IACD,gGAAgG;IAChG,KAAK,CACH,OAAe,EACf,WAAmB,EACnB,KAAyB,EACzB,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,EACzE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAC5C,CAAC;IACJ,CAAC;IACD,sGAAsG;IACtG,MAAM,CACJ,OAAe,EACf,WAAmB,EACnB,KAGC,EACD,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,EAC1E,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAC5C,CAAC;IACJ,CAAC;CACF"}
|
package/dist/group-types.d.ts
CHANGED
|
@@ -40,7 +40,42 @@ export interface ChatGroupComposerInput {
|
|
|
40
40
|
runtimeResources?: RuntimeResourcesSelection;
|
|
41
41
|
runtimeCapabilities?: RuntimeCapabilitiesSelection;
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Server-authored clickable entry persisted in message history, not an open-on-load instruction.
|
|
45
|
+
* Clicking must reauthorize the reference through the current group's transport.
|
|
46
|
+
*/
|
|
47
|
+
export interface ChatGroupResourceLink {
|
|
48
|
+
/** Accepted reference ID, not a source Artifact ID or public share token. */
|
|
49
|
+
referenceId: string;
|
|
50
|
+
/** Receiving group's runtime Project; never switch to the source authoring Project. */
|
|
51
|
+
projectId: string;
|
|
52
|
+
/** Display label only; do not infer identity or resource type from it. */
|
|
53
|
+
title: string;
|
|
54
|
+
}
|
|
55
|
+
/** Live, requester-addressed navigation event; consumers match the local send and deduplicate it. */
|
|
56
|
+
export interface ChatGroupResourceOpenRequest extends ChatGroupResourceLink {
|
|
57
|
+
/** Server-generated deduplication ID; do not open the same request twice. */
|
|
58
|
+
requestId: string;
|
|
59
|
+
/** Initiating client message correlation ID, or server message ID fallback. */
|
|
60
|
+
clientMessageId: string;
|
|
61
|
+
}
|
|
43
62
|
export interface ChatGroupCommunication {
|
|
63
|
+
/** Inert resource entries, including during history playback; these alone never auto-open. */
|
|
64
|
+
resourceLinks?: ChatGroupResourceLink[];
|
|
65
|
+
/**
|
|
66
|
+
* Server-authored routing metadata used to derive a fresh, audience-scoped resource_open event.
|
|
67
|
+
* Renderers must not treat replayed communication metadata as a new navigation request.
|
|
68
|
+
*/
|
|
69
|
+
resourceNavigation?: {
|
|
70
|
+
/** Navigation deduplication ID propagated to ChatGroupResourceOpenRequest. */
|
|
71
|
+
requestId: string;
|
|
72
|
+
/** Server emission time in Unix epoch milliseconds for freshness checks. */
|
|
73
|
+
issuedAt: number;
|
|
74
|
+
/** Initiating client message ID, with server message ID as fallback. */
|
|
75
|
+
clientMessageId: string;
|
|
76
|
+
/** Intended viewer's group membership ID, not an account or Assistant ID. */
|
|
77
|
+
participantId: string;
|
|
78
|
+
};
|
|
44
79
|
/** Host-owned task context, unavailable in group send inputs. */
|
|
45
80
|
projectTask?: {
|
|
46
81
|
invocationId: string;
|
|
@@ -153,6 +188,9 @@ export interface ChatGroupRun {
|
|
|
153
188
|
status: 'busy' | 'pausing' | 'paused' | 'interrupted' | 'idle' | 'error';
|
|
154
189
|
}
|
|
155
190
|
export type ChatGroupEvent = {
|
|
191
|
+
type: 'resource_open';
|
|
192
|
+
request: ChatGroupResourceOpenRequest;
|
|
193
|
+
} | {
|
|
156
194
|
type: 'snapshot';
|
|
157
195
|
snapshot: ChatGroupSnapshot;
|
|
158
196
|
} | {
|
package/dist/groups.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GroupArtifactsClient } from './group-artifacts.js';
|
|
1
2
|
import type { ChatGroupProject, ChatGroupProjectInput, ChatGroupCandidate, ChatGroupWorkbenchContext, ChatGroupInteractionClaim, ChatGroupRuntimeView, ChatGroupCreateInput, ChatGroupEvent, ChatGroupMemberInput, ChatGroupMessage, ChatGroupParticipant, ChatGroupSendInput, ChatGroupSnapshot, ChatGroupSummary } from './group-types.js';
|
|
2
3
|
export interface GroupRequestOptions {
|
|
3
4
|
signal?: AbortSignal;
|
|
@@ -22,6 +23,8 @@ export interface GroupTransport {
|
|
|
22
23
|
*/
|
|
23
24
|
export declare class GroupsClient {
|
|
24
25
|
private readonly transport;
|
|
26
|
+
/** Group-scoped published references; source grant management is intentionally a separate API. */
|
|
27
|
+
readonly artifacts: GroupArtifactsClient;
|
|
25
28
|
constructor(transport: GroupTransport);
|
|
26
29
|
project(groupId: string, options?: GroupRequestOptions): Promise<ChatGroupProject | null>;
|
|
27
30
|
/** A caller-generated project id makes creation retries reuse the same Project. */
|
package/dist/groups.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GroupArtifactsClient } from "./group-artifacts.js";
|
|
1
2
|
/**
|
|
2
3
|
* Group APIs reuse the client's configured ChatKit authentication/refresh hooks.
|
|
3
4
|
* The authenticated host mints conversation-scoped credentials through
|
|
@@ -5,8 +6,11 @@
|
|
|
5
6
|
*/
|
|
6
7
|
export class GroupsClient {
|
|
7
8
|
transport;
|
|
9
|
+
/** Group-scoped published references; source grant management is intentionally a separate API. */
|
|
10
|
+
artifacts;
|
|
8
11
|
constructor(transport) {
|
|
9
12
|
this.transport = transport;
|
|
13
|
+
this.artifacts = new GroupArtifactsClient(transport);
|
|
10
14
|
}
|
|
11
15
|
project(groupId, options) {
|
|
12
16
|
return this.transport.json(`/groups/${encodeURIComponent(groupId)}/project`, options);
|
|
@@ -92,6 +96,8 @@ export class GroupsClient {
|
|
|
92
96
|
}
|
|
93
97
|
async *stream(groupId, options) {
|
|
94
98
|
for await (const item of this.transport.stream(`/groups/${encodeURIComponent(groupId)}/stream`, options)) {
|
|
99
|
+
if (item.event === 'error')
|
|
100
|
+
throw new Error('Group stream failed');
|
|
95
101
|
if (item.event !== 'group')
|
|
96
102
|
continue;
|
|
97
103
|
if (!isGroupEvent(item.data))
|
|
@@ -108,6 +114,27 @@ export function isGroupEvent(value) {
|
|
|
108
114
|
return false;
|
|
109
115
|
if (value.type === 'resync')
|
|
110
116
|
return true;
|
|
117
|
+
if (value.type === 'resource_open') {
|
|
118
|
+
if (!('request' in value) || !value.request || typeof value.request !== 'object')
|
|
119
|
+
return false;
|
|
120
|
+
const r = value.request;
|
|
121
|
+
const uuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
122
|
+
return ('requestId' in r &&
|
|
123
|
+
typeof r.requestId === 'string' &&
|
|
124
|
+
uuid.test(r.requestId) &&
|
|
125
|
+
'clientMessageId' in r &&
|
|
126
|
+
typeof r.clientMessageId === 'string' &&
|
|
127
|
+
uuid.test(r.clientMessageId) &&
|
|
128
|
+
'referenceId' in r &&
|
|
129
|
+
typeof r.referenceId === 'string' &&
|
|
130
|
+
uuid.test(r.referenceId) &&
|
|
131
|
+
'projectId' in r &&
|
|
132
|
+
typeof r.projectId === 'string' &&
|
|
133
|
+
uuid.test(r.projectId) &&
|
|
134
|
+
'title' in r &&
|
|
135
|
+
typeof r.title === 'string' &&
|
|
136
|
+
r.title.length <= 200);
|
|
137
|
+
}
|
|
111
138
|
if (value.type === 'text')
|
|
112
139
|
return ('participantId' in value &&
|
|
113
140
|
typeof value.participantId === 'string' &&
|
package/dist/groups.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groups.js","sourceRoot":"","sources":["../src/groups.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"groups.js","sourceRoot":"","sources":["../src/groups.ts"],"names":[],"mappings":"OAAO,EAAE,oBAAoB,EAAE;AAgC/B;;;;GAIG;AACH,MAAM,OAAO,YAAY;IAGM;IAF7B,kGAAkG;IACzF,SAAS,CAAuB;IACzC,YAA6B,SAAyB;QAAzB,cAAS,GAAT,SAAS,CAAgB;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,OAAe,EAAE,OAA6B;QACpD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;IACD,mFAAmF;IACnF,UAAU,CACR,OAAe,EACf,KAA4B,EAC5B,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3E,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IACD,gBAAgB,CACd,OAAe,EACf,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,CAAC,OAA6B;QAChC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IACD,8FAA8F;IAC9F,UAAU,CACR,KAMC,EACD,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,KAAK,CAAC,OAAO;YACX,CAAC,CAAC,WAAW,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa;YAC3D,CAAC,CAAC,oBAAoB,EACxB;YACE,GAAG,OAAO;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB;SACF,CACF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,KAA2B,EAAE,OAA6B;QAC/D,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,GAAG,CACD,OAAe,EACf,OAAmE;QAEnE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;YACnE,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CACL,OAAe,EACf,SAAiB,EACjB,aAAqB,EACrB,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,WAAW,kBAAkB,CAAC,OAAO,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,YAAY,kBAAkB,CAAC,aAAa,CAAC,EAAE,EAC/H,OAAO,CACR,CAAC;IACJ,CAAC;IACD,eAAe,CACb,OAAe,EACf,aAAqB,EACrB,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,WAAW,kBAAkB,CAAC,OAAO,CAAC,YAAY,kBAAkB,CAAC,aAAa,CAAC,mBAAmB,EACtG,OAAO,CACR,CAAC;IACJ,CAAC;IACD,IAAI,CACF,OAAe,EACf,KAAyB,EACzB,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE;YAC5E,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IACD,SAAS,CACP,OAAe,EACf,KAA2B,EAC3B,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3E,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IACD,YAAY,CACV,OAAe,EACf,aAAqB,EACrB,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,WAAW,kBAAkB,CAAC,OAAO,CAAC,YAAY,kBAAkB,CAAC,aAAa,CAAC,EAAE,EACrF,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CACjC,CAAC;IACJ,CAAC;IACD,WAAW,CACT,OAAe,EACf,KAAsE,EACtE,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,cAAc,EAAE;YAC/E,GAAG,OAAO;YACV,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CACL,OAAe,EACf,aAAqB,EACrB,KAA+D,EAC/D,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,WAAW,kBAAkB,CAAC,OAAO,CAAC,YAAY,kBAAkB,CAAC,aAAa,CAAC,UAAU,EAC7F,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAC5C,CAAC;IACJ,CAAC;IACD,cAAc,CACZ,OAAe,EACf,SAAiB,EACjB,aAAqB,EACrB,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,WAAW,kBAAkB,CAAC,OAAO,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,eAAe,kBAAkB,CAAC,aAAa,CAAC,SAAS,EACzI,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAC/B,CAAC;IACJ,CAAC;IACD,gBAAgB,CACd,OAAe,EACf,aAAqB,EACrB,OAAe,EACf,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,WAAW,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,kBAAkB,CAAC,aAAa,CAAC,QAAQ,EAChG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAClD,CAAC;IACJ,CAAC;IACD,kBAAkB,CAChB,OAAe,EACf,aAAqB,EACrB,QAA8E,EAC9E,OAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,WAAW,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,kBAAkB,CAAC,aAAa,CAAC,UAAU,EAClG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAC/C,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,CAAC,MAAM,CACX,OAAe,EACf,OAAwD;QAExD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAC5C,WAAW,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAC/C,OAAO,CACR,EAAE,CAAC;YACF,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACnE,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO;gBAAE,SAAS;YACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC5E,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO;gBACpE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;CACF;AAED,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC/F,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QACxB,MAAM,IAAI,GAAG,iEAAiE,CAAC;QAC/E,OAAO,CACL,WAAW,IAAI,CAAC;YAChB,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;YAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtB,iBAAiB,IAAI,CAAC;YACtB,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ;YACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;YAC5B,aAAa,IAAI,CAAC;YAClB,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;YACjC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;YACxB,WAAW,IAAI,CAAC;YAChB,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;YAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtB,OAAO,IAAI,CAAC;YACZ,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;YAC3B,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CACtB,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QACvB,OAAO,CACL,eAAe,IAAI,KAAK;YACxB,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;YACvC,OAAO,IAAI,KAAK;YAChB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;YAC/B,WAAW,IAAI,KAAK;YACpB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YACnC,MAAM,IAAI,KAAK;YACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAC/B,CAAC;IACJ,IACE,KAAK,CAAC,IAAI,KAAK,UAAU;QACzB,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC;QACtB,CAAC,KAAK,CAAC,QAAQ;QACf,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAElC,OAAO,KAAK,CAAC;IACf,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;IACzB,IACE,cAAc,IAAI,CAAC;QACnB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CACnB,CAAC,IAAa,EAAE,EAAE,CAChB,CAAC,CAAC,IAAI;gBACN,OAAO,IAAI,KAAK,QAAQ;gBACxB,IAAI,IAAI,IAAI;gBACZ,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;gBAC3B,OAAO,IAAI,IAAI;gBACf,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;gBAC9B,eAAe,IAAI,IAAI;gBACvB,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;gBACtC,gBAAgB,IAAI,IAAI;gBACxB,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;gBACvC,QAAQ,IAAI,IAAI;gBAChB,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAC/B,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CACxE,CAAC;QAEJ,OAAO,KAAK,CAAC;IACf,OAAO,CACL,IAAI,IAAI,CAAC;QACT,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,UAAU,IAAI,CAAC;QACf,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAC9B,OAAO,IAAI,CAAC;QACZ,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAC3B,qBAAqB,IAAI,CAAC;QAC1B,OAAO,CAAC,CAAC,mBAAmB,KAAK,QAAQ;QACzC,SAAS,IAAI,CAAC;QACd,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;QAC7B,UAAU,IAAI,CAAC;QACf,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAC9B,SAAS,IAAI,CAAC;QACd,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACxB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzB,UAAU,IAAI,CAAC;QACf,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;QAC3B,SAAS,IAAI,CAAC;QACd,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS;QAC9B,MAAM,IAAI,CAAC;QACX,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,IAAI,CAAC,KAAK,CACV,CAAC,CAAU,EAAE,EAAE,CACb,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,QAAQ;YACrB,OAAO,IAAI,CAAC;YACZ,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;YAC3B,eAAe,IAAI,CAAC;YACpB,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;YACnC,QAAQ,IAAI,CAAC;YACb,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAC5B,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CACnF,CACF,CAAC;AACJ,CAAC;AACD,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,CACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,QAAQ;QACrB,IAAI,IAAI,CAAC;QACT,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,WAAW,IAAI,CAAC;QAChB,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;QAC/B,MAAM,IAAI,CAAC;QACX,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,MAAM,IAAI,CAAC;QACX,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;QAC7C,MAAM,IAAI,CAAC;QACX,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;QAC3C,QAAQ,IAAI,CAAC;QACb,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,CAC9B,CAAC;AACJ,CAAC;AACD,SAAS,SAAS,CAAC,CAAU;IAC3B,IACE,CAAC,CAAC;QACF,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC,aAAa;QAChB,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;QAEnC,OAAO,KAAK,CAAC;IACf,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC;IAC1B,OAAO,CACL,IAAI,IAAI,CAAC;QACT,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,iBAAiB,IAAI,CAAC;QACtB,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ;QACrC,UAAU,IAAI,CAAC;QACf,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAC9B,MAAM,IAAI,CAAC;QACX,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,WAAW,IAAI,CAAC;QAChB,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;QAC/B,QAAQ,IAAI,CAAC;QACb,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;QAC1E,UAAU,IAAI,CAAC;QACf,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAC9B,cAAc,IAAI,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;QAC7B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAW,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;QAC7D,eAAe,IAAI,CAAC;QACpB,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;QACnC,YAAY,IAAI,CAAC;QACjB,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;QAChC,KAAK,IAAI,CAAC;QACV,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;QACzB,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ,CAAC;QACtE,YAAY,IAAI,CAAC;QACjB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QAC3B,CAAC,CAAC,UAAU,CAAC,KAAK,CAChB,CAAC,CAAU,EAAE,EAAE,CACb,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,QAAQ;YACrB,eAAe,IAAI,CAAC;YACpB,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;YACnC,QAAQ,IAAI,CAAC;YACb,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAC5B,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CACvF,CAAC,CAAC,MAAM,CACT,CACJ,CACF,CAAC;AACJ,CAAC"}
|
package/dist/groups.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GroupArtifactsClient } from "./group-artifacts.mjs";
|
|
1
2
|
/**
|
|
2
3
|
* Group APIs reuse the client's configured ChatKit authentication/refresh hooks.
|
|
3
4
|
* The authenticated host mints conversation-scoped credentials through
|
|
@@ -5,8 +6,11 @@
|
|
|
5
6
|
*/
|
|
6
7
|
export class GroupsClient {
|
|
7
8
|
transport;
|
|
9
|
+
/** Group-scoped published references; source grant management is intentionally a separate API. */
|
|
10
|
+
artifacts;
|
|
8
11
|
constructor(transport) {
|
|
9
12
|
this.transport = transport;
|
|
13
|
+
this.artifacts = new GroupArtifactsClient(transport);
|
|
10
14
|
}
|
|
11
15
|
project(groupId, options) {
|
|
12
16
|
return this.transport.json(`/groups/${encodeURIComponent(groupId)}/project`, options);
|
|
@@ -92,6 +96,8 @@ export class GroupsClient {
|
|
|
92
96
|
}
|
|
93
97
|
async *stream(groupId, options) {
|
|
94
98
|
for await (const item of this.transport.stream(`/groups/${encodeURIComponent(groupId)}/stream`, options)) {
|
|
99
|
+
if (item.event === 'error')
|
|
100
|
+
throw new Error('Group stream failed');
|
|
95
101
|
if (item.event !== 'group')
|
|
96
102
|
continue;
|
|
97
103
|
if (!isGroupEvent(item.data))
|
|
@@ -108,6 +114,27 @@ export function isGroupEvent(value) {
|
|
|
108
114
|
return false;
|
|
109
115
|
if (value.type === 'resync')
|
|
110
116
|
return true;
|
|
117
|
+
if (value.type === 'resource_open') {
|
|
118
|
+
if (!('request' in value) || !value.request || typeof value.request !== 'object')
|
|
119
|
+
return false;
|
|
120
|
+
const r = value.request;
|
|
121
|
+
const uuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
122
|
+
return ('requestId' in r &&
|
|
123
|
+
typeof r.requestId === 'string' &&
|
|
124
|
+
uuid.test(r.requestId) &&
|
|
125
|
+
'clientMessageId' in r &&
|
|
126
|
+
typeof r.clientMessageId === 'string' &&
|
|
127
|
+
uuid.test(r.clientMessageId) &&
|
|
128
|
+
'referenceId' in r &&
|
|
129
|
+
typeof r.referenceId === 'string' &&
|
|
130
|
+
uuid.test(r.referenceId) &&
|
|
131
|
+
'projectId' in r &&
|
|
132
|
+
typeof r.projectId === 'string' &&
|
|
133
|
+
uuid.test(r.projectId) &&
|
|
134
|
+
'title' in r &&
|
|
135
|
+
typeof r.title === 'string' &&
|
|
136
|
+
r.title.length <= 200);
|
|
137
|
+
}
|
|
111
138
|
if (value.type === 'text')
|
|
112
139
|
return ('participantId' in value &&
|
|
113
140
|
typeof value.participantId === 'string' &&
|
package/dist/groups.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groups.mjs","sourceRoot":"","sources":["../src/groups.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"groups.mjs","sourceRoot":"","sources":["../src/groups.ts"],"names":[],"mappings":"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"}
|