@rine-network/cli 0.7.0 → 0.7.1

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/README.md CHANGED
@@ -67,7 +67,7 @@ Use `rine --help` or `rine <command> --help` for full usage.
67
67
 
68
68
  ## Configuration
69
69
 
70
- The CLI stores credentials in `.rine/` in the current directory (or `$RINE_CONFIG_DIR` if set).
70
+ The CLI resolves its config directory in order: `$RINE_CONFIG_DIR` > `.rine/` in the current directory > `~/.config/rine`.
71
71
 
72
72
  | Variable | Description |
73
73
  |----------|-------------|
package/bin/rine.js CHANGED
File without changes
package/dist/main.js CHANGED
@@ -1,10 +1,9 @@
1
1
  import { createRequire } from "node:module";
2
2
  import { Command } from "commander";
3
- import { HttpClient, RineApiError, UUID_RE, agentKeysExist, cacheToken, decryptGroupMessage, decryptMessage, encryptGroupMessage, encryptMessage, encryptionPublicKeyToJWK, fetchAgents, fetchOAuthToken, fetchRecipientEncryptionKey, formatError, fromBase64Url, generateAgentKeys, getAgentPublicKeys, getCredentialEntry, getOrCreateSenderKey, getOrRefreshToken, ingestSenderKeyDistribution, isBareAgentName, loadAgentKeys, loadCredentials, loadTokenCache, resolveAgent, resolveApiUrl, resolveConfigDir, resolveHandleViaWebFinger, resolveToUuid, saveAgentKeys, saveCredentials, saveTokenCache, signingPublicKeyToJWK, solveTimeLockWithProgress, toBase64Url } from "@rine-network/core";
3
+ import { HttpClient, RineApiError, UUID_RE, agentKeysExist, cacheToken, decryptGroupMessage, decryptMessage, encryptGroupMessage, encryptMessage, encryptionPublicKeyToJWK, fetchAgents, fetchOAuthToken, fetchRecipientEncryptionKey, formatError, fromBase64Url, generateAgentKeys, getAgentPublicKeys, getCredentialEntry, getOrCreateSenderKey, getOrRefreshToken, ingestSenderKeyDistribution, isBareAgentName, loadAgentKeys, loadCredentials, loadTokenCache, resolveAgent, resolveApiUrl, resolveConfigDir, resolveHandleViaWebFinger, resolveToUuid, saveAgentKeys, saveCredentials, saveTokenCache, signingPublicKeyToJWK, solveTimeLockWithProgress, toBase64Url, validateEncryptionKey, validateSigningKey } from "@rine-network/core";
4
4
  import readline from "node:readline";
5
5
  import * as fs from "node:fs";
6
6
  import { join } from "node:path";
7
- import { ed25519, x25519 } from "@noble/curves/ed25519.js";
8
7
  import { createEventSource } from "eventsource-client";
9
8
  //#region src/output.ts
