@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.
Files changed (92) hide show
  1. package/AGENTS.example.md +18 -0
  2. package/CHANGELOG.md +311 -0
  3. package/CHATGPT_PROMPT.md +12 -0
  4. package/CODEX_PROMPT.md +12 -0
  5. package/CONTRIBUTING.md +51 -0
  6. package/DOMAIN_SETUP.md +241 -0
  7. package/FAQ.md +327 -0
  8. package/FAQ_ZH.md +279 -0
  9. package/LICENSE +21 -0
  10. package/NOTICE +9 -0
  11. package/PUBLIC_LAUNCH_CHECKLIST.md +111 -0
  12. package/README.md +287 -0
  13. package/README_ZH.md +461 -0
  14. package/SECURITY.md +145 -0
  15. package/config.example.env +31 -0
  16. package/dist/analysis/cache.js +27 -0
  17. package/dist/analysis/cache.js.map +1 -0
  18. package/dist/analysis/classify.js +102 -0
  19. package/dist/analysis/classify.js.map +1 -0
  20. package/dist/analysis/extract.js +139 -0
  21. package/dist/analysis/extract.js.map +1 -0
  22. package/dist/analysis/graph.js +22 -0
  23. package/dist/analysis/graph.js.map +1 -0
  24. package/dist/analysis/impact.js +167 -0
  25. package/dist/analysis/impact.js.map +1 -0
  26. package/dist/analysis/index.js +215 -0
  27. package/dist/analysis/index.js.map +1 -0
  28. package/dist/analysis/inventory.js +51 -0
  29. package/dist/analysis/inventory.js.map +1 -0
  30. package/dist/analysis/providers.js +24 -0
  31. package/dist/analysis/providers.js.map +1 -0
  32. package/dist/analysis/rank.js +27 -0
  33. package/dist/analysis/rank.js.map +1 -0
  34. package/dist/analysis/types.js +8 -0
  35. package/dist/analysis/types.js.map +1 -0
  36. package/dist/bashOps.js +233 -0
  37. package/dist/bashOps.js.map +1 -0
  38. package/dist/capabilitiesOps.js +365 -0
  39. package/dist/capabilitiesOps.js.map +1 -0
  40. package/dist/codexSessions.js +379 -0
  41. package/dist/codexSessions.js.map +1 -0
  42. package/dist/config.js +289 -0
  43. package/dist/config.js.map +1 -0
  44. package/dist/fsOps.js +286 -0
  45. package/dist/fsOps.js.map +1 -0
  46. package/dist/gitOps.js +79 -0
  47. package/dist/gitOps.js.map +1 -0
  48. package/dist/guard.js +198 -0
  49. package/dist/guard.js.map +1 -0
  50. package/dist/http.js +1671 -0
  51. package/dist/http.js.map +1 -0
  52. package/dist/proContext.js +274 -0
  53. package/dist/proContext.js.map +1 -0
  54. package/dist/profileStore.js +89 -0
  55. package/dist/profileStore.js.map +1 -0
  56. package/dist/projectCatalog.js +134 -0
  57. package/dist/projectCatalog.js.map +1 -0
  58. package/dist/redact.js +73 -0
  59. package/dist/redact.js.map +1 -0
  60. package/dist/searchOps.js +186 -0
  61. package/dist/searchOps.js.map +1 -0
  62. package/dist/server.js +2502 -0
  63. package/dist/server.js.map +1 -0
  64. package/dist/stdio.js +36 -0
  65. package/dist/stdio.js.map +1 -0
  66. package/dist/toolCardWidget.js +1155 -0
  67. package/dist/toolCardWidget.js.map +1 -0
  68. package/dist/workspaceOps.js +229 -0
  69. package/dist/workspaceOps.js.map +1 -0
  70. package/docs/.nojekyll +1 -0
  71. package/docs/favicon.svg +5 -0
  72. package/docs/index.html +638 -0
  73. package/docs/og.png +0 -0
  74. package/docs/script.js +80 -0
  75. package/docs/star.svg +11 -0
  76. package/docs/styles.css +1229 -0
  77. package/docs/zh.html +436 -0
  78. package/package.json +94 -0
  79. package/scripts/analysis-cli-smoke.mjs +81 -0
  80. package/scripts/analysis-smoke.mjs +179 -0
  81. package/scripts/clean.mjs +6 -0
  82. package/scripts/cli-smoke.mjs +168 -0
  83. package/scripts/codexflow.mjs +4375 -0
  84. package/scripts/doctor-smoke.mjs +90 -0
  85. package/scripts/execute-handoff-smoke.mjs +1110 -0
  86. package/scripts/http-smoke.mjs +812 -0
  87. package/scripts/pro-apply.mjs +141 -0
  88. package/scripts/pro-bundle.mjs +121 -0
  89. package/scripts/pro-smoke.mjs +95 -0
  90. package/scripts/settings-smoke.mjs +756 -0
  91. package/scripts/smoke.mjs +1194 -0
  92. 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
+
@@ -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>