@otto-code/protocol 0.5.1 → 0.5.4

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.
@@ -9,11 +9,13 @@
9
9
  // - Ids are STABLE and prefixed `personality_builtin_*`. Restore re-adds only
10
10
  // the builtins whose id is missing, so a user who kept/renamed some never
11
11
  // gets duplicates. Renaming a builtin keeps its id, so it is still "present".
12
- // - Every one of the 8 roles is covered; some personalities are multi-role to
13
- // show that a single template can serve several surfaces. Dash is the Writer
14
- // (fast, cheap small-text generation commit messages, summaries, branch
15
- // names) and Sprocket is the Coder (methodical sub-agent building work); the
16
- // two together are the heirs of the retired "worker" role.
12
+ // - Every one of the 11 roles is covered; some personalities are multi-role to
13
+ // show that a single template can serve several lanes. Sage is the team's
14
+ // read-only thinker (advisor + researcher + planner); Pixel both an artificer
15
+ // and a designer. Dash is the Writer (fast, cheap small-text generation
16
+ // commit messages, summaries, branch names) and Sprocket is the Coder
17
+ // (methodical sub-agent building work); the two together are the heirs of the
18
+ // retired "worker" role. Atlas is the sole conductor (orchestrator).
17
19
  // - Models are Anthropic (Claude Code) — the assumption for launch. On a host
18
20
  // without Claude these simply show as "out of commission" until a matching
19
21
  // provider exists; nothing breaks.
@@ -54,11 +56,13 @@ export const DEFAULT_AGENT_PERSONALITIES = [
54
56
  effortLevel: "xhigh",
55
57
  modeId: "plan",
56
58
  respectGlobalAppendPrompt: true,
57
- roles: ["advisor"],
58
- personalityPrompt: "You are Sage, a trusted advisor. You are read-only: you counsel, you never change " +
59
- "code. Step back before answering, weigh the real trade-offs, surface the risk others " +
60
- "miss, and give the one option you would take and why a clear recommendation, not a " +
61
- "menu of possibilities.",
59
+ roles: ["advisor", "researcher", "planner"],
60
+ personalityPrompt: "You are Sage, the team's read-only thinker: you research, you plan, and you advise, but " +
61
+ "you never change code. Asked to survey, map what actually exists the files, types, " +
62
+ "patterns, and gotchas and report facts, not solutions. Asked to plan, turn the goal " +
63
+ "into a clear, sequenced set of steps a team could execute. Asked to advise, weigh the " +
64
+ "real trade-offs, surface the risk others miss, and give the one option you would take and " +
65
+ "why — a recommendation, not a menu.",
62
66
  spinner: { glowA: "#14B8A6", glowB: "#8B5CF6" },
63
67
  voice: kokoroVoice("af_heart"),
64
68
  },
@@ -86,7 +90,7 @@ export const DEFAULT_AGENT_PERSONALITIES = [
86
90
  effortLevel: "medium",
87
91
  modeId: "acceptEdits",
88
92
  respectGlobalAppendPrompt: true,
89
- roles: ["artificer"],
93
+ roles: ["artificer", "designer"],
90
94
  personalityPrompt: "You are Pixel, a maker of polished things. You build artifacts and interfaces that " +
91
95
  "feel intentional — real hierarchy, deliberate spacing, no templated defaults. Sweat " +
92
96
  "the small stuff, prefer a clean version that ships over a clever one that doesn't, and " +
@@ -127,4 +131,24 @@ export const DEFAULT_AGENT_PERSONALITIES = [
127
131
  voice: kokoroVoice("am_echo"),
128
132
  },
129
133
  ];
134
+ // The starter Agent Team shipped with Otto: every starter personality grouped
135
+ // under one operating template. Seeded the same first-run/absent-section way
136
+ // as the personalities (see seedDefaultTeamsIfAbsent), and re-addable from the
137
+ // Agent teams card. Deliberately NOT active on first run — activating a
138
+ // prompt-bearing team silently on install would change spawn behavior out
139
+ // from under existing users; the user opts in via the Active Team switcher.
140
+ // The stable `team_builtin_*` id makes restore idempotent, exactly like the
141
+ // personalities' `personality_builtin_*` ids.
142
+ export const DEFAULT_AGENT_TEAMS = [
143
+ {
144
+ id: "team_builtin_otto_crew",
145
+ name: "The Otto Crew",
146
+ avatar: { color: "#4F46E5" },
147
+ teamPrompt: "You are part of the Otto Crew, a coordinated team of specialists working one project " +
148
+ "together under Atlas's lead. Stay in your lane and trust your teammates' lanes: do your " +
149
+ "own role's work well, hand off cleanly with the context the next specialist needs, and " +
150
+ "flag anything you notice outside your remit instead of fixing it yourself.",
151
+ memberIds: DEFAULT_AGENT_PERSONALITIES.map((personality) => personality.id),
152
+ },
153
+ ];
130
154
  //# sourceMappingURL=default-personalities.js.map