chatroom-cli 1.137.0 → 1.137.1
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.
- package/dist/index.js +47 -23
- package/dist/index.js.map +17 -17
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -107785,9 +107785,11 @@ function getEntryPointToArchitectHandoffTemplate(query) {
|
|
|
107785
107785
|
const entryPoint = query.fromRole;
|
|
107786
107786
|
return `The automatically injected \`<user-message>\` is the authoritative request. Add only concise context that the Architect needs to design within the existing repository and team scope.
|
|
107787
107787
|
|
|
107788
|
+
Use this before any backend contract, API, or schema/persistence change.
|
|
107789
|
+
|
|
107788
107790
|
Provide the request, relevant constraints, and the files or product surfaces that need inspection. Ask for one evidence-backed design focused on ${getArchitectFocus()}.
|
|
107789
107791
|
|
|
107790
|
-
After completing the design, hand it back to \`${entryPoint}\` with the normal handoff command
|
|
107792
|
+
After completing the design, the \`architect\` must hand it back to \`${entryPoint}\` with the normal handoff command, then stop; it must not implement the design or delegate further work.
|
|
107791
107793
|
|
|
107792
107794
|
\`\`\`bash
|
|
107793
107795
|
${handoffCommand({
|
|
@@ -108267,7 +108269,7 @@ function getEntryPointToGameAssetDesignerHandoffTemplate(query) {
|
|
|
108267
108269
|
<repository paths, URLs, or a written style sheet; or \`Not specified.\`>
|
|
108268
108270
|
|
|
108269
108271
|
## Perspective
|
|
108270
|
-
<one camera perspective shared by every asset in the set, for example \`orthographic front view\`, \`orthographic isometric\`, \`dimetric 2:1\`, or \`side view\`; optionally \`reference: <repository path>\` of an existing asset to match (requires \`## Model\` = \`fal-ai/flux-2/flash/edit\`); a reference makes every asset an individual edit, with no sheets; \`Not
|
|
108272
|
+
<one camera perspective shared by every asset in the set, for example \`orthographic front view\`, \`orthographic isometric\`, \`dimetric 2:1\`, or \`side view\`; optionally \`reference: <repository path>\` of an existing asset to match (requires \`## Model\` = \`fal-ai/flux-2/flash/edit\`); a reference makes every asset an individual edit, with no sheets; \`Not Applicable.\` for 3D models and audio; or \`Not specified.\`>
|
|
108271
108273
|
|
|
108272
108274
|
## Model
|
|
108273
108275
|
<\`fal-ai/flux-2/flash\` (FLUX 2 Flash), passed as --model; \`fal-ai/flux-2/flash/edit\` only when \`## Perspective\` names a reference asset>
|
|
@@ -108276,7 +108278,7 @@ function getEntryPointToGameAssetDesignerHandoffTemplate(query) {
|
|
|
108276
108278
|
<a JSON object as text passed to \`generate-image --input\`; one object for every call of a set; its keys must pass the model's --dry-run check; \`Not specified.\` if none>
|
|
108277
108279
|
|
|
108278
108280
|
## Spec consumer
|
|
108279
|
-
<who integrates these assets from the spec: \`builder\` (application
|
|
108281
|
+
<who integrates these assets from the spec: \`builder\` (application logic outside the allowed edit paths) or \`user\`; asset files themselves are generated only by \`game-asset-designer\`>
|
|
108280
108282
|
|
|
108281
108283
|
## Existing assets
|
|
108282
108284
|
<repository paths the designer must reuse or must not overwrite; or \`Not specified.\`>
|
|
@@ -108314,7 +108316,7 @@ Instructions after the body (not part of the message): the planner may append ex
|
|
|
108314
108316
|
- assets must meet engine import conventions or budgets before a builder integrates them;
|
|
108315
108317
|
- the user asks for an asset spec, style sheet, or asset audit.
|
|
108316
108318
|
|
|
108317
|
-
Skip it for code-only work
|
|
108319
|
+
Skip it for code-only work. Non-game UI icons and illustrations also go to this role; they are not sent to \`uiux-engineer\`.
|
|
108318
108320
|
|
|
108319
108321
|
\`\`\`bash
|
|
108320
108322
|
${handoffCommand({
|
|
@@ -108375,7 +108377,7 @@ Write exactly \`None.\` if no sheet was used.
|
|
|
108375
108377
|
<every property you could not measure or inspect; write exactly \`None.\` if none>
|
|
108376
108378
|
|
|
108377
108379
|
## Recommended next step
|
|
108378
|
-
<exactly one target: \`game-asset-designer\` (re-run with the listed asset IDs), \`builder\` (
|
|
108380
|
+
<exactly one target: \`game-asset-designer\` (re-run with the listed asset IDs), \`builder\` (application logic outside the allowed edit paths), \`uiux-engineer\` (layout, component, or styling changes only, never asset files), or \`planner\` (decision needed on an open question); then the affected asset IDs>
|
|
108379
108381
|
|
|
108380
108382
|
Instructions after the body (not part of the message): run the normal handoff command to \`${entryPoint}\` with the complete body above, then stop.
|
|
108381
108383
|
|
|
@@ -108446,11 +108448,11 @@ var init_planner_architect_chat = __esm(() => {
|
|
|
108446
108448
|
function getPlannerBuilderCodeBody() {
|
|
108447
108449
|
return `${getDelegationBriefIntro()}
|
|
108448
108450
|
|
|
108449
|
-
**Before you delegate:** if this slice introduces anything not yet grounded in the repository (a new library, API, external platform behavior, or an unresolved
|
|
108451
|
+
**Before you delegate:** if this slice introduces anything not yet grounded in the repository (a new library, API, external platform behavior, or an unresolved choice that depends on missing facts), hand off to \`researcher\` first and delegate only after its brief returns. Skip this when the \`researcher\` template's skip condition applies. The \`researcher\` handoff template defines the criteria.
|
|
108450
108452
|
|
|
108451
108453
|
**Bug fixes:** if this slice fixes a reported bug, delegate only after a \`triage\` report for that bug has returned, and build the brief from its root cause and proposed fix. The \`triage\` handoff template defines the investigation.
|
|
108452
108454
|
|
|
108453
|
-
**Division of labor:** You (planner) own
|
|
108455
|
+
**Division of labor:** For backend contract, API, or schema/persistence changes, the architect designs first and you delegate only after its design returns. You (planner) own slicing and sequencing of builder work. The UI/UX engineer owns UI/UX design. Include its target markup, classes, styles, and screen and flow drawings in UI implementation briefs; the builder implements the components.
|
|
108454
108456
|
|
|
108455
108457
|
**Detail bar:** Specify down to **every file** the builder will create or modify (full repo paths). Include code snippets — types, signatures, stubs, or target implementations — until a competent builder **cannot misinterpret** what to write. Vague layers ("update the backend", "fix the component") are not acceptable.
|
|
108456
108458
|
|
|
@@ -108553,7 +108555,7 @@ function getEntryPointToResearcherHandoffTemplate(query) {
|
|
|
108553
108555
|
Research before delegating when the slice introduces something not already grounded in this repository:
|
|
108554
108556
|
- a new library, API, external service, platform behavior, or version-sensitive dependency;
|
|
108555
108557
|
- an unfamiliar subsystem;
|
|
108556
|
-
- a
|
|
108558
|
+
- a choice between several plausible approaches that depends on facts not yet in the repository (the \`architect\` still owns backend contract, API, and schema/persistence design);
|
|
108557
108559
|
- any ambiguity the user has not resolved.
|
|
108558
108560
|
|
|
108559
108561
|
Skip research when the change is a small, well-understood edit in code you have already inspected.
|
|
@@ -108640,7 +108642,7 @@ Review before delivery for code-producing work:
|
|
|
108640
108642
|
- the user asks for a code review;
|
|
108641
108643
|
- a change is large, risky, or touches security-sensitive or shared code.
|
|
108642
108644
|
|
|
108643
|
-
Skip review for a
|
|
108645
|
+
Skip review only for an edit of a few lines in one file that the builder already verified with a test or command.
|
|
108644
108646
|
|
|
108645
108647
|
After completing the review, the reviewer must return its issue report to \`${entryPoint}\` with the normal handoff command.
|
|
108646
108648
|
|
|
@@ -108702,6 +108704,8 @@ function getEntryPointToTriageHandoffTemplate(query) {
|
|
|
108702
108704
|
const entryPoint = query.fromRole;
|
|
108703
108705
|
return `The automatically injected \`<user-message>\` is the authoritative request. Pass the reported bug, observed and expected behavior, reproduction details and commands, relevant constraints, and the files or symbols already suspected. Ask triage to investigate and report only. Triage may inspect code and attempt a focused automated regression test as evidence, but must not edit implementation files or implement a fix.
|
|
108704
108706
|
|
|
108707
|
+
Use this for every reported bug (something broken or behaving differently than expected) before any fix is implemented.
|
|
108708
|
+
|
|
108705
108709
|
After completing the investigation, triage must return the evidence-backed report to \`${entryPoint}\` with the normal handoff command.
|
|
108706
108710
|
|
|
108707
108711
|
\`\`\`bash
|
|
@@ -108768,11 +108772,12 @@ var init_planner_triage_chat = __esm(() => {
|
|
|
108768
108772
|
|
|
108769
108773
|
// ../../services/backend/prompts/teams/uiux-engineer-handoff-templates.ts
|
|
108770
108774
|
function getUiuxEngineerFocus() {
|
|
108771
|
-
return "complete user flows, loading/empty/error/success states, component ownership, theme tokens and layout, responsive details, and UI tests";
|
|
108775
|
+
return "complete user flows, screen and flow drawings, loading/empty/error/success states, component ownership, theme tokens and layout, responsive details, and UI tests";
|
|
108772
108776
|
}
|
|
108773
108777
|
function getUiuxEngineerRequirements() {
|
|
108774
108778
|
return `
|
|
108775
108779
|
- Specify complete user flows with explicit loading, empty, error, success, disabled, and retry states where applicable.
|
|
108780
|
+
- For any user-facing workflow, draw each affected screen as an ASCII wireframe and each flow as a Mermaid flowchart, using the "Screens, Flows, and Layouts" section. Each screen drawing labels every button, input, and link with its exact text and the repository component it uses; each flow drawing shows the loading, empty, error, success, disabled, and retry transitions that apply.
|
|
108776
108781
|
- Define component hierarchy and ownership, props/state/events, data boundaries, and interaction behavior.
|
|
108777
108782
|
- Choose concrete existing ShadCN components with the Base UI backend and lucide-react/react-icons conventions; do not write "use an appropriate component."
|
|
108778
108783
|
- Specify Tailwind utility classes or semantic theme-token classes for layout, spacing, sizing, typography, states, responsive behavior, and dark mode.
|
|
@@ -108787,7 +108792,7 @@ function getEntryPointToUiuxEngineerHandoffTemplate(query) {
|
|
|
108787
108792
|
|
|
108788
108793
|
Provide the request, relevant constraints, and the files or product surfaces that need inspection. Ask for one evidence-backed design focused on ${getUiuxEngineerFocus()}.
|
|
108789
108794
|
|
|
108790
|
-
After completing the design, hand it back to \`${entryPoint}\` with the normal handoff command
|
|
108795
|
+
After completing the design, the \`uiux-engineer\` must hand it back to \`${entryPoint}\` with the normal handoff command, then stop; it must not implement the design or delegate further work.
|
|
108791
108796
|
|
|
108792
108797
|
\`\`\`bash
|
|
108793
108798
|
${handoffCommand({
|
|
@@ -108815,6 +108820,24 @@ function getUiuxEngineerToEntryPointHandoffTemplate(query) {
|
|
|
108815
108820
|
- Name concrete repository paths, existing components/tokens, props/state/events, data boundaries, acceptance criteria, risks, and verification steps.
|
|
108816
108821
|
${getUiuxEngineerRequirements()}
|
|
108817
108822
|
|
|
108823
|
+
## Screens, Flows, and Layouts
|
|
108824
|
+
<required for a user-facing workflow; write exactly \`Not Applicable.\` for a non-visual change>
|
|
108825
|
+
|
|
108826
|
+
### Flow: <flow name>
|
|
108827
|
+
\`\`\`mermaid
|
|
108828
|
+
flowchart TD
|
|
108829
|
+
<one node per screen or state; each edge labelled with the user action or system event that triggers it; include the loading, empty, error, success, disabled, and retry states that apply>
|
|
108830
|
+
\`\`\`
|
|
108831
|
+
|
|
108832
|
+
### Screen: <screen name> (\`<route or entry point>\`)
|
|
108833
|
+
\`\`\`text
|
|
108834
|
+
<ASCII wireframe: the layout regions, headings, and every button, input, and link labelled with its exact text, with the repository component in brackets, for example [Button variant="destructive"]. Show the empty, loading, and error variants as separate drawings if they change the layout.>
|
|
108835
|
+
\`\`\`
|
|
108836
|
+
- States: <loading, empty, error, success, disabled, retry — which apply and how each changes the layout>
|
|
108837
|
+
- Responsive: <breakpoint behavior, one line per breakpoint that changes the layout>
|
|
108838
|
+
|
|
108839
|
+
<repeat one ### Flow block per flow and one ### Screen block per screen; do not collapse several screens into one drawing>
|
|
108840
|
+
|
|
108818
108841
|
## Force Multipliers
|
|
108819
108842
|
<name the existing components, patterns, tokens, utilities, and platform conventions to reuse, and state why each reduces implementation risk or duplication>
|
|
108820
108843
|
- Keep the design within the repository's established source-of-truth boundaries and avoid introducing a new registry or abstraction without evidence.
|
|
@@ -110245,7 +110268,7 @@ var init_architect3 = __esm(() => {
|
|
|
110245
110268
|
init_sections();
|
|
110246
110269
|
ARCHITECT_GUIDANCE = `## Architect Operating Model
|
|
110247
110270
|
|
|
110248
|
-
You are the architect responsible for
|
|
110271
|
+
You are the architect responsible for system design and code-level implementation plans. You are advisory only: do not implement code, edit files, or act as the builder.
|
|
110249
110272
|
|
|
110250
110273
|
${"{SESSION_CONTINUITY}"}
|
|
110251
110274
|
|
|
@@ -110279,7 +110302,7 @@ var init_game_asset_designer2 = __esm(() => {
|
|
|
110279
110302
|
init_sections();
|
|
110280
110303
|
GAME_ASSET_DESIGNER_GUIDANCE = `## Game Asset Designer Operating Model
|
|
110281
110304
|
|
|
110282
|
-
You specify production-quality game assets
|
|
110305
|
+
You specify and generate production-quality game and UI assets (generation is the default unless the brief says \`spec only\`), using \`chatroom generate-image --platform=fal\`. You are not the builder or planner; do not implement application logic outside the asset-integration paths the brief allows. Your delivery report uses Proof of Principles and Proof of Completion.
|
|
110283
110306
|
|
|
110284
110307
|
${"{SESSION_CONTINUITY}"}
|
|
110285
110308
|
|
|
@@ -110454,17 +110477,18 @@ ${getInterRoleHandoffRule()}
|
|
|
110454
110477
|
|
|
110455
110478
|
1. Recover the authoritative user request and relevant chatroom history before designing. Inspect existing UI patterns, components, tokens, interaction conventions, and nearby tests that constrain the experience.
|
|
110456
110479
|
2. Treat the injected \`<handoff-templates>\` UI/UX Engineer Design Handoff Brief as authoritative. Complete every section in its exact order, using \`Not Applicable.\` only for a genuinely inapplicable section and never as filler.
|
|
110457
|
-
3. Produce exactly one recommended, evidence-backed interface and experience design. Do not present alternatives or generic UX advice. Include concrete repository paths, complete user flows, and explicit loading, empty, error,
|
|
110458
|
-
4.
|
|
110459
|
-
5.
|
|
110460
|
-
6.
|
|
110461
|
-
7.
|
|
110480
|
+
3. Produce exactly one recommended, evidence-backed interface and experience design. Do not present alternatives or generic UX advice. Include concrete repository paths, complete user flows, and explicit loading, empty, error, and success states, plus disabled and retry states where applicable.
|
|
110481
|
+
4. For any user-facing workflow, draw each affected screen as an ASCII wireframe (every button and state labelled) and each flow as a Mermaid flowchart in the handback. Write \`Not Applicable.\` for the drawings section only when the change is non-visual.
|
|
110482
|
+
5. Specify component hierarchy and ownership, props/state/events, data boundaries, and interaction behavior. Do not propose or require web accessibility implementation work unless the user explicitly requests it.
|
|
110483
|
+
6. Choose concrete ShadCN components using the Base UI backend and existing icon conventions. Specify exact Tailwind utility or semantic theme-token classes for layout, spacing, sizing, typography, states, responsive behavior, and dark mode; keep the styling theme-aware and make state ownership explicit. Also specify responsive breakpoints, visual feedback, destructive-action safeguards, and the UI/integration test plan.
|
|
110484
|
+
7. Keep the proposal within the user's request and the repository's established patterns. Do not expand scope, spawn subagents, implement the design, edit files, or act as the builder. You do not generate asset files: any icon or illustration is specified by \`game-asset-designer\` and generated by \`game-asset-designer\`.
|
|
110485
|
+
8. Hand the complete design brief to \`{ENTRY_POINT_ROLE}\` with the normal command, then stop:
|
|
110462
110486
|
|
|
110463
110487
|
\`\`\`bash
|
|
110464
110488
|
chatroom handoff --chatroom-id="<chatroom-id>" --role="uiux-engineer" --next-role="{ENTRY_POINT_ROLE}"
|
|
110465
110489
|
\`\`\`
|
|
110466
110490
|
|
|
110467
|
-
The handoff must contain every required brief section, repository evidence, chosen flow, exact component/prop/state details, explicit states,
|
|
110491
|
+
The handoff must contain every required brief section, repository evidence, chosen flow, exact component/prop/state details, explicit states, ownership decisions, concrete classes/tokens, risks, acceptance criteria, tests, and implementation sequence \`{ENTRY_POINT_ROLE}\` needs to coordinate implementation. It must not contain implementation edits or alternative designs.`;
|
|
110468
110492
|
});
|
|
110469
110493
|
|
|
110470
110494
|
// ../../services/backend/prompts/cli/roles/verifier.ts
|
|
@@ -110630,7 +110654,7 @@ var init_templates = __esm(() => {
|
|
|
110630
110654
|
"game-asset-designer": {
|
|
110631
110655
|
role: "game-asset-designer",
|
|
110632
110656
|
title: "Game Asset Designer",
|
|
110633
|
-
description: "You are the game asset designer responsible for specifying production-quality game assets (
|
|
110657
|
+
description: "You are the game asset designer responsible for specifying and generating production-quality game and UI assets (generation is the default unless the brief says `spec only`); you do not implement application code.",
|
|
110634
110658
|
responsibilities: [
|
|
110635
110659
|
"Recover the target, asset request, style reference, and budgets from the planner brief",
|
|
110636
110660
|
"Inspect the repository for existing assets, naming and folder conventions, and engine import configuration",
|
|
@@ -110643,13 +110667,13 @@ var init_templates = __esm(() => {
|
|
|
110643
110667
|
verifier: {
|
|
110644
110668
|
role: "verifier",
|
|
110645
110669
|
title: "Verifier",
|
|
110646
|
-
description: "You are the verifier responsible for judging, from chatroom logs only, whether the user's last message was achieved; you do not implement,
|
|
110670
|
+
description: "You are the verifier responsible for judging, from chatroom logs only, whether the user's last message was achieved; you do not implement, build, or edit code, and you run only the tests the user explicitly asked for.",
|
|
110647
110671
|
responsibilities: [
|
|
110648
110672
|
"Recover the user's last message and the pinned context from the chatroom logs",
|
|
110649
110673
|
"Break the objective into numbered requirements",
|
|
110650
110674
|
"Check each requirement against concrete evidence in the logs, treating the planner claim as unverified",
|
|
110651
110675
|
"Return one verdict (ACHIEVED, NOT_ACHIEVED, or INCONCLUSIVE) with evidence and the missing items",
|
|
110652
|
-
"Execute nothing: no
|
|
110676
|
+
"Execute nothing except the tests the user explicitly asked for: no builds, lints, or edits"
|
|
110653
110677
|
],
|
|
110654
110678
|
defaultHandoffTarget: "planner"
|
|
110655
110679
|
},
|
|
@@ -148693,4 +148717,4 @@ program2.hook("preAction", async (_thisCommand, actionCommand) => {
|
|
|
148693
148717
|
});
|
|
148694
148718
|
program2.parse();
|
|
148695
148719
|
|
|
148696
|
-
//# debugId=
|
|
148720
|
+
//# debugId=E840D0ACF405C0D664756E2164756E21
|