@pantheon-systems/css-client 0.12.0 → 0.14.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.d.ts.map +1 -1
- package/dist/endpoints/documents.js +3 -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 +180 -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
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @pantheon-systems/css-client
|
|
2
2
|
|
|
3
|
-
TypeScript API client for Pantheon's
|
|
3
|
+
TypeScript API client for Pantheon's P1 content platform — documents, content,
|
|
4
4
|
authentication, and the realtime collaboration channel.
|
|
5
5
|
|
|
6
6
|
> Part of Pantheon's **P1** platform. It is published publicly so P1 applications can install
|
package/dist/auth.js
CHANGED
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* P1 Client Authentication Utilities
|
|
3
|
-
*
|
|
4
|
-
* Functions for creating authentication providers.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Creates an API key authentication provider.
|
|
8
|
-
* Uses X-API-Key header format for agent API keys.
|
|
9
|
-
*
|
|
10
|
-
* @param apiKey - The API key to use
|
|
11
|
-
* @returns Auth provider function
|
|
12
|
-
*/
|
|
13
1
|
export function createApiKeyAuth(apiKey) {
|
|
14
2
|
return async () => `ApiKey ${apiKey}`;
|
|
15
3
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Creates a token-based authentication provider.
|
|
18
|
-
*
|
|
19
|
-
* @param tokenStorage - Storage for the auth token
|
|
20
|
-
* @returns Auth provider function
|
|
21
|
-
*/
|
|
22
4
|
export function createTokenAuth(tokenStorage) {
|
|
23
5
|
return async () => {
|
|
24
6
|
const token = await tokenStorage.getToken();
|
|
@@ -28,10 +10,6 @@ export function createTokenAuth(tokenStorage) {
|
|
|
28
10
|
return `Bearer ${token}`;
|
|
29
11
|
};
|
|
30
12
|
}
|
|
31
|
-
/**
|
|
32
|
-
* In-memory token storage implementation.
|
|
33
|
-
* Useful for testing or single-session apps.
|
|
34
|
-
*/
|
|
35
13
|
export class InMemoryTokenStorage {
|
|
36
14
|
token = null;
|
|
37
15
|
async getToken() {
|
|
@@ -44,9 +22,6 @@ export class InMemoryTokenStorage {
|
|
|
44
22
|
this.token = null;
|
|
45
23
|
}
|
|
46
24
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Browser localStorage token storage implementation.
|
|
49
|
-
*/
|
|
50
25
|
export class LocalStorageTokenStorage {
|
|
51
26
|
key;
|
|
52
27
|
constructor(key = 'p1_auth_token') {
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,KAAK,IAAI,EAAE,CAAC,UAAU,MAAM,EAAE,CAAC;AACxC,CAAC;AAiBD,MAAM,UAAU,eAAe,CAAC,YAA0B;IACxD,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,UAAU,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAMD,MAAM,OAAO,oBAAoB;IACvB,KAAK,GAAkB,IAAI,CAAC;IAEpC,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CACF;AAKD,MAAM,OAAO,wBAAwB;IACN;IAA7B,YAA6B,MAAM,eAAe;QAArB,QAAG,GAAH,GAAG,CAAkB;IAAG,CAAC;IAEtD,KAAK,CAAC,QAAQ;QACZ,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;CACF"}
|
package/dist/broker.d.ts
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* Implements the brokered auth flow. Supports two modes:
|
|
5
5
|
*
|
|
6
6
|
* **Proxy mode** (default): calls go to /p1/auth/login and /p1/auth/redeem
|
|
7
|
-
* on the app's own server, which proxies to the
|
|
7
|
+
* on the app's own server, which proxies to the backend with the API key.
|
|
8
8
|
*
|
|
9
9
|
* **Direct mode**: when siteApiToken is provided, calls go straight to the
|
|
10
|
-
*
|
|
10
|
+
* backend with a Bearer token. Used for standalone (non-Next.js) apps.
|
|
11
11
|
*
|
|
12
12
|
* Flow:
|
|
13
13
|
* 1. POST login endpoint → { transactionId, loginUrl }
|
|
@@ -30,11 +30,39 @@ export interface BrokerRedeemResult {
|
|
|
30
30
|
token: string;
|
|
31
31
|
userInfo: OAuthUserInfo | null;
|
|
32
32
|
}
|
|
33
|
+
export interface BrokerLogoutConfig {
|
|
34
|
+
cssBaseUrl: string;
|
|
35
|
+
siteApiToken?: string;
|
|
36
|
+
storageKey?: string;
|
|
37
|
+
}
|
|
38
|
+
export type LogoutOutcome = {
|
|
39
|
+
status: 'signed_out';
|
|
40
|
+
logoutUrl: string;
|
|
41
|
+
} | {
|
|
42
|
+
status: 'no_session';
|
|
43
|
+
} | {
|
|
44
|
+
status: 'error';
|
|
45
|
+
message: string;
|
|
46
|
+
};
|
|
33
47
|
export interface BrokerRedeemConfig {
|
|
34
48
|
cssBaseUrl: string;
|
|
35
49
|
siteApiToken?: string;
|
|
36
50
|
storageKey?: string;
|
|
37
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Initiates broker logout by calling the backend and returning the Auth0
|
|
54
|
+
* logout URL. Does NOT navigate — the caller is responsible for redirecting.
|
|
55
|
+
*
|
|
56
|
+
* Outcomes:
|
|
57
|
+
* signed_out — the backend returned a logout URL; caller should navigate there.
|
|
58
|
+
* no_session — No stored broker token; nothing to sign out of.
|
|
59
|
+
* error — Backend unreachable or returned an error; credentials left intact
|
|
60
|
+
* so the caller can retry or fall back gracefully.
|
|
61
|
+
*
|
|
62
|
+
* The broker token is removed from storage only on `signed_out`, after the
|
|
63
|
+
* URL is successfully obtained. On `error`, the token is preserved for retry.
|
|
64
|
+
*/
|
|
65
|
+
export declare function brokerLogout(config: BrokerLogoutConfig): Promise<LogoutOutcome>;
|
|
38
66
|
export declare function createBrokerAuth(config: BrokerAuthConfig): OAuthSession;
|
|
39
67
|
export declare function hasPendingBrokerLogin(): boolean;
|
|
40
68
|
export declare function redeemPendingBrokerLogin(config: BrokerRedeemConfig): Promise<BrokerRedeemResult | null>;
|
package/dist/broker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI9D,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI9D,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GACxB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAwDD;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmDrF;AAwBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAqIvE;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAI/C;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAsDpC"}
|
package/dist/broker.js
CHANGED
|
@@ -1,23 +1,30 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Broker Authentication
|
|
3
|
-
*
|
|
4
|
-
* Implements the brokered auth flow. Supports two modes:
|
|
5
|
-
*
|
|
6
|
-
* **Proxy mode** (default): calls go to /p1/auth/login and /p1/auth/redeem
|
|
7
|
-
* on the app's own server, which proxies to the CSS backend with the API key.
|
|
8
|
-
*
|
|
9
|
-
* **Direct mode**: when siteApiToken is provided, calls go straight to the
|
|
10
|
-
* CSS backend with a Bearer token. Used for standalone (non-Next.js) apps.
|
|
11
|
-
*
|
|
12
|
-
* Flow:
|
|
13
|
-
* 1. POST login endpoint → { transactionId, loginUrl }
|
|
14
|
-
* 2. Open loginUrl for the user (via onLoginUrl callback)
|
|
15
|
-
* 3. Poll POST redeem endpoint with transactionId until approved
|
|
16
|
-
* 4. Store the broker JWT and populate user info
|
|
17
|
-
*/
|
|
18
1
|
import { isTokenExpiredOrExpiring, extractUserInfo } from './jwt-utils.js';
|
|
19
2
|
import { sleep, trimTrailingSlash } from './utils.js';
|
|
20
|
-
const PENDING_TX_KEY = '
|
|
3
|
+
const PENDING_TX_KEY = 'ccr_broker_pending_tx';
|
|
4
|
+
const DEFAULT_TOKEN_KEY = 'ccr_broker_token';
|
|
5
|
+
const LEGACY_PENDING_TX_KEY = 'css_broker_pending_tx';
|
|
6
|
+
const LEGACY_TOKEN_KEY = 'css_broker_token';
|
|
7
|
+
function migrateLegacyKey(storage, legacyKey, key) {
|
|
8
|
+
const legacy = storage.getItem(legacyKey);
|
|
9
|
+
if (legacy !== null) {
|
|
10
|
+
if (storage.getItem(key) === null) {
|
|
11
|
+
storage.setItem(key, legacy);
|
|
12
|
+
}
|
|
13
|
+
storage.removeItem(legacyKey);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function resolveTokenKey(config) {
|
|
17
|
+
const storageKey = config.storageKey ?? DEFAULT_TOKEN_KEY;
|
|
18
|
+
if (typeof window !== 'undefined' && storageKey === DEFAULT_TOKEN_KEY) {
|
|
19
|
+
migrateLegacyKey(window.localStorage, LEGACY_TOKEN_KEY, storageKey);
|
|
20
|
+
}
|
|
21
|
+
return storageKey;
|
|
22
|
+
}
|
|
23
|
+
function migratePendingTxKey() {
|
|
24
|
+
if (typeof window !== 'undefined') {
|
|
25
|
+
migrateLegacyKey(window.sessionStorage, LEGACY_PENDING_TX_KEY, PENDING_TX_KEY);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
21
28
|
const PROXY_PATH = '/p1/auth';
|
|
22
29
|
function brokerEndpoint(config, action) {
|
|
23
30
|
if (config.siteApiToken) {
|
|
@@ -25,21 +32,63 @@ function brokerEndpoint(config, action) {
|
|
|
25
32
|
}
|
|
26
33
|
return `${PROXY_PATH}/${action}`;
|
|
27
34
|
}
|
|
35
|
+
function brokerLogoutEndpoint(config) {
|
|
36
|
+
if (config.siteApiToken) {
|
|
37
|
+
return `${trimTrailingSlash(config.cssBaseUrl)}/broker/logout`;
|
|
38
|
+
}
|
|
39
|
+
return `${PROXY_PATH}/logout`;
|
|
40
|
+
}
|
|
28
41
|
function brokerHeaders(config) {
|
|
29
42
|
if (config.siteApiToken) {
|
|
30
43
|
return { 'Authorization': `Bearer ${config.siteApiToken}` };
|
|
31
44
|
}
|
|
32
45
|
return {};
|
|
33
46
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
47
|
+
export async function brokerLogout(config) {
|
|
48
|
+
if (typeof window === 'undefined') {
|
|
49
|
+
return { status: 'no_session' };
|
|
50
|
+
}
|
|
51
|
+
const storageKey = resolveTokenKey(config);
|
|
52
|
+
const token = window.localStorage.getItem(storageKey);
|
|
53
|
+
const headers = { 'Content-Type': 'application/json' };
|
|
54
|
+
if (token) {
|
|
55
|
+
headers['Authorization'] = `Bearer ${token}`;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const response = await fetch(brokerLogoutEndpoint(config), {
|
|
59
|
+
method: 'POST',
|
|
60
|
+
headers,
|
|
61
|
+
body: JSON.stringify({ returnTo: window.location.origin }),
|
|
62
|
+
signal: AbortSignal.timeout(10_000),
|
|
63
|
+
});
|
|
64
|
+
if (!response.ok) {
|
|
65
|
+
return { status: 'error', message: `Broker logout failed (${response.status})` };
|
|
66
|
+
}
|
|
67
|
+
const { logoutUrl } = (await response.json());
|
|
68
|
+
if (typeof logoutUrl !== 'string') {
|
|
69
|
+
return { status: 'error', message: 'Broker logout response missing logoutUrl' };
|
|
70
|
+
}
|
|
71
|
+
let parsedLogoutUrl;
|
|
72
|
+
try {
|
|
73
|
+
parsedLogoutUrl = new URL(logoutUrl);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return { status: 'error', message: 'Broker logout response has a malformed logoutUrl' };
|
|
77
|
+
}
|
|
78
|
+
if (parsedLogoutUrl.protocol !== 'https:') {
|
|
79
|
+
return { status: 'error', message: 'Broker logout response has a non-HTTPS logoutUrl' };
|
|
80
|
+
}
|
|
81
|
+
if (token)
|
|
82
|
+
window.localStorage.removeItem(storageKey);
|
|
83
|
+
return { status: 'signed_out', logoutUrl };
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
return {
|
|
87
|
+
status: 'error',
|
|
88
|
+
message: err instanceof Error ? err.message : 'Broker logout request failed',
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
43
92
|
function buildLoginBody(config) {
|
|
44
93
|
const location = typeof window === 'undefined' ? undefined : window.location;
|
|
45
94
|
const origin = location?.origin;
|
|
@@ -52,7 +101,7 @@ function buildLoginBody(config) {
|
|
|
52
101
|
return { origin };
|
|
53
102
|
}
|
|
54
103
|
export function createBrokerAuth(config) {
|
|
55
|
-
const storageKey = config
|
|
104
|
+
const storageKey = resolveTokenKey(config);
|
|
56
105
|
const pollIntervalMs = config.pollIntervalMs ?? 2000;
|
|
57
106
|
const maxPollAttempts = config.maxPollAttempts ?? 150;
|
|
58
107
|
const loginMode = config.loginMode ?? 'popup';
|
|
@@ -75,12 +124,11 @@ export function createBrokerAuth(config) {
|
|
|
75
124
|
if (!loginResponse.ok) {
|
|
76
125
|
let detail = '';
|
|
77
126
|
try {
|
|
78
|
-
const body = await loginResponse.json();
|
|
127
|
+
const body = (await loginResponse.json());
|
|
79
128
|
if (body.error)
|
|
80
129
|
detail = `: ${body.error}`;
|
|
81
130
|
}
|
|
82
131
|
catch {
|
|
83
|
-
// non-JSON body — status code alone is still useful
|
|
84
132
|
}
|
|
85
133
|
throw new Error(`Broker login failed (${loginResponse.status})${detail}`);
|
|
86
134
|
}
|
|
@@ -126,10 +174,19 @@ export function createBrokerAuth(config) {
|
|
|
126
174
|
throw new Error('Broker login timed out waiting for user approval');
|
|
127
175
|
},
|
|
128
176
|
async logout() {
|
|
129
|
-
|
|
130
|
-
|
|
177
|
+
const outcome = await brokerLogout({
|
|
178
|
+
cssBaseUrl: config.cssBaseUrl,
|
|
179
|
+
storageKey,
|
|
180
|
+
...(config.siteApiToken !== undefined ? { siteApiToken: config.siteApiToken } : {}),
|
|
181
|
+
});
|
|
182
|
+
if (outcome.status === 'error') {
|
|
183
|
+
return outcome;
|
|
131
184
|
}
|
|
132
185
|
userInfo = null;
|
|
186
|
+
if (outcome.status === 'signed_out' && typeof window !== 'undefined') {
|
|
187
|
+
window.location.href = outcome.logoutUrl;
|
|
188
|
+
}
|
|
189
|
+
return outcome;
|
|
133
190
|
},
|
|
134
191
|
isAuthenticated() {
|
|
135
192
|
if (typeof window === 'undefined')
|
|
@@ -158,11 +215,13 @@ export function createBrokerAuth(config) {
|
|
|
158
215
|
export function hasPendingBrokerLogin() {
|
|
159
216
|
if (typeof window === 'undefined')
|
|
160
217
|
return false;
|
|
218
|
+
migratePendingTxKey();
|
|
161
219
|
return window.sessionStorage.getItem(PENDING_TX_KEY) !== null;
|
|
162
220
|
}
|
|
163
221
|
export async function redeemPendingBrokerLogin(config) {
|
|
164
222
|
if (typeof window === 'undefined')
|
|
165
223
|
return null;
|
|
224
|
+
migratePendingTxKey();
|
|
166
225
|
const raw = window.sessionStorage.getItem(PENDING_TX_KEY);
|
|
167
226
|
if (!raw)
|
|
168
227
|
return null;
|
|
@@ -174,7 +233,7 @@ export async function redeemPendingBrokerLogin(config) {
|
|
|
174
233
|
window.sessionStorage.removeItem(PENDING_TX_KEY);
|
|
175
234
|
return null;
|
|
176
235
|
}
|
|
177
|
-
const storageKey = config
|
|
236
|
+
const storageKey = resolveTokenKey(config);
|
|
178
237
|
const endpoint = config.siteApiToken
|
|
179
238
|
? `${trimTrailingSlash(config.cssBaseUrl)}/broker/redeem`
|
|
180
239
|
: `${PROXY_PATH}/redeem`;
|
package/dist/broker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* P1 API Client
|
|
3
3
|
*
|
|
4
|
-
* Main client class for interacting with
|
|
4
|
+
* Main client class for interacting with Pantheon's P1 content platform API.
|
|
5
5
|
*/
|
|
6
6
|
import type { AuthProvider } from './auth.js';
|
|
7
7
|
import type { Principal } from './types.js';
|
|
8
8
|
import type { SdkIdentity } from './telemetry-headers.js';
|
|
9
|
-
import { BaseEndpoint, SitesEndpoint, BranchesEndpoint, DocumentsEndpoint, VersionsEndpoint, CheckpointsEndpoint, PresenceEndpoint, AgentRegistryEndpoint, AgentEditEndpoint, MergeEndpoint, TemplatesEndpoint, MigrationConflictsEndpoint, QueriesEndpoint } from './endpoints/index.js';
|
|
9
|
+
import { BaseEndpoint, SitesEndpoint, BranchesEndpoint, DocumentsEndpoint, VersionsEndpoint, CheckpointsEndpoint, PresenceEndpoint, AgentRegistryEndpoint, AgentEditEndpoint, MergeEndpoint, TemplatesEndpoint, MigrationConflictsEndpoint, QueriesEndpoint, TranslationsEndpoint, RelationsEndpoint } from './endpoints/index.js';
|
|
10
10
|
/**
|
|
11
11
|
* Configuration options for P1Client.
|
|
12
12
|
*/
|
|
@@ -68,7 +68,7 @@ interface InternalConfig {
|
|
|
68
68
|
baseEndpoint: BaseEndpoint;
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
|
-
* Client for
|
|
71
|
+
* Client for Pantheon's P1 content platform API.
|
|
72
72
|
*
|
|
73
73
|
* @example
|
|
74
74
|
* ```typescript
|
|
@@ -142,6 +142,14 @@ export declare class P1Client {
|
|
|
142
142
|
* Query operations (content type queries and results).
|
|
143
143
|
*/
|
|
144
144
|
readonly queries: QueriesEndpoint;
|
|
145
|
+
/**
|
|
146
|
+
* Localization operations (create and list translation variants).
|
|
147
|
+
*/
|
|
148
|
+
readonly translations: TranslationsEndpoint;
|
|
149
|
+
/**
|
|
150
|
+
* Relation edges: upstream drift for localization and template derivation.
|
|
151
|
+
*/
|
|
152
|
+
readonly relations: RelationsEndpoint;
|
|
145
153
|
constructor(config: P1ClientConfig | InternalConfig);
|
|
146
154
|
/**
|
|
147
155
|
* Create a new client instance with a different principal.
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE9C;;;;OAIG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;IAElB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C;;OAEG;IACH,SAAgB,KAAK,EAAE,aAAa,CAAC;IAErC;;OAEG;IACH,SAAgB,QAAQ,EAAE,gBAAgB,CAAC;IAE3C;;OAEG;IACH,SAAgB,SAAS,EAAE,iBAAiB,CAAC;IAE7C;;OAEG;IACH,SAAgB,QAAQ,EAAE,gBAAgB,CAAC;IAE3C;;OAEG;IACH,SAAgB,WAAW,EAAE,mBAAmB,CAAC;IAEjD;;OAEG;IACH,SAAgB,QAAQ,EAAE,gBAAgB,CAAC;IAE3C;;OAEG;IACH,SAAgB,aAAa,EAAE,qBAAqB,CAAC;IAErD;;OAEG;IACH,SAAgB,SAAS,EAAE,iBAAiB,CAAC;IAE7C;;OAEG;IACH,SAAgB,KAAK,EAAE,aAAa,CAAC;IAErC;;OAEG;IACH,SAAgB,SAAS,EAAE,iBAAiB,CAAC;IAE7C;;OAEG;IACH,SAAgB,kBAAkB,EAAE,0BAA0B,CAAC;IAE/D;;OAEG;IACH,SAAgB,OAAO,EAAE,eAAe,CAAC;IAEzC;;OAEG;IACH,SAAgB,YAAY,EAAE,oBAAoB,CAAC;IAEnD;;OAEG;IACH,SAAgB,SAAS,EAAE,iBAAiB,CAAC;gBAEjC,MAAM,EAAE,cAAc,GAAG,cAAc;IAkDnD;;;;;;OAMG;IACH,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ;IAK7C;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ;CAI3C"}
|
package/dist/client.js
CHANGED
|
@@ -1,92 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
* CSS Client
|
|
3
|
-
*
|
|
4
|
-
* Main client class for interacting with the Collaborative State System API.
|
|
5
|
-
*/
|
|
6
|
-
import { BaseEndpoint, SitesEndpoint, BranchesEndpoint, DocumentsEndpoint, VersionsEndpoint, CheckpointsEndpoint, PresenceEndpoint, AgentRegistryEndpoint, AgentEditEndpoint, MergeEndpoint, TemplatesEndpoint, MigrationConflictsEndpoint, QueriesEndpoint, } from './endpoints/index.js';
|
|
7
|
-
/**
|
|
8
|
-
* Client for the Collaborative State System API.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* const client = new P1Client({
|
|
13
|
-
* baseUrl: 'http://localhost:8787',
|
|
14
|
-
* apiKey: 'your-api-key',
|
|
15
|
-
* principal: { id: 'user-123', type: 'user' },
|
|
16
|
-
* });
|
|
17
|
-
*
|
|
18
|
-
* // List sites
|
|
19
|
-
* const sites = await client.sites.list();
|
|
20
|
-
*
|
|
21
|
-
* // Get branches for a site
|
|
22
|
-
* const branches = await client.branches.list(siteId);
|
|
23
|
-
*
|
|
24
|
-
* // Create a document version
|
|
25
|
-
* const version = await client.versions.create(siteId, {
|
|
26
|
-
* documentId: 'doc-123',
|
|
27
|
-
* branchId: 'branch-456',
|
|
28
|
-
* snapshot: { content: [], root: {} },
|
|
29
|
-
* });
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
1
|
+
import { BaseEndpoint, SitesEndpoint, BranchesEndpoint, DocumentsEndpoint, VersionsEndpoint, CheckpointsEndpoint, PresenceEndpoint, AgentRegistryEndpoint, AgentEditEndpoint, MergeEndpoint, TemplatesEndpoint, MigrationConflictsEndpoint, QueriesEndpoint, TranslationsEndpoint, RelationsEndpoint, } from './endpoints/index.js';
|
|
32
2
|
export class P1Client {
|
|
33
3
|
baseEndpoint;
|
|
34
|
-
/**
|
|
35
|
-
* Site operations.
|
|
36
|
-
*/
|
|
37
4
|
sites;
|
|
38
|
-
/**
|
|
39
|
-
* Branch operations.
|
|
40
|
-
*/
|
|
41
5
|
branches;
|
|
42
|
-
/**
|
|
43
|
-
* Document operations.
|
|
44
|
-
*/
|
|
45
6
|
documents;
|
|
46
|
-
/**
|
|
47
|
-
* Document version operations.
|
|
48
|
-
*/
|
|
49
7
|
versions;
|
|
50
|
-
/**
|
|
51
|
-
* Checkpoint operations.
|
|
52
|
-
*/
|
|
53
8
|
checkpoints;
|
|
54
|
-
/**
|
|
55
|
-
* Presence queries for sites, branches, and agents.
|
|
56
|
-
*/
|
|
57
9
|
presence;
|
|
58
|
-
/**
|
|
59
|
-
* Agent registry operations.
|
|
60
|
-
*/
|
|
61
10
|
agentRegistry;
|
|
62
|
-
/**
|
|
63
|
-
* Agent edit workflow operations.
|
|
64
|
-
*/
|
|
65
11
|
agentEdit;
|
|
66
|
-
/**
|
|
67
|
-
* Merge operations (checks, previews, execution, merge requests).
|
|
68
|
-
*/
|
|
69
12
|
merge;
|
|
70
|
-
/**
|
|
71
|
-
* Content type template operations.
|
|
72
|
-
*/
|
|
73
13
|
templates;
|
|
74
|
-
/**
|
|
75
|
-
* Migration conflict operations.
|
|
76
|
-
*/
|
|
77
14
|
migrationConflicts;
|
|
78
|
-
/**
|
|
79
|
-
* Query operations (content type queries and results).
|
|
80
|
-
*/
|
|
81
15
|
queries;
|
|
16
|
+
translations;
|
|
17
|
+
relations;
|
|
82
18
|
constructor(config) {
|
|
83
|
-
// Check if this is an internal config (has baseEndpoint)
|
|
84
19
|
if ('baseEndpoint' in config) {
|
|
85
20
|
this.baseEndpoint = config.baseEndpoint;
|
|
86
21
|
}
|
|
87
22
|
else {
|
|
88
|
-
// Create auth provider from API key if provided
|
|
89
|
-
// Use "ApiKey " prefix to signal X-API-Key header should be used
|
|
90
23
|
const authProvider = config.authProvider ?? (config.apiKey ? async () => `ApiKey ${config.apiKey}` : undefined);
|
|
91
24
|
this.baseEndpoint = new BaseEndpoint({
|
|
92
25
|
baseUrl: config.baseUrl,
|
|
@@ -98,50 +31,25 @@ export class P1Client {
|
|
|
98
31
|
getTraceparent: config.getTraceparent,
|
|
99
32
|
});
|
|
100
33
|
}
|
|
101
|
-
// Initialize endpoint instances
|
|
102
34
|
this.sites = new SitesEndpoint(this.baseEndpoint);
|
|
103
35
|
this.branches = new BranchesEndpoint(this.baseEndpoint);
|
|
104
36
|
this.documents = new DocumentsEndpoint(this.baseEndpoint);
|
|
105
37
|
this.versions = new VersionsEndpoint(this.baseEndpoint);
|
|
106
38
|
this.checkpoints = new CheckpointsEndpoint(this.baseEndpoint);
|
|
107
|
-
// Agent Politeness endpoints
|
|
108
39
|
this.presence = new PresenceEndpoint(this.baseEndpoint);
|
|
109
40
|
this.agentRegistry = new AgentRegistryEndpoint(this.baseEndpoint);
|
|
110
41
|
this.agentEdit = new AgentEditEndpoint(this.baseEndpoint);
|
|
111
|
-
// Merge endpoints
|
|
112
42
|
this.merge = new MergeEndpoint(this.baseEndpoint);
|
|
113
|
-
// Template endpoints
|
|
114
43
|
this.templates = new TemplatesEndpoint(this.baseEndpoint);
|
|
115
44
|
this.migrationConflicts = new MigrationConflictsEndpoint(this.baseEndpoint);
|
|
116
|
-
// Query endpoints
|
|
117
45
|
this.queries = new QueriesEndpoint(this.baseEndpoint);
|
|
46
|
+
this.translations = new TranslationsEndpoint(this.baseEndpoint);
|
|
47
|
+
this.relations = new RelationsEndpoint(this.baseEndpoint);
|
|
118
48
|
}
|
|
119
|
-
/**
|
|
120
|
-
* Create a new client instance with a different principal.
|
|
121
|
-
* Useful for making requests on behalf of different users.
|
|
122
|
-
*
|
|
123
|
-
* @param principal - The principal to use for requests
|
|
124
|
-
* @returns A new P1Client instance with the updated principal
|
|
125
|
-
*/
|
|
126
49
|
withPrincipal(principal) {
|
|
127
50
|
const newBaseEndpoint = this.baseEndpoint.withPrincipal(principal);
|
|
128
51
|
return new P1Client({ baseEndpoint: newBaseEndpoint });
|
|
129
52
|
}
|
|
130
|
-
/**
|
|
131
|
-
* Create a new client instance with session ID for agent authorization.
|
|
132
|
-
* The session ID is obtained from startEdit() and enables server-side
|
|
133
|
-
* enforcement of the Agent Politeness Protocol.
|
|
134
|
-
*
|
|
135
|
-
* @param sessionId - The session ID from startEdit()
|
|
136
|
-
* @returns A new P1Client instance with the session ID set
|
|
137
|
-
*
|
|
138
|
-
* @example
|
|
139
|
-
* ```typescript
|
|
140
|
-
* const session = await client.agentEdit.startEdit(siteId, branchId, docPath, context);
|
|
141
|
-
* const authorizedClient = client.withSessionId(session.sessionId);
|
|
142
|
-
* await authorizedClient.versions.create(siteId, params);
|
|
143
|
-
* ```
|
|
144
|
-
*/
|
|
145
53
|
withSessionId(sessionId) {
|
|
146
54
|
const newBaseEndpoint = this.baseEndpoint.withSessionId(sessionId);
|
|
147
55
|
return new P1Client({ baseEndpoint: newBaseEndpoint });
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/content.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* P1 Content Client
|
|
3
|
-
*
|
|
4
|
-
* Read-only client for fetching published content from the P1 content delivery API.
|
|
5
|
-
* Designed for server-side use (e.g., Next.js SSR/SSG) without pulling in
|
|
6
|
-
* browser dependencies like partysocket.
|
|
7
|
-
*/
|
|
8
1
|
import { P1ApiError } from './errors.js';
|
|
9
2
|
function trimTrailingSlashes(value) {
|
|
10
3
|
let end = value.length;
|
|
@@ -30,7 +23,6 @@ export class P1ContentClient {
|
|
|
30
23
|
this.branchId = config.branchId;
|
|
31
24
|
}
|
|
32
25
|
async getPage(documentPath) {
|
|
33
|
-
// Special case: "/" is the root page - don't include it in the URL path
|
|
34
26
|
const cleanPath = documentPath === '/' ? '' : trimLeadingSlashes(documentPath);
|
|
35
27
|
const pathSegment = cleanPath ? `/${cleanPath}` : '';
|
|
36
28
|
let url = `${this.baseUrl}/api/sites/${this.siteId}/content${pathSegment}`;
|
package/dist/content.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
|