@prestyj/cli 5.32.0 → 5.32.2

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 (230) hide show
  1. package/README.md +3 -2
  2. package/assets/skills/task-list/SKILL.md +39 -0
  3. package/dist/app-sidecar/app-settings.js +11 -5
  4. package/dist/app-sidecar/app-settings.js.map +1 -1
  5. package/dist/app-sidecar/auth-routes.js +10 -3
  6. package/dist/app-sidecar/auth-routes.js.map +1 -1
  7. package/dist/app-sidecar/git-target.d.ts +15 -2
  8. package/dist/app-sidecar/git-target.js +24 -10
  9. package/dist/app-sidecar/git-target.js.map +1 -1
  10. package/dist/app-sidecar/goal-routes.js +8 -0
  11. package/dist/app-sidecar/goal-routes.js.map +1 -1
  12. package/dist/app-sidecar/history-routes.js +7 -0
  13. package/dist/app-sidecar/history-routes.js.map +1 -1
  14. package/dist/app-sidecar/history.d.ts +5 -0
  15. package/dist/app-sidecar/history.js.map +1 -1
  16. package/dist/app-sidecar/integration-routes.js +4 -0
  17. package/dist/app-sidecar/integration-routes.js.map +1 -1
  18. package/dist/app-sidecar/mcp-routes.js +1 -0
  19. package/dist/app-sidecar/mcp-routes.js.map +1 -1
  20. package/dist/app-sidecar/mcp-rows.d.ts +2 -0
  21. package/dist/app-sidecar/mcp-rows.js +4 -1
  22. package/dist/app-sidecar/mcp-rows.js.map +1 -1
  23. package/dist/app-sidecar/prompt-routes.js +67 -1
  24. package/dist/app-sidecar/prompt-routes.js.map +1 -1
  25. package/dist/app-sidecar/route-context.d.ts +2 -0
  26. package/dist/app-sidecar/run-control-routes.js +43 -3
  27. package/dist/app-sidecar/run-control-routes.js.map +1 -1
  28. package/dist/app-sidecar/session-routes.js +10 -0
  29. package/dist/app-sidecar/session-routes.js.map +1 -1
  30. package/dist/app-sidecar/task-routes.js +2 -0
  31. package/dist/app-sidecar/task-routes.js.map +1 -1
  32. package/dist/app-sidecar/trophy-manager.d.ts +15 -0
  33. package/dist/app-sidecar/trophy-manager.js +71 -0
  34. package/dist/app-sidecar/trophy-manager.js.map +1 -0
  35. package/dist/app-sidecar/workspace-routes.js +1 -0
  36. package/dist/app-sidecar/workspace-routes.js.map +1 -1
  37. package/dist/app-sidecar.js +157 -30
  38. package/dist/app-sidecar.js.map +1 -1
  39. package/dist/cli/auth.js +22 -1
  40. package/dist/cli/auth.js.map +1 -1
  41. package/dist/cli/mcp.js +6 -1
  42. package/dist/cli/mcp.js.map +1 -1
  43. package/dist/cli.js +13 -9
  44. package/dist/cli.js.map +1 -1
  45. package/dist/config.js +4 -2
  46. package/dist/config.js.map +1 -1
  47. package/dist/core/action-threats.d.ts +68 -0
  48. package/dist/core/action-threats.js +894 -0
  49. package/dist/core/action-threats.js.map +1 -0
  50. package/dist/core/agent-notifications.d.ts +18 -0
  51. package/dist/core/agent-notifications.js +35 -2
  52. package/dist/core/agent-notifications.js.map +1 -1
  53. package/dist/core/agent-session/verification-tracker.d.ts +21 -0
  54. package/dist/core/agent-session/verification-tracker.js +39 -1
  55. package/dist/core/agent-session/verification-tracker.js.map +1 -1
  56. package/dist/core/agent-session.d.ts +168 -2
  57. package/dist/core/agent-session.js +486 -23
  58. package/dist/core/agent-session.js.map +1 -1
  59. package/dist/core/blocked-packages-file.d.ts +33 -0
  60. package/dist/core/blocked-packages-file.js +274 -0
  61. package/dist/core/blocked-packages-file.js.map +1 -0
  62. package/dist/core/compaction/policy.d.ts +2 -2
  63. package/dist/core/compaction/policy.js +86 -43
  64. package/dist/core/compaction/policy.js.map +1 -1
  65. package/dist/core/compaction/token-estimator.d.ts +4 -1
  66. package/dist/core/compaction/token-estimator.js +5 -2
  67. package/dist/core/compaction/token-estimator.js.map +1 -1
  68. package/dist/core/event-bus.d.ts +10 -0
  69. package/dist/core/event-bus.js +2 -0
  70. package/dist/core/event-bus.js.map +1 -1
  71. package/dist/core/idle-wake.d.ts +62 -0
  72. package/dist/core/idle-wake.js +103 -0
  73. package/dist/core/idle-wake.js.map +1 -0
  74. package/dist/core/injection-detect.d.ts +2 -1
  75. package/dist/core/injection-detect.js +13 -4
  76. package/dist/core/injection-detect.js.map +1 -1
  77. package/dist/core/installed-threats.d.ts +23 -0
  78. package/dist/core/installed-threats.js +71 -0
  79. package/dist/core/installed-threats.js.map +1 -0
  80. package/dist/core/mcp/catalog-cache.d.ts +2 -0
  81. package/dist/core/mcp/catalog-cache.js +4 -0
  82. package/dist/core/mcp/catalog-cache.js.map +1 -1
  83. package/dist/core/mcp/client.d.ts +8 -0
  84. package/dist/core/mcp/client.js +37 -3
  85. package/dist/core/mcp/client.js.map +1 -1
  86. package/dist/core/mcp/deferred-catalog.d.ts +12 -1
  87. package/dist/core/mcp/deferred-catalog.js +37 -10
  88. package/dist/core/mcp/deferred-catalog.js.map +1 -1
  89. package/dist/core/mcp/index.d.ts +2 -0
  90. package/dist/core/mcp/index.js +1 -0
  91. package/dist/core/mcp/index.js.map +1 -1
  92. package/dist/core/mcp/tool-guard.d.ts +58 -0
  93. package/dist/core/mcp/tool-guard.js +215 -0
  94. package/dist/core/mcp/tool-guard.js.map +1 -0
  95. package/dist/core/network-guard.d.ts +0 -20
  96. package/dist/core/network-guard.js +6 -0
  97. package/dist/core/network-guard.js.map +1 -1
  98. package/dist/core/package-cooldown.d.ts +71 -0
  99. package/dist/core/package-cooldown.js +301 -0
  100. package/dist/core/package-cooldown.js.map +1 -0
  101. package/dist/core/package-threats.d.ts +77 -3
  102. package/dist/core/package-threats.js +1250 -78
  103. package/dist/core/package-threats.js.map +1 -1
  104. package/dist/core/process-manager.d.ts +54 -12
  105. package/dist/core/process-manager.js +233 -56
  106. package/dist/core/process-manager.js.map +1 -1
  107. package/dist/core/project-files.d.ts +15 -0
  108. package/dist/core/project-files.js +37 -0
  109. package/dist/core/project-files.js.map +1 -0
  110. package/dist/core/prompt-commands.js +1 -0
  111. package/dist/core/prompt-commands.js.map +1 -1
  112. package/dist/core/session-manager.d.ts +3 -1
  113. package/dist/core/session-manager.js +2 -1
  114. package/dist/core/session-manager.js.map +1 -1
  115. package/dist/core/settings-manager.d.ts +1 -0
  116. package/dist/core/settings-manager.js +4 -0
  117. package/dist/core/settings-manager.js.map +1 -1
  118. package/dist/core/shell-threats.d.ts +14 -1
  119. package/dist/core/shell-threats.js +73 -24
  120. package/dist/core/shell-threats.js.map +1 -1
  121. package/dist/core/skill-scan.d.ts +112 -0
  122. package/dist/core/skill-scan.js +781 -0
  123. package/dist/core/skill-scan.js.map +1 -0
  124. package/dist/core/skills.d.ts +33 -0
  125. package/dist/core/skills.js +87 -16
  126. package/dist/core/skills.js.map +1 -1
  127. package/dist/core/slash-commands.d.ts +5 -1
  128. package/dist/core/slash-commands.js +24 -9
  129. package/dist/core/slash-commands.js.map +1 -1
  130. package/dist/core/steering.d.ts +7 -0
  131. package/dist/core/steering.js +13 -0
  132. package/dist/core/steering.js.map +1 -1
  133. package/dist/core/style-packs/index.js +1 -1
  134. package/dist/core/style-packs/index.js.map +1 -1
  135. package/dist/core/style-packs/packs.js +2 -2
  136. package/dist/core/subagent-manager.js +5 -4
  137. package/dist/core/subagent-manager.js.map +1 -1
  138. package/dist/core/threat-feed.d.ts +65 -0
  139. package/dist/core/threat-feed.js +335 -0
  140. package/dist/core/threat-feed.js.map +1 -0
  141. package/dist/core/trophies/catalog-more.d.ts +2 -0
  142. package/dist/core/trophies/catalog-more.js +857 -0
  143. package/dist/core/trophies/catalog-more.js.map +1 -0
  144. package/dist/core/trophies/catalog.d.ts +4 -0
  145. package/dist/core/trophies/catalog.js +649 -0
  146. package/dist/core/trophies/catalog.js.map +1 -0
  147. package/dist/core/trophies/engine.d.ts +70 -0
  148. package/dist/core/trophies/engine.js +351 -0
  149. package/dist/core/trophies/engine.js.map +1 -0
  150. package/dist/core/trophies/store.d.ts +17 -0
  151. package/dist/core/trophies/store.js +113 -0
  152. package/dist/core/trophies/store.js.map +1 -0
  153. package/dist/core/trophies/types.d.ts +119 -0
  154. package/dist/core/trophies/types.js +78 -0
  155. package/dist/core/trophies/types.js.map +1 -0
  156. package/dist/core/verification-evidence.d.ts +10 -6
  157. package/dist/core/verification-evidence.js +190 -11
  158. package/dist/core/verification-evidence.js.map +1 -1
  159. package/dist/goals-agent/goals-agent.js +3 -2
  160. package/dist/goals-agent/goals-agent.js.map +1 -1
  161. package/dist/interactive.js +16 -5
  162. package/dist/interactive.js.map +1 -1
  163. package/dist/modes/acp-mode.js +8 -1
  164. package/dist/modes/acp-mode.js.map +1 -1
  165. package/dist/modes/agent-home-mode.js +13 -1
  166. package/dist/modes/agent-home-mode.js.map +1 -1
  167. package/dist/modes/rpc-mode.d.ts +2 -1
  168. package/dist/modes/rpc-mode.js +15 -3
  169. package/dist/modes/rpc-mode.js.map +1 -1
  170. package/dist/modes/serve-mode.js +13 -1
  171. package/dist/modes/serve-mode.js.map +1 -1
  172. package/dist/system-prompt.d.ts +8 -0
  173. package/dist/system-prompt.js +34 -13
  174. package/dist/system-prompt.js.map +1 -1
  175. package/dist/test-support/slow-git.d.ts +1 -0
  176. package/dist/test-support/slow-git.js +21 -0
  177. package/dist/test-support/slow-git.js.map +1 -0
  178. package/dist/tools/background-watch-lint.d.ts +18 -0
  179. package/dist/tools/background-watch-lint.js +102 -0
  180. package/dist/tools/background-watch-lint.js.map +1 -0
  181. package/dist/tools/bash.d.ts +15 -4
  182. package/dist/tools/bash.js +75 -47
  183. package/dist/tools/bash.js.map +1 -1
  184. package/dist/tools/checklist.d.ts +3 -3
  185. package/dist/tools/compress.js +45 -0
  186. package/dist/tools/compress.js.map +1 -1
  187. package/dist/tools/edit.js +5 -0
  188. package/dist/tools/edit.js.map +1 -1
  189. package/dist/tools/generate-image.d.ts +29 -6
  190. package/dist/tools/generate-image.js +325 -151
  191. package/dist/tools/generate-image.js.map +1 -1
  192. package/dist/tools/grep.d.ts +14 -0
  193. package/dist/tools/grep.js +36 -2
  194. package/dist/tools/grep.js.map +1 -1
  195. package/dist/tools/index.d.ts +5 -1
  196. package/dist/tools/index.js +7 -4
  197. package/dist/tools/index.js.map +1 -1
  198. package/dist/tools/prompt-hints.d.ts +8 -1
  199. package/dist/tools/prompt-hints.js +22 -2
  200. package/dist/tools/prompt-hints.js.map +1 -1
  201. package/dist/tools/routine-output.d.ts +30 -0
  202. package/dist/tools/routine-output.js +203 -0
  203. package/dist/tools/routine-output.js.map +1 -0
  204. package/dist/tools/skill.d.ts +2 -2
  205. package/dist/tools/skill.js +8 -1
  206. package/dist/tools/skill.js.map +1 -1
  207. package/dist/tools/subagent-shared.js +4 -1
  208. package/dist/tools/subagent-shared.js.map +1 -1
  209. package/dist/tools/task-output.js +11 -1
  210. package/dist/tools/task-output.js.map +1 -1
  211. package/dist/tools/write.js +8 -0
  212. package/dist/tools/write.js.map +1 -1
  213. package/dist/ui/components/ModelSelector.d.ts +10 -0
  214. package/dist/ui/components/ModelSelector.js +51 -5
  215. package/dist/ui/components/ModelSelector.js.map +1 -1
  216. package/dist/ui/components/ToolExecution.js +2 -2
  217. package/dist/ui/components/ToolExecution.js.map +1 -1
  218. package/dist/ui/mcp.d.ts +2 -0
  219. package/dist/ui/mcp.js.map +1 -1
  220. package/dist/ui/terminal-history.js +2 -1
  221. package/dist/ui/terminal-history.js.map +1 -1
  222. package/dist/ui/tool-line-summary.js +3 -1
  223. package/dist/ui/tool-line-summary.js.map +1 -1
  224. package/dist/utils/git.d.ts +12 -3
  225. package/dist/utils/git.js +21 -8
  226. package/dist/utils/git.js.map +1 -1
  227. package/dist/utils/image.d.ts +14 -0
  228. package/dist/utils/image.js +23 -0
  229. package/dist/utils/image.js.map +1 -1
  230. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-scan.js","sourceRoot":"","sources":["../../src/core/skill-scan.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type ContextLimits } from "./context-limits.js";
