@quaglius/ai-comms 0.1.0 → 0.3.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/README.md +81 -2
- package/dist/agent-cli.d.ts +36 -0
- package/dist/agent-cli.js +69 -0
- package/dist/agent-cli.js.map +1 -0
- package/dist/auto-answer.d.ts +45 -0
- package/dist/auto-answer.js +183 -0
- package/dist/auto-answer.js.map +1 -0
- package/dist/budget.d.ts +25 -0
- package/dist/budget.js +80 -0
- package/dist/budget.js.map +1 -0
- package/dist/bus-ask.d.ts +25 -0
- package/dist/bus-ask.js +62 -0
- package/dist/bus-ask.js.map +1 -0
- package/dist/cli.js +49 -9
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +108 -0
- package/dist/config.js +29 -0
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +5 -1
- package/dist/context.js +9 -3
- package/dist/context.js.map +1 -1
- package/dist/daemon.d.ts +6 -0
- package/dist/daemon.js +51 -8
- package/dist/daemon.js.map +1 -1
- package/dist/envelope.d.ts +4 -4
- package/dist/instructions.d.ts +13 -0
- package/dist/instructions.js +57 -0
- package/dist/instructions.js.map +1 -0
- package/dist/mcp.js +89 -25
- package/dist/mcp.js.map +1 -1
- package/dist/paths.d.ts +1 -0
- package/dist/paths.js +3 -0
- package/dist/paths.js.map +1 -1
- package/dist/store.d.ts +8 -1
- package/dist/store.js +44 -1
- package/dist/store.js.map +1 -1
- package/dist/time.d.ts +4 -0
- package/dist/time.js +21 -0
- package/dist/time.js.map +1 -0
- package/docs/OPEN-QUESTIONS.md +50 -2
- package/docs/SETUP-FOR-AGENTS.md +46 -1
- package/docs/SPEC-v0.3.md +181 -0
- package/package.json +1 -1
package/dist/bus-ask.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { createEnvelope } from './envelope.js';
|
|
2
|
+
import { loadLog } from './store.js';
|
|
3
|
+
export const BUS_ASK_POLL_MS = 2000;
|
|
4
|
+
export const BUS_ASK_DEFAULT_TIMEOUT_S = 60;
|
|
5
|
+
export const BUS_ASK_MAX_TIMEOUT_S = 120;
|
|
6
|
+
export const PENDING_REPLY_NOTICE = 'No answer arrived before the timeout. The ask remains in the recipient inbox as pending.';
|
|
7
|
+
export function clampBusAskTimeout(timeoutS) {
|
|
8
|
+
const value = timeoutS ?? BUS_ASK_DEFAULT_TIMEOUT_S;
|
|
9
|
+
return Math.min(Math.max(1, value), BUS_ASK_MAX_TIMEOUT_S);
|
|
10
|
+
}
|
|
11
|
+
export function defaultBusAskRecipients(team, dev) {
|
|
12
|
+
const recipients = team.filter((member) => member !== dev);
|
|
13
|
+
return recipients.length > 0 ? recipients : null;
|
|
14
|
+
}
|
|
15
|
+
export function buildBusAskEnvelope(question, to, from, context) {
|
|
16
|
+
const bodyParts = [context, question].filter((part) => part && part.trim().length > 0);
|
|
17
|
+
const body = bodyParts.join('\n\n').slice(0, 600);
|
|
18
|
+
const subject = question.replace(/\s+/g, ' ').trim().slice(0, 120);
|
|
19
|
+
const input = {
|
|
20
|
+
type: 'ask',
|
|
21
|
+
subject: subject || 'question',
|
|
22
|
+
body,
|
|
23
|
+
to,
|
|
24
|
+
};
|
|
25
|
+
return createEnvelope(input, from);
|
|
26
|
+
}
|
|
27
|
+
export function findReplyToAsk(log, askId) {
|
|
28
|
+
for (let i = log.length - 1; i >= 0; i--) {
|
|
29
|
+
const env = log[i];
|
|
30
|
+
if (env.reply_to !== askId)
|
|
31
|
+
continue;
|
|
32
|
+
if (env.type === 'answer' || env.type === 'ask' || env.type === 'need') {
|
|
33
|
+
return env;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
export function formatBusAskReply(envelope) {
|
|
39
|
+
const header = `[${envelope.type} from ${envelope.from.dev}/${envelope.from.agent} · ${envelope.from.repo}]`;
|
|
40
|
+
const parts = [header, envelope.subject];
|
|
41
|
+
if (envelope.body)
|
|
42
|
+
parts.push(envelope.body);
|
|
43
|
+
return parts.join('\n');
|
|
44
|
+
}
|
|
45
|
+
export async function waitForBusAskReply(project, askId, timeoutMs, options = {}) {
|
|
46
|
+
const pollMs = options.pollMs ?? BUS_ASK_POLL_MS;
|
|
47
|
+
const loadLogFn = options.loadLogFn ?? loadLog;
|
|
48
|
+
const sleepFn = options.sleepFn ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
49
|
+
const nowFn = options.nowFn ?? (() => Date.now());
|
|
50
|
+
const deadline = nowFn() + timeoutMs;
|
|
51
|
+
while (nowFn() < deadline) {
|
|
52
|
+
const reply = findReplyToAsk(loadLogFn(project), askId);
|
|
53
|
+
if (reply)
|
|
54
|
+
return { kind: 'reply', envelope: reply };
|
|
55
|
+
const remaining = deadline - nowFn();
|
|
56
|
+
if (remaining <= 0)
|
|
57
|
+
break;
|
|
58
|
+
await sleepFn(Math.min(pollMs, remaining));
|
|
59
|
+
}
|
|
60
|
+
return { kind: 'pending' };
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=bus-ask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bus-ask.js","sourceRoot":"","sources":["../src/bus-ask.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { writeFileSync, existsSync } from 'node:fs';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { Command } from 'commander';
|
|
5
|
-
import { ConfigError, loadConfig, saveConfig, redactedContext, ConfigV2Schema, } from './config.js';
|
|
5
|
+
import { ConfigError, loadConfig, saveConfig, redactedContext, ConfigV2Schema, resolveAutoAnswer, } from './config.js';
|
|
6
6
|
import { contextResolutionError, loadRepoComms, resolveContext, RepoCommsSchema, } from './context.js';
|
|
7
7
|
import { runDaemon } from './daemon.js';
|
|
8
8
|
import { runMcpServer } from './mcp.js';
|
|
@@ -10,7 +10,9 @@ import { checkBotPermissions, getBotUser, getChannel, REQUIRED_PERMISSION_BITS,
|
|
|
10
10
|
import { REPO_COMMS_FILENAME } from './paths.js';
|
|
11
11
|
import { prompt, promptSecret } from './prompt.js';
|
|
12
12
|
import { getEffectiveToken, SecretsError, setProjectToken, tokenSourceLabel, } from './secrets.js';
|
|
13
|
-
import { loadLog, loadReadState, materializeActiveClaims, materializeInbox, markRead, } from './store.js';
|
|
13
|
+
import { formatActiveClaim, formatInboxForDisplay, loadLog, loadReadState, materializeActiveClaims, materializeInbox, markRead, } from './store.js';
|
|
14
|
+
import { formatBudgetSnapshot, getBudgetSnapshot } from './budget.js';
|
|
15
|
+
import { buildInstructionsBlock, writeInstructionsToRepo } from './instructions.js';
|
|
14
16
|
async function runInit() {
|
|
15
17
|
console.log('ai-comms initial setup\n');
|
|
16
18
|
const dev = await prompt('dev (stable slug, e.g. ana)');
|
|
@@ -33,7 +35,7 @@ async function runInit() {
|
|
|
33
35
|
console.log(`Run "ai-comms secret set ${project}" to store the bot token.`);
|
|
34
36
|
console.log('Then run "ai-comms link" in each repo and "ai-comms doctor" to verify.');
|
|
35
37
|
}
|
|
36
|
-
async function runLink() {
|
|
38
|
+
async function runLink(options = {}) {
|
|
37
39
|
const config = loadConfig();
|
|
38
40
|
const cwd = process.cwd();
|
|
39
41
|
const target = path.join(cwd, REPO_COMMS_FILENAME);
|
|
@@ -59,6 +61,24 @@ async function runLink() {
|
|
|
59
61
|
writeFileSync(target, JSON.stringify(repoComms, null, 2) + '\n', 'utf8');
|
|
60
62
|
console.log(`Created ${target}`);
|
|
61
63
|
console.log('Commit this file so your team can use it with "ai-comms join".');
|
|
64
|
+
if (options.noInstructions)
|
|
65
|
+
return;
|
|
66
|
+
const writeInstructions = await prompt('Write ai-comms instructions to CLAUDE.md (and AGENTS.md if present)? [Y/n]', 'Y');
|
|
67
|
+
if (writeInstructions.toLowerCase() === 'n')
|
|
68
|
+
return;
|
|
69
|
+
const repoNames = [
|
|
70
|
+
repo,
|
|
71
|
+
...(projectConfig.repos ?? []).map((entry) => entry.name).filter((name) => name !== repo),
|
|
72
|
+
];
|
|
73
|
+
const block = buildInstructionsBlock({
|
|
74
|
+
project,
|
|
75
|
+
repos: [...new Set(repoNames)],
|
|
76
|
+
team: repoComms.team ?? [],
|
|
77
|
+
});
|
|
78
|
+
const written = writeInstructionsToRepo(cwd, block);
|
|
79
|
+
for (const file of written) {
|
|
80
|
+
console.log(`Updated ${file}`);
|
|
81
|
+
}
|
|
62
82
|
}
|
|
63
83
|
async function runJoin(repoPath) {
|
|
64
84
|
const absPath = path.resolve(repoPath);
|
|
@@ -175,6 +195,11 @@ async function runDoctor(projectOverride) {
|
|
|
175
195
|
return 1;
|
|
176
196
|
}
|
|
177
197
|
console.log('Permissions: VIEW_CHANNEL, SEND_MESSAGES, READ_MESSAGE_HISTORY ✓');
|
|
198
|
+
const autoAnswer = resolveAutoAnswer(config.projects[ctx.project]);
|
|
199
|
+
console.log(`\nautoAnswer: ${autoAnswer.enabled ? 'enabled' : 'disabled (default)'}` +
|
|
200
|
+
(autoAnswer.enabled
|
|
201
|
+
? ` (max ${autoAnswer.maxPerRequesterPerHour}/requester/h, timeout ${autoAnswer.timeoutSeconds}s)`
|
|
202
|
+
: ''));
|
|
178
203
|
console.log('\nDiagnostics OK.');
|
|
179
204
|
console.log(JSON.stringify(redactedContext(ctx), null, 2));
|
|
180
205
|
return 0;
|
|
@@ -201,14 +226,21 @@ async function runInbox(all, projectOverride) {
|
|
|
201
226
|
console.log('Inbox empty.');
|
|
202
227
|
return;
|
|
203
228
|
}
|
|
204
|
-
|
|
229
|
+
const formatted = formatInboxForDisplay(inbox, log);
|
|
230
|
+
for (const block of formatted.split('\n\n')) {
|
|
205
231
|
console.log('---');
|
|
206
|
-
console.log(
|
|
207
|
-
console.log(JSON.stringify(env, null, 2));
|
|
232
|
+
console.log(block);
|
|
208
233
|
}
|
|
209
234
|
markRead(ctx.project, inbox.map((e) => e.id));
|
|
210
235
|
console.log(`\n${inbox.length} message(s) marked as read.`);
|
|
211
236
|
}
|
|
237
|
+
async function runBudget(projectOverride) {
|
|
238
|
+
const config = loadConfig();
|
|
239
|
+
const ctx = resolveContext(process.cwd(), config, { projectOverride });
|
|
240
|
+
const autoAnswer = resolveAutoAnswer(config.projects[ctx.project]);
|
|
241
|
+
const snapshot = getBudgetSnapshot(ctx.project, autoAnswer.maxPerRequesterPerHour);
|
|
242
|
+
console.log(formatBudgetSnapshot(snapshot));
|
|
243
|
+
}
|
|
212
244
|
async function runClaims(projectOverride) {
|
|
213
245
|
const config = loadConfig();
|
|
214
246
|
const ctx = resolveContext(process.cwd(), config, { projectOverride });
|
|
@@ -219,7 +251,7 @@ async function runClaims(projectOverride) {
|
|
|
219
251
|
return;
|
|
220
252
|
}
|
|
221
253
|
for (const c of claims) {
|
|
222
|
-
console.log(
|
|
254
|
+
console.log(formatActiveClaim(c));
|
|
223
255
|
}
|
|
224
256
|
}
|
|
225
257
|
const program = new Command();
|
|
@@ -233,8 +265,9 @@ program.command('init').description('Create identity and first project').action(
|
|
|
233
265
|
program
|
|
234
266
|
.command('link')
|
|
235
267
|
.description('Create .ai-comms.json in the current repo')
|
|
236
|
-
.
|
|
237
|
-
|
|
268
|
+
.option('--no-instructions', 'Skip writing CLAUDE.md / AGENTS.md instructions block')
|
|
269
|
+
.action(async (opts) => {
|
|
270
|
+
await runLink({ noInstructions: opts.noInstructions });
|
|
238
271
|
});
|
|
239
272
|
program
|
|
240
273
|
.command('join')
|
|
@@ -292,6 +325,13 @@ program
|
|
|
292
325
|
.action(async (opts) => {
|
|
293
326
|
await runClaims(opts.project);
|
|
294
327
|
});
|
|
328
|
+
program
|
|
329
|
+
.command('budget')
|
|
330
|
+
.description('Show auto-answer budget usage for the current window')
|
|
331
|
+
.option('--project <p>', 'project')
|
|
332
|
+
.action(async (opts) => {
|
|
333
|
+
await runBudget(opts.project);
|
|
334
|
+
});
|
|
295
335
|
program.parseAsync(process.argv).catch((err) => {
|
|
296
336
|
if (err instanceof ConfigError || err instanceof SecretsError) {
|
|
297
337
|
console.error(err.message);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
declare const AutoAnswerConfigSchema: z.ZodObject<{
|
|
3
|
+
enabled: z.ZodBoolean;
|
|
4
|
+
maxPerRequesterPerHour: z.ZodDefault<z.ZodNumber>;
|
|
5
|
+
timeoutSeconds: z.ZodDefault<z.ZodNumber>;
|
|
6
|
+
repoPath: z.ZodOptional<z.ZodString>;
|
|
7
|
+
maxAgeMinutes: z.ZodDefault<z.ZodNumber>;
|
|
8
|
+
}, "strict", z.ZodTypeAny, {
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
maxPerRequesterPerHour: number;
|
|
11
|
+
timeoutSeconds: number;
|
|
12
|
+
maxAgeMinutes: number;
|
|
13
|
+
repoPath?: string | undefined;
|
|
14
|
+
}, {
|
|
15
|
+
enabled: boolean;
|
|
16
|
+
maxPerRequesterPerHour?: number | undefined;
|
|
17
|
+
timeoutSeconds?: number | undefined;
|
|
18
|
+
repoPath?: string | undefined;
|
|
19
|
+
maxAgeMinutes?: number | undefined;
|
|
20
|
+
}>;
|
|
2
21
|
declare const ProjectConfigSchema: z.ZodObject<{
|
|
3
22
|
discord: z.ZodObject<{
|
|
4
23
|
channelId: z.ZodString;
|
|
@@ -17,6 +36,25 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
17
36
|
path: string;
|
|
18
37
|
name: string;
|
|
19
38
|
}>, "many">>;
|
|
39
|
+
autoAnswer: z.ZodOptional<z.ZodObject<{
|
|
40
|
+
enabled: z.ZodBoolean;
|
|
41
|
+
maxPerRequesterPerHour: z.ZodDefault<z.ZodNumber>;
|
|
42
|
+
timeoutSeconds: z.ZodDefault<z.ZodNumber>;
|
|
43
|
+
repoPath: z.ZodOptional<z.ZodString>;
|
|
44
|
+
maxAgeMinutes: z.ZodDefault<z.ZodNumber>;
|
|
45
|
+
}, "strict", z.ZodTypeAny, {
|
|
46
|
+
enabled: boolean;
|
|
47
|
+
maxPerRequesterPerHour: number;
|
|
48
|
+
timeoutSeconds: number;
|
|
49
|
+
maxAgeMinutes: number;
|
|
50
|
+
repoPath?: string | undefined;
|
|
51
|
+
}, {
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
maxPerRequesterPerHour?: number | undefined;
|
|
54
|
+
timeoutSeconds?: number | undefined;
|
|
55
|
+
repoPath?: string | undefined;
|
|
56
|
+
maxAgeMinutes?: number | undefined;
|
|
57
|
+
}>>;
|
|
20
58
|
}, "strip", z.ZodTypeAny, {
|
|
21
59
|
discord: {
|
|
22
60
|
channelId: string;
|
|
@@ -25,6 +63,13 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
25
63
|
path: string;
|
|
26
64
|
name: string;
|
|
27
65
|
}[] | undefined;
|
|
66
|
+
autoAnswer?: {
|
|
67
|
+
enabled: boolean;
|
|
68
|
+
maxPerRequesterPerHour: number;
|
|
69
|
+
timeoutSeconds: number;
|
|
70
|
+
maxAgeMinutes: number;
|
|
71
|
+
repoPath?: string | undefined;
|
|
72
|
+
} | undefined;
|
|
28
73
|
}, {
|
|
29
74
|
discord: {
|
|
30
75
|
channelId: string;
|
|
@@ -33,6 +78,13 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
33
78
|
path: string;
|
|
34
79
|
name: string;
|
|
35
80
|
}[] | undefined;
|
|
81
|
+
autoAnswer?: {
|
|
82
|
+
enabled: boolean;
|
|
83
|
+
maxPerRequesterPerHour?: number | undefined;
|
|
84
|
+
timeoutSeconds?: number | undefined;
|
|
85
|
+
repoPath?: string | undefined;
|
|
86
|
+
maxAgeMinutes?: number | undefined;
|
|
87
|
+
} | undefined;
|
|
36
88
|
}>;
|
|
37
89
|
export declare const ConfigV2Schema: z.ZodObject<{
|
|
38
90
|
version: z.ZodLiteral<2>;
|
|
@@ -65,6 +117,25 @@ export declare const ConfigV2Schema: z.ZodObject<{
|
|
|
65
117
|
path: string;
|
|
66
118
|
name: string;
|
|
67
119
|
}>, "many">>;
|
|
120
|
+
autoAnswer: z.ZodOptional<z.ZodObject<{
|
|
121
|
+
enabled: z.ZodBoolean;
|
|
122
|
+
maxPerRequesterPerHour: z.ZodDefault<z.ZodNumber>;
|
|
123
|
+
timeoutSeconds: z.ZodDefault<z.ZodNumber>;
|
|
124
|
+
repoPath: z.ZodOptional<z.ZodString>;
|
|
125
|
+
maxAgeMinutes: z.ZodDefault<z.ZodNumber>;
|
|
126
|
+
}, "strict", z.ZodTypeAny, {
|
|
127
|
+
enabled: boolean;
|
|
128
|
+
maxPerRequesterPerHour: number;
|
|
129
|
+
timeoutSeconds: number;
|
|
130
|
+
maxAgeMinutes: number;
|
|
131
|
+
repoPath?: string | undefined;
|
|
132
|
+
}, {
|
|
133
|
+
enabled: boolean;
|
|
134
|
+
maxPerRequesterPerHour?: number | undefined;
|
|
135
|
+
timeoutSeconds?: number | undefined;
|
|
136
|
+
repoPath?: string | undefined;
|
|
137
|
+
maxAgeMinutes?: number | undefined;
|
|
138
|
+
}>>;
|
|
68
139
|
}, "strip", z.ZodTypeAny, {
|
|
69
140
|
discord: {
|
|
70
141
|
channelId: string;
|
|
@@ -73,6 +144,13 @@ export declare const ConfigV2Schema: z.ZodObject<{
|
|
|
73
144
|
path: string;
|
|
74
145
|
name: string;
|
|
75
146
|
}[] | undefined;
|
|
147
|
+
autoAnswer?: {
|
|
148
|
+
enabled: boolean;
|
|
149
|
+
maxPerRequesterPerHour: number;
|
|
150
|
+
timeoutSeconds: number;
|
|
151
|
+
maxAgeMinutes: number;
|
|
152
|
+
repoPath?: string | undefined;
|
|
153
|
+
} | undefined;
|
|
76
154
|
}, {
|
|
77
155
|
discord: {
|
|
78
156
|
channelId: string;
|
|
@@ -81,6 +159,13 @@ export declare const ConfigV2Schema: z.ZodObject<{
|
|
|
81
159
|
path: string;
|
|
82
160
|
name: string;
|
|
83
161
|
}[] | undefined;
|
|
162
|
+
autoAnswer?: {
|
|
163
|
+
enabled: boolean;
|
|
164
|
+
maxPerRequesterPerHour?: number | undefined;
|
|
165
|
+
timeoutSeconds?: number | undefined;
|
|
166
|
+
repoPath?: string | undefined;
|
|
167
|
+
maxAgeMinutes?: number | undefined;
|
|
168
|
+
} | undefined;
|
|
84
169
|
}>>>;
|
|
85
170
|
}, "strip", z.ZodTypeAny, {
|
|
86
171
|
projects: Record<string, {
|
|
@@ -91,6 +176,13 @@ export declare const ConfigV2Schema: z.ZodObject<{
|
|
|
91
176
|
path: string;
|
|
92
177
|
name: string;
|
|
93
178
|
}[] | undefined;
|
|
179
|
+
autoAnswer?: {
|
|
180
|
+
enabled: boolean;
|
|
181
|
+
maxPerRequesterPerHour: number;
|
|
182
|
+
timeoutSeconds: number;
|
|
183
|
+
maxAgeMinutes: number;
|
|
184
|
+
repoPath?: string | undefined;
|
|
185
|
+
} | undefined;
|
|
94
186
|
}>;
|
|
95
187
|
version: 2;
|
|
96
188
|
identity: {
|
|
@@ -113,10 +205,26 @@ export declare const ConfigV2Schema: z.ZodObject<{
|
|
|
113
205
|
path: string;
|
|
114
206
|
name: string;
|
|
115
207
|
}[] | undefined;
|
|
208
|
+
autoAnswer?: {
|
|
209
|
+
enabled: boolean;
|
|
210
|
+
maxPerRequesterPerHour?: number | undefined;
|
|
211
|
+
timeoutSeconds?: number | undefined;
|
|
212
|
+
repoPath?: string | undefined;
|
|
213
|
+
maxAgeMinutes?: number | undefined;
|
|
214
|
+
} | undefined;
|
|
116
215
|
}> | undefined;
|
|
117
216
|
}>;
|
|
118
217
|
export type ConfigV2 = z.infer<typeof ConfigV2Schema>;
|
|
119
218
|
export type ProjectConfig = z.infer<typeof ProjectConfigSchema>;
|
|
219
|
+
export type AutoAnswerConfig = z.infer<typeof AutoAnswerConfigSchema>;
|
|
220
|
+
export interface ResolvedAutoAnswer {
|
|
221
|
+
enabled: boolean;
|
|
222
|
+
maxPerRequesterPerHour: number;
|
|
223
|
+
timeoutSeconds: number;
|
|
224
|
+
repoPath?: string;
|
|
225
|
+
maxAgeMinutes: number;
|
|
226
|
+
}
|
|
227
|
+
export declare function resolveAutoAnswer(projectConfig: ProjectConfig | undefined): ResolvedAutoAnswer;
|
|
120
228
|
/** @deprecated internal compatibility alias */
|
|
121
229
|
export type Config = ConfigV2;
|
|
122
230
|
export declare class ConfigError extends Error {
|
package/dist/config.js
CHANGED
|
@@ -13,9 +13,25 @@ const RepoEntrySchema = z.object({
|
|
|
13
13
|
name: z.string().min(1),
|
|
14
14
|
path: z.string().min(1),
|
|
15
15
|
});
|
|
16
|
+
const AutoAnswerConfigSchema = z
|
|
17
|
+
.object({
|
|
18
|
+
enabled: z.boolean(),
|
|
19
|
+
maxPerRequesterPerHour: z.number().int().positive().default(5),
|
|
20
|
+
timeoutSeconds: z.number().int().positive().max(120).default(120),
|
|
21
|
+
// Where the headless answerer runs. Required once a project has more than
|
|
22
|
+
// one repo: point it at the directory that contains them so the answerer
|
|
23
|
+
// can read all of them.
|
|
24
|
+
repoPath: z.string().min(1).optional(),
|
|
25
|
+
// An ask older than this is not worth answering: bus_ask blocks for at most
|
|
26
|
+
// two minutes, so a late answer reaches nobody and spends the responder's
|
|
27
|
+
// quota. Also stops a daemon restart from replying to a backlog.
|
|
28
|
+
maxAgeMinutes: z.number().int().positive().default(10),
|
|
29
|
+
})
|
|
30
|
+
.strict();
|
|
16
31
|
const ProjectConfigSchema = z.object({
|
|
17
32
|
discord: ProjectDiscordSchema,
|
|
18
33
|
repos: z.array(RepoEntrySchema).optional(),
|
|
34
|
+
autoAnswer: AutoAnswerConfigSchema.optional(),
|
|
19
35
|
});
|
|
20
36
|
export const ConfigV2Schema = z.object({
|
|
21
37
|
version: z.literal(2),
|
|
@@ -23,6 +39,19 @@ export const ConfigV2Schema = z.object({
|
|
|
23
39
|
defaultProject: z.string().min(1),
|
|
24
40
|
projects: z.record(z.string(), ProjectConfigSchema).default({}),
|
|
25
41
|
});
|
|
42
|
+
export function resolveAutoAnswer(projectConfig) {
|
|
43
|
+
const aa = projectConfig?.autoAnswer;
|
|
44
|
+
if (!aa?.enabled) {
|
|
45
|
+
return { enabled: false, maxPerRequesterPerHour: 5, timeoutSeconds: 120, maxAgeMinutes: 10 };
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
enabled: true,
|
|
49
|
+
maxPerRequesterPerHour: aa.maxPerRequesterPerHour ?? 5,
|
|
50
|
+
timeoutSeconds: aa.timeoutSeconds ?? 120,
|
|
51
|
+
repoPath: aa.repoPath,
|
|
52
|
+
maxAgeMinutes: aa.maxAgeMinutes ?? 10,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
26
55
|
export class ConfigError extends Error {
|
|
27
56
|
constructor(message) {
|
|
28
57
|
super(message);
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,oBAAoB;IAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACjE,0EAA0E;IAC1E,yEAAyE;IACzE,wBAAwB;IACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,4EAA4E;IAC5E,0EAA0E;IAC1E,iEAAiE;IACjE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACvD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,oBAAoB;IAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,QAAQ,EAAE,cAAc;IACxB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAChE,CAAC,CAAC;AAcH,MAAM,UAAU,iBAAiB,CAAC,aAAwC;IACxE,MAAM,EAAE,GAAG,aAAa,EAAE,UAAU,CAAC;IACrC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;QACjB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAC/F,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,sBAAsB,EAAE,EAAE,CAAC,sBAAsB,IAAI,CAAC;QACtD,cAAc,EAAE,EAAE,CAAC,cAAc,IAAI,GAAG;QACxC,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,aAAa,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE;KACtC,CAAC;AACJ,CAAC;AAKD,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CAAC,UAAU,GAAG,aAAa,EAAE;IACrD,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,WAAW,CACnB,sBAAsB,UAAU,sCAAsC,CACvE,CAAC;IACJ,CAAC;IAED,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,WAAW,CAAC,qBAAqB,UAAU,mBAAmB,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,WAAW,CAAC,qBAAqB,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAgB,EAAE,UAAkB;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,WAAW,CACnB,aAAa,UAAU,gEAAgE;YACrF,uCAAuC,CAC1C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAgB,EAAE,UAAU,GAAG,aAAa,EAAE;IACvE,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1C,SAAS,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAQ/B;IACC,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;QACzC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/context.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { type ConfigV2 } from './config.js';
|
|
3
|
+
import type { Envelope } from './envelope.js';
|
|
3
4
|
export declare const RepoCommsSchema: z.ZodObject<{
|
|
4
5
|
project: z.ZodString;
|
|
5
6
|
repo: z.ZodString;
|
|
@@ -46,4 +47,7 @@ export declare function resolveContext(cwd: string, config?: ConfigV2, options?:
|
|
|
46
47
|
projectOverride?: string;
|
|
47
48
|
}): ResolvedContext;
|
|
48
49
|
export declare function contextResolutionError(): string;
|
|
49
|
-
export declare function
|
|
50
|
+
export declare function validateRecipients(to: string[], team: string[], dev: string, options?: {
|
|
51
|
+
log?: Envelope[];
|
|
52
|
+
replyTo?: string | null;
|
|
53
|
+
}): string[];
|
package/dist/context.js
CHANGED
|
@@ -130,14 +130,20 @@ export function contextResolutionError() {
|
|
|
130
130
|
' · Run "ai-comms link" inside the repo to create .ai-comms.json, or\n' +
|
|
131
131
|
' · Pass --project <name> if it is already configured in ~/.ai-comms/config.json.');
|
|
132
132
|
}
|
|
133
|
-
export function
|
|
133
|
+
export function validateRecipients(to, team, dev, options = {}) {
|
|
134
|
+
const warnings = [];
|
|
135
|
+
const replyAuthor = options.replyTo && options.log
|
|
136
|
+
? options.log.find((e) => e.id === options.replyTo)?.from.dev
|
|
137
|
+
: undefined;
|
|
134
138
|
for (const recipient of to) {
|
|
135
139
|
if (recipient === '*' || recipient === dev)
|
|
136
140
|
continue;
|
|
141
|
+
if (replyAuthor && recipient === replyAuthor)
|
|
142
|
+
continue;
|
|
137
143
|
if (team.length > 0 && !team.includes(recipient)) {
|
|
138
|
-
|
|
144
|
+
warnings.push(`recipient "${recipient}" is not in team roster (${team.join(', ')}); sending directed anyway`);
|
|
139
145
|
}
|
|
140
146
|
}
|
|
141
|
-
return
|
|
147
|
+
return warnings;
|
|
142
148
|
}
|
|
143
149
|
//# sourceMappingURL=context.js.map
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAA8B,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import type { ConfigV2 } from './config.js';
|
|
2
|
+
import { type Envelope } from './envelope.js';
|
|
3
|
+
/** Persist every valid envelope; notify only for messages from other devs. */
|
|
4
|
+
export declare function ingestEnvelope(envelope: Envelope, project: string, dev: string, config?: ConfigV2, verbose?: boolean): {
|
|
5
|
+
notified: boolean;
|
|
6
|
+
};
|
|
1
7
|
export declare function runDaemon(options?: {
|
|
2
8
|
verbose?: boolean;
|
|
3
9
|
}): Promise<void>;
|