Skip to content

v0.0.1-beta-001: Brainstorm mode, package types, and UI improvements#28

Merged
sbaker merged 8 commits intomainfrom
0.0.1-beta-001
Mar 5, 2026
Merged

v0.0.1-beta-001: Brainstorm mode, package types, and UI improvements#28
sbaker merged 8 commits intomainfrom
0.0.1-beta-001

Conversation

@sbaker
Copy link
Member

@sbaker sbaker commented Mar 5, 2026

Summary

  • Brainstorm mode - New collaborative AI editing mode with file-scoped chat, block canvas, and working copy isolation
  • Package type system - Resource types (package, workflow, node-template, skill) with install pipeline, filter chips, and manifest support
  • UI improvements - Custom confirm dialogs (replacing native confirm()), mode color system (cyan brainstorm, amber thinking), file rename tab sync fix, new file dialog, publish modal, WYSIWYG fixes
  • New components - AskUserPanel, PackageBuildHistory, NewProjectModal, InstalledResourcesPanel, SkillNode, GroupNode
  • Agent mode enhancements - Permission policies per mode, plan review modal, ask_user tool, slash commands
  • Intellisense upgrades - Cross-reference resolution, hover info, code actions for .prmd files
  • @prompd/react - Brainstorm input theme, new parameter inputs (Base64, File, JSON, JWT), chat mode constants

Test plan

  • Verify brainstorm mode opens from file context menu and P button
  • Verify file rename in brainstorm updates tab name and badge
  • Verify confirm dialogs appear instead of native confirm() popups
  • Verify mode toggle colors: cyan (brainstorm), amber (thinking), green (auto)
  • Verify package install with type filter chips in PackagePanel
  • Verify workflow canvas group node and skill node
  • Run npx tsc --noEmit in frontend (passes clean)

🤖 Generated with Claude Code

sbaker and others added 7 commits February 22, 2026 01:39
Automatically assigns sbaker to all new issues and pull requests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduce a visual Group node and multi-selection grouping workflow. Adds GroupNode component and registers 'node-group' in node types, parser and types; implements groupNodes store action to create a group, compute bounding box, re-parent selected nodes, and update workflow file and React Flow nodes. Prevent nesting of groups and allow grouping of top-level nodes only. UI/UX changes include adding a "Group N Nodes" context menu item, wiring it through WorkflowCanvas, and updating ContainerNode to better sync measured dimensions (collapsed/expanded) so selection boxes match DOM. Also introduce an effective context window cap (resolveEffectiveContextWindow capped at 128K) used by ChatTab and AiChatPanel for compaction and UI percent display. Misc: fix README clone URL, add several docs screenshots and remove an outdated PDF.
…ystem, and skill nodes

- New Project modal: scaffold Package/Skill/Workflow projects with proper directory structure, workspace switching, and save/discard prompt for open workspaces
- Unified New File dialog: extract reusable file-type selector from FileExplorer into NewFileDialog component
- Resource type system: shared icons, colors, labels for package/workflow/node-template/skill types used across PackagePanel, PackageDetailsModal, LocalPackageModal, PublishModal
- PublishModal: type-aware main file filter (.pdflow for workflows, .prmd for others)
- Skill nodes: add SkillNode and SkillNodeProperties for workflow canvas
- Installed resources panel and IPC registration for resource/skill management

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…PackagePanel

Forward pkg.type from registry search results through IPC to CLI install call,
ensuring skill/workflow/template packages route to correct .prompd/{type}/ dirs.
Replace old cache-based type routing in main.js with CLI-native directory scanning.
Add type filter chips (All/Package/Workflow/Skill/Template) to both search and
my-packages tabs. Compact PackageCard layout for sidebar use. Map additional
registry fields (type, license, publishedAt, owner, namespace) in registryApi.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Resource IPC and template IPC for installed resource management
- PublishResourceModal with namespace pre-selection from prompd.json
- PackagePanel type filter chips and install pipeline type passthrough
- WysiwygEditor Nunjucks block preprocessing to prevent false dirty marking
- DeploymentService version history and dependency resolver updates
- README Windows-only note, package.json release config fixes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ny casts

- Merge duplicate `package?` declarations in ElectronAPI interface (publish was
  overriding createLocal/install/uninstall due to duplicate key)
- Remove `any` cast in PublishResourceModal getElectronAPI (Window.electronAPI
  is already globally typed)
- Type parsed variable in DeploymentDependencyResolver

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduce a new "brainstorm" chat mode (prompt JSON + system MD) and related frontend components to enable a collaborative in-memory document editor. Extend Package model with a new `type` enum and index, and thread `type` through registry APIs and services (registry client, PackageService, registry routes) so packages can be filtered/searched by type. Add handling for OpenAI "reasoning" models (o1/o3 style) by using max_completion_tokens and disabling temperature where required in AgentService and ConversationalAiService. Misc: add UI tooltip audit doc, new icons/assets, and various frontend updates across electron app, react package components, parameter inputs, and UI wiring to support the new mode and package type.
Source-available license that protects against hosted/managed service
competition while allowing use, modification, and distribution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b223942b1d

ℹ️ 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".

// Forward data chunks incrementally to renderer
response.on('data', (chunk) => {
if (!event.sender.isDestroyed()) {
event.sender.send('api:stream-chunk', streamId, chunk.toString('utf8'))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Preserve byte chunks when forwarding streamed responses

In api:streamRequest the chunk is converted to a UTF-8 string in the main process and then re-encoded in the renderer, which corrupts multibyte characters when a code point is split across network chunks. This affects streamed LLM output in Electron (for example CJK text or emoji can become ), because chunk.toString('utf8') is lossy at arbitrary boundaries. Forward raw bytes (or base64) and decode once with a streaming decoder on the renderer side to avoid text corruption.

Useful? React with 👍 / 👎.

@sbaker sbaker merged commit 4e7ed92 into main Mar 5, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant