Repository navigation
Releases: huynguyen294/ai-artifacts
Releases · huynguyen294/ai-artifacts
Release list
v1.1.2
[1.1.2] - 2026-10-18
Cline MCP Client & Claude Code Agent Skill Sync
- Added dedicated configuration driver for the Cline VS Code extension (
ClineClientDriver):- Automatically manages
ai_artifactsMCP stdio configuration incline_mcp_settings.jsonwithin VS Code global storage. - Added Command Palette commands
AI Artifacts: Install Integration for ClineandAI Artifacts: Uninstall Integration for Cline.
- Automatically manages
- Enhanced Claude Code integration (
ClaudeClientDriver):- Automatically installs and syncs the
create-review-artifactAgent Skill to~/.claude/skills/create-review-artifact/. - Verifies presence of
SKILL.mdalongside MCP configuration. - Cleans up skill folder upon client uninstallation and full extension uninstallation (
cleanupBaseMcpServer), safely preserving all unrelated Claude skills.
- Automatically installs and syncs the
v1.1.0
[1.1.0] - 2026-10-18
Artifacts in Conversations & MCP server 10.0.0
- Added Artifacts in Conversation drawer in the review editor:
- Quick browsing and switching between all artifacts created or reconnected in the same conversation session.
- Real-time search filter by title or artifact ID, status badges (
Current,Waiting,Approved,Revised,Saved), and seamless opening of selected artifacts in review editor tabs. - Accessible keyboard navigation with focus trap coordination.
- Upgraded MCP server runtime to 10.0.0:
create_artifactandinspect_artifact_reviewaccept optional flat fieldsartifactConversationId?: stringandconversationName?: string.- Returns
artifactConversationIdon creation and inspection, and echoesartifactConversationIdwhen supplied on wait and advance tools. - Added multi-process safe conversation registry (
~/.ai-artifacts/conversation-registry/<artifactConversationId>/, schema v1) with file locking (.conversation.lock) and rollback on connection failure. - Added error codes
CONVERSATION_NOT_FOUNDandCONVERSATION_REGISTRY_INVALID.
- Provider & Extension:
- Added
ConversationArtifactServicewith bounded concurrency (8) and strict artifact integrity checks. - Added async non-blocking message queue in
ArtifactReviewProviderseparating mutations from read queries. - Extended retention cleanup to prune invalid/expired entries from the conversation registry.
- Added Open Artifact Review to Explorer, Markdown editor, and editor-tab context menus for
artifact.md, allowing a chat file link opened as plain Markdown to be reopened in the validated review editor.
- Added
Documentation
- Reworked the README for a clearer onboarding flow, compatibility guidance, usage instructions, artifact search and reconnect steps, and lifecycle behavior.
- Added walkthrough GIFs for artifact creation, inline feedback, and reconnecting an existing artifact.
- Updated canonical architecture, philosophy, component maps, and agent skill contract for MCP server 10.0.0 and conversation grouping.
[1.0.1] - 2026-09-21
Automatic artifact retention cleanup
- Added configurable retention cleanup that permanently deletes expired artifacts when the extension activates.
- Added machine-scoped setting
agentPlus.artifactRetentionDays(default 30 days, minimum 1) controlling the retention window based onartifact.json.updatedAt. - Implemented core retention logic in
src/extension/artifact-retention.ts:- Enumerates validated schema-v6 direct children of
~/.ai-artifacts/artifacts/with concurrency bounds. - Skips legacy, malformed, mismatched-ID, linked, or escaped artifact entries.
- Revalidates each candidate immediately before deletion to prevent TOCTOU races.
- Atomically renames expired artifact directories to managed cleanup staging (
~/.ai-artifacts/managed/cleanup/<artifactId>-<uuid>/) before recursive deletion. Per-artifact atomic rename resolves multi-window races without a global lock. - Drains leftover staging entries from prior crashes at the next activation.
- Handles
EPERM/EBUSY/EACCESerrors gracefully by skipping the candidate and continuing.
- Enumerates validated schema-v6 direct children of
- Integrated retention cleanup into extension activation (
src/extension/extension.ts). Cleanup runs asynchronously and does not block activation or commands. - Active MCP waiters monitoring an artifact that is deleted by retention cleanup terminate with
ARTIFACT_NOT_FOUND(retryable: false,useSameArtifactHandle: false) instead of waiting indefinitely. - Updated agent skill and artifact contract to document
ARTIFACT_NOT_FOUNDrecovery: drop the stale handle mapping, inform the user, and do not retry, scan, or recreate. - Added comprehensive test coverage in
test/artifact-retention.test.ts(11 tests) and waiter termination tests intest/review-wait-mcp.test.ts(2 tests).
Documentation
- Updated README, philosophy, architecture, components, contributor instructions, agent skill, and artifact contract for bounded artifact lifetime, retention cleanup mechanics,
ARTIFACT_NOT_FOUNDrecovery, and long-term content preservation guidance. - Updated version references from 1.0.0 to 1.0.1 across README, architecture, philosophy, and VSIX paths.
[1.0.0] - 2026-09-20
Repository migration
- Migrated repository URL to
https://github.com/huynguyen294/ai-artifacts.
Global schema-v6 lifecycle
- Cutt-over artifact manifest to schema-v6, removing
location.workspaceRootand decoupling artifact review sessions from workspace ownership. - Upgraded the only supported lifecycle contract to schema v6 and MCP server 9.0.0. Schemas v3/v4/v5 and workspace-local lifecycles are rejected and are not live-migrated.
- Tool replacement: replaced
resolve_artifact_workspacewithresolve_artifact_window. Catalog contains five tools:resolve_artifact_window,create_artifact,wait_for_artifact_review,inspect_artifact_review, andadvance_and_wait_for_artifact. - Added canonical direct-child validation, linked-path rejection, owner-only POSIX directory/file modes, and rollback-safe create/advance behavior for global storage.
Window-routed auto-open and regular links
- Focused-first routing:
create_artifactandinspect_artifact_reviewautomatically route to the currently focused VS Code window (or sole live window) without prior workspace resolution rituals. - Advisory artifact-window affinity: generic reconnect prioritizes sole live window, validated advisory artifact-window affinity (matching stored connection and live in registry), and unique focused window. Stale or mismatched affinity silently falls back to focused resolution and updates the agent's cache.
- Ambiguous multi-window handling: returns
WINDOW_SELECTION_REQUIREDwith candidate summaries and single-use opaqueselectionToken(targetMode: "explicit-window"). - Bounded registry pruning: workspace registry publisher automatically prunes stale snapshots, retaining at most 10 snapshots and removing files older than 7 days. Supports folderless windows (
folders: []). - Added optional schema-v1
artifact-connection.jsonrouting state.artifact.jsonremains identity truth; create and reconnect commit connection revisions and unique open-request IDs without changing lifecycle state. - Replaced the comments-created/focus-gated watcher with validated
artifact-connection.jsoncreate/change handling. Only the matching window instance opens the editor, including when unfocused; non-target windows ignore the request. - Added bounded transient-read retry with path revalidation, successful-request dedupe, and one shared exact-handle open coordinator for watcher and command paths. Failed opens remain retryable, while same-artifact requests use single-flight behavior and
vscode.openWithreuse/reveal. agentPlus.autoOpenArtifactReviewdisables automatic UI opening without preventing MCP connection commits. Explicit reconnect can rebind the exact artifact to another live window while wait/advance preserve the existing connection.- Clarified that
artifactLinkis an RFC 8089 regular file link, not a deep link and not a guarantee that the custom editor opens. - Removed the
.codex-artifactscustom-editor selector. - Added VS Code command
AI Artifacts: Search Artifact(agentPlus.searchArtifact) with native Quick Pick UI, accent-insensitive title filtering, bounded concurrency safe discovery, and deterministic ordering capped at 1,000 items. Revalidates and opens selected artifacts in the active window viaArtifactReviewOpenCoordinator. Documented the Connect button flow to copy exact artifact handles into AI chat.
Integration synchronization and upgrade policy
- Consolidated extension-managed runtime and workspace registry assets out of
~/.vscode/ai-artifacts/into a dedicated~/.ai-artifacts/managed/subtree with explicit ownership boundaries. - Relocated MCP runtime to
~/.ai-artifacts/managed/runtime/ai-artifacts-review-mcp.mjsand live workspace heartbeat registry snapshots to~/.ai-artifacts/managed/workspaces/. - Reinstall replaces stale MCP/skill assets from packaged source, removes obsolete skill files and legacy runtime aliases, and reports configured clients as
outdateduntil shared assets are current. - Verified install/reinstall/uninstall behavior for Codex, Cursor, Claude, Windsurf, and GitHub Copilot while preserving unrelated configuration.
- Uninstall removes
~/.ai-artifacts/managed/, legacy~/.vscode/ai-artifacts/, and managed skills while deliberately retaining all user review data in~/.ai-artifacts/artifacts/. - Version 1.0.0 is a hard compatibility cutoff and ships MCP 9.0.0 with the matching skill. After upgrading, reinstall all integrations, restart the AI client, and start a new chat. Rollback requires reinstalling the matching older runtime and skill; optional connection files remain preserved user artifact data.
Documentation and validation
- Updated README, philosophy, architecture, component ownership, contributor instructions, production skill contract, and release metadata for the global v6 model, focused-window routing, and shared-filesystem support boundary.
- Added regression coverage for global path safety, POSIX permissions, schema rejection, window resolution, connection persistence, target-window create/change watching, request dedupe, regular-link encoding, five-client synchronization, and uninstall data retention.
[0.9.3] - 2026-09-11
Skill Copy Command & Independent Skill Verification
- Dedicated Copy Skill Command:
- Registered Command Palette command
agentPlus.copyReviewSkillwith titleAI Artifacts: Copy create-review-artifact Skill Markdown. - Copies the full
SKILL.mdmarkdown content directly to the clipboard, providing an immediate manual setup method for AI Agents that do not automatically discover global skills.
- Registered Command Palette command
- Independent Skill Verification:
- Decoupled Agen...
v1.0.2
[1.0.2] - 2026-10-07
Documentation
- Reworked the README for a clearer onboarding flow, compatibility guidance, usage instructions, artifact search and reconnect steps, and lifecycle behavior.
- Added walkthrough GIFs for artifact creation, inline feedback, and reconnecting an existing artifact.
v1.0.1
[1.0.1] - 2026-09-21
Automatic artifact retention cleanup
- Added configurable retention cleanup that permanently deletes expired artifacts when the extension activates.
- Added machine-scoped setting
agentPlus.artifactRetentionDays(default 30 days, minimum 1) controlling the retention window based onartifact.json.updatedAt. - Implemented core retention logic in
src/extension/artifact-retention.ts:- Enumerates validated schema-v6 direct children of
~/.ai-artifacts/artifacts/with concurrency bounds. - Skips legacy, malformed, mismatched-ID, linked, or escaped artifact entries.
- Revalidates each candidate immediately before deletion to prevent TOCTOU races.
- Atomically renames expired artifact directories to managed cleanup staging (
~/.ai-artifacts/managed/cleanup/<artifactId>-<uuid>/) before recursive deletion. Per-artifact atomic rename resolves multi-window races without a global lock. - Drains leftover staging entries from prior crashes at the next activation.
- Handles
EPERM/EBUSY/EACCESerrors gracefully by skipping the candidate and continuing.
- Enumerates validated schema-v6 direct children of
- Integrated retention cleanup into extension activation (
src/extension/extension.ts). Cleanup runs asynchronously and does not block activation or commands. - Active MCP waiters monitoring an artifact that is deleted by retention cleanup terminate with
ARTIFACT_NOT_FOUND(retryable: false,useSameArtifactHandle: false) instead of waiting indefinitely. - Updated agent skill and artifact contract to document
ARTIFACT_NOT_FOUNDrecovery: drop the stale handle mapping, inform the user, and do not retry, scan, or recreate. - Added comprehensive test coverage in
test/artifact-retention.test.ts(11 tests) and waiter termination tests intest/review-wait-mcp.test.ts(2 tests).
Documentation
- Updated README, philosophy, architecture, components, contributor instructions, agent skill, and artifact contract for bounded artifact lifetime, retention cleanup mechanics,
ARTIFACT_NOT_FOUNDrecovery, and long-term content preservation guidance. - Updated version references from 1.0.0 to 1.0.1 across README, architecture, philosophy, and VSIX paths.
[1.0.0] - 2026-09-20
Repository migration
- Migrated repository URL to
https://github.com/huynguyen294/ai-artifacts.
Global schema-v6 lifecycle
- Cutt-over artifact manifest to schema-v6, removing
location.workspaceRootand decoupling artifact review sessions from workspace ownership. - Upgraded the only supported lifecycle contract to schema v6 and MCP server 9.0.0. Schemas v3/v4/v5 and workspace-local lifecycles are rejected and are not live-migrated.
- Tool replacement: replaced
resolve_artifact_workspacewithresolve_artifact_window. Catalog contains five tools:resolve_artifact_window,create_artifact,wait_for_artifact_review,inspect_artifact_review, andadvance_and_wait_for_artifact. - Added canonical direct-child validation, linked-path rejection, owner-only POSIX directory/file modes, and rollback-safe create/advance behavior for global storage.
Window-routed auto-open and regular links
- Focused-first routing:
create_artifactandinspect_artifact_reviewautomatically route to the currently focused VS Code window (or sole live window) without prior workspace resolution rituals. - Advisory artifact-window affinity: generic reconnect prioritizes sole live window, validated advisory artifact-window affinity (matching stored connection and live in registry), and unique focused window. Stale or mismatched affinity silently falls back to focused resolution and updates the agent's cache.
- Ambiguous multi-window handling: returns
WINDOW_SELECTION_REQUIREDwith candidate summaries and single-use opaqueselectionToken(targetMode: "explicit-window"). - Bounded registry pruning: workspace registry publisher automatically prunes stale snapshots, retaining at most 10 snapshots and removing files older than 7 days. Supports folderless windows (
folders: []). - Added optional schema-v1
artifact-connection.jsonrouting state.artifact.jsonremains identity truth; create and reconnect commit connection revisions and unique open-request IDs without changing lifecycle state. - Replaced the comments-created/focus-gated watcher with validated
artifact-connection.jsoncreate/change handling. Only the matching window instance opens the editor, including when unfocused; non-target windows ignore the request. - Added bounded transient-read retry with path revalidation, successful-request dedupe, and one shared exact-handle open coordinator for watcher and command paths. Failed opens remain retryable, while same-artifact requests use single-flight behavior and
vscode.openWithreuse/reveal. agentPlus.autoOpenArtifactReviewdisables automatic UI opening without preventing MCP connection commits. Explicit reconnect can rebind the exact artifact to another live window while wait/advance preserve the existing connection.- Clarified that
artifactLinkis an RFC 8089 regular file link, not a deep link and not a guarantee that the custom editor opens. - Removed the
.codex-artifactscustom-editor selector. - Added VS Code command
AI Artifacts: Search Artifact(agentPlus.searchArtifact) with native Quick Pick UI, accent-insensitive title filtering, bounded concurrency safe discovery, and deterministic ordering capped at 1,000 items. Revalidates and opens selected artifacts in the active window viaArtifactReviewOpenCoordinator. Documented the Connect button flow to copy exact artifact handles into AI chat.
Integration synchronization and upgrade policy
- Consolidated extension-managed runtime and workspace registry assets out of
~/.vscode/ai-artifacts/into a dedicated~/.ai-artifacts/managed/subtree with explicit ownership boundaries. - Relocated MCP runtime to
~/.ai-artifacts/managed/runtime/ai-artifacts-review-mcp.mjsand live workspace heartbeat registry snapshots to~/.ai-artifacts/managed/workspaces/. - Reinstall replaces stale MCP/skill assets from packaged source, removes obsolete skill files and legacy runtime aliases, and reports configured clients as
outdateduntil shared assets are current. - Verified install/reinstall/uninstall behavior for Codex, Cursor, Claude, Windsurf, and GitHub Copilot while preserving unrelated configuration.
- Uninstall removes
~/.ai-artifacts/managed/, legacy~/.vscode/ai-artifacts/, and managed skills while deliberately retaining all user review data in~/.ai-artifacts/artifacts/. - Version 1.0.0 is a hard compatibility cutoff and ships MCP 9.0.0 with the matching skill. After upgrading, reinstall all integrations, restart the AI client, and start a new chat. Rollback requires reinstalling the matching older runtime and skill; optional connection files remain preserved user artifact data.
Documentation and validation
- Updated README, philosophy, architecture, component ownership, contributor instructions, production skill contract, and release metadata for the global v6 model, focused-window routing, and shared-filesystem support boundary.
- Added regression coverage for global path safety, POSIX permissions, schema rejection, window resolution, connection persistence, target-window create/change watching, request dedupe, regular-link encoding, five-client synchronization, and uninstall data retention.
[0.9.3] - 2026-09-11
Skill Copy Command & Independent Skill Verification
- Dedicated Copy Skill Command:
- Registered Command Palette command
agentPlus.copyReviewSkillwith titleAI Artifacts: Copy create-review-artifact Skill Markdown. - Copies the full
SKILL.mdmarkdown content directly to the clipboard, providing an immediate manual setup method for AI Agents that do not automatically discover global skills.
- Registered Command Palette command
- Independent Skill Verification:
- Decoupled Agent Skill verification from base MCP server script checking in
src/extension/workspace-integration-v4.ts. - Added dedicated
skillAssetsAreCurrentandbaseScriptIsCurrentverifiers. checkAllIntegrationsindependently reportsskillCurrentalongsidebaseCurrent.- Updated
AI Artifacts: Verify All Integrationsnotification to prioritize Skill status first:AI Artifacts Skill (.agents): Ready. Base (.vscode): Ready. Clients: [...].
- Decoupled Agent Skill verification from base MCP server script checking in
- Table-Aware Codex TOML Scanner & Data Loss Prevention:
- Refactored
hasManagedCodexArtifactsMcp,withoutManagedBlock, andstripBlockinsrc/extension/mcp-config.tsto use TOML table boundary detection and semantic validation instead of brittle marker string equality. - Fixes false-negative
missing (detected)status for Codex when external TOML formatters or Codex CLI displace the closing marker comment. - Eliminates data loss risk by guaranteeing intervening TOML sections (
[mcp_servers.node_repl],[desktop],[plugins]) are preserved during uninstallation or upsert operations.
- Refactored
- Documentation & Verification Workflow:
- Updated
README.mdwith the new command and the refined Verification & Troubleshooting checklist.
- Updated
- Automated Tests:
- Added unit tests in
test/workspace-integration.test.ts,test/mcp-config.test.ts, andtest/mcp-client-drivers.test.ts(108/108 tests passing).
- Added unit tests in
Clickable Artifact Review Link in MCP Server & Agent Chat
- MCP Tool Response Contract Enhancement:
- Implemented
toArtifactFileUrlusing Node.js built-inpathToFileURL(node:url) conforming to RFC 8089 with forward-slash normalization and explicit percent-encoding for parentheses (%28,%29). - Implemented
formatArtifactLinkadhering strictly to CommonMark 0.31.2: sanitizes newline characters into single spaces and backslash-escapes\,[, and]. - Enhanced
artifactHandle(used bycreate_artifactandinspect_artifact_review) to returnartifactUrland preformatted Markdown linkartifactLink. - Enhanced
grantSubmittedRound(used bywait_for_artifact_reviewand `a...
- Implemented