plotlink-ows 1.0.33 → 1.2.94
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 +4 -0
- package/app/lib/agent-command.ts +85 -0
- package/app/lib/agent-readiness.ts +133 -0
- package/app/lib/apply-schema.ts +55 -0
- package/app/lib/bubble-text.ts +160 -0
- package/app/lib/cartoon-coach.ts +198 -0
- package/app/lib/cartoon-markdown.ts +83 -0
- package/app/lib/cartoon-prompt.ts +122 -0
- package/app/lib/cartoon-readiness.ts +811 -0
- package/app/lib/clean-image-sync.ts +245 -0
- package/app/lib/codex-images.ts +152 -0
- package/app/lib/cut-asset-diagnostics.ts +120 -0
- package/app/lib/cuts.ts +302 -0
- package/app/lib/fonts.ts +109 -0
- package/app/lib/generate-claude-md.ts +8 -1
- package/app/lib/generate-story-instructions.ts +731 -0
- package/app/lib/image-asset-validate.ts +123 -0
- package/app/lib/lettering-status.ts +133 -0
- package/app/lib/overlays.ts +637 -0
- package/app/lib/paths.ts +10 -0
- package/app/lib/public-title.ts +65 -0
- package/app/lib/publish.ts +16 -2
- package/app/lib/story-progress.ts +243 -0
- package/app/lib/terminal-protocol.ts +16 -0
- package/app/lib/terminal-redact.ts +50 -0
- package/app/prisma/schema.sql +25 -0
- package/app/routes/agent.ts +42 -0
- package/app/routes/codex-images.ts +67 -0
- package/app/routes/publish.ts +203 -22
- package/app/routes/stories.ts +961 -5
- package/app/routes/terminal.ts +383 -31
- package/app/server.ts +47 -12
- package/app/vite.config.ts +6 -0
- package/app/web/components/CartoonPreview.tsx +267 -0
- package/app/web/components/CartoonPublishPage.tsx +407 -0
- package/app/web/components/CartoonPublishPreview.tsx +121 -0
- package/app/web/components/CartoonStepGuide.tsx +90 -0
- package/app/web/components/CartoonWorkflowNav.tsx +68 -0
- package/app/web/components/CodexImportPicker.tsx +230 -0
- package/app/web/components/CutListPanel.tsx +1299 -0
- package/app/web/components/EpisodesPage.tsx +80 -0
- package/app/web/components/FinishEpisodePanel.tsx +151 -0
- package/app/web/components/Layout.tsx +7 -4
- package/app/web/components/LetteringEditor.tsx +1141 -0
- package/app/web/components/PreviewPanel.tsx +951 -78
- package/app/web/components/Settings.tsx +63 -0
- package/app/web/components/StoriesPage.tsx +710 -33
- package/app/web/components/StoryBrowser.tsx +22 -14
- package/app/web/components/StoryInfoPage.tsx +266 -0
- package/app/web/components/StoryProgressPanel.tsx +516 -0
- package/app/web/components/TerminalPanel.tsx +233 -11
- package/app/web/components/WorkflowCoach.tsx +128 -0
- package/app/web/components/asset-image.tsx +114 -0
- package/app/web/components/asset-test-utils.ts +44 -0
- package/app/web/components/export-cut.ts +320 -0
- package/app/web/dist/assets/export-cut-nKQ_n2-J.js +1 -0
- package/app/web/dist/assets/index-BAZGwVwj.js +143 -0
- package/app/web/dist/assets/index-DoXH2OlP.css +32 -0
- package/app/web/dist/index.html +2 -2
- package/app/web/lib/cartoon-publish-summary.ts +43 -0
- package/app/web/lib/codex-import.ts +94 -0
- package/app/web/lib/image-compress.ts +53 -0
- package/app/web/lib/import-image.ts +58 -0
- package/app/web/lib/publish-helpers.ts +385 -0
- package/app/web/lib/upload-retry.ts +130 -0
- package/app/web/lib/verify-public-title.ts +105 -0
- package/app/web/styles.css +9 -0
- package/bin/plotlink-ows.js +53 -16
- package/bin/startup-plan.cjs +58 -0
- package/lib/genres.ts +92 -0
- package/package.json +60 -20
- package/scripts/gen-schema-sql.mjs +49 -0
- package/scripts/package-hygiene.mjs +116 -0
- package/scripts/preflight.mjs +173 -0
- package/scripts/start-smoke.mjs +128 -0
- package/app/node_modules/.prisma/local-client/client.d.ts +0 -1
- package/app/node_modules/.prisma/local-client/client.js +0 -5
- package/app/node_modules/.prisma/local-client/default.d.ts +0 -1
- package/app/node_modules/.prisma/local-client/default.js +0 -5
- package/app/node_modules/.prisma/local-client/edge.d.ts +0 -1
- package/app/node_modules/.prisma/local-client/edge.js +0 -184
- package/app/node_modules/.prisma/local-client/index-browser.js +0 -173
- package/app/node_modules/.prisma/local-client/index.d.ts +0 -3304
- package/app/node_modules/.prisma/local-client/index.js +0 -207
- package/app/node_modules/.prisma/local-client/libquery_engine-darwin-arm64.dylib.node +0 -0
- package/app/node_modules/.prisma/local-client/package.json +0 -183
- package/app/node_modules/.prisma/local-client/query_engine_bg.js +0 -2
- package/app/node_modules/.prisma/local-client/query_engine_bg.wasm +0 -0
- package/app/node_modules/.prisma/local-client/runtime/edge-esm.js +0 -35
- package/app/node_modules/.prisma/local-client/runtime/edge.js +0 -35
- package/app/node_modules/.prisma/local-client/runtime/index-browser.d.ts +0 -370
- package/app/node_modules/.prisma/local-client/runtime/index-browser.js +0 -17
- package/app/node_modules/.prisma/local-client/runtime/library.d.ts +0 -3982
- package/app/node_modules/.prisma/local-client/runtime/library.js +0 -147
- package/app/node_modules/.prisma/local-client/runtime/react-native.js +0 -84
- package/app/node_modules/.prisma/local-client/runtime/wasm-compiler-edge.js +0 -85
- package/app/node_modules/.prisma/local-client/runtime/wasm-engine-edge.js +0 -38
- package/app/node_modules/.prisma/local-client/schema.prisma +0 -21
- package/app/node_modules/.prisma/local-client/wasm-edge-light-loader.mjs +0 -5
- package/app/node_modules/.prisma/local-client/wasm-worker-loader.mjs +0 -5
- package/app/node_modules/.prisma/local-client/wasm.d.ts +0 -1
- package/app/node_modules/.prisma/local-client/wasm.js +0 -191
- package/app/web/dist/assets/index-B-2Ft7Yv.css +0 -32
- package/app/web/dist/assets/index-DxATSk7X.js +0 -134
- package/packages/cli/node_modules/commander/LICENSE +0 -22
- package/packages/cli/node_modules/commander/Readme.md +0 -1149
- package/packages/cli/node_modules/commander/esm.mjs +0 -16
- package/packages/cli/node_modules/commander/index.js +0 -24
- package/packages/cli/node_modules/commander/lib/argument.js +0 -149
- package/packages/cli/node_modules/commander/lib/command.js +0 -2662
- package/packages/cli/node_modules/commander/lib/error.js +0 -39
- package/packages/cli/node_modules/commander/lib/help.js +0 -709
- package/packages/cli/node_modules/commander/lib/option.js +0 -367
- package/packages/cli/node_modules/commander/lib/suggestSimilar.js +0 -101
- package/packages/cli/node_modules/commander/package-support.json +0 -16
- package/packages/cli/node_modules/commander/package.json +0 -82
- package/packages/cli/node_modules/commander/typings/esm.d.mts +0 -3
- package/packages/cli/node_modules/commander/typings/index.d.ts +0 -1045
- package/packages/cli/node_modules/resolve-from/index.d.ts +0 -31
- package/packages/cli/node_modules/resolve-from/index.js +0 -47
- package/packages/cli/node_modules/resolve-from/license +0 -9
- package/packages/cli/node_modules/resolve-from/package.json +0 -36
- package/packages/cli/node_modules/resolve-from/readme.md +0 -72
- package/packages/cli/node_modules/tsup/LICENSE +0 -21
- package/packages/cli/node_modules/tsup/README.md +0 -75
- package/packages/cli/node_modules/tsup/assets/cjs_shims.js +0 -13
- package/packages/cli/node_modules/tsup/assets/esm_shims.js +0 -9
- package/packages/cli/node_modules/tsup/assets/package.json +0 -3
- package/packages/cli/node_modules/tsup/dist/chunk-DI5BO6XE.js +0 -153
- package/packages/cli/node_modules/tsup/dist/chunk-JZ25TPTY.js +0 -42
- package/packages/cli/node_modules/tsup/dist/chunk-PEEXUWMS.js +0 -6
- package/packages/cli/node_modules/tsup/dist/chunk-TWFEYLU4.js +0 -352
- package/packages/cli/node_modules/tsup/dist/chunk-VGC3FXLU.js +0 -203
- package/packages/cli/node_modules/tsup/dist/cli-default.js +0 -12
- package/packages/cli/node_modules/tsup/dist/cli-main.js +0 -8
- package/packages/cli/node_modules/tsup/dist/cli-node.js +0 -14
- package/packages/cli/node_modules/tsup/dist/index.d.ts +0 -511
- package/packages/cli/node_modules/tsup/dist/index.js +0 -1711
- package/packages/cli/node_modules/tsup/dist/rollup.js +0 -6949
- package/packages/cli/node_modules/tsup/package.json +0 -99
- package/packages/cli/node_modules/tsup/schema.json +0 -362
- package/public/screenshot-1.png +0 -0
- package/public/screenshot-2.png +0 -0
- package/public/screenshot-3.png +0 -0
- package/scripts/e2e-verify.ts +0 -1100
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useState, useEffect, useCallback } from "react";
|
|
2
2
|
import { WalletCard } from "./WalletCard";
|
|
3
|
+
import { isCodexAuthUnclear, CODEX_AUTH_UNCLEAR_MESSAGE, type AgentReadiness } from "@app-lib/agent-readiness";
|
|
3
4
|
|
|
4
5
|
export function Settings({ token, onLogout }: { token: string; onLogout: () => void }) {
|
|
5
6
|
const [newPassphrase, setNewPassphrase] = useState("");
|
|
@@ -23,6 +24,9 @@ export function Settings({ token, onLogout }: { token: string; onLogout: () => v
|
|
|
23
24
|
const [bindingError, setBindingError] = useState<string | null>(null);
|
|
24
25
|
const [copied, setCopied] = useState<"signature" | "wallet" | null>(null);
|
|
25
26
|
|
|
27
|
+
// Agent (CLI) readiness — detection only.
|
|
28
|
+
const [readiness, setReadiness] = useState<AgentReadiness | null>(null);
|
|
29
|
+
|
|
26
30
|
const authFetch = useCallback((url: string, opts?: RequestInit) =>
|
|
27
31
|
fetch(url, { ...opts, headers: { ...opts?.headers, Authorization: `Bearer ${token}`, "Content-Type": "application/json" } }),
|
|
28
32
|
[token]);
|
|
@@ -36,6 +40,15 @@ export function Settings({ token, onLogout }: { token: string; onLogout: () => v
|
|
|
36
40
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
37
41
|
}, []);
|
|
38
42
|
|
|
43
|
+
// Probe agent readiness on mount (best-effort; failures leave readiness null).
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
authFetch("/api/agent/readiness")
|
|
46
|
+
.then((r) => r.ok ? r.json() : null)
|
|
47
|
+
.then((data) => { if (data) setReadiness(data); })
|
|
48
|
+
.catch(() => {});
|
|
49
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50
|
+
}, []);
|
|
51
|
+
|
|
39
52
|
const handleRegisterAgent = async () => {
|
|
40
53
|
if (!agentName.trim()) { setRegisterError("Agent name is required"); return; }
|
|
41
54
|
if (!agentDescription.trim()) { setRegisterError("Description is required"); return; }
|
|
@@ -203,6 +216,56 @@ export function Settings({ token, onLogout }: { token: string; onLogout: () => v
|
|
|
203
216
|
)}
|
|
204
217
|
</div>
|
|
205
218
|
|
|
219
|
+
{/* Agent Providers (CLI readiness — detection only) */}
|
|
220
|
+
<div className="border-border rounded border p-4" data-testid="provider-readiness">
|
|
221
|
+
<h3 className="text-accent mb-3 text-xs font-bold uppercase tracking-wider">Agent Providers</h3>
|
|
222
|
+
<div className="space-y-2">
|
|
223
|
+
<div className="flex items-center justify-between">
|
|
224
|
+
<span className="text-foreground text-sm">Claude</span>
|
|
225
|
+
<span className="text-muted text-xs">
|
|
226
|
+
{readiness?.claude.installed ? "Installed" : "Not detected"}
|
|
227
|
+
</span>
|
|
228
|
+
</div>
|
|
229
|
+
<div className="flex items-center justify-between">
|
|
230
|
+
<span className="text-foreground text-sm">Codex</span>
|
|
231
|
+
<span className="text-muted text-xs">
|
|
232
|
+
{readiness?.codex.installed ? "Installed" : "Not detected"}
|
|
233
|
+
</span>
|
|
234
|
+
</div>
|
|
235
|
+
<div className="flex items-center justify-between">
|
|
236
|
+
<span className="text-foreground text-sm">Codex version</span>
|
|
237
|
+
<span className="text-muted text-xs font-mono">
|
|
238
|
+
{readiness?.codex.version ?? "—"}
|
|
239
|
+
</span>
|
|
240
|
+
</div>
|
|
241
|
+
<div className="flex items-center justify-between">
|
|
242
|
+
<span className="text-foreground text-sm">Image generation</span>
|
|
243
|
+
<span className="text-muted text-xs">
|
|
244
|
+
{readiness?.codex.imageGeneration ?? "unknown"}
|
|
245
|
+
</span>
|
|
246
|
+
</div>
|
|
247
|
+
<div className="flex items-center justify-between">
|
|
248
|
+
<span className="text-foreground text-sm">Codex auth</span>
|
|
249
|
+
<span className="text-muted text-xs" data-testid="codex-auth-status">
|
|
250
|
+
{readiness?.codex.installed ? (readiness.codex.auth === "ok" ? "ok" : "unclear") : "—"}
|
|
251
|
+
</span>
|
|
252
|
+
</div>
|
|
253
|
+
{isCodexAuthUnclear(readiness) && (
|
|
254
|
+
<p className="text-[11px] text-amber-700" data-testid="codex-auth-unknown-settings">
|
|
255
|
+
{CODEX_AUTH_UNCLEAR_MESSAGE}
|
|
256
|
+
</p>
|
|
257
|
+
)}
|
|
258
|
+
<div className="flex items-center justify-between">
|
|
259
|
+
<span className="text-foreground text-sm">Last checked</span>
|
|
260
|
+
<span className="text-muted text-xs">
|
|
261
|
+
{readiness?.checkedAt
|
|
262
|
+
? new Date(readiness.checkedAt).toLocaleString()
|
|
263
|
+
: "—"}
|
|
264
|
+
</span>
|
|
265
|
+
</div>
|
|
266
|
+
</div>
|
|
267
|
+
</div>
|
|
268
|
+
|
|
206
269
|
{/* Link to PlotLink */}
|
|
207
270
|
<div className="border-border rounded border p-4">
|
|
208
271
|
<h3 className="text-accent mb-3 text-xs font-bold uppercase tracking-wider">Link to PlotLink</h3>
|