smart-claude-memory-mcp 2.1.0

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 (104) hide show
  1. package/.claude-plugin/plugin.json +38 -0
  2. package/CHANGELOG.md +52 -0
  3. package/LICENSE +21 -0
  4. package/README.md +790 -0
  5. package/dist/chunker.js +33 -0
  6. package/dist/chunker.js.map +1 -0
  7. package/dist/config.js +23 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/curriculum/daemon.js +190 -0
  10. package/dist/curriculum/daemon.js.map +1 -0
  11. package/dist/curriculum/scanner.js +237 -0
  12. package/dist/curriculum/scanner.js.map +1 -0
  13. package/dist/index.js +429 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/lib/migrations.js +128 -0
  16. package/dist/lib/migrations.js.map +1 -0
  17. package/dist/ollama.js +59 -0
  18. package/dist/ollama.js.map +1 -0
  19. package/dist/project-detect.js +102 -0
  20. package/dist/project-detect.js.map +1 -0
  21. package/dist/project.js +26 -0
  22. package/dist/project.js.map +1 -0
  23. package/dist/sleep/daemon.js +215 -0
  24. package/dist/sleep/daemon.js.map +1 -0
  25. package/dist/sleep/miner.js +285 -0
  26. package/dist/sleep/miner.js.map +1 -0
  27. package/dist/supabase.js +405 -0
  28. package/dist/supabase.js.map +1 -0
  29. package/dist/telemetry/emit.js +19 -0
  30. package/dist/telemetry/emit.js.map +1 -0
  31. package/dist/telemetry/pruner.js +141 -0
  32. package/dist/telemetry/pruner.js.map +1 -0
  33. package/dist/telemetry/types.js +2 -0
  34. package/dist/telemetry/types.js.map +1 -0
  35. package/dist/tools/backlog.js +599 -0
  36. package/dist/tools/backlog.js.map +1 -0
  37. package/dist/tools/batch-freeze-patterns.js +243 -0
  38. package/dist/tools/batch-freeze-patterns.js.map +1 -0
  39. package/dist/tools/bloat-audit.js +101 -0
  40. package/dist/tools/bloat-audit.js.map +1 -0
  41. package/dist/tools/checkpoint.js +259 -0
  42. package/dist/tools/checkpoint.js.map +1 -0
  43. package/dist/tools/compact.js +60 -0
  44. package/dist/tools/compact.js.map +1 -0
  45. package/dist/tools/conflict.js +102 -0
  46. package/dist/tools/conflict.js.map +1 -0
  47. package/dist/tools/curriculum.js +225 -0
  48. package/dist/tools/curriculum.js.map +1 -0
  49. package/dist/tools/frozen-cache.js +106 -0
  50. package/dist/tools/frozen-cache.js.map +1 -0
  51. package/dist/tools/health.js +368 -0
  52. package/dist/tools/health.js.map +1 -0
  53. package/dist/tools/hygiene.js +309 -0
  54. package/dist/tools/hygiene.js.map +1 -0
  55. package/dist/tools/image.js +107 -0
  56. package/dist/tools/image.js.map +1 -0
  57. package/dist/tools/list-global-patterns.js +101 -0
  58. package/dist/tools/list-global-patterns.js.map +1 -0
  59. package/dist/tools/orchestrator.js +113 -0
  60. package/dist/tools/orchestrator.js.map +1 -0
  61. package/dist/tools/policy.js +90 -0
  62. package/dist/tools/policy.js.map +1 -0
  63. package/dist/tools/refactor.js +220 -0
  64. package/dist/tools/refactor.js.map +1 -0
  65. package/dist/tools/save.js +42 -0
  66. package/dist/tools/save.js.map +1 -0
  67. package/dist/tools/search.js +189 -0
  68. package/dist/tools/search.js.map +1 -0
  69. package/dist/tools/setup.js +868 -0
  70. package/dist/tools/setup.js.map +1 -0
  71. package/dist/tools/shared-schemas.js +24 -0
  72. package/dist/tools/shared-schemas.js.map +1 -0
  73. package/dist/tools/skills.js +174 -0
  74. package/dist/tools/skills.js.map +1 -0
  75. package/dist/tools/sleep.js +239 -0
  76. package/dist/tools/sleep.js.map +1 -0
  77. package/dist/tools/sovereign-constitution.js +319 -0
  78. package/dist/tools/sovereign-constitution.js.map +1 -0
  79. package/dist/tools/summarize.js +55 -0
  80. package/dist/tools/summarize.js.map +1 -0
  81. package/dist/tools/sync.js +255 -0
  82. package/dist/tools/sync.js.map +1 -0
  83. package/dist/tools/system_dashboard.js +181 -0
  84. package/dist/tools/system_dashboard.js.map +1 -0
  85. package/dist/tools/update-rule.js +15 -0
  86. package/dist/tools/update-rule.js.map +1 -0
  87. package/dist/tools/verification.js +333 -0
  88. package/dist/tools/verification.js.map +1 -0
  89. package/dist/trajectory/daemon.js +270 -0
  90. package/dist/trajectory/daemon.js.map +1 -0
  91. package/dist/trajectory/stripper.js +124 -0
  92. package/dist/trajectory/stripper.js.map +1 -0
  93. package/dist/trajectory/summarizer.js +77 -0
  94. package/dist/trajectory/summarizer.js.map +1 -0
  95. package/dist/transactions/checkpoint.js +272 -0
  96. package/dist/transactions/checkpoint.js.map +1 -0
  97. package/dist/verification-gate.js +43 -0
  98. package/dist/verification-gate.js.map +1 -0
  99. package/dist/version.js +16 -0
  100. package/dist/version.js.map +1 -0
  101. package/hooks/README.md +54 -0
  102. package/hooks/md-policy.py +497 -0
  103. package/marketplace.json +13 -0
  104. package/package.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/tools/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ // Shared Zod fragments reused across MCP tool registrations.
