@jmanuelcorral/openteam 0.1.21 → 0.1.22

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 (40) hide show
  1. package/README.md +29 -31
  2. package/dist/cli/dashboardServe.d.ts +15 -8
  3. package/dist/cli/dashboardServe.d.ts.map +1 -1
  4. package/dist/cli.js +889 -276
  5. package/dist/commands/dashboard.d.ts +4 -4
  6. package/dist/commands/dashboard.d.ts.map +1 -1
  7. package/dist/commands/orchestratorAgent.d.ts.map +1 -1
  8. package/dist/contract/opencode.d.ts +1 -1
  9. package/dist/contract/opencode.d.ts.map +1 -1
  10. package/dist/dashboard/render.d.ts.map +1 -1
  11. package/dist/dashboard/state.d.ts +14 -6
  12. package/dist/dashboard/state.d.ts.map +1 -1
  13. package/dist/dashboard/types.d.ts +14 -3
  14. package/dist/dashboard/types.d.ts.map +1 -1
  15. package/dist/index.d.ts +8 -9
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +476 -802
  18. package/dist/orchestrator/coordinator.d.ts +14 -2
  19. package/dist/orchestrator/coordinator.d.ts.map +1 -1
  20. package/dist/plugin/capture.d.ts +46 -0
  21. package/dist/plugin/capture.d.ts.map +1 -0
  22. package/dist/plugin/hooks.d.ts +2 -2
  23. package/dist/plugin/hooks.d.ts.map +1 -1
  24. package/dist/plugin/toolcalls.d.ts +21 -0
  25. package/dist/plugin/toolcalls.d.ts.map +1 -0
  26. package/dist/telemetry/aggregate.d.ts +89 -0
  27. package/dist/telemetry/aggregate.d.ts.map +1 -0
  28. package/dist/telemetry/decisions.d.ts +25 -0
  29. package/dist/telemetry/decisions.d.ts.map +1 -0
  30. package/dist/telemetry/eventLog.d.ts +63 -0
  31. package/dist/telemetry/eventLog.d.ts.map +1 -0
  32. package/dist/telemetry/events.d.ts +217 -0
  33. package/dist/telemetry/events.d.ts.map +1 -0
  34. package/dist/web/snapshot.d.ts +13 -7
  35. package/dist/web/snapshot.d.ts.map +1 -1
  36. package/dist/web/start.d.ts +10 -7
  37. package/dist/web/start.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/dist/web/activity.d.ts +0 -12
  40. package/dist/web/activity.d.ts.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import type { DashboardConfig } from "../config/schema";
2
2
  /**
3
- * `openteam dashboard`: informa del estado del dashboard web (habilitado o no)
4
- * y la URL en la que se sirve mientras la sesión de opencode está activa. El
5
- * servidor vive dentro del proceso del plugin (`server()`), no en la CLI, así
6
- * que este comando es de solo lectura: reporta config y cómo activarlo.
3
+ * `openteam dashboard --status`: resumen de texto de la configuración del
4
+ * dashboard. El servidor ya **no** vive dentro del plugin: se lanza desde la CLI
5
+ * con `openteam dashboard`, que agrega todas las sesiones de opencode (varias
6
+ * pestañas un panel) leyendo los logs de eventos por sesión.
7
7
  */
8
8
  export declare function renderDashboardStatus(dashboard: DashboardConfig): string;
9
9
  //# sourceMappingURL=dashboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CA4BxE"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAkBxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestratorAgent.d.ts","sourceRoot":"","sources":["../../src/commands/orchestratorAgent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,MAAM,CAuLR"}
