@lumenkey/cli 0.3.0 → 0.4.0-rc.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.
- package/README.md +51 -2
- package/dist/cli/copied.js +86 -85
- package/dist/cli/index.js +56 -44
- package/dist/cli/render.js +5 -1
- package/dist/core/asset-stream.d.ts +16 -0
- package/dist/core/asset-stream.js +64 -0
- package/dist/core/atomic-config-file.js +8 -7
- package/dist/core/chinese-messages.d.ts +4 -0
- package/dist/core/chinese-messages.js +907 -0
- package/dist/core/chinese-script.d.ts +7 -0
- package/dist/core/chinese-script.js +28 -0
- package/dist/core/client.js +2 -1
- package/dist/core/config-dir.js +2 -1
- package/dist/core/config.js +7 -6
- package/dist/core/download-root.d.ts +5 -0
- package/dist/core/download-root.js +64 -0
- package/dist/core/download.js +15 -12
- package/dist/core/generation-input.js +3 -2
- package/dist/core/generation.d.ts +8 -1
- package/dist/core/generation.js +13 -10
- package/dist/core/job-display.js +7 -6
- package/dist/core/locale.d.ts +2 -0
- package/dist/core/locale.js +172 -142
- package/dist/core/outcome.d.ts +6 -0
- package/dist/core/outcome.js +17 -4
- package/dist/core/output-path.d.ts +3 -1
- package/dist/core/output-path.js +5 -2
- package/dist/core/params.js +26 -25
- package/dist/core/profiles.js +5 -4
- package/dist/core/set-values.d.ts +0 -1
- package/dist/core/set-values.js +7 -7
- package/dist/core/submission-journal.js +43 -17
- package/dist/core/version.js +2 -3
- package/dist/mcp/server.js +30 -29
- package/dist/studio/asset-integrity-hash.d.ts +28 -0
- package/dist/studio/asset-integrity-hash.js +93 -0
- package/dist/studio/asset-integrity-queue.d.ts +24 -0
- package/dist/studio/asset-integrity-queue.js +94 -0
- package/dist/studio/asset-store.d.ts +52 -0
- package/dist/studio/asset-store.js +352 -0
- package/dist/studio/canvas/LICENSES.txt +1590 -0
- package/dist/studio/canvas/dependencies.json +862 -0
- package/dist/studio/canvas/director-source-manifest.json +47 -0
- package/dist/studio/canvas/editor.css +239 -0
- package/dist/studio/canvas/editor.js +4613 -0
- package/dist/studio/canvas/integration-source-manifest.json +384 -0
- package/dist/studio/canvas/source-manifest.json +240 -0
- package/dist/studio/canvas-store.d.ts +1254 -0
- package/dist/studio/canvas-store.js +205 -0
- package/dist/studio/capture-placement.d.ts +11 -0
- package/dist/studio/capture-placement.js +85 -0
- package/dist/studio/cloud-contract.d.ts +128 -0
- package/dist/studio/cloud-contract.js +229 -0
- package/dist/studio/cloud-service.d.ts +178 -0
- package/dist/studio/cloud-service.js +202 -0
- package/dist/studio/director-captures.d.ts +59 -0
- package/dist/studio/director-captures.js +141 -0
- package/dist/studio/director-contract.d.ts +1489 -0
- package/dist/studio/director-contract.js +288 -0
- package/dist/studio/director-png.d.ts +6 -0
- package/dist/studio/director-png.js +41 -0
- package/dist/studio/director-relations.d.ts +40 -0
- package/dist/studio/director-relations.js +103 -0
- package/dist/studio/document-authority.d.ts +7 -0
- package/dist/studio/document-authority.js +50 -0
- package/dist/studio/draft-store.d.ts +95 -0
- package/dist/studio/draft-store.js +100 -0
- package/dist/studio/errors.d.ts +85 -0
- package/dist/studio/errors.js +94 -0
- package/dist/studio/launch.d.ts +5 -0
- package/dist/studio/launch.js +31 -0
- package/dist/studio/media.d.ts +9 -0
- package/dist/studio/media.js +50 -0
- package/dist/studio/output-save-contract.d.ts +1321 -0
- package/dist/studio/output-save-contract.js +26 -0
- package/dist/studio/output-save-journal.d.ts +971 -0
- package/dist/studio/output-save-journal.js +287 -0
- package/dist/studio/output-save-recovery.d.ts +18 -0
- package/dist/studio/output-save-recovery.js +161 -0
- package/dist/studio/output-save-service.d.ts +436 -0
- package/dist/studio/output-save-service.js +251 -0
- package/dist/studio/output-save-worker.d.ts +40 -0
- package/dist/studio/output-save-worker.js +360 -0
- package/dist/studio/paths.d.ts +6 -0
- package/dist/studio/paths.js +68 -0
- package/dist/studio/run-journal.d.ts +993 -0
- package/dist/studio/run-journal.js +125 -0
- package/dist/studio/server.d.ts +17 -0
- package/dist/studio/server.js +440 -0
- package/dist/studio/session.d.ts +6 -0
- package/dist/studio/session.js +26 -0
- package/dist/studio/shell.d.ts +3 -0
- package/dist/studio/shell.js +23 -0
- package/dist/studio/style.d.ts +2 -0
- package/dist/studio/style.js +29 -0
- package/dist/studio/types.d.ts +26 -0
- package/dist/studio/types.js +2 -0
- package/dist/studio/web/app.d.ts +2 -0
- package/dist/studio/web/app.js +662 -0
- package/dist/studio/web/asset-controller.d.ts +37 -0
- package/dist/studio/web/asset-controller.js +191 -0
- package/dist/studio/web/asset-model.d.ts +29 -0
- package/dist/studio/web/asset-model.js +51 -0
- package/dist/studio/web/controller.d.ts +113 -0
- package/dist/studio/web/controller.js +401 -0
- package/dist/studio/web/messages.d.ts +2 -0
- package/dist/studio/web/messages.js +74 -0
- package/dist/studio/web/model.d.ts +75 -0
- package/dist/studio/web/model.js +182 -0
- package/dist/studio/web/save-controller.d.ts +85 -0
- package/dist/studio/web/save-controller.js +495 -0
- package/dist/studio/web/save-model.d.ts +63 -0
- package/dist/studio/web/save-model.js +64 -0
- package/dist/studio/web/save-queue.d.ts +7 -0
- package/dist/studio/web/save-queue.js +62 -0
- package/dist/studio/web/save-view.d.ts +9 -0
- package/dist/studio/web/save-view.js +19 -0
- package/dist/studio/writer-lock.d.ts +5 -0
- package/dist/studio/writer-lock.js +88 -0
- package/package.json +11 -5
- package/dist/cli/copied.d.ts.map +0 -1
- package/dist/cli/copied.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/render.d.ts.map +0 -1
- package/dist/cli/render.js.map +0 -1
- package/dist/core/atomic-config-file.d.ts.map +0 -1
- package/dist/core/atomic-config-file.js.map +0 -1
- package/dist/core/chat.d.ts.map +0 -1
- package/dist/core/chat.js.map +0 -1
- package/dist/core/client.d.ts.map +0 -1
- package/dist/core/client.js.map +0 -1
- package/dist/core/config-dir.d.ts.map +0 -1
- package/dist/core/config-dir.js.map +0 -1
- package/dist/core/config-error.d.ts.map +0 -1
- package/dist/core/config-error.js.map +0 -1
- package/dist/core/config.d.ts.map +0 -1
- package/dist/core/config.js.map +0 -1
- package/dist/core/credit-cap.d.ts.map +0 -1
- package/dist/core/credit-cap.js.map +0 -1
- package/dist/core/download.d.ts.map +0 -1
- package/dist/core/download.js.map +0 -1
- package/dist/core/error-result.d.ts.map +0 -1
- package/dist/core/error-result.js.map +0 -1
- package/dist/core/explain.d.ts.map +0 -1
- package/dist/core/explain.js.map +0 -1
- package/dist/core/generation-input.d.ts.map +0 -1
- package/dist/core/generation-input.js.map +0 -1
- package/dist/core/generation-result.d.ts.map +0 -1
- package/dist/core/generation-result.js.map +0 -1
- package/dist/core/generation.d.ts.map +0 -1
- package/dist/core/generation.js.map +0 -1
- package/dist/core/job-display.d.ts.map +0 -1
- package/dist/core/job-display.js.map +0 -1
- package/dist/core/locale.d.ts.map +0 -1
- package/dist/core/locale.js.map +0 -1
- package/dist/core/origin.d.ts.map +0 -1
- package/dist/core/origin.js.map +0 -1
- package/dist/core/outcome.d.ts.map +0 -1
- package/dist/core/outcome.js.map +0 -1
- package/dist/core/output-path.d.ts.map +0 -1
- package/dist/core/output-path.js.map +0 -1
- package/dist/core/params.d.ts.map +0 -1
- package/dist/core/params.js.map +0 -1
- package/dist/core/poller.d.ts.map +0 -1
- package/dist/core/poller.js.map +0 -1
- package/dist/core/profiles.d.ts.map +0 -1
- package/dist/core/profiles.js.map +0 -1
- package/dist/core/set-values.d.ts.map +0 -1
- package/dist/core/set-values.js.map +0 -1
- package/dist/core/submission-journal.d.ts.map +0 -1
- package/dist/core/submission-journal.js.map +0 -1
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js.map +0 -1
- package/dist/core/version.d.ts.map +0 -1
- package/dist/core/version.js.map +0 -1
- package/dist/core/wait.d.ts.map +0 -1
- package/dist/core/wait.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/mcp/render.d.ts.map +0 -1
- package/dist/mcp/render.js.map +0 -1
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { uuid, isoDate, errorCode } from './run-journal.js';
|
|
3
|
+
const integer = z.number().int().nonnegative().safe();
|
|
4
|
+
export const saveState = z.enum(['ACCEPTED', 'SAVING', 'SAVED', 'FAILED', 'RECOVERY_REQUIRED', 'BLOCKED']);
|
|
5
|
+
export const saveStage = z.enum(['QUEUED', 'DOWNLOADING', 'FILE_READY', 'REGISTERED', 'LINKED', 'RECONCILING']);
|
|
6
|
+
export const saveFacts = z.object({ file: z.enum(['NOT_CHECKED', 'ABSENT', 'PARTIAL', 'MISSING', 'UNSAFE', 'UNKNOWN']), registration: z.enum(['ABSENT', 'PRESENT', 'UNKNOWN']), relation: z.enum(['ABSENT', 'PRESENT', 'UNKNOWN']) }).strict();
|
|
7
|
+
const diagnostic = z.object({ code: errorCode, message: z.string().max(1000), type: z.string().max(80), httpStatus: z.number().int().min(400).max(599).optional(), retryable: z.boolean(), mayAlreadyBeSaved: z.boolean().nullable() }).strict();
|
|
8
|
+
const asset = z.object({ assetId: uuid, displayName: z.string().min(1).max(300), mediaType: z.enum(['image/png', 'image/jpeg', 'image/webp', 'video/mp4', 'video/webm']), byteLength: integer.positive(), sha256: z.string().regex(/^[a-f0-9]{64}$/), relativePath: z.string().min(1), absolutePath: z.string().min(1), contentUrl: z.string().min(1) }).strict();
|
|
9
|
+
export const saveMutable = z.object({ state: saveState, stage: saveStage, attempt: integer, facts: saveFacts, asset: asset.nullable(), error: diagnostic.nullable(), retryable: z.boolean(), safeRetry: z.boolean(), mayAlreadyBeSaved: z.boolean().nullable(), checkedAt: z.null() }).strict();
|
|
10
|
+
// Ordinary writers retain the p2 restrictions above. Only the integrity proof
|
|
11
|
+
// path may publish these additive p3 observation fields. Progress is volatile.
|
|
12
|
+
export const integrityFact = z.enum(['NOT_CHECKED', 'ABSENT', 'PARTIAL', 'VERIFIED', 'MISSING', 'MODIFIED', 'UNSAFE', 'UNKNOWN']);
|
|
13
|
+
export const saveReceiptSnapshot = saveMutable.extend({ facts: saveFacts.extend({ file: integrityFact }), checkedAt: isoDate.nullable(), integrityCheck: z.enum(['IDLE', 'PENDING']).default('IDLE'), operationId: uuid, revision: integer.positive(), localOutputId: uuid, runId: uuid, jobId: uuid, gatewayAssetId: uuid, createdAt: isoDate, updatedAt: isoDate }).strict();
|
|
14
|
+
// Private transport evidence: committed before publishing bytes, never sent on HTTP.
|
|
15
|
+
export const saveTransfer = z.object({ temporaryName: z.string().regex(/^[a-f0-9-]{36}\.\d+\.part$/), owner: z.object({ dev: z.string().regex(/^\d+$/), ino: z.string().regex(/^[1-9]\d*$/), birthtimeMs: z.number().nonnegative().finite() }).strict().optional(), completed: z.object({ mediaType: asset.shape.mediaType, byteLength: integer.positive(), sha256: asset.shape.sha256, relativePath: z.string() }).strict().optional() }).strict();
|
|
16
|
+
export const saveOperation = z.object({ connectionId: uuid, requestIds: z.array(uuid).min(1).max(1000).refine(v => new Set(v).size === v.length), assetId: uuid, executionRevision: integer.positive().default(1), transfer: saveTransfer.optional(), receipt: saveReceiptSnapshot }).strict().refine(o => {
|
|
17
|
+
// Local reconciliation increments the execution attempt but retains the byte
|
|
18
|
+
// owner's original temp identity. It cannot adopt a future/zero attempt.
|
|
19
|
+
const ownerAttempt = o.transfer ? Number(o.transfer.temporaryName.split('.').at(-2)) : 0;
|
|
20
|
+
return (!o.transfer || (Number.isSafeInteger(ownerAttempt) && ownerAttempt > 0 && ownerAttempt <= o.receipt.attempt && o.transfer.temporaryName === `${o.assetId}.${ownerAttempt}.part`)) && (!o.transfer?.completed || o.transfer.completed.relativePath === `assets/${o.assetId}.${{ 'image/png': 'png', 'image/jpeg': 'jpg', 'image/webp': 'webp', 'video/mp4': 'mp4', 'video/webm': 'webm' }[o.transfer.completed.mediaType]}`) && (!o.receipt.asset || o.receipt.asset.assetId === o.assetId) && (o.receipt.facts.file !== 'VERIFIED' || (o.receipt.asset && o.receipt.checkedAt !== null && o.receipt.integrityCheck === 'IDLE')) && (o.receipt.integrityCheck !== 'PENDING' || (o.receipt.facts.file === 'NOT_CHECKED' && !o.receipt.safeRetry)) && (o.receipt.state !== 'SAVED' || (o.receipt.stage === 'LINKED' && o.receipt.asset && o.receipt.facts.registration === 'PRESENT' && o.receipt.facts.relation === 'PRESENT'));
|
|
21
|
+
});
|
|
22
|
+
// Validate schema1 under its actual p2 vocabulary before applying p3 defaults.
|
|
23
|
+
// Otherwise malformed old files could introduce VERIFIED or a stuck PENDING.
|
|
24
|
+
export const legacySaveOperation = saveOperation.innerType().omit({ executionRevision: true }).extend({ receipt: saveReceiptSnapshot.omit({ integrityCheck: true }).extend({ facts: saveFacts, checkedAt: z.null() }).strict() }).strict().refine(o => saveOperation.safeParse(o).success && (o.receipt.state !== 'SAVED' || o.receipt.facts.file === 'NOT_CHECKED'));
|
|
25
|
+
export const saveAcceptInput = z.object({ connectionId: uuid, requestId: uuid, localOutputId: uuid, runId: uuid, jobId: uuid, gatewayAssetId: uuid }).strict();
|
|
26
|
+
//# sourceMappingURL=output-save-contract.js.map
|