@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.
- package/dist/popcraft.mjs +165 -140
- 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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
37
|
+
"@popcraft/kit": "0.57.2"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"build": "node build.mjs",
|