kitty-agent 7.0.0 → 8.0.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/out/agent.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import { XRPC, type XRPCOptions, type XRPCRequestOptions, type XRPCResponse } from "@atcute/client";
2
2
  import type { At, ComAtprotoRepoApplyWrites, ComAtprotoRepoCreateRecord, ComAtprotoRepoDeleteRecord, ComAtprotoRepoGetRecord, ComAtprotoRepoListRecords, ComAtprotoRepoPutRecord, ComAtprotoSyncGetBlob, ComAtprotoSyncListRepos, Procedures, Queries, Records } from "@atcute/client/lexicons";
3
+ import { AtUri } from "@atproto/syntax";
3
4
  interface GetRecordParams<K extends keyof Records> extends ComAtprotoRepoGetRecord.Params {
4
5
  collection: K;
5
6
  }
6
- interface GetRecordOutput<K extends keyof Records> extends ComAtprotoRepoGetRecord.Output {
7
- value: Records[K];
7
+ interface ListRecordsParams<K extends keyof Records> extends ComAtprotoRepoListRecords.Params {
8
+ collection: K;
8
9
  }
9
10
  interface PutRecordInput<K extends keyof Records> extends ComAtprotoRepoPutRecord.Input {
10
11
  collection: K;
@@ -14,17 +15,20 @@ interface CreateRecordInput<K extends keyof Records> extends ComAtprotoRepoCreat
14
15
  collection: K;
15
16
  record: Records[K];
16
17
  }
17
- interface ListRecordsParams<K extends keyof Records> extends ComAtprotoRepoListRecords.Params {
18
+ interface DeleteRecordInput<K extends keyof Records> extends ComAtprotoRepoDeleteRecord.Input {
18
19
  collection: K;
19
20
  }
20
- interface ListRecordsOutput<K extends keyof Records> extends ComAtprotoRepoListRecords.Output {
21
- records: ListRecordsRecord<K>[];
22
- }
23
- interface ListRecordsRecord<K extends keyof Records> extends ComAtprotoRepoListRecords.Record {
21
+ interface GetRecordOutput<K extends keyof Records> {
22
+ cid?: At.CID;
23
+ uri: AtUri;
24
24
  value: Records[K];
25
25
  }
26
- interface DeleteRecordInput<K extends keyof Records> extends ComAtprotoRepoDeleteRecord.Input {
27
- collection: K;
26
+ interface ListRecordsOutput<K extends keyof Records> {
27
+ records: {
28
+ cid: At.CID;
29
+ uri: AtUri;
30
+ value: Records[K];
31
+ }[];
28
32
  }
29
33
  export declare function isInvalidSwapError(err: unknown): boolean;
30
34
  export declare function isRecordNotFoundError(err: unknown): boolean;
@@ -45,6 +49,12 @@ type DataThenParams<T> = T extends {
45
49
  } ? [data: U, params: V] : [data: U] : T extends {
46
50
  params: infer W;
47
51
  } ? [data: undefined, params: W] : [];
52
+ export interface ActorInfo<X extends XRPC = XRPC> {
53
+ pdsEndpoint?: string;
54
+ did: At.DID;
55
+ handle?: string;
56
+ pdsAgent: KittyAgent<X>;
57
+ }
48
58
  export declare class KittyAgent<X extends XRPC = XRPC> {
49
59
  readonly xrpc: X;
50
60
  constructor(opts: XRPCOptions | X);
@@ -110,6 +120,7 @@ export declare class KittyAgent<X extends XRPC = XRPC> {
110
120
  }>;
111
121
  batchWrite(params: ComAtprotoRepoApplyWrites.Input): Promise<ComAtprotoRepoApplyWrites.Output>;
112
122
  resolveHandle(handle: string): Promise<At.DID>;
123
+ getActorInfo(didOrHandle: string): Promise<ActorInfo>;
113
124
  }
114
125
  export {};
115
126
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/out/agent.js CHANGED
@@ -1,11 +1,30 @@
1
1
  /* eslint-disable @typescript-eslint/no-empty-object-type */
2
- import { simpleFetchHandler, XRPC, XRPCError } from "@atcute/client";
2
+ import { CredentialManager, simpleFetchHandler, XRPC, XRPCError } from "@atcute/client";
3
+ import { AtUri } from "@atproto/syntax";
4
+ import { getDid, getDidDocument, getHandle, getPdsEndpoint } from "./handles/did-document.js";
3
5
  export function isInvalidSwapError(err) {
4
6
  return err instanceof XRPCError && err.kind === 'InvalidSwap';
5
7
  }
6
8
  export function isRecordNotFoundError(err) {
7
9
  return err instanceof XRPCError && err.kind === 'RecordNotFound';
8
10
  }
11
+ function makeRecordTyped(record) {
12
+ let memoizedAtUri;
13
+ const uri = record.uri; // closure variable
14
+ return {
15
+ ...record,
16
+ value: record.value,
17
+ get uri() {
18
+ return memoizedAtUri ??= new AtUri(uri);
19
+ }
20
+ };
21
+ }
22
+ function makeRecordsTyped(value) {
23
+ return {
24
+ ...value,
25
+ records: value.records.map(makeRecordTyped)
26
+ };
27
+ }
9
28
  export class KittyAgent {
10
29
  xrpc;
11
30
  constructor(opts) {
@@ -29,7 +48,7 @@ export class KittyAgent {
29
48
  return outData;
30
49
  }
31
50
  async get(params) {
32
- const data = await this.query('com.atproto.repo.getRecord', params);
51
+ const data = makeRecordTyped(await this.query('com.atproto.repo.getRecord', params));
33
52
  return data;
34
53
  }
35
54
  async getBlob(params) {
@@ -77,7 +96,7 @@ export class KittyAgent {
77
96
  }
78
97
  }
79
98
  async list(params) {
80
- const data = await this.query('com.atproto.repo.listRecords', params);
99
+ const data = makeRecordsTyped(await this.query('com.atproto.repo.listRecords', params));
81
100
  return data;
82
101
  }
83
102
  async put(params) {
@@ -134,13 +153,14 @@ export class KittyAgent {
134
153
  return { [key]: results, cursor };
135
154
  }
136
155
  async paginatedList(params) {
137
- return await this.paginationHelper(params.limit, 'records', async (cursor, limit) => await this.query('com.atproto.repo.listRecords', {
156
+ const data = makeRecordsTyped(await this.paginationHelper(params.limit, 'records', async (cursor, limit) => await this.query('com.atproto.repo.listRecords', {
138
157
  repo: params.repo,
139
158
  collection: params.collection,
140
159
  limit,
141
160
  reverse: params.reverse ?? true,
142
161
  cursor
143
- }), output => output.records, (a, b) => a.uri === b.uri);
162
+ }), output => output.records, (a, b) => a.uri === b.uri));
163
+ return data;
144
164
  }
145
165
  async paginatedListBlobs(params) {
146
166
  return await this.paginationHelper(params.limit, 'cids', async (cursor, limit) => await this.query('com.atproto.sync.listBlobs', {
@@ -166,5 +186,29 @@ export class KittyAgent {
166
186
  });
167
187
  return did;
168
188
  }
189
+ async getActorInfo(didOrHandle) {
190
+ const didDoc = didOrHandle.startsWith('did:')
191
+ ? await getDidDocument(didOrHandle)
192
+ : await this.query('com.atproto.repo.describeRepo', { repo: didOrHandle })
193
+ .then(response => response.didDoc);
194
+ const pdsEndpoint = didDoc ? getPdsEndpoint(didDoc) : undefined;
195
+ let did = didDoc ? getDid(didDoc) : undefined;
196
+ const handle = didDoc ? getHandle(didDoc) : undefined;
197
+ if (!did) {
198
+ const didResponse = !didOrHandle.startsWith('did:')
199
+ ? await this.query('com.atproto.identity.resolveHandle', { handle: didOrHandle })
200
+ : { did: handle };
201
+ did = didResponse.did;
202
+ }
203
+ const pdsAgent = pdsEndpoint
204
+ ? new KittyAgent({ handler: new CredentialManager({ service: pdsEndpoint }) })
205
+ : this;
206
+ return {
207
+ pdsEndpoint,
208
+ did,
209
+ handle,
210
+ pdsAgent
211
+ };
212
+ }
169
213
  }
170
214
  //# sourceMappingURL=agent.js.map
package/out/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ import type { At } from "@atcute/client/lexicons";
23
23
  /**
24
24
  * DID document
25
25
  */
26
- interface DidDocument {
26
+ export interface DidDocument {
27
27
  id: string;
28
28
  alsoKnownAs?: string[];
29
29
  verificationMethod?: Array<{
@@ -53,5 +53,6 @@ export declare function getPdsEndpoint(doc: DidDocument): string | undefined;
53
53
  */
54
54
  export declare function getServiceEndpoint(doc: DidDocument, serviceId: string, serviceType: string): string | undefined;
55
55
  export declare function getDidDocument(did: At.DID): Promise<DidDocument>;
56
- export {};
56
+ export declare function getDid(didDoc: DidDocument): At.DID;
57
+ export declare function getHandle(didDoc: DidDocument): string | undefined;
57
58
  //# sourceMappingURL=did-document.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"did-document.d.ts","sourceRoot":"","sources":["../../src/handles/did-document.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AAEF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AACH,UAAU,WAAW;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClD,CAAC,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAWpB;AAiBD,wBAAsB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CA2CtE"}
1
+ {"version":3,"file":"did-document.d.ts","sourceRoot":"","sources":["../../src/handles/did-document.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AAEF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,KAAK,CAAC;QACvB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrD,CAAC,CAAC;CACN;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAWpB;AAiBD,wBAAsB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CA2CtE;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,EAAE,CAAC,GAAG,CAElD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,sBAI5C"}
@@ -90,4 +90,12 @@ export async function getDidDocument(did) {
90
90
  }
91
91
  return doc;
92
92
  }
93
+ export function getDid(didDoc) {
94
+ return didDoc.id;
95
+ }
96
+ export function getHandle(didDoc) {
97
+ return didDoc.alsoKnownAs
98
+ ?.find(handle => handle.startsWith('at://'))
99
+ ?.slice('at://'.length);
100
+ }
93
101
  //# sourceMappingURL=did-document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"did-document.js","sourceRoot":"","sources":["../../src/handles/did-document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"did-document.js","sourceRoot":"","sources":["../../src/handles/did-document.ts"],"names":[],"mappings":"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"}
package/out/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './agent.js';
2
2
  export * from './cid.js';
3
- export * from './oauth.js';
3
+ export * from './rkey.js';
4
4
  export * from './pds-helpers.js';
5
5
  export * from './shortid.js';
6
6
  export { resolveHandleAnonymously } from './handles/resolve.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC"}
package/out/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './agent.js';
2
2
  export * from './cid.js';
3
- export * from './oauth.js';
3
+ export * from './rkey.js';
4
4
  export * from './pds-helpers.js';
5
5
  export * from './shortid.js';
6
6
  export { resolveHandleAnonymously } from './handles/resolve.js';
package/out/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,75 @@
1
+ import type { XRPC } from "@atcute/client";
2
+ import type { At } from "@atcute/client/lexicons";
3
+ import type { KittyAgent } from "./agent.js";
4
+ import { BaseStatefulOAuthClient, type Account, type LoginState } from "./oauth-stateful-base.js";
5
+ declare namespace Signals {
6
+ type OnEffectFunction<S, Prev, Next extends Prev = Prev> = (input: S, prevInput: S | undefined, prev: Prev) => Next;
7
+ type EffectFunction<Prev, Next extends Prev = Prev> = (v: Prev) => Next;
8
+ interface OnOptions {
9
+ defer?: boolean;
10
+ }
11
+ interface BaseOptions {
12
+ name?: string;
13
+ }
14
+ interface EffectOptions extends BaseOptions {
15
+ }
16
+ interface MemoOptions<T> extends EffectOptions {
17
+ equals?: false | ((prev: T, next: T) => boolean);
18
+ }
19
+ type Accessor<T> = () => T;
20
+ type Setter<in out T> = {
21
+ <U extends T>(...args: undefined extends T ? [] : [value: Exclude<U, Function> | ((prev: T) => U)]): undefined extends T ? undefined : U;
22
+ <U extends T>(value: (prev: T) => U): U;
23
+ <U extends T>(value: Exclude<U, Function>): U;
24
+ <U extends T>(value: Exclude<U, Function> | ((prev: T) => U)): U;
25
+ };
26
+ type Signal<T> = [get: Accessor<T>, set: Setter<T>];
27
+ interface SignalOptions<T> extends MemoOptions<T> {
28
+ internal?: boolean;
29
+ }
30
+ type ReturnTypes<T> = T extends readonly Accessor<unknown>[] ? {
31
+ [K in keyof T]: T[K] extends Accessor<infer I> ? I : never;
32
+ } : T extends Accessor<infer I> ? I : never;
33
+ type AccessorArray<T> = [
34
+ ...Extract<{
35
+ [K in keyof T]: Accessor<T[K]>;
36
+ }, readonly unknown[]>
37
+ ];
38
+ function on<S, Next extends Prev, Prev = Next>(deps: AccessorArray<S> | Accessor<S>, fn: OnEffectFunction<S, undefined | NoInfer<Prev>, Next>, options?: OnOptions & {
39
+ defer?: false;
40
+ }): EffectFunction<undefined | NoInfer<Next>, NoInfer<Next>>;
41
+ }
42
+ export declare class StatefulSolidOAuthClient<TClient> extends BaseStatefulOAuthClient<TClient> {
43
+ private _account;
44
+ private _agent;
45
+ private _client;
46
+ get account(): Signals.Accessor<Account | undefined>;
47
+ readonly user: Signals.Accessor<LoginState<TClient> | undefined>;
48
+ readonly handle: Signals.Accessor<string | undefined>;
49
+ readonly did: Signals.Accessor<At.DID | undefined>;
50
+ readonly pds: Signals.Accessor<string | undefined>;
51
+ protected get internal_account(): Account | undefined;
52
+ protected get internal_user(): LoginState<TClient> | undefined;
53
+ protected get internal_agent(): KittyAgent<XRPC> | undefined;
54
+ protected get internal_client(): TClient | undefined;
55
+ protected set internal_account(value: Account | undefined);
56
+ protected set internal_agent(value: KittyAgent<XRPC> | undefined);
57
+ protected set internal_client(value: TClient | undefined);
58
+ constructor(options: {
59
+ clientId: string;
60
+ redirectUri: string;
61
+ scope: string;
62
+ }, { createSignal, createMemo, createEffect, on }: {
63
+ createSignal<T>(value: T): Signals.Signal<T>;
64
+ createMemo<Next extends Prev, Prev = Next>(fn: Signals.EffectFunction<undefined | NoInfer<Prev>, Next>): Signals.Accessor<Next>;
65
+ createEffect<Next>(fn: Signals.EffectFunction<undefined | NoInfer<Next>, Next>): void;
66
+ on<S, Next extends Prev, Prev = Next>(deps: Signals.AccessorArray<S> | Signals.Accessor<S>, fn: Signals.OnEffectFunction<S, undefined | NoInfer<Prev>, Next>): Signals.EffectFunction<undefined | NoInfer<Next>, NoInfer<Next>>;
67
+ }, createClient: (loginState: {
68
+ readonly handle: string;
69
+ readonly did: At.DID;
70
+ readonly pds: string;
71
+ readonly agent: KittyAgent;
72
+ }) => TClient);
73
+ }
74
+ export {};
75
+ //# sourceMappingURL=oauth-solidjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-solidjs.d.ts","sourceRoot":"","sources":["../src/oauth-solidjs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { BaseStatefulOAuthClient, LoginStateImpl } from "./oauth-stateful-base.js";
2
+ var Signals;
3
+ (function (Signals) {
4
+ })(Signals || (Signals = {}));
5
+ // biome-ignore lint/suspicious/noConstEnum: This enum is never exported
6
+ var SignalAccess;
7
+ (function (SignalAccess) {
8
+ SignalAccess[SignalAccess["Read"] = 0] = "Read";
9
+ SignalAccess[SignalAccess["Write"] = 1] = "Write";
10
+ })(SignalAccess || (SignalAccess = {}));
11
+ export class StatefulSolidOAuthClient extends BaseStatefulOAuthClient {
12
+ _account;
13
+ _agent;
14
+ _client;
15
+ get account() { return this._account[SignalAccess.Read]; }
16
+ user;
17
+ handle;
18
+ did;
19
+ pds;
20
+ get internal_account() { return this._account[SignalAccess.Read](); }
21
+ get internal_user() { return this.user(); }
22
+ get internal_agent() { return this._agent[SignalAccess.Read](); }
23
+ get internal_client() { return this._client[SignalAccess.Read](); }
24
+ set internal_account(value) { this._account[SignalAccess.Write](() => value); }
25
+ set internal_agent(value) { this._agent[SignalAccess.Write](() => value); }
26
+ set internal_client(value) { this._client[SignalAccess.Write](() => value); }
27
+ constructor(options, { createSignal, createMemo, createEffect, on }, createClient) {
28
+ super(options, createClient);
29
+ function useLocalStorage(key, initialValue, options) {
30
+ const [get, set] = createSignal(initialValue);
31
+ if (key in localStorage) {
32
+ set(options.deserializer(localStorage[key]));
33
+ }
34
+ createEffect(on(get, newValue => {
35
+ localStorage[key] = options.serializer(newValue);
36
+ }));
37
+ return [get, set];
38
+ }
39
+ this._account = useLocalStorage('user', undefined, {
40
+ deserializer(raw) { return raw === 'null' ? undefined : JSON.parse(raw); },
41
+ serializer(value) { return value === undefined ? 'null' : JSON.stringify(value); },
42
+ });
43
+ this._agent = createSignal(undefined);
44
+ this._client = createSignal(undefined);
45
+ this.user = createMemo(on([
46
+ this._account[SignalAccess.Read],
47
+ this._agent[SignalAccess.Read],
48
+ this._client[SignalAccess.Read]
49
+ ], ([account, agent, client]) => {
50
+ return account && agent && client ? new LoginStateImpl(account, agent, client) : undefined;
51
+ }));
52
+ this.handle = createMemo(on(this._account[SignalAccess.Read], account => account?.handle));
53
+ this.did = createMemo(on(this._account[SignalAccess.Read], account => account?.did));
54
+ this.pds = createMemo(on(this._account[SignalAccess.Read], account => account?.pds));
55
+ }
56
+ }
57
+ //# sourceMappingURL=oauth-solidjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-solidjs.js","sourceRoot":"","sources":["../src/oauth-solidjs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { At } from "@atcute/client/lexicons";
2
+ import { KittyAgent } from "./agent.js";
3
+ import { OAuthClient } from "./oauth.js";
4
+ export interface LoginState<T> {
5
+ readonly handle: string;
6
+ readonly did: At.DID;
7
+ readonly pds: string;
8
+ readonly agent: KittyAgent;
9
+ readonly client: T;
10
+ }
11
+ export interface Account {
12
+ handle: string;
13
+ did: At.DID;
14
+ pds: string;
15
+ }
16
+ /** @private */
17
+ export declare class LoginStateImpl<T> implements LoginState<T> {
18
+ private readonly account;
19
+ readonly agent: KittyAgent;
20
+ readonly client: T;
21
+ constructor(account: Account, agent: KittyAgent, client: T);
22
+ get handle(): string;
23
+ get did(): At.DID;
24
+ get pds(): string;
25
+ }
26
+ export declare abstract class BaseStatefulOAuthClient<TClient> extends OAuthClient {
27
+ private readonly createClient;
28
+ protected abstract accessor internal_account: Account | undefined;
29
+ protected abstract get internal_user(): LoginState<TClient> | undefined;
30
+ protected abstract accessor internal_agent: KittyAgent | undefined;
31
+ protected abstract accessor internal_client: TClient | undefined;
32
+ constructor(options: {
33
+ clientId: string;
34
+ redirectUri: string;
35
+ scope: string;
36
+ }, createClient: (loginState: {
37
+ readonly handle: string;
38
+ readonly did: At.DID;
39
+ readonly pds: string;
40
+ readonly agent: KittyAgent;
41
+ }) => TClient);
42
+ authenticateIfNecessary(handle: string, refreshOnly: boolean): Promise<boolean>;
43
+ revokeSessions(): void;
44
+ private initialSessionPromise;
45
+ waitForInitialSession(): Promise<void>;
46
+ }
47
+ //# sourceMappingURL=oauth-stateful-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-stateful-base.d.ts","sourceRoot":"","sources":["../src/oauth-stateful-base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,MAAM,WAAW,UAAU,CAAC,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACf;AAED,eAAe;AACf,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IAE/C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,KAAK,EAAE,UAAU;IAC1B,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAFD,OAAO,EAAE,OAAO,EACxB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,CAAC;IAGtB,IAAI,MAAM,IAAI,MAAM,CAAgC;IACpD,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,CAA6B;IAC9C,IAAI,GAAG,IAAI,MAAM,CAA6B;CACjD;AAED,8BAAsB,uBAAuB,CAAC,OAAO,CAAE,SAAQ,WAAW;IAYlE,OAAO,CAAC,QAAQ,CAAC,YAAY;IAXjC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;IAClE,SAAS,CAAC,QAAQ,KAAK,aAAa,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IACxE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,CAAC;IACnE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;gBAG7D,OAAO,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACjB,EACgB,YAAY,EAAE,CAAC,UAAU,EAAE;QACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;QACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;KAC9B,KAAK,OAAO;IAKX,uBAAuB,CACzB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO;IAuBxB,cAAc;IAKd,OAAO,CAAC,qBAAqB,CAA4B;IACnD,qBAAqB;CAe9B"}
@@ -0,0 +1,58 @@
1
+ import { KittyAgent } from "./agent.js";
2
+ import { OAuthClient } from "./oauth.js";
3
+ import { getDidAndPds } from "./pds-helpers.js";
4
+ /** @private */
5
+ export class LoginStateImpl {
6
+ account;
7
+ agent;
8
+ client;
9
+ constructor(account, agent, client) {
10
+ this.account = account;
11
+ this.agent = agent;
12
+ this.client = client;
13
+ }
14
+ get handle() { return this.account.handle; }
15
+ get did() { return this.account.did; }
16
+ get pds() { return this.account.pds; }
17
+ }
18
+ export class BaseStatefulOAuthClient extends OAuthClient {
19
+ createClient;
20
+ constructor(options, createClient) {
21
+ super(options);
22
+ this.createClient = createClient;
23
+ }
24
+ async authenticateIfNecessary(handle, refreshOnly) {
25
+ const account = this.internal_account;
26
+ if (this.internal_user && account && account.handle === handle) {
27
+ return true;
28
+ }
29
+ const { did, pds } = await getDidAndPds(handle);
30
+ this.internal_account = { did, pds, handle };
31
+ console.log('set account:', this.internal_account);
32
+ const oauthAgent = await this.oauthAuthenticateOrRefresh(handle, refreshOnly);
33
+ if (oauthAgent === undefined)
34
+ return false;
35
+ const agent = new KittyAgent({ handler: oauthAgent });
36
+ this.internal_agent = agent;
37
+ this.internal_client = this.createClient({ did, pds, handle, agent });
38
+ return true;
39
+ }
40
+ revokeSessions() {
41
+ super.revokeSessions();
42
+ this.internal_account = undefined;
43
+ }
44
+ initialSessionPromise;
45
+ async waitForInitialSession() {
46
+ if (!this.initialSessionPromise) {
47
+ this.initialSessionPromise = (async () => {
48
+ const account = this.internal_account;
49
+ if (account) { // automatically sign in if possible
50
+ const result = await this.authenticateIfNecessary(account.handle, true);
51
+ console.log(`early authentication complete: ${result}`);
52
+ }
53
+ })();
54
+ }
55
+ await this.initialSessionPromise;
56
+ }
57
+ }
58
+ //# sourceMappingURL=oauth-stateful-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-stateful-base.js","sourceRoot":"","sources":["../src/oauth-stateful-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgBhD,eAAe;AACf,MAAM,OAAO,cAAc;IAEF;IACR;IACA;IAHb,YACqB,OAAgB,EACxB,KAAiB,EACjB,MAAS;QAFD,YAAO,GAAP,OAAO,CAAS;QACxB,UAAK,GAAL,KAAK,CAAY;QACjB,WAAM,GAAN,MAAM,CAAG;IACnB,CAAC;IAEJ,IAAI,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,IAAI,GAAG,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,IAAI,GAAG,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,OAAgB,uBAAiC,SAAQ,WAAW;IAYjD;IANrB,YACI,OAIC,EACgB,YAKJ;QAEb,KAAK,CAAC,OAAO,CAAC,CAAC;QAPE,iBAAY,GAAZ,YAAY,CAKhB;IAGjB,CAAC;IAED,KAAK,CAAC,uBAAuB,CACzB,MAAc,EACd,WAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEtC,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAElD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAE3C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc;QACV,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACtC,CAAC;IAEO,qBAAqB,CAA4B;IACzD,KAAK,CAAC,qBAAqB;QACvB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9B,IAAI,CAAC,qBAAqB,GAAG,CAAC,KAAK,IAAI,EAAE;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAEtC,IAAI,OAAO,EAAE,CAAC,CAAC,oCAAoC;oBAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBACxE,OAAO,CAAC,GAAG,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;QACT,CAAC;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC;IACrC,CAAC;CAEJ"}
@@ -0,0 +1,80 @@
1
+ import type { At } from "@atcute/client/lexicons";
2
+ import type { KittyAgent } from "./agent.js";
3
+ import { BaseStatefulOAuthClient, type Account, type LoginState } from "./oauth-stateful-base.js";
4
+ import type { XRPC } from "@atcute/client";
5
+ export declare namespace Store {
6
+ /** Callback to inform of a value updates. */
7
+ type Subscriber<T> = (value: T) => void;
8
+ /** Unsubscribes from value updates. */
9
+ type Unsubscriber = () => void;
10
+ /** Callback to update a value. */
11
+ type Updater<T> = (value: T) => T;
12
+ /** Readable interface for subscribing. */
13
+ interface Readable<T> {
14
+ /**
15
+ * Subscribe on value changes.
16
+ * @param run subscription callback
17
+ * @param invalidate cleanup callback
18
+ */
19
+ subscribe(this: void, run: Subscriber<T>, invalidate?: () => void): Unsubscriber;
20
+ /**
21
+ * Get the current value from a store.
22
+ */
23
+ get?: (this: void) => T;
24
+ }
25
+ /** Writable interface for both updating and subscribing. */
26
+ interface Writable<T> extends Readable<T> {
27
+ /**
28
+ * Update value using callback and inform subscribers.
29
+ * @param updater callback
30
+ */
31
+ update(this: void, updater: Updater<T>): void;
32
+ }
33
+ /** One or more values from `Readable` stores. */
34
+ type StoresValues<T> = T extends Readable<infer U> ? U : {
35
+ [K in keyof T]: T[K] extends Readable<infer U> ? U : never;
36
+ };
37
+ }
38
+ /** Convenience class for readable stores that adds a .get() method. */
39
+ declare class ReadableEx<T, TStore extends Store.Readable<T> = Store.Readable<T>> implements Store.Readable<T> {
40
+ protected readonly store: TStore;
41
+ constructor(store: TStore);
42
+ subscribe: (this: void, run: Store.Subscriber<T>, invalidate?: () => void) => Store.Unsubscriber;
43
+ /**
44
+ * Get the current value from a store by subscribing and immediately unsubscribing.
45
+ * Reimplementation of `svelte/store` `get()`.
46
+ */
47
+ get: (this: void) => T;
48
+ }
49
+ export declare class StatefulSvelteOAuthClient<TClient> extends BaseStatefulOAuthClient<TClient> {
50
+ private _account;
51
+ private _agent;
52
+ private _client;
53
+ get account(): ReadableEx<Account | undefined>;
54
+ readonly user: ReadableEx<LoginState<TClient> | undefined>;
55
+ readonly handle: ReadableEx<string | undefined>;
56
+ readonly did: ReadableEx<At.DID | undefined>;
57
+ readonly pds: ReadableEx<string | undefined>;
58
+ protected get internal_account(): Account | undefined;
59
+ protected get internal_user(): LoginState<TClient> | undefined;
60
+ protected get internal_agent(): KittyAgent<XRPC> | undefined;
61
+ protected get internal_client(): TClient | undefined;
62
+ protected set internal_account(value: Account | undefined);
63
+ protected set internal_agent(value: KittyAgent<XRPC> | undefined);
64
+ protected set internal_client(value: TClient | undefined);
65
+ constructor(options: {
66
+ clientId: string;
67
+ redirectUri: string;
68
+ scope: string;
69
+ }, svelte: {
70
+ createWritableStore: <T>(value: T) => Store.Writable<T>;
71
+ createDerivedStore: <T, S extends Store.Readable<any>[]>(stores: S, callback: (values: Store.StoresValues<S>) => T) => Store.Readable<T>;
72
+ }, createClient: (loginState: {
73
+ readonly handle: string;
74
+ readonly did: At.DID;
75
+ readonly pds: string;
76
+ readonly agent: KittyAgent;
77
+ }) => TClient);
78
+ }
79
+ export {};
80
+ //# sourceMappingURL=oauth-svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-svelte.d.ts","sourceRoot":"","sources":["../src/oauth-svelte.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import { OAuthClient } from "./oauth.js";
2
+ import { getDidAndPds } from "./pds-helpers.js";
3
+ import { BaseStatefulOAuthClient, LoginStateImpl } from "./oauth-stateful-base.js";
4
+ /** Convenience class for readable stores that adds a .get() method. */
5
+ class ReadableEx {
6
+ store;
7
+ constructor(store) {
8
+ this.store = store;
9
+ this.subscribe = (run, invalidate) => {
10
+ return store.subscribe(run, invalidate);
11
+ };
12
+ this.get = () => {
13
+ if ('get' in store && store.get) {
14
+ return store.get();
15
+ }
16
+ let value;
17
+ const unsub = store.subscribe(avalue => value = avalue);
18
+ unsub();
19
+ return value;
20
+ };
21
+ }
22
+ subscribe;
23
+ /**
24
+ * Get the current value from a store by subscribing and immediately unsubscribing.
25
+ * Reimplementation of `svelte/store` `get()`.
26
+ */
27
+ get;
28
+ }
29
+ /** Convenience class for writable stores that adds a .get() method. */
30
+ class WritableEx extends ReadableEx {
31
+ constructor(store) {
32
+ super(store);
33
+ this.update = (updater) => {
34
+ return this.store.update(updater);
35
+ };
36
+ this.set = (value) => {
37
+ return this.store.update(() => value);
38
+ };
39
+ }
40
+ update;
41
+ /**
42
+ * Set value and inform subscribers.
43
+ * @param value to set
44
+ */
45
+ set;
46
+ }
47
+ class SvelteAccessor {
48
+ createWritableStore;
49
+ createDerivedStore;
50
+ constructor(createWritableStore, createDerivedStore) {
51
+ this.createWritableStore = createWritableStore;
52
+ this.createDerivedStore = createDerivedStore;
53
+ }
54
+ writable(initialValue) {
55
+ return new WritableEx(this.createWritableStore(initialValue));
56
+ }
57
+ derived(stores, callback) {
58
+ return new ReadableEx(this.createDerivedStore(stores, callback));
59
+ }
60
+ }
61
+ export class StatefulSvelteOAuthClient extends BaseStatefulOAuthClient {
62
+ _account;
63
+ _agent;
64
+ _client;
65
+ get account() { return this._account; }
66
+ user;
67
+ handle;
68
+ did;
69
+ pds;
70
+ get internal_account() { return this._account.get(); }
71
+ get internal_user() { return this.user.get(); }
72
+ get internal_agent() { return this._agent.get(); }
73
+ get internal_client() { return this._client.get(); }
74
+ set internal_account(value) { this._account.set(value); }
75
+ set internal_agent(value) { this._agent.set(value); }
76
+ set internal_client(value) { this._client.set(value); }
77
+ constructor(options, svelte, createClient) {
78
+ super(options, createClient);
79
+ const svelteAccessor = new SvelteAccessor(svelte.createWritableStore, svelte.createDerivedStore);
80
+ function useLocalStorage(key, initialValue, options) {
81
+ const value = svelteAccessor.writable(initialValue);
82
+ if (key in localStorage) {
83
+ value.set(options.deserializer(localStorage[key]));
84
+ }
85
+ value.subscribe(newValue => {
86
+ localStorage[key] = options.serializer(newValue);
87
+ });
88
+ return value;
89
+ }
90
+ this._account = useLocalStorage('user', undefined, {
91
+ deserializer(raw) { return raw === 'null' ? undefined : JSON.parse(raw); },
92
+ serializer(value) { return value === undefined ? 'null' : JSON.stringify(value); },
93
+ });
94
+ this._agent = svelteAccessor.writable(undefined);
95
+ this._client = svelteAccessor.writable(undefined);
96
+ this.user = svelteAccessor.derived([this._account, this._agent, this._client], ([account, agent, client]) => {
97
+ return account && agent && client ? new LoginStateImpl(account, agent, client) : undefined;
98
+ });
99
+ this.handle = svelteAccessor.derived([this._account], ([account]) => account?.handle);
100
+ this.did = svelteAccessor.derived([this._account], ([account]) => account?.did);
101
+ this.pds = svelteAccessor.derived([this._account], ([account]) => account?.pds);
102
+ }
103
+ }
104
+ //# sourceMappingURL=oauth-svelte.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-svelte.js","sourceRoot":"","sources":["../src/oauth-svelte.ts"],"names":[],"mappings":"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"}
package/out/oauth.d.ts CHANGED
@@ -1,7 +1,5 @@
1
- import type { At } from '@atcute/client/lexicons';
2
1
  import { OAuthUserAgent } from '@atcute/oauth-browser-client';
3
- import { KittyAgent } from './index.js';
4
- declare class OAuthClient {
2
+ export declare class OAuthClient {
5
3
  private readonly scope;
6
4
  constructor({ clientId, redirectUri, scope }: {
7
5
  clientId: string;
@@ -12,87 +10,4 @@ declare class OAuthClient {
12
10
  oauthAuthenticateOrRefresh(handle: string, refreshOnly: boolean): Promise<OAuthUserAgent | undefined>;
13
11
  revokeSessions(): void;
14
12
  }
15
- export interface LoginState<T> {
16
- readonly handle: string;
17
- readonly did: At.DID;
18
- readonly pds: string;
19
- readonly agent: KittyAgent;
20
- readonly client: T;
21
- }
22
- export interface Account {
23
- handle: string;
24
- did: At.DID;
25
- pds: string;
26
- }
27
- export declare namespace Store {
28
- /** Callback to inform of a value updates. */
29
- type Subscriber<T> = (value: T) => void;
30
- /** Unsubscribes from value updates. */
31
- type Unsubscriber = () => void;
32
- /** Callback to update a value. */
33
- type Updater<T> = (value: T) => T;
34
- /** Readable interface for subscribing. */
35
- interface Readable<T> {
36
- /**
37
- * Subscribe on value changes.
38
- * @param run subscription callback
39
- * @param invalidate cleanup callback
40
- */
41
- subscribe(this: void, run: Subscriber<T>, invalidate?: () => void): Unsubscriber;
42
- }
43
- /** Writable interface for both updating and subscribing. */
44
- interface Writable<T> extends Readable<T> {
45
- /**
46
- * Update value using callback and inform subscribers.
47
- * @param updater callback
48
- */
49
- update(this: void, updater: Updater<T>): void;
50
- }
51
- /** One or more values from `Readable` stores. */
52
- type StoresValues<T> = T extends Readable<infer U> ? U : {
53
- [K in keyof T]: T[K] extends Readable<infer U> ? U : never;
54
- };
55
- }
56
- /** Convenience class for readable stores that adds a .get() method. */
57
- declare class ReadableEx<T, TStore extends Store.Readable<T> = Store.Readable<T>> implements Store.Readable<T> {
58
- protected readonly store: TStore;
59
- constructor(store: TStore);
60
- subscribe: (this: void, run: Store.Subscriber<T>, invalidate?: () => void) => Store.Unsubscriber;
61
- /**
62
- * Get the current value from a store by subscribing and immediately unsubscribing.
63
- * Reimplementation of `svelte/store` `get()`.
64
- */
65
- get: (this: void) => T;
66
- }
67
- export declare class StatefulOAuthClient<TClient> extends OAuthClient {
68
- private readonly createWritableStore;
69
- private readonly createDerivedStore;
70
- private readonly createClient;
71
- private _account;
72
- private _agent;
73
- private _client;
74
- get account(): ReadableEx<Account | undefined>;
75
- readonly user: ReadableEx<LoginState<TClient> | undefined>;
76
- readonly handle: ReadableEx<string | undefined>;
77
- readonly did: ReadableEx<At.DID | undefined>;
78
- readonly pds: ReadableEx<string | undefined>;
79
- constructor(options: {
80
- clientId: string;
81
- redirectUri: string;
82
- scope: string;
83
- }, createWritableStore: <T>(value: T) => Store.Writable<T>, createDerivedStore: <T, S extends Store.Readable<any>[]>(stores: S, callback: (values: Store.StoresValues<S>) => T) => Store.Readable<T>, createClient: (loginState: {
84
- readonly handle: string;
85
- readonly did: At.DID;
86
- readonly pds: string;
87
- readonly agent: KittyAgent;
88
- }) => TClient);
89
- private useLocalStorage;
90
- private writable;
91
- private derived;
92
- authenticateIfNecessary(handle: string, refreshOnly: boolean): Promise<boolean>;
93
- initialSessionPromise: Promise<void> | undefined;
94
- waitForInitialSession(): Promise<void>;
95
- revokeSessions(): void;
96
- }
97
- export {};
98
13
  //# sourceMappingURL=oauth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AACA,OAAO,EAAsH,cAAc,EAAqC,MAAM,8BAA8B,CAAC;AAKrN,qBAAa,WAAW;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE;QAC1C,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACjB;IAUK,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAyBhC,0BAA0B,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO;IA0BxB,cAAc;CAKjB"}
package/out/oauth.js CHANGED
@@ -1,8 +1,8 @@
1
- import { configureOAuth, createAuthorizationUrl, deleteStoredSession, getSession, listStoredSessions, OAuthUserAgent, resolveFromIdentity } from '@atcute/oauth-browser-client';
1
+ import { configureOAuth, createAuthorizationUrl, deleteStoredSession, finalizeAuthorization, getSession, listStoredSessions, OAuthUserAgent, resolveFromIdentity } from '@atcute/oauth-browser-client';
2
2
  import { KittyAgent } from './index.js';
3
3
  import { resolveHandleAnonymously } from './handles/resolve.js';
4
4
  import { getDidAndPds } from './pds-helpers.js';
5
- class OAuthClient {
5
+ export class OAuthClient {
6
6
  scope;
7
7
  constructor({ clientId, redirectUri, scope }) {
8
8
  configureOAuth({
@@ -55,141 +55,6 @@ class OAuthClient {
55
55
  }
56
56
  }
57
57
  }
58
- /** Convenience class for readable stores that adds a .get() method. */
59
- class ReadableEx {
60
- store;
61
- constructor(store) {
62
- this.store = store;
63
- this.subscribe = (run, invalidate) => {
64
- return store.subscribe(run, invalidate);
65
- };
66
- this.get = () => {
67
- let value;
68
- const unsub = store.subscribe(avalue => value = avalue);
69
- unsub();
70
- return value;
71
- };
72
- }
73
- subscribe;
74
- /**
75
- * Get the current value from a store by subscribing and immediately unsubscribing.
76
- * Reimplementation of `svelte/store` `get()`.
77
- */
78
- get;
79
- }
80
- /** Convenience class for writable stores that adds a .get() method. */
81
- class WritableEx extends ReadableEx {
82
- constructor(store) {
83
- super(store);
84
- this.update = (updater) => {
85
- return this.store.update(updater);
86
- };
87
- this.set = (value) => {
88
- return this.store.update(() => value);
89
- };
90
- }
91
- update;
92
- /**
93
- * Set value and inform subscribers.
94
- * @param value to set
95
- */
96
- set;
97
- }
98
- class LoginStateImpl {
99
- account;
100
- agent;
101
- client;
102
- constructor(account, agent, client) {
103
- this.account = account;
104
- this.agent = agent;
105
- this.client = client;
106
- }
107
- get handle() { return this.account.handle; }
108
- get did() { return this.account.did; }
109
- get pds() { return this.account.pds; }
110
- }
111
- export class StatefulOAuthClient extends OAuthClient {
112
- createWritableStore;
113
- createDerivedStore;
114
- createClient;
115
- _account;
116
- _agent;
117
- _client;
118
- get account() { return this._account; }
119
- user;
120
- handle;
121
- did;
122
- pds;
123
- constructor(options, createWritableStore, createDerivedStore, createClient) {
124
- super(options);
125
- this.createWritableStore = createWritableStore;
126
- this.createDerivedStore = createDerivedStore;
127
- this.createClient = createClient;
128
- // TODO computations created outside a `createRoot` or `render` will never be disposed
129
- // use createContext/useContext?
130
- this._account = this.useLocalStorage('user', undefined, {
131
- deserializer(raw) { return raw === 'null' ? undefined : JSON.parse(raw); },
132
- serializer(value) { return value === undefined ? 'null' : JSON.stringify(value); },
133
- });
134
- this._agent = this.writable(undefined);
135
- this._client = this.writable(undefined);
136
- this.user = this.derived([this._account, this._agent, this._client], ([account, agent, client]) => {
137
- return account && agent && client ? new LoginStateImpl(account, agent, client) : undefined;
138
- });
139
- this.handle = this.derived([this._account], ([account]) => account?.handle);
140
- this.did = this.derived([this._account], ([account]) => account?.did);
141
- this.pds = this.derived([this._account], ([account]) => account?.pds);
142
- }
143
- useLocalStorage(key, initialValue, options) {
144
- const value = this.writable(initialValue);
145
- if (key in localStorage) {
146
- value.set(options.deserializer(localStorage[key]));
147
- }
148
- value.subscribe(newValue => {
149
- localStorage[key] = options.serializer(newValue);
150
- });
151
- return value;
152
- }
153
- writable(initialValue) {
154
- return new WritableEx(this.createWritableStore(initialValue));
155
- }
156
- derived(stores, callback) {
157
- return new ReadableEx(this.createDerivedStore(stores, callback));
158
- }
159
- async authenticateIfNecessary(handle, refreshOnly) {
160
- const account = this._account.get();
161
- if (this.user.get() && account && account.handle === handle) {
162
- return true;
163
- }
164
- const { did, pds } = await getDidAndPds(handle);
165
- this._account.set({ did, pds, handle });
166
- console.log(`set account: ${this._account.get()}`);
167
- const oauthAgent = await this.oauthAuthenticateOrRefresh(handle, refreshOnly);
168
- if (oauthAgent === undefined)
169
- return false;
170
- const agent = new KittyAgent({ handler: oauthAgent });
171
- this._agent.set(agent);
172
- this._client.set(this.createClient({ did, pds, handle, agent }));
173
- return true;
174
- }
175
- initialSessionPromise;
176
- async waitForInitialSession() {
177
- if (!this.initialSessionPromise) {
178
- this.initialSessionPromise = (async () => {
179
- const account = this._account.get();
180
- if (account) { // automatically sign in if possible
181
- const result = await this.authenticateIfNecessary(account.handle, true);
182
- console.log(`early authentication complete: ${result}`);
183
- }
184
- })();
185
- }
186
- await this.initialSessionPromise;
187
- }
188
- revokeSessions() {
189
- super.revokeSessions();
190
- this._account.set(undefined);
191
- }
192
- }
193
58
  function isTokenUsable({ token }) {
194
59
  const expires = token.expires_at;
195
60
  return expires == null || Date.now() + 60_000 <= expires;
package/out/oauth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAgB,MAAM,8BAA8B,CAAC;AACrN,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,OAAO,WAAW;IACH,KAAK,CAAS;IAE/B,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAIzC;QACG,cAAc,CAAC;YACX,QAAQ,EAAE;gBACN,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,WAAW;aAC5B;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAClC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEjE,kCAAkC;QAClC,8EAA8E;QAC9E,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC;YACzC,QAAQ;YACR,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErB,iFAAiF;QACjF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvD,qDAAqD;QACrD,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAE5C,gFAAgF;QAChF,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAExD,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC5B,MAAc,EACd,WAAoB;QAEpB,IAAI,OAA4B,CAAC;QACjC,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,UAAU,CACtB,MAAM,wBAAwB,CAAC,MAAM,CAAC,EACtC,EAAE,UAAU,EAAE,KAAK,EAAE,CACxB,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEjC,IAAI,WAAW,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB;YACxD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;QAE/C,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,cAAc;QACV,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,EAAE,CAAC;YACzC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;CACJ;AAED,SAAS,aAAa,CAAC,EAAE,KAAK,EAAW;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC;IACjC,OAAO,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC;AAC7D,CAAC"}
package/out/rkey.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import type { At } from '@atcute/client/lexicons';
2
+ export declare function rkey(uri: At.Uri | {
3
+ uri: At.Uri;
4
+ }): string;
5
+ //# sourceMappingURL=rkey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rkey.d.ts","sourceRoot":"","sources":["../src/rkey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAElD,wBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG;IAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA;CAAE,UAGjD"}
package/out/rkey.js ADDED
@@ -0,0 +1,6 @@
1
+ export function rkey(uri) {
2
+ if (typeof uri !== 'string')
3
+ uri = uri.uri;
4
+ return uri.slice(uri.lastIndexOf('/') + 1);
5
+ }
6
+ //# sourceMappingURL=rkey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rkey.js","sourceRoot":"","sources":["../src/rkey.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,GAA6B;IAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IAC3C,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC"}
package/out/shortid.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  /**
2
2
  * Short rkey-compatible ID composed of 53-bit millisecond-precise monotonically increasing timestamp (see EPOCH) and
3
- * 10-bit random clock ID, serialized into a base-64 alphabet.
3
+ * 10-bit random clock ID, serialized into the base64url alphabet.
4
+ *
5
+ * Format: clock_id (10-bit integer encoded to base64url, padded to length 2 with 'A') || timestamp_millis (53-bit
6
+ * integer encoded to base64url)
4
7
  */
5
8
  export declare class ShortId {
6
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"shortid.d.ts","sourceRoot":"","sources":["../src/shortid.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AAEH,qBAAa,OAAO;IAChB;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAI5D;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAYzD;;OAEG;IACH,MAAM,CAAC,GAAG,IAAI,MAAM;CAOvB"}
1
+ {"version":3,"file":"shortid.d.ts","sourceRoot":"","sources":["../src/shortid.ts"],"names":[],"mappings":"AAiBA;;;;;;GAMG;AAEH,qBAAa,OAAO;IAChB;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAI5D;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAYzD;;OAEG;IACH,MAAM,CAAC,GAAG,IAAI,MAAM;CAOvB"}
package/out/shortid.js CHANGED
@@ -9,10 +9,13 @@ function s64encode(i) {
9
9
  return s;
10
10
  }
11
11
  let lastTimestamp = 0;
12
- const EPOCH = 1735689600000; // Wed, 01 Jan 2025 00:00:00 GMT
12
+ const EPOCH = 1735689600000; // Wed, 01 Jan 2025 00:00:00 GMT, in Unix milliseconds
13
13
  /**
14
14
  * Short rkey-compatible ID composed of 53-bit millisecond-precise monotonically increasing timestamp (see EPOCH) and
15
- * 10-bit random clock ID, serialized into a base-64 alphabet.
15
+ * 10-bit random clock ID, serialized into the base64url alphabet.
16
+ *
17
+ * Format: clock_id (10-bit integer encoded to base64url, padded to length 2 with 'A') || timestamp_millis (53-bit
18
+ * integer encoded to base64url)
16
19
  */
17
20
  // biome-ignore lint/complexity/noStaticOnlyClass: By design
18
21
  export class ShortId {
@@ -1 +1 @@
1
- {"version":3,"file":"shortid.js","sourceRoot":"","sources":["../src/shortid.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,kEAAkE,CAAC;AAEpF,SAAS,SAAS,CAAC,CAAS;IACxB,IAAI,CAAC,GAAG,EAAE,CAAC;IAEX,OAAO,CAAC,EAAE,CAAC;QACP,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC;AAED,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,gCAAgC;AAE7D;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,OAAO;IAChB;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,SAAiB,EAAE,OAAe;QAC/C,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;IACnF,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,SAAiB,EAAE,OAAe;QAC5C,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,aAAa,CAAC,CAAC;QAC9D,aAAa,GAAG,SAAS,GAAG,CAAC,CAAC;QAE9B,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAAA,CAAC;CAEL"}
1
+ {"version":3,"file":"shortid.js","sourceRoot":"","sources":["../src/shortid.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,kEAAkE,CAAC;AAEpF,SAAS,SAAS,CAAC,CAAS;IACxB,IAAI,CAAC,GAAG,EAAE,CAAC;IAEX,OAAO,CAAC,EAAE,CAAC;QACP,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC;AAED,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,sDAAsD;AAEnF;;;;;;GAMG;AACH,4DAA4D;AAC5D,MAAM,OAAO,OAAO;IAChB;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,SAAiB,EAAE,OAAe;QAC/C,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;IACnF,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,SAAiB,EAAE,OAAe;QAC5C,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,aAAa,CAAC,CAAC;QAC9D,aAAa,GAAG,SAAS,GAAG,CAAC,CAAC;QAE9B,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAAA,CAAC;CAEL"}
package/package.json CHANGED
@@ -1,13 +1,27 @@
1
1
  {
2
2
  "name": "kitty-agent",
3
3
  "type": "module",
4
- "version": "7.0.0",
4
+ "version": "8.0.0",
5
5
  "description": "Helpers for @atcute/client",
6
6
  "main": "out/index.js",
7
7
  "types": "out/index.d.ts",
8
8
  "files": [
9
9
  "out"
10
10
  ],
11
+ "exports": {
12
+ ".": {
13
+ "default": "./out/index.js",
14
+ "types": "./out/index.d.ts"
15
+ },
16
+ "./oauth-svelte": {
17
+ "default": "./out/oauth-svelte.js",
18
+ "types": "./out/oauth-svelte.d.ts"
19
+ },
20
+ "./oauth-solidjs": {
21
+ "default": "./out/oauth-solidjs.js",
22
+ "types": "./out/oauth-solidjs.d.ts"
23
+ }
24
+ },
11
25
  "keywords": [],
12
26
  "author": "",
13
27
  "license": "ISC",