@fnndsc/argus 0.7.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.
Files changed (2) hide show
  1. package/README.md +33 -0
  2. package/package.json +58 -0
package/README.md ADDED
@@ -0,0 +1,33 @@
1
+ # ARGUS
2
+
3
+ ARGUS is an LCARS-based web console and terminal surface for mise. It is one possible ChRIS user experience, not the canonical or exclusive UI.
4
+
5
+ ARGUS attaches to a CALYPSO session and presents an indwelling terminal surrounded by graphical instruments. Those instruments organize the operational domain into Files, Runs, Tools, Sources, and Compute. They consume CALYPSO's public wire contract and do not speak directly to CUBE or `chrisapi`.
6
+
7
+ The first implementation increment is live: the LCARS frame, the terminal as a retractable drawer attached over the wire, and the Files instrument repainting from `fs.listing` envelope models. Typing `ls` in the terminal updates the Files panel as data, and activating a directory row in the panel lowers to the same `cd` and `ls` commands an operator could type. Two projections of one session, in both directions.
8
+
9
+ ## Running the demo
10
+
11
+ First fetch the LCARS theme: download `LCARS-26.zip` from [TheLCARS.com](https://www.thelcars.com/download.php) into `~/Downloads` (or point `LCARS_ZIP` at it). The theme is EULA-restricted and never committed here; the build extracts it locally, and falls back to a plain generated stand-in when the zip is absent.
12
+
13
+ Then build the workspace from the repository root and start a daemon from that same root:
14
+
15
+ ```sh
16
+ npm install
17
+ npm run build
18
+ node packages/chell/dist/index.js <user>@<cube-url> -p <password> --daemon
19
+ ```
20
+
21
+ The daemon serves the built ARGUS bundle from the same loopback port as the wire and prints the URL to open, token included:
22
+
23
+ ```
24
+ [+] ARGUS web surface at http://127.0.0.1:<port>/?token=<token>
25
+ ```
26
+
27
+ The bundle is discovered from `apps/argus/dist` relative to the daemon's working directory; set `CALYPSO_WEB_ROOT` to serve a bundle from anywhere else. Without a token in the URL, the page offers a paste form. During UI development `npm run dev -w @fnndsc/argus` starts a Vite dev server; pass `?ws=ws://127.0.0.1:<port>` to point it at a running daemon across origins.
28
+
29
+ ## Structure and boundaries
30
+
31
+ See [docs/architecture.adoc](docs/architecture.adoc) for the approved structure and [the mise-level ARGUS design](../../docs/argus.adoc) for its place in the wider system, including the LCARS licensing position (the genuine Lower Decks theme is materialized per machine from the author's own download, never redistributed from this repository). The forward design for local IDE, filesystem, terminal, and workspace capabilities is recorded in [docs/operator-companion.adoc](docs/operator-companion.adoc). The surface's design language is [docs/aegis.adoc](docs/aegis.adoc) (AEGIS: the laws, machine-checked), and the component reference beneath it is [docs/components.adoc](docs/components.adoc), one section per thing a pane declares into.
32
+
33
+ This package is a private workspace member: it rides the monorepo's install, build, and CI, and is never published to npm. Browser code imports only `@fnndsc/calypso/protocol`, the published wire contract; the execution stack stays out of the bundle by rule.
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@fnndsc/argus",
3
+ "version": "0.7.0",
4
+ "description": "ARGUS: the LCARS web surface for mise — a browser console over a calypso session",
5
+ "type": "module",
6
+ "scripts": {
7
+ "build": "tsc --noEmit && vite build",
8
+ "dev": "vite",
9
+ "test": "tsc --noEmit && NODE_OPTIONS='--experimental-vm-modules --disable-warning=ExperimentalWarning' jest",
10
+ "smoke": "node tests/smoke/smoke.mjs",
11
+ "sounds": "node scripts/sounds_make.mjs"
12
+ },
13
+ "author": "Rudolph Pienaar",
14
+ "license": "MIT",
15
+ "dependencies": {
16
+ "@cornerstonejs/adapters": "^5.8.2",
17
+ "@cornerstonejs/core": "^5.8.2",
18
+ "@cornerstonejs/dicom-image-loader": "^5.8.2",
19
+ "@cornerstonejs/metadata": "^5.8.2",
20
+ "@cornerstonejs/tools": "^5.8.2",
21
+ "@cornerstonejs/utils": "^5.8.2",
22
+ "@fnndsc/menu": "^0.8.0",
23
+ "@kitware/vtk.js": "^36.4.1",
24
+ "@niivue/niivue": "^0.69.0",
25
+ "@types/three": "^0.185.4",
26
+ "buffer": "^6.0.3",
27
+ "d3-array": "^3.2.4",
28
+ "d3-force-3d": "^3.0.6",
29
+ "d3-interpolate": "^3.0.1",
30
+ "gl-matrix": "^3.4.3",
31
+ "three": "^0.185.1"
32
+ },
33
+ "devDependencies": {
34
+ "@types/jest": "^29.5.14",
35
+ "jest": "^29.7.0",
36
+ "jest-environment-jsdom": "^29.7.0",
37
+ "ts-jest": "^29.2.5",
38
+ "typescript": "^5.0.0",
39
+ "vite": "^7.1.0"
40
+ },
41
+ "files": [
42
+ "dist"
43
+ ],
44
+ "repository": {
45
+ "type": "git",
46
+ "url": "git+https://github.com/FNNDSC/mise.git",
47
+ "directory": "apps/argus"
48
+ },
49
+ "keywords": [
50
+ "chris",
51
+ "mise",
52
+ "argus",
53
+ "lcars",
54
+ "dicom",
55
+ "pacs",
56
+ "web"
57
+ ]
58
+ }