@caltra/client 0.2.0 → 0.3.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 CHANGED
@@ -11,36 +11,31 @@ npm install @caltra/client
11
11
  ## Use
12
12
 
13
13
  ```ts
14
- import { CaltraClient, CaltraHandoffTokenProvider } from "@caltra/client";
14
+ import { CaltraClient } from "@caltra/client";
15
15
 
16
- const handoffs = new CaltraHandoffTokenProvider({
16
+ const client = new CaltraClient({
17
+ // Optional. Production defaults to https://api.caltra.dev.
17
18
  apiUrl: "https://api.caltra.dev",
18
- handoffProvider: async () => {
19
- const response = await fetch("/api/caltra/handoff", { method: "POST" });
19
+ authorizationCodeProvider: async () => {
20
+ const response = await fetch("/api/caltra/client-authorization", { method: "POST" });
20
21
  if (!response.ok) throw new Error("Caltra authentication failed.");
21
- return (await response.json() as { handoff_code: string }).handoff_code;
22
+ return (await response.json() as { authorization_code: string }).authorization_code;
22
23
  },
23
24
  });
24
25
 
25
- const client = new CaltraClient({
26
- apiUrl: "https://api.caltra.dev",
27
- tokenInvalidator: () => handoffs.invalidate(),
28
- tokenProvider: async () => await handoffs.getToken(),
29
- });
30
-
31
26
  const agents = await client.listAgents();
32
27
  const session = await client.createSession({ agentId: agents.data[0].id });
33
28
  const events = await client.openSessionEvents(session.id);
34
29
  ```
35
30
 
36
- The customer endpoint authenticates the current user, calls Caltra's server-side
37
- `POST /server/v1/workspaces/{workspace_id}/client-handoffs` endpoint with the stable external user
38
- ID and exact browser origin, and returns only `handoff_code`. The SDK exchanges each code once,
39
- caches only the resulting short-lived client token in memory, and requests a new handoff at the
40
- server-provided refresh time. Never embed a Caltra server API key in a browser bundle.
31
+ The customer endpoint authenticates the current user, uses `@caltra/server` to create a client
32
+ authorization with the stable external user ID and exact browser origin, and returns only
33
+ `authorization_code`. The SDK authenticates each code once at `/caltra/v1/auth/authenticate`,
34
+ caches only the resulting short-lived client token in memory, and requests a new authorization at
35
+ the server-provided refresh time. Never embed a Caltra server API key in a browser bundle.
41
36
 
42
37
  The organization-level Clerk connection configures the upstream identity boundary separately. Until
43
38
  direct Clerk exchange becomes available for SDK sessions, browser clients still use this
44
- provider-neutral handoff contract.
39
+ provider-neutral client-authorization contract.
45
40
 
