@tokenrip/cli 1.3.4 → 1.3.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.
Files changed (132) hide show
  1. package/AGENTS.md +62 -30
  2. package/SKILL.md +70 -23
  3. package/dist/agent-crypto.d.ts +3 -0
  4. package/dist/agent-crypto.js +54 -0
  5. package/dist/agent-crypto.js.map +1 -0
  6. package/dist/auth-client.js +12 -4
  7. package/dist/auth-client.js.map +1 -1
  8. package/dist/cjs/agent-crypto.js +58 -0
  9. package/dist/cjs/agent-crypto.js.map +1 -0
  10. package/dist/cjs/auth-client.js +11 -3
  11. package/dist/cjs/auth-client.js.map +1 -1
  12. package/dist/cjs/client.js +10 -0
  13. package/dist/cjs/client.js.map +1 -1
  14. package/dist/cjs/commands/agent.js +130 -0
  15. package/dist/cjs/commands/agent.js.map +1 -0
  16. package/dist/cjs/commands/archive.js +9 -6
  17. package/dist/cjs/commands/archive.js.map +1 -1
  18. package/dist/cjs/commands/asset-cat.js +3 -1
  19. package/dist/cjs/commands/asset-cat.js.map +1 -1
  20. package/dist/cjs/commands/asset-comments.js +7 -2
  21. package/dist/cjs/commands/asset-comments.js.map +1 -1
  22. package/dist/cjs/commands/asset-download.js +61 -10
  23. package/dist/cjs/commands/asset-download.js.map +1 -1
  24. package/dist/cjs/commands/asset-get.js +3 -1
  25. package/dist/cjs/commands/asset-get.js.map +1 -1
  26. package/dist/cjs/commands/asset-versions.js +3 -1
  27. package/dist/cjs/commands/asset-versions.js.map +1 -1
  28. package/dist/cjs/commands/auth.js +82 -82
  29. package/dist/cjs/commands/auth.js.map +1 -1
  30. package/dist/cjs/commands/delete.js +6 -4
  31. package/dist/cjs/commands/delete.js.map +1 -1
  32. package/dist/cjs/commands/link.js +8 -3
  33. package/dist/cjs/commands/link.js.map +1 -1
  34. package/dist/cjs/commands/msg.js +2 -0
  35. package/dist/cjs/commands/msg.js.map +1 -1
  36. package/dist/cjs/commands/operator-link.js +7 -8
  37. package/dist/cjs/commands/operator-link.js.map +1 -1
  38. package/dist/cjs/commands/patch.js +3 -1
  39. package/dist/cjs/commands/patch.js.map +1 -1
  40. package/dist/cjs/commands/share.js +2 -5
  41. package/dist/cjs/commands/share.js.map +1 -1
  42. package/dist/cjs/commands/thread.js +37 -2
  43. package/dist/cjs/commands/thread.js.map +1 -1
  44. package/dist/cjs/commands/update.js +4 -4
  45. package/dist/cjs/commands/update.js.map +1 -1
  46. package/dist/cjs/config.js +8 -3
  47. package/dist/cjs/config.js.map +1 -1
  48. package/dist/cjs/crypto.js +5 -0
  49. package/dist/cjs/crypto.js.map +1 -1
  50. package/dist/cjs/formatters.js +63 -9
  51. package/dist/cjs/formatters.js.map +1 -1
  52. package/dist/cjs/identities.js +102 -0
  53. package/dist/cjs/identities.js.map +1 -0
  54. package/dist/cjs/index.js +11 -1
  55. package/dist/cjs/index.js.map +1 -1
  56. package/dist/cjs/migrations.js +37 -3
  57. package/dist/cjs/migrations.js.map +1 -1
  58. package/dist/cjs/output.js +6 -2
  59. package/dist/cjs/output.js.map +1 -1
  60. package/dist/cjs/parse-asset-id.js +11 -0
  61. package/dist/cjs/parse-asset-id.js.map +1 -0
  62. package/dist/cli.js +107 -21
  63. package/dist/cli.js.map +1 -1
  64. package/dist/client.js +10 -0
  65. package/dist/client.js.map +1 -1
  66. package/dist/commands/agent.d.ts +14 -0
  67. package/dist/commands/agent.js +119 -0
  68. package/dist/commands/agent.js.map +1 -0
  69. package/dist/commands/archive.d.ts +2 -2
  70. package/dist/commands/archive.js +9 -6
  71. package/dist/commands/archive.js.map +1 -1
  72. package/dist/commands/asset-cat.d.ts +1 -1
  73. package/dist/commands/asset-cat.js +3 -1
  74. package/dist/commands/asset-cat.js.map +1 -1
  75. package/dist/commands/asset-comments.d.ts +3 -2
  76. package/dist/commands/asset-comments.js +7 -2
  77. package/dist/commands/asset-comments.js.map +1 -1
  78. package/dist/commands/asset-download.d.ts +2 -1
  79. package/dist/commands/asset-download.js +61 -10
  80. package/dist/commands/asset-download.js.map +1 -1
  81. package/dist/commands/asset-get.d.ts +1 -1
  82. package/dist/commands/asset-get.js +3 -1
  83. package/dist/commands/asset-get.js.map +1 -1
  84. package/dist/commands/asset-versions.d.ts +1 -1
  85. package/dist/commands/asset-versions.js +3 -1
  86. package/dist/commands/asset-versions.js.map +1 -1
  87. package/dist/commands/auth.d.ts +5 -0
  88. package/dist/commands/auth.js +51 -81
  89. package/dist/commands/auth.js.map +1 -1
  90. package/dist/commands/delete.d.ts +1 -1
  91. package/dist/commands/delete.js +6 -4
  92. package/dist/commands/delete.js.map +1 -1
  93. package/dist/commands/link.js +9 -4
  94. package/dist/commands/link.js.map +1 -1
  95. package/dist/commands/msg.d.ts +1 -0
  96. package/dist/commands/msg.js +2 -0
  97. package/dist/commands/msg.js.map +1 -1
  98. package/dist/commands/operator-link.js +9 -10
  99. package/dist/commands/operator-link.js.map +1 -1
  100. package/dist/commands/patch.js +3 -1
  101. package/dist/commands/patch.js.map +1 -1
  102. package/dist/commands/share.js +2 -5
  103. package/dist/commands/share.js.map +1 -1
  104. package/dist/commands/thread.d.ts +5 -1
  105. package/dist/commands/thread.js +36 -2
  106. package/dist/commands/thread.js.map +1 -1
  107. package/dist/commands/update.d.ts +1 -1
  108. package/dist/commands/update.js +4 -4
  109. package/dist/commands/update.js.map +1 -1
  110. package/dist/config.d.ts +2 -0
  111. package/dist/config.js +7 -3
  112. package/dist/config.js.map +1 -1
  113. package/dist/crypto.d.ts +1 -0
  114. package/dist/crypto.js +4 -0
  115. package/dist/crypto.js.map +1 -1
  116. package/dist/formatters.d.ts +1 -0
  117. package/dist/formatters.js +61 -8
  118. package/dist/formatters.js.map +1 -1
  119. package/dist/identities.d.ts +17 -0
  120. package/dist/identities.js +90 -0
  121. package/dist/identities.js.map +1 -0
  122. package/dist/index.d.ts +2 -0
  123. package/dist/index.js +2 -0
  124. package/dist/index.js.map +1 -1
  125. package/dist/migrations.js +38 -4
  126. package/dist/migrations.js.map +1 -1
  127. package/dist/output.js +6 -2
  128. package/dist/output.js.map +1 -1
  129. package/dist/parse-asset-id.d.ts +1 -0
  130. package/dist/parse-asset-id.js +8 -0
  131. package/dist/parse-asset-id.js.map +1 -0
  132. package/package.json +2 -1
