@popcraft/cli 0.57.0 → 0.57.2

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/dist/popcraft.mjs +165 -140
  2. package/package.json +2 -2
package/dist/popcraft.mjs CHANGED
@@ -1198,7 +1198,7 @@ function operations(spec = openapi) {
1198
1198
  }
1199
1199
  async function call(target2, method, path, opts = {}) {
1200
1200
  const qs = new URLSearchParams(opts.query ?? {}).toString();
1201
- const headers = { "user-agent": `popcraft-cli/${"0.57.0"}`, ...opts.headers };
1201
+ const headers = { "user-agent": `popcraft-cli/${"0.57.2"}`, ...opts.headers };
1202
1202
  if (target2.token) headers.authorization = `Bearer ${target2.token}`;
1203
1203
  if (opts.contentType) headers["content-type"] = opts.contentType;
1204
1204
  try {
@@ -29359,7 +29359,6 @@ function scaleSubtreePatches(nodes, id3, sx, sy, includeSelf = true) {
29359
29359
  var scalePoint;
29360
29360
  var init_scale_geometry = __esm({
29361
29361
  "lib/document/scale-geometry.ts"() {
29362
- "use strict";
29363
29362
  scalePoint = (p2, sx, sy) => ({
29364
29363
  ...p2,
29365
29364
  x: p2.x * sx,
@@ -172573,6 +172572,7 @@ async function sha256Prefix(bytes2) {
172573
172572
  }
172574
172573
  var init_media_hash = __esm({
172575
172574
  "lib/storage/media-hash.ts"() {
172575
+ "use strict";
172576
172576
  }
172577
172577
  });
172578
172578
 
@@ -172955,6 +172955,7 @@ function releaseMediaMemory(hash3) {
172955
172955
  var key2, peaksKey, objectUrls, sourceKey, remoteResolver, MEDIA_FETCH_TIMEOUT_MS, SHIPPED_MEDIA_PATH, notShipped, MEDIA_SCHEME, isImageDataUrl, memory, pendingLoads, sourceAliases, PAINT_KEYS, URL_KEYS;
172956
172956
  var init_media_store = __esm({
172957
172957
  "lib/storage/media-store.ts"() {
172958
+ "use strict";
172958
172959
  init_media_types();
172959
172960
  init_idb();
172960
172961
  init_media_hash();
@@ -252576,7 +252577,6 @@ function hasMessage(key5) {
252576
252577
  var current3, loading2, listeners2, formats, asts;
252577
252578
  var init_runtime = __esm({
252578
252579
  "lib/i18n/runtime.ts"() {
252579
- "use strict";
252580
252580
  init_intl_messageformat();
252581
252581
  init_icu_messageformat_parser();
252582
252582
  init_catalogs();
@@ -254376,6 +254376,7 @@ function repairDocumentPaints(doc2) {
254376
254376
  var broken;
254377
254377
  var init_paint_repair = __esm({
254378
254378
  "lib/document/paint-repair.ts"() {
254379
+ "use strict";
254379
254380
  init_shader_graph();
254380
254381
  broken = (p2) => {
254381
254382
  if (!p2 || typeof p2 !== "object") return false;
@@ -260657,7 +260658,6 @@ function repairFx(raw) {
260657
260658
  var isObj5, finite6, optFinite, isVec2, TIMELINE_COLOR_IDS, TIMELINE_COLORS, UNITS, ORDERS, PROP_KEYS, ANIMATOR_ID, MOTION_TYPES, TRANSITIONS, isFraction, MEDIA_HASH, LAYER_KINDS, ADJUSTMENT_TYPES, OPACITY_PROPERTY, CAPTION_PRESET_NAMES, inRange;
260658
260659
  var init_invariants = __esm({
260659
260660
  "lib/motion/invariants.ts"() {
260660
- "use strict";
260661
260661
  init_adjustments();
260662
260662
  init_captions();
260663
260663
  init_lut();
@@ -268298,7 +268298,6 @@ async function docExists(id3) {
268298
268298
  var INDEX_KEY, docKey, thumbKey, THUMB_MAX_BYTES, THUMB_TYPES, LEGACY_DATA_URL, migrating, SPLIT_LAYOUT, nodeKey, WRITER, persisted, saving, deletedHere, keyval, keyvalStore;
268299
268299
  var init_document_library = __esm({
268300
268300
  "lib/storage/document-library.ts"() {
268301
- "use strict";
268302
268301
  init_idb();
268303
268302
  init_media_types();
268304
268303
  init_collapse_duplicates();
@@ -268370,7 +268369,6 @@ function onTabMessage(fn) {
268370
268369
  var EDITOR_HOME, localDocPath, cloudFilePath, CHANNEL2, channel2;
268371
268370
  var init_tab_mode = __esm({
268372
268371
  "lib/desktop/tab-mode.ts"() {
268373
- "use strict";
268374
268372
  EDITOR_HOME = "/home";
268375
268373
  localDocPath = (docId) => `${EDITOR_HOME}?doc=${encodeURIComponent(docId)}`;
268376
268374
  cloudFilePath = (key5) => `/pop/${encodeURIComponent(key5)}`;
@@ -269972,7 +269970,6 @@ function staggerDocument(doc2, ids2, opts) {
269972
269970
  var PRESET_IDS, num6, restOpacity, overshoots, fadeCurve, span, enter2, leave2, fadeIn, fadeOut, along, scaleSpan, wave, BLUR_ID, SMEAR_ID, SHAKE_STEPS, SHAKE, clips, clipping, WIPE_MIN, wipeGroupId, wipeMaskId, any2, CONTAINERS2, isContainer, autoRise, CAM, zoomOf, camTravel, camArrive, dollyAxis, cameraOrGroup, isPlainText, TEXT_NEEDS, unitRise, cascade, cascadeKeys, cascadeAmount, slideDistance, LIBRARY, BY_ID2, MOTION_PRESETS, presetById2, lengthenedTo;
269973
269971
  var init_presets = __esm({
269974
269972
  "lib/motion/presets.ts"() {
269975
- "use strict";
269976
269973
  init_author();
269977
269974
  init_keys();
269978
269975
  init_markers();
@@ -271926,7 +271923,6 @@ function breakpointView(state, doc2 = state.document) {
271926
271923
  var storedDocument;
271927
271924
  var init_view = __esm({
271928
271925
  "lib/motion/view.ts"() {
271929
- "use strict";
271930
271926
  init_registry2();
271931
271927
  init_motion_slice();
271932
271928
  init_transport_clock();
@@ -273028,128 +273024,6 @@ var init_tauri = __esm({
273028
273024
  }
273029
273025
  });
273030
273026
 
273031
- // lib/desktop/open-link.ts
273032
- function openLink(href) {
273033
- if (isDesktop()) window.location.assign(href);
273034
- else window.open(href, "_blank", "noopener");
273035
- }
273036
- function openSitePage(path) {
273037
- if (!isDesktop()) {
273038
- window.open(path, "_blank", "noopener");
273039
- return;
273040
- }
273041
- const url4 = new URL(path, window.location.origin).href;
273042
- invoke("open_external", { url: url4 }).catch(() => window.location.assign(path));
273043
- }
273044
- function openBeside(href) {
273045
- if (!isDesktop()) return !!window.open(href, "_blank", "noopener,noreferrer");
273046
- const url4 = new URL(href, window.location.href);
273047
- if (url4.origin === window.location.origin) openSitePage(url4.pathname + url4.search + url4.hash);
273048
- else window.location.assign(url4.href);
273049
- return true;
273050
- }
273051
- var init_open_link = __esm({
273052
- "lib/desktop/open-link.ts"() {
273053
- init_tauri();
273054
- }
273055
- });
273056
-
273057
- // lib/plugins/plugin-store.ts
273058
- var plugin_store_exports = {};
273059
- __export(plugin_store_exports, {
273060
- usePluginStore: () => usePluginStore
273061
- });
273062
- var toastSeq, usePluginStore;
273063
- var init_plugin_store = __esm({
273064
- "lib/plugins/plugin-store.ts"() {
273065
- "use strict";
273066
- init_esm();
273067
- init_announce();
273068
- toastSeq = 1;
273069
- usePluginStore = create2()((set4) => ({
273070
- installed: [],
273071
- sessions: [],
273072
- toasts: [],
273073
- permissionPrompt: null,
273074
- managerOpen: false,
273075
- setInstalled: (installed4) => set4({ installed: installed4 }),
273076
- setManagerOpen: (managerOpen) => set4({ managerOpen }),
273077
- upsertSession: (s) => set4((st3) => ({ sessions: [...st3.sessions.filter((x2) => x2.sessionId !== s.sessionId), s] })),
273078
- patchSession: (sessionId, patch2) => set4((st3) => ({ sessions: st3.sessions.map((x2) => x2.sessionId === sessionId ? { ...x2, ...patch2 } : x2) })),
273079
- removeSession: (sessionId) => set4((st3) => ({ sessions: st3.sessions.filter((x2) => x2.sessionId !== sessionId) })),
273080
- toast: (message, opts = {}) => {
273081
- announce(opts.source ? `${opts.source}: ${message}` : message, opts.error ? "assertive" : "polite");
273082
- const id3 = toastSeq++;
273083
- set4((st3) => ({ toasts: [...st3.toasts.slice(-4), { id: id3, message, error: !!opts.error, source: opts.source ?? "" }] }));
273084
- setTimeout(() => set4((st3) => ({ toasts: st3.toasts.filter((t3) => t3.id !== id3) })), opts.error ? 7e3 : 4e3);
273085
- },
273086
- dismissToast: (id3) => set4((st3) => ({ toasts: st3.toasts.filter((t3) => t3.id !== id3) })),
273087
- setPermissionPrompt: (permissionPrompt) => set4({ permissionPrompt })
273088
- }));
273089
- }
273090
- });
273091
-
273092
- // lib/client/network.ts
273093
- function isOnline() {
273094
- return typeof navigator === "undefined" || navigator.onLine !== false;
273095
- }
273096
- function networkSignal(signal, timeoutMs = NETWORK_TIMEOUT_MS) {
273097
- if (!isOnline()) throw new OfflineError();
273098
- const deadline = AbortSignal.timeout(timeoutMs);
273099
- return signal ? AbortSignal.any([signal, deadline]) : deadline;
273100
- }
273101
- var import_react3, NETWORK_TIMEOUT_MS, OfflineError;
273102
- var init_network = __esm({
273103
- "lib/client/network.ts"() {
273104
- import_react3 = __toESM(require_react());
273105
- NETWORK_TIMEOUT_MS = 8e3;
273106
- OfflineError = class extends Error {
273107
- constructor() {
273108
- super("You are offline");
273109
- this.name = "OfflineError";
273110
- }
273111
- };
273112
- }
273113
- });
273114
-
273115
- // lib/client/cloud/plan-limit.ts
273116
- var plan_limit_exports = {};
273117
- __export(plan_limit_exports, {
273118
- closePlanDialog: () => closePlanDialog,
273119
- dismissPlanLimit: () => dismissPlanLimit,
273120
- openPlanDialog: () => openPlanDialog,
273121
- reportPlanLimit: () => reportPlanLimit,
273122
- resetPlanLimitNotices: () => resetPlanLimitNotices,
273123
- usePlanLimit: () => usePlanLimit
273124
- });
273125
- function reportPlanLimit(message, details, now3 = Date.now()) {
273126
- const key5 = `${details.tier}:${details.limit}`;
273127
- const prev = lastShown.get(key5);
273128
- if (prev !== void 0 && now3 - prev < REPEAT_MS) return false;
273129
- lastShown.set(key5, now3);
273130
- usePlanLimit.setState({ notice: { message, details, at: now3 } });
273131
- return true;
273132
- }
273133
- function openPlanDialog(workspaceId, opts = {}) {
273134
- usePlanLimit.setState({ notice: null, planDialogOpen: true, planDialogWorkspaceId: typeof workspaceId === "string" ? workspaceId : null, planDialogIntro: !!opts.intro });
273135
- }
273136
- function resetPlanLimitNotices() {
273137
- lastShown.clear();
273138
- usePlanLimit.setState({ notice: null, planDialogOpen: false, planDialogWorkspaceId: null, planDialogIntro: false });
273139
- }
273140
- var usePlanLimit, REPEAT_MS, lastShown, dismissPlanLimit, closePlanDialog;
273141
- var init_plan_limit = __esm({
273142
- "lib/client/cloud/plan-limit.ts"() {
273143
- "use strict";
273144
- init_esm();
273145
- usePlanLimit = create2(() => ({ notice: null, planDialogOpen: false, planDialogWorkspaceId: null, planDialogIntro: false }));
273146
- REPEAT_MS = 10 * 6e4;
273147
- lastShown = /* @__PURE__ */ new Map();
273148
- dismissPlanLimit = () => usePlanLimit.setState({ notice: null });
273149
- closePlanDialog = () => usePlanLimit.setState({ planDialogOpen: false, planDialogWorkspaceId: null, planDialogIntro: false });
273150
- }
273151
- });
273152
-
273153
273027
  // lib/i18n/format.ts
273154
273028
  function cached2(kind, opts, make) {
273155
273029
  const locale = intlLocale(getLocale());
@@ -273196,6 +273070,7 @@ function formatLimit(key5, max3) {
273196
273070
  var formatBytes;
273197
273071
  var init_limits2 = __esm({
273198
273072
  "lib/billing/limits.ts"() {
273073
+ "use strict";
273199
273074
  init_format();
273200
273075
  init_plans();
273201
273076
  formatBytes = formatFileSize;
@@ -273422,6 +273297,162 @@ var init_purchases = __esm({
273422
273297
  }
273423
273298
  });
273424
273299
 
273300
+ // lib/desktop/play-app.ts
273301
+ function isAppPage(href, origin) {
273302
+ const url4 = new URL(href, origin);
273303
+ if (url4.origin !== origin) return false;
273304
+ return APP_PATHS.some((p2) => url4.pathname === p2 || url4.pathname.startsWith(p2 + "/"));
273305
+ }
273306
+ function chromeIntent(href) {
273307
+ const url4 = new URL(href);
273308
+ if (url4.protocol !== "https:" && url4.protocol !== "http:") return null;
273309
+ return `intent://open?url=${encodeURIComponent(url4.href)}#Intent;scheme=popcraft;package=app.popcraft;S.browser_fallback_url=${encodeURIComponent(url4.href)};end`;
273310
+ }
273311
+ function openOutside(href) {
273312
+ const url4 = new URL(href, window.location.href);
273313
+ const intent = chromeIntent(url4.href);
273314
+ window.location.assign(intent ?? url4.href);
273315
+ }
273316
+ function sentOutOfPlayApp(href) {
273317
+ if (!inPlayApp() || isAppPage(href, window.location.origin)) return false;
273318
+ openOutside(new URL(href, window.location.href).href);
273319
+ return true;
273320
+ }
273321
+ var APP_PATHS;
273322
+ var init_play_app = __esm({
273323
+ "lib/desktop/play-app.ts"() {
273324
+ "use strict";
273325
+ init_purchases();
273326
+ APP_PATHS = ["/home", "/pop", "/callback"];
273327
+ }
273328
+ });
273329
+
273330
+ // lib/desktop/open-link.ts
273331
+ function openLink(href) {
273332
+ if (sentOutOfPlayApp(href)) return;
273333
+ if (isDesktop()) window.location.assign(href);
273334
+ else window.open(href, "_blank", "noopener");
273335
+ }
273336
+ function openSitePage(path) {
273337
+ if (sentOutOfPlayApp(path)) return;
273338
+ if (!isDesktop()) {
273339
+ window.open(path, "_blank", "noopener");
273340
+ return;
273341
+ }
273342
+ const url4 = new URL(path, window.location.origin).href;
273343
+ invoke("open_external", { url: url4 }).catch(() => window.location.assign(path));
273344
+ }
273345
+ function openBeside(href) {
273346
+ if (sentOutOfPlayApp(href)) return true;
273347
+ if (!isDesktop()) return !!window.open(href, "_blank", "noopener,noreferrer");
273348
+ const url4 = new URL(href, window.location.href);
273349
+ if (url4.origin === window.location.origin) openSitePage(url4.pathname + url4.search + url4.hash);
273350
+ else window.location.assign(url4.href);
273351
+ return true;
273352
+ }
273353
+ var init_open_link = __esm({
273354
+ "lib/desktop/open-link.ts"() {
273355
+ init_tauri();
273356
+ init_play_app();
273357
+ }
273358
+ });
273359
+
273360
+ // lib/plugins/plugin-store.ts
273361
+ var plugin_store_exports = {};
273362
+ __export(plugin_store_exports, {
273363
+ usePluginStore: () => usePluginStore
273364
+ });
273365
+ var toastSeq, usePluginStore;
273366
+ var init_plugin_store = __esm({
273367
+ "lib/plugins/plugin-store.ts"() {
273368
+ "use strict";
273369
+ init_esm();
273370
+ init_announce();
273371
+ toastSeq = 1;
273372
+ usePluginStore = create2()((set4) => ({
273373
+ installed: [],
273374
+ sessions: [],
273375
+ toasts: [],
273376
+ permissionPrompt: null,
273377
+ managerOpen: false,
273378
+ setInstalled: (installed4) => set4({ installed: installed4 }),
273379
+ setManagerOpen: (managerOpen) => set4({ managerOpen }),
273380
+ upsertSession: (s) => set4((st3) => ({ sessions: [...st3.sessions.filter((x2) => x2.sessionId !== s.sessionId), s] })),
273381
+ patchSession: (sessionId, patch2) => set4((st3) => ({ sessions: st3.sessions.map((x2) => x2.sessionId === sessionId ? { ...x2, ...patch2 } : x2) })),
273382
+ removeSession: (sessionId) => set4((st3) => ({ sessions: st3.sessions.filter((x2) => x2.sessionId !== sessionId) })),
273383
+ toast: (message, opts = {}) => {
273384
+ announce(opts.source ? `${opts.source}: ${message}` : message, opts.error ? "assertive" : "polite");
273385
+ const id3 = toastSeq++;
273386
+ set4((st3) => ({ toasts: [...st3.toasts.slice(-4), { id: id3, message, error: !!opts.error, source: opts.source ?? "" }] }));
273387
+ setTimeout(() => set4((st3) => ({ toasts: st3.toasts.filter((t3) => t3.id !== id3) })), opts.error ? 7e3 : 4e3);
273388
+ },
273389
+ dismissToast: (id3) => set4((st3) => ({ toasts: st3.toasts.filter((t3) => t3.id !== id3) })),
273390
+ setPermissionPrompt: (permissionPrompt) => set4({ permissionPrompt })
273391
+ }));
273392
+ }
273393
+ });
273394
+
273395
+ // lib/client/network.ts
273396
+ function isOnline() {
273397
+ return typeof navigator === "undefined" || navigator.onLine !== false;
273398
+ }
273399
+ function networkSignal(signal, timeoutMs = NETWORK_TIMEOUT_MS) {
273400
+ if (!isOnline()) throw new OfflineError();
273401
+ const deadline = AbortSignal.timeout(timeoutMs);
273402
+ return signal ? AbortSignal.any([signal, deadline]) : deadline;
273403
+ }
273404
+ var import_react3, NETWORK_TIMEOUT_MS, OfflineError;
273405
+ var init_network = __esm({
273406
+ "lib/client/network.ts"() {
273407
+ import_react3 = __toESM(require_react());
273408
+ NETWORK_TIMEOUT_MS = 8e3;
273409
+ OfflineError = class extends Error {
273410
+ constructor() {
273411
+ super("You are offline");
273412
+ this.name = "OfflineError";
273413
+ }
273414
+ };
273415
+ }
273416
+ });
273417
+
273418
+ // lib/client/cloud/plan-limit.ts
273419
+ var plan_limit_exports = {};
273420
+ __export(plan_limit_exports, {
273421
+ closePlanDialog: () => closePlanDialog,
273422
+ dismissPlanLimit: () => dismissPlanLimit,
273423
+ openPlanDialog: () => openPlanDialog,
273424
+ reportPlanLimit: () => reportPlanLimit,
273425
+ resetPlanLimitNotices: () => resetPlanLimitNotices,
273426
+ usePlanLimit: () => usePlanLimit
273427
+ });
273428
+ function reportPlanLimit(message, details, now3 = Date.now()) {
273429
+ const key5 = `${details.tier}:${details.limit}`;
273430
+ const prev = lastShown.get(key5);
273431
+ if (prev !== void 0 && now3 - prev < REPEAT_MS) return false;
273432
+ lastShown.set(key5, now3);
273433
+ usePlanLimit.setState({ notice: { message, details, at: now3 } });
273434
+ return true;
273435
+ }
273436
+ function openPlanDialog(workspaceId, opts = {}) {
273437
+ usePlanLimit.setState({ notice: null, planDialogOpen: true, planDialogWorkspaceId: typeof workspaceId === "string" ? workspaceId : null, planDialogIntro: !!opts.intro });
273438
+ }
273439
+ function resetPlanLimitNotices() {
273440
+ lastShown.clear();
273441
+ usePlanLimit.setState({ notice: null, planDialogOpen: false, planDialogWorkspaceId: null, planDialogIntro: false });
273442
+ }
273443
+ var usePlanLimit, REPEAT_MS, lastShown, dismissPlanLimit, closePlanDialog;
273444
+ var init_plan_limit = __esm({
273445
+ "lib/client/cloud/plan-limit.ts"() {
273446
+ "use strict";
273447
+ init_esm();
273448
+ usePlanLimit = create2(() => ({ notice: null, planDialogOpen: false, planDialogWorkspaceId: null, planDialogIntro: false }));
273449
+ REPEAT_MS = 10 * 6e4;
273450
+ lastShown = /* @__PURE__ */ new Map();
273451
+ dismissPlanLimit = () => usePlanLimit.setState({ notice: null });
273452
+ closePlanDialog = () => usePlanLimit.setState({ planDialogOpen: false, planDialogWorkspaceId: null, planDialogIntro: false });
273453
+ }
273454
+ });
273455
+
273425
273456
  // lib/client/cloud/api.ts
273426
273457
  var api_exports = {};
273427
273458
  __export(api_exports, {
@@ -273741,6 +273772,7 @@ function planEntryAction({ home }) {
273741
273772
  var STORAGE_KEY2, useHyperyTeam, TEAM_PROMPT_ENABLED, TEAM_PROMPTED_KEY, PROMPTED_KEY, useTeamPrompt, started;
273742
273773
  var init_team = __esm({
273743
273774
  "lib/client/cloud/team.ts"() {
273775
+ "use strict";
273744
273776
  init_esm();
273745
273777
  init_api4();
273746
273778
  init_session();
@@ -283904,7 +283936,6 @@ async function prepareTemplate(t3) {
283904
283936
  var templateMediaSources, MEDIA_FETCH_TIMEOUT_MS2, PREPARE_BUDGET_MS, MEDIA_CONCURRENCY, timeoutOf;
283905
283937
  var init_use = __esm({
283906
283938
  "lib/templates/use.ts"() {
283907
- "use strict";
283908
283939
  init_capture();
283909
283940
  templateMediaSources = (t3, hash3) => [
283910
283941
  `/templates/media/${hash3}`,
@@ -317407,6 +317438,7 @@ function decodeSource(key5, label3) {
317407
317438
  var DECODE_CACHE_BYTES, cache7, pending4, held, sizeOf, lengths, decodedLengths, DECODE_TIMEOUT_MS, decodedAudio, decodedSource, pcmOf;
317408
317439
  var init_audio_decode = __esm({
317409
317440
  "lib/motion/audio-decode.ts"() {
317441
+ "use strict";
317410
317442
  init_media_store();
317411
317443
  init_audio_plan();
317412
317444
  init_time_stretch();
@@ -323210,7 +323242,6 @@ function creditLine(c2) {
323210
323242
  var MAX_PHOTO_PAGE, MAX_PHOTO_QUERY, UUID, isPhotoId, photoImagePath;
323211
323243
  var init_stock = __esm({
323212
323244
  "lib/photos/stock.ts"() {
323213
- "use strict";
323214
323245
  MAX_PHOTO_PAGE = 12;
323215
323246
  MAX_PHOTO_QUERY = 200;
323216
323247
  UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
@@ -323872,7 +323903,6 @@ function applyTextPath(layout2, path, tp, rebase = true) {
323872
323903
  var defaultCircleRadius, ownsPath, mapPoint;
323873
323904
  var init_text_path = __esm({
323874
323905
  "lib/engine/text/text-path.ts"() {
323875
- "use strict";
323876
323906
  init_scene_graph();
323877
323907
  init_transform();
323878
323908
  init_shape_to_path();
@@ -339023,7 +339053,7 @@ var init_package = __esm({
339023
339053
  "packages/runtime/package.json"() {
339024
339054
  package_default = {
339025
339055
  name: "@popcraft/runtime",
339026
- version: "0.57.0",
339056
+ version: "0.57.2",
339027
339057
  description: "What code exported from PopCraft shares: the meaning of expressions (operators and functions) and, as it grows, the parts of a design's behaviour that are common code rather than generated React.",
339028
339058
  license: "MIT",
339029
339059
  homepage: "https://popcraft.app/docs/exporting/nextjs",
@@ -370906,7 +370936,6 @@ function diagnosticsText(diagnostics) {
370906
370936
  var HARNESS_NAMES, plainDiagnostics;
370907
370937
  var init_shader_diagnostics = __esm({
370908
370938
  "lib/engine/shader-diagnostics.ts"() {
370909
- "use strict";
370910
370939
  HARNESS_NAMES = ["ShaderUniforms", "VOut", "vs_main", "fs_main", "u", "p"];
370911
370940
  plainDiagnostics = (errors2) => errors2.map((message) => ({ line: null, column: null, message, severity: "error" }));
370912
370941
  }
@@ -379421,7 +379450,6 @@ var init_doc2 = __esm({
379421
379450
  var POSTER_KEY, MAX_PREVIEW_BYTES2, PREVIEW_STILL_TYPE, previewPath;
379422
379451
  var init_motion3 = __esm({
379423
379452
  "lib/marketplace/motion.ts"() {
379424
- "use strict";
379425
379453
  init_instances2();
379426
379454
  POSTER_KEY = "poster";
379427
379455
  MAX_PREVIEW_BYTES2 = 4 * 1024 * 1024;
@@ -379537,7 +379565,6 @@ async function renderLibraryPreviews(renderer, doc2, listing, format = pickPrevi
379537
379565
  var PREVIEW_FORMATS, PREVIEW_FPS, PREVIEW_MAX_MS2, PREVIEW_HOLD_MS, PREVIEW_BOX, POSTER_CELL, PREVIEW_MAX_SCALE, POSTER_COLS, POSTER_MAX, previewScale, componentSchedule;
379538
379566
  var init_library_previews = __esm({
379539
379567
  "lib/motion/library-previews.ts"() {
379540
- "use strict";
379541
379568
  init_codecs();
379542
379569
  init_gpu_pixels();
379543
379570
  init_render_frames();
@@ -412869,7 +412896,6 @@ function placeDesign(doc2, built, source3, size6, name2, at5) {
412869
412896
  var DESIGN_NAMESPACES, DERIVED2, templateOfBuild;
412870
412897
  var init_build3 = __esm({
412871
412898
  "lib/agent/design-script/build.ts"() {
412872
- "use strict";
412873
412899
  init_hash();
412874
412900
  init_scene_graph();
412875
412901
  init_libraries();
@@ -412899,7 +412925,6 @@ function designFrameOf(doc2, id3) {
412899
412925
  }
412900
412926
  var init_locate = __esm({
412901
412927
  "lib/agent/design-script/locate.ts"() {
412902
- "use strict";
412903
412928
  }
412904
412929
  });
412905
412930
 
@@ -425727,7 +425752,7 @@ init_resources();
425727
425752
  init_desktop();
425728
425753
  init_hypery();
425729
425754
  import { createInterface } from "node:readline";
425730
- var VERSION2 = "0.57.0";
425755
+ var VERSION2 = "0.57.2";
425731
425756
  var HELP = `popcraft ${VERSION2} \u2014 the PopCraft command line
425732
425757
 
425733
425758
  Files (headless, on .popcraft files):
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@popcraft/cli",
3
- "version": "0.57.0",
3
+ "version": "0.57.2",
4
4
  "description": "The PopCraft command line: edit .popcraft files headlessly, call the REST API, publish to the marketplace and manage the desktop app's local plugins, themes, fonts, skills and agents.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://popcraft.app/docs/api/cli",
@@ -34,7 +34,7 @@
34
34
  "esbuild": "0.28.2"
35
35
  },
36
36
  "dependencies": {
37
- "@popcraft/kit": "0.57.0"
37
+ "@popcraft/kit": "0.57.2"
38
38
  },
39
39
  "scripts": {
40
40
  "build": "node build.mjs",