@nimblebrain/mpak 0.0.2 → 0.2.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 (151) hide show
  1. package/LICENSE +10 -198
  2. package/README.md +50 -360
  3. package/dist/index.d.ts +0 -2
  4. package/dist/index.js +2113 -4
  5. package/dist/index.js.map +1 -1
  6. package/package.json +32 -29
  7. package/.claude/settings.local.json +0 -19
  8. package/.env.example +0 -13
  9. package/.github/workflows/ci.yml +0 -27
  10. package/CLAUDE.md +0 -271
  11. package/dist/commands/config.d.ts +0 -31
  12. package/dist/commands/config.d.ts.map +0 -1
  13. package/dist/commands/config.js +0 -129
  14. package/dist/commands/config.js.map +0 -1
  15. package/dist/commands/packages/pull.d.ts +0 -11
  16. package/dist/commands/packages/pull.d.ts.map +0 -1
  17. package/dist/commands/packages/pull.js +0 -72
  18. package/dist/commands/packages/pull.js.map +0 -1
  19. package/dist/commands/packages/run.d.ts +0 -36
  20. package/dist/commands/packages/run.d.ts.map +0 -1
  21. package/dist/commands/packages/run.js +0 -348
  22. package/dist/commands/packages/run.js.map +0 -1
  23. package/dist/commands/packages/search.d.ts +0 -12
  24. package/dist/commands/packages/search.d.ts.map +0 -1
  25. package/dist/commands/packages/search.js +0 -63
  26. package/dist/commands/packages/search.js.map +0 -1
  27. package/dist/commands/packages/show.d.ts +0 -8
  28. package/dist/commands/packages/show.d.ts.map +0 -1
  29. package/dist/commands/packages/show.js +0 -109
  30. package/dist/commands/packages/show.js.map +0 -1
  31. package/dist/commands/search.d.ts +0 -12
  32. package/dist/commands/search.d.ts.map +0 -1
  33. package/dist/commands/search.js +0 -144
  34. package/dist/commands/search.js.map +0 -1
  35. package/dist/commands/skills/index.d.ts +0 -8
  36. package/dist/commands/skills/index.d.ts.map +0 -1
  37. package/dist/commands/skills/index.js +0 -8
  38. package/dist/commands/skills/index.js.map +0 -1
  39. package/dist/commands/skills/install.d.ts +0 -9
  40. package/dist/commands/skills/install.d.ts.map +0 -1
  41. package/dist/commands/skills/install.js +0 -110
  42. package/dist/commands/skills/install.js.map +0 -1
  43. package/dist/commands/skills/list.d.ts +0 -8
  44. package/dist/commands/skills/list.d.ts.map +0 -1
  45. package/dist/commands/skills/list.js +0 -89
  46. package/dist/commands/skills/list.js.map +0 -1
  47. package/dist/commands/skills/pack.d.ts +0 -22
  48. package/dist/commands/skills/pack.d.ts.map +0 -1
  49. package/dist/commands/skills/pack.js +0 -116
  50. package/dist/commands/skills/pack.js.map +0 -1
  51. package/dist/commands/skills/pull.d.ts +0 -9
  52. package/dist/commands/skills/pull.d.ts.map +0 -1
  53. package/dist/commands/skills/pull.js +0 -68
  54. package/dist/commands/skills/pull.js.map +0 -1
  55. package/dist/commands/skills/search.d.ts +0 -14
  56. package/dist/commands/skills/search.d.ts.map +0 -1
  57. package/dist/commands/skills/search.js +0 -53
  58. package/dist/commands/skills/search.js.map +0 -1
  59. package/dist/commands/skills/show.d.ts +0 -8
  60. package/dist/commands/skills/show.d.ts.map +0 -1
  61. package/dist/commands/skills/show.js +0 -64
  62. package/dist/commands/skills/show.js.map +0 -1
  63. package/dist/commands/skills/validate.d.ts +0 -25
  64. package/dist/commands/skills/validate.d.ts.map +0 -1
  65. package/dist/commands/skills/validate.js +0 -191
  66. package/dist/commands/skills/validate.js.map +0 -1
  67. package/dist/index.d.ts.map +0 -1
  68. package/dist/lib/api/registry-client.d.ts +0 -63
  69. package/dist/lib/api/registry-client.d.ts.map +0 -1
  70. package/dist/lib/api/registry-client.js +0 -167
  71. package/dist/lib/api/registry-client.js.map +0 -1
  72. package/dist/lib/api/skills-client.d.ts +0 -30
  73. package/dist/lib/api/skills-client.d.ts.map +0 -1
  74. package/dist/lib/api/skills-client.js +0 -110
  75. package/dist/lib/api/skills-client.js.map +0 -1
  76. package/dist/program.d.ts +0 -12
  77. package/dist/program.d.ts.map +0 -1
  78. package/dist/program.js +0 -174
  79. package/dist/program.js.map +0 -1
  80. package/dist/schemas/generated/api-responses.d.ts +0 -541
  81. package/dist/schemas/generated/api-responses.d.ts.map +0 -1
  82. package/dist/schemas/generated/api-responses.js +0 -313
  83. package/dist/schemas/generated/api-responses.js.map +0 -1
  84. package/dist/schemas/generated/auth.d.ts +0 -18
  85. package/dist/schemas/generated/auth.d.ts.map +0 -1
  86. package/dist/schemas/generated/auth.js +0 -18
  87. package/dist/schemas/generated/auth.js.map +0 -1
  88. package/dist/schemas/generated/index.d.ts +0 -5
  89. package/dist/schemas/generated/index.d.ts.map +0 -1
  90. package/dist/schemas/generated/index.js +0 -6
  91. package/dist/schemas/generated/index.js.map +0 -1
  92. package/dist/schemas/generated/package.d.ts +0 -43
  93. package/dist/schemas/generated/package.d.ts.map +0 -1
  94. package/dist/schemas/generated/package.js +0 -20
  95. package/dist/schemas/generated/package.js.map +0 -1
  96. package/dist/schemas/generated/skill.d.ts +0 -381
  97. package/dist/schemas/generated/skill.d.ts.map +0 -1
  98. package/dist/schemas/generated/skill.js +0 -216
  99. package/dist/schemas/generated/skill.js.map +0 -1
  100. package/dist/utils/config-manager.d.ts +0 -66
  101. package/dist/utils/config-manager.d.ts.map +0 -1
  102. package/dist/utils/config-manager.js +0 -193
  103. package/dist/utils/config-manager.js.map +0 -1
  104. package/dist/utils/errors.d.ts +0 -12
  105. package/dist/utils/errors.d.ts.map +0 -1
  106. package/dist/utils/errors.js +0 -27
  107. package/dist/utils/errors.js.map +0 -1
  108. package/dist/utils/version.d.ts +0 -5
  109. package/dist/utils/version.d.ts.map +0 -1
  110. package/dist/utils/version.js +0 -19
  111. package/dist/utils/version.js.map +0 -1
  112. package/eslint.config.js +0 -63
  113. package/src/commands/config.ts +0 -162
  114. package/src/commands/packages/pull.ts +0 -96
  115. package/src/commands/packages/run.test.ts +0 -222
  116. package/src/commands/packages/run.ts +0 -451
  117. package/src/commands/packages/search.ts +0 -83
  118. package/src/commands/packages/show.ts +0 -128
  119. package/src/commands/search.ts +0 -191
  120. package/src/commands/skills/index.ts +0 -7
  121. package/src/commands/skills/install.ts +0 -129
  122. package/src/commands/skills/list.ts +0 -116
  123. package/src/commands/skills/pack.test.ts +0 -260
  124. package/src/commands/skills/pack.ts +0 -145
  125. package/src/commands/skills/pull.ts +0 -88
  126. package/src/commands/skills/search.ts +0 -73
  127. package/src/commands/skills/show.ts +0 -72
  128. package/src/commands/skills/validate.test.ts +0 -466
  129. package/src/commands/skills/validate.ts +0 -227
  130. package/src/index.ts +0 -11
  131. package/src/lib/api/registry-client.ts +0 -223
  132. package/src/lib/api/schema.d.ts +0 -520
  133. package/src/lib/api/skills-client.ts +0 -148
  134. package/src/program.test.ts +0 -22
  135. package/src/program.ts +0 -212
  136. package/src/schemas/config.v1.schema.json +0 -37
  137. package/src/schemas/generated/api-responses.ts +0 -386
  138. package/src/schemas/generated/auth.ts +0 -21
  139. package/src/schemas/generated/index.ts +0 -5
  140. package/src/schemas/generated/package.ts +0 -29
  141. package/src/schemas/generated/skill.ts +0 -271
  142. package/src/utils/config-manager.test.ts +0 -330
  143. package/src/utils/config-manager.ts +0 -272
  144. package/src/utils/errors.test.ts +0 -25
  145. package/src/utils/errors.ts +0 -33
  146. package/src/utils/version.test.ts +0 -16
  147. package/src/utils/version.ts +0 -18
  148. package/test/integration/registry-client.test.ts +0 -180
  149. package/tsconfig.check.json +0 -9
  150. package/tsconfig.json +0 -25
  151. package/vitest.config.ts +0 -14
