@notis_ai/cli 0.2.2 → 0.2.4
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 +19 -18
- package/config/notis_app_boundary_rules.json +50 -0
- package/dist/scaffolds/notis-database/app/globals.css +44 -0
- package/dist/scaffolds/notis-database/app/page.tsx +1091 -0
- package/dist/scaffolds/notis-database/components/ui/table.tsx +120 -0
- package/dist/scaffolds/notis-database/index.html +12 -0
- package/dist/scaffolds/notis-database/lib/types.ts +134 -0
- package/dist/scaffolds/notis-database/metadata/cover.png +0 -0
- package/dist/scaffolds/notis-database/metadata/screenshot-1.png +0 -0
- package/dist/scaffolds/notis-database/metadata/screenshot-2.png +0 -0
- package/dist/scaffolds/notis-database/metadata/screenshot-3.png +0 -0
- package/dist/scaffolds/notis-database/notis.config.ts +27 -0
- package/dist/scaffolds/notis-database/package.json +31 -0
- package/dist/scaffolds/notis-database/src/dev-main.tsx +23 -0
- package/dist/scaffolds/notis-database/src/mock-runtime.ts +557 -0
- package/dist/scaffolds/notis-database/tailwind.config.ts +59 -0
- package/dist/scaffolds/{notes → notis-database}/tsconfig.json +2 -1
- package/dist/scaffolds/notis-database/vite.config.ts +22 -0
- package/dist/scaffolds/notis-notes/app/layout.tsx +6 -0
- package/dist/scaffolds/{notes → notis-notes}/app/page.tsx +783 -80
- package/dist/scaffolds/notis-notes/components/ui/badge.tsx +28 -0
- package/dist/scaffolds/notis-notes/components/ui/button.tsx +53 -0
- package/dist/scaffolds/notis-notes/components/ui/card.tsx +56 -0
- package/dist/scaffolds/notis-notes/components.json +20 -0
- package/dist/scaffolds/notis-notes/lib/utils.ts +6 -0
- package/dist/scaffolds/notis-notes/metadata/cover.png +0 -0
- package/dist/scaffolds/notis-notes/metadata/screenshot-1.png +0 -0
- package/dist/scaffolds/notis-notes/metadata/screenshot-2.png +0 -0
- package/dist/scaffolds/notis-notes/metadata/screenshot-3.png +0 -0
- package/dist/scaffolds/{notes → notis-notes}/notis.config.ts +12 -7
- package/dist/scaffolds/{notes → notis-notes}/package.json +2 -2
- package/dist/scaffolds/notis-notes/postcss.config.mjs +8 -0
- package/dist/scaffolds/notis-notes/tsconfig.json +23 -0
- package/dist/scaffolds/notis-random/README.md +33 -0
- package/dist/scaffolds/notis-random/app/globals.css +11 -0
- package/dist/scaffolds/notis-random/app/history/page.tsx +66 -0
- package/dist/scaffolds/notis-random/app/layout.tsx +7 -0
- package/dist/scaffolds/notis-random/app/page.tsx +222 -0
- package/dist/scaffolds/notis-random/index.html +12 -0
- package/dist/scaffolds/notis-random/lib/notis-tools.ts +109 -0
- package/dist/scaffolds/notis-random/lib/rng.ts +42 -0
- package/dist/scaffolds/notis-random/lib/roll-record.ts +102 -0
- package/dist/scaffolds/notis-random/lib/utils.ts +25 -0
- package/dist/scaffolds/notis-random/metadata/cover.png +0 -0
- package/dist/scaffolds/notis-random/metadata/screenshot-1.png +0 -0
- package/dist/scaffolds/notis-random/metadata/screenshot-2.png +0 -0
- package/dist/scaffolds/notis-random/metadata/screenshot-3.png +0 -0
- package/dist/scaffolds/notis-random/notis.config.ts +43 -0
- package/dist/scaffolds/notis-random/package.json +32 -0
- package/dist/scaffolds/notis-random/postcss.config.mjs +6 -0
- package/dist/scaffolds/notis-random/src/dev-main.tsx +70 -0
- package/dist/scaffolds/notis-random/src/mock-runtime.ts +128 -0
- package/dist/scaffolds/notis-random/tailwind.config.ts +43 -0
- package/dist/scaffolds/notis-random/tsconfig.json +23 -0
- package/dist/scaffolds/notis-random/vite.config.ts +11 -0
- package/dist/scaffolds.json +27 -4
- package/package.json +3 -1
- package/skills/notis-apps/SKILL.md +2 -2
- package/skills/notis-cli/SKILL.md +18 -16
- package/skills/notis-query/cli.md +9 -10
- package/src/cli.js +30 -2
- package/src/command-specs/apps.js +42 -15
- package/src/command-specs/helpers.js +73 -45
- package/src/command-specs/meta.js +7 -7
- package/src/command-specs/tools.js +196 -83
- package/src/runtime/app-boundary-validator.js +65 -14
- package/src/runtime/profiles.js +10 -4
- package/src/runtime/transport.js +122 -37
- package/template/app/page.tsx +1 -1
- package/template/notis.config.ts +1 -1
- package/template/packages/sdk/src/hooks/useTool.ts +1 -1
- /package/dist/scaffolds/{notes → notis-database}/app/layout.tsx +0 -0
- /package/dist/scaffolds/{notes → notis-database}/components/ui/badge.tsx +0 -0
- /package/dist/scaffolds/{notes → notis-database}/components/ui/button.tsx +0 -0
- /package/dist/scaffolds/{notes → notis-database}/components/ui/card.tsx +0 -0
- /package/dist/scaffolds/{notes → notis-database}/components.json +0 -0
- /package/dist/scaffolds/{notes → notis-database}/lib/utils.ts +0 -0
- /package/dist/scaffolds/{notes → notis-database}/postcss.config.mjs +0 -0
- /package/dist/scaffolds/{notes → notis-notes}/app/globals.css +0 -0
- /package/dist/scaffolds/{notes → notis-notes}/tailwind.config.ts +0 -0
- /package/dist/scaffolds/{notes → notis-notes}/vite.config.ts +0 -0
package/README.md
CHANGED
|
@@ -179,9 +179,9 @@ Examples:
|
|
|
179
179
|
|
|
180
180
|
### `npx --package @notis_ai/cli@latest -- notis tools toolkits`
|
|
181
181
|
|
|
182
|
-
List toolkit namespaces available to the active user.
|
|
182
|
+
List toolkit namespaces and connection statuses available to the active user.
|
|
183
183
|
|
|
184
|
-
When to use: Use this before searching or executing generic tools.
|
|
184
|
+
When to use: Use this to inspect connection state before searching or executing generic tools.
|
|
185
185
|
|
|
186
186
|
Examples:
|
|
187
187
|
- `npx --package @notis_ai/cli@latest -- notis tools toolkits`
|
|
@@ -194,11 +194,11 @@ Search across toolkit namespaces using natural language.
|
|
|
194
194
|
When to use: Use this when you need a generic capability that does not have a first-class CLI command.
|
|
195
195
|
|
|
196
196
|
Options:
|
|
197
|
-
- `--
|
|
197
|
+
- `--known-fields <text>` — Optional known field hints, such as channel_name:general or user_email:a@example.com.
|
|
198
198
|
|
|
199
199
|
Examples:
|
|
200
200
|
- `npx --package @notis_ai/cli@latest -- notis tools search "send an email"`
|
|
201
|
-
- `npx --package @notis_ai/cli@latest -- notis tools search "
|
|
201
|
+
- `npx --package @notis_ai/cli@latest -- notis tools search "post on LinkedIn" --known-fields "platform:linkedin"`
|
|
202
202
|
|
|
203
203
|
### `npx --package @notis_ai/cli@latest -- notis tools describe <tool-name>`
|
|
204
204
|
|
|
@@ -206,12 +206,9 @@ Describe a generic tool by name.
|
|
|
206
206
|
|
|
207
207
|
When to use: Use this when you know the tool name and want its parameter schema before execution.
|
|
208
208
|
|
|
209
|
-
Options:
|
|
210
|
-
- `--toolkits <csv-or-json>` — Optional subset of toolkit ids to search.
|
|
211
|
-
|
|
212
209
|
Examples:
|
|
213
|
-
- `npx --package @notis_ai/cli@latest -- notis tools describe composio-gmail-
|
|
214
|
-
- `npx --package @notis_ai/cli@latest -- notis tools describe
|
|
210
|
+
- `npx --package @notis_ai/cli@latest -- notis tools describe composio-gmail-send_email`
|
|
211
|
+
- `npx --package @notis_ai/cli@latest -- notis tools describe LOCAL_NOTIS_DATABASE_QUERY`
|
|
215
212
|
|
|
216
213
|
### `npx --package @notis_ai/cli@latest -- notis tools exec <tool-name>`
|
|
217
214
|
|
|
@@ -221,17 +218,18 @@ When to use: Use this as the escape hatch for integrations or Notis tools withou
|
|
|
221
218
|
|
|
222
219
|
Options:
|
|
223
220
|
- `--arguments <json>` — JSON object, @file path, or - for stdin.
|
|
221
|
+
- `--file <argument-path=local-path>` — Upload a local file into a file-uploadable tool argument. Repeatable.
|
|
224
222
|
- `--get-schema` — Display the tool parameter schema without executing.
|
|
225
223
|
- `--dry-run` — Validate arguments against the tool schema without executing.
|
|
226
|
-
- `--toolkits <csv-or-json>` — Optional toolkit namespace(s) to use when resolving the tool.
|
|
227
224
|
|
|
228
225
|
Examples:
|
|
229
|
-
- `npx --package @notis_ai/cli@latest -- notis tools exec
|
|
230
|
-
- `npx --package @notis_ai/cli@latest -- notis tools exec
|
|
231
|
-
- `npx --package @notis_ai/cli@latest -- notis tools exec
|
|
232
|
-
- `npx --package @notis_ai/cli@latest -- notis tools exec
|
|
233
|
-
- `npx --package @notis_ai/cli@latest -- notis tools exec
|
|
234
|
-
- `npx --package @notis_ai/cli@latest -- notis tools exec
|
|
226
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_QUERY --arguments '{"database_slug":"tasks","query":{}}'`
|
|
227
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_GET_DATABASE --arguments '{"database_slug":"tasks"}'`
|
|
228
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_QUERY --get-schema`
|
|
229
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_QUERY --dry-run --arguments '{"database_slug":"tasks","query":{}}'`
|
|
230
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_QUERY --arguments @query.json`
|
|
231
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_QUERY --arguments - < query.json`
|
|
232
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec composio-dropbox-upload_file --arguments '{"path":"/target/in/dropbox.pdf"}' --file content=./Invoice.pdf`
|
|
235
233
|
|
|
236
234
|
### `npx --package @notis_ai/cli@latest -- notis tools exec-parallel <calls>`
|
|
237
235
|
|
|
@@ -239,8 +237,11 @@ Execute multiple tools concurrently.
|
|
|
239
237
|
|
|
240
238
|
When to use: Use this when you need to run independent tool calls simultaneously for speed.
|
|
241
239
|
|
|
240
|
+
Options:
|
|
241
|
+
- `--file <argument-path=local-path>` — Unsupported for exec-parallel; use tools exec for file uploads.
|
|
242
|
+
|
|
242
243
|
Examples:
|
|
243
|
-
- `npx --package @notis_ai/cli@latest -- notis tools exec-parallel '[{"tool_name":"
|
|
244
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec-parallel '[{"tool_name":"LOCAL_NOTIS_DATABASE_QUERY","arguments":{"database_slug":"tasks","query":{}}},{"tool_name":"LOCAL_NOTIS_DATABASE_LIST_DATABASES","arguments":{}}]'`
|
|
244
245
|
|
|
245
246
|
### `npx --package @notis_ai/cli@latest -- notis tools link <toolkit>`
|
|
246
247
|
|
|
@@ -267,7 +268,7 @@ Examples:
|
|
|
267
268
|
|
|
268
269
|
### `npx --package @notis_ai/cli@latest -- notis whoami`
|
|
269
270
|
|
|
270
|
-
Display the active profile, user, and available
|
|
271
|
+
Display the active profile, user, and available toolkit connection statuses.
|
|
271
272
|
|
|
272
273
|
When to use: Use this to quickly confirm which account and environment a command will target.
|
|
273
274
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"javascript": [
|
|
3
|
+
{
|
|
4
|
+
"pattern": "window\\.__NOTIS_RUNTIME__",
|
|
5
|
+
"message": "window.__NOTIS_RUNTIME__ is forbidden; rely on the portal-injected NotisProvider runtime."
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"pattern": "document\\.(?:body|head|documentElement)\\b",
|
|
9
|
+
"message": "document.body, document.head, and document.documentElement are forbidden; apps must stay inside the app surface."
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"pattern": "document\\.(?:querySelector|querySelectorAll|getElementById|getElementsByClassName|getElementsByTagName)\\s*\\(\\s*(['\"`])[^\\n]*\\[data-notis-",
|
|
13
|
+
"message": "querying portal-owned [data-notis-*] hooks is forbidden."
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"pattern": "createPortal\\s*\\(",
|
|
17
|
+
"message": "React portals are unsupported in Notis apps until a shadow-safe overlay contract exists."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"pattern": "@radix-ui/react-portal",
|
|
21
|
+
"message": "@radix-ui/react-portal is unsupported in Notis apps until a shadow-safe overlay contract exists."
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"pattern": "PortalPrimitive",
|
|
25
|
+
"message": "Radix portal primitives are unsupported in Notis apps until a shadow-safe overlay contract exists."
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"css": [
|
|
29
|
+
{
|
|
30
|
+
"pattern": ":root\\b",
|
|
31
|
+
"message": ":root selectors are forbidden; styles must stay inside the app surface."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"pattern": "(^|[\\s,>+~])html(?=[\\s.#[:{>+~,]|$)",
|
|
35
|
+
"message": "html selectors are forbidden; styles must stay inside the app surface."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"pattern": "(^|[\\s,>+~])body(?=[\\s.#[:{>+~,]|$)",
|
|
39
|
+
"message": "body selectors are forbidden; styles must stay inside the app surface."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"pattern": "\\[data-notis-(?!app-root\\b)[^\\]]*\\]",
|
|
43
|
+
"message": "portal-owned [data-notis-*] selectors are forbidden. Use [data-notis-app-root] only for the app surface itself."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"pattern": "\\[data-sidebar(?:=[^\\]]+)?\\]",
|
|
47
|
+
"message": "portal sidebar selectors are forbidden."
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
@tailwind base;
|
|
2
|
+
@tailwind components;
|
|
3
|
+
@tailwind utilities;
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* The portal mounts the app inside [data-notis-app-root] (display: block,
|
|
7
|
+
* min-height: 100% from @notis/sdk/styles.css). Width 100% ensures the
|
|
8
|
+
* two-pane layout can stretch to the full content area; height stays on
|
|
9
|
+
* the SDK's min-height: 100% default so the page can grow with content.
|
|
10
|
+
* The page itself uses `h-screen` to guarantee a fixed viewport height
|
|
11
|
+
* for the two-pane divider and centered empty states.
|
|
12
|
+
*/
|
|
13
|
+
[data-notis-app-root] {
|
|
14
|
+
width: 100%;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/*
|
|
18
|
+
* Dev-preview fallback tokens. Active only when the dev entrypoint sets the
|
|
19
|
+
* data-dev-preview attribute. Production bundle runs inside the portal
|
|
20
|
+
* shadow root where the host injects real theme tokens, so this rule is
|
|
21
|
+
* scoped narrowly enough to never collide with portal-provided values.
|
|
22
|
+
*/
|
|
23
|
+
[data-dev-preview] {
|
|
24
|
+
--background: 0 0% 100%;
|
|
25
|
+
--foreground: 0 0% 4%;
|
|
26
|
+
--card: 0 0% 100%;
|
|
27
|
+
--card-foreground: 0 0% 4%;
|
|
28
|
+
--popover: 0 0% 100%;
|
|
29
|
+
--popover-foreground: 0 0% 4%;
|
|
30
|
+
--primary: 0 0% 9%;
|
|
31
|
+
--primary-foreground: 0 0% 98%;
|
|
32
|
+
--secondary: 240 5% 96%;
|
|
33
|
+
--secondary-foreground: 0 0% 9%;
|
|
34
|
+
--muted: 240 5% 96%;
|
|
35
|
+
--muted-foreground: 240 4% 46%;
|
|
36
|
+
--accent: 240 5% 96%;
|
|
37
|
+
--accent-foreground: 0 0% 9%;
|
|
38
|
+
--destructive: 0 84% 60%;
|
|
39
|
+
--destructive-foreground: 0 0% 98%;
|
|
40
|
+
--border: 240 6% 90%;
|
|
41
|
+
--input: 240 6% 90%;
|
|
42
|
+
--ring: 0 0% 4%;
|
|
43
|
+
--radius: 0.5rem;
|
|
44
|
+
}
|