@xhulz/nina 0.54.0 → 0.55.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 +1 -1
- package/package.json +1 -1
- package/releases/0.55.0/core/GAPS.md +125 -0
- package/releases/0.55.0/core/answered.json +68 -0
- package/releases/0.55.0/core/defaults/tree/.claude/agents/architect.md +1 -0
- package/releases/0.55.0/core/defaults/tree/.claude/agents/dba.md +3 -0
- package/releases/0.55.0/core/defaults/tree/.claude/agents/devops.md +1 -0
- package/releases/0.55.0/core/defaults/tree/.claude/agents/implementer.md +1 -0
- package/releases/0.55.0/core/defaults/tree/.claude/agents/integration-tester.md +3 -0
- package/releases/0.55.0/core/defaults/tree/.claude/agents/qa.md +7 -0
- package/releases/0.55.0/core/defaults/tree/.claude/agents/reviewer.md +3 -0
- package/releases/0.55.0/core/defaults/tree/.claude/agents/secops.md +3 -0
- package/releases/0.55.0/core/defaults/tree/.claude/agents/solidity-auditor.md +3 -0
- package/releases/0.55.0/core/defaults/tree/.claude/agents/solidity-dev.md +3 -0
- package/releases/0.55.0/core/tree/.claude/agents/architect.md +130 -0
- package/releases/0.55.0/core/tree/.claude/agents/dba.md +119 -0
- package/releases/0.55.0/core/tree/.claude/agents/design-reviewer.md +75 -0
- package/releases/0.55.0/core/tree/.claude/agents/devops.md +118 -0
- package/releases/0.55.0/core/tree/.claude/agents/implementer.md +163 -0
- package/releases/0.55.0/core/tree/.claude/agents/integration-tester.md +170 -0
- package/releases/0.55.0/core/tree/.claude/agents/planner.md +132 -0
- package/releases/0.55.0/core/tree/.claude/agents/qa.md +150 -0
- package/releases/0.55.0/core/tree/.claude/agents/reviewer.md +187 -0
- package/releases/0.55.0/core/tree/.claude/agents/secops.md +120 -0
- package/releases/0.55.0/core/tree/.claude/agents/solidity-auditor.md +126 -0
- package/releases/0.55.0/core/tree/.claude/agents/solidity-dev.md +123 -0
- package/releases/0.55.0/core/tree/.claude/agents-overview.md +65 -0
- package/releases/0.55.0/core/tree/.claude/frontend.md +10 -0
- package/releases/0.55.0/core/tree/.claude/graph.md +79 -0
- package/releases/0.55.0/core/tree/.claude/patterns.md +251 -0
- package/releases/0.55.0/core/tree/.claude/pills/README.md +150 -0
- package/releases/0.55.0/core/tree/.claude/pipeline.md +101 -0
- package/releases/0.55.0/core/tree/.claude/retrieval.md +103 -0
- package/releases/0.55.0/core/tree/.claude/router.md +205 -0
- package/releases/0.55.0/core/tree/.claude/templates/integration.md +48 -0
- package/releases/0.55.0/core/tree/CLAUDE.md +166 -0
- package/releases/0.55.0/core/tree/scripts/cost-watch.mjs +25 -0
- package/releases/0.55.0/core/tree/scripts/edit-guard.mjs +24 -0
- package/releases/0.55.0/core/tree/scripts/harness-check.mjs +71 -0
- package/releases/0.55.0/core/tree/scripts/loop-gate.mjs +19 -0
- package/releases/0.55.0/core/vocabulary.json +14 -0
- package/releases/0.55.0/surfaces/blockchain/tree/.claude/agents/architect.md +5 -0
- package/releases/0.55.0/surfaces/blockchain/tree/.claude/agents/devops.md +5 -0
- package/releases/0.55.0/surfaces/blockchain/tree/.claude/agents/reviewer.md +5 -0
- package/releases/0.55.0/surfaces/blockchain/tree/.claude/agents/solidity-auditor.md +18 -0
- package/releases/0.55.0/surfaces/blockchain/tree/.claude/agents/solidity-dev.md +16 -0
- package/releases/0.55.0/surfaces/blockchain/tree/.claude/agents-overview.md +6 -0
- package/releases/0.55.0/surfaces/blockchain/tree/.claude/graph.md +11 -0
- package/releases/0.55.0/surfaces/blockchain/tree/.claude/router.md +6 -0
- package/releases/0.55.0/surfaces/blockchain/tree/CLAUDE.md +12 -0
- package/releases/0.55.0/surfaces/d1/tree/.claude/agents/dba.md +15 -0
- package/releases/0.55.0/surfaces/d1/tree/.claude/agents/devops.md +2 -0
- package/releases/0.55.0/surfaces/d1/tree/.claude/agents/implementer.md +2 -0
- package/releases/0.55.0/surfaces/d1/tree/.claude/patterns.md +8 -0
- package/releases/0.55.0/surfaces/d1/tree/CLAUDE.md +2 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/agents/architect.md +5 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/agents/dba.md +54 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/agents/devops.md +5 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/agents/implementer.md +2 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/agents/integration-tester.md +10 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/agents/planner.md +2 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/agents/reviewer.md +22 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/agents/secops.md +2 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/agents-overview.md +5 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/graph.md +8 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/patterns.md +22 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/pipeline.md +13 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/retrieval.md +5 -0
- package/releases/0.55.0/surfaces/db/tree/.claude/router.md +4 -0
- package/releases/0.55.0/surfaces/db/tree/CLAUDE.md +17 -0
- package/releases/0.55.0/surfaces/drizzle/tree/.claude/agents/dba.md +9 -0
- package/releases/0.55.0/surfaces/drizzle/tree/.claude/agents/devops.md +5 -0
- package/releases/0.55.0/surfaces/drizzle/tree/.claude/agents/implementer.md +2 -0
- package/releases/0.55.0/surfaces/drizzle/tree/.claude/patterns.md +7 -0
- package/releases/0.55.0/surfaces/edge-cf/tree/.claude/agents/architect.md +14 -0
- package/releases/0.55.0/surfaces/edge-cf/tree/.claude/agents/dba.md +2 -0
- package/releases/0.55.0/surfaces/edge-cf/tree/.claude/agents/devops.md +29 -0
- package/releases/0.55.0/surfaces/edge-cf/tree/.claude/agents/implementer.md +14 -0
- package/releases/0.55.0/surfaces/edge-cf/tree/.claude/agents/integration-tester.md +11 -0
- package/releases/0.55.0/surfaces/edge-cf/tree/.claude/agents/qa.md +3 -0
- package/releases/0.55.0/surfaces/edge-cf/tree/.claude/agents/reviewer.md +8 -0
- package/releases/0.55.0/surfaces/edge-cf/tree/.claude/agents/secops.md +8 -0
- package/releases/0.55.0/surfaces/edge-cf/tree/.claude/patterns.md +17 -0
- package/releases/0.55.0/surfaces/edge-cf/tree/.claude/retrieval.md +8 -0
- package/releases/0.55.0/surfaces/edge-cf/tree/CLAUDE.md +27 -0
- package/releases/0.55.0/surfaces/frontend/tree/.claude/agents/architect.md +20 -0
- package/releases/0.55.0/surfaces/frontend/tree/.claude/agents/devops.md +28 -0
- package/releases/0.55.0/surfaces/frontend/tree/.claude/agents/implementer.md +25 -0
- package/releases/0.55.0/surfaces/frontend/tree/.claude/agents/qa.md +17 -0
- package/releases/0.55.0/surfaces/frontend/tree/.claude/agents/reviewer.md +56 -0
- package/releases/0.55.0/surfaces/frontend/tree/.claude/patterns.md +8 -0
- package/releases/0.55.0/surfaces/frontend/tree/.claude/retrieval.md +2 -0
- package/releases/0.55.0/surfaces/frontend/tree/.claude/router.md +14 -0
- package/releases/0.55.0/surfaces/frontend/tree/CLAUDE.md +5 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/agents/architect.md +16 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/agents/implementer.md +12 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/agents/integration-tester.md +20 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/agents/planner.md +2 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/agents/reviewer.md +21 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/agents/secops.md +2 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/agents-overview.md +8 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/graph.md +10 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/patterns.md +38 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/pipeline.md +16 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/retrieval.md +16 -0
- package/releases/0.55.0/surfaces/integrations/tree/.claude/router.md +6 -0
- package/releases/0.55.0/surfaces/integrations/tree/CLAUDE.md +17 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/agents/architect.md +12 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/agents/dba.md +14 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/agents/implementer.md +11 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/agents/integration-tester.md +3 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/agents/reviewer.md +23 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/agents/secops.md +5 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/agents/solidity-auditor.md +4 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/agents/solidity-dev.md +4 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/graph.md +2 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/patterns.md +49 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/pipeline.md +2 -0
- package/releases/0.55.0/surfaces/money/tree/.claude/retrieval.md +2 -0
- package/releases/0.55.0/surfaces/money/tree/CLAUDE.md +11 -0
- package/releases/0.55.0/surfaces/pii/tree/.claude/agents/dba.md +2 -0
- package/releases/0.55.0/surfaces/pii/tree/.claude/agents/devops.md +8 -0
- package/releases/0.55.0/surfaces/pii/tree/.claude/agents/reviewer.md +8 -0
- package/releases/0.55.0/surfaces/pii/tree/.claude/agents/secops.md +2 -0
- package/releases/0.55.0/surfaces/pii/tree/.claude/agents/solidity-auditor.md +5 -0
- package/releases/0.55.0/surfaces/pii/tree/CLAUDE.md +5 -0
- package/releases/0.55.0/surfaces/prisma/tree/.claude/agents/architect.md +2 -0
- package/releases/0.55.0/surfaces/prisma/tree/.claude/agents/dba.md +42 -0
- package/releases/0.55.0/surfaces/prisma/tree/.claude/agents/devops.md +11 -0
- package/releases/0.55.0/surfaces/prisma/tree/.claude/agents/implementer.md +2 -0
- package/releases/0.55.0/surfaces/prisma/tree/.claude/agents/integration-tester.md +2 -0
- package/releases/0.55.0/surfaces/prisma/tree/.claude/agents/reviewer.md +2 -0
- package/releases/0.55.0/surfaces/prisma/tree/.claude/patterns.md +15 -0
- package/releases/0.55.0/surfaces/prisma/tree/CLAUDE.md +5 -0
- package/src/commands/stats.mjs +28 -9
- package/src/dashboard.html +2 -1
- package/src/office.html +2 -2
- package/src/transcripts.mjs +15 -2
package/src/transcripts.mjs
CHANGED
|
@@ -75,6 +75,7 @@ const VERDICTS = [
|
|
|
75
75
|
export const ROLE_TOKENS = {
|
|
76
76
|
planner: ['PLAN-READY', 'BLOCKED'],
|
|
77
77
|
architect: ['SPEC-READY', 'BLOCKED'],
|
|
78
|
+
'design-reviewer': ['APPROVED', 'REJECTED'],
|
|
78
79
|
implementer: ['DIFF-READY', 'BLOCKED'],
|
|
79
80
|
'solidity-dev': ['DIFF-READY', 'BLOCKED'],
|
|
80
81
|
reviewer: ['APPROVED', 'REJECTED'],
|
|
@@ -120,6 +121,9 @@ export function classifyVerdict(result, role) {
|
|
|
120
121
|
/** The tools that write a file, and where each names it. */
|
|
121
122
|
const WRITES = { Edit: 'file_path', Write: 'file_path', MultiEdit: 'file_path', NotebookEdit: 'notebook_path' };
|
|
122
123
|
|
|
124
|
+
/** How many lines a text written through an edit tool holds: none for an empty one, a last newline ending one. */
|
|
125
|
+
const linesIn = (text) => (typeof text === 'string' && text.length > 0 ? text.replace(/\n$/, '').split('\n').length : 0);
|
|
126
|
+
|
|
123
127
|
/** The line under a declared verdict that names what the report sends back. */
|
|
124
128
|
const ISSUES = /^\s*ISSUES:(.*)$/;
|
|
125
129
|
|
|
@@ -642,7 +646,7 @@ async function attachAgentDetail(projectDir, dispatches) {
|
|
|
642
646
|
if (
|
|
643
647
|
run.agent_read_bytes === size &&
|
|
644
648
|
!('resumes' in run) &&
|
|
645
|
-
[...records, ...later].every((r) => settled(r) && 'round' in r && 'lessons_read' in r && 'tokens' in r && 'files_touched' in r && 'effort' in r && 'turns' in r && 'prompt_chars' in r)
|
|
649
|
+
[...records, ...later].every((r) => settled(r) && 'round' in r && 'lessons_read' in r && 'tokens' in r && 'files_touched' in r && 'lines_written' in r && 'effort' in r && 'turns' in r && 'prompt_chars' in r)
|
|
646
650
|
) {
|
|
647
651
|
continue;
|
|
648
652
|
}
|
|
@@ -670,6 +674,11 @@ async function attachAgentDetail(projectDir, dispatches) {
|
|
|
670
674
|
usage: new Map(),
|
|
671
675
|
/** The files the round wrote through the edit tools. Only their number is kept. */
|
|
672
676
|
written: new Set(),
|
|
677
|
+
/**
|
|
678
|
+
* The lines it wrote there, by file: a file's last whole write, and each edit's new text after it — what the
|
|
679
|
+
* run wrote, not its diff: an edit made twice counts twice, and a file a shell command changed not at all.
|
|
680
|
+
*/
|
|
681
|
+
lines: new Map(),
|
|
673
682
|
/** The tool calls the round made, by id: over its turns, how many calls each turn sent at once. */
|
|
674
683
|
calls: new Set(),
|
|
675
684
|
/** How long the prompt that opened the round was, in characters; never the prompt. */
|
|
@@ -708,7 +717,10 @@ async function attachAgentDetail(projectDir, dispatches) {
|
|
|
708
717
|
try {
|
|
709
718
|
for (const block of JSON.parse(line)?.message?.content ?? []) {
|
|
710
719
|
const path = block?.type === 'tool_use' ? block.input?.[WRITES[block.name]] : null;
|
|
711
|
-
if (typeof path
|
|
720
|
+
if (typeof path !== 'string') continue;
|
|
721
|
+
round.written.add(path);
|
|
722
|
+
const added = { Edit: () => linesIn(block.input.new_string), MultiEdit: () => (Array.isArray(block.input.edits) ? block.input.edits : []).reduce((n, e) => n + linesIn(e?.new_string), 0), NotebookEdit: () => linesIn(block.input.new_source) }[block.name];
|
|
723
|
+
round.lines.set(path, block.name === 'Write' ? linesIn(block.input.content) : (round.lines.get(path) ?? 0) + (added?.() ?? 0));
|
|
712
724
|
}
|
|
713
725
|
} catch {
|
|
714
726
|
// A torn line loses one edit, not the run's.
|
|
@@ -795,6 +807,7 @@ async function attachAgentDetail(projectDir, dispatches) {
|
|
|
795
807
|
record.usage_model = spent.model;
|
|
796
808
|
record.effort = spent.effort;
|
|
797
809
|
record.files_touched = round.written.size;
|
|
810
|
+
record.lines_written = [...round.lines.values()].reduce((a, b) => a + b, 0);
|
|
798
811
|
record.skills = [...round.skills];
|
|
799
812
|
record.lessons_read = round.lessonsRead.size;
|
|
800
813
|
record.lessons_listed = round.lessonsListed;
|