@tokenomist-ai/tokenomist-cli 0.1.1 → 0.1.2

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 tokenomist-ai contributors
3
+ Copyright (c) 2026 Tokenomist
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -5,31 +5,22 @@
5
5
 
6
6
  CLI tool for the [Tokenomist API](https://tokenomist.ai) — query token unlocks, emissions, fundraising, burns, and buybacks from the terminal.
7
7
 
8
- ## Quick Start (Internal)
8
+ ## Quick Start
9
9
 
10
10
  ```bash
11
- git clone https://github.com/tokenomist-ai/tokenomist-cli.git
12
- cd tokenomist-cli
13
- cp .env.example .env # then edit .env with your API key and base URL
14
- npm install
15
- npm run build
16
- npm link
11
+ npm install -g @tokenomist-ai/tokenomist-cli
17
12
  tok auth login
18
13
  tok token list
19
14
  ```
20
15
 
21
- ## Installation
22
-
23
- ```bash
24
- npm install -g @tokenomist-ai/tokenomist-cli
25
- ```
26
-
27
- Or use without installing:
16
+ Or run without installing:
28
17
 
29
18
  ```bash
30
19
  npx @tokenomist-ai/tokenomist-cli token list
31
20
  ```
32
21
 
22
+ > **Requirements:** Node.js 18+ and a Tokenomist API key — get one at [tokenomist.ai](https://tokenomist.ai).
23
+
33
24
  ## Authentication
34
25
 
35
26
  Get an API key from [tokenomist.ai](https://tokenomist.ai) and configure it.
@@ -8,7 +8,7 @@ import { homedir } from "os";
8
8
  // package.json
9
9
  var package_default = {
10
10
  name: "@tokenomist-ai/tokenomist-cli",
11
- version: "0.1.1",
11
+ version: "0.1.2",
12
12
  description: "CLI tool for the Tokenomist API \u2014 query token unlocks, emissions, fundraising, burns, and buybacks from the terminal",
13
13
  type: "module",
14
14
  main: "dist/index.js",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/update-check.ts","../package.json"],"sourcesContent":["import { readFileSync, writeFileSync, mkdirSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { homedir } from \"node:os\";\nimport pkg from \"../package.json\" with { type: \"json\" };\n\nconst CONFIG_DIR = join(homedir(), \".tokenomist\");\nconst CACHE_PATH = join(CONFIG_DIR, \"update-check.json\");\nconst ONE_DAY = 24 * 60 * 60 * 1000;\nconst REGISTRY_URL = \"https://registry.npmjs.org/@tokenomist-ai%2Ftokenomist-cli/latest\";\n\ninterface UpdateCache {\n latest: string;\n current: string;\n checkedAt: number;\n}\n\nasync function main() {\n // Check if cache is fresh\n try {\n const raw = readFileSync(CACHE_PATH, \"utf-8\");\n const cache = JSON.parse(raw) as UpdateCache;\n if (Date.now() - cache.checkedAt < ONE_DAY) {\n return; // Already checked recently\n }\n } catch {\n // No cache or invalid — proceed with check\n }\n\n const current: string = pkg.version;\n\n const res = await fetch(REGISTRY_URL, {\n signal: AbortSignal.timeout(5000),\n });\n\n if (!res.ok) return;\n\n const data = (await res.json()) as { version: string };\n const latest = data.version;\n\n mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });\n\n const cache: UpdateCache = { latest, current, checkedAt: Date.now() };\n writeFileSync(CACHE_PATH, JSON.stringify(cache), { encoding: \"utf-8\", mode: 0o600 });\n}\n\nmain().catch(() => {});\n","{\n \"name\": \"@tokenomist-ai/tokenomist-cli\",\n \"version\": \"0.1.1\",\n \"description\": \"CLI tool for the Tokenomist API — query token unlocks, emissions, fundraising, burns, and buybacks from the terminal\",\n \"type\": \"module\",\n \"main\": \"dist/index.js\",\n \"bin\": {\n \"tok\": \"dist/index.js\"\n },\n \"scripts\": {\n \"postinstall\": \"node scripts/postinstall.js\",\n \"build\": \"tsup\",\n \"dev\": \"tsup --watch\",\n \"start\": \"node dist/index.js\",\n \"test\": \"vitest run\",\n \"test:watch\": \"vitest\",\n \"lint\": \"eslint src/ tests/\",\n \"lint:fix\": \"eslint src/ tests/ --fix\",\n \"format\": \"prettier --write 'src/**/*.ts' 'tests/**/*.ts'\",\n \"format:check\": \"prettier --check 'src/**/*.ts' 'tests/**/*.ts'\",\n \"prepublishOnly\": \"npm run build\"\n },\n \"keywords\": [\n \"tokenomist\",\n \"crypto\",\n \"token\",\n \"unlock\",\n \"emission\",\n \"fundraising\",\n \"burn\",\n \"buyback\",\n \"cli\",\n \"api\"\n ],\n \"author\": {\n \"name\": \"tokenomist-ai\",\n \"email\": \"support@tokenomist.ai\",\n \"url\": \"https://tokenomist.ai\"\n },\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/tokenomist-ai/tokenomist-cli.git\"\n },\n \"homepage\": \"https://github.com/tokenomist-ai/tokenomist-cli#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/tokenomist-ai/tokenomist-cli/issues\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"files\": [\n \"dist\",\n \"skills/**\",\n \"scripts/postinstall.js\",\n \"LICENSE\",\n \"README.md\"\n ],\n \"dependencies\": {\n \"cli-table3\": \"^0.6.5\",\n \"commander\": \"^12.1.0\",\n \"dotenv\": \"^16.4.7\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.10.0\",\n \"eslint\": \"^9.16.0\",\n \"prettier\": \"^3.4.2\",\n \"tsup\": \"^8.3.5\",\n \"typescript\": \"^5.7.2\",\n \"typescript-eslint\": \"^8.57.0\",\n \"vitest\": \"^3.2.4\"\n }\n}\n"],"mappings":";;;AAAA,SAAS,cAAc,eAAe,iBAAiB;AACvD,SAAS,YAAY;AACrB,SAAS,eAAe;;;ACFxB;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,KAAO;AAAA,IACL,KAAO;AAAA,EACT;AAAA,EACA,SAAW;AAAA,IACT,aAAe;AAAA,IACf,OAAS;AAAA,IACT,KAAO;AAAA,IACP,OAAS;AAAA,IACT,MAAQ;AAAA,IACR,cAAc;AAAA,IACd,MAAQ;AAAA,IACR,YAAY;AAAA,IACZ,QAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,gBAAkB;AAAA,EACpB;AAAA,EACA,UAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,QAAU;AAAA,IACR,MAAQ;AAAA,IACR,OAAS;AAAA,IACT,KAAO;AAAA,EACT;AAAA,EACA,SAAW;AAAA,EACX,YAAc;AAAA,IACZ,MAAQ;AAAA,IACR,KAAO;AAAA,EACT;AAAA,EACA,UAAY;AAAA,EACZ,MAAQ;AAAA,IACN,KAAO;AAAA,EACT;AAAA,EACA,SAAW;AAAA,IACT,MAAQ;AAAA,EACV;AAAA,EACA,eAAiB;AAAA,IACf,QAAU;AAAA,EACZ;AAAA,EACA,OAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,cAAgB;AAAA,IACd,cAAc;AAAA,IACd,WAAa;AAAA,IACb,QAAU;AAAA,EACZ;AAAA,EACA,iBAAmB;AAAA,IACjB,eAAe;AAAA,IACf,QAAU;AAAA,IACV,UAAY;AAAA,IACZ,MAAQ;AAAA,IACR,YAAc;AAAA,IACd,qBAAqB;AAAA,IACrB,QAAU;AAAA,EACZ;AACF;;;ADtEA,IAAM,aAAa,KAAK,QAAQ,GAAG,aAAa;AAChD,IAAM,aAAa,KAAK,YAAY,mBAAmB;AACvD,IAAM,UAAU,KAAK,KAAK,KAAK;AAC/B,IAAM,eAAe;AAQrB,eAAe,OAAO;AAEpB,MAAI;AACF,UAAM,MAAM,aAAa,YAAY,OAAO;AAC5C,UAAMA,SAAQ,KAAK,MAAM,GAAG;AAC5B,QAAI,KAAK,IAAI,IAAIA,OAAM,YAAY,SAAS;AAC1C;AAAA,IACF;AAAA,EACF,QAAQ;AAAA,EAER;AAEA,QAAM,UAAkB,gBAAI;AAE5B,QAAM,MAAM,MAAM,MAAM,cAAc;AAAA,IACpC,QAAQ,YAAY,QAAQ,GAAI;AAAA,EAClC,CAAC;AAED,MAAI,CAAC,IAAI,GAAI;AAEb,QAAM,OAAQ,MAAM,IAAI,KAAK;AAC7B,QAAM,SAAS,KAAK;AAEpB,YAAU,YAAY,EAAE,WAAW,MAAM,MAAM,IAAM,CAAC;AAEtD,QAAM,QAAqB,EAAE,QAAQ,SAAS,WAAW,KAAK,IAAI,EAAE;AACpE,gBAAc,YAAY,KAAK,UAAU,KAAK,GAAG,EAAE,UAAU,SAAS,MAAM,IAAM,CAAC;AACrF;AAEA,KAAK,EAAE,MAAM,MAAM;AAAC,CAAC;","names":["cache"]}
1
+ {"version":3,"sources":["../src/update-check.ts","../package.json"],"sourcesContent":["import { readFileSync, writeFileSync, mkdirSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { homedir } from \"node:os\";\nimport pkg from \"../package.json\" with { type: \"json\" };\n\nconst CONFIG_DIR = join(homedir(), \".tokenomist\");\nconst CACHE_PATH = join(CONFIG_DIR, \"update-check.json\");\nconst ONE_DAY = 24 * 60 * 60 * 1000;\nconst REGISTRY_URL = \"https://registry.npmjs.org/@tokenomist-ai%2Ftokenomist-cli/latest\";\n\ninterface UpdateCache {\n latest: string;\n current: string;\n checkedAt: number;\n}\n\nasync function main() {\n // Check if cache is fresh\n try {\n const raw = readFileSync(CACHE_PATH, \"utf-8\");\n const cache = JSON.parse(raw) as UpdateCache;\n if (Date.now() - cache.checkedAt < ONE_DAY) {\n return; // Already checked recently\n }\n } catch {\n // No cache or invalid — proceed with check\n }\n\n const current: string = pkg.version;\n\n const res = await fetch(REGISTRY_URL, {\n signal: AbortSignal.timeout(5000),\n });\n\n if (!res.ok) return;\n\n const data = (await res.json()) as { version: string };\n const latest = data.version;\n\n mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });\n\n const cache: UpdateCache = { latest, current, checkedAt: Date.now() };\n writeFileSync(CACHE_PATH, JSON.stringify(cache), { encoding: \"utf-8\", mode: 0o600 });\n}\n\nmain().catch(() => {});\n","{\n \"name\": \"@tokenomist-ai/tokenomist-cli\",\n \"version\": \"0.1.2\",\n \"description\": \"CLI tool for the Tokenomist API — query token unlocks, emissions, fundraising, burns, and buybacks from the terminal\",\n \"type\": \"module\",\n \"main\": \"dist/index.js\",\n \"bin\": {\n \"tok\": \"dist/index.js\"\n },\n \"scripts\": {\n \"postinstall\": \"node scripts/postinstall.js\",\n \"build\": \"tsup\",\n \"dev\": \"tsup --watch\",\n \"start\": \"node dist/index.js\",\n \"test\": \"vitest run\",\n \"test:watch\": \"vitest\",\n \"lint\": \"eslint src/ tests/\",\n \"lint:fix\": \"eslint src/ tests/ --fix\",\n \"format\": \"prettier --write 'src/**/*.ts' 'tests/**/*.ts'\",\n \"format:check\": \"prettier --check 'src/**/*.ts' 'tests/**/*.ts'\",\n \"prepublishOnly\": \"npm run build\"\n },\n \"keywords\": [\n \"tokenomist\",\n \"crypto\",\n \"token\",\n \"unlock\",\n \"emission\",\n \"fundraising\",\n \"burn\",\n \"buyback\",\n \"cli\",\n \"api\"\n ],\n \"author\": {\n \"name\": \"tokenomist-ai\",\n \"email\": \"support@tokenomist.ai\",\n \"url\": \"https://tokenomist.ai\"\n },\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/tokenomist-ai/tokenomist-cli.git\"\n },\n \"homepage\": \"https://github.com/tokenomist-ai/tokenomist-cli#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/tokenomist-ai/tokenomist-cli/issues\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"files\": [\n \"dist\",\n \"skills/**\",\n \"scripts/postinstall.js\",\n \"LICENSE\",\n \"README.md\"\n ],\n \"dependencies\": {\n \"cli-table3\": \"^0.6.5\",\n \"commander\": \"^12.1.0\",\n \"dotenv\": \"^16.4.7\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.10.0\",\n \"eslint\": \"^9.16.0\",\n \"prettier\": \"^3.4.2\",\n \"tsup\": \"^8.3.5\",\n \"typescript\": \"^5.7.2\",\n \"typescript-eslint\": \"^8.57.0\",\n \"vitest\": \"^3.2.4\"\n }\n}\n"],"mappings":";;;AAAA,SAAS,cAAc,eAAe,iBAAiB;AACvD,SAAS,YAAY;AACrB,SAAS,eAAe;;;ACFxB;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,KAAO;AAAA,IACL,KAAO;AAAA,EACT;AAAA,EACA,SAAW;AAAA,IACT,aAAe;AAAA,IACf,OAAS;AAAA,IACT,KAAO;AAAA,IACP,OAAS;AAAA,IACT,MAAQ;AAAA,IACR,cAAc;AAAA,IACd,MAAQ;AAAA,IACR,YAAY;AAAA,IACZ,QAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,gBAAkB;AAAA,EACpB;AAAA,EACA,UAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,QAAU;AAAA,IACR,MAAQ;AAAA,IACR,OAAS;AAAA,IACT,KAAO;AAAA,EACT;AAAA,EACA,SAAW;AAAA,EACX,YAAc;AAAA,IACZ,MAAQ;AAAA,IACR,KAAO;AAAA,EACT;AAAA,EACA,UAAY;AAAA,EACZ,MAAQ;AAAA,IACN,KAAO;AAAA,EACT;AAAA,EACA,SAAW;AAAA,IACT,MAAQ;AAAA,EACV;AAAA,EACA,eAAiB;AAAA,IACf,QAAU;AAAA,EACZ;AAAA,EACA,OAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,cAAgB;AAAA,IACd,cAAc;AAAA,IACd,WAAa;AAAA,IACb,QAAU;AAAA,EACZ;AAAA,EACA,iBAAmB;AAAA,IACjB,eAAe;AAAA,IACf,QAAU;AAAA,IACV,UAAY;AAAA,IACZ,MAAQ;AAAA,IACR,YAAc;AAAA,IACd,qBAAqB;AAAA,IACrB,QAAU;AAAA,EACZ;AACF;;;ADtEA,IAAM,aAAa,KAAK,QAAQ,GAAG,aAAa;AAChD,IAAM,aAAa,KAAK,YAAY,mBAAmB;AACvD,IAAM,UAAU,KAAK,KAAK,KAAK;AAC/B,IAAM,eAAe;AAQrB,eAAe,OAAO;AAEpB,MAAI;AACF,UAAM,MAAM,aAAa,YAAY,OAAO;AAC5C,UAAMA,SAAQ,KAAK,MAAM,GAAG;AAC5B,QAAI,KAAK,IAAI,IAAIA,OAAM,YAAY,SAAS;AAC1C;AAAA,IACF;AAAA,EACF,QAAQ;AAAA,EAER;AAEA,QAAM,UAAkB,gBAAI;AAE5B,QAAM,MAAM,MAAM,MAAM,cAAc;AAAA,IACpC,QAAQ,YAAY,QAAQ,GAAI;AAAA,EAClC,CAAC;AAED,MAAI,CAAC,IAAI,GAAI;AAEb,QAAM,OAAQ,MAAM,IAAI,KAAK;AAC7B,QAAM,SAAS,KAAK;AAEpB,YAAU,YAAY,EAAE,WAAW,MAAM,MAAM,IAAM,CAAC;AAEtD,QAAM,QAAqB,EAAE,QAAQ,SAAS,WAAW,KAAK,IAAI,EAAE;AACpE,gBAAc,YAAY,KAAK,UAAU,KAAK,GAAG,EAAE,UAAU,SAAS,MAAM,IAAM,CAAC;AACrF;AAEA,KAAK,EAAE,MAAM,MAAM;AAAC,CAAC;","names":["cache"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tokenomist-ai/tokenomist-cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "CLI tool for the Tokenomist API — query token unlocks, emissions, fundraising, burns, and buybacks from the terminal",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",