@prestyj/cli 5.31.0 → 5.32.1
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/README.md +3 -2
- package/assets/skills/task-list/SKILL.md +39 -0
- package/dist/app-sidecar/app-settings.js +11 -5
- package/dist/app-sidecar/app-settings.js.map +1 -1
- package/dist/app-sidecar/auth-routes.js +10 -3
- package/dist/app-sidecar/auth-routes.js.map +1 -1
- package/dist/app-sidecar/git-target.d.ts +15 -2
- package/dist/app-sidecar/git-target.js +24 -10
- package/dist/app-sidecar/git-target.js.map +1 -1
- package/dist/app-sidecar/goal-routes.js +14 -2
- package/dist/app-sidecar/goal-routes.js.map +1 -1
- package/dist/app-sidecar/history-routes.js +7 -0
- package/dist/app-sidecar/history-routes.js.map +1 -1
- package/dist/app-sidecar/history.d.ts +5 -0
- package/dist/app-sidecar/history.js.map +1 -1
- package/dist/app-sidecar/integration-routes.js +4 -0
- package/dist/app-sidecar/integration-routes.js.map +1 -1
- package/dist/app-sidecar/mcp-routes.js +1 -0
- package/dist/app-sidecar/mcp-routes.js.map +1 -1
- package/dist/app-sidecar/mcp-rows.d.ts +2 -0
- package/dist/app-sidecar/mcp-rows.js +4 -1
- package/dist/app-sidecar/mcp-rows.js.map +1 -1
- package/dist/app-sidecar/prompt-routes.js +67 -1
- package/dist/app-sidecar/prompt-routes.js.map +1 -1
- package/dist/app-sidecar/route-context.d.ts +2 -0
- package/dist/app-sidecar/run-control-routes.d.ts +14 -0
- package/dist/app-sidecar/run-control-routes.js +104 -25
- package/dist/app-sidecar/run-control-routes.js.map +1 -1
- package/dist/app-sidecar/session-routes.js +15 -1
- package/dist/app-sidecar/session-routes.js.map +1 -1
- package/dist/app-sidecar/task-routes.js +24 -0
- package/dist/app-sidecar/task-routes.js.map +1 -1
- package/dist/app-sidecar/trophy-manager.d.ts +15 -0
- package/dist/app-sidecar/trophy-manager.js +71 -0
- package/dist/app-sidecar/trophy-manager.js.map +1 -0
- package/dist/app-sidecar/workspace-routes.js +1 -0
- package/dist/app-sidecar/workspace-routes.js.map +1 -1
- package/dist/app-sidecar.js +157 -30
- package/dist/app-sidecar.js.map +1 -1
- package/dist/cli/auth.js +22 -1
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/mcp.js +6 -1
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli.js +13 -9
- package/dist/cli.js.map +1 -1
- package/dist/config.js +4 -2
- package/dist/config.js.map +1 -1
- package/dist/core/action-threats.d.ts +68 -0
- package/dist/core/action-threats.js +894 -0
- package/dist/core/action-threats.js.map +1 -0
- package/dist/core/agent-notifications.d.ts +18 -0
- package/dist/core/agent-notifications.js +35 -2
- package/dist/core/agent-notifications.js.map +1 -1
- package/dist/core/agent-session/verification-tracker.d.ts +21 -0
- package/dist/core/agent-session/verification-tracker.js +39 -1
- package/dist/core/agent-session/verification-tracker.js.map +1 -1
- package/dist/core/agent-session.d.ts +176 -2
- package/dist/core/agent-session.js +515 -30
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/blocked-packages-file.d.ts +33 -0
- package/dist/core/blocked-packages-file.js +274 -0
- package/dist/core/blocked-packages-file.js.map +1 -0
- package/dist/core/compaction/policy.d.ts +2 -2
- package/dist/core/compaction/policy.js +86 -43
- package/dist/core/compaction/policy.js.map +1 -1
- package/dist/core/compaction/token-estimator.d.ts +4 -1
- package/dist/core/compaction/token-estimator.js +5 -2
- package/dist/core/compaction/token-estimator.js.map +1 -1
- package/dist/core/event-bus.d.ts +10 -0
- package/dist/core/event-bus.js +2 -0
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/goal-run-marker.d.ts +32 -0
- package/dist/core/goal-run-marker.js +178 -0
- package/dist/core/goal-run-marker.js.map +1 -0
- package/dist/core/goal-summary.js +8 -2
- package/dist/core/goal-summary.js.map +1 -1
- package/dist/core/idle-wake.d.ts +62 -0
- package/dist/core/idle-wake.js +103 -0
- package/dist/core/idle-wake.js.map +1 -0
- package/dist/core/injection-detect.d.ts +2 -1
- package/dist/core/injection-detect.js +13 -4
- package/dist/core/injection-detect.js.map +1 -1
- package/dist/core/installed-threats.d.ts +23 -0
- package/dist/core/installed-threats.js +71 -0
- package/dist/core/installed-threats.js.map +1 -0
- package/dist/core/mcp/catalog-cache.d.ts +2 -0
- package/dist/core/mcp/catalog-cache.js +4 -0
- package/dist/core/mcp/catalog-cache.js.map +1 -1
- package/dist/core/mcp/client.d.ts +8 -0
- package/dist/core/mcp/client.js +37 -3
- package/dist/core/mcp/client.js.map +1 -1
- package/dist/core/mcp/deferred-catalog.d.ts +12 -1
- package/dist/core/mcp/deferred-catalog.js +37 -10
- package/dist/core/mcp/deferred-catalog.js.map +1 -1
- package/dist/core/mcp/index.d.ts +2 -0
- package/dist/core/mcp/index.js +1 -0
- package/dist/core/mcp/index.js.map +1 -1
- package/dist/core/mcp/tool-guard.d.ts +58 -0
- package/dist/core/mcp/tool-guard.js +215 -0
- package/dist/core/mcp/tool-guard.js.map +1 -0
- package/dist/core/network-guard.d.ts +0 -20
- package/dist/core/network-guard.js +6 -0
- package/dist/core/network-guard.js.map +1 -1
- package/dist/core/package-cooldown.d.ts +71 -0
- package/dist/core/package-cooldown.js +301 -0
- package/dist/core/package-cooldown.js.map +1 -0
- package/dist/core/package-threats.d.ts +77 -3
- package/dist/core/package-threats.js +1250 -78
- package/dist/core/package-threats.js.map +1 -1
- package/dist/core/process-manager.d.ts +54 -12
- package/dist/core/process-manager.js +233 -56
- package/dist/core/process-manager.js.map +1 -1
- package/dist/core/prompt-commands.js +1 -0
- package/dist/core/prompt-commands.js.map +1 -1
- package/dist/core/resolve-start.d.ts +2 -0
- package/dist/core/resolve-start.js +34 -5
- package/dist/core/resolve-start.js.map +1 -1
- package/dist/core/session-manager.d.ts +3 -1
- package/dist/core/session-manager.js +2 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -0
- package/dist/core/settings-manager.js +4 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/shell-threats.d.ts +14 -1
- package/dist/core/shell-threats.js +73 -24
- package/dist/core/shell-threats.js.map +1 -1
- package/dist/core/skill-scan.d.ts +112 -0
- package/dist/core/skill-scan.js +781 -0
- package/dist/core/skill-scan.js.map +1 -0
- package/dist/core/skills.d.ts +33 -0
- package/dist/core/skills.js +87 -16
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts +5 -1
- package/dist/core/slash-commands.js +24 -9
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/steering.d.ts +7 -0
- package/dist/core/steering.js +13 -0
- package/dist/core/steering.js.map +1 -1
- package/dist/core/style-packs/index.js +1 -1
- package/dist/core/style-packs/index.js.map +1 -1
- package/dist/core/style-packs/packs.js +2 -2
- package/dist/core/subagent-manager.js +5 -4
- package/dist/core/subagent-manager.js.map +1 -1
- package/dist/core/subagent-policy.js +4 -1
- package/dist/core/subagent-policy.js.map +1 -1
- package/dist/core/threat-feed.d.ts +65 -0
- package/dist/core/threat-feed.js +329 -0
- package/dist/core/threat-feed.js.map +1 -0
- package/dist/core/trophies/catalog-more.d.ts +2 -0
- package/dist/core/trophies/catalog-more.js +857 -0
- package/dist/core/trophies/catalog-more.js.map +1 -0
- package/dist/core/trophies/catalog.d.ts +4 -0
- package/dist/core/trophies/catalog.js +649 -0
- package/dist/core/trophies/catalog.js.map +1 -0
- package/dist/core/trophies/engine.d.ts +70 -0
- package/dist/core/trophies/engine.js +351 -0
- package/dist/core/trophies/engine.js.map +1 -0
- package/dist/core/trophies/store.d.ts +17 -0
- package/dist/core/trophies/store.js +113 -0
- package/dist/core/trophies/store.js.map +1 -0
- package/dist/core/trophies/types.d.ts +119 -0
- package/dist/core/trophies/types.js +78 -0
- package/dist/core/trophies/types.js.map +1 -0
- package/dist/core/verification-evidence.d.ts +10 -6
- package/dist/core/verification-evidence.js +190 -11
- package/dist/core/verification-evidence.js.map +1 -1
- package/dist/goals-agent/goals-agent.js +46 -3
- package/dist/goals-agent/goals-agent.js.map +1 -1
- package/dist/interactive.js +16 -5
- package/dist/interactive.js.map +1 -1
- package/dist/modes/acp-goals.d.ts +6 -2
- package/dist/modes/acp-goals.js +1 -2
- package/dist/modes/acp-goals.js.map +1 -1
- package/dist/modes/acp-mode.js +14 -3
- package/dist/modes/acp-mode.js.map +1 -1
- package/dist/modes/agent-home-mode.js +13 -1
- package/dist/modes/agent-home-mode.js.map +1 -1
- package/dist/modes/rpc-mode.d.ts +2 -1
- package/dist/modes/rpc-mode.js +15 -3
- package/dist/modes/rpc-mode.js.map +1 -1
- package/dist/modes/serve-mode.js +13 -1
- package/dist/modes/serve-mode.js.map +1 -1
- package/dist/system-prompt.d.ts +1 -0
- package/dist/system-prompt.js +12 -8
- package/dist/system-prompt.js.map +1 -1
- package/dist/test-support/slow-git.d.ts +1 -0
- package/dist/test-support/slow-git.js +21 -0
- package/dist/test-support/slow-git.js.map +1 -0
- package/dist/tools/background-watch-lint.d.ts +18 -0
- package/dist/tools/background-watch-lint.js +102 -0
- package/dist/tools/background-watch-lint.js.map +1 -0
- package/dist/tools/bash.d.ts +15 -4
- package/dist/tools/bash.js +72 -47
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/checklist.d.ts +3 -3
- package/dist/tools/compress.js +45 -0
- package/dist/tools/compress.js.map +1 -1
- package/dist/tools/edit.js +5 -0
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/generate-image.d.ts +29 -6
- package/dist/tools/generate-image.js +325 -151
- package/dist/tools/generate-image.js.map +1 -1
- package/dist/tools/grep.d.ts +14 -0
- package/dist/tools/grep.js +36 -2
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/index.d.ts +5 -1
- package/dist/tools/index.js +7 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/skill.d.ts +2 -2
- package/dist/tools/skill.js +8 -1
- package/dist/tools/skill.js.map +1 -1
- package/dist/tools/subagent-shared.js +4 -1
- package/dist/tools/subagent-shared.js.map +1 -1
- package/dist/tools/task-output.js +11 -1
- package/dist/tools/task-output.js.map +1 -1
- package/dist/tools/write.js +8 -0
- package/dist/tools/write.js.map +1 -1
- package/dist/ui/components/Footer.js +4 -0
- package/dist/ui/components/Footer.js.map +1 -1
- package/dist/ui/components/ModelSelector.d.ts +10 -0
- package/dist/ui/components/ModelSelector.js +51 -5
- package/dist/ui/components/ModelSelector.js.map +1 -1
- package/dist/ui/components/ToolExecution.js +2 -2
- package/dist/ui/components/ToolExecution.js.map +1 -1
- package/dist/ui/mcp.d.ts +2 -0
- package/dist/ui/mcp.js.map +1 -1
- package/dist/ui/terminal-history.js +2 -1
- package/dist/ui/terminal-history.js.map +1 -1
- package/dist/ui/tool-line-summary.js +3 -1
- package/dist/ui/tool-line-summary.js.map +1 -1
- package/dist/utils/git-overview.d.ts +41 -0
- package/dist/utils/git-overview.js +146 -0
- package/dist/utils/git-overview.js.map +1 -0
- package/dist/utils/git.d.ts +12 -3
- package/dist/utils/git.js +21 -8
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/image.d.ts +14 -0
- package/dist/utils/image.js +23 -0
- package/dist/utils/image.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
export type TrophyTier = "bronze" | "silver" | "gold" | "platinum";
|
|
2
|
+
export type TrophyCategory = "start" | "flow" | "power" | "goals" | "modes" | "ship" | "habit" | "secret";
|
|
3
|
+
/** Things the sidecar counts as they happen. */
|
|
4
|
+
export declare const TROPHY_COUNTERS: readonly ["slashCommands", "customCommands", "enhancedSends", "attachments", "fileMentions", "steers", "newSessions", "modelSwitches", "thinkingChanges", "plansApproved", "nolanQuestions", "questionsAnswered", "autopilotReviews", "tasksRun", "mcpRuns", "localRuns", "webRuns", "subagentRuns", "backgroundRuns", "skillRuns", "addDirs", "exports", "goalsStarted", "goalWorkers", "chatRuns", "motionRuns", "nightRuns", "longRuns", "scheduledRuns", "compactions", "pushes", "pullRequests", "screenshots", "debugRuns", "uiComponents", "remoteStarts", "telegramSetups", "mcpServersAdded", "modelsPulled", "localEndpoints", "transcriptImports", "radioPlays", "goalPauses", "nolanPins", "queueCancels", "processKills", "cancels", "memoriesSaved", "soulNotes", "codeSearches", "codeNavs", "checklistRecords", "filesTouched", "bigRuns", "earlyRuns", "weekendRuns", "autopilotOn", "handoffs"];
|
|
5
|
+
export type TrophyCounter = (typeof TROPHY_COUNTERS)[number];
|
|
6
|
+
/** Distinct things the sidecar remembers (models used, tools seen, …). */
|
|
7
|
+
export declare const TROPHY_SETS: readonly ["slashCommandNames", "modelsUsed", "toolsUsed", "chatAgents", "skillsUsed", "providersUsed", "radioStations", "checklistItems", "projects"];
|
|
8
|
+
export type TrophySet = (typeof TROPHY_SETS)[number];
|
|
9
|
+
/**
|
|
10
|
+
* Totals read from the XP/rank progress file rather than counted twice.
|
|
11
|
+
* Trophies count only what happens after they began: each stat is measured
|
|
12
|
+
* from the baseline taken when the trophies file was created.
|
|
13
|
+
*/
|
|
14
|
+
export type TrophyProgressStat = "prompts" | "commits" | "linesShipped" | "level";
|
|
15
|
+
export type TrophyStat = {
|
|
16
|
+
kind: "count";
|
|
17
|
+
key: TrophyCounter;
|
|
18
|
+
} | {
|
|
19
|
+
kind: "distinct";
|
|
20
|
+
key: TrophySet;
|
|
21
|
+
} | {
|
|
22
|
+
kind: "progress";
|
|
23
|
+
key: TrophyProgressStat;
|
|
24
|
+
}
|
|
25
|
+
/** Best run of consecutive days with a finished run, since trophies began. */
|
|
26
|
+
| {
|
|
27
|
+
kind: "streak";
|
|
28
|
+
}
|
|
29
|
+
/** How many other trophies are earned. */
|
|
30
|
+
| {
|
|
31
|
+
kind: "earned";
|
|
32
|
+
};
|
|
33
|
+
export interface TrophyDef {
|
|
34
|
+
id: string;
|
|
35
|
+
title: string;
|
|
36
|
+
tier: TrophyTier;
|
|
37
|
+
category: TrophyCategory;
|
|
38
|
+
/** What the trophy marks, and what the feature behind it does. */
|
|
39
|
+
description: string;
|
|
40
|
+
/** How to earn it, in plain words. */
|
|
41
|
+
hint: string;
|
|
42
|
+
stat: TrophyStat;
|
|
43
|
+
/** The stat value that earns it. */
|
|
44
|
+
goal: number;
|
|
45
|
+
/** Hidden until earned: the title, description and hint stay secret. */
|
|
46
|
+
secret?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/** The facts the progress file contributes. */
|
|
49
|
+
export interface TrophyProgressFacts {
|
|
50
|
+
prompts: number;
|
|
51
|
+
commits: number;
|
|
52
|
+
linesShipped: number;
|
|
53
|
+
level: number;
|
|
54
|
+
}
|
|
55
|
+
/** A change to record: counters to add to, and members to add to sets. */
|
|
56
|
+
export interface TrophyDelta {
|
|
57
|
+
count?: Partial<Record<TrophyCounter, number>>;
|
|
58
|
+
add?: Partial<Record<TrophySet, readonly string[]>>;
|
|
59
|
+
/** Local date (YYYY-MM-DD) of a finished run, for the day streak. */
|
|
60
|
+
activeDay?: string;
|
|
61
|
+
}
|
|
62
|
+
/** Consecutive days with a finished run. */
|
|
63
|
+
export interface TrophyStreak {
|
|
64
|
+
/** Last local date (YYYY-MM-DD) with a finished run, or null. */
|
|
65
|
+
last: string | null;
|
|
66
|
+
current: number;
|
|
67
|
+
best: number;
|
|
68
|
+
}
|
|
69
|
+
/** The last recorded unlock, so every window celebrates it exactly once. */
|
|
70
|
+
export interface TrophyLastEvent {
|
|
71
|
+
nonce: string;
|
|
72
|
+
unlocked: string[];
|
|
73
|
+
}
|
|
74
|
+
/** Durable trophies file (~/.ezcoder/trophies.json). */
|
|
75
|
+
export interface TrophyFile {
|
|
76
|
+
/** 1 was a pre-release format that credited past XP; it's discarded on load. */
|
|
77
|
+
v: 2;
|
|
78
|
+
createdAt: string;
|
|
79
|
+
/** XP totals when trophies began; progress stats count from here. */
|
|
80
|
+
baseline: TrophyProgressFacts | null;
|
|
81
|
+
streak: TrophyStreak;
|
|
82
|
+
counters: Partial<Record<TrophyCounter, number>>;
|
|
83
|
+
sets: Partial<Record<TrophySet, string[]>>;
|
|
84
|
+
/** Trophy id to the ISO time it was earned. */
|
|
85
|
+
unlocked: Record<string, string>;
|
|
86
|
+
lastEvent: TrophyLastEvent | null;
|
|
87
|
+
}
|
|
88
|
+
/** One trophy as the app shows it. Secret, unearned trophies arrive redacted. */
|
|
89
|
+
export interface TrophyView {
|
|
90
|
+
id: string;
|
|
91
|
+
title: string;
|
|
92
|
+
tier: TrophyTier;
|
|
93
|
+
category: TrophyCategory;
|
|
94
|
+
description: string;
|
|
95
|
+
hint: string;
|
|
96
|
+
goal: number;
|
|
97
|
+
/** Progress toward `goal`, capped at `goal`. */
|
|
98
|
+
current: number;
|
|
99
|
+
/** ISO time it was earned, or null. */
|
|
100
|
+
unlockedAt: string | null;
|
|
101
|
+
secret: boolean;
|
|
102
|
+
}
|
|
103
|
+
export interface TrophyCategoryView {
|
|
104
|
+
id: TrophyCategory;
|
|
105
|
+
label: string;
|
|
106
|
+
}
|
|
107
|
+
/** What the sidecar serves and broadcasts; the app renders it as is. */
|
|
108
|
+
export interface TrophySnapshot {
|
|
109
|
+
trophies: TrophyView[];
|
|
110
|
+
categories: TrophyCategoryView[];
|
|
111
|
+
earned: number;
|
|
112
|
+
total: number;
|
|
113
|
+
/** Ids earned by the event this snapshot was produced by (empty otherwise). */
|
|
114
|
+
unlocked: string[];
|
|
115
|
+
/** Nonce of that event, for celebration dedupe. */
|
|
116
|
+
eventNonce: string | null;
|
|
117
|
+
/** True only on the frame sent to the window whose action earned them. */
|
|
118
|
+
origin?: boolean;
|
|
119
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// Trophies: shared types for the catalog, the pure engine, the store and the
|
|
2
|
+
// snapshot the app renders.
|
|
3
|
+
/** Things the sidecar counts as they happen. */
|
|
4
|
+
export const TROPHY_COUNTERS = [
|
|
5
|
+
"slashCommands",
|
|
6
|
+
"customCommands",
|
|
7
|
+
"enhancedSends",
|
|
8
|
+
"attachments",
|
|
9
|
+
"fileMentions",
|
|
10
|
+
"steers",
|
|
11
|
+
"newSessions",
|
|
12
|
+
"modelSwitches",
|
|
13
|
+
"thinkingChanges",
|
|
14
|
+
"plansApproved",
|
|
15
|
+
"nolanQuestions",
|
|
16
|
+
"questionsAnswered",
|
|
17
|
+
"autopilotReviews",
|
|
18
|
+
"tasksRun",
|
|
19
|
+
"mcpRuns",
|
|
20
|
+
"localRuns",
|
|
21
|
+
"webRuns",
|
|
22
|
+
"subagentRuns",
|
|
23
|
+
"backgroundRuns",
|
|
24
|
+
"skillRuns",
|
|
25
|
+
"addDirs",
|
|
26
|
+
"exports",
|
|
27
|
+
"goalsStarted",
|
|
28
|
+
"goalWorkers",
|
|
29
|
+
"chatRuns",
|
|
30
|
+
"motionRuns",
|
|
31
|
+
"nightRuns",
|
|
32
|
+
"longRuns",
|
|
33
|
+
// Added with the 100-trophy catalog.
|
|
34
|
+
"scheduledRuns",
|
|
35
|
+
"compactions",
|
|
36
|
+
"pushes",
|
|
37
|
+
"pullRequests",
|
|
38
|
+
"screenshots",
|
|
39
|
+
"debugRuns",
|
|
40
|
+
"uiComponents",
|
|
41
|
+
"remoteStarts",
|
|
42
|
+
"telegramSetups",
|
|
43
|
+
"mcpServersAdded",
|
|
44
|
+
"modelsPulled",
|
|
45
|
+
"localEndpoints",
|
|
46
|
+
"transcriptImports",
|
|
47
|
+
"radioPlays",
|
|
48
|
+
"goalPauses",
|
|
49
|
+
"nolanPins",
|
|
50
|
+
"queueCancels",
|
|
51
|
+
"processKills",
|
|
52
|
+
"cancels",
|
|
53
|
+
"memoriesSaved",
|
|
54
|
+
"soulNotes",
|
|
55
|
+
"codeSearches",
|
|
56
|
+
"codeNavs",
|
|
57
|
+
"checklistRecords",
|
|
58
|
+
"filesTouched",
|
|
59
|
+
"bigRuns",
|
|
60
|
+
"earlyRuns",
|
|
61
|
+
"weekendRuns",
|
|
62
|
+
"autopilotOn",
|
|
63
|
+
"handoffs",
|
|
64
|
+
];
|
|
65
|
+
/** Distinct things the sidecar remembers (models used, tools seen, …). */
|
|
66
|
+
export const TROPHY_SETS = [
|
|
67
|
+
"slashCommandNames",
|
|
68
|
+
"modelsUsed",
|
|
69
|
+
"toolsUsed",
|
|
70
|
+
"chatAgents",
|
|
71
|
+
"skillsUsed",
|
|
72
|
+
"providersUsed",
|
|
73
|
+
"radioStations",
|
|
74
|
+
"checklistItems",
|
|
75
|
+
/** Projects worked in, as short hashes of their paths. */
|
|
76
|
+
"projects",
|
|
77
|
+
];
|
|
78
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/trophies/types.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,4BAA4B;AAO5B,gDAAgD;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,cAAc;IACd,QAAQ;IACR,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,UAAU;IACV,SAAS;IACT,WAAW;IACX,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,SAAS;IACT,SAAS;IACT,cAAc;IACd,aAAa;IACb,UAAU;IACV,YAAY;IACZ,WAAW;IACX,UAAU;IACV,qCAAqC;IACrC,eAAe;IACf,aAAa;IACb,QAAQ;IACR,cAAc;IACd,aAAa;IACb,WAAW;IACX,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,cAAc;IACd,cAAc;IACd,SAAS;IACT,eAAe;IACf,WAAW;IACX,cAAc;IACd,UAAU;IACV,kBAAkB;IAClB,cAAc;IACd,SAAS;IACT,WAAW;IACX,aAAa;IACb,aAAa;IACb,UAAU;CACF,CAAC;AAGX,0EAA0E;AAC1E,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,mBAAmB;IACnB,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,0DAA0D;IAC1D,UAAU;CACF,CAAC"}
|
|
@@ -34,12 +34,16 @@ export declare function classifyVerificationCommand(command: string, { posixShel
|
|
|
34
34
|
posixShell?: boolean;
|
|
35
35
|
}): VerificationCommandClassification;
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
37
|
+
* The bounded check a refused command ran, as a command that counts on its
|
|
38
|
+
* own: `cd app && npm test` from `cd app && rg -n old . ; npm test 2>&1 |
|
|
39
|
+
* tail -15; node -e '…'`. Null when the command already counts, holds no
|
|
40
|
+
* check, or its working directory is ambiguous (a `cd` after the first
|
|
41
|
+
* segment). With several checks, the last one wins.
|
|
42
|
+
*
|
|
43
|
+
* The host re-runs the result when a turn ends unverified (see
|
|
44
|
+
* VerificationTracker.takeRefusedCheck), so the evidence is the re-run's own
|
|
45
|
+
* exit status, never the original command's.
|
|
42
46
|
*/
|
|
43
|
-
export declare function
|
|
47
|
+
export declare function extractStandaloneCheck(command: string): string | null;
|
|
44
48
|
/** Extract harness-owned evidence from completed bash calls in a transcript. */
|
|
45
49
|
export declare function collectVerificationEvidence(messages: readonly Message[]): VerificationEvidence[];
|
|
@@ -562,19 +562,198 @@ function classifyStrict(command) {
|
|
|
562
562
|
}
|
|
563
563
|
return accepted(segments.length === 1 ? results[0].reason : "bounded verification command chain");
|
|
564
564
|
}
|
|
565
|
+
/** `name` of a heredoc introduced at `start` (just past `<<`/`<<-`), with the
|
|
566
|
+
* index after it. Quotes around the delimiter are removed. */
|
|
567
|
+
function readHeredocDelimiter(command, start) {
|
|
568
|
+
let i = start;
|
|
569
|
+
while (command[i] === " " || command[i] === "\t")
|
|
570
|
+
i++;
|
|
571
|
+
const quote = command[i] === "'" || command[i] === '"' ? command[i] : null;
|
|
572
|
+
if (quote) {
|
|
573
|
+
const close = command.indexOf(quote, i + 1);
|
|
574
|
+
if (close < 0)
|
|
575
|
+
return null;
|
|
576
|
+
return { word: command.slice(i + 1, close), end: close + 1 };
|
|
577
|
+
}
|
|
578
|
+
const match = /^[^\s;&|<>()]+/.exec(command.slice(i));
|
|
579
|
+
return match ? { word: match[0].replace(/\\/g, ""), end: i + match[0].length } : null;
|
|
580
|
+
}
|
|
565
581
|
/**
|
|
566
|
-
*
|
|
567
|
-
*
|
|
568
|
-
*
|
|
569
|
-
*
|
|
570
|
-
*
|
|
582
|
+
* The top-level segments of a shell command: split on `;`, `&&`, `||`, `|`,
|
|
583
|
+
* `&` and newlines, but not inside quotes, `$( … )`, `( … )`, backticks or
|
|
584
|
+
* heredoc bodies, and never on redirections (`2>&1`, `&>`). Comments are
|
|
585
|
+
* dropped. Null when the text cannot be accounted for (an unterminated quote,
|
|
586
|
+
* group or heredoc).
|
|
587
|
+
*
|
|
588
|
+
* Only {@link extractStandaloneCheck} uses this, and whatever it returns is
|
|
589
|
+
* re-run and judged on its own exit status, so a misread here can at worst
|
|
590
|
+
* re-run a real check; it can never turn into evidence by itself.
|
|
571
591
|
*/
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
592
|
+
function topLevelSegments(command) {
|
|
593
|
+
const segments = [];
|
|
594
|
+
const heredocs = [];
|
|
595
|
+
let current = "";
|
|
596
|
+
let before = null;
|
|
597
|
+
let depth = 0;
|
|
598
|
+
const end = (op) => {
|
|
599
|
+
const text = current.trim();
|
|
600
|
+
if (text)
|
|
601
|
+
segments.push({ text, before, after: op });
|
|
602
|
+
current = "";
|
|
603
|
+
if (text || op !== "\n")
|
|
604
|
+
before = op;
|
|
605
|
+
};
|
|
606
|
+
let i = 0;
|
|
607
|
+
while (i < command.length) {
|
|
608
|
+
const ch = command[i];
|
|
609
|
+
const next = command[i + 1];
|
|
610
|
+
if (ch === "\\") {
|
|
611
|
+
current += command.slice(i, i + 2);
|
|
612
|
+
i += 2;
|
|
613
|
+
continue;
|
|
614
|
+
}
|
|
615
|
+
if (ch === "'" || ch === "`") {
|
|
616
|
+
const close = command.indexOf(ch, i + 1);
|
|
617
|
+
if (close < 0)
|
|
618
|
+
return null;
|
|
619
|
+
current += command.slice(i, close + 1);
|
|
620
|
+
i = close + 1;
|
|
621
|
+
continue;
|
|
622
|
+
}
|
|
623
|
+
if (ch === '"') {
|
|
624
|
+
let j = i + 1;
|
|
625
|
+
while (j < command.length && command[j] !== '"')
|
|
626
|
+
j += command[j] === "\\" ? 2 : 1;
|
|
627
|
+
if (j >= command.length)
|
|
628
|
+
return null;
|
|
629
|
+
current += command.slice(i, j + 1);
|
|
630
|
+
i = j + 1;
|
|
631
|
+
continue;
|
|
632
|
+
}
|
|
633
|
+
if (ch === "#" && (current === "" || /\s$/.test(current))) {
|
|
634
|
+
const newline = command.indexOf("\n", i);
|
|
635
|
+
i = newline < 0 ? command.length : newline;
|
|
636
|
+
continue;
|
|
637
|
+
}
|
|
638
|
+
if (ch === "<" && next === "<" && command[i + 2] !== "<") {
|
|
639
|
+
const stripTabs = command[i + 2] === "-";
|
|
640
|
+
const delimiter = readHeredocDelimiter(command, i + (stripTabs ? 3 : 2));
|
|
641
|
+
if (!delimiter)
|
|
642
|
+
return null;
|
|
643
|
+
heredocs.push({ word: delimiter.word, stripTabs });
|
|
644
|
+
current += command.slice(i, delimiter.end);
|
|
645
|
+
i = delimiter.end;
|
|
646
|
+
continue;
|
|
647
|
+
}
|
|
648
|
+
if (ch === "\n" && heredocs.length > 0) {
|
|
649
|
+
// Heredoc bodies start on the next line; skip each up to its delimiter.
|
|
650
|
+
let lineStart = i + 1;
|
|
651
|
+
for (const { word, stripTabs } of heredocs.splice(0)) {
|
|
652
|
+
for (;;) {
|
|
653
|
+
if (lineStart > command.length)
|
|
654
|
+
return null;
|
|
655
|
+
const lineEnd = command.indexOf("\n", lineStart);
|
|
656
|
+
const line = command.slice(lineStart, lineEnd < 0 ? command.length : lineEnd);
|
|
657
|
+
lineStart = lineEnd < 0 ? command.length + 1 : lineEnd + 1;
|
|
658
|
+
if ((stripTabs ? line.replace(/^\t+/, "") : line) === word)
|
|
659
|
+
break;
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
if (depth === 0)
|
|
663
|
+
end("\n");
|
|
664
|
+
i = lineStart - 1;
|
|
665
|
+
continue;
|
|
666
|
+
}
|
|
667
|
+
if (ch === "(" || (ch === "$" && next === "(")) {
|
|
668
|
+
depth++;
|
|
669
|
+
current += ch === "$" ? "$(" : "(";
|
|
670
|
+
i += ch === "$" ? 2 : 1;
|
|
671
|
+
continue;
|
|
672
|
+
}
|
|
673
|
+
if (ch === ")") {
|
|
674
|
+
if (depth === 0)
|
|
675
|
+
return null;
|
|
676
|
+
depth--;
|
|
677
|
+
current += ch;
|
|
678
|
+
i++;
|
|
679
|
+
continue;
|
|
680
|
+
}
|
|
681
|
+
if (depth === 0) {
|
|
682
|
+
const pair = command.slice(i, i + 2);
|
|
683
|
+
if (pair === "&&" || pair === "||") {
|
|
684
|
+
end(pair);
|
|
685
|
+
i += 2;
|
|
686
|
+
continue;
|
|
687
|
+
}
|
|
688
|
+
if (ch === "|") {
|
|
689
|
+
end("|");
|
|
690
|
+
i += next === "&" ? 2 : 1;
|
|
691
|
+
continue;
|
|
692
|
+
}
|
|
693
|
+
if (ch === ";" || ch === "\n") {
|
|
694
|
+
end(ch);
|
|
695
|
+
i++;
|
|
696
|
+
continue;
|
|
697
|
+
}
|
|
698
|
+
// A lone & backgrounds; `>&`, `<&` and `&>` are redirections.
|
|
699
|
+
if (ch === "&" && next !== ">" && !/[<>]$/.test(current)) {
|
|
700
|
+
end("&");
|
|
701
|
+
i++;
|
|
702
|
+
continue;
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
current += ch;
|
|
706
|
+
i++;
|
|
707
|
+
}
|
|
708
|
+
if (depth !== 0 || heredocs.length > 0)
|
|
709
|
+
return null;
|
|
710
|
+
end(null);
|
|
711
|
+
return segments;
|
|
712
|
+
}
|
|
713
|
+
/**
|
|
714
|
+
* The bounded check a refused command ran, as a command that counts on its
|
|
715
|
+
* own: `cd app && npm test` from `cd app && rg -n old . ; npm test 2>&1 |
|
|
716
|
+
* tail -15; node -e '…'`. Null when the command already counts, holds no
|
|
717
|
+
* check, or its working directory is ambiguous (a `cd` after the first
|
|
718
|
+
* segment). With several checks, the last one wins.
|
|
719
|
+
*
|
|
720
|
+
* The host re-runs the result when a turn ends unverified (see
|
|
721
|
+
* VerificationTracker.takeRefusedCheck), so the evidence is the re-run's own
|
|
722
|
+
* exit status, never the original command's.
|
|
723
|
+
*/
|
|
724
|
+
export function extractStandaloneCheck(command) {
|
|
725
|
+
if (classifyStrict(command).accepted)
|
|
726
|
+
return null;
|
|
727
|
+
const segments = topLevelSegments(command);
|
|
728
|
+
if (!segments)
|
|
729
|
+
return null;
|
|
730
|
+
let checkIndex = -1;
|
|
731
|
+
let check = "";
|
|
732
|
+
for (const [index, segment] of segments.entries()) {
|
|
733
|
+
// A pipeline's later stages are filters, never the check itself.
|
|
734
|
+
if (segment.before === "|")
|
|
735
|
+
continue;
|
|
736
|
+
const text = segment.text.replace(/\s+2>&1$/, "");
|
|
737
|
+
const verdict = classifyStrict(text);
|
|
738
|
+
if (verdict.accepted && !verdict.mayMutate) {
|
|
739
|
+
checkIndex = index;
|
|
740
|
+
check = text;
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
if (checkIndex < 0)
|
|
744
|
+
return null;
|
|
745
|
+
const first = segments[0];
|
|
746
|
+
const leadingCd = checkIndex > 0 && first.after === "&&" && /^cd\s+[^\s;&|<>()$`'"]+$/.test(first.text)
|
|
747
|
+
? first.text
|
|
748
|
+
: null;
|
|
749
|
+
const moves = segments
|
|
750
|
+
.slice(leadingCd ? 1 : 0, checkIndex)
|
|
751
|
+
.some((segment) => /^(?:cd|pushd|popd)(?:\s|$)/.test(segment.text));
|
|
752
|
+
if (moves)
|
|
753
|
+
return null;
|
|
754
|
+
const standalone = leadingCd ? `${leadingCd} && ${check}` : check;
|
|
755
|
+
const verdict = classifyStrict(standalone);
|
|
756
|
+
return verdict.accepted && !verdict.mayMutate ? standalone : null;
|
|
578
757
|
}
|
|
579
758
|
function resultText(result) {
|
|
580
759
|
if (typeof result.content === "string")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-evidence.js","sourceRoot":"","sources":["../../src/core/verification-evidence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verification-evidence.js","sourceRoot":"","sources":["../../src/core/verification-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { AgentSession } from "../core/agent-session.js";
|
|
2
2
|
import { readGoalMemory, renderGoalPrompt, } from "../core/goals-store.js";
|
|
3
3
|
import { collectProjectContext } from "../system-prompt.js";
|
|
4
|
-
import { getModel } from "../core/model-registry.js";
|
|
4
|
+
import { getModel, withoutPaidTier } from "../core/model-registry.js";
|
|
5
|
+
import { holdGoalRun } from "../core/goal-run-marker.js";
|
|
5
6
|
import { GOAL_TEAM } from "./goal-team.js";
|
|
6
7
|
/**
|
|
7
8
|
* Little Nolan's faces in the Workers view's dialogue box. EZ Goals picks one
|
|
@@ -90,7 +91,8 @@ export function goalCritterPick(record) {
|
|
|
90
91
|
const model = getModel(pick.model);
|
|
91
92
|
if (!model || model.provider !== pick.provider)
|
|
92
93
|
return undefined;
|
|
93
|
-
|
|
94
|
+
// Workers run in parallel; a paid tier would multiply real-money spend.
|
|
95
|
+
return { provider: model.provider, model: withoutPaidTier(model.id) };
|
|
94
96
|
}
|
|
95
97
|
/** EZ Goals' full prompt body: identity first, then this goal's brief. */
|
|
96
98
|
export function buildGoalsAgentPrompt(goal, extras = {}) {
|
|
@@ -195,8 +197,24 @@ function goalAskUser(tools, hasSpoken, isActive) {
|
|
|
195
197
|
* the goal folder, so the goal list and goal deletion find them there.
|
|
196
198
|
*/
|
|
197
199
|
export function createGoalsAgentSession(options) {
|
|
198
|
-
const { goal, extras, additionalTools = [], isActive = () => false, ...sessionOptions } = options;
|
|
200
|
+
const { goal, extras, additionalTools = [], isActive = () => false, onRunActive, ...sessionOptions } = options;
|
|
199
201
|
let spokeThisSession = false;
|
|
202
|
+
// The goal is being worked on while GG Goals' own loop runs or any worker
|
|
203
|
+
// is still live (a turn can end waiting on its team). Other processes read
|
|
204
|
+
// that from the marker, so a goal this one is running never shows there as
|
|
205
|
+
// interrupted, and is never resumed twice.
|
|
206
|
+
let looping = false;
|
|
207
|
+
const liveWorkers = new Set();
|
|
208
|
+
let release = null;
|
|
209
|
+
const syncRunMarker = () => {
|
|
210
|
+
const working = looping || liveWorkers.size > 0;
|
|
211
|
+
if (working && !release)
|
|
212
|
+
release = holdGoalRun(goal.dir);
|
|
213
|
+
else if (!working && release) {
|
|
214
|
+
release();
|
|
215
|
+
release = null;
|
|
216
|
+
}
|
|
217
|
+
};
|
|
200
218
|
// `getMessages()` is the conversation as of the last finished run, so text
|
|
201
219
|
// streamed in the current run is tracked live alongside it.
|
|
202
220
|
const hasSpoken = () => spokeThisSession || hasAssistantText(session.getMessages());
|
|
@@ -212,6 +230,11 @@ export function createGoalsAgentSession(options) {
|
|
|
212
230
|
// as workspace roots and read on demand.
|
|
213
231
|
agentContext: "none",
|
|
214
232
|
promptCacheKeyPrefix: "gggoals",
|
|
233
|
+
onRunActive: (active) => {
|
|
234
|
+
looping = active;
|
|
235
|
+
syncRunMarker();
|
|
236
|
+
onRunActive?.(active);
|
|
237
|
+
},
|
|
215
238
|
// Orchestrating is the job: bringing in workers, steering them and
|
|
216
239
|
// waiting on them must not need a tool_search first.
|
|
217
240
|
coreTools: GOALS_CORE_TOOLS,
|
|
@@ -241,6 +264,26 @@ export function createGoalsAgentSession(options) {
|
|
|
241
264
|
if (text.trim())
|
|
242
265
|
spokeThisSession = true;
|
|
243
266
|
});
|
|
267
|
+
session.eventBus.on("subagent_state", (worker) => {
|
|
268
|
+
if (worker.state === "starting" || worker.state === "running")
|
|
269
|
+
liveWorkers.add(worker.agent_id);
|
|
270
|
+
else
|
|
271
|
+
liveWorkers.delete(worker.agent_id);
|
|
272
|
+
syncRunMarker();
|
|
273
|
+
});
|
|
274
|
+
// Teardown drops every bus listener, so a worker's last "closed" may never
|
|
275
|
+
// arrive: a disposed session lets go of the goal however it ended.
|
|
276
|
+
const dispose = session.dispose.bind(session);
|
|
277
|
+
session.dispose = async () => {
|
|
278
|
+
try {
|
|
279
|
+
await dispose();
|
|
280
|
+
}
|
|
281
|
+
finally {
|
|
282
|
+
looping = false;
|
|
283
|
+
liveWorkers.clear();
|
|
284
|
+
syncRunMarker();
|
|
285
|
+
}
|
|
286
|
+
};
|
|
244
287
|
return session;
|
|
245
288
|
}
|
|
246
289
|
//# sourceMappingURL=goals-agent.js.map
|