@lesliechan721/aw 0.1.0-beta.11 → 0.1.0-beta.12

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.
Files changed (52) hide show
  1. package/dist/authoring/scripts/validate-plugin.mjs +33 -42
  2. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  3. package/dist/src/commands/operation-planner.js +11 -1
  4. package/dist/src/commands/operation-planner.js.map +1 -1
  5. package/dist/src/commands/rebuild-command.d.ts +12 -0
  6. package/dist/src/commands/rebuild-command.js +72 -17
  7. package/dist/src/commands/rebuild-command.js.map +1 -1
  8. package/dist/src/commands/rebuild-integration.d.ts +1 -0
  9. package/dist/src/commands/rebuild-integration.js +138 -41
  10. package/dist/src/commands/rebuild-integration.js.map +1 -1
  11. package/dist/src/commands/status-v6.js +6 -6
  12. package/dist/src/commands/status-v6.js.map +1 -1
  13. package/dist/src/index.js +52 -14
  14. package/dist/src/index.js.map +1 -1
  15. package/dist/src/portable/materializer.js +5 -3
  16. package/dist/src/portable/materializer.js.map +1 -1
  17. package/dist/src/tui/console-app-v4.js +1 -21
  18. package/dist/src/tui/console-app-v4.js.map +1 -1
  19. package/dist/src/tui/controller-runtime.js +165 -48
  20. package/dist/src/tui/controller-runtime.js.map +1 -1
  21. package/dist/src/tui/controller.d.ts +4 -4
  22. package/dist/src/tui/controller.js +19 -7
  23. package/dist/src/tui/controller.js.map +1 -1
  24. package/dist/src/tui/diagnostics.js +6 -6
  25. package/dist/src/tui/diagnostics.js.map +1 -1
  26. package/dist/src/tui/operation-review-planner.js +66 -19
  27. package/dist/src/tui/operation-review-planner.js.map +1 -1
  28. package/dist/src/utils/artifact-plan.d.ts +2 -2
  29. package/dist/src/utils/artifact-plan.js +8 -6
  30. package/dist/src/utils/artifact-plan.js.map +1 -1
  31. package/dist/src/utils/artifact-renderer.js +96 -77
  32. package/dist/src/utils/artifact-renderer.js.map +1 -1
  33. package/dist/src/utils/artifact-request.d.ts +5 -0
  34. package/dist/src/utils/artifact-request.js +40 -0
  35. package/dist/src/utils/artifact-request.js.map +1 -1
  36. package/dist/src/utils/plugin-config-impact.d.ts +33 -0
  37. package/dist/src/utils/plugin-config-impact.js +298 -0
  38. package/dist/src/utils/plugin-config-impact.js.map +1 -0
  39. package/dist/src/utils/plugin-config-write.d.ts +22 -2
  40. package/dist/src/utils/plugin-config-write.js +368 -104
  41. package/dist/src/utils/plugin-config-write.js.map +1 -1
  42. package/dist/src/utils/plugin-config.d.ts +10 -0
  43. package/dist/src/utils/plugin-config.js +39 -22
  44. package/dist/src/utils/plugin-config.js.map +1 -1
  45. package/dist/src/utils/plugin-scripts.js +47 -39
  46. package/dist/src/utils/plugin-scripts.js.map +1 -1
  47. package/dist/src/utils/project-boundary.js +22 -9
  48. package/dist/src/utils/project-boundary.js.map +1 -1
  49. package/dist/src/utils/sensitive-content.d.ts +3 -0
  50. package/dist/src/utils/sensitive-content.js +28 -7
  51. package/dist/src/utils/sensitive-content.js.map +1 -1
  52. package/package.json +3 -3
@@ -43,7 +43,22 @@ export const PROJECT_CONFIG_SHAREABILITY_UNVERIFIED_WARNING = 'projectConfigShar
43
43
  function relativePath(repoRoot, targetPath) {
44
44
  return path.relative(path.resolve(repoRoot), path.resolve(targetPath)).split(path.sep).join('/');
45
45
  }
