oficina-opencode 0.0.0-stage → 2.0.0

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 (117) hide show
  1. package/DESIGN.md +145 -0
  2. package/LICENSE +21 -0
  3. package/README.md +670 -2
  4. package/agents/oficina-architect.md +72 -0
  5. package/agents/oficina-commander.md +108 -0
  6. package/agents/oficina-critico.md +148 -0
  7. package/agents/oficina-director.md +160 -0
  8. package/agents/oficina-guardian.md +128 -0
  9. package/agents/oficina-integrator.md +98 -0
  10. package/agents/oficina-verificador.md +88 -0
  11. package/commands/oficina.md +36 -0
  12. package/dist/cli.d.ts +12 -0
  13. package/dist/cli.d.ts.map +1 -0
  14. package/dist/cli.js +394 -0
  15. package/dist/cli.js.map +1 -0
  16. package/dist/core/briefing.d.ts +115 -0
  17. package/dist/core/briefing.d.ts.map +1 -0
  18. package/dist/core/briefing.js +410 -0
  19. package/dist/core/briefing.js.map +1 -0
  20. package/dist/core/bus.d.ts +132 -0
  21. package/dist/core/bus.d.ts.map +1 -0
  22. package/dist/core/bus.js +250 -0
  23. package/dist/core/bus.js.map +1 -0
  24. package/dist/core/catalog.d.ts +303 -0
  25. package/dist/core/catalog.d.ts.map +1 -0
  26. package/dist/core/catalog.js +816 -0
  27. package/dist/core/catalog.js.map +1 -0
  28. package/dist/core/dispatch.d.ts +110 -0
  29. package/dist/core/dispatch.d.ts.map +1 -0
  30. package/dist/core/dispatch.js +301 -0
  31. package/dist/core/dispatch.js.map +1 -0
  32. package/dist/core/factory.d.ts +74 -0
  33. package/dist/core/factory.d.ts.map +1 -0
  34. package/dist/core/factory.js +243 -0
  35. package/dist/core/factory.js.map +1 -0
  36. package/dist/core/fsx.d.ts +39 -0
  37. package/dist/core/fsx.d.ts.map +1 -0
  38. package/dist/core/fsx.js +113 -0
  39. package/dist/core/fsx.js.map +1 -0
  40. package/dist/core/gates.d.ts +97 -0
  41. package/dist/core/gates.d.ts.map +1 -0
  42. package/dist/core/gates.js +467 -0
  43. package/dist/core/gates.js.map +1 -0
  44. package/dist/core/leases.d.ts +46 -0
  45. package/dist/core/leases.d.ts.map +1 -0
  46. package/dist/core/leases.js +94 -0
  47. package/dist/core/leases.js.map +1 -0
  48. package/dist/core/log.d.ts +30 -0
  49. package/dist/core/log.d.ts.map +1 -0
  50. package/dist/core/log.js +43 -0
  51. package/dist/core/log.js.map +1 -0
  52. package/dist/core/mesa.d.ts +82 -0
  53. package/dist/core/mesa.d.ts.map +1 -0
  54. package/dist/core/mesa.js +178 -0
  55. package/dist/core/mesa.js.map +1 -0
  56. package/dist/core/office.d.ts +208 -0
  57. package/dist/core/office.d.ts.map +1 -0
  58. package/dist/core/office.js +618 -0
  59. package/dist/core/office.js.map +1 -0
  60. package/dist/core/paths.d.ts +67 -0
  61. package/dist/core/paths.d.ts.map +1 -0
  62. package/dist/core/paths.js +136 -0
  63. package/dist/core/paths.js.map +1 -0
  64. package/dist/core/retry.d.ts +41 -0
  65. package/dist/core/retry.d.ts.map +1 -0
  66. package/dist/core/retry.js +86 -0
  67. package/dist/core/retry.js.map +1 -0
  68. package/dist/core/roster.d.ts +47 -0
  69. package/dist/core/roster.d.ts.map +1 -0
  70. package/dist/core/roster.js +146 -0
  71. package/dist/core/roster.js.map +1 -0
  72. package/dist/core/router.d.ts +67 -0
  73. package/dist/core/router.d.ts.map +1 -0
  74. package/dist/core/router.js +186 -0
  75. package/dist/core/router.js.map +1 -0
  76. package/dist/core/state.d.ts +89 -0
  77. package/dist/core/state.d.ts.map +1 -0
  78. package/dist/core/state.js +303 -0
  79. package/dist/core/state.js.map +1 -0
  80. package/dist/core/types.d.ts +333 -0
  81. package/dist/core/types.d.ts.map +1 -0
  82. package/dist/core/types.js +27 -0
  83. package/dist/core/types.js.map +1 -0
  84. package/dist/hooks/compacting.d.ts +18 -0
  85. package/dist/hooks/compacting.d.ts.map +1 -0
  86. package/dist/hooks/compacting.js +72 -0
  87. package/dist/hooks/compacting.js.map +1 -0
  88. package/dist/hooks/scopeGuard.d.ts +39 -0
  89. package/dist/hooks/scopeGuard.d.ts.map +1 -0
  90. package/dist/hooks/scopeGuard.js +114 -0
  91. package/dist/hooks/scopeGuard.js.map +1 -0
  92. package/dist/hooks/sessionIdle.d.ts +35 -0
  93. package/dist/hooks/sessionIdle.d.ts.map +1 -0
  94. package/dist/hooks/sessionIdle.js +110 -0
  95. package/dist/hooks/sessionIdle.js.map +1 -0
  96. package/dist/hooks/systemTransform.d.ts +18 -0
  97. package/dist/hooks/systemTransform.d.ts.map +1 -0
  98. package/dist/hooks/systemTransform.js +63 -0
  99. package/dist/hooks/systemTransform.js.map +1 -0
  100. package/dist/index.d.ts +36 -0
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +103 -0
  103. package/dist/index.js.map +1 -0
  104. package/dist/tools/index.d.ts +22 -0
  105. package/dist/tools/index.d.ts.map +1 -0
  106. package/dist/tools/index.js +854 -0
  107. package/dist/tools/index.js.map +1 -0
  108. package/docs/ARCHITECTURE.md +258 -0
  109. package/docs/QUE-ES.md +337 -0
  110. package/examples/opencode.json +7 -0
  111. package/package.json +81 -4
  112. package/skills/oficina/README.md +120 -0
  113. package/skills/oficina/SKILL.md +251 -0
  114. package/skills/oficina/reference/mesh.md +345 -0
  115. package/skills/oficina/reference/protocol.md +342 -0
  116. package/skills/oficina/reference/roles.md +171 -0
  117. package/skills/oficina/reference/templates.md +278 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/core/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Dispatch: el momento en que el Commander crea el equipo.