10
9
  function printSuccess(msg) {
@@ -962,29 +961,17 @@ function registerKeys(program) {
962
961
  process.exitCode = 2;
963
962
  return;
964
963
  }
965
- const sigBytes = fromBase64Url(data.signing_private_key);
966
- if (sigBytes.length !== 32) {
967
- printError(`Invalid signing key: expected 32 bytes, got ${sigBytes.length}`);
968
- process.exitCode = 2;
969
- return;
970
- }
971
964
  try {
972
- ed25519.getPublicKey(sigBytes);
973
- } catch {
974
- printError("Invalid signing key: not a valid Ed25519 private key");
975
- process.exitCode = 2;
976
- return;
977
- }
978
- const encBytes = fromBase64Url(data.encryption_private_key);
979
- if (encBytes.length !== 32) {
980
- printError(`Invalid encryption key: expected 32 bytes, got ${encBytes.length}`);
965
+ validateSigningKey(fromBase64Url(data.signing_private_key));
966
+ } catch (err) {
967
+ printError(`Invalid signing key: ${err.message}`);
981
968
  process.exitCode = 2;
982
969
  return;
983
970
  }
984
971
  try {
985
- x25519.getPublicKey(encBytes);
986
- } catch {
987
- printError("Invalid encryption key: not a valid X25519 private key");
972
+ validateEncryptionKey(fromBase64Url(data.encryption_private_key));
973
+ } catch (err) {
974
+ printError(`Invalid encryption key: ${err.message}`);
988
975
  process.exitCode = 2;
989
976
  return;
990
977
  }
package/package.json CHANGED
@@ -1,62 +1,61 @@
1
1
  {
2
- "name": "@rine-network/cli",
3
- "version": "0.7.0",
4
- "description": "CLI client for rine.network EU-first messaging infrastructure for AI agents",
5
- "author": "mmmbs <mmmbs@proton.me>",
6
- "license": "EUPL-1.2",
7
- "type": "module",
8
- "engines": {
9
- "node": ">=22"
10
- },
11
- "bin": {
12
- "rine": "bin/rine.js"
13
- },
14
- "files": [
15
- "bin/",
16
- "dist/"
17
- ],
18
- "exports": {
19
- ".": "./dist/main.js"
20
- },
21
- "scripts": {
22
- "build": "tsdown src/main.ts --format esm --outDir dist --clean",
23
- "prepublishOnly": "npm run build",
24
- "typecheck": "tsc --noEmit",
25
- "lint": "biome check .",
26
- "test": "vitest run",
27
- "test:coverage": "vitest --coverage",
28
- "dev": "tsx src/main.ts"
29
- },
30
- "dependencies": {
31
- "@noble/curves": "^2.0.1",
32
- "@rine-network/core": "file:../rine-core",
33
- "commander": "^12.0.0",
34
- "eventsource-client": "^1.1.0"
35
- },
36
- "devDependencies": {
37
- "@biomejs/biome": "^1.9.0",
38
- "@types/node": "^22.0.0",
39
- "tsdown": "^0.12.0",
40
- "tsx": "^4.19.0",
41
- "typescript": "^5.8.0",
42
- "vitest": "^3.0.0"
43
- },
44
- "homepage": "https://rine.network",
45
- "repository": {
46
- "type": "git",
47
- "url": "https://codeberg.org/rine/rine-cli"
48
- },
49
- "bugs": {
50
- "url": "https://codeberg.org/rine/rine-cli/issues"
51
- },
52
- "publishConfig": {
53
- "access": "public"
54
- },
55
- "keywords": [
56
- "messaging",
57
- "ai-agents",
58
- "cli",
59
- "a2a",
60
- "eu"
61
- ]
2
+ "name": "@rine-network/cli",
3
+ "version": "0.7.1",
4
+ "description": "CLI client for rine.network \u2014 EU-first messaging infrastructure for AI agents",
5
+ "author": "mmmbs <mmmbs@proton.me>",
6
+ "license": "EUPL-1.2",
7
+ "type": "module",
8
+ "engines": {
9
+ "node": ">=22"
10
+ },
11
+ "bin": {
12
+ "rine": "bin/rine.js"
13
+ },
14
+ "files": [
15
+ "bin/",
16
+ "dist/"
17
+ ],
18
+ "exports": {
19
+ ".": "./dist/main.js"
20
+ },
21
+ "scripts": {
22
+ "build": "tsdown src/main.ts --format esm --outDir dist --clean",
23
+ "prepublishOnly": "npm run build",
24
+ "typecheck": "tsc --noEmit",
25
+ "lint": "biome check .",
26
+ "test": "vitest run",
27
+ "test:coverage": "vitest --coverage",
28
+ "dev": "tsx src/main.ts"
29
+ },
30
+ "dependencies": {
31
+ "@rine-network/core": "^0.1.0",
32
+ "commander": "^12.0.0",
33
+ "eventsource-client": "^1.1.0"
34
+ },
35
+ "devDependencies": {
36
+ "@biomejs/biome": "^1.9.0",
37
+ "@types/node": "^22.0.0",
38
+ "tsdown": "^0.12.0",
39
+ "tsx": "^4.19.0",
40
+ "typescript": "^5.8.0",
41
+ "vitest": "^3.0.0"
42
+ },
43
+ "homepage": "https://rine.network",
44
+ "repository": {
45
+ "type": "git",
46
+ "url": "https://codeberg.org/rine/rine-cli"
47
+ },
48
+ "bugs": {
49
+ "url": "https://codeberg.org/rine/rine-cli/issues"
50
+ },
51
+ "publishConfig": {
52
+ "access": "public"
53
+ },
54
+ "keywords": [
55
+ "messaging",
56
+ "ai-agents",
57
+ "cli",
58
+ "a2a",
59
+ "eu"
60
+ ]
62
61
  }