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 +20 -9
- package/out/agent.d.ts.map +1 -1
- package/out/agent.js +49 -5
- package/out/agent.js.map +1 -1
- package/out/handles/did-document.d.ts +3 -2
- package/out/handles/did-document.d.ts.map +1 -1
- package/out/handles/did-document.js +8 -0
- package/out/handles/did-document.js.map +1 -1
- package/out/index.d.ts +1 -1
- package/out/index.d.ts.map +1 -1
- package/out/index.js +1 -1
- package/out/index.js.map +1 -1
- package/out/oauth-solidjs.d.ts +75 -0
- package/out/oauth-solidjs.d.ts.map +1 -0
- package/out/oauth-solidjs.js +57 -0
- package/out/oauth-solidjs.js.map +1 -0
- package/out/oauth-stateful-base.d.ts +47 -0
- package/out/oauth-stateful-base.d.ts.map +1 -0
- package/out/oauth-stateful-base.js +58 -0
- package/out/oauth-stateful-base.js.map +1 -0
- package/out/oauth-svelte.d.ts +80 -0
- package/out/oauth-svelte.d.ts.map +1 -0
- package/out/oauth-svelte.js +104 -0
- package/out/oauth-svelte.js.map +1 -0
- package/out/oauth.d.ts +1 -86
- package/out/oauth.d.ts.map +1 -1
- package/out/oauth.js +2 -137
- package/out/oauth.js.map +1 -1
- package/out/rkey.d.ts +5 -0
- package/out/rkey.d.ts.map +1 -0
- package/out/rkey.js +6 -0
- package/out/rkey.js.map +1 -0
- package/out/shortid.d.ts +4 -1
- package/out/shortid.d.ts.map +1 -1
- package/out/shortid.js +5 -2
- package/out/shortid.js.map +1 -1
- package/package.json +15 -1
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
|
|
7
|
-
|
|
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
|
|
18
|
+
interface DeleteRecordInput<K extends keyof Records> extends ComAtprotoRepoDeleteRecord.Input {
|
|
18
19
|
collection: K;
|
|
19
20
|
}
|
|
20
|
-
interface
|
|
21
|
-
|
|
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
|
|
27
|
-
|
|
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
|
package/out/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
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
|
-
|
|
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":"AAAA,4DAA4D;AAE5D,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAgE,MAAM,gBAAgB,CAAC;
|
|
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,
|
|
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":"AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AAuBF;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,GAAgB;IAC3C,OAAO,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,2BAA2B,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAC9B,GAAgB,EAChB,SAAiB,EACjB,WAAmB;IAEnB,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;IAEnB,MAAM,YAAY,GAAG,GAAG,GAAG,SAAS,CAAC;IACrC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;IAEtG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;QACpF,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IAC/B,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACD,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE3B,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC;IAClB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC5C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAExC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAEzC,kCAAkC;IAClC,IAAI,GAAgB,CAAC;IAErB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAE7D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,GAAG,GAAG,IAAmB,CAAC;IAC9B,CAAC;SAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,yDAAyD,CAAC;QAE7E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,KAAK,uBAAuB,CAAC,CAAC;QAEtE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,GAAG,GAAG,IAAmB,CAAC;IAC9B,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAmB;IACtC,OAAO,MAAM,CAAC,EAAY,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAmB;IACzC,OAAO,MAAM,CAAC,WAAW;QACrB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC5C,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|
package/out/index.d.ts
CHANGED
package/out/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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
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,
|
|
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
|
-
|
|
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
|
package/out/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"
|
|
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":"AACA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,
|
|
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 @@
|
|
|
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
package/out/rkey.js.map
ADDED
|
@@ -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
|
|
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
|
/**
|
package/out/shortid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shortid.d.ts","sourceRoot":"","sources":["../src/shortid.ts"],"names":[],"mappings":"AAiBA
|
|
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
|
|
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 {
|
package/out/shortid.js.map
CHANGED
|
@@ -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,
|
|
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": "
|
|
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",
|