minionsai 0.1.4 → 0.1.5

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 CHANGED
@@ -23,6 +23,15 @@ Open [http://localhost:6969](http://localhost:6969).
23
23
 
24
24
  Local sqllite db is created on first run and state lives in `~/.minions/`
25
25
 
26
+ Check the installed version:
27
+
28
+ ```bash
29
+ minions --version
30
+ npm view minionsai version
31
+ ```
32
+
33
+ The Settings page also shows the version of the running Minions server.
34
+
26
35
  ## Features
27
36
 
28
37
  - **Kanban board**: see every task at a glance: in progress, in review, done
package/bin/minions.mjs CHANGED
@@ -1,12 +1,39 @@
1
1
  #!/usr/bin/env node
2
2
  import { dirname, resolve } from 'node:path';
3
- import { existsSync } from 'node:fs';
3
+ import { existsSync, readFileSync } from 'node:fs';
4
4
  import { fileURLToPath, pathToFileURL } from 'node:url';
5
5
 
6
6
  process.env.NODE_ENV = process.env.NODE_ENV || 'production';
7
7
 
8
8
  const here = dirname(fileURLToPath(import.meta.url));
9
+ const packageJsonPath = resolve(here, '..', 'package.json');
9
10
  const serverEntry = resolve(here, '..', 'dist', 'server', 'server', 'index.js');
11
+ const [command] = process.argv.slice(2);
12
+
13
+ function readPackageMetadata() {
14
+ try {
15
+ return JSON.parse(readFileSync(packageJsonPath, 'utf8'));
16
+ } catch {
17
+ return { name: 'minionsai', version: 'unknown' };
18
+ }
19
+ }
20
+
21
+ if (command === '--version' || command === '-v' || command === 'version') {
22
+ console.log(readPackageMetadata().version);
23
+ process.exit(0);
24
+ }
25
+
26
+ if (command === '--help' || command === '-h' || command === 'help') {
27
+ const metadata = readPackageMetadata();
28
+ console.log(`Usage: minions [options]
29
+
30
+ ${metadata.description ?? 'Mission Control for Hermes Agent'}
31
+
32
+ Options:
33
+ -v, --version Print the installed Minions version
34
+ -h, --help Show this help message`);
35
+ process.exit(0);
36
+ }
10
37
 
11
38
  if (!existsSync(serverEntry)) {
12
39
  console.error(
@@ -1 +1 @@
1
- import{r,R as m,M as x,j as d,B as p}from"./index-DoCLktky.js";var B=({code:i,language:e,raw:a,className:g,startLine:u,...n})=>{let{shikiTheme:l}=r.useContext(m),t=x(),[h,s]=r.useState(a);return r.useEffect(()=>{if(!t){s(a);return}let o=t.highlight({code:i,language:e,themes:l},c=>{s(c)});o&&s(o)},[i,e,l,t,a]),d.jsx(p,{className:g,language:e,result:h,startLine:u,...n})};export{B as HighlightedCodeBlockBody};
1
+ import{r,R as m,M as x,j as d,B as p}from"./index-IxTEZCru.js";var B=({code:i,language:e,raw:a,className:g,startLine:u,...n})=>{let{shikiTheme:l}=r.useContext(m),t=x(),[h,s]=r.useState(a);return r.useEffect(()=>{if(!t){s(a);return}let o=t.highlight({code:i,language:e,themes:l},c=>{s(c)});o&&s(o)},[i,e,l,t,a]),d.jsx(p,{className:g,language:e,result:h,startLine:u,...n})};export{B as HighlightedCodeBlockBody};