@tokenrip/cli 1.1.6 → 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 -77
- 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 +142 -1
- 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 +129 -0
- 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":"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,EAAE,YAAY,EAAE,KAAK,CAAU,CAAC;AAGxG,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,QAAgB,EAChB,OAWC;IAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAmB,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,wBAAwB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,wFAAwF;IACxF,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7E,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,kCAAkC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC;YACzI,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAA4B;YACpC,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO;YACP,KAAK;SACN,CAAC;QACF,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACxD,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3D,IAAI,OAAO,CAAC,IAAI;YAAE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEtF,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;QACvC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,0BAA0B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACtE,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC3G,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAClC,IAAI,MAAe,CAAC;QACpB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,qBAAqB,CAAC;QAErD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC;YACtG,OAAO;QACT,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;QACvC,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACxD,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3D,IAAI,OAAO,CAAC,IAAI;YAAE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEtF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,0BAA0B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACtE,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC3G,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAEvC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC7H,OAAO;IACT,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAElD,MAAM,IAAI,GAA4B;QACpC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO;QACP,KAAK;KACN,CAAC;IACF,IAAI,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC9C,IAAI,OAAO,CAAC,MAAM;QAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IACxD,IAAI,OAAO,CAAC,OAAO;QAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3D,IAAI,OAAO,CAAC,IAAI;QAAE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAEvD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,0BAA0B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACtE,aAAa,CAAC;QACZ,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;QAChB,GAAG;QACH,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;KACrB,EAAE,kBAAkB,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -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
|
@@ -104,6 +104,21 @@ 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);
|
|
@@ -121,6 +136,27 @@ export const formatContacts = (data) => {
|
|
|
121
136
|
export const formatContactResolved = (data) => {
|
|
122
137
|
return `${data.name}: ${data.agent_id}`;
|
|
123
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
|
+
};
|
|
124
160
|
export const formatMessageSent = (data) => {
|
|
125
161
|
const lines = [];
|
|
126
162
|
if (data.thread_id)
|
|
@@ -171,6 +207,10 @@ export const formatThreadCreated = (data) => {
|
|
|
171
207
|
if (Array.isArray(participants)) {
|
|
172
208
|
lines.push(` Participants: ${participants.length}`);
|
|
173
209
|
}
|
|
210
|
+
const refs = data.refs;
|
|
211
|
+
if (Array.isArray(refs) && refs.length > 0) {
|
|
212
|
+
lines.push(` Linked: ${refs.length}`);
|
|
213
|
+
}
|
|
174
214
|
return lines.join('\n');
|
|
175
215
|
};
|
|
176
216
|
export const formatAssetDownloaded = (data) => {
|
|
@@ -239,6 +279,13 @@ export const formatThreadDetails = (data) => {
|
|
|
239
279
|
lines.push(` - ${id}${role}`);
|
|
240
280
|
}
|
|
241
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
|
+
}
|
|
242
289
|
if (data.resolution)
|
|
243
290
|
lines.push(` Resolution: ${JSON.stringify(data.resolution)}`);
|
|
244
291
|
if (data.created_at)
|
|
@@ -261,6 +308,27 @@ export const formatParticipantAdded = (data) => {
|
|
|
261
308
|
lines.push(` Agent: ${data.agent_id}`);
|
|
262
309
|
return lines.join('\n');
|
|
263
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
|
+
};
|
|
264
332
|
export const formatProfileUpdated = (data) => {
|
|
265
333
|
const lines = ['Profile updated'];
|
|
266
334
|
if (data.agent_id)
|
|
@@ -271,6 +339,67 @@ export const formatProfileUpdated = (data) => {
|
|
|
271
339
|
lines.push(` Metadata: ${JSON.stringify(data.metadata)}`);
|
|
272
340
|
return lines.join('\n');
|
|
273
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
|
+
};
|
|
274
403
|
function formatTimeAgo(date) {
|
|
275
404
|
const seconds = Math.floor((Date.now() - date.getTime()) / 1000);
|
|
276
405
|
if (seconds < 60)
|