@kuznai/inception-engine 0.19.0 → 0.20.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.
Files changed (105) hide show
  1. package/README.md +48 -22
  2. package/dist/{config → src/config}/agents.js +87 -14
  3. package/dist/{core → src/core}/adapters/agent-definitions.d.ts +0 -12
  4. package/dist/src/core/adapters/agent-definitions.js +162 -0
  5. package/dist/{core → src/core}/adapters/frontmatter.d.ts +10 -0
  6. package/dist/{core → src/core}/adapters/frontmatter.js +23 -6
  7. package/dist/{core → src/core}/adapters/mcp.js +17 -20
  8. package/dist/{core → src/core}/adapters/permissions.js +16 -20
  9. package/dist/{core → src/core}/adapters/rules.js +26 -50
  10. package/dist/src/core/capabilities.d.ts +47 -0
  11. package/dist/src/core/capabilities.js +280 -0
  12. package/dist/{core → src/core}/deploy.js +70 -41
  13. package/dist/{core → src/core}/init.js +18 -24
  14. package/dist/src/core/merge-patch.d.ts +4 -0
  15. package/dist/src/core/merge-patch.js +46 -0
  16. package/dist/{core → src/core}/ownership.js +13 -0
  17. package/dist/{core → src/core}/preflight.js +141 -29
  18. package/dist/{core → src/core}/revert.js +86 -26
  19. package/dist/{core → src/core}/validation.js +20 -0
  20. package/dist/{schemas → src/schemas}/manifest.d.ts +20 -0
  21. package/dist/{schemas → src/schemas}/manifest.js +11 -0
  22. package/dist/{schemas → src/schemas}/registry.d.ts +36 -0
  23. package/dist/{schemas → src/schemas}/registry.js +12 -4
  24. package/dist/{types.d.ts → src/types.d.ts} +13 -0
  25. package/dist/test/helpers/fs.d.ts +2 -0
  26. package/dist/test/helpers/fs.js +17 -0
  27. package/dist/test/helpers/path.d.ts +10 -0
  28. package/dist/test/helpers/path.js +15 -0
  29. package/dist/test/helpers/skill-dir-scenarios.d.ts +7 -0
  30. package/dist/test/helpers/skill-dir-scenarios.js +206 -0
  31. package/dist/test/helpers/skill-dir.d.ts +7 -0
  32. package/dist/test/helpers/skill-dir.js +46 -0
  33. package/dist/test/os/cross-platform/cross-platform.test.d.ts +1 -0
  34. package/dist/test/os/cross-platform/cross-platform.test.js +328 -0
  35. package/dist/test/os/posix/skill-dir.test.d.ts +1 -0
  36. package/dist/test/os/posix/skill-dir.test.js +19 -0
  37. package/dist/test/os/windows/revert-integration.test.d.ts +1 -0
  38. package/dist/test/os/windows/revert-integration.test.js +72 -0
  39. package/dist/test/os/windows/skill-dir.test.d.ts +1 -0
  40. package/dist/test/os/windows/skill-dir.test.js +19 -0
  41. package/dist/test/unit/adapters.test.d.ts +1 -0
  42. package/dist/test/unit/adapters.test.js +947 -0
  43. package/dist/test/unit/capabilities.test.d.ts +1 -0
  44. package/dist/test/unit/capabilities.test.js +71 -0
  45. package/dist/test/unit/cli.test.d.ts +1 -0
  46. package/dist/test/unit/cli.test.js +834 -0
  47. package/dist/test/unit/deploy.test.d.ts +1 -0
  48. package/dist/test/unit/deploy.test.js +2481 -0
  49. package/dist/test/unit/detect.test.d.ts +1 -0
  50. package/dist/test/unit/detect.test.js +192 -0
  51. package/dist/test/unit/enterprise.test.d.ts +1 -0
  52. package/dist/test/unit/enterprise.test.js +106 -0
  53. package/dist/test/unit/frontmatter.test.d.ts +1 -0
  54. package/dist/test/unit/frontmatter.test.js +102 -0
  55. package/dist/test/unit/gemini-north-star.test.d.ts +1 -0
  56. package/dist/test/unit/gemini-north-star.test.js +243 -0
  57. package/dist/test/unit/manifest.test.d.ts +1 -0
  58. package/dist/test/unit/manifest.test.js +737 -0
  59. package/dist/test/unit/migration-golden.test.d.ts +1 -0
  60. package/dist/test/unit/migration-golden.test.js +197 -0
  61. package/dist/test/unit/ownership.test.d.ts +1 -0
  62. package/dist/test/unit/ownership.test.js +587 -0
  63. package/dist/test/unit/preflight.test.d.ts +1 -0
  64. package/dist/test/unit/preflight.test.js +501 -0
  65. package/dist/test/unit/resolve.test.d.ts +1 -0
  66. package/dist/test/unit/resolve.test.js +119 -0
  67. package/dist/test/unit/revert.test.d.ts +1 -0
  68. package/dist/test/unit/revert.test.js +1004 -0
  69. package/dist/test/unit/toml.test.d.ts +1 -0
  70. package/dist/test/unit/toml.test.js +55 -0
  71. package/package.json +1 -1
  72. package/dist/core/adapters/agent-definitions.js +0 -91
  73. /package/dist/{config → src/config}/agents.d.ts +0 -0
  74. /package/dist/{config → src/config}/manifest.d.ts +0 -0
  75. /package/dist/{config → src/config}/manifest.js +0 -0
  76. /package/dist/{core → src/core}/adapters/index.d.ts +0 -0
  77. /package/dist/{core → src/core}/adapters/index.js +0 -0
  78. /package/dist/{core → src/core}/adapters/mcp.d.ts +0 -0
  79. /package/dist/{core → src/core}/adapters/permissions.d.ts +0 -0
  80. /package/dist/{core → src/core}/adapters/rules.d.ts +0 -0
  81. /package/dist/{core → src/core}/adapters/toml.d.ts +0 -0
  82. /package/dist/{core → src/core}/adapters/toml.js +0 -0
  83. /package/dist/{core → src/core}/deploy.d.ts +0 -0
  84. /package/dist/{core → src/core}/detect.d.ts +0 -0
  85. /package/dist/{core → src/core}/detect.js +0 -0
  86. /package/dist/{core → src/core}/init.d.ts +0 -0
  87. /package/dist/{core → src/core}/ownership.d.ts +0 -0
  88. /package/dist/{core → src/core}/preflight.d.ts +0 -0
  89. /package/dist/{core → src/core}/resolve.d.ts +0 -0
  90. /package/dist/{core → src/core}/resolve.js +0 -0
  91. /package/dist/{core → src/core}/revert.d.ts +0 -0
  92. /package/dist/{core → src/core}/runtime-paths.d.ts +0 -0
  93. /package/dist/{core → src/core}/runtime-paths.js +0 -0
  94. /package/dist/{core → src/core}/validation.d.ts +0 -0
  95. /package/dist/{errors.d.ts → src/errors.d.ts} +0 -0
  96. /package/dist/{errors.js → src/errors.js} +0 -0
  97. /package/dist/{formatters.d.ts → src/formatters.d.ts} +0 -0
  98. /package/dist/{formatters.js → src/formatters.js} +0 -0
  99. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  100. /package/dist/{index.js → src/index.js} +0 -0
  101. /package/dist/{logger.d.ts → src/logger.d.ts} +0 -0
  102. /package/dist/{logger.js → src/logger.js} +0 -0
  103. /package/dist/{schemas → src/schemas}/errors.d.ts +0 -0
  104. /package/dist/{schemas → src/schemas}/errors.js +0 -0
  105. /package/dist/{types.js → src/types.js} +0 -0