1
+ {"version":3,"file":"orchestratorAgent.d.ts","sourceRoot":"","sources":["../../src/commands/orchestratorAgent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,MAAM,CA4LR"}
@@ -31,7 +31,7 @@ export type SupportedOpencodeVersion = (typeof SUPPORTED_OPENCODE_VERSIONS)[numb
31
31
  * Puntos de integración concretos que openteam asume estables. Sirve como
32
32
  * checklist ejecutable/documental cuando se verifica una versión nueva.
33
33
  */
34
- export declare const OPENCODE_CONTRACT_SURFACES: readonly ["Hooks[\"chat.message\"] permite mutar output.message.model", "tool() + tool.schema (zod) para custom tools", "PluginModule = { id?, server } con server: (input, options?) => Promise<Hooks>", "SDK session.create / session.prompt aceptan body.model = { providerID, modelID }"];
34
+ export declare const OPENCODE_CONTRACT_SURFACES: readonly ["Hooks[\"chat.message\"] permite mutar output.message.model", "tool() + tool.schema (zod) para custom tools", "PluginModule = { id?, server } con server: (input, options?) => Promise<Hooks>", "SDK session.create / session.prompt aceptan body.model = { providerID, modelID }", "Hooks[\"tool.execute.before\"] / Hooks[\"tool.execute.after\"] reciben { tool, sessionID, callID }", "Hooks[\"event\"] con message.updated trae properties.info (AssistantMessage) con cost:number y tokens{input,output,reasoning,cache{read,write}} y time{created,completed}"];
35
35
  export type Semver = {
36
36
  readonly major: number;
37
37
  readonly minor: number;
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/contract/opencode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,sDAGpB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,8BAA8B,YAAY,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,sBAAuB,CAAC;AAEhE,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+RAK7B,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAIF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAanD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAc9D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GACd,OAAO,IAAI,wBAAwB,CAErC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOpE"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/contract/opencode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,sDAGpB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,8BAA8B,YAAY,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,sBAAuB,CAAC;AAEhE,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,0BAA0B,kjBAO7B,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAIF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAanD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAc9D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GACd,OAAO,IAAI,wBAAwB,CAErC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/dashboard/render.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,cAAc,EAGf,MAAM,SAAS,CAAC;AASjB,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AAiND,MAAM,MAAM,aAAa,GAAG;IAC1B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAmCR"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/dashboard/render.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAGV,cAAc,EAGf,MAAM,SAAS,CAAC;AASjB,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AAyUD,MAAM,MAAM,aAAa,GAAG;IAC1B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAuCR"}
@@ -1,8 +1,10 @@
1
1
  import type { AgentInfo } from "../commands/agents";
2
- import type { CostRecord } from "../telemetry/types";
3
- import type { ActivityEntry, BacklogItem, CommitView, DashboardState } from "./types";
2
+ import type { OpenTeamEvent } from "../telemetry/events";
3
+ import type { BacklogItem, CommitView, DashboardState } from "./types";
4
4
  export declare const DEFAULT_RECENT_ROUTES = 50;
5
5
  export declare const DEFAULT_ACTIVITY_LIMIT = 100;
6
+ export declare const DEFAULT_DECISIONS_LIMIT = 100;
7
+ export declare const DEFAULT_MEETINGS_LIMIT = 50;
6
8
  /** Fuentes crudas ya leídas por el driver. `buildDashboardState` las compone. */
7
9
  export type DashboardInputs = {
8
10
  /** ISO-8601 inyectado por el driver. */
@@ -11,7 +13,8 @@ export type DashboardInputs = {
11
13
  id?: string;
12
14
  startedAt?: string;
13
15
  };
14
- costRecords: readonly CostRecord[];
16
+ /** Eventos de **todas** las sesiones ya fusionados (route/message/toolcall/…). */
17
+ events: readonly OpenTeamEvent[];
15
18
  /** `undefined` si no hay backlog en disco. */
16
19
  backlog?: {
17
20
  path: string;
@@ -19,15 +22,20 @@ export type DashboardInputs = {
19
22
  lastCommit?: CommitView;
20
23
  };
21
24
  team: readonly AgentInfo[];
22
- activity: readonly ActivityEntry[];
23
25
  /** Tope de `recentRoutes` (def 50). */
24
26
  recentRoutesLimit?: number;
25
27
  /** Tope de `activity` (def 100). */
26
28
  activityLimit?: number;
29
+ /** Tope de `decisions` (def 100). */
30
+ decisionsLimit?: number;
31
+ /** Tope de `meetings` (def 50). */
32
+ meetingsLimit?: number;
27
33
  };
28
34
  /**
29
- * Compone el snapshot del dashboard a partir de las fuentes crudas. Determinista:
30
- * el orden de `recentRoutes`/`activity` no depende del orden de entrada. Pure.
35
+ * Compone el snapshot del dashboard a partir de las fuentes crudas. Agrega los
36
+ * eventos de todas las sesiones (coste/tokens reales, toolcalls, decisiones y
37
+ * reuniones) y deriva la vista de routing estimado. Determinista: los órdenes no
38
+ * dependen del orden de entrada. Pure.
31
39
  */
32
40
  export declare function buildDashboardState(inputs: DashboardInputs): DashboardState;
33
41
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/dashboard/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,cAAc,EAGf,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG;IAC5B,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QACR,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IACnC,8CAA8C;IAC9C,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;QAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB,CAAC;IACF,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3B,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AA8CF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,cAAc,CA0B3E"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/dashboard/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAQpD,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,qBAAqB,CAAC;AAGrE,OAAO,KAAK,EAEV,WAAW,EACX,UAAU,EACV,cAAc,EAGf,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG;IAC5B,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QACR,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,kFAAkF;IAClF,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,8CAA8C;IAC9C,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;QAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB,CAAC;IACF,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3B,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAuFF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,cAAc,CAmC3E"}
@@ -1,10 +1,13 @@
1
1
  import type { ComplexityTier } from "../capabilities/types";
2
2
  import type { AgentInfo } from "../commands/agents";
3
3
  import type { CostReport } from "../commands/report";
4
+ import type { DecisionView, EventTotals, MeetingView, SessionSummary } from "../telemetry/aggregate";
4
5
  /**
5
6
  * Snapshot inmutable del estado del dashboard. Producido por `buildDashboardState`
6
7
  * (puro) y servido en `/api/state`. Reutiliza tipos ya existentes (`CostReport`,
7
- * `AgentInfo`). Nunca contiene texto de prompt en claro: solo `promptHash`.
8
+ * `AgentInfo`) y las vistas agregadas de eventos (`SessionSummary`, `EventTotals`,
9
+ * `DecisionView`, `MeetingView`). Nunca contiene texto de prompt en claro: solo
10
+ * `promptHash` y resúmenes redactados.
8
11
  */
9
12
  export type DashboardState = {
10
13
  /** ISO-8601. Lo inyecta el driver (no el core determinista). */
@@ -13,15 +16,23 @@ export type DashboardState = {
13
16
  id?: string;
14
17
  startedAt?: string;
15
18
  };
16
- /** Routing / coste — reutiliza `summarizeCostRecords()`. */
19
+ /** Routing / coste estimado — reutiliza `summarizeCostRecords()`. */
17
20
  cost: CostReport;
21
+ /** Rollups reales agregados de **todas** las sesiones (coste/tokens/toolcalls). */
22
+ totals: EventTotals;
23
+ /** Resumen por sesión de opencode (una pestaña = una sesión). */
24
+ sessions: SessionSummary[];
18
25
  /** Últimas decisiones de routing (redactadas: solo `promptHash`). */
19
26
  recentRoutes: RouteView[];
27
+ /** Decisiones registradas por el scribe/orquestador, más nuevas primero. */
28
+ decisions: DecisionView[];
29
+ /** Reuniones (batches multi-agente del orquestador), más nuevas primero. */
30
+ meetings: MeetingView[];
20
31
  /** Progreso del loop. `undefined` si no hay backlog. */
21
32
  loop?: LoopSnapshot;
22
33
  /** Equipo — reutiliza el frontmatter de los agentes. */
23
34
  team: AgentInfo[];
24
- /** Actividad reciente (scribe + eventos opencode), más nueva primero. */
35
+ /** Actividad reciente (derivada de eventos `activity`/`decision`), más nueva primero. */
25
36
  activity: ActivityEntry[];
26
37
  };
27
38
  export type RouteView = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,4DAA4D;IAC5D,IAAI,EAAE,UAAU,CAAC;IACjB,qEAAqE;IACrE,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,wDAAwD;IACxD,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,wDAAwD;IACxD,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,yEAAyE;IACzE,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC;IAChC,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IAChD,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,cAAc,EACf,MAAM,wBAAwB,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,qEAAqE;IACrE,IAAI,EAAE,UAAU,CAAC;IACjB,mFAAmF;IACnF,MAAM,EAAE,WAAW,CAAC;IACpB,iEAAiE;IACjE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,qEAAqE;IACrE,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,wDAAwD;IACxD,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,wDAAwD;IACxD,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,yFAAyF;IACzF,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC;IAChC,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IAChD,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@ import { appendFile, mkdir } from "node:fs/promises";
2
2
  import type { Plugin, PluginModule } from "@opencode-ai/plugin";
3
3
  import type { CliDeps } from "./commands/dispatch";
4
4
  import type { OpenTeamConfig } from "./config/schema";
5
- import type { ActivityEntry } from "./dashboard/types";
6
5
  import { RuntimeRegistry } from "./local/registry";
6
+ import { type EventSink } from "./telemetry/eventLog";
7
7
  type FileAppenderDeps = {
8
8
  mkdir?: typeof mkdir;
9
9
  appendFile?: typeof appendFile;
@@ -11,16 +11,15 @@ type FileAppenderDeps = {
11
11
  export declare function logAvailabilityRefreshError(error: unknown): void;
12
12
  export declare function logTelemetryError(error: unknown): void;
13
13
  export declare function createFileAppender(filePath: string, deps?: FileAppenderDeps): (line: string) => Promise<void>;
14
- export declare function isMissingFile(error: unknown): boolean;
14
+ /** Appender genérico: crea el directorio destino y añade una línea al fichero. */
15
+ export declare function createPathAppender(deps?: FileAppenderDeps): (path: string, line: string) => Promise<void>;
15
16
  /**
16
- * Mapea un evento de opencode a una entrada de actividad **redactada** (solo el
17
- * tipo de evento, nunca contenido de prompt). Devuelve `undefined` para eventos
18
- * fuera de la allow-list.
17
+ * Crea el sink de eventos por sesión (`<sessionsDir>/<sessionID>.jsonl`). Si la
18
+ * telemetría está desactivada devuelve un sink no-op.
19
19
  */
20
- export declare function activityFromEvent(event: {
21
- type: string;
22
- }, now: () => number): ActivityEntry | undefined;
23
- export declare function createCliDeps(config: OpenTeamConfig, registry: RuntimeRegistry, telemetryPath: string): CliDeps;
20
+ export declare function createEventSink(rawOptions: unknown): EventSink;
21
+ export declare function isMissingFile(error: unknown): boolean;
22
+ export declare function createCliDeps(config: OpenTeamConfig, registry: RuntimeRegistry, telemetryPath: string, sessionsDir?: string): CliDeps;
24
23
  export declare const server: Plugin;
25
24
  declare const plugin: PluginModule;
26
25
  export default plugin;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,EAIN,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,MAAM,EAAe,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAKnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAmBnD,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;CAChC,CAAC;AAcF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAGhE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAGtD;AA0BD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,gBAAqB,GAC1B,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAQjC;AAeD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOrD;AAmBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACvB,GAAG,EAAE,MAAM,MAAM,GAChB,aAAa,GAAG,SAAS,CAM3B;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,MAAM,GACpB,OAAO,CA4DT;AAED,eAAO,MAAM,MAAM,EAAE,MAyDpB,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,YAGb,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,EAIN,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,MAAM,EAAe,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAKnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMnD,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,sBAAsB,CAAC;AAS9B,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;CAChC,CAAC;AAcF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAGhE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAGtD;AAgCD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,gBAAqB,GAC1B,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAQjC;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAChC,IAAI,GAAE,gBAAqB,GAC1B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAQ/C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,OAAO,GAAG,SAAS,CAa9D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOrD;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,MAAM,EACrB,WAAW,GAAE,MAA6B,GACzC,OAAO,CAmFT;AAED,eAAO,MAAM,MAAM,EAAE,MAkDpB,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,YAGb,CAAC;AAEF,eAAe,MAAM,CAAC"}