@otto-code/protocol 0.8.8 → 0.8.10
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/agent-personalities.js +9 -9
- package/dist/agent-types.d.ts +2 -0
- package/dist/generated/validation/ws-outbound.aot.js +17562 -16753
- package/dist/messages.d.ts +619 -0
- package/dist/messages.js +75 -0
- package/dist/provider-config.d.ts +3 -0
- package/dist/provider-config.js +2 -0
- package/dist/validation/ws-outbound-schema-metadata.d.ts +130 -0
- package/package.json +1 -1
|
@@ -112,14 +112,14 @@ export function summarizePersonalityForSelection(personality) {
|
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
114
|
// The conductor's standing directive - the distilled `/epic` method taught to
|
|
115
|
-
// the sole orchestrator role at spawn
|
|
116
|
-
//
|
|
117
|
-
//
|
|
118
|
-
// shared. See projects/agent-orchestration/agent-orchestration.md.
|
|
119
|
-
export const ORCHESTRATOR_METHOD_DIRECTIVE = "You are the orchestrator - the team's sole conductor.
|
|
120
|
-
"
|
|
121
|
-
"
|
|
122
|
-
"
|
|
115
|
+
// the sole orchestrator role at spawn. It chooses direct work, a dedicated
|
|
116
|
+
// worker, a follow-up task, or a Run by the task's actual needs rather than
|
|
117
|
+
// treating orchestration as the default. Kept here as one exported constant so
|
|
118
|
+
// the wording is testable and shared. See projects/agent-orchestration/agent-orchestration.md.
|
|
119
|
+
export const ORCHESTRATOR_METHOD_DIRECTIVE = "You are the orchestrator - the team's sole conductor. Choose tools because the task needs their specific capability, never because a tool is available or named. " +
|
|
120
|
+
"Do a small, self-contained task directly. Use create_agent only for an independently executable piece of active work that benefits from a dedicated worker. Use spawn_task only to preserve a concrete, out-of-scope follow-up for later. Use start_run only when the active work needs a declared multi-agent plan with daemon-managed fan-out, gathering, judging, loops, or approval gates. " +
|
|
121
|
+
"For work that genuinely needs orchestration: (1) if the shape is unclear, dispatch a researcher to survey and a planner to draft a typed plan; (2) declare that plan as a Run with start_run - phases typed research/plan/implement/design/verify/gate/deliver, fanning out candidates where several angles help and attaching a judger to grade them, looping until enough pass; (3) put a gate before irreversible or costly steps so the user approves; (4) synthesize the passing results into the deliverable. " +
|
|
122
|
+
"Every phase maps to a teammate's role; if the active team lacks a role a phase needs, say so plainly and stop rather than papering over the gap.";
|
|
123
123
|
/**
|
|
124
124
|
* The in-context "role directive" injected into a personality's system prompt at
|
|
125
125
|
* spawn. The orchestrator gets the full conductor method; other coordinators
|
|
@@ -137,7 +137,7 @@ export function composeRoleFocusDirective(roles) {
|
|
|
137
137
|
return `${ORCHESTRATOR_METHOD_DIRECTIVE} (Your roles: ${roleList}.)`;
|
|
138
138
|
}
|
|
139
139
|
if (normalized.some((role) => PERSONALITY_ROLE_INFO[role].tier === "coordinator")) {
|
|
140
|
-
return `You are a coordinator personality (roles: ${roleList}). You front interactive work and may delegate: use list_personalities to see who else is available,
|
|
140
|
+
return `You are a coordinator personality (roles: ${roleList}). You front interactive work and may delegate when the task benefits from it: use list_personalities to see who else is available, then either do the work directly, spawn a dedicated worker for an independent active piece, or hand off genuinely multi-agent work to the team's orchestrator.`;
|
|
141
141
|
}
|
|
142
142
|
return `You are a focused worker personality (roles: ${roleList}). Someone is waiting on this specific task - stay on it and finish it. You can still call list_personalities to see the roster, but don't spawn sub-agents or start side workflows unless it is genuinely essential to completing this job.`;
|
|
143
143
|
}
|
package/dist/agent-types.d.ts
CHANGED
|
@@ -79,6 +79,8 @@ export interface AgentModelDefinition {
|
|
|
79
79
|
id: string;
|
|
80
80
|
label: string;
|
|
81
81
|
description?: string;
|
|
82
|
+
/** Catalog-owned model-family identity, currently emitted by Otto Brain only. */
|
|
83
|
+
family?: string;
|
|
82
84
|
isDefault?: boolean;
|
|
83
85
|
metadata?: AgentMetadata;
|
|
84
86
|
contextWindowMaxTokens?: number;
|