@runappsai/sdk 0.6.4 → 0.6.6

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/video.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Transport } from "./transport.js";
2
+ import type { PromptRef } from "./chat.js";
2
3
  import type { Usage } from "./types.js";
3
4
  import type { SDKEvents } from "./events.js";
4
5
  /**
@@ -9,7 +10,9 @@ import type { SDKEvents } from "./events.js";
9
10
  * forces off.
10
11
  */
11
12
  export interface VideoGenerateParams {
12
- prompt: string;
13
+ /** The prompt text, or a private prompt `{ id, vars }` whose
14
+ * filled-in text is the prompt (see `PromptRef`). */
15
+ prompt: string | PromptRef;
13
16
  aspect_ratio?: string;
14
17
  duration?: number;
15
18
  resolution?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"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"}
package/dist/video.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA8H7C,MAAM,OAAO,YAAY;IAEJ;IACA;IAFnB,YACmB,SAAoB,EACpB,MAAiB;QADjB,cAAS,GAAT,SAAS,CAAW;QACpB,WAAM,GAAN,MAAM,CAAW;IACjC,CAAC;IAEJ;;;;;;;kEAO8D;IAC9D,KAAK,CAAC,QAAQ,CACZ,KAAa,EACb,MAA2B,EAC3B,IAA+B;QAE/B,OAAO,UAAU,CACf,IAAI,CAAC,MAAM,EACX,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,EACzC,GAAG,EAAE,CACH,IAAI,CAAC,SAAS,CAAC,QAAQ,CACrB,wBAAwB,EACxB,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EACpB,IAAI,CACL,CACJ,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,SAAS,CACb,MAAc,EACd,IAA+B;QAE/B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,0BAA0B,kBAAkB,CAAC,MAAM,CAAC,EAAE,EACtD,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,OAAoB,EAAE;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC;QAC7C,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACrE,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChE,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,UAAU,CACd,MAAc,EACd,IAA+B;QAE/B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAC1B,cAAc,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAClD,IAAI,CACL,CAAC;IACJ,CAAC;CACF;AAED,SAAS,KAAK,CAAC,EAAU,EAAE,MAAoB;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,MAAO,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgI7C,MAAM,OAAO,YAAY;IAEJ;IACA;IAFnB,YACmB,SAAoB,EACpB,MAAiB;QADjB,cAAS,GAAT,SAAS,CAAW;QACpB,WAAM,GAAN,MAAM,CAAW;IACjC,CAAC;IAEJ;;;;;;;kEAO8D;IAC9D,KAAK,CAAC,QAAQ,CACZ,KAAa,EACb,MAA2B,EAC3B,IAA+B;QAE/B,OAAO,UAAU,CACf,IAAI,CAAC,MAAM,EACX,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,EACzC,GAAG,EAAE,CACH,IAAI,CAAC,SAAS,CAAC,QAAQ,CACrB,wBAAwB,EACxB,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EACpB,IAAI,CACL,CACJ,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,SAAS,CACb,MAAc,EACd,IAA+B;QAE/B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,0BAA0B,kBAAkB,CAAC,MAAM,CAAC,EAAE,EACtD,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,OAAoB,EAAE;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC;QAC7C,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACrE,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChE,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,UAAU,CACd,MAAc,EACd,IAA+B;QAE/B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAC1B,cAAc,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAClD,IAAI,CACL,CAAC;IACJ,CAAC;CACF;AAED,SAAS,KAAK,CAAC,EAAU,EAAE,MAAoB;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,MAAO,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runappsai/sdk",
3
- "version": "0.6.4",
3
+ "version": "0.6.6",
4
4
  "description": "JavaScript / TypeScript client for the RunApps AI Gateway",
5
5
  "license": "MIT",
6
6
  "author": "RunApps",
package/src/audio.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Transport } from "./transport.js";
2
+ import type { PromptRef } from "./chat.js";
2
3
  import type { Usage } from "./types.js";
3
4
  import type { SDKEvents } from "./events.js";
4
5
  import { wrapEvents } from "./event-wrap.js";
@@ -17,7 +18,9 @@ import { decodeMediaUrl } from "./media.js";
17
18
  /* ------------------------------------------------------------------ */
18
19
 