46
41
  The package is ESM-only. See the [Caltra SDK repository](https://github.com/caltra-dev/caltra-sdk) for development and integration-app instructions.
package/dist/client.d.ts CHANGED
@@ -2,9 +2,9 @@ import { CaltraSessionEventConnection } from "./event_connection.js";
2
2
  import type { CaltraAgent, CaltraClientOptions, CaltraMessageSubmission, CaltraPage, CaltraPageInput, CaltraSession, CaltraSessionMessage } from "./types.js";
3
3
  /** Calls the versioned Caltra Client API without coupling applications to a React runtime. */
4
4
  export declare class CaltraClient {
5
- private readonly options;
6
5
  private readonly apiUrl;
7
6
  private readonly fetchImplementation;
7
+ private readonly tokenProvider;
8
8
  constructor(options: CaltraClientOptions);
9
9
  listAgents(input?: CaltraPageInput): Promise<CaltraPage<CaltraAgent>>;
10
10
  listSessions(input?: CaltraPageInput): Promise<CaltraPage<CaltraSession>>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAmCpB,8FAA8F;AAC9F,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAe;gBAEtB,OAAO,EAAE,mBAAmB;IAKnD,UAAU,CAAC,KAAK,GAAE,eAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAIzE,YAAY,CAAC,KAAK,GAAE,eAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAI7E,aAAa,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAQjE,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,eAAoB,GAC1B,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAQtC,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACrC,OAAO,CAAC,4BAA4B,CAAC;IAelC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYzF,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;YAIxB,OAAO;YAWP,OAAO;YAgBP,OAAO;IAMrB,OAAO,CAAC,GAAG;CAGZ"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAmCpB,8FAA8F;AAC9F,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAe;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;gBAE9C,OAAO,EAAE,mBAAmB;IAUlC,UAAU,CAAC,KAAK,GAAE,eAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAIzE,YAAY,CAAC,KAAK,GAAE,eAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAI7E,aAAa,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAQjE,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,eAAoB,GAC1B,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAQtC,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACrC,OAAO,CAAC,4BAA4B,CAAC;IAelC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYzF,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;YAIxB,OAAO;YAWP,OAAO;YAgBP,OAAO;IAMrB,OAAO,CAAC,GAAG;CAGZ"}
package/dist/client.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { CaltraApiError } from "./error.js";
3
3
  import { CaltraSessionEventConnection } from "./event_connection.js";
4
+ import { CaltraClientTokenProvider } from "./token_provider.js";
4
5
  const PageSchema = (item) => z.object({
5
6
  data: z.array(item),
6
7
  next_cursor: z.string().nullable(),
@@ -31,13 +32,13 @@ const SubmissionSchema = z.object({
31
32
  }).strict();
32
33
  /** Calls the versioned Caltra Client API without coupling applications to a React runtime. */
33
34
  export class CaltraClient {
34
- options;
35
35
  apiUrl;
36
36
  fetchImplementation;
37
+ tokenProvider;
37
38
  constructor(options) {
38
- this.options = options;
39
- this.apiUrl = options.apiUrl.replace(/\/+$/, "");
39
+ this.apiUrl = (options.apiUrl ?? "https://api.caltra.dev").replace(/\/+$/, "");
40
40
  this.fetchImplementation = options.fetch ?? globalThis.fetch.bind(globalThis);
41
+ this.tokenProvider = new CaltraClientTokenProvider(this.apiUrl, this.fetchImplementation, options.authorizationCodeProvider);
41
42
  }
42
43
  async listAgents(input = {}) {
43
44
  return await this.getPage("/agents", input, PageSchema(AgentSchema));
@@ -76,7 +77,7 @@ export class CaltraClient {
76
77
  });
77
78
  }
78
79
  async invalidateToken() {
79
- await this.options.tokenInvalidator?.();
80
+ this.tokenProvider.invalidate();
80
81
  }
81
82
  async getPage(path, input, schema) {
82
83
  const url = this.url(path);
@@ -97,7 +98,7 @@ export class CaltraClient {
97
98
  }
98
99
  async headers(input) {
99
100
  const headers = new Headers(input);
100
- headers.set("authorization", `Bearer ${await this.options.tokenProvider()}`);
101
+ headers.set("authorization", `Bearer ${await this.tokenProvider.getToken()}`);
101
102
  return headers;
102
103
  }
103
104
  url(path) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export { CaltraClient } from "./client.js";
2
2
  export { CaltraApiError } from "./error.js";
3
3
  export { CaltraSessionEventConnection } from "./event_connection.js";
4
- export { CaltraHandoffTokenProvider } from "./handoff_token_provider.js";
5
- export type { CaltraAgent, CaltraApiProblem, CaltraClientOptions, CaltraHandoffProvider, CaltraHandoffTokenProviderOptions, CaltraMessageCompletedEvent, CaltraMessageDeltaEvent, CaltraMessageStartedEvent, CaltraMessageSubmission, CaltraPage, CaltraPageInput, CaltraSession, CaltraSessionEvent, CaltraSessionMessage, CaltraTokenProvider, CaltraTokenConfiguration, } from "./types.js";
4
+ export type { CaltraAgent, CaltraApiProblem, CaltraAuthorizationCodeProvider, CaltraClientOptions, CaltraMessageCompletedEvent, CaltraMessageDeltaEvent, CaltraMessageStartedEvent, CaltraMessageSubmission, CaltraPage, CaltraPageInput, CaltraSession, CaltraSessionEvent, CaltraSessionMessage, CaltraTokenConfiguration, } from "./types.js";
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,iCAAiC,EACjC,2BAA2B,EAC3B,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,+BAA+B,EAC/B,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export { CaltraClient } from "./client.js";
2
2
  export { CaltraApiError } from "./error.js";
3
3
  export { CaltraSessionEventConnection } from "./event_connection.js";
4
- export { CaltraHandoffTokenProvider } from "./handoff_token_provider.js";
5
4
  //# 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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { CaltraClientOptions } from "./types.js";
2
+ /** Exchanges one-time authorization codes and retains only the resulting client token in memory. */
3
+ export declare class CaltraClientTokenProvider {
4
+ private readonly apiUrl;
5
+ private readonly fetchImplementation;
6
+ private readonly authorizationCodeProvider;
7
+ private configuration?;
8
+ private pending?;
9
+ constructor(apiUrl: string, fetchImplementation: typeof fetch, authorizationCodeProvider: CaltraClientOptions["authorizationCodeProvider"]);
10
+ getToken(): Promise<string>;
11
+ invalidate(): void;
12
+ private getConfiguration;
13
+ private authenticate;
14
+ }
15
+ //# sourceMappingURL=token_provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token_provider.d.ts","sourceRoot":"","sources":["../src/token_provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAA4B,MAAM,YAAY,CAAC;AAQhF,oGAAoG;AACpG,qBAAa,yBAAyB;IAKlC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAN5C,OAAO,CAAC,aAAa,CAAC,CAA2B;IACjD,OAAO,CAAC,OAAO,CAAC,CAAoC;gBAGjC,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,OAAO,KAAK,EACjC,yBAAyB,EAAE,mBAAmB,CAAC,2BAA2B,CAAC;IAGxF,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,UAAU,IAAI,IAAI;YAIJ,gBAAgB;YAchB,YAAY;CAsB3B"}
@@ -5,20 +5,17 @@ const TokenConfigurationSchema = z.object({
5
5
  expires_at: z.iso.datetime(),
6
6
  refresh_after: z.iso.datetime(),
7
7
  }).strict();
8
- /**
9
- * Exchanges customer-authenticated, single-use handoffs and retains only the resulting short-lived
10
- * Caltra client token in browser memory.
11
- */
12
- export class CaltraHandoffTokenProvider {
13
- options;
8
+ /** Exchanges one-time authorization codes and retains only the resulting client token in memory. */
9
+ export class CaltraClientTokenProvider {
14
10
  apiUrl;
15
- configuration;
16
11
  fetchImplementation;
12
+ authorizationCodeProvider;
13
+ configuration;
17
14
  pending;
18
- constructor(options) {
19
- this.options = options;
20
- this.apiUrl = options.apiUrl.replace(/\/+$/, "");
21
- this.fetchImplementation = options.fetch ?? globalThis.fetch.bind(globalThis);
15
+ constructor(apiUrl, fetchImplementation, authorizationCodeProvider) {
16
+ this.apiUrl = apiUrl;
17
+ this.fetchImplementation = fetchImplementation;
18
+ this.authorizationCodeProvider = authorizationCodeProvider;
22
19
  }
23
20
  async getToken() {
24
21
  return (await this.getConfiguration()).clientToken;
@@ -27,13 +24,12 @@ export class CaltraHandoffTokenProvider {
27
24
  this.configuration = undefined;
28
25
  }
29
26
  async getConfiguration() {
30
- if (this.configuration
31
- && Date.now() < this.configuration.refreshAfter.getTime()) {
27
+ if (this.configuration && Date.now() < this.configuration.refreshAfter.getTime()) {
32
28
  return this.configuration;
33
29
  }
34
30
  if (this.pending)
35
31
  return await this.pending;
36
- this.pending = this.exchange();
32
+ this.pending = this.authenticate();
37
33
  try {
38
34
  this.configuration = await this.pending;
39
35
  return this.configuration;
@@ -42,10 +38,10 @@ export class CaltraHandoffTokenProvider {
42
38
  this.pending = undefined;
43
39
  }
44
40
  }
45
- async exchange() {
46
- const handoffCode = await this.options.handoffProvider();
47
- const response = await this.fetchImplementation(`${this.apiUrl}/client/v1/auth/handoffs/exchange`, {
48
- body: JSON.stringify({ handoff_code: handoffCode }),
41
+ async authenticate() {
42
+ const authorizationCode = await this.authorizationCodeProvider();
43
+ const response = await this.fetchImplementation(`${this.apiUrl}/caltra/v1/auth/authenticate`, {
44
+ body: JSON.stringify({ authorization_code: authorizationCode }),
49
45
  headers: { "content-type": "application/json" },
50
46
  method: "POST",
51
47
  });
@@ -63,4 +59,4 @@ export class CaltraHandoffTokenProvider {
63
59
  return configuration;
64
60
  }
65
61
  }
66
- //# sourceMappingURL=handoff_token_provider.js.map
62
+ //# sourceMappingURL=token_provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token_provider.js","sourceRoot":"","sources":["../src/token_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC5B,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,oGAAoG;AACpG,MAAM,OAAO,yBAAyB;IAKjB;IACA;IACA;IANX,aAAa,CAA4B;IACzC,OAAO,CAAqC;IAEpD,YACmB,MAAc,EACd,mBAAiC,EACjC,yBAA2E;QAF3E,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAc;QACjC,8BAAyB,GAAzB,yBAAyB,CAAkD;IAC3F,CAAC;IAEJ,KAAK,CAAC,QAAQ;QACZ,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,WAAW,CAAC;IACrD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YACjF,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YACxC,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC7C,GAAG,IAAI,CAAC,MAAM,8BAA8B,EAC5C;YACE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;YAC/D,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,MAAM,EAAE,MAAM;SACf,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,MAAM,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG;YACpB,WAAW,EAAE,KAAK,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACrC,YAAY,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;SAC5C,CAAC;QACF,IAAI,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
package/dist/types.d.ts CHANGED
@@ -1,20 +1,13 @@
1
- export type CaltraTokenProvider = () => Promise<string>;
2
- export type CaltraHandoffProvider = () => Promise<string>;
3
- export interface CaltraHandoffTokenProviderOptions {
4
- apiUrl: string;
5
- fetch?: typeof fetch;
6
- handoffProvider: CaltraHandoffProvider;
7
- }
1
+ export type CaltraAuthorizationCodeProvider = () => Promise<string>;
8
2
  export interface CaltraTokenConfiguration {
9
3
  clientToken: string;
10
4
  expiresAt: Date;
11
5
  refreshAfter: Date;
12
6
  }
13
7
  export interface CaltraClientOptions {
14
- apiUrl: string;
8
+ apiUrl?: string;
9
+ authorizationCodeProvider: CaltraAuthorizationCodeProvider;
15
10
  fetch?: typeof fetch;
16
- tokenInvalidator?: () => Promise<void> | void;
17
- tokenProvider: CaltraTokenProvider;
18
11
  }
19
12
  export interface CaltraPageInput {
20
13
  cursor?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,+BAA+B,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB,EAAE,+BAA+B,CAAC;IAC3D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,sBAAsB;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,iBAAiB,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,sBAAsB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,KAAK,EAAE,eAAe,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,kBAAkB,GAC1B,yBAAyB,GACzB,uBAAuB,GACvB,2BAA2B,CAAC;AAEhC,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@caltra/client",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Framework-neutral browser client for the Caltra Client API",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -1,18 +0,0 @@
1
- import type { CaltraHandoffTokenProviderOptions } from "./types.js";
2
- /**
3
- * Exchanges customer-authenticated, single-use handoffs and retains only the resulting short-lived
4
- * Caltra client token in browser memory.
5
- */
6
- export declare class CaltraHandoffTokenProvider {
7
- private readonly options;
8
- private readonly apiUrl;
9
- private configuration?;
10
- private readonly fetchImplementation;
11
- private pending?;
12
- constructor(options: CaltraHandoffTokenProviderOptions);
13
- getToken(): Promise<string>;
14
- invalidate(): void;
15
- private getConfiguration;
16
- private exchange;
17
- }
18
- //# sourceMappingURL=handoff_token_provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handoff_token_provider.d.ts","sourceRoot":"","sources":["../src/handoff_token_provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iCAAiC,EAElC,MAAM,YAAY,CAAC;AAQpB;;;GAGG;AACH,qBAAa,0BAA0B;IAMzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,aAAa,CAAC,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAe;IACnD,OAAO,CAAC,OAAO,CAAC,CAAoC;gBAEvB,OAAO,EAAE,iCAAiC;IAKjE,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,UAAU,IAAI,IAAI;YAIJ,gBAAgB;YAiBhB,QAAQ;CAsBvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handoff_token_provider.js","sourceRoot":"","sources":["../src/handoff_token_provider.ts"],"names":[],"mappings":"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"}