@agentmeshhq/agent 0.4.2 → 0.4.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/LICENSE +21 -0
- package/dist/__tests__/cli-command-uniqueness.test.d.ts +10 -0
- package/dist/__tests__/cli-command-uniqueness.test.js +67 -0
- package/dist/__tests__/cli-command-uniqueness.test.js.map +1 -0
- package/dist/__tests__/evicted-cleanup.test.d.ts +10 -0
- package/dist/__tests__/evicted-cleanup.test.js +459 -0
- package/dist/__tests__/evicted-cleanup.test.js.map +1 -0
- package/dist/__tests__/local.test.d.ts +1 -0
- package/dist/__tests__/local.test.js +124 -0
- package/dist/__tests__/local.test.js.map +1 -0
- package/dist/__tests__/tmux-send.test.d.ts +10 -0
- package/dist/__tests__/tmux-send.test.js +96 -0
- package/dist/__tests__/tmux-send.test.js.map +1 -0
- package/dist/cli/inbox.d.ts +5 -0
- package/dist/cli/inbox.js +123 -0
- package/dist/cli/inbox.js.map +1 -0
- package/dist/cli/index.js +263 -11
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/issue.d.ts +42 -0
- package/dist/cli/issue.js +297 -0
- package/dist/cli/issue.js.map +1 -0
- package/dist/cli/local.d.ts +27 -6
- package/dist/cli/local.js +319 -36
- package/dist/cli/local.js.map +1 -1
- package/dist/cli/ready.d.ts +5 -0
- package/dist/cli/ready.js +131 -0
- package/dist/cli/ready.js.map +1 -0
- package/dist/cli/sync.d.ts +8 -0
- package/dist/cli/sync.js +154 -0
- package/dist/cli/sync.js.map +1 -0
- package/dist/cli/token.js +242 -9
- package/dist/cli/token.js.map +1 -1
- package/dist/cli/whoami.d.ts +6 -0
- package/dist/cli/whoami.js +109 -5
- package/dist/cli/whoami.js.map +1 -1
- package/dist/core/cleanup/eligibility.d.ts +41 -0
- package/dist/core/cleanup/eligibility.js +64 -0
- package/dist/core/cleanup/eligibility.js.map +1 -0
- package/dist/core/cleanup/scheduler.d.ts +50 -0
- package/dist/core/cleanup/scheduler.js +120 -0
- package/dist/core/cleanup/scheduler.js.map +1 -0
- package/dist/core/cleanup/worker.d.ts +63 -0
- package/dist/core/cleanup/worker.js +191 -0
- package/dist/core/cleanup/worker.js.map +1 -0
- package/dist/core/daemon.d.ts +1 -0
- package/dist/core/daemon.js +18 -0
- package/dist/core/daemon.js.map +1 -1
- package/dist/core/heartbeat.d.ts +6 -1
- package/dist/core/heartbeat.js +44 -39
- package/dist/core/heartbeat.js.map +1 -1
- package/dist/core/issue-cache.d.ts +44 -0
- package/dist/core/issue-cache.js +75 -0
- package/dist/core/issue-cache.js.map +1 -0
- package/dist/core/registry.d.ts +1 -0
- package/dist/core/registry.js +1 -0
- package/dist/core/registry.js.map +1 -1
- package/dist/core/token-lifecycle.d.ts +81 -0
- package/dist/core/token-lifecycle.js +210 -0
- package/dist/core/token-lifecycle.js.map +1 -0
- package/dist/core/token-lifecycle.test.d.ts +10 -0
- package/dist/core/token-lifecycle.test.js +309 -0
- package/dist/core/token-lifecycle.test.js.map +1 -0
- package/package.json +11 -12
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Issue CLI Commands
|
|
3
|
+
* Integrated issue tracking for agents
|
|
4
|
+
*/
|
|
5
|
+
import pc from "picocolors";
|
|
6
|
+
import { getAgentState, loadConfig } from "../config/loader.js";
|
|
7
|
+
import { loadCache, queueChange, updateCacheIssues } from "../core/issue-cache.js";
|
|
8
|
+
async function getHubUrl() {
|
|
9
|
+
const config = loadConfig();
|
|
10
|
+
return config?.hubUrl || process.env.AGENTMESH_HUB_URL || "https://agentmeshhq.dev";
|
|
11
|
+
}
|
|
12
|
+
async function getToken() {
|
|
13
|
+
// Try agent state first
|
|
14
|
+
const state = getAgentState(process.env.AGENT_NAME || "");
|
|
15
|
+
if (state?.token)
|
|
16
|
+
return state.token;
|
|
17
|
+
// Try environment
|
|
18
|
+
if (process.env.AGENT_TOKEN)
|
|
19
|
+
return process.env.AGENT_TOKEN;
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
async function getWorkspace() {
|
|
23
|
+
const config = loadConfig();
|
|
24
|
+
return config?.workspace || process.env.AGENTMESH_WORKSPACE || "agentmesh";
|
|
25
|
+
}
|
|
26
|
+
async function apiRequest(method, path, body) {
|
|
27
|
+
const hubUrl = await getHubUrl();
|
|
28
|
+
const token = await getToken();
|
|
29
|
+
try {
|
|
30
|
+
const response = await fetch(`${hubUrl}${path}`, {
|
|
31
|
+
method,
|
|
32
|
+
headers: {
|
|
33
|
+
"Content-Type": "application/json",
|
|
34
|
+
...(token && { Authorization: `Bearer ${token}` }),
|
|
35
|
+
},
|
|
36
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
37
|
+
});
|
|
38
|
+
if (!response.ok) {
|
|
39
|
+
const error = await response.json().catch(() => ({ error: response.statusText }));
|
|
40
|
+
return { error: error.error || response.statusText };
|
|
41
|
+
}
|
|
42
|
+
if (response.status === 204) {
|
|
43
|
+
return { data: undefined };
|
|
44
|
+
}
|
|
45
|
+
const data = await response.json();
|
|
46
|
+
return { data: data };
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
return { error: err.message };
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export async function createIssue(options) {
|
|
53
|
+
const workspace = await getWorkspace();
|
|
54
|
+
console.log(pc.cyan("Creating issue..."));
|
|
55
|
+
const result = await apiRequest("POST", `/api/v1/workspaces/${workspace}/issues`, {
|
|
56
|
+
title: options.title,
|
|
57
|
+
description: options.description,
|
|
58
|
+
type: options.type || "task",
|
|
59
|
+
priority: options.priority || "P2",
|
|
60
|
+
project_id: options.project,
|
|
61
|
+
parent_issue_id: options.parent,
|
|
62
|
+
labels: options.labels,
|
|
63
|
+
});
|
|
64
|
+
if (result.error) {
|
|
65
|
+
// Queue for offline sync
|
|
66
|
+
if (result.error.includes("fetch") || result.error.includes("network")) {
|
|
67
|
+
console.log(pc.yellow("Offline - queuing change for later sync"));
|
|
68
|
+
queueChange(workspace, {
|
|
69
|
+
action: "create",
|
|
70
|
+
data: {
|
|
71
|
+
title: options.title,
|
|
72
|
+
description: options.description || null,
|
|
73
|
+
type: options.type || "task",
|
|
74
|
+
priority: options.priority || "P2",
|
|
75
|
+
project_id: options.project || null,
|
|
76
|
+
parent_issue_id: options.parent || null,
|
|
77
|
+
labels: options.labels || [],
|
|
78
|
+
},
|
|
79
|
+
queuedAt: new Date().toISOString(),
|
|
80
|
+
});
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
console.error(pc.red(`Error: ${result.error}`));
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
86
|
+
console.log(pc.green(`Created issue: ${result.data?.issue_id}`));
|
|
87
|
+
}
|
|
88
|
+
export async function listIssues(options = {}) {
|
|
89
|
+
const workspace = await getWorkspace();
|
|
90
|
+
const params = new URLSearchParams();
|
|
91
|
+
if (options.status)
|
|
92
|
+
params.set("status", options.status);
|
|
93
|
+
if (options.type)
|
|
94
|
+
params.set("type", options.type);
|
|
95
|
+
if (options.priority)
|
|
96
|
+
params.set("priority", options.priority);
|
|
97
|
+
if (options.assignee === "me") {
|
|
98
|
+
const state = getAgentState(process.env.AGENT_NAME || "");
|
|
99
|
+
if (state?.agentId)
|
|
100
|
+
params.set("assignee_agent_id", state.agentId);
|
|
101
|
+
}
|
|
102
|
+
else if (options.assignee) {
|
|
103
|
+
params.set("assignee_agent_id", options.assignee);
|
|
104
|
+
}
|
|
105
|
+
if (options.project)
|
|
106
|
+
params.set("project_id", options.project);
|
|
107
|
+
if (options.limit)
|
|
108
|
+
params.set("limit", String(options.limit));
|
|
109
|
+
const result = await apiRequest("GET", `/api/v1/workspaces/${workspace}/issues?${params}`);
|
|
110
|
+
if (result.error) {
|
|
111
|
+
// Try cache
|
|
112
|
+
if (result.error.includes("fetch") || result.error.includes("network")) {
|
|
113
|
+
console.log(pc.yellow("Offline - showing cached issues"));
|
|
114
|
+
const cache = loadCache(workspace);
|
|
115
|
+
displayIssueList(cache.issues.filter((i) => {
|
|
116
|
+
if (options.status && i.status !== options.status)
|
|
117
|
+
return false;
|
|
118
|
+
if (options.type && i.type !== options.type)
|
|
119
|
+
return false;
|
|
120
|
+
if (options.priority && i.priority !== options.priority)
|
|
121
|
+
return false;
|
|
122
|
+
return true;
|
|
123
|
+
}));
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
console.error(pc.red(`Error: ${result.error}`));
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
const issues = result.data?.issues || [];
|
|
130
|
+
// Update cache
|
|
131
|
+
updateCacheIssues(workspace, issues);
|
|
132
|
+
displayIssueList(issues);
|
|
133
|
+
}
|
|
134
|
+
function displayIssueList(issues) {
|
|
135
|
+
if (issues.length === 0) {
|
|
136
|
+
console.log(pc.dim("No issues found"));
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
console.log();
|
|
140
|
+
console.log(pc.bold(`${issues.length} issue(s)`));
|
|
141
|
+
console.log();
|
|
142
|
+
for (const issue of issues) {
|
|
143
|
+
const statusColor = getStatusColor(issue.status);
|
|
144
|
+
const priorityColor = getPriorityColor(issue.priority);
|
|
145
|
+
console.log(`${pc.cyan(issue.issue_id)} ${statusColor(issue.status.padEnd(12))} ${priorityColor(issue.priority.padEnd(3))} ${issue.title}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
function getStatusColor(status) {
|
|
149
|
+
switch (status) {
|
|
150
|
+
case "open":
|
|
151
|
+
return pc.yellow;
|
|
152
|
+
case "in_progress":
|
|
153
|
+
return pc.blue;
|
|
154
|
+
case "review":
|
|
155
|
+
return pc.magenta;
|
|
156
|
+
case "closed":
|
|
157
|
+
return pc.green;
|
|
158
|
+
default:
|
|
159
|
+
return pc.dim;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
function getPriorityColor(priority) {
|
|
163
|
+
switch (priority) {
|
|
164
|
+
case "P0":
|
|
165
|
+
return pc.red;
|
|
166
|
+
case "P1":
|
|
167
|
+
return (s) => pc.yellow(pc.bold(s));
|
|
168
|
+
case "P2":
|
|
169
|
+
return pc.yellow;
|
|
170
|
+
case "P3":
|
|
171
|
+
return pc.dim;
|
|
172
|
+
case "P4":
|
|
173
|
+
return pc.dim;
|
|
174
|
+
default:
|
|
175
|
+
return pc.dim;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
export async function showIssue(issueId) {
|
|
179
|
+
const workspace = await getWorkspace();
|
|
180
|
+
const result = await apiRequest("GET", `/api/v1/workspaces/${workspace}/issues/${issueId}`);
|
|
181
|
+
if (result.error) {
|
|
182
|
+
// Try cache
|
|
183
|
+
if (result.error.includes("fetch") || result.error.includes("network")) {
|
|
184
|
+
console.log(pc.yellow("Offline - showing cached issue"));
|
|
185
|
+
const cache = loadCache(workspace);
|
|
186
|
+
const issue = cache.issues.find((i) => i.issue_id === issueId);
|
|
187
|
+
if (!issue) {
|
|
188
|
+
console.error(pc.red(`Issue ${issueId} not found in cache`));
|
|
189
|
+
process.exit(1);
|
|
190
|
+
}
|
|
191
|
+
displayIssue(issue);
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
console.error(pc.red(`Error: ${result.error}`));
|
|
195
|
+
process.exit(1);
|
|
196
|
+
}
|
|
197
|
+
displayIssue(result.data);
|
|
198
|
+
}
|
|
199
|
+
function displayIssue(issue) {
|
|
200
|
+
console.log();
|
|
201
|
+
console.log(`${pc.bold(pc.cyan(issue.issue_id))} ${issue.title}`);
|
|
202
|
+
console.log();
|
|
203
|
+
console.log(`Status: ${getStatusColor(issue.status)(issue.status)}`);
|
|
204
|
+
console.log(`Type: ${issue.type}`);
|
|
205
|
+
console.log(`Priority: ${getPriorityColor(issue.priority)(issue.priority)}`);
|
|
206
|
+
if (issue.assignee_agent_id) {
|
|
207
|
+
console.log(`Assignee: ${issue.assignee_agent_id}`);
|
|
208
|
+
}
|
|
209
|
+
if (issue.project_id) {
|
|
210
|
+
console.log(`Project: ${issue.project_id}`);
|
|
211
|
+
}
|
|
212
|
+
if (issue.labels && issue.labels.length > 0) {
|
|
213
|
+
console.log(`Labels: ${issue.labels.join(", ")}`);
|
|
214
|
+
}
|
|
215
|
+
if (issue.external_ref) {
|
|
216
|
+
console.log(`External: ${issue.external_provider}:${issue.external_ref}`);
|
|
217
|
+
if (issue.external_url) {
|
|
218
|
+
console.log(`URL: ${issue.external_url}`);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
console.log();
|
|
222
|
+
console.log(`Created: ${issue.created_at}`);
|
|
223
|
+
console.log(`Updated: ${issue.updated_at}`);
|
|
224
|
+
if (issue.description) {
|
|
225
|
+
console.log();
|
|
226
|
+
console.log(pc.dim("Description:"));
|
|
227
|
+
console.log(issue.description);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
export async function updateIssue(issueId, options) {
|
|
231
|
+
const workspace = await getWorkspace();
|
|
232
|
+
console.log(pc.cyan(`Updating issue ${issueId}...`));
|
|
233
|
+
const body = {};
|
|
234
|
+
if (options.title)
|
|
235
|
+
body.title = options.title;
|
|
236
|
+
if (options.description)
|
|
237
|
+
body.description = options.description;
|
|
238
|
+
if (options.type)
|
|
239
|
+
body.type = options.type;
|
|
240
|
+
if (options.priority)
|
|
241
|
+
body.priority = options.priority;
|
|
242
|
+
if (options.status)
|
|
243
|
+
body.status = options.status;
|
|
244
|
+
if (options.project)
|
|
245
|
+
body.project_id = options.project;
|
|
246
|
+
if (options.assignee)
|
|
247
|
+
body.assignee_agent_id = options.assignee;
|
|
248
|
+
if (options.labels)
|
|
249
|
+
body.labels = options.labels;
|
|
250
|
+
const result = await apiRequest("PATCH", `/api/v1/workspaces/${workspace}/issues/${issueId}`, body);
|
|
251
|
+
if (result.error) {
|
|
252
|
+
if (result.error.includes("fetch") || result.error.includes("network")) {
|
|
253
|
+
console.log(pc.yellow("Offline - queuing change for later sync"));
|
|
254
|
+
queueChange(workspace, {
|
|
255
|
+
action: "update",
|
|
256
|
+
issueId,
|
|
257
|
+
data: body,
|
|
258
|
+
queuedAt: new Date().toISOString(),
|
|
259
|
+
});
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
console.error(pc.red(`Error: ${result.error}`));
|
|
263
|
+
process.exit(1);
|
|
264
|
+
}
|
|
265
|
+
console.log(pc.green(`Updated issue ${issueId}`));
|
|
266
|
+
}
|
|
267
|
+
export async function closeIssue(issueId) {
|
|
268
|
+
await updateIssue(issueId, { status: "closed" });
|
|
269
|
+
}
|
|
270
|
+
// ============================================================================
|
|
271
|
+
// Workflow Commands
|
|
272
|
+
// ============================================================================
|
|
273
|
+
export async function claimIssue(issueId) {
|
|
274
|
+
const workspace = await getWorkspace();
|
|
275
|
+
console.log(pc.cyan(`Claiming issue ${issueId}...`));
|
|
276
|
+
const result = await apiRequest("POST", `/api/v1/workspaces/${workspace}/issues/${issueId}/claim`);
|
|
277
|
+
if (result.error) {
|
|
278
|
+
console.error(pc.red(`Error: ${result.error}`));
|
|
279
|
+
process.exit(1);
|
|
280
|
+
}
|
|
281
|
+
console.log(pc.green(`Claimed issue ${issueId} - now assigned to you and in_progress`));
|
|
282
|
+
}
|
|
283
|
+
export async function handoffIssue(issueId, options) {
|
|
284
|
+
const workspace = await getWorkspace();
|
|
285
|
+
console.log(pc.cyan(`Creating handoff for issue ${issueId}...`));
|
|
286
|
+
const result = await apiRequest("POST", `/api/v1/workspaces/${workspace}/issues/${issueId}/handoff`, {
|
|
287
|
+
to_agent_id: options.to,
|
|
288
|
+
reason: options.reason,
|
|
289
|
+
});
|
|
290
|
+
if (result.error) {
|
|
291
|
+
console.error(pc.red(`Error: ${result.error}`));
|
|
292
|
+
process.exit(1);
|
|
293
|
+
}
|
|
294
|
+
console.log(pc.green(`Created handoff ${result.data?.handoff_id}`));
|
|
295
|
+
console.log(pc.dim("Note: Issue assignment unchanged. Target agent will see this in their inbox."));
|
|
296
|
+
}
|
|
297
|
+
//# sourceMappingURL=issue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/cli/issue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAc,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO/F,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,yBAAyB,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,wBAAwB;IACxB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAC1D,IAAI,KAAK,EAAE,KAAK;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAErC,kBAAkB;IAClB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAE5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,WAAW,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,MAAc,EACd,IAAY,EACZ,IAAc;IAEd,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE;YAC/C,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,CAAC,KAAK,IAAI,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;aACnD;YACD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,EAAE,KAAK,EAAG,KAA4B,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC/E,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,EAAE,IAAI,EAAE,SAAc,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,IAAS,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;AACH,CAAC;AAgBD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B;IAC3D,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,MAAM,EACN,sBAAsB,SAAS,SAAS,EACxC;QACE,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;QAClC,UAAU,EAAE,OAAO,CAAC,OAAO;QAC3B,eAAe,EAAE,OAAO,CAAC,MAAM;QAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CACF,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,yBAAyB;QACzB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAC;YAClE,WAAW,CAAC,SAAS,EAAE;gBACrB,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE;oBACJ,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;oBACxC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM;oBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;oBAClC,UAAU,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;oBACnC,eAAe,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;oBACvC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBACX;gBACnB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAA6B,EAAE;IAC9D,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,CAAC,OAAO;QAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,KAAK,EACL,sBAAsB,SAAS,WAAW,MAAM,EAAE,CACnD,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,YAAY;QACZ,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACnC,gBAAgB,CACd,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;gBAChE,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;oBAAE,OAAO,KAAK,CAAC;gBAC1D,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;oBAAE,OAAO,KAAK,CAAC;gBACtE,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CACH,CAAC;YACF,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;IAEzC,eAAe;IACf,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAErC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEvD,OAAO,CAAC,GAAG,CACT,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAC/H,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,EAAE,CAAC,MAAM,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,EAAE,CAAC,IAAI,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,OAAO,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,KAAK,CAAC;QAClB;YACE,OAAO,EAAE,CAAC,GAAG,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,EAAE,CAAC,GAAG,CAAC;QAChB,KAAK,IAAI;YACP,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,IAAI;YACP,OAAO,EAAE,CAAC,MAAM,CAAC;QACnB,KAAK,IAAI;YACP,OAAO,EAAE,CAAC,GAAG,CAAC;QAChB,KAAK,IAAI;YACP,OAAO,EAAE,CAAC,GAAG,CAAC;QAChB;YACE,OAAO,EAAE,CAAC,GAAG,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,KAAK,EACL,sBAAsB,SAAS,WAAW,OAAO,EAAE,CACpD,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,YAAY;QACZ,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,OAAO,qBAAqB,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,YAAY,CAAC,MAAM,CAAC,IAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,KAAY;IAChC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,eAAe,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE/E,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAE/C,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,OAA2B;IAC5E,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,OAAO,KAAK,CAAC,CAAC,CAAC;IAErD,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC9C,IAAI,OAAO,CAAC,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAChE,IAAI,OAAO,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3C,IAAI,OAAO,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACvD,IAAI,OAAO,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjD,IAAI,OAAO,CAAC,OAAO;QAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IACvD,IAAI,OAAO,CAAC,QAAQ;QAAE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAChE,IAAI,OAAO,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,OAAO,EACP,sBAAsB,SAAS,WAAW,OAAO,EAAE,EACnD,IAAI,CACL,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAC;YAClE,WAAW,CAAC,SAAS,EAAE;gBACrB,MAAM,EAAE,QAAQ;gBAChB,OAAO;gBACP,IAAI,EAAE,IAAsB;gBAC5B,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,OAAO,KAAK,CAAC,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,MAAM,EACN,sBAAsB,SAAS,WAAW,OAAO,QAAQ,CAC1D,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,OAAO,wCAAwC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe,EAAE,OAAuB;IACzE,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,8BAA8B,OAAO,KAAK,CAAC,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,MAAM,EACN,sBAAsB,SAAS,WAAW,OAAO,UAAU,EAC3D;QACE,WAAW,EAAE,OAAO,CAAC,EAAE;QACvB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CACF,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CACT,EAAE,CAAC,GAAG,CAAC,8EAA8E,CAAC,CACvF,CAAC;AACJ,CAAC"}
|
package/dist/cli/local.d.ts
CHANGED
|
@@ -1,9 +1,30 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface LocalOptions {
|
|
2
|
+
/** Compose file path or target name (e.g. docker-compose.local.yml or full path) */
|
|
3
|
+
target?: string;
|
|
4
|
+
/** Slot number for deterministic port mapping (0-based) */
|
|
5
|
+
slot?: number;
|
|
6
|
+
/** Project name for compose namespace isolation */
|
|
7
|
+
project?: string;
|
|
2
8
|
detach?: boolean;
|
|
3
|
-
}): Promise<void>;
|
|
4
|
-
export declare function localDown(): Promise<void>;
|
|
5
|
-
export declare function localStatus(): Promise<void>;
|
|
6
|
-
export declare function localLogs(options?: {
|
|
7
9
|
follow?: boolean;
|
|
8
10
|
service?: string;
|
|
9
|
-
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Compute the host port for a given internal service port when using slots.
|
|
14
|
+
* Slot 0 preserves default ports; slot N shifts by N * SLOT_PORT_BLOCK_SIZE.
|
|
15
|
+
*/
|
|
16
|
+
export declare function slotPort(internalPort: number, slot: number): number;
|
|
17
|
+
/** Check if a TCP port is free on 127.0.0.1 */
|
|
18
|
+
export declare function isPortFree(port: number): Promise<boolean>;
|
|
19
|
+
export interface PreflightResult {
|
|
20
|
+
ok: boolean;
|
|
21
|
+
errors: string[];
|
|
22
|
+
warnings: string[];
|
|
23
|
+
}
|
|
24
|
+
export declare function runPreflight(options?: LocalOptions): Promise<PreflightResult>;
|
|
25
|
+
export declare function localUp(options?: LocalOptions): Promise<void>;
|
|
26
|
+
export declare function localDown(options?: LocalOptions): Promise<void>;
|
|
27
|
+
export declare function localStatus(options?: LocalOptions): Promise<void>;
|
|
28
|
+
export declare function localLogs(options?: LocalOptions): Promise<void>;
|
|
29
|
+
export declare function localDoctor(options?: LocalOptions): Promise<void>;
|
|
30
|
+
export declare function localSmoke(options?: LocalOptions): Promise<void>;
|