@novator-ai/memtask-cli 0.1.0 → 0.1.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/README.md +58 -8
- package/dist/index.js +273 -19
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.js +5 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/http.d.ts +1 -0
- package/dist/lib/http.js +36 -1
- package/dist/lib/http.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,6 +19,7 @@ node packages/cli/dist/bin/memtask.js --help
|
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
21
|
memtask login --email you@example.com
|
|
22
|
+
memtask config show
|
|
22
23
|
memtask doctor
|
|
23
24
|
```
|
|
24
25
|
|
|
@@ -26,27 +27,40 @@ Use a non-default backend when testing:
|
|
|
26
27
|
|
|
27
28
|
```bash
|
|
28
29
|
memtask login --api-url https://YOUR_CONVEX_SITE.convex.site/cli/v1 --email you@example.com
|
|
30
|
+
memtask config set api-url https://YOUR_CONVEX_SITE.convex.site
|
|
29
31
|
```
|
|
30
32
|
|
|
31
|
-
The config file is stored at `~/.memtask/config.json` with `0600` permissions. You can override it with `MEMTASK_CONFIG`.
|
|
33
|
+
`api-url` accepts either the root backend URL or the full `/cli/v1` URL. The config file is stored at `~/.memtask/config.json` with `0600` permissions. You can override it with `MEMTASK_CONFIG`.
|
|
32
34
|
|
|
33
|
-
## v0.1 Commands
|
|
35
|
+
## v0.1.4 Commands
|
|
34
36
|
|
|
35
37
|
```bash
|
|
38
|
+
memtask config show
|
|
39
|
+
memtask config set api-url https://mem-task.com
|
|
40
|
+
memtask config set gateway-url https://mem-task.com
|
|
41
|
+
memtask config unset worker
|
|
42
|
+
memtask room list
|
|
43
|
+
memtask room create --from error.log
|
|
36
44
|
memtask room create --workflow failure --from error.log
|
|
45
|
+
memtask room status <room-id>
|
|
46
|
+
memtask run start <room-id> --preview
|
|
47
|
+
memtask run start <room-id>
|
|
37
48
|
memtask packet pull <room-id> --out packet.md
|
|
49
|
+
memtask packet inspect <room-id>
|
|
38
50
|
memtask result push <room-id> --summary result.md --artifact patch.diff
|
|
39
|
-
memtask
|
|
51
|
+
memtask result accept <room-id>
|
|
52
|
+
memtask doctor --deep --json
|
|
40
53
|
```
|
|
41
54
|
|
|
42
55
|
Supported workflow aliases:
|
|
43
56
|
|
|
57
|
+
- `auto` or omit `--workflow`
|
|
44
58
|
- `support`, `support-to-code`
|
|
45
59
|
- `failure`, `failure-room`
|
|
46
60
|
- `founder`, `founder-ticket`
|
|
47
61
|
- `review`, `scope`, `bug`, `general`
|
|
48
62
|
|
|
49
|
-
##
|
|
63
|
+
## Worker Commands
|
|
50
64
|
|
|
51
65
|
Create an external-agent connection:
|
|
52
66
|
|
|
@@ -54,19 +68,27 @@ Create an external-agent connection:
|
|
|
54
68
|
memtask worker connect --name "Local coding agent"
|
|
55
69
|
```
|
|
56
70
|
|
|
71
|
+
By default, `worker connect` stores the gateway token in `~/.memtask/config.json` and prints only a masked preview. To export credentials for a VM or CI worker, run it in a trusted terminal with:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
memtask worker connect --show-token
|
|
75
|
+
```
|
|
76
|
+
|
|
57
77
|
Run a pull worker once:
|
|
58
78
|
|
|
59
79
|
```bash
|
|
60
|
-
memtask worker run --once --exec '
|
|
80
|
+
memtask worker run --once --exec 'your-agent-command'
|
|
61
81
|
```
|
|
62
82
|
|
|
83
|
+
MemTask pipes the scoped task packet to stdin and sends stdout back to the Task Room. Any command-line agent can be used here as long as it can read from stdin or is wrapped by a small script. For older integrations, `MEMTASK_PACKET_PATH` is still available as a compatibility escape hatch.
|
|
84
|
+
|
|
63
85
|
Run continuously:
|
|
64
86
|
|
|
65
87
|
```bash
|
|
66
|
-
memtask worker run --exec 'your-agent-command
|
|
88
|
+
memtask worker run --exec 'your-agent-command'
|
|
67
89
|
```
|
|
68
90
|
|
|
69
|
-
|
|
91
|
+
Compatibility variables for wrapper authors. Most users do not need these because MemTask stores credentials and pipes the packet to stdin:
|
|
70
92
|
|
|
71
93
|
- `MEMTASK_PACKET_PATH`
|
|
72
94
|
- `MEMTASK_INVOCATION_ID`
|
|
@@ -76,6 +98,29 @@ The worker command provides:
|
|
|
76
98
|
|
|
77
99
|
The command stdout becomes the result returned to the Task Room. A non-zero exit code returns a failed result with stdout/stderr attached.
|
|
78
100
|
|
|
101
|
+
## Reliability and environments
|
|
102
|
+
|
|
103
|
+
GET requests retry transient HTTP 408/429/5xx failures by default. Tune this with:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
export MEMTASK_HTTP_RETRIES=3
|
|
107
|
+
export MEMTASK_HTTP_RETRY_BASE_MS=500
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
For production backend changes, update the API once:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
memtask config set api-url https://YOUR_PRODUCTION_DOMAIN
|
|
114
|
+
memtask doctor --deep
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
For a separate worker gateway:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
memtask config set gateway-url https://YOUR_GATEWAY_DOMAIN
|
|
121
|
+
memtask worker run --once --print-only
|
|
122
|
+
```
|
|
123
|
+
|
|
79
124
|
Replay a run:
|
|
80
125
|
|
|
81
126
|
```bash
|
|
@@ -83,13 +128,18 @@ memtask replay <run-id>
|
|
|
83
128
|
memtask replay <run-id> --json
|
|
84
129
|
```
|
|
85
130
|
|
|
131
|
+
## Token handling
|
|
132
|
+
|
|
133
|
+
`worker connect` no longer prints the full gateway token by default. It stores the token in `~/.memtask/config.json` and shows a masked preview. Use `--show-token` only in a trusted terminal when exporting credentials to a VM or CI secret manager.
|
|
134
|
+
|
|
86
135
|
## Publishing
|
|
87
136
|
|
|
88
137
|
After creating the npm org/scope:
|
|
89
138
|
|
|
90
139
|
```bash
|
|
91
140
|
npm login
|
|
92
|
-
npm --workspace @novator-ai/memtask-cli
|
|
141
|
+
npm --workspace @novator-ai/memtask-cli run prepublishOnly
|
|
142
|
+
npm --workspace @novator-ai/memtask-cli pack --dry-run
|
|
93
143
|
npm --workspace @novator-ai/memtask-cli publish --access public
|
|
94
144
|
```
|
|
95
145
|
|
package/dist/index.js
CHANGED
|
@@ -3,11 +3,11 @@ import { mkdtemp, writeFile } from "node:fs/promises";
|
|
|
3
3
|
import { tmpdir } from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { parseArgs, flagBoolean, flagNumber, flagString, requirePositional } from "./lib/args.js";
|
|
6
|
-
import { configPath, gatewayBaseFromApiUrl, normalizeBaseUrl, readConfig, resolveApiUrl, resolveToken, writeConfig } from "./lib/config.js";
|
|
6
|
+
import { configPath, gatewayBaseFromApiUrl, normalizeApiUrl, normalizeBaseUrl, readConfig, resolveApiUrl, resolveToken, writeConfig } from "./lib/config.js";
|
|
7
7
|
import { CliError, errorMessage } from "./lib/errors.js";
|
|
8
8
|
import { apiRequest } from "./lib/http.js";
|
|
9
9
|
import { promptSecret, promptText, readOptionalTextFile, readTextInput, writeOutput } from "./lib/io.js";
|
|
10
|
-
const VERSION = "0.1.
|
|
10
|
+
const VERSION = "0.1.6";
|
|
11
11
|
export async function main(argv) {
|
|
12
12
|
const parsed = parseArgs(argv);
|
|
13
13
|
if (flagBoolean(parsed, ["version", "v"]) || parsed.positionals[0] === "version") {
|
|
@@ -24,12 +24,28 @@ export async function main(argv) {
|
|
|
24
24
|
return await commandLogin(stripCommand(parsed, 1));
|
|
25
25
|
if (command === "doctor")
|
|
26
26
|
return await commandDoctor(stripCommand(parsed, 1));
|
|
27
|
+
if (command === "config" && subcommand === "show")
|
|
28
|
+
return await commandConfigShow(stripCommand(parsed, 2));
|
|
29
|
+
if (command === "config" && subcommand === "set")
|
|
30
|
+
return await commandConfigSet(stripCommand(parsed, 2));
|
|
31
|
+
if (command === "config" && subcommand === "unset")
|
|
32
|
+
return await commandConfigUnset(stripCommand(parsed, 2));
|
|
33
|
+
if (command === "room" && subcommand === "list")
|
|
34
|
+
return await commandRoomList(stripCommand(parsed, 2));
|
|
27
35
|
if (command === "room" && subcommand === "create")
|
|
28
36
|
return await commandRoomCreate(stripCommand(parsed, 2));
|
|
37
|
+
if (command === "room" && subcommand === "status")
|
|
38
|
+
return await commandRoomStatus(stripCommand(parsed, 2));
|
|
29
39
|
if (command === "packet" && subcommand === "pull")
|
|
30
40
|
return await commandPacketPull(stripCommand(parsed, 2));
|
|
41
|
+
if (command === "packet" && subcommand === "inspect")
|
|
42
|
+
return await commandPacketInspect(stripCommand(parsed, 2));
|
|
31
43
|
if (command === "result" && subcommand === "push")
|
|
32
44
|
return await commandResultPush(stripCommand(parsed, 2));
|
|
45
|
+
if (command === "result" && subcommand === "accept")
|
|
46
|
+
return await commandResultAccept(stripCommand(parsed, 2));
|
|
47
|
+
if (command === "run" && subcommand === "start")
|
|
48
|
+
return await commandRunStart(stripCommand(parsed, 2));
|
|
33
49
|
if (command === "worker" && subcommand === "connect")
|
|
34
50
|
return await commandWorkerConnect(stripCommand(parsed, 2));
|
|
35
51
|
if (command === "worker" && subcommand === "run")
|
|
@@ -38,6 +54,76 @@ export async function main(argv) {
|
|
|
38
54
|
return await commandReplay(stripCommand(parsed, 1));
|
|
39
55
|
throw new CliError(`Unknown command: ${parsed.positionals.join(" ")}`);
|
|
40
56
|
}
|
|
57
|
+
async function commandConfigShow(args) {
|
|
58
|
+
const config = await readConfig();
|
|
59
|
+
const safeConfig = {
|
|
60
|
+
...config,
|
|
61
|
+
sessionToken: config.sessionToken ? maskToken(config.sessionToken) : undefined,
|
|
62
|
+
worker: config.worker
|
|
63
|
+
? {
|
|
64
|
+
...config.worker,
|
|
65
|
+
gatewayToken: config.worker.gatewayToken ? maskToken(config.worker.gatewayToken) : undefined
|
|
66
|
+
}
|
|
67
|
+
: undefined
|
|
68
|
+
};
|
|
69
|
+
if (flagBoolean(args, ["json"])) {
|
|
70
|
+
console.log(JSON.stringify({ configPath: configPath(), config: safeConfig }, null, 2));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
console.log(`Config: ${configPath()}`);
|
|
74
|
+
console.log(`API: ${config.apiUrl ?? "(default)"}`);
|
|
75
|
+
console.log(`Login: ${config.sessionToken ? "configured" : "missing"}`);
|
|
76
|
+
console.log(`User: ${config.user?.email ?? config.user?.username ?? config.user?.userId ?? "(unknown)"}`);
|
|
77
|
+
console.log(`Worker gateway: ${config.worker?.gatewayBaseUrl ?? "(default from API)"}`);
|
|
78
|
+
console.log(`Worker connection: ${config.worker?.connectionId ?? "(not connected)"}`);
|
|
79
|
+
}
|
|
80
|
+
async function commandConfigSet(args) {
|
|
81
|
+
const key = requirePositional(args, 0, "config key");
|
|
82
|
+
const value = requirePositional(args, 1, "config value");
|
|
83
|
+
const config = await readConfig();
|
|
84
|
+
if (key === "api-url") {
|
|
85
|
+
const apiUrl = normalizeApiUrl(value);
|
|
86
|
+
await writeConfig({ ...config, apiUrl });
|
|
87
|
+
console.log(`API URL set: ${apiUrl}`);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (key === "gateway-url") {
|
|
91
|
+
const gatewayBaseUrl = normalizeBaseUrl(value);
|
|
92
|
+
await writeConfig({
|
|
93
|
+
...config,
|
|
94
|
+
worker: {
|
|
95
|
+
...config.worker,
|
|
96
|
+
gatewayBaseUrl
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
console.log(`Worker gateway URL set: ${gatewayBaseUrl}`);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
throw new CliError("Supported config keys: api-url, gateway-url.");
|
|
103
|
+
}
|
|
104
|
+
async function commandConfigUnset(args) {
|
|
105
|
+
const key = requirePositional(args, 0, "config key");
|
|
106
|
+
const config = await readConfig();
|
|
107
|
+
if (key === "worker") {
|
|
108
|
+
const { worker: _worker, ...rest } = config;
|
|
109
|
+
await writeConfig(rest);
|
|
110
|
+
console.log("Worker credentials removed from local config.");
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (key === "token" || key === "session-token") {
|
|
114
|
+
const { sessionToken: _sessionToken, ...rest } = config;
|
|
115
|
+
await writeConfig(rest);
|
|
116
|
+
console.log("Login token removed from local config.");
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (key === "api-url") {
|
|
120
|
+
const { apiUrl: _apiUrl, ...rest } = config;
|
|
121
|
+
await writeConfig(rest);
|
|
122
|
+
console.log("API URL reset to default.");
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
throw new CliError("Supported unset keys: api-url, token, worker.");
|
|
126
|
+
}
|
|
41
127
|
function stripCommand(args, count) {
|
|
42
128
|
return {
|
|
43
129
|
flags: args.flags,
|
|
@@ -70,6 +156,7 @@ async function commandDoctor(args) {
|
|
|
70
156
|
const config = await readConfig();
|
|
71
157
|
const apiUrl = resolveApiUrl(config, flagString(args, ["api-url"]));
|
|
72
158
|
const token = resolveToken(config, flagString(args, ["token"]));
|
|
159
|
+
const deep = flagBoolean(args, ["deep"]);
|
|
73
160
|
const local = {
|
|
74
161
|
configPath: configPath(),
|
|
75
162
|
apiUrl,
|
|
@@ -78,7 +165,7 @@ async function commandDoctor(args) {
|
|
|
78
165
|
};
|
|
79
166
|
const checks = { local };
|
|
80
167
|
if (token) {
|
|
81
|
-
checks.api = await apiRequest(apiUrl,
|
|
168
|
+
checks.api = await apiRequest(apiUrl, `/doctor${deep ? "?deep=1" : ""}`, { token });
|
|
82
169
|
}
|
|
83
170
|
const worker = resolveWorkerConfig(config, apiUrl, args, false);
|
|
84
171
|
if (worker.connectionId && worker.token) {
|
|
@@ -102,15 +189,39 @@ async function commandDoctor(args) {
|
|
|
102
189
|
console.log(`- Rooms: ${api.checks.rooms}`);
|
|
103
190
|
console.log(`- External connections: ${api.checks.externalConnections} (${api.checks.activeConnections} active)`);
|
|
104
191
|
}
|
|
192
|
+
if (deep && api.deepChecks?.activeWorkers) {
|
|
193
|
+
console.log("- Active workers:");
|
|
194
|
+
for (const workerItem of api.deepChecks.activeWorkers) {
|
|
195
|
+
console.log(` - ${workerItem.name} (${workerItem.transport}, load ${workerItem.currentLoad ?? 0})`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
105
198
|
}
|
|
106
199
|
if (checks.worker) {
|
|
107
200
|
const workerResult = checks.worker;
|
|
108
201
|
console.log(`- Worker gateway: ${workerResult.ok === false ? `error (${workerResult.error})` : "ok"}`);
|
|
109
202
|
}
|
|
110
203
|
}
|
|
204
|
+
async function commandRoomList(args) {
|
|
205
|
+
const { apiUrl, token } = await requireSession(args);
|
|
206
|
+
const limit = Math.max(1, Math.min(flagNumber(args, ["limit", "n"], 20), 100));
|
|
207
|
+
const result = await apiRequest(apiUrl, `/rooms?limit=${encodeURIComponent(String(limit))}`, { token });
|
|
208
|
+
if (flagBoolean(args, ["json"])) {
|
|
209
|
+
console.log(JSON.stringify(result, null, 2));
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
const rooms = Array.isArray(result.rooms) ? result.rooms : [];
|
|
213
|
+
if (!rooms.length) {
|
|
214
|
+
console.log("No rooms yet.");
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
for (const room of rooms) {
|
|
218
|
+
console.log(`${room.id} ${room.title}`);
|
|
219
|
+
console.log(` ${room.workflowKind ?? "general"} · ${room.status ?? "unknown"} · ${room.messageCount ?? 0} messages · ${room.deliveryCount ?? 0} deliveries`);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
111
222
|
async function commandRoomCreate(args) {
|
|
112
223
|
const { apiUrl, token } = await requireSession(args);
|
|
113
|
-
const workflow = flagString(args, ["workflow", "w"], "
|
|
224
|
+
const workflow = flagString(args, ["workflow", "w"], "auto");
|
|
114
225
|
const sourcePath = flagString(args, ["from", "f"]);
|
|
115
226
|
const sourceText = await readTextInput(sourcePath, "--from");
|
|
116
227
|
const sourceName = flagString(args, ["source-name"]) ?? (sourcePath && sourcePath !== "-" ? path.basename(sourcePath) : "stdin.txt");
|
|
@@ -128,6 +239,32 @@ async function commandRoomCreate(args) {
|
|
|
128
239
|
console.log(`Room ID: ${result.taskId}`);
|
|
129
240
|
console.log(`Workflow: ${result.workflowKind}`);
|
|
130
241
|
console.log(`Pull packet: memtask packet pull ${result.taskId}`);
|
|
242
|
+
console.log(`Preview run: memtask run start ${result.taskId} --preview`);
|
|
243
|
+
}
|
|
244
|
+
async function commandRoomStatus(args) {
|
|
245
|
+
const { apiUrl, token } = await requireSession(args);
|
|
246
|
+
const roomId = requirePositional(args, 0, "room id");
|
|
247
|
+
const result = await apiRequest(apiUrl, `/rooms/${encodeURIComponent(roomId)}/status`, { token });
|
|
248
|
+
if (flagBoolean(args, ["json"])) {
|
|
249
|
+
console.log(JSON.stringify(result, null, 2));
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
const room = result.room ?? {};
|
|
253
|
+
console.log(`${room.title ?? roomId}`);
|
|
254
|
+
console.log(`Room ID: ${room.id ?? roomId}`);
|
|
255
|
+
console.log(`Status: ${room.status ?? "unknown"}${room.phase ? ` · ${room.phase}` : ""}`);
|
|
256
|
+
console.log(`Workflow: ${room.workflowKind ?? "general"}`);
|
|
257
|
+
if (result.brief?.readiness) {
|
|
258
|
+
const readiness = result.brief.readiness;
|
|
259
|
+
console.log(`Readiness: ${readiness.ready}/${readiness.total}`);
|
|
260
|
+
if (Array.isArray(readiness.missing) && readiness.missing.length) {
|
|
261
|
+
console.log(`Missing: ${readiness.missing.join(", ")}`);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
if (result.selectedWorker) {
|
|
265
|
+
console.log(`Worker: ${result.selectedWorker.name} (${result.selectedWorker.transport})`);
|
|
266
|
+
}
|
|
267
|
+
console.log(`Next: ${result.nextAction ?? "Start a run or pull a packet."}`);
|
|
131
268
|
}
|
|
132
269
|
async function commandPacketPull(args) {
|
|
133
270
|
const { apiUrl, token } = await requireSession(args);
|
|
@@ -145,6 +282,23 @@ async function commandPacketPull(args) {
|
|
|
145
282
|
const payload = await apiRequest(apiUrl, `/rooms/${encodeURIComponent(roomId)}/packet?format=json`, { token });
|
|
146
283
|
await writeOutput(out, JSON.stringify(payload, null, 2));
|
|
147
284
|
}
|
|
285
|
+
async function commandPacketInspect(args) {
|
|
286
|
+
const { apiUrl, token } = await requireSession(args);
|
|
287
|
+
const roomId = requirePositional(args, 0, "room id");
|
|
288
|
+
const result = await apiRequest(apiUrl, `/rooms/${encodeURIComponent(roomId)}/packet/inspect`, { token });
|
|
289
|
+
if (flagBoolean(args, ["json"])) {
|
|
290
|
+
console.log(JSON.stringify(result, null, 2));
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
console.log(`Packet inspect: ${roomId}`);
|
|
294
|
+
console.log(`Workflow: ${result.workflowKind ?? "general"}`);
|
|
295
|
+
console.log(`Context: ${result.includes?.recentMessages ?? 0} messages · ${result.includes?.artifacts ?? 0} artifacts`);
|
|
296
|
+
console.log(`Estimated chars: ${result.estimatedChars?.total ?? "unknown"}`);
|
|
297
|
+
console.log(`Redaction: ${Array.isArray(result.redactionNotes) && result.redactionNotes.length ? result.redactionNotes.join(", ") : "none detected"}`);
|
|
298
|
+
if (Array.isArray(result.requiredInputs) && result.requiredInputs.length) {
|
|
299
|
+
console.log(`Useful inputs: ${result.requiredInputs.join(", ")}`);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
148
302
|
async function commandResultPush(args) {
|
|
149
303
|
const { apiUrl, token } = await requireSession(args);
|
|
150
304
|
const roomId = requirePositional(args, 0, "room id");
|
|
@@ -165,6 +319,68 @@ async function commandResultPush(args) {
|
|
|
165
319
|
console.log(`Result pushed to room ${roomId}.`);
|
|
166
320
|
console.log(`Delivery ID: ${result.deliveryId}`);
|
|
167
321
|
}
|
|
322
|
+
async function commandResultAccept(args) {
|
|
323
|
+
const { apiUrl, token } = await requireSession(args);
|
|
324
|
+
const roomId = requirePositional(args, 0, "room id");
|
|
325
|
+
const summaryPath = flagString(args, ["summary", "s"]);
|
|
326
|
+
const acceptedSummary = await readOptionalTextFile(summaryPath);
|
|
327
|
+
const result = await apiRequest(apiUrl, `/rooms/${encodeURIComponent(roomId)}/results/accept`, {
|
|
328
|
+
method: "POST",
|
|
329
|
+
token,
|
|
330
|
+
body: {
|
|
331
|
+
deliveryId: flagString(args, ["delivery-id"]),
|
|
332
|
+
acceptedSummary,
|
|
333
|
+
styleFeedback: flagString(args, ["style-feedback"]),
|
|
334
|
+
learnSkill: flagBoolean(args, ["learn-skill"]),
|
|
335
|
+
createFollowUp: !flagBoolean(args, ["no-follow-up"])
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
if (flagBoolean(args, ["json"])) {
|
|
339
|
+
console.log(JSON.stringify(result, null, 2));
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
console.log(`Accepted result for room ${roomId}.`);
|
|
343
|
+
console.log(`Delivery ID: ${result.deliveryId}`);
|
|
344
|
+
if (result.followUpScheduleId) {
|
|
345
|
+
console.log(`Follow-up scheduled: ${result.followUpScheduleId}`);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
async function commandRunStart(args) {
|
|
349
|
+
const { apiUrl, token } = await requireSession(args);
|
|
350
|
+
const roomId = requirePositional(args, 0, "room id");
|
|
351
|
+
const preview = flagBoolean(args, ["preview"]);
|
|
352
|
+
const result = preview
|
|
353
|
+
? await apiRequest(apiUrl, `/rooms/${encodeURIComponent(roomId)}/run/preview`, { token })
|
|
354
|
+
: await apiRequest(apiUrl, `/rooms/${encodeURIComponent(roomId)}/run`, {
|
|
355
|
+
method: "POST",
|
|
356
|
+
token,
|
|
357
|
+
body: {}
|
|
358
|
+
});
|
|
359
|
+
if (flagBoolean(args, ["json"])) {
|
|
360
|
+
console.log(JSON.stringify(result, null, 2));
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
if (preview) {
|
|
364
|
+
console.log(`Run preview: ${roomId}`);
|
|
365
|
+
console.log(`Workflow: ${result.workflowKind ?? "general"}`);
|
|
366
|
+
console.log(`Worker: ${result.worker?.name ?? "MemTask Team"} (${result.worker?.mode ?? "memtask_team"})`);
|
|
367
|
+
if (Array.isArray(result.skills) && result.skills.length) {
|
|
368
|
+
console.log(`Skills: ${result.skills.map((skill) => skill.name).join(", ")}`);
|
|
369
|
+
}
|
|
370
|
+
if (Array.isArray(result.reviewGates) && result.reviewGates.length) {
|
|
371
|
+
console.log("Review gates:");
|
|
372
|
+
for (const gate of result.reviewGates) {
|
|
373
|
+
console.log(`- ${gate}`);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
return;
|
|
377
|
+
}
|
|
378
|
+
console.log(`Started run for room ${roomId}.`);
|
|
379
|
+
if (result.invocationId) {
|
|
380
|
+
console.log(`Run ID: ${result.invocationId}`);
|
|
381
|
+
console.log(`Replay: memtask replay ${result.invocationId}`);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
168
384
|
async function commandWorkerConnect(args) {
|
|
169
385
|
const config = await readConfig();
|
|
170
386
|
const { apiUrl, token } = await requireSession(args, config);
|
|
@@ -187,20 +403,40 @@ async function commandWorkerConnect(args) {
|
|
|
187
403
|
label: name
|
|
188
404
|
}
|
|
189
405
|
});
|
|
406
|
+
const showToken = flagBoolean(args, ["show-token"]);
|
|
190
407
|
if (flagBoolean(args, ["json"])) {
|
|
191
|
-
console.log(JSON.stringify({
|
|
408
|
+
console.log(JSON.stringify({
|
|
409
|
+
...result,
|
|
410
|
+
token: showToken ? result.token : undefined,
|
|
411
|
+
tokenPreview: result.tokenPreview ?? maskToken(result.token),
|
|
412
|
+
tokenStored: true,
|
|
413
|
+
gatewayBaseUrl
|
|
414
|
+
}, null, 2));
|
|
192
415
|
return;
|
|
193
416
|
}
|
|
194
417
|
console.log("External agent connection created.");
|
|
195
418
|
console.log(`Connection ID: ${result.connectionId}`);
|
|
196
419
|
console.log(`Gateway: ${gatewayBaseUrl}`);
|
|
197
420
|
console.log(`Token: ${result.tokenPreview ?? maskToken(result.token)}`);
|
|
421
|
+
console.log(`Credentials saved: ${configPath()}`);
|
|
198
422
|
console.log("");
|
|
199
|
-
console.log("
|
|
200
|
-
console.log(
|
|
201
|
-
console.log(
|
|
202
|
-
console.log(
|
|
203
|
-
console.log("
|
|
423
|
+
console.log("Run locally:");
|
|
424
|
+
console.log("memtask worker run --once --print-only");
|
|
425
|
+
console.log("memtask worker run --exec 'your-agent-command'");
|
|
426
|
+
console.log("MemTask pipes the task packet to stdin and returns stdout to the Task Room.");
|
|
427
|
+
console.log("");
|
|
428
|
+
if (showToken) {
|
|
429
|
+
console.log("For a VM or CI worker, store these as secrets:");
|
|
430
|
+
console.log(`export MEMTASK_GATEWAY_BASE_URL=${shellQuote(gatewayBaseUrl)}`);
|
|
431
|
+
console.log(`export MEMTASK_CONNECTION_ID=${shellQuote(result.connectionId)}`);
|
|
432
|
+
console.log(`export MEMTASK_GATEWAY_TOKEN=${shellQuote(result.token)}`);
|
|
433
|
+
console.log("memtask worker run --exec 'your-agent-command'");
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
console.log("For a VM or CI worker:");
|
|
437
|
+
console.log("memtask worker connect --show-token");
|
|
438
|
+
console.log("Only use this in a trusted terminal or secret manager.");
|
|
439
|
+
}
|
|
204
440
|
}
|
|
205
441
|
async function commandWorkerRun(args) {
|
|
206
442
|
const config = await readConfig();
|
|
@@ -239,13 +475,15 @@ async function runOneWorkerPoll(worker, options) {
|
|
|
239
475
|
await submitWorkerResult(worker, invocationId, stepId, "blocked", "Packet printed by MemTask CLI worker; no executor was run.", "Printed packet.");
|
|
240
476
|
return true;
|
|
241
477
|
}
|
|
242
|
-
const
|
|
478
|
+
const packetInput = JSON.stringify(packet, null, 2);
|
|
479
|
+
const shellCommand = (options.execCommand ?? "").replace(/\{packet\}/g, shellQuote(packetPath));
|
|
480
|
+
const result = await runShell(shellCommand, {
|
|
243
481
|
MEMTASK_PACKET_PATH: packetPath,
|
|
244
482
|
MEMTASK_INVOCATION_ID: invocationId,
|
|
245
483
|
MEMTASK_STEP_ID: stepId ?? "",
|
|
246
484
|
MEMTASK_CONNECTION_ID: worker.connectionId,
|
|
247
485
|
MEMTASK_GATEWAY_BASE_URL: worker.gatewayBaseUrl
|
|
248
|
-
});
|
|
486
|
+
}, packetInput);
|
|
249
487
|
const body = [result.stdout.trim(), result.stderr.trim() ? `\n\nstderr:\n${result.stderr.trim()}` : ""].join("").trim();
|
|
250
488
|
if (result.code === 0) {
|
|
251
489
|
await submitWorkerResult(worker, invocationId, stepId, "completed", body || "Executor completed without output.", firstLine(body) || "Executor completed.");
|
|
@@ -335,15 +573,22 @@ async function writePacketFile(invocationId, packet) {
|
|
|
335
573
|
await writeFile(file, JSON.stringify(packet, null, 2), "utf8");
|
|
336
574
|
return file;
|
|
337
575
|
}
|
|
338
|
-
function runShell(command, env) {
|
|
576
|
+
function runShell(command, env, stdinText) {
|
|
339
577
|
return new Promise((resolve) => {
|
|
340
578
|
const child = spawn(command, {
|
|
341
579
|
shell: true,
|
|
342
580
|
env: { ...process.env, ...env },
|
|
343
|
-
stdio: ["
|
|
581
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
344
582
|
});
|
|
345
583
|
const stdout = [];
|
|
346
584
|
const stderr = [];
|
|
585
|
+
child.stdin.on("error", () => undefined);
|
|
586
|
+
if (stdinText) {
|
|
587
|
+
child.stdin.end(stdinText);
|
|
588
|
+
}
|
|
589
|
+
else {
|
|
590
|
+
child.stdin.end();
|
|
591
|
+
}
|
|
347
592
|
child.stdout.on("data", (chunk) => stdout.push(Buffer.from(chunk)));
|
|
348
593
|
child.stderr.on("data", (chunk) => stderr.push(Buffer.from(chunk)));
|
|
349
594
|
child.on("close", (code) => {
|
|
@@ -360,12 +605,20 @@ function printHelp() {
|
|
|
360
605
|
|
|
361
606
|
Usage:
|
|
362
607
|
memtask login --email you@example.com
|
|
363
|
-
memtask
|
|
608
|
+
memtask config show
|
|
609
|
+
memtask config set api-url https://mem-task.com
|
|
610
|
+
memtask doctor [--deep]
|
|
611
|
+
memtask room list
|
|
364
612
|
memtask room create --workflow failure --from error.log
|
|
613
|
+
memtask room status <room-id>
|
|
614
|
+
memtask run start <room-id> --preview
|
|
615
|
+
memtask run start <room-id>
|
|
365
616
|
memtask packet pull <room-id> --out packet.md
|
|
617
|
+
memtask packet inspect <room-id>
|
|
366
618
|
memtask result push <room-id> --summary result.md --artifact patch.diff
|
|
619
|
+
memtask result accept <room-id>
|
|
367
620
|
memtask worker connect --name "Local agent"
|
|
368
|
-
memtask worker run --exec 'your-agent
|
|
621
|
+
memtask worker run --exec 'your-agent-command'
|
|
369
622
|
memtask replay <run-id>
|
|
370
623
|
|
|
371
624
|
Global flags:
|
|
@@ -373,9 +626,10 @@ Global flags:
|
|
|
373
626
|
--token <token> Session token override.
|
|
374
627
|
--json Print machine-readable JSON.
|
|
375
628
|
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
629
|
+
Configuration:
|
|
630
|
+
memtask login stores API auth locally.
|
|
631
|
+
memtask worker connect stores worker credentials locally.
|
|
632
|
+
Advanced environment overrides are documented in the README.`);
|
|
379
633
|
}
|
|
380
634
|
function maskToken(token) {
|
|
381
635
|
if (token.length <= 10) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -21,3 +21,4 @@ export declare function resolveApiUrl(config: MemTaskConfig, override?: string):
|
|
|
21
21
|
export declare function resolveToken(config: MemTaskConfig, override?: string): string;
|
|
22
22
|
export declare function gatewayBaseFromApiUrl(apiUrl: string): string;
|
|
23
23
|
export declare function normalizeBaseUrl(value: string): string;
|
|
24
|
+
export declare function normalizeApiUrl(value: string): string;
|
package/dist/lib/config.js
CHANGED
|
@@ -28,7 +28,7 @@ export async function writeConfig(config) {
|
|
|
28
28
|
await chmod(file, 0o600).catch(() => undefined);
|
|
29
29
|
}
|
|
30
30
|
export function resolveApiUrl(config, override) {
|
|
31
|
-
return
|
|
31
|
+
return normalizeApiUrl(override || process.env.MEMTASK_API_URL || config.apiUrl || defaultApiUrl);
|
|
32
32
|
}
|
|
33
33
|
export function resolveToken(config, override) {
|
|
34
34
|
return override || process.env.MEMTASK_TOKEN || config.sessionToken || "";
|
|
@@ -39,4 +39,8 @@ export function gatewayBaseFromApiUrl(apiUrl) {
|
|
|
39
39
|
export function normalizeBaseUrl(value) {
|
|
40
40
|
return value.replace(/\/+$/g, "");
|
|
41
41
|
}
|
|
42
|
+
export function normalizeApiUrl(value) {
|
|
43
|
+
const trimmed = normalizeBaseUrl(value.trim());
|
|
44
|
+
return /\/cli\/v1$/i.test(trimmed) ? trimmed : `${trimmed}/cli/v1`;
|
|
45
|
+
}
|
|
42
46
|
//# sourceMappingURL=config.js.map
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAkBvC,MAAM,CAAC,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAE3D,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,QAAQ,CAAC,gCAAgC,UAAU,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAqB;IACrD,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAqB,EAAE,QAAiB;IACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAkBvC,MAAM,CAAC,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAE3D,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,QAAQ,CAAC,gCAAgC,UAAU,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAqB;IACrD,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAqB,EAAE,QAAiB;IACpE,OAAO,eAAe,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAqB,EAAE,QAAiB;IACnE,OAAO,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,OAAO,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,SAAS,CAAC;AACrE,CAAC"}
|
package/dist/lib/http.d.ts
CHANGED
package/dist/lib/http.js
CHANGED
|
@@ -9,11 +9,29 @@ export class MemTaskHttpError extends CliError {
|
|
|
9
9
|
}
|
|
10
10
|
export async function apiRequest(baseUrl, path, options = {}) {
|
|
11
11
|
const url = path.startsWith("http") ? path : `${baseUrl}${path.startsWith("/") ? path : `/${path}`}`;
|
|
12
|
+
const method = options.method ?? (options.body === undefined ? "GET" : "POST");
|
|
13
|
+
const retryCount = Math.max(0, options.retries ?? (method === "GET" ? envNumber("MEMTASK_HTTP_RETRIES", 2) : 0));
|
|
14
|
+
let lastError;
|
|
15
|
+
for (let attempt = 0; attempt <= retryCount; attempt += 1) {
|
|
16
|
+
try {
|
|
17
|
+
return await requestOnce(url, method, options);
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
lastError = error;
|
|
21
|
+
if (attempt >= retryCount || !isRetryable(error)) {
|
|
22
|
+
throw error;
|
|
23
|
+
}
|
|
24
|
+
await sleep(backoffMs(attempt));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
throw lastError;
|
|
28
|
+
}
|
|
29
|
+
async function requestOnce(url, method, options) {
|
|
12
30
|
const controller = new AbortController();
|
|
13
31
|
const timeout = setTimeout(() => controller.abort(), options.timeoutMs ?? 120_000);
|
|
14
32
|
try {
|
|
15
33
|
const response = await fetch(url, {
|
|
16
|
-
method
|
|
34
|
+
method,
|
|
17
35
|
signal: controller.signal,
|
|
18
36
|
headers: {
|
|
19
37
|
Accept: options.rawText ? "text/plain" : "application/json",
|
|
@@ -53,4 +71,21 @@ export async function apiRequest(baseUrl, path, options = {}) {
|
|
|
53
71
|
clearTimeout(timeout);
|
|
54
72
|
}
|
|
55
73
|
}
|
|
74
|
+
function isRetryable(error) {
|
|
75
|
+
if (error instanceof MemTaskHttpError) {
|
|
76
|
+
return [408, 429, 500, 502, 503, 504].includes(error.status);
|
|
77
|
+
}
|
|
78
|
+
return error instanceof Error && error.name !== "AbortError";
|
|
79
|
+
}
|
|
80
|
+
function backoffMs(attempt) {
|
|
81
|
+
const base = Math.max(100, envNumber("MEMTASK_HTTP_RETRY_BASE_MS", 400));
|
|
82
|
+
return Math.min(5000, base * 2 ** attempt + Math.floor(Math.random() * 120));
|
|
83
|
+
}
|
|
84
|
+
function sleep(ms) {
|
|
85
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
86
|
+
}
|
|
87
|
+
function envNumber(name, fallback) {
|
|
88
|
+
const value = Number(process.env[name] ?? fallback);
|
|
89
|
+
return Number.isFinite(value) ? value : fallback;
|
|
90
|
+
}
|
|
56
91
|
//# sourceMappingURL=http.js.map
|
package/dist/lib/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"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"}
|