@satori-sh/cli 0.0.33 → 0.1.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.
- package/README.md +16 -3
- package/bin/satori.js +13 -0
- package/dist/add.d.ts +23 -0
- package/dist/add.d.ts.map +1 -0
- package/dist/add.js +55 -0
- package/dist/add.js.map +1 -0
- package/dist/chunk-pgay1aps.js +27331 -0
- package/dist/chunk-zhxnt6w7.js +32 -0
- package/dist/commands/add.d.ts +3 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +12 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/chat.d.ts +5 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +22 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/copy-logs.d.ts +3 -0
- package/dist/commands/copy-logs.d.ts.map +1 -0
- package/dist/commands/copy-logs.js +39 -0
- package/dist/commands/copy-logs.js.map +1 -0
- package/dist/commands/get.d.ts +3 -0
- package/dist/commands/get.d.ts.map +1 -0
- package/dist/commands/get.js +21 -0
- package/dist/commands/get.js.map +1 -0
- package/dist/commands/memory.d.ts +3 -0
- package/dist/commands/memory.d.ts.map +1 -0
- package/dist/commands/memory.js +37 -0
- package/dist/commands/memory.js.map +1 -0
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +12 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/sub.d.ts +3 -0
- package/dist/commands/sub.d.ts.map +1 -0
- package/dist/commands/sub.js +39 -0
- package/dist/commands/sub.js.map +1 -0
- package/dist/config.d.ts +51 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +195 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +4 -82
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +65 -5443
- package/dist/index.js.map +1 -0
- package/dist/lib/ask.d.ts +4 -0
- package/dist/lib/ask.d.ts.map +1 -0
- package/dist/lib/ask.js +44 -0
- package/dist/lib/ask.js.map +1 -0
- package/dist/lib/cli-overrides.d.ts +6 -0
- package/dist/lib/cli-overrides.d.ts.map +1 -0
- package/dist/lib/cli-overrides.js +28 -0
- package/dist/lib/cli-overrides.js.map +1 -0
- package/dist/lib/config-validation.d.ts +3 -0
- package/dist/lib/config-validation.d.ts.map +1 -0
- package/dist/lib/config-validation.js +16 -0
- package/dist/lib/config-validation.js.map +1 -0
- package/dist/lib/constants.d.ts +9 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +14 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/fatal.d.ts +2 -0
- package/dist/lib/fatal.d.ts.map +1 -0
- package/dist/lib/fatal.js +6 -0
- package/dist/lib/fatal.js.map +1 -0
- package/dist/lib/info-display.d.ts +14 -0
- package/dist/lib/info-display.d.ts.map +1 -0
- package/dist/lib/info-display.js +26 -0
- package/dist/lib/info-display.js.map +1 -0
- package/dist/lib/logging.d.ts +4 -0
- package/dist/lib/logging.d.ts.map +1 -0
- package/dist/lib/logging.js +24 -0
- package/dist/lib/logging.js.map +1 -0
- package/dist/lib/telemetry.d.ts +17 -0
- package/dist/lib/telemetry.d.ts.map +1 -0
- package/dist/lib/telemetry.js +60 -0
- package/dist/lib/telemetry.js.map +1 -0
- package/dist/memory.d.ts +41 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +93 -0
- package/dist/memory.js.map +1 -0
- package/dist/search.d.ts +14 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +53 -0
- package/dist/search.js.map +1 -0
- package/dist/src/add.d.ts +23 -0
- package/dist/src/add.d.ts.map +1 -0
- package/dist/src/add.js +50 -0
- package/dist/src/add.js.map +1 -0
- package/dist/src/config.d.ts +51 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +195 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/index.d.ts +14 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +446 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/memory.d.ts +41 -0
- package/dist/src/memory.d.ts.map +1 -0
- package/dist/src/memory.js +93 -0
- package/dist/src/memory.js.map +1 -0
- package/dist/src/search.d.ts +14 -0
- package/dist/src/search.d.ts.map +1 -0
- package/dist/src/search.js +43 -0
- package/dist/src/search.js.map +1 -0
- package/dist/src/types.d.ts +74 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/tests/index.test.d.ts +2 -0
- package/dist/tests/index.test.d.ts.map +1 -0
- package/dist/tests/index.test.js +252 -0
- package/dist/tests/index.test.js.map +1 -0
- package/dist/types.d.ts +74 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/logos/chars.png +0 -0
- package/logos/s.png +0 -0
- package/logos/satori.png +0 -0
- package/package.json +10 -13
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# satori
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Satori Memory CLI
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
|
-
Using
|
|
7
|
+
Using Node (recommended):
|
|
8
8
|
```bash
|
|
9
|
-
|
|
9
|
+
npm install -g @satori-sh/cli
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
Using npm:
|
|
@@ -23,6 +23,19 @@ Start memory-augmented chat sessions:
|
|
|
23
23
|
satori "What's the best pizza topping?"
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
+
If you run via npm scripts, pass flags after `--`:
|
|
27
|
+
```bash
|
|
28
|
+
npm start -- --api-key "$SATORI_API_KEY" --memory-id my-id "hello"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Interactive TUI (removed)
|
|
32
|
+
|
|
33
|
+
This TUI was removed for now. To re-implement later:
|
|
34
|
+
- restore `src/ui.tsx` and `src/logo.ts` from git history
|
|
35
|
+
- re-add deps: `@opentui/core`, `@opentui/solid`, `solid-js`, `cli-spinners`
|
|
36
|
+
- restore `build.ts` plugin `@opentui/solid/bun-plugin`
|
|
37
|
+
- wire `runInteractiveApp` back into `src/index.ts` for TTY
|
|
38
|
+
|
|
26
39
|
### Search Memories
|
|
27
40
|
|
|
28
41
|
Query the memory database:
|
package/bin/satori.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { spawnSync } from 'node:child_process';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { dirname, join } from 'node:path';
|
|
5
|
+
|
|
6
|
+
const modulePath = fileURLToPath(import.meta.url);
|
|
7
|
+
const distPath = join(dirname(modulePath), '..', 'dist', 'index.js');
|
|
8
|
+
|
|
9
|
+
const result = spawnSync(process.execPath, [distPath, ...process.argv.slice(2)], {
|
|
10
|
+
stdio: 'inherit',
|
|
11
|
+
env: process.env
|
|
12
|
+
});
|
|
13
|
+
process.exit(result.status ?? 0);
|
package/dist/add.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adds a new memory to the Satori server.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} text - The text content to add as a memory
|
|
5
|
+
* @param {object} [options] - Additional options for the memory
|
|
6
|
+
* @param {string} [options.memoryId] - Optional memory ID for scoping
|
|
7
|
+
* @returns {Promise<void>} Logs success or error messages to console
|
|
8
|
+
* @throws {Error} If the text is empty
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```bash
|
|
12
|
+
* satori add "I like pizza"
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* await addMemories("User prefers dark mode", { memoryId: "session-123" });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function addMemories(text: string, options?: {
|
|
21
|
+
memoryId?: string;
|
|
22
|
+
}): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=add.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../src/add.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmClG"}
|
package/dist/add.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { getConfig } from './config.js';
|
|
2
|
+
/**
|
|
3
|
+
* Adds a new memory to the Satori server.
|
|
4
|
+
*
|
|
5
|
+
* @param {string} text - The text content to add as a memory
|
|
6
|
+
* @param {object} [options] - Additional options for the memory
|
|
7
|
+
* @param {string} [options.memoryId] - Optional memory ID for scoping
|
|
8
|
+
* @returns {Promise<void>} Logs success or error messages to console
|
|
9
|
+
* @throws {Error} If the text is empty
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```bash
|
|
13
|
+
* satori add "I like pizza"
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* await addMemories("User prefers dark mode", { memoryId: "session-123" });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export async function addMemories(text, options = {}) {
|
|
22
|
+
if (!text || !text.trim()) {
|
|
23
|
+
console.error('Text cannot be empty');
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
const config = await getConfig();
|
|
28
|
+
const response = await fetch(`${config.baseUrl}/memories`, {
|
|
29
|
+
method: 'POST',
|
|
30
|
+
headers: {
|
|
31
|
+
'Content-Type': 'application/json',
|
|
32
|
+
'Authorization': `Bearer ${config.apiKey}`
|
|
33
|
+
},
|
|
34
|
+
body: JSON.stringify({ messages: [{ role: "user", content: text }], ...(options.memoryId && { memory_id: options.memoryId }) })
|
|
35
|
+
});
|
|
36
|
+
if (response.status === 402) {
|
|
37
|
+
console.error('Free tier exceeded. Run `npx @satori-sh sub` to subscribe');
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (!response.ok) {
|
|
41
|
+
console.error(`HTTP error: ${response.status} ${response.statusText}`);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const data = await response.json();
|
|
45
|
+
if (!Array.isArray(data.results) || data.results.length === 0) {
|
|
46
|
+
console.log('No memories added.');
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
console.log(`Added ${data.results.length} ${data.results.length === 1 ? 'memory' : 'memories'}.`);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
console.error(`Error adding memory: ${error instanceof Error ? error.message : error}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=add.js.map
|
package/dist/add.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../src/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,UAAiC,EAAE;IACjF,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,WAAW,EAAE;YACzD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;aAC3C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;SAChI,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,eAAe,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAiB,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;IACpG,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC"}
|