@tarunspandit/codexflow 0.29.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/AGENTS.example.md +18 -0
- package/CHANGELOG.md +311 -0
- package/CHATGPT_PROMPT.md +12 -0
- package/CODEX_PROMPT.md +12 -0
- package/CONTRIBUTING.md +51 -0
- package/DOMAIN_SETUP.md +241 -0
- package/FAQ.md +327 -0
- package/FAQ_ZH.md +279 -0
- package/LICENSE +21 -0
- package/NOTICE +9 -0
- package/PUBLIC_LAUNCH_CHECKLIST.md +111 -0
- package/README.md +287 -0
- package/README_ZH.md +461 -0
- package/SECURITY.md +145 -0
- package/config.example.env +31 -0
- package/dist/analysis/cache.js +27 -0
- package/dist/analysis/cache.js.map +1 -0
- package/dist/analysis/classify.js +102 -0
- package/dist/analysis/classify.js.map +1 -0
- package/dist/analysis/extract.js +139 -0
- package/dist/analysis/extract.js.map +1 -0
- package/dist/analysis/graph.js +22 -0
- package/dist/analysis/graph.js.map +1 -0
- package/dist/analysis/impact.js +167 -0
- package/dist/analysis/impact.js.map +1 -0
- package/dist/analysis/index.js +215 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/inventory.js +51 -0
- package/dist/analysis/inventory.js.map +1 -0
- package/dist/analysis/providers.js +24 -0
- package/dist/analysis/providers.js.map +1 -0
- package/dist/analysis/rank.js +27 -0
- package/dist/analysis/rank.js.map +1 -0
- package/dist/analysis/types.js +8 -0
- package/dist/analysis/types.js.map +1 -0
- package/dist/bashOps.js +233 -0
- package/dist/bashOps.js.map +1 -0
- package/dist/capabilitiesOps.js +365 -0
- package/dist/capabilitiesOps.js.map +1 -0
- package/dist/codexSessions.js +379 -0
- package/dist/codexSessions.js.map +1 -0
- package/dist/config.js +289 -0
- package/dist/config.js.map +1 -0
- package/dist/fsOps.js +286 -0
- package/dist/fsOps.js.map +1 -0
- package/dist/gitOps.js +79 -0
- package/dist/gitOps.js.map +1 -0
- package/dist/guard.js +198 -0
- package/dist/guard.js.map +1 -0
- package/dist/http.js +1671 -0
- package/dist/http.js.map +1 -0
- package/dist/proContext.js +274 -0
- package/dist/proContext.js.map +1 -0
- package/dist/profileStore.js +89 -0
- package/dist/profileStore.js.map +1 -0
- package/dist/projectCatalog.js +134 -0
- package/dist/projectCatalog.js.map +1 -0
- package/dist/redact.js +73 -0
- package/dist/redact.js.map +1 -0
- package/dist/searchOps.js +186 -0
- package/dist/searchOps.js.map +1 -0
- package/dist/server.js +2502 -0
- package/dist/server.js.map +1 -0
- package/dist/stdio.js +36 -0
- package/dist/stdio.js.map +1 -0
- package/dist/toolCardWidget.js +1155 -0
- package/dist/toolCardWidget.js.map +1 -0
- package/dist/workspaceOps.js +229 -0
- package/dist/workspaceOps.js.map +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/favicon.svg +5 -0
- package/docs/index.html +638 -0
- package/docs/og.png +0 -0
- package/docs/script.js +80 -0
- package/docs/star.svg +11 -0
- package/docs/styles.css +1229 -0
- package/docs/zh.html +436 -0
- package/package.json +94 -0
- package/scripts/analysis-cli-smoke.mjs +81 -0
- package/scripts/analysis-smoke.mjs +179 -0
- package/scripts/clean.mjs +6 -0
- package/scripts/cli-smoke.mjs +168 -0
- package/scripts/codexflow.mjs +4375 -0
- package/scripts/doctor-smoke.mjs +90 -0
- package/scripts/execute-handoff-smoke.mjs +1110 -0
- package/scripts/http-smoke.mjs +812 -0
- package/scripts/pro-apply.mjs +141 -0
- package/scripts/pro-bundle.mjs +121 -0
- package/scripts/pro-smoke.mjs +95 -0
- package/scripts/settings-smoke.mjs +756 -0
- package/scripts/smoke.mjs +1194 -0
- package/scripts/stress.mjs +835 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolCardWidget.js","sourceRoot":"","sources":["../src/toolCardWidget.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,0CAA0C,CAAC;AACxE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,yCAAyC,EAAE,yCAAyC,CAAC,CAAC;AAC5H,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAE/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8nC3C,CAAC,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import fsp from "node:fs/promises";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { readTextFile, repoTree, ensureAiBridge } from "./fsOps.js";
|
|
6
|
+
import { gitDiff, gitLog, gitStatus } from "./gitOps.js";
|
|
7
|
+
import { discoverSkillInventory } from "./capabilitiesOps.js";
|
|
8
|
+
function unique(values) {
|
|
9
|
+
return [...new Set(values.filter(Boolean))];
|
|
10
|
+
}
|
|
11
|
+
async function safeReaddir(dir) {
|
|
12
|
+
try {
|
|
13
|
+
return await fsp.readdir(dir, { withFileTypes: true });
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function discoverSkills(workspace, options = {}) {
|
|
20
|
+
const candidateDirs = unique([
|
|
21
|
+
path.join(workspace.root, ".codex", "skills"),
|
|
22
|
+
path.join(workspace.root, "skills"),
|
|
23
|
+
...(options.includeGlobal
|
|
24
|
+
? [path.join(os.homedir(), ".codex", "skills"), path.join(os.homedir(), ".chatgpt", "skills")]
|
|
25
|
+
: [])
|
|
26
|
+
]);
|
|
27
|
+
const skills = [];
|
|
28
|
+
for (const dir of candidateDirs) {
|
|
29
|
+
const entries = await safeReaddir(dir);
|
|
30
|
+
for (const entry of entries) {
|
|
31
|
+
if (entry.isDirectory())
|
|
32
|
+
skills.push(entry.name);
|
|
33
|
+
else if (entry.isFile() && entry.name.endsWith(".md"))
|
|
34
|
+
skills.push(entry.name.replace(/\.md$/, ""));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return unique(skills).sort((a, b) => a.localeCompare(b));
|
|
38
|
+
}
|
|
39
|
+
function skillCounts(skills) {
|
|
40
|
+
const counts = { total: skills.length, workspace: 0, user: 0, plugin: 0, other: 0 };
|
|
41
|
+
for (const skill of skills) {
|
|
42
|
+
const source = skill.source ?? "other";
|
|
43
|
+
counts[source] = (counts[source] ?? 0) + 1;
|
|
44
|
+
}
|
|
45
|
+
return counts;
|
|
46
|
+
}
|
|
47
|
+
async function findAgentsFile(workspace) {
|
|
48
|
+
const [first] = await findAgentsFilesInDir(workspace, ".");
|
|
49
|
+
return first;
|
|
50
|
+
}
|
|
51
|
+
function candidateAgentDirs(targetPath) {
|
|
52
|
+
const normalized = targetPath.split(path.sep).join("/").replace(/^\.\//, "");
|
|
53
|
+
const parts = normalized && normalized !== "." ? normalized.split("/").filter(Boolean) : [];
|
|
54
|
+
const dirs = [""];
|
|
55
|
+
const directoryParts = parts.length > 0 && parts.at(-1)?.includes(".") ? parts.slice(0, -1) : parts;
|
|
56
|
+
for (let i = 0; i < directoryParts.length; i += 1) {
|
|
57
|
+
dirs.push(directoryParts.slice(0, i + 1).join("/"));
|
|
58
|
+
}
|
|
59
|
+
return [...new Set(dirs)];
|
|
60
|
+
}
|
|
61
|
+
async function findAgentsFilesInDir(workspace, dir) {
|
|
62
|
+
const names = ["AGENTS.override.md", "AGENTS.md", "agents.md", ".agents.md"];
|
|
63
|
+
const absDir = path.join(workspace.root, dir);
|
|
64
|
+
const entries = await safeReaddir(absDir);
|
|
65
|
+
const files = entries.filter((entry) => entry.isFile());
|
|
66
|
+
const out = [];
|
|
67
|
+
const seen = new Set();
|
|
68
|
+
for (const name of names) {
|
|
69
|
+
const entry = files.find((item) => item.name === name) ??
|
|
70
|
+
files.find((item) => item.name.toLowerCase() === name.toLowerCase());
|
|
71
|
+
if (!entry)
|
|
72
|
+
continue;
|
|
73
|
+
const rel = dir && dir !== "." ? `${dir}/${entry.name}` : entry.name;
|
|
74
|
+
const real = fs.realpathSync(path.join(workspace.root, rel)).toLowerCase();
|
|
75
|
+
if (seen.has(real))
|
|
76
|
+
continue;
|
|
77
|
+
seen.add(real);
|
|
78
|
+
out.push(rel);
|
|
79
|
+
}
|
|
80
|
+
return out;
|
|
81
|
+
}
|
|
82
|
+
async function readAgentsChain(config, guard, workspace, targetPath, maxBytes) {
|
|
83
|
+
const chunks = [];
|
|
84
|
+
const files = [];
|
|
85
|
+
const seenRealPaths = new Set();
|
|
86
|
+
const candidates = (await Promise.all(candidateAgentDirs(targetPath).map((dir) => findAgentsFilesInDir(workspace, dir || ".")))).flat();
|
|
87
|
+
for (const rel of candidates) {
|
|
88
|
+
try {
|
|
89
|
+
const resolved = guard.resolve(workspace, rel);
|
|
90
|
+
if (!fs.existsSync(resolved.absPath))
|
|
91
|
+
continue;
|
|
92
|
+
const real = fs.realpathSync(resolved.absPath).toLowerCase();
|
|
93
|
+
if (seenRealPaths.has(real))
|
|
94
|
+
continue;
|
|
95
|
+
seenRealPaths.add(real);
|
|
96
|
+
const agents = await readTextFile(config, guard, workspace, rel, { maxBytes });
|
|
97
|
+
chunks.push(`--- ${rel} ---\n${agents.text}`);
|
|
98
|
+
files.push(rel);
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
chunks.push(`--- ${rel} ---\n[unreadable: ${error instanceof Error ? error.message : String(error)}]`);
|
|
102
|
+
files.push(rel);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
text: chunks.length ? chunks.join("\n\n") : "No AGENTS.md-style instruction files found for this target path.",
|
|
107
|
+
files
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export async function workspaceSummary(config, guard, workspace, options = {}) {
|
|
111
|
+
if (options.bootstrapContext) {
|
|
112
|
+
await ensureAiBridge(config, guard, workspace);
|
|
113
|
+
}
|
|
114
|
+
const skillInventory = options.includeSkills
|
|
115
|
+
? await discoverSkillInventory(workspace, { includeGlobal: options.includeGlobalSkills !== false, maxSkills: 120 })
|
|
116
|
+
: [];
|
|
117
|
+
const skills = skillInventory.map((skill) => skill.name);
|
|
118
|
+
const counts = skillCounts(skillInventory);
|
|
119
|
+
const agentsPath = await findAgentsFile(workspace);
|
|
120
|
+
let agentsText = "AGENTS.md: none loaded";
|
|
121
|
+
if (agentsPath) {
|
|
122
|
+
agentsText = `AGENTS.md: ${agentsPath} (read this file before editing or making project decisions).`;
|
|
123
|
+
}
|
|
124
|
+
let treeText;
|
|
125
|
+
if (options.includeTree !== false) {
|
|
126
|
+
const tree = await repoTree(config, guard, workspace, {
|
|
127
|
+
path: ".",
|
|
128
|
+
maxDepth: Math.max(1, Math.min(options.maxDepth ?? 3, 8)),
|
|
129
|
+
includeHidden: false,
|
|
130
|
+
maxEntries: Math.max(1, Math.min(options.maxEntries ?? 500, 3000))
|
|
131
|
+
});
|
|
132
|
+
treeText = tree.text;
|
|
133
|
+
}
|
|
134
|
+
const status = gitStatus(config, workspace);
|
|
135
|
+
const log = gitLog(config, workspace, 5);
|
|
136
|
+
const skillText = options.includeSkills
|
|
137
|
+
? `Skills: ${counts.total} total (${counts.workspace ?? 0} workspace, ${counts.user ?? 0} user, ${counts.plugin ?? 0} plugin, ${counts.other ?? 0} other).`
|
|
138
|
+
: "Skills: skipped. Pass include_skills=true if skill discovery is needed.";
|
|
139
|
+
const text = `# Workspace\n\nWorkspace: ${workspace.id}\nRoot: ${workspace.root}\nBash mode: ${config.bashMode}\nWrite mode: ${config.writeMode}\nTool mode: ${config.toolMode}\n\n${agentsText}\n${skillText}\n\n## Git status\n\n${status}\n\n## Recent commits\n\n${log}\n${treeText ? `\n## Files\n\n${treeText}` : ""}`;
|
|
140
|
+
return {
|
|
141
|
+
text,
|
|
142
|
+
workspaceId: workspace.id,
|
|
143
|
+
root: workspace.root,
|
|
144
|
+
agentsLoaded: Boolean(agentsPath),
|
|
145
|
+
agentsPath,
|
|
146
|
+
skills,
|
|
147
|
+
skillInventory,
|
|
148
|
+
skillCounts: counts,
|
|
149
|
+
tree: treeText,
|
|
150
|
+
gitStatus: status
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
export async function readAiBridgeContext(config, guard, workspace, options = {}) {
|
|
154
|
+
if (options.createIfMissing) {
|
|
155
|
+
await ensureAiBridge(config, guard, workspace);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
const bridgeDir = guard.resolve(workspace, config.contextDir);
|
|
159
|
+
if (!fs.existsSync(bridgeDir.absPath)) {
|
|
160
|
+
return {
|
|
161
|
+
text: `No ${config.contextDir} handoff context exists yet. Use handoff_to_agent or handoff_to_codex to create it when a plan is ready.`,
|
|
162
|
+
files: []
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
const relFiles = [
|
|
167
|
+
`${config.contextDir}/current-plan.md`,
|
|
168
|
+
`${config.contextDir}/agent-status.md`,
|
|
169
|
+
`${config.contextDir}/implementation-diff.patch`,
|
|
170
|
+
`${config.contextDir}/codex-status.md`,
|
|
171
|
+
`${config.contextDir}/decisions.md`,
|
|
172
|
+
`${config.contextDir}/open-questions.md`,
|
|
173
|
+
`${config.contextDir}/execution-log.jsonl`
|
|
174
|
+
];
|
|
175
|
+
const chunks = [];
|
|
176
|
+
const files = [];
|
|
177
|
+
for (const rel of relFiles) {
|
|
178
|
+
try {
|
|
179
|
+
const read = await readTextFile(config, guard, workspace, rel, { maxBytes: 80_000 });
|
|
180
|
+
chunks.push(`--- ${rel} ---\n${read.text}`);
|
|
181
|
+
files.push(rel);
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
chunks.push(`--- ${rel} ---\n[unreadable: ${error instanceof Error ? error.message : String(error)}]`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return { text: chunks.join("\n\n"), files };
|
|
188
|
+
}
|
|
189
|
+
export async function readCodexContext(config, guard, workspace, options = {}) {
|
|
190
|
+
const targetPath = options.targetPath ?? ".";
|
|
191
|
+
guard.resolve(workspace, targetPath);
|
|
192
|
+
const agents = await readAgentsChain(config, guard, workspace, targetPath, Math.min(options.maxAgentBytes ?? 60_000, config.maxReadBytes));
|
|
193
|
+
const ai = options.includeAiBridge === false
|
|
194
|
+
? { text: "Skipped by request.", files: [] }
|
|
195
|
+
: await readAiBridgeContext(config, guard, workspace);
|
|
196
|
+
const status = options.includeGit === false ? undefined : gitStatus(config, workspace);
|
|
197
|
+
const diff = options.includeDiff ? gitDiff(config, guard, workspace) : undefined;
|
|
198
|
+
const text = [
|
|
199
|
+
"# Codex Context",
|
|
200
|
+
"",
|
|
201
|
+
`Workspace: ${workspace.id}`,
|
|
202
|
+
`Root: ${workspace.root}`,
|
|
203
|
+
`Target path: ${targetPath}`,
|
|
204
|
+
`Bash mode: ${config.bashMode}`,
|
|
205
|
+
`Write mode: ${config.writeMode}`,
|
|
206
|
+
`Tool mode: ${config.toolMode}`,
|
|
207
|
+
"",
|
|
208
|
+
"## AGENTS Instructions",
|
|
209
|
+
"",
|
|
210
|
+
agents.text,
|
|
211
|
+
"",
|
|
212
|
+
"## AI Bridge Context",
|
|
213
|
+
"",
|
|
214
|
+
ai.text,
|
|
215
|
+
...(status !== undefined ? ["", "## Git Status", "", status] : []),
|
|
216
|
+
...(diff !== undefined ? ["", "## Git Diff", "", diff] : [])
|
|
217
|
+
].join("\n");
|
|
218
|
+
return {
|
|
219
|
+
text,
|
|
220
|
+
workspaceId: workspace.id,
|
|
221
|
+
root: workspace.root,
|
|
222
|
+
targetPath,
|
|
223
|
+
agentsFiles: agents.files,
|
|
224
|
+
aiContextFiles: ai.files,
|
|
225
|
+
gitStatus: status,
|
|
226
|
+
gitDiff: diff
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=workspaceOps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaceOps.js","sourceRoot":"","sources":["../src/workspaceOps.ts"],"names":[],"mappings":"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"}
|
package/docs/.nojekyll
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
package/docs/favicon.svg
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="CodexFlow mark">
|
|
2
|
+
<rect width="64" height="64" rx="14" fill="#0b1220"/>
|
|
3
|
+
<path d="M20 19h24v7H27v12h17v7H20V19Z" fill="#67e8f9"/>
|
|
4
|
+
<path d="M32 26h12v12H32v-6h6v-1h-6v-5Z" fill="#34d399"/>
|
|
5
|
+
</svg>
|