@poa-box/agent 0.1.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.
- package/.env.agent.template +20 -0
- package/README.md +46 -0
- package/brain/Config/agent-config.json +14 -0
- package/brain/Config/brain-allowlist.json +20 -0
- package/brain/Identity/goals.template.md +23 -0
- package/brain/Identity/how-i-think.md +406 -0
- package/brain/Identity/who-i-am.template.md +34 -0
- package/brain/Knowledge/BOOTSTRAP.md +66 -0
- package/brain/Knowledge/audit-corpus-index.json +406 -0
- package/brain/Knowledge/discussions.json +245 -0
- package/brain/Knowledge/pop.brain.brainstorms.generated.md +48 -0
- package/brain/Knowledge/pop.brain.brainstorms.genesis.bin +0 -0
- package/brain/Knowledge/pop.brain.heuristics.snapshot.bin +0 -0
- package/brain/Knowledge/pop.brain.projects.generated.md +16 -0
- package/brain/Knowledge/pop.brain.projects.genesis.bin +0 -0
- package/brain/Knowledge/pop.brain.retros.generated.md +91 -0
- package/brain/Knowledge/pop.brain.retros.genesis.bin +0 -0
- package/brain/Knowledge/pop.brain.shared.generated.md +3811 -0
- package/brain/Knowledge/pop.brain.shared.genesis.bin +0 -0
- package/brain/Knowledge/projects.md +181 -0
- package/brain/Knowledge/risk-framework.md +90 -0
- package/brain/Knowledge/shared.md +416 -0
- package/brain/Knowledge/sprint-priorities.md +439 -0
- package/brain/Memory/.gitkeep +0 -0
- package/dist/commands/agent/daily-digest.d.ts +24 -0
- package/dist/commands/agent/daily-digest.js +336 -0
- package/dist/commands/agent/delegate.d.ts +12 -0
- package/dist/commands/agent/delegate.js +91 -0
- package/dist/commands/agent/deploy-to-org.d.ts +20 -0
- package/dist/commands/agent/deploy-to-org.js +154 -0
- package/dist/commands/agent/index.d.ts +2 -0
- package/dist/commands/agent/index.js +27 -0
- package/dist/commands/agent/init.d.ts +19 -0
- package/dist/commands/agent/init.js +303 -0
- package/dist/commands/agent/onboard.d.ts +22 -0
- package/dist/commands/agent/onboard.js +192 -0
- package/dist/commands/agent/paymaster-status.d.ts +14 -0
- package/dist/commands/agent/paymaster-status.js +130 -0
- package/dist/commands/agent/register.d.ts +21 -0
- package/dist/commands/agent/register.js +116 -0
- package/dist/commands/agent/setup-sponsorship.d.ts +22 -0
- package/dist/commands/agent/setup-sponsorship.js +154 -0
- package/dist/commands/agent/status.d.ts +12 -0
- package/dist/commands/agent/status.js +171 -0
- package/dist/commands/agent/triage.d.ts +12 -0
- package/dist/commands/agent/triage.js +503 -0
- package/dist/commands/brain/advance-stage.d.ts +42 -0
- package/dist/commands/brain/advance-stage.js +206 -0
- package/dist/commands/brain/allowlist.d.ts +30 -0
- package/dist/commands/brain/allowlist.js +274 -0
- package/dist/commands/brain/append-lesson.d.ts +55 -0
- package/dist/commands/brain/append-lesson.js +245 -0
- package/dist/commands/brain/brainstorm.d.ts +154 -0
- package/dist/commands/brain/brainstorm.js +573 -0
- package/dist/commands/brain/daemon.d.ts +31 -0
- package/dist/commands/brain/daemon.js +348 -0
- package/dist/commands/brain/doctor.d.ts +27 -0
- package/dist/commands/brain/doctor.js +497 -0
- package/dist/commands/brain/edit-lesson.d.ts +51 -0
- package/dist/commands/brain/edit-lesson.js +248 -0
- package/dist/commands/brain/import-snapshot.d.ts +68 -0
- package/dist/commands/brain/import-snapshot.js +177 -0
- package/dist/commands/brain/index.d.ts +2 -0
- package/dist/commands/brain/index.js +67 -0
- package/dist/commands/brain/list.d.ts +21 -0
- package/dist/commands/brain/list.js +83 -0
- package/dist/commands/brain/migrate-projects.d.ts +44 -0
- package/dist/commands/brain/migrate-projects.js +209 -0
- package/dist/commands/brain/migrate.d.ts +74 -0
- package/dist/commands/brain/migrate.js +306 -0
- package/dist/commands/brain/new-project.d.ts +53 -0
- package/dist/commands/brain/new-project.js +226 -0
- package/dist/commands/brain/read.d.ts +24 -0
- package/dist/commands/brain/read.js +81 -0
- package/dist/commands/brain/remove-lesson.d.ts +47 -0
- package/dist/commands/brain/remove-lesson.js +206 -0
- package/dist/commands/brain/remove-project.d.ts +36 -0
- package/dist/commands/brain/remove-project.js +177 -0
- package/dist/commands/brain/retro-file-tasks.d.ts +84 -0
- package/dist/commands/brain/retro-file-tasks.js +372 -0
- package/dist/commands/brain/retro-list.d.ts +28 -0
- package/dist/commands/brain/retro-list.js +125 -0
- package/dist/commands/brain/retro-mark-change.d.ts +58 -0
- package/dist/commands/brain/retro-mark-change.js +176 -0
- package/dist/commands/brain/retro-remove.d.ts +36 -0
- package/dist/commands/brain/retro-remove.js +142 -0
- package/dist/commands/brain/retro-respond.d.ts +56 -0
- package/dist/commands/brain/retro-respond.js +250 -0
- package/dist/commands/brain/retro-show.d.ts +23 -0
- package/dist/commands/brain/retro-show.js +100 -0
- package/dist/commands/brain/retro-start.d.ts +55 -0
- package/dist/commands/brain/retro-start.js +311 -0
- package/dist/commands/brain/search.d.ts +48 -0
- package/dist/commands/brain/search.js +190 -0
- package/dist/commands/brain/snapshot.d.ts +32 -0
- package/dist/commands/brain/snapshot.js +243 -0
- package/dist/commands/brain/status.d.ts +15 -0
- package/dist/commands/brain/status.js +166 -0
- package/dist/commands/brain/subscribe.d.ts +28 -0
- package/dist/commands/brain/subscribe.js +90 -0
- package/dist/commands/brain/tag.d.ts +46 -0
- package/dist/commands/brain/tag.js +192 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.js +22 -0
- package/dist/lib/brain-daemon.d.ts +126 -0
- package/dist/lib/brain-daemon.js +811 -0
- package/dist/lib/brain-membership.d.ts +58 -0
- package/dist/lib/brain-membership.js +115 -0
- package/dist/lib/brain-migrate-projects.d.ts +43 -0
- package/dist/lib/brain-migrate-projects.js +247 -0
- package/dist/lib/brain-migrate.d.ts +77 -0
- package/dist/lib/brain-migrate.js +328 -0
- package/dist/lib/brain-ops.d.ts +271 -0
- package/dist/lib/brain-ops.js +571 -0
- package/dist/lib/brain-paths.d.ts +15 -0
- package/dist/lib/brain-paths.js +33 -0
- package/dist/lib/brain-projections.d.ts +216 -0
- package/dist/lib/brain-projections.js +829 -0
- package/dist/lib/brain-schemas.d.ts +36 -0
- package/dist/lib/brain-schemas.js +316 -0
- package/dist/lib/brain-signing.d.ts +103 -0
- package/dist/lib/brain-signing.js +256 -0
- package/dist/lib/brain.d.ts +198 -0
- package/dist/lib/brain.js +1057 -0
- package/dist/pop-agent.d.ts +1 -0
- package/dist/pop-agent.js +18 -0
- package/docs/agent.md +126 -0
- package/docs/agents/brain-anti-entropy.md +127 -0
- package/docs/agents/brain-cross-device-onboarding.md +210 -0
- package/docs/agents/brain-cross-machine-smoke.md +241 -0
- package/docs/agents/brain-layer-setup.md +725 -0
- package/docs/agents/offboarding-protocol.md +188 -0
- package/docs/agents/onboarding-protocol.md +243 -0
- package/docs/agents/running-an-agent.md +200 -0
- package/docs/brain.md +560 -0
- package/package.json +61 -0
- package/scripts/apply.sh +140 -0
- package/scripts/onboard.sh +205 -0
- package/scripts/setup-agent.ts +272 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* pop brain append-lesson — user-facing write path into the CRDT brain
|
|
4
|
+
* substrate. Thin wrapper over applyBrainChange that pushes a lesson
|
|
5
|
+
* object onto `doc.lessons` and auto-publishes the new head via
|
|
6
|
+
* gossipsub (step 5) + seeds it for Bitswap (step 6).
|
|
7
|
+
*
|
|
8
|
+
* Before this command, writing a lesson required a Node script that
|
|
9
|
+
* imported dist/lib/brain.js and called applyBrainChange manually.
|
|
10
|
+
* This command closes the last ergonomic gap before the brain
|
|
11
|
+
* substrate is day-to-day usable for heartbeat work.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* pop brain append-lesson --doc pop.brain.shared \
|
|
15
|
+
* --title "Don't upgrade libp2p past 2.x" \
|
|
16
|
+
* --body "gossipsub 14 crashes on libp2p 3+ ... "
|
|
17
|
+
*
|
|
18
|
+
* pop brain append-lesson --doc pop.brain.shared \
|
|
19
|
+
* --title "Long form lesson" \
|
|
20
|
+
* --body-file /tmp/lesson.md
|
|
21
|
+
*/
|
|
22
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
25
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
26
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
27
|
+
}
|
|
28
|
+
Object.defineProperty(o, k2, desc);
|
|
29
|
+
}) : (function(o, m, k, k2) {
|
|
30
|
+
if (k2 === undefined) k2 = k;
|
|
31
|
+
o[k2] = m[k];
|
|
32
|
+
}));
|
|
33
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
34
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
35
|
+
}) : function(o, v) {
|
|
36
|
+
o["default"] = v;
|
|
37
|
+
});
|
|
38
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
39
|
+
var ownKeys = function(o) {
|
|
40
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
41
|
+
var ar = [];
|
|
42
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
43
|
+
return ar;
|
|
44
|
+
};
|
|
45
|
+
return ownKeys(o);
|
|
46
|
+
};
|
|
47
|
+
return function (mod) {
|
|
48
|
+
if (mod && mod.__esModule) return mod;
|
|
49
|
+
var result = {};
|
|
50
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
51
|
+
__setModuleDefault(result, mod);
|
|
52
|
+
return result;
|
|
53
|
+
};
|
|
54
|
+
})();
|
|
55
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
|
+
exports.appendLessonHandler = void 0;
|
|
57
|
+
const fs_1 = require("fs");
|
|
58
|
+
const path_1 = require("path");
|
|
59
|
+
const ethers_1 = require("ethers");
|
|
60
|
+
const brain_1 = require("../../lib/brain");
|
|
61
|
+
const brain_ops_1 = require("../../lib/brain-ops");
|
|
62
|
+
const idempotency_1 = require("@poa-box/cli/lib/idempotency");
|
|
63
|
+
const output = __importStar(require("@poa-box/cli/lib/output"));
|
|
64
|
+
/**
|
|
65
|
+
* Keep this in sync with the slugify in brain-migrate.ts — these are
|
|
66
|
+
* separate code paths but produce compatible ids.
|
|
67
|
+
*/
|
|
68
|
+
function slugify(s) {
|
|
69
|
+
return s
|
|
70
|
+
.toLowerCase()
|
|
71
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
72
|
+
.replace(/^-+|-+$/g, '')
|
|
73
|
+
.slice(0, 60);
|
|
74
|
+
}
|
|
75
|
+
exports.appendLessonHandler = {
|
|
76
|
+
builder: (yargs) => yargs
|
|
77
|
+
.option('doc', {
|
|
78
|
+
describe: 'Brain document ID (e.g. pop.brain.shared)',
|
|
79
|
+
type: 'string',
|
|
80
|
+
demandOption: true,
|
|
81
|
+
})
|
|
82
|
+
.option('title', {
|
|
83
|
+
describe: 'Short title for the lesson (used as the markdown header + default id)',
|
|
84
|
+
type: 'string',
|
|
85
|
+
demandOption: true,
|
|
86
|
+
})
|
|
87
|
+
.option('body', {
|
|
88
|
+
describe: 'Lesson body text (inline). Prefer --body-file for multi-paragraph content.',
|
|
89
|
+
type: 'string',
|
|
90
|
+
})
|
|
91
|
+
.option('body-file', {
|
|
92
|
+
describe: 'Path to a file whose contents will be used as the lesson body',
|
|
93
|
+
type: 'string',
|
|
94
|
+
})
|
|
95
|
+
.option('author', {
|
|
96
|
+
describe: 'Override the author name (default: signing wallet address)',
|
|
97
|
+
type: 'string',
|
|
98
|
+
})
|
|
99
|
+
.option('id', {
|
|
100
|
+
describe: 'Override the auto-generated lesson id',
|
|
101
|
+
type: 'string',
|
|
102
|
+
})
|
|
103
|
+
.option('allow-invalid-shape', {
|
|
104
|
+
describe: 'Bypass write-time schema validation (Task #346). Use only when you deliberately need a non-canonical shape.',
|
|
105
|
+
type: 'boolean',
|
|
106
|
+
default: false,
|
|
107
|
+
})
|
|
108
|
+
.option('idempotency-key', {
|
|
109
|
+
type: 'string',
|
|
110
|
+
describe: 'Task #370 (HB#214): explicit idempotency key. Two identical append-lesson calls within 15 minutes return the same result without re-submitting. Default: auto-derived from argv (title + body + docId). Scope: author address (brain writes are agent-scoped not org-scoped).',
|
|
111
|
+
})
|
|
112
|
+
.option('no-idempotency', {
|
|
113
|
+
type: 'boolean',
|
|
114
|
+
default: false,
|
|
115
|
+
describe: 'Bypass the idempotency cache and always submit a new lesson.',
|
|
116
|
+
})
|
|
117
|
+
.check((argv) => {
|
|
118
|
+
if (!argv.body && !argv['body-file']) {
|
|
119
|
+
throw new Error('Must supply --body or --body-file');
|
|
120
|
+
}
|
|
121
|
+
return true;
|
|
122
|
+
}),
|
|
123
|
+
handler: async (argv) => {
|
|
124
|
+
try {
|
|
125
|
+
// Resolve body content.
|
|
126
|
+
let body;
|
|
127
|
+
if (argv.bodyFile) {
|
|
128
|
+
const p = (0, path_1.resolve)(argv.bodyFile);
|
|
129
|
+
if (!(0, fs_1.existsSync)(p)) {
|
|
130
|
+
output.error(`--body-file not found: ${p}`);
|
|
131
|
+
process.exitCode = 1;
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
body = (0, fs_1.readFileSync)(p, 'utf8').replace(/\s+$/, '');
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
body = (argv.body ?? '').trim();
|
|
138
|
+
}
|
|
139
|
+
if (!body) {
|
|
140
|
+
output.error('Lesson body is empty.');
|
|
141
|
+
process.exitCode = 1;
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const now = Math.floor(Date.now() / 1000);
|
|
145
|
+
// Default id: slug(title) + suffix so two lessons with the same
|
|
146
|
+
// title still land at distinct ids. Callers can override with --id
|
|
147
|
+
// when they want a stable key (e.g. upserting a policy rule).
|
|
148
|
+
const id = argv.id ?? `${slugify(argv.title) || 'lesson'}-${now}`;
|
|
149
|
+
// Resolve the author up front — for the default case (no --author
|
|
150
|
+
// flag) we derive the Ethereum address from POP_PRIVATE_KEY so the
|
|
151
|
+
// lesson.author field matches the envelope signer that brain-signing
|
|
152
|
+
// will stamp on the block. Doing this before applyBrainChange keeps
|
|
153
|
+
// the change fn pure and avoids a two-phase update dance.
|
|
154
|
+
let authorLabel;
|
|
155
|
+
if (argv.author) {
|
|
156
|
+
authorLabel = argv.author;
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
const key = process.env.POP_PRIVATE_KEY;
|
|
160
|
+
if (!key) {
|
|
161
|
+
output.error('POP_PRIVATE_KEY not set — cannot derive default author. Pass --author explicitly.');
|
|
162
|
+
process.exitCode = 1;
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
authorLabel = new ethers_1.ethers.Wallet(key).address.toLowerCase();
|
|
166
|
+
}
|
|
167
|
+
// Task #370: idempotency check. Brain writes are agent-scoped
|
|
168
|
+
// (no orgId), so the scope is the author address instead.
|
|
169
|
+
const idempKey = argv.idempotencyKey || (0, idempotency_1.argvToIdempotencyString)(argv);
|
|
170
|
+
if (!argv.noIdempotency) {
|
|
171
|
+
const cached = (0, idempotency_1.checkIdempotencyCache)(authorLabel, 'brain.appendLesson', idempKey);
|
|
172
|
+
if (cached) {
|
|
173
|
+
if (output.isJsonMode()) {
|
|
174
|
+
output.json({
|
|
175
|
+
status: 'ok',
|
|
176
|
+
cached: true,
|
|
177
|
+
...cached,
|
|
178
|
+
note: 'Prior call within 15-min window produced this result.',
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
console.log('');
|
|
183
|
+
console.log(` Lesson already appended (idempotency cache hit)`);
|
|
184
|
+
console.log(` id: ${cached.lessonId}`);
|
|
185
|
+
console.log(` head: ${cached.headCid}`);
|
|
186
|
+
console.log(` note: Prior call within 15-min window. Use --no-idempotency to force re-submit.`);
|
|
187
|
+
console.log('');
|
|
188
|
+
}
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// Route through the unified dispatcher (HB#324 ship-2). When a
|
|
193
|
+
// brain daemon is running, this sends the op via IPC so the
|
|
194
|
+
// daemon's long-lived gossipsub mesh handles the publish. When
|
|
195
|
+
// no daemon, it falls back to in-process applyBrainChange via
|
|
196
|
+
// dispatchOp. Same result shape in both cases.
|
|
197
|
+
const result = await (0, brain_ops_1.routedDispatch)({
|
|
198
|
+
type: 'appendLesson',
|
|
199
|
+
docId: argv.doc,
|
|
200
|
+
id,
|
|
201
|
+
title: argv.title,
|
|
202
|
+
body,
|
|
203
|
+
author: authorLabel,
|
|
204
|
+
timestamp: now,
|
|
205
|
+
allowInvalidShape: argv.allowInvalidShape,
|
|
206
|
+
});
|
|
207
|
+
// Task #370: record idempotent result after successful dispatch
|
|
208
|
+
if (!argv.noIdempotency) {
|
|
209
|
+
(0, idempotency_1.recordIdempotentResult)(authorLabel, 'brain.appendLesson', idempKey, {
|
|
210
|
+
docId: argv.doc,
|
|
211
|
+
lessonId: id,
|
|
212
|
+
headCid: result.headCid,
|
|
213
|
+
author: authorLabel,
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
if (output.isJsonMode()) {
|
|
217
|
+
output.json({
|
|
218
|
+
status: 'ok',
|
|
219
|
+
docId: argv.doc,
|
|
220
|
+
lessonId: id,
|
|
221
|
+
headCid: result.headCid,
|
|
222
|
+
author: authorLabel,
|
|
223
|
+
envelopeAuthor: result.envelopeAuthor,
|
|
224
|
+
routedViaDaemon: result.routedViaDaemon,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
console.log('');
|
|
229
|
+
console.log(` Lesson appended to ${argv.doc}`);
|
|
230
|
+
console.log(` id: ${id}`);
|
|
231
|
+
console.log(` author: ${authorLabel}`);
|
|
232
|
+
console.log(` head: ${result.headCid}`);
|
|
233
|
+
console.log(` routed: ${result.routedViaDaemon ? 'via brain daemon' : 'in-process (no daemon)'}`);
|
|
234
|
+
console.log('');
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
catch (err) {
|
|
238
|
+
output.error(err.message);
|
|
239
|
+
process.exitCode = 1;
|
|
240
|
+
}
|
|
241
|
+
finally {
|
|
242
|
+
await (0, brain_1.stopBrainNode)();
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pop brain brainstorm-* — cross-agent ideation surface commands.
|
|
3
|
+
*
|
|
4
|
+
* Task #354 phase (b) (HB#208). Forward-looking companion to
|
|
5
|
+
* pop.brain.retros (reactive session retrospectives) and
|
|
6
|
+
* pop.brain.projects (lifecycle state machine for existing projects).
|
|
7
|
+
*
|
|
8
|
+
* The brainstorm surface is the missing deliberation primitive for
|
|
9
|
+
* new ideation: agents post a theme/question, debate it via messages +
|
|
10
|
+
* ideas + per-agent votes (support/explore/oppose), and top-ranked
|
|
11
|
+
* ideas get promoted to pop.brain.projects at the `propose` stage.
|
|
12
|
+
* Promotion links back via the `promotedToProjectIds` array.
|
|
13
|
+
*
|
|
14
|
+
* All commands dispatch through routedDispatch so they work with or
|
|
15
|
+
* without the brain daemon. Schema validation (#346) catches malformed
|
|
16
|
+
* writes at applyBrainChange time.
|
|
17
|
+
*
|
|
18
|
+
* Five sub-commands registered from src/commands/brain/index.ts:
|
|
19
|
+
* pop brain brainstorm-start — open a new brainstorm
|
|
20
|
+
* pop brain brainstorm-respond — post message / add idea / cast vote
|
|
21
|
+
* pop brain brainstorm-promote — promote an idea to a brain project
|
|
22
|
+
* pop brain brainstorm-close — close a brainstorm with no promotion
|
|
23
|
+
* pop brain brainstorm-remove — soft-delete tombstone
|
|
24
|
+
*/
|
|
25
|
+
import type { Argv, ArgumentsCamelCase } from 'yargs';
|
|
26
|
+
interface StartArgs {
|
|
27
|
+
doc: string;
|
|
28
|
+
title: string;
|
|
29
|
+
prompt: string;
|
|
30
|
+
author?: string;
|
|
31
|
+
id?: string;
|
|
32
|
+
windowFromHb?: number;
|
|
33
|
+
windowToHb?: number;
|
|
34
|
+
}
|
|
35
|
+
export declare const brainstormStartHandler: {
|
|
36
|
+
builder: (yargs: Argv) => Argv<{
|
|
37
|
+
doc: string;
|
|
38
|
+
} & {
|
|
39
|
+
title: string;
|
|
40
|
+
} & {
|
|
41
|
+
prompt: string;
|
|
42
|
+
} & {
|
|
43
|
+
author: string | undefined;
|
|
44
|
+
} & {
|
|
45
|
+
id: string | undefined;
|
|
46
|
+
} & {
|
|
47
|
+
"window-from-hb": number | undefined;
|
|
48
|
+
} & {
|
|
49
|
+
"window-to-hb": number | undefined;
|
|
50
|
+
} & {
|
|
51
|
+
"idempotency-key": string | undefined;
|
|
52
|
+
} & {
|
|
53
|
+
"no-idempotency": boolean;
|
|
54
|
+
}>;
|
|
55
|
+
handler: (argv: ArgumentsCamelCase<StartArgs>) => Promise<void>;
|
|
56
|
+
};
|
|
57
|
+
interface RespondArgs {
|
|
58
|
+
doc: string;
|
|
59
|
+
id: string;
|
|
60
|
+
author?: string;
|
|
61
|
+
message?: string;
|
|
62
|
+
addIdea?: string;
|
|
63
|
+
vote?: string[];
|
|
64
|
+
}
|
|
65
|
+
export declare const brainstormRespondHandler: {
|
|
66
|
+
builder: (yargs: Argv) => Argv<{
|
|
67
|
+
doc: string;
|
|
68
|
+
} & {
|
|
69
|
+
id: string;
|
|
70
|
+
} & {
|
|
71
|
+
author: string | undefined;
|
|
72
|
+
} & {
|
|
73
|
+
message: string | undefined;
|
|
74
|
+
} & {
|
|
75
|
+
"add-idea": string | undefined;
|
|
76
|
+
} & {
|
|
77
|
+
vote: string[] | undefined;
|
|
78
|
+
} & {
|
|
79
|
+
"idempotency-key": string | undefined;
|
|
80
|
+
} & {
|
|
81
|
+
"no-idempotency": boolean;
|
|
82
|
+
}>;
|
|
83
|
+
handler: (argv: ArgumentsCamelCase<RespondArgs>) => Promise<void>;
|
|
84
|
+
};
|
|
85
|
+
interface PromoteArgs {
|
|
86
|
+
doc: string;
|
|
87
|
+
id: string;
|
|
88
|
+
ideaId: string;
|
|
89
|
+
projectId: string;
|
|
90
|
+
author?: string;
|
|
91
|
+
}
|
|
92
|
+
export declare const brainstormPromoteHandler: {
|
|
93
|
+
builder: (yargs: Argv) => Argv<{
|
|
94
|
+
doc: string;
|
|
95
|
+
} & {
|
|
96
|
+
id: string;
|
|
97
|
+
} & {
|
|
98
|
+
"idea-id": string;
|
|
99
|
+
} & {
|
|
100
|
+
"project-id": string;
|
|
101
|
+
} & {
|
|
102
|
+
author: string | undefined;
|
|
103
|
+
} & {
|
|
104
|
+
"idempotency-key": string | undefined;
|
|
105
|
+
} & {
|
|
106
|
+
"no-idempotency": boolean;
|
|
107
|
+
}>;
|
|
108
|
+
handler: (argv: ArgumentsCamelCase<PromoteArgs>) => Promise<void>;
|
|
109
|
+
};
|
|
110
|
+
interface CloseArgs {
|
|
111
|
+
doc: string;
|
|
112
|
+
id: string;
|
|
113
|
+
reason?: string;
|
|
114
|
+
author?: string;
|
|
115
|
+
}
|
|
116
|
+
export declare const brainstormCloseHandler: {
|
|
117
|
+
builder: (yargs: Argv) => Argv<{
|
|
118
|
+
doc: string;
|
|
119
|
+
} & {
|
|
120
|
+
id: string;
|
|
121
|
+
} & {
|
|
122
|
+
reason: string | undefined;
|
|
123
|
+
} & {
|
|
124
|
+
author: string | undefined;
|
|
125
|
+
} & {
|
|
126
|
+
"idempotency-key": string | undefined;
|
|
127
|
+
} & {
|
|
128
|
+
"no-idempotency": boolean;
|
|
129
|
+
}>;
|
|
130
|
+
handler: (argv: ArgumentsCamelCase<CloseArgs>) => Promise<void>;
|
|
131
|
+
};
|
|
132
|
+
interface RemoveArgs {
|
|
133
|
+
doc: string;
|
|
134
|
+
id: string;
|
|
135
|
+
reason?: string;
|
|
136
|
+
author?: string;
|
|
137
|
+
}
|
|
138
|
+
export declare const brainstormRemoveHandler: {
|
|
139
|
+
builder: (yargs: Argv) => Argv<{
|
|
140
|
+
doc: string;
|
|
141
|
+
} & {
|
|
142
|
+
id: string;
|
|
143
|
+
} & {
|
|
144
|
+
reason: string | undefined;
|
|
145
|
+
} & {
|
|
146
|
+
author: string | undefined;
|
|
147
|
+
} & {
|
|
148
|
+
"idempotency-key": string | undefined;
|
|
149
|
+
} & {
|
|
150
|
+
"no-idempotency": boolean;
|
|
151
|
+
}>;
|
|
152
|
+
handler: (argv: ArgumentsCamelCase<RemoveArgs>) => Promise<void>;
|
|
153
|
+
};
|
|
154
|
+
export {};
|