@prompd/cli 0.5.0-beta.1 → 0.5.0-beta.2

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 (52) hide show
  1. package/dist/commands/compile.d.ts.map +1 -1
  2. package/dist/commands/compile.js +8 -1
  3. package/dist/commands/compile.js.map +1 -1
  4. package/dist/commands/package.d.ts.map +1 -1
  5. package/dist/commands/package.js +177 -4
  6. package/dist/commands/package.js.map +1 -1
  7. package/dist/commands/registry.d.ts.map +1 -1
  8. package/dist/commands/registry.js +58 -4
  9. package/dist/commands/registry.js.map +1 -1
  10. package/dist/commands/uninstall.d.ts.map +1 -1
  11. package/dist/commands/uninstall.js +52 -18
  12. package/dist/commands/uninstall.js.map +1 -1
  13. package/dist/lib/compiler/file-system.d.ts.map +1 -1
  14. package/dist/lib/compiler/file-system.js +10 -0
  15. package/dist/lib/compiler/file-system.js.map +1 -1
  16. package/dist/lib/compiler/index.d.ts +1 -0
  17. package/dist/lib/compiler/index.d.ts.map +1 -1
  18. package/dist/lib/compiler/index.js +9 -1
  19. package/dist/lib/compiler/index.js.map +1 -1
  20. package/dist/lib/compiler/package-resolver.d.ts +24 -3
  21. package/dist/lib/compiler/package-resolver.d.ts.map +1 -1
  22. package/dist/lib/compiler/package-resolver.js +112 -27
  23. package/dist/lib/compiler/package-resolver.js.map +1 -1
  24. package/dist/lib/compiler/stages/semantic.d.ts +7 -0
  25. package/dist/lib/compiler/stages/semantic.d.ts.map +1 -1
  26. package/dist/lib/compiler/stages/semantic.js +78 -2
  27. package/dist/lib/compiler/stages/semantic.js.map +1 -1
  28. package/dist/lib/compiler/stages/template.d.ts.map +1 -1
  29. package/dist/lib/compiler/stages/template.js +24 -12
  30. package/dist/lib/compiler/stages/template.js.map +1 -1
  31. package/dist/lib/config.d.ts.map +1 -1
  32. package/dist/lib/config.js +14 -2
  33. package/dist/lib/config.js.map +1 -1
  34. package/dist/lib/providers/types.d.ts +4 -0
  35. package/dist/lib/providers/types.d.ts.map +1 -1
  36. package/dist/lib/providers/types.js.map +1 -1
  37. package/dist/lib/registry.d.ts +42 -3
  38. package/dist/lib/registry.d.ts.map +1 -1
  39. package/dist/lib/registry.js +448 -84
  40. package/dist/lib/registry.js.map +1 -1
  41. package/dist/lib/validation.d.ts.map +1 -1
  42. package/dist/lib/validation.js +10 -2
  43. package/dist/lib/validation.js.map +1 -1
  44. package/dist/lib/workflowExecutor.d.ts +2 -0
  45. package/dist/lib/workflowExecutor.d.ts.map +1 -1
  46. package/dist/lib/workflowExecutor.js +11 -3
  47. package/dist/lib/workflowExecutor.js.map +1 -1
  48. package/dist/types/index.d.ts +48 -1
  49. package/dist/types/index.d.ts.map +1 -1
  50. package/dist/types/index.js +54 -1
  51. package/dist/types/index.js.map +1 -1
  52. package/package.json +4 -1
@@ -16,9 +16,55 @@ export declare function needsFrontmatterProtection(filePath: string): boolean;
16
16
  * Get the content type for a file extension.
17
17
  */
18
18
  export declare function getContentType(filePath: string): string;
