@hashicorp/kits 0.1.4 → 0.1.5

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 (122) hide show
  1. package/README.md +173 -32
  2. package/dist/adapters/base-adapter.d.ts +2 -2
  3. package/dist/adapters/base-adapter.js +2 -2
  4. package/dist/adapters/claude-code/index.d.ts +1 -1
  5. package/dist/adapters/claude-code/index.js +1 -1
  6. package/dist/adapters/codex/index.d.ts +1 -1
  7. package/dist/adapters/codex/index.js +1 -1
  8. package/dist/adapters/gemini-cli/index.d.ts +1 -1
  9. package/dist/adapters/gemini-cli/index.js +1 -1
  10. package/dist/adapters/github-copilot/index.d.ts +1 -1
  11. package/dist/adapters/github-copilot/index.js +1 -1
  12. package/dist/adapters/opencode/index.d.ts +1 -1
  13. package/dist/adapters/opencode/index.js +1 -1
  14. package/dist/cli/index.d.ts.map +1 -1
  15. package/dist/cli/index.js +29 -9
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/install.d.ts.map +1 -1
  18. package/dist/cli/install.js +820 -161
  19. package/dist/cli/install.js.map +1 -1
  20. package/dist/cli/list.d.ts.map +1 -1
  21. package/dist/cli/list.js +8 -6
  22. package/dist/cli/list.js.map +1 -1
  23. package/dist/cli/types.d.ts +17 -0
  24. package/dist/cli/types.d.ts.map +1 -1
  25. package/dist/cli/types.js +1 -0
  26. package/dist/cli/types.js.map +1 -1
  27. package/dist/cli/uninstall.d.ts.map +1 -1
  28. package/dist/cli/uninstall.js +300 -38
  29. package/dist/cli/uninstall.js.map +1 -1
  30. package/dist/cli/upgrade.d.ts.map +1 -1
  31. package/dist/cli/upgrade.js +334 -105
  32. package/dist/cli/upgrade.js.map +1 -1
  33. package/dist/cli/validate.js +5 -5
  34. package/dist/cli/validate.js.map +1 -1
  35. package/dist/core/types.d.ts +5 -5
  36. package/dist/core/upgrade-executor.d.ts +7 -7
  37. package/dist/core/upgrade-executor.d.ts.map +1 -1
  38. package/dist/core/upgrade-executor.js +17 -17
  39. package/dist/core/upgrade-executor.js.map +1 -1
  40. package/dist/discovery/kit-scanner.d.ts +3 -3
  41. package/dist/discovery/kit-scanner.js +17 -17
  42. package/dist/discovery/kit-scanner.js.map +1 -1
  43. package/dist/discovery/types.d.ts +1 -1
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +3 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/lockfile/index.d.ts +79 -0
  49. package/dist/lockfile/index.d.ts.map +1 -0
  50. package/dist/lockfile/index.js +203 -0
  51. package/dist/lockfile/index.js.map +1 -0
  52. package/dist/lockfile/read.d.ts +32 -0
  53. package/dist/lockfile/read.d.ts.map +1 -0
  54. package/dist/lockfile/read.js +88 -0
  55. package/dist/lockfile/read.js.map +1 -0
  56. package/dist/lockfile/types.d.ts +126 -0
  57. package/dist/lockfile/types.d.ts.map +1 -0
  58. package/dist/lockfile/types.js +44 -0
  59. package/dist/lockfile/types.js.map +1 -0
  60. package/dist/{manifest → lockfile}/upgrade-check.d.ts +5 -5
  61. package/dist/lockfile/upgrade-check.d.ts.map +1 -0
  62. package/dist/{manifest → lockfile}/upgrade-check.js +11 -9
  63. package/dist/lockfile/upgrade-check.js.map +1 -0
  64. package/dist/lockfile/utils.d.ts +35 -0
  65. package/dist/lockfile/utils.d.ts.map +1 -0
  66. package/dist/lockfile/utils.js +57 -0
  67. package/dist/lockfile/utils.js.map +1 -0
  68. package/dist/lockfile/write.d.ts +44 -0
  69. package/dist/lockfile/write.d.ts.map +1 -0
  70. package/dist/lockfile/write.js +77 -0
  71. package/dist/lockfile/write.js.map +1 -0
  72. package/dist/manifest/hash.d.ts +7 -0
  73. package/dist/manifest/hash.d.ts.map +1 -0
  74. package/dist/manifest/hash.js +30 -0
  75. package/dist/manifest/hash.js.map +1 -0
  76. package/dist/manifest/index.d.ts +8 -77
  77. package/dist/manifest/index.d.ts.map +1 -1
  78. package/dist/manifest/index.js +6 -197
  79. package/dist/manifest/index.js.map +1 -1
  80. package/dist/manifest/read.d.ts +4 -24
  81. package/dist/manifest/read.d.ts.map +1 -1
  82. package/dist/manifest/read.js +22 -46
  83. package/dist/manifest/read.js.map +1 -1
  84. package/dist/manifest/types.d.ts +17 -109
  85. package/dist/manifest/types.d.ts.map +1 -1
  86. package/dist/manifest/types.js +8 -37
  87. package/dist/manifest/types.js.map +1 -1
  88. package/dist/manifest/utils.d.ts +1 -27
  89. package/dist/manifest/utils.d.ts.map +1 -1
  90. package/dist/manifest/utils.js +1 -28
  91. package/dist/manifest/utils.js.map +1 -1
  92. package/dist/manifest/write.d.ts +3 -34
  93. package/dist/manifest/write.d.ts.map +1 -1
  94. package/dist/manifest/write.js +5 -45
  95. package/dist/manifest/write.js.map +1 -1
  96. package/dist/resolution/index.d.ts +7 -7
  97. package/dist/resolution/index.d.ts.map +1 -1
  98. package/dist/resolution/index.js +29 -19
  99. package/dist/resolution/index.js.map +1 -1
  100. package/dist/resolution/multi-kit-resolver.d.ts +2 -2
  101. package/dist/resolution/multi-kit-resolver.js +2 -2
  102. package/dist/resolution/primitives-registry.d.ts +1 -1
  103. package/dist/resolution/primitives-registry.js +2 -2
  104. package/dist/resolution/primitives-registry.js.map +1 -1
  105. package/dist/resolution/types.d.ts +1 -1
  106. package/dist/resolution/types.js +1 -1
  107. package/dist/tui/types.d.ts +1 -0
  108. package/dist/tui/types.d.ts.map +1 -1
  109. package/dist/tui/upgrade-select.d.ts +1 -1
  110. package/dist/tui/upgrade-select.d.ts.map +1 -1
  111. package/dist/tui/upgrade-select.js +15 -4
  112. package/dist/tui/upgrade-select.js.map +1 -1
  113. package/dist/validation/validate-kits.d.ts +1 -1
  114. package/dist/validation/validate-kits.js +5 -5
  115. package/dist/validation/validate-kits.js.map +1 -1
  116. package/package.json +1 -1
  117. package/schemas/{manifest.schema.json → kits-lock.schema.json} +34 -8
  118. package/schemas/kits-manifest.schema.json +95 -0
  119. package/schemas/{kits.schema.json → kits-registry.schema.json} +3 -3
  120. package/schemas/{primitives.schema.json → primitives-registry.schema.json} +2 -2
  121. package/dist/manifest/upgrade-check.d.ts.map +0 -1
  122. package/dist/manifest/upgrade-check.js.map +0 -1
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft-07/schema#",
3
- "$id": "https://hashicorp.com/schemas/manifest.schema.json",
4
- "title": "Installation Manifest",
5
- "description": "Schema for the installation manifest. Location varies by scope: ~/.agents/manifest.json (global) or .agents/manifest.json (project).",
3
+ "$id": "https://hashicorp.com/schemas/kits-lock.schema.json",
4
+ "title": "Kits Lockfile",
5
+ "description": "Schema for the kits lockfile. Location varies by scope: ~/.agents/kits-lock.json (global) or .agents/kits-lock.json (project).",
6
6
  "type": "object",
