@lotics/cli 0.51.1 → 0.52.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.
@@ -8,9 +8,11 @@
8
8
  * wrapper (different port), so the app gets its own real origin (and Web
9
9
  * Storage) without being able to reach the wrapper. `allow-downloads` lets
10
10
  * apps trigger file downloads (generated xlsx / pdf etc.) — Chrome blocks
11
- * every download path from sandboxed iframes without it. `allow="...; geolocation"`
12
- * delegates the host's location permission to the app so geofenced actions can
13
- * read the device position matching production. The iframe sends postMessage RPCs to
11
+ * every download path from sandboxed iframes without it. `allow="...; geolocation;
12
+ * web-share"` delegates the host's location permission (geofenced actions read the
13
+ * device position) and grants the Web Share API (apps call `navigator.share({ files })`
14
+ * to push e.g. container photos to the OS share sheet / gallery) — matching
15
+ * production. The iframe sends postMessage RPCs to
14
16
  * this wrapper, which forwards them to the local /_rpc endpoint, which
15
17
  * dispatches to api.lotics.ai with the CLI's API key.
16
18
  *
@@ -8,9 +8,11 @@
8
8
  * wrapper (different port), so the app gets its own real origin (and Web
9
9
  * Storage) without being able to reach the wrapper. `allow-downloads` lets
10
10
  * apps trigger file downloads (generated xlsx / pdf etc.) — Chrome blocks
11
- * every download path from sandboxed iframes without it. `allow="...; geolocation"`
12
- * delegates the host's location permission to the app so geofenced actions can
13
- * read the device position matching production. The iframe sends postMessage RPCs to
11
+ * every download path from sandboxed iframes without it. `allow="...; geolocation;
12
+ * web-share"` delegates the host's location permission (geofenced actions read the
13
+ * device position) and grants the Web Share API (apps call `navigator.share({ files })`
14
+ * to push e.g. container photos to the OS share sheet / gallery) — matching
15
+ * production. The iframe sends postMessage RPCs to
14
16
  * this wrapper, which forwards them to the local /_rpc endpoint, which
15
17
  * dispatches to api.lotics.ai with the CLI's API key.
16
18
  *
@@ -64,7 +66,7 @@ export function buildWrapperPage(args) {
64
66
  <span>workspace <code>${escapeHtml(workspace_id)}</code></span>
65
67
  <span>RPC → <code>${escapeHtml(api_url)}</code></span>
66
68
  </header>
67
- <iframe id="app" sandbox="allow-scripts allow-same-origin allow-downloads" allow="clipboard-write; geolocation"></iframe>
69
+ <iframe id="app" sandbox="allow-scripts allow-same-origin allow-downloads" allow="clipboard-write; geolocation; web-share"></iframe>
68
70
  <script>
69
71
  (function () {
70
72
  const APP_ID = ${JSON.stringify(app_id)};
package/dist/src/cli.js CHANGED
@@ -30474,6 +30474,12 @@ export default defineConfig({
30474
30474
  "@react-native-picker/picker",
30475
30475
  "@testing-library/react",
30476
30476
  "@testing-library/dom",
30477
+ // @lotics/app-sdk ships compiled dist/ JS (unlike @lotics/ui, which
30478
+ // ships source vitest transforms inline) \u2014 pre-bundled into its own
30479
+ // chunk, its react import splits from the shared instance and nulls
30480
+ // the hooks dispatcher the instant a hook (useAgentRun / useQuery)
30481
+ // runs in a rendered App tree.
30482
+ "@lotics/app-sdk",
30477
30483
  ],
30478
30484
  esbuildOptions: {
30479
30485
  resolveExtensions: [".web.tsx", ".web.ts", ".web.js", ".tsx", ".ts", ".jsx", ".js", ".json"],
@@ -30948,7 +30954,7 @@ function buildWrapperPage(args) {
30948
30954
  <span>workspace <code>${escapeHtml2(workspace_id)}</code></span>
30949
30955
  <span>RPC \u2192 <code>${escapeHtml2(api_url)}</code></span>
30950
30956
  </header>
30951
- <iframe id="app" sandbox="allow-scripts allow-same-origin allow-downloads" allow="clipboard-write; geolocation"></iframe>
30957
+ <iframe id="app" sandbox="allow-scripts allow-same-origin allow-downloads" allow="clipboard-write; geolocation; web-share"></iframe>
30952
30958
  <script>
30953
30959
  (function () {
30954
30960
  const APP_ID = ${JSON.stringify(app_id)};
@@ -274,6 +274,12 @@ export default defineConfig({
274
274
  "@react-native-picker/picker",
275
275
  "@testing-library/react",
276
276
  "@testing-library/dom",
277
+ // @lotics/app-sdk ships compiled dist/ JS (unlike @lotics/ui, which
278
+ // ships source vitest transforms inline) — pre-bundled into its own
279
+ // chunk, its react import splits from the shared instance and nulls
280
+ // the hooks dispatcher the instant a hook (useAgentRun / useQuery)
281
+ // runs in a rendered App tree.
282
+ "@lotics/app-sdk",
277
283
  ],
278
284
  esbuildOptions: {
279
285
  resolveExtensions: [".web.tsx", ".web.ts", ".web.js", ".tsx", ".ts", ".jsx", ".js", ".json"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lotics/cli",
3
- "version": "0.51.1",
3
+ "version": "0.52.1",
4
4
  "description": "Lotics SDK and CLI for AI agents",
5
5
  "type": "module",
6
6
  "bin": {