@nodaro/sdk 2.25.0 → 2.27.0
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 +2 -1
- package/dist/index.cjs +191 -69
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +380 -20
- package/dist/index.d.ts +380 -20
- package/dist/index.js +135 -12
- package/dist/index.js.map +1 -1
- package/dist/signup-signals.cjs +88 -0
- package/dist/signup-signals.cjs.map +1 -0
- package/dist/signup-signals.d.cts +55 -0
- package/dist/signup-signals.d.ts +55 -0
- package/dist/signup-signals.js +82 -0
- package/dist/signup-signals.js.map +1 -0
- package/package.json +14 -3
package/README.md
CHANGED
|
@@ -116,7 +116,8 @@ Voice / audio surface (client.voices, client.media, client.audio):
|
|
|
116
116
|
inspect speakers before paying, mix stems before rendering.
|
|
117
117
|
- Also: voices.change (single-voice), design / remix / dub;
|
|
118
118
|
client.media.downloadVideo (+downloadVideoProgress SSE) / trimVideo /
|
|
119
|
-
trimAudio / videoMetadata; client.audio.separate / isolate /
|
|
119
|
+
trimAudio / splitMedia / videoMetadata; client.audio.separate / isolate /
|
|
120
|
+
applyFx / mix.
|
|
120
121
|
|
|
121
122
|
Rules:
|
|
122
123
|
- Generations cost credits; catch InsufficientCreditsError (has .required /
|
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var workflow = require('@nodaro/shared/workflow');
|
|
4
|
+
var nodes = require('@nodaro/shared/nodes');
|
|
5
|
+
var social = require('@nodaro/shared/social');
|
|
6
|
+
var scene3d = require('@nodaro/shared/scene3d');
|
|
7
|
+
var person = require('@nodaro/prompts/person');
|
|
8
|
+
var entities = require('@nodaro/shared/entities');
|
|
9
|
+
var edl = require('@nodaro/shared/edl');
|
|
10
|
+
var organizations = require('@nodaro/shared/organizations');
|
|
11
|
+
var apps = require('@nodaro/shared/apps');
|
|
5
12
|
|
|
6
13
|
// src/binary-response.ts
|
|
7
14
|
async function readBinaryResponse(response, maxBytes) {
|
|
@@ -112,6 +119,19 @@ var StudioOpError = class extends NodaroError {
|
|
|
112
119
|
}
|
|
113
120
|
opIndex;
|
|
114
121
|
};
|
|
122
|
+
var CONTINUATION_REFUSAL_CODES = /* @__PURE__ */ new Set([
|
|
123
|
+
"already_running",
|
|
124
|
+
"continuation_superseded",
|
|
125
|
+
"render_final_already_rendered"
|
|
126
|
+
]);
|
|
127
|
+
var ContinuationRefusedError = class extends NodaroError {
|
|
128
|
+
constructor(message, code, jobId) {
|
|
129
|
+
super(message, code, 409);
|
|
130
|
+
this.jobId = jobId;
|
|
131
|
+
this.name = "ContinuationRefusedError";
|
|
132
|
+
}
|
|
133
|
+
jobId;
|
|
134
|
+
};
|
|
115
135
|
var JobBlockedError = class extends NodaroError {
|
|
116
136
|
constructor(message = "Blocked by this deployment's content policy") {
|
|
117
137
|
super(message, "job_blocked", 422);
|
|
@@ -184,12 +204,15 @@ function throwFromResponse(status, body) {
|
|
|
184
204
|
if (status >= 400 && status < 500 && typeof body.error?.opIndex === "number") {
|
|
185
205
|
throw new StudioOpError(message, code, status, body.error.opIndex);
|
|
186
206
|
}
|
|
207
|
+
if (status === 409 && CONTINUATION_REFUSAL_CODES.has(code) && typeof body.jobId === "string") {
|
|
208
|
+
throw new ContinuationRefusedError(message, code, body.jobId);
|
|
209
|
+
}
|
|
187
210
|
if (status === 422 && code === "job_blocked") throw new JobBlockedError(message);
|
|
188
211
|
if (status === 403 && code === "insufficient_scope") {
|
|
189
212
|
throw new ForbiddenError(message, body.error?.missingScope);
|
|
190
213
|
}
|
|
191
214
|
if (status === 403) throw new ForbiddenError(message);
|
|
192
|
-
if (status === 404) throw new NotFoundError(message);
|
|
215
|
+
if (status === 404) throw new NotFoundError(body.error?.message ?? (typeof body.message === "string" ? body.message : void 0));
|
|
193
216
|
if (status === 429) throw new RateLimitedError(message);
|
|
194
217
|
if (status === 402) {
|
|
195
218
|
throw new InsufficientCreditsError(message, body.error?.required, body.error?.available);
|
|
@@ -539,8 +562,6 @@ var ExecutionsResource = class {
|
|
|
539
562
|
);
|
|
540
563
|
}
|
|
541
564
|
};
|
|
542
|
-
|
|
543
|
-
// src/resources/nodes.ts
|
|
544
565
|
var DEFAULT_POLL_MS = 2e3;
|
|
545
566
|
var DEFAULT_MAX_MS = 15 * 60 * 1e3;
|
|
546
567
|
var sleep = (ms, signal) => new Promise((resolve, reject) => {
|
|
@@ -558,6 +579,10 @@ var sleep = (ms, signal) => new Promise((resolve, reject) => {
|
|
|
558
579
|
}
|
|
559
580
|
signal?.addEventListener("abort", onAbort, { once: true });
|
|
560
581
|
});
|
|
582
|
+
function notRunnable(type, why) {
|
|
583
|
+
return new NodaroError(`Node type "${type}" has no route of its own to run it directly: ${why}.`, "node_not_runnable", 0);
|
|
584
|
+
}
|
|
585
|
+
var isRouteNotFound = (err) => err instanceof NotFoundError && /^Route\b.*\bnot found\b/i.test(err.message);
|
|
561
586
|
function extractJobId(result, label) {
|
|
562
587
|
if (result && typeof result === "object" && "jobId" in result) {
|
|
563
588
|
const jobId = result.jobId;
|
|
@@ -579,13 +604,20 @@ var NodesResource = class {
|
|
|
579
604
|
return this.client.request("GET", `/v1/nodes/${encodeURIComponent(type)}`);
|
|
580
605
|
}
|
|
581
606
|
run(type, params = {}, options = {}) {
|
|
582
|
-
const route = type === "
|
|
607
|
+
const route = type === "render-video" && typeof params.planType === "string" ? "/v1/render-video/plan" : nodes.nodeRunRoute(type);
|
|
608
|
+
if (!route) return Promise.reject(notRunnable(type, nodes.NODE_TYPES_WITHOUT_RUN_ROUTE[type]));
|
|
609
|
+
const platform = social.SOCIAL_POST_NODE_PLATFORM[type];
|
|
610
|
+
const body = platform && params.platform === void 0 ? { ...params, platform } : params;
|
|
611
|
+
const conventional = !Object.prototype.hasOwnProperty.call(nodes.NODE_RUN_ROUTES, type);
|
|
583
612
|
return this.client.request("POST", route, {
|
|
584
|
-
body
|
|
613
|
+
body,
|
|
585
614
|
// Transport-level retry safety, opt-in per call. The platform reads the
|
|
586
615
|
// standard header, so a caller that reuses a key on a retry gets the
|
|
587
616
|
// same run back instead of a second charge.
|
|
588
617
|
...options.idempotencyKey ? { headers: { "Idempotency-Key": options.idempotencyKey } } : {}
|
|
618
|
+
}).catch((err) => {
|
|
619
|
+
if (conventional && isRouteNotFound(err)) throw notRunnable(type, "it runs only inside a workflow (client.workflows.run)");
|
|
620
|
+
throw err;
|
|
589
621
|
});
|
|
590
622
|
}
|
|
591
623
|
async runAndWait(type, params = {}, opts = {}) {
|
|
@@ -702,7 +734,7 @@ var Scene3DResource = class {
|
|
|
702
734
|
if (SCENE3D_DELIVERY_ASSET_USAGE[asset.kind] !== asset.usage) {
|
|
703
735
|
throw new Error("This asset is not available through the delivery endpoint");
|
|
704
736
|
}
|
|
705
|
-
if (!Number.isSafeInteger(asset.byteLength) || asset.byteLength < 1 || asset.byteLength >
|
|
737
|
+
if (!Number.isSafeInteger(asset.byteLength) || asset.byteLength < 1 || asset.byteLength > scene3d.SCENE3D_V2_LIMITS.maxRendererAssetBytes) {
|
|
706
738
|
throw new Error("Invalid scene delivery asset byte length");
|
|
707
739
|
}
|
|
708
740
|
return this.client.requestBytes("GET", `/v1/3d-scene/deliveries/${encodeURIComponent(jobId)}/assets/${encodeURIComponent(asset.assetId)}`, {
|
|
@@ -742,7 +774,7 @@ var Scene3DResource = class {
|
|
|
742
774
|
if (!["glb", "camera-track-json", "poster", "validation-report"].includes(asset.kind)) {
|
|
743
775
|
throw new Error("This asset is not available through the playback endpoint");
|
|
744
776
|
}
|
|
745
|
-
if (!Number.isSafeInteger(asset.byteLength) || asset.byteLength < 1 || asset.byteLength >
|
|
777
|
+
if (!Number.isSafeInteger(asset.byteLength) || asset.byteLength < 1 || asset.byteLength > scene3d.SCENE3D_V2_LIMITS.maxRendererAssetBytes) {
|
|
746
778
|
throw new Error("Invalid scene asset byte length");
|
|
747
779
|
}
|
|
748
780
|
return this.client.requestBytes("GET", `/v1/3d-scene/revisions/${encodeURIComponent(revisionId)}/assets/${encodeURIComponent(asset.assetId)}`, {
|
|
@@ -754,7 +786,7 @@ var Scene3DResource = class {
|
|
|
754
786
|
sourceBytes(revisionId, options) {
|
|
755
787
|
return this.client.requestBytes("GET", `/v1/3d-scene/revisions/${encodeURIComponent(revisionId)}/source`, {
|
|
756
788
|
signal: options?.signal,
|
|
757
|
-
maxBytes:
|
|
789
|
+
maxBytes: scene3d.SCENE3D_V2_LIMITS.maxBlendSourceBytes
|
|
758
790
|
});
|
|
759
791
|
}
|
|
760
792
|
generate(params) {
|
|
@@ -1154,7 +1186,7 @@ var CharactersResource = class {
|
|
|
1154
1186
|
}
|
|
1155
1187
|
};
|
|
1156
1188
|
function buildPersonSeedPrompt(value) {
|
|
1157
|
-
return
|
|
1189
|
+
return person.buildPersonHints(value).join(", ");
|
|
1158
1190
|
}
|
|
1159
1191
|
var LocationsResource = class {
|
|
1160
1192
|
constructor(client) {
|
|
@@ -2386,6 +2418,20 @@ var MediaResource = class {
|
|
|
2386
2418
|
trimAudio(input) {
|
|
2387
2419
|
return this.client.request("POST", "/v1/trim-audio", { body: input });
|
|
2388
2420
|
}
|
|
2421
|
+
/**
|
|
2422
|
+
* Cut a video and/or an audio file into consecutive parts
|
|
2423
|
+
* (`POST /v1/split-media`). Every part is at most `chunkDuration` seconds and
|
|
2424
|
+
* at least `minPartDuration` (default 4, never above `chunkDuration`) — a
|
|
2425
|
+
* short leftover is evened out with the parts before it. Video is cut on
|
|
2426
|
+
* whole frames with each part's sound matching its picture; audio parts are
|
|
2427
|
+
* sample-exact, in `audioFormat` (`mp3` default / `wav` / `aac`). With both
|
|
2428
|
+
* sources each is split on its own. At most 200 parts per input. Poll
|
|
2429
|
+
* `jobs.get(jobId)`; the parts are on the completed job's `output_data` —
|
|
2430
|
+
* see {@link SplitMediaOutput}.
|
|
2431
|
+
*/
|
|
2432
|
+
splitMedia(input) {
|
|
2433
|
+
return this.client.request("POST", "/v1/split-media", { body: input });
|
|
2434
|
+
}
|
|
2389
2435
|
/**
|
|
2390
2436
|
* Turn one still image + one audio track into an MP4
|
|
2391
2437
|
* (`POST /v1/still-to-video`) — locally rendered (FFmpeg), no AI model,
|
|
@@ -2513,7 +2559,10 @@ var AudioResource = class {
|
|
|
2513
2559
|
* `ratio` (1–20, overrides `amount`), `attackMs` (1–2000, default 20) and
|
|
2514
2560
|
* `releaseMs` (10–9000, default 500) are optional fine controls. A ducked mix
|
|
2515
2561
|
* sums its tracks rather than averaging them, so the voice keeps its level;
|
|
2516
|
-
* the price is the same with or without a duck.
|
|
2562
|
+
* the price is the same with or without a duck. `endAt` (`"longest"`, the
|
|
2563
|
+
* default, or `"voice"`) says where the mix ends: `"voice"` ends it when the
|
|
2564
|
+
* voice (the `duck.under` track) ends (needs `duck`). A video URL is a track
|
|
2565
|
+
* too: its audio is mixed, and a video with no sound is a silent track.
|
|
2517
2566
|
*/
|
|
2518
2567
|
mix(input) {
|
|
2519
2568
|
return this.client.request("POST", "/v1/mix-audio", { body: input });
|
|
@@ -2590,6 +2639,18 @@ var CreditsResource = class {
|
|
|
2590
2639
|
);
|
|
2591
2640
|
return res.data;
|
|
2592
2641
|
}
|
|
2642
|
+
/**
|
|
2643
|
+
* `GET /v1/credits/transactions` → one page of the caller's credit
|
|
2644
|
+
* transactions, newest first, with `nextCursor` for the next page (`null`
|
|
2645
|
+
* at the end). Read `credits_charged` for what each run cost — it can be
|
|
2646
|
+
* below the hold (`credits_reserved`) and is `null` while the hold is open.
|
|
2647
|
+
* Cloud-only route: a self-hosted instance answers 404.
|
|
2648
|
+
*/
|
|
2649
|
+
transactions(options = {}) {
|
|
2650
|
+
return this.client.request("GET", "/v1/credits/transactions", {
|
|
2651
|
+
query: { limit: options.limit, cursor: options.cursor }
|
|
2652
|
+
});
|
|
2653
|
+
}
|
|
2593
2654
|
/**
|
|
2594
2655
|
* `POST /v1/credits/model-costs` → per-identifier credit cost, for editor
|
|
2595
2656
|
* cost previews. Capped at the first {@link MODEL_COSTS_LIMIT} identifiers
|
|
@@ -2601,6 +2662,23 @@ var CreditsResource = class {
|
|
|
2601
2662
|
body: { models: ids.slice(0, MODEL_COSTS_LIMIT) }
|
|
2602
2663
|
});
|
|
2603
2664
|
}
|
|
2665
|
+
/**
|
|
2666
|
+
* `POST /v1/credits/claim-signup-grant` → claims the account's free signup
|
|
2667
|
+
* grant, once, with the browser signals of the page making the claim.
|
|
2668
|
+
*
|
|
2669
|
+
* Call it once per page load as soon as the session is known, and never
|
|
2670
|
+
* wait on it for rendering: it is idempotent (a decided account answers
|
|
2671
|
+
* with its state and `granted: false`), it costs the user nothing when it
|
|
2672
|
+
* fails (the next load asks again), and the signals are what make the
|
|
2673
|
+
* claim worth sending — collect them with `collectSignupKeys()` from
|
|
2674
|
+
* `@nodaro/sdk/signup-signals` and pass whatever came back, `{}` included.
|
|
2675
|
+
* Cloud-only route: a self-hosted instance answers 404.
|
|
2676
|
+
*/
|
|
2677
|
+
claimSignupGrant(keys = {}) {
|
|
2678
|
+
return this.client.request("POST", "/v1/credits/claim-signup-grant", {
|
|
2679
|
+
body: keys
|
|
2680
|
+
});
|
|
2681
|
+
}
|
|
2604
2682
|
// NOTE: no `estimate(...)` helper. The backend exposes
|
|
2605
2683
|
// `POST /v1/credits/estimate-workflow` (body `{ nodes }` → `{ data: {
|
|
2606
2684
|
// totalCredits, nodeCount } }`), but no consumer has a settled shape for it
|
|
@@ -3915,6 +3993,13 @@ var WorkspacesResource = class {
|
|
|
3915
3993
|
return this.client.requestText("GET", `/v1/workspaces/${encodeURIComponent(id)}/usage`, { query: { ...opts, format: "csv" } });
|
|
3916
3994
|
}
|
|
3917
3995
|
};
|
|
3996
|
+
function tightenBody(input) {
|
|
3997
|
+
const { mediaUrl, ...rest } = input;
|
|
3998
|
+
return { mediaUrls: [mediaUrl], ...Object.fromEntries(Object.entries(rest).filter(([, v]) => v !== void 0)) };
|
|
3999
|
+
}
|
|
4000
|
+
function idempotencyHeaders(options) {
|
|
4001
|
+
return options?.idempotencyKey ? { headers: { "Idempotency-Key": options.idempotencyKey } } : {};
|
|
4002
|
+
}
|
|
3918
4003
|
var EditResource = class {
|
|
3919
4004
|
constructor(client) {
|
|
3920
4005
|
this.client = client;
|
|
@@ -3974,6 +4059,42 @@ var EditResource = class {
|
|
|
3974
4059
|
}
|
|
3975
4060
|
});
|
|
3976
4061
|
}
|
|
4062
|
+
/**
|
|
4063
|
+
* Tighten Episode (`POST /v1/tighten-episode`): tighten a podcast recording
|
|
4064
|
+
* in one call — transcribe, cut the silences and filler, render, with
|
|
4065
|
+
* optional captions, music and framing. Answers the run's job to poll; its
|
|
4066
|
+
* `output_data` holds the episode. The run is priced as its steps at their own
|
|
4067
|
+
* rates plus the listed per-run fee. Quote it first with
|
|
4068
|
+
* {@link estimateTightenEpisode}.
|
|
4069
|
+
*/
|
|
4070
|
+
tightenEpisode(input, options) {
|
|
4071
|
+
return this.client.request("POST", "/v1/tighten-episode", { body: tightenBody(input), ...idempotencyHeaders(options) });
|
|
4072
|
+
}
|
|
4073
|
+
/**
|
|
4074
|
+
* What a Tighten Episode run is estimated at (`POST /v1/tighten-episode/estimate`):
|
|
4075
|
+
* its steps at their own rates plus its per-run fee. Nothing is created or
|
|
4076
|
+
* charged. The estimate leans high: the render is priced at the recording's
|
|
4077
|
+
* full length, while the charge follows the minutes actually rendered.
|
|
4078
|
+
*/
|
|
4079
|
+
estimateTightenEpisode(input) {
|
|
4080
|
+
return this.client.request("POST", "/v1/tighten-episode/estimate", { body: tightenBody(input) });
|
|
4081
|
+
}
|
|
4082
|
+
/**
|
|
4083
|
+
* Continue a Tighten Episode run as a new job (`POST /v1/tighten-episode/continue`):
|
|
4084
|
+
* `"from-failed"` keeps the steps that finished and runs the rest (the fee is
|
|
4085
|
+
* held again; the failed run's was refunded); `"render-final"` renders the
|
|
4086
|
+
* full-quality episode after a review-on preview, with the preview's
|
|
4087
|
+
* settings and no fee. A refusal that names another job
|
|
4088
|
+
* (`already_running`, `continuation_superseded`,
|
|
4089
|
+
* `render_final_already_rendered`) throws a `ContinuationRefusedError`
|
|
4090
|
+
* carrying that `jobId`.
|
|
4091
|
+
*/
|
|
4092
|
+
continueUseCase(input, options) {
|
|
4093
|
+
return this.client.request("POST", "/v1/tighten-episode/continue", {
|
|
4094
|
+
body: { jobId: input.jobId, mode: input.mode, ...input.editedEdl !== void 0 ? { editedEdl: input.editedEdl } : {} },
|
|
4095
|
+
...idempotencyHeaders(options)
|
|
4096
|
+
});
|
|
4097
|
+
}
|
|
3977
4098
|
/**
|
|
3978
4099
|
* Plan a transcript-driven cut (`POST /v1/edit-plan`). Reads a timed
|
|
3979
4100
|
* transcript (plus optional silence ranges) and the media sources, and plans
|
|
@@ -3986,12 +4107,12 @@ var EditResource = class {
|
|
|
3986
4107
|
* on nodaro.ai it runs directly.
|
|
3987
4108
|
*/
|
|
3988
4109
|
editPlan(input) {
|
|
3989
|
-
const planned =
|
|
4110
|
+
const planned = edl.resolveEditPlanSources(input.sources, {
|
|
3990
4111
|
offsets: input.offsets,
|
|
3991
4112
|
transcriptSourceId: input.transcriptSourceId
|
|
3992
4113
|
});
|
|
3993
4114
|
if (!planned.ok) {
|
|
3994
|
-
const message = planned.issues.map((issue) =>
|
|
4115
|
+
const message = planned.issues.map((issue) => edl.describeAudioSyncOffsetIssue(issue)).join("; ");
|
|
3995
4116
|
return Promise.reject(new NodaroError(`editPlan: ${message}`, "edit_plan_sources", 400));
|
|
3996
4117
|
}
|
|
3997
4118
|
const transcript = planned.transcriptSourceId ? { ...input.transcript, sourceId: planned.transcriptSourceId } : input.transcript;
|
|
@@ -4021,7 +4142,7 @@ var EditResource = class {
|
|
|
4021
4142
|
* a {@link NodaroError} (`code: "no_speakers"`) before any request or charge.
|
|
4022
4143
|
*/
|
|
4023
4144
|
cameraSwitch(input) {
|
|
4024
|
-
if (
|
|
4145
|
+
if (edl.transcriptSpeakerLabels(input.transcript).length === 0) {
|
|
4025
4146
|
return Promise.reject(new NodaroError(
|
|
4026
4147
|
"cameraSwitch: the transcript has no speaker labels \u2014 transcribe with speaker detection on",
|
|
4027
4148
|
"no_speakers",
|
|
@@ -4050,11 +4171,11 @@ var EditResource = class {
|
|
|
4050
4171
|
* clipping straddlers. Runs `@nodaro/shared`'s canonical
|
|
4051
4172
|
* `remapTranscriptThroughEdl`, the same remap `applyEdl` performs server-side.
|
|
4052
4173
|
*/
|
|
4053
|
-
remapTranscript(edl, transcript) {
|
|
4054
|
-
return
|
|
4174
|
+
remapTranscript(edl$1, transcript) {
|
|
4175
|
+
return edl.remapTranscriptThroughEdl(edl$1, transcript);
|
|
4055
4176
|
}
|
|
4056
4177
|
};
|
|
4057
|
-
var SDK_VERSION = "2.
|
|
4178
|
+
var SDK_VERSION = "2.27.0" ;
|
|
4058
4179
|
var CLIENT_HEADER = "X-Nodaro-Client";
|
|
4059
4180
|
var isBrowser = () => typeof window !== "undefined" && typeof window.document !== "undefined";
|
|
4060
4181
|
var NodaroClient = class _NodaroClient {
|
|
@@ -4205,7 +4326,7 @@ var NodaroClient = class _NodaroClient {
|
|
|
4205
4326
|
...this.sendClientHeader ? { [CLIENT_HEADER]: this.clientLabel } : {},
|
|
4206
4327
|
// Before per-request headers: a resource that needs to reach outside
|
|
4207
4328
|
// this client's workspace says so explicitly and wins.
|
|
4208
|
-
...this.workspaceId ? { [
|
|
4329
|
+
...this.workspaceId ? { [organizations.WORKSPACE_HEADER]: this.workspaceId } : {},
|
|
4209
4330
|
...options.headers ?? {}
|
|
4210
4331
|
};
|
|
4211
4332
|
if (token) headers["Authorization"] = `Bearer ${token}`;
|
|
@@ -4323,105 +4444,105 @@ function supabaseAuth(supabase) {
|
|
|
4323
4444
|
};
|
|
4324
4445
|
}
|
|
4325
4446
|
|
|
4326
|
-
Object.defineProperty(exports, "
|
|
4447
|
+
Object.defineProperty(exports, "OUTPUT_BEARING_NODE_STATUSES", {
|
|
4327
4448
|
enumerable: true,
|
|
4328
|
-
get: function () { return
|
|
4449
|
+
get: function () { return workflow.OUTPUT_BEARING_NODE_STATUSES; }
|
|
4329
4450
|
});
|
|
4330
|
-
Object.defineProperty(exports, "
|
|
4451
|
+
Object.defineProperty(exports, "nodeStateMayCarryOutput", {
|
|
4331
4452
|
enumerable: true,
|
|
4332
|
-
get: function () { return
|
|
4453
|
+
get: function () { return workflow.nodeStateMayCarryOutput; }
|
|
4333
4454
|
});
|
|
4334
|
-
Object.defineProperty(exports, "
|
|
4455
|
+
Object.defineProperty(exports, "PROMPT_PREFIX_KEY", {
|
|
4335
4456
|
enumerable: true,
|
|
4336
|
-
get: function () { return
|
|
4457
|
+
get: function () { return nodes.PROMPT_PREFIX_KEY; }
|
|
4337
4458
|
});
|
|
4338
|
-
Object.defineProperty(exports, "
|
|
4459
|
+
Object.defineProperty(exports, "PROMPT_SUFFIX_KEY", {
|
|
4339
4460
|
enumerable: true,
|
|
4340
|
-
get: function () { return
|
|
4461
|
+
get: function () { return nodes.PROMPT_SUFFIX_KEY; }
|
|
4341
4462
|
});
|
|
4342
|
-
Object.defineProperty(exports, "
|
|
4463
|
+
Object.defineProperty(exports, "PEOPLE", {
|
|
4343
4464
|
enumerable: true,
|
|
4344
|
-
get: function () { return
|
|
4465
|
+
get: function () { return person.PEOPLE; }
|
|
4345
4466
|
});
|
|
4346
|
-
Object.defineProperty(exports, "
|
|
4467
|
+
Object.defineProperty(exports, "PERSON_DIMENSION_LABELS", {
|
|
4347
4468
|
enumerable: true,
|
|
4348
|
-
get: function () { return
|
|
4469
|
+
get: function () { return person.PERSON_DIMENSION_LABELS; }
|
|
4349
4470
|
});
|
|
4350
|
-
Object.defineProperty(exports, "
|
|
4471
|
+
Object.defineProperty(exports, "PERSON_DIMENSION_ORDER", {
|
|
4351
4472
|
enumerable: true,
|
|
4352
|
-
get: function () { return
|
|
4473
|
+
get: function () { return person.PERSON_DIMENSION_ORDER; }
|
|
4353
4474
|
});
|
|
4354
|
-
Object.defineProperty(exports, "
|
|
4475
|
+
Object.defineProperty(exports, "buildPersonHints", {
|
|
4355
4476
|
enumerable: true,
|
|
4356
|
-
get: function () { return
|
|
4477
|
+
get: function () { return person.buildPersonHints; }
|
|
4357
4478
|
});
|
|
4358
|
-
Object.defineProperty(exports, "
|
|
4479
|
+
Object.defineProperty(exports, "CHARACTER_ASPECT_DEFAULTS", {
|
|
4359
4480
|
enumerable: true,
|
|
4360
|
-
get: function () { return
|
|
4481
|
+
get: function () { return entities.CHARACTER_ASPECT_DEFAULTS; }
|
|
4361
4482
|
});
|
|
4362
|
-
Object.defineProperty(exports, "
|
|
4483
|
+
Object.defineProperty(exports, "CHARACTER_ASPECT_OPTIONS", {
|
|
4363
4484
|
enumerable: true,
|
|
4364
|
-
get: function () { return
|
|
4485
|
+
get: function () { return entities.CHARACTER_ASPECT_OPTIONS; }
|
|
4365
4486
|
});
|
|
4366
|
-
Object.defineProperty(exports, "
|
|
4487
|
+
Object.defineProperty(exports, "CHARACTER_STYLES", {
|
|
4367
4488
|
enumerable: true,
|
|
4368
|
-
get: function () { return
|
|
4489
|
+
get: function () { return entities.CHARACTER_STYLES; }
|
|
4369
4490
|
});
|
|
4370
|
-
Object.defineProperty(exports, "
|
|
4491
|
+
Object.defineProperty(exports, "CREATURE_ASPECT_DEFAULTS", {
|
|
4371
4492
|
enumerable: true,
|
|
4372
|
-
get: function () { return
|
|
4493
|
+
get: function () { return entities.OBJECT_ASPECT_DEFAULTS; }
|
|
4373
4494
|
});
|
|
4374
|
-
Object.defineProperty(exports, "
|
|
4495
|
+
Object.defineProperty(exports, "CREATURE_ASPECT_OPTIONS", {
|
|
4375
4496
|
enumerable: true,
|
|
4376
|
-
get: function () { return
|
|
4497
|
+
get: function () { return entities.OBJECT_ASPECT_OPTIONS; }
|
|
4377
4498
|
});
|
|
4378
|
-
Object.defineProperty(exports, "
|
|
4499
|
+
Object.defineProperty(exports, "CREATURE_ATTACH_COLUMNS", {
|
|
4379
4500
|
enumerable: true,
|
|
4380
|
-
get: function () { return
|
|
4501
|
+
get: function () { return entities.CREATURE_ATTACH_COLUMNS; }
|
|
4381
4502
|
});
|
|
4382
|
-
Object.defineProperty(exports, "
|
|
4503
|
+
Object.defineProperty(exports, "LOCATION_ASSET_TYPES", {
|
|
4383
4504
|
enumerable: true,
|
|
4384
|
-
get: function () { return
|
|
4505
|
+
get: function () { return entities.LOCATION_ASSET_TYPES; }
|
|
4385
4506
|
});
|
|
4386
|
-
Object.defineProperty(exports, "
|
|
4507
|
+
Object.defineProperty(exports, "LOCATION_ATTACH_COLUMNS", {
|
|
4387
4508
|
enumerable: true,
|
|
4388
|
-
get: function () { return
|
|
4509
|
+
get: function () { return entities.LOCATION_ATTACH_COLUMNS; }
|
|
4389
4510
|
});
|
|
4390
|
-
Object.defineProperty(exports, "
|
|
4511
|
+
Object.defineProperty(exports, "OBJECT_ASPECT_DEFAULTS", {
|
|
4391
4512
|
enumerable: true,
|
|
4392
|
-
get: function () { return
|
|
4513
|
+
get: function () { return entities.OBJECT_ASPECT_DEFAULTS; }
|
|
4393
4514
|
});
|
|
4394
|
-
Object.defineProperty(exports, "
|
|
4515
|
+
Object.defineProperty(exports, "OBJECT_ASPECT_OPTIONS", {
|
|
4395
4516
|
enumerable: true,
|
|
4396
|
-
get: function () { return
|
|
4517
|
+
get: function () { return entities.OBJECT_ASPECT_OPTIONS; }
|
|
4397
4518
|
});
|
|
4398
|
-
Object.defineProperty(exports, "
|
|
4519
|
+
Object.defineProperty(exports, "OBJECT_ASSET_TYPES", {
|
|
4399
4520
|
enumerable: true,
|
|
4400
|
-
get: function () { return
|
|
4521
|
+
get: function () { return entities.OBJECT_ASSET_TYPES; }
|
|
4401
4522
|
});
|
|
4402
|
-
Object.defineProperty(exports, "
|
|
4523
|
+
Object.defineProperty(exports, "OBJECT_ATTACH_COLUMNS", {
|
|
4403
4524
|
enumerable: true,
|
|
4404
|
-
get: function () { return
|
|
4525
|
+
get: function () { return entities.OBJECT_ATTACH_COLUMNS; }
|
|
4405
4526
|
});
|
|
4406
|
-
Object.defineProperty(exports, "
|
|
4527
|
+
Object.defineProperty(exports, "SURROUND_DIRECTIONS", {
|
|
4407
4528
|
enumerable: true,
|
|
4408
|
-
get: function () { return
|
|
4529
|
+
get: function () { return entities.SURROUND_DIRECTIONS; }
|
|
4409
4530
|
});
|
|
4410
|
-
Object.defineProperty(exports, "
|
|
4531
|
+
Object.defineProperty(exports, "unwrapEditPlanOutput", {
|
|
4411
4532
|
enumerable: true,
|
|
4412
|
-
get: function () { return
|
|
4533
|
+
get: function () { return edl.unwrapEditPlanOutput; }
|
|
4413
4534
|
});
|
|
4414
|
-
Object.defineProperty(exports, "
|
|
4535
|
+
Object.defineProperty(exports, "USAGE_GROUP_BYS", {
|
|
4415
4536
|
enumerable: true,
|
|
4416
|
-
get: function () { return
|
|
4537
|
+
get: function () { return organizations.USAGE_GROUP_BYS; }
|
|
4417
4538
|
});
|
|
4418
|
-
Object.defineProperty(exports, "
|
|
4539
|
+
Object.defineProperty(exports, "WORKSPACE_HEADER", {
|
|
4419
4540
|
enumerable: true,
|
|
4420
|
-
get: function () { return
|
|
4541
|
+
get: function () { return organizations.WORKSPACE_HEADER; }
|
|
4421
4542
|
});
|
|
4422
|
-
Object.defineProperty(exports, "
|
|
4543
|
+
Object.defineProperty(exports, "RECAST_SEGMENT_PACKS", {
|
|
4423
4544
|
enumerable: true,
|
|
4424
|
-
get: function () { return
|
|
4545
|
+
get: function () { return apps.RECAST_SEGMENT_PACKS; }
|
|
4425
4546
|
});
|
|
4426
4547
|
exports.AppsResource = AppsResource;
|
|
4427
4548
|
exports.AudioResource = AudioResource;
|
|
@@ -4432,6 +4553,7 @@ exports.CharactersResource = CharactersResource;
|
|
|
4432
4553
|
exports.CollectionsResource = CollectionsResource;
|
|
4433
4554
|
exports.CommunityResource = CommunityResource;
|
|
4434
4555
|
exports.CompetitorsResource = CompetitorsResource;
|
|
4556
|
+
exports.ContinuationRefusedError = ContinuationRefusedError;
|
|
4435
4557
|
exports.CopilotResource = CopilotResource;
|
|
4436
4558
|
exports.CreaturesResource = CreaturesResource;
|
|
4437
4559
|
exports.CreditsResource = CreditsResource;
|