@@ -0,0 +1,90 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { getConfigDir, loadConfig } from './config.js';
4
+ import { CliError } from './errors.js';
5
+ function getIdentitiesFile() {
6
+ return path.join(getConfigDir(), 'identities.json');
7
+ }
8
+ export function loadIdentities() {
9
+ try {
10
+ return JSON.parse(fs.readFileSync(getIdentitiesFile(), 'utf-8'));
11
+ }
12
+ catch {
13
+ return {};
14
+ }
15
+ }
16
+ export function saveIdentities(store) {
17
+ const dir = getConfigDir();
18
+ const file = getIdentitiesFile();
19
+ fs.mkdirSync(dir, { recursive: true });
20
+ if (fs.existsSync(file)) {
21
+ fs.copyFileSync(file, `${file}.bak`);
22
+ }
23
+ fs.writeFileSync(file, JSON.stringify(store, null, 2), {
24
+ encoding: 'utf-8',
25
+ mode: 0o600,
26
+ });
27
+ }
28
+ export function addIdentity(identity) {
29
+ const store = loadIdentities();
30
+ store[identity.agentId] = identity;
31
+ saveIdentities(store);
32
+ }
33
+ export function removeIdentity(target) {
34
+ const store = loadIdentities();
35
+ const agentId = resolveAgentId(store, target);
36
+ if (!agentId) {
37
+ throw new CliError('IDENTITY_NOT_FOUND', `No local identity matching "${target}".`);
38
+ }
39
+ if (Object.keys(store).length <= 1) {
40
+ throw new CliError('LAST_IDENTITY', 'Cannot remove the last identity. Use `rip agent create` to add another first.');
41
+ }
42
+ delete store[agentId];
43
+ saveIdentities(store);
44
+ }
45
+ export function resolveAgentId(store, target) {
46
+ if (store[target])
47
+ return target;
48
+ for (const [id, identity] of Object.entries(store)) {
49
+ if (identity.alias === target)
50
+ return id;
51
+ }
52
+ return null;
53
+ }
54
+ let agentOverride;
55
+ export function setAgentOverride(value) {
56
+ agentOverride = value;
57
+ }
58
+ export function resolveCurrentIdentity(opts) {
59
+ const store = loadIdentities();
60
+ const entries = Object.values(store);
61
+ if (entries.length === 0) {
62
+ throw new CliError('NO_IDENTITY', 'No agent identity found. Run `rip agent create` to set up your agent.');
63
+ }
64
+ const override = opts?.agent || agentOverride;
65
+ if (override) {
66
+ const id = resolveAgentId(store, override);
67
+ if (!id) {
68
+ throw new CliError('IDENTITY_NOT_FOUND', `No local identity matching "${override}". Run \`rip agent list\` to see available agents.`);
69
+ }
70
+ return store[id];
71
+ }
72
+ const envAgent = process.env.TOKENRIP_AGENT;
73
+ if (envAgent) {
74
+ const id = resolveAgentId(store, envAgent);
75
+ if (!id) {
76
+ throw new CliError('IDENTITY_NOT_FOUND', `TOKENRIP_AGENT="${envAgent}" does not match any local identity.`);
77
+ }
78
+ return store[id];
79
+ }
80
+ const config = loadConfig();
81
+ if (config.currentAgent) {
82
+ const id = resolveAgentId(store, config.currentAgent);
83
+ if (id)
84
+ return store[id];
85
+ }
86
+ if (entries.length === 1)
87
+ return entries[0];
88
+ throw new CliError('AMBIGUOUS_IDENTITY', 'Multiple agents configured. Use `rip agent use <name>` to select one, or pass `--agent <name>`.');
89
+ }
90
+ //# sourceMappingURL=identities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identities.js","sourceRoot":"","sources":["../src/identities.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,8 @@ export type { AuthContext } from './auth-client.js';
9
9
  export * from './crypto.js';