2
+ //
3
+ // Hoisting rationale: when two tools accept the same input shape (e.g.,
4
+ // `metadata_filter` for both search_memory and list_global_patterns),
5
+ // duplicating the Zod definition is a DRY violation that drifts silently.
6
+ // Define once here; import at every server.tool() registration site.
7
+ import { z } from "zod";
8
+ /**
9
+ * JSONB-containment filter against `memory_chunks.metadata`.
10
+ *
11
+ * Common shapes:
12
+ * - { type: 'DECISION' | 'PATTERN' | 'ERROR' | 'LOG' }
13
+ * - { type: 'ERROR', status: 'fixed' }
14
+ *
15
+ * The Postgres operator `@>` evaluates this against the GIN(jsonb_path_ops)
16
+ * index on memory_chunks.metadata, so any number of keys composes for free.
17
+ *
18
+ * Reused by: search_memory, list_global_patterns.
19
+ */
20
+ export const metadataFilterSchema = z
21
+ .record(z.string(), z.unknown())
22
+ .optional()
23
+ .describe("JSONB containment filter against memory_chunks.metadata. Common shape: {type:'DECISION'|'PATTERN'|'ERROR'|'LOG'} or {type:'ERROR', status:'fixed'}. Matches Postgres `@>`.");
24
+ //# sourceMappingURL=shared-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-schemas.js","sourceRoot":"","sources":["../../src/tools/shared-schemas.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,0EAA0E;AAC1E,qEAAqE;AAErE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KAC/B,QAAQ,EAAE;KACV,QAAQ,CACP,4KAA4K,CAC7K,CAAC"}
@@ -0,0 +1,174 @@
1
+ import { z } from "zod";
2
+ import { embed } from "../ollama.js";
3
+ import { supabase } from "../supabase.js";
4
+ import { currentProjectId } from "../project.js";
5
+ /**
6
+ * JIT Skill Retrieval (Agentic OS 2026 / SCM-S17-D1 / ARCHITECTURE.md §4.4).
7
+ *
8
+ * Skills are EXECUTABLE artefacts persisted in the dedicated `agent_skills`
9
+ * table — NOT a metadata.type extension of memory_chunks. The full `steps`
10
+ * payload is injected at request time (JIT), never preloaded into the
11
+ * system prompt. This keeps the agent's context window clean: only the
12
+ * procedures the current task needs ever cross the wire.
13
+ */
14
+ /** Reserved project_id for the GLOBAL Skill Vault (shared across all projects). */
15
+ export const GLOBAL_SKILL_PROJECT_ID = "GLOBAL";
16
+ // ─── package_skill ─────────────────────────────────────────────────────────
17
+ export const packageSkillInputShape = {
18
+ name: z
19
+ .string()
20
+ .min(1)
21
+ .describe("Unique skill name within the (project_id, name) identity. Reused names bump version, preserving telemetry."),
22
+ description: z
23
+ .string()
24
+ .min(1)
25
+ .describe("Natural-language summary of the skill's purpose. Embedded for semantic retrieval by request_skill."),
26
+ steps: z
27
+ .array(z.unknown())
28
+ .min(1)
29
+ .describe("Ordered array of executable steps (any JSON-serializable shape). Returned verbatim by request_skill."),
30
+ trigger_keywords: z
31
+ .array(z.string())
32
+ .optional()
33
+ .default([])
34
+ .describe("Lexical hints the agent's natural-language detector can short-circuit on. Not part of the ranking score."),
35
+ is_global: z
36
+ .boolean()
37
+ .optional()
38
+ .default(false)
39
+ .describe("When true, the skill is stored under project_id='GLOBAL' (universal scope). STRICT RULE: only use for procedures " +
40
+ "that apply to ALL projects (e.g., 'create a git commit', 'open a PR'). Never for project-specific logic. " +
41
+ "Cross-Project Test: if the current project were deleted tomorrow, would this skill still be a gold-standard " +
42
+ "reference for others? If no, keep it local."),
43
+ packaged_from_archive_id: z
44
+ .number()
45
+ .int()
46
+ .positive()
47
+ .optional()
48
+ .describe("Optional pointer to the archive_backlog row this skill was distilled from. Audit-only."),
49
+ project_id: z
50
+ .string()
51
+ .optional()
52
+ .describe(`Project namespace override. Defaults to the slugified current working directory ('${currentProjectId}'). ` +
53
+ "Ignored when is_global=true (the row is routed to 'GLOBAL')."),
54
+ };
55
+ const packageSkillSchema = z.object(packageSkillInputShape);
56
+ export async function packageSkill(args) {
57
+ const parsed = packageSkillSchema.parse(args);
58
+ const isGlobal = parsed.is_global === true;
59
+ const projectId = isGlobal
60
+ ? GLOBAL_SKILL_PROJECT_ID
61
+ : (parsed.project_id ?? currentProjectId);
62
+ // Embed the description — that's the natural retrieval surface. Steps are
63
+ // executable JSON; embedding them would muddy semantic ranking.
64
+ const [vec] = await embed([parsed.description]);
65
+ const { data, error } = await supabase.rpc("upsert_agent_skill", {
66
+ p_project_id: projectId,
67
+ p_name: parsed.name,
68
+ p_description: parsed.description,
69
+ p_steps: parsed.steps,
70
+ p_trigger_keywords: parsed.trigger_keywords,
71
+ p_embedding: vec,
72
+ p_packaged_from_archive_id: parsed.packaged_from_archive_id ?? null,
73
+ });
74
+ if (error) {
75
+ throw new Error(`upsert_agent_skill failed: ${error.message}`);
76
+ }
77
+ // Supabase returns the SETOF as an array even when the function emits a
78
+ // single row. Pick the head defensively.
79
+ const rows = (data ?? []);
80
+ if (rows.length === 0) {
81
+ throw new Error("upsert_agent_skill returned no rows");
82
+ }
83
+ const head = rows[0];
84
+ return {
85
+ id: head.id,
86
+ project_id: projectId,
87
+ name: parsed.name,
88
+ version: head.version,
89
+ scope: isGlobal ? "global" : "project",
90
+ };
91
+ }
92
+ // ─── request_skill ─────────────────────────────────────────────────────────
93
+ export const requestSkillInputShape = {
94
+ query: z
95
+ .string()
96
+ .min(1)
97
+ .describe("Natural-language task description. Embedded and matched against the skill description corpus."),
98
+ k: z
99
+ .number()
100
+ .int()
101
+ .min(1)
102
+ .max(10)
103
+ .default(3)
104
+ .describe("Maximum skills to return. Default 3 keeps the JIT injection minimal — most tasks need one."),
105
+ min_similarity: z
106
+ .number()
107
+ .min(0)
108
+ .max(1)
109
+ .default(0.5)
110
+ .describe("Cosine similarity floor. Below this, the skill isn't a real fit; the JIT bar refuses to inject noise."),
111
+ include_global: z
112
+ .boolean()
113
+ .default(true)
114
+ .describe("Default true. Dual-scopes across the current project_id AND the reserved 'GLOBAL' skill vault."),
115
+ project_id: z
116
+ .string()
117
+ .optional()
118
+ .describe(`Project namespace override. Defaults to the slugified current working directory ('${currentProjectId}').`),
119
+ record_telemetry: z
120
+ .boolean()
121
+ .default(true)
122
+ .describe("When true (default), every returned skill's frequency_used / last_invoked_at / success_rate is bumped " +
123
+ "fire-and-forget. Pass false for read-only probes (e.g. introspection tooling) so the ranking surface " +
124
+ "isn't perturbed by curiosity."),
125
+ };
126
+ const requestSkillSchema = z.object(requestSkillInputShape);
127
+ export async function requestSkill(args) {
128
+ const parsed = requestSkillSchema.parse(args);
129
+ const projectId = parsed.project_id ?? currentProjectId;
130
+ const [queryVec] = await embed([parsed.query]);
131
+ const { data, error } = await supabase.rpc("match_agent_skills", {
132
+ query_embedding: queryVec,
133
+ p_project_id: projectId,
134
+ match_count: parsed.k,
135
+ min_similarity: parsed.min_similarity,
136
+ p_include_global: parsed.include_global,
137
+ });
138
+ if (error) {
139
+ throw new Error(`match_agent_skills failed: ${error.message}`);
140
+ }
141
+ const rows = (data ?? []);
142
+ const skills = rows.map((r) => ({
143
+ id: r.id,
144
+ name: r.name,
145
+ version: r.version,
146
+ description: r.description,
147
+ steps: r.steps,
148
+ trigger_keywords: r.trigger_keywords,
149
+ similarity: r.similarity,
150
+ rank_score: r.rank_score,
151
+ scope: r.project_id === GLOBAL_SKILL_PROJECT_ID ? "global" : "project",
152
+ }));
153
+ if (parsed.record_telemetry && rows.length > 0) {
154
+ // Fire-and-forget. Telemetry failures must NEVER fail the retrieval —
155
+ // a single failed bump should not block the LLM from receiving its skill.
156
+ // Use Promise.allSettled and log non-throwing.
157
+ void Promise.allSettled(rows.map((r) => supabase.rpc("bump_skill_telemetry", { p_id: r.id, p_success: true }))).then((results) => {
158
+ for (const result of results) {
159
+ if (result.status === "rejected") {
160
+ console.error(`[smart-claude-memory] bump_skill_telemetry failed: ${String(result.reason)}`);
161
+ }
162
+ else if (result.value.error) {
163
+ console.error(`[smart-claude-memory] bump_skill_telemetry rpc error: ${result.value.error.message}`);
164
+ }
165
+ }
166
+ });
167
+ }
168
+ return {
169
+ query: parsed.query,
170
+ count: skills.length,
171
+ skills,
172
+ };
173
+ }
174
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/tools/skills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,239 @@
1
+ // Sleep Learning tool handlers (Agentic OS 2026 / Mission 3 / SCM-S19-D1,
2
+ // extended SCM-S22-D1 for M3 Proposer Remediation).
3
+ // Four handlers — review queue interaction for skill_candidates:
4
+ // * list_skill_candidates → SELECT from skill_candidates (filterable)
5
+ // * compose_skill_candidate → UPDATE proposed_name/proposed_steps (Single
6
+ // Brain entry point — Orchestrator-only
7
+ // generative step; daemon stubs with NULLs)
8
+ // * promote_skill_candidate → promote_candidate_to_skill RPC
9
+ // * reject_skill_candidate → UPDATE state='rejected' + notes
10
+ //
11
+ // Parameter validation + error envelope mirror src/tools/skills.ts.
12
+ import { z } from "zod";
13
+ import { supabase } from "../supabase.js";
14
+ import { currentProjectId } from "../project.js";
15
+ // ─── list_skill_candidates ────────────────────────────────────────────────
16
+ export const listSkillCandidatesInputShape = {
17
+ project_id: z
18
+ .string()
19
+ .optional()
20
+ .describe(`Project namespace filter. Defaults to the slugified current working directory ('${currentProjectId}'). ` +
21
+ "Pass 'GLOBAL' to surface promoted-to-global candidates (mining itself is per-project)."),
22
+ state: z
23
+ .enum(["mined", "promoted", "rejected"])
24
+ .optional()
25
+ .describe("Lifecycle filter. Omit to surface all states. Default review queue is state='mined'."),
26
+ limit: z
27
+ .number()
28
+ .int()
29
+ .positive()
30
+ .max(200)
31
+ .optional()
32
+ .default(50)
33
+ .describe("Hard cap on rows returned. Default 50."),
34
+ };
35
+ const listSkillCandidatesSchema = z.object(listSkillCandidatesInputShape);
36
+ export async function listSkillCandidates(args) {
37
+ const parsed = listSkillCandidatesSchema.parse(args);
38
+ const projectId = parsed.project_id ?? currentProjectId;
39
+ const limit = parsed.limit ?? 50;
40
+ let q = supabase
41
+ .from("skill_candidates")
42
+ .select("id, project_id, pattern_hash, source_summary_ids, source_backlog_ids, " +
43
+ "frequency, success_count, proposed_name, proposed_steps, state, " +
44
+ "promoted_skill_id, rejection_reason, model, strategy, created_at, updated_at")
45
+ .eq("project_id", projectId)
46
+ .order("frequency", { ascending: false })
47
+ .order("id", { ascending: false })
48
+ .limit(limit);
49
+ if (parsed.state)
50
+ q = q.eq("state", parsed.state);
51
+ const { data, error } = await q;
52
+ if (error) {
53
+ throw new Error(`list_skill_candidates failed: ${error.message}`);
54
+ }
55
+ const rows = (data ?? []);
56
+ return { count: rows.length, candidates: rows };
57
+ }
58
+ // ─── compose_skill_candidate ──────────────────────────────────────────────
59
+ // SCM-S22-D1 (M3 Proposer Remediation). The sleep daemon stubs candidates
60
+ // with NULL proposed_name / proposed_steps / model (Single Brain mandate).
61
+ // The Orchestrator (Claude) calls this tool to inject the generative output
62
+ // — a kebab-case name and an ordered, executable step list — before the
63
+ // candidate is eligible for promote_candidate_to_skill (which enforces
64
+ // NOT-NULL on both fields).
65
+ //
66
+ // M5 crash-catch: when a curriculum_tasks row has linked_candidate_id set,
67
+ // the Orchestrator MUST call compose_skill_candidate FIRST. The atomic
68
+ // apply_curriculum_task RPC calls promote_candidate_to_skill in the same
69
+ // transaction; a NULL name/steps will raise and abort the whole flow.
70
+ const PROPOSED_STEP_SHAPE = z.object({
71
+ step: z.number().int().positive(),
72
+ action: z.string().min(1),
73
+ });
74
+ export const composeSkillCandidateInputShape = {
75
+ candidate_id: z
76
+ .number()
77
+ .int()
78
+ .positive()
79
+ .describe("skill_candidates.id of the row to compose. Must currently be in state='mined'."),
80
+ proposed_name: z
81
+ .string()
82
+ .min(1)
83
+ .max(60)
84
+ .describe("Kebab-case skill name, ≤ 60 chars. Becomes agent_skills.name on promotion. " +
85
+ "Should capture the recurring pattern in a single noun phrase " +
86
+ "(e.g. 'commit-with-conventional-message', 'apply-bug-fix-with-test')."),
87
+ proposed_steps: z
88
+ .array(PROPOSED_STEP_SHAPE)
89
+ .min(1)
90
+ .describe("Ordered, concrete, executable steps. Each step is {step: int, action: string}. " +
91
+ "Actions must be verbatim-executable by an agent — no abstractions, no commentary. " +
92
+ "Derived from the cluster_summaries of the mined candidate."),
93
+ };
94
+ const composeSkillCandidateSchema = z.object(composeSkillCandidateInputShape);
95
+ export async function composeSkillCandidate(args) {
96
+ const parsed = composeSkillCandidateSchema.parse(args);
97
+ const { data, error } = await supabase
98
+ .from("skill_candidates")
99
+ .update({
100
+ proposed_name: parsed.proposed_name,
101
+ proposed_steps: parsed.proposed_steps,
102
+ model: "orchestrator:claude",
103
+ updated_at: new Date().toISOString(),
104
+ })
105
+ .eq("id", parsed.candidate_id)
106
+ .eq("state", "mined")
107
+ .select("id, proposed_name, proposed_steps, state, updated_at")
108
+ .maybeSingle();
109
+ if (error) {
110
+ throw new Error(`compose_skill_candidate failed: ${error.message}`);
111
+ }
112
+ if (!data) {
113
+ throw new Error(`compose_skill_candidate: candidate ${parsed.candidate_id} not found OR not in state='mined' ` +
114
+ "(promoted/rejected candidates are immutable).");
115
+ }
116
+ const steps = Array.isArray(data.proposed_steps) ? data.proposed_steps : [];
117
+ return {
118
+ candidate_id: data.id,
119
+ proposed_name: data.proposed_name,
120
+ step_count: steps.length,
121
+ state: "mined",
122
+ updated_at: data.updated_at,
123
+ };
124
+ }
125
+ // ─── promote_skill_candidate ──────────────────────────────────────────────
126
+ export const promoteSkillCandidateInputShape = {
127
+ candidate_id: z
128
+ .number()
129
+ .int()
130
+ .positive()
131
+ .describe("skill_candidates.id of the row to promote."),
132
+ description: z
133
+ .string()
134
+ .optional()
135
+ .describe("Optional override for the agent_skills.description. Defaults to the candidate's " +
136
+ "proposed_name + first 200 chars of joined steps so the M1 retrieval surface has " +
137
+ "something to embed."),
138
+ trigger_keywords: z
139
+ .array(z.string())
140
+ .optional()
141
+ .default([])
142
+ .describe("Optional lexical hints for the M1 detector (mirror packageSkill). Stored verbatim."),
143
+ };
144
+ const promoteSkillCandidateSchema = z.object(promoteSkillCandidateInputShape);
145
+ export async function promoteSkillCandidate(args) {
146
+ const parsed = promoteSkillCandidateSchema.parse(args);
147
+ // Fetch the candidate so we can synthesize a description if the caller
148
+ // didn't supply one. The RPC will re-validate state/eligibility — this
149
+ // round-trip just provides good defaults.
150
+ const description = await resolveDescription(parsed);
151
+ const { data, error } = await supabase.rpc("promote_candidate_to_skill", {
152
+ p_candidate_id: parsed.candidate_id,
153
+ p_description: description,
154
+ p_trigger_keywords: parsed.trigger_keywords,
155
+ });
156
+ if (error) {
157
+ throw new Error(`promote_candidate_to_skill failed: ${error.message}`);
158
+ }
159
+ const rows = (data ?? []);
160
+ if (rows.length === 0) {
161
+ throw new Error("promote_candidate_to_skill returned no rows");
162
+ }
163
+ const head = rows[0];
164
+ return {
165
+ candidate_id: head.candidate_id,
166
+ skill_id: head.skill_id,
167
+ skill_version: head.skill_version,
168
+ promoted_at: head.promoted_at,
169
+ };
170
+ }
171
+ async function resolveDescription(parsed) {
172
+ if (parsed.description && parsed.description.trim().length > 0) {
173
+ return parsed.description.trim();
174
+ }
175
+ const { data, error } = await supabase
176
+ .from("skill_candidates")
177
+ .select("proposed_name, proposed_steps")
178
+ .eq("id", parsed.candidate_id)
179
+ .maybeSingle();
180
+ if (error) {
181
+ throw new Error(`resolve_description failed: ${error.message}`);
182
+ }
183
+ if (!data) {
184
+ throw new Error(`candidate ${parsed.candidate_id} not found`);
185
+ }
186
+ const name = data.proposed_name ?? `candidate-${parsed.candidate_id}`;
187
+ let stepsBlurb = "";
188
+ const steps = data.proposed_steps;
189
+ if (Array.isArray(steps)) {
190
+ const actions = [];
191
+ for (const s of steps) {
192
+ if (s && typeof s === "object" && "action" in s && typeof s.action === "string") {
193
+ actions.push(s.action);
194
+ }
195
+ }
196
+ stepsBlurb = actions.join("; ").slice(0, 200);
197
+ }
198
+ return `${name}: ${stepsBlurb}`.slice(0, 500);
199
+ }
200
+ // ─── reject_skill_candidate ───────────────────────────────────────────────
201
+ export const rejectSkillCandidateInputShape = {
202
+ candidate_id: z
203
+ .number()
204
+ .int()
205
+ .positive()
206
+ .describe("skill_candidates.id of the row to reject."),
207
+ reason: z
208
+ .string()
209
+ .min(1)
210
+ .describe("Why this candidate is not skill-worthy. Persisted in rejection_reason for audit; " +
211
+ "future re-mining of the same (project_id, pattern_hash) preserves the rejection."),
212
+ };
213
+ const rejectSkillCandidateSchema = z.object(rejectSkillCandidateInputShape);
214
+ export async function rejectSkillCandidate(args) {
215
+ const parsed = rejectSkillCandidateSchema.parse(args);
216
+ const { data, error } = await supabase
217
+ .from("skill_candidates")
218
+ .update({
219
+ state: "rejected",
220
+ rejection_reason: parsed.reason,
221
+ updated_at: new Date().toISOString(),
222
+ })
223
+ .eq("id", parsed.candidate_id)
224
+ .select("id, state, rejection_reason, updated_at")
225
+ .maybeSingle();
226
+ if (error) {
227
+ throw new Error(`reject_skill_candidate failed: ${error.message}`);
228
+ }
229
+ if (!data) {
230
+ throw new Error(`candidate ${parsed.candidate_id} not found`);
231
+ }
232
+ return {
233
+ candidate_id: data.id,
234
+ state: "rejected",
235
+ rejection_reason: data.rejection_reason ?? parsed.reason,
236
+ updated_at: data.updated_at,
237
+ };
238
+ }
239
+ //# sourceMappingURL=sleep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../src/tools/sleep.ts"],"names":[],"mappings":"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"}