@wovin/daemon-utils 0.0.18
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/LICENSE +661 -0
- package/dist/chunk-E3XT46LP.min.js +9963 -0
- package/dist/chunk-E3XT46LP.min.js.map +1 -0
- package/dist/chunk-FVJJD45W.min.js +97 -0
- package/dist/chunk-FVJJD45W.min.js.map +1 -0
- package/dist/chunk-IAQU2NGT.min.js +46 -0
- package/dist/chunk-IAQU2NGT.min.js.map +1 -0
- package/dist/chunk-MZUPFLFH.min.js +191 -0
- package/dist/chunk-MZUPFLFH.min.js.map +1 -0
- package/dist/chunk-PHITDXZT.min.js +36 -0
- package/dist/chunk-PHITDXZT.min.js.map +1 -0
- package/dist/chunk-THCR5KJ7.min.js +24986 -0
- package/dist/chunk-THCR5KJ7.min.js.map +1 -0
- package/dist/chunk-XAFSYOU2.min.js +27 -0
- package/dist/chunk-XAFSYOU2.min.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.min.js +33 -0
- package/dist/index.min.js.map +1 -0
- package/dist/ipns.d.ts +6 -0
- package/dist/ipns.d.ts.map +1 -0
- package/dist/ipns.min.js +13 -0
- package/dist/ipns.min.js.map +1 -0
- package/dist/ipnsThread.d.ts +36 -0
- package/dist/ipnsThread.d.ts.map +1 -0
- package/dist/ipnsThread.min.js +12 -0
- package/dist/ipnsThread.min.js.map +1 -0
- package/dist/managedThread.d.ts +65 -0
- package/dist/managedThread.d.ts.map +1 -0
- package/dist/managedThread.min.js +11 -0
- package/dist/managedThread.min.js.map +1 -0
- package/dist/secrets.d.ts +20 -0
- package/dist/secrets.d.ts.map +1 -0
- package/dist/secrets.min.js +10 -0
- package/dist/secrets.min.js.map +1 -0
- package/dist/watcher.d.ts +24 -0
- package/dist/watcher.d.ts.map +1 -0
- package/dist/watcher.min.js +9 -0
- package/dist/watcher.min.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// src/secrets.ts
|
|
2
|
+
import { readFile } from "fs/promises";
|
|
3
|
+
async function loadSecret(envVar, secretFile) {
|
|
4
|
+
const envValue = process.env[envVar];
|
|
5
|
+
if (envValue) return envValue;
|
|
6
|
+
try {
|
|
7
|
+
const fileContent = await readFile(secretFile, "utf-8");
|
|
8
|
+
return fileContent.trim() || void 0;
|
|
9
|
+
} catch {
|
|
10
|
+
return void 0;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
async function loadSecretOrThrow(envVar, secretFile, displayName) {
|
|
14
|
+
const secret = await loadSecret(envVar, secretFile);
|
|
15
|
+
if (!secret) {
|
|
16
|
+
throw new Error(
|
|
17
|
+
`${displayName} not found. Set ${envVar} environment variable or create ${secretFile} file`
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
return secret;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export {
|
|
24
|
+
loadSecret,
|
|
25
|
+
loadSecretOrThrow
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=chunk-XAFSYOU2.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/secrets.ts"],"sourcesContent":["import { readFile } from 'node:fs/promises'\n\n/**\n * Utility functions for loading API keys from environment variables or secret files\n */\n\n/**\n * Load an API key from environment variable or secret file\n * @param envVar - Environment variable name (e.g., 'REGOLO_API_KEY')\n * @param secretFile - Path to secret file (e.g., 'secret/regolo')\n * @returns The API key, or undefined if not found\n */\nexport async function loadSecret(envVar: string, secretFile: string): Promise<string | undefined> {\n\t// Try environment variable first\n\tconst envValue = process.env[envVar]\n\tif (envValue) return envValue\n\n\t// Fall back to secret file\n\ttry {\n\t\tconst fileContent = await readFile(secretFile, 'utf-8')\n\t\treturn fileContent.trim() || undefined\n\t} catch {\n\t\t// File doesn't exist or can't be read\n\t\treturn undefined\n\t}\n}\n\n/**\n * Load an API key from environment variable or secret file, with error handling\n * @param envVar - Environment variable name\n * @param secretFile - Path to secret file\n * @param displayName - Human-readable name for error messages (e.g., 'REGOLO API key')\n * @returns The API key\n * @throws If the key is not found\n */\nexport async function loadSecretOrThrow(\n\tenvVar: string,\n\tsecretFile: string,\n\tdisplayName: string,\n): Promise<string> {\n\tconst secret = await loadSecret(envVar, secretFile)\n\tif (!secret) {\n\t\tthrow new Error(\n\t\t\t`${displayName} not found. Set ${envVar} environment variable or create ${secretFile} file`,\n\t\t)\n\t}\n\treturn secret\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAYzB,eAAsB,WAAW,QAAgB,YAAiD;AAEjG,QAAM,WAAW,QAAQ,IAAI,MAAM;AACnC,MAAI,SAAU,QAAO;AAGrB,MAAI;AACH,UAAM,cAAc,MAAM,SAAS,YAAY,OAAO;AACtD,WAAO,YAAY,KAAK,KAAK;AAAA,EAC9B,QAAQ;AAEP,WAAO;AAAA,EACR;AACD;AAUA,eAAsB,kBACrB,QACA,YACA,aACkB;AAClB,QAAM,SAAS,MAAM,WAAW,QAAQ,UAAU;AAClD,MAAI,CAAC,QAAQ;AACZ,UAAM,IAAI;AAAA,MACT,GAAG,WAAW,mBAAmB,MAAM,mCAAmC,UAAU;AAAA,IACrF;AAAA,EACD;AACA,SAAO;AACR;","names":[]}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ManagedThread
|
|
3
|
+
} from "./chunk-FVJJD45W.min.js";
|
|
4
|
+
import {
|
|
5
|
+
initIpnsThread,
|
|
6
|
+
publishIpnsThread
|
|
7
|
+
} from "./chunk-THCR5KJ7.min.js";
|
|
8
|
+
import {
|
|
9
|
+
generateIpnsKey,
|
|
10
|
+
getW3NamePublic,
|
|
11
|
+
publishIPNS
|
|
12
|
+
} from "./chunk-E3XT46LP.min.js";
|
|
13
|
+
import {
|
|
14
|
+
loadSecret,
|
|
15
|
+
loadSecretOrThrow
|
|
16
|
+
} from "./chunk-XAFSYOU2.min.js";
|
|
17
|
+
import {
|
|
18
|
+
watchName
|
|
19
|
+
} from "./chunk-IAQU2NGT.min.js";
|
|
20
|
+
import "./chunk-MZUPFLFH.min.js";
|
|
21
|
+
import "./chunk-PHITDXZT.min.js";
|
|
22
|
+
export {
|
|
23
|
+
ManagedThread,
|
|
24
|
+
generateIpnsKey,
|
|
25
|
+
getW3NamePublic,
|
|
26
|
+
initIpnsThread,
|
|
27
|
+
loadSecret,
|
|
28
|
+
loadSecretOrThrow,
|
|
29
|
+
publishIPNS,
|
|
30
|
+
publishIpnsThread,
|
|
31
|
+
watchName
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=index.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/ipns.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CID } from 'multiformats/cid';
|
|
2
|
+
import * as W3Name from 'w3name';
|
|
3
|
+
export declare function generateIpnsKey(): Promise<W3Name.WritableName>;
|
|
4
|
+
export declare function publishIPNS(ipnsPrivateKey: Uint8Array, cid: CID): Promise<void>;
|
|
5
|
+
export declare function getW3NamePublic(pk: Uint8Array): Promise<string>;
|
|
6
|
+
//# sourceMappingURL=ipns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipns.d.ts","sourceRoot":"","sources":["../src/ipns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAIhC,wBAAsB,eAAe,iCAEpC;AACD,wBAAsB,WAAW,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,iBAYrE;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,UAAU,mBAGnD"}
|
package/dist/ipns.min.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
generateIpnsKey,
|
|
3
|
+
getW3NamePublic,
|
|
4
|
+
publishIPNS
|
|
5
|
+
} from "./chunk-E3XT46LP.min.js";
|
|
6
|
+
import "./chunk-MZUPFLFH.min.js";
|
|
7
|
+
import "./chunk-PHITDXZT.min.js";
|
|
8
|
+
export {
|
|
9
|
+
generateIpnsKey,
|
|
10
|
+
getW3NamePublic,
|
|
11
|
+
publishIPNS
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=ipns.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type AgentHash, type WriteableThread } from '@wovin/core';
|
|
2
|
+
import { UcanStoreProxyConnector } from '@wovin/connect-ucan-store-proxy';
|
|
3
|
+
export interface IpnsThreadInit {
|
|
4
|
+
thread: WriteableThread;
|
|
5
|
+
ipnsName: string;
|
|
6
|
+
ipnsKey: Uint8Array;
|
|
7
|
+
generated: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface InitIpnsThreadParams {
|
|
10
|
+
keyPath: string;
|
|
11
|
+
threadName?: string;
|
|
12
|
+
wovinConnector: UcanStoreProxyConnector;
|
|
13
|
+
agentHash: AgentHash;
|
|
14
|
+
agentString: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Initialize an IPNS-backed wovin thread with consistent key management and data loading.
|
|
18
|
+
*
|
|
19
|
+
* Pattern used for both main thread and transcript thread:
|
|
20
|
+
* 1. Load or generate IPNS key from file
|
|
21
|
+
* 2. Create thread
|
|
22
|
+
* 3. If key existed, fetch previous data from IPNS
|
|
23
|
+
* 4. Insert agent metadata
|
|
24
|
+
*/
|
|
25
|
+
export declare function initIpnsThread(params: InitIpnsThreadParams): Promise<IpnsThreadInit>;
|
|
26
|
+
/**
|
|
27
|
+
* Publish a wovin thread to IPNS.
|
|
28
|
+
* Shared pattern for all IPNS-backed threads.
|
|
29
|
+
*/
|
|
30
|
+
export declare function publishIpnsThread(agent: any, // AppAgent type
|
|
31
|
+
thread: WriteableThread, publication: {
|
|
32
|
+
id: string;
|
|
33
|
+
name: string;
|
|
34
|
+
pk: Uint8Array;
|
|
35
|
+
}, wovinConnector: UcanStoreProxyConnector, first?: boolean, note3Url?: string): Promise<void>;
|
|
36
|
+
//# sourceMappingURL=ipnsThread.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipnsThread.d.ts","sourceRoot":"","sources":["../src/ipnsThread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAuD,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AACvH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAwBzE,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,UAAU,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,uBAAuB,CAAA;IACvC,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA4D1F;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACtC,KAAK,EAAE,GAAG,EAAE,gBAAgB;AAC5B,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,UAAU,CAAA;CAAE,EACzD,cAAc,EAAE,uBAAuB,EACvC,KAAK,UAAQ,EACb,QAAQ,SAAoB,iBA6B5B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
initIpnsThread,
|
|
3
|
+
publishIpnsThread
|
|
4
|
+
} from "./chunk-THCR5KJ7.min.js";
|
|
5
|
+
import "./chunk-E3XT46LP.min.js";
|
|
6
|
+
import "./chunk-MZUPFLFH.min.js";
|
|
7
|
+
import "./chunk-PHITDXZT.min.js";
|
|
8
|
+
export {
|
|
9
|
+
initIpnsThread,
|
|
10
|
+
publishIpnsThread
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=ipnsThread.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { AppAgent, ApplogForInsert, WriteableThread } from '@wovin/core';
|
|
2
|
+
import type { UcanStoreProxyConnector } from '@wovin/connect-ucan-store-proxy';
|
|
3
|
+
/**
|
|
4
|
+
* Parameters for creating a ManagedThread
|
|
5
|
+
*/
|
|
6
|
+
export interface ManagedThreadParams {
|
|
7
|
+
thread: WriteableThread;
|
|
8
|
+
ipnsName: string;
|
|
9
|
+
ipnsKey: Uint8Array;
|
|
10
|
+
threadName: string;
|
|
11
|
+
agent: AppAgent;
|
|
12
|
+
wovinConnector: UcanStoreProxyConnector;
|
|
13
|
+
note3Url?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A managed thread that encapsulates thread operations and publishing.
|
|
17
|
+
*
|
|
18
|
+
* Benefits:
|
|
19
|
+
* - Automatic runInAction wrapping for inserts
|
|
20
|
+
* - Simple push() API instead of 7 parameters
|
|
21
|
+
* - All thread metadata in one place
|
|
22
|
+
* - Type-safe operations
|
|
23
|
+
*/
|
|
24
|
+
export declare class ManagedThread {
|
|
25
|
+
private _thread;
|
|
26
|
+
private _ipnsName;
|
|
27
|
+
private _ipnsKey;
|
|
28
|
+
private _threadName;
|
|
29
|
+
private _agent;
|
|
30
|
+
private _wovinConnector;
|
|
31
|
+
private _note3Url?;
|
|
32
|
+
constructor(params: ManagedThreadParams);
|
|
33
|
+
/**
|
|
34
|
+
* Insert applogs into the thread.
|
|
35
|
+
* Automatically wraps with runInAction for MobX reactivity.
|
|
36
|
+
*/
|
|
37
|
+
insert(applogs: ApplogForInsert[]): void;
|
|
38
|
+
/**
|
|
39
|
+
* Insert raw applogs into the thread (used during initialization).
|
|
40
|
+
* Automatically wraps with runInAction for MobX reactivity.
|
|
41
|
+
*/
|
|
42
|
+
insertRaw(applogs: any[]): void;
|
|
43
|
+
/**
|
|
44
|
+
* Push the thread to IPNS.
|
|
45
|
+
* Handles all publication logic internally.
|
|
46
|
+
*/
|
|
47
|
+
push(first?: boolean): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Get read-only access to the underlying thread
|
|
50
|
+
*/
|
|
51
|
+
get thread(): WriteableThread;
|
|
52
|
+
/**
|
|
53
|
+
* Get the IPNS name for this thread
|
|
54
|
+
*/
|
|
55
|
+
get ipnsName(): string;
|
|
56
|
+
/**
|
|
57
|
+
* Get the thread name
|
|
58
|
+
*/
|
|
59
|
+
get threadName(): string;
|
|
60
|
+
/**
|
|
61
|
+
* Get the agent hash from the agent
|
|
62
|
+
*/
|
|
63
|
+
get agentHash(): string;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=managedThread.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managedThread.d.ts","sourceRoot":"","sources":["../src/managedThread.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAO9E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,UAAU,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,QAAQ,CAAA;IACf,cAAc,EAAE,uBAAuB,CAAA;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,SAAS,CAAC,CAAQ;gBAEd,MAAM,EAAE,mBAAmB;IAUvC;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI;IAOxC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI;IAO/B;;;OAGG;IACG,IAAI,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxC;;OAEG;IACH,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;CACD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ManagedThread
|
|
3
|
+
} from "./chunk-FVJJD45W.min.js";
|
|
4
|
+
import "./chunk-THCR5KJ7.min.js";
|
|
5
|
+
import "./chunk-E3XT46LP.min.js";
|
|
6
|
+
import "./chunk-MZUPFLFH.min.js";
|
|
7
|
+
import "./chunk-PHITDXZT.min.js";
|
|
8
|
+
export {
|
|
9
|
+
ManagedThread
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=managedThread.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for loading API keys from environment variables or secret files
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Load an API key from environment variable or secret file
|
|
6
|
+
* @param envVar - Environment variable name (e.g., 'REGOLO_API_KEY')
|
|
7
|
+
* @param secretFile - Path to secret file (e.g., 'secret/regolo')
|
|
8
|
+
* @returns The API key, or undefined if not found
|
|
9
|
+
*/
|
|
10
|
+
export declare function loadSecret(envVar: string, secretFile: string): Promise<string | undefined>;
|
|
11
|
+
/**
|
|
12
|
+
* Load an API key from environment variable or secret file, with error handling
|
|
13
|
+
* @param envVar - Environment variable name
|
|
14
|
+
* @param secretFile - Path to secret file
|
|
15
|
+
* @param displayName - Human-readable name for error messages (e.g., 'REGOLO API key')
|
|
16
|
+
* @returns The API key
|
|
17
|
+
* @throws If the key is not found
|
|
18
|
+
*/
|
|
19
|
+
export declare function loadSecretOrThrow(envVar: string, secretFile: string, displayName: string): Promise<string>;
|
|
20
|
+
//# sourceMappingURL=secrets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAahG;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAQjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPNS Thread Watcher
|
|
3
|
+
* Watches an IPNS thread for new audio files via WebSocket
|
|
4
|
+
*/
|
|
5
|
+
export interface W3NameRecord {
|
|
6
|
+
value: string;
|
|
7
|
+
seq?: number;
|
|
8
|
+
validity?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface WatchSubscription {
|
|
11
|
+
close: () => void;
|
|
12
|
+
ws: WebSocket;
|
|
13
|
+
}
|
|
14
|
+
export interface WatchOptions {
|
|
15
|
+
onUpdate: (record: W3NameRecord) => void;
|
|
16
|
+
onError?: (error: Event | Error) => void;
|
|
17
|
+
onOpen?: () => void;
|
|
18
|
+
onClose?: (event: CloseEvent) => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Subscribe to IPNS name updates via WebSocket
|
|
22
|
+
*/
|
|
23
|
+
export declare function watchName(name: string, options: WatchOptions): WatchSubscription;
|
|
24
|
+
//# sourceMappingURL=watcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,EAAE,EAAE,SAAS,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAA;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,KAAK,IAAI,CAAA;IACxC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,iBAAiB,CAuChF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@wovin/daemon-utils",
|
|
3
|
+
"version": "0.0.18",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.min.js",
|
|
6
|
+
"module": "./dist/index.min.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.min.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"./dist/"
|
|
16
|
+
],
|
|
17
|
+
"publishConfig": {
|
|
18
|
+
"access": "public"
|
|
19
|
+
},
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"@wovin/core": "^0.0.18",
|
|
22
|
+
"@wovin/connect-ucan-store-proxy": "^0.0.18"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"besonders-logger": "1.0.2",
|
|
26
|
+
"mobx": "^6.13.7",
|
|
27
|
+
"multiformats": "^13.4.1",
|
|
28
|
+
"w3name": "^1.0.8"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@types/node": "^22.15.21",
|
|
32
|
+
"concurrently": "^8.2.2",
|
|
33
|
+
"tsup": "^8.5.0",
|
|
34
|
+
"typescript": "^5.9.2",
|
|
35
|
+
"tsupconfig": "^0.0.0"
|
|
36
|
+
},
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "rm -rf dist/ && concurrently \"pnpm build:code\" \"pnpm build:types\"",
|
|
39
|
+
"build:code": "tsup",
|
|
40
|
+
"build:types": "tsc --emitDeclarationOnly --declaration",
|
|
41
|
+
"dev": "concurrently \"pnpm dev:code\" \"pnpm dev:types\"",
|
|
42
|
+
"dev:code": "tsup --watch",
|
|
43
|
+
"dev:types": "tsc --emitDeclarationOnly --declaration --watch",
|
|
44
|
+
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
|
|
45
|
+
"pub": "npm publish --tag latest --access=public"
|
|
46
|
+
}
|
|
47
|
+
}
|