@mondaydotcomorg/atp-client 0.23.0 → 0.23.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/client.d.ts +0 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js.map +1 -1
- package/dist/core/base-session.d.ts +28 -6
- package/dist/core/base-session.d.ts.map +1 -1
- package/dist/core/base-session.js +20 -4
- package/dist/core/base-session.js.map +1 -1
- package/dist/core/in-process-session.d.ts +0 -5
- package/dist/core/in-process-session.d.ts.map +1 -1
- package/dist/core/in-process-session.js +2 -12
- package/dist/core/in-process-session.js.map +1 -1
- package/dist/core/index.cjs +29 -44
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.js +29 -44
- package/dist/core/index.js.map +1 -1
- package/dist/core/session.d.ts +0 -4
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +2 -25
- package/dist/core/session.js.map +1 -1
- package/dist/index.cjs +33 -62
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +33 -62
- package/dist/index.js.map +1 -1
- package/dist/tools/explore-api.d.ts.map +1 -1
- package/dist/tools/explore-api.js +2 -24
- package/dist/tools/explore-api.js.map +1 -1
- package/package.json +3 -3
- package/src/client.ts +0 -1
- package/src/core/base-session.ts +34 -7
- package/src/core/in-process-session.ts +3 -15
- package/src/core/session.ts +3 -30
- package/src/tools/explore-api.ts +3 -37
package/dist/client.d.ts
CHANGED
|
@@ -13,7 +13,6 @@ interface InProcessServer {
|
|
|
13
13
|
handleExplore(ctx: unknown): Promise<unknown>;
|
|
14
14
|
handleExecute(ctx: unknown): Promise<unknown>;
|
|
15
15
|
handleResume(ctx: unknown, executionId: string): Promise<unknown>;
|
|
16
|
-
handleTokenRefresh(ctx: unknown): Promise<unknown>;
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
18
|
* Options for creating an AgentToolProtocolClient
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,eAAe,EACf,aAAa,EACb,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,aAAa,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EACN,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAEhB,KAAK,kBAAkB,EAMvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,IAAI,EAKT,MAAM,kBAAkB,CAAC;AAE1B,UAAU,eAAe;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,cAAc,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,qBAAqB,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,IAAI,OAAO,CAAC;IACnB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAaA,OAAO,EAQN,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEN,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,GACpB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,23 @@ export interface ISession {
|
|
|
31
31
|
refreshTokenIfNeeded(): Promise<void>;
|
|
32
32
|
setTokenRefreshConfig(config: Partial<TokenRefreshConfig>): void;
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Stored init parameters for re-initialization during token refresh.
|
|
36
|
+
*/
|
|
37
|
+
export interface StoredInitParams {
|
|
38
|
+
clientInfo?: {
|
|
39
|
+
name?: string;
|
|
40
|
+
version?: string;
|
|
41
|
+
[key: string]: unknown;
|
|
42
|
+
};
|
|
43
|
+
tools?: ClientToolDefinition[];
|
|
44
|
+
services?: {
|
|
45
|
+
hasLLM: boolean;
|
|
46
|
+
hasApproval: boolean;
|
|
47
|
+
hasEmbedding: boolean;
|
|
48
|
+
hasTools: boolean;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
34
51
|
/**
|
|
35
52
|
* Base session class with shared token management logic.
|
|
36
53
|
* Subclasses implement the transport-specific operations (HTTP vs in-process).
|
|
@@ -42,8 +59,9 @@ export declare abstract class BaseSession implements ISession {
|
|
|
42
59
|
protected tokenRotateAt?: number;
|
|
43
60
|
protected initPromise?: Promise<void>;
|
|
44
61
|
protected refreshPromise?: Promise<void>;
|
|
62
|
+
protected storedInitParams?: StoredInitParams;
|
|
45
63
|
protected tokenRefreshConfig: TokenRefreshConfig;
|
|
46
|
-
constructor(tokenRefreshConfig?: Partial<TokenRefreshConfig>);
|
|
64
|
+
protected constructor(tokenRefreshConfig?: Partial<TokenRefreshConfig>);
|
|
47
65
|
/**
|
|
48
66
|
* Initialize the session - must be implemented by subclass
|
|
49
67
|
*/
|
|
@@ -74,9 +92,12 @@ export declare abstract class BaseSession implements ISession {
|
|
|
74
92
|
*/
|
|
75
93
|
abstract prepareHeaders(method: string, url: string, body?: unknown): Promise<Record<string, string>>;
|
|
76
94
|
/**
|
|
77
|
-
* Perform
|
|
95
|
+
* Perform token refresh by re-initializing the session.
|
|
96
|
+
* Resets the init guard and calls init() again with the stored params,
|
|
97
|
+
* effectively creating a fresh session without depending on the old
|
|
98
|
+
* session still existing in the server's cache.
|
|
78
99
|
*/
|
|
79
|
-
protected
|
|
100
|
+
protected doRefreshToken(): Promise<void>;
|
|
80
101
|
/**
|
|
81
102
|
* Gets the unique client ID.
|
|
82
103
|
*/
|
|
@@ -94,8 +115,8 @@ export declare abstract class BaseSession implements ISession {
|
|
|
94
115
|
* This is called automatically before requests when autoRefresh is enabled.
|
|
95
116
|
* Uses a shared promise to prevent concurrent refresh requests.
|
|
96
117
|
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
118
|
+
* Refresh works by re-initializing the session (calling init() again),
|
|
119
|
+
* so it does not depend on the old session still existing in the server's cache.
|
|
99
120
|
*/
|
|
100
121
|
refreshTokenIfNeeded(): Promise<void>;
|
|
101
122
|
/**
|
|
@@ -103,7 +124,8 @@ export declare abstract class BaseSession implements ISession {
|
|
|
103
124
|
*/
|
|
104
125
|
protected updateTokenState(credentials: TokenCredentials): void;
|
|
105
126
|
/**
|
|
106
|
-
* Check if URL should skip token refresh (to avoid infinite recursion)
|
|
127
|
+
* Check if URL should skip token refresh (to avoid infinite recursion).
|
|
128
|
+
* Since refresh now calls init(), we only need to guard the init path.
|
|
107
129
|
*/
|
|
108
130
|
protected shouldSkipRefreshForUrl(url: string): boolean;
|
|
109
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-session.d.ts","sourceRoot":"","sources":["../../src/core/base-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,IAAI,CACH,UAAU,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACxE,KAAK,CAAC,EAAE,oBAAoB,EAAE,EAC9B,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAC5F,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,WAAW,IAAI,MAAM,CAAC;IACtB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,UAAU,IAAI,MAAM,CAAC;IACrB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7F,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;CACjE;AAED;;;GAGG;AACH,8BAAsB,WAAY,YAAW,QAAQ;IACpD,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAG9C;
|
|
1
|
+
{"version":3,"file":"base-session.d.ts","sourceRoot":"","sources":["../../src/core/base-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export class BaseSession {
|
|
|
9
9
|
tokenRotateAt;
|
|
10
10
|
initPromise;
|
|
11
11
|
refreshPromise;
|
|
12
|
+
storedInitParams;
|
|
12
13
|
tokenRefreshConfig = {
|
|
13
14
|
enabled: true,
|
|
14
15
|
bufferMs: 1000,
|
|
@@ -18,6 +19,20 @@ export class BaseSession {
|
|
|
18
19
|
this.tokenRefreshConfig = { ...this.tokenRefreshConfig, ...tokenRefreshConfig };
|
|
19
20
|
}
|
|
20
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Perform token refresh by re-initializing the session.
|
|
24
|
+
* Resets the init guard and calls init() again with the stored params,
|
|
25
|
+
* effectively creating a fresh session without depending on the old
|
|
26
|
+
* session still existing in the server's cache.
|
|
27
|
+
*/
|
|
28
|
+
async doRefreshToken() {
|
|
29
|
+
if (!this.storedInitParams) {
|
|
30
|
+
throw new Error('Cannot refresh token: init params not stored. Was init() called?');
|
|
31
|
+
}
|
|
32
|
+
// Reset the init guard so init() runs a fresh handshake
|
|
33
|
+
this.initPromise = undefined;
|
|
34
|
+
await this.init(this.storedInitParams.clientInfo, this.storedInitParams.tools, this.storedInitParams.services);
|
|
35
|
+
}
|
|
21
36
|
/**
|
|
22
37
|
* Gets the unique client ID.
|
|
23
38
|
*/
|
|
@@ -46,8 +61,8 @@ export class BaseSession {
|
|
|
46
61
|
* This is called automatically before requests when autoRefresh is enabled.
|
|
47
62
|
* Uses a shared promise to prevent concurrent refresh requests.
|
|
48
63
|
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
64
|
+
* Refresh works by re-initializing the session (calling init() again),
|
|
65
|
+
* so it does not depend on the old session still existing in the server's cache.
|
|
51
66
|
*/
|
|
52
67
|
async refreshTokenIfNeeded() {
|
|
53
68
|
// Skip if auto-refresh is disabled
|
|
@@ -85,10 +100,11 @@ export class BaseSession {
|
|
|
85
100
|
this.tokenRotateAt = credentials.tokenRotateAt;
|
|
86
101
|
}
|
|
87
102
|
/**
|
|
88
|
-
* Check if URL should skip token refresh (to avoid infinite recursion)
|
|
103
|
+
* Check if URL should skip token refresh (to avoid infinite recursion).
|
|
104
|
+
* Since refresh now calls init(), we only need to guard the init path.
|
|
89
105
|
*/
|
|
90
106
|
shouldSkipRefreshForUrl(url) {
|
|
91
|
-
return url.includes('/api/
|
|
107
|
+
return url.includes('/api/init');
|
|
92
108
|
}
|
|
93
109
|
}
|
|
94
110
|
//# sourceMappingURL=base-session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-session.js","sourceRoot":"","sources":["../../src/core/base-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-session.js","sourceRoot":"","sources":["../../src/core/base-session.ts"],"names":[],"mappings":"AAwCA;;;GAGG;AACH,MAAM,OAAgB,WAAW;IACtB,QAAQ,CAAU;IAClB,WAAW,CAAU;IACrB,cAAc,CAAU;IACxB,aAAa,CAAU;IACvB,WAAW,CAAiB;IAC5B,cAAc,CAAiB;IAC/B,gBAAgB,CAAoB;IACpC,kBAAkB,GAAuB;QAClD,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACd,CAAC;IAEF,YAAsB,kBAAgD;QACrE,IAAI,kBAAkB,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAAC;QACjF,CAAC;IACF,CAAC;IA+BD;;;;;OAKG;IACO,KAAK,CAAC,cAAc;QAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACrF,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAE7B,MAAM,IAAI,CAAC,IAAI,CACd,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAChC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAC3B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,MAAmC;QACxD,IAAI,CAAC,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,MAAM,EAAE,CAAC;IACrE,CAAC;IAED;;OAEG;IACO,iBAAiB;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,CACN,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YAClG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CACjE,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,oBAAoB;QACzB,mCAAmC;QACnC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO;QACR,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,OAAO;QACR,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC/B,OAAO,CAAC,uBAAuB;QAChC,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,cAAc,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5C,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,cAAc,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QACjC,CAAC;IACF,CAAC;IAED;;OAEG;IACO,gBAAgB,CAAC,WAA6B;QACvD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;IAChD,CAAC;IAED;;;OAGG;IACO,uBAAuB,CAAC,GAAW;QAC5C,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;CACD"}
|
|
@@ -14,7 +14,6 @@ export interface InProcessServer {
|
|
|
14
14
|
handleExplore(ctx: InProcessRequestContext): Promise<unknown>;
|
|
15
15
|
handleExecute(ctx: InProcessRequestContext): Promise<unknown>;
|
|
16
16
|
handleResume(ctx: InProcessRequestContext, executionId: string): Promise<unknown>;
|
|
17
|
-
handleTokenRefresh(ctx: InProcessRequestContext): Promise<unknown>;
|
|
18
17
|
}
|
|
19
18
|
/**
|
|
20
19
|
* Request context for in-process server calls
|
|
@@ -76,10 +75,6 @@ export declare class InProcessSession extends BaseSession {
|
|
|
76
75
|
*/
|
|
77
76
|
getHeaders(): Record<string, string>;
|
|
78
77
|
getBaseUrl(): string;
|
|
79
|
-
/**
|
|
80
|
-
* Perform the actual token refresh via in-process server call
|
|
81
|
-
*/
|
|
82
|
-
protected doRefreshToken(): Promise<void>;
|
|
83
78
|
/**
|
|
84
79
|
* Prepares headers for a request, refreshing token if needed
|
|
85
80
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-process-session.d.ts","sourceRoot":"","sources":["../../src/core/in-process-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,UAAU,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,cAAc,CAAC,GAAG,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,qBAAqB,CAAC,GAAG,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,OAAO,IAAI,OAAO,CAAC;IACnB,YAAY,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,aAAa,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,aAAa,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,YAAY,CAAC,GAAG,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"in-process-session.d.ts","sourceRoot":"","sources":["../../src/core/in-process-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export class InProcessSession extends BaseSession {
|
|
|
14
14
|
* Initializes the client session with the in-process server.
|
|
15
15
|
*/
|
|
16
16
|
async init(clientInfo, tools, services) {
|
|
17
|
+
// Store init params so doRefreshToken() can re-init with the same data
|
|
18
|
+
this.storedInitParams = { clientInfo, tools, services };
|
|
17
19
|
if (this.initPromise) {
|
|
18
20
|
await this.initPromise;
|
|
19
21
|
return {
|
|
@@ -69,18 +71,6 @@ export class InProcessSession extends BaseSession {
|
|
|
69
71
|
getBaseUrl() {
|
|
70
72
|
return '';
|
|
71
73
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Perform the actual token refresh via in-process server call
|
|
74
|
-
*/
|
|
75
|
-
async doRefreshToken() {
|
|
76
|
-
const ctx = await this.createContext({
|
|
77
|
-
method: 'POST',
|
|
78
|
-
path: '/api/token/refresh',
|
|
79
|
-
body: { clientId: this.clientId },
|
|
80
|
-
});
|
|
81
|
-
const result = (await this.server.handleTokenRefresh(ctx));
|
|
82
|
-
this.updateTokenState(result);
|
|
83
|
-
}
|
|
84
74
|
/**
|
|
85
75
|
* Prepares headers for a request, refreshing token if needed
|
|
86
76
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-process-session.js","sourceRoot":"","sources":["../../src/core/in-process-session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"in-process-session.js","sourceRoot":"","sources":["../../src/core/in-process-session.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.cjs
CHANGED
|
@@ -23,6 +23,7 @@ var BaseSession = class {
|
|
|
23
23
|
tokenRotateAt;
|
|
24
24
|
initPromise;
|
|
25
25
|
refreshPromise;
|
|
26
|
+
storedInitParams;
|
|
26
27
|
tokenRefreshConfig = {
|
|
27
28
|
enabled: true,
|
|
28
29
|
bufferMs: 1e3
|
|
@@ -36,6 +37,19 @@ var BaseSession = class {
|
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
40
|
+
* Perform token refresh by re-initializing the session.
|
|
41
|
+
* Resets the init guard and calls init() again with the stored params,
|
|
42
|
+
* effectively creating a fresh session without depending on the old
|
|
43
|
+
* session still existing in the server's cache.
|
|
44
|
+
*/
|
|
45
|
+
async doRefreshToken() {
|
|
46
|
+
if (!this.storedInitParams) {
|
|
47
|
+
throw new Error("Cannot refresh token: init params not stored. Was init() called?");
|
|
48
|
+
}
|
|
49
|
+
this.initPromise = void 0;
|
|
50
|
+
await this.init(this.storedInitParams.clientInfo, this.storedInitParams.tools, this.storedInitParams.services);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
39
53
|
* Gets the unique client ID.
|
|
40
54
|
*/
|
|
41
55
|
getClientId() {
|
|
@@ -65,8 +79,8 @@ var BaseSession = class {
|
|
|
65
79
|
* This is called automatically before requests when autoRefresh is enabled.
|
|
66
80
|
* Uses a shared promise to prevent concurrent refresh requests.
|
|
67
81
|
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
82
|
+
* Refresh works by re-initializing the session (calling init() again),
|
|
83
|
+
* so it does not depend on the old session still existing in the server's cache.
|
|
70
84
|
*/
|
|
71
85
|
async refreshTokenIfNeeded() {
|
|
72
86
|
if (!this.tokenRefreshConfig.enabled) {
|
|
@@ -99,10 +113,11 @@ var BaseSession = class {
|
|
|
99
113
|
this.tokenRotateAt = credentials.tokenRotateAt;
|
|
100
114
|
}
|
|
101
115
|
/**
|
|
102
|
-
* Check if URL should skip token refresh (to avoid infinite recursion)
|
|
116
|
+
* Check if URL should skip token refresh (to avoid infinite recursion).
|
|
117
|
+
* Since refresh now calls init(), we only need to guard the init path.
|
|
103
118
|
*/
|
|
104
119
|
shouldSkipRefreshForUrl(url) {
|
|
105
|
-
return url.includes("/api/
|
|
120
|
+
return url.includes("/api/init");
|
|
106
121
|
}
|
|
107
122
|
};
|
|
108
123
|
|
|
@@ -126,6 +141,11 @@ var ClientSession = class extends BaseSession {
|
|
|
126
141
|
* The server generates and returns a unique client ID and token.
|
|
127
142
|
*/
|
|
128
143
|
async init(clientInfo, tools, services) {
|
|
144
|
+
this.storedInitParams = {
|
|
145
|
+
clientInfo,
|
|
146
|
+
tools,
|
|
147
|
+
services
|
|
148
|
+
};
|
|
129
149
|
if (this.initPromise) {
|
|
130
150
|
await this.initPromise;
|
|
131
151
|
return {
|
|
@@ -187,32 +207,6 @@ var ClientSession = class extends BaseSession {
|
|
|
187
207
|
return this.baseUrl;
|
|
188
208
|
}
|
|
189
209
|
/**
|
|
190
|
-
* Perform the actual token refresh via HTTP
|
|
191
|
-
*/
|
|
192
|
-
async doRefreshToken() {
|
|
193
|
-
const url = `${this.baseUrl}/api/token/refresh`;
|
|
194
|
-
const body = JSON.stringify({
|
|
195
|
-
clientId: this.clientId
|
|
196
|
-
});
|
|
197
|
-
const headers = {
|
|
198
|
-
"Content-Type": "application/json",
|
|
199
|
-
...this.customHeaders,
|
|
200
|
-
"X-Client-ID": this.clientId,
|
|
201
|
-
Authorization: `Bearer ${this.clientToken}`
|
|
202
|
-
};
|
|
203
|
-
const response = await fetch(url, {
|
|
204
|
-
method: "POST",
|
|
205
|
-
headers,
|
|
206
|
-
body
|
|
207
|
-
});
|
|
208
|
-
if (!response.ok) {
|
|
209
|
-
const errorText = await response.text();
|
|
210
|
-
throw new Error(`Token refresh failed: ${response.status} ${response.statusText} - ${errorText}`);
|
|
211
|
-
}
|
|
212
|
-
const data = await response.json();
|
|
213
|
-
this.updateTokenState(data);
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
210
|
* Prepares headers for a request, refreshing token if needed and calling preRequest hook if configured
|
|
217
211
|
*/
|
|
218
212
|
async prepareHeaders(method, url, body) {
|
|
@@ -253,6 +247,11 @@ var InProcessSession = class extends BaseSession {
|
|
|
253
247
|
* Initializes the client session with the in-process server.
|
|
254
248
|
*/
|
|
255
249
|
async init(clientInfo, tools, services) {
|
|
250
|
+
this.storedInitParams = {
|
|
251
|
+
clientInfo,
|
|
252
|
+
tools,
|
|
253
|
+
services
|
|
254
|
+
};
|
|
256
255
|
if (this.initPromise) {
|
|
257
256
|
await this.initPromise;
|
|
258
257
|
return {
|
|
@@ -309,20 +308,6 @@ var InProcessSession = class extends BaseSession {
|
|
|
309
308
|
return "";
|
|
310
309
|
}
|
|
311
310
|
/**
|
|
312
|
-
* Perform the actual token refresh via in-process server call
|
|
313
|
-
*/
|
|
314
|
-
async doRefreshToken() {
|
|
315
|
-
const ctx = await this.createContext({
|
|
316
|
-
method: "POST",
|
|
317
|
-
path: "/api/token/refresh",
|
|
318
|
-
body: {
|
|
319
|
-
clientId: this.clientId
|
|
320
|
-
}
|
|
321
|
-
});
|
|
322
|
-
const result = await this.server.handleTokenRefresh(ctx);
|
|
323
|
-
this.updateTokenState(result);
|
|
324
|
-
}
|
|
325
|
-
/**
|
|
326
311
|
* Prepares headers for a request, refreshing token if needed
|
|
327
312
|
*/
|
|
328
313
|
async prepareHeaders(_method, url, _body) {
|