@notis_ai/cli 0.2.0-beta.21.1 → 0.2.0-beta.32.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 (35) hide show
  1. package/README.md +36 -9
  2. package/package.json +2 -1
  3. package/src/command-specs/apps.js +780 -42
  4. package/src/command-specs/helpers.js +28 -3
  5. package/src/command-specs/index.js +1 -1
  6. package/src/command-specs/tools.js +33 -6
  7. package/src/runtime/agent-browser.js +192 -0
  8. package/src/runtime/app-boundary-validator.js +132 -0
  9. package/src/runtime/app-dev-server.js +577 -0
  10. package/src/runtime/app-dev-sessions.js +87 -0
  11. package/src/runtime/app-platform.js +352 -17
  12. package/src/runtime/cli-mode.generated.js +4 -0
  13. package/src/runtime/cli-mode.js +29 -0
  14. package/src/runtime/output.js +2 -2
  15. package/src/runtime/ports.js +15 -0
  16. package/src/runtime/profiles.js +34 -3
  17. package/src/runtime/transport.js +129 -4
  18. package/template/.harness/index.html.tmpl +260 -0
  19. package/template/app/layout.tsx +1 -2
  20. package/template/notis.config.ts +16 -1
  21. package/template/package.json +1 -2
  22. package/template/packages/notis-sdk/src/components/MultiSelectActionBar.tsx +272 -0
  23. package/template/packages/notis-sdk/src/components/MultiSelectCheckbox.tsx +91 -0
  24. package/template/packages/notis-sdk/src/components/MultiSelectDragOverlay.tsx +39 -0
  25. package/template/packages/notis-sdk/src/config.ts +24 -1
  26. package/template/packages/notis-sdk/src/hooks/useDatabase.ts +2 -1
  27. package/template/packages/notis-sdk/src/hooks/useMultiSelect.ts +502 -0
  28. package/template/packages/notis-sdk/src/hooks/useNotis.ts +5 -3
  29. package/template/packages/notis-sdk/src/hooks/useNotisNavigation.ts +1 -1
  30. package/template/packages/notis-sdk/src/hooks/useTopBarSearch.ts +73 -0
  31. package/template/packages/notis-sdk/src/index.ts +20 -0
  32. package/template/packages/notis-sdk/src/provider.tsx +23 -24
  33. package/template/packages/notis-sdk/src/runtime.ts +43 -26
  34. package/template/packages/notis-sdk/src/styles.css +6 -91
  35. package/src/runtime/app-preview-server.js +0 -336
package/README.md CHANGED
@@ -106,36 +106,48 @@ Examples:
106
106
 
107
107
  ### `notis apps dev [dir]`
108
108
 
109
- Run the Vite dev server for local development.
109
+ Develop Notis apps inside the Electron desktop Portal with automatic local bundle reloads.
110
110
 
111
- When to use: Iterate on app UI with hot reload. SDK hooks return mock data.
111
+ When to use: Run this inside a single app or a monorepo root with apps/<name>/notis.config.ts. It discovers every app, starts the local bundle server, registers desktop-local dev sessions, and opens the Electron Portal Development tab.
112
+
113
+ Options:
114
+ - `--port <number>` — Local bundle server port (default: 5173).
115
+ - `--no-open` — Do not auto-open the desktop Portal Development tab.
112
116
 
113
117
  Examples:
114
118
  - `notis apps dev`
115
119
  - `notis apps dev ./my-app`
120
+ - `notis apps dev ./workspace --port 5200`
116
121
 
117
122
  ### `notis apps build [dir]`
118
123
 
119
124
  Build and package the app into .notis/output/.
120
125
 
121
- When to use: Prepare the app for preview or deployment.
126
+ When to use: Prepare the app for verification or deployment.
122
127
 
123
128
  Examples:
124
129
  - `notis apps build`
125
130
  - `notis apps build ./my-app`
126
131
 
127
- ### `notis apps preview [dir]`
132
+ ### `notis apps verify [dir]`
128
133
 
129
- Serve the built bundle locally for testing.
134
+ Headless render smoke each route in a stub-runtime harness.
130
135
 
131
- When to use: Smoke-test the exact bundle that will be deployed. Databases use seed data.
136
+ When to use: After notis apps build, before deploy. Catches render-time crashes and missing runtime calls that the build step cannot detect.
132
137
 
133
138
  Options:
134
- - `--port <number>` — Server port (default: 8787).
139
+ - `--routes <slugs>` — Comma-separated route slugs. Default: every route in manifest.
140
+ - `--port <n>` — Loopback port. Default: auto-pick.
141
+ - `--skip-build` — Skip notis apps build; reuse existing .notis/output/.
142
+ - `--mode <mode>` — stub | live. Default stub. Live posts to /portal_views/runtime_query with the CLI JWT.
143
+ - `--no-browser` — Start the harness server and print URLs; do not drive agent-browser.
144
+ - `--keep-open` — Leave server + browser session running after report (for manual triage).
135
145
 
136
146
  Examples:
137
- - `notis apps preview`
138
- - `notis apps preview --port 3000`
147
+ - `notis apps verify`
148
+ - `notis apps verify --routes notes`
149
+ - `notis apps verify --mode live`
150
+ - `notis apps verify --no-browser # start the harness, drive agent-browser yourself`
139
151
 
140
152
  ### `notis apps link <app-id> [dir]`
141
153
 
@@ -147,6 +159,20 @@ Examples:
147
159
  - `notis apps link abc123`
148
160
  - `notis apps link abc123 ./my-app`
149
161
 
162
+ ### `notis apps pull <app-id> [dir]`
163
+
164
+ Download a Notis app source snapshot into a local project folder.
165
+
166
+ When to use: Edit an installed app locally. Pulls the persisted source and links the directory to the app.
167
+
168
+ Options:
169
+ - `--force` — Overwrite a non-empty target directory.
170
+ - `--version <n>` — Pull a specific app source version (default: latest).
171
+
172
+ Examples:
173
+ - `notis apps pull abc123`
174
+ - `notis apps pull abc123 ./my-app --force`
175
+
150
176
  ### `notis apps deploy [dir]`
151
177
 
152
178
  Build and upload the app to the linked Notis app.
@@ -272,6 +298,7 @@ Options:
272
298
  - `--get-schema` — Display the tool parameter schema without executing.
273
299
  - `--dry-run` — Validate arguments against the tool schema without executing.
274
300
  - `--watch <seconds>` — Re-execute on an interval and stream results.
301
+ - `--toolkits <csv-or-json>` — Optional toolkit namespace(s) to use when resolving the tool.
275
302
 
276
303
  Examples:
277
304
  - `notis tools exec notis-default-query --arguments '{"database_slug":"tasks","query":{}}'`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notis_ai/cli",
3
- "version": "0.2.0-beta.21.1",
3
+ "version": "0.2.0-beta.32.1",
4
4
  "description": "Agent-first Notis CLI for apps, databases, and generic tool execution",
5
5
  "type": "module",
6
6
  "bin": {
@@ -16,6 +16,7 @@
16
16
  "docs:generate": "node ./scripts/generate-docs.js",
17
17
  "docs:check": "node ./scripts/generate-docs.js --check",
18
18
  "release:prepare": "node ./scripts/prepare-publish.js --apply",
19
+ "cli:set-mode": "node ./scripts/set-cli-mode.js",
19
20
  "test": "node --test"
20
21
  },
21
22
  "engines": {