19
+ /**
20
+ * Package types supported by the prompd ecosystem.
21
+ * Defined in prompd.json under the "type" field.
22
+ */
23
+ export type PackageType = 'package' | 'workflow' | 'skill' | 'node-template';
24
+ /**
25
+ * Maps each PackageType to its install directory name.
26
+ * e.g., .prompd/packages/, .prompd/workflows/, .prompd/skills/, .prompd/templates/
27
+ */
28
+ export declare const PACKAGE_TYPE_DIRS: Record<PackageType, string>;
29
+ /**
30
+ * All valid package type strings, for validation.
31
+ */
32
+ export declare const VALID_PACKAGE_TYPES: readonly string[];
33
+ /**
34
+ * Maps tool names to their native skill deployment directories.
35
+ * Used by `prompd install --tools <tool>` to deploy skills into tool-native locations.
36
+ */
37
+ export declare const TOOL_DEPLOY_DIRS: Record<string, string>;
38
+ /**
39
+ * Check if a string is a valid PackageType.
40
+ */
41
+ export declare function isValidPackageType(type: string): type is PackageType;
42
+ /**
43
+ * Get the install directory name for a given package type.
44
+ * Defaults to 'packages' for unknown types.
45
+ */
46
+ export declare function getInstallDirForType(type: string): string;
47
+ /**
48
+ * Resolve a tool deploy directory to an absolute path.
49
+ * Expands ~ to the user's home directory.
50
+ * Validates toolName against strict regex to prevent path injection.
51
+ */
52
+ export declare function resolveToolDeployDir(toolName: string): string | undefined;
19
53
  export interface PrompdParameter {
20
54
  name: string;
21
- type: 'string' | 'number' | 'boolean' | 'array' | 'object';
55
+ /**
56
+ * string — plain text
57
+ * number — integer or float
58
+ * integer — whole number only
59
+ * float — decimal number
60
+ * boolean — true / false
61
+ * array — JSON array (untyped elements)
62
+ * object — plain key-value object (non-array)
63
+ * json — any JSON value: objects, arrays of objects, nested structures, etc.
64
+ * file — file path; caller supplies file content as a string
65
+ * base64 — base64-encoded binary data (images, blobs, streams)
66
+ */
67
+ type: 'string' | 'number' | 'integer' | 'float' | 'boolean' | 'array' | 'object' | 'json' | 'file' | 'base64';
22
68
  description?: string;
23
69
  required?: boolean;
24
70
  default?: any;
@@ -64,6 +110,7 @@ export interface CustomProvider {
64
110
  }
65
111
  export interface RegistryConfig {
66
112
  url: string;
113
+ api_key?: string;
67
114
  token?: string;
68
115
  username?: string;
69
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CONTENT_TYPES = exports.CODE_EXTENSIONS = void 0;
3
+ exports.TOOL_DEPLOY_DIRS = exports.VALID_PACKAGE_TYPES = exports.PACKAGE_TYPE_DIRS = exports.CONTENT_TYPES = exports.CODE_EXTENSIONS = void 0;
4
4
  exports.needsFrontmatterProtection = needsFrontmatterProtection;
5
5
  exports.getContentType = getContentType;
6
+ exports.isValidPackageType = isValidPackageType;
7
+ exports.getInstallDirForType = getInstallDirForType;
8
+ exports.resolveToolDeployDir = resolveToolDeployDir;
6
9
  /**
7
10
  * Code file extensions that need frontmatter protection for security.
8
11
  * These files will have prompd content frontmatter added to make them non-executable.
@@ -141,4 +144,54 @@ function getContentType(filePath) {
141
144
  const ext = filePath.toLowerCase().match(/\.[^.]+$/)?.[0] || '';
142
145
  return exports.CONTENT_TYPES[ext] || 'text';
143
146
  }
147
+ /**
148
+ * Maps each PackageType to its install directory name.
149
+ * e.g., .prompd/packages/, .prompd/workflows/, .prompd/skills/, .prompd/templates/
150
+ */
151
+ exports.PACKAGE_TYPE_DIRS = {
152
+ 'package': 'packages',
153
+ 'workflow': 'workflows',
154
+ 'skill': 'skills',
155
+ 'node-template': 'templates',
156
+ };
157
+ /**
158
+ * All valid package type strings, for validation.
159
+ */
160
+ exports.VALID_PACKAGE_TYPES = Object.keys(exports.PACKAGE_TYPE_DIRS);
161
+ /**
162
+ * Maps tool names to their native skill deployment directories.
163
+ * Used by `prompd install --tools <tool>` to deploy skills into tool-native locations.
164
+ */
165
+ exports.TOOL_DEPLOY_DIRS = {
166
+ 'claude': '~/.claude/skills',
167
+ };
168
+ /**
169
+ * Check if a string is a valid PackageType.
170
+ */
171
+ function isValidPackageType(type) {
172
+ return exports.VALID_PACKAGE_TYPES.includes(type);
173
+ }
174
+ /**
175
+ * Get the install directory name for a given package type.
176
+ * Defaults to 'packages' for unknown types.
177
+ */
178
+ function getInstallDirForType(type) {
179
+ return exports.PACKAGE_TYPE_DIRS[type] || 'packages';
180
+ }
181
+ /** Strict regex for tool names: lowercase alphanumeric and hyphens only */
182
+ const TOOL_NAME_REGEX = /^[a-z0-9][a-z0-9-]*$/;
183
+ /**
184
+ * Resolve a tool deploy directory to an absolute path.
185
+ * Expands ~ to the user's home directory.
186
+ * Validates toolName against strict regex to prevent path injection.
187
+ */
188
+ function resolveToolDeployDir(toolName) {
189
+ if (!TOOL_NAME_REGEX.test(toolName))
190
+ return undefined;
191
+ const dir = exports.TOOL_DEPLOY_DIRS[toolName];
192
+ if (!dir)
193
+ return undefined;
194
+ const os = require('os');
195
+ return dir.replace(/^~/, os.homedir());
196
+ }
144
197
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prompd/cli",
3
- "version": "0.5.0-beta.1",
3
+ "version": "0.5.0-beta.2",
4
4
  "description": "Node.js CLI for structured prompt definitions with universal LLM provider support. Also usable as a library in TypeScript/React apps.",
5
5
  "main": "dist/lib/index.js",
6
6
  "types": "dist/lib/index.d.ts",
@@ -116,6 +116,9 @@
116
116
  "testMatch": [
117
117
  "**/tests/**/*.test.ts"
118
118
  ],
119
+ "moduleNameMapper": {
120
+ "^(\\.\\.?/.*)\\.js$": "$1"
121
+ },
119
122
  "collectCoverageFrom": [
120
123
  "src/**/*.ts",
121
124
  "!src/**/*.d.ts"