10
10
  export * from './identity.js';
11
11
  export { loadState, saveState, type TokenripState } from './state.js';
12
+ export { loadIdentities, saveIdentities, addIdentity, removeIdentity, resolveCurrentIdentity, resolveAgentId, setAgentOverride, type StoredIdentity, type IdentityStore, } from './identities.js';
13
+ export { agentIdToPublicKey } from './crypto.js';
12
14
  export { loadContacts, saveContacts, addContact, removeContact, resolveRecipient, resolveRecipients } from './contacts.js';
13
15
  export { search } from './commands/search.js';
14
16
  export { folderCreate, folderList, folderShow, folderDelete, folderRename, assetMove } from './commands/folder.js';
package/dist/index.js CHANGED
@@ -6,6 +6,8 @@ export { requireAuthClient } from './auth-client.js';
6
6
  export * from './crypto.js';
7
7
  export * from './identity.js';
8
8
  export { loadState, saveState } from './state.js';
9
+ export { loadIdentities, saveIdentities, addIdentity, removeIdentity, resolveCurrentIdentity, resolveAgentId, setAgentOverride, } from './identities.js';
10
+ export { agentIdToPublicKey } from './crypto.js';
9
11
  export { loadContacts, saveContacts, addContact, removeContact, resolveRecipient, resolveRecipients } from './contacts.js';
