@automattic/agenttic-client 0.1.1 → 0.1.2
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/auth/jetpack.d.ts +26 -7
- package/dist/auth/jetpack.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -29
- package/package.json +1 -1
package/dist/auth/jetpack.d.ts
CHANGED
|
@@ -28,31 +28,50 @@ interface TokenData {
|
|
|
28
28
|
blogId: string;
|
|
29
29
|
expire: number;
|
|
30
30
|
}
|
|
31
|
+
export interface JetpackApiError {
|
|
32
|
+
code?: string;
|
|
33
|
+
status?: number;
|
|
34
|
+
message?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Error handler function type for Jetpack authentication errors
|
|
38
|
+
*/
|
|
39
|
+
export type JetpackErrorHandler = (error: JetpackApiError) => string;
|
|
31
40
|
/**
|
|
32
41
|
* Request a JWT token from Jetpack for API authentication
|
|
42
|
+
* @param errorHandler - Function to handle and format error messages
|
|
33
43
|
* @param useCachedToken - Whether to use cached token if available and valid
|
|
34
44
|
* @return Token data with JWT token and blog ID, or null on failure
|
|
35
45
|
*/
|
|
36
|
-
export declare function requestJetpackToken(useCachedToken?: boolean): Promise<TokenData | null>;
|
|
46
|
+
export declare function requestJetpackToken(errorHandler: JetpackErrorHandler, useCachedToken?: boolean): Promise<TokenData | null>;
|
|
37
47
|
/**
|
|
38
|
-
* Jetpack authentication provider for use with Agenttic client.
|
|
48
|
+
* Create a Jetpack authentication provider for use with Agenttic client.
|
|
39
49
|
*
|
|
40
|
-
* This
|
|
41
|
-
*
|
|
50
|
+
* This factory function creates an authentication provider that handles
|
|
51
|
+
* authentication for WordPress sites with Jetpack, automatically managing
|
|
52
|
+
* token caching and refresh.
|
|
42
53
|
*
|
|
43
54
|
* @example
|
|
44
55
|
* ```typescript
|
|
45
|
-
* import {
|
|
56
|
+
* import { createJetpackAuthProvider } from '@automattic/agenttic-client';
|
|
46
57
|
* import { useAgent } from '@automattic/agenttic-client';
|
|
47
58
|
*
|
|
59
|
+
* const errorHandler = (error) => {
|
|
60
|
+
* if (error.code === 'rest_forbidden') {
|
|
61
|
+
* return 'Permission denied';
|
|
62
|
+
* }
|
|
63
|
+
* return 'Authentication failed';
|
|
64
|
+
* };
|
|
65
|
+
*
|
|
48
66
|
* const { state, sendMessage } = useAgent({
|
|
49
67
|
* agentId: 'my-agent',
|
|
50
|
-
* authProvider:
|
|
68
|
+
* authProvider: createJetpackAuthProvider(errorHandler),
|
|
51
69
|
* });
|
|
52
70
|
* ```
|
|
53
71
|
*
|
|
72
|
+
* @param errorHandler - Function to handle and format error messages
|
|
54
73
|
* @return Authentication provider function that returns headers with JWT token
|
|
55
74
|
*/
|
|
56
|
-
export declare const
|
|
75
|
+
export declare const createJetpackAuthProvider: (errorHandler: JetpackErrorHandler) => AuthProvider;
|
|
57
76
|
export {};
|
|
58
77
|
//# sourceMappingURL=jetpack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jetpack.d.ts","sourceRoot":"","sources":["../../src/auth/jetpack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,eAAO,MAAM,YAAY,yBAAyB,CAAC;AACnD,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AAExD,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,2BAA2B,CAAC,EAAE;YAC7B,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC;YACnB,gBAAgB,EAAE;gBAAE,QAAQ,EAAE,OAAO,CAAA;aAAE,CAAC;SACxC,CAAC;QACF,4BAA4B,CAAC,EAAE;YAC9B,WAAW,EAAE,MAAM,CAAC;SACpB,CAAC;KACF;CACD;AAED,UAAU,SAAS;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;
|
|
1
|
+
{"version":3,"file":"jetpack.d.ts","sourceRoot":"","sources":["../../src/auth/jetpack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,eAAO,MAAM,YAAY,yBAAyB,CAAC;AACnD,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AAExD,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,2BAA2B,CAAC,EAAE;YAC7B,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC;YACnB,gBAAgB,EAAE;gBAAE,QAAQ,EAAE,OAAO,CAAA;aAAE,CAAC;SACxC,CAAC;QACF,4BAA4B,CAAC,EAAE;YAC9B,WAAW,EAAE,MAAM,CAAC;SACpB,CAAC;KACF;CACD;AAED,UAAU,SAAS;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAE,KAAK,EAAE,eAAe,KAAM,MAAM,CAAC;AAmBvE;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACxC,YAAY,EAAE,mBAAmB,EACjC,cAAc,UAAO,GACnB,OAAO,CAAE,SAAS,GAAG,IAAI,CAAE,CA2E7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,yBAAyB,GACrC,cAAc,mBAAmB,KAC/B,YAkBF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,5 +18,5 @@ export { BarChart, LineChart, ChartBlock } from './markdown-extensions/charts';
|
|
|
18
18
|
export type { MarkdownExtensions, ChartExtensionConfig, ChartData, ChartSeries, } from './markdown-extensions/types';
|
|
19
19
|
export { createFeedbackActions, useMessageActions } from './message-actions';
|
|
20
20
|
export type { FeedbackActionsManager } from './message-actions';
|
|
21
|
-
export {
|
|
21
|
+
export { createJetpackAuthProvider, type JetpackErrorHandler, type JetpackApiError, } from './auth/jetpack';
|
|
22
22
|
//# sourceMappingURL=index.d.ts.map
|
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,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EACN,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,sBAAsB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,YAAY,EAEX,SAAS,EACT,cAAc,EACd,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,IAAI,EACJ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EAGvB,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EAGV,IAAI,EACJ,YAAY,EACZ,cAAc,EAGd,aAAa,EACb,eAAe,GACf,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACX,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/E,YAAY,EACX,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,WAAW,GACX,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EACN,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,sBAAsB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,YAAY,EAEX,SAAS,EACT,cAAc,EACd,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,IAAI,EACJ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EAGvB,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EAGV,IAAI,EACJ,YAAY,EACZ,cAAc,EAGd,aAAa,EACb,eAAe,GACf,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACX,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/E,YAAY,EACX,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,WAAW,GACX,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EACN,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACpB,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2181,24 +2181,16 @@ import apiFetch from "@wordpress/api-fetch";
|
|
|
2181
2181
|
var JWT_TOKEN_ID = "jetpack-ai-jwt-token";
|
|
2182
2182
|
var JWT_TOKEN_EXPIRATION_TIME = 30 * 60 * 1e3;
|
|
2183
2183
|
function isSimpleSite() {
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
if (error?.code === "rest_invalid_nonce") {
|
|
2188
|
-
return "Your session expired. Please refresh the page and try again or check your Jetpack connection.";
|
|
2189
|
-
}
|
|
2190
|
-
if (error?.code === "rest_forbidden" || error?.status === 403) {
|
|
2191
|
-
return "You don't have permission to access Jetpack AI features. Please check your user permissions.";
|
|
2192
|
-
}
|
|
2193
|
-
if (error?.code === "rest_no_route" || error?.status === 404) {
|
|
2194
|
-
return "Unable to connect to Jetpack. Please ensure the Jetpack plugin is active and up to date.";
|
|
2195
|
-
}
|
|
2196
|
-
if (error?.message?.includes("network") || error?.message?.includes("Network") || error?.message?.includes("fetch")) {
|
|
2197
|
-
return "Network connection issue. Please check your internet connection and try again.";
|
|
2184
|
+
const hasJetpackConnection = Boolean(window.JP_CONNECTION_INITIAL_STATE);
|
|
2185
|
+
if (hasJetpackConnection) {
|
|
2186
|
+
return false;
|
|
2198
2187
|
}
|
|
2199
|
-
|
|
2188
|
+
const isSimple = Boolean(
|
|
2189
|
+
window.Jetpack_Editor_Initial_State?.wpcomBlogId
|
|
2190
|
+
);
|
|
2191
|
+
return isSimple;
|
|
2200
2192
|
}
|
|
2201
|
-
async function requestJetpackToken(useCachedToken = true) {
|
|
2193
|
+
async function requestJetpackToken(errorHandler, useCachedToken = true) {
|
|
2202
2194
|
const token = localStorage.getItem(JWT_TOKEN_ID);
|
|
2203
2195
|
let tokenData;
|
|
2204
2196
|
if (token) {
|
|
@@ -2235,7 +2227,7 @@ async function requestJetpackToken(useCachedToken = true) {
|
|
|
2235
2227
|
}
|
|
2236
2228
|
} catch (error) {
|
|
2237
2229
|
console.log("Failed to fetch Jetpack token:", error);
|
|
2238
|
-
throw new Error(
|
|
2230
|
+
throw new Error(errorHandler(error));
|
|
2239
2231
|
}
|
|
2240
2232
|
if (!data?.token) {
|
|
2241
2233
|
throw new Error(
|
|
@@ -2254,18 +2246,20 @@ async function requestJetpackToken(useCachedToken = true) {
|
|
|
2254
2246
|
}
|
|
2255
2247
|
return newTokenData;
|
|
2256
2248
|
}
|
|
2257
|
-
var
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2249
|
+
var createJetpackAuthProvider = (errorHandler) => {
|
|
2250
|
+
return async () => {
|
|
2251
|
+
const headers = {};
|
|
2252
|
+
try {
|
|
2253
|
+
const tokenData = await requestJetpackToken(errorHandler);
|
|
2254
|
+
if (tokenData?.token) {
|
|
2255
|
+
headers.Authorization = `${tokenData.token}`;
|
|
2256
|
+
}
|
|
2257
|
+
} catch (error) {
|
|
2258
|
+
console.error("Failed to get Jetpack token for auth:", error);
|
|
2259
|
+
throw error;
|
|
2263
2260
|
}
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
throw error;
|
|
2267
|
-
}
|
|
2268
|
-
return headers;
|
|
2261
|
+
return headers;
|
|
2262
|
+
};
|
|
2269
2263
|
};
|
|
2270
2264
|
export {
|
|
2271
2265
|
A2AErrorCodes,
|
|
@@ -2274,6 +2268,7 @@ export {
|
|
|
2274
2268
|
LineChart,
|
|
2275
2269
|
createClient,
|
|
2276
2270
|
createFeedbackActions,
|
|
2271
|
+
createJetpackAuthProvider,
|
|
2277
2272
|
createMessageRenderer,
|
|
2278
2273
|
createRequestId,
|
|
2279
2274
|
createTaskId,
|
|
@@ -2281,7 +2276,6 @@ export {
|
|
|
2281
2276
|
extractTextFromMessage,
|
|
2282
2277
|
extractToolCallsFromMessage,
|
|
2283
2278
|
getAgentManager,
|
|
2284
|
-
jetpackAuthProvider,
|
|
2285
2279
|
useAgentChat,
|
|
2286
2280
|
useClientContext,
|
|
2287
2281
|
useClientTools,
|