nfo-cli 0.0.3 → 0.0.4-improve-prompting

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.
Files changed (59) hide show
  1. package/dist/cli.js +64 -54
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/restore.js +0 -1
  4. package/dist/commands/restore.js.map +1 -1
  5. package/dist/commands/tui.js +6 -4
  6. package/dist/commands/tui.js.map +1 -1
  7. package/dist/permission.js +8 -8
  8. package/dist/permission.js.map +1 -1
  9. package/dist/prompts/orchestrator-role.js +29 -7
  10. package/dist/prompts/orchestrator-role.js.map +1 -1
  11. package/dist/prompts/tool-discipline.js +6 -0
  12. package/dist/prompts/tool-discipline.js.map +1 -1
  13. package/dist/tui/App.js +5 -5
  14. package/dist/tui/App.js.map +1 -1
  15. package/dist/tui/AppView.js +1 -1
  16. package/dist/tui/AppView.js.map +1 -1
  17. package/dist/tui/SidebarHeader.js +1 -1
  18. package/dist/tui/SidebarHeader.js.map +1 -1
  19. package/dist/tui/StatusBar.js +1 -1
  20. package/dist/tui/StatusBar.js.map +1 -1
  21. package/dist/tui/components/App.js +428 -0
  22. package/dist/tui/components/App.js.map +1 -0
  23. package/dist/tui/components/AppView.js +13 -0
  24. package/dist/tui/components/AppView.js.map +1 -0
  25. package/dist/tui/components/Auditorium.js +17 -0
  26. package/dist/tui/components/Auditorium.js.map +1 -0
  27. package/dist/tui/components/ConcertHall.js +11 -0
  28. package/dist/tui/components/ConcertHall.js.map +1 -0
  29. package/dist/tui/components/Help.js +41 -0
  30. package/dist/tui/components/Help.js.map +1 -0
  31. package/dist/tui/components/OrchestratorPane.js +34 -0
  32. package/dist/tui/components/OrchestratorPane.js.map +1 -0
  33. package/dist/tui/components/SidebarHeader.js +6 -0
  34. package/dist/tui/components/SidebarHeader.js.map +1 -0
  35. package/dist/tui/components/StatusBar.js +6 -0
  36. package/dist/tui/components/StatusBar.js.map +1 -0
  37. package/package.json +1 -1
  38. package/plan-explorer-musician-hardening.md +56 -0
  39. package/src/cli.ts +119 -86
  40. package/src/commands/tui.tsx +10 -4
  41. package/src/permission.ts +8 -8
  42. package/src/prompts/orchestrator-role.ts +26 -2
  43. package/src/prompts/tool-discipline.ts +6 -0
  44. package/src/tui/{App.tsx → components/App.tsx} +22 -20
  45. package/src/tui/{AppView.tsx → components/AppView.tsx} +5 -3
  46. package/src/tui/{Auditorium.tsx → components/Auditorium.tsx} +3 -3
  47. package/src/tui/{ConcertHall.tsx → components/ConcertHall.tsx} +1 -1
  48. package/src/tui/{Help.tsx → components/Help.tsx} +0 -9
  49. package/src/tui/{OrchestratorPane.tsx → components/OrchestratorPane.tsx} +1 -1
  50. package/src/tui/{SidebarHeader.tsx → components/SidebarHeader.tsx} +3 -1
  51. package/src/tui/{StatusBar.tsx → components/StatusBar.tsx} +1 -3
  52. package/tests/permission.test.ts +15 -5
  53. package/tests/tui/AppView.test.tsx +2 -2
  54. package/tests/tui/Auditorium.test.tsx +1 -1
  55. package/tests/tui/ConcertHall.test.tsx +1 -1
  56. package/tests/tui/Help.test.tsx +1 -1
  57. package/tests/tui/OrchestratorPane.test.ts +1 -1
  58. package/tests/tui/SidebarHeader.test.tsx +1 -1
  59. package/tests/tui/StatusBar.test.tsx +1 -1
package/dist/cli.js CHANGED
@@ -1,19 +1,20 @@
1
1
  #!/usr/bin/env node
2
- import { Command } from 'commander';
3
- import { decideAction, createOrchestra } from './commands/launch.js';
4
- import { attachOrRestore } from './commands/attach.js';
5
- import { listOrchestras, formatOrchestraList } from './commands/list.js';
6
- import { isPermissionLevel, AUTO_CONFIRM_PHRASE, AUTO_WARNING } from './permission.js';
7
- import { detectClaude } from './claude-detect.js';
8
- import { createInterface } from 'node:readline/promises';
2
+ import { Command } from "commander";
3
+ import { decideAction, createOrchestra } from "./commands/launch.js";
4
+ import { attachOrRestore } from "./commands/attach.js";
5
+ import { listOrchestras, formatOrchestraList, } from "./commands/list.js";
6
+ import { isPermissionLevel, DANGEROUSLY_SKIP_PERMISSIONS_CONFIRM_PHRASE, DANGEROUSLY_SKIP_PERMISSIONS_WARNING, } from "./permission.js";
7
+ import { detectClaude } from "./claude-detect.js";
8
+ import { createInterface } from "node:readline/promises";
9
+ import packageJson from "../package.json" with { type: "json" };
9
10
  const program = new Command();
10
11
  program
