@mirnoorata/codexa 0.2.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/LICENSE +21 -0
- package/README.md +634 -0
- package/dist/artifacts.d.ts +2 -0
- package/dist/artifacts.js +375 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/autonomy.d.ts +17 -0
- package/dist/autonomy.js +124 -0
- package/dist/autonomy.js.map +1 -0
- package/dist/autoverify/policy.d.ts +5 -0
- package/dist/autoverify/policy.js +18 -0
- package/dist/autoverify/policy.js.map +1 -0
- package/dist/autoverify.d.ts +45 -0
- package/dist/autoverify.js +1041 -0
- package/dist/autoverify.js.map +1 -0
- package/dist/cache-lock.d.ts +16 -0
- package/dist/cache-lock.js +181 -0
- package/dist/cache-lock.js.map +1 -0
- package/dist/cli/hooks.d.ts +5 -0
- package/dist/cli/hooks.js +264 -0
- package/dist/cli/hooks.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +1034 -0
- package/dist/cli.js.map +1 -0
- package/dist/codex-contract.d.ts +2 -0
- package/dist/codex-contract.js +78 -0
- package/dist/codex-contract.js.map +1 -0
- package/dist/command.d.ts +34 -0
- package/dist/command.js +162 -0
- package/dist/command.js.map +1 -0
- package/dist/doctor.d.ts +112 -0
- package/dist/doctor.js +518 -0
- package/dist/doctor.js.map +1 -0
- package/dist/eval/baseline.d.ts +7 -0
- package/dist/eval/baseline.js +146 -0
- package/dist/eval/baseline.js.map +1 -0
- package/dist/eval/historical.d.ts +4 -0
- package/dist/eval/historical.js +663 -0
- package/dist/eval/historical.js.map +1 -0
- package/dist/eval/render.d.ts +2 -0
- package/dist/eval/render.js +53 -0
- package/dist/eval/render.js.map +1 -0
- package/dist/eval/scoring.d.ts +21 -0
- package/dist/eval/scoring.js +618 -0
- package/dist/eval/scoring.js.map +1 -0
- package/dist/eval/synthetic.d.ts +36 -0
- package/dist/eval/synthetic.js +107 -0
- package/dist/eval/synthetic.js.map +1 -0
- package/dist/eval/types.d.ts +36 -0
- package/dist/eval/types.js +2 -0
- package/dist/eval/types.js.map +1 -0
- package/dist/eval.d.ts +140 -0
- package/dist/eval.js +551 -0
- package/dist/eval.js.map +1 -0
- package/dist/git.d.ts +17 -0
- package/dist/git.js +189 -0
- package/dist/git.js.map +1 -0
- package/dist/github-release.d.ts +47 -0
- package/dist/github-release.js +610 -0
- package/dist/github-release.js.map +1 -0
- package/dist/github-sync.d.ts +68 -0
- package/dist/github-sync.js +345 -0
- package/dist/github-sync.js.map +1 -0
- package/dist/graph.d.ts +10 -0
- package/dist/graph.js +665 -0
- package/dist/graph.js.map +1 -0
- package/dist/indexer/aliases.d.ts +2 -0
- package/dist/indexer/aliases.js +190 -0
- package/dist/indexer/aliases.js.map +1 -0
- package/dist/indexer/artifact-writing.d.ts +3 -0
- package/dist/indexer/artifact-writing.js +79 -0
- package/dist/indexer/artifact-writing.js.map +1 -0
- package/dist/indexer/discovery.d.ts +2 -0
- package/dist/indexer/discovery.js +5 -0
- package/dist/indexer/discovery.js.map +1 -0
- package/dist/indexer/external-facts.d.ts +6 -0
- package/dist/indexer/external-facts.js +45 -0
- package/dist/indexer/external-facts.js.map +1 -0
- package/dist/indexer/freshness.d.ts +8 -0
- package/dist/indexer/freshness.js +56 -0
- package/dist/indexer/freshness.js.map +1 -0
- package/dist/indexer/graph-stage.d.ts +2 -0
- package/dist/indexer/graph-stage.js +21 -0
- package/dist/indexer/graph-stage.js.map +1 -0
- package/dist/indexer/parsing.d.ts +30 -0
- package/dist/indexer/parsing.js +177 -0
- package/dist/indexer/parsing.js.map +1 -0
- package/dist/indexer/pipeline.d.ts +5 -0
- package/dist/indexer/pipeline.js +8 -0
- package/dist/indexer/pipeline.js.map +1 -0
- package/dist/indexer/ranking.d.ts +4 -0
- package/dist/indexer/ranking.js +134 -0
- package/dist/indexer/ranking.js.map +1 -0
- package/dist/indexer.d.ts +13 -0
- package/dist/indexer.js +395 -0
- package/dist/indexer.js.map +1 -0
- package/dist/init.d.ts +24 -0
- package/dist/init.js +566 -0
- package/dist/init.js.map +1 -0
- package/dist/language.d.ts +8 -0
- package/dist/language.js +123 -0
- package/dist/language.js.map +1 -0
- package/dist/live-index.d.ts +68 -0
- package/dist/live-index.js +215 -0
- package/dist/live-index.js.map +1 -0
- package/dist/lsp/assist.d.ts +44 -0
- package/dist/lsp/assist.js +331 -0
- package/dist/lsp/assist.js.map +1 -0
- package/dist/lsp/client.d.ts +59 -0
- package/dist/lsp/client.js +208 -0
- package/dist/lsp/client.js.map +1 -0
- package/dist/mcp/compaction.d.ts +15 -0
- package/dist/mcp/compaction.js +1249 -0
- package/dist/mcp/compaction.js.map +1 -0
- package/dist/mcp/envelope.d.ts +44 -0
- package/dist/mcp/envelope.js +425 -0
- package/dist/mcp/envelope.js.map +1 -0
- package/dist/mcp/prompts.d.ts +2 -0
- package/dist/mcp/prompts.js +109 -0
- package/dist/mcp/prompts.js.map +1 -0
- package/dist/mcp/resources.d.ts +2 -0
- package/dist/mcp/resources.js +132 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/runtime.d.ts +15 -0
- package/dist/mcp/runtime.js +122 -0
- package/dist/mcp/runtime.js.map +1 -0
- package/dist/mcp/session-memory.d.ts +3 -0
- package/dist/mcp/session-memory.js +61 -0
- package/dist/mcp/session-memory.js.map +1 -0
- package/dist/mcp/tool-registry.d.ts +269 -0
- package/dist/mcp/tool-registry.js +284 -0
- package/dist/mcp/tool-registry.js.map +1 -0
- package/dist/mcp/tools.d.ts +53 -0
- package/dist/mcp/tools.js +372 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp-repo-root.d.ts +16 -0
- package/dist/mcp-repo-root.js +322 -0
- package/dist/mcp-repo-root.js.map +1 -0
- package/dist/mcp-tool-catalog.d.ts +2 -0
- package/dist/mcp-tool-catalog.js +2 -0
- package/dist/mcp-tool-catalog.js.map +1 -0
- package/dist/mcp.d.ts +11 -0
- package/dist/mcp.js +332 -0
- package/dist/mcp.js.map +1 -0
- package/dist/outcome-ranking.d.ts +5 -0
- package/dist/outcome-ranking.js +115 -0
- package/dist/outcome-ranking.js.map +1 -0
- package/dist/parser/context.d.ts +28 -0
- package/dist/parser/context.js +2 -0
- package/dist/parser/context.js.map +1 -0
- package/dist/parser/ecma.d.ts +5 -0
- package/dist/parser/ecma.js +388 -0
- package/dist/parser/ecma.js.map +1 -0
- package/dist/parser/facts.d.ts +12 -0
- package/dist/parser/facts.js +137 -0
- package/dist/parser/facts.js.map +1 -0
- package/dist/parser/json.d.ts +3 -0
- package/dist/parser/json.js +318 -0
- package/dist/parser/json.js.map +1 -0
- package/dist/parser/markdown.d.ts +3 -0
- package/dist/parser/markdown.js +180 -0
- package/dist/parser/markdown.js.map +1 -0
- package/dist/parser/nodes.d.ts +5 -0
- package/dist/parser/nodes.js +75 -0
- package/dist/parser/nodes.js.map +1 -0
- package/dist/parser/python.d.ts +2 -0
- package/dist/parser/python.js +307 -0
- package/dist/parser/python.js.map +1 -0
- package/dist/parser/references.d.ts +3 -0
- package/dist/parser/references.js +204 -0
- package/dist/parser/references.js.map +1 -0
- package/dist/parser/risks.d.ts +4 -0
- package/dist/parser/risks.js +62 -0
- package/dist/parser/risks.js.map +1 -0
- package/dist/parser/routes.d.ts +5 -0
- package/dist/parser/routes.js +97 -0
- package/dist/parser/routes.js.map +1 -0
- package/dist/parser/shallow.d.ts +3 -0
- package/dist/parser/shallow.js +545 -0
- package/dist/parser/shallow.js.map +1 -0
- package/dist/parser/source.d.ts +4 -0
- package/dist/parser/source.js +127 -0
- package/dist/parser/source.js.map +1 -0
- package/dist/parser.d.ts +2 -0
- package/dist/parser.js +2 -0
- package/dist/parser.js.map +1 -0
- package/dist/placeholder-signals.d.ts +15 -0
- package/dist/placeholder-signals.js +511 -0
- package/dist/placeholder-signals.js.map +1 -0
- package/dist/post-edit-outcomes.d.ts +167 -0
- package/dist/post-edit-outcomes.js +484 -0
- package/dist/post-edit-outcomes.js.map +1 -0
- package/dist/queries.d.ts +12 -0
- package/dist/queries.js +13 -0
- package/dist/queries.js.map +1 -0
- package/dist/query/change-plan.d.ts +48 -0
- package/dist/query/change-plan.js +858 -0
- package/dist/query/change-plan.js.map +1 -0
- package/dist/query/compact-data.d.ts +25 -0
- package/dist/query/compact-data.js +74 -0
- package/dist/query/compact-data.js.map +1 -0
- package/dist/query/context.d.ts +5 -0
- package/dist/query/context.js +1162 -0
- package/dist/query/context.js.map +1 -0
- package/dist/query/diff.d.ts +5 -0
- package/dist/query/diff.js +111 -0
- package/dist/query/diff.js.map +1 -0
- package/dist/query/edge-evidence.d.ts +3 -0
- package/dist/query/edge-evidence.js +36 -0
- package/dist/query/edge-evidence.js.map +1 -0
- package/dist/query/formatting.d.ts +14 -0
- package/dist/query/formatting.js +67 -0
- package/dist/query/formatting.js.map +1 -0
- package/dist/query/graph-traversal.d.ts +22 -0
- package/dist/query/graph-traversal.js +218 -0
- package/dist/query/graph-traversal.js.map +1 -0
- package/dist/query/graph.d.ts +14 -0
- package/dist/query/graph.js +102 -0
- package/dist/query/graph.js.map +1 -0
- package/dist/query/impact.d.ts +28 -0
- package/dist/query/impact.js +568 -0
- package/dist/query/impact.js.map +1 -0
- package/dist/query/inspection.d.ts +9 -0
- package/dist/query/inspection.js +290 -0
- package/dist/query/inspection.js.map +1 -0
- package/dist/query/next-tools.d.ts +3 -0
- package/dist/query/next-tools.js +25 -0
- package/dist/query/next-tools.js.map +1 -0
- package/dist/query/placeholders.d.ts +24 -0
- package/dist/query/placeholders.js +121 -0
- package/dist/query/placeholders.js.map +1 -0
- package/dist/query/post-edit/decision.d.ts +49 -0
- package/dist/query/post-edit/decision.js +130 -0
- package/dist/query/post-edit/decision.js.map +1 -0
- package/dist/query/post-edit/dirty-scope.d.ts +16 -0
- package/dist/query/post-edit/dirty-scope.js +21 -0
- package/dist/query/post-edit/dirty-scope.js.map +1 -0
- package/dist/query/post-edit/next-actions.d.ts +22 -0
- package/dist/query/post-edit/next-actions.js +44 -0
- package/dist/query/post-edit/next-actions.js.map +1 -0
- package/dist/query/post-edit/snapshot-contract.d.ts +8 -0
- package/dist/query/post-edit/snapshot-contract.js +111 -0
- package/dist/query/post-edit/snapshot-contract.js.map +1 -0
- package/dist/query/post-edit.d.ts +5 -0
- package/dist/query/post-edit.js +1108 -0
- package/dist/query/post-edit.js.map +1 -0
- package/dist/query/quality.d.ts +43 -0
- package/dist/query/quality.js +134 -0
- package/dist/query/quality.js.map +1 -0
- package/dist/query/raw-search.d.ts +23 -0
- package/dist/query/raw-search.js +147 -0
- package/dist/query/raw-search.js.map +1 -0
- package/dist/query/runtime.d.ts +11 -0
- package/dist/query/runtime.js +79 -0
- package/dist/query/runtime.js.map +1 -0
- package/dist/query/search.d.ts +25 -0
- package/dist/query/search.js +429 -0
- package/dist/query/search.js.map +1 -0
- package/dist/query/session-memory.d.ts +3 -0
- package/dist/query/session-memory.js +108 -0
- package/dist/query/session-memory.js.map +1 -0
- package/dist/query/session.d.ts +41 -0
- package/dist/query/session.js +90 -0
- package/dist/query/session.js.map +1 -0
- package/dist/query/targets.d.ts +25 -0
- package/dist/query/targets.js +97 -0
- package/dist/query/targets.js.map +1 -0
- package/dist/query/test-commands.d.ts +10 -0
- package/dist/query/test-commands.js +110 -0
- package/dist/query/test-commands.js.map +1 -0
- package/dist/query/test-plan.d.ts +6 -0
- package/dist/query/test-plan.js +104 -0
- package/dist/query/test-plan.js.map +1 -0
- package/dist/query/tests.d.ts +48 -0
- package/dist/query/tests.js +444 -0
- package/dist/query/tests.js.map +1 -0
- package/dist/query/verification/shell.d.ts +20 -0
- package/dist/query/verification/shell.js +164 -0
- package/dist/query/verification/shell.js.map +1 -0
- package/dist/query/verification.d.ts +47 -0
- package/dist/query/verification.js +1123 -0
- package/dist/query/verification.js.map +1 -0
- package/dist/query/workflow.d.ts +17 -0
- package/dist/query/workflow.js +252 -0
- package/dist/query/workflow.js.map +1 -0
- package/dist/query/workspace-guidance.d.ts +26 -0
- package/dist/query/workspace-guidance.js +214 -0
- package/dist/query/workspace-guidance.js.map +1 -0
- package/dist/query/worktree-state.d.ts +22 -0
- package/dist/query/worktree-state.js +32 -0
- package/dist/query/worktree-state.js.map +1 -0
- package/dist/query/worktree.d.ts +16 -0
- package/dist/query/worktree.js +194 -0
- package/dist/query/worktree.js.map +1 -0
- package/dist/query-data.d.ts +4 -0
- package/dist/query-data.js +112 -0
- package/dist/query-data.js.map +1 -0
- package/dist/repo-files.d.ts +24 -0
- package/dist/repo-files.js +105 -0
- package/dist/repo-files.js.map +1 -0
- package/dist/resolver.d.ts +9 -0
- package/dist/resolver.js +555 -0
- package/dist/resolver.js.map +1 -0
- package/dist/retrieval.d.ts +46 -0
- package/dist/retrieval.js +783 -0
- package/dist/retrieval.js.map +1 -0
- package/dist/risk-ingest.d.ts +16 -0
- package/dist/risk-ingest.js +458 -0
- package/dist/risk-ingest.js.map +1 -0
- package/dist/rules.d.ts +10 -0
- package/dist/rules.js +107 -0
- package/dist/rules.js.map +1 -0
- package/dist/semantic/python.d.ts +9 -0
- package/dist/semantic/python.js +817 -0
- package/dist/semantic/python.js.map +1 -0
- package/dist/semantic/typescript.d.ts +10 -0
- package/dist/semantic/typescript.js +714 -0
- package/dist/semantic/typescript.js.map +1 -0
- package/dist/semantic-retrieval.d.ts +53 -0
- package/dist/semantic-retrieval.js +673 -0
- package/dist/semantic-retrieval.js.map +1 -0
- package/dist/session-memory/derivation.d.ts +6 -0
- package/dist/session-memory/derivation.js +400 -0
- package/dist/session-memory/derivation.js.map +1 -0
- package/dist/session-memory/event-log.d.ts +23 -0
- package/dist/session-memory/event-log.js +126 -0
- package/dist/session-memory/event-log.js.map +1 -0
- package/dist/session-memory/formatting.d.ts +7 -0
- package/dist/session-memory/formatting.js +86 -0
- package/dist/session-memory/formatting.js.map +1 -0
- package/dist/session-memory/model.d.ts +94 -0
- package/dist/session-memory/model.js +17 -0
- package/dist/session-memory/model.js.map +1 -0
- package/dist/session-memory/runtime.d.ts +24 -0
- package/dist/session-memory/runtime.js +289 -0
- package/dist/session-memory/runtime.js.map +1 -0
- package/dist/session-memory/store.d.ts +27 -0
- package/dist/session-memory/store.js +447 -0
- package/dist/session-memory/store.js.map +1 -0
- package/dist/session-memory.d.ts +1 -0
- package/dist/session-memory.js +2 -0
- package/dist/session-memory.js.map +1 -0
- package/dist/static-analysis.d.ts +36 -0
- package/dist/static-analysis.js +505 -0
- package/dist/static-analysis.js.map +1 -0
- package/dist/symbol-report-ingest.d.ts +8 -0
- package/dist/symbol-report-ingest.js +504 -0
- package/dist/symbol-report-ingest.js.map +1 -0
- package/dist/task-snapshots.d.ts +41 -0
- package/dist/task-snapshots.js +430 -0
- package/dist/task-snapshots.js.map +1 -0
- package/dist/types.d.ts +848 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/dist/util.d.ts +11 -0
- package/dist/util.js +63 -0
- package/dist/util.js.map +1 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/package.json +81 -0
- package/plugins/codexa/.codex-plugin/plugin.json +38 -0
- package/plugins/codexa/.mcp.json +20 -0
- package/plugins/codexa/scripts/codexa-mcp.js +100 -0
- package/plugins/codexa/skills/codexa/SKILL.md +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/query/verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CodexaIndex, QueryOptions, QueryResult, WorkflowTraceFact } from "../types.js";
|
|
2
|
+
import { type QuerySessionInput } from "./session.js";
|
|
3
|
+
import { type ResolvedGraphTarget } from "./targets.js";
|
|
4
|
+
export declare function workflowPathQuery(input: QuerySessionInput, workflowInput: {
|
|
5
|
+
query?: string;
|
|
6
|
+
file?: string;
|
|
7
|
+
symbol?: string;
|
|
8
|
+
limit?: number;
|
|
9
|
+
}, options?: QueryOptions): Promise<QueryResult>;
|
|
10
|
+
export declare function fallbackWorkflowMatches(index: {
|
|
11
|
+
workflows: WorkflowTraceFact[];
|
|
12
|
+
}, queryText: string, limit: number): WorkflowTraceFact[];
|
|
13
|
+
export declare function rankWorkflowFiles(index: Pick<CodexaIndex, "files">, workflows: WorkflowTraceFact[], queryText: string): string[];
|
|
14
|
+
export declare function rankWorkflowCoreFiles(index: Pick<CodexaIndex, "files">, workflows: WorkflowTraceFact[], queryText: string): string[];
|
|
15
|
+
export declare function rankWorkflowImporterFiles(index: Pick<CodexaIndex, "files" | "imports">, sourcePaths: string[], queryText: string): string[];
|
|
16
|
+
export declare function workflowMatchesTarget(workflow: WorkflowTraceFact, target: ResolvedGraphTarget): boolean;
|
|
17
|
+
export declare function formatWorkflow(workflow: WorkflowTraceFact): string[];
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { isTestPath } from "../language.js";
|
|
3
|
+
import { limitText, uniqueSorted } from "../util.js";
|
|
4
|
+
import { formatGaps, indexGaps } from "./diff.js";
|
|
5
|
+
import { matchScore } from "./search.js";
|
|
6
|
+
import { assessContextQuality, formatContextQuality } from "./quality.js";
|
|
7
|
+
import { freshnessBanner } from "./runtime.js";
|
|
8
|
+
import { ensureQuerySession } from "./session.js";
|
|
9
|
+
import { formatTestRecommendations, recommendTests } from "./tests.js";
|
|
10
|
+
import { resolveGraphTarget } from "./targets.js";
|
|
11
|
+
import { retrieveForTask } from "../retrieval.js";
|
|
12
|
+
import { semanticOptionsFromQueryOptions } from "../semantic-retrieval.js";
|
|
13
|
+
import { workflowTierCounts } from "./graph-traversal.js";
|
|
14
|
+
export async function workflowPathQuery(input, workflowInput, options = {}) {
|
|
15
|
+
const session = await ensureQuerySession(input, options);
|
|
16
|
+
const { index, freshness, refresh, repoRoot } = session;
|
|
17
|
+
const limit = Math.max(1, Math.min(workflowInput.limit ?? 8, session.maxResults));
|
|
18
|
+
const queryText = workflowInput.query?.trim() || workflowInput.symbol || workflowInput.file || "workflow";
|
|
19
|
+
const retrieval = await retrieveForTask(index, queryText, limit, semanticOptionsFromQueryOptions(repoRoot, options));
|
|
20
|
+
let workflows = retrieval.workflows;
|
|
21
|
+
if (workflowInput.file || workflowInput.symbol) {
|
|
22
|
+
const target = resolveGraphTarget(index, repoRoot, { file: workflowInput.file, symbol: workflowInput.symbol });
|
|
23
|
+
if ("result" in target) {
|
|
24
|
+
return { ...target.result, freshness, refresh };
|
|
25
|
+
}
|
|
26
|
+
workflows = workflows.filter((workflow) => workflowMatchesTarget(workflow, target));
|
|
27
|
+
if (workflows.length === 0) {
|
|
28
|
+
workflows = index.workflows.filter((workflow) => workflowMatchesTarget(workflow, target));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (workflows.length === 0) {
|
|
32
|
+
workflows = fallbackWorkflowMatches(index, queryText, limit);
|
|
33
|
+
}
|
|
34
|
+
workflows = narrowWorkflowsForSpecificTerms(workflows, queryText);
|
|
35
|
+
workflows = workflows.slice(0, limit);
|
|
36
|
+
const coreCandidates = rankWorkflowCoreFiles(index, workflows, queryText);
|
|
37
|
+
const relatedCandidates = rankWorkflowFiles(index, workflows, queryText);
|
|
38
|
+
const importerCandidates = rankWorkflowImporterFiles(index, uniqueWorkflowFiles([...coreCandidates, ...relatedCandidates]), queryText);
|
|
39
|
+
const files = uniqueWorkflowFiles([...coreCandidates, ...importerCandidates]).slice(0, Math.max(8, limit * 2));
|
|
40
|
+
const relatedFiles = uniqueWorkflowFiles([...relatedCandidates, ...importerCandidates]).filter((file) => !files.includes(file)).slice(0, 30);
|
|
41
|
+
const testSeedPaths = uniqueSorted([
|
|
42
|
+
...files,
|
|
43
|
+
...relatedFiles,
|
|
44
|
+
...workflows.flatMap((workflow) => workflow.relatedFiles),
|
|
45
|
+
...workflows.flatMap((workflow) => workflow.steps.flatMap((step) => [step.path, step.targetPath].filter((entry) => Boolean(entry))))
|
|
46
|
+
]);
|
|
47
|
+
const testRecommendations = recommendTests(index, testSeedPaths, repoRoot).slice(0, 12);
|
|
48
|
+
const tests = uniqueSorted([...workflows.flatMap((workflow) => workflow.tests), ...testRecommendations.map((test) => test.path)]);
|
|
49
|
+
const quality = assessContextQuality({
|
|
50
|
+
freshness,
|
|
51
|
+
gaps: indexGaps(index, freshness),
|
|
52
|
+
tiers: workflowTierCounts(workflows),
|
|
53
|
+
selectedCount: workflows.length,
|
|
54
|
+
testCount: tests.length,
|
|
55
|
+
queryBroad: retrieval.broad
|
|
56
|
+
});
|
|
57
|
+
const text = [
|
|
58
|
+
freshnessBanner(freshness, refresh),
|
|
59
|
+
formatContextQuality(quality),
|
|
60
|
+
`Workflow path query: ${queryText}`,
|
|
61
|
+
"",
|
|
62
|
+
"Workflows:",
|
|
63
|
+
...(workflows.length > 0 ? workflows.flatMap((workflow) => formatWorkflow(workflow)) : ["- no workflow traces matched"]),
|
|
64
|
+
"",
|
|
65
|
+
"Core path files:",
|
|
66
|
+
...(files.length > 0 ? files.map((file) => `- ${file}`) : ["- none"]),
|
|
67
|
+
"",
|
|
68
|
+
"Related candidate files:",
|
|
69
|
+
...(relatedFiles.length > 0 ? relatedFiles.map((file) => `- ${file}`) : ["- none"]),
|
|
70
|
+
"",
|
|
71
|
+
"Related tests:",
|
|
72
|
+
...formatTestRecommendations(testRecommendations),
|
|
73
|
+
"",
|
|
74
|
+
"Known gaps:",
|
|
75
|
+
...formatGaps(indexGaps(index, freshness))
|
|
76
|
+
].join("\n");
|
|
77
|
+
return { freshness, refresh, text: limitText(text, 7000), data: { query: queryText, workflows, files, relatedFiles, tests, testRecommendations, quality, retrieval } };
|
|
78
|
+
}
|
|
79
|
+
export function fallbackWorkflowMatches(index, queryText, limit) {
|
|
80
|
+
const terms = queryText
|
|
81
|
+
.toLowerCase()
|
|
82
|
+
.split(/[^a-z0-9]+/u)
|
|
83
|
+
.map((term) => term.trim())
|
|
84
|
+
.filter((term) => term.length >= 3);
|
|
85
|
+
if (terms.length === 0) {
|
|
86
|
+
return [];
|
|
87
|
+
}
|
|
88
|
+
return index.workflows
|
|
89
|
+
.map((workflow) => {
|
|
90
|
+
const haystack = [
|
|
91
|
+
workflow.title,
|
|
92
|
+
workflow.workflowKind,
|
|
93
|
+
workflow.entryPath,
|
|
94
|
+
...workflow.relatedFiles,
|
|
95
|
+
...workflow.steps.map((step) => `${step.kind} ${step.label} ${step.reason} ${step.path ?? ""} ${step.targetPath ?? ""}`)
|
|
96
|
+
]
|
|
97
|
+
.join(" ")
|
|
98
|
+
.toLowerCase();
|
|
99
|
+
const termScore = terms.reduce((sum, term) => sum + (haystack.includes(term) ? 1 : 0), 0);
|
|
100
|
+
const entryScore = terms.reduce((sum, term) => sum + (workflow.entryPath.toLowerCase().includes(term) ? 2 : 0), 0);
|
|
101
|
+
return {
|
|
102
|
+
workflow,
|
|
103
|
+
score: termScore + entryScore + Math.log2(workflow.rank + 1) * 0.1
|
|
104
|
+
};
|
|
105
|
+
})
|
|
106
|
+
.filter((entry) => entry.score > 0)
|
|
107
|
+
.sort((a, b) => b.score - a.score || b.workflow.rank - a.workflow.rank || a.workflow.title.localeCompare(b.workflow.title))
|
|
108
|
+
.slice(0, limit)
|
|
109
|
+
.map((entry) => entry.workflow);
|
|
110
|
+
}
|
|
111
|
+
export function rankWorkflowFiles(index, workflows, queryText) {
|
|
112
|
+
const entries = new Map();
|
|
113
|
+
const add = (filePath, score) => {
|
|
114
|
+
if (!filePath) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (isTestPath(filePath)) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
entries.set(filePath, (entries.get(filePath) ?? 0) + score + (index.files.find((file) => file.path === filePath)?.rank ?? 0) * 0.01);
|
|
121
|
+
};
|
|
122
|
+
for (const workflow of workflows) {
|
|
123
|
+
add(workflow.entryPath, 12);
|
|
124
|
+
for (const step of workflow.steps) {
|
|
125
|
+
add(step.path, step.kind === "entry" ? 12 : step.kind === "test" ? 9 : step.kind === "ui" || step.kind === "endpoint" ? 8 : 5);
|
|
126
|
+
add(step.targetPath, step.kind === "test" ? 8 : 4);
|
|
127
|
+
}
|
|
128
|
+
for (const file of workflow.relatedFiles) {
|
|
129
|
+
add(file, 3 + workflowUiCoreScore(file, undefined, queryText));
|
|
130
|
+
}
|
|
131
|
+
for (const test of workflow.tests) {
|
|
132
|
+
add(test, 9);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return [...entries.entries()].filter(([, score]) => score > 0).sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])).map(([filePath]) => filePath);
|
|
136
|
+
}
|
|
137
|
+
export function rankWorkflowCoreFiles(index, workflows, queryText) {
|
|
138
|
+
const entries = new Map();
|
|
139
|
+
const add = (filePath, score) => {
|
|
140
|
+
if (!filePath) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (isTestPath(filePath)) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
entries.set(filePath, (entries.get(filePath) ?? 0) + score + (index.files.find((file) => file.path === filePath)?.rank ?? 0) * 0.01);
|
|
147
|
+
};
|
|
148
|
+
for (const workflow of workflows) {
|
|
149
|
+
add(workflow.entryPath, 30);
|
|
150
|
+
for (const step of workflow.steps) {
|
|
151
|
+
const coreScore = step.kind === "entry"
|
|
152
|
+
? 26
|
|
153
|
+
: step.kind === "ui"
|
|
154
|
+
? 24 + workflowUiCoreScore(step.path, step.targetPath, queryText)
|
|
155
|
+
: step.kind === "endpoint"
|
|
156
|
+
? 22
|
|
157
|
+
: step.kind === "store" || step.kind === "adapter" || step.kind === "manifest"
|
|
158
|
+
? 20
|
|
159
|
+
: step.kind === "call" || step.kind === "reference"
|
|
160
|
+
? 12
|
|
161
|
+
: step.kind === "test"
|
|
162
|
+
? 4
|
|
163
|
+
: 8;
|
|
164
|
+
add(step.path, coreScore);
|
|
165
|
+
add(step.targetPath, Math.max(4, coreScore - 4));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return [...entries.entries()].filter(([, score]) => score > 0).sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])).map(([filePath]) => filePath);
|
|
169
|
+
}
|
|
170
|
+
export function rankWorkflowImporterFiles(index, sourcePaths, queryText) {
|
|
171
|
+
const sourceSet = new Set(sourcePaths);
|
|
172
|
+
const entries = new Map();
|
|
173
|
+
for (const edge of index.imports) {
|
|
174
|
+
if (!edge.resolvedPath || !sourceSet.has(edge.resolvedPath) || isTestPath(edge.path)) {
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
const file = index.files.find((candidate) => candidate.path === edge.path);
|
|
178
|
+
if (!file) {
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
const uiScore = workflowUiCoreScore(edge.path, edge.resolvedPath, queryText);
|
|
182
|
+
const queryScore = matchScore(queryText, `${edge.path} ${edge.specifier} ${edge.importedName ?? ""} ${edge.localName ?? ""}`);
|
|
183
|
+
if (uiScore <= 0 && queryScore <= 0) {
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
entries.set(edge.path, (entries.get(edge.path) ?? 0) + 12 + uiScore + queryScore + file.rank * 0.01);
|
|
187
|
+
}
|
|
188
|
+
return [...entries.entries()].filter(([, score]) => score > 0).sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])).map(([filePath]) => filePath);
|
|
189
|
+
}
|
|
190
|
+
function narrowWorkflowsForSpecificTerms(workflows, queryText) {
|
|
191
|
+
const terms = queryText
|
|
192
|
+
.toLowerCase()
|
|
193
|
+
.split(/[^a-z0-9]+/u)
|
|
194
|
+
.filter((term) => term.length >= 3 && !new Set(["workflow", "route", "backend", "frontend", "test", "tests", "from", "and", "with", "into", "path"]).has(term));
|
|
195
|
+
const flowTerms = terms.filter((term) => /queue|poll|adapter|manifest|prepare|store|hook|client|endpoint|job|run/u.test(term));
|
|
196
|
+
if (flowTerms.length === 0) {
|
|
197
|
+
return workflows;
|
|
198
|
+
}
|
|
199
|
+
const narrowed = workflows.filter((workflow) => {
|
|
200
|
+
const haystack = `${workflow.title} ${workflow.entryPath} ${workflow.relatedFiles.join(" ")} ${workflow.steps.map((step) => `${step.kind} ${step.label} ${step.path} ${step.targetPath ?? ""} ${step.reason}`).join(" ")}`.toLowerCase();
|
|
201
|
+
return flowTerms.some((term) => haystack.includes(term));
|
|
202
|
+
});
|
|
203
|
+
return narrowed.length > 0 ? narrowed : workflows;
|
|
204
|
+
}
|
|
205
|
+
export function workflowMatchesTarget(workflow, target) {
|
|
206
|
+
if (target.symbol?.id) {
|
|
207
|
+
return (workflow.entrySymbolId === target.symbol.id ||
|
|
208
|
+
workflow.steps.some((step) => step.symbolId === target.symbol?.id || step.targetSymbolId === target.symbol?.id) ||
|
|
209
|
+
(isAdapterPath(target.symbol.path) && workflow.steps.some((step) => step.targetPath === target.symbol?.path || step.path === target.symbol?.path)));
|
|
210
|
+
}
|
|
211
|
+
return workflow.relatedFiles.some((file) => target.paths.has(file));
|
|
212
|
+
}
|
|
213
|
+
export function formatWorkflow(workflow) {
|
|
214
|
+
return [
|
|
215
|
+
`- ${workflow.title}: ${workflow.workflowKind}, rank ${workflow.rank.toFixed(2)}, ${workflow.confidence}`,
|
|
216
|
+
` summary: ${workflow.summary}`,
|
|
217
|
+
...workflow.steps.slice(0, 12).map((step, index) => ` ${index + 1}. ${step.kind} ${step.label} at ${step.path}${step.line ? `:${step.line}` : ""}; ${step.confidence}; ${step.reason}`),
|
|
218
|
+
workflow.steps.length > 12 ? ` ... ${workflow.steps.length - 12} more steps` : undefined,
|
|
219
|
+
workflow.tests.length > 0 ? ` tests: ${workflow.tests.slice(0, 6).join(", ")}` : " tests: none proven"
|
|
220
|
+
].filter((line) => line !== undefined);
|
|
221
|
+
}
|
|
222
|
+
function workflowUiCoreScore(pathValue, targetPath, queryText) {
|
|
223
|
+
const joined = `${pathValue} ${targetPath ?? ""}`;
|
|
224
|
+
if (/use-run-polling|useRunPolling/i.test(joined)) {
|
|
225
|
+
return 34;
|
|
226
|
+
}
|
|
227
|
+
if (/queue-dashboard|useQueueDashboard/i.test(joined)) {
|
|
228
|
+
return 32;
|
|
229
|
+
}
|
|
230
|
+
if (/\/polling\.[cm]?[jt]sx?$/i.test(joined)) {
|
|
231
|
+
return 20;
|
|
232
|
+
}
|
|
233
|
+
if (/\/run-view\.[cm]?[jt]sx?$/i.test(joined)) {
|
|
234
|
+
return 14;
|
|
235
|
+
}
|
|
236
|
+
return matchScore(queryText, joined) > 0 ? 10 : 0;
|
|
237
|
+
}
|
|
238
|
+
function isAdapterPath(filePath) {
|
|
239
|
+
return /(^|\/)adapters?\//i.test(filePath) || /adapter/i.test(path.posix.basename(filePath));
|
|
240
|
+
}
|
|
241
|
+
function uniqueWorkflowFiles(files) {
|
|
242
|
+
const seen = new Set();
|
|
243
|
+
const result = [];
|
|
244
|
+
for (const file of files) {
|
|
245
|
+
if (!seen.has(file)) {
|
|
246
|
+
seen.add(file);
|
|
247
|
+
result.push(file);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return result;
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/query/workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
type WorkspaceGuidanceSource = "WORKING.md" | "MEMORY.md";
|
|
2
|
+
export interface WorkspaceGuidanceLine {
|
|
3
|
+
source: WorkspaceGuidanceSource;
|
|
4
|
+
line: number;
|
|
5
|
+
text: string;
|
|
6
|
+
score: number;
|
|
7
|
+
reasons: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface WorkspaceGuidancePreview {
|
|
10
|
+
workspaceRoot: string;
|
|
11
|
+
files: string[];
|
|
12
|
+
lines: WorkspaceGuidanceLine[];
|
|
13
|
+
warnings: string[];
|
|
14
|
+
}
|
|
15
|
+
export declare function workspaceGuidancePreview(input: {
|
|
16
|
+
repoRoot: string;
|
|
17
|
+
task?: string;
|
|
18
|
+
query?: string;
|
|
19
|
+
files?: string[];
|
|
20
|
+
symbols?: string[];
|
|
21
|
+
limit: number;
|
|
22
|
+
}): Promise<{
|
|
23
|
+
lines: string[];
|
|
24
|
+
data?: WorkspaceGuidancePreview;
|
|
25
|
+
}>;
|
|
26
|
+
export {};
|