@satori-sh/cli 0.0.34 → 0.1.1

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 (120) hide show
  1. package/README.md +16 -3
  2. package/bin/satori.js +1 -7
  3. package/dist/add.d.ts +23 -0
  4. package/dist/add.d.ts.map +1 -0
  5. package/dist/add.js +55 -0
  6. package/dist/add.js.map +1 -0
  7. package/dist/chunk-pgay1aps.js +27331 -0
  8. package/dist/chunk-zhxnt6w7.js +32 -0
  9. package/dist/commands/add.d.ts +3 -0
  10. package/dist/commands/add.d.ts.map +1 -0
  11. package/dist/commands/add.js +12 -0
  12. package/dist/commands/add.js.map +1 -0
  13. package/dist/commands/chat.d.ts +5 -0
  14. package/dist/commands/chat.d.ts.map +1 -0
  15. package/dist/commands/chat.js +22 -0
  16. package/dist/commands/chat.js.map +1 -0
  17. package/dist/commands/copy-logs.d.ts +3 -0
  18. package/dist/commands/copy-logs.d.ts.map +1 -0
  19. package/dist/commands/copy-logs.js +39 -0
  20. package/dist/commands/copy-logs.js.map +1 -0
  21. package/dist/commands/get.d.ts +3 -0
  22. package/dist/commands/get.d.ts.map +1 -0
  23. package/dist/commands/get.js +29 -0
  24. package/dist/commands/get.js.map +1 -0
  25. package/dist/commands/memory.d.ts +3 -0
  26. package/dist/commands/memory.d.ts.map +1 -0
  27. package/dist/commands/memory.js +37 -0
  28. package/dist/commands/memory.js.map +1 -0
  29. package/dist/commands/search.d.ts +3 -0
  30. package/dist/commands/search.d.ts.map +1 -0
  31. package/dist/commands/search.js +12 -0
  32. package/dist/commands/search.js.map +1 -0
  33. package/dist/commands/sub.d.ts +3 -0
  34. package/dist/commands/sub.d.ts.map +1 -0
  35. package/dist/commands/sub.js +39 -0
  36. package/dist/commands/sub.js.map +1 -0
  37. package/dist/config.d.ts +57 -0
  38. package/dist/config.d.ts.map +1 -0
  39. package/dist/config.js +207 -0
  40. package/dist/config.js.map +1 -0
  41. package/dist/index.d.ts +4 -82
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +65 -5443
  44. package/dist/index.js.map +1 -0
  45. package/dist/lib/ask.d.ts +4 -0
  46. package/dist/lib/ask.d.ts.map +1 -0
  47. package/dist/lib/ask.js +44 -0
  48. package/dist/lib/ask.js.map +1 -0
  49. package/dist/lib/cli-overrides.d.ts +6 -0
  50. package/dist/lib/cli-overrides.d.ts.map +1 -0
  51. package/dist/lib/cli-overrides.js +28 -0
  52. package/dist/lib/cli-overrides.js.map +1 -0
  53. package/dist/lib/config-validation.d.ts +3 -0
  54. package/dist/lib/config-validation.d.ts.map +1 -0
  55. package/dist/lib/config-validation.js +16 -0
  56. package/dist/lib/config-validation.js.map +1 -0
  57. package/dist/lib/constants.d.ts +9 -0
  58. package/dist/lib/constants.d.ts.map +1 -0
  59. package/dist/lib/constants.js +14 -0
  60. package/dist/lib/constants.js.map +1 -0
  61. package/dist/lib/fatal.d.ts +2 -0
  62. package/dist/lib/fatal.d.ts.map +1 -0
  63. package/dist/lib/fatal.js +6 -0
  64. package/dist/lib/fatal.js.map +1 -0
  65. package/dist/lib/info-display.d.ts +14 -0
  66. package/dist/lib/info-display.d.ts.map +1 -0
  67. package/dist/lib/info-display.js +26 -0
  68. package/dist/lib/info-display.js.map +1 -0
  69. package/dist/lib/logging.d.ts +4 -0
  70. package/dist/lib/logging.d.ts.map +1 -0
  71. package/dist/lib/logging.js +24 -0
  72. package/dist/lib/logging.js.map +1 -0
  73. package/dist/lib/telemetry.d.ts +17 -0
  74. package/dist/lib/telemetry.d.ts.map +1 -0
  75. package/dist/lib/telemetry.js +60 -0
  76. package/dist/lib/telemetry.js.map +1 -0
  77. package/dist/memory.d.ts +41 -0
  78. package/dist/memory.d.ts.map +1 -0
  79. package/dist/memory.js +93 -0
  80. package/dist/memory.js.map +1 -0
  81. package/dist/search.d.ts +14 -0
  82. package/dist/search.d.ts.map +1 -0
  83. package/dist/search.js +53 -0
  84. package/dist/search.js.map +1 -0
  85. package/dist/src/add.d.ts +23 -0
  86. package/dist/src/add.d.ts.map +1 -0
  87. package/dist/src/add.js +50 -0
  88. package/dist/src/add.js.map +1 -0
  89. package/dist/src/config.d.ts +51 -0
  90. package/dist/src/config.d.ts.map +1 -0
  91. package/dist/src/config.js +195 -0
  92. package/dist/src/config.js.map +1 -0
  93. package/dist/src/index.d.ts +14 -0
  94. package/dist/src/index.d.ts.map +1 -0
  95. package/dist/src/index.js +446 -0
  96. package/dist/src/index.js.map +1 -0
  97. package/dist/src/memory.d.ts +41 -0
  98. package/dist/src/memory.d.ts.map +1 -0
  99. package/dist/src/memory.js +93 -0
  100. package/dist/src/memory.js.map +1 -0
  101. package/dist/src/search.d.ts +14 -0
  102. package/dist/src/search.d.ts.map +1 -0
  103. package/dist/src/search.js +43 -0
  104. package/dist/src/search.js.map +1 -0
  105. package/dist/src/types.d.ts +74 -0
  106. package/dist/src/types.d.ts.map +1 -0
  107. package/dist/src/types.js +2 -0
  108. package/dist/src/types.js.map +1 -0
  109. package/dist/tests/index.test.d.ts +2 -0
  110. package/dist/tests/index.test.d.ts.map +1 -0
  111. package/dist/tests/index.test.js +252 -0
  112. package/dist/tests/index.test.js.map +1 -0
  113. package/dist/types.d.ts +74 -0
  114. package/dist/types.d.ts.map +1 -0
  115. package/dist/types.js +2 -0
  116. package/dist/types.js.map +1 -0
  117. package/logos/chars.png +0 -0
  118. package/logos/s.png +0 -0
  119. package/logos/satori.png +0 -0
  120. package/package.json +8 -12
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # satori
2
2
 
3
- CLI tool for Satori memory server.
3
+ Satori Memory CLI
4
4
 
5
5
  ## Installation
6
6
 
7
- Using Bun (recommended):
7
+ Using Node (recommended):
8
8
  ```bash
9
- bun add -g @satori-sh/cli
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 CHANGED
@@ -6,13 +6,7 @@ import { dirname, join } from 'node:path';
6
6
  const modulePath = fileURLToPath(import.meta.url);
7
7
  const distPath = join(dirname(modulePath), '..', 'dist', 'index.js');
8
8
 
9
- const bunCheck = spawnSync('bun', ['--version'], { stdio: 'ignore' });
10
- if (bunCheck.status !== 0) {
11
- console.error('Bun is required to run this CLI. Install Bun from https://bun.sh.');
12
- process.exit(1);
13
- }
14
-
15
- const result = spawnSync('bun', [distPath, ...process.argv.slice(2)], {
9
+ const result = spawnSync(process.execPath, [distPath, ...process.argv.slice(2)], {
16
10
  stdio: 'inherit',
17
11
  env: process.env
18
12
  });
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
@@ -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"}