@agent-workspace/cli 0.2.1 → 0.5.0

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.
Files changed (91) hide show
  1. package/dist/commands/artifact.d.ts +1 -0
  2. package/dist/commands/artifact.d.ts.map +1 -1
  3. package/dist/commands/artifact.js +76 -15
  4. package/dist/commands/artifact.js.map +1 -1
  5. package/dist/commands/contract.d.ts +32 -0
  6. package/dist/commands/contract.d.ts.map +1 -0
  7. package/dist/commands/contract.js +237 -0
  8. package/dist/commands/contract.js.map +1 -0
  9. package/dist/commands/identity.d.ts.map +1 -1
  10. package/dist/commands/identity.js +3 -2
  11. package/dist/commands/identity.js.map +1 -1
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/init.js +6 -0
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/inspect.d.ts.map +1 -1
  16. package/dist/commands/inspect.js +30 -0
  17. package/dist/commands/inspect.js.map +1 -1
  18. package/dist/commands/memory.d.ts +12 -1
  19. package/dist/commands/memory.d.ts.map +1 -1
  20. package/dist/commands/memory.js +72 -18
  21. package/dist/commands/memory.js.map +1 -1
  22. package/dist/commands/project.d.ts +23 -0
  23. package/dist/commands/project.d.ts.map +1 -0
  24. package/dist/commands/project.js +181 -0
  25. package/dist/commands/project.js.map +1 -0
  26. package/dist/commands/reputation.d.ts +25 -0
  27. package/dist/commands/reputation.d.ts.map +1 -0
  28. package/dist/commands/reputation.js +227 -0
  29. package/dist/commands/reputation.js.map +1 -0
  30. package/dist/commands/status.d.ts +5 -0
  31. package/dist/commands/status.d.ts.map +1 -0
  32. package/dist/commands/status.js +182 -0
  33. package/dist/commands/status.js.map +1 -0
  34. package/dist/commands/swarm.d.ts +40 -0
  35. package/dist/commands/swarm.d.ts.map +1 -0
  36. package/dist/commands/swarm.js +373 -0
  37. package/dist/commands/swarm.js.map +1 -0
  38. package/dist/commands/task.d.ts +41 -0
  39. package/dist/commands/task.d.ts.map +1 -0
  40. package/dist/commands/task.js +381 -0
  41. package/dist/commands/task.js.map +1 -0
  42. package/dist/commands/validate.d.ts +3 -1
  43. package/dist/commands/validate.d.ts.map +1 -1
  44. package/dist/commands/validate.js +101 -3
  45. package/dist/commands/validate.js.map +1 -1
  46. package/dist/index.js +198 -20
  47. package/dist/index.js.map +1 -1
  48. package/dist/lib/artifact.d.ts +2 -8
  49. package/dist/lib/artifact.d.ts.map +1 -1
  50. package/dist/lib/artifact.js +3 -21
  51. package/dist/lib/artifact.js.map +1 -1
  52. package/dist/lib/artifact.test.d.ts +2 -0
  53. package/dist/lib/artifact.test.d.ts.map +1 -0
  54. package/dist/lib/artifact.test.js +41 -0
  55. package/dist/lib/artifact.test.js.map +1 -0
  56. package/dist/lib/contract.d.ts +27 -0
  57. package/dist/lib/contract.d.ts.map +1 -0
  58. package/dist/lib/contract.js +83 -0
  59. package/dist/lib/contract.js.map +1 -0
  60. package/dist/lib/frontmatter.d.ts +2 -11
  61. package/dist/lib/frontmatter.d.ts.map +1 -1
  62. package/dist/lib/frontmatter.js +2 -25
  63. package/dist/lib/frontmatter.js.map +1 -1
  64. package/dist/lib/project.d.ts +54 -0
  65. package/dist/lib/project.d.ts.map +1 -0
  66. package/dist/lib/project.js +153 -0
  67. package/dist/lib/project.js.map +1 -0
  68. package/dist/lib/reputation.d.ts +20 -0
  69. package/dist/lib/reputation.d.ts.map +1 -0
  70. package/dist/lib/reputation.js +51 -0
  71. package/dist/lib/reputation.js.map +1 -0
  72. package/dist/lib/reputation.test.d.ts +2 -0
  73. package/dist/lib/reputation.test.d.ts.map +1 -0
  74. package/dist/lib/reputation.test.js +112 -0
  75. package/dist/lib/reputation.test.js.map +1 -0
  76. package/dist/lib/schema.d.ts.map +1 -1
  77. package/dist/lib/schema.js +9 -5
  78. package/dist/lib/schema.js.map +1 -1
  79. package/dist/lib/swarm.d.ts +22 -0
  80. package/dist/lib/swarm.d.ts.map +1 -0
  81. package/dist/lib/swarm.js +59 -0
  82. package/dist/lib/swarm.js.map +1 -0
  83. package/dist/lib/workspace.d.ts +3 -9
  84. package/dist/lib/workspace.d.ts.map +1 -1
  85. package/dist/lib/workspace.js +6 -42
  86. package/dist/lib/workspace.js.map +1 -1
  87. package/dist/lib/workspace.test.d.ts +2 -0
  88. package/dist/lib/workspace.test.d.ts.map +1 -0
  89. package/dist/lib/workspace.test.js +36 -0
  90. package/dist/lib/workspace.test.js.map +1 -0
  91. package/package.json +8 -2