@@ -0,0 +1,72 @@
1
+ import assert from "node:assert/strict";
2
+ import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
3
+ import path from "node:path";
4
+ import { describe, it } from "node:test";
5
+ import { lookupDeployment, registerDeployment, } from "../../../src/core/ownership.js";
6
+ import { executeRevert } from "../../../src/core/revert.js";
7
+ import { exists, makeTmpDir } from "../../helpers/fs.js";
8
+ describe("revert integration (Windows)", {
9
+ skip: process.platform !== "win32",
10
+ }, () => {
11
+ it("reverts a deployed mcpServer config-patch and unregisters it", async () => {
12
+ const home = await makeTmpDir("ie-revert-home");
13
+ try {
14
+ const configFile = path.join(home, ".claude.json");
15
+ await writeFile(configFile, JSON.stringify({
16
+ other: "value",
17
+ mcpServers: { "my-mcp": { command: "npx" } },
18
+ }));
19
+ await registerDeployment(home, configFile, {
20
+ kind: "config-patch",
21
+ patch: { mcpServers: { "my-mcp": { command: "npx" } } },
22
+ undoPatch: { mcpServers: null },
23
+ skill: "my-mcp",
24
+ agent: "claude-code",
25
+ });
26
+ const action = {
27
+ kind: "config-patch",
28
+ skill: "my-mcp",
29
+ agent: "claude-code",
30
+ target: configFile,
31
+ };
32
+ const { succeeded, failed } = await executeRevert([action], false, false, home);
33
+ assert.equal(succeeded, 1);
34
+ assert.equal(failed.length, 0);
35
+ assert.deepEqual(JSON.parse(await readFile(configFile, "utf-8")), {
36
+ other: "value",
37
+ });
38
+ assert.equal(await lookupDeployment(home, configFile), null);
39
+ }
40
+ finally {
41
+ await rm(home, { recursive: true, force: true });
42
+ }
43
+ });
44
+ it("reverts a deployed agentRule file-write and unregisters it", async () => {
45
+ const home = await makeTmpDir("ie-revert-home");
46
+ try {
47
+ const rulesFile = path.join(home, ".claude", "CLAUDE.md");
48
+ await mkdir(path.dirname(rulesFile), { recursive: true });
49
+ await writeFile(rulesFile, "# My Rules\n");
50
+ await registerDeployment(home, rulesFile, {
51
+ kind: "file-write",
52
+ source: "/some/source/CLAUDE.md",
53
+ skill: "my-rules",
54
+ agent: "claude-code",
55
+ });
56
+ const action = {
57
+ kind: "file-write",
58
+ skill: "my-rules",
59
+ agent: "claude-code",
60
+ target: rulesFile,
61
+ };
62
+ const { succeeded, failed } = await executeRevert([action], false, false, home);
63
+ assert.equal(succeeded, 1);
64
+ assert.equal(failed.length, 0);
65
+ assert.ok(!(await exists(rulesFile)));
66
+ assert.equal(await lookupDeployment(home, rulesFile), null);
67
+ }
68
+ finally {
69
+ await rm(home, { recursive: true, force: true });
70
+ }
71
+ });
72
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ import { describe } from "node:test";
2
+ import { assertCopyTarget } from "../../helpers/skill-dir.js";
3
+ import { registerSharedSkillDirDeployScenarios, registerSharedSkillDirRevertScenarios, } from "../../helpers/skill-dir-scenarios.js";
4
+ describe("skill-dir deploy and revert (Windows)", {
5
+ skip: process.platform !== "win32",
6
+ }, () => {
7
+ registerSharedSkillDirDeployScenarios({
8
+ method: "copy",
9
+ async assertManagedTarget(target, _source, expectedSkillMd) {
10
+ await assertCopyTarget(target, expectedSkillMd);
11
+ },
12
+ });
13
+ registerSharedSkillDirRevertScenarios({
14
+ method: "copy",
15
+ async assertManagedTarget(target, _source, expectedSkillMd) {
16
+ await assertCopyTarget(target, expectedSkillMd);
17
+ },
18
+ });
19
+ });
@@ -0,0 +1 @@
1
+ export {};