3
+ *
4
+ * ## Qué resuelve
5
+ *
6
+ * El flujo "doy un objetivo → el jefe lo divide → crea los subagentes →
7
+ * arrancan a trabajar juntos" necesita tres cosas que antes no existían:
8
+ *
9
+ * 1. **Cuántos subagentes hacen falta.** Uno por card, más los complementos
10
+ * que cubren capabilities que el primario no cubre. El presupuesto y el
11
+ * hard cap se respetan acá, no después.
12
+ *
13
+ * 2. **De dónde sale cada uno.** Primero el catálogo de agency-agents: si el
14
+ * rol existe, se materializa con su prompt original (verbatim). Si no
15
+ * existe, la factory lo fabrica con la card y el objetivo como contexto.
16
+ *
17
+ * 3. **Cómo arrancan.** Cada agente recibe su briefing completo como prompt
18
+ * de arranque, y queda registrado en el roster y en el board.
19
+ *
20
+ * ## El agente OpenCode que ejecuta
21
+ *
22
+ * El agente se materializa como markdown en `.opencode/agents/` del proyecto:
23
+ * queda versionado con el repo y disponible la próxima sesión.
24
+ *
25
+ * El *spawn* usa `agent: "general"` con el prompt completo embebido. La razón
26
+ * es práctica: OpenCode resuelve la lista de agentes al arrancar la sesión,
27
+ * así que un archivo recién creado puede no estar registrable todavía. Con el
28
+ * prompt embebido, el agente funciona **siempre**; y si el archivo ya está
29
+ * registrado, el LLM puede invocarlo directo con `@oficina-<slug>`.
30
+ */
31
+ import type { CatalogAgent, Ficha, OfficeState, RosterEntry } from "./types.js";
32
+ import { type Briefing } from "./briefing.js";
33
+ import type { Office } from "./office.js";
34
+ export interface DispatchOptions {
35
+ /** Raíz del proyecto (donde va `.opencode/agents/`). */
36
+ projectRoot: string;
37
+ /** Catálogo de agency-agents. */
38
+ catalog: CatalogAgent[];
39
+ /** Objetivo de la corrida, para los prompts de factory. */
40
+ objective: string;
41
+ /** Máximo de agentes a materializar. */
42
+ maxAgents: number;
43
+ /** Tope de complementos por card. */
44
+ maxComplements: number;
45
+ /** Cobertura mínima para aceptar un match del catálogo. */
46
+ minCoverage: number;
47
+ /** Agentes ya registrados (para no duplicar roles). */
48
+ existing: RosterEntry[];
49
+ }
50
+ export interface DispatchedAgent {
51
+ /** Id lógico del agente (ficha). */
52
+ agentId: string;
53
+ /** Nombre del agente OpenCode. */
54
+ agentName: string;
55
+ /** Card que lleva. `null` si es un par disponible. */
56
+ cardId: string | null;
57
+ role: string;
58
+ displayName: string;
59
+ source: "agency-agents" | "factory";
60
+ coverage: number;
61
+ /** Capabilities que este agente aporta y el primario no cubría. */
62
+ contributes: string[];
63
+ /** El prompt con el que arranca. */
64
+ prompt: string;
65
+ /** Archivo de agente materializado. */
66
+ agentFile: string | null;
67
+ /** Nombres de los 4 artefactos del briefing. */
68
+ artifacts: string[];
69
+ /** ¿Es un par libre (sin card) o un owner? */
70
+ isPeer: boolean;
71
+ }
72
+ export interface DispatchResult {
73
+ dispatched: DispatchedAgent[];
74
+ /** Cards que quedaron sin owner. */
75
+ unassigned: string[];
76
+ /** Capabilities que ningún agente del equipo cubre. */
77
+ uncovered: string[];
78
+ /** Por qué no se pudo despachar algo. */
79
+ notes: string[];
80
+ }
81
+ /** Nombre del agente OpenCode derivado del rol. */
82
+ export declare function agentNameFor(role: string): string;
83
+ /**
84
+ * Construye el prompt de arranque de un agente.
85
+ *
86
+ * Es la suma de tres cosas:
87
+ * 1. El prompt de origen del catálogo (verbatim) — de ahí viene la especialidad.
88
+ * 2. La ficha — el contrato del rol: scope, peers, límites.
89
+ * 3. El briefing — la misión de esta card en concreto.
90
+ */
91
+ export declare function buildAgentPrompt(ficha: Ficha, briefing: Briefing): string;
92
+ /**
93
+ * Materializa un agente como archivo markdown de OpenCode.
94
+ *
95
+ * Se escribe en `.opencode/agents/` del proyecto: queda versionado con el
96
+ * repo, es reproducible, y la próxima sesión el agente ya está registrado.
97
+ */
98
+ export declare function materializeAgent(projectRoot: string, ficha: Ficha, briefing: Briefing): Promise<string>;
99
+ /**
100
+ * Despacha el equipo de una corrida.
101
+ *
102
+ * Para cada card sin owner:
103
+ * - Resuelve el panel (primario + complementos).
104
+ * - Materializa el agente primario con su briefing.
105
+ * - Materializa los complementos como pares disponibles.
106
+ *
107
+ * Respeta el presupuesto de agentes y reutiliza roles ya desplegados.
108
+ */
109
+ export declare function dispatchOffice(office: Office, state: OfficeState, options: DispatchOptions): Promise<DispatchResult>;
110
+ //# sourceMappingURL=dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/core/dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,KAAK,EAAQ,YAAY,EAAE,KAAK,EAAE,WAAW,EAAU,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7F,OAAO,EAAuC,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAElF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAA;IACnB,iCAAiC;IACjC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAA;IACjB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,qCAAqC;IACrC,cAAc,EAAE,MAAM,CAAA;IACtB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAA;IACnB,uDAAuD;IACvD,QAAQ,EAAE,WAAW,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,eAAe,GAAG,SAAS,CAAA;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,uCAAuC;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,gDAAgD;IAChD,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,8CAA8C;IAC9C,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,oCAAoC;IACpC,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,uDAAuD;IACvD,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,yCAAyC;IACzC,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA8DzE;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CAgGzB"}
@@ -0,0 +1,301 @@
1
+ /**
2
+ * Dispatch: el momento en que el Commander crea el equipo.
3
+ *
4
+ * ## Qué resuelve
5
+ *
6
+ * El flujo "doy un objetivo → el jefe lo divide → crea los subagentes →
7
+ * arrancan a trabajar juntos" necesita tres cosas que antes no existían:
8
+ *
9
+ * 1. **Cuántos subagentes hacen falta.** Uno por card, más los complementos
10
+ * que cubren capabilities que el primario no cubre. El presupuesto y el
11
+ * hard cap se respetan acá, no después.
12
+ *
13
+ * 2. **De dónde sale cada uno.** Primero el catálogo de agency-agents: si el
14
+ * rol existe, se materializa con su prompt original (verbatim). Si no
15
+ * existe, la factory lo fabrica con la card y el objetivo como contexto.
16
+ *
17
+ * 3. **Cómo arrancan.** Cada agente recibe su briefing completo como prompt
18
+ * de arranque, y queda registrado en el roster y en el board.
19
+ *
20
+ * ## El agente OpenCode que ejecuta
21
+ *
22
+ * El agente se materializa como markdown en `.opencode/agents/` del proyecto:
23
+ * queda versionado con el repo y disponible la próxima sesión.
24
+ *
25
+ * El *spawn* usa `agent: "general"` con el prompt completo embebido. La razón
26
+ * es práctica: OpenCode resuelve la lista de agentes al arrancar la sesión,
27
+ * así que un archivo recién creado puede no estar registrable todavía. Con el
28
+ * prompt embebido, el agente funciona **siempre**; y si el archivo ya está
29
+ * registrado, el LLM puede invocarlo directo con `@oficina-<slug>`.
30
+ */
31
+ import path from "node:path";
32
+ import { buildPanel } from "./catalog.js";
33
+ import { renderBriefingPrompt } from "./briefing.js";
34
+ import { ensureDir, nowIso, writeAtomic } from "./fsx.js";
35
+ /** Nombre del agente OpenCode derivado del rol. */
36
+ export function agentNameFor(role) {
37
+ const slug = role
38
+ .toLowerCase()
39
+ .replace(/[^a-z0-9]+/g, "-")
40
+ .replace(/^-+|-+$/g, "");
41
+ return `oficina-${slug}`.slice(0, 48);
42
+ }
43
+ /**
44
+ * Construye el prompt de arranque de un agente.
45
+ *
46
+ * Es la suma de tres cosas:
47
+ * 1. El prompt de origen del catálogo (verbatim) — de ahí viene la especialidad.
48
+ * 2. La ficha — el contrato del rol: scope, peers, límites.
49
+ * 3. El briefing — la misión de esta card en concreto.
50
+ */
51
+ export function buildAgentPrompt(ficha, briefing) {
52
+ const sections = [];
53
+ if (ficha.source.sourcePrompt) {
54
+ sections.push([
55
+ "# Tu especialidad (prompt de origen)",
56
+ "",
57
+ "> Este texto define quién sos y cómo pensás. No lo resumas ni lo contradigas.",
58
+ "",
59
+ ficha.source.sourcePrompt,
60
+ ].join("\n"));
61
+ }
62
+ if (ficha.source.vibe) {
63
+ sections.push(`**Tu vibe:** ${ficha.source.vibe}`);
64
+ }
65
+ sections.push([
66
+ "# Tu rol en esta oficina",
67
+ "",
68
+ `- **id:** \`${ficha.id}\``,
69
+ `- **rol:** \`${ficha.role}\``,
70
+ `- **capacidades:** ${ficha.capabilities.slice(0, 12).join(", ")}`,
71
+ `- **podés tocar:** ${ficha.scope.mayTouch.join(", ")}`,
72
+ `- **no podés tocar:** ${ficha.scope.forbidden.join(", ")}`,
73
+ `- **tus pares (para pedir ayuda):** ${ficha.peers.join(", ") || "(ninguno declarado)"}`,
74
+ "",
75
+ "**Límites duros:**",
76
+ ...ficha.mustNot.map((m) => `- ${m}`),
77
+ ].join("\n"));
78
+ sections.push([
79
+ "# Tu briefing",
80
+ "",
81
+ "Leelo entero antes de tocar nada. Tiene el orden justo: lo que sos, lo que hacés, lo que ya sabés, lo que NO sabés, tu territorio, cómo trabajás, tu canal, qué se espera de vos, lo que no podés hacer y cómo se mide que terminaste.",
82
+ "",
83
+ renderBriefingPrompt(briefing),
84
+ ].join("\n"));
85
+ sections.push([
86
+ "# Cómo trabajás en la mesa",
87
+ "",
88
+ "Estás en una mesa con otros agentes. Cada uno tiene lo suyo, pero se hablan:",
89
+ "",
90
+ "- **Si te trabás o te falta contexto:** pedí ayuda por el bus (`oficina_bus` action=`help`). No te tragues el trabajo de otro.",
91
+ "- **Si te sobra tiempo:** ofrecé ayuda o reclamá una card sin owner (`oficina_bus` action=`claim`).",
92
+ "- **Si alguien te pregunta:** contestá por el bus. No te quedes mudo.",
93
+ "- **Si tu scope no alcanza:** pedí ampliación por el bus. No te lo expies por tu cuenta.",
94
+ "- **Si encontrás algo que otro está haciendo:** avisá por el bus antes de tocarlo.",
95
+ "",
96
+ "Al terminar tu card: dejá `handoff.md` y `evidence.md` en `.oficina/artifacts/<cardId>/`, entregá con `oficina_submit`, y **ofrecé ayuda** para lo que sigue.",
97
+ ].join("\n"));
98
+ return sections.join("\n\n---\n\n");
99
+ }
100
+ /**
101
+ * Materializa un agente como archivo markdown de OpenCode.
102
+ *
103
+ * Se escribe en `.opencode/agents/` del proyecto: queda versionado con el
104
+ * repo, es reproducible, y la próxima sesión el agente ya está registrado.
105
+ */
106
+ export async function materializeAgent(projectRoot, ficha, briefing) {
107
+ const dir = path.join(projectRoot, ".opencode", "agents");
108
+ await ensureDir(dir);
109
+ const name = agentNameFor(ficha.role);
110
+ const file = path.join(dir, `${name}.md`);
111
+ const frontmatter = [
112
+ "---",
113
+ `description: ${ficha.displayName} — ${ficha.capabilities.slice(0, 5).join(", ") || "especialista de la oficina"}`,
114
+ "mode: subagent",
115
+ "hidden: true",
116
+ "permission:",
117
+ " edit: allow",
118
+ " shell: allow",
119
+ " task: allow",
120
+ "---",
121
+ "",
122
+ ].join("\n");
123
+ const body = [
124
+ `# ${ficha.displayName}`,
125
+ "",
126
+ "> Agente generado por la OFICINA. Su especialidad viene del catálogo de agency-agents.",
127
+ "",
128
+ "## Tu especialidad (prompt de origen)",
129
+ "",
130
+ "```markdown",
131
+ ficha.source.sourcePrompt ?? "(sin prompt de origen)",
132
+ "```",
133
+ "",
134
+ "## Tu briefing",
135
+ "",
136
+ "> El briefing va completo acá para que el agente tenga el contexto aunque",
137
+ "> se lo inyecto en el prompt de arranque. Mismo contenido, dos vías.",
138
+ "",
139
+ ...briefing.sections
140
+ .filter((s) => s.id !== "identidad")
141
+ .map((s) => `### ${s.title}\n\n${s.content}\n`),
142
+ "## Cómo trabajás",
143
+ "",
144
+ "- Leé tu briefing completo antes de tocar nada.",
145
+ "- Pedí ayuda por el bus si el trabajo se sale de tu scope.",
146
+ "- No revises tu propio trabajo: otro lo hace.",
147
+ "- Dejá `handoff.md` y `evidence.md` con la entrega.",
148
+ ].join("\n");
149
+ await writeAtomic(file, `${frontmatter}${body}\n`);
150
+ return file;
151
+ }
152
+ /**
153
+ * Despacha el equipo de una corrida.
154
+ *
155
+ * Para cada card sin owner:
156
+ * - Resuelve el panel (primario + complementos).
157
+ * - Materializa el agente primario con su briefing.
158
+ * - Materializa los complementos como pares disponibles.
159
+ *
160
+ * Respeta el presupuesto de agentes y reutiliza roles ya desplegados.
161
+ */
162
+ export async function dispatchOffice(office, state, options) {
163
+ const result = {
164
+ dispatched: [],
165
+ unassigned: [],
166
+ uncovered: [],
167
+ notes: [],
168
+ };
169
+ const roster = await office.loadRoster(state.runId);
170
+ const alreadyDeployed = new Map(options.existing.map((e) => [e.role, e]));
171
+ let budget = options.maxAgents;
172
+ for (const cardId of state.order) {
173
+ const card = state.cards[cardId];
174
+ if (!card)
175
+ continue;
176
+ if (card.owner)
177
+ continue;
178
+ const panel = buildPanel(options.catalog, card.requiredCapabilities, {
179
+ maxComplements: options.maxComplements,
180
+ });
181
+ if (!panel.primary) {
182
+ result.unassigned.push(cardId);
183
+ result.notes.push(`La card ${cardId} no tiene match en el catálogo con cobertura ≥ ${options.minCoverage}.`);
184
+ continue;
185
+ }
186
+ for (const missing of panel.primary.missing) {
187
+ if (!result.uncovered.includes(missing))
188
+ result.uncovered.push(missing);
189
+ }
190
+ if (budget <= 0) {
191
+ result.unassigned.push(cardId);
192
+ result.notes.push(`Sin presupuesto de agentes: ${cardId} quedó sin owner.`);
193
+ continue;
194
+ }
195
+ const primary = await instantiate(office, roster, panel.primary.agent, card, options, panel.primary.agent.capabilities, [], false, alreadyDeployed.get(panel.primary.agent.slug));
196
+ if (!primary) {
197
+ result.unassigned.push(cardId);
198
+ continue;
199
+ }
200
+ budget -= 1;
201
+ result.dispatched.push(primary);
202
+ card.owner = primary.agentId;
203
+ card.reviewer = null; // el Integrador lo asigna después
204
+ // Las capabilities que el primario no cubre se cubren con los
205
+ // complementos. El hueco real se calcula al final, cuando ya sabemos
206
+ // quién cubre qué.
207
+ for (const complement of panel.complements) {
208
+ if (budget <= 0) {
209
+ result.notes.push(`Sin presupuesto para materializar el complemento ${complement.agent.slug} de ${cardId}.`);
210
+ break;
211
+ }
212
+ const contributes = complement.matched.filter((m) => !panel.primary.matched.includes(m));
213
+ const peer = await instantiate(office, roster, complement.agent, card, options, complement.agent.capabilities, contributes, true, alreadyDeployed.get(complement.agent.slug));
214
+ if (!peer)
215
+ continue;
216
+ budget -= 1;
217
+ result.dispatched.push(peer);
218
+ // Lo que aporta el complemento ya no es un hueco.
219
+ for (const cap of contributes) {
220
+ const idx = result.uncovered.indexOf(cap);
221
+ if (idx !== -1)
222
+ result.uncovered.splice(idx, 1);
223
+ }
224
+ }
225
+ }
226
+ await office.saveRoster(roster);
227
+ await office.saveState(state);
228
+ return result;
229
+ }
230
+ /** Crea (o reutiliza) un agente y devuelve el payload de despacho. */
231
+ async function instantiate(office, roster, catalogAgent, card, options, capabilities, contributes, isPeer, reused) {
232
+ const role = catalogAgent.slug;
233
+ const agentId = reused?.id ?? `e-${role}`.slice(0, 40);
234
+ const ficha = {
235
+ id: agentId,
236
+ role,
237
+ displayName: catalogAgent.displayName,
238
+ source: {
239
+ kind: "agency-agents",
240
+ division: catalogAgent.division,
241
+ path: catalogAgent.path,
242
+ sourcePrompt: catalogAgent.sourcePrompt,
243
+ vibe: catalogAgent.vibe,
244
+ missions: catalogAgent.missions,
245
+ deliverables: catalogAgent.deliverables,
246
+ rules: catalogAgent.rules,
247
+ },
248
+ capabilities,
249
+ tools: ["read", "glob", "grep", "edit", "write", "bash", "task"],
250
+ scope: {
251
+ mayTouch: card.scope.mayTouch,
252
+ forbidden: card.scope.forbidden,
253
+ },
254
+ canDelegate: true,
255
+ delegateBudget: 2,
256
+ peers: [],
257
+ mustNot: [
258
+ "no editar archivos fuera de may_touch",
259
+ "no tocar archivos de forbidden",
260
+ "no aprobar tu propio trabajo",
261
+ "no declarar DONE sin handoff.md y evidence.md",
262
+ ],
263
+ onFinish: "idle-join",
264
+ escalateTo: "integrator",
265
+ };
266
+ const briefing = office.buildBriefing(ficha, card, roster);
267
+ const agentFile = await materializeAgent(options.projectRoot, ficha, briefing);
268
+ const prompt = buildAgentPrompt(ficha, briefing);
269
+ roster.agents[ficha.id] = {
270
+ id: ficha.id,
271
+ role: ficha.role,
272
+ displayName: ficha.displayName,
273
+ state: isPeer ? "idle_available" : "working",
274
+ capabilities: ficha.capabilities,
275
+ fichaPath: agentFile,
276
+ currentCard: isPeer ? null : card.id,
277
+ lease: null,
278
+ idleSince: isPeer ? nowIso() : null,
279
+ canAccept: isPeer,
280
+ helpGiven: 0,
281
+ helpReceived: 0,
282
+ helpedPeers: [],
283
+ lastHeartbeat: nowIso(),
284
+ source: ficha.source,
285
+ };
286
+ return {
287
+ agentId: ficha.id,
288
+ agentName: agentNameFor(ficha.role),
289
+ cardId: isPeer ? null : card.id,
290
+ role: ficha.role,
291
+ displayName: ficha.displayName,
292
+ source: "agency-agents",
293
+ coverage: 0,
294
+ contributes,
295
+ prompt,
296
+ agentFile,
297
+ artifacts: briefing.artifacts.map((a) => a.filename),
298
+ isPeer,
299
+ };
300
+ }
301
+ //# sourceMappingURL=dispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/core/dispatch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Factory: creación de roles que el catálogo no cubre.
3
+ *
4
+ * ## Por qué una factory y no un prompt genérico
5
+ *
6
+ * Un rol fabricado tiene que ser **indistinguible en calidad** de uno del
7
+ * catálogo. Si el catálogo de agency-agents tiene 306 agentes con briefing de
8
+ * 10 secciones, un rol fabricado con un prompt de 5 líneas se nota: es
9
+ * monótono, no tiene criterio propio, y el resto de la malla lo trata como
10
+ * un agente de segunda.
11
+ *
12
+ * Por eso la factory emite **exactamente la misma estructura** que agency-agents:
13
+ * Identity & Memory, Core Mission, Critical Rules, Technical Deliverables,
14
+ * Workflow Process, Communication Style, Learning & Memory, Success Metrics,
15
+ * Advanced Capabilities. El parser del catálogo no distingue el origen.
16
+ *
17
+ * ## Qué hace de un briefing bueno
18
+ *
19
+ * No es largo: es **específico**. Un briefing que dice "sos un experto en X"
20
+ * no sirve para nada. Uno que dice qué mirás primero, qué error típico cometés
21
+ * y qué entregás, sirve.
22
+ */
23
+ import type { Ficha, CoordinatorId } from "./types.js";
24
+ export interface FactoryInput {
25
+ role: string;
26
+ displayName?: string;
27
+ capabilities: string[];
28
+ scope?: {
29
+ mayTouch?: string[];
30
+ forbidden?: string[];
31
+ };
32
+ canDelegate?: boolean;
33
+ delegateBudget?: number;
34
+ peers?: string[];
35
+ escalateTo?: CoordinatorId;
36
+ /** Contexto del objetivo, para que el briefing no sea genérico. */
37
+ objective?: string;
38
+ /** Lo que la card necesita saber. */
39
+ mission?: string;
40
+ /** Áreas donde este rol suele meterse en problemas. */
41
+ failureModes?: string[];
42
+ }
43
+ export declare const FACTORY_DISPLAY_FALLBACK = "Especialista";
44
+ /**
45
+ * Template de un agente fabricado.
46
+ *
47
+ * La estructura es la de agency-agents a propósito: mismo orden, mismas
48
+ * secciones, mismo nivel de especificidad.
49
+ */
50
+ export declare const FACTORY_PROMPT_TEMPLATE = "# {{display_name}} Agent Personality\n\nYou are **{{display_name}}**, {{role_phrase}} {{mission_phrase}}\n\n## Your Identity & Memory\n\n- **Role**: {{role_phrase}}\n- **Personality**: {{personality}}\n- **Memory**: {{memory}}\n- **Experience**: {{experience}}\n\n## Your Core Mission\n\n{{core_mission}}\n\n## Critical Rules You Must Follow\n\n{{critical_rules}}\n\n## Your Technical Deliverables\n\n{{technical_deliverables}}\n\n## Your Workflow Process\n\n### Step 1: Understand the Terrain\n{{step_1}}\n\n### Step 2: Decide the Approach\n{{step_2}}\n\n### Step 3: Execute Within Scope\n{{step_3}}\n\n### Step 4: Verify and Hand Off\n{{step_4}}\n\n## Your Communication Style\n\n{{communication_style}}\n\n## Learning & Memory\n\nRemember and build rigor in:\n{{learning}}\n\n## Your Success Metrics\n\nYou're successful when:\n{{success_metrics}}\n\n## Advanced Capabilities\n\n{{advanced_capabilities}}\n\n## Context of This Run\n\n{{objective}}\n";
51
+ /**
52
+ * Fabrica una ficha a partir del template.
53
+ *
54
+ * El prompt generado no es genérico: incluye las capabilities concretas, el
55
+ * scope, el objetivo de la corrida y los modos de fallo del rol. Un agente
56
+ * fabricado con contexto es usable; uno con un prompt vacío no sirve.
57
+ */
58
+ export declare function createFicha(input: FactoryInput): Ficha;
59
+ /** "frontend-developer" → "Frontend Developer". */
60
+ export declare function titleize(slug: string): string;
61
+ /** Candidato a promoción a skill: roles de factory con uso repetido. */
62
+ export interface AgentCandidate {
63
+ role: string;
64
+ uses: number;
65
+ lastUsed: string;
66
+ }
67
+ export declare class CandidateRegistry {
68
+ private readonly candidates;
69
+ record(role: string, at: string): void;
70
+ /** Roles que se usaron lo suficiente para promoverlos. */
71
+ promotable(threshold?: number): AgentCandidate[];
72
+ all(): AgentCandidate[];
73
+ }
74
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAe,aAAa,EAAE,MAAM,YAAY,CAAA;AAInE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IACrD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,CAAC,EAAE,aAAa,CAAA;IAC1B,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,eAAO,MAAM,wBAAwB,iBAAiB,CAAA;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,67BA0DnC,CAAA;AAWD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CA6CtD;AAwHD,mDAAmD;AACnD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED,wEAAwE;AACxE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAE/D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAUtC,0DAA0D;IAC1D,UAAU,CAAC,SAAS,SAAI,GAAG,cAAc,EAAE;IAM3C,GAAG,IAAI,cAAc,EAAE;CAGxB"}