@noclaf/cli 0.4.18 → 0.5.1
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 +70 -56
- package/dist/adapters/supabase/allocation-gateway.js +236 -0
- package/dist/adapters/supabase/allocation-gateway.js.map +1 -0
- package/dist/adapters/supabase/analytics-gateway.js +18 -0
- package/dist/adapters/supabase/analytics-gateway.js.map +1 -0
- package/dist/{supabase.js → adapters/supabase/client.js} +5 -4
- package/dist/adapters/supabase/client.js.map +1 -0
- package/dist/adapters/supabase/context-gateway.js +23 -0
- package/dist/adapters/supabase/context-gateway.js.map +1 -0
- package/dist/adapters/supabase/gateway.js +18 -0
- package/dist/adapters/supabase/gateway.js.map +1 -0
- package/dist/adapters/supabase/task-gateway.js +505 -0
- package/dist/adapters/supabase/task-gateway.js.map +1 -0
- package/dist/brand.js +4 -1
- package/dist/brand.js.map +1 -1
- package/dist/cli/commands/auth.js +2 -2
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/completion.js +17 -14
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/exec.js +38 -27
- package/dist/cli/commands/exec.js.map +1 -1
- package/dist/cli/commands/init/analyze-step.js +21 -0
- package/dist/cli/commands/init/analyze-step.js.map +1 -0
- package/dist/cli/commands/init/apply-answers.js +105 -0
- package/dist/cli/commands/init/apply-answers.js.map +1 -0
- package/dist/cli/commands/init/apply-step.js +162 -0
- package/dist/cli/commands/init/apply-step.js.map +1 -0
- package/dist/cli/commands/init/auth-step.js +1 -1
- package/dist/cli/commands/init/auth-step.js.map +1 -1
- package/dist/cli/commands/init/clients-step.js +13 -11
- package/dist/cli/commands/init/clients-step.js.map +1 -1
- package/dist/cli/commands/init/context-step.js +24 -13
- package/dist/cli/commands/init/context-step.js.map +1 -1
- package/dist/cli/commands/init/describe-step.js +58 -0
- package/dist/cli/commands/init/describe-step.js.map +1 -0
- package/dist/cli/commands/init/index.js +26 -3
- package/dist/cli/commands/init/index.js.map +1 -1
- package/dist/cli/commands/init/mode.js +18 -0
- package/dist/cli/commands/init/mode.js.map +1 -0
- package/dist/cli/commands/init/progress.js +60 -0
- package/dist/cli/commands/init/progress.js.map +1 -0
- package/dist/cli/commands/init/project-step.js +33 -5
- package/dist/cli/commands/init/project-step.js.map +1 -1
- package/dist/cli/commands/map.js +18 -0
- package/dist/cli/commands/map.js.map +1 -0
- package/dist/cli/commands/plan.js +2 -2
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/skills.js +3 -2
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/sync.js +11 -8
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/commands/validate-plan.js +2 -2
- package/dist/cli/commands/validate-plan.js.map +1 -1
- package/dist/cli/commands/wave.js +57 -0
- package/dist/cli/commands/wave.js.map +1 -0
- package/dist/cli/copy/init.json +1 -0
- package/dist/cli/copy.js.map +1 -1
- package/dist/cli/flows/clients.js +2 -2
- package/dist/cli/flows/clients.js.map +1 -1
- package/dist/cli/flows/completion.js +6 -5
- package/dist/cli/flows/completion.js.map +1 -1
- package/dist/cli/flows/sections.js +1 -1
- package/dist/cli/flows/sections.js.map +1 -1
- package/dist/cli/flows/user-config.js +4 -3
- package/dist/cli/flows/user-config.js.map +1 -1
- package/dist/cli/ui/render.js +12 -8
- package/dist/cli/ui/render.js.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.js +49 -22
- package/dist/config.js.map +1 -1
- package/dist/core/ports.js +2 -0
- package/dist/core/ports.js.map +1 -0
- package/dist/core/types.js +7 -0
- package/dist/core/types.js.map +1 -0
- package/dist/lib/cowork-extension.js +1 -1
- package/dist/lib/cowork-extension.js.map +1 -1
- package/dist/lib/exec-delegate.js +74 -22
- package/dist/lib/exec-delegate.js.map +1 -1
- package/dist/lib/exec-engines.js +21 -3
- package/dist/lib/exec-engines.js.map +1 -1
- package/dist/lib/exec-events.js +87 -0
- package/dist/lib/exec-events.js.map +1 -0
- package/dist/lib/exec-translators.js +198 -0
- package/dist/lib/exec-translators.js.map +1 -0
- package/dist/lib/harness.js +43 -5
- package/dist/lib/harness.js.map +1 -1
- package/dist/lib/patterns.js +4 -40
- package/dist/lib/patterns.js.map +1 -1
- package/dist/lib/plan-delegate.js +15 -3
- package/dist/lib/plan-delegate.js.map +1 -1
- package/dist/lib/project-context.js +2 -1
- package/dist/lib/project-context.js.map +1 -1
- package/dist/lib/provision.js +2 -1
- package/dist/lib/provision.js.map +1 -1
- package/dist/lib/repo-map.js +176 -0
- package/dist/lib/repo-map.js.map +1 -0
- package/dist/lib/rules.js +47 -0
- package/dist/lib/rules.js.map +1 -1
- package/dist/lib/skill-agent.js +44 -0
- package/dist/lib/skill-agent.js.map +1 -0
- package/dist/lib/skills.js +4 -4
- package/dist/lib/skills.js.map +1 -1
- package/dist/lib/task-history.js +2 -1
- package/dist/lib/task-history.js.map +1 -1
- package/dist/lib/telemetry.js.map +1 -1
- package/dist/lib/validate-plan-delegate.js +2 -1
- package/dist/lib/validate-plan-delegate.js.map +1 -1
- package/dist/lib/wave-scheduler.js +95 -0
- package/dist/lib/wave-scheduler.js.map +1 -0
- package/dist/mcp-server.js +4 -5
- package/dist/mcp-server.js.map +1 -1
- package/dist/session-factory.js +19 -0
- package/dist/session-factory.js.map +1 -0
- package/dist/tools/add-checklist.js +63 -0
- package/dist/tools/add-checklist.js.map +1 -0
- package/dist/tools/attach-pr.js +97 -0
- package/dist/tools/attach-pr.js.map +1 -0
- package/dist/tools/comment-task.js +32 -40
- package/dist/tools/comment-task.js.map +1 -1
- package/dist/tools/create-task.js +15 -71
- package/dist/tools/create-task.js.map +1 -1
- package/dist/tools/end-allocation.js +9 -17
- package/dist/tools/end-allocation.js.map +1 -1
- package/dist/tools/end-task-allocation.js +9 -14
- package/dist/tools/end-task-allocation.js.map +1 -1
- package/dist/tools/exec-status.js +3 -1
- package/dist/tools/exec-status.js.map +1 -1
- package/dist/tools/get-active-allocation.js +9 -39
- package/dist/tools/get-active-allocation.js.map +1 -1
- package/dist/tools/get-context.js +4 -4
- package/dist/tools/get-context.js.map +1 -1
- package/dist/tools/get-task.js +10 -96
- package/dist/tools/get-task.js.map +1 -1
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-my-allocations.js +9 -17
- package/dist/tools/list-my-allocations.js.map +1 -1
- package/dist/tools/list-projects.js +3 -3
- package/dist/tools/list-projects.js.map +1 -1
- package/dist/tools/list-tasks.js +25 -138
- package/dist/tools/list-tasks.js.map +1 -1
- package/dist/tools/move-task.js +17 -31
- package/dist/tools/move-task.js.map +1 -1
- package/dist/tools/plan.js +2 -2
- package/dist/tools/plan.js.map +1 -1
- package/dist/tools/record-delivery.js +51 -22
- package/dist/tools/record-delivery.js.map +1 -1
- package/dist/tools/set-project.js +12 -12
- package/dist/tools/set-project.js.map +1 -1
- package/dist/tools/set-review.js +132 -0
- package/dist/tools/set-review.js.map +1 -0
- package/dist/tools/start-allocation.js +7 -10
- package/dist/tools/start-allocation.js.map +1 -1
- package/dist/tools/start-task-allocation.js +14 -60
- package/dist/tools/start-task-allocation.js.map +1 -1
- package/dist/tools/update-task.js +31 -129
- package/dist/tools/update-task.js.map +1 -1
- package/dist/tools/validate-plan.js +2 -2
- package/dist/tools/validate-plan.js.map +1 -1
- package/package.json +2 -1
- package/dist/supabase.js.map +0 -1
package/dist/lib/skills.js
CHANGED
|
@@ -3,7 +3,7 @@ import { createRequire } from 'node:module';
|
|
|
3
3
|
import { join, relative, sep, dirname } from 'node:path';
|
|
4
4
|
import { skillsCacheDir, skillsCached } from './skills-cache.js';
|
|
5
5
|
import { includePath } from './sections.js';
|
|
6
|
-
import { env } from '../brand.js';
|
|
6
|
+
import { brand, env } from '../brand.js';
|
|
7
7
|
/**
|
|
8
8
|
* Diretório do conteúdo das skills. Resolve em ordem: `NOCLAF_SKILLS_DIR`
|
|
9
9
|
* (checkout local), `@noclaf/skills` via require.resolve (dev legado), ou o
|
|
@@ -15,14 +15,14 @@ export function skillsDir() {
|
|
|
15
15
|
return override;
|
|
16
16
|
try {
|
|
17
17
|
const require = createRequire(import.meta.url);
|
|
18
|
-
return dirname(require.resolve(
|
|
18
|
+
return dirname(require.resolve(`${brand.skillsPackage}/package.json`));
|
|
19
19
|
}
|
|
20
20
|
catch {
|
|
21
21
|
/* pacote ausente (modelo repo-aberto) → cai pro cache local */
|
|
22
22
|
}
|
|
23
23
|
if (skillsCached())
|
|
24
24
|
return skillsCacheDir();
|
|
25
|
-
throw new Error(
|
|
25
|
+
throw new Error(`Conteúdo de skills não encontrado. Rode \`${brand.name} sync\` pra baixar o repo ` +
|
|
26
26
|
'(ou defina NOCLAF_SKILLS_DIR apontando pra um checkout local).');
|
|
27
27
|
}
|
|
28
28
|
function listMarkdown(dir) {
|
|
@@ -165,7 +165,7 @@ const SKILL_KINDS = ['commands', 'skills', 'agents', 'dependencies'];
|
|
|
165
165
|
/** Lê os `.md` dos kinds do pacote (`@noclaf/skills`) como RawDoc[]. */
|
|
166
166
|
export function readSkillFiles(dir = skillsDir()) {
|
|
167
167
|
if (!existsSync(dir)) {
|
|
168
|
-
throw new Error(`Pacote de skills não encontrado em ${dir}. Instale/publique
|
|
168
|
+
throw new Error(`Pacote de skills não encontrado em ${dir}. Instale/publique ${brand.skillsPackage}.`);
|
|
169
169
|
}
|
|
170
170
|
const docs = [];
|
|
171
171
|
for (const kind of SKILL_KINDS) {
|
package/dist/lib/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAkB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/task-history.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { brand } from '../brand.js';
|
|
1
2
|
export async function insertTaskHistory(supabase, entry) {
|
|
2
3
|
const { error } = await supabase.from('task_history').insert({
|
|
3
4
|
task_id: entry.task_id,
|
|
@@ -8,7 +9,7 @@ export async function insertTaskHistory(supabase, entry) {
|
|
|
8
9
|
new_value: entry.new_value ?? null,
|
|
9
10
|
});
|
|
10
11
|
if (error) {
|
|
11
|
-
console.error(`[
|
|
12
|
+
console.error(`[${brand.mcpBinName}] falha ao gravar task_history: ${error.message}`);
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=task-history.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-history.js","sourceRoot":"","sources":["../../src/lib/task-history.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task-history.js","sourceRoot":"","sources":["../../src/lib/task-history.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAWpC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAkB,EAClB,KAAmB;IAEnB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;QAC3D,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QAClC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;KACnC,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/lib/telemetry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAgClC,SAAS,OAAO;IACd,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA4B,EAC5B,SAAqC;IAErC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GACL,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9C,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YACzC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,MAAM,OAAO,GAAuB,EAAE,CAAC;AAEvC,gEAAgE;AAChE,MAAM,UAAU,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/lib/telemetry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAgClC,SAAS,OAAO;IACd,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA4B,EAC5B,SAAqC;IAErC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GACL,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9C,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YACzC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,MAAM,OAAO,GAAuB,EAAE,CAAC;AAEvC,gEAAgE;AAChE,MAAM,UAAU,KAAK,CAAC,QAAyB,EAAE,KAAiB;IAChE,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO;IACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS;SACzB,MAAM,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;SAC3E,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;SACrB,KAAK,CAAC,GAAG,EAAE;QACV,qCAAqC;IACvC,CAAC,CAAC,CAAC;IACL,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAS,GAAG,IAAI;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,CAAC,IAAI,CAAC;QACjB,QAAQ;QACR,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
|
+
import { brand } from '../brand.js';
|
|
2
3
|
import { readFileSync } from 'node:fs';
|
|
3
4
|
import { planPath, stripFence } from './plan-delegate.js';
|
|
4
5
|
import { PLAN_ENGINE, engineArgs, engineMissingError, resolveEngineBin, } from './exec-engines.js';
|
|
@@ -19,7 +20,7 @@ export function suggestSlug(plan) {
|
|
|
19
20
|
return slug || SLUG_FALLBACK;
|
|
20
21
|
}
|
|
21
22
|
export function planMissingError(project) {
|
|
22
|
-
return `plan.md não encontrado em ${project} — rode
|
|
23
|
+
return `plan.md não encontrado em ${project} — rode \`${brand.name} plan\` antes de validar`;
|
|
23
24
|
}
|
|
24
25
|
/** Lê o `plan.md` da raiz; ausente/vazio dispara — o caller vira em erro tratado. */
|
|
25
26
|
export function readPlan(project) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-plan-delegate.js","sourceRoot":"","sources":["../../src/lib/validate-plan-delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAgB3B,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,aAAa,GAAG,MAAM,CAAC;AAE7B,mGAAmG;AACnG,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,MAAM,IAAI,GAAG,KAAK;SACf,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;SAC9B,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;SAClB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvB,OAAO,IAAI,IAAI,aAAa,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,6BAA6B,OAAO,
|
|
1
|
+
{"version":3,"file":"validate-plan-delegate.js","sourceRoot":"","sources":["../../src/lib/validate-plan-delegate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scheduler das waves do `/build`: lê o DAG de um doc de tickets e devolve a próxima leva
|
|
3
|
+
* de tickets que podem rodar em paralelo. Puro — sem I/O, sem git, sem agentes.
|
|
4
|
+
*/
|
|
5
|
+
/** Teto de executores concorrentes quando o usuário não configurou nada. */
|
|
6
|
+
export const DEFAULT_MAX_PARALLELISM = 3;
|
|
7
|
+
const HEADING = /^##\s+(T-\d+)\s*[·\-—]\s*(.+)$/gm;
|
|
8
|
+
const BLOCKED_BY = /\*\*Bloqueado por:\*\*\s*(.+)/;
|
|
9
|
+
const TICKET_REF = /T-\d+/g;
|
|
10
|
+
const CHECKBOX = /^\s*[-*]\s*\[([ xX])\]/gm;
|
|
11
|
+
const BACKTICKED = /`([^`\s]+)`/g;
|
|
12
|
+
function parseBlockers(body) {
|
|
13
|
+
const line = body.match(BLOCKED_BY);
|
|
14
|
+
if (!line)
|
|
15
|
+
return [];
|
|
16
|
+
return [...new Set(line[1].match(TICKET_REF) ?? [])];
|
|
17
|
+
}
|
|
18
|
+
function parseDone(body) {
|
|
19
|
+
const boxes = [...body.matchAll(CHECKBOX)];
|
|
20
|
+
return boxes.length > 0 && boxes.every((b) => b[1] !== ' ');
|
|
21
|
+
}
|
|
22
|
+
/** Heurística: token em crase com `/` ou extensão. Erra pro lado de serializar demais. */
|
|
23
|
+
function parseFiles(body) {
|
|
24
|
+
const files = new Set();
|
|
25
|
+
for (const [, token] of body.matchAll(BACKTICKED)) {
|
|
26
|
+
const path = token.replace(/[.,;:]+$/, '');
|
|
27
|
+
if (path.includes('/') || /\.\w{1,5}$/.test(path))
|
|
28
|
+
files.add(path);
|
|
29
|
+
}
|
|
30
|
+
return [...files];
|
|
31
|
+
}
|
|
32
|
+
/** Extrai os tickets do markdown do doc (`## T-N · título`), na ordem de declaração. */
|
|
33
|
+
export function parseTickets(markdown) {
|
|
34
|
+
const heads = [...markdown.matchAll(HEADING)];
|
|
35
|
+
return heads.map((head, i) => {
|
|
36
|
+
const start = (head.index ?? 0) + head[0].length;
|
|
37
|
+
const body = markdown.slice(start, heads[i + 1]?.index ?? markdown.length);
|
|
38
|
+
return {
|
|
39
|
+
id: head[1],
|
|
40
|
+
title: head[2].trim(),
|
|
41
|
+
blockedBy: parseBlockers(body),
|
|
42
|
+
done: parseDone(body),
|
|
43
|
+
files: parseFiles(body),
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function doneIdsOf(tickets) {
|
|
48
|
+
return new Set(tickets.filter((t) => t.done).map((t) => t.id));
|
|
49
|
+
}
|
|
50
|
+
/** Teto efetivo: inteiro ≥ 1 — nunca zero executores, nunca fração. */
|
|
51
|
+
export function clampParallelism(maxParallelism) {
|
|
52
|
+
return Number.isFinite(maxParallelism) ? Math.max(1, Math.floor(maxParallelism)) : 1;
|
|
53
|
+
}
|
|
54
|
+
/** Um bloqueador só conta como satisfeito se o ticket existe **e** está done. */
|
|
55
|
+
function isReady(ticket, doneIds) {
|
|
56
|
+
return !ticket.done && ticket.blockedBy.every((id) => doneIds.has(id));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Próxima wave: o frontier, na ordem do doc. Dois tickets que toquem o mesmo arquivo não
|
|
60
|
+
* entram juntos — o segundo serializa pra wave seguinte.
|
|
61
|
+
*/
|
|
62
|
+
export function nextWave(tickets, maxParallelism = DEFAULT_MAX_PARALLELISM) {
|
|
63
|
+
const doneIds = doneIdsOf(tickets);
|
|
64
|
+
const limit = clampParallelism(maxParallelism);
|
|
65
|
+
const claimed = new Set();
|
|
66
|
+
const wave = [];
|
|
67
|
+
for (const ticket of tickets) {
|
|
68
|
+
if (wave.length >= limit)
|
|
69
|
+
break;
|
|
70
|
+
if (!isReady(ticket, doneIds))
|
|
71
|
+
continue;
|
|
72
|
+
if (ticket.files.some((file) => claimed.has(file)))
|
|
73
|
+
continue;
|
|
74
|
+
for (const file of ticket.files)
|
|
75
|
+
claimed.add(file);
|
|
76
|
+
wave.push(ticket);
|
|
77
|
+
}
|
|
78
|
+
return wave;
|
|
79
|
+
}
|
|
80
|
+
/** Tickets ainda não entregues que **não** entraram na wave, com o motivo da espera. */
|
|
81
|
+
export function waitingTickets(tickets, wave) {
|
|
82
|
+
const doneIds = doneIdsOf(tickets);
|
|
83
|
+
const scheduled = new Set(wave.map((t) => t.id));
|
|
84
|
+
const claimed = new Set(wave.flatMap((t) => t.files));
|
|
85
|
+
return tickets
|
|
86
|
+
.filter((t) => !t.done && !scheduled.has(t.id))
|
|
87
|
+
.map((t) => {
|
|
88
|
+
const blockedBy = t.blockedBy.filter((id) => !doneIds.has(id));
|
|
89
|
+
if (blockedBy.length > 0)
|
|
90
|
+
return { id: t.id, reason: 'blocked', blockedBy };
|
|
91
|
+
const reason = t.files.some((f) => claimed.has(f)) ? 'conflict' : 'cap';
|
|
92
|
+
return { id: t.id, reason, blockedBy };
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=wave-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wave-scheduler.js","sourceRoot":"","sources":["../../src/lib/wave-scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -4,7 +4,7 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
|
4
4
|
import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
5
5
|
import { VERSION } from './version.js';
|
|
6
6
|
import { loadProjectConfig } from './config.js';
|
|
7
|
-
import {
|
|
7
|
+
import { createSession } from './session-factory.js';
|
|
8
8
|
import { tools, toolDefinitions } from './tools/index.js';
|
|
9
9
|
import { errorResult } from './lib/tool-result.js';
|
|
10
10
|
import { notifyMcpServerIfUpdate } from './lib/version-check.js';
|
|
@@ -14,7 +14,6 @@ import { provision } from './lib/provision.js';
|
|
|
14
14
|
import { provisionHooks } from './lib/hooks.js';
|
|
15
15
|
import { claudeTarget } from './lib/targets.js';
|
|
16
16
|
import { ensureSkillsCache } from './lib/skills-cache.js';
|
|
17
|
-
import { track } from './lib/telemetry.js';
|
|
18
17
|
import { shouldRunAutoPull, pickProvisionTarget } from './lib/autopull.js';
|
|
19
18
|
import { brand, env } from './brand.js';
|
|
20
19
|
/** Carrega o config do projeto; erro de parse é degradado (log + null), nunca fatal. */
|
|
@@ -45,7 +44,7 @@ async function initSkillsCache() {
|
|
|
45
44
|
}
|
|
46
45
|
async function authenticateSession() {
|
|
47
46
|
try {
|
|
48
|
-
const session = await
|
|
47
|
+
const session = await createSession();
|
|
49
48
|
console.error(`[${brand.mcpBinName}] autenticado como ${session.user.email}`);
|
|
50
49
|
return session;
|
|
51
50
|
}
|
|
@@ -72,7 +71,7 @@ function registerToolHandlers(server, session, projectConfig) {
|
|
|
72
71
|
return errorResult(`Não autenticado. Rode \`${brand.name} login\` antes de iniciar o Claude Code.`);
|
|
73
72
|
}
|
|
74
73
|
const ctx = {
|
|
75
|
-
|
|
74
|
+
gateway: session.gateway,
|
|
76
75
|
user: session.user,
|
|
77
76
|
config: projectConfig,
|
|
78
77
|
};
|
|
@@ -120,7 +119,7 @@ function registerPromptHandlers(server, surface, session) {
|
|
|
120
119
|
const visible = filterSkillsForSurface(loadSkills().docs, surface);
|
|
121
120
|
const { description, text } = buildSkillPrompt(request.params.name, request.params.arguments, visible);
|
|
122
121
|
// Telemetria de uso (Cowork): qual skill/command foi invocado (id estável + nome).
|
|
123
|
-
track(
|
|
122
|
+
session?.gateway.track({
|
|
124
123
|
type: 'prompt',
|
|
125
124
|
client: surface ?? 'unknown',
|
|
126
125
|
id: visible.find((d) => d.id === request.params.name)?.uid ?? null,
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAsB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createAuthenticatedClient } from './adapters/supabase/client.js';
|
|
2
|
+
import { createSupabaseGateway } from './adapters/supabase/gateway.js';
|
|
3
|
+
/**
|
|
4
|
+
* Escolhe o backend e monta a sessão. Este `switch` é o ÚNICO ponto que decide
|
|
5
|
+
* qual adaptador roda — trocar de dependência = adicionar um `case` novo aqui,
|
|
6
|
+
* sem tocar em nenhuma tool nem no `mcp-server`.
|
|
7
|
+
*/
|
|
8
|
+
export async function createSession(backend = 'supabase') {
|
|
9
|
+
switch (backend) {
|
|
10
|
+
case 'supabase': {
|
|
11
|
+
const { supabase, user } = await createAuthenticatedClient();
|
|
12
|
+
return { user, gateway: createSupabaseGateway(supabase) };
|
|
13
|
+
}
|
|
14
|
+
default:
|
|
15
|
+
// ponytail: guard exaustivo — um backend novo sem case vira erro de tipo aqui.
|
|
16
|
+
throw new Error(`Backend desconhecido: ${backend}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=session-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-factory.js","sourceRoot":"","sources":["../src/session-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAevE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAmB,UAAU;IAC/D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,yBAAyB,EAAE,CAAC;YAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,CAAC;QACD;YACE,+EAA+E;YAC/E,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAuB,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { jsonResult, errorResult } from '../lib/tool-result.js';
|
|
3
|
+
import { resolveProjectConfig, isErrorResult } from '../lib/require-config.js';
|
|
4
|
+
import { brand } from '../brand.js';
|
|
5
|
+
const ArgsSchema = z
|
|
6
|
+
.object({
|
|
7
|
+
task_id: z.uuid(),
|
|
8
|
+
title: z.string().trim().min(1).max(100),
|
|
9
|
+
items: z.array(z.string().trim().min(1)).min(1).max(50),
|
|
10
|
+
icon: z.string().trim().min(1).max(40).optional(),
|
|
11
|
+
project_id: z.uuid().optional(),
|
|
12
|
+
})
|
|
13
|
+
.strict();
|
|
14
|
+
export const definition = {
|
|
15
|
+
name: `${brand.toolPrefix}add_checklist`,
|
|
16
|
+
description: 'Cria uma checklist nomeada (com itens) numa tarefa — a checklist nativa que aparece ' +
|
|
17
|
+
'clicável na UI, melhor que enfiar um DoD no texto da descrição. Use pra dividir uma ' +
|
|
18
|
+
'tarefa em passos verificáveis (ex.: "Implementação", "Definition of Done"). ' +
|
|
19
|
+
'Pode ser chamada mais de uma vez pra criar várias checklists na mesma tarefa.',
|
|
20
|
+
inputSchema: {
|
|
21
|
+
type: 'object',
|
|
22
|
+
properties: {
|
|
23
|
+
task_id: { type: 'string', format: 'uuid' },
|
|
24
|
+
title: { type: 'string', description: 'Título da checklist (ex.: "Implementação").' },
|
|
25
|
+
items: {
|
|
26
|
+
type: 'array',
|
|
27
|
+
items: { type: 'string' },
|
|
28
|
+
description: 'Itens da checklist, em ordem. Cada um vira uma caixa desmarcada.',
|
|
29
|
+
},
|
|
30
|
+
icon: { type: 'string', description: 'Ícone opcional da checklist (emoji ou nome).' },
|
|
31
|
+
project_id: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
format: 'uuid',
|
|
34
|
+
description: `Override do projeto. Se omitido, usa o ativo (${brand.toolPrefix}set_project) ou o default.`,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
required: ['task_id', 'title', 'items'],
|
|
38
|
+
additionalProperties: false,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
/** Monta o payload de resposta do add_checklist. Pura. */
|
|
42
|
+
export function buildChecklistResult(taskId, title, checklistId, itemCount) {
|
|
43
|
+
return { ok: true, task_id: taskId, checklist_id: checklistId, title, item_count: itemCount };
|
|
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
|
+
const { task_id, title, items, icon } = parsed.data;
|
|
50
|
+
const cfg = resolveProjectConfig(ctx, parsed.data.project_id);
|
|
51
|
+
if (isErrorResult(cfg))
|
|
52
|
+
return cfg;
|
|
53
|
+
try {
|
|
54
|
+
const res = await ctx.gateway.addChecklist(task_id, cfg.project_id, title, icon ?? null, items);
|
|
55
|
+
if (!res)
|
|
56
|
+
return errorResult('Tarefa não encontrada ou fora do projeto atual.');
|
|
57
|
+
return jsonResult(buildChecklistResult(task_id, title, res.checklist_id, res.item_count));
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
return errorResult(err.message);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=add-checklist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-checklist.js","sourceRoot":"","sources":["../../src/tools/add-checklist.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { jsonResult, errorResult } from '../lib/tool-result.js';
|
|
3
|
+
import { resolveProjectConfig, isErrorResult } from '../lib/require-config.js';
|
|
4
|
+
import { brand } from '../brand.js';
|
|
5
|
+
/** Estado do task ao mover pra review quando um PR é anexado. */
|
|
6
|
+
const REVIEW_STATUS = 'code_review';
|
|
7
|
+
const REVIEW_STATE_ON_ATTACH = 'pending';
|
|
8
|
+
const ArgsSchema = z
|
|
9
|
+
.object({
|
|
10
|
+
task_id: z.uuid(),
|
|
11
|
+
pr_url: z.url(),
|
|
12
|
+
project_id: z.uuid().optional(),
|
|
13
|
+
})
|
|
14
|
+
.strict();
|
|
15
|
+
export const definition = {
|
|
16
|
+
name: `${brand.toolPrefix}attach_pr`,
|
|
17
|
+
description: 'Anexa a URL de um pull request a uma tarefa e a coloca em review: grava `pr_url`, ' +
|
|
18
|
+
`seta \`review_state=pending\` e move o status pra \`${REVIEW_STATUS}\`. ` +
|
|
19
|
+
'Idempotente — chamar de novo com o mesmo PR não duplica histórico. ' +
|
|
20
|
+
'Use logo após abrir o PR de um ticket (é o passo que liga o ticket ao review externo).',
|
|
21
|
+
inputSchema: {
|
|
22
|
+
type: 'object',
|
|
23
|
+
properties: {
|
|
24
|
+
task_id: { type: 'string', format: 'uuid' },
|
|
25
|
+
pr_url: { type: 'string', format: 'uri', description: 'URL do pull request.' },
|
|
26
|
+
project_id: {
|
|
27
|
+
type: 'string',
|
|
28
|
+
format: 'uuid',
|
|
29
|
+
description: `Override do projeto. Se omitido, usa o projeto ativo (${brand.toolPrefix}set_project) ou o default.`,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
required: ['task_id', 'pr_url'],
|
|
33
|
+
additionalProperties: false,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Diff entre o estado atual e o alvo de "anexar PR": patch de colunas (`pr_url`/`review_state`)
|
|
38
|
+
* + changes pro histórico + se o status precisa mover. Só inclui o que mudou → idempotente. Pura.
|
|
39
|
+
*/
|
|
40
|
+
export function buildAttachPrPatch(current, prUrl) {
|
|
41
|
+
const patch = {};
|
|
42
|
+
const changes = [];
|
|
43
|
+
if (current.pr_url !== prUrl) {
|
|
44
|
+
patch.pr_url = prUrl;
|
|
45
|
+
changes.push({ field: 'pr_url', old_value: current.pr_url, new_value: prUrl });
|
|
46
|
+
}
|
|
47
|
+
if (current.review_state !== REVIEW_STATE_ON_ATTACH) {
|
|
48
|
+
patch.review_state = REVIEW_STATE_ON_ATTACH;
|
|
49
|
+
changes.push({
|
|
50
|
+
field: 'review_state',
|
|
51
|
+
old_value: current.review_state,
|
|
52
|
+
new_value: REVIEW_STATE_ON_ATTACH,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return { patch: patch, changes, moveStatus: current.status !== REVIEW_STATUS };
|
|
56
|
+
}
|
|
57
|
+
/** Monta o payload de resposta do attach_pr a partir do estado atual + o que foi aplicado. Pura. */
|
|
58
|
+
export function buildAttachPrResult(current, taskId, prUrl, changes, movedStatus) {
|
|
59
|
+
return {
|
|
60
|
+
task_id: taskId,
|
|
61
|
+
key: current.key,
|
|
62
|
+
title: current.title,
|
|
63
|
+
pr_url: prUrl,
|
|
64
|
+
review_state: REVIEW_STATE_ON_ATTACH,
|
|
65
|
+
status: REVIEW_STATUS,
|
|
66
|
+
previous_status: movedStatus ? current.status : REVIEW_STATUS,
|
|
67
|
+
moved_status: movedStatus,
|
|
68
|
+
changed_fields: changes.map((c) => c.field),
|
|
69
|
+
already_attached: changes.length === 0 && !movedStatus,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
export async function handler(args, ctx) {
|
|
73
|
+
const parsed = ArgsSchema.safeParse(args);
|
|
74
|
+
if (!parsed.success)
|
|
75
|
+
return errorResult(`Argumento inválido: ${parsed.error.message}`);
|
|
76
|
+
const { task_id, pr_url } = parsed.data;
|
|
77
|
+
const cfg = resolveProjectConfig(ctx, parsed.data.project_id);
|
|
78
|
+
if (isErrorResult(cfg))
|
|
79
|
+
return cfg;
|
|
80
|
+
try {
|
|
81
|
+
const current = await ctx.gateway.getTaskForAttachPr(task_id, cfg.project_id);
|
|
82
|
+
if (!current)
|
|
83
|
+
return errorResult('Tarefa não encontrada ou fora do projeto atual.');
|
|
84
|
+
const { patch, changes, moveStatus } = buildAttachPrPatch(current, pr_url);
|
|
85
|
+
if (Object.keys(patch).length > 0) {
|
|
86
|
+
await ctx.gateway.applyTaskPatch(task_id, cfg.project_id, ctx.user.id, patch, changes);
|
|
87
|
+
}
|
|
88
|
+
if (moveStatus) {
|
|
89
|
+
await ctx.gateway.moveTaskStatus(task_id, cfg.project_id, REVIEW_STATUS, ctx.user.id, current.status);
|
|
90
|
+
}
|
|
91
|
+
return jsonResult(buildAttachPrResult(current, task_id, pr_url, changes, moveStatus));
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
return errorResult(err.message);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=attach-pr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach-pr.js","sourceRoot":"","sources":["../../src/tools/attach-pr.ts"],"names":[],"mappings":"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"}
|