@@ -0,0 +1,227 @@
1
+ import { writeFile, mkdir } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { AWP_VERSION, RDP_VERSION, REPUTATION_DIR } from "@agent-workspace/core";
4
+ import { findWorkspaceRoot } from "../lib/workspace.js";
5
+ import { serializeWorkspaceFile } from "../lib/frontmatter.js";
6
+ import { validateSlug, slugToProfilePath, loadProfile, listProfiles, computeDecayedScore, updateDimension, } from "../lib/reputation.js";
7
+ import { getAgentDid } from "../lib/artifact.js";
8
+ /**
9
+ * awp reputation query [slug]
10
+ */
11
+ export async function reputationQueryCommand(slug, options) {
12
+ const root = await findWorkspaceRoot();
13
+ if (!root) {
14
+ console.error("Not in an AWP workspace.");
15
+ process.exit(1);
16
+ }
17
+ // If no slug, list all profiles
18
+ if (!slug) {
19
+ return reputationListCommand();
20
+ }
21
+ let profile;
22
+ try {
23
+ profile = await loadProfile(root, slug);
24
+ }
25
+ catch {
26
+ console.error(`Reputation profile not found: ${slug}`);
27
+ process.exit(1);
28
+ }
29
+ const fm = profile.frontmatter;
30
+ const now = new Date();
31
+ console.log(`${fm.agentName} (${fm.agentDid})`);
32
+ console.log(`Profile: ${fm.id}`);
33
+ console.log(`Last updated: ${fm.lastUpdated}`);
34
+ console.log(`Signals: ${fm.signals.length}`);
35
+ console.log("");
36
+ // Standard dimensions
37
+ const dims = fm.dimensions || {};
38
+ const dimEntries = Object.entries(dims);
39
+ if (options.dimension) {
40
+ const dim = dims[options.dimension];
41
+ if (!dim) {
42
+ console.log(`No data for dimension: ${options.dimension}`);
43
+ return;
44
+ }
45
+ const score = options.raw ? dim.score : computeDecayedScore(dim, now);
46
+ console.log(`${options.dimension}:`);
47
+ console.log(` Score: ${score}`);
48
+ console.log(` Confidence: ${dim.confidence}`);
49
+ console.log(` Samples: ${dim.sampleSize}`);
50
+ console.log(` Last: ${dim.lastSignal}`);
51
+ return;
52
+ }
53
+ if (options.domain) {
54
+ const domainScores = fm.domainCompetence || {};
55
+ const dom = domainScores[options.domain];
56
+ if (!dom) {
57
+ console.log(`No data for domain: ${options.domain}`);
58
+ return;
59
+ }
60
+ const score = options.raw ? dom.score : computeDecayedScore(dom, now);
61
+ console.log(`Domain: ${options.domain}`);
62
+ console.log(` Score: ${score}`);
63
+ console.log(` Confidence: ${dom.confidence}`);
64
+ console.log(` Samples: ${dom.sampleSize}`);
65
+ console.log(` Last: ${dom.lastSignal}`);
66
+ return;
67
+ }
68
+ // Show all dimensions
69
+ if (dimEntries.length > 0) {
70
+ console.log("Dimensions");
71
+ console.log("----------");
72
+ const header = " DIMENSION SCORE CONF SAMPLES";
73
+ console.log(header);
74
+ for (const [name, dim] of dimEntries) {
75
+ const score = options.raw ? dim.score : computeDecayedScore(dim, now);
76
+ console.log(` ${name.padEnd(20)} ${score.toFixed(3).padStart(5)} ${dim.confidence.toFixed(2).padStart(5)} ${String(dim.sampleSize).padStart(5)}`);
77
+ }
78
+ console.log("");
79
+ }
80
+ // Show domain competence
81
+ const domains = fm.domainCompetence || {};
82
+ const domainEntries = Object.entries(domains);
83
+ if (domainEntries.length > 0) {
84
+ console.log("Domain Competence");
85
+ console.log("-----------------");
86
+ const header = " DOMAIN SCORE CONF SAMPLES";
87
+ console.log(header);
88
+ for (const [name, dim] of domainEntries) {
89
+ const score = options.raw ? dim.score : computeDecayedScore(dim, now);
90
+ console.log(` ${name.padEnd(20)} ${score.toFixed(3).padStart(5)} ${dim.confidence.toFixed(2).padStart(5)} ${String(dim.sampleSize).padStart(5)}`);
91
+ }
92
+ }
93
+ }
94
+ /**
95
+ * awp reputation signal <slug>
96
+ */
97
+ export async function reputationSignalCommand(slug, options) {
98
+ const root = await findWorkspaceRoot();
99
+ if (!root) {
100
+ console.error("Not in an AWP workspace.");
101
+ process.exit(1);
102
+ }
103
+ if (!validateSlug(slug)) {
104
+ console.error(`Invalid slug: ${slug} (must be lowercase alphanumeric + hyphens)`);
105
+ process.exit(1);
106
+ }
107
+ const scoreNum = parseFloat(options.score);
108
+ if (isNaN(scoreNum) || scoreNum < 0 || scoreNum > 1) {
109
+ console.error("Score must be a number between 0 and 1.");
110
+ process.exit(1);
111
+ }
112
+ const sourceDid = await getAgentDid(root);
113
+ const now = new Date();
114
+ const timestamp = now.toISOString();
115
+ const signal = {
116
+ source: sourceDid,
117
+ dimension: options.dimension,
118
+ score: scoreNum,
119
+ timestamp,
120
+ };
121
+ if (options.domain)
122
+ signal.domain = options.domain;
123
+ if (options.evidence)
124
+ signal.evidence = options.evidence;
125
+ if (options.message)
126
+ signal.message = options.message;
127
+ // Try loading existing profile
128
+ let profile;
129
+ try {
130
+ profile = await loadProfile(root, slug);
131
+ }
132
+ catch {
133
+ // Profile doesn't exist — create it
134
+ if (!options.agentDid || !options.agentName) {
135
+ console.error("First signal for this agent — --agent-did and --agent-name are required.");
136
+ process.exit(1);
137
+ }
138
+ const fm = {
139
+ awp: AWP_VERSION,
140
+ rdp: RDP_VERSION,
141
+ type: "reputation-profile",
142
+ id: `reputation:${slug}`,
143
+ agentDid: options.agentDid,
144
+ agentName: options.agentName,
145
+ lastUpdated: timestamp,
146
+ dimensions: {},
147
+ domainCompetence: {},
148
+ signals: [signal],
149
+ };
150
+ // Set initial dimension
151
+ if (options.dimension === "domain-competence" && options.domain) {
152
+ fm.domainCompetence[options.domain] = updateDimension(undefined, scoreNum, now);
153
+ }
154
+ else {
155
+ fm.dimensions[options.dimension] = updateDimension(undefined, scoreNum, now);
156
+ }
157
+ const body = `# ${options.agentName} — Reputation Profile\n\nTracked since ${timestamp.split("T")[0]}.`;
158
+ await mkdir(join(root, REPUTATION_DIR), { recursive: true });
159
+ const filePath = slugToProfilePath(root, slug);
160
+ const content = serializeWorkspaceFile({
161
+ frontmatter: fm,
162
+ body,
163
+ filePath,
164
+ });
165
+ await writeFile(filePath, content, "utf-8");
166
+ console.log(`Created reputation/${slug}.md — ${options.dimension}: ${scoreNum}`);
167
+ return;
168
+ }
169
+ // Update existing profile
170
+ const fm = profile.frontmatter;
171
+ fm.lastUpdated = timestamp;
172
+ fm.signals.push(signal);
173
+ if (!fm.dimensions)
174
+ fm.dimensions = {};
175
+ if (!fm.domainCompetence)
176
+ fm.domainCompetence = {};
177
+ if (options.dimension === "domain-competence" && options.domain) {
178
+ fm.domainCompetence[options.domain] = updateDimension(fm.domainCompetence[options.domain], scoreNum, now);
179
+ }
180
+ else {
181
+ fm.dimensions[options.dimension] = updateDimension(fm.dimensions[options.dimension], scoreNum, now);
182
+ }
183
+ const content = serializeWorkspaceFile(profile);
184
+ await writeFile(profile.filePath, content, "utf-8");
185
+ console.log(`Updated reputation/${slug}.md — ${options.dimension}${options.domain ? `:${options.domain}` : ""}: ${scoreNum} (sample ${fm.dimensions[options.dimension]?.sampleSize ?? fm.domainCompetence[options.domain]?.sampleSize})`);
186
+ }
187
+ /**
188
+ * awp reputation list
189
+ */
190
+ export async function reputationListCommand() {
191
+ const root = await findWorkspaceRoot();
192
+ if (!root) {
193
+ console.error("Not in an AWP workspace.");
194
+ process.exit(1);
195
+ }
196
+ const profiles = await listProfiles(root);
197
+ if (profiles.length === 0) {
198
+ console.log("No reputation profiles found.");
199
+ return;
200
+ }
201
+ const header = "SLUG AGENT SIGNALS DIMS TOP SCORE";
202
+ console.log(header);
203
+ console.log("-".repeat(header.length));
204
+ for (const p of profiles) {
205
+ const fm = p.frontmatter;
206
+ const slug = fm.id.replace("reputation:", "");
207
+ const dims = Object.keys(fm.dimensions || {}).length + Object.keys(fm.domainCompetence || {}).length;
208
+ // Find highest score
209
+ let topScore = "—";
210
+ let topName = "";
211
+ for (const [name, dim] of Object.entries(fm.dimensions || {})) {
212
+ if (!topName || dim.score > parseFloat(topScore)) {
213
+ topScore = dim.score.toFixed(2);
214
+ topName = name;
215
+ }
216
+ }
217
+ for (const [name, dim] of Object.entries(fm.domainCompetence || {})) {
218
+ if (!topName || dim.score > parseFloat(topScore || "0")) {
219
+ topScore = dim.score.toFixed(2);
220
+ topName = name;
221
+ }
222
+ }
223
+ const topDisplay = topName ? `${topScore} (${topName})` : "—";
224
+ console.log(`${slug.padEnd(20)} ${fm.agentName.padEnd(20)} ${String(fm.signals.length).padStart(7)} ${String(dims).padStart(4)} ${topDisplay}`);
225
+ }
226
+ }
227
+ //# sourceMappingURL=reputation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reputation.js","sourceRoot":"","sources":["../../src/commands/reputation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * awp status — rich workspace overview
3
+ */
4
+ export declare function statusCommand(): Promise<void>;
5
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA6MnD"}
@@ -0,0 +1,182 @@
1
+ import { readdir } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { AWP_VERSION, MEMORY_DIR, ARTIFACTS_DIR } from "@agent-workspace/core";
4
+ import { findWorkspaceRoot, inspectWorkspace } from "../lib/workspace.js";
5
+ import { listProfiles, computeDecayedScore } from "../lib/reputation.js";
6
+ import { listContracts } from "../lib/contract.js";
7
+ import { listProjects, listTasks } from "../lib/project.js";
8
+ /**
9
+ * awp status — rich workspace overview
10
+ */
11
+ export async function statusCommand() {
12
+ const root = await findWorkspaceRoot();
13
+ if (!root) {
14
+ console.error("Not in an AWP workspace.");
15
+ process.exit(1);
16
+ }
17
+ const info = await inspectWorkspace(root);
18
+ const now = new Date();
19
+ console.log(`AWP Workspace: ${info.manifest.name} (v${AWP_VERSION})`);
20
+ if (info.manifest.agent.did) {
21
+ console.log(`DID: ${info.manifest.agent.did}`);
22
+ }
23
+ console.log(`Root: ${info.root}`);
24
+ // Projects
25
+ const projects = await listProjects(root);
26
+ const activeProjects = projects.filter((p) => p.frontmatter.status === "active" || p.frontmatter.status === "paused");
27
+ if (activeProjects.length > 0) {
28
+ console.log("");
29
+ console.log("--- Projects ---");
30
+ for (const p of activeProjects) {
31
+ const fm = p.frontmatter;
32
+ const slug = fm.id.replace("project:", "");
33
+ const tasks = `${fm.completedCount}/${fm.taskCount} tasks`;
34
+ const deadline = fm.deadline ? `deadline: ${fm.deadline.split("T")[0]}` : "";
35
+ console.log(` ${slug.padEnd(24)} ${fm.status.toUpperCase().padEnd(10)} ${tasks.padEnd(14)} ${deadline}`);
36
+ }
37
+ }
38
+ // Active tasks across all projects
39
+ const allTasks = [];
40
+ for (const p of activeProjects) {
41
+ const pSlug = p.frontmatter.id.replace("project:", "");
42
+ const tasks = await listTasks(root, pSlug);
43
+ for (const t of tasks) {
44
+ const tfm = t.frontmatter;
45
+ if (tfm.status === "in-progress" || tfm.status === "blocked" || tfm.status === "review") {
46
+ allTasks.push({
47
+ projectSlug: pSlug,
48
+ taskSlug: tfm.id.split("/")[1],
49
+ status: tfm.status,
50
+ assigneeSlug: tfm.assigneeSlug,
51
+ deadline: tfm.deadline,
52
+ blockedBy: tfm.blockedBy,
53
+ });
54
+ }
55
+ }
56
+ }
57
+ if (allTasks.length > 0) {
58
+ console.log("");
59
+ console.log("--- Active Tasks ---");
60
+ for (const t of allTasks) {
61
+ const assignee = t.assigneeSlug ? `@${t.assigneeSlug}` : "unassigned";
62
+ const due = t.deadline ? `due ${t.deadline.split("T")[0]}` : "";
63
+ const blocked = t.status === "blocked" && t.blockedBy.length > 0
64
+ ? `blocked by: ${t.blockedBy.map((b) => b.split("/").pop()).join(", ")}`
65
+ : "";
66
+ const extra = blocked || due;
67
+ console.log(` ${t.taskSlug.padEnd(24)} ${t.status.toUpperCase().padEnd(14)} ${assignee.padEnd(20)} ${extra}`);
68
+ }
69
+ }
70
+ // Reputation
71
+ const profiles = await listProfiles(root);
72
+ if (profiles.length > 0) {
73
+ console.log("");
74
+ console.log("--- Reputation ---");
75
+ for (const p of profiles) {
76
+ const fm = p.frontmatter;
77
+ const slug = fm.id.replace("reputation:", "");
78
+ const parts = [];
79
+ // Top dimension scores
80
+ for (const [name, dim] of Object.entries(fm.dimensions || {})) {
81
+ const decayed = computeDecayedScore(dim, now);
82
+ parts.push(`${name}: ${decayed.toFixed(2)}`);
83
+ }
84
+ for (const [name, dim] of Object.entries(fm.domainCompetence || {})) {
85
+ const decayed = computeDecayedScore(dim, now);
86
+ parts.push(`${name}: ${decayed.toFixed(2)}`);
87
+ }
88
+ console.log(` ${slug.padEnd(20)} ${parts.join(" ")}`);
89
+ }
90
+ }
91
+ // Contracts
92
+ const contracts = await listContracts(root);
93
+ if (contracts.length > 0) {
94
+ const statusCounts = {};
95
+ for (const c of contracts) {
96
+ const s = c.frontmatter.status;
97
+ statusCounts[s] = (statusCounts[s] || 0) + 1;
98
+ }
99
+ const summary = Object.entries(statusCounts)
100
+ .map(([s, n]) => `${n} ${s}`)
101
+ .join(", ");
102
+ console.log("");
103
+ console.log("--- Contracts ---");
104
+ console.log(` ${summary}`);
105
+ }
106
+ // Knowledge
107
+ let artifactCount = 0;
108
+ try {
109
+ const artDir = join(root, ARTIFACTS_DIR);
110
+ const files = await readdir(artDir);
111
+ artifactCount = files.filter((f) => f.endsWith(".md")).length;
112
+ }
113
+ catch {
114
+ // no artifacts dir
115
+ }
116
+ let memoryCount = 0;
117
+ try {
118
+ const memDir = join(root, MEMORY_DIR);
119
+ const files = await readdir(memDir);
120
+ memoryCount = files.filter((f) => f.endsWith(".md")).length;
121
+ }
122
+ catch {
123
+ // no memory dir
124
+ }
125
+ if (artifactCount > 0 || memoryCount > 0) {
126
+ console.log("");
127
+ console.log("--- Knowledge ---");
128
+ console.log(` ${artifactCount} artifact(s), ${memoryCount} memory log(s)`);
129
+ }
130
+ // Health checks
131
+ const warnings = [];
132
+ // Check required files
133
+ const allRequired = info.files.required.every((f) => f.exists && f.valid);
134
+ if (!allRequired) {
135
+ const missing = info.files.required.filter((f) => !f.exists || !f.valid).map((f) => f.file);
136
+ warnings.push(`Required files missing or invalid: ${missing.join(", ")}`);
137
+ }
138
+ // Check contracts past deadline
139
+ for (const c of contracts) {
140
+ const fm = c.frontmatter;
141
+ if (fm.deadline &&
142
+ (fm.status === "active" || fm.status === "draft") &&
143
+ new Date(fm.deadline) < now) {
144
+ const slug = fm.id.replace("contract:", "");
145
+ warnings.push(`Contract "${slug}" is past deadline`);
146
+ }
147
+ }
148
+ // Check reputation decay
149
+ const MS_PER_DAY = 24 * 60 * 60 * 1000;
150
+ for (const p of profiles) {
151
+ const fm = p.frontmatter;
152
+ const lastUpdated = new Date(fm.lastUpdated);
153
+ const daysSince = Math.floor((now.getTime() - lastUpdated.getTime()) / MS_PER_DAY);
154
+ if (daysSince > 30) {
155
+ const slug = fm.id.replace("reputation:", "");
156
+ warnings.push(`${slug} reputation decaying (no signal in ${daysSince} days)`);
157
+ }
158
+ }
159
+ // Check task deadlines
160
+ for (const t of allTasks) {
161
+ if (t.deadline &&
162
+ t.status !== "completed" &&
163
+ t.status !== "cancelled" &&
164
+ new Date(t.deadline) < now) {
165
+ warnings.push(`Task "${t.taskSlug}" is past deadline`);
166
+ }
167
+ }
168
+ console.log("");
169
+ console.log("--- Health ---");
170
+ if (warnings.length === 0 && allRequired) {
171
+ console.log(" [PASS] All systems nominal");
172
+ }
173
+ else {
174
+ if (allRequired) {
175
+ console.log(" [PASS] All required files present");
176
+ }
177
+ for (const w of warnings) {
178
+ console.log(` [WARN] ${w}`);
179
+ }
180
+ }
181
+ }
182
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * awp swarm create <slug>
3
+ */
4
+ export declare function swarmCreateCommand(slug: string, options: {
5
+ name?: string;
6
+ goal?: string;
7
+ project?: string;
8
+ humanLead?: string;
9
+ vetoPower?: boolean;
10
+ }): Promise<void>;
11
+ /**
12
+ * awp swarm role add <swarm> <role>
13
+ */
14
+ export declare function swarmRoleAddCommand(swarmSlug: string, roleName: string, options: {
15
+ count?: string;
16
+ minReputation?: string[];
17
+ }): Promise<void>;
18
+ /**
19
+ * awp swarm recruit <swarm>
20
+ */
21
+ export declare function swarmRecruitCommand(swarmSlug: string, options: {
22
+ auto?: boolean;
23
+ }): Promise<void>;
24
+ /**
25
+ * awp swarm show <slug>
26
+ */
27
+ export declare function swarmShowCommand(swarmSlug: string): Promise<void>;
28
+ /**
29
+ * awp swarm list
30
+ */
31
+ export declare function swarmListCommand(options: {
32
+ status?: string;
33
+ }): Promise<void>;
34
+ /**
35
+ * awp swarm update <slug>
36
+ */
37
+ export declare function swarmUpdateCommand(swarmSlug: string, options: {
38
+ status?: string;
39
+ }): Promise<void>;
40
+ //# sourceMappingURL=swarm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../src/commands/swarm.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC,IAAI,CAAC,CAwDf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,GACA,OAAO,CAAC,IAAI,CAAC,CAgFf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1B,OAAO,CAAC,IAAI,CAAC,CAiHf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DvE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmClF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAoCf"}