@noclaf/cli 0.4.5 → 0.4.7
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 +7 -1
- package/dist/cli/commands/init.js +24 -4
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/sync.js +70 -7
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/flows/dependencies.js +32 -1
- package/dist/cli/flows/dependencies.js.map +1 -1
- package/dist/cli/flows/sections.js +40 -1
- package/dist/cli/flows/sections.js.map +1 -1
- package/dist/cli/ui/render.js +19 -0
- package/dist/cli/ui/render.js.map +1 -1
- package/dist/config.js +15 -0
- package/dist/config.js.map +1 -1
- package/dist/lib/dependencies.js +26 -5
- package/dist/lib/dependencies.js.map +1 -1
- package/dist/lib/harness.js +89 -0
- package/dist/lib/harness.js.map +1 -0
- package/dist/lib/patterns.js +61 -0
- package/dist/lib/patterns.js.map +1 -0
- package/dist/lib/project-context.js +17 -0
- package/dist/lib/project-context.js.map +1 -1
- package/dist/lib/rules.js +129 -0
- package/dist/lib/rules.js.map +1 -0
- package/dist/lib/skill-serve.js +22 -1
- package/dist/lib/skill-serve.js.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/record-delivery.js +70 -0
- package/dist/tools/record-delivery.js.map +1 -0
- package/package.json +1 -1
package/dist/lib/dependencies.js
CHANGED
|
@@ -16,14 +16,27 @@ import { dirname, join } from 'node:path';
|
|
|
16
16
|
const NPM_NAME_RE = /^(?:@[a-z0-9-][a-z0-9-._]*\/)?[a-z0-9-][a-z0-9-._]*$/i;
|
|
17
17
|
/** Só clones https do GitHub. */
|
|
18
18
|
const GIT_URL_RE = /^https:\/\/github\.com\/[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+(?:\.git)?$/;
|
|
19
|
-
/** Slug `owner/repo`
|
|
20
|
-
const SKILLS_REPO_RE = /^[A-Za-z0-9._-]+\/[A-Za-z0-9._-]
|
|
19
|
+
/** Slug pro `npx skills add`: `owner/repo` ou `owner/repo/skill` (skill específica). */
|
|
20
|
+
const SKILLS_REPO_RE = /^[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)?$/;
|
|
21
21
|
/** Id de plugin do Claude Code: `plugin@marketplace`. */
|
|
22
22
|
const PLUGIN_ID_RE = /^[A-Za-z0-9._-]+@[A-Za-z0-9._-]+$/;
|
|
23
23
|
/** Onde clonamos deps do tipo `git` (`~/.noclaf/deps/<id>`). */
|
|
24
24
|
function depsDir() {
|
|
25
25
|
return join(homedir(), '.noclaf', 'deps');
|
|
26
26
|
}
|
|
27
|
+
/** Plano `skills` (skills.sh) a partir de um slug validado, ou `null` se inválido. */
|
|
28
|
+
export function skillsInstallPlan(slug) {
|
|
29
|
+
const s = slug.trim();
|
|
30
|
+
if (!SKILLS_REPO_RE.test(s))
|
|
31
|
+
return null;
|
|
32
|
+
return {
|
|
33
|
+
kind: 'skills',
|
|
34
|
+
repo: s,
|
|
35
|
+
program: 'npx',
|
|
36
|
+
args: ['--yes', 'skills', 'add', s],
|
|
37
|
+
command: `npx --yes skills add ${s}`,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
27
40
|
/**
|
|
28
41
|
* Resolve um doc `dependency` num plano de instalação a partir de campos
|
|
29
42
|
* estruturados. Precedência: `npm:` > `skills:` > `git:`. Sem campo válido → `plan: null`.
|
|
@@ -61,18 +74,26 @@ export function resolveDependency(node) {
|
|
|
61
74
|
const skills = fm.skills?.trim();
|
|
62
75
|
if (skills) {
|
|
63
76
|
if (SKILLS_REPO_RE.test(skills)) {
|
|
77
|
+
// `owner/repo/skill` → instala o skill específico com `--skill` (senão o
|
|
78
|
+
// `skills add` clona o monorepo inteiro e não acha o SKILL.md).
|
|
79
|
+
const segs = skills.split('/');
|
|
80
|
+
const repoSlug = segs.slice(0, 2).join('/');
|
|
81
|
+
const skillName = segs.length >= 3 ? segs.slice(2).join('/') : null;
|
|
82
|
+
const args = skillName
|
|
83
|
+
? ['--yes', 'skills', 'add', repoSlug, '--skill', skillName]
|
|
84
|
+
: ['--yes', 'skills', 'add', repoSlug];
|
|
64
85
|
return {
|
|
65
86
|
...base,
|
|
66
87
|
plan: {
|
|
67
88
|
kind: 'skills',
|
|
68
89
|
repo: skills,
|
|
69
90
|
program: 'npx',
|
|
70
|
-
args
|
|
71
|
-
command: `npx
|
|
91
|
+
args,
|
|
92
|
+
command: `npx ${args.join(' ')}`,
|
|
72
93
|
},
|
|
73
94
|
};
|
|
74
95
|
}
|
|
75
|
-
return { ...base, reason: `repo de skills inválido (owner/repo): "${skills}"` };
|
|
96
|
+
return { ...base, reason: `repo de skills inválido (owner/repo[/skill]): "${skills}"` };
|
|
76
97
|
}
|
|
77
98
|
const git = fm.git?.trim();
|
|
78
99
|
if (git) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/lib/dependencies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/lib/dependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
/**
|
|
4
|
+
* Grava o **harness** de código no repo (versionado, do time): o arquivo de rules
|
|
5
|
+
* concatenadas + as âncoras no `AGENTS.md` (com o bloco de overview do NOS) + um
|
|
6
|
+
* `CLAUDE.md` fino. Idempotente e não-destrutivo: só reescreve o que é do noclaf; o
|
|
7
|
+
* texto do time no `AGENTS.md` (fora do bloco marcado) é preservado.
|
|
8
|
+
*/
|
|
9
|
+
export const HARNESS_RULES_REL = 'docs/_rules/noclaf.md';
|
|
10
|
+
export const HARNESS_PATTERNS_REL = 'docs/_patterns.md';
|
|
11
|
+
const AGENTS_REL = 'AGENTS.md';
|
|
12
|
+
const CLAUDE_REL = 'CLAUDE.md';
|
|
13
|
+
const OV_START = '<!-- noclaf:overview:start -->';
|
|
14
|
+
const OV_END = '<!-- noclaf:overview:end -->';
|
|
15
|
+
function escapeRe(s) {
|
|
16
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
17
|
+
}
|
|
18
|
+
function writeIfChanged(path, content) {
|
|
19
|
+
if (!existsSync(path)) {
|
|
20
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
21
|
+
writeFileSync(path, content, 'utf8');
|
|
22
|
+
return 'created';
|
|
23
|
+
}
|
|
24
|
+
if (readFileSync(path, 'utf8') === content)
|
|
25
|
+
return 'unchanged';
|
|
26
|
+
writeFileSync(path, content, 'utf8');
|
|
27
|
+
return 'updated';
|
|
28
|
+
}
|
|
29
|
+
/** Insere um bloco logo após o primeiro heading `# …`, ou no topo se não houver. */
|
|
30
|
+
function insertAfterTitle(text, block) {
|
|
31
|
+
const lines = text.split('\n');
|
|
32
|
+
const i = lines.findIndex((l) => /^#\s/.test(l));
|
|
33
|
+
if (i === -1)
|
|
34
|
+
return `${block}\n${text}`;
|
|
35
|
+
lines.splice(i + 1, 0, '', block);
|
|
36
|
+
return lines.join('\n');
|
|
37
|
+
}
|
|
38
|
+
/** Garante o bloco de overview (marcado) + as âncoras `@` no `AGENTS.md`. */
|
|
39
|
+
function ensureAgents(path, overview) {
|
|
40
|
+
const anchors = [`@${HARNESS_RULES_REL}`, `@${HARNESS_PATTERNS_REL}`];
|
|
41
|
+
const ovBlock = overview
|
|
42
|
+
? `${OV_START}\n## Sobre o projeto\n\n${overview.trim()}\n${OV_END}`
|
|
43
|
+
: null;
|
|
44
|
+
if (!existsSync(path)) {
|
|
45
|
+
const ov = ovBlock ? `${ovBlock}\n\n` : '';
|
|
46
|
+
const content = `# AGENTS.md\n\n${ov}## Harness\n\n${anchors.join('\n')}\n`;
|
|
47
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
48
|
+
writeFileSync(path, content, 'utf8');
|
|
49
|
+
return 'created';
|
|
50
|
+
}
|
|
51
|
+
let text = readFileSync(path, 'utf8');
|
|
52
|
+
const before = text;
|
|
53
|
+
if (ovBlock) {
|
|
54
|
+
const re = new RegExp(`${escapeRe(OV_START)}[\\s\\S]*?${escapeRe(OV_END)}`);
|
|
55
|
+
text = re.test(text) ? text.replace(re, ovBlock) : insertAfterTitle(text, ovBlock);
|
|
56
|
+
}
|
|
57
|
+
for (const line of anchors) {
|
|
58
|
+
if (!text.split('\n').some((l) => l.trim() === line)) {
|
|
59
|
+
text = `${text.trimEnd()}\n${line}\n`;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (text === before)
|
|
63
|
+
return 'unchanged';
|
|
64
|
+
writeFileSync(path, text, 'utf8');
|
|
65
|
+
return 'updated';
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Escreve o harness no repo (`cwd`). `rulesMarkdown` vem do concatenador; `overview` é
|
|
69
|
+
* o texto do NOS (opcional — quando ausente, o bloco de overview não é tocado).
|
|
70
|
+
*/
|
|
71
|
+
export function writeRepoHarness(cwd, opts) {
|
|
72
|
+
const result = { rules: 'empty', agents: 'unchanged', claude: 'unchanged' };
|
|
73
|
+
// 1. docs/_rules/noclaf.md — totalmente do noclaf.
|
|
74
|
+
if (opts.rulesMarkdown.trim()) {
|
|
75
|
+
const header = '# Harness de código — noclaf\n\n' +
|
|
76
|
+
'<!-- Gerado por `noclaf sync`. Não edite à mão — rode `noclaf sync`. -->\n\n';
|
|
77
|
+
result.rules = writeIfChanged(join(cwd, HARNESS_RULES_REL), `${header}${opts.rulesMarkdown.trim()}\n`);
|
|
78
|
+
}
|
|
79
|
+
// 2. AGENTS.md — overview (bloco marcado) + âncoras.
|
|
80
|
+
result.agents = ensureAgents(join(cwd, AGENTS_REL), opts.overview ?? null);
|
|
81
|
+
// 3. CLAUDE.md fino — scaffold-if-missing.
|
|
82
|
+
const claudePath = join(cwd, CLAUDE_REL);
|
|
83
|
+
if (!existsSync(claudePath)) {
|
|
84
|
+
writeFileSync(claudePath, `@${AGENTS_REL}\n`, 'utf8');
|
|
85
|
+
result.claude = 'created';
|
|
86
|
+
}
|
|
87
|
+
return result;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/lib/harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { readSkillDocs } from './skills.js';
|
|
5
|
+
/**
|
|
6
|
+
* Patterns do harness — a parte que **precisa de IA**. O CLI não raciocina sobre o
|
|
7
|
+
* código, então dispara um agente **headless** (`claude -p` / `codex exec`), com
|
|
8
|
+
* consentimento, pra analisar o repo e escrever `docs/_patterns.md`. Best-effort.
|
|
9
|
+
*/
|
|
10
|
+
export const PATTERNS_REL = 'docs/_patterns.md';
|
|
11
|
+
export function patternsPath(cwd) {
|
|
12
|
+
return join(cwd, PATTERNS_REL);
|
|
13
|
+
}
|
|
14
|
+
export function patternsExist(cwd) {
|
|
15
|
+
return existsSync(patternsPath(cwd));
|
|
16
|
+
}
|
|
17
|
+
/** Prompt da análise: corpo da skill `detect-patterns` (fonte única) ou fallback embutido. */
|
|
18
|
+
const FALLBACK_PROMPT = `Analise ESTE repositório e escreva \`${PATTERNS_REL}\` (arquivo único, sobrescreva se existir) com os PADRÕES REAIS já usados no código: estrutura de pastas/camadas, convenções de naming, stack/libs e como são usadas, e padrões de estado/dados/erros/testes. Baseie-se SÓ no que existe — não invente nem recomende. Seja conciso (poucas dezenas de linhas): é contexto pra outros agentes, não pode inflar. Não toque em nenhum outro arquivo.`;
|
|
19
|
+
function analysisPrompt() {
|
|
20
|
+
try {
|
|
21
|
+
const doc = readSkillDocs().find((d) => d.id === 'detect-patterns' && d.type === 'skill');
|
|
22
|
+
if (doc?.content.trim())
|
|
23
|
+
return doc.content.trim();
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
/* skill ausente do cache → fallback */
|
|
27
|
+
}
|
|
28
|
+
return FALLBACK_PROMPT;
|
|
29
|
+
}
|
|
30
|
+
/** Existe um binário no PATH (via `--version`)? */
|
|
31
|
+
function hasBin(bin) {
|
|
32
|
+
try {
|
|
33
|
+
const r = spawnSync(bin, ['--version'], { stdio: 'ignore' });
|
|
34
|
+
return !r.error;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Roda a análise de patterns headless no `cwd`. Prefere `claude`, cai pro `codex`;
|
|
42
|
+
* sem nenhum no PATH, não roda (retorna `ran:false`). Nunca lança.
|
|
43
|
+
*/
|
|
44
|
+
export function runPatternsAnalysis(cwd) {
|
|
45
|
+
const prompt = analysisPrompt();
|
|
46
|
+
// stdin ignorado (o prompt vai por arg) — evita o agente ficar esperando stdin.
|
|
47
|
+
const stdio = ['ignore', 'inherit', 'inherit'];
|
|
48
|
+
if (hasBin('claude')) {
|
|
49
|
+
const r = spawnSync('claude', ['-p', prompt, '--permission-mode', 'acceptEdits'], {
|
|
50
|
+
cwd,
|
|
51
|
+
stdio,
|
|
52
|
+
});
|
|
53
|
+
return { ran: true, ok: !r.error && r.status === 0, agent: 'claude' };
|
|
54
|
+
}
|
|
55
|
+
if (hasBin('codex')) {
|
|
56
|
+
const r = spawnSync('codex', ['exec', prompt], { cwd, stdio });
|
|
57
|
+
return { ran: true, ok: !r.error && r.status === 0, agent: 'codex' };
|
|
58
|
+
}
|
|
59
|
+
return { ran: false, reason: 'sem `claude` nem `codex` no PATH pra rodar a análise' };
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/lib/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;GAIG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEhD,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,8FAA8F;AAC9F,MAAM,eAAe,GAAG,wCAAwC,YAAY,mYAAmY,CAAC;AAEhd,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC1F,IAAI,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,mDAAmD;AACnD,SAAS,MAAM,CAAC,GAAW;IACzB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAEhC,gFAAgF;IAChF,MAAM,KAAK,GAAqC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAEjF,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,aAAa,CAAC,EAAE;YAChF,GAAG;YACH,KAAK;SACN,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,sDAAsD,EAAE,CAAC;AACxF,CAAC"}
|
|
@@ -4,6 +4,23 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export class ProjectContextError extends Error {
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Texto de "Sobre o projeto" pro harness (`AGENTS.md`), montado do `ai_context` do NOS —
|
|
9
|
+
* projeto + cada repo que tenha contexto. Determinístico (não usa LLM). `''` se nada.
|
|
10
|
+
*/
|
|
11
|
+
export function buildProjectOverview(ctx) {
|
|
12
|
+
const parts = [];
|
|
13
|
+
if (ctx.project.ai_context?.trim())
|
|
14
|
+
parts.push(ctx.project.ai_context.trim());
|
|
15
|
+
// Escopo pelo **repositório atribuído** (`repository_id`) quando há um selecionado — o
|
|
16
|
+
// harness vive dentro dele. Sem repo (binding no projeto) → todos, pra orquestração.
|
|
17
|
+
const repos = ctx.current_repository ? [ctx.current_repository] : ctx.repositories;
|
|
18
|
+
for (const r of repos) {
|
|
19
|
+
if (r.ai_context?.trim())
|
|
20
|
+
parts.push(`### ${r.name}\n\n${r.ai_context.trim()}`);
|
|
21
|
+
}
|
|
22
|
+
return parts.join('\n\n');
|
|
23
|
+
}
|
|
7
24
|
/**
|
|
8
25
|
* Projetos **ativos em que o usuário é membro** (`project_members`). Duas queries
|
|
9
26
|
* (memberships → projetos) pra tipagem limpa e independente de RLS: mesmo que o
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/lib/project-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/lib/project-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { existsSync, readFileSync, readdirSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { skillsDir } from './skills.js';
|
|
4
|
+
/**
|
|
5
|
+
* Rules do harness — docs de convenção/knowledge versionados no `noclaf-skills`,
|
|
6
|
+
* organizados por **área** (front-end/back-end/mobile) e, dentro dela, por **stack**
|
|
7
|
+
* (arquivo: lovable/ssr/django/…). `general/general-rules.md` vale sempre.
|
|
8
|
+
*
|
|
9
|
+
* Este módulo é a leitura + a concatenação (determinística) que o CLI grava no repo.
|
|
10
|
+
*/
|
|
11
|
+
const RULES_ROOT = 'rules';
|
|
12
|
+
export const GENERAL_AREA = 'general';
|
|
13
|
+
export const GENERAL_STACK = 'general-rules';
|
|
14
|
+
/** Nome do arquivo de regras **gerais da área** (sempre valem, não é stack escolhível). */
|
|
15
|
+
export const AREA_GENERAL = 'rules';
|
|
16
|
+
function rulesDir(dir) {
|
|
17
|
+
return join(dir, RULES_ROOT);
|
|
18
|
+
}
|
|
19
|
+
/** Áreas disponíveis = subpastas de `rules/` (menos `general`). */
|
|
20
|
+
export function discoverRuleAreas(dir = skillsDir()) {
|
|
21
|
+
const root = rulesDir(dir);
|
|
22
|
+
if (!existsSync(root))
|
|
23
|
+
return [];
|
|
24
|
+
return readdirSync(root, { withFileTypes: true })
|
|
25
|
+
.filter((e) => e.isDirectory() && e.name !== GENERAL_AREA && !e.name.startsWith('.'))
|
|
26
|
+
.map((e) => e.name)
|
|
27
|
+
.sort();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Stacks **escolhíveis** de uma área = arquivos `.md` em `rules/<área>/`, menos o
|
|
31
|
+
* `rules.md` (regras gerais da área, sempre incluídas) e o README.
|
|
32
|
+
*/
|
|
33
|
+
export function discoverRuleStacks(area, dir = skillsDir()) {
|
|
34
|
+
const adir = join(rulesDir(dir), area);
|
|
35
|
+
if (!existsSync(adir))
|
|
36
|
+
return [];
|
|
37
|
+
return readdirSync(adir, { withFileTypes: true })
|
|
38
|
+
.filter((e) => e.isFile() && e.name.toLowerCase().endsWith('.md'))
|
|
39
|
+
.map((e) => e.name.replace(/\.md$/i, ''))
|
|
40
|
+
.filter((id) => id.toLowerCase() !== 'readme' && id.toLowerCase() !== AREA_GENERAL)
|
|
41
|
+
.sort();
|
|
42
|
+
}
|
|
43
|
+
/** Rótulo de exibição da stack — tira o sufixo redundante `-rules` (`django-rules` → `django`). */
|
|
44
|
+
export function stackLabel(stack) {
|
|
45
|
+
return stack.replace(/-rules$/i, '');
|
|
46
|
+
}
|
|
47
|
+
/** Conteúdo cru de `rules/<área>/<file>.md`, ou `null` se não existir. */
|
|
48
|
+
function readRuleRaw(dir, area, file) {
|
|
49
|
+
const p = join(rulesDir(dir), area, `${file}.md`);
|
|
50
|
+
return existsSync(p) ? readFileSync(p, 'utf8') : null;
|
|
51
|
+
}
|
|
52
|
+
/** Separa o frontmatter (`--- … ---`) do corpo. */
|
|
53
|
+
function splitFrontmatter(raw) {
|
|
54
|
+
const m = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/.exec(raw);
|
|
55
|
+
if (!m)
|
|
56
|
+
return { fm: {}, body: raw };
|
|
57
|
+
const fm = {};
|
|
58
|
+
for (const line of m[1].split(/\r?\n/)) {
|
|
59
|
+
const mm = /^([A-Za-z0-9_-]+):\s*(.*)$/.exec(line);
|
|
60
|
+
if (mm)
|
|
61
|
+
fm[mm[1]] = mm[2].trim();
|
|
62
|
+
}
|
|
63
|
+
return { fm, body: raw.slice(m[0].length) };
|
|
64
|
+
}
|
|
65
|
+
/** Corpo (sem frontmatter, headings rebaixados) de uma regra, ou `null` se vazio. */
|
|
66
|
+
function readRuleFile(dir, area, file) {
|
|
67
|
+
const raw = readRuleRaw(dir, area, file);
|
|
68
|
+
if (raw === null)
|
|
69
|
+
return null;
|
|
70
|
+
const body = splitFrontmatter(raw).body.trim();
|
|
71
|
+
return body.length > 0 ? demoteHeadings(body) : null;
|
|
72
|
+
}
|
|
73
|
+
/** Skills recomendadas (frontmatter `skills:`) de um arquivo de regra. */
|
|
74
|
+
function ruleSkills(dir, area, file) {
|
|
75
|
+
const raw = readRuleRaw(dir, area, file);
|
|
76
|
+
if (raw === null)
|
|
77
|
+
return [];
|
|
78
|
+
return (splitFrontmatter(raw).fm.skills ?? '')
|
|
79
|
+
.split(/[,\s]+/)
|
|
80
|
+
.map((s) => s.trim())
|
|
81
|
+
.filter(Boolean);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Skills recomendadas (skills.sh) das áreas/stacks selecionadas — do frontmatter
|
|
85
|
+
* `skills:` do `rules.md` da área + da stack escolhida. Deduplicado, na ordem.
|
|
86
|
+
*/
|
|
87
|
+
export function collectRuleSkills(areas, stackByArea, dir = skillsDir()) {
|
|
88
|
+
const out = new Set();
|
|
89
|
+
for (const area of areas) {
|
|
90
|
+
for (const s of ruleSkills(dir, area, AREA_GENERAL))
|
|
91
|
+
out.add(s);
|
|
92
|
+
const stack = stackByArea[area];
|
|
93
|
+
if (stack)
|
|
94
|
+
for (const s of ruleSkills(dir, area, stack))
|
|
95
|
+
out.add(s);
|
|
96
|
+
}
|
|
97
|
+
return [...out];
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Rebaixa os headings do conteúdo embutido em um nível (`##` → `###`), pra aninharem
|
|
101
|
+
* sob o cabeçalho do bloco (`## <área> · <stack>`) em vez de virarem irmãos dele.
|
|
102
|
+
*/
|
|
103
|
+
function demoteHeadings(md) {
|
|
104
|
+
return md.replace(/^(#{1,5})(\s)/gm, '#$1$2');
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Concatena o harness: `general` + para cada **área selecionada** as regras gerais da
|
|
108
|
+
* área (`rules.md`) + a **stack** escolhida (se houver). Ordenado (general → áreas
|
|
109
|
+
* alfabéticas). Determinístico; string vazia se nada aplicável.
|
|
110
|
+
*/
|
|
111
|
+
export function concatenateRules(areas, stackByArea, dir = skillsDir()) {
|
|
112
|
+
const blocks = [];
|
|
113
|
+
const general = readRuleFile(dir, GENERAL_AREA, GENERAL_STACK);
|
|
114
|
+
if (general)
|
|
115
|
+
blocks.push(`## general\n\n${general}`);
|
|
116
|
+
for (const area of [...new Set(areas)].sort()) {
|
|
117
|
+
const areaGeneral = readRuleFile(dir, area, AREA_GENERAL);
|
|
118
|
+
if (areaGeneral)
|
|
119
|
+
blocks.push(`## ${area}\n\n${areaGeneral}`);
|
|
120
|
+
const stack = stackByArea[area];
|
|
121
|
+
if (stack) {
|
|
122
|
+
const body = readRuleFile(dir, area, stack);
|
|
123
|
+
if (body)
|
|
124
|
+
blocks.push(`## ${area} · ${stackLabel(stack)}\n\n${body}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return blocks.join('\n\n');
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/lib/rules.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/skill-serve.js
CHANGED
|
@@ -101,7 +101,28 @@ export function buildSkillPrompt(name, args, docs) {
|
|
|
101
101
|
const doc = docs.find((d) => d.id === name && isPromptable(d.type));
|
|
102
102
|
if (!doc)
|
|
103
103
|
throw new Error(`Prompt desconhecido: ${name}`);
|
|
104
|
-
|
|
104
|
+
let text = doc.content.split('$ARGUMENTS').join(args?.args ?? '');
|
|
105
|
+
// Cowork/Codex servem a skill como **prompt** — não têm o filesystem dela. Então os
|
|
106
|
+
// arquivos de apoio (`templates/*`, `*-PATTERN.md`, `STANDARDS.md`) que o corpo
|
|
107
|
+
// referencia por path relativo não existem lá. Inline-os pra a skill ficar
|
|
108
|
+
// auto-contida (no Claude Code isso não roda — lá os arquivos são nativos).
|
|
109
|
+
if (doc.type === 'skill') {
|
|
110
|
+
const folder = doc.path.slice(0, doc.path.lastIndexOf('/'));
|
|
111
|
+
const companions = docs
|
|
112
|
+
.filter((d) => d.type === 'doc' && d.path.startsWith(`${folder}/`))
|
|
113
|
+
.sort((a, b) => a.path.localeCompare(b.path));
|
|
114
|
+
if (companions.length > 0) {
|
|
115
|
+
const blocks = companions
|
|
116
|
+
.map((comp) => {
|
|
117
|
+
const rel = comp.path.slice(folder.length + 1);
|
|
118
|
+
return `\n\n---\n\n### Arquivo de apoio da skill: \`${rel}\`\n\n${comp.content.trim()}`;
|
|
119
|
+
})
|
|
120
|
+
.join('');
|
|
121
|
+
text +=
|
|
122
|
+
`\n\n<!-- Arquivos de apoio inline: o Cowork/Codex não têm o filesystem da ` +
|
|
123
|
+
`skill; use estes no lugar das referências por path relativo acima. -->${blocks}`;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
105
126
|
return { description: doc.description || doc.title, text };
|
|
106
127
|
}
|
|
107
128
|
//# sourceMappingURL=skill-serve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-serve.js","sourceRoot":"","sources":["../../src/lib/skill-serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAoC,MAAM,aAAa,CAAC;AAE5F;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAQpD,IAAI,KAAK,GAAwB,IAAI,CAAC;AAEtC,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,IAAI,KAAK,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,MAAM,GAAiB;QAC3B,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;QACxB,SAAS,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KACtD,CAAC;IACF,IAAI,CAAC,GAAG;QAAE,KAAK,GAAG,MAAM,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,gBAAgB;IAC9B,KAAK,GAAG,IAAI,CAAC;AACf,CAAC;AASD;;;;;GAKG;AACH,SAAS,YAAY,CAAC,GAAa,EAAE,YAAiC;IACpE,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,WAAW,GAAG,CAAC,EAAE,EAAE,CAAC;IACvD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC;IACnD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,cAAc,GAAG,CAAC,EAAE,EAAE,CAAC;IAC7D,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC;IAEnD,mEAAmE;IACnE,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;QACxC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpE,OAAO,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAgB;IACvD,8EAA8E;IAC9E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,IAAI;QACT,iFAAiF;QACjF,gFAAgF;QAChF,+CAA+C;SAC9C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;SACzD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,GAAG,EAAE,GAAG,iBAAiB,GAAG,CAAC,CAAC,IAAI,EAAE;QACpC,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC;QACnC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK;QACrC,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAQD,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,IAAgB,EAChB,SAA8B;IAE9B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;IAChG,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;IAC5D,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;AACrF,CAAC;AAcD,2EAA2E;AAC3E,SAAS,YAAY,CAAC,IAAkB;IACtC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAgB;IACrD,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,EAAE;QACV,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACpE,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,0CAA0C;gBACzF,QAAQ,EAAE,KAAK;aAChB;SACF;KACF,CAAC,CAAC,CAAC;AACR,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,IAAwC,EACxC,IAAgB;IAEhB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;IAC1D,
|
|
1
|
+
{"version":3,"file":"skill-serve.js","sourceRoot":"","sources":["../../src/lib/skill-serve.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.js
CHANGED
|
@@ -13,6 +13,7 @@ import * as startTaskAllocation from './start-task-allocation.js';
|
|
|
13
13
|
import * as endTaskAllocation from './end-task-allocation.js';
|
|
14
14
|
import * as getActiveAllocation from './get-active-allocation.js';
|
|
15
15
|
import * as listMyAllocations from './list-my-allocations.js';
|
|
16
|
+
import * as recordDelivery from './record-delivery.js';
|
|
16
17
|
export const tools = {
|
|
17
18
|
[getContext.definition.name]: getContext,
|
|
18
19
|
[listProjects.definition.name]: listProjects,
|
|
@@ -29,6 +30,7 @@ export const tools = {
|
|
|
29
30
|
[endTaskAllocation.definition.name]: endTaskAllocation,
|
|
30
31
|
[getActiveAllocation.definition.name]: getActiveAllocation,
|
|
31
32
|
[listMyAllocations.definition.name]: listMyAllocations,
|
|
33
|
+
[recordDelivery.definition.name]: recordDelivery,
|
|
32
34
|
};
|
|
33
35
|
export const toolDefinitions = Object.values(tools).map((t) => t.definition);
|
|
34
36
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,mBAAmB,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,mBAAmB,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,mBAAmB,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,mBAAmB,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAavD,MAAM,CAAC,MAAM,KAAK,GAA+B;IAC/C,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU;IACxC,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,YAAY;IAC5C,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU;IACxC,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS;IACtC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO;IAClC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU;IACxC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU;IACxC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ;IACpC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW;IAC1C,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,eAAe;IAClD,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa;IAC9C,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,mBAAmB;IAC1D,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,iBAAiB;IACtD,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,mBAAmB;IAC1D,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,iBAAiB;IACtD,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,cAAc;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAW,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { jsonResult, errorResult } from '../lib/tool-result.js';
|
|
3
|
+
import { resolveProjectConfig, isErrorResult } from '../lib/require-config.js';
|
|
4
|
+
const ArgsSchema = z
|
|
5
|
+
.object({
|
|
6
|
+
title: z.string().min(1),
|
|
7
|
+
task_id: z.string().uuid().optional(),
|
|
8
|
+
pr_url: z.string().url().optional(),
|
|
9
|
+
iterations: z.number().int().nonnegative().optional(),
|
|
10
|
+
project_id: z.string().uuid().optional(),
|
|
11
|
+
})
|
|
12
|
+
.strict();
|
|
13
|
+
export const definition = {
|
|
14
|
+
name: 'nos_record_delivery',
|
|
15
|
+
description: 'Registra uma ENTREGA do loop de build (um ticket concluído / PR aberto) na analítica ' +
|
|
16
|
+
'de entrega do NOS. Chamado pelo `/build` no fecho. Guarda título, PR, iterações e ' +
|
|
17
|
+
'vincula à tarefa/projeto. Uma chamada por ticket entregue.',
|
|
18
|
+
inputSchema: {
|
|
19
|
+
type: 'object',
|
|
20
|
+
properties: {
|
|
21
|
+
title: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
description: 'Título curto do que foi entregue (o ticket/feature).',
|
|
24
|
+
},
|
|
25
|
+
task_id: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
format: 'uuid',
|
|
28
|
+
description: 'Tarefa do NOS entregue, se o ticket tiver esse vínculo.',
|
|
29
|
+
},
|
|
30
|
+
pr_url: { type: 'string', description: 'URL do PR aberto.' },
|
|
31
|
+
iterations: {
|
|
32
|
+
type: 'number',
|
|
33
|
+
description: 'Quantas iterações do loop até passar no gate de qualidade.',
|
|
34
|
+
},
|
|
35
|
+
project_id: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
format: 'uuid',
|
|
38
|
+
description: 'Override do projeto. Se omitido, usa o ativo (nos_set_project) ou o default.',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
required: ['title'],
|
|
42
|
+
additionalProperties: false,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
export async function handler(args, ctx) {
|
|
46
|
+
const parsed = ArgsSchema.safeParse(args);
|
|
47
|
+
if (!parsed.success) {
|
|
48
|
+
return errorResult(`Argumento inválido: ${parsed.error.message}`);
|
|
49
|
+
}
|
|
50
|
+
const cfg = resolveProjectConfig(ctx, parsed.data.project_id);
|
|
51
|
+
if (isErrorResult(cfg))
|
|
52
|
+
return cfg;
|
|
53
|
+
const row = {
|
|
54
|
+
user_id: ctx.user.id,
|
|
55
|
+
project_id: cfg.project_id,
|
|
56
|
+
task_id: parsed.data.task_id ?? null,
|
|
57
|
+
title: parsed.data.title,
|
|
58
|
+
pr_url: parsed.data.pr_url ?? null,
|
|
59
|
+
iterations: parsed.data.iterations ?? null,
|
|
60
|
+
client: process.env.NOCLAF_CLIENT ?? null,
|
|
61
|
+
};
|
|
62
|
+
// `deliveries` ainda não está nos types gerados (rode `npm run gen:types` após a
|
|
63
|
+
// migration) — usamos o client destipado só pra este insert.
|
|
64
|
+
const db = ctx.supabase;
|
|
65
|
+
const { error } = await db.from('deliveries').insert(row);
|
|
66
|
+
if (error)
|
|
67
|
+
return errorResult(`Erro ao registrar entrega: ${error.message}`);
|
|
68
|
+
return jsonResult({ ok: true, recorded: row.title, pr_url: row.pr_url });
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=record-delivery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-delivery.js","sourceRoot":"","sources":["../../src/tools/record-delivery.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED