crewly 1.20.306 → 1.20.308
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/config/hooks/agent-status/report.sh +39 -1
- package/dist/backend/backend/src/constants.d.ts +120 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +120 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts +2 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +18 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/board/board.controller.d.ts +23 -0
- package/dist/backend/backend/src/controllers/board/board.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/board/board.controller.js +48 -0
- package/dist/backend/backend/src/controllers/board/board.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/board/board.routes.d.ts +15 -0
- package/dist/backend/backend/src/controllers/board/board.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/board/board.routes.js +21 -0
- package/dist/backend/backend/src/controllers/board/board.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.js +2 -0
- package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +5 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +3 -0
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +18 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +172 -2
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +3 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/board/board-activity.normalizer.d.ts +102 -0
- package/dist/backend/backend/src/services/board/board-activity.normalizer.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-activity.normalizer.js +244 -0
- package/dist/backend/backend/src/services/board/board-activity.normalizer.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-activity.tracker.d.ts +159 -0
- package/dist/backend/backend/src/services/board/board-activity.tracker.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-activity.tracker.js +346 -0
- package/dist/backend/backend/src/services/board/board-activity.tracker.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-outcome-phrases.d.ts +43 -0
- package/dist/backend/backend/src/services/board/board-outcome-phrases.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-outcome-phrases.js +76 -0
- package/dist/backend/backend/src/services/board/board-outcome-phrases.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-push.service.d.ts +132 -0
- package/dist/backend/backend/src/services/board/board-push.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-push.service.js +374 -0
- package/dist/backend/backend/src/services/board/board-push.service.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-redact.d.ts +90 -0
- package/dist/backend/backend/src/services/board/board-redact.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-redact.js +359 -0
- package/dist/backend/backend/src/services/board/board-redact.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-snapshot.builder.d.ts +183 -0
- package/dist/backend/backend/src/services/board/board-snapshot.builder.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-snapshot.builder.js +344 -0
- package/dist/backend/backend/src/services/board/board-snapshot.builder.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-usage.d.ts +20 -0
- package/dist/backend/backend/src/services/board/board-usage.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-usage.js +82 -0
- package/dist/backend/backend/src/services/board/board-usage.js.map +1 -0
- package/dist/backend/backend/src/services/board/board.service.d.ts +60 -0
- package/dist/backend/backend/src/services/board/board.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board.service.js +82 -0
- package/dist/backend/backend/src/services/board/board.service.js.map +1 -0
- package/dist/backend/backend/src/services/board/board.sources.d.ts +25 -0
- package/dist/backend/backend/src/services/board/board.sources.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board.sources.js +300 -0
- package/dist/backend/backend/src/services/board/board.sources.js.map +1 -0
- package/dist/backend/backend/src/services/board/board.types.d.ts +122 -0
- package/dist/backend/backend/src/services/board/board.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board.types.js +8 -0
- package/dist/backend/backend/src/services/board/board.types.js.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-inbound.service.d.ts +122 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-inbound.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-inbound.service.js +339 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-inbound.service.js.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-redact.d.ts +44 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-redact.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-redact.js +161 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-redact.js.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-step.normalizer.d.ts +57 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-step.normalizer.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-step.normalizer.js +164 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-step.normalizer.js.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-step.stream.d.ts +140 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-step.stream.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-step.stream.js +300 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-step.stream.js.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-terminal.service.d.ts +99 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-terminal.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-terminal.service.js +223 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-terminal.service.js.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-transcript.tail.d.ts +126 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-transcript.tail.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-transcript.tail.js +385 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-transcript.tail.js.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-wiring.d.ts +103 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-wiring.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-wiring.js +124 -0
- package/dist/backend/backend/src/services/board/canvas/canvas-wiring.js.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas.types.d.ts +88 -0
- package/dist/backend/backend/src/services/board/canvas/canvas.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/canvas/canvas.types.js +8 -0
- package/dist/backend/backend/src/services/board/canvas/canvas.types.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.js +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
- package/dist/backend/backend/src/services/google/google-reauth-notifier.service.d.ts +13 -0
- package/dist/backend/backend/src/services/google/google-reauth-notifier.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/google/google-reauth-notifier.service.js +15 -0
- package/dist/backend/backend/src/services/google/google-reauth-notifier.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js +2 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +120 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +120 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/cloud/cloud-sync.types.d.ts +1 -1
- package/dist/cli/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
- package/dist/cli/backend/src/services/cloud/cloud-sync.types.js +1 -0
- package/dist/cli/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.routes.d.ts","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"api.routes.d.ts","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAgGjE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAkWpE"}
|
|
@@ -55,6 +55,7 @@ import { createReconcilerRouter } from '../controllers/reconciler/reconciler.rou
|
|
|
55
55
|
import { createWorktreeJanitorRouter } from '../controllers/worktree-janitor/worktree-janitor.routes.js';
|
|
56
56
|
import { createTeamHealthRouter } from '../controllers/team-health/team-health.routes.js';
|
|
57
57
|
import { createUsageLedgerRouter } from '../controllers/usage-ledger/usage-ledger.routes.js';
|
|
58
|
+
import { createBoardRouter } from '../controllers/board/board.routes.js';
|
|
58
59
|
import { createFissionRouter } from '../controllers/fission/fission.routes.js';
|
|
59
60
|
import { createMissionPolicyRouter } from '../controllers/mission/mission-policy.routes.js';
|
|
60
61
|
import { createV2WorkspaceRouter } from '../controllers/v2-workspace/workspace.routes.js';
|
|
@@ -227,6 +228,8 @@ export function createApiRoutes(apiController) {
|
|
|
227
228
|
router.use('/team-health', createTeamHealthRouter());
|
|
228
229
|
// Usage ledger: per-ticket time / token reports and the owner's report categories
|
|
229
230
|
router.use('/usage-ledger', createUsageLedgerRouter());
|
|
231
|
+
// Owner board (crewly#1247): the snapshot pushed to Cloud, for the local dashboard
|
|
232
|
+
router.use('/board', createBoardRouter());
|
|
230
233
|
// Fission guardrail routes for config, stats, violations, and pre-checks
|
|
231
234
|
router.use('/fission', createFissionRouter());
|
|
232
235
|
// Mission policy routes for CRUD and dry-run policy checks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.routes.js","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.routes.js","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Activity normalizer (crewly#1247): maps a runtime tool call (a Claude Code
|
|
3
|
+
* hook event, a browser action, a chat reply, a wait on the owner) to one of
|
|
4
|
+
* the board activity types and a plain-words line.
|
|
5
|
+
*
|
|
6
|
+
* - Edit / Write / MultiEdit / NotebookEdit (and Read / Grep / Glob) -> coding, repo-relative path
|
|
7
|
+
* - Bash -> command, executable + subcommand only (`git push`, `npm test`, `python build.py`)
|
|
8
|
+
* - Crewly skill scripts run through Bash -> by skill: messaging, browsing, writing
|
|
9
|
+
* - WebFetch / WebSearch / browser tools -> browsing, host + path
|
|
10
|
+
* - mcp__ tools -> by name
|
|
11
|
+
*
|
|
12
|
+
* Every string that comes out has been through {@link scrubText}; the raw
|
|
13
|
+
* tool input is read here and dropped, never stored or logged.
|
|
14
|
+
*
|
|
15
|
+
* Pure (no I/O).
|
|
16
|
+
*
|
|
17
|
+
* @module services/board/board-activity.normalizer
|
|
18
|
+
*/
|
|
19
|
+
import type { BoardActivityType } from './board.types.js';
|
|
20
|
+
/** A normalized activity. */
|
|
21
|
+
export interface NormalizedActivity {
|
|
22
|
+
type: BoardActivityType;
|
|
23
|
+
/** Path / host+path / command name / channel (<= 140 chars) */
|
|
24
|
+
detail: string;
|
|
25
|
+
/** One plain-words line for the timeline and "last action" (<= 140 chars) */
|
|
26
|
+
text: string;
|
|
27
|
+
}
|
|
28
|
+
/** The slice of a tool input the hook sends (all optional strings, already length-capped by the hook). */
|
|
29
|
+
export interface ToolInput {
|
|
30
|
+
filePath?: string;
|
|
31
|
+
command?: string;
|
|
32
|
+
url?: string;
|
|
33
|
+
/** A web search query (WebSearch only); the canvas shows it, scrubbed */
|
|
34
|
+
query?: string;
|
|
35
|
+
}
|
|
36
|
+
/** Context for path relativization. */
|
|
37
|
+
export interface NormalizeContext {
|
|
38
|
+
/** Project roots (the agent's project dir, repos) */
|
|
39
|
+
roots?: readonly string[];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Validate a raw `toolInput` from the hook endpoint.
|
|
43
|
+
*
|
|
44
|
+
* @param raw - Parsed JSON value
|
|
45
|
+
* @returns Only the three known string fields, capped; `{}` for anything else
|
|
46
|
+
*/
|
|
47
|
+
export declare function parseToolInput(raw: unknown): ToolInput;
|
|
48
|
+
/** Skills by what they do for the owner. */
|
|
49
|
+
export declare const MESSAGING_SKILLS: Set<string>;
|
|
50
|
+
export declare const BROWSING_SKILLS: Set<string>;
|
|
51
|
+
/** Writing skills and what to call the place they write to. */
|
|
52
|
+
export declare const WRITING_SKILLS: Record<string, string>;
|
|
53
|
+
/** A chat / channel name as it may be shown: `#name`-like, short, no tokens. */
|
|
54
|
+
export declare const CHANNEL_NAME: RegExp;
|
|
55
|
+
/**
|
|
56
|
+
* The value after a flag in a skill's arguments.
|
|
57
|
+
*
|
|
58
|
+
* @param args - Words after the script
|
|
59
|
+
* @param flags - Accepted flag spellings
|
|
60
|
+
* @returns The value, or undefined
|
|
61
|
+
*/
|
|
62
|
+
export declare function flagValue(args: readonly string[], flags: readonly string[]): string | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Normalize one tool call.
|
|
65
|
+
*
|
|
66
|
+
* @param toolName - Runtime tool name (`Edit`, `Bash`, `mcp__x__y`, ...)
|
|
67
|
+
* @param input - Validated input slice
|
|
68
|
+
* @param ctx - Project roots for relative paths
|
|
69
|
+
* @returns Activity (never contains raw input)
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* normalizeToolUse('Edit', { filePath: '/work/crewly/src/a.ts' }, { roots: ['/work/crewly'] });
|
|
74
|
+
* // { type: 'coding', detail: 'crewly/src/a.ts', text: 'Edited crewly/src/a.ts' }
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export declare function normalizeToolUse(toolName: string, input?: ToolInput, ctx?: NormalizeContext): NormalizedActivity;
|
|
78
|
+
/**
|
|
79
|
+
* A browser action by an agent (the Chrome extension path).
|
|
80
|
+
*
|
|
81
|
+
* @param tool - Extension tool name (`navigate`, `click`, ...)
|
|
82
|
+
* @param url - The page the agent is on, if known
|
|
83
|
+
* @returns Activity
|
|
84
|
+
*/
|
|
85
|
+
export declare function normalizeBrowserAction(tool: string, url?: string): NormalizedActivity;
|
|
86
|
+
/**
|
|
87
|
+
* An agent message to the owner or a channel.
|
|
88
|
+
*
|
|
89
|
+
* @param channel - Channel or chat name (`#general`, `owner chat`)
|
|
90
|
+
* @returns Activity
|
|
91
|
+
*/
|
|
92
|
+
export declare function normalizeMessage(channel: string): NormalizedActivity;
|
|
93
|
+
/**
|
|
94
|
+
* The agent waits for the owner.
|
|
95
|
+
*
|
|
96
|
+
* @param what - Short plain-words description (`approval to send an email`)
|
|
97
|
+
* @returns Activity
|
|
98
|
+
*/
|
|
99
|
+
export declare function normalizeOwnerWait(what: string): NormalizedActivity;
|
|
100
|
+
/** The agent is in a turn but between tools. */
|
|
101
|
+
export declare const THINKING: NormalizedActivity;
|
|
102
|
+
//# sourceMappingURL=board-activity.normalizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"board-activity.normalizer.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/board/board-activity.normalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,6BAA6B;AAC7B,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;CACb;AAED,0GAA0G;AAC1G,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAChC,qDAAqD;IACrD,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAKD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CActD;AAQD,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB,aAG3B,CAAC;AACH,eAAO,MAAM,eAAe,aAA+E,CAAC;AAC5G,+DAA+D;AAC/D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiBjD,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,YAAY,QAAgC,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAK/F;AA0DD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,SAAc,EAAE,GAAG,GAAE,gBAAqB,GAAG,kBAAkB,CA0CxH;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAIrF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAGpE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAGnE;AAED,gDAAgD;AAChD,eAAO,MAAM,QAAQ,EAAE,kBAA+E,CAAC"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Activity normalizer (crewly#1247): maps a runtime tool call (a Claude Code
|
|
3
|
+
* hook event, a browser action, a chat reply, a wait on the owner) to one of
|
|
4
|
+
* the board activity types and a plain-words line.
|
|
5
|
+
*
|
|
6
|
+
* - Edit / Write / MultiEdit / NotebookEdit (and Read / Grep / Glob) -> coding, repo-relative path
|
|
7
|
+
* - Bash -> command, executable + subcommand only (`git push`, `npm test`, `python build.py`)
|
|
8
|
+
* - Crewly skill scripts run through Bash -> by skill: messaging, browsing, writing
|
|
9
|
+
* - WebFetch / WebSearch / browser tools -> browsing, host + path
|
|
10
|
+
* - mcp__ tools -> by name
|
|
11
|
+
*
|
|
12
|
+
* Every string that comes out has been through {@link scrubText}; the raw
|
|
13
|
+
* tool input is read here and dropped, never stored or logged.
|
|
14
|
+
*
|
|
15
|
+
* Pure (no I/O).
|
|
16
|
+
*
|
|
17
|
+
* @module services/board/board-activity.normalizer
|
|
18
|
+
*/
|
|
19
|
+
import { clip, redactUrl, reduceCommand, relativePath, scrubText } from './board-redact.js';
|
|
20
|
+
/** Longest input string the normalizer reads. */
|
|
21
|
+
const MAX_INPUT = 1200;
|
|
22
|
+
/**
|
|
23
|
+
* Validate a raw `toolInput` from the hook endpoint.
|
|
24
|
+
*
|
|
25
|
+
* @param raw - Parsed JSON value
|
|
26
|
+
* @returns Only the three known string fields, capped; `{}` for anything else
|
|
27
|
+
*/
|
|
28
|
+
export function parseToolInput(raw) {
|
|
29
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
30
|
+
return {};
|
|
31
|
+
const o = raw;
|
|
32
|
+
const pick = (key) => (typeof o[key] === 'string' && o[key].length > 0 ? o[key].slice(0, MAX_INPUT) : undefined);
|
|
33
|
+
const out = {};
|
|
34
|
+
const filePath = pick('filePath');
|
|
35
|
+
const command = pick('command');
|
|
36
|
+
const url = pick('url');
|
|
37
|
+
const query = pick('query');
|
|
38
|
+
if (query)
|
|
39
|
+
out.query = query.slice(0, 300);
|
|
40
|
+
if (filePath)
|
|
41
|
+
out.filePath = filePath;
|
|
42
|
+
if (command)
|
|
43
|
+
out.command = command;
|
|
44
|
+
if (url)
|
|
45
|
+
out.url = url;
|
|
46
|
+
return out;
|
|
47
|
+
}
|
|
48
|
+
const done = (type, detail, text) => ({
|
|
49
|
+
type,
|
|
50
|
+
detail: clip(scrubText(detail) || type),
|
|
51
|
+
text: clip(scrubText(text) || type),
|
|
52
|
+
});
|
|
53
|
+
/** Skills by what they do for the owner. */
|
|
54
|
+
export const MESSAGING_SKILLS = new Set([
|
|
55
|
+
'reply-chat', 'reply', 'reply-channel', 'send-chat-response', 'reply-slack', 'slack-post', 'slack-file', 'send-message', 'send-file', 'gmail-send',
|
|
56
|
+
'whatsapp-send', 'whatsapp-draft', 'reply-gchat', 'reply-remote', 'broadcast', 'broadcast-to-org', 'ask-owner',
|
|
57
|
+
]);
|
|
58
|
+
export const BROWSING_SKILLS = new Set(['remote-browser', 'web-search', 'browse-stealth', 'chrome-attach']);
|
|
59
|
+
/** Writing skills and what to call the place they write to. */
|
|
60
|
+
export const WRITING_SKILLS = {
|
|
61
|
+
'docs-write': 'Google Docs',
|
|
62
|
+
'docs-comment': 'Google Docs',
|
|
63
|
+
'sheets-write': 'Google Sheets',
|
|
64
|
+
'slides-create': 'Google Slides',
|
|
65
|
+
'drive-upload': 'Google Drive',
|
|
66
|
+
'canva-create': 'Canva',
|
|
67
|
+
'canva-upload': 'Canva',
|
|
68
|
+
'canva-export': 'Canva',
|
|
69
|
+
'publish-app': 'a Crewly app',
|
|
70
|
+
'app-data': 'a Crewly app',
|
|
71
|
+
'generate-pdf': 'a PDF',
|
|
72
|
+
'zoho-draft': 'Zoho Mail',
|
|
73
|
+
'content-writer': 'a document',
|
|
74
|
+
'content-repurposer': 'a document',
|
|
75
|
+
'update-sop': 'an SOP',
|
|
76
|
+
'update-team-norm': 'team norms',
|
|
77
|
+
};
|
|
78
|
+
/** A chat / channel name as it may be shown: `#name`-like, short, no tokens. */
|
|
79
|
+
export const CHANNEL_NAME = /^#?[A-Za-z0-9][\w.-]{0,38}$/;
|
|
80
|
+
/**
|
|
81
|
+
* The value after a flag in a skill's arguments.
|
|
82
|
+
*
|
|
83
|
+
* @param args - Words after the script
|
|
84
|
+
* @param flags - Accepted flag spellings
|
|
85
|
+
* @returns The value, or undefined
|
|
86
|
+
*/
|
|
87
|
+
export function flagValue(args, flags) {
|
|
88
|
+
for (let i = 0; i < args.length - 1; i += 1) {
|
|
89
|
+
if (flags.includes(args[i]))
|
|
90
|
+
return args[i + 1];
|
|
91
|
+
}
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Normalize a Bash command.
|
|
96
|
+
*
|
|
97
|
+
* @param command - The shell command
|
|
98
|
+
* @returns Activity
|
|
99
|
+
*/
|
|
100
|
+
function fromCommand(command) {
|
|
101
|
+
const reduced = reduceCommand(command);
|
|
102
|
+
if (!reduced)
|
|
103
|
+
return done('command', 'shell command', 'Ran a shell command');
|
|
104
|
+
if (reduced.skill) {
|
|
105
|
+
const skill = reduced.skill;
|
|
106
|
+
if (MESSAGING_SKILLS.has(skill)) {
|
|
107
|
+
const channel = flagValue(reduced.args, ['--channel', '--to']);
|
|
108
|
+
const name = channel && CHANNEL_NAME.test(channel) ? (channel.startsWith('#') ? channel : `#${channel}`) : skill.includes('slack') ? 'Slack' : 'owner chat';
|
|
109
|
+
return done('messaging', name, name === 'owner chat' ? 'Replied in the owner chat' : `Posted in ${name}`);
|
|
110
|
+
}
|
|
111
|
+
if (BROWSING_SKILLS.has(skill)) {
|
|
112
|
+
const url = reduced.args.find((w) => /^https?:\/\//i.test(w));
|
|
113
|
+
const where = url ? redactUrl(url) : 'the browser';
|
|
114
|
+
return done('browsing', where, `Browsing ${where}`);
|
|
115
|
+
}
|
|
116
|
+
const place = WRITING_SKILLS[skill];
|
|
117
|
+
if (place)
|
|
118
|
+
return done('writing', place, `Writing in ${place}`);
|
|
119
|
+
return done('command', reduced.label, `Ran ${reduced.label}`);
|
|
120
|
+
}
|
|
121
|
+
if ((reduced.executable === 'curl' || reduced.executable === 'wget') && reduced.args.length > 0) {
|
|
122
|
+
const url = reduced.args.find((w) => /^https?:\/\//i.test(w));
|
|
123
|
+
if (url) {
|
|
124
|
+
const host = redactUrl(url).split('/')[0];
|
|
125
|
+
return done('command', `${reduced.executable} ${host}`, `Called ${host}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return done('command', reduced.label, `Ran ${reduced.label}`);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Classify an MCP tool by its server and tool name.
|
|
132
|
+
*
|
|
133
|
+
* @param name - `mcp__server__tool`
|
|
134
|
+
* @param input - Tool input
|
|
135
|
+
* @returns Activity
|
|
136
|
+
*/
|
|
137
|
+
function fromMcp(name, input) {
|
|
138
|
+
const parts = name.split('__');
|
|
139
|
+
const server = parts[1] ?? 'mcp';
|
|
140
|
+
const tool = parts.slice(2).join('_') || server;
|
|
141
|
+
const hay = `${server} ${tool}`.toLowerCase();
|
|
142
|
+
if (/browser|chrome|playwright|puppeteer|navigate|screenshot/.test(hay)) {
|
|
143
|
+
const where = input.url ? redactUrl(input.url) : 'the browser';
|
|
144
|
+
return done('browsing', where, `Browsing ${where}`);
|
|
145
|
+
}
|
|
146
|
+
if (/slack|chat|message|mail|email|telegram|whatsapp|discord/.test(hay))
|
|
147
|
+
return done('messaging', server, `Sent a message via ${server}`);
|
|
148
|
+
if (/docs?|drive|sheets?|slides?|notion|zoho|canva|wiki|write|publish/.test(hay))
|
|
149
|
+
return done('writing', server, `Writing in ${server}`);
|
|
150
|
+
return done('other', `${server} ${tool}`, `Used ${server}`);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Normalize one tool call.
|
|
154
|
+
*
|
|
155
|
+
* @param toolName - Runtime tool name (`Edit`, `Bash`, `mcp__x__y`, ...)
|
|
156
|
+
* @param input - Validated input slice
|
|
157
|
+
* @param ctx - Project roots for relative paths
|
|
158
|
+
* @returns Activity (never contains raw input)
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```typescript
|
|
162
|
+
* normalizeToolUse('Edit', { filePath: '/work/crewly/src/a.ts' }, { roots: ['/work/crewly'] });
|
|
163
|
+
* // { type: 'coding', detail: 'crewly/src/a.ts', text: 'Edited crewly/src/a.ts' }
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
export function normalizeToolUse(toolName, input = {}, ctx = {}) {
|
|
167
|
+
const name = toolName || 'tool';
|
|
168
|
+
const rel = input.filePath ? relativePath(input.filePath, ctx.roots ?? []) : '';
|
|
169
|
+
switch (name) {
|
|
170
|
+
case 'Edit':
|
|
171
|
+
case 'MultiEdit':
|
|
172
|
+
return rel ? done('coding', rel, `Edited ${rel}`) : done('coding', 'a file', 'Edited a file');
|
|
173
|
+
case 'Write':
|
|
174
|
+
return rel ? done('coding', rel, `Wrote ${rel}`) : done('coding', 'a file', 'Wrote a file');
|
|
175
|
+
case 'NotebookEdit':
|
|
176
|
+
return rel ? done('coding', rel, `Edited notebook ${rel}`) : done('coding', 'a notebook', 'Edited a notebook');
|
|
177
|
+
case 'Read':
|
|
178
|
+
return rel ? done('coding', rel, `Read ${rel}`) : done('coding', 'a file', 'Read a file');
|
|
179
|
+
case 'Grep':
|
|
180
|
+
case 'Glob':
|
|
181
|
+
case 'LS':
|
|
182
|
+
return done('coding', rel || 'the code', 'Searched the code');
|
|
183
|
+
case 'Bash':
|
|
184
|
+
case 'BashOutput':
|
|
185
|
+
case 'KillShell':
|
|
186
|
+
return input.command ? fromCommand(input.command) : done('command', 'shell command', 'Ran a shell command');
|
|
187
|
+
case 'WebFetch': {
|
|
188
|
+
const where = input.url ? redactUrl(input.url) : 'a web page';
|
|
189
|
+
return done('browsing', where, `Opened ${where}`);
|
|
190
|
+
}
|
|
191
|
+
case 'WebSearch':
|
|
192
|
+
return done('browsing', 'web search', 'Searched the web');
|
|
193
|
+
case 'Task':
|
|
194
|
+
case 'Agent':
|
|
195
|
+
return done('thinking', 'helper agent', 'Working with a helper agent');
|
|
196
|
+
case 'TodoWrite':
|
|
197
|
+
return done('thinking', 'planning', 'Planned the next steps');
|
|
198
|
+
case 'AskUserQuestion':
|
|
199
|
+
return done('waiting_owner', 'a question for the owner', 'Asked the owner a question');
|
|
200
|
+
case 'ExitPlanMode':
|
|
201
|
+
return done('waiting_owner', 'plan approval', 'Waiting for the plan to be approved');
|
|
202
|
+
default:
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
if (name.startsWith('mcp__'))
|
|
206
|
+
return fromMcp(name, input);
|
|
207
|
+
const safe = /^[A-Za-z0-9_-]{1,64}$/.test(name) ? name : 'tool';
|
|
208
|
+
return done('other', safe, `Used ${safe}`);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* A browser action by an agent (the Chrome extension path).
|
|
212
|
+
*
|
|
213
|
+
* @param tool - Extension tool name (`navigate`, `click`, ...)
|
|
214
|
+
* @param url - The page the agent is on, if known
|
|
215
|
+
* @returns Activity
|
|
216
|
+
*/
|
|
217
|
+
export function normalizeBrowserAction(tool, url) {
|
|
218
|
+
const where = url ? redactUrl(url) : 'the browser';
|
|
219
|
+
const verb = tool === 'navigate' ? 'Opened' : 'Browsing';
|
|
220
|
+
return done('browsing', where, `${verb} ${where}`);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* An agent message to the owner or a channel.
|
|
224
|
+
*
|
|
225
|
+
* @param channel - Channel or chat name (`#general`, `owner chat`)
|
|
226
|
+
* @returns Activity
|
|
227
|
+
*/
|
|
228
|
+
export function normalizeMessage(channel) {
|
|
229
|
+
const name = CHANNEL_NAME.test(channel) && !channel.startsWith('#') && channel !== 'owner chat' ? `#${channel}` : channel;
|
|
230
|
+
return done('messaging', name, name === 'owner chat' ? 'Replied in the owner chat' : `Posted in ${name}`);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* The agent waits for the owner.
|
|
234
|
+
*
|
|
235
|
+
* @param what - Short plain-words description (`approval to send an email`)
|
|
236
|
+
* @returns Activity
|
|
237
|
+
*/
|
|
238
|
+
export function normalizeOwnerWait(what) {
|
|
239
|
+
const w = scrubText(what) || 'the owner';
|
|
240
|
+
return done('waiting_owner', w, `Waiting for the owner: ${w}`);
|
|
241
|
+
}
|
|
242
|
+
/** The agent is in a turn but between tools. */
|
|
243
|
+
export const THINKING = { type: 'thinking', detail: 'thinking', text: 'Thinking' };
|
|
244
|
+
//# sourceMappingURL=board-activity.normalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"board-activity.normalizer.js","sourceRoot":"","sources":["../../../../../../backend/src/services/board/board-activity.normalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA2B5F,iDAAiD;AACjD,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IAC1C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACrE,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAK,CAAC,CAAC,GAAG,CAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAY,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrK,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,KAAK;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,QAAQ;QAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACtC,IAAI,OAAO;QAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACnC,IAAI,GAAG;QAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACvB,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,IAAuB,EAAE,MAAc,EAAE,IAAY,EAAsB,EAAE,CAAC,CAAC;IAC5F,IAAI;IACJ,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACvC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IACvC,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY;IAClJ,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW;CAC9G,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;AAC5G,+DAA+D;AAC/D,MAAM,CAAC,MAAM,cAAc,GAA2B;IACrD,YAAY,EAAE,aAAa;IAC3B,cAAc,EAAE,aAAa;IAC7B,cAAc,EAAE,eAAe;IAC/B,eAAe,EAAE,eAAe;IAChC,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,OAAO;IACvB,cAAc,EAAE,OAAO;IACvB,cAAc,EAAE,OAAO;IACvB,aAAa,EAAE,cAAc;IAC7B,UAAU,EAAE,cAAc;IAC1B,cAAc,EAAE,OAAO;IACvB,YAAY,EAAE,WAAW;IACzB,gBAAgB,EAAE,YAAY;IAC9B,oBAAoB,EAAE,YAAY;IAClC,YAAY,EAAE,QAAQ;IACtB,kBAAkB,EAAE,YAAY;CAChC,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAuB,EAAE,KAAwB;IAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,OAAe;IACnC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;YAC5J,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACnD,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,KAAK,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjG,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,IAAY,EAAE,KAAgB;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,yDAAyD,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC/D,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,yDAAyD,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,sBAAsB,MAAM,EAAE,CAAC,CAAC;IAC1I,IAAI,kEAAkE,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,MAAM,EAAE,CAAC,CAAC;IACzI,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,IAAI,IAAI,EAAE,EAAE,QAAQ,MAAM,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,QAAmB,EAAE,EAAE,MAAwB,EAAE;IACnG,MAAM,IAAI,GAAG,QAAQ,IAAI,MAAM,CAAC;IAChC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACf,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC/F,KAAK,OAAO;YACX,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC7F,KAAK,cAAc;YAClB,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;QAChH,KAAK,MAAM;YACV,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC3F,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI;YACR,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAC/D,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW;YACf,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;QAC7G,KAAK,UAAU,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAC9D,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,WAAW;YACf,OAAO,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAC3D,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACX,OAAO,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,6BAA6B,CAAC,CAAC;QACxE,KAAK,WAAW;YACf,OAAO,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;QAC/D,KAAK,iBAAiB;YACrB,OAAO,IAAI,CAAC,eAAe,EAAE,0BAA0B,EAAE,4BAA4B,CAAC,CAAC;QACxF,KAAK,cAAc;YAClB,OAAO,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,qCAAqC,CAAC,CAAC;QACtF;YACC,MAAM;IACR,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,GAAY;IAChE,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACzD,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1H,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;AAC3G,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;IACzC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAAuB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live activity per agent (crewly#1247): the current activity, the last
|
|
3
|
+
* meaningful action and a rolling timeline, fed by hook events, browser
|
|
4
|
+
* actions, chat replies and owner waits. In memory only: a restart starts the
|
|
5
|
+
* timeline over (the agents restart with it).
|
|
6
|
+
*
|
|
7
|
+
* Event-driven: `record*` do a few map operations and tell the listeners; the
|
|
8
|
+
* push scheduler decides when to send. Nothing here reads files or the
|
|
9
|
+
* network.
|
|
10
|
+
*
|
|
11
|
+
* @module services/board/board-activity.tracker
|
|
12
|
+
*/
|
|
13
|
+
import { type ToolInput } from './board-activity.normalizer.js';
|
|
14
|
+
import { StepStream } from './canvas/canvas-step.stream.js';
|
|
15
|
+
import type { BoardActivity, BoardTimelineEvent } from './board.types.js';
|
|
16
|
+
/** Called when a session's board row may have changed. */
|
|
17
|
+
export type BoardChangeListener = (session: string) => void;
|
|
18
|
+
/** What a session shows right now. */
|
|
19
|
+
export interface LiveActivity {
|
|
20
|
+
activity: BoardActivity | null;
|
|
21
|
+
lastAction: {
|
|
22
|
+
text: string;
|
|
23
|
+
at: string;
|
|
24
|
+
} | null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Per-session board activity.
|
|
28
|
+
*/
|
|
29
|
+
export declare class BoardActivityTracker {
|
|
30
|
+
private static instance;
|
|
31
|
+
private readonly sessions;
|
|
32
|
+
private readonly listeners;
|
|
33
|
+
/** Project roots by session, for relative paths */
|
|
34
|
+
private rootsOf;
|
|
35
|
+
/** The canvas step stream: the same events, one line per tool call with its duration */
|
|
36
|
+
readonly steps: StepStream;
|
|
37
|
+
/** @returns The process-wide tracker */
|
|
38
|
+
static getInstance(): BoardActivityTracker;
|
|
39
|
+
/** Drop the process-wide tracker (tests). */
|
|
40
|
+
static resetInstance(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Where an agent's project roots come from.
|
|
43
|
+
*
|
|
44
|
+
* @param fn - Session -> project roots
|
|
45
|
+
*/
|
|
46
|
+
setRootsResolver(fn: (session: string) => readonly string[]): void;
|
|
47
|
+
/**
|
|
48
|
+
* Subscribe to changes.
|
|
49
|
+
*
|
|
50
|
+
* @param listener - Called with the session whose row may have changed
|
|
51
|
+
* @returns Unsubscribe
|
|
52
|
+
*/
|
|
53
|
+
onChange(listener: BoardChangeListener): () => void;
|
|
54
|
+
private emit;
|
|
55
|
+
private get;
|
|
56
|
+
/**
|
|
57
|
+
* A hook event arrived. PreToolUse starts an activity; PostToolUse ends
|
|
58
|
+
* it; UserPromptSubmit / Stop / SessionStart reset the turn; a permission
|
|
59
|
+
* prompt or question is a wait on the owner.
|
|
60
|
+
*
|
|
61
|
+
* @param session - Agent session
|
|
62
|
+
* @param event - Hook event name
|
|
63
|
+
* @param info - Tool details (PreToolUse / PostToolUse) and the notification type
|
|
64
|
+
* @param now - Clock (tests)
|
|
65
|
+
*/
|
|
66
|
+
recordHook(session: string, event: string, info?: {
|
|
67
|
+
toolName?: string;
|
|
68
|
+
toolInput?: ToolInput;
|
|
69
|
+
toolUseId?: string;
|
|
70
|
+
notificationType?: string;
|
|
71
|
+
isSubagent?: boolean;
|
|
72
|
+
}, now?: number): void;
|
|
73
|
+
/**
|
|
74
|
+
* An agent action in Chrome.
|
|
75
|
+
*
|
|
76
|
+
* @param session - Agent session
|
|
77
|
+
* @param tool - Extension tool name
|
|
78
|
+
* @param url - Page URL, if known
|
|
79
|
+
* @param now - Clock (tests)
|
|
80
|
+
*/
|
|
81
|
+
recordBrowser(session: string, tool: string, url?: string, now?: number): void;
|
|
82
|
+
/**
|
|
83
|
+
* An agent posted to a channel or the owner chat.
|
|
84
|
+
*
|
|
85
|
+
* @param session - Agent session
|
|
86
|
+
* @param channel - Channel or chat name
|
|
87
|
+
* @param now - Clock (tests)
|
|
88
|
+
*/
|
|
89
|
+
recordMessage(session: string, channel: string, now?: number): void;
|
|
90
|
+
/**
|
|
91
|
+
* An agent waits on the owner.
|
|
92
|
+
*
|
|
93
|
+
* @param session - Agent session
|
|
94
|
+
* @param what - Short plain-words description
|
|
95
|
+
* @param now - Clock (tests)
|
|
96
|
+
*/
|
|
97
|
+
setOwnerWait(session: string, what: string, now?: number): void;
|
|
98
|
+
/**
|
|
99
|
+
* The wait is over.
|
|
100
|
+
*
|
|
101
|
+
* @param session - Agent session
|
|
102
|
+
*/
|
|
103
|
+
clearOwnerWait(session: string): void;
|
|
104
|
+
/** The wait on the owner is over: its canvas step ends. */
|
|
105
|
+
private endWaitStep;
|
|
106
|
+
/** Make `activity` current and the last action; notify when the row changed. */
|
|
107
|
+
private show;
|
|
108
|
+
private pushTimeline;
|
|
109
|
+
private safeRoots;
|
|
110
|
+
/**
|
|
111
|
+
* What the session shows now. While a tool runs it is that tool; for
|
|
112
|
+
* {@link BOARD_CONSTANTS.ACTIVITY_LINGER_MS} after it, the same; then
|
|
113
|
+
* "thinking" (when `working`), else nothing.
|
|
114
|
+
*
|
|
115
|
+
* @param session - Agent session
|
|
116
|
+
* @param working - The runtime says the agent is in a turn
|
|
117
|
+
* @param now - Clock (tests)
|
|
118
|
+
* @returns Activity and last action
|
|
119
|
+
*/
|
|
120
|
+
live(session: string, working: boolean, now?: number): LiveActivity;
|
|
121
|
+
/**
|
|
122
|
+
* Timeline events not sent yet. Call {@link ackUnsent} once Cloud took them;
|
|
123
|
+
* until then they stay queued (capped), so a failed push loses nothing.
|
|
124
|
+
*
|
|
125
|
+
* @param sessions - Only these sessions (all when omitted)
|
|
126
|
+
* @returns Events, oldest first, at most {@link BOARD_CONSTANTS.DELTA_TIMELINE_MAX} per session
|
|
127
|
+
*/
|
|
128
|
+
peekUnsent(sessions?: Iterable<string>): BoardTimelineEvent[];
|
|
129
|
+
/**
|
|
130
|
+
* Mark events as sent (everything unsent up to the newest of them is
|
|
131
|
+
* dropped, including older ones cut by the per-delta limit).
|
|
132
|
+
*
|
|
133
|
+
* @param events - Events returned by {@link peekUnsent} that Cloud took
|
|
134
|
+
*/
|
|
135
|
+
ackUnsent(events: readonly BoardTimelineEvent[]): void;
|
|
136
|
+
/** Sessions with timeline events not yet sent. */
|
|
137
|
+
sessionsWithUnsent(): string[];
|
|
138
|
+
/**
|
|
139
|
+
* A session's recent timeline (24 h, newest last).
|
|
140
|
+
*
|
|
141
|
+
* @param session - Agent session
|
|
142
|
+
* @param now - Clock (tests)
|
|
143
|
+
* @returns Events
|
|
144
|
+
*/
|
|
145
|
+
timeline(session: string, now?: number): BoardTimelineEvent[];
|
|
146
|
+
/**
|
|
147
|
+
* Forget a session (it was deleted).
|
|
148
|
+
*
|
|
149
|
+
* @param session - Agent session
|
|
150
|
+
*/
|
|
151
|
+
forget(session: string): void;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* The process-wide tracker.
|
|
155
|
+
*
|
|
156
|
+
* @returns The tracker
|
|
157
|
+
*/
|
|
158
|
+
export declare function getBoardActivity(): BoardActivityTracker;
|
|
159
|
+
//# sourceMappingURL=board-activity.tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"board-activity.tracker.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/board/board-activity.tracker.ts"],"names":[],"mappings":"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"}
|