@event4u/agent-config 9.11.0 → 9.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +80 -204
- package/README.md +8 -1
- package/dist/agent-src/commands/fix/ci.md +29 -0
- package/dist/agent-src/commands/pr/create.md +60 -0
- package/dist/agent-src/contexts/authority/kernel-rule-edits.md +18 -2
- package/dist/agent-src/rules/active-remediation.md +0 -2
- package/dist/agent-src/rules/architecture.md +0 -1
- package/dist/agent-src/rules/artifact-drafting-protocol.md +0 -4
- package/dist/agent-src/rules/autonomous-execution.md +1 -2
- package/dist/agent-src/rules/broken-access-control.md +0 -2
- package/dist/agent-src/rules/code-comment-discipline.md +0 -3
- package/dist/agent-src/rules/code-provenance.md +0 -3
- package/dist/agent-src/rules/communication-through-line.md +2 -3
- package/dist/agent-src/rules/content-quoting-floor.md +0 -2
- package/dist/agent-src/rules/context-hygiene.md +1 -3
- package/dist/agent-src/rules/decision-revisit-gate.md +0 -2
- package/dist/agent-src/rules/design-fidelity.md +30 -1
- package/dist/agent-src/rules/domain-adoption-policy.md +0 -3
- package/dist/agent-src/rules/downstream-changes.md +10 -1
- package/dist/agent-src/rules/external-reference-deep-dive.md +0 -7
- package/dist/agent-src/rules/fast-path-marker-visibility.md +0 -1
- package/dist/agent-src/rules/git-history-discipline.md +0 -7
- package/dist/agent-src/rules/guidelines.md +0 -2
- package/dist/agent-src/rules/improve-before-implement.md +4 -2
- package/dist/agent-src/rules/invite-challenge.md +0 -4
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -2
- package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
- package/dist/agent-src/rules/minimal-safe-diff.md +2 -2
- package/dist/agent-src/rules/missing-tool-handling.md +0 -1
- package/dist/agent-src/rules/no-attribution-footers.md +0 -3
- package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +8 -5
- package/dist/agent-src/rules/no-pr-progress-comments.md +1 -3
- package/dist/agent-src/rules/no-roadmap-references.md +0 -2
- package/dist/agent-src/rules/output-discipline.md +0 -1
- package/dist/agent-src/rules/prefer-enums-over-literals.md +0 -2
- package/dist/agent-src/rules/preservation-guard.md +0 -3
- package/dist/agent-src/rules/role-mode-adherence.md +0 -1
- package/dist/agent-src/rules/secret-vcs-guard.md +0 -2
- package/dist/agent-src/rules/senior-engineering-discipline.md +0 -2
- package/dist/agent-src/rules/session-canary.md +0 -2
- package/dist/agent-src/rules/size-enforcement.md +0 -5
- package/dist/agent-src/rules/source-confidentiality.md +0 -3
- package/dist/agent-src/rules/source-discovery-gate.md +0 -2
- package/dist/agent-src/rules/think-before-action.md +3 -3
- package/dist/agent-src/rules/token-budget-discipline.md +0 -1
- package/dist/agent-src/rules/token-efficiency.md +1 -2
- package/dist/agent-src/rules/tool-safety.md +0 -1
- package/dist/agent-src/rules/user-interaction.md +0 -3
- package/dist/agent-src/rules/user-interrupt-priority.md +0 -1
- package/dist/agent-src/skills/agent-docs-writing/SKILL.md +8 -0
- package/dist/agent-src/skills/ai-code-blindspots/SKILL.md +1 -0
- package/dist/agent-src/skills/analysis-skill-router/SKILL.md +55 -86
- package/dist/agent-src/skills/character-consistency/SKILL.md +7 -4
- package/dist/agent-src/skills/decision-record/SKILL.md +8 -0
- package/dist/agent-src/skills/design-intelligence/SKILL.md +27 -1
- package/dist/agent-src/skills/design-intelligence/data/font-pairings-reference.csv +74 -74
- package/dist/agent-src/skills/design-intelligence/data/manifest.json +2 -0
- package/dist/agent-src/skills/design-review/SKILL.md +11 -0
- package/dist/agent-src/skills/design-system-capture/reference/design-system-json.md +8 -0
- package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +0 -7
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +34 -3
- package/dist/agent-src/skills/fe-design/SKILL.md +10 -0
- package/dist/agent-src/skills/motion-choreographer/SKILL.md +7 -4
- package/dist/agent-src/skills/overbuild-review-lens/SKILL.md +201 -0
- package/dist/agent-src/skills/performance/SKILL.md +14 -0
- package/dist/agent-src/skills/pixar-storyteller/SKILL.md +8 -5
- package/dist/agent-src/skills/scene-expander/SKILL.md +9 -6
- package/dist/agent-src/skills/supply-chain-intake/SKILL.md +10 -0
- package/dist/agent-src/skills/typography-system/SKILL.md +55 -11
- package/dist/agent-src/skills/ui-apply-generic/SKILL.md +180 -0
- package/dist/agent-src/skills/universal-project-analysis/SKILL.md +14 -37
- package/dist/agent-src/skills/video-director/SKILL.md +9 -6
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +162 -17
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/design.ts +118 -0
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +49 -6
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/review.ts +9 -5
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/stack_bundles.ts +182 -29
- package/dist/agent-src/templates/scripts/work_engine/stack/detect.ts +311 -24
- package/dist/agent-src/templates/scripts/work_engine/state.ts +55 -0
- package/dist/cli-delegate/chunk-523HCFYO.js +90 -0
- package/dist/cli-delegate/{chunk-IR7P7JWA.js → chunk-A3HJ6NTI.js} +271 -59
- package/dist/cli-delegate/chunk-EJYIGZ3T.js +125 -0
- package/dist/cli-delegate/{chunk-RDGRHAAB.js → chunk-HYWSRNUX.js} +6 -86
- package/dist/cli-delegate/{chunk-YMFO6FDN.js → chunk-QFKQLQ7X.js} +313 -81
- package/dist/cli-delegate/{chunk-4SV3XGFA.js → chunk-TEGJU2JX.js} +7 -9
- package/dist/cli-delegate/chunk-TJIAM5FW.js +133 -0
- package/dist/cli-delegate/cmd_conformance.js +4 -7
- package/dist/cli-delegate/cmd_doctor.js +3 -5
- package/dist/cli-delegate/cmd_explain.js +153 -85
- package/dist/cli-delegate/cmd_export.js +5 -3
- package/dist/cli-delegate/cmd_fleet.js +2 -1
- package/dist/cli-delegate/cmd_preflight.js +6 -123
- package/dist/cli-delegate/cmd_prune.js +5 -3
- package/dist/cli-delegate/cmd_settings_migrate.js +5 -3
- package/dist/cli-delegate/cmd_sync.js +5 -3
- package/dist/cli-delegate/cmd_uninstall.js +6 -5
- package/dist/cli-delegate/cmd_validate.js +5 -3
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +116 -72
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +7 -5
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +6 -4
- package/dist/hooks/dispatch.js +174 -13
- package/dist/install/install.mjs +605 -412
- package/dist/install/ruleInScope.js +123 -0
- package/dist/install/ruleInScope.js.map +1 -0
- package/dist/install/rule_scope.js +2 -2
- package/dist/install/rule_scope.js.map +1 -1
- package/dist/install/wizard-plan.js +10 -1
- package/dist/install/wizard-plan.js.map +1 -1
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +710 -2491
- package/dist/router.json +1 -1
- package/dist/scripts/condense.js +8 -24
- package/dist/scripts/condense.js.map +1 -1
- package/docs/MIGRATION.md +1 -1
- package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +71 -0
- package/docs/guidelines/agent-infra/minimal-safe-diff-mechanics.md +24 -1
- package/docs/guidelines/code-clarity.md +9 -2
- package/docs/guidelines/design-fidelity-mechanics.md +58 -0
- package/llms.txt +63 -27
- package/package.json +4 -4
- package/src/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +162 -17
- package/src/agent-src/templates/scripts/work_engine/directives/ui/design.ts +118 -0
- package/src/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +49 -6
- package/src/agent-src/templates/scripts/work_engine/directives/ui/review.ts +9 -5
- package/src/agent-src/templates/scripts/work_engine/directives/ui/stack_bundles.ts +182 -29
- package/src/agent-src/templates/scripts/work_engine/stack/detect.ts +311 -24
- package/src/agent-src/templates/scripts/work_engine/state.ts +55 -0
- package/src/config/agent-settings.template.yml +8 -0
- package/src/install/ruleInScope.ts +133 -0
- package/src/install/rule_scope.ts +2 -2
- package/src/install/wizard-plan.ts +11 -1
- package/src/scripts/_lib/counted_probe.ts +142 -0
- package/src/scripts/_lib/global_deploy_inventory.ts +38 -2
- package/src/scripts/_lib/overbuild_lens_contract.ts +196 -0
- package/src/scripts/_lib/release_scope.ts +207 -0
- package/src/scripts/ai_council/stance_tally.ts +37 -2
- package/src/scripts/audit_auto_rules.ts +9 -9
- package/src/scripts/audit_likelihood.ts +3 -3
- package/src/scripts/audit_overlap.ts +2 -2
- package/src/scripts/audit_skill_overlap.ts +233 -95
- package/src/scripts/audit_skill_overlap_allowlist.json +4 -0
- package/src/scripts/build_proof.ts +15 -1
- package/src/scripts/check_dependency_floors.ts +16 -6
- package/src/scripts/check_gate_coverage.ts +6 -6
- package/src/scripts/check_installer_import_purity.ts +295 -0
- package/src/scripts/check_kernel_rule_bundle.ts +5 -4
- package/src/scripts/check_token_quality_golden.ts +0 -18
- package/src/scripts/code_graph/loader.ts +35 -6
- package/src/scripts/compile_router.ts +3 -8
- package/src/scripts/condense.ts +9 -30
- package/src/scripts/explain_run.ts +0 -1
- package/src/scripts/generate_pack_manifests.ts +3 -20
- package/src/scripts/hooks/block_kernel_rule_writes.ts +145 -10
- package/src/scripts/hooks/block_no_verify.ts +101 -0
- package/src/scripts/install-hooks.sh +36 -4
- package/src/scripts/install.ts +210 -5
- package/src/scripts/lint_agent_security.ts +5 -4
- package/src/scripts/lint_framework_leakage_allowlist.json +2 -2
- package/src/scripts/lint_regression.ts +92 -1
- package/src/scripts/lint_skill_descriptions.ts +93 -5
- package/src/scripts/lint_ui_stack_bundles.ts +31 -0
- package/src/scripts/project_thin_rules.ts +2 -2
- package/src/scripts/release.ts +107 -3
- package/src/scripts/resolve_lint_scope.ts +53 -0
- package/src/scripts/router_telemetry.ts +0 -5
- package/src/scripts/runtime_dispatcher.ts +40 -0
- package/src/scripts/schemas/pack.schema.json +1 -5
- package/src/scripts/schemas/rule.schema.json +1 -2
- package/src/scripts/self_review_gate.ts +15 -73
- package/src/scripts/skill_linter.ts +93 -11
- package/src/scripts/sweep_dead_scan_roots.ts +550 -0
- package/src/scripts/trigger_coverage.ts +11 -37
- package/dist/cli-delegate/chunk-7DSAMZFU.js +0 -356
- package/dist/cli-delegate/chunk-BJGXZNPM.js +0 -266
- package/dist/cli-delegate/chunk-TFG57JJM.js +0 -1969
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
LEGACY_ALL,
|
|
4
|
+
ruleFileArrives
|
|
5
|
+
} from "./chunk-TJIAM5FW.js";
|
|
6
|
+
|
|
7
|
+
// src/install/wizard-plan.ts
|
|
8
|
+
import { homedir } from "node:os";
|
|
9
|
+
import { isAbsolute, join, resolve } from "node:path";
|
|
10
|
+
var USER_SCOPE_PATHS = {
|
|
11
|
+
"claude-code": "~/.claude/",
|
|
12
|
+
"claude-desktop": "~/Library/Application Support/Claude/",
|
|
13
|
+
cursor: "~/.cursor/",
|
|
14
|
+
windsurf: "~/.codeium/windsurf/",
|
|
15
|
+
cline: "~/Documents/Cline/Rules/",
|
|
16
|
+
"gemini-cli": "~/.gemini/",
|
|
17
|
+
copilot: "~/.copilot/",
|
|
18
|
+
augment: "~/.augment/",
|
|
19
|
+
aider: "~/.aider.conf.yml",
|
|
20
|
+
codex: "~/.codex/",
|
|
21
|
+
roocode: "~/.roo/",
|
|
22
|
+
continue: "~/.continue/",
|
|
23
|
+
kilocode: "~/.kilocode/",
|
|
24
|
+
zed: "~/.config/zed/",
|
|
25
|
+
jetbrains: "~/.config/JetBrains/",
|
|
26
|
+
kiro: "~/.kiro/",
|
|
27
|
+
qoder: "~/.qoder/",
|
|
28
|
+
opencode: "~/.opencode/",
|
|
29
|
+
trae: "~/.trae/",
|
|
30
|
+
antigravity: "~/.agents/",
|
|
31
|
+
codebuddy: "~/.codebuddy/",
|
|
32
|
+
droid: "~/.factory/",
|
|
33
|
+
warp: "~/.warp/"
|
|
34
|
+
};
|
|
35
|
+
var CLAUDE_SKILL_BUNDLE = [
|
|
36
|
+
["dist/agent-src/rules", "rules"],
|
|
37
|
+
["dist/agent-src/skills", "skills"],
|
|
38
|
+
// Commands ship to ~/.claude/commands/ — native Claude Code slash-
|
|
39
|
+
// command surface. Verified empirically 2026-05-28: rich frontmatter
|
|
40
|
+
// (disable-model-invocation, custom fields) tolerated; nested
|
|
41
|
+
// subdirs route as `/<cluster>:<sub>`. Council session 2026-05-28
|
|
42
|
+
// converged on Option B (native slash-only) — see
|
|
43
|
+
// agents/runtime/council/responses/claude-code-distribution.json
|
|
44
|
+
// and scripts/install.py:_CLAUDE_SKILL_BUNDLE for the Python mirror.
|
|
45
|
+
["dist/agent-src/commands", "commands"],
|
|
46
|
+
["dist/agent-src/personas", "personas"]
|
|
47
|
+
];
|
|
48
|
+
var RULE_SOURCE_REL = "dist/agent-src/rules";
|
|
49
|
+
var GLOBAL_DEPLOY_SOURCES = {
|
|
50
|
+
"claude-code": CLAUDE_SKILL_BUNDLE,
|
|
51
|
+
augment: [
|
|
52
|
+
["dist/agent-src/rules", "rules"],
|
|
53
|
+
["dist/agent-src/skills", "skills"],
|
|
54
|
+
["dist/agent-src/commands", "commands"],
|
|
55
|
+
["dist/agent-src/contexts", "contexts"],
|
|
56
|
+
["dist/agent-src/personas", "personas"],
|
|
57
|
+
["dist/agent-src/templates", "templates"]
|
|
58
|
+
],
|
|
59
|
+
cursor: [
|
|
60
|
+
["dist/agent-src/rules", "rules"],
|
|
61
|
+
["dist/agent-src/commands", "commands"],
|
|
62
|
+
["dist/agent-src/personas", "personas"]
|
|
63
|
+
],
|
|
64
|
+
windsurf: [
|
|
65
|
+
["dist/agent-src/rules", "rules"]
|
|
66
|
+
],
|
|
67
|
+
cline: [
|
|
68
|
+
["dist/agent-src/rules", ""]
|
|
69
|
+
],
|
|
70
|
+
"gemini-cli": CLAUDE_SKILL_BUNDLE,
|
|
71
|
+
codex: CLAUDE_SKILL_BUNDLE,
|
|
72
|
+
continue: CLAUDE_SKILL_BUNDLE,
|
|
73
|
+
roocode: CLAUDE_SKILL_BUNDLE,
|
|
74
|
+
kilocode: CLAUDE_SKILL_BUNDLE,
|
|
75
|
+
qoder: CLAUDE_SKILL_BUNDLE,
|
|
76
|
+
opencode: CLAUDE_SKILL_BUNDLE,
|
|
77
|
+
trae: CLAUDE_SKILL_BUNDLE,
|
|
78
|
+
antigravity: CLAUDE_SKILL_BUNDLE,
|
|
79
|
+
codebuddy: CLAUDE_SKILL_BUNDLE,
|
|
80
|
+
droid: CLAUDE_SKILL_BUNDLE,
|
|
81
|
+
warp: CLAUDE_SKILL_BUNDLE,
|
|
82
|
+
kiro: [
|
|
83
|
+
["dist/agent-src/rules", "rules"],
|
|
84
|
+
["dist/agent-src/skills", "steering"],
|
|
85
|
+
["dist/agent-src/personas", "personas"]
|
|
86
|
+
]
|
|
87
|
+
};
|
|
88
|
+
function expandAnchor(anchor, home) {
|
|
89
|
+
const h = home ?? homedir();
|
|
90
|
+
if (anchor === "~") return h;
|
|
91
|
+
if (anchor.startsWith("~/")) return join(h, anchor.slice(2));
|
|
92
|
+
if (isAbsolute(anchor)) return anchor;
|
|
93
|
+
return resolve(anchor);
|
|
94
|
+
}
|
|
95
|
+
function expandWizardSources(inputs) {
|
|
96
|
+
const { toolIds, packageRoot, home } = inputs;
|
|
97
|
+
const scope = inputs.ruleScope ?? LEGACY_ALL;
|
|
98
|
+
const ruleFilter = (srcFile) => ruleFileArrives(srcFile, scope);
|
|
99
|
+
const out = [];
|
|
100
|
+
for (const toolId of toolIds) {
|
|
101
|
+
const deploy = GLOBAL_DEPLOY_SOURCES[toolId];
|
|
102
|
+
const anchor = USER_SCOPE_PATHS[toolId];
|
|
103
|
+
if (!deploy || !anchor) continue;
|
|
104
|
+
const destRoot = expandAnchor(anchor, home);
|
|
105
|
+
for (const [srcRel, destSub] of deploy) {
|
|
106
|
+
const srcDir = join(packageRoot, srcRel);
|
|
107
|
+
const destDir = destSub.length === 0 ? destRoot : join(destRoot, destSub);
|
|
108
|
+
const isRuleSource = srcRel === RULE_SOURCE_REL;
|
|
109
|
+
out.push({
|
|
110
|
+
toolId,
|
|
111
|
+
srcDir,
|
|
112
|
+
destDir,
|
|
113
|
+
kind: "deployed",
|
|
114
|
+
...isRuleSource ? { fileFilter: ruleFilter } : {}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return out;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export {
|
|
122
|
+
RULE_SOURCE_REL,
|
|
123
|
+
GLOBAL_DEPLOY_SOURCES,
|
|
124
|
+
expandWizardSources
|
|
125
|
+
};
|
|
@@ -2,96 +2,16 @@ import { createRequire as __acCreateRequire } from 'node:module'; const require
|
|
|
2
2
|
import {
|
|
3
3
|
detectToolPresence
|
|
4
4
|
} from "./chunk-OMIVVCG2.js";
|
|
5
|
+
import {
|
|
6
|
+
buildInstallPlan,
|
|
7
|
+
sha256File
|
|
8
|
+
} from "./chunk-523HCFYO.js";
|
|
5
9
|
|
|
6
10
|
// src/install/preflight.ts
|
|
7
|
-
import { accessSync, constants, existsSync as existsSync2, statSync
|
|
11
|
+
import { accessSync, constants, existsSync as existsSync2, statSync } from "node:fs";
|
|
8
12
|
import * as fs from "node:fs";
|
|
9
13
|
import { dirname } from "node:path";
|
|
10
14
|
|
|
11
|
-
// src/install/plan.ts
|
|
12
|
-
import { createHash } from "node:crypto";
|
|
13
|
-
import { readFileSync, readdirSync, statSync } from "node:fs";
|
|
14
|
-
import { join, relative, resolve } from "node:path";
|
|
15
|
-
function sha256File(path) {
|
|
16
|
-
try {
|
|
17
|
-
const data = readFileSync(path);
|
|
18
|
-
return createHash("sha256").update(data).digest("hex");
|
|
19
|
-
} catch {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function fileEntry(path, kind, options) {
|
|
24
|
-
return {
|
|
25
|
-
path,
|
|
26
|
-
kind,
|
|
27
|
-
sha256: options.hashContent ? sha256File(path) : null
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
function walkSourceTree(dir) {
|
|
31
|
-
const out = [];
|
|
32
|
-
walkInto(dir, out);
|
|
33
|
-
return out;
|
|
34
|
-
}
|
|
35
|
-
function walkInto(dir, out) {
|
|
36
|
-
let entries;
|
|
37
|
-
try {
|
|
38
|
-
entries = readdirSync(dir).sort();
|
|
39
|
-
} catch {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
for (const name of entries) {
|
|
43
|
-
const full = join(dir, name);
|
|
44
|
-
let isDir;
|
|
45
|
-
try {
|
|
46
|
-
isDir = statSync(full).isDirectory();
|
|
47
|
-
} catch {
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
if (isDir) {
|
|
51
|
-
walkInto(full, out);
|
|
52
|
-
} else {
|
|
53
|
-
out.push(full);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
function buildInstallPlan(inputs) {
|
|
58
|
-
const filesByTool = {};
|
|
59
|
-
for (const source of inputs.sources) {
|
|
60
|
-
const bucket = filesByTool[source.toolId] ?? [];
|
|
61
|
-
let files = walkSourceTree(source.srcDir);
|
|
62
|
-
if (source.fileFilter !== void 0) {
|
|
63
|
-
files = files.filter(source.fileFilter);
|
|
64
|
-
}
|
|
65
|
-
for (const srcFile of files) {
|
|
66
|
-
const rel = relative(source.srcDir, srcFile);
|
|
67
|
-
const destPath = resolve(source.destDir, rel);
|
|
68
|
-
bucket.push(
|
|
69
|
-
fileEntry(srcFile, source.kind, {
|
|
70
|
-
hashContent: source.kind !== "bridge"
|
|
71
|
-
})
|
|
72
|
-
);
|
|
73
|
-
bucket[bucket.length - 1] = {
|
|
74
|
-
...bucket[bucket.length - 1],
|
|
75
|
-
path: destPath
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
filesByTool[source.toolId] = bucket;
|
|
79
|
-
}
|
|
80
|
-
for (const source of inputs.sources) {
|
|
81
|
-
if (!(source.toolId in filesByTool)) {
|
|
82
|
-
filesByTool[source.toolId] = [];
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
version: 2,
|
|
87
|
-
target: inputs.target,
|
|
88
|
-
root: inputs.root,
|
|
89
|
-
filesByTool,
|
|
90
|
-
mergedKeysByTool: {},
|
|
91
|
-
policy: inputs.policy
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
|
|
95
15
|
// src/install/conflict.ts
|
|
96
16
|
import { existsSync } from "node:fs";
|
|
97
17
|
function isJsonTarget(entry) {
|
|
@@ -149,7 +69,7 @@ function checkPermissions(inputs) {
|
|
|
149
69
|
}
|
|
150
70
|
if (existsSync2(root)) {
|
|
151
71
|
try {
|
|
152
|
-
if (!
|
|
72
|
+
if (!statSync(root).isDirectory()) {
|
|
153
73
|
out.push({
|
|
154
74
|
id: "permissions",
|
|
155
75
|
severity: "blocking",
|