maskweaver 0.7.35 → 0.7.36
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/assets/commands/weave-flow.md +18 -0
- package/assets/commands/weave-task.md +3 -0
- package/dist/plugin/tools/weave.d.ts +2 -0
- package/dist/plugin/tools/weave.d.ts.map +1 -1
- package/dist/plugin/tools/weave.js +414 -30
- package/dist/plugin/tools/weave.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +8 -8
|
@@ -9,8 +9,11 @@ description: 원커맨드 실행 (prepare -> craft -> task auto)
|
|
|
9
9
|
`/weave-flow`는 Weave의 기본 경로를 한 번에 실행합니다.
|
|
10
10
|
|
|
11
11
|
- `prepare` (필요 시): spec + plan 생성
|
|
12
|
+
- `plan gate`: 실행 전 계획 품질 점검 (task 분해/테스트/검증 커버리지)
|
|
12
13
|
- `craft`: 실행 대상 phase 준비
|
|
13
14
|
- `task auto`: 현재 task 자동 루프 진입
|
|
15
|
+
- `task auto` 내 반복 실패 시 re-plan 서브태스크 자동 생성
|
|
16
|
+
- (옵션) `approve`: 모든 task가 끝나면 full verify + phase approve
|
|
14
17
|
|
|
15
18
|
> 목표: 유저가 명령을 여러 번 기억하지 않고, 한 번의 호출로 바로 실행 흐름에 진입하도록 합니다.
|
|
16
19
|
|
|
@@ -44,6 +47,21 @@ weave command=flow
|
|
|
44
47
|
|
|
45
48
|
기본 검증 모드는 quick입니다(`verifyMode="quick"`).
|
|
46
49
|
|
|
50
|
+
모든 task 완료 후 자동 approve를 원하면:
|
|
51
|
+
|
|
52
|
+
```txt
|
|
53
|
+
weave command=flow autoApprove=true
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
`autoApprove=true`면 내부적으로 `weave approve`(full verify)를 실행합니다.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 산출물
|
|
61
|
+
|
|
62
|
+
- `tasks/todo.md`: 현재 plan/phase/task 체크리스트 + 최근 리뷰
|
|
63
|
+
- `tasks/lessons.md`: 실패 패턴과 재발 방지 규칙 기록
|
|
64
|
+
|
|
47
65
|
---
|
|
48
66
|
|
|
49
67
|
## 다음 단계
|
|
@@ -40,6 +40,9 @@ weave command=task phaseId="P1" taskAction=auto verify=true verifyMode="quick"
|
|
|
40
40
|
- 시작 직후에는 구현 대기 상태로 멈춥니다(코드 수정/에이전트 위임 후 재실행).
|
|
41
41
|
- in_progress task에서는 quick verify를 실행하고 통과 시 pass 처리합니다.
|
|
42
42
|
- 검증 실패/커밋 실패/변경 없음이면 해당 task에서 멈추고 다음 액션을 안내합니다.
|
|
43
|
+
- 같은 task 실패가 누적되면(retry 임계치) 자동으로 **re-plan 서브태스크를 생성**하고 루프를 이어갑니다.
|
|
44
|
+
- 상태 변화가 있을 때 `tasks/todo.md`를 동기화합니다.
|
|
45
|
+
- 실패 패턴은 `tasks/lessons.md`에 규칙으로 기록합니다.
|
|
43
46
|
|
|
44
47
|
### 3) 시작
|
|
45
48
|
|
|
@@ -44,6 +44,7 @@ export declare function createWeaveTool(): {
|
|
|
44
44
|
quick: "quick";
|
|
45
45
|
full: "full";
|
|
46
46
|
}>>;
|
|
47
|
+
autoApprove: z.ZodOptional<z.ZodBoolean>;
|
|
47
48
|
commit: z.ZodOptional<z.ZodBoolean>;
|
|
48
49
|
stageAll: z.ZodOptional<z.ZodBoolean>;
|
|
49
50
|
commitMessage: z.ZodOptional<z.ZodString>;
|
|
@@ -77,6 +78,7 @@ export declare function createWeaveTool(): {
|
|
|
77
78
|
bootstrapWeave?: boolean;
|
|
78
79
|
skipVerify?: boolean;
|
|
79
80
|
verifyMode?: "quick" | "full";
|
|
81
|
+
autoApprove?: boolean;
|
|
80
82
|
commit?: boolean;
|
|
81
83
|
stageAll?: boolean;
|
|
82
84
|
commitMessage?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weave.d.ts","sourceRoot":"","sources":["../../../src/plugin/tools/weave.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"weave.d.ts","sourceRoot":"","sources":["../../../src/plugin/tools/weave.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB,wBAAgB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA8Eb;QACF,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;QAClK,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;QACjE,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;QAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,WACQ;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAC9B,OAAO,CAAC,MAAM,CAAC;EAyDzB"}
|
|
@@ -8,6 +8,7 @@ import { z } from 'zod';
|
|
|
8
8
|
// Inline shim: tool() is just an identity function in @opencode-ai/plugin
|
|
9
9
|
const tool = (input) => input;
|
|
10
10
|
import * as path from 'node:path';
|
|
11
|
+
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
11
12
|
import { VERSION } from '../../version.js';
|
|
12
13
|
import { intake } from '../../weave/stages/intake.js';
|
|
13
14
|
import { spec as createSpec } from '../../weave/stages/spec.js';
|
|
@@ -74,6 +75,8 @@ Examples:
|
|
|
74
75
|
.describe('Skip verification before approve (default: false)'),
|
|
75
76
|
verifyMode: z.enum(['quick', 'full']).optional()
|
|
76
77
|
.describe('Verification mode: quick (typecheck+tests) or full (all available)'),
|
|
78
|
+
autoApprove: z.boolean().optional()
|
|
79
|
+
.describe('Automatically run approve after flow finishes all tasks (default: false)'),
|
|
77
80
|
commit: z.boolean().optional()
|
|
78
81
|
.describe('Create a git commit on approve (default: false)'),
|
|
79
82
|
stageAll: z.boolean().optional()
|
|
@@ -289,6 +292,45 @@ async function handleFlow(args, basePath) {
|
|
|
289
292
|
if (requestedPhaseId && !manager.getPhase(requestedPhaseId)) {
|
|
290
293
|
return `Error: Phase not found: ${requestedPhaseId}`;
|
|
291
294
|
}
|
|
295
|
+
const phaseBeforeCraft = manager.getPhase(resolvedPhaseId);
|
|
296
|
+
if (!phaseBeforeCraft) {
|
|
297
|
+
return `Error: Phase not found: ${resolvedPhaseId}`;
|
|
298
|
+
}
|
|
299
|
+
// Legacy plans may not have explicit tasks yet.
|
|
300
|
+
if (!phaseBeforeCraft.tasks || phaseBeforeCraft.tasks.length === 0) {
|
|
301
|
+
await manager.addTasks(resolvedPhaseId, generateDefaultPhaseTasks(phaseBeforeCraft));
|
|
302
|
+
}
|
|
303
|
+
const refreshedPhase = manager.getPhase(resolvedPhaseId);
|
|
304
|
+
if (!refreshedPhase) {
|
|
305
|
+
return `Error: Phase not found: ${resolvedPhaseId}`;
|
|
306
|
+
}
|
|
307
|
+
const planGate = evaluatePlanGate(refreshedPhase);
|
|
308
|
+
lines.push('');
|
|
309
|
+
lines.push('### Plan Gate');
|
|
310
|
+
lines.push('');
|
|
311
|
+
lines.push(`Scope: ${planGate.nonTrivial ? 'non-trivial' : 'simple'}`);
|
|
312
|
+
for (const check of planGate.checks) {
|
|
313
|
+
lines.push(`- ${check.passed ? 'PASS' : 'FAIL'}: ${check.label}`);
|
|
314
|
+
}
|
|
315
|
+
if (!planGate.passed) {
|
|
316
|
+
lines.push('');
|
|
317
|
+
lines.push('Flow paused: plan gate failed. Re-plan before implementation.');
|
|
318
|
+
lines.push(`Run: \`weave command=craft phaseId="${resolvedPhaseId}"\``);
|
|
319
|
+
lines.push(`Inspect: \`weave command=task phaseId="${resolvedPhaseId}" taskAction=list\``);
|
|
320
|
+
await appendWorkflowLesson(basePath, {
|
|
321
|
+
trigger: 'plan_gate_failed',
|
|
322
|
+
pattern: `Phase ${resolvedPhaseId} failed plan gate checks: ${planGate.failedLabels.join(', ')}`,
|
|
323
|
+
rule: 'Before implementation, ensure phase tasks include implementation, tests, and verification coverage.',
|
|
324
|
+
});
|
|
325
|
+
await syncWorkflowArtifacts(basePath, manager, {
|
|
326
|
+
phaseId: resolvedPhaseId,
|
|
327
|
+
reviewLines: [
|
|
328
|
+
`Flow paused at plan gate for ${resolvedPhaseId}.`,
|
|
329
|
+
`Missing checks: ${planGate.failedLabels.join(', ')}`,
|
|
330
|
+
],
|
|
331
|
+
});
|
|
332
|
+
return lines.join('\n');
|
|
333
|
+
}
|
|
292
334
|
const craftResult = await handleCraft({
|
|
293
335
|
phaseId: resolvedPhaseId,
|
|
294
336
|
projectType: args.projectType,
|
|
@@ -308,10 +350,38 @@ async function handleFlow(args, basePath) {
|
|
|
308
350
|
lines.push('### 3) Task Auto');
|
|
309
351
|
lines.push('');
|
|
310
352
|
lines.push(autoResult);
|
|
353
|
+
const reviewLines = [
|
|
354
|
+
`Flow executed for ${resolvedPhaseId}.`,
|
|
355
|
+
`Plan gate: PASS (${planGate.nonTrivial ? 'non-trivial' : 'simple'} scope).`,
|
|
356
|
+
];
|
|
311
357
|
if (autoResult.includes('All tasks done')) {
|
|
312
358
|
lines.push('');
|
|
313
|
-
|
|
359
|
+
if (args.autoApprove) {
|
|
360
|
+
const approveResult = await handleApprove({
|
|
361
|
+
phaseId: resolvedPhaseId,
|
|
362
|
+
projectType: args.projectType,
|
|
363
|
+
verifyMode: 'full',
|
|
364
|
+
}, basePath);
|
|
365
|
+
lines.push('### 4) Approve');
|
|
366
|
+
lines.push('');
|
|
367
|
+
lines.push(approveResult);
|
|
368
|
+
reviewLines.push(approveResult.includes('❌')
|
|
369
|
+
? `Auto-approve failed for ${resolvedPhaseId}.`
|
|
370
|
+
: `Auto-approve completed for ${resolvedPhaseId}.`);
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
lines.push(`Next: \`weave command=approve phaseId="${resolvedPhaseId}"\``);
|
|
374
|
+
lines.push('Tip: set `autoApprove=true` in flow to auto-run full verification + approve.');
|
|
375
|
+
reviewLines.push(`All tasks done for ${resolvedPhaseId}; waiting for manual approve.`);
|
|
376
|
+
}
|
|
314
377
|
}
|
|
378
|
+
else {
|
|
379
|
+
reviewLines.push(`Task auto paused for ${resolvedPhaseId}; continue from current task.`);
|
|
380
|
+
}
|
|
381
|
+
await syncWorkflowArtifacts(basePath, manager, {
|
|
382
|
+
phaseId: resolvedPhaseId,
|
|
383
|
+
reviewLines,
|
|
384
|
+
});
|
|
315
385
|
return lines.join('\n');
|
|
316
386
|
}
|
|
317
387
|
function derivePhaseIdFromTaskId(taskId) {
|
|
@@ -682,6 +752,13 @@ async function handleTask(args, basePath) {
|
|
|
682
752
|
}
|
|
683
753
|
return lines.join('\n');
|
|
684
754
|
};
|
|
755
|
+
const finalize = async (message, reviewLines) => {
|
|
756
|
+
await syncWorkflowArtifacts(basePath, manager, {
|
|
757
|
+
phaseId,
|
|
758
|
+
reviewLines,
|
|
759
|
+
});
|
|
760
|
+
return message;
|
|
761
|
+
};
|
|
685
762
|
const passTask = async (task) => {
|
|
686
763
|
// Guardrail: don't mark task as passed when nothing changed.
|
|
687
764
|
const snapshotKey = getTaskSnapshotKey(basePath, phaseId, task.id);
|
|
@@ -872,10 +949,12 @@ async function handleTask(args, basePath) {
|
|
|
872
949
|
}
|
|
873
950
|
await manager.updateTaskStatus(phaseId, task.id, 'in_progress');
|
|
874
951
|
await captureTaskSnapshot(basePath, phaseId, task.id);
|
|
875
|
-
return [
|
|
952
|
+
return finalize([
|
|
876
953
|
`✅ Task started: ${task.id} — ${task.name}`,
|
|
877
954
|
'Note: start only updates task state. Code changes are done by implementation work (you/agent), then pass/auto verifies.',
|
|
878
|
-
].join('\n')
|
|
955
|
+
].join('\n'), [
|
|
956
|
+
`Task started: ${task.id}`,
|
|
957
|
+
]);
|
|
879
958
|
}
|
|
880
959
|
case 'retry': {
|
|
881
960
|
const task = findTask(args.taskId);
|
|
@@ -884,7 +963,9 @@ async function handleTask(args, basePath) {
|
|
|
884
963
|
}
|
|
885
964
|
await manager.updateTaskStatus(phaseId, task.id, 'in_progress', { lastError: undefined });
|
|
886
965
|
await captureTaskSnapshot(basePath, phaseId, task.id);
|
|
887
|
-
return `🔄 Task retry: ${task.id} — ${task.name}
|
|
966
|
+
return finalize(`🔄 Task retry: ${task.id} — ${task.name}`, [
|
|
967
|
+
`Task retried: ${task.id}`,
|
|
968
|
+
]);
|
|
888
969
|
}
|
|
889
970
|
case 'fail': {
|
|
890
971
|
const task = findTask(args.taskId);
|
|
@@ -931,7 +1012,17 @@ async function handleTask(args, basePath) {
|
|
|
931
1012
|
}
|
|
932
1013
|
lines.push('');
|
|
933
1014
|
lines.push(`Retry: \`weave command=task taskAction=retry phaseId="${phaseId}" taskId="${task.id}"\``);
|
|
934
|
-
|
|
1015
|
+
if (err) {
|
|
1016
|
+
await appendWorkflowLesson(basePath, {
|
|
1017
|
+
trigger: `task_fail:${task.id}`,
|
|
1018
|
+
pattern: sanitizeLessonText(err),
|
|
1019
|
+
rule: 'Capture concrete failure context, then retry only after implementation changes.',
|
|
1020
|
+
});
|
|
1021
|
+
}
|
|
1022
|
+
return finalize(lines.join('\n'), [
|
|
1023
|
+
`Task failed: ${task.id}`,
|
|
1024
|
+
err ? `Error captured for ${task.id}.` : `Failure recorded without error details for ${task.id}.`,
|
|
1025
|
+
]);
|
|
935
1026
|
}
|
|
936
1027
|
case 'pass': {
|
|
937
1028
|
const task = findTask(args.taskId);
|
|
@@ -940,18 +1031,32 @@ async function handleTask(args, basePath) {
|
|
|
940
1031
|
}
|
|
941
1032
|
const result = await passTask(task);
|
|
942
1033
|
if (!result.ok) {
|
|
943
|
-
|
|
1034
|
+
if (result.reason === 'verification_failed') {
|
|
1035
|
+
await appendWorkflowLesson(basePath, {
|
|
1036
|
+
trigger: `task_pass_verification_failed:${task.id}`,
|
|
1037
|
+
pattern: sanitizeLessonText(result.body),
|
|
1038
|
+
rule: 'Do not mark task done until verification passes. Fix root cause and rerun pass.',
|
|
1039
|
+
});
|
|
1040
|
+
}
|
|
1041
|
+
return finalize(result.body, [
|
|
1042
|
+
`Task pass blocked: ${task.id} (${result.reason || 'unknown'}).`,
|
|
1043
|
+
]);
|
|
944
1044
|
}
|
|
945
1045
|
const next = nextActionable();
|
|
946
|
-
return [
|
|
1046
|
+
return finalize([
|
|
947
1047
|
result.body,
|
|
948
1048
|
next ? '' : '',
|
|
949
1049
|
next ? `Next: \`${next.id}\` (${next.status}) — ${next.name}` : `All tasks done for ${phaseId}. Run: weave command=approve phaseId="${phaseId}"`,
|
|
950
|
-
].filter(Boolean).join('\n')
|
|
1050
|
+
].filter(Boolean).join('\n'), [
|
|
1051
|
+
`Task passed: ${task.id}`,
|
|
1052
|
+
next ? `Next actionable task: ${next.id}.` : `All tasks passed for ${phaseId}.`,
|
|
1053
|
+
]);
|
|
951
1054
|
}
|
|
952
1055
|
case 'auto': {
|
|
953
1056
|
if (currentPhase().tasks.length === 0) {
|
|
954
|
-
return `No tasks found for ${phaseId}. Run \`weave craft ${phaseId}\` to seed/generate tasks
|
|
1057
|
+
return finalize(`No tasks found for ${phaseId}. Run \`weave craft ${phaseId}\` to seed/generate tasks.`, [
|
|
1058
|
+
`Auto loop paused: no tasks in ${phaseId}.`,
|
|
1059
|
+
]);
|
|
955
1060
|
}
|
|
956
1061
|
const lines = [];
|
|
957
1062
|
lines.push(`## Auto Task Loop: ${phaseId}`);
|
|
@@ -966,7 +1071,9 @@ async function handleTask(args, basePath) {
|
|
|
966
1071
|
if (!next) {
|
|
967
1072
|
lines.push(`✅ All tasks done for ${phaseId}.`);
|
|
968
1073
|
lines.push(`Next: \`weave command=approve phaseId="${phaseId}"\``);
|
|
969
|
-
return lines.join('\n')
|
|
1074
|
+
return finalize(lines.join('\n'), [
|
|
1075
|
+
`Auto loop completed: all tasks done for ${phaseId}.`,
|
|
1076
|
+
]);
|
|
970
1077
|
}
|
|
971
1078
|
steps += 1;
|
|
972
1079
|
const previousStatus = next.status;
|
|
@@ -982,13 +1089,17 @@ async function handleTask(args, basePath) {
|
|
|
982
1089
|
}
|
|
983
1090
|
lines.push(`Implement/delegate this task first, then rerun auto.`);
|
|
984
1091
|
lines.push(`Continue: \`weave command=task phaseId="${phaseId}" taskAction=auto taskId="${next.id}"\``);
|
|
985
|
-
return lines.join('\n')
|
|
1092
|
+
return finalize(lines.join('\n'), [
|
|
1093
|
+
`Auto loop waiting for implementation on ${next.id}.`,
|
|
1094
|
+
]);
|
|
986
1095
|
}
|
|
987
1096
|
lines.push(`▶ Verifying: ${next.id} — ${next.name}`);
|
|
988
1097
|
const task = findTask(next.id);
|
|
989
1098
|
if (!task) {
|
|
990
1099
|
lines.push(`❌ Task disappeared: ${next.id}`);
|
|
991
|
-
return lines.join('\n')
|
|
1100
|
+
return finalize(lines.join('\n'), [
|
|
1101
|
+
`Auto loop error: task disappeared (${next.id}).`,
|
|
1102
|
+
]);
|
|
992
1103
|
}
|
|
993
1104
|
const result = await passTask(task);
|
|
994
1105
|
lines.push(result.body);
|
|
@@ -997,16 +1108,55 @@ async function handleTask(args, basePath) {
|
|
|
997
1108
|
if (result.reason === 'no_changes') {
|
|
998
1109
|
lines.push(`⏸ Waiting for implementation changes on: ${task.id}`);
|
|
999
1110
|
lines.push(`Resume after code changes: \`weave command=task phaseId="${phaseId}" taskAction=auto taskId="${task.id}"\``);
|
|
1000
|
-
return lines.join('\n')
|
|
1111
|
+
return finalize(lines.join('\n'), [
|
|
1112
|
+
`Auto loop waiting for code changes on ${task.id}.`,
|
|
1113
|
+
]);
|
|
1114
|
+
}
|
|
1115
|
+
const failedTask = findTask(task.id);
|
|
1116
|
+
const retries = failedTask?.retryCount || 0;
|
|
1117
|
+
const maxRetries = failedTask?.maxRetries || 5;
|
|
1118
|
+
const replanThreshold = Math.min(maxRetries, DEFAULT_REPLAN_THRESHOLD);
|
|
1119
|
+
if (retries >= replanThreshold) {
|
|
1120
|
+
const replan = await autoReplanFailedTask(manager, phaseId, task.id, {
|
|
1121
|
+
reason: failedTask?.lastError || result.body,
|
|
1122
|
+
});
|
|
1123
|
+
if (replan && replan.newTaskIds.length > 0) {
|
|
1124
|
+
lines.push(`🧭 Auto re-plan created ${replan.newTaskIds.length} subtasks from ${task.id}.`);
|
|
1125
|
+
lines.push(`Subtasks: ${replan.newTaskIds.map(id => `\`${id}\``).join(', ')}`);
|
|
1126
|
+
lines.push('Continuing auto loop with the first replanned subtask.');
|
|
1127
|
+
await appendWorkflowLesson(basePath, {
|
|
1128
|
+
trigger: `task_auto_replan:${task.id}`,
|
|
1129
|
+
pattern: `Task ${task.id} hit ${retries} failures in auto loop.`,
|
|
1130
|
+
rule: 'When repeated failures occur, split the task into smaller subtasks and continue iteratively.',
|
|
1131
|
+
});
|
|
1132
|
+
preferredTaskId = replan.newTaskIds[0];
|
|
1133
|
+
continue;
|
|
1134
|
+
}
|
|
1135
|
+
lines.push(`🛑 Re-plan triggered: ${task.id} failed ${retries} times, but subtask generation failed.`);
|
|
1136
|
+
lines.push('Stop and refine the plan before retrying the same implementation path.');
|
|
1137
|
+
lines.push(`Inspect: \`weave command=task phaseId="${phaseId}" taskAction=list\``);
|
|
1138
|
+
lines.push(`Refresh strategy: \`weave command=craft phaseId="${phaseId}"\``);
|
|
1139
|
+
await appendWorkflowLesson(basePath, {
|
|
1140
|
+
trigger: `task_auto_replan_failed:${task.id}`,
|
|
1141
|
+
pattern: `Task ${task.id} failed ${retries} times and automatic re-plan generation failed.`,
|
|
1142
|
+
rule: 'If automatic re-plan fails, perform manual plan refinement before retry.',
|
|
1143
|
+
});
|
|
1144
|
+
return finalize(lines.join('\n'), [
|
|
1145
|
+
`Auto loop re-plan fallback for ${task.id} after ${retries} failures.`,
|
|
1146
|
+
]);
|
|
1001
1147
|
}
|
|
1002
1148
|
lines.push(`⏸ Stopped at failed task: ${task.id}`);
|
|
1003
1149
|
lines.push(`Fix code, then rerun: \`weave command=task phaseId="${phaseId}" taskAction=auto\``);
|
|
1004
|
-
return lines.join('\n')
|
|
1150
|
+
return finalize(lines.join('\n'), [
|
|
1151
|
+
`Auto loop stopped at failed task ${task.id}.`,
|
|
1152
|
+
]);
|
|
1005
1153
|
}
|
|
1006
1154
|
}
|
|
1007
1155
|
lines.push('⚠️ Auto loop stopped at safety limit.');
|
|
1008
1156
|
lines.push(`Inspect with: \`weave command=task phaseId="${phaseId}" taskAction=list\``);
|
|
1009
|
-
return lines.join('\n')
|
|
1157
|
+
return finalize(lines.join('\n'), [
|
|
1158
|
+
`Auto loop safety stop in ${phaseId}.`,
|
|
1159
|
+
]);
|
|
1010
1160
|
}
|
|
1011
1161
|
}
|
|
1012
1162
|
}
|
|
@@ -1094,6 +1244,13 @@ async function handleApprove(args, basePath) {
|
|
|
1094
1244
|
if (!resolvedPhaseId) {
|
|
1095
1245
|
return 'Error: No phase found to approve. Run `weave craft` first.';
|
|
1096
1246
|
}
|
|
1247
|
+
const finalizeApprove = async (message, reviewLines) => {
|
|
1248
|
+
await syncWorkflowArtifacts(basePath, phaseManager, {
|
|
1249
|
+
phaseId: resolvedPhaseId,
|
|
1250
|
+
reviewLines,
|
|
1251
|
+
});
|
|
1252
|
+
return message;
|
|
1253
|
+
};
|
|
1097
1254
|
if (!skipVerify) {
|
|
1098
1255
|
const verification = await runAIVerification({
|
|
1099
1256
|
projectType: projectType || 'unknown',
|
|
@@ -1104,26 +1261,30 @@ async function handleApprove(args, basePath) {
|
|
|
1104
1261
|
});
|
|
1105
1262
|
const report = generateVerificationReport(verification.results);
|
|
1106
1263
|
if (!verification.passed) {
|
|
1107
|
-
return [
|
|
1264
|
+
return finalizeApprove([
|
|
1108
1265
|
report,
|
|
1109
1266
|
'',
|
|
1110
1267
|
`❌ Verification failed at: ${verification.failedAt || 'unknown'}`,
|
|
1111
1268
|
'',
|
|
1112
1269
|
'Fix the failures and re-run approve.',
|
|
1113
1270
|
'You can also run: `weave command=verify`',
|
|
1114
|
-
].join('\n')
|
|
1271
|
+
].join('\n'), [
|
|
1272
|
+
`Approve blocked: verification failed for ${resolvedPhaseId}.`,
|
|
1273
|
+
]);
|
|
1115
1274
|
}
|
|
1116
1275
|
// If no commands detected, allow approve but make it explicit.
|
|
1117
1276
|
if (verification.results.length === 0) {
|
|
1118
1277
|
await phaseManager.markAllTasksPassed(resolvedPhaseId);
|
|
1119
1278
|
const result = await handleUserResponse(resolvedPhaseId, 'approve', undefined, basePath);
|
|
1120
|
-
return [
|
|
1279
|
+
return finalizeApprove([
|
|
1121
1280
|
report,
|
|
1122
1281
|
'',
|
|
1123
1282
|
'> No verification commands detected; approved without automated checks.',
|
|
1124
1283
|
'',
|
|
1125
1284
|
result.message,
|
|
1126
|
-
].join('\n')
|
|
1285
|
+
].join('\n'), [
|
|
1286
|
+
`Approved ${resolvedPhaseId} without automated verification commands.`,
|
|
1287
|
+
]);
|
|
1127
1288
|
}
|
|
1128
1289
|
// Optional: commit on approve
|
|
1129
1290
|
if (commit) {
|
|
@@ -1135,7 +1296,7 @@ async function handleApprove(args, basePath) {
|
|
|
1135
1296
|
else {
|
|
1136
1297
|
const hasStaged = await hasStagedChanges(basePath);
|
|
1137
1298
|
if (!hasStaged) {
|
|
1138
|
-
return [
|
|
1299
|
+
return finalizeApprove([
|
|
1139
1300
|
report,
|
|
1140
1301
|
'',
|
|
1141
1302
|
'❌ No staged changes to commit.',
|
|
@@ -1144,18 +1305,22 @@ async function handleApprove(args, basePath) {
|
|
|
1144
1305
|
'```txt',
|
|
1145
1306
|
`weave command=approve phaseId="${resolvedPhaseId}" commit=true stageAll=true`,
|
|
1146
1307
|
'```',
|
|
1147
|
-
].join('\n')
|
|
1308
|
+
].join('\n'), [
|
|
1309
|
+
`Approve commit blocked: no staged changes for ${resolvedPhaseId}.`,
|
|
1310
|
+
]);
|
|
1148
1311
|
}
|
|
1149
1312
|
}
|
|
1150
1313
|
const stagedFiles = await listStagedFiles(basePath);
|
|
1151
1314
|
const secretCfg = loadSecretScanConfig(basePath);
|
|
1152
1315
|
const findings = scanFilesForSecrets({ projectPath: basePath, files: stagedFiles, config: secretCfg });
|
|
1153
1316
|
if (findings.length > 0 && shouldBlockOnFindings(findings, secretCfg)) {
|
|
1154
|
-
return [
|
|
1317
|
+
return finalizeApprove([
|
|
1155
1318
|
report,
|
|
1156
1319
|
'',
|
|
1157
1320
|
formatSecretScanReport(findings),
|
|
1158
|
-
].join('\n')
|
|
1321
|
+
].join('\n'), [
|
|
1322
|
+
`Approve commit blocked by secret scan in ${resolvedPhaseId}.`,
|
|
1323
|
+
]);
|
|
1159
1324
|
}
|
|
1160
1325
|
const secretWarning = findings.length > 0
|
|
1161
1326
|
? formatSecretScanReport(findings)
|
|
@@ -1170,7 +1335,7 @@ async function handleApprove(args, basePath) {
|
|
|
1170
1335
|
const commitOutput = [commitRes.stdout, commitRes.stderr].filter(Boolean).join('\n').trim();
|
|
1171
1336
|
await phaseManager.markAllTasksPassed(resolvedPhaseId);
|
|
1172
1337
|
const result = await handleUserResponse(resolvedPhaseId, 'approve', undefined, basePath);
|
|
1173
|
-
return [
|
|
1338
|
+
return finalizeApprove([
|
|
1174
1339
|
report,
|
|
1175
1340
|
'',
|
|
1176
1341
|
secretWarning ? secretWarning : '',
|
|
@@ -1178,15 +1343,19 @@ async function handleApprove(args, basePath) {
|
|
|
1178
1343
|
commitOutput ? ['```', commitOutput, '```'].join('\n') : '',
|
|
1179
1344
|
'',
|
|
1180
1345
|
result.message,
|
|
1181
|
-
].filter(Boolean).join('\n')
|
|
1346
|
+
].filter(Boolean).join('\n'), [
|
|
1347
|
+
`Approved ${resolvedPhaseId} with commit.`,
|
|
1348
|
+
]);
|
|
1182
1349
|
}
|
|
1183
1350
|
catch (e) {
|
|
1184
1351
|
const msg = e instanceof Error ? e.message : String(e);
|
|
1185
|
-
return [
|
|
1352
|
+
return finalizeApprove([
|
|
1186
1353
|
report,
|
|
1187
1354
|
'',
|
|
1188
1355
|
`❌ Commit failed: ${msg}`,
|
|
1189
|
-
].join('\n')
|
|
1356
|
+
].join('\n'), [
|
|
1357
|
+
`Approve commit failed for ${resolvedPhaseId}: ${sanitizeLessonText(msg)}`,
|
|
1358
|
+
]);
|
|
1190
1359
|
}
|
|
1191
1360
|
}
|
|
1192
1361
|
// Passed with results: include report in approval output.
|
|
@@ -1194,14 +1363,18 @@ async function handleApprove(args, basePath) {
|
|
|
1194
1363
|
await phaseManager.markAllTasksPassed(resolvedPhaseId);
|
|
1195
1364
|
}
|
|
1196
1365
|
const result = await handleUserResponse(resolvedPhaseId, 'approve', undefined, basePath);
|
|
1197
|
-
return [
|
|
1366
|
+
return finalizeApprove([
|
|
1198
1367
|
report,
|
|
1199
1368
|
'',
|
|
1200
1369
|
result.message,
|
|
1201
|
-
].join('\n')
|
|
1370
|
+
].join('\n'), [
|
|
1371
|
+
`Approved ${resolvedPhaseId} after verification pass.`,
|
|
1372
|
+
]);
|
|
1202
1373
|
}
|
|
1203
1374
|
const result = await handleUserResponse(resolvedPhaseId, 'approve', undefined, basePath);
|
|
1204
|
-
return result.message
|
|
1375
|
+
return finalizeApprove(result.message, [
|
|
1376
|
+
`Approved ${resolvedPhaseId} with skipVerify=true.`,
|
|
1377
|
+
]);
|
|
1205
1378
|
}
|
|
1206
1379
|
function getHelpMessage() {
|
|
1207
1380
|
return `## Weave Workflow Help (Maskweaver v${VERSION})
|
|
@@ -1249,10 +1422,221 @@ To check installed version:
|
|
|
1249
1422
|
\`\`\`
|
|
1250
1423
|
weave flow docs/ # One-command path
|
|
1251
1424
|
weave flow # Continue active plan/task
|
|
1425
|
+
weave flow autoApprove=true # Auto-run full verify + approve when tasks finish
|
|
1252
1426
|
weave approve # Auto-select current phase + full verify
|
|
1253
1427
|
\`\`\`
|
|
1254
1428
|
`;
|
|
1255
1429
|
}
|
|
1430
|
+
const DEFAULT_REPLAN_THRESHOLD = 2;
|
|
1431
|
+
function evaluatePlanGate(phase) {
|
|
1432
|
+
const tasks = phase.tasks || [];
|
|
1433
|
+
const nonTrivial = tasks.length >= 3 || (phase.estimatedHours || 0) >= 4;
|
|
1434
|
+
const taskText = tasks
|
|
1435
|
+
.map(task => `${task.name} ${task.testCase || ''}`.toLowerCase())
|
|
1436
|
+
.join('\n');
|
|
1437
|
+
const checks = [
|
|
1438
|
+
{
|
|
1439
|
+
label: nonTrivial
|
|
1440
|
+
? 'Task granularity (>=3 executable tasks for non-trivial work)'
|
|
1441
|
+
: 'Task granularity (>=1 executable task)',
|
|
1442
|
+
passed: tasks.length >= (nonTrivial ? 3 : 1),
|
|
1443
|
+
},
|
|
1444
|
+
{
|
|
1445
|
+
label: 'Test coverage task exists',
|
|
1446
|
+
passed: /\btest\b|테스트/.test(taskText),
|
|
1447
|
+
},
|
|
1448
|
+
{
|
|
1449
|
+
label: 'Verification/build task exists',
|
|
1450
|
+
passed: /\bverify\b|검증|\bbuild\b|\btypecheck\b/.test(taskText),
|
|
1451
|
+
},
|
|
1452
|
+
{
|
|
1453
|
+
label: 'Phase done_when exists',
|
|
1454
|
+
passed: typeof phase.doneWhen === 'string' && phase.doneWhen.trim().length > 0,
|
|
1455
|
+
},
|
|
1456
|
+
];
|
|
1457
|
+
const failedLabels = checks.filter(check => !check.passed).map(check => check.label);
|
|
1458
|
+
return {
|
|
1459
|
+
nonTrivial,
|
|
1460
|
+
passed: failedLabels.length === 0,
|
|
1461
|
+
checks,
|
|
1462
|
+
failedLabels,
|
|
1463
|
+
};
|
|
1464
|
+
}
|
|
1465
|
+
async function autoReplanFailedTask(manager, phaseId, taskId, options) {
|
|
1466
|
+
const plan = await manager.loadPlan();
|
|
1467
|
+
if (!plan)
|
|
1468
|
+
return null;
|
|
1469
|
+
const phase = plan.phases.find(p => p.id === phaseId);
|
|
1470
|
+
if (!phase || !phase.tasks || phase.tasks.length === 0)
|
|
1471
|
+
return null;
|
|
1472
|
+
const taskIndex = phase.tasks.findIndex(task => task.id === taskId);
|
|
1473
|
+
if (taskIndex < 0)
|
|
1474
|
+
return null;
|
|
1475
|
+
const sourceTask = phase.tasks[taskIndex];
|
|
1476
|
+
const retryCount = sourceTask.retryCount || 0;
|
|
1477
|
+
if (retryCount <= 0)
|
|
1478
|
+
return null;
|
|
1479
|
+
// Freeze the repeatedly failing task so task auto can move on to replanned subtasks.
|
|
1480
|
+
sourceTask.status = 'failed';
|
|
1481
|
+
sourceTask.maxRetries = Math.max(1, retryCount);
|
|
1482
|
+
sourceTask.retryCount = Math.max(retryCount, sourceTask.maxRetries);
|
|
1483
|
+
sourceTask.lastError = mergeTaskError(sourceTask.lastError, options.reason);
|
|
1484
|
+
const reasonSummary = sanitizeLessonText(options.reason || sourceTask.lastError || 'unknown failure', 120);
|
|
1485
|
+
const baseTaskName = sourceTask.name;
|
|
1486
|
+
const firstIdNumber = getNextTaskNumber(phase.tasks);
|
|
1487
|
+
const subtasks = [
|
|
1488
|
+
{
|
|
1489
|
+
id: `${phaseId}-T${firstIdNumber}`,
|
|
1490
|
+
name: `${baseTaskName} [re-plan] 원인 분해`,
|
|
1491
|
+
status: 'pending',
|
|
1492
|
+
retryCount: 0,
|
|
1493
|
+
maxRetries: 2,
|
|
1494
|
+
testCase: `반복 실패 원인을 좁힌다: ${reasonSummary}`,
|
|
1495
|
+
lastError: undefined,
|
|
1496
|
+
maskUsed: undefined,
|
|
1497
|
+
},
|
|
1498
|
+
{
|
|
1499
|
+
id: `${phaseId}-T${firstIdNumber + 1}`,
|
|
1500
|
+
name: `${baseTaskName} [re-plan] 최소 수정 구현`,
|
|
1501
|
+
status: 'pending',
|
|
1502
|
+
retryCount: 0,
|
|
1503
|
+
maxRetries: 3,
|
|
1504
|
+
testCase: sourceTask.testCase || '핵심 동작이 정상 동작한다',
|
|
1505
|
+
lastError: undefined,
|
|
1506
|
+
maskUsed: undefined,
|
|
1507
|
+
},
|
|
1508
|
+
{
|
|
1509
|
+
id: `${phaseId}-T${firstIdNumber + 2}`,
|
|
1510
|
+
name: `${baseTaskName} [re-plan] 검증 및 회귀 확인`,
|
|
1511
|
+
status: 'pending',
|
|
1512
|
+
retryCount: 0,
|
|
1513
|
+
maxRetries: 2,
|
|
1514
|
+
testCase: '관련 테스트와 검증이 통과한다',
|
|
1515
|
+
lastError: undefined,
|
|
1516
|
+
maskUsed: undefined,
|
|
1517
|
+
},
|
|
1518
|
+
];
|
|
1519
|
+
phase.tasks.splice(taskIndex + 1, 0, ...subtasks);
|
|
1520
|
+
await manager.savePlan(plan);
|
|
1521
|
+
return {
|
|
1522
|
+
sourceTaskId: sourceTask.id,
|
|
1523
|
+
newTaskIds: subtasks.map(task => task.id),
|
|
1524
|
+
};
|
|
1525
|
+
}
|
|
1526
|
+
function getNextTaskNumber(tasks) {
|
|
1527
|
+
let max = 0;
|
|
1528
|
+
for (const task of tasks) {
|
|
1529
|
+
const match = /-T(\d+)$/i.exec(task.id);
|
|
1530
|
+
if (!match)
|
|
1531
|
+
continue;
|
|
1532
|
+
const value = Number.parseInt(match[1], 10);
|
|
1533
|
+
if (Number.isFinite(value) && value > max) {
|
|
1534
|
+
max = value;
|
|
1535
|
+
}
|
|
1536
|
+
}
|
|
1537
|
+
return max + 1;
|
|
1538
|
+
}
|
|
1539
|
+
function mergeTaskError(existing, reason) {
|
|
1540
|
+
const normalizedReason = reason ? sanitizeLessonText(reason, 180) : '';
|
|
1541
|
+
const base = existing ? existing.trim() : '';
|
|
1542
|
+
if (!normalizedReason)
|
|
1543
|
+
return base || undefined;
|
|
1544
|
+
if (!base)
|
|
1545
|
+
return `Auto re-plan reason: ${normalizedReason}`;
|
|
1546
|
+
if (base.includes(normalizedReason))
|
|
1547
|
+
return base;
|
|
1548
|
+
return `${base} | Auto re-plan reason: ${normalizedReason}`;
|
|
1549
|
+
}
|
|
1550
|
+
async function syncWorkflowArtifacts(basePath, manager, options) {
|
|
1551
|
+
try {
|
|
1552
|
+
const plan = await manager.loadPlan();
|
|
1553
|
+
if (!plan)
|
|
1554
|
+
return;
|
|
1555
|
+
const tasksDir = path.join(basePath, 'tasks');
|
|
1556
|
+
await mkdir(tasksDir, { recursive: true });
|
|
1557
|
+
const todoPath = path.join(tasksDir, 'todo.md');
|
|
1558
|
+
const lines = [];
|
|
1559
|
+
const currentPhaseId = options.phaseId
|
|
1560
|
+
|| plan.currentPhase
|
|
1561
|
+
|| plan.phases.find(phase => phase.status === 'in_progress')?.id
|
|
1562
|
+
|| plan.phases.find(phase => phase.status !== 'completed')?.id;
|
|
1563
|
+
lines.push('# Todo');
|
|
1564
|
+
lines.push('');
|
|
1565
|
+
lines.push(`- Updated: ${new Date().toISOString()}`);
|
|
1566
|
+
lines.push(`- Plan: \`${plan.planName || 'active-plan'}\``);
|
|
1567
|
+
lines.push(`- Focus phase: \`${currentPhaseId || 'none'}\``);
|
|
1568
|
+
lines.push('');
|
|
1569
|
+
lines.push('## Checklist');
|
|
1570
|
+
lines.push('');
|
|
1571
|
+
for (const phase of plan.phases) {
|
|
1572
|
+
const phaseDone = phase.status === 'completed';
|
|
1573
|
+
lines.push(`- [${phaseDone ? 'x' : ' '}] ${phase.id} ${phase.name} (${phase.status})`);
|
|
1574
|
+
const tasks = phase.tasks || [];
|
|
1575
|
+
if (tasks.length === 0) {
|
|
1576
|
+
lines.push(' - [ ] (no tasks)');
|
|
1577
|
+
continue;
|
|
1578
|
+
}
|
|
1579
|
+
for (const task of tasks) {
|
|
1580
|
+
const taskDone = task.status === 'passed';
|
|
1581
|
+
const retries = `${task.retryCount || 0}/${task.maxRetries || 5}`;
|
|
1582
|
+
lines.push(` - [${taskDone ? 'x' : ' '}] ${task.id} ${task.name} (${task.status}, retries ${retries})`);
|
|
1583
|
+
}
|
|
1584
|
+
}
|
|
1585
|
+
lines.push('');
|
|
1586
|
+
lines.push('## Review');
|
|
1587
|
+
lines.push('');
|
|
1588
|
+
const reviewLines = options.reviewLines && options.reviewLines.length > 0
|
|
1589
|
+
? options.reviewLines
|
|
1590
|
+
: ['Pending'];
|
|
1591
|
+
for (const reviewLine of reviewLines) {
|
|
1592
|
+
lines.push(`- ${reviewLine}`);
|
|
1593
|
+
}
|
|
1594
|
+
await writeFile(todoPath, `${lines.join('\n')}\n`, 'utf-8');
|
|
1595
|
+
}
|
|
1596
|
+
catch {
|
|
1597
|
+
// Non-fatal: artifact sync should never break workflow execution.
|
|
1598
|
+
}
|
|
1599
|
+
}
|
|
1600
|
+
function sanitizeLessonText(input, maxLength = 240) {
|
|
1601
|
+
return input
|
|
1602
|
+
.replace(/\s+/g, ' ')
|
|
1603
|
+
.trim()
|
|
1604
|
+
.slice(0, maxLength);
|
|
1605
|
+
}
|
|
1606
|
+
async function appendWorkflowLesson(basePath, lesson) {
|
|
1607
|
+
try {
|
|
1608
|
+
const tasksDir = path.join(basePath, 'tasks');
|
|
1609
|
+
await mkdir(tasksDir, { recursive: true });
|
|
1610
|
+
const lessonsPath = path.join(tasksDir, 'lessons.md');
|
|
1611
|
+
let current = '';
|
|
1612
|
+
try {
|
|
1613
|
+
current = await readFile(lessonsPath, 'utf-8');
|
|
1614
|
+
}
|
|
1615
|
+
catch {
|
|
1616
|
+
current = [
|
|
1617
|
+
'# Lessons',
|
|
1618
|
+
'',
|
|
1619
|
+
'## Rules',
|
|
1620
|
+
'- Stop and re-plan when the same task fails repeatedly.',
|
|
1621
|
+
'- Verify behavior before marking work done.',
|
|
1622
|
+
'- Capture failure patterns as explicit prevention rules.',
|
|
1623
|
+
'',
|
|
1624
|
+
].join('\n');
|
|
1625
|
+
}
|
|
1626
|
+
const stamp = new Date().toISOString();
|
|
1627
|
+
const entry = [
|
|
1628
|
+
`## ${stamp}`,
|
|
1629
|
+
`- Trigger: ${sanitizeLessonText(lesson.trigger)}`,
|
|
1630
|
+
`- Pattern: ${sanitizeLessonText(lesson.pattern)}`,
|
|
1631
|
+
`- Rule: ${sanitizeLessonText(lesson.rule)}`,
|
|
1632
|
+
'',
|
|
1633
|
+
].join('\n');
|
|
1634
|
+
await writeFile(lessonsPath, `${current.trimEnd()}\n\n${entry}`, 'utf-8');
|
|
1635
|
+
}
|
|
1636
|
+
catch {
|
|
1637
|
+
// Non-fatal: lesson capture should not block task execution.
|
|
1638
|
+
}
|
|
1639
|
+
}
|
|
1256
1640
|
function resolveUnderBase(basePath, inputPath) {
|
|
1257
1641
|
if (path.isAbsolute(inputPath))
|
|
1258
1642
|
return inputPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weave.js","sourceRoot":"","sources":["../../../src/plugin/tools/weave.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"weave.js","sourceRoot":"","sources":["../../../src/plugin/tools/weave.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* 2. Update this constant
|
|
10
10
|
* 3. That's it — all other files import from here
|
|
11
11
|
*/
|
|
12
|
-
export declare const VERSION = "0.7.
|
|
12
|
+
export declare const VERSION = "0.7.36";
|
|
13
13
|
/**
|
|
14
14
|
* Returns a formatted version string for display.
|
|
15
15
|
* @example "Maskweaver v0.7.29"
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "maskweaver",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.36",
|
|
4
4
|
"description": "AI Expert Persona System - Give your AI coding assistant expert personalities (가면술사)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
|
-
"bin": {
|
|
9
|
-
"maskweaver": "dist/cli/install.js"
|
|
10
|
-
},
|
|
8
|
+
"bin": {
|
|
9
|
+
"maskweaver": "dist/cli/install.js"
|
|
10
|
+
},
|
|
11
11
|
"files": [
|
|
12
12
|
"dist",
|
|
13
13
|
"masks",
|
|
@@ -97,10 +97,10 @@
|
|
|
97
97
|
],
|
|
98
98
|
"author": "ULJI SOFT <ulgerang@gmail.com>",
|
|
99
99
|
"license": "MIT",
|
|
100
|
-
"repository": {
|
|
101
|
-
"type": "git",
|
|
102
|
-
"url": "git+https://github.com/ulgerang/maskweaver.git"
|
|
103
|
-
},
|
|
100
|
+
"repository": {
|
|
101
|
+
"type": "git",
|
|
102
|
+
"url": "git+https://github.com/ulgerang/maskweaver.git"
|
|
103
|
+
},
|
|
104
104
|
"homepage": "https://github.com/ulgerang/maskweaver#readme",
|
|
105
105
|
"bugs": {
|
|
106
106
|
"url": "https://github.com/ulgerang/maskweaver/issues"
|