@interf/compiler 0.4.1 → 0.5.1
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 +70 -66
- package/builtin-workflows/interf/README.md +6 -6
- package/builtin-workflows/interf/compile/stages/shape/SKILL.md +7 -7
- package/builtin-workflows/interf/compile/stages/structure/SKILL.md +2 -2
- package/builtin-workflows/interf/compile/stages/summarize/SKILL.md +1 -1
- package/builtin-workflows/interf/{workspace.schema.json → compiled.schema.json} +5 -5
- package/builtin-workflows/interf/improve/SKILL.md +3 -3
- package/builtin-workflows/interf/use/query/SKILL.md +2 -2
- package/builtin-workflows/interf/workflow.json +42 -31
- package/dist/commands/check-draft.d.ts +19 -0
- package/dist/commands/check-draft.js +110 -0
- package/dist/commands/compile-controller.d.ts +4 -4
- package/dist/commands/compile-controller.js +117 -81
- package/dist/commands/compile.d.ts +5 -5
- package/dist/commands/compile.js +61 -62
- package/dist/commands/compiled-flow.d.ts +23 -0
- package/dist/commands/compiled-flow.js +112 -0
- package/dist/commands/create-workflow-wizard.d.ts +3 -3
- package/dist/commands/create-workflow-wizard.js +11 -11
- package/dist/commands/create.d.ts +2 -2
- package/dist/commands/create.js +50 -57
- package/dist/commands/default.js +2 -2
- package/dist/commands/executor-flow.d.ts +20 -1
- package/dist/commands/executor-flow.js +67 -7
- package/dist/commands/init.js +242 -289
- package/dist/commands/list.js +14 -10
- package/dist/commands/reset.js +6 -6
- package/dist/commands/source-config-wizard.d.ts +12 -8
- package/dist/commands/source-config-wizard.js +356 -119
- package/dist/commands/status.js +49 -26
- package/dist/commands/test-flow.d.ts +23 -10
- package/dist/commands/test-flow.js +274 -65
- package/dist/commands/test.d.ts +7 -1
- package/dist/commands/test.js +264 -65
- package/dist/commands/verify.js +23 -14
- package/dist/index.d.ts +7 -7
- package/dist/index.js +4 -4
- package/dist/lib/agent-args.js +2 -1
- package/dist/lib/agent-constants.js +1 -1
- package/dist/lib/agent-render.js +4 -4
- package/dist/lib/agent-shells.d.ts +8 -8
- package/dist/lib/agent-shells.js +231 -142
- package/dist/lib/{workflow-abi.d.ts → builtin-compiled-workflow.d.ts} +37 -46
- package/dist/lib/builtin-compiled-workflow.js +153 -0
- package/dist/lib/compiled-compile.d.ts +52 -0
- package/dist/lib/compiled-compile.js +274 -0
- package/dist/lib/compiled-home.d.ts +5 -0
- package/dist/lib/compiled-home.js +32 -0
- package/dist/lib/compiled-paths.d.ts +39 -0
- package/dist/lib/compiled-paths.js +103 -0
- package/dist/lib/{workspace-raw.d.ts → compiled-raw.d.ts} +9 -8
- package/dist/lib/{workspace-raw.js → compiled-raw.js} +16 -14
- package/dist/lib/compiled-reset.d.ts +1 -0
- package/dist/lib/compiled-reset.js +44 -0
- package/dist/lib/compiled-schema.d.ts +27 -0
- package/dist/lib/compiled-schema.js +110 -0
- package/dist/lib/config.d.ts +0 -1
- package/dist/lib/config.js +0 -1
- package/dist/lib/discovery.d.ts +1 -1
- package/dist/lib/discovery.js +3 -3
- package/dist/lib/interf-bootstrap.d.ts +1 -1
- package/dist/lib/interf-bootstrap.js +4 -4
- package/dist/lib/interf-detect.d.ts +9 -10
- package/dist/lib/interf-detect.js +70 -59
- package/dist/lib/interf-scaffold.d.ts +2 -2
- package/dist/lib/interf-scaffold.js +90 -57
- package/dist/lib/interf-workflow-package.d.ts +3 -3
- package/dist/lib/interf-workflow-package.js +30 -30
- package/dist/lib/interf.d.ts +5 -5
- package/dist/lib/interf.js +4 -4
- package/dist/lib/local-workflows.d.ts +4 -4
- package/dist/lib/local-workflows.js +35 -70
- package/dist/lib/obsidian.d.ts +1 -1
- package/dist/lib/parse.js +92 -1
- package/dist/lib/project-paths.d.ts +11 -0
- package/dist/lib/project-paths.js +32 -0
- package/dist/lib/runtime-acceptance.d.ts +7 -1
- package/dist/lib/runtime-acceptance.js +194 -59
- package/dist/lib/runtime-contracts.d.ts +2 -4
- package/dist/lib/runtime-contracts.js +17 -161
- package/dist/lib/runtime-inventory.d.ts +7 -0
- package/dist/lib/runtime-inventory.js +29 -0
- package/dist/lib/runtime-paths.js +5 -5
- package/dist/lib/runtime-prompt.js +7 -6
- package/dist/lib/runtime-reconcile.d.ts +2 -3
- package/dist/lib/runtime-reconcile.js +94 -184
- package/dist/lib/runtime-runs.js +25 -119
- package/dist/lib/runtime-types.d.ts +10 -19
- package/dist/lib/runtime.d.ts +2 -2
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/schema.d.ts +169 -153
- package/dist/lib/schema.js +116 -164
- package/dist/lib/source-config.d.ts +24 -20
- package/dist/lib/source-config.js +159 -122
- package/dist/lib/state-artifacts.d.ts +5 -5
- package/dist/lib/state-artifacts.js +8 -8
- package/dist/lib/state-health.d.ts +4 -4
- package/dist/lib/state-health.js +110 -126
- package/dist/lib/state-io.d.ts +8 -8
- package/dist/lib/state-io.js +21 -102
- package/dist/lib/state-paths.js +5 -5
- package/dist/lib/state-view.d.ts +4 -4
- package/dist/lib/state-view.js +52 -55
- package/dist/lib/state.d.ts +5 -5
- package/dist/lib/state.js +4 -4
- package/dist/lib/summarize-plan.d.ts +3 -2
- package/dist/lib/summarize-plan.js +19 -21
- package/dist/lib/test-execution.js +9 -9
- package/dist/lib/test-matrices.d.ts +3 -3
- package/dist/lib/test-matrices.js +6 -6
- package/dist/lib/test-paths.d.ts +4 -4
- package/dist/lib/test-paths.js +26 -11
- package/dist/lib/test-sandbox.d.ts +1 -1
- package/dist/lib/test-sandbox.js +32 -38
- package/dist/lib/test-specs.js +1 -1
- package/dist/lib/test-targets.d.ts +2 -2
- package/dist/lib/test-targets.js +11 -11
- package/dist/lib/test-types.d.ts +1 -1
- package/dist/lib/test.d.ts +1 -1
- package/dist/lib/test.js +1 -1
- package/dist/lib/util.d.ts +2 -0
- package/dist/lib/util.js +14 -1
- package/dist/lib/validate-compiled.d.ts +27 -0
- package/dist/lib/validate-compiled.js +238 -0
- package/dist/lib/validate-helpers.d.ts +0 -8
- package/dist/lib/validate-helpers.js +0 -30
- package/dist/lib/validate.d.ts +6 -4
- package/dist/lib/validate.js +76 -27
- package/dist/lib/workflow-definitions.d.ts +12 -11
- package/dist/lib/workflow-definitions.js +45 -55
- package/dist/lib/workflow-helpers.d.ts +2 -3
- package/dist/lib/workflow-helpers.js +9 -13
- package/dist/lib/workflow-improvement.d.ts +3 -3
- package/dist/lib/workflow-improvement.js +48 -48
- package/dist/lib/workflow-primitives.d.ts +2 -0
- package/dist/lib/workflow-primitives.js +5 -0
- package/dist/lib/workflow-review-paths.d.ts +3 -3
- package/dist/lib/workflow-review-paths.js +11 -11
- package/dist/lib/workflow-stage-runner.d.ts +1 -1
- package/dist/lib/workflow-stage-runner.js +8 -8
- package/dist/lib/workflows.d.ts +9 -9
- package/dist/lib/workflows.js +15 -17
- package/package.json +13 -12
- package/dist/commands/workspace-flow.d.ts +0 -23
- package/dist/commands/workspace-flow.js +0 -109
- package/dist/lib/registry.d.ts +0 -16
- package/dist/lib/registry.js +0 -65
- package/dist/lib/validate-workspace.d.ts +0 -121
- package/dist/lib/validate-workspace.js +0 -407
- package/dist/lib/workflow-abi.js +0 -181
- package/dist/lib/workspace-compile.d.ts +0 -54
- package/dist/lib/workspace-compile.js +0 -476
- package/dist/lib/workspace-home.d.ts +0 -5
- package/dist/lib/workspace-home.js +0 -32
- package/dist/lib/workspace-layout.d.ts +0 -2
- package/dist/lib/workspace-layout.js +0 -60
- package/dist/lib/workspace-paths.d.ts +0 -41
- package/dist/lib/workspace-paths.js +0 -107
- package/dist/lib/workspace-reset.d.ts +0 -1
- package/dist/lib/workspace-reset.js +0 -43
- package/dist/lib/workspace-schema.d.ts +0 -17
- package/dist/lib/workspace-schema.js +0 -74
|
@@ -1,476 +0,0 @@
|
|
|
1
|
-
import { mkdirSync, writeFileSync } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import { countFilesRecursive } from "./filesystem.js";
|
|
4
|
-
import { createStageExecutionShell, freezeStageExecutionShell, pruneStageExecutionShells, syncStageExecutionShellWrites, } from "./agent-shells.js";
|
|
5
|
-
import { readInterfConfig, refreshWorkspaceBootstrapGuidance, resolveSourceFolderPath, resolveSourceControlPath, } from "./interf.js";
|
|
6
|
-
import { buildSummarizePlan, writeSummarizePlan } from "./summarize-plan.js";
|
|
7
|
-
import { reconcileWorkspaceShapeRun, reconcileWorkspaceStructureRun, reconcileWorkspaceSummarizeRun, } from "./runtime-reconcile.js";
|
|
8
|
-
import { loadState, refreshWorkspaceArtifacts, } from "./state.js";
|
|
9
|
-
import { buildWorkspaceShapeContract, buildWorkspaceStructureContract, buildWorkspaceSummarizeContract, validateStageContractAcceptance, } from "./runtime.js";
|
|
10
|
-
import { readJsonFileUnchecked } from "./parse.js";
|
|
11
|
-
import { validateWorkflowPackage } from "./local-workflows.js";
|
|
12
|
-
import { formatActiveWorkspaceWorkflowStageStep, getActiveWorkspaceStagePolicyNotes, getActiveWorkspaceWorkflow, resolveWorkspaceWorkflowFromConfig, resolveActiveWorkspaceStageAcceptance, } from "./workflow-definitions.js";
|
|
13
|
-
import { validateWorkspaceCompile, validateWorkspaceStructure, validateWorkspaceSummarize, } from "./validate.js";
|
|
14
|
-
import { buildLocalSkillContractExtension, buildStageInstructions, bundledSkillForContractType, reportBlankLine, reportLine, reportValidationFailure, workflowCompileStageDirectory, } from "./workflow-helpers.js";
|
|
15
|
-
import { executeValidatedStage, executeValidatedSummarizeStage, findStageByContractType, } from "./workflow-stage-runner.js";
|
|
16
|
-
import { syncWorkspaceRawSnapshot } from "./workspace-raw.js";
|
|
17
|
-
import { workspaceRuntimeRoot } from "./workspace-paths.js";
|
|
18
|
-
const SHAPE_INPUT_RELATIVE_PATH = ".interf/runtime/shape-input.json";
|
|
19
|
-
export function resolveWorkspaceContext(workspacePath) {
|
|
20
|
-
const config = readInterfConfig(workspacePath);
|
|
21
|
-
const workflowId = resolveWorkspaceWorkflowFromConfig(config);
|
|
22
|
-
return {
|
|
23
|
-
workspaceName: config?.name ?? "workspace",
|
|
24
|
-
sourcePath: resolveSourceFolderPath(workspacePath, config),
|
|
25
|
-
controlPath: resolveSourceControlPath(workspacePath),
|
|
26
|
-
workflowId,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
export function workspaceExecutionStages(workflowId, workspacePath) {
|
|
30
|
-
return getActiveWorkspaceWorkflow(workspacePath, workflowId)
|
|
31
|
-
.stages;
|
|
32
|
-
}
|
|
33
|
-
function readWorkspaceInventoryTotal(workspacePath) {
|
|
34
|
-
const inventory = readJsonFileUnchecked(join(workspaceRuntimeRoot(workspacePath), "inventory.json"), "workspace inventory");
|
|
35
|
-
if (!inventory)
|
|
36
|
-
return 0;
|
|
37
|
-
if (typeof inventory.total === "number")
|
|
38
|
-
return inventory.total;
|
|
39
|
-
if (typeof inventory.summary_total === "number")
|
|
40
|
-
return inventory.summary_total;
|
|
41
|
-
if (Array.isArray(inventory.entries))
|
|
42
|
-
return inventory.entries.length;
|
|
43
|
-
if (Array.isArray(inventory.summaries))
|
|
44
|
-
return inventory.summaries.length;
|
|
45
|
-
if (Array.isArray(inventory.files))
|
|
46
|
-
return inventory.files.length;
|
|
47
|
-
if (Array.isArray(inventory.items))
|
|
48
|
-
return inventory.items.length;
|
|
49
|
-
return 0;
|
|
50
|
-
}
|
|
51
|
-
function isWorkspaceSummarizeStageComplete(workspacePath, expectedSummaryTotal) {
|
|
52
|
-
const validation = validateWorkspaceSummarize(workspacePath);
|
|
53
|
-
const acceptance = validateStageContractAcceptance(workspacePath);
|
|
54
|
-
const state = loadState(workspacePath);
|
|
55
|
-
const inventoryTotal = readWorkspaceInventoryTotal(workspacePath);
|
|
56
|
-
return Boolean(validation.ok &&
|
|
57
|
-
acceptance.ok &&
|
|
58
|
-
state?.inventory_complete === true &&
|
|
59
|
-
typeof state.last_summarize === "string" &&
|
|
60
|
-
state.last_summarize.length > 0 &&
|
|
61
|
-
(state.summarized ?? 0) >= expectedSummaryTotal &&
|
|
62
|
-
inventoryTotal >= expectedSummaryTotal);
|
|
63
|
-
}
|
|
64
|
-
function isWorkspaceStructureStageComplete(workspacePath, summaryCount) {
|
|
65
|
-
const validation = validateWorkspaceStructure(workspacePath);
|
|
66
|
-
const acceptance = validateStageContractAcceptance(workspacePath);
|
|
67
|
-
const state = loadState(workspacePath);
|
|
68
|
-
return Boolean(validation.ok &&
|
|
69
|
-
acceptance.ok &&
|
|
70
|
-
state?.inventory_complete === true &&
|
|
71
|
-
typeof state.last_structure === "string" &&
|
|
72
|
-
state.last_structure.length > 0 &&
|
|
73
|
-
(state.structured ?? 0) >= summaryCount);
|
|
74
|
-
}
|
|
75
|
-
function isWorkspaceShapeStageComplete(workspacePath, summaryCount) {
|
|
76
|
-
const validation = validateWorkspaceCompile(workspacePath);
|
|
77
|
-
const acceptance = validateStageContractAcceptance(workspacePath);
|
|
78
|
-
const state = loadState(workspacePath);
|
|
79
|
-
return Boolean(validation.ok &&
|
|
80
|
-
acceptance.ok &&
|
|
81
|
-
state?.inventory_complete === true &&
|
|
82
|
-
typeof state.last_shape === "string" &&
|
|
83
|
-
state.last_shape.length > 0 &&
|
|
84
|
-
(state.shaped ?? state.compiled ?? 0) >= summaryCount &&
|
|
85
|
-
(state.compiled ?? 0) >= summaryCount);
|
|
86
|
-
}
|
|
87
|
-
function writeWorkspaceShapeInput(workspacePath, workspaceName) {
|
|
88
|
-
const workspaceConfig = readInterfConfig(workspacePath);
|
|
89
|
-
const questions = (workspaceConfig?.checks ?? []).map((check, index) => ({
|
|
90
|
-
id: check.id ?? `check-${index + 1}`,
|
|
91
|
-
question: check.question,
|
|
92
|
-
}));
|
|
93
|
-
mkdirSync(workspaceRuntimeRoot(workspacePath), { recursive: true });
|
|
94
|
-
writeFileSync(join(workspacePath, SHAPE_INPUT_RELATIVE_PATH), JSON.stringify({
|
|
95
|
-
kind: "workspace-shape-input",
|
|
96
|
-
version: 1,
|
|
97
|
-
generated_at: new Date().toISOString(),
|
|
98
|
-
target_name: workspaceName,
|
|
99
|
-
about: workspaceConfig?.about ?? null,
|
|
100
|
-
question_count: questions.length,
|
|
101
|
-
questions,
|
|
102
|
-
}, null, 2) + "\n");
|
|
103
|
-
return SHAPE_INPUT_RELATIVE_PATH;
|
|
104
|
-
}
|
|
105
|
-
export function buildWorkspaceCompileContract(workspacePath, workflowId, summaryCount, instructions, stageId = "shape", stageSkillDir = "shape", shapeInputPath = SHAPE_INPUT_RELATIVE_PATH) {
|
|
106
|
-
const config = readInterfConfig(workspacePath);
|
|
107
|
-
const acceptance = resolveActiveWorkspaceStageAcceptance(workspacePath, workflowId, stageId);
|
|
108
|
-
const localSkills = buildLocalSkillContractExtension(workspacePath, [workflowCompileStageDirectory(stageSkillDir)], "Use them to refine workspace shaping, navigation, and retrieval routes.");
|
|
109
|
-
return buildWorkspaceShapeContract({
|
|
110
|
-
workspaceName: config?.name ?? "workspace",
|
|
111
|
-
summaryCount,
|
|
112
|
-
shapeInputPath,
|
|
113
|
-
workflowNotes: getActiveWorkspaceStagePolicyNotes(workspacePath, workflowId, stageId),
|
|
114
|
-
localSkillDocs: localSkills.reads,
|
|
115
|
-
instructions,
|
|
116
|
-
acceptance,
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
function buildWorkspaceStructureStageContract(workspacePath, workflowId, summaryCount, instructions, stageId = "structure", stageSkillDir = "structure") {
|
|
120
|
-
const config = readInterfConfig(workspacePath);
|
|
121
|
-
const acceptance = resolveActiveWorkspaceStageAcceptance(workspacePath, workflowId, stageId);
|
|
122
|
-
const localSkills = buildLocalSkillContractExtension(workspacePath, [workflowCompileStageDirectory(stageSkillDir)], "Use them to refine workspace structure, taxonomy, ontology, entity extraction, and claim extraction.");
|
|
123
|
-
return buildWorkspaceStructureContract({
|
|
124
|
-
workspaceName: config?.name ?? "workspace",
|
|
125
|
-
summaryCount,
|
|
126
|
-
workflowNotes: getActiveWorkspaceStagePolicyNotes(workspacePath, workflowId, stageId),
|
|
127
|
-
localSkillDocs: localSkills.reads,
|
|
128
|
-
instructions,
|
|
129
|
-
acceptance,
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
export async function runWorkspaceSummarize(options) {
|
|
133
|
-
const context = resolveWorkspaceContext(options.workspacePath);
|
|
134
|
-
const sourcePath = options.sourcePath ?? context.sourcePath;
|
|
135
|
-
const workflowId = context.workflowId;
|
|
136
|
-
const stageDefinition = options.stageDefinition ?? findStageByContractType(workspaceExecutionStages(workflowId, options.workspacePath), "workspace-file-evidence");
|
|
137
|
-
const stageStatusLabel = stageDefinition.label.toLowerCase();
|
|
138
|
-
const plan = buildSummarizePlan(sourcePath, options.workspacePath, options.fullPass ? "all" : "pending");
|
|
139
|
-
const expectedSummaryTotal = plan.summaryCount + plan.targetCount;
|
|
140
|
-
const planPath = writeSummarizePlan(options.workspacePath, plan);
|
|
141
|
-
const localSkills = buildLocalSkillContractExtension(options.workspacePath, [workflowCompileStageDirectory(stageDefinition.skillDir)], "Use them to refine summary structure, evidence grouping, and summarization heuristics.");
|
|
142
|
-
const instructions = buildStageInstructions(bundledSkillForContractType(stageDefinition.contractType), localSkills);
|
|
143
|
-
if (options.reportSummary !== false) {
|
|
144
|
-
reportLine(options.reporter, `${plan.sourceCount} source files, ${plan.summaryCount} summarized, ${plan.targetCount} to summarize`);
|
|
145
|
-
}
|
|
146
|
-
if (plan.targetCount === 0) {
|
|
147
|
-
refreshWorkspaceArtifacts(options.workspacePath, { ensureViewSpec: true });
|
|
148
|
-
const validation = validateWorkspaceSummarize(options.workspacePath);
|
|
149
|
-
if (options.reportStep !== false) {
|
|
150
|
-
reportLine(options.reporter, `${formatActiveWorkspaceWorkflowStageStep(options.workspacePath, workflowId, stageDefinition.id)} skipped (no work required)`);
|
|
151
|
-
}
|
|
152
|
-
if (!validation.ok) {
|
|
153
|
-
reportValidationFailure(options.reporter, validation.summary);
|
|
154
|
-
}
|
|
155
|
-
return {
|
|
156
|
-
ok: validation.ok,
|
|
157
|
-
code: validation.ok ? 0 : 1,
|
|
158
|
-
skipped: true,
|
|
159
|
-
plan,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
if (options.reportStep !== false) {
|
|
163
|
-
reportLine(options.reporter, `${formatActiveWorkspaceWorkflowStageStep(options.workspacePath, workflowId, stageDefinition.id)} (${plan.targetCount} files)`);
|
|
164
|
-
}
|
|
165
|
-
const shell = createStageExecutionShell(options.workspacePath, context.workspaceName, workflowId, stageDefinition);
|
|
166
|
-
let stageResult;
|
|
167
|
-
try {
|
|
168
|
-
stageResult = await executeValidatedSummarizeStage({
|
|
169
|
-
executor: options.executor,
|
|
170
|
-
workspacePath: options.workspacePath,
|
|
171
|
-
executionPath: shell.rootPath,
|
|
172
|
-
targetName: context.workspaceName,
|
|
173
|
-
workflow: workflowId,
|
|
174
|
-
workflowSourcePath: options.workspacePath,
|
|
175
|
-
stageDefinition,
|
|
176
|
-
instructions,
|
|
177
|
-
summary: `Preparing ${stageDefinition.label.toLowerCase()} for ${plan.targetCount} source files.`,
|
|
178
|
-
contract: buildWorkspaceSummarizeContract({
|
|
179
|
-
workspaceName: context.workspaceName,
|
|
180
|
-
targetCount: plan.targetCount,
|
|
181
|
-
expectedSummaryTotal,
|
|
182
|
-
sourcePath,
|
|
183
|
-
planPath,
|
|
184
|
-
workflowNotes: getActiveWorkspaceStagePolicyNotes(options.workspacePath, workflowId, stageDefinition.id),
|
|
185
|
-
localSkillDocs: localSkills.reads,
|
|
186
|
-
instructions,
|
|
187
|
-
acceptance: resolveActiveWorkspaceStageAcceptance(options.workspacePath, workflowId, stageDefinition.id),
|
|
188
|
-
}),
|
|
189
|
-
statusLines: [
|
|
190
|
-
`Emit exactly one startup line: STATUS: loaded ${stageStatusLabel} plan ${plan.targetCount} files.`,
|
|
191
|
-
"The CLI owns live file-count progress. Do not emit per-file progress.",
|
|
192
|
-
"If `.interf/runtime/inventory.json` already exists, overwrite it completely instead of patching prior contents.",
|
|
193
|
-
"Emit STATUS: batch committed after a completed batch has been merged into summaries/ and inventory.",
|
|
194
|
-
`Emit DONE: ${stageStatusLabel} complete ${plan.targetCount}/${plan.targetCount} when finished.`,
|
|
195
|
-
],
|
|
196
|
-
reporter: options.reporter,
|
|
197
|
-
completionCheck: () => isWorkspaceSummarizeStageComplete(options.workspacePath, expectedSummaryTotal),
|
|
198
|
-
syncWrites: () => syncStageExecutionShellWrites(options.workspacePath, shell.rootPath, stageDefinition),
|
|
199
|
-
reconcile: () => reconcileWorkspaceSummarizeRun(options.workspacePath, expectedSummaryTotal),
|
|
200
|
-
refreshArtifacts: () => refreshWorkspaceArtifacts(options.workspacePath, { ensureViewSpec: true }),
|
|
201
|
-
validate: () => validateWorkspaceSummarize(options.workspacePath),
|
|
202
|
-
startingSummaryCount: plan.summaryCount,
|
|
203
|
-
targetCount: plan.targetCount,
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
finally {
|
|
207
|
-
freezeStageExecutionShell(shell.rootPath);
|
|
208
|
-
}
|
|
209
|
-
if (!stageResult.ok) {
|
|
210
|
-
return {
|
|
211
|
-
ok: false,
|
|
212
|
-
code: stageResult.code,
|
|
213
|
-
skipped: false,
|
|
214
|
-
plan,
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
return {
|
|
218
|
-
ok: true,
|
|
219
|
-
code: 0,
|
|
220
|
-
skipped: false,
|
|
221
|
-
plan,
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
async function runWorkspaceStructure(options) {
|
|
225
|
-
const workspaceConfig = readInterfConfig(options.workspacePath);
|
|
226
|
-
const workspaceName = workspaceConfig?.name ?? "workspace";
|
|
227
|
-
const workflowId = resolveWorkspaceWorkflowFromConfig(workspaceConfig);
|
|
228
|
-
const sourcePath = options.sourcePath ?? resolveSourceFolderPath(options.workspacePath, workspaceConfig);
|
|
229
|
-
const stageDefinition = options.stageDefinition ?? findStageByContractType(workspaceExecutionStages(workflowId, options.workspacePath), "workspace-knowledge-structure");
|
|
230
|
-
const stageStatusLabel = stageDefinition.label.toLowerCase();
|
|
231
|
-
const summaryCount = countFilesRecursive(join(options.workspacePath, "summaries"));
|
|
232
|
-
const localSkills = buildLocalSkillContractExtension(options.workspacePath, [workflowCompileStageDirectory(stageDefinition.skillDir)], "Use them to refine workspace structure, taxonomy, ontology, entity extraction, and claim extraction.");
|
|
233
|
-
const instructions = buildStageInstructions(bundledSkillForContractType(stageDefinition.contractType), localSkills);
|
|
234
|
-
if (options.reportStep !== false) {
|
|
235
|
-
reportBlankLine(options.reporter);
|
|
236
|
-
reportLine(options.reporter, `${formatActiveWorkspaceWorkflowStageStep(options.workspacePath, workflowId, stageDefinition.id)} (building knowledge structure)`);
|
|
237
|
-
}
|
|
238
|
-
const shell = createStageExecutionShell(options.workspacePath, workspaceName, workflowId, stageDefinition);
|
|
239
|
-
try {
|
|
240
|
-
return await executeValidatedStage({
|
|
241
|
-
executor: options.executor,
|
|
242
|
-
workspacePath: options.workspacePath,
|
|
243
|
-
executionPath: shell.rootPath,
|
|
244
|
-
targetName: workspaceName,
|
|
245
|
-
workflow: workflowId,
|
|
246
|
-
workflowSourcePath: options.workspacePath,
|
|
247
|
-
stageDefinition,
|
|
248
|
-
instructions,
|
|
249
|
-
summary: `Preparing ${stageDefinition.label.toLowerCase()} for ${summaryCount} summary files.`,
|
|
250
|
-
contract: buildWorkspaceStructureStageContract(options.workspacePath, workflowId, summaryCount, instructions, stageDefinition.id, stageDefinition.skillDir),
|
|
251
|
-
statusLines: [
|
|
252
|
-
`Emit exactly one startup line: STATUS: loaded ${stageStatusLabel} plan ${summaryCount} summary files.`,
|
|
253
|
-
`Emit STATUS: inventoried summaries ${summaryCount}/${summaryCount} after the inventory pass completes.`,
|
|
254
|
-
`Emit STATUS: structured knowledge layer after entities, claims, and indexes are updated.`,
|
|
255
|
-
`Emit DONE: ${stageStatusLabel} complete ${summaryCount}/${summaryCount} when the required outputs are on disk.`,
|
|
256
|
-
],
|
|
257
|
-
reporter: options.reporter,
|
|
258
|
-
completionCheck: () => isWorkspaceStructureStageComplete(options.workspacePath, summaryCount),
|
|
259
|
-
syncWrites: () => syncStageExecutionShellWrites(options.workspacePath, shell.rootPath, stageDefinition),
|
|
260
|
-
reconcile: () => reconcileWorkspaceStructureRun(options.workspacePath),
|
|
261
|
-
refreshArtifacts: () => refreshWorkspaceArtifacts(options.workspacePath, { ensureViewSpec: true }),
|
|
262
|
-
validate: () => validateWorkspaceStructure(options.workspacePath),
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
|
-
finally {
|
|
266
|
-
freezeStageExecutionShell(shell.rootPath);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
async function runWorkspaceShape(options) {
|
|
270
|
-
const workspaceConfig = readInterfConfig(options.workspacePath);
|
|
271
|
-
const workspaceName = workspaceConfig?.name ?? "workspace";
|
|
272
|
-
const workflowId = resolveWorkspaceWorkflowFromConfig(workspaceConfig);
|
|
273
|
-
const sourcePath = options.sourcePath ?? resolveSourceFolderPath(options.workspacePath, workspaceConfig);
|
|
274
|
-
const stageDefinition = options.stageDefinition ?? findStageByContractType(workspaceExecutionStages(workflowId, options.workspacePath), "workspace-query-shape");
|
|
275
|
-
const stageStatusLabel = stageDefinition.label.toLowerCase();
|
|
276
|
-
const summaryCount = countFilesRecursive(join(options.workspacePath, "summaries"));
|
|
277
|
-
const localSkills = buildLocalSkillContractExtension(options.workspacePath, [workflowCompileStageDirectory(stageDefinition.skillDir)], "Use them to refine final workspace shaping, navigation, and retrieval routes.");
|
|
278
|
-
const instructions = buildStageInstructions(bundledSkillForContractType(stageDefinition.contractType), localSkills);
|
|
279
|
-
const shapeInputPath = writeWorkspaceShapeInput(options.workspacePath, workspaceName);
|
|
280
|
-
if (options.reportStep !== false) {
|
|
281
|
-
reportBlankLine(options.reporter);
|
|
282
|
-
reportLine(options.reporter, `${formatActiveWorkspaceWorkflowStageStep(options.workspacePath, workflowId, stageDefinition.id)} (shaping workspace surface)`);
|
|
283
|
-
}
|
|
284
|
-
const shell = createStageExecutionShell(options.workspacePath, workspaceName, workflowId, stageDefinition);
|
|
285
|
-
try {
|
|
286
|
-
return await executeValidatedStage({
|
|
287
|
-
executor: options.executor,
|
|
288
|
-
workspacePath: options.workspacePath,
|
|
289
|
-
executionPath: shell.rootPath,
|
|
290
|
-
targetName: workspaceName,
|
|
291
|
-
workflow: workflowId,
|
|
292
|
-
workflowSourcePath: options.workspacePath,
|
|
293
|
-
stageDefinition,
|
|
294
|
-
instructions,
|
|
295
|
-
summary: `Preparing ${stageDefinition.label.toLowerCase()} for ${summaryCount} summary files.`,
|
|
296
|
-
contract: buildWorkspaceCompileContract(options.workspacePath, workflowId, summaryCount, instructions, stageDefinition.id, stageDefinition.skillDir, shapeInputPath),
|
|
297
|
-
statusLines: [
|
|
298
|
-
`Emit exactly one startup line: STATUS: loaded ${stageStatusLabel} plan ${summaryCount} summary files.`,
|
|
299
|
-
`Emit STATUS: read shaping input after ${shapeInputPath} has been loaded.`,
|
|
300
|
-
"Emit STATUS: shaped workspace surface after home.md and any focused indexes are updated.",
|
|
301
|
-
`Emit DONE: ${stageStatusLabel} complete ${summaryCount}/${summaryCount} when the required outputs are on disk.`,
|
|
302
|
-
],
|
|
303
|
-
reporter: options.reporter,
|
|
304
|
-
completionCheck: () => isWorkspaceShapeStageComplete(options.workspacePath, summaryCount),
|
|
305
|
-
syncWrites: () => syncStageExecutionShellWrites(options.workspacePath, shell.rootPath, stageDefinition),
|
|
306
|
-
reconcile: () => reconcileWorkspaceShapeRun(options.workspacePath),
|
|
307
|
-
refreshArtifacts: () => refreshWorkspaceArtifacts(options.workspacePath, { ensureViewSpec: true }),
|
|
308
|
-
validate: () => validateWorkspaceCompile(options.workspacePath),
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
finally {
|
|
312
|
-
freezeStageExecutionShell(shell.rootPath);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
async function runWorkspaceCompileStages(options) {
|
|
316
|
-
const workspaceConfig = readInterfConfig(options.workspacePath);
|
|
317
|
-
const workflowId = resolveWorkspaceWorkflowFromConfig(workspaceConfig);
|
|
318
|
-
const sourcePath = options.sourcePath ?? resolveSourceFolderPath(options.workspacePath, workspaceConfig);
|
|
319
|
-
const stages = workspaceExecutionStages(workflowId, options.workspacePath).filter((stage) => stage.contractType !== "workspace-file-evidence");
|
|
320
|
-
let structure = null;
|
|
321
|
-
let shape = null;
|
|
322
|
-
for (const stageDefinition of stages) {
|
|
323
|
-
const result = stageDefinition.contractType === "workspace-knowledge-structure"
|
|
324
|
-
? await runWorkspaceStructure({
|
|
325
|
-
executor: options.executor,
|
|
326
|
-
workspacePath: options.workspacePath,
|
|
327
|
-
sourcePath,
|
|
328
|
-
reporter: options.reporter,
|
|
329
|
-
reportStep: options.reportStep,
|
|
330
|
-
stageDefinition,
|
|
331
|
-
})
|
|
332
|
-
: await runWorkspaceShape({
|
|
333
|
-
executor: options.executor,
|
|
334
|
-
workspacePath: options.workspacePath,
|
|
335
|
-
sourcePath,
|
|
336
|
-
reporter: options.reporter,
|
|
337
|
-
reportStep: options.reportStep,
|
|
338
|
-
stageDefinition,
|
|
339
|
-
});
|
|
340
|
-
if (stageDefinition.contractType === "workspace-knowledge-structure") {
|
|
341
|
-
structure = result;
|
|
342
|
-
}
|
|
343
|
-
else if (stageDefinition.contractType === "workspace-query-shape") {
|
|
344
|
-
shape = result;
|
|
345
|
-
}
|
|
346
|
-
if (!result.ok) {
|
|
347
|
-
return {
|
|
348
|
-
ok: false,
|
|
349
|
-
structure,
|
|
350
|
-
shape,
|
|
351
|
-
failedStage: stageDefinition.id,
|
|
352
|
-
};
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
return {
|
|
356
|
-
ok: true,
|
|
357
|
-
structure,
|
|
358
|
-
shape,
|
|
359
|
-
failedStage: null,
|
|
360
|
-
};
|
|
361
|
-
}
|
|
362
|
-
export async function runWorkspaceCompile(options) {
|
|
363
|
-
const preserveMode = options.preserveStageShells ?? "on-failure";
|
|
364
|
-
if (preserveMode !== "always") {
|
|
365
|
-
pruneStageExecutionShells(options.workspacePath);
|
|
366
|
-
}
|
|
367
|
-
let result = null;
|
|
368
|
-
try {
|
|
369
|
-
const compileStages = await runWorkspaceCompileStages(options);
|
|
370
|
-
if (!compileStages.ok) {
|
|
371
|
-
result = compileStages.shape ?? compileStages.structure ?? { ok: false, code: 1 };
|
|
372
|
-
return result;
|
|
373
|
-
}
|
|
374
|
-
result = compileStages.shape ?? compileStages.structure ?? { ok: true, code: 0 };
|
|
375
|
-
return result;
|
|
376
|
-
}
|
|
377
|
-
finally {
|
|
378
|
-
if (preserveMode !== "always" && result?.ok) {
|
|
379
|
-
pruneStageExecutionShells(options.workspacePath);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
export async function compileWorkspace(options) {
|
|
384
|
-
const preserveMode = options.preserveStageShells ?? "on-failure";
|
|
385
|
-
if (preserveMode !== "always") {
|
|
386
|
-
pruneStageExecutionShells(options.workspacePath);
|
|
387
|
-
}
|
|
388
|
-
let result = null;
|
|
389
|
-
try {
|
|
390
|
-
const controlPath = resolveSourceControlPath(options.workspacePath);
|
|
391
|
-
syncWorkspaceRawSnapshot(options.workspacePath, controlPath);
|
|
392
|
-
refreshWorkspaceBootstrapGuidance(options.workspacePath);
|
|
393
|
-
const workflowValidation = validateWorkflowPackage(join(options.workspacePath, ".interf", "workflow"));
|
|
394
|
-
if (!workflowValidation.ok) {
|
|
395
|
-
const summary = workflowValidation.summary;
|
|
396
|
-
reportValidationFailure(options.reporter, summary, workflowValidation.errors);
|
|
397
|
-
const failedResult = {
|
|
398
|
-
ok: false,
|
|
399
|
-
summarize: {
|
|
400
|
-
ok: false,
|
|
401
|
-
code: 1,
|
|
402
|
-
skipped: true,
|
|
403
|
-
plan: buildSummarizePlan(controlPath, options.workspacePath),
|
|
404
|
-
summary,
|
|
405
|
-
},
|
|
406
|
-
structure: null,
|
|
407
|
-
shape: null,
|
|
408
|
-
compile: {
|
|
409
|
-
ok: false,
|
|
410
|
-
code: 1,
|
|
411
|
-
summary,
|
|
412
|
-
},
|
|
413
|
-
failedStage: "workflow",
|
|
414
|
-
};
|
|
415
|
-
result = failedResult;
|
|
416
|
-
return failedResult;
|
|
417
|
-
}
|
|
418
|
-
const { sourcePath, workflowId } = resolveWorkspaceContext(options.workspacePath);
|
|
419
|
-
const stages = workspaceExecutionStages(workflowId, options.workspacePath);
|
|
420
|
-
let summarize = {
|
|
421
|
-
ok: true,
|
|
422
|
-
code: 0,
|
|
423
|
-
skipped: true,
|
|
424
|
-
plan: buildSummarizePlan(sourcePath, options.workspacePath),
|
|
425
|
-
};
|
|
426
|
-
let evidencePassCount = 0;
|
|
427
|
-
for (const stageDefinition of stages) {
|
|
428
|
-
if (stageDefinition.contractType !== "workspace-file-evidence") {
|
|
429
|
-
break;
|
|
430
|
-
}
|
|
431
|
-
summarize = await runWorkspaceSummarize({
|
|
432
|
-
executor: options.executor,
|
|
433
|
-
workspacePath: options.workspacePath,
|
|
434
|
-
sourcePath,
|
|
435
|
-
reporter: options.reporter,
|
|
436
|
-
reportSummary: evidencePassCount === 0,
|
|
437
|
-
reportStep: true,
|
|
438
|
-
stageDefinition,
|
|
439
|
-
fullPass: evidencePassCount > 0,
|
|
440
|
-
});
|
|
441
|
-
evidencePassCount += 1;
|
|
442
|
-
if (!summarize.ok) {
|
|
443
|
-
result = {
|
|
444
|
-
ok: false,
|
|
445
|
-
summarize,
|
|
446
|
-
structure: null,
|
|
447
|
-
shape: null,
|
|
448
|
-
compile: null,
|
|
449
|
-
failedStage: stageDefinition.id,
|
|
450
|
-
};
|
|
451
|
-
return result;
|
|
452
|
-
}
|
|
453
|
-
}
|
|
454
|
-
const compileStages = await runWorkspaceCompileStages({
|
|
455
|
-
executor: options.executor,
|
|
456
|
-
workspacePath: options.workspacePath,
|
|
457
|
-
sourcePath,
|
|
458
|
-
reporter: options.reporter,
|
|
459
|
-
reportStep: true,
|
|
460
|
-
});
|
|
461
|
-
result = {
|
|
462
|
-
ok: compileStages.ok,
|
|
463
|
-
summarize,
|
|
464
|
-
structure: compileStages.structure,
|
|
465
|
-
shape: compileStages.shape,
|
|
466
|
-
compile: compileStages.shape,
|
|
467
|
-
failedStage: compileStages.failedStage,
|
|
468
|
-
};
|
|
469
|
-
return result;
|
|
470
|
-
}
|
|
471
|
-
finally {
|
|
472
|
-
if (preserveMode !== "always" && result?.ok) {
|
|
473
|
-
pruneStageExecutionShells(options.workspacePath);
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare const UNCOMPILED_WORKSPACE_HOME_NOTICE = "Not yet compiled. Run `interf compile` to build this compiled workspace.";
|
|
2
|
-
export declare function renderUncompiledWorkspaceHome(workspaceName: string, about?: string): string;
|
|
3
|
-
export declare function workspaceHomeHasCompilePlaceholder(content: string): boolean;
|
|
4
|
-
export declare function readWorkspaceHomeContent(dirPath: string): string | null;
|
|
5
|
-
export declare function workspaceHomeIsShaped(dirPath: string): boolean;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
export const UNCOMPILED_WORKSPACE_HOME_NOTICE = "Not yet compiled. Run `interf compile` to build this compiled workspace.";
|
|
4
|
-
export function renderUncompiledWorkspaceHome(workspaceName, about) {
|
|
5
|
-
return [
|
|
6
|
-
`# ${workspaceName} — Home`,
|
|
7
|
-
"",
|
|
8
|
-
UNCOMPILED_WORKSPACE_HOME_NOTICE,
|
|
9
|
-
...(about ? ["", `About: ${about}`] : []),
|
|
10
|
-
"",
|
|
11
|
-
].join("\n");
|
|
12
|
-
}
|
|
13
|
-
export function workspaceHomeHasCompilePlaceholder(content) {
|
|
14
|
-
return content.includes(UNCOMPILED_WORKSPACE_HOME_NOTICE);
|
|
15
|
-
}
|
|
16
|
-
export function readWorkspaceHomeContent(dirPath) {
|
|
17
|
-
const homePath = join(dirPath, "home.md");
|
|
18
|
-
if (!existsSync(homePath))
|
|
19
|
-
return null;
|
|
20
|
-
try {
|
|
21
|
-
return readFileSync(homePath, "utf8");
|
|
22
|
-
}
|
|
23
|
-
catch {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export function workspaceHomeIsShaped(dirPath) {
|
|
28
|
-
const content = readWorkspaceHomeContent(dirPath);
|
|
29
|
-
if (content === null)
|
|
30
|
-
return false;
|
|
31
|
-
return !workspaceHomeHasCompilePlaceholder(content);
|
|
32
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, readdirSync, renameSync, } from "node:fs";
|
|
2
|
-
import { dirname, join } from "node:path";
|
|
3
|
-
import { WORKSPACE_CONFIG_FILE, WORKSPACE_INTERF_DIR, WORKSPACE_RUNTIME_DIR, WORKSPACE_TEST_DIR, WORKSPACE_WORKFLOW_DIR, workflowPackagePathForWorkspace, workspaceInterfConfigPath, workspaceInterfRoot, workspaceRuntimeRoot, } from "./workspace-paths.js";
|
|
4
|
-
const LEGACY_WORKSPACE_CONFIG_FILE = "interf.json";
|
|
5
|
-
const LEGACY_WORKFLOW_DIR = "workflow";
|
|
6
|
-
function movePathIfMissing(sourcePath, targetPath) {
|
|
7
|
-
if (!existsSync(sourcePath)) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
if (existsSync(targetPath)) {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
mkdirSync(dirname(targetPath), { recursive: true });
|
|
14
|
-
renameSync(sourcePath, targetPath);
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
export function normalizeLegacyWorkspaceLayout(workspacePath) {
|
|
18
|
-
const interfRoot = workspaceInterfRoot(workspacePath);
|
|
19
|
-
const runtimeRoot = workspaceRuntimeRoot(workspacePath);
|
|
20
|
-
let changed = false;
|
|
21
|
-
changed = movePathIfMissing(join(workspacePath, LEGACY_WORKSPACE_CONFIG_FILE), workspaceInterfConfigPath(workspacePath)) || changed;
|
|
22
|
-
changed = movePathIfMissing(join(workspacePath, LEGACY_WORKFLOW_DIR), workflowPackagePathForWorkspace(workspacePath)) || changed;
|
|
23
|
-
if (!existsSync(interfRoot)) {
|
|
24
|
-
return changed;
|
|
25
|
-
}
|
|
26
|
-
for (const entry of readdirSync(interfRoot)) {
|
|
27
|
-
if (entry === WORKSPACE_RUNTIME_DIR ||
|
|
28
|
-
entry === WORKSPACE_TEST_DIR ||
|
|
29
|
-
entry === WORKSPACE_WORKFLOW_DIR ||
|
|
30
|
-
entry === WORKSPACE_CONFIG_FILE) {
|
|
31
|
-
continue;
|
|
32
|
-
}
|
|
33
|
-
changed = movePathIfMissing(join(interfRoot, entry), join(runtimeRoot, entry)) || changed;
|
|
34
|
-
}
|
|
35
|
-
return changed;
|
|
36
|
-
}
|
|
37
|
-
export function workspaceNeedsLegacyLayoutNormalization(workspacePath) {
|
|
38
|
-
if (existsSync(join(workspacePath, LEGACY_WORKSPACE_CONFIG_FILE)) &&
|
|
39
|
-
!existsSync(workspaceInterfConfigPath(workspacePath))) {
|
|
40
|
-
return true;
|
|
41
|
-
}
|
|
42
|
-
if (!existsSync(join(workspacePath, WORKSPACE_INTERF_DIR)))
|
|
43
|
-
return false;
|
|
44
|
-
if (existsSync(join(workspacePath, LEGACY_WORKFLOW_DIR)) &&
|
|
45
|
-
!existsSync(workflowPackagePathForWorkspace(workspacePath))) {
|
|
46
|
-
return true;
|
|
47
|
-
}
|
|
48
|
-
for (const entry of readdirSync(join(workspacePath, WORKSPACE_INTERF_DIR))) {
|
|
49
|
-
if (entry === WORKSPACE_RUNTIME_DIR ||
|
|
50
|
-
entry === WORKSPACE_TEST_DIR ||
|
|
51
|
-
entry === WORKSPACE_WORKFLOW_DIR ||
|
|
52
|
-
entry === WORKSPACE_CONFIG_FILE) {
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
if (!existsSync(join(workspaceRuntimeRoot(workspacePath), entry))) {
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export declare const WORKSPACE_INTERF_DIR = ".interf";
|
|
2
|
-
export declare const WORKSPACE_CONFIG_FILE = "interf.json";
|
|
3
|
-
export declare const WORKSPACE_WORKFLOW_DIR = "workflow";
|
|
4
|
-
export declare const WORKSPACE_TEST_DIR = "tests";
|
|
5
|
-
export declare const WORKSPACE_TEST_TARGETS_DIR = "targets";
|
|
6
|
-
export declare const WORKSPACE_RUNTIME_DIR = "runtime";
|
|
7
|
-
export declare const WORKSPACE_RUNTIME_STATE_FILE = "state.json";
|
|
8
|
-
export declare const WORKSPACE_RUNTIME_HEALTH_FILE = "health.json";
|
|
9
|
-
export declare const WORKSPACE_RUNTIME_VIEW_SPEC_FILE = "view-spec.json";
|
|
10
|
-
export declare const WORKSPACE_RUNTIME_RAW_SNAPSHOT_FILE = "raw-snapshot.json";
|
|
11
|
-
export declare const WORKSPACE_RUNTIME_INVENTORY_FILE = "inventory.json";
|
|
12
|
-
export declare const WORKSPACE_RUNTIME_RUN_FILE = "run.json";
|
|
13
|
-
export declare const WORKSPACE_RUNTIME_RUN_HISTORY_FILE = "run-history.jsonl";
|
|
14
|
-
export declare const WORKSPACE_RUNTIME_STAGE_CONTRACT_FILE = "stage-contract.json";
|
|
15
|
-
export declare function workspaceRuntimeRoot(workspacePath: string): string;
|
|
16
|
-
export declare function workspaceRuntimeFilePath(workspacePath: string, fileName: string): string;
|
|
17
|
-
export declare function workspaceInterfRoot(workspacePath: string): string;
|
|
18
|
-
export declare function workspaceInterfConfigPath(workspacePath: string): string;
|
|
19
|
-
export declare function workflowPackagePathForWorkspace(workspacePath: string): string;
|
|
20
|
-
export declare function testRootForWorkspace(workspacePath: string): string;
|
|
21
|
-
export declare function testRunsRootForWorkspace(workspacePath: string): string;
|
|
22
|
-
export declare function testTargetsRootForWorkspace(workspacePath: string): string;
|
|
23
|
-
export declare function latestTestComparisonPathForWorkspace(workspacePath: string): string;
|
|
24
|
-
export declare function stageExecutionShellsRoot(workspacePath: string): string;
|
|
25
|
-
export declare function workflowImprovementLoopsRoot(workspacePath: string): string;
|
|
26
|
-
export declare function workflowImprovementRunRoot(workspacePath: string, runId: string): string;
|
|
27
|
-
export declare function workflowImprovementLoopRoot(workspacePath: string, runId: string, loopIndex: number): string;
|
|
28
|
-
export declare function targetTestRunsRootForWorkspace(workspacePath: string): string;
|
|
29
|
-
export declare function targetTestSandboxesRootForWorkspace(workspacePath: string): string;
|
|
30
|
-
export declare function workspaceRuntimeLogsRoot(workspacePath: string): string;
|
|
31
|
-
export declare function workspaceQueryAcceptanceRoot(workspacePath: string): string;
|
|
32
|
-
export declare function workspaceRuntimeStatePath(workspacePath: string): string;
|
|
33
|
-
export declare function workspaceRuntimeHealthPath(workspacePath: string): string;
|
|
34
|
-
export declare function workspaceRuntimeViewSpecPath(workspacePath: string): string;
|
|
35
|
-
export declare function workspaceRawSnapshotMetadataPath(workspacePath: string): string;
|
|
36
|
-
export declare function workspaceRuntimeInventoryPath(workspacePath: string): string;
|
|
37
|
-
export declare function workspaceRuntimeRunPath(workspacePath: string): string;
|
|
38
|
-
export declare function workspaceRuntimeRunHistoryPath(workspacePath: string): string;
|
|
39
|
-
export declare function workspaceRuntimeStageContractPath(workspacePath: string): string;
|
|
40
|
-
export declare function resolveSourceControlPathForWorkspace(workspacePath: string): string;
|
|
41
|
-
export declare function defaultControlPathForWorkspace(workspacePath: string): string;
|