@localhostdevs/sdk 0.3.3 → 0.3.4
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 +118 -118
- package/dist/bot.d.ts +5 -1
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +46 -3
- package/dist/bot.js.map +1 -1
- package/package.json +60 -60
package/README.md
CHANGED
|
@@ -1,118 +1,118 @@
|
|
|
1
|
-
# @localhostdevs/sdk
|
|
2
|
-
|
|
3
|
-
The JavaScript SDK for building bots on **[localhostdevs](https://localhostdevs.com)** — run your app on your own laptop and publish it as a command-driven bot that anyone can use through a chat-style interface.
|
|
4
|
-
|
|
5
|
-
> Pre-1.0: API surface may break in minor versions (`0.x → 0.y`). Once the platform launches with external users, we'll cut a 1.0 that promises stability.
|
|
6
|
-
|
|
7
|
-
## Install
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install @localhostdevs/sdk
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## Quickstart
|
|
14
|
-
|
|
15
|
-
After creating a bot in the [dashboard](https://localhostdevs.com/dashboard/bots) and copying your API key, write this to `app.js`:
|
|
16
|
-
|
|
17
|
-
```js
|
|
18
|
-
import { Bot } from '@localhostdevs/sdk';
|
|
19
|
-
|
|
20
|
-
const bot = new Bot({
|
|
21
|
-
id: 'price-bot', // your bot's handle (matches the @handle on the marketplace)
|
|
22
|
-
// apiKey: process.env.LHD_API_KEY, // optional; auto-read from env if unset
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
bot.cmd('ping', async (ctx) => {
|
|
26
|
-
await ctx.reply({ text: 'pong' });
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
bot.cmd('echo', async (ctx) => {
|
|
30
|
-
await ctx.reply({ text: `echo: ${JSON.stringify(ctx.args)}` });
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
await bot.connect();
|
|
34
|
-
console.log('bot online — waiting for commands');
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Then:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
LHD_API_KEY=<your bot's API key from the dashboard> node app.js
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
The bot stays online for as long as the process runs. The gateway keeps the connection healthy via heartbeats; consumers see your bot as **online** while it's connected.
|
|
44
|
-
|
|
45
|
-
## API
|
|
46
|
-
|
|
47
|
-
### `new Bot(opts)`
|
|
48
|
-
|
|
49
|
-
| Option | Type | Default | Notes |
|
|
50
|
-
| -------------------- | ------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
|
51
|
-
| `id` | `string` (required) | — | Your bot's handle. Lowercase letters / digits / dashes. |
|
|
52
|
-
| `apiKey` | `string` (required) | `process.env.LHD_API_KEY` | Per-bot API key from the dashboard. The gateway validates it and scopes you to your own bot only. |
|
|
53
|
-
| `serverUrl` | `string` | `wss://bot-api.localhostdevs.com/bot` (override with `LHD_SERVER_URL`) | Production gateway is baked in — most users leave this alone. Only override for local dev or self-hosted gateways. |
|
|
54
|
-
| `idempotencyLruSize` | `number` | `1024` | How many recent message IDs to remember for deduplication. |
|
|
55
|
-
|
|
56
|
-
### `bot.cmd(name, handler)`
|
|
57
|
-
|
|
58
|
-
Register a handler for a command. Must be called before `connect()`. Handler receives a `CommandContext`:
|
|
59
|
-
|
|
60
|
-
```ts
|
|
61
|
-
bot.cmd('greet', async (ctx) => {
|
|
62
|
-
// ctx.args: parsed args from the consumer
|
|
63
|
-
// ctx.command: 'greet'
|
|
64
|
-
// ctx.msgId: unique id for this invocation
|
|
65
|
-
|
|
66
|
-
await ctx.reply({ text: `Hello, ${ctx.args.name ?? 'world'}!` });
|
|
67
|
-
|
|
68
|
-
// ctx.reply also supports:
|
|
69
|
-
// data: any — structured payload alongside text
|
|
70
|
-
// dispatch: { to, command, args } — chain to another bot (max depth 5)
|
|
71
|
-
});
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### `await bot.connect()`
|
|
75
|
-
|
|
76
|
-
Open the WebSocket to the gateway, authenticate, and start receiving commands. Resolves after the gateway sends `HELLO` (the SDK is ready for traffic).
|
|
77
|
-
|
|
78
|
-
### `await bot.disconnect()`
|
|
79
|
-
|
|
80
|
-
Close the WebSocket cleanly.
|
|
81
|
-
|
|
82
|
-
## Idempotency
|
|
83
|
-
|
|
84
|
-
Every command from the gateway carries a `msgId`. The SDK deduplicates redelivered messages via a fixed-size LRU keyed by `msgId`. If the gateway happens to deliver the same command twice, your handler runs once.
|
|
85
|
-
|
|
86
|
-
## Online / offline status
|
|
87
|
-
|
|
88
|
-
The gateway pings the bot every 30 seconds and the SDK responds. If the gateway stops hearing from you for >60 seconds it marks the bot offline. Reconnect simply by starting the process again.
|
|
89
|
-
|
|
90
|
-
## Bot-to-bot composition
|
|
91
|
-
|
|
92
|
-
A reply can carry a `dispatch` directive to chain a command to another bot:
|
|
93
|
-
|
|
94
|
-
```js
|
|
95
|
-
bot.cmd('summary', async (ctx) => {
|
|
96
|
-
await ctx.reply({
|
|
97
|
-
text: 'fetching price first…',
|
|
98
|
-
dispatch: { to: 'price-bot', command: 'price', args: { ticker: 'AAPL' } },
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
Chains run up to depth 5 with loop detection. The original consumer pays for every step.
|
|
104
|
-
|
|
105
|
-
## Migrating from v0.2 → v0.3 (gateway pivot)
|
|
106
|
-
|
|
107
|
-
v0.3 is a breaking change vs v0.2 — the SDK no longer talks to NATS directly. It opens a WebSocket to the managed gateway and auths with a per-bot API key:
|
|
108
|
-
|
|
109
|
-
| Was (v0.2) | Now (v0.3) |
|
|
110
|
-
| -------------------------------------- | ------------------------------ |
|
|
111
|
-
| `new Bot({ id, natsUrl: 'nats://…' })` | `new Bot({ id, apiKey: '…' })` |
|
|
112
|
-
| `LHD_NATS_TOKEN=… node app.js` | `LHD_API_KEY=… node app.js` |
|
|
113
|
-
|
|
114
|
-
Drop the `natsUrl` and `natsToken` options entirely — the SDK figures out the right gateway URL on its own. Use your bot's **per-bot API key** from the dashboard (not the old shared broker token).
|
|
115
|
-
|
|
116
|
-
## License
|
|
117
|
-
|
|
118
|
-
MIT
|
|
1
|
+
# @localhostdevs/sdk
|
|
2
|
+
|
|
3
|
+
The JavaScript SDK for building bots on **[localhostdevs](https://localhostdevs.com)** — run your app on your own laptop and publish it as a command-driven bot that anyone can use through a chat-style interface.
|
|
4
|
+
|
|
5
|
+
> Pre-1.0: API surface may break in minor versions (`0.x → 0.y`). Once the platform launches with external users, we'll cut a 1.0 that promises stability.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @localhostdevs/sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Quickstart
|
|
14
|
+
|
|
15
|
+
After creating a bot in the [dashboard](https://localhostdevs.com/dashboard/bots) and copying your API key, write this to `app.js`:
|
|
16
|
+
|
|
17
|
+
```js
|
|
18
|
+
import { Bot } from '@localhostdevs/sdk';
|
|
19
|
+
|
|
20
|
+
const bot = new Bot({
|
|
21
|
+
id: 'price-bot', // your bot's handle (matches the @handle on the marketplace)
|
|
22
|
+
// apiKey: process.env.LHD_API_KEY, // optional; auto-read from env if unset
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
bot.cmd('ping', async (ctx) => {
|
|
26
|
+
await ctx.reply({ text: 'pong' });
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
bot.cmd('echo', async (ctx) => {
|
|
30
|
+
await ctx.reply({ text: `echo: ${JSON.stringify(ctx.args)}` });
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
await bot.connect();
|
|
34
|
+
console.log('bot online — waiting for commands');
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Then:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
LHD_API_KEY=<your bot's API key from the dashboard> node app.js
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
The bot stays online for as long as the process runs. The gateway keeps the connection healthy via heartbeats; consumers see your bot as **online** while it's connected.
|
|
44
|
+
|
|
45
|
+
## API
|
|
46
|
+
|
|
47
|
+
### `new Bot(opts)`
|
|
48
|
+
|
|
49
|
+
| Option | Type | Default | Notes |
|
|
50
|
+
| -------------------- | ------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
|
51
|
+
| `id` | `string` (required) | — | Your bot's handle. Lowercase letters / digits / dashes. |
|
|
52
|
+
| `apiKey` | `string` (required) | `process.env.LHD_API_KEY` | Per-bot API key from the dashboard. The gateway validates it and scopes you to your own bot only. |
|
|
53
|
+
| `serverUrl` | `string` | `wss://bot-api.localhostdevs.com/bot` (override with `LHD_SERVER_URL`) | Production gateway is baked in — most users leave this alone. Only override for local dev or self-hosted gateways. |
|
|
54
|
+
| `idempotencyLruSize` | `number` | `1024` | How many recent message IDs to remember for deduplication. |
|
|
55
|
+
|
|
56
|
+
### `bot.cmd(name, handler)`
|
|
57
|
+
|
|
58
|
+
Register a handler for a command. Must be called before `connect()`. Handler receives a `CommandContext`:
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
bot.cmd('greet', async (ctx) => {
|
|
62
|
+
// ctx.args: parsed args from the consumer
|
|
63
|
+
// ctx.command: 'greet'
|
|
64
|
+
// ctx.msgId: unique id for this invocation
|
|
65
|
+
|
|
66
|
+
await ctx.reply({ text: `Hello, ${ctx.args.name ?? 'world'}!` });
|
|
67
|
+
|
|
68
|
+
// ctx.reply also supports:
|
|
69
|
+
// data: any — structured payload alongside text
|
|
70
|
+
// dispatch: { to, command, args } — chain to another bot (max depth 5)
|
|
71
|
+
});
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### `await bot.connect()`
|
|
75
|
+
|
|
76
|
+
Open the WebSocket to the gateway, authenticate, and start receiving commands. Resolves after the gateway sends `HELLO` (the SDK is ready for traffic).
|
|
77
|
+
|
|
78
|
+
### `await bot.disconnect()`
|
|
79
|
+
|
|
80
|
+
Close the WebSocket cleanly.
|
|
81
|
+
|
|
82
|
+
## Idempotency
|
|
83
|
+
|
|
84
|
+
Every command from the gateway carries a `msgId`. The SDK deduplicates redelivered messages via a fixed-size LRU keyed by `msgId`. If the gateway happens to deliver the same command twice, your handler runs once.
|
|
85
|
+
|
|
86
|
+
## Online / offline status
|
|
87
|
+
|
|
88
|
+
The gateway pings the bot every 30 seconds and the SDK responds. If the gateway stops hearing from you for >60 seconds it marks the bot offline. Reconnect simply by starting the process again.
|
|
89
|
+
|
|
90
|
+
## Bot-to-bot composition
|
|
91
|
+
|
|
92
|
+
A reply can carry a `dispatch` directive to chain a command to another bot:
|
|
93
|
+
|
|
94
|
+
```js
|
|
95
|
+
bot.cmd('summary', async (ctx) => {
|
|
96
|
+
await ctx.reply({
|
|
97
|
+
text: 'fetching price first…',
|
|
98
|
+
dispatch: { to: 'price-bot', command: 'price', args: { ticker: 'AAPL' } },
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Chains run up to depth 5 with loop detection. The original consumer pays for every step.
|
|
104
|
+
|
|
105
|
+
## Migrating from v0.2 → v0.3 (gateway pivot)
|
|
106
|
+
|
|
107
|
+
v0.3 is a breaking change vs v0.2 — the SDK no longer talks to NATS directly. It opens a WebSocket to the managed gateway and auths with a per-bot API key:
|
|
108
|
+
|
|
109
|
+
| Was (v0.2) | Now (v0.3) |
|
|
110
|
+
| -------------------------------------- | ------------------------------ |
|
|
111
|
+
| `new Bot({ id, natsUrl: 'nats://…' })` | `new Bot({ id, apiKey: '…' })` |
|
|
112
|
+
| `LHD_NATS_TOKEN=… node app.js` | `LHD_API_KEY=… node app.js` |
|
|
113
|
+
|
|
114
|
+
Drop the `natsUrl` and `natsToken` options entirely — the SDK figures out the right gateway URL on its own. Use your bot's **per-bot API key** from the dashboard (not the old shared broker token).
|
|
115
|
+
|
|
116
|
+
## License
|
|
117
|
+
|
|
118
|
+
MIT
|
package/dist/bot.d.ts
CHANGED
|
@@ -28,11 +28,15 @@ export declare class Bot {
|
|
|
28
28
|
private resolveApiKey;
|
|
29
29
|
/** Close the gateway connection. Stops auto-reconnect. */
|
|
30
30
|
disconnect(): Promise<void>;
|
|
31
|
+
/** Built-in handler for the `commands` introspection command. Lists every
|
|
32
|
+
* user-registered handler so callers can discover what a bot supports.
|
|
33
|
+
* Users can override by calling cmd('commands', ...) themselves. */
|
|
34
|
+
private replyWithCommandList;
|
|
31
35
|
private dispatch;
|
|
32
36
|
private makeContext;
|
|
33
37
|
private isDuplicate;
|
|
34
38
|
private recordSeen;
|
|
35
39
|
}
|
|
36
|
-
export declare const SDK_PACKAGE_VERSION = "0.3.
|
|
40
|
+
export declare const SDK_PACKAGE_VERSION = "0.3.4";
|
|
37
41
|
export { nanoid };
|
|
38
42
|
//# sourceMappingURL=bot.d.ts.map
|
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;IAc5B,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;
|
|
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;IAc5B,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"}
|
package/dist/bot.js
CHANGED
|
@@ -156,16 +156,59 @@ export class Bot {
|
|
|
156
156
|
this.transport = null;
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
|
+
/** Built-in handler for the `commands` introspection command. Lists every
|
|
160
|
+
* user-registered handler so callers can discover what a bot supports.
|
|
161
|
+
* Users can override by calling cmd('commands', ...) themselves. */
|
|
162
|
+
replyWithCommandList(ctx) {
|
|
163
|
+
const userCommands = [...this.handlers.keys()].filter((c) => c !== 'commands');
|
|
164
|
+
userCommands.sort();
|
|
165
|
+
const list = userCommands.length ? userCommands.join(', ') : '(none)';
|
|
166
|
+
return ctx.reply({
|
|
167
|
+
text: `Available commands: ${list}`,
|
|
168
|
+
data: { commands: userCommands },
|
|
169
|
+
});
|
|
170
|
+
}
|
|
159
171
|
async dispatch(cmd) {
|
|
160
172
|
if (this.isDuplicate(cmd.msgId))
|
|
161
173
|
return;
|
|
162
174
|
this.recordSeen(cmd.msgId);
|
|
163
175
|
const handler = this.handlers.get(cmd.command);
|
|
176
|
+
const ctx = this.makeContext(cmd);
|
|
177
|
+
// Built-in `commands` fallback — only used if the bot didn't register
|
|
178
|
+
// its own. Lets every bot answer "what can you do?" without ceremony.
|
|
179
|
+
if (!handler && cmd.command === 'commands') {
|
|
180
|
+
try {
|
|
181
|
+
await this.replyWithCommandList(ctx);
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
logError('built-in commands handler error:', err);
|
|
185
|
+
}
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
164
188
|
if (!handler) {
|
|
165
|
-
// Unknown command —
|
|
189
|
+
// Unknown command — reply with a structured "not found" instead of
|
|
190
|
+
// silently dropping. Callers were timing out on every typo, which is
|
|
191
|
+
// worse UX than a fast error.
|
|
192
|
+
const userCommands = [...this.handlers.keys()].filter((c) => c !== 'commands');
|
|
193
|
+
userCommands.sort();
|
|
194
|
+
const hint = userCommands.length
|
|
195
|
+
? `Try one of: ${userCommands.join(', ')} (or 'commands' to list).`
|
|
196
|
+
: "This bot hasn't registered any commands yet.";
|
|
197
|
+
try {
|
|
198
|
+
await ctx.reply({
|
|
199
|
+
text: `Command not found: ${cmd.command}. ${hint}`,
|
|
200
|
+
data: {
|
|
201
|
+
error: 'command_not_found',
|
|
202
|
+
command: cmd.command,
|
|
203
|
+
available: userCommands,
|
|
204
|
+
},
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
catch (err) {
|
|
208
|
+
logError('command-not-found reply failed:', err);
|
|
209
|
+
}
|
|
166
210
|
return;
|
|
167
211
|
}
|
|
168
|
-
const ctx = this.makeContext(cmd);
|
|
169
212
|
try {
|
|
170
213
|
await handler(ctx);
|
|
171
214
|
}
|
|
@@ -208,7 +251,7 @@ export class Bot {
|
|
|
208
251
|
// Internal version constant — exported so the transport can stamp IDENTIFY frames.
|
|
209
252
|
// Pre-1.0: breaking changes are allowed in minor bumps (0.x). We're staying in
|
|
210
253
|
// 0.x until the platform launches with external users.
|
|
211
|
-
export const SDK_PACKAGE_VERSION = '0.3.
|
|
254
|
+
export const SDK_PACKAGE_VERSION = '0.3.4';
|
|
212
255
|
// Re-export nanoid so demo scripts can use the same id generator the SDK expects.
|
|
213
256
|
export { nanoid };
|
|
214
257
|
//# sourceMappingURL=bot.js.map
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@localhostdevs/sdk",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "JavaScript SDK for building bots on localhostdevs — run your app on your laptop, publish it as a command-driven bot.",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"localhostdevs",
|
|
7
|
-
"bot",
|
|
8
|
-
"websocket",
|
|
9
|
-
"chatops",
|
|
10
|
-
"cli",
|
|
11
|
-
"sdk"
|
|
12
|
-
],
|
|
13
|
-
"homepage": "https://github.com/jugod0/localhostdevs-sdk",
|
|
14
|
-
"repository": {
|
|
15
|
-
"type": "git",
|
|
16
|
-
"url": "git+https://github.com/jugod0/localhostdevs-sdk.git"
|
|
17
|
-
},
|
|
18
|
-
"bugs": {
|
|
19
|
-
"url": "https://github.com/jugod0/localhostdevs-sdk/issues"
|
|
20
|
-
},
|
|
21
|
-
"license": "MIT",
|
|
22
|
-
"type": "module",
|
|
23
|
-
"main": "./dist/index.js",
|
|
24
|
-
"types": "./dist/index.d.ts",
|
|
25
|
-
"exports": {
|
|
26
|
-
".": {
|
|
27
|
-
"types": "./dist/index.d.ts",
|
|
28
|
-
"import": "./dist/index.js",
|
|
29
|
-
"default": "./dist/index.js"
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
"files": [
|
|
33
|
-
"dist",
|
|
34
|
-
"README.md"
|
|
35
|
-
],
|
|
36
|
-
"engines": {
|
|
37
|
-
"node": ">=20"
|
|
38
|
-
},
|
|
39
|
-
"scripts": {
|
|
40
|
-
"build": "tsc -p tsconfig.build.json",
|
|
41
|
-
"typecheck": "tsc --noEmit",
|
|
42
|
-
"test": "vitest run",
|
|
43
|
-
"prepare": "npm run build",
|
|
44
|
-
"prepublishOnly": "npm run build"
|
|
45
|
-
},
|
|
46
|
-
"dependencies": {
|
|
47
|
-
"nanoid": "^5.1.11",
|
|
48
|
-
"ws": "^8.18.0"
|
|
49
|
-
},
|
|
50
|
-
"devDependencies": {
|
|
51
|
-
"@types/node": "^22.19.19",
|
|
52
|
-
"@types/ws": "^8.5.13",
|
|
53
|
-
"tsx": "^4.21.0",
|
|
54
|
-
"typescript": "^5.9.3",
|
|
55
|
-
"vitest": "^2.1.9"
|
|
56
|
-
},
|
|
57
|
-
"publishConfig": {
|
|
58
|
-
"access": "public"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@localhostdevs/sdk",
|
|
3
|
+
"version": "0.3.4",
|
|
4
|
+
"description": "JavaScript SDK for building bots on localhostdevs — run your app on your laptop, publish it as a command-driven bot.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"localhostdevs",
|
|
7
|
+
"bot",
|
|
8
|
+
"websocket",
|
|
9
|
+
"chatops",
|
|
10
|
+
"cli",
|
|
11
|
+
"sdk"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://github.com/jugod0/localhostdevs-sdk",
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/jugod0/localhostdevs-sdk.git"
|
|
17
|
+
},
|
|
18
|
+
"bugs": {
|
|
19
|
+
"url": "https://github.com/jugod0/localhostdevs-sdk/issues"
|
|
20
|
+
},
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"type": "module",
|
|
23
|
+
"main": "./dist/index.js",
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"import": "./dist/index.js",
|
|
29
|
+
"default": "./dist/index.js"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"dist",
|
|
34
|
+
"README.md"
|
|
35
|
+
],
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=20"
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "tsc -p tsconfig.build.json",
|
|
41
|
+
"typecheck": "tsc --noEmit",
|
|
42
|
+
"test": "vitest run",
|
|
43
|
+
"prepare": "npm run build",
|
|
44
|
+
"prepublishOnly": "npm run build"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"nanoid": "^5.1.11",
|
|
48
|
+
"ws": "^8.18.0"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/node": "^22.19.19",
|
|
52
|
+
"@types/ws": "^8.5.13",
|
|
53
|
+
"tsx": "^4.21.0",
|
|
54
|
+
"typescript": "^5.9.3",
|
|
55
|
+
"vitest": "^2.1.9"
|
|
56
|
+
},
|
|
57
|
+
"publishConfig": {
|
|
58
|
+
"access": "public"
|
|
59
|
+
}
|
|
60
|
+
}
|