@yattalo/task-system 0.4.0 → 0.5.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.
- package/README.md +48 -0
- package/dashboard-app/assets/spa-entry-CnIKatv4.js +24 -0
- package/dashboard-app/assets/styles-CAIFwsCh.css +1 -0
- package/dashboard-app/index.html +14 -0
- package/dist/commands/dashboard.d.ts +2 -0
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +133 -6
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +35 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/generators/mgrep-setup.d.ts +6 -0
- package/dist/generators/mgrep-setup.d.ts.map +1 -0
- package/dist/generators/mgrep-setup.js +191 -0
- package/dist/generators/mgrep-setup.js.map +1 -0
- package/dist/generators/mgrep-skill.d.ts +6 -0
- package/dist/generators/mgrep-skill.d.ts.map +1 -0
- package/dist/generators/mgrep-skill.js +173 -0
- package/dist/generators/mgrep-skill.js.map +1 -0
- package/dist/generators/uca-functions.d.ts +8 -0
- package/dist/generators/uca-functions.d.ts.map +1 -0
- package/dist/generators/uca-functions.js +57 -0
- package/dist/generators/uca-functions.js.map +1 -0
- package/dist/generators/uca-reexports.d.ts +8 -0
- package/dist/generators/uca-reexports.d.ts.map +1 -0
- package/dist/generators/uca-reexports.js +112 -0
- package/dist/generators/uca-reexports.js.map +1 -0
- package/dist/generators/uca-schema.d.ts +8 -0
- package/dist/generators/uca-schema.d.ts.map +1 -0
- package/dist/generators/uca-schema.js +650 -0
- package/dist/generators/uca-schema.js.map +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/presets/research.d.ts.map +1 -1
- package/dist/presets/research.js +10 -0
- package/dist/presets/research.js.map +1 -1
- package/dist/presets/software.d.ts.map +1 -1
- package/dist/presets/software.js +10 -0
- package/dist/presets/software.js.map +1 -1
- package/dist/utils/detect.d.ts.map +1 -1
- package/dist/utils/detect.js +15 -0
- package/dist/utils/detect.js.map +1 -1
- package/dist/utils/merge.d.ts.map +1 -1
- package/dist/utils/merge.js +2 -0
- package/dist/utils/merge.js.map +1 -1
- package/package.json +5 -3
- package/templates/uca/agents.ts +59 -0
- package/templates/uca/contextEntries.ts +125 -0
- package/templates/uca/cronManager.ts +255 -0
- package/templates/uca/cronUtils.ts +99 -0
- package/templates/uca/driftEvents.ts +106 -0
- package/templates/uca/heartbeats.ts +167 -0
- package/templates/uca/hooks.ts +430 -0
- package/templates/uca/memory.ts +326 -0
- package/templates/uca/sessionBridge.ts +238 -0
- package/templates/uca/skills.ts +284 -0
- package/templates/uca/ucaTasks.ts +500 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mgrep-setup.js","sourceRoot":"","sources":["../../src/generators/mgrep-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mgrep-skill.d.ts","sourceRoot":"","sources":["../../src/generators/mgrep-skill.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAsLzF"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Generator: Layer 6a — Semantic Search Skill (mgrep SKILL.md)
|
|
3
|
+
// Generates .claude/skills/semantic-search/SKILL.md
|
|
4
|
+
// ============================================================
|
|
5
|
+
import { writeFileSync } from "node:fs";
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
export function generateMgrepSkill(ctx) {
|
|
8
|
+
const { config, targetDir, dryRun } = ctx;
|
|
9
|
+
const searchConfig = config.semanticSearch ?? {};
|
|
10
|
+
const maxResults = searchConfig.defaultMaxResults ?? 10;
|
|
11
|
+
const lines = [];
|
|
12
|
+
lines.push(`---`);
|
|
13
|
+
lines.push(`name: semantic-search`);
|
|
14
|
+
lines.push(`description: Semantic code search with mgrep. Natural language queries, feature discovery, cross-file understanding. Use mgrep "query" for intent-based search, -a for AI answers, --web for documentation lookup.`);
|
|
15
|
+
lines.push(`---`);
|
|
16
|
+
lines.push(``);
|
|
17
|
+
lines.push(`# Semantic Search — Claude Code Skill`);
|
|
18
|
+
lines.push(``);
|
|
19
|
+
lines.push(`> Generated by @yattalo/task-system for **${config.projectName}**`);
|
|
20
|
+
lines.push(`> Powered by [mgrep](https://www.mgrep.dev/) — semantic grep for code, docs, images, PDFs`);
|
|
21
|
+
lines.push(`> DO NOT EDIT MANUALLY — re-run \`npx @yattalo/task-system init\` to regenerate`);
|
|
22
|
+
lines.push(``);
|
|
23
|
+
// --- Overview ---
|
|
24
|
+
lines.push(`## Overview`);
|
|
25
|
+
lines.push(``);
|
|
26
|
+
lines.push(`This project uses **mgrep** for semantic code search. Unlike grep/ripgrep which match`);
|
|
27
|
+
lines.push(`exact patterns, mgrep understands natural language queries and finds code by meaning.`);
|
|
28
|
+
lines.push(``);
|
|
29
|
+
lines.push(`**When to use mgrep vs grep:**`);
|
|
30
|
+
lines.push(`- **mgrep**: Intent-based search, feature discovery, onboarding, cross-file understanding`);
|
|
31
|
+
lines.push(`- **grep/rg**: Exact matches, symbol tracing, refactoring, regex patterns`);
|
|
32
|
+
lines.push(``);
|
|
33
|
+
lines.push(`Best results come from combining both: mgrep to discover, grep to refine.`);
|
|
34
|
+
lines.push(``);
|
|
35
|
+
// --- Quick Reference ---
|
|
36
|
+
lines.push(`## Quick Reference`);
|
|
37
|
+
lines.push(``);
|
|
38
|
+
lines.push(`\`\`\`bash`);
|
|
39
|
+
lines.push(`# Basic semantic search`);
|
|
40
|
+
lines.push(`mgrep "where is authentication configured?"`);
|
|
41
|
+
lines.push(``);
|
|
42
|
+
lines.push(`# Search with more results`);
|
|
43
|
+
lines.push(`mgrep "error handling patterns" -m 20`);
|
|
44
|
+
lines.push(``);
|
|
45
|
+
lines.push(`# Show surrounding context`);
|
|
46
|
+
lines.push(`mgrep "database connection setup" -c`);
|
|
47
|
+
lines.push(``);
|
|
48
|
+
lines.push(`# Get AI-generated answer from results`);
|
|
49
|
+
lines.push(`mgrep "how does the payment flow work?" -a`);
|
|
50
|
+
lines.push(``);
|
|
51
|
+
if (searchConfig.webSearch) {
|
|
52
|
+
lines.push(`# Web search (enabled by default for this project)`);
|
|
53
|
+
lines.push(`mgrep "latest React 19 patterns" --web`);
|
|
54
|
+
lines.push(``);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
lines.push(`# Include web search results`);
|
|
58
|
+
lines.push(`mgrep "how to implement SSR with this framework" --web`);
|
|
59
|
+
lines.push(``);
|
|
60
|
+
}
|
|
61
|
+
if (searchConfig.agenticSearch) {
|
|
62
|
+
lines.push(`# Agentic multi-query refinement (enabled by default)`);
|
|
63
|
+
lines.push(`mgrep "trace the complete request lifecycle" --agentic`);
|
|
64
|
+
lines.push(``);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
lines.push(`# Complex queries with multi-query refinement`);
|
|
68
|
+
lines.push(`mgrep "trace the complete request lifecycle" --agentic`);
|
|
69
|
+
lines.push(``);
|
|
70
|
+
}
|
|
71
|
+
lines.push(`# Search specific directory`);
|
|
72
|
+
lines.push(`mgrep "API endpoint definitions" src/`);
|
|
73
|
+
lines.push(``);
|
|
74
|
+
lines.push(`# Sync files before searching (ensures index is current)`);
|
|
75
|
+
lines.push(`mgrep "recent changes to auth" -s`);
|
|
76
|
+
lines.push(`\`\`\``);
|
|
77
|
+
lines.push(``);
|
|
78
|
+
// --- UCA Integration ---
|
|
79
|
+
lines.push(`## UCA Integration`);
|
|
80
|
+
lines.push(``);
|
|
81
|
+
lines.push(`Semantic search is a core pillar of the Unified Context Accelerator (UCA).`);
|
|
82
|
+
lines.push(`It bridges the gap between **Context** (what agents know) and **Knowledge** (curated information).`);
|
|
83
|
+
lines.push(``);
|
|
84
|
+
lines.push(`### Search Patterns for UCA Workflows`);
|
|
85
|
+
lines.push(``);
|
|
86
|
+
lines.push(`\`\`\`bash`);
|
|
87
|
+
lines.push(`# Find related context for a task`);
|
|
88
|
+
lines.push(`mgrep "authentication middleware implementation" -m ${maxResults}`);
|
|
89
|
+
lines.push(``);
|
|
90
|
+
lines.push(`# Discover knowledge before creating context entries`);
|
|
91
|
+
lines.push(`mgrep "patterns we use for error handling" -a`);
|
|
92
|
+
lines.push(``);
|
|
93
|
+
lines.push(`# Cross-reference existing implementations`);
|
|
94
|
+
lines.push(`mgrep "similar to the user registration flow" -c`);
|
|
95
|
+
lines.push(``);
|
|
96
|
+
lines.push(`# Validate assumptions against codebase`);
|
|
97
|
+
lines.push(`mgrep "is rate limiting implemented anywhere?" -a`);
|
|
98
|
+
lines.push(`\`\`\``);
|
|
99
|
+
lines.push(``);
|
|
100
|
+
// --- Agent-Specific Patterns ---
|
|
101
|
+
const agentKeys = Object.keys(config.agents);
|
|
102
|
+
if (agentKeys.length > 0) {
|
|
103
|
+
lines.push(`### Agent Search Patterns`);
|
|
104
|
+
lines.push(``);
|
|
105
|
+
lines.push(`Each agent should use mgrep for codebase understanding before starting tasks:`);
|
|
106
|
+
lines.push(``);
|
|
107
|
+
lines.push(`\`\`\`bash`);
|
|
108
|
+
lines.push(`# Before starting any task — understand the area`);
|
|
109
|
+
lines.push(`mgrep "how does [feature area] work?" -a`);
|
|
110
|
+
lines.push(``);
|
|
111
|
+
lines.push(`# During code review — find related patterns`);
|
|
112
|
+
lines.push(`mgrep "other places that use this pattern" -m 15`);
|
|
113
|
+
lines.push(``);
|
|
114
|
+
lines.push(`# When blocked — search for similar solutions`);
|
|
115
|
+
lines.push(`mgrep "workaround for [issue description]" --web`);
|
|
116
|
+
lines.push(`\`\`\``);
|
|
117
|
+
lines.push(``);
|
|
118
|
+
}
|
|
119
|
+
// --- Indexing ---
|
|
120
|
+
lines.push(`## Indexing`);
|
|
121
|
+
lines.push(``);
|
|
122
|
+
lines.push(`The project index is managed by mgrep and synced to a Mixedbread cloud store.`);
|
|
123
|
+
lines.push(``);
|
|
124
|
+
lines.push(`\`\`\`bash`);
|
|
125
|
+
lines.push(`# Start background indexing (watches for file changes)`);
|
|
126
|
+
lines.push(`mgrep watch`);
|
|
127
|
+
lines.push(``);
|
|
128
|
+
lines.push(`# Manual sync before search`);
|
|
129
|
+
lines.push(`mgrep "query" -s`);
|
|
130
|
+
lines.push(`\`\`\``);
|
|
131
|
+
lines.push(``);
|
|
132
|
+
if ((searchConfig.ignorePatterns ?? []).length > 0) {
|
|
133
|
+
lines.push(`### Custom Ignore Patterns`);
|
|
134
|
+
lines.push(``);
|
|
135
|
+
lines.push(`This project excludes:`);
|
|
136
|
+
for (const pattern of searchConfig.ignorePatterns) {
|
|
137
|
+
lines.push(`- \`${pattern}\``);
|
|
138
|
+
}
|
|
139
|
+
lines.push(``);
|
|
140
|
+
}
|
|
141
|
+
// --- Configuration ---
|
|
142
|
+
lines.push(`## Configuration`);
|
|
143
|
+
lines.push(``);
|
|
144
|
+
lines.push(`| Setting | Value |`);
|
|
145
|
+
lines.push(`|---------|-------|`);
|
|
146
|
+
lines.push(`| Max file size | ${((searchConfig.maxFileSize ?? 1048576) / 1024 / 1024).toFixed(1)}MB |`);
|
|
147
|
+
lines.push(`| Max file count | ${searchConfig.maxFileCount ?? 1000} |`);
|
|
148
|
+
lines.push(`| Default results | ${maxResults} |`);
|
|
149
|
+
lines.push(`| Web search | ${searchConfig.webSearch ? "enabled" : "disabled"} |`);
|
|
150
|
+
lines.push(`| Agentic search | ${searchConfig.agenticSearch ? "enabled" : "disabled"} |`);
|
|
151
|
+
lines.push(`| Auto-watch | ${searchConfig.autoWatch !== false ? "enabled" : "disabled"} |`);
|
|
152
|
+
lines.push(``);
|
|
153
|
+
// --- Best Practices ---
|
|
154
|
+
lines.push(`## Best Practices`);
|
|
155
|
+
lines.push(``);
|
|
156
|
+
lines.push(`1. **Ask in natural language** — "where is the auth middleware?" beats "auth middleware file"`);
|
|
157
|
+
lines.push(`2. **Use \`-a\` for understanding** — generates synthesized answers from multiple results`);
|
|
158
|
+
lines.push(`3. **Use \`-c\` for context** — shows surrounding code for faster comprehension`);
|
|
159
|
+
lines.push(`4. **Combine with grep** — use mgrep to discover, grep to trace exact references`);
|
|
160
|
+
lines.push(`5. **Keep index fresh** — run \`mgrep watch\` or use \`-s\` flag during active development`);
|
|
161
|
+
lines.push(`6. **Use \`--agentic\` for complex queries** — multi-query refinement for architectural questions`);
|
|
162
|
+
lines.push(``);
|
|
163
|
+
const content = lines.join("\n");
|
|
164
|
+
if (!dryRun) {
|
|
165
|
+
const skillPath = join(targetDir, ".claude", "skills", "semantic-search", "SKILL.md");
|
|
166
|
+
writeFileSync(skillPath, content, "utf-8");
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
file: ".claude/skills/semantic-search/SKILL.md",
|
|
170
|
+
lines: lines.length,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=mgrep-skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mgrep-skill.js","sourceRoot":"","sources":["../../src/generators/mgrep-skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GeneratorContext } from "@yattalo/task-system-core";
|
|
2
|
+
interface GeneratorResult {
|
|
3
|
+
file: string;
|
|
4
|
+
lines: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function generateUcaFunctions(ctx: GeneratorContext): GeneratorResult[];
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=uca-functions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uca-functions.d.ts","sourceRoot":"","sources":["../../src/generators/uca-functions.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAuBD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAkC7E"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Generator: UCA Backend Functions
|
|
3
|
+
// Copies UCA function templates to convex/taskSystem/
|
|
4
|
+
// ============================================================
|
|
5
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
6
|
+
import { join, dirname } from "node:path";
|
|
7
|
+
import { fileURLToPath } from "node:url";
|
|
8
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
9
|
+
const __dirname = dirname(__filename);
|
|
10
|
+
const UCA_TEMPLATE_FILES = [
|
|
11
|
+
"ucaTasks",
|
|
12
|
+
"contextEntries",
|
|
13
|
+
"driftEvents",
|
|
14
|
+
"agents",
|
|
15
|
+
"memory",
|
|
16
|
+
"skills",
|
|
17
|
+
"hooks",
|
|
18
|
+
"heartbeats",
|
|
19
|
+
"sessionBridge",
|
|
20
|
+
"cronManager",
|
|
21
|
+
"cronUtils",
|
|
22
|
+
];
|
|
23
|
+
function resolveTemplateDir() {
|
|
24
|
+
// In compiled form: dist/generators/uca-functions.js
|
|
25
|
+
// Templates live at: packages/cli/templates/uca/
|
|
26
|
+
// So from dist/generators/ we go ../../templates/uca/
|
|
27
|
+
return join(__dirname, "..", "..", "templates", "uca");
|
|
28
|
+
}
|
|
29
|
+
export function generateUcaFunctions(ctx) {
|
|
30
|
+
const { targetDir, dryRun } = ctx;
|
|
31
|
+
const templateDir = resolveTemplateDir();
|
|
32
|
+
const outDir = join(targetDir, "convex", "taskSystem");
|
|
33
|
+
const results = [];
|
|
34
|
+
for (const name of UCA_TEMPLATE_FILES) {
|
|
35
|
+
const templatePath = join(templateDir, `${name}.ts`);
|
|
36
|
+
const outPath = join(outDir, `${name}.ts`);
|
|
37
|
+
if (!existsSync(templatePath)) {
|
|
38
|
+
console.warn(` Warning: UCA template not found: ${templatePath}`);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
// Skip if file already exists (don't overwrite user customizations)
|
|
42
|
+
if (existsSync(outPath)) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const content = readFileSync(templatePath, "utf-8");
|
|
46
|
+
const lineCount = content.split("\n").length;
|
|
47
|
+
if (!dryRun) {
|
|
48
|
+
writeFileSync(outPath, content, "utf-8");
|
|
49
|
+
}
|
|
50
|
+
results.push({
|
|
51
|
+
file: `convex/taskSystem/${name}.ts`,
|
|
52
|
+
lines: lineCount,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return results;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=uca-functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uca-functions.js","sourceRoot":"","sources":["../../src/generators/uca-functions.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,mCAAmC;AACnC,sDAAsD;AACtD,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAOtC,MAAM,kBAAkB,GAAG;IACzB,UAAU;IACV,gBAAgB;IAChB,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,eAAe;IACf,aAAa;IACb,WAAW;CACH,CAAC;AAEX,SAAS,kBAAkB;IACzB,qDAAqD;IACrD,iDAAiD;IACjD,sDAAsD;IACtD,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAqB;IACxD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAClC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvD,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QAE3C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QAED,oEAAoE;QACpE,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAE7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,qBAAqB,IAAI,KAAK;YACpC,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GeneratorContext } from "@yattalo/task-system-core";
|
|
2
|
+
interface GeneratorResult {
|
|
3
|
+
file: string;
|
|
4
|
+
lines: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function generateUcaReexports(ctx: GeneratorContext): GeneratorResult[];
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=uca-reexports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uca-reexports.d.ts","sourceRoot":"","sources":["../../src/generators/uca-reexports.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAuFD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,GAAG,eAAe,EAAE,CA2B7E"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Generator: UCA Re-export Wrappers
|
|
3
|
+
// Creates top-level convex/ files that re-export from taskSystem/
|
|
4
|
+
// This makes the API surface match the pre-built SPA dashboard
|
|
5
|
+
// (e.g., api.tasks.list instead of api.taskSystem.tasks.list)
|
|
6
|
+
// ============================================================
|
|
7
|
+
import { existsSync, writeFileSync } from "node:fs";
|
|
8
|
+
import { join } from "node:path";
|
|
9
|
+
// Map of top-level file -> exports from taskSystem module
|
|
10
|
+
const REEXPORT_MAP = {
|
|
11
|
+
tasks: {
|
|
12
|
+
source: "./taskSystem/ucaTasks",
|
|
13
|
+
exports: [
|
|
14
|
+
"list", "stats", "getByTaskId", "create", "upsert",
|
|
15
|
+
"updateStatus", "markDoneWithCommit", "captureCommitFromGitHook",
|
|
16
|
+
"addCommit", "addBlocker", "resolveBlocker", "updateNotes",
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
contextEntries: {
|
|
20
|
+
source: "./taskSystem/contextEntries",
|
|
21
|
+
exports: ["list", "stats", "create", "promote", "addValidation", "updateSummary"],
|
|
22
|
+
},
|
|
23
|
+
driftEvents: {
|
|
24
|
+
source: "./taskSystem/driftEvents",
|
|
25
|
+
exports: ["list", "stats", "create", "resolve", "dismiss", "acknowledge"],
|
|
26
|
+
},
|
|
27
|
+
agents: {
|
|
28
|
+
source: "./taskSystem/agents",
|
|
29
|
+
exports: ["list", "stats", "register", "updateStatus"],
|
|
30
|
+
},
|
|
31
|
+
memory: {
|
|
32
|
+
source: "./taskSystem/memory",
|
|
33
|
+
exports: [
|
|
34
|
+
"listMemory", "memoryStats", "addMemory", "searchMemory",
|
|
35
|
+
"consolidateHotMemory", "syncMemoryToContext",
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
skills: {
|
|
39
|
+
source: "./taskSystem/skills",
|
|
40
|
+
exports: [
|
|
41
|
+
"listSkills", "upsertSkill", "removeSkill", "listAgentSkills",
|
|
42
|
+
"assignSkillToAgent", "toggleAgentSkill", "buildPromptForTask",
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
hooks: {
|
|
46
|
+
source: "./taskSystem/hooks",
|
|
47
|
+
exports: [
|
|
48
|
+
"listEvents", "listWebhooks", "registerWebhook",
|
|
49
|
+
"setWebhookEnabled", "emitEvent", "ingestWebhook",
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
heartbeats: {
|
|
53
|
+
source: "./taskSystem/heartbeats",
|
|
54
|
+
exports: [
|
|
55
|
+
"beat", "getAgentHeartbeat", "listHeartbeats",
|
|
56
|
+
"statusSummary", "internalSweepStaleHeartbeats",
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
sessionBridge: {
|
|
60
|
+
source: "./taskSystem/sessionBridge",
|
|
61
|
+
exports: [
|
|
62
|
+
"sendMessage", "inbox", "markDelivered",
|
|
63
|
+
"acknowledgeMessage", "handoffTask", "internalExpireMessages",
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
cronManager: {
|
|
67
|
+
source: "./taskSystem/cronManager",
|
|
68
|
+
exports: [
|
|
69
|
+
"listSchedules", "createSchedule", "updateSchedule",
|
|
70
|
+
"deleteSchedule", "enqueue", "completeQueueItem",
|
|
71
|
+
"internalDispatchDueSchedules",
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
function generateReexportContent(name, config) {
|
|
76
|
+
const lines = [
|
|
77
|
+
`// ============================================================`,
|
|
78
|
+
`// Re-export: ${name} — generated by @yattalo/task-system`,
|
|
79
|
+
`// Maps api.${name}.* to convex/taskSystem/${name}.*`,
|
|
80
|
+
`// DO NOT EDIT — re-run 'npx @yattalo/task-system init' to update`,
|
|
81
|
+
`// ============================================================`,
|
|
82
|
+
``,
|
|
83
|
+
`export {`,
|
|
84
|
+
...config.exports.map((e, i, arr) => ` ${e}${i < arr.length - 1 ? "," : ""}`),
|
|
85
|
+
`} from "${config.source}";`,
|
|
86
|
+
``,
|
|
87
|
+
];
|
|
88
|
+
return lines.join("\n");
|
|
89
|
+
}
|
|
90
|
+
export function generateUcaReexports(ctx) {
|
|
91
|
+
const { targetDir, dryRun } = ctx;
|
|
92
|
+
const convexDir = join(targetDir, "convex");
|
|
93
|
+
const results = [];
|
|
94
|
+
for (const [name, config] of Object.entries(REEXPORT_MAP)) {
|
|
95
|
+
const outPath = join(convexDir, `${name}.ts`);
|
|
96
|
+
// Skip if file already exists (don't overwrite user code)
|
|
97
|
+
if (existsSync(outPath)) {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
const content = generateReexportContent(name, config);
|
|
101
|
+
const lineCount = content.split("\n").length;
|
|
102
|
+
if (!dryRun) {
|
|
103
|
+
writeFileSync(outPath, content, "utf-8");
|
|
104
|
+
}
|
|
105
|
+
results.push({
|
|
106
|
+
file: `convex/${name}.ts`,
|
|
107
|
+
lines: lineCount,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return results;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=uca-reexports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uca-reexports.js","sourceRoot":"","sources":["../../src/generators/uca-reexports.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GeneratorContext } from "@yattalo/task-system-core";
|
|
2
|
+
interface GeneratorResult {
|
|
3
|
+
file: string;
|
|
4
|
+
lines: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function generateUcaSchema(ctx: GeneratorContext): GeneratorResult;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=uca-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uca-schema.d.ts","sourceRoot":"","sources":["../../src/generators/uca-schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,eAAe,CAqoBxE"}
|