@longtable/setup 0.1.13 → 0.1.15

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/README.md CHANGED
@@ -31,6 +31,8 @@ Global setup should answer:
31
31
  - how much challenge or slowdown they want
32
32
  - what makes writing still feel like theirs
33
33
  - how visible disagreement should be by default
34
+ - whether to configure MCP transport during setup
35
+ - whether panel/team-style reviews should prefer native provider subagents when available
34
36
 
35
37
  Project and session intake belongs to `longtable start`, not library-level setup helpers.
36
38
 
package/dist/cli.js CHANGED
@@ -4,7 +4,7 @@ import { buildProviderChoices, buildQuickSetupFlow, createPersistedSetupOutput }
4
4
  import { installRuntimeConfigFromStoredSetup, loadSetupOutput, renderInstallSummary, renderSetupSummary, resolveDefaultSetupPath, saveSetupAndRuntimeConfig, saveSetupOutput, serializeSetupOutput } from "./persistence.js";
5
5
  function printUsage() {
6
6
  console.log(`Usage:
7
- longtable-setup init [--flow quickstart|interview] --provider <codex|claude> --field <field> --career-stage <stage> --experience <novice|intermediate|advanced> --checkpoint <low|balanced|high> [--authorship-signal <text>] [--entry-mode <explore|review|critique|draft|commit>] [--weakest-domain <theory|methodology|measurement|analysis|writing>] [--panel-preference <synthesis_only|show_on_conflict|always_visible>] [--json]
7
+ longtable-setup init [--flow quickstart|interview] --provider <codex|claude> --field <field> --career-stage <stage> --experience <novice|intermediate|advanced> --checkpoint <low|balanced|high> [--authorship-signal <text>] [--entry-mode <explore|review|critique|draft|commit>] [--weakest-domain <theory|methodology|measurement|analysis|writing>] [--panel-preference <synthesis_only|show_on_conflict|always_visible>] [--agent-team <native_when_available|sequential_panel_only>] [--mcp <skip|print_config|write_provider|write_all>] [--json]
8
8
  longtable-setup install [--path <file>] [--runtime-path <file>] [--json]
9
9
  longtable-setup show [--path <file>] [--json]
10
10
 
@@ -57,6 +57,12 @@ function toSetupAnswers(args) {
57
57
  : undefined,
58
58
  panelPreference: typeof args["panel-preference"] === "string" && args["panel-preference"].trim().length > 0
59
59
  ? args["panel-preference"].trim()
60
+ : undefined,
61
+ agentTeamPreference: typeof args["agent-team"] === "string" && args["agent-team"].trim().length > 0
62
+ ? args["agent-team"].trim()
63
+ : undefined,
64
+ mcpPreference: typeof args.mcp === "string" && args.mcp.trim().length > 0
65
+ ? args.mcp.trim()
60
66
  : undefined
61
67
  };
62
68
  }
@@ -92,6 +92,28 @@ export function buildQuickSetupFlow(flow = "quickstart") {
92
92
  { id: "show_on_conflict", label: "Show on conflict", description: "Surface panel disagreement when roles materially diverge." },
93
93
  { id: "always_visible", label: "Always visible", description: "Keep panel opinions visible by default." }
94
94
  ]
95
+ },
96
+ {
97
+ id: "agentTeamPreference",
98
+ prompt: "Should LongTable use provider-native agent teams or subagents when they are available?",
99
+ required: false,
100
+ kind: "single_choice",
101
+ choices: [
102
+ { id: "native_when_available", label: "Use when available", description: "Prefer native team/subagent surfaces, then fall back to LongTable's sequential panel." },
103
+ { id: "sequential_panel_only", label: "Sequential panel only", description: "Always use LongTable's stable sequential panel orchestration." }
104
+ ]
105
+ },
106
+ {
107
+ id: "mcpPreference",
108
+ prompt: "Should LongTable configure the MCP state server now?",
109
+ required: false,
110
+ kind: "single_choice",
111
+ choices: [
112
+ { id: "skip", label: "Skip MCP", description: "Do not change provider config files during setup." },
113
+ { id: "print_config", label: "Print config only", description: "Show the MCP config without writing provider files." },
114
+ { id: "write_provider", label: "Write selected provider", description: "Write MCP config for the provider selected in this setup." },
115
+ { id: "write_all", label: "Write Codex and Claude", description: "Write MCP config for both Codex and Claude Code." }
116
+ ]
95
117
  }
96
118
  ];
97
119
  }
@@ -189,6 +211,12 @@ export function createPersistedSetupOutput(answers, provider, flow = "quickstart
189
211
  : {}),
190
212
  ...(profileSeed.panelPreference
191
213
  ? { panelPreference: profileSeed.panelPreference }
214
+ : {}),
215
+ ...(profileSeed.agentTeamPreference
216
+ ? { agentTeamPreference: profileSeed.agentTeamPreference }
217
+ : {}),
218
+ ...(profileSeed.mcpPreference
219
+ ? { mcpPreference: profileSeed.mcpPreference }
192
220
  : {})
193
221
  };
194
222
  if (profileSeed.humanAuthorshipSignal) {
@@ -34,6 +34,12 @@ export function renderSetupSummary(output) {
34
34
  if (output.profileSeed.panelPreference) {
35
35
  lines.push(`panel preference: ${output.profileSeed.panelPreference}`);
36
36
  }
37
+ if (output.profileSeed.agentTeamPreference) {
38
+ lines.push(`agent team preference: ${output.profileSeed.agentTeamPreference}`);
39
+ }
40
+ if (output.profileSeed.mcpPreference) {
41
+ lines.push(`mcp preference: ${output.profileSeed.mcpPreference}`);
42
+ }
37
43
  return lines.join("\n");
38
44
  }
39
45
  export function resolveDefaultSetupPath(customPath) {
@@ -108,6 +114,12 @@ function renderCodexRuntimeConfig(output, setupPath) {
108
114
  ...(output.profileSeed.panelPreference
109
115
  ? [`panel_preference = "${output.profileSeed.panelPreference}"`]
110
116
  : []),
117
+ ...(output.profileSeed.agentTeamPreference
118
+ ? [`agent_team_preference = "${output.profileSeed.agentTeamPreference}"`]
119
+ : []),
120
+ ...(output.profileSeed.mcpPreference
121
+ ? [`mcp_preference = "${output.profileSeed.mcpPreference}"`]
122
+ : []),
111
123
  "",
112
124
  "[longtable.runtime_guidance]",
113
125
  `ask_at_least_two_questions_in_explore = ${runtimeGuidance.askAtLeastTwoQuestionsInExplore}`,
@@ -132,7 +144,9 @@ function renderClaudeRuntimeConfig(output, setupPath) {
132
144
  ? output.profileSeed.currentProjectType
133
145
  : undefined,
134
146
  weakestDomain: output.profileSeed.weakestDomain,
135
- panelPreference: output.profileSeed.panelPreference
147
+ panelPreference: output.profileSeed.panelPreference,
148
+ agentTeamPreference: output.profileSeed.agentTeamPreference,
149
+ mcpPreference: output.profileSeed.mcpPreference
136
150
  },
137
151
  runtimeGuidance
138
152
  }, null, 2);
package/dist/types.d.ts CHANGED
@@ -13,6 +13,8 @@ export interface SetupQuestion {
13
13
  choices?: SetupChoice[];
14
14
  }
15
15
  export type SetupFlow = "quickstart" | "interview";
16
+ export type McpSetupPreference = "skip" | "print_config" | "write_provider" | "write_all";
17
+ export type AgentTeamPreference = "native_when_available" | "sequential_panel_only";
16
18
  export interface SetupAnswers {
17
19
  field: string;
18
20
  careerStage: string;
@@ -23,6 +25,8 @@ export interface SetupAnswers {
23
25
  preferredEntryMode?: Exclude<InteractionMode, "submit">;
24
26
  weakestDomain?: Extract<keyof ResearcherConfidenceByDomain, string>;
25
27
  panelPreference?: "synthesis_only" | "show_on_conflict" | "always_visible";
28
+ mcpPreference?: McpSetupPreference;
29
+ agentTeamPreference?: AgentTeamPreference;
26
30
  }
27
31
  export interface ResearcherProfileSeed extends SetupAnswers {
28
32
  aiAutonomyPreference: "low" | "balanced" | "high";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@longtable/setup",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "private": false,
5
5
  "description": "Researcher onboarding and setup flows for LongTable",
6
6
  "type": "module",
@@ -23,8 +23,8 @@
23
23
  "typecheck": "tsc -p tsconfig.json --noEmit"
24
24
  },
25
25
  "dependencies": {
26
- "@longtable/core": "0.1.13",
27
- "@longtable/memory": "0.1.13"
26
+ "@longtable/core": "0.1.15",
27
+ "@longtable/memory": "0.1.15"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/node": "^22.0.0",