46
- async function inspectGitIgnore(repoRoot, targetRelativePath, env) {
46
+ async function checkGitIgnore(repoRoot, targetRelativePath, env) {
47
+ try {
48
+ await execFileAsync('git', ['check-ignore', '-q', targetRelativePath], {
49
+ cwd: repoRoot,
50
+ ...(env ? { env } : {}),
51
+ });
52
+ return 'ignored';
53
+ }
54
+ catch (error) {
55
+ const code = String(error.code);
56
+ if (code === '1')
57
+ return 'visible';
58
+ return 'unverified';
59
+ }
60
+ }
61
+ async function inspectGitIgnoreExplanation(repoRoot, targetRelativePath, env) {
47
62
  try {
48
63
  const result = await execFileAsync('git', ['check-ignore', '-v', targetRelativePath], {
49
64
  cwd: repoRoot,
@@ -53,23 +68,21 @@ async function inspectGitIgnore(repoRoot, targetRelativePath, env) {
53
68
  const match = line ? /^(.*?):(\d+):([^\t]+)\t(.+)$/u.exec(line) : null;
54
69
  return match ? { pattern: match[3] } : undefined;
55
70
  }
56
- catch (error) {
57
- const code = String(error.code);
58
- if (code === '1')
59
- return null;
71
+ catch {
60
72
  return undefined;
61
73
  }
62
74
  }
63
75
  export async function assertProjectSharedConfigPathVisible(options) {
64
76
  const repoRoot = resolveAwProjectRoot(options.cwd);
65
77
  const targetRelativePath = relativePath(repoRoot, options.targetPath);
66
- const match = await inspectGitIgnore(repoRoot, targetRelativePath, options.env);
67
- if (match?.pattern) {
68
- const error = new Error(`projectConfigIgnored: Project shared state path ${targetRelativePath} 被 ignore 规则 ${JSON.stringify(match.pattern)} 排除。写入前必须修正规则。`);
78
+ const ignoreState = await checkGitIgnore(repoRoot, targetRelativePath, options.env);
79
+ if (ignoreState === 'ignored') {
80
+ const match = await inspectGitIgnoreExplanation(repoRoot, targetRelativePath, options.env);
81
+ const error = new Error(`projectConfigIgnored: Project shared state path ${targetRelativePath} 被 ignore 规则 ${JSON.stringify(match?.pattern ?? '<unavailable>')} 排除。写入前必须修正规则。`);
69
82
  error.code = 'projectConfigIgnored';
70
83
  throw error;
71
84
  }
72
- if (match === undefined)
85
+ if (ignoreState === 'unverified')
73
86
  return { state: 'unverified' };
74
87
  return { state: 'visible' };
75
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-boundary.js","sourceRoot":"","sources":["../../../src/utils/project-boundary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-boundary.js","sourceRoot":"","sources":["../../../src/utils/project-boundary.ts"],"names":[],"mappings":"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"}
@@ -1 +1,4 @@
1
+ export declare function resolveSensitiveTokenRepresentations(value: string): string[];
2
+ export declare function containsBlockedSensitiveToken(value: string, sensitiveValues: readonly string[]): boolean;
3
+ export declare function collectSensitiveTokenRepresentations(sensitiveValues: readonly string[]): string[];
1
4
  export declare function findSensitiveTokenPath(files: Readonly<Record<string, string | Buffer>>, sensitiveValues: readonly string[]): string | undefined;
@@ -1,14 +1,35 @@
1
+ const MINIMUM_BLOCKED_SENSITIVE_CODE_POINTS = 8;
2
+ export function resolveSensitiveTokenRepresentations(value) {
3
+ if (value === '')
4
+ return [];
5
+ const encoded = JSON.stringify(value).slice(1, -1);
6
+ return encoded === value ? [value] : [value, encoded];
7
+ }
8
+ export function containsBlockedSensitiveToken(value, sensitiveValues) {
9
+ return [...new Set(sensitiveValues)].some((sensitiveValue) => {
10
+ if ([...sensitiveValue].length < MINIMUM_BLOCKED_SENSITIVE_CODE_POINTS)
11
+ return false;
12
+ return resolveSensitiveTokenRepresentations(sensitiveValue)
13
+ .some((token) => value.includes(token));
14
+ });
15
+ }
16
+ export function collectSensitiveTokenRepresentations(sensitiveValues) {
17
+ const representations = new Set();
18
+ for (const value of sensitiveValues) {
19
+ if (value.length === 0)
20
+ continue;
21
+ representations.add(value);
22
+ representations.add(JSON.stringify(value).slice(1, -1));
23
+ }
24
+ return [...representations].sort((left, right) => right.length - left.length);
25
+ }
1
26
  export function findSensitiveTokenPath(files, sensitiveValues) {
2
27
  for (const [relativePath, content] of Object.entries(files)) {
3
28
  const text = typeof content === 'string' ? content : content.toString('utf8');
4
- if (sensitiveValues.some((value) => {
5
- if (value.length === 0)
6
- return false;
7
- const encoded = JSON.stringify(value).slice(1, -1);
8
- return text.includes(value) || (encoded !== value && text.includes(encoded));
9
- })) {
29
+ if (containsBlockedSensitiveToken(relativePath, sensitiveValues))
30
+ return '[REDACTED_PATH]';
31
+ if (containsBlockedSensitiveToken(text, sensitiveValues))
10
32
  return relativePath;
11
- }
12
33
  }
13
34
  return undefined;
14
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sensitive-content.js","sourceRoot":"","sources":["../../../src/utils/sensitive-content.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sBAAsB,CACpC,KAAgD,EAChD,eAAkC;IAElC,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9E,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC,EAAE,CAAC;YACH,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"sensitive-content.js","sourceRoot":"","sources":["../../../src/utils/sensitive-content.ts"],"names":[],"mappings":"AAAA,MAAM,qCAAqC,GAAG,CAAC,CAAC;AAEhD,MAAM,UAAU,oCAAoC,CAAC,KAAa;IAChE,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAa,EACb,eAAkC;IAElC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;QAC3D,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,MAAM,GAAG,qCAAqC;YAAE,OAAO,KAAK,CAAC;QACrF,OAAO,oCAAoC,CAAC,cAAc,CAAC;aACxD,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,eAAkC;IAElC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAgD,EAChD,eAAkC;IAElC,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9E,IAAI,6BAA6B,CAAC,YAAY,EAAE,eAAe,CAAC;YAAE,OAAO,iBAAiB,CAAC;QAC3F,IAAI,6BAA6B,CAAC,IAAI,EAAE,eAAe,CAAC;YAAE,OAAO,YAAY,CAAC;IAChF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lesliechan721/aw",
3
- "version": "0.1.0-beta.11",
3
+ "version": "0.1.0-beta.12",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22"
@@ -17,8 +17,8 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "@inkjs/ui": "^2.0.0",
20
- "@lesliechan721/agent-skill-eval": "0.1.0-beta.11",
21
- "@lesliechan721/aw-plugin-core": "0.1.0-beta.11",
20
+ "@lesliechan721/agent-skill-eval": "0.1.0-beta.12",
21
+ "@lesliechan721/aw-plugin-core": "0.1.0-beta.12",
22
22
  "commander": "^14.0.1",
23
23
  "fs-extra": "^11.3.0",
24
24
  "ink": "^7.1.1",