package/CLAUDE.md DELETED
@@ -1,271 +0,0 @@
1
- # mpak CLI
2
-
3
- CLI for MCP bundles and Agent Skills.
4
-
5
- ## Architecture
6
-
7
- This is a standalone CLI that uses only the public v1 API. It has no dependencies on the server or client packages and generates its TypeScript types from the server's OpenAPI spec.
8
-
9
- ### Key Files
10
-
11
- | File | Purpose |
12
- |------|---------|
13
- | `src/program.ts` | Commander program setup with all commands |
14
- | `src/lib/api/registry-client.ts` | API client for bundle endpoints |
15
- | `src/lib/api/skills-client.ts` | API client for skill endpoints |
16
- | `src/lib/api/schema.d.ts` | Generated types from OpenAPI spec |
17
- | `src/commands/packages/*.ts` | Bundle commands (search, show, pull, run) |
18
- | `src/commands/skills/*.ts` | Skill commands (validate, pack, search, show, pull, install, list) |
19
- | `src/commands/config.ts` | Config commands (set, get, list, clear) |
20
- | `src/schemas/generated/skill.ts` | Skill validation schemas (Zod) |
21
- | `src/utils/config-manager.ts` | Config file handling (~/.mpak/config.json) |
22
-
23
- ### Command Structure
24
-
25
- ```
26
- mpak search <query> # Unified search (bundles + skills)
27
- mpak bundle <command> # MCP bundle operations
28
- mpak skill <command> # Agent skill operations
29
- mpak config <command> # Configuration management
30
- ```
31
-
32
- ### Type Generation
33
-
34
- Types are generated from the server's OpenAPI spec using `openapi-typescript`:
35
-
36
- ```bash
37
- # Requires server running locally on port 3200
38
- npm run generate:types
39
- ```
40
-
41
- This generates `src/lib/api/schema.d.ts` from `http://localhost:3200/documentation/json`.
42
-
43
- The `registry-client.ts` uses helper types to extract response types:
44
-
45
- ```typescript
46
- import type { paths } from './schema.js';
47
-
48
- type ResponseOf<T> = T extends { responses: { 200: { content: { 'application/json': infer R } } } } ? R : never;
49
-
50
- export type BundleSearchResponse = ResponseOf<paths['/v1/bundles/search']['get']>;
51
- export type Bundle = BundleSearchResponse['bundles'][number];
52
- ```
53
-
54
- ## v1 API Endpoints
55
-
56
- ### Bundle Endpoints
57
-
58
- | Endpoint | Description |
59
- |----------|-------------|
60
- | `GET /v1/bundles/search` | Search bundles by query, type, sort |
61
- | `GET /v1/bundles/@{scope}/{package}` | Get bundle details (metadata, readme) |
62
- | `GET /v1/bundles/@{scope}/{package}/versions` | List versions with platform availability |
63
- | `GET /v1/bundles/@{scope}/{package}/versions/{version}/download` | Get download URL for specific version/platform |
64
-
65
- ### Skill Endpoints
66
-
67
- | Endpoint | Description |
68
- |----------|-------------|
69
- | `GET /v1/skills/search` | Search skills by query, tags, category |
70
- | `GET /v1/skills/@{scope}/{name}` | Get skill details |
71
- | `GET /v1/skills/@{scope}/{name}/download` | Get download URL for latest version |
72
- | `GET /v1/skills/@{scope}/{name}/versions/{version}/download` | Get download URL for specific version |
73
- | `POST /v1/skills/announce` | Announce skill version (OIDC auth) |
74
-
75
- ### Platform Selection (Bundles)
76
-
77
- Download endpoints accept `os` and `arch` query parameters:
78
- - `os`: darwin, linux, win32, any
79
- - `arch`: x64, arm64, any
80
-
81
- The server returns the best matching artifact using this priority:
82
- 1. Exact match (requested os + arch)
83
- 2. OS match with `any` arch
84
- 3. `any` OS with exact arch
85
- 4. Universal (`any` + `any`)
86
-
87
- ## Local Development
88
-
89
- ### Setup
90
-
91
- ```bash
92
- npm install
93
- npm run build
94
- ```
95
-
96
- ### Testing with Local Server
97
-
98
- The CLI defaults to `https://api.mpak.dev`. For local development:
99
-
100
- ```bash
101
- # Start the server (from ../mpak/server)
102
- cd ../mpak/server && npm run dev
103
-
104
- # Run CLI commands with local registry
105
- MPAK_REGISTRY_URL=http://localhost:3200 npm run dev -- bundle search echo
106
- MPAK_REGISTRY_URL=http://localhost:3200 node dist/index.js skill search strategy
107
- ```
108
-
109
- ### Verification
110
-
111
- ```bash
112
- npm run build
113
- npm run typecheck
114
- npm run test:all
115
- ```
116
-
117
- ### Publishing
118
-
119
- Prereleases (beta):
120
- ```bash
121
- npm version 0.0.1-beta.X
122
- npm run build
123
- npm publish --tag beta --otp=<code>
124
- git push && git push --tags
125
- ```
126
-
127
- Stable releases:
128
- ```bash
129
- npm version X.X.X
130
- npm run build
131
- npm publish --otp=<code>
132
- git push && git push --tags
133
- ```
134
-
135
- ## Commands
136
-
137
- ### Unified Search
138
-
139
- | Command | Description |
140
- |---------|-------------|
141
- | `mpak search <query>` | Search bundles and skills |
142
- | `mpak search <query> --type bundle` | Search bundles only |
143
- | `mpak search <query> --type skill` | Search skills only |
144
-
145
- ### Bundle Commands
146
-
147
- | Command | Description |
148
- |---------|-------------|
149
- | `mpak bundle search <query>` | Search public bundles |
150
- | `mpak bundle show <package>` | Show bundle details with platforms |
151
- | `mpak bundle pull <package>` | Download a bundle |
152
- | `mpak bundle run <package>` | Run an MCP server (pulls, caches, executes) |
153
-
154
- ### Skill Commands
155
-
156
- | Command | Description |
157
- |---------|-------------|
158
- | `mpak skill validate <path>` | Validate skill directory against Agent Skills spec |
159
- | `mpak skill pack <path>` | Create a .skill bundle |
160
- | `mpak skill search <query>` | Search skills in registry |
161
- | `mpak skill show <name>` | Show skill details |
162
- | `mpak skill pull <name>` | Download a .skill bundle |
163
- | `mpak skill install <name>` | Install to ~/.claude/skills/ |
164
- | `mpak skill list` | List installed skills |
165
-
166
- ### Config Commands
167
-
168
- | Command | Description |
169
- |---------|-------------|
170
- | `mpak config set <pkg> <k=v...>` | Store config values for a package |
171
- | `mpak config get <pkg>` | Show stored config (values masked) |
172
- | `mpak config list` | List packages with stored config |
173
- | `mpak config clear <pkg> [key]` | Clear stored config |
174
-
175
- ## User Config (MCPB v0.3)
176
-
177
- Packages can declare `user_config` in their manifest for values like API keys:
178
-
179
- ```json
180
- {
181
- "user_config": {
182
- "api_key": {
183
- "type": "string",
184
- "title": "API Token",
185
- "sensitive": true,
186
- "required": false
187
- }
188
- },
189
- "server": {
190
- "mcp_config": {
191
- "env": {
192
- "API_TOKEN": "${user_config.api_key}"
193
- }
194
- }
195
- }
196
- }
197
- ```
198
-
199
- When `mpak bundle run` executes, it substitutes `${user_config.*}` placeholders with actual values.
200
-
201
- ### Two Ways to Provide Config
202
-
203
- #### Option 1: mpak config (recommended for CLI use)
204
-
205
- Use `mpak config set` with keys matching the manifest's `user_config` field names (not the env var names):
206
-
207
- ```bash
208
- # Key is "api_key" (from manifest.user_config.api_key), NOT "IPINFO_API_TOKEN"
209
- mpak config set @nimblebraininc/ipinfo api_key=your_token
210
-
211
- # Run uses stored config automatically
212
- mpak bundle run @nimblebraininc/ipinfo
213
-
214
- # View stored config (values masked)
215
- mpak config get @nimblebraininc/ipinfo
216
- ```
217
-
218
- #### Option 2: Claude Desktop config (recommended for Claude Desktop)
219
-
220
- Set the actual environment variable directly in your Claude Desktop config:
221
-
222
- ```json
223
- {
224
- "mcpServers": {
225
- "ipinfo": {
226
- "command": "mpak",
227
- "args": ["bundle", "run", "@nimblebraininc/ipinfo"],
228
- "env": {
229
- "IPINFO_API_TOKEN": "your_token"
230
- }
231
- }
232
- }
233
- }
234
- ```
235
-
236
- This bypasses user_config substitution entirely since the env var is already set.
237
-
238
- ### Value Resolution Priority
239
-
240
- 1. **Process environment** (highest): Env vars set by parent (e.g., Claude Desktop config)
241
- 2. **Stored config**: `~/.mpak/config.json` (set via `mpak config set`)
242
- 3. **Default value**: From manifest's `user_config.*.default`
243
- 4. **Interactive prompt**: If TTY and value is required
244
-
245
- Claude Desktop env vars always take priority over `mpak config` values.
246
-
247
- ### Important: Config Key Names
248
-
249
- The `mpak config set` key must match the `user_config` field name in the manifest:
250
-
251
- ```
252
- manifest.user_config.api_key → mpak config set ... api_key=xxx → env IPINFO_API_TOKEN
253
- ^^^^^^^ ^^^^^^^
254
- Field name = config key (NOT the env var name)
255
- ```
256
-
257
- ## Design Decisions
258
-
259
- 1. **Standalone**: No shared dependencies with server/client. Types generated from OpenAPI.
260
- 2. **Public API only**: Uses v1 API. Publishing requires OIDC via GitHub Actions.
261
- 3. **Platform detection**: Auto-detects OS/arch, allows explicit override for cross-platform downloads.
262
- 4. **Config file**: Stores registry URL in `~/.mpak/config.json`, overridable via `MPAK_REGISTRY_URL`.
263
- 5. **Skill schemas**: Uses Zod schemas in `src/schemas/generated/skill.ts` for validation.
264
-
265
- ## Gotchas
266
-
267
- - **No dotenv**: Removed due to v17 banner output breaking Claude Desktop MCP integration
268
- - **Type generation**: Requires server running locally (`npm run generate:types` hits localhost:3200)
269
- - **Schema changes**: May introduce breaking type changes; always run full verification after regenerating
270
- - **Env merge order**: Use `{ ...substitutedEnv, ...process.env }` so parent env vars (Claude Desktop) take priority over manifest substitutions
271
- - **Skill endpoints**: Currently implemented in server code but may not be deployed to production yet
@@ -1,31 +0,0 @@
1
- export interface ConfigSetOptions {
2
- }
3
- export interface ConfigGetOptions {
4
- json?: boolean;
5
- }
6
- export interface ConfigClearOptions {
7
- }
8
- /**
9
- * Set config value(s) for a package
10
- * @example mpak config set @scope/name api_key=xxx
11
- * @example mpak config set @scope/name api_key=xxx other_key=yyy
12
- */
13
- export declare function handleConfigSet(packageName: string, keyValuePairs: string[], _options?: ConfigSetOptions): Promise<void>;
14
- /**
15
- * Get config values for a package
16
- * @example mpak config get @scope/name
17
- * @example mpak config get @scope/name --json
18
- */
19
- export declare function handleConfigGet(packageName: string, options?: ConfigGetOptions): Promise<void>;
20
- /**
21
- * List all packages with stored config
22
- * @example mpak config list
23
- */
24
- export declare function handleConfigList(options?: ConfigGetOptions): Promise<void>;
25
- /**
26
- * Clear config for a package
27
- * @example mpak config clear @scope/name # clears all
28
- * @example mpak config clear @scope/name api_key # clears specific key
29
- */
30
- export declare function handleConfigClear(packageName: string, key?: string, _options?: ConfigClearOptions): Promise<void>;
31
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;CAEhC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;CAElC;AAYD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,GAAE,gBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,MAAM,EACZ,QAAQ,GAAE,kBAAuB,GAChC,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -1,129 +0,0 @@
1
- import { ConfigManager } from '../utils/config-manager.js';
2
- /**
3
- * Mask sensitive values for display (show first 4 chars, rest as *)
4
- */
5
- function maskValue(value) {
6
- if (value.length <= 4) {
7
- return '*'.repeat(value.length);
8
- }
9
- return value.substring(0, 4) + '*'.repeat(value.length - 4);
10
- }
11
- /**
12
- * Set config value(s) for a package
13
- * @example mpak config set @scope/name api_key=xxx
14
- * @example mpak config set @scope/name api_key=xxx other_key=yyy
15
- */
16
- export async function handleConfigSet(packageName, keyValuePairs, _options = {}) {
17
- if (keyValuePairs.length === 0) {
18
- process.stderr.write('Error: At least one key=value pair is required\n');
19
- process.stderr.write('Usage: mpak config set <package> <key>=<value> [<key>=<value>...]\n');
20
- process.exit(1);
21
- }
22
- const configManager = new ConfigManager();
23
- let setCount = 0;
24
- for (const pair of keyValuePairs) {
25
- const eqIndex = pair.indexOf('=');
26
- if (eqIndex === -1) {
27
- process.stderr.write(`Error: Invalid format "${pair}". Expected key=value\n`);
28
- process.exit(1);
29
- }
30
- const key = pair.substring(0, eqIndex);
31
- const value = pair.substring(eqIndex + 1);
32
- if (!key) {
33
- process.stderr.write(`Error: Empty key in "${pair}"\n`);
34
- process.exit(1);
35
- }
36
- configManager.setPackageConfigValue(packageName, key, value);
37
- setCount++;
38
- }
39
- console.log(`Set ${setCount} config value(s) for ${packageName}`);
40
- }
41
- /**
42
- * Get config values for a package
43
- * @example mpak config get @scope/name
44
- * @example mpak config get @scope/name --json
45
- */
46
- export async function handleConfigGet(packageName, options = {}) {
47
- const configManager = new ConfigManager();
48
- const config = configManager.getPackageConfig(packageName);
49
- if (!config || Object.keys(config).length === 0) {
50
- if (options.json) {
51
- console.log(JSON.stringify({}, null, 2));
52
- }
53
- else {
54
- console.log(`No config stored for ${packageName}`);
55
- }
56
- return;
57
- }
58
- if (options.json) {
59
- // Mask values in JSON output too
60
- const masked = {};
61
- for (const [key, value] of Object.entries(config)) {
62
- masked[key] = maskValue(value);
63
- }
64
- console.log(JSON.stringify(masked, null, 2));
65
- }
66
- else {
67
- console.log(`Config for ${packageName}:`);
68
- for (const [key, value] of Object.entries(config)) {
69
- console.log(` ${key}: ${maskValue(value)}`);
70
- }
71
- }
72
- }
73
- /**
74
- * List all packages with stored config
75
- * @example mpak config list
76
- */
77
- export async function handleConfigList(options = {}) {
78
- const configManager = new ConfigManager();
79
- const packages = configManager.listPackagesWithConfig();
80
- if (packages.length === 0) {
81
- if (options.json) {
82
- console.log(JSON.stringify([], null, 2));
83
- }
84
- else {
85
- console.log('No packages have stored config');
86
- }
87
- return;
88
- }
89
- if (options.json) {
90
- console.log(JSON.stringify(packages, null, 2));
91
- }
92
- else {
93
- console.log('Packages with stored config:');
94
- for (const pkg of packages) {
95
- const config = configManager.getPackageConfig(pkg);
96
- const keyCount = config ? Object.keys(config).length : 0;
97
- console.log(` ${pkg} (${keyCount} value${keyCount === 1 ? '' : 's'})`);
98
- }
99
- }
100
- }
101
- /**
102
- * Clear config for a package
103
- * @example mpak config clear @scope/name # clears all
104
- * @example mpak config clear @scope/name api_key # clears specific key
105
- */
106
- export async function handleConfigClear(packageName, key, _options = {}) {
107
- const configManager = new ConfigManager();
108
- if (key) {
109
- // Clear specific key
110
- const cleared = configManager.clearPackageConfigValue(packageName, key);
111
- if (cleared) {
112
- console.log(`Cleared ${key} for ${packageName}`);
113
- }
114
- else {
115
- console.log(`No value found for ${key} in ${packageName}`);
116
- }
117
- }
118
- else {
119
- // Clear all config for package
120
- const cleared = configManager.clearPackageConfig(packageName);
121
- if (cleared) {
122
- console.log(`Cleared all config for ${packageName}`);
123
- }
124
- else {
125
- console.log(`No config found for ${packageName}`);
126
- }
127
- }
128
- }
129
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- export interface PullOptions {
2
- output?: string;
3
- json?: boolean;
4
- os?: string;
5
- arch?: string;
6
- }
7
- /**
8
- * Pull (download) a package from the registry
9
- */
10
- export declare function handlePull(packageSpec: string, options?: PullOptions): Promise<void>;
11
- //# sourceMappingURL=pull.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/packages/pull.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA8BD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAmDf"}
@@ -1,72 +0,0 @@
1
- import { resolve } from 'path';
2
- import { RegistryClient } from '../../lib/api/registry-client.js';
3
- /**
4
- * Parse package specification into name and version
5
- * Examples:
6
- * @scope/name -> { name: '@scope/name', version: undefined }
7
- * @scope/name@1.0.0 -> { name: '@scope/name', version: '1.0.0' }
8
- */
9
- function parsePackageSpec(spec) {
10
- // Find the last @ which separates version from package name
11
- // Package names start with @, so we need to find the second @
12
- const lastAtIndex = spec.lastIndexOf('@');
13
- if (lastAtIndex <= 0) {
14
- // No version specified or invalid format
15
- return { name: spec };
16
- }
17
- const name = spec.substring(0, lastAtIndex);
18
- const version = spec.substring(lastAtIndex + 1);
19
- // Validate that the name still starts with @
20
- if (!name.startsWith('@')) {
21
- // This means the @ was part of the package name, not a version separator
22
- return { name: spec };
23
- }
24
- return { name, version };
25
- }
26
- /**
27
- * Pull (download) a package from the registry
28
- */
29
- export async function handlePull(packageSpec, options = {}) {
30
- try {
31
- const { name, version } = parsePackageSpec(packageSpec);
32
- const client = new RegistryClient();
33
- // Detect platform (or use explicit overrides)
34
- const detectedPlatform = RegistryClient.detectPlatform();
35
- const platform = {
36
- os: options.os || detectedPlatform.os,
37
- arch: options.arch || detectedPlatform.arch,
38
- };
39
- console.log(`=> Fetching ${version ? `${name}@${version}` : `${name} (latest)`}...`);
40
- console.log(` Platform: ${platform.os}-${platform.arch}`);
41
- // Get download info with platform
42
- const downloadInfo = await client.getDownloadInfo(name, version, platform);
43
- if (options.json) {
44
- console.log(JSON.stringify(downloadInfo, null, 2));
45
- return;
46
- }
47
- const bundle = downloadInfo.bundle;
48
- console.log(` Version: ${bundle.version}`);
49
- console.log(` Artifact: ${bundle.platform.os}-${bundle.platform.arch}`);
50
- console.log(` Size: ${(bundle.size / (1024 * 1024)).toFixed(2)} MB`);
51
- // Determine output filename (include platform in name)
52
- const platformSuffix = `${bundle.platform.os}-${bundle.platform.arch}`;
53
- const defaultFilename = `${name.replace('@', '').replace('/', '-')}-${bundle.version}-${platformSuffix}.mcpb`;
54
- const outputPath = options.output
55
- ? resolve(options.output)
56
- : resolve(defaultFilename);
57
- console.log(`\n=> Downloading to ${outputPath}...`);
58
- // Download the bundle
59
- await client.downloadBundle(downloadInfo.url, outputPath);
60
- console.log(`\n=> Bundle downloaded successfully!`);
61
- console.log(` File: ${outputPath}`);
62
- console.log(` SHA256: ${bundle.sha256.substring(0, 16)}...`);
63
- }
64
- catch (error) {
65
- console.error('\n=> Failed to pull bundle');
66
- if (error instanceof Error) {
67
- console.error(` ${error.message}`);
68
- }
69
- process.exit(1);
70
- }
71
- }
72
- //# sourceMappingURL=pull.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/packages/pull.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- export interface RunOptions {
2
- update?: boolean;
3
- }
4
- /**
5
- * Parse package specification into name and version
6
- * @example parsePackageSpec('@scope/name') => { name: '@scope/name' }
7
- * @example parsePackageSpec('@scope/name@1.0.0') => { name: '@scope/name', version: '1.0.0' }
8
- */
9
- export declare function parsePackageSpec(spec: string): {
10
- name: string;
11
- version?: string;
12
- };
13
- /**
14
- * Get cache directory for a package
15
- * @example getCacheDir('@scope/name') => '~/.mpak/cache/scope-name'
16
- */
17
- export declare function getCacheDir(packageName: string): string;
18
- /**
19
- * Resolve placeholders in args (e.g., ${__dirname})
20
- * @example resolveArgs(['${__dirname}/index.js'], '/cache') => ['/cache/index.js']
21
- */
22
- export declare function resolveArgs(args: string[], cacheDir: string): string[];
23
- /**
24
- * Substitute ${user_config.*} placeholders in a string
25
- * @example substituteUserConfig('${user_config.api_key}', { api_key: 'secret' }) => 'secret'
26
- */
27
- export declare function substituteUserConfig(value: string, userConfigValues: Record<string, string>): string;
28
- /**
29
- * Substitute ${user_config.*} placeholders in env vars
30
- */
31
- export declare function substituteEnvVars(env: Record<string, string> | undefined, userConfigValues: Record<string, string>): Record<string, string>;
32
- /**
33
- * Run a package from the registry
34
- */
35
- export declare function handleRun(packageSpec: string, options?: RunOptions): Promise<void>;
36
- //# sourceMappingURL=run.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/packages/run.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAuCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAejF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAKvD;AAqDD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAItE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACvC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AA+HD;;GAEG;AACH,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAoJf"}