minutework 0.1.7 → 0.1.8
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/assets/templates/fastapi-sidecar/template.schema.json +2 -1
- package/assets/templates/next-tenant-app/tools/template/with-public-site-fixture.mjs +18 -8
- package/dist/agent.d.ts +19 -0
- package/dist/agent.js +308 -0
- package/dist/agent.js.map +1 -0
- package/dist/developer-client.d.ts +59 -0
- package/dist/developer-client.js +35 -0
- package/dist/developer-client.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import { spawn } from "node:child_process";
|
|
|
2
2
|
import { createServer } from "node:http";
|
|
3
3
|
|
|
4
4
|
const [command, ...args] = process.argv.slice(2);
|
|
5
|
+
const storybookHeapMb = process.env.MW_STORYBOOK_NODE_HEAP_MB ?? "768";
|
|
5
6
|
|
|
6
7
|
if (!command) {
|
|
7
8
|
console.error("Usage: node tools/template/with-public-site-fixture.mjs <command> [args...]");
|
|
@@ -84,15 +85,24 @@ try {
|
|
|
84
85
|
});
|
|
85
86
|
|
|
86
87
|
const exitCode = await new Promise((resolve, reject) => {
|
|
88
|
+
const childEnv = {
|
|
89
|
+
...process.env,
|
|
90
|
+
MW_CONTENT_API_TOKEN: "validate-content-token",
|
|
91
|
+
MW_PLATFORM_BASE_URL: baseUrl,
|
|
92
|
+
MW_PUBLIC_BASE_URL: "https://public.example.com",
|
|
93
|
+
MW_PUBLIC_SITE_ENV: "preview",
|
|
94
|
+
MW_PUBLIC_SITE_PROPERTY_KEY: "main-site",
|
|
95
|
+
};
|
|
96
|
+
if (
|
|
97
|
+
command === "storybook" &&
|
|
98
|
+
!/\bmax-old-space-size=/.test(childEnv.NODE_OPTIONS ?? "")
|
|
99
|
+
) {
|
|
100
|
+
childEnv.NODE_OPTIONS = [childEnv.NODE_OPTIONS, `--max-old-space-size=${storybookHeapMb}`]
|
|
101
|
+
.filter(Boolean)
|
|
102
|
+
.join(" ");
|
|
103
|
+
}
|
|
87
104
|
const child = spawn(command, args, {
|
|
88
|
-
env:
|
|
89
|
-
...process.env,
|
|
90
|
-
MW_CONTENT_API_TOKEN: "validate-content-token",
|
|
91
|
-
MW_PLATFORM_BASE_URL: baseUrl,
|
|
92
|
-
MW_PUBLIC_BASE_URL: "https://public.example.com",
|
|
93
|
-
MW_PUBLIC_SITE_ENV: "preview",
|
|
94
|
-
MW_PUBLIC_SITE_PROPERTY_KEY: "main-site",
|
|
95
|
-
},
|
|
105
|
+
env: childEnv,
|
|
96
106
|
stdio: "inherit",
|
|
97
107
|
});
|
|
98
108
|
|
package/dist/agent.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CliIo } from "./index.js";
|
|
2
|
+
import type { CliStatePaths, PlatformName } from "./paths.js";
|
|
3
|
+
export type AgentDependencies = {
|
|
4
|
+
closeInput?: () => void;
|
|
5
|
+
fetchImpl?: typeof fetch;
|
|
6
|
+
heartbeatIntervalMs?: number;
|
|
7
|
+
inputLines?: AsyncIterable<string>;
|
|
8
|
+
pollIntervalMs?: number;
|
|
9
|
+
sleepImpl?: (ms: number) => Promise<void>;
|
|
10
|
+
};
|
|
11
|
+
export declare function runAgentCommand(options: {
|
|
12
|
+
args: string[];
|
|
13
|
+
cwd: string;
|
|
14
|
+
dependencies?: AgentDependencies;
|
|
15
|
+
env: NodeJS.ProcessEnv;
|
|
16
|
+
io: CliIo;
|
|
17
|
+
paths: CliStatePaths;
|
|
18
|
+
platform: PlatformName;
|
|
19
|
+
}): Promise<number>;
|
package/dist/agent.js
ADDED
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import { createInterface } from "node:readline";
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
import { createDeveloperClient, DeveloperApiRequestError, } from "./developer-client.js";
|
|
4
|
+
import { loadOptionalCurrentAuthProfile } from "./state.js";
|
|
5
|
+
const DEFAULT_AGENT_EVENTS_LIMIT = 50;
|
|
6
|
+
const DEFAULT_AGENT_POLL_INTERVAL_MS = 1_000;
|
|
7
|
+
const DEFAULT_AGENT_HEARTBEAT_INTERVAL_MS = 300_000;
|
|
8
|
+
export async function runAgentCommand(options) {
|
|
9
|
+
const { args, io } = options;
|
|
10
|
+
const [subcommand] = args;
|
|
11
|
+
if (!subcommand || subcommand === "--help" || subcommand === "-h" || subcommand === "help") {
|
|
12
|
+
io.stdout(renderAgentHelp());
|
|
13
|
+
return 0;
|
|
14
|
+
}
|
|
15
|
+
if (subcommand === "attach") {
|
|
16
|
+
return runInteractiveAgentCommand(options, "attach");
|
|
17
|
+
}
|
|
18
|
+
if (subcommand === "resume") {
|
|
19
|
+
return runInteractiveAgentCommand(options, "resume");
|
|
20
|
+
}
|
|
21
|
+
if (subcommand === "status") {
|
|
22
|
+
return runAgentStatusCommand(options);
|
|
23
|
+
}
|
|
24
|
+
if (subcommand === "stop") {
|
|
25
|
+
return runAgentStopCommand(options);
|
|
26
|
+
}
|
|
27
|
+
io.stderr(`Unknown agent subcommand: ${subcommand}`);
|
|
28
|
+
io.stderr("");
|
|
29
|
+
io.stderr(renderAgentHelp());
|
|
30
|
+
return 1;
|
|
31
|
+
}
|
|
32
|
+
async function runInteractiveAgentCommand(options, mode) {
|
|
33
|
+
const { io } = options;
|
|
34
|
+
const profile = await loadOptionalCurrentAuthProfile(options.paths);
|
|
35
|
+
if (!profile) {
|
|
36
|
+
io.stderr("No active CLI auth profile. Run `minutework login` first.");
|
|
37
|
+
return 1;
|
|
38
|
+
}
|
|
39
|
+
const client = createDeveloperClient({
|
|
40
|
+
profile,
|
|
41
|
+
dependencies: { fetchImpl: options.dependencies?.fetchImpl },
|
|
42
|
+
});
|
|
43
|
+
let session;
|
|
44
|
+
try {
|
|
45
|
+
session = mode === "attach" ? await client.attachAgent() : await client.resumeAgent();
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
if (error instanceof DeveloperApiRequestError) {
|
|
49
|
+
io.stderr(error.message);
|
|
50
|
+
return 1;
|
|
51
|
+
}
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
io.stdout(mode === "attach" ? "Attached to hosted agent." : "Resumed hosted agent.");
|
|
55
|
+
io.stdout(` Lease: ${session.lease_id}`);
|
|
56
|
+
io.stdout(` Thread: ${session.thread_title} (${session.thread_id})`);
|
|
57
|
+
io.stdout(` Expires: ${session.expires_at}`);
|
|
58
|
+
io.stdout("");
|
|
59
|
+
renderEntries(io, session.recent_entries);
|
|
60
|
+
io.stdout("Type a message and press Enter. Use /exit, Ctrl+C, or EOF to detach.");
|
|
61
|
+
let nextAfterSequence = session.next_after_sequence;
|
|
62
|
+
let detachRequested = false;
|
|
63
|
+
let detached = false;
|
|
64
|
+
const sleepImpl = options.dependencies?.sleepImpl ?? sleep;
|
|
65
|
+
const pollIntervalMs = options.dependencies?.pollIntervalMs ?? DEFAULT_AGENT_POLL_INTERVAL_MS;
|
|
66
|
+
const heartbeatIntervalMs = options.dependencies?.heartbeatIntervalMs ?? DEFAULT_AGENT_HEARTBEAT_INTERVAL_MS;
|
|
67
|
+
const heartbeatInterval = setInterval(async () => {
|
|
68
|
+
try {
|
|
69
|
+
await client.heartbeatAgent();
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// Heartbeat failures are best-effort; the lease will expire or stop explicitly.
|
|
73
|
+
}
|
|
74
|
+
}, heartbeatIntervalMs);
|
|
75
|
+
const inputController = options.dependencies?.inputLines
|
|
76
|
+
? {
|
|
77
|
+
close: options.dependencies.closeInput ?? (() => { }),
|
|
78
|
+
lines: options.dependencies.inputLines,
|
|
79
|
+
}
|
|
80
|
+
: createStdinLineSource();
|
|
81
|
+
const requestDetach = () => {
|
|
82
|
+
detachRequested = true;
|
|
83
|
+
inputController.close();
|
|
84
|
+
};
|
|
85
|
+
process.once("SIGINT", requestDetach);
|
|
86
|
+
process.once("SIGTERM", requestDetach);
|
|
87
|
+
try {
|
|
88
|
+
for await (const rawLine of inputController.lines) {
|
|
89
|
+
if (detachRequested) {
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
const line = rawLine.trim();
|
|
93
|
+
if (!line) {
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
if (line === "/exit") {
|
|
97
|
+
detachRequested = true;
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
let sentEntry;
|
|
101
|
+
try {
|
|
102
|
+
const response = await client.sendAgentMessage({
|
|
103
|
+
clientNonce: randomUUID(),
|
|
104
|
+
text: line,
|
|
105
|
+
});
|
|
106
|
+
sentEntry = response.entry;
|
|
107
|
+
nextAfterSequence = Math.max(nextAfterSequence, response.next_after_sequence);
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
if (error instanceof DeveloperApiRequestError) {
|
|
111
|
+
io.stderr(error.message);
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
throw error;
|
|
115
|
+
}
|
|
116
|
+
renderEntry(io, sentEntry);
|
|
117
|
+
nextAfterSequence = await pollForAssistantReply({
|
|
118
|
+
client,
|
|
119
|
+
currentSequence: nextAfterSequence,
|
|
120
|
+
detachRequested: () => detachRequested,
|
|
121
|
+
io,
|
|
122
|
+
limit: DEFAULT_AGENT_EVENTS_LIMIT,
|
|
123
|
+
pollIntervalMs,
|
|
124
|
+
sleepImpl,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
if (!detached) {
|
|
130
|
+
detached = true;
|
|
131
|
+
clearInterval(heartbeatInterval);
|
|
132
|
+
process.removeListener("SIGINT", requestDetach);
|
|
133
|
+
process.removeListener("SIGTERM", requestDetach);
|
|
134
|
+
try {
|
|
135
|
+
await client.stopAgent();
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
// Best-effort stop on detach.
|
|
139
|
+
}
|
|
140
|
+
io.stdout("");
|
|
141
|
+
io.stdout("Detached from hosted agent.");
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return 0;
|
|
145
|
+
}
|
|
146
|
+
async function pollForAssistantReply(options) {
|
|
147
|
+
let nextAfterSequence = options.currentSequence;
|
|
148
|
+
while (!options.detachRequested()) {
|
|
149
|
+
let response;
|
|
150
|
+
try {
|
|
151
|
+
response = await options.client.getAgentEvents({
|
|
152
|
+
afterSequence: nextAfterSequence,
|
|
153
|
+
limit: options.limit,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
if (error instanceof DeveloperApiRequestError) {
|
|
158
|
+
options.io.stderr(error.message);
|
|
159
|
+
return nextAfterSequence;
|
|
160
|
+
}
|
|
161
|
+
throw error;
|
|
162
|
+
}
|
|
163
|
+
let sawAssistantEntry = false;
|
|
164
|
+
for (const entry of response.entries) {
|
|
165
|
+
renderEntry(options.io, entry);
|
|
166
|
+
nextAfterSequence = Math.max(nextAfterSequence, entry.sequence);
|
|
167
|
+
if (isAssistantEntry(entry)) {
|
|
168
|
+
sawAssistantEntry = true;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (sawAssistantEntry) {
|
|
172
|
+
return nextAfterSequence;
|
|
173
|
+
}
|
|
174
|
+
if (response.has_more) {
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
await options.sleepImpl(options.pollIntervalMs);
|
|
178
|
+
}
|
|
179
|
+
return nextAfterSequence;
|
|
180
|
+
}
|
|
181
|
+
async function runAgentStatusCommand(options) {
|
|
182
|
+
const { io } = options;
|
|
183
|
+
const profile = await loadOptionalCurrentAuthProfile(options.paths);
|
|
184
|
+
if (!profile) {
|
|
185
|
+
io.stderr("No active CLI auth profile. Run `minutework login` first.");
|
|
186
|
+
return 1;
|
|
187
|
+
}
|
|
188
|
+
const client = createDeveloperClient({
|
|
189
|
+
profile,
|
|
190
|
+
dependencies: { fetchImpl: options.dependencies?.fetchImpl },
|
|
191
|
+
});
|
|
192
|
+
let result;
|
|
193
|
+
try {
|
|
194
|
+
result = await client.getAgentStatus();
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
if (error instanceof DeveloperApiRequestError) {
|
|
198
|
+
io.stderr(error.message);
|
|
199
|
+
return 1;
|
|
200
|
+
}
|
|
201
|
+
throw error;
|
|
202
|
+
}
|
|
203
|
+
if (result.lease_status === "no_active_lease") {
|
|
204
|
+
io.stdout("No active agent session.");
|
|
205
|
+
return 0;
|
|
206
|
+
}
|
|
207
|
+
io.stdout("Agent session:");
|
|
208
|
+
io.stdout(` Lease: ${result.lease_id ?? "—"}`);
|
|
209
|
+
io.stdout(` Status: ${result.lease_status}`);
|
|
210
|
+
io.stdout(` Thread: ${result.thread_title ?? "—"} (${result.thread_id ?? "—"})`);
|
|
211
|
+
io.stdout(` Expires: ${result.expires_at ?? "—"}`);
|
|
212
|
+
io.stdout(` Session: ${result.session_state ?? "unknown"}`);
|
|
213
|
+
return 0;
|
|
214
|
+
}
|
|
215
|
+
async function runAgentStopCommand(options) {
|
|
216
|
+
const { io } = options;
|
|
217
|
+
const profile = await loadOptionalCurrentAuthProfile(options.paths);
|
|
218
|
+
if (!profile) {
|
|
219
|
+
io.stderr("No active CLI auth profile. Run `minutework login` first.");
|
|
220
|
+
return 1;
|
|
221
|
+
}
|
|
222
|
+
const client = createDeveloperClient({
|
|
223
|
+
profile,
|
|
224
|
+
dependencies: { fetchImpl: options.dependencies?.fetchImpl },
|
|
225
|
+
});
|
|
226
|
+
let result;
|
|
227
|
+
try {
|
|
228
|
+
result = await client.stopAgent();
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
if (error instanceof DeveloperApiRequestError) {
|
|
232
|
+
io.stderr(error.message);
|
|
233
|
+
return 1;
|
|
234
|
+
}
|
|
235
|
+
throw error;
|
|
236
|
+
}
|
|
237
|
+
io.stdout(`Agent session stopped. Status: ${result.status}`);
|
|
238
|
+
return 0;
|
|
239
|
+
}
|
|
240
|
+
function renderEntries(io, entries) {
|
|
241
|
+
for (const entry of entries) {
|
|
242
|
+
renderEntry(io, entry);
|
|
243
|
+
}
|
|
244
|
+
if (entries.length > 0) {
|
|
245
|
+
io.stdout("");
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
function renderEntry(io, entry) {
|
|
249
|
+
const label = formatEntryLabel(entry);
|
|
250
|
+
const postText = typeof entry.post?.text === "string" && entry.post.text.trim()
|
|
251
|
+
? entry.post.text.trim()
|
|
252
|
+
: entry.preview_text.trim();
|
|
253
|
+
if (!postText) {
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
io.stdout(`${label}: ${postText}`);
|
|
257
|
+
}
|
|
258
|
+
function formatEntryLabel(entry) {
|
|
259
|
+
const senderLabel = entry.sender_label.trim();
|
|
260
|
+
if (senderLabel) {
|
|
261
|
+
return senderLabel;
|
|
262
|
+
}
|
|
263
|
+
if (entry.sender_kind === "agent") {
|
|
264
|
+
return "General Agent";
|
|
265
|
+
}
|
|
266
|
+
if (entry.sender_kind === "user") {
|
|
267
|
+
return "You";
|
|
268
|
+
}
|
|
269
|
+
return entry.sender_kind || "System";
|
|
270
|
+
}
|
|
271
|
+
function isAssistantEntry(entry) {
|
|
272
|
+
const postRole = typeof entry.post?.role === "string" ? entry.post.role : "";
|
|
273
|
+
return entry.sender_kind === "agent" || postRole === "assistant";
|
|
274
|
+
}
|
|
275
|
+
async function sleep(ms) {
|
|
276
|
+
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
277
|
+
}
|
|
278
|
+
function createStdinLineSource() {
|
|
279
|
+
const readline = createInterface({
|
|
280
|
+
input: process.stdin,
|
|
281
|
+
output: process.stdout,
|
|
282
|
+
terminal: process.stdout.isTTY,
|
|
283
|
+
});
|
|
284
|
+
return {
|
|
285
|
+
close: () => readline.close(),
|
|
286
|
+
lines: (async function* () {
|
|
287
|
+
try {
|
|
288
|
+
for await (const line of readline) {
|
|
289
|
+
yield line;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
finally {
|
|
293
|
+
readline.close();
|
|
294
|
+
}
|
|
295
|
+
})(),
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
function renderAgentHelp() {
|
|
299
|
+
return `Hosted Agent Commands
|
|
300
|
+
|
|
301
|
+
Usage:
|
|
302
|
+
minutework agent attach Attach to the hosted General Agent
|
|
303
|
+
minutework agent resume Resume the hosted General Agent session
|
|
304
|
+
minutework agent status Show current agent session status
|
|
305
|
+
minutework agent stop Stop the hosted agent session
|
|
306
|
+
`;
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,52 @@ export type DeveloperPublicSitePreviewDeployResponse = {
|
|
|
58
58
|
release: DeveloperSiteRelease;
|
|
59
59
|
rollback_status: DeveloperPreviewDeployState["rollback_status"];
|
|
60
60
|
};
|
|
61
|
+
export type AgentTimelineEntry = {
|
|
62
|
+
entry_at: string;
|
|
63
|
+
post: Record<string, unknown> | null;
|
|
64
|
+
preview_text: string;
|
|
65
|
+
sender_kind: string;
|
|
66
|
+
sender_label: string;
|
|
67
|
+
sequence: number;
|
|
68
|
+
source_kind: string;
|
|
69
|
+
source_ref: string;
|
|
70
|
+
};
|
|
71
|
+
export type AgentAttachResponse = {
|
|
72
|
+
expires_at: string;
|
|
73
|
+
lease_id: string;
|
|
74
|
+
lease_status: string;
|
|
75
|
+
next_after_sequence: number;
|
|
76
|
+
recent_entries: AgentTimelineEntry[];
|
|
77
|
+
thread_id: string;
|
|
78
|
+
thread_title: string;
|
|
79
|
+
};
|
|
80
|
+
export type AgentStatusResponse = {
|
|
81
|
+
expires_at: string | null;
|
|
82
|
+
lease_id: string | null;
|
|
83
|
+
lease_status: string;
|
|
84
|
+
session_state: string | null;
|
|
85
|
+
thread_id: string | null;
|
|
86
|
+
thread_title: string | null;
|
|
87
|
+
};
|
|
88
|
+
export type AgentStopResponse = {
|
|
89
|
+
released_at: string | null;
|
|
90
|
+
status: string;
|
|
91
|
+
};
|
|
92
|
+
export type AgentHeartbeatResponse = {
|
|
93
|
+
expires_at: string;
|
|
94
|
+
};
|
|
95
|
+
export type AgentMessageResponse = {
|
|
96
|
+
entry: AgentTimelineEntry;
|
|
97
|
+
lease_id: string;
|
|
98
|
+
next_after_sequence: number;
|
|
99
|
+
thread_id: string;
|
|
100
|
+
};
|
|
101
|
+
export type AgentEventsResponse = {
|
|
102
|
+
entries: AgentTimelineEntry[];
|
|
103
|
+
has_more: boolean;
|
|
104
|
+
next_after_sequence: number;
|
|
105
|
+
thread_id: string;
|
|
106
|
+
};
|
|
61
107
|
export type DeveloperClientDependencies = {
|
|
62
108
|
fetchImpl?: typeof fetch;
|
|
63
109
|
};
|
|
@@ -115,6 +161,19 @@ export declare function createDeveloperClient(options: {
|
|
|
115
161
|
version: string;
|
|
116
162
|
workspaceName: string;
|
|
117
163
|
}): Promise<DeveloperPublicSitePreviewDeployResponse>;
|
|
164
|
+
attachAgent(): Promise<AgentAttachResponse>;
|
|
165
|
+
resumeAgent(): Promise<AgentAttachResponse>;
|
|
166
|
+
getAgentStatus(): Promise<AgentStatusResponse>;
|
|
167
|
+
sendAgentMessage(input: {
|
|
168
|
+
clientNonce: string;
|
|
169
|
+
text: string;
|
|
170
|
+
}): Promise<AgentMessageResponse>;
|
|
171
|
+
getAgentEvents(input: {
|
|
172
|
+
afterSequence?: number;
|
|
173
|
+
limit?: number;
|
|
174
|
+
}): Promise<AgentEventsResponse>;
|
|
175
|
+
stopAgent(): Promise<AgentStopResponse>;
|
|
176
|
+
heartbeatAgent(): Promise<AgentHeartbeatResponse>;
|
|
118
177
|
};
|
|
119
178
|
export declare function submitCliBugReport(options: {
|
|
120
179
|
dependencies?: DeveloperClientDependencies;
|
package/dist/developer-client.js
CHANGED
|
@@ -68,6 +68,41 @@ export function createDeveloperClient(options) {
|
|
|
68
68
|
}),
|
|
69
69
|
}, "submit preview deploy");
|
|
70
70
|
},
|
|
71
|
+
attachAgent() {
|
|
72
|
+
return requestJson("/api/v1/developer/agent/attach/", { method: "POST", body: JSON.stringify({}) }, "attach to hosted agent");
|
|
73
|
+
},
|
|
74
|
+
resumeAgent() {
|
|
75
|
+
return requestJson("/api/v1/developer/agent/resume/", { method: "POST", body: JSON.stringify({}) }, "resume hosted agent");
|
|
76
|
+
},
|
|
77
|
+
getAgentStatus() {
|
|
78
|
+
return requestJson("/api/v1/developer/agent/status/", { method: "GET" }, "get hosted agent status");
|
|
79
|
+
},
|
|
80
|
+
sendAgentMessage(input) {
|
|
81
|
+
return requestJson("/api/v1/developer/agent/messages/", {
|
|
82
|
+
method: "POST",
|
|
83
|
+
body: JSON.stringify({
|
|
84
|
+
client_nonce: input.clientNonce,
|
|
85
|
+
text: input.text,
|
|
86
|
+
}),
|
|
87
|
+
}, "send hosted agent message");
|
|
88
|
+
},
|
|
89
|
+
getAgentEvents(input) {
|
|
90
|
+
const search = new URLSearchParams();
|
|
91
|
+
if (input.afterSequence !== undefined) {
|
|
92
|
+
search.set("after_sequence", String(input.afterSequence));
|
|
93
|
+
}
|
|
94
|
+
if (input.limit !== undefined) {
|
|
95
|
+
search.set("limit", String(input.limit));
|
|
96
|
+
}
|
|
97
|
+
const query = search.toString();
|
|
98
|
+
return requestJson(`/api/v1/developer/agent/events/${query ? `?${query}` : ""}`, { method: "GET" }, "get hosted agent events");
|
|
99
|
+
},
|
|
100
|
+
stopAgent() {
|
|
101
|
+
return requestJson("/api/v1/developer/agent/stop/", { method: "POST", body: JSON.stringify({}) }, "stop hosted agent");
|
|
102
|
+
},
|
|
103
|
+
heartbeatAgent() {
|
|
104
|
+
return requestJson("/api/v1/developer/agent/heartbeat/", { method: "POST", body: JSON.stringify({}) }, "heartbeat hosted agent");
|
|
105
|
+
},
|
|
71
106
|
};
|
|
72
107
|
}
|
|
73
108
|
export async function submitCliBugReport(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developer-client.js","sourceRoot":"","sources":["../src/developer-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"developer-client.js","sourceRoot":"","sources":["../src/developer-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type AgentDependencies } from "./agent.js";
|
|
1
2
|
import { type LinkDependencies, type LoginDependencies } from "./auth.js";
|
|
2
3
|
import { type DeployDependencies } from "./deploy.js";
|
|
3
4
|
import { resolveCliStatePaths, type PlatformName } from "./paths.js";
|
|
@@ -10,6 +11,7 @@ export type CliIo = {
|
|
|
10
11
|
stderr: (message: string) => void;
|
|
11
12
|
};
|
|
12
13
|
export type RunCliOptions = {
|
|
14
|
+
agentDependencies?: AgentDependencies;
|
|
13
15
|
bugReportDependencies?: BugReportDependencies;
|
|
14
16
|
cwd?: string;
|
|
15
17
|
deployDependencies?: DeployDependencies;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { runWorkspaceMcpCli } from "@minutework/workspace-mcp";
|
|
3
|
+
import { runAgentCommand } from "./agent.js";
|
|
3
4
|
import { runEnvUseCommand, runLinkCommand, runLoginCommand, } from "./auth.js";
|
|
4
5
|
import { runCodegenCommand, runCompileCommand, runValidateCommand } from "./compile.js";
|
|
5
6
|
import { runDeployCommand } from "./deploy.js";
|
|
@@ -65,6 +66,17 @@ export async function runCli(argv, options = {}, io = defaultIo) {
|
|
|
65
66
|
platform,
|
|
66
67
|
});
|
|
67
68
|
}
|
|
69
|
+
else if (command === "agent") {
|
|
70
|
+
exitCode = await runAgentCommand({
|
|
71
|
+
args: rest,
|
|
72
|
+
cwd,
|
|
73
|
+
dependencies: options.agentDependencies,
|
|
74
|
+
env,
|
|
75
|
+
io: capturedIo.io,
|
|
76
|
+
paths: cliStatePaths,
|
|
77
|
+
platform,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
68
80
|
else if (command === "report-bug") {
|
|
69
81
|
exitCode = await runReportBugCommand({
|
|
70
82
|
args: rest,
|
|
@@ -291,6 +303,10 @@ Usage:
|
|
|
291
303
|
minutework deploy --preview
|
|
292
304
|
minutework sandbox status
|
|
293
305
|
minutework session start [--mode <human|ai>] [--engine <claude>]
|
|
306
|
+
minutework agent attach
|
|
307
|
+
minutework agent resume
|
|
308
|
+
minutework agent status
|
|
309
|
+
minutework agent stop
|
|
294
310
|
minutework env use
|
|
295
311
|
minutework tokens
|
|
296
312
|
minutework mcp
|
|
@@ -308,6 +324,7 @@ Wave 2 status:
|
|
|
308
324
|
deploy Preview available
|
|
309
325
|
sandbox Status available
|
|
310
326
|
session Launcher/broker preview available
|
|
327
|
+
agent Attach/resume/status/stop available
|
|
311
328
|
env use Available
|
|
312
329
|
tokens Available
|
|
313
330
|
mcp Available
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,GAGhB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAA2B,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,mCAAmC,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAqB,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAiC,MAAM,mBAAmB,CAAC;AACrF,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,GAEpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,GAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAA2B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|