You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -162,6 +162,7 @@ Rule format:
162
162
- For task-scoped work, edit, stage, and commit only the files directly required for the requested change; do not widen the change set into unrelated user-owned or parallel worktree edits, do not touch changes owned by another agent, and if a blocker comes from that parallel work, wait briefly and re-check instead of patching around their in-flight fix.
163
163
- Core AI infrastructure should stay minimal and predefined: prefer one factory that assembles known agents and known workflows, and avoid extra catalog or registry layers for skills, agents, or workflows unless a later task explicitly requires dynamic discovery.
164
164
- All AI provider connections must stay on the Microsoft Agent Framework composition path used by PrompterOne agents and `ChatClientAgent`; do not bypass it with direct provider-specific SDK clients for production graph, assistant, or runtime AI behavior, because Agent Framework is the single configuration, provider selection, and orchestration boundary for every AI integration. Provider SDK objects may exist only as private adapters that feed the Agent Framework path; production calls must not execute through those SDK clients directly.
165
+
- AI provider configuration must stay minimal and user-owned: do not ship hardcoded model/deployment presets, token limits, context-size fields, model-type fields, or hidden defaults in Settings or appsettings. A provider entry should capture only the provider kind, editable endpoint/base URL when needed, API key when needed, and user-added model or deployment names, with exactly one active provider at runtime unless a later task introduces explicit routing.
165
166
- Core AI skill and article wiring should use official Microsoft Agent Framework context primitives such as `AgentSkillsProvider` and `AIContextProvider`; do not manually concatenate embedded skill markdown into an agent system prompt.
166
167
- AI, agent context, script graph extraction, and assistant action-matching paths must not use ad-hoc language heuristics for meaning, intent, or similarity. Use an available LLM path for semantic understanding; if no LLM is available, only an explicit tokenizer/vector similarity fallback is allowed, including for action search by tokenizing action descriptions and the user query into comparable token vectors.
167
168
- Script graph tokenizer/vector fallback must use the tokenizer/vector primitives shipped by `ManagedCode.MarkdownLd.Kb` when available; do not keep a parallel PrompterOne-owned tokenizer implementation beside the graph library.
@@ -176,6 +177,7 @@ Rule format:
176
177
- The PrompterOne AI assistant belongs in global shell/header chrome, must be available on every routed screen through a spotlight-style surface and hotkey, and must not remain an editor-only action.
177
178
- The AI spotlight is a command/search palette plus agent chat/execution surface, not a planning screen: it should suggest route-aware commands and navigation targets while typing, send the entered prompt to the agent on submit, show execution progress only as live process/status feedback, and use a macOS Spotlight-style overlay where the underlying route remains visible with only a very light dim and no dark blurred full-page backdrop.
178
179
- AI spotlight must not fake agent execution: when a provider is configured, submitting a prompt must invoke a real Microsoft Agent Framework agent with the user prompt, route/editor context, and MCP-style tool catalog; when no provider is configured, the UI must clearly report that AI is unavailable instead of showing a pretend working state.
180
+
- AI assistant responses must use structured output instead of free-form parsing: separate the visible chat reply from machine-readable document edit operations, and express document changes as exact range-based insert, replace, or delete operations that can be applied independently of the chat text.
179
181
- The AI spotlight prompt input must receive focus immediately when the spotlight opens so users can start typing without an extra click.
180
182
- Script graph views must prioritize a readable writer knowledge map over decorative circular placement or raw TPS/source dumps: highlight the main/root document node, group meaningful document structure, ideas, people, themes, story references, and relationships by graph value/kind, expose node and edge hover tooltips with source detail, provide zoom/fit/layout controls, avoid noisy duplicated node-list strips under the graph, and never present source lines, WPM/pace, timing, cue, archetype, or raw TPS attribute values as primary graph nodes or primary edge labels. Graph viewing must support both a full graph-only mode and a split source/graph mode with a user-draggable divider that resizes the zones. Graph extraction must be useful to scriptwriters at a high-level glance: it should show what the text is about, how blocks and ideas connect, which references or entities recur, and where the user can jump back into the source; regex, stop-word, capitalization, keyword, and hardcoded-domain semantic heuristics are strictly forbidden. The only non-LLM fallback is an explicit user-requested tokenizer/vector similarity mode based on TikToken-style token vectors and distance calculations.
181
183
- Script graph labels, details, semantic scopes, tokenizer chunks, and knowledge-graph markdown input must use compiled TPS display text from the TPS SDK, matching the clean text shown in the prompter; raw TPS source may be used for editor ranges and metadata only, not as a post-hoc string-cleaned source for visible graph prose.
Copy file name to clipboardExpand all lines: README.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,8 +53,8 @@ No PrompterOne backend. No desktop install. No account wall. Open the app, start
53
53
-**Learn**: rehearse with ORP-aligned RSVP, context rails, phrase-aware timing, WPM controls, stepping, looping, and punctuation-safe word progression.
54
54
-**Teleprompter**: read with persisted font and width controls, focal-line positioning, horizontal and vertical mirror toggles, orientation switching, browser fullscreen, segmented progress, and optional camera background.
55
55
-**Onboarding**: walk the first-run flow with a localized tour that explains TPS, RSVP, the editor, Learn, Teleprompter, and Go Live, then reopen that tour later from Settings.
56
-
-**Settings**: manage appearance, browser language, media permissions, camera and microphone setup, sync offsets, recording defaults, AI provider preferences, cloud snapshot targets, transport credentials, and onboarding restart from one routed screen.
57
-
-**AI Spotlight**: when an AI provider is configured, run the global assistant as a real Microsoft Agent Framework agent with route context, editor text, selected ranges, graph summary, and PrompterOne MCP-style tools.
56
+
-**Settings**: manage appearance, browser language, media permissions, camera and microphone setup, sync offsets, recording defaults, minimal active AI provider setup, cloud snapshot targets, transport credentials, and onboarding restart from one routed screen.
57
+
-**AI Spotlight**: when an AI provider is configured, run the global assistant as a real Microsoft Agent Framework agent with route context, editor text, selected ranges, graph summary, PrompterOne MCP-style tools, and structured output that separates chat replies from exact document edits.
58
58
-**Go Live**: run the browser-owned studio shell and save the composed program feed locally with decodable video and audio while remote transport and destination routing continue to expand.
59
59
60
60
## What You Get
@@ -196,7 +196,7 @@ Distribution targets such as YouTube, Twitch, and custom RTMP are capability-gat
196
196
197
197
### Settings
198
198
199
-
Settings holds the operational state for the rest of the app: appearance, browser language, cloud snapshot targets, camera selection with preview, microphone setup with live meters, delay and sync offsets, output quality profiles, recording defaults, AI provider preferences, transport credentials, and onboarding restart. Theme changes and layout preferences persist, and appearance changes propagate across tabs instead of drifting out of sync.
199
+
Settings holds the operational state for the rest of the app: appearance, browser language, cloud snapshot targets, camera selection with preview, microphone setup with live meters, delay and sync offsets, output quality profiles, recording defaults, minimal AI provider preferences, transport credentials, and onboarding restart. AI provider setup stays intentionally small: choose one active provider, enter only the endpoint or base URL when needed, the API key when needed, and the model or deployment names you actually use. Theme changes and layout preferences persist, and appearance changes propagate across tabs instead of drifting out of sync.
200
200
201
201
---
202
202
@@ -235,7 +235,7 @@ PrompterOne is in **active alpha**: the core authoring, rehearsal, reader, and l
235
235
|**LiveKit transport**| 🟡 | Real transport-aware browser integration and guest-path work, with operational polish still expanding |
236
236
|**Distribution routing**| 🟡 | Targets are capability-gated and blocked when the selected transport cannot service them |
237
237
|**Cloud storage snapshots**| 🟡 | Browser-local provider configuration ships now; broader import/export maturity is still expanding |
238
-
|**AI provider execution**| ✅ | AI Spotlight runs a configured Microsoft Agent Framework agent with route/editor context and MCP-style tools; script graph analysis uses the configured LLM extractor before any explicit tokenizer fallback |
238
+
|**AI provider execution**| ✅ | AI Spotlight runs a configured Microsoft Agent Framework agent with route/editor context, MCP-style tools, structured chat-plus-edit output, and exact range edit application; script graph analysis uses the configured LLM extractor before any explicit tokenizer fallback |
239
239
|**Generic RTMP fan-out**| ❌ | Intentionally unsupported without a real upstream transport path |
240
240
|**PrompterOne backend**| ❌ | By design: the browser is the only app runtime |
Copy file name to clipboardExpand all lines: src/PrompterOne.Core/AI/Agents/AssistantScriptAgent.cs
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -19,8 +19,11 @@ public sealed class AssistantScriptAgent : ScriptAgent
19
19
You are the PrompterOne AI assistant.
20
20
Answer the user's request using the active route, editor context, selected range, graph summary, and available tools.
21
21
Use MCP-style tools when you need current document text, selected text, graph details, or app action metadata.
22
+
When a user asks to change specific wording, use the exact text search or range-reading tools to identify the source offsets before emitting documentEdits.
22
23
For partial document edits, work through explicit range-based tool contracts. Do not regenerate a whole script unless the user clearly asks for a full rewrite.
23
-
If a change would mutate user text, propose a scoped edit and explain the reason clearly.
24
+
Return structured output with `chatMessage` for the visible chat response and `documentEdits` for machine-applied script edits.
25
+
Each document edit must use exact UTF-16 offsets with kind `insert`, `replace`, or `delete`; leave `documentEdits` empty when no document change is needed.
26
+
For every `replace` or `delete` edit, include `expectedText` exactly as it appears in the current source range. If you cannot identify an exact source range and expected text, do not emit a document edit; explain the blocker in `chatMessage`.
24
27
Keep responses concise and directly useful inside the app.
0 commit comments