@lensmcp/protocol-types 1.25.38 → 1.25.39
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/lib/team.d.ts +82 -4
- package/lib/team.js +1 -1
- package/package.json +1 -1
package/lib/team.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* What kind of work a task is: it names the role that takes it. `goal`: what a manager breaks into the others' tasks;
|
|
9
9
|
* `marketing`: telling people about the product (launch posts, release notes, landing and store copy).
|
|
10
10
|
*/
|
|
11
|
-
export declare const DASH_TEAM_KINDS: readonly ["goal", "build", "bug", "review", "test", "docs", "marketing", "research", "chore"];
|
|
11
|
+
export declare const DASH_TEAM_KINDS: readonly ["goal", "build", "bug", "review", "test", "qa", "docs", "marketing", "research", "chore"];
|
|
12
12
|
export type DashTeamKind = (typeof DASH_TEAM_KINDS)[number];
|
|
13
13
|
export type DashTeamTaskState = 'open' | 'claimed' | 'recovery' | 'completed' | 'cancelled';
|
|
14
14
|
export type DashTeamOutcome = 'done' | 'approved' | 'changes-requested' | 'passed' | 'failed' | 'wontfix';
|
|
@@ -66,6 +66,52 @@ export interface DashTeamTask {
|
|
|
66
66
|
completedHead?: string | null;
|
|
67
67
|
paths?: string[];
|
|
68
68
|
tags?: string[];
|
|
69
|
+
/** A review's items, whole (the drawer): each point it checks and its verdict (planning/team/06-team-operations.md OP-D3). */
|
|
70
|
+
items?: DashTeamReviewItem[];
|
|
71
|
+
/** A review's items as counts (the board). */
|
|
72
|
+
itemStats?: {
|
|
73
|
+
total: number;
|
|
74
|
+
pass: number;
|
|
75
|
+
fail: number;
|
|
76
|
+
open: number;
|
|
77
|
+
};
|
|
78
|
+
/** What its holder's tool calls did in its newest claim, as the hooks saw them (the drawer). */
|
|
79
|
+
work?: DashTeamTaskWork;
|
|
80
|
+
}
|
|
81
|
+
/** One claim's work, from its holder's hooks: the files edited, commits, the checks and the whole suites run, workspace actions. */
|
|
82
|
+
export interface DashTeamTaskWork {
|
|
83
|
+
sessionId: string;
|
|
84
|
+
at: number;
|
|
85
|
+
edits: number;
|
|
86
|
+
edited: string[];
|
|
87
|
+
outside?: string[];
|
|
88
|
+
commits?: number;
|
|
89
|
+
checks?: string[];
|
|
90
|
+
suites?: string[];
|
|
91
|
+
actions?: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* «Are they doing the right things» (planning/team/06-team-operations.md O5): what a task's record and its holder's tool
|
|
95
|
+
* calls raise — a review or QA run that edited, a test author that ran a whole suite, edits outside the task's paths, a
|
|
96
|
+
* change completed with no commit or no check, a QA pass naming no run, a claim with no line in ten minutes, a holder
|
|
97
|
+
* whose process ended. Hints, never verdicts.
|
|
98
|
+
*/
|
|
99
|
+
export type DashTeamConductKind = 'checker-edited' | 'whole-suite' | 'outside-paths' | 'no-commit' | 'unchecked' | 'qa-unrun' | 'quiet-claim' | 'host-gone';
|
|
100
|
+
export interface DashTeamFlag {
|
|
101
|
+
kind: DashTeamConductKind;
|
|
102
|
+
severity: 'info' | 'warn';
|
|
103
|
+
taskId: string;
|
|
104
|
+
/** The agent it is about: the task's holder. */
|
|
105
|
+
sessionId?: string;
|
|
106
|
+
text: string;
|
|
107
|
+
}
|
|
108
|
+
/** One point a review checks: from the work's «Done means», its tests, a review before it that sent it back, or the reviewer. */
|
|
109
|
+
export interface DashTeamReviewItem {
|
|
110
|
+
id: string;
|
|
111
|
+
text: string;
|
|
112
|
+
from: 'done-means' | 'tests' | 'recheck' | 'reviewer';
|
|
113
|
+
verdict?: 'pass' | 'fail' | 'n/a';
|
|
114
|
+
note?: string;
|
|
69
115
|
}
|
|
70
116
|
/** A task named in another's chain: its parent, its children, a blocker. */
|
|
71
117
|
export interface DashTeamTaskRef {
|
|
@@ -81,6 +127,25 @@ export interface DashTeamTaskRef {
|
|
|
81
127
|
export interface DashTeamTreeNode extends DashTeamTaskRef {
|
|
82
128
|
children: DashTeamTreeNode[];
|
|
83
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* The OS process agents run in (planning/team/06-team-operations.md OP-D2): a Claude Code or Codex CLI — the person's
|
|
132
|
+
* terminal or a launch. An in-process subagent has no process of its own: it runs in its parent's host. One process,
|
|
133
|
+
* not a reused pid: the pid with the time it started.
|
|
134
|
+
*/
|
|
135
|
+
export interface DashTeamHost {
|
|
136
|
+
/** `<pid>@<startedAt>`. */
|
|
137
|
+
key: string;
|
|
138
|
+
pid: number;
|
|
139
|
+
/** The client binary: `claude`, `codex`, or another's name. */
|
|
140
|
+
bin: string;
|
|
141
|
+
startedAt: number;
|
|
142
|
+
/** It runs now — the same binary, started then. Undefined: it could not be checked (no `ps`). */
|
|
143
|
+
alive?: boolean;
|
|
144
|
+
/** Its resident memory in MB, while it runs. */
|
|
145
|
+
rssMb?: number;
|
|
146
|
+
}
|
|
147
|
+
/** Why a session ended: closed by itself or the person, its CLI's SessionEnd, a subagent that stopped, its host process gone, a join never used, quiet past the lease with no host to vouch for it. */
|
|
148
|
+
export type DashTeamClosedReason = 'closed' | 'session-end' | 'stopped' | 'host-gone' | 'unused' | 'lost';
|
|
84
149
|
/** One coordination session: an agent on the team (a role), or one outside it (no role). */
|
|
85
150
|
export interface DashTeamSession {
|
|
86
151
|
id: string;
|
|
@@ -95,8 +160,17 @@ export interface DashTeamSession {
|
|
|
95
160
|
listening?: boolean;
|
|
96
161
|
objective?: string;
|
|
97
162
|
step?: string;
|
|
98
|
-
/**
|
|
99
|
-
|
|
163
|
+
/**
|
|
164
|
+
* `active`: heard from within its lease. `idle`: not heard from within it, but its host process runs — a session at
|
|
165
|
+
* the prompt, waiting for the person. `stale`: not heard from within it and no host to vouch for it — lost; LensMCP
|
|
166
|
+
* closes it an hour after its lease. `closed`: ended (closedReason says how).
|
|
167
|
+
*/
|
|
168
|
+
presence: 'active' | 'idle' | 'stale' | 'closed';
|
|
169
|
+
/** The process it runs in — a key of the board's `hosts`. None: unknown (an older LensMCP's session, or no `ps`). */
|
|
170
|
+
host?: string;
|
|
171
|
+
/** The session it is a subagent of: it runs inside that session's process. */
|
|
172
|
+
parent?: string;
|
|
173
|
+
closedReason?: DashTeamClosedReason;
|
|
100
174
|
worktreeId: string;
|
|
101
175
|
createdAt: number;
|
|
102
176
|
lastSeenAt: number;
|
|
@@ -161,11 +235,15 @@ export interface DashTeamBoard {
|
|
|
161
235
|
revision: number;
|
|
162
236
|
observedAt: number;
|
|
163
237
|
sessions: DashTeamSession[];
|
|
238
|
+
/** The processes the board's sessions run in — running ones first. */
|
|
239
|
+
hosts: DashTeamHost[];
|
|
164
240
|
worktrees: DashTeamWorktree[];
|
|
165
241
|
/** Live tasks first, then finished ones, newest first. */
|
|
166
242
|
tasks: DashTeamTask[];
|
|
167
243
|
notes: DashTeamNote[];
|
|
168
244
|
roles: DashTeamRole[];
|
|
245
|
+
/** What the board's tasks raise about the agents that hold or held them. */
|
|
246
|
+
flags?: DashTeamFlag[];
|
|
169
247
|
/** More sessions or tasks than the board carries. */
|
|
170
248
|
truncated: boolean;
|
|
171
249
|
}
|
|
@@ -440,7 +518,7 @@ export interface DashTeamReviewDelegation {
|
|
|
440
518
|
}
|
|
441
519
|
/** What the run says about the process — a hint for the person reviewing it, never a verdict. */
|
|
442
520
|
export interface DashTeamReviewFlag {
|
|
443
|
-
kind: 'self-review' | 'manager-did-work' | 'same-model' | 'role-model-mismatch' | 'unjoined-agent' | 'long-wait' | 'silent-claim' | 'rework' | 'no-evidence' | 'recovery' | 'open-under-closed' | 'serial' | 'idle-agent';
|
|
521
|
+
kind: 'self-review' | 'manager-did-work' | 'same-model' | 'role-model-mismatch' | 'unjoined-agent' | 'long-wait' | 'silent-claim' | 'rework' | 'no-evidence' | 'recovery' | 'open-under-closed' | 'serial' | 'idle-agent' | DashTeamConductKind;
|
|
444
522
|
severity: 'info' | 'warn';
|
|
445
523
|
text: string;
|
|
446
524
|
taskId?: string;
|
package/lib/team.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";export const DASH_TEAM_KINDS=["goal","build","bug","review","test","docs","marketing","research","chore"],DASH_TEAM_LINK_KINDS=["task","flow","error","suggestion","ai-call","review","page","route","commit","branch","worktree","file"];
|
|
1
|
+
"use strict";export const DASH_TEAM_KINDS=["goal","build","bug","review","test","qa","docs","marketing","research","chore"],DASH_TEAM_LINK_KINDS=["task","flow","error","suggestion","ai-call","review","page","route","commit","branch","worktree","file"];
|