7
7
  "required": ["version", "scope", "lastUpdated", "harnesses"],
8
8
  "properties": {
9
9
  "version": {
10
10
  "type": "string",
11
11
  "const": "1.0",
12
- "description": "Manifest schema version"
12
+ "description": "Lockfile schema version"
13
13
  },
14
14
  "scope": {
15
15
  "$ref": "#/definitions/installationScope",
@@ -28,6 +28,22 @@
28
28
  "type": "string",
29
29
  "description": "Last used source repository"
30
30
  },
31
+ "manifest": {
32
+ "type": "object",
33
+ "required": ["path", "hash"],
34
+ "properties": {
35
+ "path": {
36
+ "type": "string",
37
+ "description": "Path to the kits.json manifest used"
38
+ },
39
+ "hash": {
40
+ "type": "string",
41
+ "description": "SHA-256 hash of canonicalized kits.json"
42
+ }
43
+ },
44
+ "additionalProperties": false,
45
+ "description": "Associated kits manifest metadata"
46
+ },
31
47
  "harnesses": {
32
48
  "type": "object",
33
49
  "additionalProperties": {
@@ -89,8 +105,16 @@
89
105
  },
90
106
  "installedKit": {
91
107
  "type": "object",
92
- "required": ["version", "installedAt", "source", "primitives"],
108
+ "required": ["name", "installAs", "version", "installedAt", "source", "primitives"],
93
109
  "properties": {
110
+ "name": {
111
+ "type": "string",
112
+ "description": "Canonical kit name"
113
+ },
114
+ "installAs": {
115
+ "type": "string",
116
+ "description": "Kit instance name used for namespacing and lockfile keys"
117
+ },
94
118
  "version": {
95
119
  "type": "string",
96
120
  "pattern": "^\\d+\\.\\d+\\.\\d+$",
@@ -128,7 +152,7 @@
128
152
  },
129
153
  "namespacedName": {
130
154
  "type": "string",
131
- "description": "Namespaced name (kit.primitive)"
155
+ "description": "Namespaced name (installAs.primitive)"
132
156
  },
133
157
  "version": {
134
158
  "type": "string",
@@ -170,7 +194,8 @@
170
194
  "configHash": { "type": "string" },
171
195
  "usedBy": {
172
196
  "type": "array",
173
- "items": { "type": "string" }
197
+ "items": { "type": "string" },
198
+ "description": "Kit instance names (installAs) that reference this instance"
174
199
  },
175
200
  "sourcePrimitive": { "type": "string" },
176
201
  "installedAt": { "type": "string", "format": "date-time" }
@@ -189,7 +214,8 @@
189
214
  "configHash": { "type": "string" },
190
215
  "usedBy": {
191
216
  "type": "array",
192
- "items": { "type": "string" }
217
+ "items": { "type": "string" },
218
+ "description": "Kit instance names (installAs) that reference this instance"
193
219
  },
194
220
  "sourcePrimitive": { "type": "string" },
195
221
  "installedAt": { "type": "string", "format": "date-time" }
@@ -0,0 +1,95 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft-07/schema#",
3
+ "$id": "https://hashicorp.com/schemas/kits-manifest.schema.json",
4
+ "title": "Kits Manifest",
5
+ "description": "Schema for the kits intent manifest (kits.json).",
6
+ "type": "object",
7
+ "required": ["schemaVersion", "scope", "sources"],
8
+ "properties": {
9
+ "schemaVersion": {
10
+ "type": "string",
11
+ "const": "1.0.0",
12
+ "description": "Manifest schema version"
13
+ },
14
+ "scope": {
15
+ "$ref": "#/definitions/installationScope",
16
+ "description": "Installation scope: global (user-level) or project (repository-level)"
17
+ },
18
+ "sources": {
19
+ "type": "array",
20
+ "items": {
21
+ "$ref": "#/definitions/manifestSource"
22
+ },
23
+ "description": "Kit sources and optional kit filters"
24
+ },
25
+ "harnesses": {
26
+ "type": "array",
27
+ "items": {
28
+ "$ref": "#/definitions/harnessName"
29
+ },
30
+ "description": "Optional harness filter"
31
+ },
32
+ "compatibility": {
33
+ "type": "string",
34
+ "enum": ["strict", "compatible-only"],
35
+ "description": "Compatibility behavior for incompatible kit/harness pairs"
36
+ },
37
+ "mcpInstanceOverrides": {
38
+ "type": "object",
39
+ "additionalProperties": {
40
+ "type": "object",
41
+ "additionalProperties": {
42
+ "type": "string"
43
+ }
44
+ },
45
+ "description": "Per-kit MCP instance name overrides"
46
+ }
47
+ },
48
+ "additionalProperties": false,
49
+ "definitions": {
50
+ "installationScope": {
51
+ "type": "string",
52
+ "enum": ["global", "project"]
53
+ },
54
+ "harnessName": {
55
+ "type": "string",
56
+ "enum": ["claude-code", "codex", "gemini-cli", "github-copilot", "opencode"]
57
+ },
58
+ "manifestSource": {
59
+ "type": "object",
60
+ "required": ["source"],
61
+ "properties": {
62
+ "source": {
63
+ "type": "string",
64
+ "description": "Source repository or local path"
65
+ },
66
+ "kits": {
67
+ "type": "array",
68
+ "items": {
69
+ "oneOf": [
70
+ { "type": "string" },
71
+ { "$ref": "#/definitions/manifestKit" }
72
+ ]
73
+ },
74
+ "description": "Optional list of kits to install from this source"
75
+ }
76
+ },
77
+ "additionalProperties": false
78
+ },
79
+ "manifestKit": {
80
+ "type": "object",
81
+ "required": ["name"],
82
+ "properties": {
83
+ "name": {
84
+ "type": "string",
85
+ "description": "Canonical kit name"
86
+ },
87
+ "installAs": {
88
+ "type": "string",
89
+ "description": "Optional kit instance name (alias) for installation"
90
+ }
91
+ },
92
+ "additionalProperties": false
93
+ }
94
+ }
95
+ }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft-07/schema#",
3
- "$id": "https://hashicorp.com/schemas/kits.schema.json",
4
- "title": "Kit Registry",
5
- "description": "Schema for kits.json - the kit registry file at the repository root",
3
+ "$id": "https://hashicorp.com/schemas/kits-registry.schema.json",
4
+ "title": "Kits Registry",
5
+ "description": "Schema for kits-registry.json - the kits registry file at the repository root",
6
6
  "type": "object",
7
7
  "required": ["schemaVersion", "name", "kits"],
8
8
  "properties": {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft-07/schema#",
3
- "$id": "https://hashicorp.com/schemas/primitives.schema.json",
3
+ "$id": "https://hashicorp.com/schemas/primitives-registry.schema.json",
4
4
  "title": "Primitives Registry",
5
- "description": "Schema for primitives.json - the shared primitives registry at the repository root",
5
+ "description": "Schema for primitives-registry.json - the shared primitives registry at the repository root",
6
6
  "type": "object",
7
7
  "required": ["schemaVersion", "primitives"],
8
8
  "properties": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrade-check.d.ts","sourceRoot":"","sources":["../../src/manifest/upgrade-check.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAiB,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGrF;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC,CAMzB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE,wBAAwB,GACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAsCzB;AA0ED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,cAAc,CAiB7E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EAAE,GACvB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAW7B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,YAAY,EAAE,GACvB,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,CAUlC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAG3D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrade-check.js","sourceRoot":"","sources":["../../src/manifest/upgrade-check.ts"],"names":[],"mappings":"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"}