2
+ import { type SkillScanCache } from "./skill-scan.js";
2
3
  export declare const BUNDLED_SKILLS_DIRS: readonly string[];
3
4
  /** Where Motion mode's skills and HyperFrames launcher live on disk. */
4
5
  export interface MotionBundle {
@@ -22,6 +23,26 @@ export interface Skill {
22
23
  /** Directory used to resolve references linked from the skill content. */
23
24
  root?: string;
24
25
  }
26
+ /** A skill that discovery refused to load because the safety scan caught it. */
27
+ export interface BlockedSkill {
28
+ name: string;
29
+ /** The skill's file (flat layout) or folder (SKILL.md layout). */
30
+ path: string;
31
+ /** Where it came from: "project", "global", "bundled" or "motion". */
32
+ scope: string;
33
+ /** Plain words: what the skill tried to do. */
34
+ reason: string;
35
+ /** Content hash of what was scanned; "" when the block isn't about content. */
36
+ hash: string;
37
+ }
38
+ export interface SkillDiscovery {
39
+ skills: Skill[];
40
+ blocked: BlockedSkill[];
41
+ }
42
+ /** One plain line for the user: what was blocked and why. */
43
+ export declare function blockedSkillNotice(blocked: BlockedSkill): string;
44
+ /** File that remembers scan verdicts across starts: beside the global skills dir. */
45
+ export declare function skillScanCacheFile(globalSkillsDir: string): string;
25
46
  /**
26
47
  * Discover skills from global and project-local skill directories.
27
48
  */
@@ -29,6 +50,18 @@ export declare function discoverSkills(options: {
29
50
  globalSkillsDir: string;
30
51
  projectDir?: string;
31
52
  }): Promise<Skill[]>;
53
+ /**
54
+ * Discover skills and also report the ones the safety scan blocked, so the
55
+ * app, the CLI and the skill tool can say so instead of staying silent.
56
+ * Verdicts persist in `cacheFile` (default: beside `globalSkillsDir`), so an
57
+ * unchanged skill is never rescanned on a later start.
58
+ */
59
+ export declare function discoverSkillsWithBlocked(options: {
60
+ globalSkillsDir: string;
61
+ projectDir?: string;
62
+ cacheFile?: string;
63
+ cache?: SkillScanCache;
64
+ }): Promise<SkillDiscovery>;
32
65
  /**
33
66
  * Parse a skill file with optional frontmatter.
34
67
  * Frontmatter values may be quoted or YAML block scalars (`description: >`).
@@ -5,6 +5,7 @@ import { clampToBytes, CONTEXT_LIMITS } from "./context-limits.js";
5
5
  import { cleanInstructionText } from "../utils/text.js";
6
6
  import { parseFrontmatter } from "./frontmatter.js";
7
7
  import { log } from "./logger.js";
8
+ import { defaultSkillScanCache, loadSkillScanCacheFile, saveSkillScanCacheFile, scanSkillFile, scanSkillFolder, skillBlockMessage, } from "./skill-scan.js";
8
9
  const MODULE_DIR = path.dirname(fileURLToPath(import.meta.url));
9
10
  export const BUNDLED_SKILLS_DIRS = [
10
11
  // Single-file desktop sidecar: resources live beside app-sidecar.mjs.
@@ -43,13 +44,41 @@ export async function findMotionBundle(candidates = MOTION_BUNDLE_DIRS) {
43
44
  }
44
45
  /** Load only Motion's authored skills; keep their contracts intact and catalog order stable. */
45
46
  export async function loadMotionSkills(bundle) {
46
- const skills = await loadSkillsFromDir(bundle.skillsDir, "motion");
47
+ const skills = await loadSkillsFromDir(bundle.skillsDir, "motion", newLoadContext());
47
48
  return skills.sort((a, b) => a.name.localeCompare(b.name));
48
49
  }
50
+ /** One plain line for the user: what was blocked and why. */
51
+ export function blockedSkillNotice(blocked) {
52
+ return `Skill "${blocked.name}" blocked for safety: ${blocked.reason}`;
53
+ }
54
+ /** File that remembers scan verdicts across starts: beside the global skills dir. */
55
+ export function skillScanCacheFile(globalSkillsDir) {
56
+ return path.join(path.dirname(globalSkillsDir), "skill-scan-cache.json");
57
+ }
58
+ function newLoadContext(cache = defaultSkillScanCache) {
59
+ return { cache, blocked: [] };
60
+ }
49
61
  /**
50
62
  * Discover skills from global and project-local skill directories.
51
63
  */
52
64
  export async function discoverSkills(options) {
65
+ return (await discoverSkillsWithBlocked(options)).skills;
66
+ }
67
+ /**
68
+ * Discover skills and also report the ones the safety scan blocked, so the
69
+ * app, the CLI and the skill tool can say so instead of staying silent.
70
+ * Verdicts persist in `cacheFile` (default: beside `globalSkillsDir`), so an
71
+ * unchanged skill is never rescanned on a later start.
72
+ */
73
+ export async function discoverSkillsWithBlocked(options) {
74
+ const ctx = newLoadContext(options.cache);
75
+ // Under vitest only an explicit file is used: many suites discover skills
76
+ // against the real global dir, and tests must never write the real ~/.ezcoder.
77
+ const cacheFile = options.cacheFile ??
78
+ (process.env.VITEST ? undefined : skillScanCacheFile(options.globalSkillsDir));
79
+ if (cacheFile)
80
+ await loadSkillScanCacheFile(ctx.cache, cacheFile);
81
+ const changesBefore = ctx.cache.changes;
53
82
  const skillsByName = new Map();
54
83
  const addSkills = (skills) => {
55
84
  for (const skill of skills)
@@ -57,24 +86,35 @@ export async function discoverSkills(options) {
57
86
  };
58
87
  // Bundled defaults ship with EZ Coder. Global and project definitions with
59
88
  // the same name override them, preserving user control.
60
- addSkills(await loadBundledSkills());
61
- addSkills(await loadSkillsFromDir(options.globalSkillsDir, "global"));
89
+ addSkills(await loadBundledSkills(ctx));
90
+ addSkills(await loadSkillsFromDir(options.globalSkillsDir, "global", ctx));
62
91
  if (options.projectDir) {
63
92
  const projectSkillsDir = path.join(options.projectDir, ".ezcoder", "skills");
64
- addSkills(await loadSkillsFromDir(projectSkillsDir, "project"));
93
+ addSkills(await loadSkillsFromDir(projectSkillsDir, "project", ctx));
65
94
  }
66
- return [...skillsByName.values()];
95
+ if (cacheFile && ctx.cache.changes !== changesBefore)
96
+ await saveSkillScanCacheFile(ctx.cache, cacheFile);
97
+ // A blocked name that a loaded skill of the same name replaced isn't missing.
98
+ const blocked = ctx.blocked.filter((b) => !skillsByName.has(b.name.toLowerCase()));
99
+ return { skills: [...skillsByName.values()], blocked };
67
100
  }
68
- async function loadBundledSkills() {
101
+ async function loadBundledSkills(ctx) {
69
102
  for (const dir of BUNDLED_SKILLS_DIRS) {
70
- const skills = await loadSkillsFromDir(dir, "bundled");
103
+ const skills = await loadSkillsFromDir(dir, "bundled", ctx);
71
104
  if (skills.length > 0)
72
105
  return skills;
73
106
  }
74
107
  return [];
75
108
  }
76
- async function loadSkillsFromDir(dir, source) {
109
+ /**
110
+ * EZ Coder's own bundled and Motion skills ship inside the app and are not
111
+ * scanned at runtime (that is pure start-up cost); skills-blocked.test.ts
112
+ * proves every bundled one is clean at build time.
113
+ */
114
+ const SHIPPED = { ok: true };
115
+ async function loadSkillsFromDir(dir, source, ctx) {
77
116
  const skills = [];
117
+ const shipped = source === "bundled" || source === "motion";
78
118
  let dirents;
79
119
  try {
80
120
  dirents = await fs.readdir(dir, { withFileTypes: true });
@@ -82,7 +122,9 @@ async function loadSkillsFromDir(dir, source) {
82
122
  catch {
83
123
  return skills;
84
124
  }
85
- for (const entry of dirents) {
125
+ // Skills load concurrently so their file I/O overlaps; results (and the
126
+ // blocked list) are then taken in directory order, so output is stable.
127
+ const loaded = await Promise.all(dirents.map(async (entry) => {
86
128
  const entryPath = path.join(dir, entry.name);
87
129
  // Flat layout: ~/.ezcoder/skills/foo.md
88
130
  if (entry.isFile() && entry.name.endsWith(".md")) {
@@ -91,32 +133,61 @@ async function loadSkillsFromDir(dir, source) {
91
133
  const skill = parseSkillFile(content, source);
92
134
  if (!skill.name)
93
135
  skill.name = path.basename(entry.name, ".md");
136
+ const verdict = shipped ? SHIPPED : await scanSkillFile(entryPath, content, ctx.cache);
94
137
  skill.root = dir;
95
- skills.push(skill);
138
+ return { skill, verdict, at: entryPath };
96
139
  }
97
140
  catch {
98
- // Skip unreadable files
141
+ return null; // Skip unreadable files
99
142
  }
100
- continue;
101
143
  }
102
144
  // Directory layout (skills.sh ecosystem): ~/.ezcoder/skills/foo/SKILL.md
103
145
  if (entry.isDirectory()) {
104
- const skillFile = path.join(entryPath, "SKILL.md");
105
146
  try {
106
- const content = await fs.readFile(skillFile, "utf-8");
147
+ const content = await fs.readFile(path.join(entryPath, "SKILL.md"), "utf-8");
107
148
  const skill = parseSkillFile(content, source);
108
149
  if (!skill.name)
109
150
  skill.name = entry.name;
151
+ const verdict = shipped
152
+ ? SHIPPED
153
+ : await scanSkillFolder(entryPath, content, ctx.cache);
110
154
  skill.root = entryPath;
111
- skills.push(skill);
155
+ return { skill, verdict, at: entryPath };
112
156
  }
113
157
  catch {
114
- // No SKILL.md — skip
158
+ return null; // No SKILL.md — skip
115
159
  }
116
160
  }
161
+ return null;
162
+ }));
163
+ for (const item of loaded) {
164
+ if (!item || isBlocked(item.skill.name, source, item.at, item.verdict, ctx))
165
+ continue;
166
+ skills.push(item.skill);
117
167
  }
118
168
  return skills;
119
169
  }
170
+ /**
171
+ * ez-safe S1: a skill that matches a malware/exfil/hiding rule is not loaded.
172
+ * No prompt — the user may be away — one log line plus an entry in the
173
+ * blocked list that the app, CLI and skill tool surface in plain words.
174
+ */
175
+ function isBlocked(name, source, skillPath, verdict, ctx) {
176
+ if (verdict.ok)
177
+ return false;
178
+ log("WARN", "skills", skillBlockMessage(name, verdict.finding), {
179
+ source,
180
+ rule: verdict.finding.rule,
181
+ });
182
+ ctx.blocked.push({
183
+ name,
184
+ path: skillPath,
185
+ scope: source,
186
+ reason: verdict.finding.reason,
187
+ hash: verdict.hash ?? "",
188
+ });
189
+ return true;
190
+ }
120
191
  /**
121
192
  * Parse a skill file with optional frontmatter.
122
193
  * Frontmatter values may be quoted or YAML block scalars (`description: >`).
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export interface SlashCommandContext {
2
- switchModel: (provider: string, model: string) => Promise<void>;
2
+ switchModel: (provider: string, model: string, options?: {
3
+ confirmPaid?: boolean;
4
+ }) => Promise<void>;
3
5
  /** Compact now. `focus` is the user's `/compact <focus>` text: a short
4
6
  * description of what must survive the summary verbatim. */
5
7
  compact: (focus?: string) => Promise<void>;
@@ -51,4 +53,6 @@ export declare class SlashCommandRegistry {
51
53
  } | null;
52
54
  execute(input: string, context: SlashCommandContext): Promise<string | null>;
53
55
  }
56
+ /** Typed confirmation for switching to a model that spends real money. */
57
+ export declare const CONFIRM_PAID_FLAG = "--confirm-paid";
54
58
  export declare function createBuiltinCommands(): SlashCommand[];
@@ -52,6 +52,8 @@ export class SlashCommandRegistry {
52
52
  }
53
53
  }
54
54
  // ── Built-in Commands ──────────────────────────────────────
55
+ /** Typed confirmation for switching to a model that spends real money. */
56
+ export const CONFIRM_PAID_FLAG = "--confirm-paid";
55
57
  export function createBuiltinCommands() {
56
58
  return [
57
59
  {
@@ -112,19 +114,32 @@ export function createBuiltinCommands() {
112
114
  name: "model",
113
115
  aliases: ["m", "models"],
114
116
  description: "Switch model or list available models",
115
- usage: "/model [provider:model]",
116
- async execute(args, ctx) {
117
- if (!args) {
117
+ usage: "/model [provider:model] [--confirm-paid]",
118
+ async execute(rawArgs, ctx) {
119
+ if (!rawArgs) {
118
120
  return ctx.getModelList();
119
121
  }
122
+ // A model that spends real money (Claude fast mode) needs the user to
123
+ // type their yes; without it the session refuses and we say why.
124
+ const tokens = rawArgs.split(/\s+/).filter(Boolean);
125
+ const confirmPaid = tokens.includes(CONFIRM_PAID_FLAG);
126
+ const args = tokens.filter((token) => token !== CONFIRM_PAID_FLAG).join(" ");
127
+ if (!args)
128
+ return ctx.getModelList();
120
129
  const parts = args.split(":");
121
- if (parts.length === 2) {
122
- await ctx.switchModel(parts[0], parts[1]);
123
- return `Switched to ${parts[0]}:${parts[1]}`;
130
+ const [provider, model] = parts.length === 2 ? [parts[0], parts[1]] : ["", args];
131
+ try {
132
+ await ctx.switchModel(provider, model, { confirmPaid });
133
+ }
134
+ catch (err) {
135
+ if (err instanceof Error && err.name === "PaidModelConfirmationError") {
136
+ return `${err.message}\nIt stays on for this session only. To use it, run: /model ${args} ${CONFIRM_PAID_FLAG}`;
137
+ }
138
+ throw err;
124
139
  }
125
- // Assume it's just a model name with current provider
126
- await ctx.switchModel("", args);
127
- return `Switched to model: ${args}`;
140
+ return parts.length === 2
141
+ ? `Switched to ${provider}:${model}`
142
+ : `Switched to model: ${args}`;
128
143
  },
129
144
  },
130
145
  {
@@ -1 +1 @@
1
- {"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../../src/core/slash-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../../src/core/slash-commands.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,13 @@ export declare function wrapSteeringText(text: string): string;
27
27
  export declare const NOTIFICATION_PREFIX: string;
28
28
  /** Frame one or more pushed status lines as a single steering message. */
29
29
  export declare function buildNotificationSteeringText(lines: readonly string[]): string;
30
+ /**
31
+ * The same framing for a run started BY the notification, after the agent had
32
+ * already finished its turn. "Continue your current task" alone would leave it
33
+ * nothing to do, so this says what is expected. Keeps NOTIFICATION_PREFIX first:
34
+ * transcript restore recognises status updates by that prefix.
35
+ */
36
+ export declare function buildIdleWakeNotificationText(lines: readonly string[]): string;
30
37
  /**
31
38
  * Wrap a steering `UserContent` (string or multimodal parts) with the framing
32
39
  * prefix. Media blocks pass through untouched; the prefix is prepended to the
@@ -32,6 +32,19 @@ export const NOTIFICATION_PREFIX = "[Status update on background work you starte
32
32
  export function buildNotificationSteeringText(lines) {
33
33
  return NOTIFICATION_PREFIX + lines.map((line) => `- ${line}`).join("\n");
34
34
  }
35
+ /**
36
+ * The same framing for a run started BY the notification, after the agent had
37
+ * already finished its turn. "Continue your current task" alone would leave it
38
+ * nothing to do, so this says what is expected. Keeps NOTIFICATION_PREFIX first:
39
+ * transcript restore recognises status updates by that prefix.
40
+ */
41
+ export function buildIdleWakeNotificationText(lines) {
42
+ return (NOTIFICATION_PREFIX +
43
+ "You had already finished your turn; this arrived afterwards. If it shows a " +
44
+ "problem in work you did or started, act on it (fix it, or tell the user plainly " +
45
+ "what failed). If it needs nothing, say so in one short line.\n\n" +
46
+ lines.map((line) => `- ${line}`).join("\n"));
47
+ }
35
48
  /**
36
49
  * Wrap a steering `UserContent` (string or multimodal parts) with the framing
37
50
  * prefix. Media blocks pass through untouched; the prefix is prepended to the
@@ -1 +1 @@
1
- {"version":3,"file":"steering.js","sourceRoot":"","sources":["../../src/core/steering.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,yEAAyE;IACzE,2EAA2E;IAC3E,YAAY,CAAC;AAEf,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,eAAe,GAAG,IAAI,CAAC;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,4EAA4E;IAC5E,gFAAgF;IAChF,uCAAuC,CAAC;AAE1C,0EAA0E;AAC1E,MAAM,UAAU,6BAA6B,CAAC,KAAwB;IACpE,OAAO,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAiB,EAAE,GAAG,OAAO,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"steering.js","sourceRoot":"","sources":["../../src/core/steering.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,yEAAyE;IACzE,2EAA2E;IAC3E,YAAY,CAAC;AAEf,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,eAAe,GAAG,IAAI,CAAC;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,4EAA4E;IAC5E,gFAAgF;IAChF,uCAAuC,CAAC;AAE1C,0EAA0E;AAC1E,MAAM,UAAU,6BAA6B,CAAC,KAAwB;IACpE,OAAO,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAwB;IACpE,OAAO,CACL,mBAAmB;QACnB,6EAA6E;QAC7E,kFAAkF;QAClF,kEAAkE;QAClE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAiB,EAAE,GAAG,OAAO,CAAC,CAAC;AAC9E,CAAC"}
@@ -43,7 +43,7 @@ export function renderStylePacksSection(active, cwd) {
43
43
  if (parts.length === 0)
44
44
  return "";
45
45
  return (`## Language Style Packs\n\n` +
46
- `Defaults for new code in active languages.\n\n` +
46
+ `Defaults for new code where the project has no convention.\n\n` +
47
47
  `${AGENT_WRITTEN_CODE_PREAMBLE}\n\n` +
48
48
  parts.join("\n\n"));
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/style-packs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAc,EAAE,GAAW;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAuB,EAAE,GAAW;IAC1E,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,CACL,6BAA6B;QAC7B,gDAAgD;QAChD,GAAG,2BAA2B,MAAM;QACpC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CACnB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,2BAA2B,GAAG,qIAAqI,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/style-packs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAc,EAAE,GAAW;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAuB,EAAE,GAAW;IAC1E,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,CACL,6BAA6B;QAC7B,gEAAgE;QAChE,GAAG,2BAA2B,MAAM;QACpC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CACnB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,2BAA2B,GAAG,qIAAqI,CAAC"}
@@ -9,14 +9,14 @@ export const PACKS = {
9
9
 
10
10
  - \`tsc --strict\` + \`noUncheckedIndexedAccess\`; Biome for format/lint.
11
11
  - No \`any\`, no non-null \`!\`; prefer \`satisfies\` over \`as\`.
12
- - Validate external input with a schema lib.
12
+ - Validate external input (with the project's schema lib if it has one).
13
13
  - Result-style returns for expected failures; throw only for bugs.
14
14
  - Named exports only; no floating promises; pass \`AbortSignal\` to I/O.
15
15
  - Avoid \`enum\`, \`namespace\`, deep inheritance.`,
16
16
  javascript: `### JavaScript
17
17
 
18
18
  - ESM; \`const\`, \`===\`, no \`var\`; JSDoc + \`// @ts-check\`.
19
- - Validate external input with a schema lib; no floating promises.
19
+ - Validate external input (with the project's schema lib if it has one); no floating promises.
20
20
  - Avoid default exports, prototype mutation, implicit globals.`,
21
21
  python: `### Python
22
22
 
@@ -3,7 +3,7 @@ import { randomUUID } from "node:crypto";
3
3
  import { createInterface } from "node:readline";
4
4
  import { statSync } from "node:fs";
5
5
  import path from "node:path";
6
- import { getAppPaths } from "@prestyj/core";
6
+ import { getAppPaths, withoutPaidTier } from "@prestyj/core";
7
7
  import { mcpServersForAgent } from "./agents.js";
8
8
  import { SubAgentStore } from "./subagent-store.js";
9
9
  import { SessionManager } from "./session-manager.js";
@@ -228,7 +228,7 @@ export class SubAgentManager {
228
228
  });
229
229
  this.options.notifications?.enqueue("subagent", adopted.agent_id, `Child agent "${adopted.task_name}" (${adopted.agent_id}) finished during a parent ` +
230
230
  `restart and its result was recovered (${record.status}). ` +
231
- `Collect the full output with wait_agent agent_ids ["${adopted.agent_id}"].`, { terminal: true });
231
+ `Collect the full output with wait_agent agent_ids ["${adopted.agent_id}"].`, { terminal: true, urgent: true });
232
232
  }
233
233
  /** Rebind durable child history after parent compaction creates a continuation. */
234
234
  async rebindParentSession(parentSessionId) {
@@ -274,7 +274,8 @@ export class SubAgentManager {
274
274
  const parentModel = this.options.getModel();
275
275
  const parentThinkingLevel = this.options.getThinkingLevel?.();
276
276
  const base = selectSubAgent(this.options.agents, agentName, provider, pick?.model ?? parentModel, parentThinkingLevel);
277
- const model = overrides?.model ?? base.model;
277
+ // Same rule as selectSubAgent: a harness override can't put a worker on a paid tier.
278
+ const model = withoutPaidTier(overrides?.model ?? base.model);
278
279
  const selection = {
279
280
  agentDef: base.agentDef,
280
281
  provider: base.provider,
@@ -803,7 +804,7 @@ export class SubAgentManager {
803
804
  queue.enqueue("subagent", worker.agent_id, `Child agent "${worker.task_name}" (${worker.agent_id}) is ${worker.state} after ` +
804
805
  `${worker.turn_count} turn(s)${digest ? `: ${digest}` : ""}. ` +
805
806
  `${worker.acceptance ? `Acceptance checks: ${worker.acceptance}. ` : ""}` +
806
- `Collect its full output with wait_agent agent_ids ["${worker.agent_id}"].`, { terminal: true });
807
+ `Collect its full output with wait_agent agent_ids ["${worker.agent_id}"].`, { terminal: true, urgent: true });
807
808
  }
808
809
  request(worker, command, payload = {}) {
809
810
  const stdin = worker.process.stdin;