@tokenrip/cli 1.1.5 → 1.1.7
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/AGENTS.md +150 -72
- package/README.md +258 -128
- package/SKILL.md +213 -79
- package/dist/auth-client.js +1 -1
- package/dist/auth-client.js.map +1 -1
- package/dist/cjs/auth-client.js +1 -1
- package/dist/cjs/auth-client.js.map +1 -1
- package/dist/cjs/client.js +2 -2
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/commands/archive.js +17 -0
- package/dist/cjs/commands/archive.js.map +1 -0
- package/dist/cjs/commands/auth.js +36 -16
- package/dist/cjs/commands/auth.js.map +1 -1
- package/dist/cjs/commands/collection.js +70 -0
- package/dist/cjs/commands/collection.js.map +1 -0
- package/dist/cjs/commands/config.js +1 -1
- package/dist/cjs/commands/config.js.map +1 -1
- package/dist/cjs/commands/contacts.js +3 -3
- package/dist/cjs/commands/contacts.js.map +1 -1
- package/dist/cjs/commands/inbox.js +9 -3
- package/dist/cjs/commands/inbox.js.map +1 -1
- package/dist/cjs/commands/link.js +38 -0
- package/dist/cjs/commands/link.js.map +1 -0
- package/dist/cjs/commands/operator-link.js +1 -1
- package/dist/cjs/commands/operator-link.js.map +1 -1
- package/dist/cjs/commands/publish.js +72 -1
- package/dist/cjs/commands/publish.js.map +1 -1
- package/dist/cjs/commands/search.js +33 -0
- package/dist/cjs/commands/search.js.map +1 -0
- package/dist/cjs/commands/share.js +1 -1
- package/dist/cjs/commands/share.js.map +1 -1
- package/dist/cjs/commands/status.js +4 -0
- package/dist/cjs/commands/status.js.map +1 -1
- package/dist/cjs/commands/thread.js +34 -1
- package/dist/cjs/commands/thread.js.map +1 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/contacts.js +6 -6
- package/dist/cjs/contacts.js.map +1 -1
- package/dist/cjs/crypto.js +1 -1
- package/dist/cjs/crypto.js.map +1 -1
- package/dist/cjs/formatters.js +147 -7
- package/dist/cjs/formatters.js.map +1 -1
- package/dist/cjs/identity.js +4 -0
- package/dist/cjs/identity.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/migrations.js +55 -0
- package/dist/cjs/migrations.js.map +1 -0
- package/dist/cjs/output.js +11 -7
- package/dist/cjs/output.js.map +1 -1
- package/dist/cli.js +287 -95
- package/dist/cli.js.map +1 -1
- package/dist/client.js +2 -2
- package/dist/client.js.map +1 -1
- package/dist/commands/archive.d.ts +2 -0
- package/dist/commands/archive.js +13 -0
- package/dist/commands/archive.js.map +1 -0
- package/dist/commands/auth.js +38 -18
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/collection.d.ts +17 -0
- package/dist/commands/collection.js +61 -0
- package/dist/commands/collection.js.map +1 -0
- package/dist/commands/config.js +2 -2
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/contacts.js +4 -4
- package/dist/commands/contacts.js.map +1 -1
- package/dist/commands/inbox.d.ts +1 -0
- package/dist/commands/inbox.js +9 -3
- package/dist/commands/inbox.js.map +1 -1
- package/dist/commands/link.d.ts +5 -0
- package/dist/commands/link.js +35 -0
- package/dist/commands/link.js.map +1 -0
- package/dist/commands/operator-link.js +1 -1
- package/dist/commands/operator-link.js.map +1 -1
- package/dist/commands/publish.d.ts +4 -0
- package/dist/commands/publish.js +72 -1
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/search.d.ts +12 -0
- package/dist/commands/search.js +30 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/share.js +1 -1
- package/dist/commands/share.js.map +1 -1
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.js +4 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/thread.d.ts +7 -0
- package/dist/commands/thread.js +32 -2
- package/dist/commands/thread.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js.map +1 -1
- package/dist/contacts.js +6 -6
- package/dist/contacts.js.map +1 -1
- package/dist/crypto.js +1 -1
- package/dist/crypto.js.map +1 -1
- package/dist/formatters.d.ts +12 -0
- package/dist/formatters.js +134 -6
- package/dist/formatters.js.map +1 -1
- package/dist/identity.js +4 -0
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/migrations.d.ts +1 -0
- package/dist/migrations.js +52 -0
- package/dist/migrations.js.map +1 -0
- package/dist/output.js +11 -7
- package/dist/output.js.map +1 -1
- package/package.json +4 -3
package/dist/commands/publish.js
CHANGED
|
@@ -4,11 +4,80 @@ import { requireAuthClient } from '../auth-client.js';
|
|
|
4
4
|
import { CliError } from '../errors.js';
|
|
5
5
|
import { outputSuccess } from '../output.js';
|
|
6
6
|
import { formatAssetCreated } from '../formatters.js';
|
|
7
|
-
const VALID_TYPES = ['markdown', 'html', 'chart', 'code', 'text', 'json'];
|
|
7
|
+
const VALID_TYPES = ['markdown', 'html', 'chart', 'code', 'text', 'json', 'collection', 'csv'];
|
|
8
8
|
export async function publish(filePath, options) {
|
|
9
9
|
if (!VALID_TYPES.includes(options.type)) {
|
|
10
10
|
throw new CliError('INVALID_TYPE', `Type must be one of: ${VALID_TYPES.join(', ')}`);
|
|
11
11
|
}
|
|
12
|
+
// Collection → CSV import path: single-command creation of a collection from a CSV file
|
|
13
|
+
if (options.type === 'collection' && options.fromCsv) {
|
|
14
|
+
const absPath = path.resolve(filePath);
|
|
15
|
+
if (!fs.existsSync(absPath)) {
|
|
16
|
+
throw new CliError('FILE_NOT_FOUND', `File not found: ${absPath}`);
|
|
17
|
+
}
|
|
18
|
+
const content = fs.readFileSync(absPath, 'utf-8');
|
|
19
|
+
const title = options.title || path.basename(absPath, path.extname(absPath));
|
|
20
|
+
if (options.dryRun) {
|
|
21
|
+
outputSuccess({ dryRun: true, action: 'would create collection from csv', title, rows: content.split('\n').length }, formatAssetCreated);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const body = {
|
|
25
|
+
type: 'collection',
|
|
26
|
+
from_csv: true,
|
|
27
|
+
content,
|
|
28
|
+
title,
|
|
29
|
+
};
|
|
30
|
+
if (options.headers)
|
|
31
|
+
body.headers = true;
|
|
32
|
+
if (options.schema)
|
|
33
|
+
body.schema = JSON.parse(options.schema);
|
|
34
|
+
if (options.alias)
|
|
35
|
+
body.alias = options.alias;
|
|
36
|
+
if (options.parent)
|
|
37
|
+
body.parentAssetId = options.parent;
|
|
38
|
+
if (options.context)
|
|
39
|
+
body.creatorContext = options.context;
|
|
40
|
+
if (options.refs)
|
|
41
|
+
body.inputReferences = options.refs.split(',').map((r) => r.trim());
|
|
42
|
+
const { client } = requireAuthClient();
|
|
43
|
+
const { data } = await client.post('/v0/assets', body);
|
|
44
|
+
const url = data.data.url || `https://tokenrip.com/s/${data.data.id}`;
|
|
45
|
+
outputSuccess({ id: data.data.id, url, title: data.data.title, type: data.data.type }, formatAssetCreated);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
// Collection schema-only path
|
|
49
|
+
if (options.type === 'collection') {
|
|
50
|
+
let schema;
|
|
51
|
+
if (options.schema) {
|
|
52
|
+
schema = JSON.parse(options.schema);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const absPath = path.resolve(filePath);
|
|
56
|
+
if (!fs.existsSync(absPath)) {
|
|
57
|
+
throw new CliError('FILE_NOT_FOUND', `File not found: ${absPath}`);
|
|
58
|
+
}
|
|
59
|
+
schema = JSON.parse(fs.readFileSync(absPath, 'utf-8'));
|
|
60
|
+
}
|
|
61
|
+
const title = options.title || 'Untitled Collection';
|
|
62
|
+
if (options.dryRun) {
|
|
63
|
+
outputSuccess({ dryRun: true, action: 'would create collection', title, schema }, formatAssetCreated);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const { client } = requireAuthClient();
|
|
67
|
+
const body = { type: 'collection', title, schema };
|
|
68
|
+
if (options.alias)
|
|
69
|
+
body.alias = options.alias;
|
|
70
|
+
if (options.parent)
|
|
71
|
+
body.parentAssetId = options.parent;
|
|
72
|
+
if (options.context)
|
|
73
|
+
body.creatorContext = options.context;
|
|
74
|
+
if (options.refs)
|
|
75
|
+
body.inputReferences = options.refs.split(',').map((r) => r.trim());
|
|
76
|
+
const { data } = await client.post('/v0/assets', body);
|
|
77
|
+
const url = data.data.url || `https://tokenrip.com/s/${data.data.id}`;
|
|
78
|
+
outputSuccess({ id: data.data.id, url, title: data.data.title, type: data.data.type }, formatAssetCreated);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
12
81
|
const absPath = path.resolve(filePath);
|
|
13
82
|
if (!fs.existsSync(absPath)) {
|
|
14
83
|
throw new CliError('FILE_NOT_FOUND', `File not found: ${absPath}`);
|
|
@@ -26,6 +95,8 @@ export async function publish(filePath, options) {
|
|
|
26
95
|
content,
|
|
27
96
|
title,
|
|
28
97
|
};
|
|
98
|
+
if (options.alias)
|
|
99
|
+
body.alias = options.alias;
|
|
29
100
|
if (options.parent)
|
|
30
101
|
body.parentAssetId = options.parent;
|
|
31
102
|
if (options.context)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function search(query: string, options: {
|
|
2
|
+
type?: string;
|
|
3
|
+
since?: string;
|
|
4
|
+
limit?: string;
|
|
5
|
+
offset?: string;
|
|
6
|
+
state?: string;
|
|
7
|
+
intent?: string;
|
|
8
|
+
ref?: string;
|
|
9
|
+
assetType?: string;
|
|
10
|
+
archived?: boolean;
|
|
11
|
+
includeArchived?: boolean;
|
|
12
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { requireAuthClient } from '../auth-client.js';
|
|
2
|
+
import { outputSuccess } from '../output.js';
|
|
3
|
+
import { formatSearchResults } from '../formatters.js';
|
|
4
|
+
export async function search(query, options) {
|
|
5
|
+
const { client } = requireAuthClient();
|
|
6
|
+
const params = { q: query };
|
|
7
|
+
if (options.type)
|
|
8
|
+
params.type = options.type;
|
|
9
|
+
if (options.since)
|
|
10
|
+
params.since = options.since;
|
|
11
|
+
if (options.limit)
|
|
12
|
+
params.limit = options.limit;
|
|
13
|
+
if (options.offset)
|
|
14
|
+
params.offset = options.offset;
|
|
15
|
+
if (options.state)
|
|
16
|
+
params.state = options.state;
|
|
17
|
+
if (options.intent)
|
|
18
|
+
params.intent = options.intent;
|
|
19
|
+
if (options.ref)
|
|
20
|
+
params.ref = options.ref;
|
|
21
|
+
if (options.assetType)
|
|
22
|
+
params.asset_type = options.assetType;
|
|
23
|
+
if (options.archived)
|
|
24
|
+
params.archived = 'true';
|
|
25
|
+
if (options.includeArchived)
|
|
26
|
+
params.include_archived = 'true';
|
|
27
|
+
const { data } = await client.get('/v0/search', { params });
|
|
28
|
+
outputSuccess(data.data, formatSearchResults);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAa,EACb,OAWC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,MAAM,GAA2B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IACpD,IAAI,OAAO,CAAC,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7C,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAChD,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAChD,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACnD,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAChD,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACnD,IAAI,OAAO,CAAC,GAAG;QAAE,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAC1C,IAAI,OAAO,CAAC,SAAS;QAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAC7D,IAAI,OAAO,CAAC,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC/C,IAAI,OAAO,CAAC,eAAe;QAAE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC;IAE9D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AAChD,CAAC"}
|
package/dist/commands/share.js
CHANGED
|
@@ -16,7 +16,7 @@ export function parseDuration(s) {
|
|
|
16
16
|
export async function share(assetId, options) {
|
|
17
17
|
const identity = loadIdentity();
|
|
18
18
|
if (!identity) {
|
|
19
|
-
throw new CliError('NO_IDENTITY', 'No agent identity found. Run `
|
|
19
|
+
throw new CliError('NO_IDENTITY', 'No agent identity found. Run `rip auth register` first.');
|
|
20
20
|
}
|
|
21
21
|
const perm = options.commentOnly ? ['comment'] : ['comment', 'version:create'];
|
|
22
22
|
const exp = options.expires ? parseDuration(options.expires) : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,wBAAwB,CAAC,CAAC;IACnG,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,WAAW,GAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAC/E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,OAAe,EACf,OAAkE;IAElE,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,wBAAwB,CAAC,CAAC;IACnG,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,WAAW,GAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAC/E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,OAAe,EACf,OAAkE;IAElE,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,aAAa,EAAE,yDAAyD,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC;IAErC,MAAM,KAAK,GAAG,qBAAqB,CACjC,EAAE,GAAG,EAAE,SAAS,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAClE,QAAQ,CAAC,SAAS,CACnB,CAAC;IAEF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,GAAG,WAAW,MAAM,OAAO,QAAQ,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;IAE3E,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,eAAe,CAAC,CAAC;AACpG,CAAC"}
|
package/dist/commands/status.js
CHANGED
|
@@ -10,6 +10,10 @@ export async function status(options) {
|
|
|
10
10
|
params.limit = options.limit;
|
|
11
11
|
if (options.type)
|
|
12
12
|
params.type = options.type;
|
|
13
|
+
if (options.archived)
|
|
14
|
+
params.archived = 'true';
|
|
15
|
+
if (options.includeArchived)
|
|
16
|
+
params.include_archived = 'true';
|
|
13
17
|
const { data } = await client.get('/v0/assets/status', { params });
|
|
14
18
|
outputSuccess(data.data, formatAssetList);
|
|
15
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAyG;IACpI,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAEvC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAChD,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAChD,IAAI,OAAO,CAAC,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7C,IAAI,OAAO,CAAC,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC/C,IAAI,OAAO,CAAC,eAAe;QAAE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC;IAE9D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnE,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
export declare function threadList(options: {
|
|
2
|
+
state?: string;
|
|
3
|
+
limit?: string;
|
|
4
|
+
}): Promise<void>;
|
|
1
5
|
export declare function threadCreate(options: {
|
|
2
6
|
participants?: string;
|
|
3
7
|
message?: string;
|
|
8
|
+
refs?: string;
|
|
4
9
|
}): Promise<void>;
|
|
5
10
|
export declare function threadShare(threadId: string, options: {
|
|
6
11
|
expires?: string;
|
|
@@ -11,3 +16,5 @@ export declare function threadClose(threadId: string, options: {
|
|
|
11
16
|
resolution?: string;
|
|
12
17
|
}): Promise<void>;
|
|
13
18
|
export declare function threadAddParticipant(threadId: string, agent: string): Promise<void>;
|
|
19
|
+
export declare function threadAddRefs(threadId: string, refs: string): Promise<void>;
|
|
20
|
+
export declare function threadRemoveRef(threadId: string, refId: string): Promise<void>;
|
package/dist/commands/thread.js
CHANGED
|
@@ -4,15 +4,31 @@ import { createCapabilityToken } from '../crypto.js';
|
|
|
4
4
|
import { getFrontendUrl } from '../config.js';
|
|
5
5
|
import { CliError } from '../errors.js';
|
|
6
6
|
import { outputSuccess } from '../output.js';
|
|
7
|
-
import { formatThreadCreated, formatShareLink, formatThreadDetails, formatThreadClosed, formatParticipantAdded } from '../formatters.js';
|
|
7
|
+
import { formatThreadCreated, formatThreadList, formatShareLink, formatThreadDetails, formatThreadClosed, formatParticipantAdded, formatRefsAdded, formatRefRemoved } from '../formatters.js';
|
|
8
8
|
import { resolveRecipient, resolveRecipients } from '../contacts.js';
|
|
9
9
|
import { parseDuration } from './share.js';
|
|
10
|
+
export async function threadList(options) {
|
|
11
|
+
const { client } = requireAuthClient();
|
|
12
|
+
const params = {};
|
|
13
|
+
if (options.state)
|
|
14
|
+
params.state = options.state;
|
|
15
|
+
if (options.limit)
|
|
16
|
+
params.limit = options.limit;
|
|
17
|
+
const { data } = await client.get('/v0/threads', { params });
|
|
18
|
+
outputSuccess(data.data, formatThreadList);
|
|
19
|
+
}
|
|
10
20
|
export async function threadCreate(options) {
|
|
11
21
|
const { client } = requireAuthClient();
|
|
12
22
|
const payload = {};
|
|
13
23
|
if (options.participants) {
|
|
14
24
|
payload.participants = resolveRecipients(options.participants.split(',').map((p) => p.trim()));
|
|
15
25
|
}
|
|
26
|
+
if (options.refs) {
|
|
27
|
+
payload.refs = options.refs.split(',').map((r) => {
|
|
28
|
+
const v = r.trim();
|
|
29
|
+
return { type: 'url', target_id: v };
|
|
30
|
+
});
|
|
31
|
+
}
|
|
16
32
|
if (options.message) {
|
|
17
33
|
payload.message = { body: options.message };
|
|
18
34
|
}
|
|
@@ -22,7 +38,7 @@ export async function threadCreate(options) {
|
|
|
22
38
|
export async function threadShare(threadId, options) {
|
|
23
39
|
const identity = loadIdentity();
|
|
24
40
|
if (!identity) {
|
|
25
|
-
throw new CliError('NO_IDENTITY', 'No agent identity found. Run `
|
|
41
|
+
throw new CliError('NO_IDENTITY', 'No agent identity found. Run `rip auth register` first.');
|
|
26
42
|
}
|
|
27
43
|
const perm = ['comment'];
|
|
28
44
|
const exp = options.expires ? parseDuration(options.expires) : undefined;
|
|
@@ -51,4 +67,18 @@ export async function threadAddParticipant(threadId, agent) {
|
|
|
51
67
|
const { data } = await client.post(`/v0/threads/${threadId}/participants`, { agent_id: agentId });
|
|
52
68
|
outputSuccess(data.data, formatParticipantAdded);
|
|
53
69
|
}
|
|
70
|
+
export async function threadAddRefs(threadId, refs) {
|
|
71
|
+
const { client } = requireAuthClient();
|
|
72
|
+
const refList = refs.split(',').map((r) => {
|
|
73
|
+
const v = r.trim();
|
|
74
|
+
return { type: 'url', target_id: v };
|
|
75
|
+
});
|
|
76
|
+
const { data } = await client.post(`/v0/threads/${threadId}/refs`, { refs: refList });
|
|
77
|
+
outputSuccess(data.data, formatRefsAdded);
|
|
78
|
+
}
|
|
79
|
+
export async function threadRemoveRef(threadId, refId) {
|
|
80
|
+
const { client } = requireAuthClient();
|
|
81
|
+
await client.delete(`/v0/threads/${threadId}/refs/${refId}`);
|
|
82
|
+
outputSuccess({ thread_id: threadId, ref_id: refId }, formatRefRemoved);
|
|
83
|
+
}
|
|
54
84
|
//# sourceMappingURL=thread.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/commands/thread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/commands/thread.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC5G,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC5G,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AASzD,SAAS,aAAa;IACpB,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,aAAa,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAsB;IAC/C,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAsB;IAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,IAAI,0BAA0B,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAsB;IAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,sBAAsB,CAAC;AACrE,CAAC"}
|
package/dist/contacts.js
CHANGED
|
@@ -17,8 +17,8 @@ export function saveContacts(contacts) {
|
|
|
17
17
|
fs.writeFileSync(CONTACTS_FILE, JSON.stringify(contacts, null, 2), 'utf-8');
|
|
18
18
|
}
|
|
19
19
|
export function addContact(name, agentId, meta) {
|
|
20
|
-
if (!agentId.startsWith('
|
|
21
|
-
throw new CliError('INVALID_AGENT_ID', 'Agent ID must start with
|
|
20
|
+
if (!agentId.startsWith('rip1')) {
|
|
21
|
+
throw new CliError('INVALID_AGENT_ID', 'Agent ID must start with rip1');
|
|
22
22
|
}
|
|
23
23
|
const contacts = loadContacts();
|
|
24
24
|
contacts[name] = { agent_id: agentId, ...meta };
|
|
@@ -33,7 +33,7 @@ export function removeContact(name) {
|
|
|
33
33
|
saveContacts(contacts);
|
|
34
34
|
}
|
|
35
35
|
export function resolveRecipient(value) {
|
|
36
|
-
if (value.startsWith('
|
|
36
|
+
if (value.startsWith('rip1'))
|
|
37
37
|
return value;
|
|
38
38
|
const contacts = loadContacts();
|
|
39
39
|
if (contacts[value])
|
|
@@ -43,7 +43,7 @@ export function resolveRecipient(value) {
|
|
|
43
43
|
export function resolveRecipients(values) {
|
|
44
44
|
const contacts = loadContacts();
|
|
45
45
|
return values.map((v) => {
|
|
46
|
-
if (v.startsWith('
|
|
46
|
+
if (v.startsWith('rip1'))
|
|
47
47
|
return v;
|
|
48
48
|
if (contacts[v])
|
|
49
49
|
return contacts[v].agent_id;
|
|
@@ -79,8 +79,8 @@ export async function syncFromServer(client) {
|
|
|
79
79
|
return contacts;
|
|
80
80
|
}
|
|
81
81
|
export async function addContactWithSync(client, name, agentId, meta) {
|
|
82
|
-
if (!agentId.startsWith('
|
|
83
|
-
throw new CliError('INVALID_AGENT_ID', 'Agent ID must start with
|
|
82
|
+
if (!agentId.startsWith('rip1')) {
|
|
83
|
+
throw new CliError('INVALID_AGENT_ID', 'Agent ID must start with rip1');
|
|
84
84
|
}
|
|
85
85
|
const contacts = loadContacts();
|
|
86
86
|
contacts[name] = { agent_id: agentId, ...meta };
|
package/dist/contacts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../src/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAY7D,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC7C,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,IAAY,EACZ,OAAe,EACf,IAAyC;IAEzC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../src/contacts.ts"],"names":[],"mappings":"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"}
|
package/dist/crypto.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { generateKeyPairSync, sign as ed25519Sign, createPrivateKey } from 'node:crypto';
|
|
2
2
|
import { bech32 } from 'bech32';
|
|
3
|
-
const AGENT_HRP = '
|
|
3
|
+
const AGENT_HRP = 'rip';
|
|
4
4
|
const BECH32_LIMIT = 90;
|
|
5
5
|
// ASN.1 DER prefix for Ed25519 PKCS8 private key (prepend to 32-byte raw key)
|
|
6
6
|
const PKCS8_ED25519_PREFIX = Buffer.from('302e020100300506032b657004220420', 'hex');
|
package/dist/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,IAAI,IAAI,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,IAAI,IAAI,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,8EAA8E;AAC9E,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;AAOpF,MAAM,UAAU,eAAe;IAC7B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,MAAM,GAAI,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAI,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7F,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AACvD,CAAC;AAUD,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,YAAoB;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/E,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgC,EAAE,YAAoB;IAChF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;IAC9D,OAAO,GAAG,UAAU,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAA4B,EAAE,YAAoB;IACtF,MAAM,OAAO,GAA4B,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC7C,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC7C,OAAO,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC5C,CAAC"}
|
package/dist/formatters.d.ts
CHANGED
|
@@ -8,8 +8,12 @@ export declare const formatVersionDeleted: Formatter;
|
|
|
8
8
|
export declare const formatConfigSaved: Formatter;
|
|
9
9
|
export declare const formatAuthKey: Formatter;
|
|
10
10
|
export declare const formatInbox: Formatter;
|
|
11
|
+
export declare const formatThreadList: Formatter;
|
|
11
12
|
export declare const formatContacts: Formatter;
|
|
12
13
|
export declare const formatContactResolved: Formatter;
|
|
14
|
+
export declare const formatContactSaved: Formatter;
|
|
15
|
+
export declare const formatContactRemoved: Formatter;
|
|
16
|
+
export declare const formatConfigShow: Formatter;
|
|
13
17
|
export declare const formatMessageSent: Formatter;
|
|
14
18
|
export declare const formatMessages: Formatter;
|
|
15
19
|
export declare const formatShareLink: Formatter;
|
|
@@ -21,4 +25,12 @@ export declare const formatVersionMetadata: Formatter;
|
|
|
21
25
|
export declare const formatThreadDetails: Formatter;
|
|
22
26
|
export declare const formatThreadClosed: Formatter;
|
|
23
27
|
export declare const formatParticipantAdded: Formatter;
|
|
28
|
+
export declare const formatRefsAdded: Formatter;
|
|
29
|
+
export declare const formatRefRemoved: Formatter;
|
|
30
|
+
export declare const formatWhoami: Formatter;
|
|
24
31
|
export declare const formatProfileUpdated: Formatter;
|
|
32
|
+
export declare const formatCollectionRows: Formatter;
|
|
33
|
+
export declare const formatRowsAppended: Formatter;
|
|
34
|
+
export declare const formatRowUpdated: Formatter;
|
|
35
|
+
export declare const formatRowsDeleted: Formatter;
|
|
36
|
+
export declare const formatSearchResults: Formatter;
|
package/dist/formatters.js
CHANGED
|
@@ -83,7 +83,7 @@ export const formatInbox = (data) => {
|
|
|
83
83
|
const intent = t.last_intent ? ` last: ${t.last_intent}` : '';
|
|
84
84
|
const preview = t.last_body_preview ? ` "${t.last_body_preview}"` : '';
|
|
85
85
|
const ago = formatTimeAgo(new Date(t.updated_at));
|
|
86
|
-
lines.push(` ${t.thread_id
|
|
86
|
+
lines.push(` ${t.thread_id} ${count.padEnd(10)}${intent}${preview} ${ago}`);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
else {
|
|
@@ -104,24 +104,59 @@ export const formatInbox = (data) => {
|
|
|
104
104
|
}
|
|
105
105
|
return lines.join('\n');
|
|
106
106
|
};
|
|
107
|
+
export const formatThreadList = (data) => {
|
|
108
|
+
const threads = data.threads ?? [];
|
|
109
|
+
const total = data.total ?? threads.length;
|
|
110
|
+
if (threads.length === 0)
|
|
111
|
+
return 'No threads.';
|
|
112
|
+
const lines = [`${total} thread(s):\n`];
|
|
113
|
+
for (const t of threads) {
|
|
114
|
+
const state = t.state === 'closed' ? '[closed]' : '[open] ';
|
|
115
|
+
const participants = `${t.participant_count} participant${t.participant_count !== 1 ? 's' : ''}`;
|
|
116
|
+
const preview = t.last_message_preview ? `"${t.last_message_preview}"` : '(no messages)';
|
|
117
|
+
const ago = t.updated_at ? formatTimeAgo(new Date(t.updated_at)) : '';
|
|
118
|
+
lines.push(` ${state} ${t.thread_id} ${participants.padEnd(16)} ${preview} ${ago}`);
|
|
119
|
+
}
|
|
120
|
+
return lines.join('\n');
|
|
121
|
+
};
|
|
107
122
|
export const formatContacts = (data) => {
|
|
108
123
|
const contacts = data;
|
|
109
124
|
const entries = Object.entries(contacts);
|
|
110
125
|
if (entries.length === 0)
|
|
111
126
|
return 'No contacts.';
|
|
112
127
|
const lines = [`${entries.length} contact(s):\n`];
|
|
113
|
-
lines.push(`${'NAME'.padEnd(16)} ${'AGENT ID'.padEnd(
|
|
128
|
+
lines.push(`${'NAME'.padEnd(16)} ${'AGENT ID'.padEnd(40)} ${'ALIAS'.padEnd(16)} NOTES`);
|
|
114
129
|
for (const [name, c] of entries) {
|
|
115
130
|
const alias = c.alias || '—';
|
|
116
131
|
const notes = c.notes || '';
|
|
117
|
-
|
|
118
|
-
lines.push(`${name.padEnd(16)} ${idShort.padEnd(24)} ${alias.padEnd(16)} ${notes}`);
|
|
132
|
+
lines.push(`${name.padEnd(16)} ${c.agent_id.padEnd(40)} ${alias.padEnd(16)} ${notes}`);
|
|
119
133
|
}
|
|
120
134
|
return lines.join('\n');
|
|
121
135
|
};
|
|
122
136
|
export const formatContactResolved = (data) => {
|
|
123
137
|
return `${data.name}: ${data.agent_id}`;
|
|
124
138
|
};
|
|
139
|
+
export const formatContactSaved = (data) => {
|
|
140
|
+
const lines = [`Contact "${data.name}" saved`];
|
|
141
|
+
if (data.agent_id)
|
|
142
|
+
lines.push(` Agent: ${data.agent_id}`);
|
|
143
|
+
if (data.alias)
|
|
144
|
+
lines.push(` Alias: ${data.alias}`);
|
|
145
|
+
return lines.join('\n');
|
|
146
|
+
};
|
|
147
|
+
export const formatContactRemoved = (data) => {
|
|
148
|
+
return data.message || `Contact "${data.name}" removed`;
|
|
149
|
+
};
|
|
150
|
+
export const formatConfigShow = (data) => {
|
|
151
|
+
const lines = ['Configuration:'];
|
|
152
|
+
if (data.apiUrl)
|
|
153
|
+
lines.push(` API URL: ${data.apiUrl}`);
|
|
154
|
+
if (data.apiKey)
|
|
155
|
+
lines.push(` API Key: ${data.apiKey}`);
|
|
156
|
+
if (data.configFile)
|
|
157
|
+
lines.push(` Config file: ${data.configFile}`);
|
|
158
|
+
return lines.join('\n');
|
|
159
|
+
};
|
|
125
160
|
export const formatMessageSent = (data) => {
|
|
126
161
|
const lines = [];
|
|
127
162
|
if (data.thread_id)
|
|
@@ -140,10 +175,10 @@ export const formatMessages = (data) => {
|
|
|
140
175
|
return 'No messages.';
|
|
141
176
|
const lines = [];
|
|
142
177
|
for (const m of messages) {
|
|
143
|
-
const sender = m.sender?.agent_id
|
|
178
|
+
const sender = m.sender?.agent_id || m.sender?.user_id || 'unknown';
|
|
144
179
|
const intent = m.intent ? ` [${m.intent}]` : '';
|
|
145
180
|
const ago = formatTimeAgo(new Date(m.created_at));
|
|
146
|
-
lines.push(`#${m.sequence} ${sender}
|
|
181
|
+
lines.push(`#${m.sequence} ${sender} ${ago}${intent}`);
|
|
147
182
|
lines.push(` ${m.body}`);
|
|
148
183
|
lines.push('');
|
|
149
184
|
}
|
|
@@ -172,6 +207,10 @@ export const formatThreadCreated = (data) => {
|
|
|
172
207
|
if (Array.isArray(participants)) {
|
|
173
208
|
lines.push(` Participants: ${participants.length}`);
|
|
174
209
|
}
|
|
210
|
+
const refs = data.refs;
|
|
211
|
+
if (Array.isArray(refs) && refs.length > 0) {
|
|
212
|
+
lines.push(` Linked: ${refs.length}`);
|
|
213
|
+
}
|
|
175
214
|
return lines.join('\n');
|
|
176
215
|
};
|
|
177
216
|
export const formatAssetDownloaded = (data) => {
|
|
@@ -240,6 +279,13 @@ export const formatThreadDetails = (data) => {
|
|
|
240
279
|
lines.push(` - ${id}${role}`);
|
|
241
280
|
}
|
|
242
281
|
}
|
|
282
|
+
const refs = data.refs;
|
|
283
|
+
if (Array.isArray(refs) && refs.length > 0) {
|
|
284
|
+
lines.push(` Linked: ${refs.length}`);
|
|
285
|
+
for (const r of refs) {
|
|
286
|
+
lines.push(` - [${r.type}] ${r.target_id}`);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
243
289
|
if (data.resolution)
|
|
244
290
|
lines.push(` Resolution: ${JSON.stringify(data.resolution)}`);
|
|
245
291
|
if (data.created_at)
|
|
@@ -262,6 +308,27 @@ export const formatParticipantAdded = (data) => {
|
|
|
262
308
|
lines.push(` Agent: ${data.agent_id}`);
|
|
263
309
|
return lines.join('\n');
|
|
264
310
|
};
|
|
311
|
+
export const formatRefsAdded = (data) => {
|
|
312
|
+
const refs = data;
|
|
313
|
+
if (!Array.isArray(refs) || refs.length === 0)
|
|
314
|
+
return 'No refs added.';
|
|
315
|
+
const lines = [`Added ${refs.length} ref(s):`];
|
|
316
|
+
for (const r of refs) {
|
|
317
|
+
lines.push(` [${r.type}] ${r.target_id} (${r.id})`);
|
|
318
|
+
}
|
|
319
|
+
return lines.join('\n');
|
|
320
|
+
};
|
|
321
|
+
export const formatRefRemoved = (data) => {
|
|
322
|
+
return `Removed ref ${data.ref_id} from thread ${data.thread_id}`;
|
|
323
|
+
};
|
|
324
|
+
export const formatWhoami = (data) => {
|
|
325
|
+
const lines = [String(data.agent_id)];
|
|
326
|
+
if (data.alias)
|
|
327
|
+
lines.push(` Alias: ${data.alias}`);
|
|
328
|
+
if (data.registered_at)
|
|
329
|
+
lines.push(` Registered: ${data.registered_at}`);
|
|
330
|
+
return lines.join('\n');
|
|
331
|
+
};
|
|
265
332
|
export const formatProfileUpdated = (data) => {
|
|
266
333
|
const lines = ['Profile updated'];
|
|
267
334
|
if (data.agent_id)
|
|
@@ -272,6 +339,67 @@ export const formatProfileUpdated = (data) => {
|
|
|
272
339
|
lines.push(` Metadata: ${JSON.stringify(data.metadata)}`);
|
|
273
340
|
return lines.join('\n');
|
|
274
341
|
};
|
|
342
|
+
export const formatCollectionRows = (data) => {
|
|
343
|
+
const rows = data.rows ?? [];
|
|
344
|
+
const nextCursor = data.nextCursor;
|
|
345
|
+
if (!Array.isArray(rows) || rows.length === 0)
|
|
346
|
+
return 'No rows.';
|
|
347
|
+
const lines = [`${rows.length} row(s):\n`];
|
|
348
|
+
for (const r of rows) {
|
|
349
|
+
const dataStr = JSON.stringify(r.data);
|
|
350
|
+
const ago = formatTimeAgo(new Date(r.createdAt));
|
|
351
|
+
lines.push(` ${r.id} ${ago} ${dataStr}`);
|
|
352
|
+
}
|
|
353
|
+
if (nextCursor)
|
|
354
|
+
lines.push(`\n More rows available. Use --after ${nextCursor}`);
|
|
355
|
+
return lines.join('\n');
|
|
356
|
+
};
|
|
357
|
+
export const formatRowsAppended = (data) => {
|
|
358
|
+
const count = data.count ?? 0;
|
|
359
|
+
const rows = data.rows ?? [];
|
|
360
|
+
const lines = [`Appended ${count} row(s)`];
|
|
361
|
+
for (const r of rows) {
|
|
362
|
+
if (r.id)
|
|
363
|
+
lines.push(` ${r.id}`);
|
|
364
|
+
}
|
|
365
|
+
return lines.join('\n');
|
|
366
|
+
};
|
|
367
|
+
export const formatRowUpdated = (data) => {
|
|
368
|
+
return `Updated row ${data.id}`;
|
|
369
|
+
};
|
|
370
|
+
export const formatRowsDeleted = (data) => {
|
|
371
|
+
return `Deleted ${data.deleted} row(s)`;
|
|
372
|
+
};
|
|
373
|
+
export const formatSearchResults = (data) => {
|
|
374
|
+
const results = data.results ?? [];
|
|
375
|
+
const total = data.total ?? results.length;
|
|
376
|
+
if (results.length === 0)
|
|
377
|
+
return 'No results.';
|
|
378
|
+
const lines = [`${total} result(s):\n`];
|
|
379
|
+
for (const r of results) {
|
|
380
|
+
const title = r.title || '(untitled)';
|
|
381
|
+
const ago = formatTimeAgo(new Date(r.updated_at));
|
|
382
|
+
if (r.type === 'thread') {
|
|
383
|
+
const state = r.thread?.state === 'closed' ? '[closed]' : '[open] ';
|
|
384
|
+
const intent = r.thread?.last_intent ? ` last: ${r.thread.last_intent}` : '';
|
|
385
|
+
const participants = r.thread?.participant_count != null
|
|
386
|
+
? `${r.thread.participant_count} participant${r.thread.participant_count !== 1 ? 's' : ''}`
|
|
387
|
+
: '';
|
|
388
|
+
lines.push(` thread ${state} ${r.id} ${participants.padEnd(16)}${intent} ${ago}`);
|
|
389
|
+
if (title !== '(untitled)')
|
|
390
|
+
lines.push(` ${title}`);
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
const assetType = (r.asset?.asset_type ?? '').padEnd(10);
|
|
394
|
+
const versions = r.asset?.version_count ? `v${r.asset.version_count}` : '';
|
|
395
|
+
lines.push(` asset ${assetType} ${r.id} ${title} ${versions} ${ago}`);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
if (results.length < total) {
|
|
399
|
+
lines.push(`\n Showing ${results.length} of ${total}. Use --offset ${results.length} for more.`);
|
|
400
|
+
}
|
|
401
|
+
return lines.join('\n');
|
|
402
|
+
};
|
|
275
403
|
function formatTimeAgo(date) {
|
|
276
404
|
const seconds = Math.floor((Date.now() - date.getTime()) / 1000);
|
|
277
405
|
if (seconds < 60)
|