agentic-workflow-manager 3.11.0 → 3.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/dist/src/commands/doctor.js +1 -1
- package/dist/src/commands/preflight/checks.js +63 -5
- package/dist/src/commands/preflight/index.js +6 -1
- package/dist/src/commands/sensors/baseline.js +4 -3
- package/dist/src/core/context/materializer.js +7 -0
- package/dist/src/core/context/orchestrator.js +26 -6
- package/dist/src/core/context/strategies/codex-agents.js +69 -15
- package/dist/src/core/diagnostics/context.js +11 -6
- package/dist/src/core/diagnostics/provider-checks.js +92 -11
- package/dist/src/core/init/mutation-targets.js +18 -2
- package/dist/src/core/init/provider-facts.js +5 -4
- package/dist/src/core/init/steps.js +16 -2
- package/dist/src/core/install-planner.js +56 -6
- package/dist/src/core/install-transaction.js +55 -6
- package/dist/src/core/provider-artifacts.js +1 -1
- package/dist/src/core/renderers/copilot-instructions.js +28 -0
- package/dist/src/core/renderers/cursor-mdc.js +49 -0
- package/dist/src/core/renderers/skill-source.js +50 -0
- package/dist/src/core/skill-integrity.js +1 -1
- package/dist/src/index.js +8 -0
- package/dist/src/providers/index.js +69 -2
- package/dist/tests/commands/add.test.js +96 -0
- package/dist/tests/commands/doctor.test.js +25 -0
- package/dist/tests/commands/init.test.js +56 -0
- package/dist/tests/commands/preflight/preflight.test.js +95 -0
- package/dist/tests/core/bundle-install.test.js +63 -0
- package/dist/tests/core/context/materializer.test.js +8 -0
- package/dist/tests/core/context/orchestrator.test.js +51 -0
- package/dist/tests/core/context/strategies/codex-agents.test.js +157 -20
- package/dist/tests/core/diagnostics/checks.test.js +1 -0
- package/dist/tests/core/diagnostics/provider-tier.test.js +292 -0
- package/dist/tests/core/init/mutation-targets.test.js +63 -0
- package/dist/tests/core/init/provider-facts.test.js +16 -0
- package/dist/tests/core/init/steps.test.js +37 -0
- package/dist/tests/core/install-planner.test.js +118 -0
- package/dist/tests/core/install-transaction.test.js +109 -0
- package/dist/tests/core/provider-artifacts.test.js +11 -0
- package/dist/tests/core/renderers/copilot-instructions.test.js +47 -0
- package/dist/tests/core/renderers/cursor-mdc.test.js +137 -0
- package/dist/tests/core/skill-integrity.test.js +18 -0
- package/dist/tests/providers/index.test.js +45 -1
- package/dist/tests/providers/injection-config.test.js +16 -0
- package/package.json +1 -1
|
@@ -147,7 +147,7 @@ describe('Providers Routing', () => {
|
|
|
147
147
|
.toBe(path_1.default.join(process.env.HOME, '.agents/skills'));
|
|
148
148
|
});
|
|
149
149
|
it('uses AGENT_TARGETS as the single iterable target catalog', () => {
|
|
150
|
-
expect(providers_1.AGENT_TARGETS).toEqual(['antigravity', 'opencode', 'claude-code', 'codex']);
|
|
150
|
+
expect(providers_1.AGENT_TARGETS).toEqual(['antigravity', 'opencode', 'claude-code', 'codex', 'cursor', 'copilot']);
|
|
151
151
|
expect(Object.keys((0, providers_1.providers)())).toEqual([...providers_1.AGENT_TARGETS]);
|
|
152
152
|
});
|
|
153
153
|
it('throws on unsupported artifacts', () => {
|
|
@@ -160,4 +160,48 @@ describe('Providers Routing', () => {
|
|
|
160
160
|
expect(() => (0, providers_1.getTargetPath)('skill', 'unknown-agent', 'global'))
|
|
161
161
|
.toThrow('Unknown agent target');
|
|
162
162
|
});
|
|
163
|
+
describe('Cursor and Copilot (D4)', () => {
|
|
164
|
+
it('recognizes cursor and copilot as valid agent targets', () => {
|
|
165
|
+
expect((0, providers_1.isAgentTarget)('cursor')).toBe(true);
|
|
166
|
+
expect((0, providers_1.isAgentTarget)('copilot')).toBe(true);
|
|
167
|
+
});
|
|
168
|
+
it('resolves Cursor skill paths for both scopes', () => {
|
|
169
|
+
expect((0, providers_1.getTargetPath)('skill', 'cursor', 'local')).toBe('.cursor/rules');
|
|
170
|
+
expect((0, providers_1.getTargetPath)('skill', 'cursor', 'global'))
|
|
171
|
+
.toBe(path_1.default.join(process.env.HOME, '.cursor/rules'));
|
|
172
|
+
});
|
|
173
|
+
it('resolves the Copilot local skill path', () => {
|
|
174
|
+
expect((0, providers_1.getTargetPath)('skill', 'copilot', 'local')).toBe('.github/instructions');
|
|
175
|
+
});
|
|
176
|
+
it('throws a specific, non-generic reason when Copilot global skills are requested', () => {
|
|
177
|
+
expect(() => (0, providers_1.getTargetPath)('skill', 'copilot', 'global')).toThrow('skill global scope is not supported by Copilot: GitHub Copilot has no user-level skill discovery mechanism — skills must be installed per-project.');
|
|
178
|
+
});
|
|
179
|
+
it('keeps workflow/agent unsupported (null) for both, via the existing generic message', () => {
|
|
180
|
+
expect(() => (0, providers_1.getTargetPath)('workflow', 'cursor', 'local')).toThrow('workflows are not supported by Cursor.');
|
|
181
|
+
expect(() => (0, providers_1.getTargetPath)('agent', 'copilot', 'local')).toThrow('agents are not supported by Copilot.');
|
|
182
|
+
});
|
|
183
|
+
it('declares no hooks config for cursor or copilot', () => {
|
|
184
|
+
expect((0, providers_1.providerFor)('cursor').hooks).toBeUndefined();
|
|
185
|
+
expect((0, providers_1.providerFor)('copilot').hooks).toBeUndefined();
|
|
186
|
+
});
|
|
187
|
+
it('assigns the Cursor .mdc and Copilot instructions renderers to their skill artifact config (Task 4.3)', () => {
|
|
188
|
+
expect((0, providers_1.providerFor)('cursor').skill.renderer).toBe('cursor-mdc');
|
|
189
|
+
expect((0, providers_1.providerFor)('copilot').skill.renderer).toBe('copilot-instructions');
|
|
190
|
+
});
|
|
191
|
+
it('assertLinkRenderer still refuses the Cursor/Copilot skill renderers (Task 4.3 code-quality-review fix)', () => {
|
|
192
|
+
// Regression: an earlier version of this task widened assertLinkRenderer to
|
|
193
|
+
// allow these two through, on the theory that a raw unrendered copy is "at
|
|
194
|
+
// least a plausible degraded install" — wrong. assertLinkRenderer's only
|
|
195
|
+
// callers (core/provider-artifacts.ts's legacy preflight, src/index.ts's
|
|
196
|
+
// legacy interactive `awm add`) can only symlink/copy verbatim; they never
|
|
197
|
+
// render. A raw SKILL.md copy at `.cursor/rules/<name>` or
|
|
198
|
+
// `.github/instructions/<name>` has no `.mdc`/`.instructions.md` extension
|
|
199
|
+
// and no frontmatter (`alwaysApply`/`applyTo`) — neither Cursor nor Copilot
|
|
200
|
+
// would ever read it. This must keep throwing, same as codex-agent-toml
|
|
201
|
+
// always has, directing users to commands/add.ts's real render pipeline
|
|
202
|
+
// instead (which never calls assertLinkRenderer at all).
|
|
203
|
+
expect(() => (0, providers_1.assertLinkRenderer)('skill', 'cursor')).toThrow(/not implemented yet/);
|
|
204
|
+
expect(() => (0, providers_1.assertLinkRenderer)('skill', 'copilot')).toThrow(/not implemented yet/);
|
|
205
|
+
});
|
|
206
|
+
});
|
|
163
207
|
});
|
|
@@ -22,4 +22,20 @@ describe('getInjection', () => {
|
|
|
22
22
|
it('returns undefined for antigravity (no injection mechanism wired yet)', () => {
|
|
23
23
|
expect((0, providers_1.getInjection)('antigravity')).toBeUndefined();
|
|
24
24
|
});
|
|
25
|
+
it('returns managed-agents-md for cursor, with no confirmed global path (D4)', () => {
|
|
26
|
+
const inj = (0, providers_1.getInjection)('cursor');
|
|
27
|
+
expect(inj).toEqual({
|
|
28
|
+
type: 'managed-agents-md',
|
|
29
|
+
globalPath: null,
|
|
30
|
+
localFile: 'AGENTS.md',
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
it('returns managed-agents-md for copilot, project-root only (D4: no global equivalent)', () => {
|
|
34
|
+
const inj = (0, providers_1.getInjection)('copilot');
|
|
35
|
+
expect(inj).toEqual({
|
|
36
|
+
type: 'managed-agents-md',
|
|
37
|
+
globalPath: null,
|
|
38
|
+
localFile: 'AGENTS.md',
|
|
39
|
+
});
|
|
40
|
+
});
|
|
25
41
|
});
|