11
- .name('nfo')
12
- .description('NoFluffOrchestra — TUI multi-agent orchestrator')
13
- .version('0.0.0');
12
+ .name("nfo")
13
+ .description("NoFluffOrchestra — TUI multi-agent orchestrator")
14
+ .version(packageJson.version);
14
15
  program
15
- .argument('[id]', 'Orchestra id to attach (optional)')
16
- .option('--notify-on-permission', 'bell + desktop notify when a musician awaits permission')
16
+ .argument("[id]", "Orchestra id to attach (optional)")
17
+ .option("--notify-on-permission", "bell + desktop notify when a musician awaits permission")
17
18
  .action(async (id, opts) => {
18
19
  await detectClaude();
19
20
  try {
@@ -23,7 +24,7 @@ program
23
24
  }
24
25
  const decision = await decideAction(process.cwd());
25
26
  switch (decision.kind) {
26
- case 'create': {
27
+ case "create": {
27
28
  const level = await promptPermissionLevel();
28
29
  await createOrchestra({
29
30
  repoRoot: decision.repoRoot,
@@ -33,15 +34,15 @@ program
33
34
  });
34
35
  return;
35
36
  }
36
- case 'attach_existing':
37
+ case "attach_existing":
37
38
  await attachOrRestore(decision.orchestraId);
38
39
  return;
39
- case 'pick': {
40
+ case "pick": {
40
41
  const picked = await promptOrchestraPicker(decision.summaries);
41
42
  await attachOrRestore(picked);
42
43
  return;
43
44
  }
44
- case 'error':
45
+ case "error":
45
46
  console.error(decision.message);
46
47
  process.exit(1);
47
48
  }
@@ -52,77 +53,86 @@ program
52
53
  }
53
54
  });
54
55
  program
55
- .command('list')
56
- .description('List all known orchestras')
56
+ .command("list")
57
+ .description("List all known orchestras")
57
58
  .action(async () => {
58
59
  const summaries = await listOrchestras();
59
60
  console.log(formatOrchestraList(summaries));
60
61
  });
61
62
  program
62
- .command('restore <id>')
63
- .description('Force-restore a stopped orchestra')
64
- .option('--notify-on-permission', 'bell + desktop notify when a musician awaits permission')
63
+ .command("restore <id>")
64
+ .description("Force-restore a stopped orchestra")
65
+ .option("--notify-on-permission", "bell + desktop notify when a musician awaits permission")
65
66
  .action(async (id, opts) => {
66
- const { restoreOrchestra } = await import('./commands/restore.js');
67
+ const { restoreOrchestra } = await import("./commands/restore.js");
67
68
  await restoreOrchestra(id, undefined, opts.notifyOnPermission);
68
69
  });
69
70
  program
70
- .command('kill <id>')
71
- .description('Tear down an orchestra (state archived, notes preserved)')
72
- .option('-y, --yes', 'Skip confirmation prompt')
71
+ .command("kill <id>")
72
+ .description("Tear down an orchestra (state archived, notes preserved)")
73
+ .option("-y, --yes", "Skip confirmation prompt")
73
74
  .action(async (id, opts) => {
74
- const { killOrchestra } = await import('./commands/kill.js');
75
+ const { killOrchestra } = await import("./commands/kill.js");
75
76
  await killOrchestra(id, opts);
76
77
  });
77
78
  program
78
- .command('notes <id>')
79
- .description('Open the orchestra\'s notes/ directory in $EDITOR')
79
+ .command("notes <id>")
80
+ .description("Open the orchestra's notes/ directory in $EDITOR")
80
81
  .action(async (id) => {
81
- const { openNotes } = await import('./commands/notes.js');
82
+ const { openNotes } = await import("./commands/notes.js");
82
83
  await openNotes(id);
83
84
  });
84
85
  program
85
- .command('mcp-server', { hidden: true })
86
- .description('(internal) Run the NFO MCP server attached to an orchestra')
87
- .requiredOption('--orchestra-id <id>', 'Orchestra id')
88
- .option('--caller-musician-id <id>', 'When the server is hosting a Musician')
86
+ .command("mcp-server", { hidden: true })
87
+ .description("(internal) Run the NFO MCP server attached to an orchestra")
88
+ .requiredOption("--orchestra-id <id>", "Orchestra id")
89
+ .option("--caller-musician-id <id>", "When the server is hosting a Musician")
89
90
  .action(async (opts) => {
90
- const { runMcpServerCli } = await import('./commands/mcp-server.js');
91
+ const { runMcpServerCli } = await import("./commands/mcp-server.js");
91
92
  await runMcpServerCli({
92
93
  orchestraId: opts.orchestraId,
93
94
  callerMusicianId: opts.callerMusicianId,
94
95
  });
95
96
  });
96
97
  program
97
- .command('tui', { hidden: true })
98
- .description('(internal) Run the NFO Ink TUI for an orchestra')
99
- .requiredOption('--orchestra-id <id>', 'Orchestra id')
98
+ .command("tui", { hidden: true })
99
+ .description("(internal) Run the NFO Ink TUI for an orchestra")
100
+ .requiredOption("--orchestra-id <id>", "Orchestra id")
100
101
  .action(async (opts) => {
101
- const { runTui } = await import('./commands/tui.js');
102
- await runTui({ orchestraId: opts.orchestraId });
102
+ const { runTui } = await import("./commands/tui.js");
103
+ await runTui({
104
+ orchestraId: opts.orchestraId,
105
+ version: packageJson.version,
106
+ });
103
107
  });
104
108
  program.parseAsync(process.argv);
105
109
  async function promptPermissionLevel() {
106
110
  const rl = createInterface({ input: process.stdin, output: process.stdout });
107
111
  try {
108
112
  const ans = (await rl.question(`Permission level for this orchestra:
109
- 1) auto — RISKY: bypasses all permission checks
110
- 2) autonomous — auto-accept edits, prompt on risky tools
111
- 3) supervised claude's default prompt-on-risky behavior
112
- 4) strict read-only / plan mode
113
- Choose [1-4] (default 3): `)).trim();
113
+ 1) Dangerously skip permissions — RISKY: bypasses all permission checks
114
+ 2) auto Claude auto mode (prompts only on risky actions)
115
+ 3) edits auto-accept edits, prompt on shell/tools
116
+ 4) supervised claude's default prompt-on-risky behavior
117
+ 5) strict — read-only / plan mode
118
+ Choose [1-5] (default 4): `)).trim();
114
119
  const map = {
115
- '1': 'auto', '2': 'autonomous', '3': 'supervised', '4': 'strict', '': 'supervised',
120
+ "1": "dangerouslySkipPermissions",
121
+ "2": "auto",
122
+ "3": "acceptEdits",
123
+ "4": "supervised",
124
+ "5": "strict",
125
+ "": "supervised",
116
126
  };
117
127
  const level = map[ans];
118
128
  if (!level || !isPermissionLevel(level)) {
119
129
  throw new Error(`Invalid choice: ${ans}`);
120
130
  }
121
- if (level === 'auto') {
122
- console.log('\n' + AUTO_WARNING + '\n');
123
- const confirm = (await rl.question('> ')).trim();
124
- if (confirm !== AUTO_CONFIRM_PHRASE) {
125
- throw new Error('Auto mode not confirmed. Aborting.');
131
+ if (level === "dangerouslySkipPermissions") {
132
+ console.log("\n" + DANGEROUSLY_SKIP_PERMISSIONS_WARNING + "\n");
133
+ const confirm = (await rl.question("> ")).trim();
134
+ if (confirm !== DANGEROUSLY_SKIP_PERMISSIONS_CONFIRM_PHRASE) {
135
+ throw new Error("Auto mode not confirmed. Aborting.");
126
136
  }
127
137
  }
128
138
  return level;
@@ -134,14 +144,14 @@ Choose [1-4] (default 3): `)).trim();
134
144
  async function promptOrchestraPicker(summaries) {
135
145
  const rl = createInterface({ input: process.stdin, output: process.stdout });
136
146
  try {
137
- console.log('Multiple orchestras found:');
147
+ console.log("Multiple orchestras found:");
138
148
  summaries.forEach((s, i) => {
139
- console.log(` ${i + 1}) ${s.running ? '' : ''} ${s.id} (${s.project_path})`);
149
+ console.log(` ${i + 1}) ${s.running ? "" : ""} ${s.id} (${s.project_path})`);
140
150
  });
141
- const choice = (await rl.question('Pick one [1-N]: ')).trim();
151
+ const choice = (await rl.question("Pick one [1-N]: ")).trim();
142
152
  const idx = Number(choice) - 1;
143
153
  if (Number.isNaN(idx) || idx < 0 || idx >= summaries.length) {
144
- throw new Error('Invalid choice');
154
+ throw new Error("Invalid choice");
145
155
  }
146
156
  return summaries[idx].id;
147
157
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,6 @@ export async function restoreOrchestra(orchestraId, dryRun, notifyOnPermission)
46
46
  }
47
47
  return { action: "attached", orchestraId };
48
48
  }