19
20
  export interface SpeechParams {
20
- input: string;
21
+ /** The text to speak, or a private prompt `{ id, vars }` whose
22
+ * filled-in text is spoken (see `PromptRef`). */
23
+ input: string | PromptRef;
21
24
  /** Named voice id (`alloy`, `nova`, …; provider-dependent). Omit
22
25
  * when supplying `reference_audio_url` for zero-shot voice
23
26
  * cloning — the cloned timbre overrides any named voice. */
@@ -906,6 +906,12 @@ function mountActivityBadge(opts: MountOpts): HTMLButtonElement {
906
906
  "border:1px solid rgba(255,255,255,0.12)",
907
907
  "box-shadow:0 4px 16px rgba(0,0,0,0.15)",
908
908
  "user-select:none",
909
+ "-webkit-user-select:none",
910
+ // Touch: without this the browser claims the first finger move as a
911
+ // page scroll and fires pointercancel, so the badge could not be
912
+ // dragged on phones. No callout either: a long press is a drag.
913
+ "touch-action:none",
914
+ "-webkit-touch-callout:none",
909
915
  "overflow:visible", // popover spills out the top
910
916
  "cursor:pointer",
911
917
  "appearance:none",
@@ -1188,7 +1194,11 @@ function mountActivityBadge(opts: MountOpts): HTMLButtonElement {
1188
1194
  // so further moves arrive even when the pointer escapes the
1189
1195
  // badge bounds (fast drags leave the small pill quickly).
1190
1196
  isDragging = true;
1191
- el.setPointerCapture(e.pointerId);
1197
+ try {
1198
+ el.setPointerCapture(e.pointerId);
1199
+ } catch {
1200
+ /* no active pointer of that id (synthetic events, odd WebViews): drag still works while the finger stays on the badge */
1201
+ }
1192
1202
  el.style.cursor = "grabbing";
1193
1203
  // Pre-emptively close any open popover — keeping it pinned to a
1194
1204
  // moving badge looks janky and a drag is clearly a different
@@ -1211,7 +1221,11 @@ function mountActivityBadge(opts: MountOpts): HTMLButtonElement {
1211
1221
  if (!isDragging) return;
1212
1222
  isDragging = false;
1213
1223
  el.style.cursor = "pointer";
1214
- if (el.hasPointerCapture(e.pointerId)) el.releasePointerCapture(e.pointerId);
1224
+ try {
1225
+ if (el.hasPointerCapture(e.pointerId)) el.releasePointerCapture(e.pointerId);
1226
+ } catch {
1227
+ /* same */
1228
+ }
1215
1229
  // Persist final position. Re-read the rect so what we store is
1216
1230
  // exactly what's on screen — clampToViewport may have shaved
1217
1231
  // the trailing few pixels.
package/src/chat.ts CHANGED
@@ -65,6 +65,22 @@ export interface StreamOptions {
65
65
  */
66
66
  export type ServerToolName = "web_search" | "web_fetch" | "twitter_search";
67
67
 
68
+ /**
69
+ * One of the app's private prompts, kept out of the browser. The
70
+ * gateway reads `<id>.md` from the app's bundle (`bundle.json` or
71
+ * `.private/prompts/`), fills `{{var}}` placeholders from `vars`, and
72
+ * uses the result: as the system message for chat, or as the whole
73
+ * text for image, video and speech calls, where it takes the place of
74
+ * `prompt` / `input`. `template` sends the text inline instead — for a
75
+ * creator's local dev server, before a bundle exists; the gateway
76
+ * accepts it only from the app's creator.
77
+ */
78
+ export interface PromptRef {
79
+ id?: string;
80
+ vars?: Record<string, unknown>;
81
+ template?: string;
82
+ }
83
+
68
84
  /** Typed constants for {@link ServerToolName} so you get autocomplete. */
69
85
  export const ServerTools = {
70
86
  WebSearch: "web_search",
@@ -110,7 +126,7 @@ export interface ChatCompletionParams {
110
126
  * local dev server, before a bundle exists; the gateway accepts it
111
127
  * only from the app's creator.
112
128
  */
113
- prompt?: { id?: string; vars?: Record<string, unknown>; template?: string };
129
+ prompt?: PromptRef;
114
130
  /** Pass-through for provider-specific knobs. */
115
131
  [extra: string]: unknown;
116
132
  }
package/src/image.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Transport } from "./transport.js";
2
+ import type { PromptRef } from "./chat.js";
2
3
  import type { Usage } from "./types.js";
3
4
  import type { SDKEvents } from "./events.js";
4
5
  import { wrapEvents } from "./event-wrap.js";
@@ -13,7 +14,9 @@ import { wrapEvents } from "./event-wrap.js";
13
14
  * the three is set, the gateway / upstream applies its own default.
14
15
  */
15
16
  export interface ImageGenerateParams {
16
- prompt: string;
17
+ /** The prompt text, or a private prompt `{ id, vars }` whose
18
+ * filled-in text is the prompt (see `PromptRef`). */
19
+ prompt: string | PromptRef;
17
20
  /** Legacy explicit "WxH" override. Prefer `resolution` +
18
21
  * `aspect_ratio` for new code. */
19
22
  size?: string;
@@ -121,7 +124,8 @@ export interface ImageFileInput {
121
124
  export interface ImageEditParams {
122
125
  image: ImageFileInput;
123
126
  mask?: ImageFileInput;
124
- prompt: string;
127
+ /** The prompt text, or a private prompt `{ id, vars }`. */
128
+ prompt: string | PromptRef;
125
129
  size?: string;
126
130
  n?: number;
127
131
  user?: string;
@@ -298,7 +302,7 @@ function sleep(ms: number, signal?: AbortSignal): Promise<void> {
298
302
  function buildEditForm(model: string, params: ImageEditParams): FormData {
299
303
  const form = new FormData();
300
304
  form.set("model", model);
301
- form.set("prompt", params.prompt);
305
+ form.set("prompt", typeof params.prompt === "string" ? params.prompt : JSON.stringify(params.prompt));
302
306
  if (params.size) form.set("size", params.size);
303
307
  if (params.n !== undefined) form.set("n", String(params.n));
304
308
  if (params.user) form.set("user", params.user);
package/src/index.ts CHANGED
@@ -64,6 +64,7 @@ export type {
64
64
  ChatChunkDelta,
65
65
  ChatChunkChoice,
66
66
  ChatCompletionChunk,
67
+ PromptRef,
67
68
  } from "./chat.js";
68
69
  export {
69
70
  userMessage,
package/src/video.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Transport } from "./transport.js";
2
+ import type { PromptRef } from "./chat.js";
2
3
  import type { Usage } from "./types.js";
3
4
  import type { SDKEvents } from "./events.js";
4
5
  import { wrapEvents } from "./event-wrap.js";
@@ -15,7 +16,9 @@ import { wrapEvents } from "./event-wrap.js";
15
16
  * forces off.
16
17
  */
17
18
  export interface VideoGenerateParams {
18
- prompt: string;
19
+ /** The prompt text, or a private prompt `{ id, vars }` whose
20
+ * filled-in text is the prompt (see `PromptRef`). */
21
+ prompt: string | PromptRef;
19
22
  aspect_ratio?: string;
20
23
  duration?: number;
21
24
  resolution?: string;