@interf/compiler 0.2.5 → 0.3.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 +192 -187
- package/dist/bin.js +3 -3
- package/dist/bin.js.map +1 -1
- package/dist/commands/compile.d.ts +1 -0
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +45 -138
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/create-workflow-wizard.d.ts +4 -25
- package/dist/commands/create-workflow-wizard.d.ts.map +1 -1
- package/dist/commands/create-workflow-wizard.js +46 -222
- package/dist/commands/create-workflow-wizard.js.map +1 -1
- package/dist/commands/create.d.ts +2 -11
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +78 -477
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/default.d.ts.map +1 -1
- package/dist/commands/default.js +27 -43
- package/dist/commands/default.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/executor-flow.d.ts +9 -0
- package/dist/commands/executor-flow.d.ts.map +1 -0
- package/dist/commands/executor-flow.js +55 -0
- package/dist/commands/executor-flow.js.map +1 -0
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +320 -321
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +12 -22
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +27 -124
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/source-config-wizard.d.ts +10 -11
- package/dist/commands/source-config-wizard.d.ts.map +1 -1
- package/dist/commands/source-config-wizard.js +100 -97
- package/dist/commands/source-config-wizard.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +60 -56
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/test-flow.d.ts +21 -0
- package/dist/commands/test-flow.d.ts.map +1 -0
- package/dist/commands/test-flow.js +106 -0
- package/dist/commands/test-flow.js.map +1 -0
- package/dist/commands/test.d.ts +4 -0
- package/dist/commands/test.d.ts.map +1 -0
- package/dist/commands/test.js +131 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +63 -98
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/workspace-flow.d.ts +21 -0
- package/dist/commands/workspace-flow.d.ts.map +1 -0
- package/dist/commands/workspace-flow.js +90 -0
- package/dist/commands/workspace-flow.js.map +1 -0
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -7
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-constants.js +1 -1
- package/dist/lib/agent-constants.js.map +1 -1
- package/dist/lib/agent-detection.js +4 -4
- package/dist/lib/agent-detection.js.map +1 -1
- package/dist/lib/agent-skills.js +6 -6
- package/dist/lib/agent-skills.js.map +1 -1
- package/dist/lib/benchmark-execution.d.ts.map +1 -1
- package/dist/lib/benchmark-execution.js +32 -19
- package/dist/lib/benchmark-execution.js.map +1 -1
- package/dist/lib/benchmark-sandbox.d.ts +10 -0
- package/dist/lib/benchmark-sandbox.d.ts.map +1 -0
- package/dist/lib/benchmark-sandbox.js +75 -0
- package/dist/lib/benchmark-sandbox.js.map +1 -0
- package/dist/lib/benchmark-targets.d.ts +4 -4
- package/dist/lib/benchmark-targets.d.ts.map +1 -1
- package/dist/lib/benchmark-targets.js +20 -54
- package/dist/lib/benchmark-targets.js.map +1 -1
- package/dist/lib/benchmark-types.d.ts +2 -3
- package/dist/lib/benchmark-types.d.ts.map +1 -1
- package/dist/lib/benchmark.d.ts +1 -1
- package/dist/lib/benchmark.d.ts.map +1 -1
- package/dist/lib/benchmark.js +1 -1
- package/dist/lib/benchmark.js.map +1 -1
- package/dist/lib/config.d.ts +1 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +2 -4
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/discovery.d.ts +1 -1
- package/dist/lib/discovery.d.ts.map +1 -1
- package/dist/lib/discovery.js +7 -2
- package/dist/lib/discovery.js.map +1 -1
- package/dist/lib/eval-packs.d.ts +6 -52
- package/dist/lib/eval-packs.d.ts.map +1 -1
- package/dist/lib/eval-packs.js +11 -39
- package/dist/lib/eval-packs.js.map +1 -1
- package/dist/lib/interf-bootstrap.d.ts +3 -5
- package/dist/lib/interf-bootstrap.d.ts.map +1 -1
- package/dist/lib/interf-bootstrap.js +10 -57
- package/dist/lib/interf-bootstrap.js.map +1 -1
- package/dist/lib/interf-detect.d.ts +13 -11
- package/dist/lib/interf-detect.d.ts.map +1 -1
- package/dist/lib/interf-detect.js +59 -45
- package/dist/lib/interf-detect.js.map +1 -1
- package/dist/lib/interf-scaffold.d.ts +2 -5
- package/dist/lib/interf-scaffold.d.ts.map +1 -1
- package/dist/lib/interf-scaffold.js +99 -235
- package/dist/lib/interf-scaffold.js.map +1 -1
- package/dist/lib/interf-workflow-package.d.ts +1 -2
- package/dist/lib/interf-workflow-package.d.ts.map +1 -1
- package/dist/lib/interf-workflow-package.js +99 -90
- package/dist/lib/interf-workflow-package.js.map +1 -1
- package/dist/lib/interf.d.ts +4 -5
- package/dist/lib/interf.d.ts.map +1 -1
- package/dist/lib/interf.js +3 -6
- package/dist/lib/interf.js.map +1 -1
- package/dist/lib/local-workflows.d.ts +9 -8
- package/dist/lib/local-workflows.d.ts.map +1 -1
- package/dist/lib/local-workflows.js +56 -92
- package/dist/lib/local-workflows.js.map +1 -1
- package/dist/lib/obsidian.d.ts +1 -3
- package/dist/lib/obsidian.d.ts.map +1 -1
- package/dist/lib/obsidian.js +10 -81
- package/dist/lib/obsidian.js.map +1 -1
- package/dist/lib/registry.d.ts +6 -17
- package/dist/lib/registry.d.ts.map +1 -1
- package/dist/lib/registry.js +36 -50
- package/dist/lib/registry.js.map +1 -1
- package/dist/lib/runtime-contracts.d.ts +4 -3
- package/dist/lib/runtime-contracts.d.ts.map +1 -1
- package/dist/lib/runtime-contracts.js +125 -9
- package/dist/lib/runtime-contracts.js.map +1 -1
- package/dist/lib/runtime-reconcile.d.ts +3 -5
- package/dist/lib/runtime-reconcile.d.ts.map +1 -1
- package/dist/lib/runtime-reconcile.js +70 -167
- package/dist/lib/runtime-reconcile.js.map +1 -1
- package/dist/lib/runtime-runs.d.ts.map +1 -1
- package/dist/lib/runtime-runs.js +61 -57
- package/dist/lib/runtime-runs.js.map +1 -1
- package/dist/lib/runtime-types.d.ts +16 -6
- package/dist/lib/runtime-types.d.ts.map +1 -1
- package/dist/lib/runtime.d.ts +2 -2
- package/dist/lib/runtime.d.ts.map +1 -1
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/runtime.js.map +1 -1
- package/dist/lib/schema.d.ts +69 -311
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/schema.js +49 -210
- package/dist/lib/schema.js.map +1 -1
- package/dist/lib/source-config.d.ts +8 -7
- package/dist/lib/source-config.d.ts.map +1 -1
- package/dist/lib/source-config.js +59 -63
- package/dist/lib/source-config.js.map +1 -1
- package/dist/lib/state-artifacts.d.ts +5 -11
- package/dist/lib/state-artifacts.d.ts.map +1 -1
- package/dist/lib/state-artifacts.js +8 -18
- package/dist/lib/state-artifacts.js.map +1 -1
- package/dist/lib/state-health.d.ts +4 -8
- package/dist/lib/state-health.d.ts.map +1 -1
- package/dist/lib/state-health.js +52 -233
- package/dist/lib/state-health.js.map +1 -1
- package/dist/lib/state-io.d.ts +7 -12
- package/dist/lib/state-io.d.ts.map +1 -1
- package/dist/lib/state-io.js +32 -93
- package/dist/lib/state-io.js.map +1 -1
- package/dist/lib/state-view.d.ts +4 -6
- package/dist/lib/state-view.d.ts.map +1 -1
- package/dist/lib/state-view.js +62 -101
- package/dist/lib/state-view.js.map +1 -1
- package/dist/lib/state.d.ts +5 -5
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +4 -4
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/summarize-plan.d.ts +2 -2
- package/dist/lib/summarize-plan.d.ts.map +1 -1
- package/dist/lib/summarize-plan.js +13 -13
- package/dist/lib/summarize-plan.js.map +1 -1
- package/dist/lib/{validate-kb.d.ts → validate-workspace.d.ts} +49 -8
- package/dist/lib/validate-workspace.d.ts.map +1 -0
- package/dist/lib/validate-workspace.js +398 -0
- package/dist/lib/validate-workspace.js.map +1 -0
- package/dist/lib/validate.d.ts +5 -7
- package/dist/lib/validate.d.ts.map +1 -1
- package/dist/lib/validate.js +22 -20
- package/dist/lib/validate.js.map +1 -1
- package/dist/lib/workflow-definitions.d.ts +14 -50
- package/dist/lib/workflow-definitions.d.ts.map +1 -1
- package/dist/lib/workflow-definitions.js +100 -353
- package/dist/lib/workflow-definitions.js.map +1 -1
- package/dist/lib/workflow-helpers.d.ts +3 -4
- package/dist/lib/workflow-helpers.d.ts.map +1 -1
- package/dist/lib/workflow-helpers.js +17 -49
- package/dist/lib/workflow-helpers.js.map +1 -1
- package/dist/lib/workflow-stage-runner.d.ts +1 -2
- package/dist/lib/workflow-stage-runner.d.ts.map +1 -1
- package/dist/lib/workflow-stage-runner.js +4 -6
- package/dist/lib/workflow-stage-runner.js.map +1 -1
- package/dist/lib/workflow-starter-docs.d.ts +3 -5
- package/dist/lib/workflow-starter-docs.d.ts.map +1 -1
- package/dist/lib/workflow-starter-docs.js +2 -17
- package/dist/lib/workflow-starter-docs.js.map +1 -1
- package/dist/lib/workflows.d.ts +9 -14
- package/dist/lib/workflows.d.ts.map +1 -1
- package/dist/lib/workflows.js +15 -30
- package/dist/lib/workflows.js.map +1 -1
- package/dist/lib/workspace-compile.d.ts +51 -0
- package/dist/lib/workspace-compile.d.ts.map +1 -0
- package/dist/lib/workspace-compile.js +397 -0
- package/dist/lib/workspace-compile.js.map +1 -0
- package/package.json +9 -9
- package/skills/benchmark/SKILL.md +20 -27
- package/skills/workflow/create/SKILL.md +10 -14
- package/skills/workspace/shape/SKILL.md +15 -0
- package/skills/workspace/structure/SKILL.md +15 -0
- package/skills/workspace/summarize/SKILL.md +15 -0
- package/templates/workspace/README.md +23 -0
- package/templates/workspace/interfignore +2 -0
- package/dist/commands/benchmark.d.ts +0 -3
- package/dist/commands/benchmark.d.ts.map +0 -1
- package/dist/commands/benchmark.js +0 -374
- package/dist/commands/benchmark.js.map +0 -1
- package/dist/lib/bundled-templates.d.ts +0 -5
- package/dist/lib/bundled-templates.d.ts.map +0 -1
- package/dist/lib/bundled-templates.js +0 -23
- package/dist/lib/bundled-templates.js.map +0 -1
- package/dist/lib/interf-compile-plan.d.ts +0 -12
- package/dist/lib/interf-compile-plan.d.ts.map +0 -1
- package/dist/lib/interf-compile-plan.js +0 -143
- package/dist/lib/interf-compile-plan.js.map +0 -1
- package/dist/lib/validate-interface.d.ts +0 -79
- package/dist/lib/validate-interface.d.ts.map +0 -1
- package/dist/lib/validate-interface.js +0 -535
- package/dist/lib/validate-interface.js.map +0 -1
- package/dist/lib/validate-kb.d.ts.map +0 -1
- package/dist/lib/validate-kb.js +0 -252
- package/dist/lib/validate-kb.js.map +0 -1
- package/dist/lib/workflows-interface-contracts.d.ts +0 -24
- package/dist/lib/workflows-interface-contracts.d.ts.map +0 -1
- package/dist/lib/workflows-interface-contracts.js +0 -304
- package/dist/lib/workflows-interface-contracts.js.map +0 -1
- package/dist/lib/workflows-interface.d.ts +0 -72
- package/dist/lib/workflows-interface.d.ts.map +0 -1
- package/dist/lib/workflows-interface.js +0 -377
- package/dist/lib/workflows-interface.js.map +0 -1
- package/dist/lib/workflows-kb.d.ts +0 -50
- package/dist/lib/workflows-kb.d.ts.map +0 -1
- package/dist/lib/workflows-kb.js +0 -306
- package/dist/lib/workflows-kb.js.map +0 -1
- package/skills/interface/analyze/SKILL.md +0 -191
- package/skills/interface/compile/SKILL.md +0 -152
- package/skills/interface/compile/references/output-format.md +0 -48
- package/skills/interface/create/SKILL.md +0 -87
- package/skills/interface/create/references/compile-plan-format.md +0 -109
- package/skills/interface/create/references/workflows.md +0 -35
- package/skills/interface/query/SKILL.md +0 -48
- package/skills/interface/retrieve/SKILL.md +0 -133
- package/skills/knowledge-base/compile/SKILL.md +0 -196
- package/skills/knowledge-base/compile/references/output-format.md +0 -48
- package/skills/knowledge-base/compile/references/stage-claims.md +0 -60
- package/skills/knowledge-base/compile/references/stage-entities.md +0 -46
- package/skills/knowledge-base/query/SKILL.md +0 -45
- package/skills/knowledge-base/summarize/SKILL.md +0 -152
- package/templates/interface/README.md +0 -159
- package/templates/interface/interfaces.md +0 -102
- package/templates/knowledge-base/README.md +0 -137
- package/templates/knowledge-base/interfignore +0 -19
- package/templates/knowledge-base/registry.md +0 -118
- package/templates/workflow-package/README.md +0 -16
- package/templates/workflow-package/create/SKILL.md +0 -8
- package/templates/workflow-package/interface-query/SKILL.md +0 -29
- package/templates/workflow-package/interface-stage/SKILL.md +0 -13
- package/templates/workflow-package/knowledge-base-query/SKILL.md +0 -36
- package/templates/workflow-package/knowledge-base-stage/SKILL.md +0 -13
- package/templates/workflow-starters/interface/interf/README.md +0 -13
- package/templates/workflow-starters/interface/interf/create/SKILL.md +0 -15
- package/templates/workflow-starters/knowledge-base/interf/README.md +0 -13
- package/templates/workflow-starters/knowledge-base/karpathy/README.md +0 -13
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,0CAA0C;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAExD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAEvD
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,0CAA0C;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAExD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAEvD,yBAAyB;AACzB,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AAEnG,cAAc;AACd,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC"}
|
package/dist/lib/discovery.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ export interface DiscoveryResult {
|
|
|
3
3
|
totalCount: number;
|
|
4
4
|
ignoredCount: number;
|
|
5
5
|
}
|
|
6
|
-
export declare function discoverSourceFiles(sourcePath: string,
|
|
6
|
+
export declare function discoverSourceFiles(sourcePath: string, workspacePath: string): DiscoveryResult;
|
|
7
7
|
export declare function loadIgnorePatterns(knowledgeBasePath: string): string[];
|
|
8
8
|
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/lib/discovery.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/lib/discovery.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAeD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,eAAe,CA0BjB;AAED,wBAAgB,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,CAQtE"}
|
package/dist/lib/discovery.js
CHANGED
|
@@ -9,8 +9,11 @@ const DEFAULT_IGNORE_DIRS = new Set([
|
|
|
9
9
|
".claude",
|
|
10
10
|
"node_modules",
|
|
11
11
|
]);
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const DEFAULT_IGNORE_FILES = new Set([
|
|
13
|
+
"interf.config.json",
|
|
14
|
+
]);
|
|
15
|
+
export function discoverSourceFiles(sourcePath, workspacePath) {
|
|
16
|
+
const userPatterns = loadIgnorePatterns(workspacePath);
|
|
14
17
|
let ignoredCount = 0;
|
|
15
18
|
const allFiles = listFilesRecursive(sourcePath, (filePath) => {
|
|
16
19
|
const rel = relative(sourcePath, filePath);
|
|
@@ -43,6 +46,8 @@ export function loadIgnorePatterns(knowledgeBasePath) {
|
|
|
43
46
|
.filter((line) => line.length > 0 && !line.startsWith("#"));
|
|
44
47
|
}
|
|
45
48
|
function isIgnored(relativePath) {
|
|
49
|
+
if (DEFAULT_IGNORE_FILES.has(relativePath))
|
|
50
|
+
return true;
|
|
46
51
|
const segments = relativePath.split("/");
|
|
47
52
|
for (const segment of segments) {
|
|
48
53
|
if (segment.startsWith("."))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/lib/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAQrD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,QAAQ;IACR,SAAS;IACT,MAAM;IACN,WAAW;IACX,SAAS;IACT,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/lib/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAQrD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,QAAQ;IACR,SAAS;IACT,MAAM;IACN,WAAW;IACX,SAAS;IACT,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,aAAqB;IAErB,MAAM,YAAY,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;YACrE,YAAY,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,QAAQ;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;SACnC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtC,OAAO;QACL,WAAW;QACX,UAAU,EAAE,WAAW,CAAC,MAAM;QAC9B,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,iBAAyB;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,OAAO,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC;SACrC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,SAAS,CAAC,YAAoB;IACrC,IAAI,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAoB,EAAE,QAAkB;IAClE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,OAAe;IAC9C,yEAAyE;IACzE,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IACtF,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,2DAA2D;IAC3D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAC7C,OAAO,QAAQ,KAAK,OAAO,CAAC;IAC9B,CAAC;IAED,iEAAiE;IACjE,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;AAC5D,CAAC"}
|
package/dist/lib/eval-packs.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { WorkflowExecutionProfile } from "./executors.js";
|
|
3
3
|
export declare const EvalTargetSchema: z.ZodEnum<{
|
|
4
|
-
|
|
5
|
-
interface: "interface";
|
|
4
|
+
workspace: "workspace";
|
|
6
5
|
source: "source";
|
|
7
6
|
}>;
|
|
8
7
|
export declare const EvalAgentSchema: z.ZodEnum<{
|
|
@@ -41,33 +40,11 @@ export declare const EvalLiveCaseSchema: z.ZodPipe<z.ZodTransform<unknown, unkno
|
|
|
41
40
|
forbid_raw_fallback: z.ZodOptional<z.ZodBoolean>;
|
|
42
41
|
require_raw_fallback: z.ZodOptional<z.ZodBoolean>;
|
|
43
42
|
}, z.core.$strip>>;
|
|
44
|
-
export declare const
|
|
43
|
+
export declare const EvalWorkspacePackSchema: z.ZodObject<{
|
|
45
44
|
id: z.ZodString;
|
|
46
45
|
name: z.ZodString;
|
|
47
46
|
workflow: z.ZodString;
|
|
48
|
-
|
|
49
|
-
live_cases: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
50
|
-
id: z.ZodString;
|
|
51
|
-
question: z.ZodString;
|
|
52
|
-
answer: z.ZodOptional<z.ZodString>;
|
|
53
|
-
expect: z.ZodOptional<z.ZodObject<{
|
|
54
|
-
must_include: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
55
|
-
must_include_one_of: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
|
|
56
|
-
must_not_include: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
57
|
-
min_words: z.ZodOptional<z.ZodNumber>;
|
|
58
|
-
max_words: z.ZodOptional<z.ZodNumber>;
|
|
59
|
-
}, z.core.$strip>>;
|
|
60
|
-
strictness: z.ZodOptional<z.ZodString>;
|
|
61
|
-
forbid_raw_fallback: z.ZodOptional<z.ZodBoolean>;
|
|
62
|
-
require_raw_fallback: z.ZodOptional<z.ZodBoolean>;
|
|
63
|
-
}, z.core.$strip>>>>;
|
|
64
|
-
}, z.core.$strip>;
|
|
65
|
-
export declare const EvalInterfacePackSchema: z.ZodObject<{
|
|
66
|
-
id: z.ZodString;
|
|
67
|
-
name: z.ZodString;
|
|
68
|
-
knowledge_base: z.ZodString;
|
|
69
|
-
workflow: z.ZodString;
|
|
70
|
-
use_case: z.ZodString;
|
|
47
|
+
about: z.ZodOptional<z.ZodString>;
|
|
71
48
|
benchmark_spec: z.ZodOptional<z.ZodString>;
|
|
72
49
|
live_cases: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
73
50
|
id: z.ZodString;
|
|
@@ -143,10 +120,11 @@ export declare const EvalPackSchema: z.ZodObject<{
|
|
|
143
120
|
diagnostic_attempts_per_profile: z.ZodOptional<z.ZodNumber>;
|
|
144
121
|
introspect_failures: z.ZodOptional<z.ZodBoolean>;
|
|
145
122
|
}, z.core.$strip>>;
|
|
146
|
-
|
|
123
|
+
workspaces: z.ZodArray<z.ZodObject<{
|
|
147
124
|
id: z.ZodString;
|
|
148
125
|
name: z.ZodString;
|
|
149
126
|
workflow: z.ZodString;
|
|
127
|
+
about: z.ZodOptional<z.ZodString>;
|
|
150
128
|
benchmark_spec: z.ZodOptional<z.ZodString>;
|
|
151
129
|
live_cases: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
152
130
|
id: z.ZodString;
|
|
@@ -164,36 +142,12 @@ export declare const EvalPackSchema: z.ZodObject<{
|
|
|
164
142
|
require_raw_fallback: z.ZodOptional<z.ZodBoolean>;
|
|
165
143
|
}, z.core.$strip>>>>;
|
|
166
144
|
}, z.core.$strip>>;
|
|
167
|
-
interfaces: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
168
|
-
id: z.ZodString;
|
|
169
|
-
name: z.ZodString;
|
|
170
|
-
knowledge_base: z.ZodString;
|
|
171
|
-
workflow: z.ZodString;
|
|
172
|
-
use_case: z.ZodString;
|
|
173
|
-
benchmark_spec: z.ZodOptional<z.ZodString>;
|
|
174
|
-
live_cases: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
175
|
-
id: z.ZodString;
|
|
176
|
-
question: z.ZodString;
|
|
177
|
-
answer: z.ZodOptional<z.ZodString>;
|
|
178
|
-
expect: z.ZodOptional<z.ZodObject<{
|
|
179
|
-
must_include: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
180
|
-
must_include_one_of: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
|
|
181
|
-
must_not_include: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
182
|
-
min_words: z.ZodOptional<z.ZodNumber>;
|
|
183
|
-
max_words: z.ZodOptional<z.ZodNumber>;
|
|
184
|
-
}, z.core.$strip>>;
|
|
185
|
-
strictness: z.ZodOptional<z.ZodString>;
|
|
186
|
-
forbid_raw_fallback: z.ZodOptional<z.ZodBoolean>;
|
|
187
|
-
require_raw_fallback: z.ZodOptional<z.ZodBoolean>;
|
|
188
|
-
}, z.core.$strip>>>>;
|
|
189
|
-
}, z.core.$strip>>>;
|
|
190
145
|
}, z.core.$strip>;
|
|
191
146
|
export type EvalTarget = z.infer<typeof EvalTargetSchema>;
|
|
192
147
|
export type EvalProfile = z.infer<typeof EvalProfileSchema>;
|
|
193
148
|
export type EvalRetryPolicy = z.infer<typeof EvalRetryPolicySchema>;
|
|
194
149
|
export type EvalLiveCase = z.infer<typeof EvalLiveCaseSchema>;
|
|
195
|
-
export type
|
|
196
|
-
export type EvalInterfacePack = z.infer<typeof EvalInterfacePackSchema>;
|
|
150
|
+
export type EvalWorkspacePack = z.infer<typeof EvalWorkspacePackSchema>;
|
|
197
151
|
export type EvalPack = z.infer<typeof EvalPackSchema>;
|
|
198
152
|
export declare function evalProfileToExecutionProfile(profile: EvalProfile): WorkflowExecutionProfile;
|
|
199
153
|
export declare function normalizeEvalQueryProfiles(pack: EvalPack): EvalProfile[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval-packs.d.ts","sourceRoot":"","sources":["../../src/lib/eval-packs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"eval-packs.d.ts","sourceRoot":"","sources":["../../src/lib/eval-packs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,eAAO,MAAM,gBAAgB;;;EAAkC,CAAC;AAChE,eAAO,MAAM,eAAe;;;EAAmC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;;;;;iBAO5B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;kBAgC7B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;iBAOlC,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4DzB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AActD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,WAAW,GAAG,wBAAwB,CAO5F;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,EAAE,CAExE;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,uBAAuB,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;CAChD,GACA,WAAW,EAAE,CAYf"}
|
package/dist/lib/eval-packs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { BenchmarkCaseExpectSchema,
|
|
3
|
-
export const EvalTargetSchema = z.enum(["source", "
|
|
2
|
+
import { BenchmarkCaseExpectSchema, WorkflowIdSchema, WorkflowIdPattern } from "./schema.js";
|
|
3
|
+
export const EvalTargetSchema = z.enum(["source", "workspace"]);
|
|
4
4
|
export const EvalAgentSchema = z.enum(["claude-code", "codex"]);
|
|
5
5
|
export const EvalProfileSchema = z.object({
|
|
6
6
|
id: z.string().regex(WorkflowIdPattern),
|
|
@@ -49,19 +49,11 @@ export const EvalLiveCaseSchema = z.preprocess((value) => {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
|
-
export const
|
|
52
|
+
export const EvalWorkspacePackSchema = z.object({
|
|
53
53
|
id: z.string().regex(WorkflowIdPattern),
|
|
54
54
|
name: z.string().min(1),
|
|
55
|
-
workflow:
|
|
56
|
-
|
|
57
|
-
live_cases: z.array(EvalLiveCaseSchema).optional(),
|
|
58
|
-
});
|
|
59
|
-
export const EvalInterfacePackSchema = z.object({
|
|
60
|
-
id: z.string().regex(WorkflowIdPattern),
|
|
61
|
-
name: z.string().min(1),
|
|
62
|
-
knowledge_base: z.string().regex(WorkflowIdPattern),
|
|
63
|
-
workflow: InterfaceWorkflowIdSchema,
|
|
64
|
-
use_case: z.string().min(1),
|
|
55
|
+
workflow: WorkflowIdSchema,
|
|
56
|
+
about: z.string().min(1).optional(),
|
|
65
57
|
benchmark_spec: z.string().min(1).optional(),
|
|
66
58
|
live_cases: z.array(EvalLiveCaseSchema).optional(),
|
|
67
59
|
});
|
|
@@ -74,8 +66,7 @@ export const EvalPackSchema = z.object({
|
|
|
74
66
|
diagnostic_compile_profiles: z.array(EvalProfileSchema).optional(),
|
|
75
67
|
query_profiles: z.array(EvalProfileSchema).optional(),
|
|
76
68
|
retry_policy: EvalRetryPolicySchema.optional(),
|
|
77
|
-
|
|
78
|
-
interfaces: z.array(EvalInterfacePackSchema).optional(),
|
|
69
|
+
workspaces: z.array(EvalWorkspacePackSchema).min(1),
|
|
79
70
|
}).superRefine((value, ctx) => {
|
|
80
71
|
const duplicateProfileIds = findDuplicates(value.compile_profiles.map((profile) => profile.id));
|
|
81
72
|
for (const id of duplicateProfileIds) {
|
|
@@ -114,40 +105,21 @@ export const EvalPackSchema = z.object({
|
|
|
114
105
|
message: `Duplicate query profile id: ${id}`,
|
|
115
106
|
});
|
|
116
107
|
}
|
|
117
|
-
const
|
|
118
|
-
const
|
|
119
|
-
for (const id of duplicateKnowledgeBaseIds) {
|
|
108
|
+
const duplicateWorkspaceIds = findDuplicates(value.workspaces.map((entry) => entry.id));
|
|
109
|
+
for (const id of duplicateWorkspaceIds) {
|
|
120
110
|
ctx.addIssue({
|
|
121
111
|
code: z.ZodIssueCode.custom,
|
|
122
|
-
path: ["
|
|
123
|
-
message: `Duplicate
|
|
112
|
+
path: ["workspaces"],
|
|
113
|
+
message: `Duplicate workspace id: ${id}`,
|
|
124
114
|
});
|
|
125
115
|
}
|
|
126
|
-
const duplicateInterfaceIds = findDuplicates((value.interfaces ?? []).map((entry) => entry.id));
|
|
127
|
-
for (const id of duplicateInterfaceIds) {
|
|
128
|
-
ctx.addIssue({
|
|
129
|
-
code: z.ZodIssueCode.custom,
|
|
130
|
-
path: ["interfaces"],
|
|
131
|
-
message: `Duplicate interface id: ${id}`,
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
for (const entry of value.interfaces ?? []) {
|
|
135
|
-
if (!knowledgeBaseIds.has(entry.knowledge_base)) {
|
|
136
|
-
ctx.addIssue({
|
|
137
|
-
code: z.ZodIssueCode.custom,
|
|
138
|
-
path: ["interfaces"],
|
|
139
|
-
message: `Interface "${entry.id}" references missing knowledge-base "${entry.knowledge_base}".`,
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
116
|
});
|
|
144
117
|
function findDuplicates(values) {
|
|
145
118
|
const seen = new Set();
|
|
146
119
|
const duplicates = new Set();
|
|
147
120
|
for (const value of values) {
|
|
148
|
-
if (seen.has(value))
|
|
121
|
+
if (seen.has(value))
|
|
149
122
|
duplicates.add(value);
|
|
150
|
-
}
|
|
151
123
|
seen.add(value);
|
|
152
124
|
}
|
|
153
125
|
return Array.from(duplicates.values()).sort();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval-packs.js","sourceRoot":"","sources":["../../src/lib/eval-packs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"eval-packs.js","sourceRoot":"","sources":["../../src/lib/eval-packs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
type ManualQueryScope = "
|
|
1
|
+
type ManualQueryScope = "workspace";
|
|
2
2
|
export declare function syncClaudeBootstrap(dirPath: string): void;
|
|
3
3
|
export declare function refreshWorkspaceBootstrapGuidance(dirPath: string): boolean;
|
|
4
4
|
export declare function buildManualQueryTopPreflightBlock(scope: ManualQueryScope): string[];
|
|
5
5
|
export declare function buildManualQueryFirstReplyRule(scope: ManualQueryScope): string[];
|
|
6
6
|
export declare function refreshLegacyAgentsBootstrap(content: string): string;
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function refreshLegacyInterfaceQuerySkill(content: string): string;
|
|
7
|
+
export declare function refreshLegacyWorkspaceQuerySkill(content: string): string;
|
|
9
8
|
export declare function insertLineAfterFirstMatch(content: string, predicate: (line: string) => boolean, insertedLine: string): string;
|
|
10
9
|
export declare function insertBlockBeforeFirstMatch(content: string, predicate: (line: string) => boolean, blockLines: string[]): string;
|
|
11
10
|
export declare function renderClaudeBootstrap(content: string): string;
|
|
12
|
-
export declare function
|
|
13
|
-
export declare function topInterfaceManualPreflightBlock(): string[];
|
|
11
|
+
export declare function topWorkspaceManualPreflightBlock(): string[];
|
|
14
12
|
export declare function buildWorkspaceRuntimeControlLines(workspaceLabel: string): string[];
|
|
15
13
|
export declare function buildWorkspaceAgentLayerLines(stageFolders: string, workspaceLabel: string): string[];
|
|
16
14
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interf-bootstrap.d.ts","sourceRoot":"","sources":["../../src/lib/interf-bootstrap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interf-bootstrap.d.ts","sourceRoot":"","sources":["../../src/lib/interf-bootstrap.ts"],"names":[],"mappings":"AAOA,KAAK,gBAAgB,GAAG,WAAW,CAAC;AAEpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIzD;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA8B1E;AAgBD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAanF;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAchF;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAmBpE;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2BxE;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACpC,YAAY,EAAE,MAAM,GACnB,MAAM,CAOR;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACpC,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,CAQR;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED,wBAAgB,gCAAgC,IAAI,MAAM,EAAE,CAe3D;AAED,wBAAgB,iCAAiC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CASlF;AAED,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAQpG"}
|
|
@@ -24,9 +24,7 @@ export function refreshWorkspaceBootstrapGuidance(dirPath) {
|
|
|
24
24
|
const querySkillPath = join(dirPath, "workflow", "use", "query", "SKILL.md");
|
|
25
25
|
if (existsSync(querySkillPath)) {
|
|
26
26
|
const current = readFileSync(querySkillPath, "utf8");
|
|
27
|
-
const refreshed =
|
|
28
|
-
? refreshLegacyInterfaceQuerySkill(current)
|
|
29
|
-
: refreshLegacyKnowledgeBaseQuerySkill(current);
|
|
27
|
+
const refreshed = refreshLegacyWorkspaceQuerySkill(current);
|
|
30
28
|
if (refreshed !== current) {
|
|
31
29
|
writeFileSync(querySkillPath, refreshed);
|
|
32
30
|
changed = true;
|
|
@@ -38,14 +36,6 @@ export function refreshWorkspaceBootstrapGuidance(dirPath) {
|
|
|
38
36
|
return changed;
|
|
39
37
|
}
|
|
40
38
|
function manualQueryScopeCopy(scope) {
|
|
41
|
-
if (scope === "interface") {
|
|
42
|
-
return {
|
|
43
|
-
sourceAccessPath: "../../.interf/source-access.json",
|
|
44
|
-
preflightLead: "verify parent KB reachability first, then inspect `../../.interf/source-access.json` immediately and open one `suggested_checks` path",
|
|
45
|
-
topIntro: "Before browsing notes on your own or answering from compiled interface outputs:",
|
|
46
|
-
postPreflight: "after the preflight, use local interface artifacts first, then the parent KB loop, and raw files mainly for quotes or verification",
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
39
|
return {
|
|
50
40
|
sourceAccessPath: ".interf/source-access.json",
|
|
51
41
|
preflightLead: "inspect `.interf/source-access.json` immediately and open one `suggested_checks` path",
|
|
@@ -85,20 +75,18 @@ export function buildManualQueryFirstReplyRule(scope) {
|
|
|
85
75
|
export function refreshLegacyAgentsBootstrap(content) {
|
|
86
76
|
const legacyLine = "On the first substantive reply in a manual session, make the raw-access status explicit: confirmed, unverified, or unavailable. Do not trigger a permission prompt just to greet the user; verify raw access only when the user asks about raw files or the answer depends on raw verification.";
|
|
87
77
|
const previousLine = "On the first substantive reply in a manual session, start with exactly one line: `Raw access: unverified`, `Raw access: confirmed`, or `Raw access: unavailable`. Use `unverified` until you actually run the raw-source gate, `confirmed` only after a suggested raw path is readable, and `unavailable` only after a raw check fails or permission is denied. Do not trigger a permission prompt just to greet the user; verify raw access only when the user asks about raw files or the answer depends on raw verification.";
|
|
88
|
-
const currentLine = "On the first substantive manual question, run the raw-source gate immediately.
|
|
78
|
+
const currentLine = "On the first substantive manual question, run the raw-source gate immediately. Check raw reachability before guessing. If the environment asks for permission, request it immediately. After that check, start the answer with exactly one line: `Raw access: confirmed` or `Raw access: unavailable`. `confirmed` means you actually opened and inspected at least one suggested raw path; a plain existence check is not enough. `unavailable` means the raw check failed or permission was denied.";
|
|
89
79
|
let replaced = content;
|
|
90
80
|
if (replaced.includes(legacyLine))
|
|
91
81
|
replaced = replaced.replace(legacyLine, currentLine);
|
|
92
82
|
if (replaced.includes(previousLine))
|
|
93
83
|
replaced = replaced.replace(previousLine, currentLine);
|
|
94
84
|
let refreshed = insertLineAfterFirstMatch(replaced, (line) => line.startsWith("If `workflow/use/query/` exists, read it before answering manual questions"), currentLine);
|
|
95
|
-
const block =
|
|
96
|
-
? topInterfaceManualPreflightBlock()
|
|
97
|
-
: topKnowledgeBaseManualPreflightBlock();
|
|
85
|
+
const block = topWorkspaceManualPreflightBlock();
|
|
98
86
|
refreshed = insertBlockBeforeFirstMatch(refreshed, (line) => line.startsWith("## How this "), block);
|
|
99
87
|
return refreshed;
|
|
100
88
|
}
|
|
101
|
-
export function
|
|
89
|
+
export function refreshLegacyWorkspaceQuerySkill(content) {
|
|
102
90
|
const legacyBlock = [
|
|
103
91
|
"First-reply rule:",
|
|
104
92
|
"- on your first substantive reply, say whether raw access is confirmed, unverified, or unavailable",
|
|
@@ -106,33 +94,15 @@ export function refreshLegacyKnowledgeBaseQuerySkill(content) {
|
|
|
106
94
|
"- if the user asks whether raw files are reachable, perform the raw-source gate immediately and report the result clearly",
|
|
107
95
|
"",
|
|
108
96
|
].join("\n");
|
|
109
|
-
const currentBlock = buildManualQueryFirstReplyRule("
|
|
110
|
-
const topBlock = buildManualQueryTopPreflightBlock("
|
|
97
|
+
const currentBlock = buildManualQueryFirstReplyRule("workspace").join("\n");
|
|
98
|
+
const topBlock = buildManualQueryTopPreflightBlock("workspace");
|
|
111
99
|
let normalized = content.includes(legacyBlock) ? content.replace(legacyBlock, currentBlock) : content;
|
|
112
100
|
if (normalized.includes("First-reply rule:") &&
|
|
113
101
|
!normalized.includes("plain existence check is not enough")) {
|
|
114
102
|
normalized = normalized.replace("First-reply rule:\n", currentBlock);
|
|
115
103
|
}
|
|
116
104
|
normalized = insertBlockBeforeFirstMatch(normalized, (line) => line.startsWith("Default loop:"), topBlock);
|
|
117
|
-
return insertBlockBeforeFirstMatch(normalized, (line) => line.startsWith("You can edit this file to bias manual question-answering behavior"), buildManualQueryFirstReplyRule("
|
|
118
|
-
}
|
|
119
|
-
export function refreshLegacyInterfaceQuerySkill(content) {
|
|
120
|
-
const legacyBlock = [
|
|
121
|
-
"First-reply rule:",
|
|
122
|
-
"- on your first substantive reply, say whether raw access is confirmed, unverified, or unavailable",
|
|
123
|
-
"- do not trigger a permission prompt just to introduce the workspace",
|
|
124
|
-
"- if the user asks whether raw files are reachable, perform the raw-source gate immediately and report the result clearly",
|
|
125
|
-
"",
|
|
126
|
-
].join("\n");
|
|
127
|
-
const currentBlock = buildManualQueryFirstReplyRule("interface").join("\n");
|
|
128
|
-
const topBlock = buildManualQueryTopPreflightBlock("interface");
|
|
129
|
-
let normalized = content.includes(legacyBlock) ? content.replace(legacyBlock, currentBlock) : content;
|
|
130
|
-
if (normalized.includes("First-reply rule:") &&
|
|
131
|
-
!normalized.includes("plain existence check is not enough")) {
|
|
132
|
-
normalized = normalized.replace("First-reply rule:\n", currentBlock);
|
|
133
|
-
}
|
|
134
|
-
normalized = insertBlockBeforeFirstMatch(normalized, (line) => line.startsWith("Default loop:"), topBlock);
|
|
135
|
-
return insertBlockBeforeFirstMatch(normalized, (line) => line.startsWith("Keep the interface-specific"), buildManualQueryFirstReplyRule("interface"));
|
|
105
|
+
return insertBlockBeforeFirstMatch(normalized, (line) => line.startsWith("You can edit this file to bias manual question-answering behavior"), buildManualQueryFirstReplyRule("workspace"));
|
|
136
106
|
}
|
|
137
107
|
export function insertLineAfterFirstMatch(content, predicate, insertedLine) {
|
|
138
108
|
if (content.includes(insertedLine))
|
|
@@ -163,7 +133,7 @@ export function renderClaudeBootstrap(content) {
|
|
|
163
133
|
"",
|
|
164
134
|
].join("\n");
|
|
165
135
|
}
|
|
166
|
-
export function
|
|
136
|
+
export function topWorkspaceManualPreflightBlock() {
|
|
167
137
|
return [
|
|
168
138
|
"## First question: required preflight",
|
|
169
139
|
"",
|
|
@@ -179,23 +149,6 @@ export function topKnowledgeBaseManualPreflightBlock() {
|
|
|
179
149
|
"",
|
|
180
150
|
];
|
|
181
151
|
}
|
|
182
|
-
export function topInterfaceManualPreflightBlock() {
|
|
183
|
-
return [
|
|
184
|
-
"## First question: required preflight",
|
|
185
|
-
"",
|
|
186
|
-
"Before describing this workspace or answering from compiled notes:",
|
|
187
|
-
"",
|
|
188
|
-
"1. Read local `workflow/use/query/SKILL.md` now.",
|
|
189
|
-
"2. Confirm local interface artifacts are reachable: `home.md`, `knowledge/`, `briefs/`, and local `summaries/`.",
|
|
190
|
-
"3. Confirm parent KB reachability via `../../AGENTS.md`, `../../home.md`, or `../../summaries/`.",
|
|
191
|
-
"4. Inspect `../../.interf/source-access.json` and open one `suggested_checks` path immediately.",
|
|
192
|
-
"5. If the environment asks for permission, request it right away instead of guessing.",
|
|
193
|
-
"6. `Raw access: confirmed` is allowed only after you actually open and inspect that raw file. A plain existence check is not enough.",
|
|
194
|
-
"7. Start the answer with exactly `Raw access: confirmed` or `Raw access: unavailable`.",
|
|
195
|
-
"8. If an exact chart value matters and the PDF page text does not expose it, switch to a concrete local extraction path before saying the number is unavailable.",
|
|
196
|
-
"",
|
|
197
|
-
];
|
|
198
|
-
}
|
|
199
152
|
export function buildWorkspaceRuntimeControlLines(workspaceLabel) {
|
|
200
153
|
return [
|
|
201
154
|
`- Source folder = CLI control plane and real files. This ${workspaceLabel} = generated workspace.`,
|
|
@@ -210,8 +163,8 @@ export function buildWorkspaceAgentLayerLines(stageFolders, workspaceLabel) {
|
|
|
210
163
|
return [
|
|
211
164
|
`Treat \`AGENTS.md\` as the directory-level router for navigation, path rules, command usage, and which local workflow docs to read next.`,
|
|
212
165
|
`Treat local \`workflow/.../SKILL.md\` files as workspace instruction docs. Do not assume they are globally installed slash-command skills; load them because \`AGENTS.md\` or the stage contract points to them.`,
|
|
213
|
-
`If \`workflow/use/query/\` exists, read it before answering manual questions from this ${workspaceLabel}
|
|
214
|
-
`On the first substantive manual question, run the raw-source gate immediately.
|
|
166
|
+
`If \`workflow/use/query/\` exists, read it before answering manual questions from this ${workspaceLabel}.`,
|
|
167
|
+
`On the first substantive manual question, run the raw-source gate immediately. Inspect \`.interf/source-access.json\` and open one suggested path. If the environment asks for permission, request it immediately instead of guessing. After that check, start the answer with exactly one line: \`Raw access: confirmed\` or \`Raw access: unavailable\`. \`confirmed\` means you actually opened and inspected at least one suggested raw path; a plain existence check is not enough. \`unavailable\` means the raw check failed or permission was denied. If an exact chart value matters and the PDF page text does not expose it, switch to a concrete local extraction path before saying the number is unavailable.`,
|
|
215
168
|
`If local workflow docs exist under \`workflow/compile/stages/\` (${stageFolders}), read them before running a stage. A doc can declare \`mode: extend\` or \`mode: override\` in JSON frontmatter. Override replaces the bundled workflow instructions for that stage, but Interf still enforces the same proof, schema, verifier, and state-machine rules.`,
|
|
216
169
|
];
|
|
217
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interf-bootstrap.js","sourceRoot":"","sources":["../../src/lib/interf-bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"interf-bootstrap.js","sourceRoot":"","sources":["../../src/lib/interf-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,33 @@
|
|
|
1
1
|
import { type InterfConfig } from "./schema.js";
|
|
2
2
|
export type { InterfConfig } from "./schema.js";
|
|
3
|
-
|
|
4
|
-
type: "knowledge-base";
|
|
5
|
-
}>;
|
|
6
|
-
export interface ResolvedKnowledgeBase {
|
|
3
|
+
export interface ResolvedWorkspace {
|
|
7
4
|
sourcePath: string;
|
|
8
|
-
|
|
5
|
+
workspacePath: string;
|
|
9
6
|
config: InterfConfig;
|
|
10
7
|
}
|
|
11
8
|
export declare const INTERF_CONTAINER_NAME = "interf";
|
|
9
|
+
export declare const WORKSPACE_CONTAINER_NAME = "workspaces";
|
|
12
10
|
export declare const WORKFLOW_CONTAINER_NAME = "workflows";
|
|
13
11
|
export declare const BENCHMARK_CONTAINER_NAME = "benchmarks";
|
|
14
12
|
export declare const INTERF_CONFIG_FILE = "interf.json";
|
|
15
13
|
export declare const WORKFLOW_PACKAGE_DIR = "workflow";
|
|
16
14
|
export declare function readInterfConfig(dirPath: string): InterfConfig | null;
|
|
15
|
+
export declare function hasSourceFolderInput(config: InterfConfig | null | undefined): config is InterfConfig & {
|
|
16
|
+
source: {
|
|
17
|
+
path: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
17
20
|
export declare function detectInterf(cwd: string): {
|
|
18
21
|
path: string;
|
|
19
22
|
config: InterfConfig;
|
|
20
23
|
} | null;
|
|
21
|
-
export declare function
|
|
22
|
-
export declare function
|
|
23
|
-
export declare function
|
|
24
|
-
export declare function listKnowledgeBasesForSourceFolder(sourcePath: string): Array<{
|
|
24
|
+
export declare function resolveWorkspace(cwd: string): ResolvedWorkspace | null;
|
|
25
|
+
export declare function resolveSourceFolderPath(workspacePath: string, config?: InterfConfig | null): string;
|
|
26
|
+
export declare function listWorkspacesForSourceFolder(sourcePath: string): Array<{
|
|
25
27
|
path: string;
|
|
26
|
-
config:
|
|
28
|
+
config: InterfConfig;
|
|
27
29
|
}>;
|
|
28
|
-
export declare function
|
|
30
|
+
export declare function assertWorkspaceContainer(sourcePath: string): string;
|
|
29
31
|
export declare function assertWritableTargetDir(dirPath: string, label: string): void;
|
|
30
32
|
export declare function assertWorkspaceName(name: string, label: string): void;
|
|
31
33
|
//# sourceMappingURL=interf-detect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interf-detect.d.ts","sourceRoot":"","sources":["../../src/lib/interf-detect.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"interf-detect.d.ts","sourceRoot":"","sources":["../../src/lib/interf-detect.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,wBAAwB,eAAe,CAAC;AACrD,eAAO,MAAM,uBAAuB,cAAc,CAAC;AACnD,eAAO,MAAM,wBAAwB,eAAe,CAAC;AACrD,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAChD,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAE/C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAIrE;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,GACtC,MAAM,IAAI,YAAY,GAAG;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAEvD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GAAG,IAAI,CAwBvF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAStE;AAED,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,YAAY,GAAG,IAAsC,GAC5D,MAAM,CAMR;AA6BD,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,GACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC,CAE/C;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA0DnE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAW5E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMrE"}
|