@localhostdevs/sdk 0.3.5 → 0.4.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 CHANGED
@@ -102,6 +102,78 @@ bot.cmd('summary', async (ctx) => {
102
102
 
103
103
  Chains run up to depth 5 with loop detection. The original consumer pays for every step.
104
104
 
105
+ ## Streaming progress (`ctx.update`)
106
+
107
+ Long-running commands can emit intermediate progress frames before the
108
+ final reply. Enable per-bot or per-command:
109
+
110
+ ```js
111
+ const bot = new Bot({
112
+ id: 'analyze-bot',
113
+ streaming: true, // enables ctx.update across all commands
114
+ });
115
+
116
+ bot.cmd('analyze', async (ctx) => {
117
+ await ctx.update({ progress: 10, text: 'Fetching…' });
118
+ await ctx.update({ progress: 60, text: 'Crunching…' });
119
+ await ctx.reply({
120
+ text: 'done',
121
+ mimeType: 'image/png',
122
+ data: chartBytesBase64,
123
+ });
124
+ });
125
+ ```
126
+
127
+ Or per-command:
128
+
129
+ ```js
130
+ bot.cmd('analyze', { streaming: true }, async (ctx) => { /* … */ });
131
+ bot.cmd('ping', async (ctx) => { /* no ctx.update here */ });
132
+ ```
133
+
134
+ **Progress shapes** (use whichever fits the work):
135
+
136
+ - `number` — percent (0–100). Renders as a horizontal bar.
137
+ - `{ current, total }` — step counter. Renders as "5 / 30".
138
+ - `{ label: string }` — indeterminate. Renders as a spinner + label.
139
+
140
+ **MIME-type hints** (`mimeType` on both update and reply bodies) let the
141
+ consumer choose how to render the body. v1 chat UI handles
142
+ `text/plain` (default) and `text/markdown`; others fall back to a code
143
+ block of the data field.
144
+
145
+ **Consumer contract**: when the public REST API caller hits
146
+ `POST /api/v1/bots/{handle}/dispatch` with
147
+ `Accept: text/event-stream` or `Accept: application/x-ndjson`, they
148
+ receive each frame as it arrives. Default `Accept: application/json`
149
+ (or no Accept) returns only the final frame as a single JSON — backward
150
+ compatible with everything written before this release. See
151
+ `/docs/api` on localhostdevs.com for full details.
152
+
153
+ ### Declaring mimeType per command (0.4.1+)
154
+
155
+ Tell the platform what each command's reply looks like so the bot
156
+ detail page can show consumers what to expect:
157
+
158
+ ```js
159
+ bot.cmd('chart', { streaming: true, mimeType: 'image/png' }, async (ctx) => {
160
+ await ctx.reply({ data: chartBytes, mimeType: 'image/png' });
161
+ });
162
+
163
+ bot.cmd('summarize', { mimeType: 'text/markdown' }, async (ctx) => {
164
+ await ctx.reply({ text: '# Summary\n…', mimeType: 'text/markdown' });
165
+ });
166
+
167
+ bot.cmd('ping', async (ctx) => { // no opts — displays as text/plain
168
+ await ctx.reply({ text: 'pong' });
169
+ });
170
+ ```
171
+
172
+ The declaration is **advertising-only** — the actual mimeType on the
173
+ wire is whatever `ctx.reply({ mimeType })` passes. Mismatches don't
174
+ crash anything; the bot detail page shows the declared value and the
175
+ consumer renders whatever the runtime reply specifies.
176
+
105
177
  ## v0.3.5: Bot Secret env-var rename
106
178
 
107
179
  The env var name moved from `LHD_API_KEY` to `BOT_SECRET` to disambiguate from
@@ -127,6 +199,28 @@ v0.3 is a breaking change vs v0.2 — the SDK no longer talks to NATS directly.
127
199
 
128
200
  Drop the `natsUrl` and `natsToken` options entirely — the SDK figures out the right gateway URL on its own. Use your bot's **Bot Secret** from the dashboard (not the old shared broker token).
129
201
 
202
+ ## v0.3.x → v0.4 (streaming opt-in)
203
+
204
+ v0.4 is additive — nothing breaks for bots calling only `ctx.reply()`.
205
+ New surface:
206
+
207
+ - `new Bot({ …, streaming: true })` to enable `ctx.update()`
208
+ - `bot.cmd(name, { streaming: true }, handler)` to flip the flag per
209
+ command without touching bot-init
210
+ - `ctx.update({ progress?, text?, data?, mimeType? })` — send 1+
211
+ intermediate frames before `ctx.reply()`
212
+ - `mimeType` on `ctx.reply()` for the existing final-reply path
213
+
214
+ No env-var changes, no protocol breakage, no upstream re-auth.
215
+
216
+ ## v0.4.0 → v0.4.1 (per-command mimeType)
217
+
218
+ Additive — no breaking changes. The `mimeType?` field in
219
+ `CommandHandlerOptions` is optional; bots that ignore it work exactly
220
+ the same. The SDK auto-builds an IDENTIFY-time `commands` array from
221
+ your registered handlers so the platform can display them on the bot
222
+ detail page.
223
+
130
224
  ## License
131
225
 
132
226
  MIT
package/dist/bot.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import { nanoid } from 'nanoid';
2
- import type { BotOptions, CommandHandler } from './types.js';
2
+ import type { BotOptions, CommandHandler, CommandHandlerOptions } from './types.js';
3
3
  export declare class Bot {
4
4
  private readonly opts;
5
5
  private transport;
6
6
  private readonly handlers;
7
+ private readonly cmdOpts;
7
8
  private readonly seen;
8
9
  private readonly seenQueue;
9
10
  private closing;
@@ -11,8 +12,11 @@ export declare class Bot {
11
12
  private reconnectAttempt;
12
13
  private cachedApiKey;
13
14
  constructor(opts: BotOptions);
14
- /** Register a handler for a command. Must be called before connect(). */
15
+ /** Register a handler with no per-command overrides. */
15
16
  cmd(name: string, handler: CommandHandler): this;
17
+ /** Register a handler with per-command overrides. */
18
+ cmd(name: string, opts: CommandHandlerOptions, handler: CommandHandler): this;
19
+ private isStreamingFor;
16
20
  /** Open WS connection to the gateway, identify, await HELLO, ready to receive commands. */
17
21
  connect(): Promise<void>;
18
22
  /** Build a fresh Transport and call connect() on it. Caller wraps with retry. */
package/dist/bot.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,KAAK,EAAE,UAAU,EAAkB,cAAc,EAAa,MAAM,YAAY,CAAC;AAmCxF,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,YAAY,CAAuB;gBAE/B,IAAI,EAAE,UAAU;IAgB5B,yEAAyE;IACzE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAWhD,2FAA2F;IACrF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,iFAAiF;YACnE,aAAa;IAyB3B,OAAO,CAAC,iBAAiB;YAcX,YAAY;IAe1B;;;;;OAKG;YACW,aAAa;IAoB3B,0DAA0D;IACpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC;;yEAEqE;IACrE,OAAO,CAAC,oBAAoB;YAUd,QAAQ;IAiDtB,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;CAQnB;AAKD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,KAAK,EAAE,UAAU,EAAkB,cAAc,EAAE,qBAAqB,EAAmC,MAAM,YAAY,CAAC;AAoCrI,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IACpE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,YAAY,CAAuB;gBAE/B,IAAI,EAAE,UAAU;IAiB5B,wDAAwD;IACxD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAChD,qDAAqD;IACrD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IA0B7E,OAAO,CAAC,cAAc;IAMtB,2FAA2F;IACrF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,iFAAiF;YACnE,aAAa;IA8C3B,OAAO,CAAC,iBAAiB;YAcX,YAAY;IAe1B;;;;;OAKG;YACW,aAAa;IAoB3B,0DAA0D;IACpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC;;yEAEqE;IACrE,OAAO,CAAC,oBAAoB;YAUd,QAAQ;IA8DtB,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;CAQnB;AAKD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,CAAC"}
package/dist/bot.js CHANGED
@@ -28,6 +28,7 @@ export class Bot {
28
28
  opts;
29
29
  transport = null;
30
30
  handlers = new Map();
31
+ cmdOpts = new Map();
31
32
  seen = new Set();
32
33
  seenQueue = [];
33
34
  closing = false;
@@ -47,19 +48,32 @@ export class Bot {
47
48
  serverUrl: opts.serverUrl ?? process.env.LHD_SERVER_URL ?? DEFAULT_SERVER_URL,
48
49
  apiBaseUrl: opts.apiBaseUrl ?? process.env.LHD_API_BASE_URL ?? DEFAULT_API_BASE_URL,
49
50
  idempotencyLruSize: opts.idempotencyLruSize ?? DEFAULT_IDEMPOTENCY_LRU_SIZE,
51
+ streaming: opts.streaming ?? false,
50
52
  };
51
53
  }
52
- /** Register a handler for a command. Must be called before connect(). */
53
- cmd(name, handler) {
54
+ cmd(name, handlerOrOpts, maybeHandler) {
54
55
  if (this.transport) {
55
56
  throw new Error('cmd() must be called before connect()');
56
57
  }
57
58
  if (this.handlers.has(name)) {
58
59
  throw new Error(`duplicate handler for command ${name}`);
59
60
  }
61
+ // Disambiguate overloads
62
+ const opts = typeof handlerOrOpts === 'function' ? {} : handlerOrOpts;
63
+ const handler = typeof handlerOrOpts === 'function' ? handlerOrOpts : maybeHandler;
64
+ if (typeof handler !== 'function') {
65
+ throw new Error(`cmd('${name}') missing handler function`);
66
+ }
60
67
  this.handlers.set(name, handler);
68
+ this.cmdOpts.set(name, opts);
61
69
  return this;
62
70
  }
71
+ isStreamingFor(commandName) {
72
+ const cmdLevel = this.cmdOpts.get(commandName)?.streaming;
73
+ if (typeof cmdLevel === 'boolean')
74
+ return cmdLevel;
75
+ return this.opts.streaming ?? false;
76
+ }
63
77
  /** Open WS connection to the gateway, identify, await HELLO, ready to receive commands. */
64
78
  async connect() {
65
79
  if (this.transport) {
@@ -76,11 +90,27 @@ export class Bot {
76
90
  // resolveApiKey() can run interactive SSO once; reuse the result across reconnects.
77
91
  this.cachedApiKey = await this.resolveApiKey();
78
92
  }
93
+ const anyCommandStreams = Array.from(this.cmdOpts.values()).some((o) => o.streaming === true);
94
+ const effectiveStreaming = this.opts.streaming || anyCommandStreams;
95
+ const commandsArray = Array.from(this.handlers.keys()).map((name) => {
96
+ const opts = this.cmdOpts.get(name) ?? {};
97
+ const streaming = typeof opts.streaming === 'boolean' ? opts.streaming : (this.opts.streaming ?? false);
98
+ const entry = {
99
+ name,
100
+ streaming,
101
+ };
102
+ if (typeof opts.mimeType === 'string' && opts.mimeType.length > 0) {
103
+ entry.mimeType = opts.mimeType;
104
+ }
105
+ return entry;
106
+ });
79
107
  const transport = new Transport({
80
108
  serverUrl: this.opts.serverUrl,
81
109
  apiKey: this.cachedApiKey,
82
110
  botId: this.opts.id,
83
111
  sdkVersion: SDK_PACKAGE_VERSION,
112
+ streaming: effectiveStreaming,
113
+ commands: commandsArray,
84
114
  onCommand: (cmd) => void this.dispatch(cmd),
85
115
  onError: (err) => {
86
116
  logError('gateway error:', err.message);
@@ -175,7 +205,8 @@ export class Bot {
175
205
  return;
176
206
  this.recordSeen(cmd.msgId);
177
207
  const handler = this.handlers.get(cmd.command);
178
- const ctx = this.makeContext(cmd);
208
+ const streaming = this.isStreamingFor(cmd.command);
209
+ const ctx = this.makeContext(cmd, streaming);
179
210
  // Built-in `commands` fallback — only used if the bot didn't register
180
211
  // its own. Lets every bot answer "what can you do?" without ceremony.
181
212
  if (!handler && cmd.command === 'commands') {
@@ -216,12 +247,25 @@ export class Bot {
216
247
  }
217
248
  catch (err) {
218
249
  logError('command handler error:', err);
250
+ // If the handler threw before sending a reply, send a structured error
251
+ // frame so the consumer doesn't time out waiting for a reply that will
252
+ // never arrive. ctx.reply() itself throws if already called — swallow
253
+ // that case.
254
+ try {
255
+ await ctx.reply({
256
+ text: `handler threw: ${err instanceof Error ? err.message : String(err)}`,
257
+ });
258
+ }
259
+ catch {
260
+ // replied was already true — double-reply guard fired; nothing to do
261
+ }
262
+ throw err;
219
263
  }
220
264
  }
221
- makeContext(cmd) {
265
+ makeContext(cmd, streaming) {
222
266
  let replied = false;
223
267
  const transport = this.transport;
224
- return {
268
+ const ctx = {
225
269
  command: cmd.command,
226
270
  args: cmd.args ?? {},
227
271
  msgId: cmd.msgId,
@@ -236,6 +280,18 @@ export class Bot {
236
280
  transport.sendReply(cmd.msgId, body);
237
281
  },
238
282
  };
283
+ if (streaming) {
284
+ ctx.update = async ({ progress, ...body }) => {
285
+ if (replied) {
286
+ throw new Error(`update() called after reply() for msgId ${cmd.msgId} — intermediate frames must precede the final reply`);
287
+ }
288
+ if (!transport) {
289
+ throw new Error('update() called after disconnect');
290
+ }
291
+ transport.sendUpdate(cmd.msgId, progress, body);
292
+ };
293
+ }
294
+ return ctx;
239
295
  }
240
296
  isDuplicate(msgId) {
241
297
  return this.seen.has(msgId);
package/dist/bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export declare const OP: {
4
4
  readonly IDENTIFY: 1;
5
5
  readonly HEARTBEAT: 2;
6
6
  readonly REPLY: 3;
7
+ readonly UPDATE: 4;
7
8
  readonly ERROR: 9;
8
9
  readonly HELLO: 10;
9
10
  readonly HEARTBEAT_ACK: 11;
@@ -22,11 +23,35 @@ export type ReplyBodyShape = {
22
23
  args?: Record<string, unknown>;
23
24
  };
24
25
  };
26
+ export type Progress = number | {
27
+ current: number;
28
+ total: number;
29
+ } | {
30
+ label: string;
31
+ };
32
+ export type UpdateBodyShape = {
33
+ text?: string;
34
+ data?: unknown;
35
+ mimeType?: string;
36
+ };
25
37
  export interface TransportOptions {
26
38
  serverUrl: string;
27
39
  apiKey: string;
28
40
  botId: string;
29
41
  sdkVersion: string;
42
+ /** Sent in IDENTIFY so the gateway can persist bots.supports_streaming.
43
+ * True when at least one of the bot's registered commands has streaming
44
+ * enabled (computed by Bot before constructing the Transport). */
45
+ streaming: boolean;
46
+ /** Per-command capability declarations shipped in IDENTIFY's d.commands.
47
+ * Each entry: name, streaming flag (resolved per command), and the
48
+ * optional mimeType. Bot.ts derives this from its cmd registry before
49
+ * constructing the Transport. */
50
+ commands: ReadonlyArray<{
51
+ name: string;
52
+ streaming: boolean;
53
+ mimeType?: string;
54
+ }>;
30
55
  onCommand: (cmd: CommandFrame) => void;
31
56
  onClose?: (reason: string) => void;
32
57
  onError?: (err: Error) => void;
@@ -49,6 +74,7 @@ export declare class Transport {
49
74
  connect(): Promise<void>;
50
75
  private handleMessage;
51
76
  sendReply(msgId: string, body: ReplyBodyShape): void;
77
+ sendUpdate(msgId: string, progress: Progress | undefined, body: UpdateBodyShape): void;
52
78
  private send;
53
79
  private startHeartbeat;
54
80
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAEA,2FAA2F;AAC3F,eAAO,MAAM,EAAE;;;;;;;;CAQL,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAC5E,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC;AAED;;;;;;GAMG;AACH,qBAAa,SAAS;IAOR,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,mBAAmB,CAAU;IACrC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,KAAK,CAAS;gBAEO,IAAI,EAAE,gBAAgB;IAE7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD9B,OAAO,CAAC,aAAa;IAgCrB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAIpD,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,cAAc;IAMhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,OAAO,CAAC,OAAO;IAQf,IAAI,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEpC;CACF"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAEA,2FAA2F;AAC3F,eAAO,MAAM,EAAE;;;;;;;;;CASL,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAC5E,CAAC;AAEF,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtB,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB;;uEAEmE;IACnE,SAAS,EAAE,OAAO,CAAC;IACnB;;;sCAGkC;IAClC,QAAQ,EAAE,aAAa,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC;AAED;;;;;;GAMG;AACH,qBAAa,SAAS;IAOR,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,mBAAmB,CAAU;IACrC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,KAAK,CAAS;gBAEO,IAAI,EAAE,gBAAgB;IAE7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD9B,OAAO,CAAC,aAAa;IAgCrB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAIpD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAItF,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,cAAc;IAMhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,OAAO,CAAC,OAAO;IAQf,IAAI,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEpC;CACF"}
package/dist/transport.js CHANGED
@@ -5,6 +5,7 @@ export const OP = {
5
5
  IDENTIFY: 1,
6
6
  HEARTBEAT: 2,
7
7
  REPLY: 3,
8
+ UPDATE: 4,
8
9
  ERROR: 9,
9
10
  HELLO: 10,
10
11
  HEARTBEAT_ACK: 11,
@@ -47,6 +48,8 @@ export class Transport {
47
48
  apiKey: this.opts.apiKey,
48
49
  id: this.opts.botId,
49
50
  sdkVersion: this.opts.sdkVersion,
51
+ streaming: this.opts.streaming,
52
+ ...(this.opts.commands.length > 0 ? { commands: this.opts.commands } : {}),
50
53
  },
51
54
  });
52
55
  });
@@ -113,6 +116,9 @@ export class Transport {
113
116
  sendReply(msgId, body) {
114
117
  this.send({ op: OP.REPLY, d: { msgId, body } });
115
118
  }
119
+ sendUpdate(msgId, progress, body) {
120
+ this.send({ op: OP.UPDATE, d: { msgId, progress, body } });
121
+ }
116
122
  send(msg) {
117
123
  if (!this.ws || this.ws.readyState !== WebSocket.OPEN)
118
124
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -6,14 +6,25 @@ export interface CommandContext {
6
6
  readonly args: Record<string, unknown>;
7
7
  /** Unique id assigned by the publisher; used for idempotency dedup + reply correlation. */
8
8
  readonly msgId: string;
9
- /** Sends a reply to the publisher. May be called at most once per command. */
9
+ /** Send the final reply. Exactly once per command. */
10
10
  reply(body: ReplyBody): Promise<void>;
11
+ /** Send an intermediate progress frame. Only present when the command's
12
+ * effective streaming flag is true. Throws if called after reply(). */
13
+ update?(args: {
14
+ progress?: Progress;
15
+ text?: string;
16
+ data?: unknown;
17
+ mimeType?: string;
18
+ }): Promise<void>;
11
19
  }
12
20
  export interface ReplyBody {
13
21
  /** Plain text reply. Optional. */
14
22
  text?: string;
15
23
  /** Optional structured payload (free-form for v1; refined in later plans). */
16
24
  data?: unknown;
25
+ /** Optional MIME-type hint for the consumer. Defaults to text/plain when
26
+ * only `text` is set, application/json when only `data` is set. */
27
+ mimeType?: string;
17
28
  /**
18
29
  * Bot-to-bot composition: when set, the platform invokes another bot
19
30
  * with this command using the same originating consumer as the principal.
@@ -25,6 +36,22 @@ export interface ReplyBody {
25
36
  args?: Record<string, unknown>;
26
37
  };
27
38
  }
39
+ /** Three accepted shapes for the intermediate progress signal. Consumer
40
+ * side renders whichever shape arrives — bots can mix them across frames. */
41
+ export type Progress = number | {
42
+ current: number;
43
+ total: number;
44
+ } | {
45
+ label: string;
46
+ };
47
+ /** Body shape for ctx.update() (intermediate frames). Subset of ReplyBody —
48
+ * no `dispatch` (can't chain mid-stream); no `progress` because progress
49
+ * is a top-level UpdateFrame field, not a body field. */
50
+ export interface UpdateBody {
51
+ text?: string;
52
+ data?: unknown;
53
+ mimeType?: string;
54
+ }
28
55
  export interface BotOptions {
29
56
  /** Stable identifier for this bot (e.g., 'price-bot'). Used as the gateway login user. */
30
57
  id: string;
@@ -56,6 +83,25 @@ export interface BotOptions {
56
83
  apiBaseUrl?: string;
57
84
  /** Idempotency LRU size. Defaults to 1024. */
58
85
  idempotencyLruSize?: number;
86
+ /** When true, command handlers can call ctx.update() to emit progress
87
+ * frames before the final ctx.reply(). When false (default), ctx.update
88
+ * is not exposed; calling it would be a type error. Per-command override
89
+ * available via bot.cmd(name, { streaming: true }, handler). */
90
+ streaming?: boolean;
91
+ /** What response shape /dispatch returns when the consumer sends no
92
+ * Accept header. The HTTP route also honors Accept: text/event-stream
93
+ * and application/x-ndjson regardless of this default. */
94
+ defaultTransport?: 'json' | 'sse' | 'ndjson';
95
+ }
96
+ export interface CommandHandlerOptions {
97
+ /** Override the bot-level streaming flag for this specific command. */
98
+ streaming?: boolean;
99
+ /** MIME-type this command's ctx.reply() returns. Advertised on the
100
+ * bot detail page so consumers know what to expect. Optional; when
101
+ * absent the platform displays "text/plain" (the default for replies
102
+ * that only set `text`). Doesn't affect runtime behavior — the actual
103
+ * mimeType sent on the wire is whatever ctx.reply({ mimeType }) passes. */
104
+ mimeType?: string;
59
105
  }
60
106
  /** Internal: command frame the gateway sends to the bot. */
61
107
  export interface CommandEnvelope {
@@ -68,6 +114,12 @@ export interface ReplyEnvelope {
68
114
  msgId: string;
69
115
  body: ReplyBody;
70
116
  }
117
+ /** Internal: update frame the bot sends to the gateway for streaming progress. */
118
+ export interface UpdateEnvelope {
119
+ msgId: string;
120
+ progress?: Progress;
121
+ body: UpdateBody;
122
+ }
71
123
  /** Heartbeat — kept exported because tests historically inspected it. */
72
124
  export interface HeartbeatEnvelope {
73
125
  botId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE3E,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,SAAS;IACxB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,+DAA+D;AAC/D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE3E,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;4EACwE;IACxE,MAAM,CAAC,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzG;AAED,MAAM,WAAW,SAAS;IACxB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;wEACoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;CACH;AAED;8EAC8E;AAC9E,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtB;;0DAE0D;AAC1D,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;qEAGiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;+DAE2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;CAC9C;AAED,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;gFAI4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,+DAA+D;AAC/D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@localhostdevs/sdk",
3
- "version": "0.3.5",
3
+ "version": "0.4.1",
4
4
  "description": "JavaScript SDK for building bots on localhostdevs — run your app on your laptop, publish it as a command-driven bot.",
5
5
  "keywords": [
6
6
  "localhostdevs",