v0.5.0-beta.10: Model capabilities, test harness, and packaging fixes#10
v0.5.0-beta.10: Model capabilities, test harness, and packaging fixes#10
Conversation
Binary assets referenced in .prmd context fields are now converted to text during packaging instead of being included as raw binaries. This prevents registry security validation rejections. - xlsx/xls → CSV text (.csv.txt) - docx → plain text (.txt) - pdf → plain text (.txt) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ate stage
Resolve relative {% include %} paths to absolute when merging parent content
into child prompts, preventing broken references when parent/child are in
different directories. Apply default values with type coercion for parameters
inherited from parent prompts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…andling - Support @namespace/package@version/path/to/file.prmd format in run and compile commands - Add parsePackageReferenceWithPath() for extracting file path from package refs - Clean semver v-prefix (v0.0.1 -> 0.0.1) in both package-resolver and registry - Strip file path suffix before registry install/download operations - Security: validate file paths within packages, reject traversal attempts - Bump version to 0.5.0-beta.6 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rness - Add ModelCapabilities system for per-model API request building - Update model lists: GPT-4.1, o1/o3/o4-mini, Claude 4, Gemini 2.5 - Support frontmatter execution hints (provider, model, temperature, max_tokens) - Pass temperature/maxTokens through workflow executePrompt pipeline - Validate parent file references during inheritance compilation - Validate package file dependencies in prompd.json explicit files list - Add pluggable TestHarness interface for @prompd/test integration Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b53d37f86c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const compilationContext = await compiler.compileWithContext(filePath, compilationOptions); | ||
| let content = (compilationContext.compiledResult as string) || ''; |
There was a problem hiding this comment.
Preserve compile error gating before LLM execution
Switching to compileWithContext() here removes the previous failure guard from compile(): compilation diagnostics are no longer surfaced as an exception before sending a prompt. When a .prmd has template/asset/dependency errors, compiledResult can be empty or partial and the executor will still call the model, causing incorrect runs and unnecessary API spend instead of failing fast.
Useful? React with 👍 / 👎.
| const newZipPath = (dirName === '.' ? '' : dirName + '/') + baseName + extracted.newExtension; | ||
| pathRenames[zipPath] = newZipPath; | ||
| zipPath = newZipPath; |
There was a problem hiding this comment.
Keep referenced asset filenames stable in packaged output
Renaming extracted binary assets (for example manual.pdf to manual.txt) changes archive paths without rewriting .prmd metadata references that still point to the original filenames. Any packaged prompt using system/context/task/...: ./file.pdf|.docx|.xlsx will fail at runtime with file-not-found during asset extraction because only the renamed file exists in the package.
Useful? React with 👍 / 👎.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
ModelCapabilitiesinterface with per-model flags (useMaxCompletionTokens,noTemperature,noSystemMessage,supportsThinking,supportsVision,supportsTools, etc.)OpenAICompatibleProvidersendsmax_completion_tokensvsmax_tokens, skips temperature/system messages based on model flags, with prefix-matching for date-suffixed model IDs@prompd/test) with plugin registration viaregisterTestHarness(){% include %}directivesTest plan
max_completion_tokensinstead ofmax_tokensgpt-4.1-nano-2025-04-14)@prompd/test🤖 Generated with Claude Code