@turri-dev/cli 0.1.27-next.763d091 → 0.1.28-next.d5f2680
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 +6 -6
- package/dist/advisor-chat.d.ts +63 -0
- package/dist/advisor-chat.js +290 -0
- package/dist/background-skills.d.ts +53 -0
- package/dist/background-skills.js +121 -0
- package/dist/bedrock-region.d.ts +66 -0
- package/dist/bedrock-region.js +144 -0
- package/dist/btw.d.ts +1 -1
- package/dist/btw.js +1 -1
- package/dist/change-plain-cli.js +20 -13
- package/dist/chat-idle.d.ts +7 -0
- package/dist/chat-idle.js +20 -0
- package/dist/chats.d.ts +10 -0
- package/dist/chats.js +23 -0
- package/dist/cli-options.d.ts +1 -2
- package/dist/cli-options.js +2 -7
- package/dist/cli.js +11 -3
- package/dist/config-command.d.ts +14 -0
- package/dist/config-command.js +35 -15
- package/dist/config-edit.d.ts +3 -3
- package/dist/config-edit.js +16 -12
- package/dist/config.d.ts +54 -34
- package/dist/config.js +40 -44
- package/dist/conform-cli.js +12 -10
- package/dist/conformance-switch.d.ts +34 -0
- package/dist/conformance-switch.js +108 -0
- package/dist/cultivate-cli.js +15 -5
- package/dist/drift-cli.js +2 -0
- package/dist/extension.d.ts +15 -0
- package/dist/extension.js +260 -83
- package/dist/host-session.d.ts +26 -0
- package/dist/host-session.js +30 -2
- package/dist/host.d.ts +5 -2
- package/dist/host.js +7 -1
- package/dist/init-config.d.ts +1 -1
- package/dist/init-config.js +20 -11
- package/dist/loop-cli.d.ts +3 -3
- package/dist/loop-cli.js +13 -16
- package/dist/loop-tools.js +18 -10
- package/dist/model-check.d.ts +8 -3
- package/dist/model-check.js +13 -8
- package/dist/new-project.js +12 -8
- package/dist/{validate-cli.js → parse-cli.js} +11 -5
- package/dist/parse-tool.d.ts +9 -0
- package/dist/parse-tool.js +33 -0
- package/dist/pi-launch.js +1 -1
- package/dist/plain/check.d.ts +53 -6
- package/dist/plain/check.js +217 -24
- package/dist/plain/concepts.d.ts +8 -0
- package/dist/plain/concepts.js +66 -23
- package/dist/plain/cycles.d.ts +21 -0
- package/dist/plain/cycles.js +190 -0
- package/dist/plain/errors.d.ts +4 -0
- package/dist/plain/errors.js +7 -0
- package/dist/plain/files.d.ts +18 -1
- package/dist/plain/files.js +39 -2
- package/dist/plain/graph.d.ts +33 -4
- package/dist/plain/graph.js +60 -12
- package/dist/plain/highlight.d.ts +3 -2
- package/dist/plain/highlight.js +4 -3
- package/dist/plain/index.d.ts +8 -5
- package/dist/plain/index.js +8 -5
- package/dist/plain/liquid.js +1 -6
- package/dist/plain/markdown.d.ts +32 -3
- package/dist/plain/markdown.js +146 -24
- package/dist/plain/module-concepts.js +2 -2
- package/dist/plain/parser.d.ts +83 -28
- package/dist/plain/parser.js +381 -260
- package/dist/plain/plain.tmLanguage.json +29 -3
- package/dist/plain/project.d.ts +48 -0
- package/dist/plain/project.js +155 -0
- package/dist/plain/spec.d.ts +90 -28
- package/dist/plain/spec.js +107 -133
- package/dist/plain/test-plain-file.d.ts +59 -0
- package/dist/plain/test-plain-file.js +232 -0
- package/dist/regenerate/activity.d.ts +20 -9
- package/dist/regenerate/activity.js +11 -4
- package/dist/regenerate/advisor-records.d.ts +93 -0
- package/dist/regenerate/advisor-records.js +110 -0
- package/dist/regenerate/advisor-runs.d.ts +87 -0
- package/dist/regenerate/advisor-runs.js +327 -0
- package/dist/regenerate/base-folder.d.ts +68 -0
- package/dist/regenerate/base-folder.js +168 -0
- package/dist/regenerate/cases.d.ts +9 -6
- package/dist/regenerate/cases.js +71 -15
- package/dist/regenerate/change-view.d.ts +8 -3
- package/dist/regenerate/change-view.js +71 -22
- package/dist/regenerate/chunk-plan.d.ts +36 -15
- package/dist/regenerate/chunk-plan.js +165 -59
- package/dist/regenerate/conform.d.ts +3 -0
- package/dist/regenerate/conform.js +6 -5
- package/dist/regenerate/conformance-agents.d.ts +18 -39
- package/dist/regenerate/conformance-agents.js +60 -88
- package/dist/regenerate/conformance.d.ts +23 -20
- package/dist/regenerate/conformance.js +118 -121
- package/dist/regenerate/diff-view.d.ts +1 -1
- package/dist/regenerate/diff-view.js +20 -4
- package/dist/regenerate/drift.d.ts +47 -15
- package/dist/regenerate/drift.js +101 -30
- package/dist/regenerate/jobs.d.ts +2 -2
- package/dist/regenerate/jobs.js +1 -1
- package/dist/regenerate/ledger.d.ts +19 -0
- package/dist/regenerate/loop.d.ts +61 -49
- package/dist/regenerate/loop.js +473 -340
- package/dist/regenerate/paths.d.ts +4 -0
- package/dist/regenerate/paths.js +7 -1
- package/dist/regenerate/plain-palette.js +2 -0
- package/dist/regenerate/prompt.d.ts +57 -19
- package/dist/regenerate/prompt.js +157 -122
- package/dist/regenerate/records.d.ts +43 -12
- package/dist/regenerate/records.js +102 -88
- package/dist/regenerate/regenerate.js +29 -11
- package/dist/regenerate/regression.d.ts +4 -4
- package/dist/regenerate/regression.js +14 -10
- package/dist/regenerate/renames.d.ts +42 -0
- package/dist/regenerate/renames.js +185 -0
- package/dist/regenerate/requires.d.ts +1 -1
- package/dist/regenerate/requires.js +10 -3
- package/dist/regenerate/resources.d.ts +5 -3
- package/dist/regenerate/resources.js +4 -4
- package/dist/regenerate/scripts-being-written.d.ts +19 -0
- package/dist/regenerate/scripts-being-written.js +30 -0
- package/dist/regenerate/spec-map-view.d.ts +2 -2
- package/dist/regenerate/spec-map-view.js +46 -15
- package/dist/regenerate/spec-map.d.ts +27 -5
- package/dist/regenerate/spec-map.js +92 -60
- package/dist/regenerate/spec-steps.d.ts +48 -5
- package/dist/regenerate/spec-steps.js +213 -28
- package/dist/regenerate/state.d.ts +4 -3
- package/dist/regenerate/stop-report.d.ts +1 -1
- package/dist/regenerate/stop-report.js +10 -10
- package/dist/regenerate/test-advisor.d.ts +101 -0
- package/dist/regenerate/test-advisor.js +379 -0
- package/dist/regenerate/test-kinds.d.ts +69 -31
- package/dist/regenerate/test-kinds.js +109 -80
- package/dist/regenerate/test-scripts.d.ts +2 -0
- package/dist/regenerate/test-scripts.js +4 -0
- package/dist/regenerate/testing-steps.d.ts +41 -0
- package/dist/regenerate/testing-steps.js +110 -0
- package/dist/regenerate/testing.d.ts +1 -1
- package/dist/regenerate/testing.js +5 -4
- package/dist/regenerate/unit-review.d.ts +1 -1
- package/dist/regenerate/unit-review.js +3 -3
- package/dist/regenerate-cli.js +11 -12
- package/dist/release-agent.js +4 -0
- package/dist/release-cli.js +2 -0
- package/dist/release-tools.js +2 -0
- package/dist/run-report.d.ts +2 -2
- package/dist/run-report.js +4 -3
- package/dist/self-invocation.d.ts +1 -1
- package/dist/self-invocation.js +1 -1
- package/dist/sentinel.js +1 -1
- package/dist/setup.d.ts +10 -0
- package/dist/setup.js +52 -4
- package/dist/skill.d.ts +10 -0
- package/dist/skill.js +6 -0
- package/dist/skills.js +3 -1
- package/dist/spec-tools.js +21 -31
- package/dist/test-plain-files.d.ts +41 -0
- package/dist/test-plain-files.js +177 -0
- package/docs/README.md +3 -1
- package/docs/authoring-plain.md +46 -13
- package/docs/chats.md +3 -1
- package/docs/config.md +20 -15
- package/docs/deploy.md +1 -1
- package/docs/development.md +2 -1
- package/docs/headless.md +15 -18
- package/docs/hosting.md +28 -12
- package/docs/installation.md +1 -0
- package/docs/parser.md +88 -27
- package/docs/regenerating.md +89 -54
- package/docs/sentinel.md +1 -1
- package/docs/skills-and-gates.md +3 -1
- package/docs/test-advisor.md +110 -0
- package/docs/theming.md +1 -1
- package/docs/using.md +17 -15
- package/genome/rules/bullet-continuation.md +8 -8
- package/genome/rules/concise-specs-examples.md +111 -80
- package/genome/rules/concise-specs-integration-examples.md +56 -41
- package/genome/rules/concise-specs.md +17 -16
- package/genome/rules/definitions.md +5 -5
- package/genome/rules/examples/integration-embedded-testing/run_conformance_tests_java.sh +1 -1
- package/genome/rules/func-specs.md +69 -74
- package/genome/rules/impl-reqs.md +4 -4
- package/genome/rules/integration-embedded-testing.md +20 -20
- package/genome/rules/integration-embedded.md +31 -31
- package/genome/rules/integration-standalone.md +9 -9
- package/genome/rules/integrations.md +18 -18
- package/genome/rules/linked-resources.md +19 -16
- package/genome/rules/module-structure.md +21 -14
- package/genome/rules/project-model.md +18 -17
- package/genome/rules/required-concepts.md +1 -1
- package/genome/rules/requires-modules.md +6 -5
- package/genome/rules/semantic-ids.md +49 -0
- package/genome/rules/stdlib.md +4 -5
- package/genome/rules/test-plain-files.md +130 -0
- package/genome/rules/test-reqs.md +8 -8
- package/genome/rules/turri-regeneration.md +24 -8
- package/genome/skills/analyze-2-func-specs/SKILL.md +36 -21
- package/genome/skills/analyze-func-specs/SKILL.md +46 -32
- package/genome/skills/break-down-func-spec/SKILL.md +91 -67
- package/genome/skills/consolidate-concepts/SKILL.md +10 -10
- package/genome/skills/convert-old-syntax/SKILL.md +68 -0
- package/genome/skills/convert-old-syntax/references/rubric.md +11 -0
- package/genome/skills/debug-specs/SKILL.md +62 -56
- package/genome/skills/implement-conformance-testing-script/SKILL.md +19 -15
- package/genome/skills/implement-conformance-testing-script/assets/run_conformance_tests_java.sh +2 -2
- package/genome/skills/implement-conformance-testing-script/assets/run_conformance_tests_python.sh +2 -2
- package/genome/skills/implement-unit-testing-script/SKILL.md +14 -10
- package/genome/skills/refactor-module/SKILL.md +35 -35
- package/genome/skills/resolve-section-ownership/SKILL.md +9 -9
- package/genome/skills/resolve-spec-conflict/SKILL.md +35 -29
- package/package.json +7 -6
- package/dist/regenerate/choose-conformance.d.ts +0 -32
- package/dist/regenerate/choose-conformance.js +0 -117
- /package/dist/{validate-cli.d.ts → parse-cli.d.ts} +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/** A module's code record and its tests' - `code/.turri.json`, `tests/.turri.json` (records.ts). */
|
|
2
2
|
export declare const RECORD_FILE = ".turri.json";
|
|
3
|
+
/** What a codebase started from, when it started from a base folder (base-folder.ts): beside the code record, never code. */
|
|
4
|
+
export declare const BASE_RECORD_FILE = ".turri-base.json";
|
|
3
5
|
/**
|
|
4
6
|
* The ***plain standard library: import modules for generic pieces of software that ship with turri,
|
|
5
7
|
* imported as `stdlib/backend/python-fastapi` - a reserved name (see plain/stdlib.ts).
|
|
@@ -35,6 +37,8 @@ export declare function defaultBuildDir(moduleName: string, cwd?: string): strin
|
|
|
35
37
|
* specs at the root of their project are built where they always were.
|
|
36
38
|
*/
|
|
37
39
|
export declare function projectDirOf(plainFile: string): string;
|
|
40
|
+
/** Whether a folder says it is a project: it holds a config file or `plain_modules/`. */
|
|
41
|
+
export declare function isProjectDir(dir: string): boolean;
|
|
38
42
|
export declare function modulesRoot(cwd?: string): string;
|
|
39
43
|
export declare function buildDirUnder(root: string, moduleName: string): string;
|
|
40
44
|
export declare function testsDirUnder(root: string, moduleName: string): string;
|
package/dist/regenerate/paths.js
CHANGED
|
@@ -3,6 +3,8 @@ import { dirname, join, resolve, sep } from "node:path";
|
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
/** A module's code record and its tests' - `code/.turri.json`, `tests/.turri.json` (records.ts). */
|
|
5
5
|
export const RECORD_FILE = ".turri.json";
|
|
6
|
+
/** What a codebase started from, when it started from a base folder (base-folder.ts): beside the code record, never code. */
|
|
7
|
+
export const BASE_RECORD_FILE = ".turri-base.json";
|
|
6
8
|
/**
|
|
7
9
|
* The ***plain standard library: import modules for generic pieces of software that ship with turri,
|
|
8
10
|
* imported as `stdlib/backend/python-fastapi` - a reserved name (see plain/stdlib.ts).
|
|
@@ -44,12 +46,16 @@ export function defaultBuildDir(moduleName, cwd = process.cwd()) {
|
|
|
44
46
|
export function projectDirOf(plainFile) {
|
|
45
47
|
const start = dirname(resolve(plainFile));
|
|
46
48
|
for (let dir = start;; dir = dirname(dir)) {
|
|
47
|
-
if (
|
|
49
|
+
if (isProjectDir(dir))
|
|
48
50
|
return dir;
|
|
49
51
|
if (dirname(dir) === dir)
|
|
50
52
|
return start;
|
|
51
53
|
}
|
|
52
54
|
}
|
|
55
|
+
/** Whether a folder says it is a project: it holds a config file or `plain_modules/`. */
|
|
56
|
+
export function isProjectDir(dir) {
|
|
57
|
+
return existsSync(join(dir, "config.yaml")) || existsSync(join(dir, MODULES_DIR)) || hasModuleConfig(dir);
|
|
58
|
+
}
|
|
53
59
|
/** Whether a folder holds a config file - config.turri.yaml, a stack's config.turri.<stack>.yaml, or one in the old naming - which makes it a project too. */
|
|
54
60
|
function hasModuleConfig(dir) {
|
|
55
61
|
try {
|
|
@@ -14,6 +14,7 @@ const DARK = {
|
|
|
14
14
|
module: { colour: "#f4f7f9" },
|
|
15
15
|
comment: { colour: "#85a3b2", italic: true },
|
|
16
16
|
bullet: { colour: "#85a3b2" },
|
|
17
|
+
id: { colour: "#5ce1e6", bold: true },
|
|
17
18
|
},
|
|
18
19
|
added: "#5ce1e6",
|
|
19
20
|
removed: "#ff7fa6",
|
|
@@ -35,6 +36,7 @@ const LIGHT = {
|
|
|
35
36
|
module: { colour: "#1e3442" },
|
|
36
37
|
comment: { colour: "#3e5a6b", italic: true },
|
|
37
38
|
bullet: { colour: "#3e5a6b" },
|
|
39
|
+
id: { colour: "#732553", bold: true },
|
|
38
40
|
},
|
|
39
41
|
added: "#1e3442",
|
|
40
42
|
removed: "#732553",
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import { type MarshalledPlainSource, type Specifications } from "../plain/spec.ts";
|
|
2
2
|
import { type LoadedResource } from "./resources.ts";
|
|
3
|
+
import { type TestedSpec } from "./test-kinds.ts";
|
|
3
4
|
import type { JobCases } from "./drift.ts";
|
|
4
5
|
import type { RequiredSpec } from "./state.ts";
|
|
5
6
|
import { type SpecChange } from "./spec-steps.ts";
|
|
6
7
|
/**
|
|
7
8
|
* Functional specs grouped by the module they belong to - in the order the modules are built on
|
|
8
|
-
* one another, the current module marked - and each tagged with its module and its id there. A codebase holds the
|
|
9
|
-
* functionalities of every module it is built on, and
|
|
10
|
-
*
|
|
9
|
+
* one another, the current module marked - and each tagged with its module and its func-id there. A codebase holds the
|
|
10
|
+
* functionalities of every module it is built on, and a func-id is unique only in its module, so a func-id alone can
|
|
11
|
+
* be ambiguous: `base` and `app` may each have an `export`.
|
|
11
12
|
* (the reference implementation's implemented functional requirements prompt section, as tags.)
|
|
12
13
|
*/
|
|
13
14
|
export declare function functionalitiesByModule(entries: Array<{
|
|
14
15
|
module: string;
|
|
15
|
-
|
|
16
|
+
funcId: string;
|
|
16
17
|
spec: string;
|
|
17
18
|
}>, currentModule: string, status?: string): string;
|
|
18
|
-
/** "
|
|
19
|
-
export declare function functionalityOf(
|
|
19
|
+
/** "functional spec `app:add-task`": a functional spec, named so that no other module's can be meant. */
|
|
20
|
+
export declare function functionalityOf(funcId: string, moduleName: string): string;
|
|
20
21
|
/**
|
|
21
22
|
* How to read a ***plain specification: what each section is, and what the predefined concepts
|
|
22
23
|
* mean. At the head of every prompt for an agent that builds, tests or judges from a spec - the
|
|
@@ -66,6 +67,16 @@ export declare function sectionModules(tree: MarshalledPlainSource, moduleName:
|
|
|
66
67
|
* when they do not match the items one for one, every item is the current module's.
|
|
67
68
|
*/
|
|
68
69
|
export declare function moduleSection(key: string, items: string[], moduleName: string, modules?: SectionModules): string | null;
|
|
70
|
+
/**
|
|
71
|
+
* The base folder a codebase started from, for its coding agents (base-folder.ts): that it did, and the files that came
|
|
72
|
+
* from it - code to build on, files to use, or both: the block says neither, for it may be either.
|
|
73
|
+
*/
|
|
74
|
+
export declare function baseFolderBlock(base: {
|
|
75
|
+
folder: string;
|
|
76
|
+
files: string[];
|
|
77
|
+
} | undefined): string | null;
|
|
78
|
+
/** The rule for what came from the base folder, for an agent that changes the code: it stays, used where it is. */
|
|
79
|
+
export declare const BASE_FOLDER_RULES: string[];
|
|
69
80
|
export interface SpecDiffPromptInput {
|
|
70
81
|
moduleName: string;
|
|
71
82
|
/** The spec change, as a diff of the .plain files. */
|
|
@@ -74,6 +85,8 @@ export interface SpecDiffPromptInput {
|
|
|
74
85
|
changes?: SpecChange[];
|
|
75
86
|
/** The module's sections and its functional specs, as they stand after the change. */
|
|
76
87
|
specifications: Specifications;
|
|
88
|
+
/** The func-ids of its functional specs, in order. */
|
|
89
|
+
funcIds: string[];
|
|
77
90
|
/** Functional specs of the modules this one requires, as they stand after the change. */
|
|
78
91
|
required: RequiredSpec[];
|
|
79
92
|
linkedResources: LoadedResource[];
|
|
@@ -84,6 +97,11 @@ export interface SpecDiffPromptInput {
|
|
|
84
97
|
cases?: JobCases;
|
|
85
98
|
/** The module each definition and req belongs to: see `sectionModules`. */
|
|
86
99
|
modules?: SectionModules;
|
|
100
|
+
/** The base folder the codebase started from, and the files from it it has still (base-folder.ts). */
|
|
101
|
+
base?: {
|
|
102
|
+
folder: string;
|
|
103
|
+
files: string[];
|
|
104
|
+
};
|
|
87
105
|
}
|
|
88
106
|
/**
|
|
89
107
|
* The specification a review of some work is given: laid out exactly as the coding agent had it - how to read a
|
|
@@ -94,19 +112,32 @@ export interface SpecDiffPromptInput {
|
|
|
94
112
|
export declare function reviewedSpec(input: {
|
|
95
113
|
moduleName: string;
|
|
96
114
|
specifications: Specifications;
|
|
115
|
+
/** The func-ids of its functional specs, in order. */
|
|
116
|
+
funcIds: string[];
|
|
97
117
|
/** Functional specs of the modules this one requires: already in the code. */
|
|
98
118
|
required?: RequiredSpec[];
|
|
99
119
|
/** The change, section by section. */
|
|
100
120
|
change?: string;
|
|
101
121
|
/** The module each definition and req belongs to: see `sectionModules`. */
|
|
102
122
|
modules?: SectionModules;
|
|
123
|
+
/** The base folder the codebase started from, and the files from it it has still (base-folder.ts). */
|
|
124
|
+
base?: {
|
|
125
|
+
folder: string;
|
|
126
|
+
files: string[];
|
|
127
|
+
};
|
|
103
128
|
}): string;
|
|
129
|
+
/**
|
|
130
|
+
* A raw diff of the .plain files without the hunks of test plain files: a coding agent never sees scenarios, which are
|
|
131
|
+
* the conformance tests'. A test plain file is told by its own frontmatter - `func_id:` - since its folder is the
|
|
132
|
+
* project's to name.
|
|
133
|
+
*/
|
|
134
|
+
export declare function withoutTestPlainFiles(diff: string): string;
|
|
104
135
|
/** A change in its tag: told section by section, or - when it could not be - the raw diff, with which tag each heading is. */
|
|
105
|
-
export declare function specChangeBlock(change: string): string;
|
|
136
|
+
export declare function specChangeBlock(change: string, scenarios?: boolean): string;
|
|
106
137
|
/**
|
|
107
138
|
* A spec change as an agent reads it: section by section, what was added, what changed - before and now - and what
|
|
108
139
|
* was removed. A definition taken out and put back reworded, or moved, is one change to it, not two. Every item is
|
|
109
|
-
* named so no other module's can be meant: a functional spec by its module and
|
|
140
|
+
* named so no other module's can be meant: a functional spec by its module and func-id, and a definition or req of a
|
|
110
141
|
* module below by its module; `moduleName` is the module whose codebase it is - whose own items carry no module.
|
|
111
142
|
*/
|
|
112
143
|
export declare function describeSpecChange(changes: SpecChange[], moduleName?: string): string;
|
|
@@ -122,9 +153,11 @@ export interface ConformancePromptInput {
|
|
|
122
153
|
/** What the job does to each functional spec (work.ts): the agent is told case by case. Not given: in general. */
|
|
123
154
|
cases?: JobCases;
|
|
124
155
|
moduleName: string;
|
|
125
|
-
/** The
|
|
126
|
-
|
|
156
|
+
/** The functional spec under test, by its func-id; for a spec change, the last there is - none before the first is written. */
|
|
157
|
+
funcId?: string;
|
|
127
158
|
specifications: Specifications;
|
|
159
|
+
/** The func-ids of its functional specs, in order. */
|
|
160
|
+
funcIds: string[];
|
|
128
161
|
linkedResources: LoadedResource[];
|
|
129
162
|
/** File names in the build directory. */
|
|
130
163
|
manifest: string[];
|
|
@@ -143,11 +176,8 @@ export interface ConformancePromptInput {
|
|
|
143
176
|
path: string;
|
|
144
177
|
content: string;
|
|
145
178
|
}>;
|
|
146
|
-
/** For a spec change: the
|
|
147
|
-
touched?:
|
|
148
|
-
frid: string;
|
|
149
|
-
acceptanceTests: string[];
|
|
150
|
-
}>;
|
|
179
|
+
/** For a spec change: the functional specs it touches, with their scenarios - each carried out and labelled. */
|
|
180
|
+
touched?: TestedSpec[];
|
|
151
181
|
/** Tests already in the conformance directory, from an earlier version of the spec. */
|
|
152
182
|
existingTests?: string[];
|
|
153
183
|
/** Functional specs of the modules this one requires, transitively. */
|
|
@@ -169,18 +199,26 @@ export interface ConformancePromptInput {
|
|
|
169
199
|
* written from the code can only ever agree with it.
|
|
170
200
|
*/
|
|
171
201
|
export declare function buildConformancePrompt(input: ConformancePromptInput): string;
|
|
172
|
-
/**
|
|
173
|
-
|
|
202
|
+
/**
|
|
203
|
+
* Functional specs' scenarios as the conformance agent carries them out: each under its label, the conformance
|
|
204
|
+
* scenarios and then the acceptance ones, in the tag of each kind.
|
|
205
|
+
*/
|
|
206
|
+
export declare function scenariosBlock(module: string, specs: TestedSpec[]): string | null;
|
|
174
207
|
export interface RegressionFixPromptInput {
|
|
175
208
|
moduleName: string;
|
|
176
|
-
/**
|
|
177
|
-
|
|
209
|
+
/** The func-ids of the functional specs built so far, in order. */
|
|
210
|
+
funcIds: string[];
|
|
178
211
|
specifications: Specifications;
|
|
179
212
|
failure: string;
|
|
180
213
|
/** Functional specs of the modules this one requires, transitively. */
|
|
181
214
|
required?: RequiredSpec[];
|
|
182
215
|
/** The module each definition and req belongs to: see `sectionModules`. */
|
|
183
216
|
modules?: SectionModules;
|
|
217
|
+
/** The base folder the codebase started from, and the files from it it has still (base-folder.ts). */
|
|
218
|
+
base?: {
|
|
219
|
+
folder: string;
|
|
220
|
+
files: string[];
|
|
221
|
+
};
|
|
184
222
|
}
|
|
185
223
|
/**
|
|
186
224
|
* Build the prompt for repairing a regression.
|