@beacon-build/sdk 1.16.0 → 1.18.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/CHANGELOG.md +34 -0
- package/dist/clients/admin/settings.client.d.ts +63 -0
- package/dist/clients/admin/settings.client.d.ts.map +1 -0
- package/dist/clients/admin/settings.client.js +56 -0
- package/dist/clients/admin/settings.client.js.map +1 -0
- package/dist/clients/shared/task-config.client.d.ts +23 -0
- package/dist/clients/shared/task-config.client.d.ts.map +1 -0
- package/dist/clients/shared/task-config.client.js +29 -0
- package/dist/clients/shared/task-config.client.js.map +1 -0
- package/dist/factory/admin-sdk.d.ts +6 -0
- package/dist/factory/admin-sdk.d.ts.map +1 -1
- package/dist/factory/admin-sdk.js +4 -0
- package/dist/factory/admin-sdk.js.map +1 -1
- package/dist/factory/agent-sdk.d.ts +3 -0
- package/dist/factory/agent-sdk.d.ts.map +1 -1
- package/dist/factory/agent-sdk.js +9 -0
- package/dist/factory/agent-sdk.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/legacy/sdk-factory.d.ts +3 -0
- package/dist/legacy/sdk-factory.d.ts.map +1 -1
- package/dist/legacy/sdk-factory.js +2 -0
- package/dist/legacy/sdk-factory.js.map +1 -1
- package/package.json +2 -2
- package/dist/cli/backlog.d.ts +0 -14
- package/dist/cli/backlog.d.ts.map +0 -1
- package/dist/cli/backlog.js +0 -228
- package/dist/cli/backlog.js.map +0 -1
- package/dist/cli/claude-md-check.d.ts +0 -18
- package/dist/cli/claude-md-check.d.ts.map +0 -1
- package/dist/cli/claude-md-check.js +0 -57
- package/dist/cli/claude-md-check.js.map +0 -1
- package/dist/cli/context.d.ts +0 -14
- package/dist/cli/context.d.ts.map +0 -1
- package/dist/cli/context.js +0 -465
- package/dist/cli/context.js.map +0 -1
- package/dist/cli/help.d.ts +0 -17
- package/dist/cli/help.d.ts.map +0 -1
- package/dist/cli/help.js +0 -71
- package/dist/cli/help.js.map +0 -1
- package/dist/cli/index.d.ts +0 -22
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -212
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/project-log.d.ts +0 -16
- package/dist/cli/project-log.d.ts.map +0 -1
- package/dist/cli/project-log.js +0 -185
- package/dist/cli/project-log.js.map +0 -1
- package/dist/cli/setup-worktree.d.ts +0 -23
- package/dist/cli/setup-worktree.d.ts.map +0 -1
- package/dist/cli/setup-worktree.js +0 -396
- package/dist/cli/setup-worktree.js.map +0 -1
- package/dist/cli/update-client.d.ts +0 -14
- package/dist/cli/update-client.d.ts.map +0 -1
- package/dist/cli/update-client.js +0 -629
- package/dist/cli/update-client.js.map +0 -1
- package/dist/cli/workflow-sync.d.ts +0 -19
- package/dist/cli/workflow-sync.d.ts.map +0 -1
- package/dist/cli/workflow-sync.js +0 -133
- package/dist/cli/workflow-sync.js.map +0 -1
- package/dist/lib/context.d.ts +0 -69
- package/dist/lib/context.d.ts.map +0 -1
- package/dist/lib/context.js +0 -225
- package/dist/lib/context.js.map +0 -1
- package/dist/lib/db.d.ts +0 -16
- package/dist/lib/db.d.ts.map +0 -1
- package/dist/lib/db.js +0 -50
- package/dist/lib/db.js.map +0 -1
- package/dist/lib/logger.d.ts +0 -14
- package/dist/lib/logger.d.ts.map +0 -1
- package/dist/lib/logger.js +0 -14
- package/dist/lib/logger.js.map +0 -1
- package/dist/lib/opencode.d.ts +0 -33
- package/dist/lib/opencode.d.ts.map +0 -1
- package/dist/lib/opencode.js +0 -101
- package/dist/lib/opencode.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -18
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -40
- package/dist/lib/utils.js.map +0 -1
package/dist/cli/index.js
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* beacon-cli — @beacon-build/sdk
|
|
4
|
-
*
|
|
5
|
-
* Single entrypoint with subcommands (F164).
|
|
6
|
-
* Routes to the appropriate compiled CLI script.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* beacon-cli <command> [args...]
|
|
10
|
-
* beacon-cli --help
|
|
11
|
-
*
|
|
12
|
-
* Commands:
|
|
13
|
-
* context Generate AGENTS.md / CLAUDE.md
|
|
14
|
-
* backlog Generate docs/backlog.md from DB
|
|
15
|
-
* workflow-sync Sync workflow files to DB
|
|
16
|
-
* setup-worktree Set up a permanent agent worktree
|
|
17
|
-
* project-log Generate docs/project-log.md from DB
|
|
18
|
-
* claude-md-check Validate CLAUDE.md auto-triggers
|
|
19
|
-
* help Show available commands
|
|
20
|
-
*/
|
|
21
|
-
import { execFileSync } from 'node:child_process';
|
|
22
|
-
import { readFileSync } from 'node:fs';
|
|
23
|
-
import { join } from 'node:path';
|
|
24
|
-
const COMMANDS = {
|
|
25
|
-
context: {
|
|
26
|
-
script: 'context.js',
|
|
27
|
-
usage: 'beacon-cli context <project> [flags]',
|
|
28
|
-
description: 'Generate AGENTS.md / CLAUDE.md / opencode.jsonc for a project',
|
|
29
|
-
flags: [
|
|
30
|
-
{
|
|
31
|
-
flag: '--write',
|
|
32
|
-
description: 'Write files to disk: AGENTS.md, CLAUDE.md, opencode.jsonc',
|
|
33
|
-
},
|
|
34
|
-
{ flag: '--force', description: 'Force write + repair git state (implies --write)' },
|
|
35
|
-
{
|
|
36
|
-
flag: '--reset',
|
|
37
|
-
description: 'Wipe existing content and start from template (implies --force)',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
flag: '--agent=<alias>',
|
|
41
|
-
description: 'Override agent alias (bypasses file-based resolution)',
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
flag: '--code-project=<slug>',
|
|
45
|
-
description: 'Override code repo slug (bypasses DB lookup)',
|
|
46
|
-
},
|
|
47
|
-
{ flag: '--all', description: 'Run for all active projects in the DB' },
|
|
48
|
-
],
|
|
49
|
-
examples: [
|
|
50
|
-
'beacon-cli context beacon-platform # preview output',
|
|
51
|
-
'beacon-cli context beacon-platform --write # write AGENTS.md + CLAUDE.md',
|
|
52
|
-
'beacon-cli context beacon-platform --reset # full regeneration from template',
|
|
53
|
-
'beacon-cli context --all --write # write all active projects',
|
|
54
|
-
],
|
|
55
|
-
},
|
|
56
|
-
backlog: {
|
|
57
|
-
script: 'backlog.js',
|
|
58
|
-
usage: 'beacon-cli backlog [<project>] [--write]',
|
|
59
|
-
description: 'Generate docs/backlog.md from DB',
|
|
60
|
-
flags: [{ flag: '--write', description: 'Write file to disk (default: stdout only)' }],
|
|
61
|
-
examples: ['beacon-cli backlog beacon-platform --write'],
|
|
62
|
-
},
|
|
63
|
-
'workflow-sync': {
|
|
64
|
-
script: 'workflow-sync.js',
|
|
65
|
-
usage: 'beacon-cli workflow-sync <project> --workflows-dir=<path> [--write]',
|
|
66
|
-
description: 'Sync workflow files to DB',
|
|
67
|
-
flags: [
|
|
68
|
-
{ flag: '--workflows-dir=<path>', description: 'Path to workflows directory' },
|
|
69
|
-
{ flag: '--write', description: 'Persist changes to DB' },
|
|
70
|
-
],
|
|
71
|
-
},
|
|
72
|
-
'setup-worktree': {
|
|
73
|
-
script: 'setup-worktree.js',
|
|
74
|
-
usage: 'beacon-cli setup-worktree <Alias> [--role <role>]',
|
|
75
|
-
description: 'Set up a permanent agent worktree',
|
|
76
|
-
flags: [{ flag: '--role <role>', description: 'Agent role (default: worker)' }],
|
|
77
|
-
examples: ['beacon-cli setup-worktree Klara'],
|
|
78
|
-
},
|
|
79
|
-
'project-log': {
|
|
80
|
-
script: 'project-log.js',
|
|
81
|
-
usage: 'beacon-cli project-log [<project>] [--write]',
|
|
82
|
-
description: 'Generate docs/project-log.md from DB',
|
|
83
|
-
flags: [{ flag: '--write', description: 'Write file to disk (default: stdout only)' }],
|
|
84
|
-
},
|
|
85
|
-
'claude-md-check': {
|
|
86
|
-
script: 'claude-md-check.js',
|
|
87
|
-
usage: 'beacon-cli claude-md-check [project-root]',
|
|
88
|
-
description: 'Validate CLAUDE.md auto-triggers against practices',
|
|
89
|
-
examples: ['beacon-cli claude-md-check /path/to/project'],
|
|
90
|
-
},
|
|
91
|
-
'update-client': {
|
|
92
|
-
script: 'update-client.js',
|
|
93
|
-
usage: 'beacon-cli update-client <path|slug|all> [--push] [--no-context]',
|
|
94
|
-
description: 'Sync MCP packages + context for a client workspace',
|
|
95
|
-
flags: [
|
|
96
|
-
{ flag: '--push', description: 'Commit and push package.json changes after update' },
|
|
97
|
-
{
|
|
98
|
-
flag: '--no-context',
|
|
99
|
-
description: 'Skip context regeneration (AGENTS.md / CLAUDE.md)',
|
|
100
|
-
},
|
|
101
|
-
],
|
|
102
|
-
examples: [
|
|
103
|
-
'beacon-cli update-client matchpoint # single workspace',
|
|
104
|
-
'beacon-cli update-client all # all active projects',
|
|
105
|
-
'beacon-cli update-client all --push # update + commit + push',
|
|
106
|
-
],
|
|
107
|
-
},
|
|
108
|
-
ops: {
|
|
109
|
-
bin: 'ops-help',
|
|
110
|
-
usage: 'beacon-cli ops',
|
|
111
|
-
description: 'Show ops command overview',
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
function printCommandHelp(name, cmd) {
|
|
115
|
-
const bold = (s) => `\x1b[1m${s}\x1b[0m`;
|
|
116
|
-
const cyan = (s) => `\x1b[36m${s}\x1b[0m`;
|
|
117
|
-
const dim = (s) => `\x1b[2m${s}\x1b[0m`;
|
|
118
|
-
console.log();
|
|
119
|
-
console.log(` ${bold(name)} — ${cmd.description}`);
|
|
120
|
-
console.log();
|
|
121
|
-
console.log(cyan(' Usage'));
|
|
122
|
-
console.log(` ${cmd.usage}`);
|
|
123
|
-
if (cmd.flags && cmd.flags.length > 0) {
|
|
124
|
-
console.log();
|
|
125
|
-
console.log(cyan(' Flags'));
|
|
126
|
-
const maxLen = Math.max(...cmd.flags.map((f) => f.flag.length));
|
|
127
|
-
for (const { flag, description } of cmd.flags) {
|
|
128
|
-
console.log(` ${flag.padEnd(maxLen + 2)}${dim(description)}`);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
if (cmd.examples && cmd.examples.length > 0) {
|
|
132
|
-
console.log();
|
|
133
|
-
console.log(cyan(' Examples'));
|
|
134
|
-
for (const ex of cmd.examples) {
|
|
135
|
-
console.log(` ${dim(ex)}`);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
console.log();
|
|
139
|
-
}
|
|
140
|
-
function printUsage() {
|
|
141
|
-
const bold = (s) => `\x1b[1m${s}\x1b[0m`;
|
|
142
|
-
const dim = (s) => `\x1b[2m${s}\x1b[0m`;
|
|
143
|
-
const cyan = (s) => `\x1b[36m${s}\x1b[0m`;
|
|
144
|
-
const white = (s) => `\x1b[97m${s}\x1b[0m`;
|
|
145
|
-
// Read version from package.json
|
|
146
|
-
let version = '';
|
|
147
|
-
try {
|
|
148
|
-
const pkgPath = new URL('../../package.json', import.meta.url);
|
|
149
|
-
const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
150
|
-
version = pkg.version;
|
|
151
|
-
}
|
|
152
|
-
catch {
|
|
153
|
-
/* ignore */
|
|
154
|
-
}
|
|
155
|
-
const ver = version ? `v${version}` : '';
|
|
156
|
-
// Box: inner width = 36 (between ╭ and ╮)
|
|
157
|
-
// Content: " ◆ beacon cli" (15) + spaces + ver + " " (2 right padding)
|
|
158
|
-
const INNER = 36;
|
|
159
|
-
const LEFT = ' ◆ beacon cli';
|
|
160
|
-
const RIGHT = `${ver} `;
|
|
161
|
-
const spaces = ' '.repeat(Math.max(1, INNER - LEFT.length - RIGHT.length));
|
|
162
|
-
console.log();
|
|
163
|
-
console.log(cyan(` ╭${'─'.repeat(INNER)}╮`));
|
|
164
|
-
console.log(cyan(' │') + bold(white(LEFT)) + dim(spaces + RIGHT) + cyan('│'));
|
|
165
|
-
console.log(cyan(` ╰${'─'.repeat(INNER)}╯`));
|
|
166
|
-
console.log();
|
|
167
|
-
console.log(` ${dim('Usage')} beacon-cli ${dim('<command>')} ${dim('[args...]')}`);
|
|
168
|
-
console.log();
|
|
169
|
-
console.log(` ${dim('Commands')}`);
|
|
170
|
-
for (const [name, cmd] of Object.entries(COMMANDS)) {
|
|
171
|
-
console.log(` ${bold(name.padEnd(18))} ${dim(cmd.description)}`);
|
|
172
|
-
}
|
|
173
|
-
console.log();
|
|
174
|
-
console.log(` ${dim('Run beacon-cli <command> --help for usage details.')}`);
|
|
175
|
-
console.log();
|
|
176
|
-
}
|
|
177
|
-
const subcommand = process.argv[2];
|
|
178
|
-
if (!subcommand || subcommand === '--help' || subcommand === '-h') {
|
|
179
|
-
printUsage();
|
|
180
|
-
process.exit(0);
|
|
181
|
-
}
|
|
182
|
-
const cmd = COMMANDS[subcommand];
|
|
183
|
-
if (!cmd) {
|
|
184
|
-
console.error(`\x1b[31mUnknown command: ${subcommand}\x1b[0m`);
|
|
185
|
-
printUsage();
|
|
186
|
-
process.exit(1);
|
|
187
|
-
}
|
|
188
|
-
// Intercept --help or no-args before forwarding to subcommand script.
|
|
189
|
-
// Exception: bin-only commands with no flags provide their own help — pass through.
|
|
190
|
-
const subArgs = process.argv.slice(3);
|
|
191
|
-
const hasBuiltinHelp = cmd.flags && cmd.flags.length > 0;
|
|
192
|
-
const wantsHelp = subArgs.includes('--help') || subArgs.includes('-h');
|
|
193
|
-
if ((subArgs.length === 0 || wantsHelp) && (hasBuiltinHelp || !cmd.bin)) {
|
|
194
|
-
printCommandHelp(subcommand, cmd);
|
|
195
|
-
process.exit(0);
|
|
196
|
-
}
|
|
197
|
-
try {
|
|
198
|
-
if (cmd.bin) {
|
|
199
|
-
// External binary — resolve via PATH
|
|
200
|
-
execFileSync(cmd.bin, process.argv.slice(3), { stdio: 'inherit' });
|
|
201
|
-
}
|
|
202
|
-
else if (cmd.script) {
|
|
203
|
-
const scriptPath = join(import.meta.dirname, cmd.script);
|
|
204
|
-
execFileSync(process.execPath, [scriptPath, ...process.argv.slice(3)], { stdio: 'inherit' });
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
catch (err) {
|
|
208
|
-
// execFileSync throws on non-zero exit — propagate the exit code
|
|
209
|
-
const code = err.status ?? 1;
|
|
210
|
-
process.exit(code);
|
|
211
|
-
}
|
|
212
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* beacon-project-log — @beacon-build/sdk (T76 rewrite)
|
|
4
|
-
*
|
|
5
|
-
* Generates a project-log.md from completed/failed tasks in PostgreSQL.
|
|
6
|
-
* Queries tasks table for result.time_h, result.decisions, etc.
|
|
7
|
-
* Joins with agents table to resolve agent aliases.
|
|
8
|
-
*
|
|
9
|
-
* Usage:
|
|
10
|
-
* beacon-project-log # all projects, stdout
|
|
11
|
-
* beacon-project-log <project> # one project, stdout
|
|
12
|
-
* beacon-project-log <project> --write # write to <project>/docs/project-log.md
|
|
13
|
-
* beacon-project-log --write # write all projects
|
|
14
|
-
*/
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=project-log.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-log.d.ts","sourceRoot":"","sources":["../../src/cli/project-log.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG"}
|
package/dist/cli/project-log.js
DELETED
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* beacon-project-log — @beacon-build/sdk (T76 rewrite)
|
|
4
|
-
*
|
|
5
|
-
* Generates a project-log.md from completed/failed tasks in PostgreSQL.
|
|
6
|
-
* Queries tasks table for result.time_h, result.decisions, etc.
|
|
7
|
-
* Joins with agents table to resolve agent aliases.
|
|
8
|
-
*
|
|
9
|
-
* Usage:
|
|
10
|
-
* beacon-project-log # all projects, stdout
|
|
11
|
-
* beacon-project-log <project> # one project, stdout
|
|
12
|
-
* beacon-project-log <project> --write # write to <project>/docs/project-log.md
|
|
13
|
-
* beacon-project-log --write # write all projects
|
|
14
|
-
*/
|
|
15
|
-
import { Pool } from 'pg';
|
|
16
|
-
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
|
|
17
|
-
import { resolve } from 'node:path';
|
|
18
|
-
import { parse } from 'yaml';
|
|
19
|
-
import { getDatabaseUrl } from '../lib/db.js';
|
|
20
|
-
import { createCliLogger } from '../lib/logger.js';
|
|
21
|
-
const log = createCliLogger('project-log');
|
|
22
|
-
// ─── CLI ────────────────────────────────────────────────────────────────────
|
|
23
|
-
const args = process.argv.slice(2).filter((a) => !a.startsWith('-'));
|
|
24
|
-
const flags = process.argv.slice(2).filter((a) => a.startsWith('-'));
|
|
25
|
-
const projectArg = args[0] ?? null;
|
|
26
|
-
const doWrite = flags.includes('--write');
|
|
27
|
-
// ─── DB ──────────────────────────────────────────────────────────────────────
|
|
28
|
-
const pool = new Pool({ connectionString: getDatabaseUrl() });
|
|
29
|
-
const { rows: agents } = await pool.query('SELECT id, alias FROM agents');
|
|
30
|
-
const agentById = new Map(agents.map((a) => [a.id, a]));
|
|
31
|
-
let projects = [];
|
|
32
|
-
if (projectArg) {
|
|
33
|
-
projects = [projectArg];
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
const { rows: projectRows } = await pool.query(`SELECT DISTINCT project FROM tasks WHERE status IN ('done', 'failed')`);
|
|
37
|
-
if (projectRows.length) {
|
|
38
|
-
projects = projectRows.map((r) => r.project).sort();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (!projects.length) {
|
|
42
|
-
log.warn('no projects with completed tasks found', {});
|
|
43
|
-
await pool.end();
|
|
44
|
-
process.exit(1);
|
|
45
|
-
}
|
|
46
|
-
// ─── Resolve project roots ─────────────────────────────────────────────────
|
|
47
|
-
function resolveProjectRoot(project) {
|
|
48
|
-
const home = process.env.HOME ?? process.env.USERPROFILE ?? '';
|
|
49
|
-
const candidates = [
|
|
50
|
-
resolve(home, '.beacon-platform', 'projects.yaml'),
|
|
51
|
-
resolve(process.cwd(), 'servers', 'beacon-agent', 'projects.yaml'),
|
|
52
|
-
];
|
|
53
|
-
for (const yamlPath of candidates) {
|
|
54
|
-
if (!existsSync(yamlPath))
|
|
55
|
-
continue;
|
|
56
|
-
const doc = parse(readFileSync(yamlPath, 'utf-8'));
|
|
57
|
-
const entry = doc?.projects?.[project];
|
|
58
|
-
if (entry?.path)
|
|
59
|
-
return entry.path;
|
|
60
|
-
}
|
|
61
|
-
return process.cwd();
|
|
62
|
-
}
|
|
63
|
-
// ─── Format helpers ─────────────────────────────────────────────────────────
|
|
64
|
-
function formatArraySection(title, items) {
|
|
65
|
-
if (!items || items.length === 0)
|
|
66
|
-
return '';
|
|
67
|
-
const lines = [`**${title}:**`, ''];
|
|
68
|
-
for (const item of items) {
|
|
69
|
-
lines.push(`- ${item}`);
|
|
70
|
-
}
|
|
71
|
-
lines.push('');
|
|
72
|
-
return lines.join('\n');
|
|
73
|
-
}
|
|
74
|
-
function parseLogEntry(content) {
|
|
75
|
-
const result = { decisions: [], learnings: [], friction: [] };
|
|
76
|
-
let currentKey = null;
|
|
77
|
-
for (const line of content.split('\n')) {
|
|
78
|
-
const headerMatch = line.match(/^\*\*(Decisions|Learnings|Friction):\*\*$/);
|
|
79
|
-
if (headerMatch) {
|
|
80
|
-
currentKey = headerMatch[1].toLowerCase();
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
|
-
if (currentKey && line.startsWith('- ')) {
|
|
84
|
-
result[currentKey].push(line.slice(2));
|
|
85
|
-
}
|
|
86
|
-
else if (line.trim() !== '') {
|
|
87
|
-
currentKey = null;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return result;
|
|
91
|
-
}
|
|
92
|
-
// ─── Generate for one project ───────────────────────────────────────────────
|
|
93
|
-
async function generateForProject(project) {
|
|
94
|
-
const { rows: tasks } = await pool.query(`SELECT id, ref, title, status, completed_at, claimed_at, assignee_id AS agent_id, result, parent_id, type AS task_type
|
|
95
|
-
FROM tasks
|
|
96
|
-
WHERE project = $1 AND status IN ('done', 'failed')
|
|
97
|
-
ORDER BY completed_at DESC`, [project]);
|
|
98
|
-
if (!tasks.length) {
|
|
99
|
-
log.warn('no completed tasks found', { project });
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
const taskIds = tasks.map((t) => t.id);
|
|
103
|
-
const { rows: logDocs } = await pool.query(`SELECT task_id, content FROM documents WHERE task_id = ANY($1) AND type = 'log-entry'`, [taskIds]);
|
|
104
|
-
const logEntryMap = new Map();
|
|
105
|
-
for (const doc of logDocs) {
|
|
106
|
-
logEntryMap.set(doc.task_id, parseLogEntry(doc.content));
|
|
107
|
-
}
|
|
108
|
-
const byDate = new Map();
|
|
109
|
-
for (const task of tasks) {
|
|
110
|
-
const date = (task.completed_at ?? task.claimed_at ?? '').toString().slice(0, 10) || 'unknown';
|
|
111
|
-
if (!byDate.has(date))
|
|
112
|
-
byDate.set(date, []);
|
|
113
|
-
byDate.get(date).push(task);
|
|
114
|
-
}
|
|
115
|
-
const lines = [];
|
|
116
|
-
lines.push(`# Project Log \u2014 ${project}`);
|
|
117
|
-
lines.push('');
|
|
118
|
-
lines.push('Qualitative log: decisions, learnings, and time tracking per task.');
|
|
119
|
-
lines.push('');
|
|
120
|
-
lines.push(`> Generated from tasks DB on ${new Date().toISOString().slice(0, 10)}`);
|
|
121
|
-
lines.push('');
|
|
122
|
-
let grandTotal = 0;
|
|
123
|
-
for (const [date, dateTasks] of byDate) {
|
|
124
|
-
let dayTotal = 0;
|
|
125
|
-
const taskLines = [];
|
|
126
|
-
for (const task of dateTasks) {
|
|
127
|
-
const agent = task.agent_id ? agentById.get(task.agent_id) : null;
|
|
128
|
-
const alias = agent?.alias ?? 'unknown';
|
|
129
|
-
const result = task.result ?? {};
|
|
130
|
-
const timeH = Math.round((result.time_h ?? 0) * 4) / 4;
|
|
131
|
-
dayTotal += timeH;
|
|
132
|
-
const idPart = task.ref ? `${task.ref}: ` : '';
|
|
133
|
-
taskLines.push(`### ${idPart}${task.title} (${alias}, ${timeH}h)`);
|
|
134
|
-
taskLines.push('');
|
|
135
|
-
if (result.summary) {
|
|
136
|
-
taskLines.push(result.summary);
|
|
137
|
-
taskLines.push('');
|
|
138
|
-
}
|
|
139
|
-
const logEntry = logEntryMap.get(task.id);
|
|
140
|
-
if (logEntry) {
|
|
141
|
-
taskLines.push(formatArraySection('Decisions', logEntry.decisions));
|
|
142
|
-
taskLines.push(formatArraySection('Learnings', logEntry.learnings));
|
|
143
|
-
taskLines.push(formatArraySection('Friction', logEntry.friction));
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
grandTotal += dayTotal;
|
|
147
|
-
lines.push('---');
|
|
148
|
-
lines.push('');
|
|
149
|
-
lines.push(`## ${date} (${dayTotal.toFixed(1)}h)`);
|
|
150
|
-
lines.push('');
|
|
151
|
-
lines.push(...taskLines.filter((l) => l !== ''));
|
|
152
|
-
}
|
|
153
|
-
lines.push('---');
|
|
154
|
-
lines.push('');
|
|
155
|
-
lines.push(`**Grand Total: ${grandTotal.toFixed(1)}h**`);
|
|
156
|
-
lines.push('');
|
|
157
|
-
return lines.join('\n');
|
|
158
|
-
}
|
|
159
|
-
// ─── Main ───────────────────────────────────────────────────────────────────
|
|
160
|
-
for (const project of projects) {
|
|
161
|
-
const output = await generateForProject(project);
|
|
162
|
-
if (!output)
|
|
163
|
-
continue;
|
|
164
|
-
if (doWrite) {
|
|
165
|
-
const root = resolveProjectRoot(project);
|
|
166
|
-
const docsDir = resolve(root, 'docs');
|
|
167
|
-
if (!existsSync(docsDir))
|
|
168
|
-
mkdirSync(docsDir, { recursive: true });
|
|
169
|
-
const outPath = resolve(docsDir, 'project-log.md');
|
|
170
|
-
if (existsSync(outPath) && readFileSync(outPath, 'utf-8') === output) {
|
|
171
|
-
log.info('skipped (unchanged)', { path: outPath });
|
|
172
|
-
}
|
|
173
|
-
else {
|
|
174
|
-
writeFileSync(outPath, output);
|
|
175
|
-
log.info('written', { path: outPath });
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
console.log(output);
|
|
180
|
-
if (projects.length > 1)
|
|
181
|
-
console.log('\n' + '='.repeat(60) + '\n');
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
await pool.end();
|
|
185
|
-
//# sourceMappingURL=project-log.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-log.js","sourceRoot":"","sources":["../../src/cli/project-log.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* beacon-setup-worktree — @beacon-build/sdk (F84)
|
|
4
|
-
*
|
|
5
|
-
* Sets up a permanent agent worktree for multi-agent parallel work.
|
|
6
|
-
* Works in any consumer repo that follows beacon-platform conventions.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* beacon-setup-worktree <Alias> [--role <role>] [--domains <d1,d2>] [--guardrails <text>]
|
|
10
|
-
*
|
|
11
|
-
* Steps:
|
|
12
|
-
* 1. git worktree add (idempotent)
|
|
13
|
-
* 2. pnpm install
|
|
14
|
-
* 3. prisma generate
|
|
15
|
-
* 4. pnpm build
|
|
16
|
-
* 5. .mcp.json generation
|
|
17
|
-
* 6. .beacon-agent written to worktree
|
|
18
|
-
* 7. MCP binary verification
|
|
19
|
-
* 8. agent_setup via JSON-RPC (mandatory — INV-7)
|
|
20
|
-
* 9. pnpm context --write (generates Worker Identity in AGENTS.md — F78)
|
|
21
|
-
*/
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=setup-worktree.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup-worktree.d.ts","sourceRoot":"","sources":["../../src/cli/setup-worktree.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;GAmBG"}
|