10
12
  export { search } from './commands/search.js';
11
13
  export { folderCreate, folderList, folderShow, folderDelete, folderRename, assetMove } from './commands/folder.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAsB,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC3H,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEnH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAsB,MAAM,YAAY,CAAC;AACtE,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,EACX,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,gBAAgB,GAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC3H,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEnH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import fs from 'node:fs';
2
+ import path from 'node:path';
2
3
  import { bech32 } from 'bech32';
3
- import { CONFIG_FILE, loadConfig, saveConfig } from './config.js';
4
+ import { getConfigDir, loadConfig, saveConfig } from './config.js';
4
5
  import { loadIdentity, saveIdentity } from './identity.js';
5
6
  import { loadContacts, saveContacts } from './contacts.js';
6
- const CURRENT_CONFIG_VERSION = 2;
7
+ import { saveIdentities } from './identities.js';
8
+ const CURRENT_CONFIG_VERSION = 3;
7
9
  function migrateAgentId(id) {
8
10
  const { words } = bech32.decode(id, 90);
9
11
  const bytes = Buffer.from(bech32.fromWords(words));
@@ -27,11 +29,42 @@ function migrateV1toV2() {
27
29
  if (contactsChanged)
28
30
  saveContacts(contacts);
29
31
  }
32
+ // v2 → v3: move identity.json + config.apiKey into identities.json store
33
+ function migrateV2toV3() {
34
+ const dir = getConfigDir();
35
+ const identityFile = path.join(dir, 'identity.json');
36
+ if (!fs.existsSync(identityFile))
37
+ return;
38
+ let identity = null;
39
+ try {
40
+ identity = JSON.parse(fs.readFileSync(identityFile, 'utf-8'));
41
+ }
42
+ catch {
43
+ return;
44
+ }
45
+ if (!identity)
46
+ return;
47
+ const config = loadConfig();
48
+ const stored = {
49
+ agentId: identity.agentId,
50
+ publicKey: identity.publicKey,
51
+ secretKey: identity.secretKey,
52
+ };
53
+ if (config.apiKey)
54
+ stored.apiKey = config.apiKey;
55
+ saveIdentities({ [identity.agentId]: stored });
56
+ const updated = { ...config, currentAgent: identity.agentId };
57
+ delete updated.apiKey;
58
+ saveConfig(updated);
59
+ fs.renameSync(identityFile, `${identityFile}.migrated`);
60
+ }
30
61
  const MIGRATIONS = [
31
62
  { version: 2, run: migrateV1toV2 },
63
+ { version: 3, run: migrateV2toV3 },
32
64
  ];
33
65
  export function runMigrations() {
34
- if (!fs.existsSync(CONFIG_FILE))
66
+ const configFile = path.join(getConfigDir(), 'config.json');
67
+ if (!fs.existsSync(configFile))
35
68
  return;
36
69
  try {
37
70
  const config = loadConfig();
@@ -43,7 +76,8 @@ export function runMigrations() {
43
76
  m.run();
44
77
  }
45
78
  const latestVersion = pending[pending.length - 1].version;
46
- saveConfig({ ...config, configVersion: latestVersion });
79
+ const postMigrationConfig = loadConfig();
80
+ saveConfig({ ...postMigrationConfig, configVersion: latestVersion });
47
81
  console.error(`Config migrated (v${current} → v${latestVersion})`);
48
82
  console.error(` Skill file may be outdated — check latest: https://tokenrip.com/.well-known/skills/tokenrip/SKILL.md`);
49
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"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"}
package/dist/output.js CHANGED
@@ -53,8 +53,12 @@ export function wrapCommand(fn) {
53
53
  return wrapped;
54
54
  }
55
55
  const ERROR_HINTS = {
56
- NO_API_KEY: 'Run `rip auth register` to set up your agent.',
57
- UNAUTHORIZED: 'Your API key has expired or been revoked. Run `rip auth register` to recover it.',
56
+ NO_API_KEY: 'Run `rip agent create` to set up your agent.',
57
+ UNAUTHORIZED: 'Your API key has expired or been revoked. Run `rip agent create` to recover it.',
58
+ NO_IDENTITY: 'Run `rip agent create` to set up your agent.',
59
+ IDENTITY_NOT_FOUND: 'Run `rip agent list` to see available agents.',
60
+ AMBIGUOUS_IDENTITY: 'Use `rip agent use <name>` to select an agent, or pass `--agent <name>`.',
61
+ LAST_IDENTITY: 'Create another agent first with `rip agent create`.',
58
62
  NETWORK_ERROR: 'Check your connection. Run `rip config show` to verify the API URL.',
59
63
  TIMEOUT: 'The server did not respond in time. Try again or check your connection.',
60
64
  FILE_NOT_FOUND: 'Check the file path and try again.',
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnD,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,UAAU,GAAG,KAAK,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,WAAW,GAAG,KAAK,CAAC;AACtB,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,UAAU;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,WAAW;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAA6B,EAAE,SAAqB;IAChF,IAAI,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAa;IACvC,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI;YAAE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,WAAW,CAA8C,EAAK;IAC5E,MAAM,OAAO,GAAG,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IACF,OAAO,OAAuB,CAAC;AACjC,CAAC;AAED,MAAM,WAAW,GAA2B;IAC1C,UAAU,EAAE,+CAA+C;IAC3D,YAAY,EAAE,kFAAkF;IAChG,aAAa,EAAE,qEAAqE;IACpF,OAAO,EAAE,yEAAyE;IAClF,cAAc,EAAE,oCAAoC;IACpD,YAAY,EAAE,0HAA0H;IACxI,YAAY,EAAE,sDAAsD;IACpE,gBAAgB,EAAE,kCAAkC;IACpD,WAAW,EAAE,kCAAkC;IAC/C,eAAe,EAAE,sFAAsF;IACvG,WAAW,EAAE,kDAAkD;IAC/D,iBAAiB,EAAE,oDAAoD;IACvE,gBAAgB,EAAE,kDAAkD;IACpE,qBAAqB,EAAE,sCAAsC;CAC9D,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function parseAssetId(input: string): string;
@@ -0,0 +1,8 @@
1
+ const ASSET_URL_RE = /\/s\/([^/?#\s]+)/i;
2
+ export function parseAssetId(input) {
3
+ const match = input.match(ASSET_URL_RE);
4
+ if (match)
5
+ return match[1];
6
+ return input;
7
+ }
8
+ //# sourceMappingURL=parse-asset-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-asset-id.js","sourceRoot":"","sources":["../src/parse-asset-id.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tokenrip/cli",
3
- "version": "1.3.4",
3
+ "version": "1.3.7",
4
4
  "description": "CLI and library for AI agents to create and share assets via Tokenrip",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -45,6 +45,7 @@
45
45
  "clean": "rm -rf dist"
46
46
  },
47
47
  "dependencies": {
48
+ "@noble/curves": "^2.2.0",
48
49
  "axios": "^1.11.0",
49
50
  "bech32": "^2.0.0",
50
51
  "commander": "^12.1.0",