@pantheon-systems/css-client 0.12.0 → 0.13.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/README.md +1 -1
- package/dist/auth.js +0 -25
- package/dist/auth.js.map +1 -1
- package/dist/broker.d.ts +30 -2
- package/dist/broker.d.ts.map +1 -1
- package/dist/broker.js +92 -33
- package/dist/broker.js.map +1 -1
- package/dist/client.d.ts +12 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -97
- package/dist/client.js.map +1 -1
- package/dist/content.js +0 -8
- package/dist/content.js.map +1 -1
- package/dist/endpoints/agent-edit.js +0 -66
- package/dist/endpoints/agent-edit.js.map +1 -1
- package/dist/endpoints/agent-registry.js +0 -46
- package/dist/endpoints/agent-registry.js.map +1 -1
- package/dist/endpoints/base.js +1 -56
- package/dist/endpoints/base.js.map +1 -1
- package/dist/endpoints/branches.js +0 -20
- package/dist/endpoints/branches.js.map +1 -1
- package/dist/endpoints/checkpoints.js +0 -23
- package/dist/endpoints/checkpoints.js.map +1 -1
- package/dist/endpoints/documents.js +0 -32
- package/dist/endpoints/documents.js.map +1 -1
- package/dist/endpoints/index.d.ts +2 -0
- package/dist/endpoints/index.d.ts.map +1 -1
- package/dist/endpoints/index.js +2 -7
- package/dist/endpoints/index.js.map +1 -1
- package/dist/endpoints/merge.d.ts +17 -1
- package/dist/endpoints/merge.d.ts.map +1 -1
- package/dist/endpoints/merge.js +26 -32
- package/dist/endpoints/merge.js.map +1 -1
- package/dist/endpoints/migration-conflicts.js +0 -11
- package/dist/endpoints/migration-conflicts.js.map +1 -1
- package/dist/endpoints/presence.js +0 -44
- package/dist/endpoints/presence.js.map +1 -1
- package/dist/endpoints/relations.d.ts +20 -0
- package/dist/endpoints/relations.d.ts.map +1 -0
- package/dist/endpoints/relations.js +10 -0
- package/dist/endpoints/relations.js.map +1 -0
- package/dist/endpoints/sites.js +0 -11
- package/dist/endpoints/sites.js.map +1 -1
- package/dist/endpoints/templates.js +0 -41
- package/dist/endpoints/templates.js.map +1 -1
- package/dist/endpoints/translations.d.ts +44 -0
- package/dist/endpoints/translations.d.ts.map +1 -0
- package/dist/endpoints/translations.js +39 -0
- package/dist/endpoints/translations.js.map +1 -0
- package/dist/endpoints/versions.js +0 -25
- package/dist/endpoints/versions.js.map +1 -1
- package/dist/errors.js +0 -65
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -13
- package/dist/index.js.map +1 -1
- package/dist/jwt-utils.js +0 -6
- package/dist/jwt-utils.js.map +1 -1
- package/dist/oauth.d.ts +2 -1
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +0 -27
- package/dist/oauth.js.map +1 -1
- package/dist/realtime.d.ts +21 -11
- package/dist/realtime.d.ts.map +1 -1
- package/dist/realtime.js +57 -232
- package/dist/realtime.js.map +1 -1
- package/dist/sdk-version.d.ts +1 -1
- package/dist/sdk-version.js +1 -9
- package/dist/sdk-version.js.map +1 -1
- package/dist/telemetry-headers.js +0 -28
- package/dist/telemetry-headers.js.map +1 -1
- package/dist/types.d.ts +167 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -6
- package/dist/types.js.map +1 -1
- package/dist/utils.js +0 -11
- package/dist/utils.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,28 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Versions Endpoint
|
|
3
|
-
*
|
|
4
|
-
* API operations for document versions.
|
|
5
|
-
*/
|
|
6
1
|
export class VersionsEndpoint {
|
|
7
2
|
base;
|
|
8
3
|
constructor(base) {
|
|
9
4
|
this.base = base;
|
|
10
5
|
}
|
|
11
|
-
/**
|
|
12
|
-
* Get the latest version of a document on a branch.
|
|
13
|
-
*/
|
|
14
6
|
async getLatest(siteId, branchId, documentId) {
|
|
15
7
|
return this.base.request(`/api/sites/${siteId}/branches/${branchId}/documents/${documentId}/versions/latest`, { method: 'GET' });
|
|
16
8
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Get a specific version by ID.
|
|
19
|
-
*/
|
|
20
9
|
async get(siteId, branchId, documentId, versionId) {
|
|
21
10
|
return this.base.request(`/api/sites/${siteId}/branches/${branchId}/documents/${documentId}/versions/${versionId}`, { method: 'GET' });
|
|
22
11
|
}
|
|
23
|
-
/**
|
|
24
|
-
* List all versions of a document on a branch.
|
|
25
|
-
*/
|
|
26
12
|
async list(siteId, branchId, documentId, options) {
|
|
27
13
|
const params = new URLSearchParams();
|
|
28
14
|
if (options?.limit !== undefined) {
|
|
@@ -40,9 +26,6 @@ export class VersionsEndpoint {
|
|
|
40
26
|
});
|
|
41
27
|
return response.versions;
|
|
42
28
|
}
|
|
43
|
-
/**
|
|
44
|
-
* Create a new version of a document.
|
|
45
|
-
*/
|
|
46
29
|
async create(siteId, params, options) {
|
|
47
30
|
const body = { snapshot: params.snapshot };
|
|
48
31
|
if (params.puckActions && params.puckActions.length > 0) {
|
|
@@ -54,14 +37,6 @@ export class VersionsEndpoint {
|
|
|
54
37
|
keepalive: options?.keepalive,
|
|
55
38
|
});
|
|
56
39
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Restore a previous version, promoting it to the current state of the document.
|
|
59
|
-
*
|
|
60
|
-
* The server creates a new CoW version entry referencing the same immutable
|
|
61
|
-
* snapshot data as the source version — no data round-trip required.
|
|
62
|
-
*
|
|
63
|
-
* @see https://github.com/pantheon-systems/collaborative-state-system/issues/80
|
|
64
|
-
*/
|
|
65
40
|
async restore(siteId, branchId, documentId, versionId) {
|
|
66
41
|
return this.base.request(`/api/sites/${siteId}/branches/${branchId}/documents/${documentId}/versions/${versionId}/restore`, { method: 'POST' });
|
|
67
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/endpoints/versions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/endpoints/versions.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAKnD,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,QAAgB,EAAE,UAAkB;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,cAAc,MAAM,aAAa,QAAQ,cAAc,UAAU,kBAAkB,EACnF,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,UAAkB,EAAE,SAAiB;QAC/E,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,cAAc,MAAM,aAAa,QAAQ,cAAc,UAAU,aAAa,SAAS,EAAE,EACzF,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,IAAI,CACR,MAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,OAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK;YAChB,CAAC,CAAC,cAAc,MAAM,aAAa,QAAQ,cAAc,UAAU,aAAa,KAAK,EAAE;YACvF,CAAC,CAAC,cAAc,MAAM,aAAa,QAAQ,cAAc,UAAU,WAAW,CAAC;QAEjF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAkC,IAAI,EAAE;YAC9E,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAKD,KAAK,CAAC,MAAM,CACV,MAAc,EACd,MAAmC,EACnC,OAAiC;QAEjC,MAAM,IAAI,GAA4B,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpE,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,cAAc,MAAM,aAAa,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,UAAU,WAAW,EAC1F;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,SAAS,EAAE,OAAO,EAAE,SAAS;SAC9B,CACF,CAAC;IACJ,CAAC;IAUD,KAAK,CAAC,OAAO,CACX,MAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,SAAiB;QAEjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,cAAc,MAAM,aAAa,QAAQ,cAAc,UAAU,aAAa,SAAS,UAAU,EACjG,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACJ,CAAC;CACF"}
|
package/dist/errors.js
CHANGED
|
@@ -1,21 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* P1 Client Error Classes
|
|
3
|
-
*
|
|
4
|
-
* Custom error types for API and network errors.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Base error for P1 API errors.
|
|
8
|
-
*/
|
|
9
1
|
export class P1ApiError extends Error {
|
|
10
2
|
name = 'P1ApiError';
|
|
11
3
|
status;
|
|
12
4
|
code;
|
|
13
5
|
details;
|
|
14
|
-
/**
|
|
15
|
-
* Correlation id for this request, echoed by the API. Quote it in a support request
|
|
16
|
-
* and the server-side story for exactly this call can be found. Assigned after
|
|
17
|
-
* construction so every subclass gets it without changing its constructor.
|
|
18
|
-
*/
|
|
19
6
|
requestId;
|
|
20
7
|
constructor(message, status, code, details) {
|
|
21
8
|
super(message);
|
|
@@ -25,13 +12,9 @@ export class P1ApiError extends Error {
|
|
|
25
12
|
Object.setPrototypeOf(this, P1ApiError.prototype);
|
|
26
13
|
}
|
|
27
14
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Error thrown when a network request fails.
|
|
30
|
-
*/
|
|
31
15
|
export class NetworkError extends Error {
|
|
32
16
|
name = 'NetworkError';
|
|
33
17
|
cause;
|
|
34
|
-
/** See {@link P1ApiError.requestId}. */
|
|
35
18
|
requestId;
|
|
36
19
|
constructor(message, cause) {
|
|
37
20
|
super(message);
|
|
@@ -39,27 +22,15 @@ export class NetworkError extends Error {
|
|
|
39
22
|
Object.setPrototypeOf(this, NetworkError.prototype);
|
|
40
23
|
}
|
|
41
24
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Error thrown when authentication fails.
|
|
44
|
-
*/
|
|
45
25
|
export class AuthenticationError extends Error {
|
|
46
26
|
name = 'AuthenticationError';
|
|
47
|
-
/** See {@link P1ApiError.requestId}. */
|
|
48
27
|
requestId;
|
|
49
|
-
/**
|
|
50
|
-
* HTTP status of the rejecting response. Absent when the failure was local
|
|
51
|
-
* (no token could be obtained), so callers reporting a status must treat it
|
|
52
|
-
* as optional.
|
|
53
|
-
*/
|
|
54
28
|
status;
|
|
55
29
|
constructor(message = 'Authentication failed') {
|
|
56
30
|
super(message);
|
|
57
31
|
Object.setPrototypeOf(this, AuthenticationError.prototype);
|
|
58
32
|
}
|
|
59
33
|
}
|
|
60
|
-
/**
|
|
61
|
-
* Error thrown when a resource is not found.
|
|
62
|
-
*/
|
|
63
34
|
export class NotFoundError extends P1ApiError {
|
|
64
35
|
name = 'NotFoundError';
|
|
65
36
|
constructor(resource, id) {
|
|
@@ -68,9 +39,6 @@ export class NotFoundError extends P1ApiError {
|
|
|
68
39
|
Object.setPrototypeOf(this, NotFoundError.prototype);
|
|
69
40
|
}
|
|
70
41
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Error thrown when there's a conflict (e.g., duplicate resource).
|
|
73
|
-
*/
|
|
74
42
|
export class ConflictError extends P1ApiError {
|
|
75
43
|
name = 'ConflictError';
|
|
76
44
|
constructor(message, details) {
|
|
@@ -78,9 +46,6 @@ export class ConflictError extends P1ApiError {
|
|
|
78
46
|
Object.setPrototypeOf(this, ConflictError.prototype);
|
|
79
47
|
}
|
|
80
48
|
}
|
|
81
|
-
/**
|
|
82
|
-
* Error thrown when request validation fails.
|
|
83
|
-
*/
|
|
84
49
|
export class ValidationError extends P1ApiError {
|
|
85
50
|
name = 'ValidationError';
|
|
86
51
|
constructor(message, details) {
|
|
@@ -88,40 +53,16 @@ export class ValidationError extends P1ApiError {
|
|
|
88
53
|
Object.setPrototypeOf(this, ValidationError.prototype);
|
|
89
54
|
}
|
|
90
55
|
}
|
|
91
|
-
/**
|
|
92
|
-
* Error thrown when the session has expired and cannot be refreshed.
|
|
93
|
-
* Thrown when a 401 response is received and the token refresher
|
|
94
|
-
* either returns null or a refreshed token that also results in 401.
|
|
95
|
-
*/
|
|
96
56
|
export class SessionExpiredError extends Error {
|
|
97
57
|
name = 'SessionExpiredError';
|
|
98
|
-
/** See {@link P1ApiError.requestId}. */
|
|
99
58
|
requestId;
|
|
100
59
|
constructor(message = 'Session expired — please sign in again') {
|
|
101
60
|
super(message);
|
|
102
61
|
Object.setPrototypeOf(this, SessionExpiredError.prototype);
|
|
103
62
|
}
|
|
104
63
|
}
|
|
105
|
-
/**
|
|
106
|
-
* Thrown before a request leaves the client when a value destined for a URL path
|
|
107
|
-
* segment is missing or empty.
|
|
108
|
-
*
|
|
109
|
-
* Interpolating an empty segment produces a URL the API misparses — a blank branch id
|
|
110
|
-
* collapses `/branches//templates` into `/branches/templates`, and the server reports
|
|
111
|
-
* "Branch not found: templates". Failing here names the parameter instead.
|
|
112
|
-
*
|
|
113
|
-
* The 400 is what the request would have earned, not a status the server returned: no
|
|
114
|
-
* request was sent, so there is also no `requestId` to correlate against a server-side
|
|
115
|
-
* log. It carries a status because callers act on one — retry wrappers in particular
|
|
116
|
-
* treat a status-less error as transient and would retry a missing argument that can
|
|
117
|
-
* never resolve itself.
|
|
118
|
-
*/
|
|
119
64
|
export class MissingParameterError extends P1ApiError {
|
|
120
65
|
name = 'MissingParameterError';
|
|
121
|
-
/**
|
|
122
|
-
* The offending argument's name, when the caller knew it. The URL backstop only sees an
|
|
123
|
-
* assembled path, so it leaves this unset rather than inventing a name to report.
|
|
124
|
-
*/
|
|
125
66
|
parameter;
|
|
126
67
|
constructor(parameter, context) {
|
|
127
68
|
super(parameter !== undefined
|
|
@@ -131,12 +72,6 @@ export class MissingParameterError extends P1ApiError {
|
|
|
131
72
|
Object.setPrototypeOf(this, MissingParameterError.prototype);
|
|
132
73
|
}
|
|
133
74
|
}
|
|
134
|
-
/**
|
|
135
|
-
* Stamp the correlation id onto an error and surface it in the message.
|
|
136
|
-
*
|
|
137
|
-
* The message is appended to on purpose: the id is only useful if a human sees it, and
|
|
138
|
-
* error messages are what end up in a customer's logs and support tickets.
|
|
139
|
-
*/
|
|
140
75
|
export function attachRequestId(error, requestId) {
|
|
141
76
|
if (requestId === undefined || requestId === '')
|
|
142
77
|
return error;
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,GAAG,YAAY,CAAC;IACb,MAAM,CAAS;IACf,IAAI,CAAU;IACd,OAAO,CAAW;IAM3B,SAAS,CAAU;IAE1B,YAAY,OAAe,EAAE,MAAc,EAAE,IAAa,EAAE,OAAiB;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAKD,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,GAAG,cAAc,CAAC;IACf,KAAK,CAAS;IAEvB,SAAS,CAAU;IAE1B,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;CACF;AAKD,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,IAAI,GAAG,qBAAqB,CAAC;IAE/B,SAAS,CAAU;IAMnB,MAAM,CAAU;IAEvB,YAAY,OAAO,GAAG,uBAAuB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACF;AAKD,MAAM,OAAO,aAAc,SAAQ,UAAU;IAClC,IAAI,GAAG,eAAe,CAAC;IAEhC,YAAY,QAAgB,EAAE,EAAW;QACvC,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,YAAY,CAAC;QAC9E,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACF;AAKD,MAAM,OAAO,aAAc,SAAQ,UAAU;IAClC,IAAI,GAAG,eAAe,CAAC;IAEhC,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACF;AAKD,MAAM,OAAO,eAAgB,SAAQ,UAAU;IACpC,IAAI,GAAG,iBAAiB,CAAC;IAElC,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;CACF;AAOD,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,IAAI,GAAG,qBAAqB,CAAC;IAE/B,SAAS,CAAU;IAE1B,YAAY,OAAO,GAAG,wCAAwC;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACF;AAgBD,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IAC1C,IAAI,GAAG,uBAAuB,CAAC;IAKxB,SAAS,CAAU;IAEnC,YAAY,SAA6B,EAAE,OAAe;QACxD,KAAK,CACH,SAAS,KAAK,SAAS;YACrB,CAAC,CAAC,+BAA+B,SAAS,SAAS,OAAO,EAAE;YAC5D,CAAC,CAAC,6BAA6B,OAAO,EAAE,EAC1C,GAAG,EACH,mBAAmB,CACpB,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;CACF;AAQD,MAAM,UAAU,eAAe,CAAkB,KAAQ,EAAE,SAA6B;IACtF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC7D,KAAoC,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5D,KAAK,CAAC,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,iBAAiB,SAAS,GAAG,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @pantheon-systems/css-client
|
|
3
3
|
*
|
|
4
|
-
* TypeScript API client for
|
|
4
|
+
* TypeScript API client for Pantheon's P1 content platform.
|
|
5
5
|
*/
|
|
6
6
|
export { P1Client } from './client.js';
|
|
7
7
|
export type { P1ClientConfig } from './client.js';
|
|
8
|
-
export type { Site, Branch, BranchStatus, Document, DocumentVersion, DocumentVersionSource, Checkpoint, CheckpointType, CheckpointStatus, CheckpointDocument, WorkflowSettings, PuckData, PuckComponentData, PuckRootData, Principal, PaginationOptions, CreateBranchParams, CreateDocumentParams, CreateDocumentVersionParams, CreateCheckpointParams, PublishDocumentResult, ListDocumentsOptions, ActorState, ActorRole, ActorPresence, DocumentPresenceSummary, BranchPresenceSummary, BranchPresence, SitePresence, AgentPresenceLocation, AgentGlobalPresence, AgentStatus, AgentSettings, RegisteredAgent, CreateAgentParams, UpdateAgentParams, ListAgentsOptions, AgentTrigger, AgentEditDenialReason, AgentEditContext, AgentEditPermission, AgentEditSession, AgentEditCompleteResult, AgentEditAbortResult, AgentStopResult, UpdateFocusRegionsResponse, PublishResult, ConflictResolutionStrategy, MergeRequestStatus, DocumentConflictType, DocumentConflict, ConflictDetails, MergeabilityResult, DocumentDiff, MergePreview, MergeExecuteParams, MergeExecuteResult, MergeRequest, CreateMergeRequestParams, UpdateMergeRequestParams, ListMergeRequestsOptions, ExecuteMergeRequestOptions, Template, TemplateSummary, TemplateMetadata, TemplateContentItem, TemplateRootProps, CreateTemplateParams, UpdateTemplateParams, MigrationJob, MigrationConflict, MigrationPreview, MigrationPreviewDocument, TriggerMigrationParams, Datasource, QuerySortField, Query, QueryResultItem, QueryResultsMeta, QueryResults, QueryResultsParams, } from './types.js';
|
|
8
|
+
export type { Site, Branch, BranchStatus, Document, DocumentVersion, DocumentVersionSource, Checkpoint, CheckpointType, CheckpointStatus, CheckpointDocument, WorkflowSettings, PuckData, PuckComponentData, PuckRootData, Principal, PaginationOptions, CreateBranchParams, CreateDocumentParams, CreateDocumentVersionParams, CreateCheckpointParams, PublishDocumentResult, ListDocumentsOptions, ActorState, ActorRole, ActorPresence, DocumentPresenceSummary, BranchPresenceSummary, BranchPresence, SitePresence, AgentPresenceLocation, AgentGlobalPresence, AgentStatus, AgentSettings, RegisteredAgent, CreateAgentParams, UpdateAgentParams, ListAgentsOptions, AgentTrigger, AgentEditDenialReason, AgentEditContext, AgentEditPermission, AgentEditSession, AgentEditCompleteResult, AgentEditAbortResult, AgentStopResult, UpdateFocusRegionsResponse, PublishResult, ConflictResolutionStrategy, MergeRequestStatus, DocumentConflictType, DocumentConflict, ConflictDetails, MergeabilityResult, DocumentDiff, MergePreview, MergeExecuteParams, MergeExecuteResult, MergeRequest, CreateMergeRequestParams, UpdateMergeRequestParams, ListMergeRequestsOptions, ExecuteMergeRequestOptions, Template, TemplateSummary, TemplateMetadata, TemplateContentItem, TemplateRootProps, CreateTemplateParams, UpdateTemplateParams, MigrationJob, MigrationConflict, MigrationPreview, MigrationPreviewDocument, TriggerMigrationParams, Datasource, QuerySortField, Query, QueryResultItem, QueryResultsMeta, QueryResults, QueryResultsParams, LocalizationRelation, CreateTranslationParams, CreateTranslationResult, TranslationVariant, ListTranslationsResult, PropAuthority, AuthorityOverridesMap, AuthorityOverridesResult, ChangeClassification, ChangeSummaryEntry, ChangeSummary, } from './types.js';
|
|
9
9
|
export { createApiKeyAuth, createTokenAuth, InMemoryTokenStorage, LocalStorageTokenStorage, } from './auth.js';
|
|
10
10
|
export type { AuthProvider, TokenStorage } from './auth.js';
|
|
11
11
|
export { createOAuthAuthProvider, validateToken, loginMockUser, } from './oauth.js';
|
|
12
12
|
export type { OAuthUserInfo, OAuthSession, AuthMeResponse, } from './oauth.js';
|
|
13
|
-
export { createBrokerAuth, hasPendingBrokerLogin, redeemPendingBrokerLogin } from './broker.js';
|
|
14
|
-
export type { BrokerAuthConfig, BrokerRedeemConfig, BrokerRedeemResult } from './broker.js';
|
|
13
|
+
export { createBrokerAuth, brokerLogout, hasPendingBrokerLogin, redeemPendingBrokerLogin } from './broker.js';
|
|
14
|
+
export type { BrokerAuthConfig, BrokerLogoutConfig, BrokerRedeemConfig, BrokerRedeemResult, LogoutOutcome } from './broker.js';
|
|
15
15
|
export { P1ApiError, NetworkError, AuthenticationError, NotFoundError, ConflictError, ValidationError, SessionExpiredError, MissingParameterError, } from './errors.js';
|
|
16
16
|
export { P1ContentClient } from './content.js';
|
|
17
17
|
export type { P1ContentClientConfig, PageContent, SeoMetadata, PageListEntry, PageListResult, RedirectInfo, } from './content.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,YAAY,EAEV,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAEhB,QAAQ,EACR,iBAAiB,EACjB,YAAY,EAEZ,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EAEpB,UAAU,EACV,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EAEnB,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAEjB,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EAEf,0BAA0B,EAE1B,aAAa,EAEb,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAE1B,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EAEpB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EAEtB,UAAU,EACV,cAAc,EACd,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,YAAY,EAEV,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAEhB,QAAQ,EACR,iBAAiB,EACjB,YAAY,EAEZ,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EAEpB,UAAU,EACV,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EAEnB,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAEjB,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EAEf,0BAA0B,EAE1B,aAAa,EAEb,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAE1B,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EAEpB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EAEtB,UAAU,EACV,cAAc,EACd,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAElB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EAExB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG5D,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC9G,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/H,OAAO,EACL,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EACV,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @pantheon-systems/css-client
|
|
3
|
-
*
|
|
4
|
-
* TypeScript API client for the Collaborative State System.
|
|
5
|
-
*/
|
|
6
|
-
// Main client
|
|
7
1
|
export { P1Client } from './client.js';
|
|
8
|
-
// Auth utilities
|
|
9
2
|
export { createApiKeyAuth, createTokenAuth, InMemoryTokenStorage, LocalStorageTokenStorage, } from './auth.js';
|
|
10
|
-
// OAuth utilities
|
|
11
3
|
export { createOAuthAuthProvider, validateToken, loginMockUser, } from './oauth.js';
|
|
12
|
-
|
|
13
|
-
export { createBrokerAuth, hasPendingBrokerLogin, redeemPendingBrokerLogin } from './broker.js';
|
|
14
|
-
// Errors
|
|
4
|
+
export { createBrokerAuth, brokerLogout, hasPendingBrokerLogin, redeemPendingBrokerLogin } from './broker.js';
|
|
15
5
|
export { P1ApiError, NetworkError, AuthenticationError, NotFoundError, ConflictError, ValidationError, SessionExpiredError, MissingParameterError, } from './errors.js';
|
|
16
|
-
// Content delivery (read-only)
|
|
17
6
|
export { P1ContentClient } from './content.js';
|
|
18
|
-
// Real-time collaboration
|
|
19
7
|
export { RealtimeClient } from './realtime.js';
|
|
20
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAkHvC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AAInB,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAI9G,OAAO,EACL,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAW/C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/jwt-utils.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JWT Utility Functions
|
|
3
|
-
*
|
|
4
|
-
* Shared helpers for parsing JWT payloads and checking expiry.
|
|
5
|
-
* These decode JWTs for display/routing only — no cryptographic verification.
|
|
6
|
-
*/
|
|
7
1
|
export const TOKEN_REFRESH_BUFFER_SECONDS = 300;
|
|
8
2
|
export function parseJwtPayload(token) {
|
|
9
3
|
try {
|
package/dist/jwt-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-utils.js","sourceRoot":"","sources":["../src/jwt-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jwt-utils.js","sourceRoot":"","sources":["../src/jwt-utils.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7D,OAAO,OAAO,CAAC,GAAG,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,UAAU,IAAI,GAAG,GAAG,4BAA4B,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7D,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,GAAG;QACf,KAAK,EAAE,OAAO,CAAC,KAA2B;QAC1C,IAAI,EAAE,OAAO,CAAC,IAA0B;QACxC,OAAO,EAAE,OAAO,CAAC,OAA6B;KAC/C,CAAC;AACJ,CAAC"}
|
package/dist/oauth.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AuthProvider } from './auth.js';
|
|
2
|
+
import type { LogoutOutcome } from './broker.js';
|
|
2
3
|
/** User info returned from OAuth providers */
|
|
3
4
|
export interface OAuthUserInfo {
|
|
4
5
|
id: string;
|
|
@@ -9,7 +10,7 @@ export interface OAuthUserInfo {
|
|
|
9
10
|
export interface OAuthSession {
|
|
10
11
|
provider: 'broker';
|
|
11
12
|
login(): Promise<void>;
|
|
12
|
-
logout(): Promise<
|
|
13
|
+
logout(): Promise<LogoutOutcome>;
|
|
13
14
|
isAuthenticated(): boolean;
|
|
14
15
|
getUserInfo(): OAuthUserInfo | null;
|
|
15
16
|
getToken(): Promise<string | null>;
|
package/dist/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,eAAe,IAAI,OAAO,CAAC;IAC3B,WAAW,IAAI,aAAa,GAAG,IAAI,CAAC;IACpC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACpC;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAQ3E;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAUhC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAgB/E"}
|
package/dist/oauth.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Create an AuthProvider from an OAuthSession.
|
|
3
|
-
* The returned AuthProvider is compatible with P1Client's authProvider config option.
|
|
4
|
-
*
|
|
5
|
-
* @param session - The OAuth session to derive the auth provider from
|
|
6
|
-
* @returns AuthProvider function that returns `Bearer <token>`
|
|
7
|
-
*/
|
|
8
1
|
export function createOAuthAuthProvider(session) {
|
|
9
2
|
return async () => {
|
|
10
3
|
const token = await session.getToken();
|
|
@@ -14,14 +7,6 @@ export function createOAuthAuthProvider(session) {
|
|
|
14
7
|
return `Bearer ${token}`;
|
|
15
8
|
};
|
|
16
9
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Validate a token against the P1 backend's /api/auth/me endpoint.
|
|
19
|
-
* Framework-agnostic — works in any JS environment with fetch().
|
|
20
|
-
*
|
|
21
|
-
* @param baseUrl - P1 backend base URL (e.g., "http://localhost:8787")
|
|
22
|
-
* @param token - Bearer token to validate
|
|
23
|
-
* @returns The authenticated user info, or null if the token is invalid
|
|
24
|
-
*/
|
|
25
10
|
export async function validateToken(baseUrl, token) {
|
|
26
11
|
try {
|
|
27
12
|
const response = await fetch(`${baseUrl}/api/auth/me`, {
|
|
@@ -35,18 +20,6 @@ export async function validateToken(baseUrl, token) {
|
|
|
35
20
|
return null;
|
|
36
21
|
}
|
|
37
22
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Login as a mock/demo user via POST /api/auth/token.
|
|
40
|
-
* Framework-agnostic — works in any JS environment with fetch().
|
|
41
|
-
*
|
|
42
|
-
* @internal This is a local-development helper. The backend only enables
|
|
43
|
-
* `/api/auth/token` when `ENVIRONMENT === 'local'`; mock tokens are rejected
|
|
44
|
-
* by all other environments. Do not use in production deployments.
|
|
45
|
-
*
|
|
46
|
-
* @param baseUrl - P1 backend base URL
|
|
47
|
-
* @param userId - The mock user ID to log in as
|
|
48
|
-
* @returns Token and user info
|
|
49
|
-
*/
|
|
50
23
|
export async function loginMockUser(baseUrl, userId) {
|
|
51
24
|
const response = await fetch(`${baseUrl}/api/auth/token`, {
|
|
52
25
|
method: 'POST',
|
package/dist/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AA4BA,MAAM,UAAU,uBAAuB,CAAC,OAAqB;IAC3D,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,UAAU,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAqBD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAe,EACf,KAAa;IAEb,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,EAAE;YACrD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAcD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAe,EACf,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,EAAE;QACxD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAE,KAA4B,CAAC,KAAK,IAAI,cAAc,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAGlB,CAAC;AACL,CAAC"}
|
package/dist/realtime.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Phase 2.1: RealtimeClient
|
|
3
3
|
*
|
|
4
|
-
* WebSocket-based real-time collaboration client
|
|
5
|
-
* Provides bidirectional sync between client and
|
|
4
|
+
* WebSocket-based real-time collaboration client.
|
|
5
|
+
* Provides bidirectional sync between the client and the server.
|
|
6
6
|
* Uses ReconnectingWebSocket from partysocket for automatic reconnection with exponential backoff.
|
|
7
7
|
*/
|
|
8
8
|
import * as Y from 'yjs';
|
|
@@ -101,6 +101,12 @@ export interface RealtimeClientConfig {
|
|
|
101
101
|
* Use this to notify users that the document is being refreshed.
|
|
102
102
|
*/
|
|
103
103
|
onServerReload?: () => void;
|
|
104
|
+
/**
|
|
105
|
+
* Called when the server reports this client's Yjs history has diverged from
|
|
106
|
+
* the document's current state (close code 4002). The caller must discard this
|
|
107
|
+
* client and build a fresh one; the doc cannot be repaired in place.
|
|
108
|
+
*/
|
|
109
|
+
onBaselineReset?: () => void;
|
|
104
110
|
/**
|
|
105
111
|
* Optional token refresher for dynamic WebSocket authentication.
|
|
106
112
|
* Called when the WebSocket connection closes unexpectedly (non-intentionally).
|
|
@@ -131,7 +137,7 @@ export interface ConnectionParams {
|
|
|
131
137
|
sessionId?: string;
|
|
132
138
|
}
|
|
133
139
|
/**
|
|
134
|
-
* Real-time collaboration client
|
|
140
|
+
* Real-time collaboration client over WebSocket.
|
|
135
141
|
* Uses PartySocket for automatic reconnection with exponential backoff.
|
|
136
142
|
*
|
|
137
143
|
* @example
|
|
@@ -175,6 +181,10 @@ export declare class RealtimeClient {
|
|
|
175
181
|
private lastReportedRetryCount;
|
|
176
182
|
private reconnectCheckInterval;
|
|
177
183
|
private visibilityHandler;
|
|
184
|
+
private hasConnectedToServer;
|
|
185
|
+
private syncBaselineTimer;
|
|
186
|
+
private serverGateClosed;
|
|
187
|
+
private static readonly YJS_EMPTY_UPDATE_LENGTH;
|
|
178
188
|
private sendTimestamps;
|
|
179
189
|
private pendingUpdates;
|
|
180
190
|
private flushTimer;
|
|
@@ -227,9 +237,9 @@ export declare class RealtimeClient {
|
|
|
227
237
|
*/
|
|
228
238
|
applyLocalUpdate(update: Uint8Array): void;
|
|
229
239
|
/**
|
|
230
|
-
* Set pending action metadata to be sent after the next
|
|
240
|
+
* Set pending action metadata to be sent after the next document update.
|
|
231
241
|
* The metadata is best-effort — if the WebSocket is not open or the
|
|
232
|
-
* send fails, the
|
|
242
|
+
* send fails, the document update still goes through without metadata.
|
|
233
243
|
*
|
|
234
244
|
* @param meta - Action type and metadata from Puck's onAction callback
|
|
235
245
|
*/
|
|
@@ -239,7 +249,7 @@ export declare class RealtimeClient {
|
|
|
239
249
|
}[] | null): void;
|
|
240
250
|
/**
|
|
241
251
|
* Send any pending action metadata as a text message and clear it.
|
|
242
|
-
* Called after a
|
|
252
|
+
* Called after a document update is sent to associate the metadata with
|
|
243
253
|
* the most recent edit.
|
|
244
254
|
*/
|
|
245
255
|
sendPendingActionMetadata(): void;
|
|
@@ -289,10 +299,10 @@ export declare class RealtimeClient {
|
|
|
289
299
|
/**
|
|
290
300
|
* Wait for the server to acknowledge that all preceding WebSocket messages
|
|
291
301
|
* have been processed. This uses TCP ordering guarantees: a text frame sent
|
|
292
|
-
* after binary
|
|
302
|
+
* after binary document updates is guaranteed to arrive after those updates.
|
|
293
303
|
* The server echoes back a delivery_ack with the matching requestId.
|
|
294
304
|
*
|
|
295
|
-
* Used before publish to ensure the
|
|
305
|
+
* Used before publish to ensure the server has received and applied
|
|
296
306
|
* the latest edits before the HTTP publish request arrives.
|
|
297
307
|
*
|
|
298
308
|
* @returns Promise that resolves when the server confirms delivery
|
|
@@ -301,11 +311,11 @@ export declare class RealtimeClient {
|
|
|
301
311
|
waitForDelivery(): Promise<void>;
|
|
302
312
|
/**
|
|
303
313
|
* Request the server to publish the current document via WebSocket.
|
|
304
|
-
* TCP ordering guarantees all preceding binary
|
|
314
|
+
* TCP ordering guarantees all preceding binary document updates have been
|
|
305
315
|
* processed before this message is handled, eliminating stale-version races.
|
|
306
316
|
*
|
|
307
|
-
* The
|
|
308
|
-
*
|
|
317
|
+
* The server handles the entire flow: persist the document, then create
|
|
318
|
+
* the checkpoint.
|
|
309
319
|
*
|
|
310
320
|
* @returns Promise that resolves with the publish result
|
|
311
321
|
* @throws Error if not connected or if timeout expires (30 seconds)
|
package/dist/realtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,aAAa,EAId,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAEvD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3C;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAE9C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAErD;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAE3E;;OAEG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAE5B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IAErB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB;IACjB,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,EAAE,CAAsC;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,sBAAsB,CAA+C;IAC7E,OAAO,CAAC,iBAAiB,CAA6B;
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
|