@nodetool-ai/runtime 0.8.1 → 0.8.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/.nodetool-build-stamp +1 -1
- package/dist/context.d.ts +31 -3
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +366 -158
- package/dist/context.js.map +1 -1
- package/dist/generation-registry.d.ts +8 -0
- package/dist/generation-registry.d.ts.map +1 -1
- package/dist/generation-registry.js +18 -0
- package/dist/generation-registry.js.map +1 -1
- package/dist/host-binaries.d.ts.map +1 -1
- package/dist/host-binaries.js +18 -10
- package/dist/host-binaries.js.map +1 -1
- package/dist/image-codec.d.ts +2 -0
- package/dist/image-codec.d.ts.map +1 -1
- package/dist/image-codec.js +23 -3
- package/dist/image-codec.js.map +1 -1
- package/dist/image-model-tasks.d.ts +15 -0
- package/dist/image-model-tasks.d.ts.map +1 -0
- package/dist/image-model-tasks.js +24 -0
- package/dist/image-model-tasks.js.map +1 -0
- package/dist/index.d.ts +14 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/media-ref-bytes.d.ts +18 -2
- package/dist/media-ref-bytes.d.ts.map +1 -1
- package/dist/media-ref-bytes.js +26 -16
- package/dist/media-ref-bytes.js.map +1 -1
- package/dist/node-executor.d.ts +6 -0
- package/dist/node-executor.d.ts.map +1 -1
- package/dist/providers/aki-provider.d.ts +2 -0
- package/dist/providers/aki-provider.d.ts.map +1 -1
- package/dist/providers/aki-provider.js +6 -0
- package/dist/providers/aki-provider.js.map +1 -1
- package/dist/providers/atlascloud-provider.d.ts +2 -0
- package/dist/providers/atlascloud-provider.d.ts.map +1 -1
- package/dist/providers/atlascloud-provider.js +22 -0
- package/dist/providers/atlascloud-provider.js.map +1 -1
- package/dist/providers/base-provider.d.ts +36 -24
- package/dist/providers/base-provider.d.ts.map +1 -1
- package/dist/providers/base-provider.js +124 -148
- package/dist/providers/base-provider.js.map +1 -1
- package/dist/providers/claude-agent-provider.d.ts +6 -36
- package/dist/providers/claude-agent-provider.d.ts.map +1 -1
- package/dist/providers/claude-agent-provider.js +208 -26
- package/dist/providers/claude-agent-provider.js.map +1 -1
- package/dist/providers/codex-provider.d.ts +2 -0
- package/dist/providers/codex-provider.d.ts.map +1 -1
- package/dist/providers/codex-provider.js +15 -2
- package/dist/providers/codex-provider.js.map +1 -1
- package/dist/providers/cohere-provider.d.ts +2 -1
- package/dist/providers/cohere-provider.d.ts.map +1 -1
- package/dist/providers/cohere-provider.js +5 -0
- package/dist/providers/cohere-provider.js.map +1 -1
- package/dist/providers/core-tools.d.ts +2 -1
- package/dist/providers/core-tools.d.ts.map +1 -1
- package/dist/providers/core-tools.js +2 -1
- package/dist/providers/core-tools.js.map +1 -1
- package/dist/providers/credential-check.d.ts.map +1 -1
- package/dist/providers/credential-check.js +5 -0
- package/dist/providers/credential-check.js.map +1 -1
- package/dist/providers/custom-openai-provider.d.ts +2 -0
- package/dist/providers/custom-openai-provider.d.ts.map +1 -1
- package/dist/providers/custom-openai-provider.js +8 -0
- package/dist/providers/custom-openai-provider.js.map +1 -1
- package/dist/providers/dreamina-models.d.ts +5 -0
- package/dist/providers/dreamina-models.d.ts.map +1 -0
- package/dist/providers/dreamina-models.js +57 -0
- package/dist/providers/dreamina-models.js.map +1 -0
- package/dist/providers/dreamina-music.d.ts +52 -0
- package/dist/providers/dreamina-music.d.ts.map +1 -0
- package/dist/providers/dreamina-music.js +115 -0
- package/dist/providers/dreamina-music.js.map +1 -0
- package/dist/providers/dreamina-provider.d.ts +62 -0
- package/dist/providers/dreamina-provider.d.ts.map +1 -0
- package/dist/providers/dreamina-provider.js +790 -0
- package/dist/providers/dreamina-provider.js.map +1 -0
- package/dist/providers/elevenlabs-provider.d.ts +2 -1
- package/dist/providers/elevenlabs-provider.d.ts.map +1 -1
- package/dist/providers/elevenlabs-provider.js +5 -0
- package/dist/providers/elevenlabs-provider.js.map +1 -1
- package/dist/providers/evolink-provider.d.ts +2 -0
- package/dist/providers/evolink-provider.d.ts.map +1 -1
- package/dist/providers/evolink-provider.js +8 -0
- package/dist/providers/evolink-provider.js.map +1 -1
- package/dist/providers/fake-provider.d.ts +2 -1
- package/dist/providers/fake-provider.d.ts.map +1 -1
- package/dist/providers/fake-provider.js +10 -0
- package/dist/providers/fake-provider.js.map +1 -1
- package/dist/providers/fal-provider.d.ts +2 -1
- package/dist/providers/fal-provider.d.ts.map +1 -1
- package/dist/providers/fal-provider.js +27 -0
- package/dist/providers/fal-provider.js.map +1 -1
- package/dist/providers/gemini-provider.d.ts +2 -1
- package/dist/providers/gemini-provider.d.ts.map +1 -1
- package/dist/providers/gemini-provider.js +15 -0
- package/dist/providers/gemini-provider.js.map +1 -1
- package/dist/providers/higgsfield-provider.d.ts +2 -1
- package/dist/providers/higgsfield-provider.d.ts.map +1 -1
- package/dist/providers/higgsfield-provider.js +12 -0
- package/dist/providers/higgsfield-provider.js.map +1 -1
- package/dist/providers/huggingface-provider.d.ts +2 -1
- package/dist/providers/huggingface-provider.d.ts.map +1 -1
- package/dist/providers/huggingface-provider.js +10 -0
- package/dist/providers/huggingface-provider.js.map +1 -1
- package/dist/providers/index.d.ts +5 -2
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +13 -2
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/jina-provider.d.ts +2 -1
- package/dist/providers/jina-provider.d.ts.map +1 -1
- package/dist/providers/jina-provider.js +5 -0
- package/dist/providers/jina-provider.js.map +1 -1
- package/dist/providers/kie-provider.d.ts +2 -1
- package/dist/providers/kie-provider.d.ts.map +1 -1
- package/dist/providers/kie-provider.js +14 -0
- package/dist/providers/kie-provider.js.map +1 -1
- package/dist/providers/llama-provider.d.ts +4 -1
- package/dist/providers/llama-provider.d.ts.map +1 -1
- package/dist/providers/llama-provider.js +9 -3
- package/dist/providers/llama-provider.js.map +1 -1
- package/dist/providers/loop-tracing.d.ts +17 -0
- package/dist/providers/loop-tracing.d.ts.map +1 -0
- package/dist/providers/loop-tracing.js +132 -0
- package/dist/providers/loop-tracing.js.map +1 -0
- package/dist/providers/meshy-provider.d.ts +2 -1
- package/dist/providers/meshy-provider.d.ts.map +1 -1
- package/dist/providers/meshy-provider.js +6 -0
- package/dist/providers/meshy-provider.js.map +1 -1
- package/dist/providers/minimax-provider.d.ts +2 -0
- package/dist/providers/minimax-provider.d.ts.map +1 -1
- package/dist/providers/minimax-provider.js +11 -0
- package/dist/providers/minimax-provider.js.map +1 -1
- package/dist/providers/mistral-provider.d.ts +2 -0
- package/dist/providers/mistral-provider.d.ts.map +1 -1
- package/dist/providers/mistral-provider.js +5 -0
- package/dist/providers/mistral-provider.js.map +1 -1
- package/dist/providers/node-llama-cpp-provider.d.ts +2 -1
- package/dist/providers/node-llama-cpp-provider.d.ts.map +1 -1
- package/dist/providers/node-llama-cpp-provider.js +8 -3
- package/dist/providers/node-llama-cpp-provider.js.map +1 -1
- package/dist/providers/nodetool-provider.d.ts +1 -1
- package/dist/providers/nodetool-provider.d.ts.map +1 -1
- package/dist/providers/nodetool-provider.js +0 -2
- package/dist/providers/nodetool-provider.js.map +1 -1
- package/dist/providers/ollama-provider.d.ts +2 -1
- package/dist/providers/ollama-provider.d.ts.map +1 -1
- package/dist/providers/ollama-provider.js +5 -0
- package/dist/providers/ollama-provider.js.map +1 -1
- package/dist/providers/openai-provider.d.ts +10 -2
- package/dist/providers/openai-provider.d.ts.map +1 -1
- package/dist/providers/openai-provider.js +63 -16
- package/dist/providers/openai-provider.js.map +1 -1
- package/dist/providers/openrouter-provider.d.ts +52 -1
- package/dist/providers/openrouter-provider.d.ts.map +1 -1
- package/dist/providers/openrouter-provider.js +372 -11
- package/dist/providers/openrouter-provider.js.map +1 -1
- package/dist/providers/provider-error.d.ts.map +1 -1
- package/dist/providers/provider-error.js +7 -1
- package/dist/providers/provider-error.js.map +1 -1
- package/dist/providers/provider-generations.d.ts +2 -2
- package/dist/providers/provider-generations.js +2 -2
- package/dist/providers/provider-request-log.d.ts.map +1 -1
- package/dist/providers/provider-request-log.js +18 -7
- package/dist/providers/provider-request-log.js.map +1 -1
- package/dist/providers/python-provider.d.ts +6 -1
- package/dist/providers/python-provider.d.ts.map +1 -1
- package/dist/providers/python-provider.js +30 -11
- package/dist/providers/python-provider.js.map +1 -1
- package/dist/providers/replicate-provider.d.ts +2 -1
- package/dist/providers/replicate-provider.d.ts.map +1 -1
- package/dist/providers/replicate-provider.js +22 -0
- package/dist/providers/replicate-provider.js.map +1 -1
- package/dist/providers/requesty-provider.d.ts +30 -0
- package/dist/providers/requesty-provider.d.ts.map +1 -0
- package/dist/providers/requesty-provider.js +87 -0
- package/dist/providers/requesty-provider.js.map +1 -0
- package/dist/providers/reve-provider.d.ts +2 -1
- package/dist/providers/reve-provider.d.ts.map +1 -1
- package/dist/providers/reve-provider.js +6 -0
- package/dist/providers/reve-provider.js.map +1 -1
- package/dist/providers/rodin-provider.d.ts +2 -1
- package/dist/providers/rodin-provider.d.ts.map +1 -1
- package/dist/providers/rodin-provider.js +6 -0
- package/dist/providers/rodin-provider.js.map +1 -1
- package/dist/providers/together-operations.d.ts +27 -0
- package/dist/providers/together-operations.d.ts.map +1 -0
- package/dist/providers/together-operations.js +95 -0
- package/dist/providers/together-operations.js.map +1 -0
- package/dist/providers/together-provider.d.ts +5 -8
- package/dist/providers/together-provider.d.ts.map +1 -1
- package/dist/providers/together-provider.js +54 -159
- package/dist/providers/together-provider.js.map +1 -1
- package/dist/providers/topaz-provider.d.ts +2 -1
- package/dist/providers/topaz-provider.d.ts.map +1 -1
- package/dist/providers/topaz-provider.js +5 -0
- package/dist/providers/topaz-provider.js.map +1 -1
- package/dist/providers/types.d.ts +38 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/providers/useapi-provider.d.ts +2 -1
- package/dist/providers/useapi-provider.d.ts.map +1 -1
- package/dist/providers/useapi-provider.js +8 -0
- package/dist/providers/useapi-provider.js.map +1 -1
- package/dist/providers/vllm-provider.d.ts +2 -4
- package/dist/providers/vllm-provider.d.ts.map +1 -1
- package/dist/providers/vllm-provider.js +1 -5
- package/dist/providers/vllm-provider.js.map +1 -1
- package/dist/providers/voyage-provider.d.ts +2 -1
- package/dist/providers/voyage-provider.d.ts.map +1 -1
- package/dist/providers/voyage-provider.js +5 -0
- package/dist/providers/voyage-provider.js.map +1 -1
- package/dist/providers/xai-provider.d.ts +2 -0
- package/dist/providers/xai-provider.d.ts.map +1 -1
- package/dist/providers/xai-provider.js +8 -0
- package/dist/providers/xai-provider.js.map +1 -1
- package/dist/recommended-models.d.ts.map +1 -1
- package/dist/recommended-models.js +20 -0
- package/dist/recommended-models.js.map +1 -1
- package/dist/run-context.d.ts +20 -0
- package/dist/run-context.d.ts.map +1 -0
- package/dist/run-context.js +18 -0
- package/dist/run-context.js.map +1 -0
- package/dist/run-trace-context.d.ts +30 -0
- package/dist/run-trace-context.d.ts.map +1 -0
- package/dist/run-trace-context.js +80 -0
- package/dist/run-trace-context.js.map +1 -0
- package/dist/run-trace-processor.d.ts +65 -0
- package/dist/run-trace-processor.d.ts.map +1 -0
- package/dist/run-trace-processor.js +417 -0
- package/dist/run-trace-processor.js.map +1 -0
- package/dist/run-trace-serialization.d.ts +5 -0
- package/dist/run-trace-serialization.d.ts.map +1 -0
- package/dist/run-trace-serialization.js +113 -0
- package/dist/run-trace-serialization.js.map +1 -0
- package/dist/storage-workspace.d.ts +3 -0
- package/dist/storage-workspace.d.ts.map +1 -1
- package/dist/storage-workspace.js +32 -17
- package/dist/storage-workspace.js.map +1 -1
- package/dist/telemetry.d.ts +9 -3
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +53 -20
- package/dist/telemetry.js.map +1 -1
- package/dist/trace-exporters.d.ts +2 -29
- package/dist/trace-exporters.d.ts.map +1 -1
- package/dist/trace-exporters.js +10 -2
- package/dist/trace-exporters.js.map +1 -1
- package/dist/tracing-helpers.d.ts +15 -22
- package/dist/tracing-helpers.d.ts.map +1 -1
- package/dist/tracing-helpers.js +38 -6
- package/dist/tracing-helpers.js.map +1 -1
- package/dist/trim-video-window.d.ts +8 -0
- package/dist/trim-video-window.d.ts.map +1 -0
- package/dist/trim-video-window.js +50 -0
- package/dist/trim-video-window.js.map +1 -0
- package/package.json +19 -5
package/dist/tracing-helpers.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { recordAppRunLlmCost } from "./run-context.js";
|
|
1
2
|
/**
|
|
2
3
|
* Helpers for wrapping agent / workflow / node code in OpenTelemetry spans.
|
|
3
4
|
*
|
|
@@ -12,6 +13,12 @@
|
|
|
12
13
|
* llm.chat / llm.stream ← BaseProvider (existing)
|
|
13
14
|
*
|
|
14
15
|
* agent.execute ← `withAgentSpan({ kind: "execute" })`
|
|
16
|
+
*
|
|
17
|
+
* IO- and CPU-bound work (storage, subprocesses, image codecs, Python worker
|
|
18
|
+
* calls) gets its own span through `withTaskSpan`, tagged with
|
|
19
|
+
* `nodetool.task.kind` so a backend can split wall time by resource.
|
|
20
|
+
* Outbound `fetch` calls get `HTTP <method>` spans from the undici
|
|
21
|
+
* instrumentation registered in `initTelemetry`.
|
|
15
22
|
* agent.plan ← `withAgentSpan({ kind: "plan" })`
|
|
16
23
|
* agent.step ← `withAgentSpan({ kind: "step" })`
|
|
17
24
|
* llm.chat / llm.stream ← BaseProvider (existing)
|
|
@@ -40,6 +47,7 @@ export function setLastUsage(usage) {
|
|
|
40
47
|
// made outside a capture slot still cost money, and retry safety turns on
|
|
41
48
|
// whether this invocation spent anything.
|
|
42
49
|
recordInvocationCost(usage.cost);
|
|
50
|
+
recordAppRunLlmCost(usage.cost);
|
|
43
51
|
const slot = usageStore.getStore();
|
|
44
52
|
if (!slot)
|
|
45
53
|
return;
|
|
@@ -116,6 +124,17 @@ export function createUsageSlot() {
|
|
|
116
124
|
getRequest: () => slot.request
|
|
117
125
|
};
|
|
118
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Mark a span failed: ERROR status with the error text (the run-store
|
|
129
|
+
* `error_summary` source) and the recorded exception. Use it when a failure
|
|
130
|
+
* is returned instead of thrown, so the span does not end OK.
|
|
131
|
+
*/
|
|
132
|
+
export function markSpanError(span, err) {
|
|
133
|
+
if (!span)
|
|
134
|
+
return;
|
|
135
|
+
span.setStatus({ code: SpanStatusCode.ERROR, message: String(err) });
|
|
136
|
+
span.recordException(err);
|
|
137
|
+
}
|
|
119
138
|
/** Wrap a function in an OTel span; pass-through if telemetry is disabled. */
|
|
120
139
|
export async function withSpan(name, attributes, fn) {
|
|
121
140
|
const tracer = getTracer();
|
|
@@ -125,12 +144,13 @@ export async function withSpan(name, attributes, fn) {
|
|
|
125
144
|
setAttributes(span, attributes);
|
|
126
145
|
try {
|
|
127
146
|
const result = await fn(span);
|
|
128
|
-
span
|
|
147
|
+
if (!spanEndedWithError(span)) {
|
|
148
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
149
|
+
}
|
|
129
150
|
return result;
|
|
130
151
|
}
|
|
131
152
|
catch (err) {
|
|
132
|
-
span
|
|
133
|
-
span.recordException(err);
|
|
153
|
+
markSpanError(span, err);
|
|
134
154
|
throw err;
|
|
135
155
|
}
|
|
136
156
|
finally {
|
|
@@ -162,15 +182,16 @@ export async function* withSpanGen(name, attributes, genFactory) {
|
|
|
162
182
|
const result = await otelContext.with(ctx, () => inner.next());
|
|
163
183
|
if (result.done) {
|
|
164
184
|
exhausted = true;
|
|
165
|
-
span
|
|
185
|
+
if (!spanEndedWithError(span)) {
|
|
186
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
187
|
+
}
|
|
166
188
|
return result.value;
|
|
167
189
|
}
|
|
168
190
|
yield result.value;
|
|
169
191
|
}
|
|
170
192
|
}
|
|
171
193
|
catch (err) {
|
|
172
|
-
span
|
|
173
|
-
span.recordException(err);
|
|
194
|
+
markSpanError(span, err);
|
|
174
195
|
throw err;
|
|
175
196
|
}
|
|
176
197
|
finally {
|
|
@@ -184,6 +205,9 @@ export async function* withSpanGen(name, attributes, genFactory) {
|
|
|
184
205
|
span.end();
|
|
185
206
|
}
|
|
186
207
|
}
|
|
208
|
+
function spanEndedWithError(span) {
|
|
209
|
+
return "status" in span && typeof span.status === "object" && span.status !== null && "code" in span.status && span.status.code === SpanStatusCode.ERROR;
|
|
210
|
+
}
|
|
187
211
|
function setAttributes(span, attributes) {
|
|
188
212
|
for (const [k, v] of Object.entries(attributes)) {
|
|
189
213
|
if (v !== undefined && v !== null) {
|
|
@@ -241,6 +265,13 @@ function agentAttrs(kind, attributes) {
|
|
|
241
265
|
Object.assign(attrs, attributes.extra);
|
|
242
266
|
return attrs;
|
|
243
267
|
}
|
|
268
|
+
/**
|
|
269
|
+
* Wrap an IO- or CPU-bound task in a span named `name` carrying
|
|
270
|
+
* `nodetool.task.kind`. Pass-through when telemetry is disabled.
|
|
271
|
+
*/
|
|
272
|
+
export function withTaskSpan(kind, name, attributes, fn) {
|
|
273
|
+
return withSpan(name, { "nodetool.task.kind": kind, ...attributes }, fn);
|
|
274
|
+
}
|
|
244
275
|
/** Wrap a single node execution (kernel Actor) in a span. */
|
|
245
276
|
export function withNodeSpan(attributes, fn) {
|
|
246
277
|
const attrs = {
|
|
@@ -257,4 +288,5 @@ export function withNodeSpan(attributes, fn) {
|
|
|
257
288
|
function truncate(s, max) {
|
|
258
289
|
return s.length > max ? s.slice(0, max - 1) + "…" : s;
|
|
259
290
|
}
|
|
291
|
+
export { SpanStatusCode };
|
|
260
292
|
//# sourceMappingURL=tracing-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing-helpers.js","sourceRoot":"","sources":["../src/tracing-helpers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tracing-helpers.js","sourceRoot":"","sources":["../src/tracing-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Materialize the exact constant-speed source window sent to a video editor.
|
|
3
|
+
* The source asset remains untouched in storage. The returned MP4 starts at
|
|
4
|
+
* time zero so providers receive the same window-relative contract as the
|
|
5
|
+
* timeline candidate.
|
|
6
|
+
*/
|
|
7
|
+
export declare function trimVideoWindow(input: Uint8Array, startMs: number, endMs: number, signal?: AbortSignal): Promise<Uint8Array>;
|
|
8
|
+
//# sourceMappingURL=trim-video-window.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trim-video-window.d.ts","sourceRoot":"","sources":["../src/trim-video-window.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAgDrB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { execFile as execFileCallback } from "node:child_process";
|
|
2
|
+
import { promisify } from "node:util";
|
|
3
|
+
import { promises as fs } from "node:fs";
|
|
4
|
+
import os from "node:os";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import { withTaskSpan } from "./tracing-helpers.js";
|
|
7
|
+
const execFile = promisify(execFileCallback);
|
|
8
|
+
/**
|
|
9
|
+
* Materialize the exact constant-speed source window sent to a video editor.
|
|
10
|
+
* The source asset remains untouched in storage. The returned MP4 starts at
|
|
11
|
+
* time zero so providers receive the same window-relative contract as the
|
|
12
|
+
* timeline candidate.
|
|
13
|
+
*/
|
|
14
|
+
export async function trimVideoWindow(input, startMs, endMs, signal) {
|
|
15
|
+
if (input.length === 0 ||
|
|
16
|
+
!Number.isFinite(startMs) ||
|
|
17
|
+
!Number.isFinite(endMs) ||
|
|
18
|
+
startMs < 0 ||
|
|
19
|
+
endMs <= startMs) {
|
|
20
|
+
throw new Error("Video edit source window must be a positive finite range.");
|
|
21
|
+
}
|
|
22
|
+
signal?.throwIfAborted();
|
|
23
|
+
const dir = await fs.mkdtemp(path.join(os.tmpdir(), "nodetool-video-edit-"));
|
|
24
|
+
const inputPath = path.join(dir, "input.mp4");
|
|
25
|
+
const outputPath = path.join(dir, "window.mp4");
|
|
26
|
+
try {
|
|
27
|
+
await fs.writeFile(inputPath, input);
|
|
28
|
+
await withTaskSpan("cpu", "ffmpeg.trim_video_window", { "nodetool.video.input_bytes": input.length }, () => execFile("ffmpeg", [
|
|
29
|
+
"-y",
|
|
30
|
+
"-i",
|
|
31
|
+
inputPath,
|
|
32
|
+
"-ss",
|
|
33
|
+
String(startMs / 1000),
|
|
34
|
+
"-t",
|
|
35
|
+
String((endMs - startMs) / 1000),
|
|
36
|
+
"-c:v",
|
|
37
|
+
"libx264",
|
|
38
|
+
"-c:a",
|
|
39
|
+
"aac",
|
|
40
|
+
"-movflags",
|
|
41
|
+
"+faststart",
|
|
42
|
+
outputPath
|
|
43
|
+
], { maxBuffer: 50 * 1024 * 1024, signal }));
|
|
44
|
+
return new Uint8Array(await fs.readFile(outputPath));
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
await fs.rm(dir, { recursive: true, force: true });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=trim-video-window.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trim-video-window.js","sourceRoot":"","sources":["../src/trim-video-window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAiB,EACjB,OAAe,EACf,KAAa,EACb,MAAoB;IAEpB,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,OAAO,GAAG,CAAC;QACX,KAAK,IAAI,OAAO,EAChB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,YAAY,CAChB,KAAK,EACL,0BAA0B,EAC1B,EAAE,4BAA4B,EAAE,KAAK,CAAC,MAAM,EAAE,EAC9C,GAAG,EAAE,CACH,QAAQ,CACN,QAAQ,EACR;YACE,IAAI;YACJ,IAAI;YACJ,SAAS;YACT,KAAK;YACL,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,IAAI;YACJ,MAAM,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;YAChC,MAAM;YACN,SAAS;YACT,MAAM;YACN,KAAK;YACL,WAAW;YACX,YAAY;YACZ,UAAU;SACX,EACD,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,CACxC,CACJ,CAAC;QACF,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nodetool-ai/runtime",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "Processing context, message queue, and output normalization",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -18,16 +18,18 @@
|
|
|
18
18
|
"@aki-io/aki-io": "^1.0.1",
|
|
19
19
|
"@anthropic-ai/sdk": "^0.105.0",
|
|
20
20
|
"@huggingface/inference": "^4.13.25",
|
|
21
|
-
"@nodetool-ai/
|
|
22
|
-
"@nodetool-ai/
|
|
23
|
-
"@nodetool-ai/
|
|
21
|
+
"@nodetool-ai/browser": "^0.8.2",
|
|
22
|
+
"@nodetool-ai/config": "^0.8.2",
|
|
23
|
+
"@nodetool-ai/protocol": "^0.8.2",
|
|
24
|
+
"@nodetool-ai/storage": "^0.8.2",
|
|
24
25
|
"@opentelemetry/api": "^1.9.0",
|
|
25
26
|
"@opentelemetry/exporter-trace-otlp-proto": "^0.221.0",
|
|
27
|
+
"@opentelemetry/instrumentation-undici": "^0.31.0",
|
|
26
28
|
"@opentelemetry/resources": "^2.10.0",
|
|
27
29
|
"@opentelemetry/sdk-node": "^0.221.0",
|
|
28
30
|
"@opentelemetry/sdk-trace-base": "^2.10.0",
|
|
29
31
|
"@opentelemetry/semantic-conventions": "^1.40.0",
|
|
30
|
-
"@pydantic/genai-prices": "^0.
|
|
32
|
+
"@pydantic/genai-prices": "^0.1.9",
|
|
31
33
|
"fflate": "^0.8.2",
|
|
32
34
|
"js-tiktoken": "^1.0.21",
|
|
33
35
|
"msgpackr": "^1.11.2",
|
|
@@ -69,6 +71,12 @@
|
|
|
69
71
|
"import": "./dist/providers/oauth/index.js",
|
|
70
72
|
"default": "./dist/providers/oauth/index.js"
|
|
71
73
|
},
|
|
74
|
+
"./trim-video-window": {
|
|
75
|
+
"nodetool-dev": "./src/trim-video-window.ts",
|
|
76
|
+
"types": "./dist/trim-video-window.d.ts",
|
|
77
|
+
"import": "./dist/trim-video-window.js",
|
|
78
|
+
"default": "./dist/trim-video-window.js"
|
|
79
|
+
},
|
|
72
80
|
"./context": {
|
|
73
81
|
"nodetool-dev": "./src/context.ts",
|
|
74
82
|
"types": "./dist/context.d.ts",
|
|
@@ -117,6 +125,12 @@
|
|
|
117
125
|
"types": "./dist/google/index.d.ts",
|
|
118
126
|
"import": "./dist/google/index.js",
|
|
119
127
|
"default": "./dist/google/index.js"
|
|
128
|
+
},
|
|
129
|
+
"./together-operations": {
|
|
130
|
+
"nodetool-dev": "./src/providers/together-operations.ts",
|
|
131
|
+
"types": "./dist/providers/together-operations.d.ts",
|
|
132
|
+
"import": "./dist/providers/together-operations.js",
|
|
133
|
+
"default": "./dist/providers/together-operations.js"
|
|
120
134
|
}
|
|
121
135
|
},
|
|
122
136
|
"license": "MIT",
|