clishop 1.3.0 → 1.3.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/README.md +24 -2
- package/dist/{chunk-3BBLDX6L.js → chunk-ML7L6BAH.js} +0 -9
- package/dist/index.js +4 -4
- package/dist/mcp.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,7 +42,7 @@ CLISHOP is an open-source CLI that lets AI agents and humans search for products
|
|
|
42
42
|
|
|
43
43
|
## Install
|
|
44
44
|
|
|
45
|
-
Requires **Node.js ≥ 18**.
|
|
45
|
+
Requires **Node.js ≥ 18**. Works on macOS, Windows, and Linux/WSL.
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
48
|
npm install -g clishop
|
|
@@ -50,7 +50,19 @@ npm install -g clishop
|
|
|
50
50
|
|
|
51
51
|
This gives you two commands: `clishop` (the CLI) and `clishop-mcp` (the MCP server for AI agents).
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
### Linux / WSL
|
|
54
|
+
|
|
55
|
+
CLISHOP works out of the box on Linux and WSL. On systems without a native keychain, tokens are stored in a local file (`~/.config/clishop/auth.json`) with restricted permissions.
|
|
56
|
+
|
|
57
|
+
For native keychain support (optional):
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
sudo apt install libsecret-1-0
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Run `clishop doctor` to check your system's compatibility.
|
|
64
|
+
|
|
65
|
+
### From source
|
|
54
66
|
|
|
55
67
|
```bash
|
|
56
68
|
git clone https://github.com/DavooxBv2/CLISHOP.git
|
|
@@ -105,6 +117,16 @@ clishop buy 1
|
|
|
105
117
|
|
|
106
118
|
> **Tip:** use result numbers from a search anywhere — `clishop info 1 2 3` or `clishop buy 2`.
|
|
107
119
|
|
|
120
|
+
### Diagnostics
|
|
121
|
+
|
|
122
|
+
If something isn't working, run:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
clishop doctor
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
This checks keychain availability, token storage, authentication status, and API connectivity.
|
|
129
|
+
|
|
108
130
|
---
|
|
109
131
|
|
|
110
132
|
## Architecture
|
|
@@ -66,10 +66,6 @@ var ACCOUNT_USER = "user-info";
|
|
|
66
66
|
var _activeBackend = null;
|
|
67
67
|
function resolveBackend() {
|
|
68
68
|
if (_activeBackend) return _activeBackend;
|
|
69
|
-
if (process.env.CLISHOP_TOKEN) {
|
|
70
|
-
_activeBackend = "env";
|
|
71
|
-
return _activeBackend;
|
|
72
|
-
}
|
|
73
69
|
const kt = getKeytar();
|
|
74
70
|
if (kt) {
|
|
75
71
|
_activeBackend = "keytar";
|
|
@@ -88,7 +84,6 @@ function isKeytarAvailable() {
|
|
|
88
84
|
}
|
|
89
85
|
async function setPassword(account, value) {
|
|
90
86
|
const backend = resolveBackend();
|
|
91
|
-
if (backend === "env") return;
|
|
92
87
|
if (backend === "keytar") {
|
|
93
88
|
return getKeytar().setPassword(SERVICE_NAME, account, value);
|
|
94
89
|
}
|
|
@@ -96,9 +91,6 @@ async function setPassword(account, value) {
|
|
|
96
91
|
}
|
|
97
92
|
async function getPassword(account) {
|
|
98
93
|
const backend = resolveBackend();
|
|
99
|
-
if (backend === "env" && account === ACCOUNT_TOKEN) {
|
|
100
|
-
return process.env.CLISHOP_TOKEN;
|
|
101
|
-
}
|
|
102
94
|
if (backend === "keytar") {
|
|
103
95
|
return getKeytar().getPassword(SERVICE_NAME, account);
|
|
104
96
|
}
|
|
@@ -106,7 +98,6 @@ async function getPassword(account) {
|
|
|
106
98
|
}
|
|
107
99
|
async function deletePassword(account) {
|
|
108
100
|
const backend = resolveBackend();
|
|
109
|
-
if (backend === "env") return;
|
|
110
101
|
if (backend === "keytar") {
|
|
111
102
|
await getKeytar().deletePassword(SERVICE_NAME, account);
|
|
112
103
|
return;
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
logout,
|
|
12
12
|
register,
|
|
13
13
|
resolveBackend
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ML7L6BAH.js";
|
|
15
15
|
import {
|
|
16
16
|
createAgent,
|
|
17
17
|
deleteAgent,
|
|
@@ -936,7 +936,7 @@ async function runSetupWizard() {
|
|
|
936
936
|
console.log();
|
|
937
937
|
console.log(chalk4.bold.cyan(" W E L C O M E T O C L I S H O P"));
|
|
938
938
|
console.log(chalk4.dim(" Order anything from your terminal."));
|
|
939
|
-
console.log(chalk4.dim(` Build: ${"2026-03-22T16:
|
|
939
|
+
console.log(chalk4.dim(` Build: ${"2026-03-22T16:24:16.103Z"}`));
|
|
940
940
|
console.log();
|
|
941
941
|
divider(chalk4.cyan);
|
|
942
942
|
console.log();
|
|
@@ -4603,7 +4603,7 @@ function registerDoctorCommand(program2) {
|
|
|
4603
4603
|
checks.push({
|
|
4604
4604
|
name: "Auth backend",
|
|
4605
4605
|
ok: true,
|
|
4606
|
-
detail: backend === "
|
|
4606
|
+
detail: backend === "keytar" ? "Using OS keychain" : "Using file store (~/.config/clishop/auth.json)"
|
|
4607
4607
|
});
|
|
4608
4608
|
try {
|
|
4609
4609
|
const dir = join(homedir(), ".config", "clishop");
|
|
@@ -4644,7 +4644,7 @@ function registerDoctorCommand(program2) {
|
|
|
4644
4644
|
|
|
4645
4645
|
// src/index.ts
|
|
4646
4646
|
var program = new Command();
|
|
4647
|
-
program.name("clishop").version("1.3.
|
|
4647
|
+
program.name("clishop").version("1.3.1").description(
|
|
4648
4648
|
chalk16.bold("CLISHOP") + ' \u2014 Order anything from your terminal.\n\n Use agents to set safety limits, addresses, and payment methods.\n The "default" agent is used when no agent is specified.'
|
|
4649
4649
|
).option("--agent <name>", "Use a specific agent for this command").hook("preAction", (thisCommand) => {
|
|
4650
4650
|
const agentOpt = thisCommand.opts().agent;
|
package/dist/mcp.js
CHANGED