@notis_ai/cli 0.2.0-beta.161.1 → 0.2.0-beta.162.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.
@@ -1355,7 +1355,7 @@ function connectedCallbackHtml({ portalOrigin }) {
1355
1355
  <button class="button button-primary" id="download-desktop" type="button">Download Notis Desktop</button>
1356
1356
  <a class="button" href="${escapeHtml(webAppUrl)}">Open Web App</a>
1357
1357
  </div>
1358
- <p class="helper">The CLI stays connected even if you continue in the web app.</p>
1358
+ <p class="helper">Desktop is available for macOS and Windows. The CLI stays connected even if you continue in the web app.</p>
1359
1359
  </section>
1360
1360
  <section class="next-step" id="desktop-ready-view" aria-labelledby="desktop-ready-title" hidden>
1361
1361
  <div class="status"><span class="status-dot"></span> Download started</div>
@@ -1381,7 +1381,6 @@ function connectedCallbackHtml({ portalOrigin }) {
1381
1381
  const resolveDownload = async () => {
1382
1382
  const ua = navigator.userAgent || '';
1383
1383
  if (/Windows/i.test(ua)) return downloads.base + '/win32/x64/notis-x64.exe';
1384
- if (/Linux/i.test(ua) && !/Android/i.test(ua)) return downloads.base + '/linux/x64/notis-linux-x64.zip';
1385
1384
  if (/Macintosh|Mac OS X/i.test(ua)) {
1386
1385
  let architecture = '';
1387
1386
  try {
@@ -1398,6 +1397,7 @@ function connectedCallbackHtml({ portalOrigin }) {
1398
1397
  const startDownload = async () => {
1399
1398
  const downloadUrl = await resolveDownload();
1400
1399
  window.open(downloadUrl, '_blank', 'noopener,noreferrer');
1400
+ if (downloadUrl === downloads.fallback) return;
1401
1401
  connectedView.hidden = true;
1402
1402
  readyView.hidden = false;
1403
1403
  document.title = 'Quick login to Notis Desktop';
@@ -9027,7 +9027,7 @@ function resolveBuiltBundleDir(projectDir) {
9027
9027
  return null;
9028
9028
  }
9029
9029
  function normalizeShadowScopedCss(css) {
9030
- return css.replace(/html\s*,\s*:host\s*\{/g, ":host{").replace(/:root\s*,\s*:host\s*\{/g, ":host{").replace(/:root\s*\{/g, ":host{").replace(/html\s*\{/g, ":host{").replace(/body\s*\{/g, "[data-notis-app-root]{");
9030
+ return css.replace(/(?:html|:root)\s*,\s*:host\s*\{/g, "[data-notis-app-root],:host{").replace(/:root\s*\{/g, "[data-notis-app-root],:host{").replace(/html\s*\{/g, "[data-notis-app-root],:host{").replace(/body\s*\{/g, "[data-notis-app-root]{");
9031
9031
  }
9032
9032
  function normalizeBundleStylesheets(projectDir) {
9033
9033
  const bundleDir = join4(projectDir, BUNDLE_DIR);
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: notis-cli
3
3
  description: Use when agents should work through the Notis CLI, especially to develop Notis apps locally or to access Notis, Composio, or MCP tools they do not currently have loaded directly.
4
- feature_flag: cli_access
5
4
  mcp_resource: true
6
5
  mcp_tool_patterns: []
7
6
  mcp_references: ["references/app-delivery.md", "references/tool-examples.md", "references/native-databases.md", "references/troubleshooting.md"]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notis_ai/cli",
3
- "version": "0.2.0-beta.161.1",
3
+ "version": "0.2.0-beta.162.1",
4
4
  "description": "Agent-first Notis CLI for apps and generic tool execution",
5
5
  "type": "module",
6
6
  "bin": {
@@ -126,12 +126,12 @@ export function resolveBuiltBundleDir(projectDir) {
126
126
 
127
127
  function normalizeShadowScopedCss(css) {
128
128
  return css
129
- // Tailwind preflight emits `html,:host` in v3. Inside a shadow tree we want
130
- // the shadow host itself to carry those defaults.
131
- .replace(/html\s*,\s*:host\s*\{/g, ':host{')
132
- .replace(/:root\s*,\s*:host\s*\{/g, ':host{')
133
- .replace(/:root\s*\{/g, ':host{')
134
- .replace(/html\s*\{/g, ':host{')
129
+ // Keep defaults on both the Portal shadow host and the app root used
130
+ // by the standalone harness. Removing :root erases Tailwind v4 theme
131
+ // variables in previews, collapsing spacing, type sizes and controls.
132
+ .replace(/(?:html|:root)\s*,\s*:host\s*\{/g, '[data-notis-app-root],:host{')
133
+ .replace(/:root\s*\{/g, '[data-notis-app-root],:host{')
134
+ .replace(/html\s*\{/g, '[data-notis-app-root],:host{')
135
135
  // Shadow trees do not contain a body element. Route those defaults to the
136
136
  // app root contract instead so authors still get the expected reset.
137
137
  .replace(/body\s*\{/g, '[data-notis-app-root]{');
@@ -407,7 +407,7 @@ function connectedCallbackHtml({ portalOrigin }) {
407
407
  <button class="button button-primary" id="download-desktop" type="button">Download Notis Desktop</button>
408
408
  <a class="button" href="${escapeHtml(webAppUrl)}">Open Web App</a>
409
409
  </div>
410
- <p class="helper">The CLI stays connected even if you continue in the web app.</p>
410
+ <p class="helper">Desktop is available for macOS and Windows. The CLI stays connected even if you continue in the web app.</p>
411
411
  </section>
412
412
  <section class="next-step" id="desktop-ready-view" aria-labelledby="desktop-ready-title" hidden>
413
413
  <div class="status"><span class="status-dot"></span> Download started</div>
@@ -433,7 +433,6 @@ function connectedCallbackHtml({ portalOrigin }) {
433
433
  const resolveDownload = async () => {
434
434
  const ua = navigator.userAgent || '';
435
435
  if (/Windows/i.test(ua)) return downloads.base + '/win32/x64/notis-x64.exe';
436
- if (/Linux/i.test(ua) && !/Android/i.test(ua)) return downloads.base + '/linux/x64/notis-linux-x64.zip';
437
436
  if (/Macintosh|Mac OS X/i.test(ua)) {
438
437
  let architecture = '';
439
438
  try {
@@ -450,6 +449,7 @@ function connectedCallbackHtml({ portalOrigin }) {
450
449
  const startDownload = async () => {
451
450
  const downloadUrl = await resolveDownload();
452
451
  window.open(downloadUrl, '_blank', 'noopener,noreferrer');
452
+ if (downloadUrl === downloads.fallback) return;
453
453
  connectedView.hidden = true;
454
454
  readyView.hidden = false;
455
455
  document.title = 'Quick login to Notis Desktop';
@@ -99,7 +99,7 @@
99
99
  </head>
100
100
  <body>
101
101
  <div id="harness-status">harness: booting</div>
102
- <div id="root"></div>
102
+ <div id="root" data-notis-app-root></div>
103
103
  <script type="module">
104
104
  const routeExport = {{ROUTE_EXPORT}};
105
105
  const descriptor = {{RUNTIME_DESCRIPTOR}};