@remnic/cli 9.4.1 → 9.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +48 -5
  2. package/package.json +28 -28
package/dist/index.js CHANGED
@@ -114,7 +114,9 @@ import {
114
114
  expandTildePath,
115
115
  forkCapsule,
116
116
  readForkLineage,
117
- runWearablesCliCommand
117
+ runWearablesCliCommand,
118
+ OPERATION_NAMES,
119
+ validateCapabilitiesForMint
118
120
  } from "@remnic/core";
119
121
  import {
120
122
  AUTH_TAG_LENGTH,
@@ -11003,16 +11005,57 @@ function daemonRestart() {
11003
11005
  daemonStop();
11004
11006
  setTimeout(() => daemonStart(), 1e3);
11005
11007
  }
11006
- function cmdTokenGenerate(connector) {
11008
+ function cmdTokenGenerate(rest) {
11009
+ const opsRaw = resolveFlagStrict(rest, "--ops");
11010
+ const namespacesRaw = resolveFlagStrict(rest, "--namespaces");
11011
+ let connector;
11012
+ for (let i = 0; i < rest.length; i++) {
11013
+ const tok = rest[i];
11014
+ if (tok === "--ops" || tok === "--namespaces") {
11015
+ i++;
11016
+ continue;
11017
+ }
11018
+ if (!tok.startsWith("-")) {
11019
+ connector = tok;
11020
+ break;
11021
+ }
11022
+ }
11007
11023
  if (!connector) {
11008
- console.error("Usage: remnic token generate <connector-id>");
11024
+ console.error("Usage: remnic token generate <connector-id> [--ops <comma-list>] [--namespaces <comma-list>]");
11009
11025
  console.error(" e.g.: remnic token generate claude-code");
11026
+ console.error(" remnic token generate monitor --ops status,health --namespaces default");
11027
+ process.exit(1);
11028
+ }
11029
+ const rawCaps = {};
11030
+ if (opsRaw !== void 0) {
11031
+ rawCaps.ops = opsRaw.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
11032
+ }
11033
+ if (namespacesRaw !== void 0) {
11034
+ rawCaps.namespaces = namespacesRaw.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
11035
+ }
11036
+ let capabilities;
11037
+ try {
11038
+ capabilities = validateCapabilitiesForMint(
11039
+ Object.keys(rawCaps).length > 0 ? rawCaps : void 0,
11040
+ OPERATION_NAMES
11041
+ );
11042
+ } catch (error) {
11043
+ console.error(
11044
+ `Invalid token capabilities: ${error instanceof Error ? error.message : String(error)}`
11045
+ );
11046
+ console.error(" Run with --ops <comma-list> and/or --namespaces <comma-list> using valid values.");
11010
11047
  process.exit(1);
11011
11048
  }
11012
- const entry = generateToken(connector);
11049
+ const entry = generateToken(connector, void 0, capabilities);
11013
11050
  console.log(`Generated token for ${connector}:`);
11014
11051
  console.log(` Token: ${entry.token}`);
11015
11052
  console.log(` Created: ${entry.createdAt}`);
11053
+ if (capabilities.ops !== void 0) {
11054
+ console.log(` Ops: ${capabilities.ops.length > 0 ? capabilities.ops.join(", ") : "(deny all)"}`);
11055
+ }
11056
+ if (capabilities.namespaces !== void 0) {
11057
+ console.log(` Ns: ${capabilities.namespaces.length > 0 ? capabilities.namespaces.join(", ") : "(deny all)"}`);
11058
+ }
11016
11059
  console.log(`
11017
11060
  Use this token as the Bearer token when connecting from ${connector}.`);
11018
11061
  }
@@ -11973,7 +12016,7 @@ async function main(argv = process.argv.slice(2)) {
11973
12016
  const json = rest.includes("--json");
11974
12017
  switch (action) {
11975
12018
  case "generate":
11976
- cmdTokenGenerate(rest[1]);
12019
+ cmdTokenGenerate(rest.slice(1));
11977
12020
  break;
11978
12021
  case "list":
11979
12022
  cmdTokenList(json);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/cli",
3
- "version": "9.4.1",
3
+ "version": "9.5.0",
4
4
  "description": "CLI for Remnic memory — init, query, doctor, daemon management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,23 +26,23 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "yaml": "^2.4.2",
29
- "@remnic/plugin-pi": "^9.4.1",
30
- "@remnic/core": "^9.4.1",
31
- "@remnic/server": "^9.4.1"
29
+ "@remnic/server": "^9.5.0",
30
+ "@remnic/plugin-pi": "^9.5.0",
31
+ "@remnic/core": "^9.5.0"
32
32
  },
33
33
  "peerDependencies": {
34
- "@remnic/bench": "^9.4.1",
35
- "@remnic/export-weclone": "^9.4.1",
36
- "@remnic/import-weclone": "^9.4.1",
37
- "@remnic/import-chatgpt": "^9.4.1",
38
- "@remnic/import-claude": "^9.4.1",
39
- "@remnic/import-gemini": "^9.4.1",
40
- "@remnic/import-lossless-claw": "^9.4.1",
41
- "@remnic/import-mem0": "^9.4.1",
42
- "@remnic/import-supermemory": "^9.4.1",
43
- "@remnic/connector-limitless": "^9.4.1",
44
- "@remnic/connector-bee": "^9.4.1",
45
- "@remnic/connector-omi": "^9.4.1"
34
+ "@remnic/bench": "^9.5.0",
35
+ "@remnic/export-weclone": "^9.5.0",
36
+ "@remnic/import-weclone": "^9.5.0",
37
+ "@remnic/import-chatgpt": "^9.5.0",
38
+ "@remnic/import-claude": "^9.5.0",
39
+ "@remnic/import-gemini": "^9.5.0",
40
+ "@remnic/import-lossless-claw": "^9.5.0",
41
+ "@remnic/import-mem0": "^9.5.0",
42
+ "@remnic/import-supermemory": "^9.5.0",
43
+ "@remnic/connector-limitless": "^9.5.0",
44
+ "@remnic/connector-bee": "^9.5.0",
45
+ "@remnic/connector-omi": "^9.5.0"
46
46
  },
47
47
  "peerDependenciesMeta": {
48
48
  "@remnic/bench": {
@@ -85,18 +85,18 @@
85
85
  "devDependencies": {
86
86
  "tsup": "^8.5.1",
87
87
  "typescript": "^5.9.3",
88
- "@remnic/bench": "9.4.1",
89
- "@remnic/export-weclone": "9.4.1",
90
- "@remnic/import-weclone": "9.4.1",
91
- "@remnic/import-chatgpt": "9.4.1",
92
- "@remnic/import-gemini": "9.4.1",
93
- "@remnic/import-claude": "9.4.1",
94
- "@remnic/import-lossless-claw": "9.4.1",
95
- "@remnic/import-mem0": "9.4.1",
96
- "@remnic/import-supermemory": "9.4.1",
97
- "@remnic/connector-limitless": "9.4.1",
98
- "@remnic/connector-omi": "9.4.1",
99
- "@remnic/connector-bee": "9.4.1"
88
+ "@remnic/bench": "9.5.0",
89
+ "@remnic/export-weclone": "9.5.0",
90
+ "@remnic/import-weclone": "9.5.0",
91
+ "@remnic/import-claude": "9.5.0",
92
+ "@remnic/import-chatgpt": "9.5.0",
93
+ "@remnic/import-lossless-claw": "9.5.0",
94
+ "@remnic/import-gemini": "9.5.0",
95
+ "@remnic/import-mem0": "9.5.0",
96
+ "@remnic/import-supermemory": "9.5.0",
97
+ "@remnic/connector-limitless": "9.5.0",
98
+ "@remnic/connector-bee": "9.5.0",
99
+ "@remnic/connector-omi": "9.5.0"
100
100
  },
101
101
  "license": "MIT",
102
102
  "repository": {