49
- // Spec §4.3: recreate the tmux session, --resume the Orchestrator.
50
49
  await createDetachedSession(name, state.project_path);
51
50
  await ensureNfoSessionUi(name);
52
51
  await ensureDashboardWindow(name, state.project_path, orchestraId);
@@ -1 +1 @@
1
- {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAE1B,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,OAAO,GAAG,IAAI;SACjB,WAAW,EAAE;SACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAmB,EACnB,MAAgB,EAChB,kBAA4B;IAE5B,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,KAAK,CAAC,oBAAoB,GAAG,kBAAkB,CAAC;QAChD,MAAM,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACnE,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,YAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;YAChD,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,mEAAmE;IACnE,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACnE,MAAM,aAAa,CAAC,GAAG,IAAI,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAEzD,MAAM,aAAa,GAAG,UAAU,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC;QACxC,CAAC,CAAC,MAAM,0BAA0B,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE1D,qEAAqE;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC7E,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,SAAS,CAAC,UAAU,EAAE,2BAA2B,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,WAAW,CACf,GAAG,IAAI,IAAI,EACX,kBAAkB,CAAC;QACjB,KAAK;QACL,eAAe,EAAE,KAAK,CAAC,uBAAuB;QAC9C,aAAa;QACb,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KAC5D,CAAC,CACH,CAAC;IAEF,mEAAmE;IACnE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC;QAChE,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;YAClC,YAAY;YACZ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,IAAI;YACJ,UAAU;YACV,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,cAAc;SACf,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1C,4EAA4E;QAC5E,MAAM,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAErE,MAAM,kBAAkB,GAAG,IAAI,CAC7B,YAAY,CAAC,WAAW,CAAC,EACzB,YAAY,QAAQ,CAAC,EAAE,YAAY,CACpC,CAAC;QACF,MAAM,SAAS,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,qBAAqB,GAAG,MAAM,sBAAsB,CACxD,WAAW,EACX,QAAQ,CAAC,EAAE,CACZ,CAAC;QACF,MAAM,aAAa,CAAC,GAAG,IAAI,IAAI,WAAW,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACtE,MAAM,WAAW,CACf,GAAG,IAAI,IAAI,WAAW,EAAE,EACxB,kBAAkB,CAAC;YACjB,KAAK;YACL,eAAe,EAAE,QAAQ,CAAC,iBAAiB;YAC3C,aAAa,EAAE,qBAAqB;YACpC,UAAU,EAAE,kBAAkB;YAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ;SAClC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,YAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;QAChD,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { render } from 'ink';
3
- import { App } from '../tui/App.js';
4
- import { readState } from '../state.js';
2
+ import { render } from "ink";
3
+ import { App } from "../tui/components/App.js";
4
+ import { readState } from "../state.js";
5
5
  export async function runTui(opts) {
6
6
  const state = await readState(opts.orchestraId);
7
7
  if (!state) {
8
8
  throw new Error(`Unknown orchestra: ${opts.orchestraId}`);
9
9
  }
10
- const instance = render(_jsx(App, { orchestraId: opts.orchestraId }), { exitOnCtrlC: false });
10
+ const instance = render(_jsx(App, { orchestraId: opts.orchestraId, version: opts.version }), {
11
+ exitOnCtrlC: false,
12
+ });
11
13
  await instance.waitUntilExit();
12
14
  }
13
15
  //# sourceMappingURL=tui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/commands/tui.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAmB;IAC9C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAC,GAAG,IAAC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/commands/tui.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAmB;IAC9C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CACrB,KAAC,GAAG,IAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,EAC7D;QACE,WAAW,EAAE,KAAK;KACnB,CACF,CAAC;IACF,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;AACjC,CAAC"}
@@ -1,14 +1,14 @@
1
- export const PERMISSION_LEVELS = ['auto', 'autonomous', 'supervised', 'strict'];
1
+ export const PERMISSION_LEVELS = ['dangerouslySkipPermissions', 'auto', 'acceptEdits', 'supervised', 'strict'];
2
2
  export function isPermissionLevel(s) {
3
3
  return PERMISSION_LEVELS.includes(s);
4
4
  }
5
5
  export function claudeFlagsForLevel(level) {
6
6
  switch (level) {
7
- case 'auto':
8
- // Spec §5.2 + §12.2 open question: exact bypass flag is `--dangerously-skip-permissions`
9
- // in current Claude Code releases. If a future release renames it, update here.
7
+ case 'dangerouslySkipPermissions':
10
8
  return ['--dangerously-skip-permissions'];
11
- case 'autonomous':
9
+ case 'auto':
10
+ return ['--permission-mode', 'auto'];
11
+ case 'acceptEdits':
12
12
  return ['--permission-mode', 'acceptEdits'];
13
13
  case 'supervised':
14
14
  return ['--permission-mode', 'default'];
@@ -16,11 +16,11 @@ export function claudeFlagsForLevel(level) {
16
16
  return ['--permission-mode', 'plan'];
17
17
  }
18
18
  }
19
- export const AUTO_CONFIRM_PHRASE = 'I understand';
20
- export const AUTO_WARNING = `⚠ AUTO mode disables all permission checks.
19
+ export const DANGEROUSLY_SKIP_PERMISSIONS_CONFIRM_PHRASE = 'I understand';
20
+ export const DANGEROUSLY_SKIP_PERMISSIONS_WARNING = `⚠ "Dangerously skip permissions" mode disables all permission checks.
21
21
  Musicians can execute arbitrary shell commands, modify files anywhere on
22
22
  this system, and access the network without asking. Worktrees limit but
23
23
  do not contain risky operations. Use this only in trusted sandboxes or
24
24
  when you accept these risks.
25
- Type "${AUTO_CONFIRM_PHRASE}" to continue.`;
25
+ Type "${DANGEROUSLY_SKIP_PERMISSIONS_CONFIRM_PHRASE}" to continue.`;
26
26
  //# sourceMappingURL=permission.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permission.js","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAU,CAAC;AAGzF,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,OAAQ,iBAAuC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAsB;IACxD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,yFAAyF;YACzF,gFAAgF;YAChF,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAC5C,KAAK,YAAY;YACf,OAAO,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;QAC9C,KAAK,YAAY;YACf,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;QAKpB,mBAAmB,gBAAgB,CAAC"}
1
+ {"version":3,"file":"permission.js","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,4BAA4B,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAU,CAAC;AAGxH,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,OAAQ,iBAAuC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAsB;IACxD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,4BAA4B;YAC/B,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAC5C,KAAK,MAAM;YACT,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACvC,KAAK,aAAa;YAChB,OAAO,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;QAC9C,KAAK,YAAY;YACf,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,2CAA2C,GAAG,cAAc,CAAC;AAE1E,MAAM,CAAC,MAAM,oCAAoC,GAAG;;;;;QAK5C,2CAA2C,gBAAgB,CAAC"}
@@ -1,7 +1,4 @@
1
1
  import { ORCHESTRATOR_TOOL_DISCIPLINE } from "./tool-discipline.js";
2
- /**
3
- * Phase 2 Orchestrator role addendum. Documents the NFO MCP tool surface.
4
- */
5
2
  export const ORCHESTRATOR_ROLE_PROMPT_V1 = `You are the Orchestrator of an NFO orchestra.
6
3
 
7
4
  NFO (NoFluffOrchestra) is a TUI for multi-agent work on the user's repository.
@@ -11,8 +8,8 @@ Available NFO tools (in addition to your normal Claude Code tools):
11
8
 
12
9
  spawn_musician({ name, task, worktree?, branch_from?, model? })
13
10
  Create a Musician with the given task. By default the Musician runs in a
14
- fresh git worktree off HEAD. Pass worktree=false for trivially isolated
15
- work (e.g., docs-only) that doesn't need an isolated branch. Returns the
11
+ fresh git worktree off HEAD.
12
+ Pass worktree=false for trivially isolated and research work (e.g., docs-only) that doesn't need an isolated branch. Returns the
16
13
  musician_id. Provide a model to be used by the Musician, otherwise it defaults to sonnet.
17
14
  For trivial tasks Haiku is a good choice; for complex coding work, Sonnet is better.
18
15
 
@@ -29,9 +26,10 @@ Available NFO tools (in addition to your normal Claude Code tools):
29
26
  Return all currently-active Musicians with their status.
30
27
 
31
28
  dismiss_musician({ musician_id, archive_worktree? })
32
- Tear down a Musician. By default the worktree is archived under
29
+ Tear down a Musician. The worktree is archived under
33
30
  .../archive/<musician_id>/worktree (the branch is preserved). Pass
34
- archive_worktree=false to drop the worktree entirely.
31
+ archive_worktree=false to drop the worktree entirely. By default drop the worktree. Ask
32
+ the user before archiving, as these can accumulate and consume disk space.
35
33
 
36
34
  note_write({ filename, content }) / note_read({ filename }) / note_list()
37
35
  Your private project memory under ~/.config/nfo/projects/<key>/notes/.
@@ -46,6 +44,12 @@ Coordination guidance:
46
44
  - For agent coordination, PREFER the NFO MCP tools over Claude Code's built-in
47
45
  Task tool. The user tracks Musician work through NFO; Task spawns are invisible
48
46
  to NFO.
47
+ - Deploy research musicians that investigate the codebase for the given task. They are only allowed
48
+ to research and report back findings, without modifying the codebase.
49
+ - Before spawning a coding Musician, prepare a complete taks spec:
50
+ Relevant paths, line numbers, the exact changes and why, acceptance criteria,
51
+ and any constraints (e.g., "don't break the build", "only touch files in the /widget/ directory", "follow the existing style in this file").
52
+ A well-scoped prompt is your primary output on coding requests.
49
53
  - Worktrees solve concurrent file-edit safety, not API coupling. If two
50
54
  Musicians' outputs need to be wired together, sequence the work, or spawn an
51
55
  integration Musician afterward.
@@ -58,5 +62,23 @@ Coordination guidance:
58
62
  - Project-level guidance in CLAUDE.md still applies; respect it.
59
63
  - You can use Superpowers if present but make sure that works are delegated to
60
64
  Musicians in the end if subagent driven development is picked by the user.
65
+ - Coding task workflow (two stages):
66
+
67
+ Stage 1 — Explorer Musician (Sonnet, worktree=false):
68
+ Task the Explorer to find and report back:
69
+ • Relevant file paths and line numbers for the change.
70
+ • The existing pattern or convention to follow.
71
+ • Any callers / dependents that may be affected (blast radius).
72
+ • Anything that would block or constrain the implementation.
73
+
74
+ Stage 2 — Coder Musician (Haiku preferred or Sonnet if really needed, fresh worktree if required):
75
+ Build the task spec from the Explorer's findings. Include:
76
+ • Exact files and line numbers to touch.
77
+ • The change required and why (one sentence).
78
+ • The pattern to follow (point to an existing example in the codebase).
79
+ • Acceptance criteria (what done looks like).
80
+ • Explicit constraints (don't break X, preserve Y interface).
81
+ A well-scoped spec is your primary output for coding requests.
82
+
61
83
  `;
62
84
  //# sourceMappingURL=orchestrator-role.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-role.js","sourceRoot":"","sources":["../../src/prompts/orchestrator-role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwCvC,4BAA4B,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;CAgB7D,CAAC"}
1
+ {"version":3,"file":"orchestrator-role.js","sourceRoot":"","sources":["../../src/prompts/orchestrator-role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyCvC,4BAA4B,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC7D,CAAC"}
@@ -5,6 +5,12 @@ export const ORCHESTRATOR_TOOL_DISCIPLINE = `Tool discipline (mandatory):
5
5
  something later. Call the corresponding NFO tool in the same turn.
6
6
  - Do not use Claude Code's built-in Task tool for Musician coordination; those
7
7
  agents are invisible to NFO.
8
+ - Never write, edit or refactor code yourself. All coding tasks must be delegated
9
+ to a Musician via \`spawn_musician\`. Your task as an Orchestrator is to prepare
10
+ and hand off work, not to execute it.
11
+ - For any coding task, always spawn a Sonnet Explorer Musician first (worktree=false, model="sonnet"), Only
12
+ after the Explorer reports back may you spawn a Coder Musician. Never read source files
13
+ yourself to build a coding task spec.
8
14
  - When a Musician reports back, resolve it in the same turn with an NFO tool
9
15
  call (usually \`dismiss_musician\` or \`message_musician\`). A prose-only
10
16
  acknowledgement is non-compliant.
@@ -1 +1 @@
1
- {"version":3,"file":"tool-discipline.js","sourceRoot":"","sources":["../../src/prompts/tool-discipline.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;CAU3C,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;CAUvC,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzD,OAAO,GAAG,IAAI;;;;;wFAKwE,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"tool-discipline.js","sourceRoot":"","sources":["../../src/prompts/tool-discipline.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;CAgB3C,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;CAUvC,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzD,OAAO,GAAG,IAAI;;;;;wFAKwE,CAAC;AACzF,CAAC"}
package/dist/tui/App.js CHANGED
@@ -287,10 +287,10 @@ export function App(props) {
287
287
  }
288
288
  const mouseScroll = toTerminalMouseScroll(input);
289
289
  if (mouseScroll) {
290
- const insideTerminalViewport = mouseScroll.column >= terminalScreenLeft
291
- && mouseScroll.column <= terminalScreenRight
292
- && mouseScroll.row >= terminalScreenTop
293
- && mouseScroll.row <= terminalScreenBottom;
290
+ const insideTerminalViewport = mouseScroll.column >= terminalScreenLeft &&
291
+ mouseScroll.column <= terminalScreenRight &&
292
+ mouseScroll.row >= terminalScreenTop &&
293
+ mouseScroll.row <= terminalScreenBottom;
294
294
  if (insideTerminalViewport) {
295
295
  const translatedColumn = mouseScroll.column - terminalScreenLeft + 1;
296
296
  const translatedRow = mouseScroll.row - terminalScreenTop + 1;
@@ -423,6 +423,6 @@ export function App(props) {
423
423
  const dismissConfirmation = dismissTarget
424
424
  ? `Confirm dismiss ${dismissTarget.name} · [y]/[Enter] confirm · [n]/[Esc] cancel`
425
425
  : null;
426
- return (_jsx(AppView, { orchestras: orchestras, currentId: props.orchestraId, musicians: musicians, activity: activity, selectedIndex: selectedIndex, permissionLevel: permissionLevel, tokenHint: "\u2014", now: now, pendingCount: pendingCount, dismissConfirmation: dismissConfirmation, showHelp: showHelp, orchestratorTitle: paneTitle, orchestratorLines: orchestratorSnapshot.lines, orchestratorFocused: orchestratorFocused, orchestratorConnected: orchestratorSnapshot.connected, activeMusicianId: activePaneMusician?.id ?? null, orchestratorActive: activePaneMusician === null }));
426
+ return (_jsx(AppView, { orchestras: orchestras, currentId: props.orchestraId, musicians: musicians, activity: activity, selectedIndex: selectedIndex, permissionLevel: permissionLevel, tokenHint: "\u2014", now: now, pendingCount: pendingCount, dismissConfirmation: dismissConfirmation, showHelp: showHelp, orchestratorTitle: paneTitle, orchestratorLines: orchestratorSnapshot.lines, orchestratorFocused: orchestratorFocused, orchestratorConnected: orchestratorSnapshot.connected, activeMusicianId: activePaneMusician?.id ?? null, orchestratorActive: activePaneMusician === null, version: props.version }));
427
427
  }
428
428
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
@@ -8,6 +8,6 @@ import { SidebarHeader } from "./SidebarHeader.js";
8
8
  import { OrchestratorPane } from "./OrchestratorPane.js";
9
9
  export function AppView(props) {
10
10
  const pendingCount = props.pendingCount ?? 0;
11
- return (_jsx(Box, { width: "100%", height: "100%", children: _jsxs(Box, { flexDirection: "row", width: "100%", height: "100%", children: [_jsx(OrchestratorPane, { title: props.orchestratorTitle, lines: props.orchestratorLines, focused: props.orchestratorFocused, connected: props.orchestratorConnected }), _jsxs(Box, { width: 48, flexDirection: "column", children: [_jsx(SidebarHeader, { orchestraId: props.currentId, musicianCount: props.musicians.length, pendingCount: pendingCount }), _jsx(ConcertHall, { orchestras: props.orchestras, currentId: props.currentId }), _jsx(Auditorium, { musicians: props.musicians, activity: props.activity, selectedIndex: props.selectedIndex, now: props.now, orchestratorActive: props.orchestratorActive ?? false, activeMusicianId: props.activeMusicianId ?? null }), _jsx(StatusBar, { permissionLevel: props.permissionLevel, tokenHint: props.tokenHint, pendingCount: pendingCount, dismissConfirmation: props.dismissConfirmation, orchestratorFocused: props.orchestratorFocused })] }), props.showHelp && (_jsx(Box, { position: "absolute", top: 0, left: 0, width: "100%", height: "100%", justifyContent: "center", alignItems: "center", children: _jsx(Box, { borderStyle: "round", paddingX: 1, paddingY: 1, width: 64, flexDirection: "column", borderBackgroundColor: "black", backgroundColor: "black", children: _jsx(Help, {}) }) }))] }) }));
11
+ return (_jsx(Box, { width: "100%", height: "100%", children: _jsxs(Box, { flexDirection: "row", width: "100%", height: "100%", children: [_jsx(OrchestratorPane, { title: props.orchestratorTitle, lines: props.orchestratorLines, focused: props.orchestratorFocused, connected: props.orchestratorConnected }), _jsxs(Box, { width: 48, flexDirection: "column", children: [_jsx(SidebarHeader, { orchestraId: props.currentId, musicianCount: props.musicians.length, pendingCount: pendingCount, version: props.version }), _jsx(ConcertHall, { orchestras: props.orchestras, currentId: props.currentId }), _jsx(Auditorium, { musicians: props.musicians, activity: props.activity, selectedIndex: props.selectedIndex, now: props.now, orchestratorActive: props.orchestratorActive ?? false, activeMusicianId: props.activeMusicianId ?? null }), _jsx(StatusBar, { permissionLevel: props.permissionLevel, tokenHint: props.tokenHint, pendingCount: pendingCount, dismissConfirmation: props.dismissConfirmation, orchestratorFocused: props.orchestratorFocused })] }), props.showHelp && (_jsx(Box, { position: "absolute", top: 0, left: 0, width: "100%", height: "100%", justifyContent: "center", alignItems: "center", children: _jsx(Box, { borderStyle: "round", paddingX: 1, paddingY: 1, width: 64, flexDirection: "column", borderBackgroundColor: "black", backgroundColor: "black", children: _jsx(Help, {}) }) }))] }) }));
12
12
  }
13
13
  //# sourceMappingURL=AppView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppView.js","sourceRoot":"","sources":["../../src/tui/AppView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAsBzD,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;IAC7C,OAAO,CACL,KAAC,GAAG,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,YAC7B,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,aACjD,KAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAC9B,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAC9B,OAAO,EAAE,KAAK,CAAC,mBAAmB,EAClC,SAAS,EAAE,KAAK,CAAC,qBAAqB,GACtC,EACF,MAAC,GAAG,IAAC,KAAK,EAAE,EAAE,EAAE,aAAa,EAAC,QAAQ,aACpC,KAAC,aAAa,IACZ,WAAW,EAAE,KAAK,CAAC,SAAS,EAC5B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EACrC,YAAY,EAAE,YAAY,GAC1B,EACF,KAAC,WAAW,IACV,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,EACF,KAAC,UAAU,IACT,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,KAAK,EACrD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI,GAChD,EACF,KAAC,SAAS,IACR,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAC9C,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,GAC9C,IACE,EACL,KAAK,CAAC,QAAQ,IAAI,CACjB,KAAC,GAAG,IACF,QAAQ,EAAC,UAAU,EACnB,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,EACP,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,cAAc,EAAC,QAAQ,EACvB,UAAU,EAAC,QAAQ,YAEnB,KAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,EAAE,EACT,aAAa,EAAC,QAAQ,EACtB,qBAAqB,EAAE,OAAO,EAC9B,eAAe,EAAC,OAAO,YAEvB,KAAC,IAAI,KAAG,GACJ,GACF,CACP,IACG,GACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"AppView.js","sourceRoot":"","sources":["../../src/tui/AppView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAuBzD,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;IAC7C,OAAO,CACL,KAAC,GAAG,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,YAC7B,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,aACjD,KAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAC9B,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAC9B,OAAO,EAAE,KAAK,CAAC,mBAAmB,EAClC,SAAS,EAAE,KAAK,CAAC,qBAAqB,GACtC,EACF,MAAC,GAAG,IAAC,KAAK,EAAE,EAAE,EAAE,aAAa,EAAC,QAAQ,aACpC,KAAC,aAAa,IACZ,WAAW,EAAE,KAAK,CAAC,SAAS,EAC5B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EACrC,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,GACtB,EACF,KAAC,WAAW,IACV,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,EACF,KAAC,UAAU,IACT,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,KAAK,EACrD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI,GAChD,EACF,KAAC,SAAS,IACR,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAC9C,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,GAC9C,IACE,EACL,KAAK,CAAC,QAAQ,IAAI,CACjB,KAAC,GAAG,IACF,QAAQ,EAAC,UAAU,EACnB,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,EACP,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,cAAc,EAAC,QAAQ,EACvB,UAAU,EAAC,QAAQ,YAEnB,KAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,EAAE,EACT,aAAa,EAAC,QAAQ,EACtB,qBAAqB,EAAE,OAAO,EAC9B,eAAe,EAAC,OAAO,YAEvB,KAAC,IAAI,KAAG,GACJ,GACF,CACP,IACG,GACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from "ink";
3
3
  export function SidebarHeader(props) {
4
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderBottom: true, paddingX: 1, children: [_jsxs(Text, { bold: true, children: ["No Fluff Orchestra \u00B7 ", props.orchestraId] }), props.pendingCount > 0 ? (_jsxs(Text, { color: "yellow", children: [props.musicianCount, " musicians \u00B7 ", props.pendingCount, " awaiting permission"] })) : (_jsxs(Text, { dimColor: true, children: [props.musicianCount, " musicians \u00B7 ", props.pendingCount, " awaiting permission"] }))] }));
4
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderBottom: true, paddingX: 1, children: [_jsxs(Text, { bold: true, children: ["No Fluff Orchestra \u00B7 ", props.orchestraId] }), _jsxs(Text, { bold: true, children: ["v.", props.version] }), props.pendingCount > 0 ? (_jsxs(Text, { color: "yellow", children: [props.musicianCount, " musicians \u00B7 ", props.pendingCount, " awaiting permission"] })) : (_jsxs(Text, { dimColor: true, children: [props.musicianCount, " musicians \u00B7 ", props.pendingCount, " awaiting permission"] }))] }));
5
5
  }
6
6
  //# sourceMappingURL=SidebarHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarHeader.js","sourceRoot":"","sources":["../../src/tui/SidebarHeader.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAQhC,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,QAAQ,EACpB,YAAY,EAAE,IAAI,EAClB,QAAQ,EAAE,CAAC,aAEX,MAAC,IAAI,IAAC,IAAI,EAAE,IAAI,2CAAwB,KAAK,CAAC,WAAW,IAAQ,EAChE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aACjB,KAAK,CAAC,aAAa,wBAAe,KAAK,CAAC,YAAY,4BAEhD,CACR,CAAC,CAAC,CAAC,CACF,MAAC,IAAI,IAAC,QAAQ,EAAE,IAAI,aACjB,KAAK,CAAC,aAAa,wBAAe,KAAK,CAAC,YAAY,4BAEhD,CACR,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SidebarHeader.js","sourceRoot":"","sources":["../../src/tui/SidebarHeader.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAShC,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,YAAY,EAAE,IAAI,EAClB,QAAQ,EAAE,CAAC,aAEX,MAAC,IAAI,IAAC,IAAI,EAAE,IAAI,2CAAwB,KAAK,CAAC,WAAW,IAAQ,EACjE,MAAC,IAAI,IAAC,IAAI,EAAE,IAAI,mBAAK,KAAK,CAAC,OAAO,IAAQ,EACzC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aACjB,KAAK,CAAC,aAAa,wBAAe,KAAK,CAAC,YAAY,4BAEhD,CACR,CAAC,CAAC,CAAC,CACF,MAAC,IAAI,IAAC,QAAQ,EAAE,IAAI,aACjB,KAAK,CAAC,aAAa,wBAAe,KAAK,CAAC,YAAY,4BAEhD,CACR,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Box, Text } from "ink";
3
3
  export function StatusBar(props) {
4
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderTop: true, paddingX: 1, children: [props.pendingCount > 0 ? (_jsxs(Text, { color: "yellow", children: ["\u26A0 ", props.pendingCount, " awaiting permission \u00B7 [p] jump to next"] })) : null, props.dismissConfirmation ? (_jsx(Text, { color: "red", children: props.dismissConfirmation })) : null, _jsxs(Text, { children: [props.permissionLevel, " \u00B7 ", props.tokenHint] }), props.orchestratorFocused ? (_jsx(Text, { dimColor: true, children: "[type] active terminal [Ctrl+g] sidebar" })) : (_jsx(Text, { dimColor: true, children: "[\u2191\u2193] nav [\u23CE] open left pane [d] dismiss [p] pending [n] notes [Ctrl+g] terminal" })), _jsx(Text, { dimColor: true, children: "[q] detach [F6] dashboard [F7] orchestrator [?] help" })] }));
4
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderTop: true, paddingX: 1, children: [props.pendingCount > 0 ? (_jsxs(Text, { color: "yellow", children: ["\u26A0 ", props.pendingCount, " awaiting permission \u00B7 [p] jump to next"] })) : null, props.dismissConfirmation ? (_jsx(Text, { color: "red", children: props.dismissConfirmation })) : null, _jsxs(Text, { children: [props.permissionLevel, " \u00B7 ", props.tokenHint] }), props.orchestratorFocused ? (_jsx(Text, { dimColor: true, children: "[type] active terminal [Ctrl+g] sidebar" })) : (_jsx(Text, { dimColor: true, children: "[\u2191\u2193] nav [\u23CE] open left pane [d] dismiss [p] pending [n] notes [Ctrl+g] terminal" })), _jsx(Text, { dimColor: true, children: "[q] detach [?] help" })] }));
5
5
  }
6
6
  //# sourceMappingURL=StatusBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../src/tui/StatusBar.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAUhC,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,QAAQ,EACpB,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,CAAC,aAEV,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,wBACf,KAAK,CAAC,YAAY,oDAChB,CACR,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAC3B,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,KAAK,CAAC,mBAAmB,GAAQ,CACrD,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,IAAI,eACF,KAAK,CAAC,eAAe,cAAK,KAAK,CAAC,SAAS,IACrC,EACN,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAC3B,KAAC,IAAI,IAAC,QAAQ,EAAE,IAAI,wDAAgD,CACrE,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,QAAQ,EAAE,IAAI,+GAGb,CACR,EACD,KAAC,IAAI,IAAC,QAAQ,EAAE,IAAI,qEAEb,IACH,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../src/tui/StatusBar.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAUhC,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,QAAQ,EACpB,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,CAAC,aAEV,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,wBACf,KAAK,CAAC,YAAY,oDAChB,CACR,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAC3B,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,KAAK,CAAC,mBAAmB,GAAQ,CACrD,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,IAAI,eACF,KAAK,CAAC,eAAe,cAAK,KAAK,CAAC,SAAS,IACrC,EACN,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAC3B,KAAC,IAAI,IAAC,QAAQ,EAAE,IAAI,wDAAgD,CACrE,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,QAAQ,EAAE,IAAI,+GAGb,CACR,EACD,KAAC,IAAI,IAAC,QAAQ,EAAE,IAAI,oCAA4B,IAC5C,CACP,CAAC;AACJ,CAAC"}