@interf/compiler 0.16.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -0
- package/README.md +90 -73
- package/TRADEMARKS.md +4 -4
- package/dist/cli/commands/mcp.d.ts +0 -34
- package/dist/cli/commands/mcp.js +246 -45
- package/dist/cli/commands/method.js +261 -15
- package/dist/cli/commands/prep.js +116 -15
- package/dist/cli/commands/runs.js +103 -9
- package/dist/cli/commands/status.js +4 -2
- package/dist/cli/commands/test.d.ts +10 -0
- package/dist/cli/commands/{verify.js → test.js} +24 -17
- package/dist/cli/commands/web.js +82 -8
- package/dist/cli/commands/wizard.js +158 -51
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +3 -3
- package/dist/compiler-ui/404.html +1 -1
- package/dist/compiler-ui/__next.__PAGE__.txt +5 -5
- package/dist/compiler-ui/__next._full.txt +13 -12
- package/dist/compiler-ui/__next._head.txt +3 -3
- package/dist/compiler-ui/__next._index.txt +5 -4
- package/dist/compiler-ui/__next._tree.txt +4 -3
- package/dist/compiler-ui/_next/static/chunks/01646j7yi.w5a.css +1 -0
- package/dist/compiler-ui/_next/static/chunks/{0n51hrfoufc7g.js → 02f_.8.ebn556.js} +1 -1
- package/dist/compiler-ui/_next/static/chunks/02r7siaw-_p5w.js +1 -0
- package/dist/compiler-ui/_next/static/chunks/{08m7vf5asqlsm.js → 04d0ly-7xb~-j.js} +10 -10
- package/dist/compiler-ui/_next/static/chunks/0fhs9psnxqd8s.js +1 -0
- package/dist/compiler-ui/_next/static/chunks/0mssmhpbifj15.css +2 -0
- package/dist/compiler-ui/_next/static/chunks/0nypu~ddwxari.js +116 -0
- package/dist/compiler-ui/_next/static/chunks/0p3s8iyhgcww2.js +31 -0
- package/dist/compiler-ui/_next/static/chunks/0tjf-vu_rz8s0.css +1 -0
- package/dist/compiler-ui/_next/static/chunks/0u6p3fpbbfgtl.js +1 -0
- package/dist/compiler-ui/_next/static/chunks/0wpx5..8dnh0w.js +1 -0
- package/dist/compiler-ui/_next/static/chunks/0y0uj160p0ts~.js +1 -0
- package/dist/compiler-ui/_next/static/chunks/10t8l~_oenf.c.js +1 -0
- package/dist/compiler-ui/_next/static/chunks/13gz9e7z~imx1.js +5 -0
- package/dist/compiler-ui/_next/static/chunks/156xed-b6czaw.js +1 -0
- package/dist/compiler-ui/_next/static/chunks/{turbopack-0.uq1k8c0j4s..js → turbopack-02-3e_c-yz~5g.js} +1 -1
- package/dist/compiler-ui/_next/static/chunks/{turbopack-10e~t1yzi4svj.js → turbopack-0apv8vb-nczuy.js} +1 -1
- package/dist/compiler-ui/_not-found/__next._full.txt +10 -9
- package/dist/compiler-ui/_not-found/__next._head.txt +3 -3
- package/dist/compiler-ui/_not-found/__next._index.txt +5 -4
- package/dist/compiler-ui/_not-found/__next._not-found.__PAGE__.txt +2 -2
- package/dist/compiler-ui/_not-found/__next._not-found.txt +3 -3
- package/dist/compiler-ui/_not-found/__next._tree.txt +3 -2
- package/dist/compiler-ui/_not-found.html +1 -1
- package/dist/compiler-ui/_not-found.txt +10 -9
- package/dist/compiler-ui/index.html +1 -1
- package/dist/compiler-ui/index.txt +13 -12
- package/dist/packages/contracts/index.d.ts +2 -2
- package/dist/packages/contracts/index.js +1 -1
- package/dist/packages/contracts/lib/schema.d.ts +275 -72
- package/dist/packages/contracts/lib/schema.js +244 -83
- package/dist/packages/engine/action-definitions.d.ts +174 -13
- package/dist/packages/engine/action-definitions.js +125 -122
- package/dist/packages/engine/action-planner.js +4 -11
- package/dist/packages/engine/agents/lib/shells.d.ts +15 -5
- package/dist/packages/engine/agents/lib/shells.js +134 -123
- package/dist/packages/engine/agents/role-executors.js +1 -1
- package/dist/packages/engine/cloud-seams.d.ts +115 -0
- package/dist/packages/engine/cloud-seams.js +84 -0
- package/dist/packages/engine/compile/artifact-counts.d.ts +1 -1
- package/dist/packages/engine/compile/artifact-counts.js +3 -3
- package/dist/packages/engine/compile/artifact-status.d.ts +41 -0
- package/dist/packages/engine/compile/artifact-status.js +166 -0
- package/dist/packages/engine/compile/billing-events.d.ts +89 -0
- package/dist/packages/engine/compile/billing-events.js +74 -0
- package/dist/packages/engine/compile/check-evaluator.d.ts +66 -0
- package/dist/packages/engine/compile/check-evaluator.js +298 -0
- package/dist/packages/engine/compile/compiled-paths.js +6 -6
- package/dist/packages/engine/compile/compiled-schema.d.ts +7 -17
- package/dist/packages/engine/compile/compiled-schema.js +55 -70
- package/dist/packages/engine/compile/compiled-stage-plan.d.ts +1 -0
- package/dist/packages/engine/compile/compiled-stage-plan.js +32 -15
- package/dist/packages/engine/compile/compiled-stage-runner.js +1 -1
- package/dist/packages/engine/compile/index.d.ts +0 -1
- package/dist/packages/engine/compile/index.js +0 -1
- package/dist/packages/engine/compile/lib/schema.d.ts +111 -92
- package/dist/packages/engine/compile/lib/schema.js +35 -39
- package/dist/packages/engine/compile/method-primitives.d.ts +2 -2
- package/dist/packages/engine/compile/method-primitives.js +1 -1
- package/dist/packages/engine/compile/reset.js +4 -4
- package/dist/packages/engine/compile/runtime-contracts.js +2 -1
- package/dist/packages/engine/compile/runtime-prompt.js +3 -2
- package/dist/packages/engine/compile/runtime-reconcile.js +35 -35
- package/dist/packages/engine/compile/runtime-runs.js +0 -1
- package/dist/packages/engine/compile/runtime-types.d.ts +7 -8
- package/dist/packages/engine/compile/runtime.d.ts +1 -2
- package/dist/packages/engine/compile/runtime.js +0 -1
- package/dist/packages/engine/compile/state-health.js +6 -6
- package/dist/packages/engine/compile/state-view.js +7 -6
- package/dist/packages/engine/compile/validate-compiled.js +61 -30
- package/dist/packages/engine/compile/validate.js +26 -24
- package/dist/packages/engine/connection-config.js +1 -1
- package/dist/packages/engine/execution/lib/schema.d.ts +89 -33
- package/dist/packages/engine/execution/lib/schema.js +13 -5
- package/dist/packages/engine/index.d.ts +2 -2
- package/dist/packages/engine/index.js +1 -1
- package/dist/packages/engine/instance-paths.d.ts +15 -9
- package/dist/packages/engine/instance-paths.js +15 -9
- package/dist/packages/engine/lib/schema.d.ts +1316 -351
- package/dist/packages/engine/lib/schema.js +99 -36
- package/dist/packages/engine/native-run-handlers.js +25 -15
- package/dist/packages/engine/preparation-store.d.ts +9 -7
- package/dist/packages/engine/preparation-store.js +20 -0
- package/dist/packages/engine/requested-artifacts.d.ts +5 -0
- package/dist/packages/engine/requested-artifacts.js +36 -0
- package/dist/packages/engine/routes.d.ts +7 -1
- package/dist/packages/engine/routes.js +7 -1
- package/dist/packages/engine/run-observability.js +4 -4
- package/dist/packages/engine/runtime-event-applier.js +7 -0
- package/dist/packages/engine/runtime-proposal-helpers.d.ts +2 -2
- package/dist/packages/engine/runtime-proposal-helpers.js +6 -8
- package/dist/packages/engine/runtime-resource-builders.d.ts +11 -6
- package/dist/packages/engine/runtime-resource-builders.js +18 -6
- package/dist/packages/engine/runtime.d.ts +70 -8
- package/dist/packages/engine/runtime.js +304 -49
- package/dist/packages/engine/server.d.ts +25 -0
- package/dist/packages/engine/server.js +161 -50
- package/dist/packages/engine/verify/index.d.ts +10 -10
- package/dist/packages/engine/verify/index.js +8 -8
- package/dist/packages/engine/verify/readiness-check-run.d.ts +27 -4
- package/dist/packages/engine/verify/readiness-check-run.js +92 -24
- package/dist/packages/engine/verify/{test-execution.d.ts → verify-execution.d.ts} +2 -2
- package/dist/packages/engine/verify/{test-execution.js → verify-execution.js} +3 -3
- package/dist/packages/engine/verify/{test-paths.d.ts → verify-paths.d.ts} +1 -1
- package/dist/packages/engine/verify/{test-sandbox.d.ts → verify-sandbox.d.ts} +1 -1
- package/dist/packages/engine/verify/{test-specs.d.ts → verify-specs.d.ts} +1 -1
- package/dist/packages/engine/verify/{test-specs.js → verify-specs.js} +1 -1
- package/dist/packages/engine/verify/{test-targets.d.ts → verify-targets.d.ts} +1 -1
- package/dist/packages/engine/verify/{test.d.ts → verify.d.ts} +4 -4
- package/dist/packages/engine/verify/{test.js → verify.js} +3 -3
- package/dist/packages/engine/wire-schemas.d.ts +549 -0
- package/dist/packages/engine/wire-schemas.js +59 -0
- package/dist/packages/methods/authoring/method-authoring.d.ts +5 -1
- package/dist/packages/methods/authoring/method-authoring.js +68 -18
- package/dist/packages/methods/authoring/method-edit-session.js +5 -5
- package/dist/packages/methods/authoring/method-improvement.js +1 -1
- package/dist/packages/methods/package/builtin-compiled-method.d.ts +12 -12
- package/dist/packages/methods/package/builtin-compiled-method.js +26 -23
- package/dist/packages/methods/package/context-interface.d.ts +39 -26
- package/dist/packages/methods/package/context-interface.js +48 -39
- package/dist/packages/methods/package/interf-method-package.js +28 -47
- package/dist/packages/methods/package/local-methods.d.ts +4 -4
- package/dist/packages/methods/package/local-methods.js +53 -66
- package/dist/packages/methods/package/method-definitions.d.ts +4 -6
- package/dist/packages/methods/package/method-definitions.js +1 -5
- package/dist/packages/methods/package/method-helpers.d.ts +0 -2
- package/dist/packages/methods/package/method-helpers.js +0 -4
- package/dist/packages/project/interf-detect.js +6 -6
- package/dist/packages/project/interf-scaffold.js +12 -12
- package/dist/packages/project/lib/schema.d.ts +193 -0
- package/dist/packages/project/lib/schema.js +46 -1
- package/dist/packages/project/source-config.js +6 -1
- package/dist/packages/project/source-folders.js +1 -1
- package/package.json +12 -23
- package/public-repo/CONTRIBUTING.md +47 -0
- package/public-repo/LICENSE.md +1 -0
- package/public-repo/README.md +325 -0
- package/public-repo/SECURITY.md +67 -0
- package/public-repo/TRADEMARKS.md +8 -0
- package/{builtin-methods → public-repo/methods}/interf-default/README.md +10 -7
- package/{builtin-methods → public-repo/methods}/interf-default/compile/stages/shape/SKILL.md +4 -8
- package/{builtin-methods → public-repo/methods}/interf-default/method.json +8 -69
- package/public-repo/methods/interf-default/method.schema.json +75 -0
- package/public-repo/methods/interf-default/use/query/SKILL.md +23 -0
- package/public-repo/plugins/README.md +9 -0
- package/public-repo/plugins/interf/.claude-plugin/plugin.json +21 -0
- package/public-repo/plugins/interf/.mcp.json +12 -0
- package/public-repo/plugins/interf/README.md +29 -0
- package/public-repo/plugins/interf/skills/interf/SKILL.md +477 -0
- package/public-repo/skills/interf/SKILL.md +477 -0
- package/agent-skills/interf-actions/SKILL.md +0 -185
- package/agent-skills/interf-actions/references/cli.md +0 -243
- package/builtin-methods/interf-default/method.schema.json +0 -73
- package/builtin-methods/interf-default/use/query/SKILL.md +0 -28
- package/dist/cli/commands/verify.d.ts +0 -8
- package/dist/compiler-ui/_next/static/chunks/06yhdspx~ca5-.js +0 -5
- package/dist/compiler-ui/_next/static/chunks/06z~l3kwb891e.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/08g7lvje.te.u.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0_i-3_5l9t2qe.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0b-ywny_j0g~0.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0b52v41o1gixx.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0gpzgsv0w.q~m.js +0 -31
- package/dist/compiler-ui/_next/static/chunks/0ilwfezfvu6~-.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0jipmpez3_ehh.js +0 -89
- package/dist/compiler-ui/_next/static/chunks/0xxmf45eskdt~.css +0 -1
- package/dist/compiler-ui/_next/static/chunks/13awzu4tooflw.css +0 -3
- package/dist/compiler-ui/_next/static/chunks/14wtz~vq25~qq.js +0 -1
- package/dist/packages/engine/compile/runtime-acceptance.d.ts +0 -9
- package/dist/packages/engine/compile/runtime-acceptance.js +0 -265
- /package/dist/compiler-ui/_next/static/{a3UiUF0DiMEbfWy_0gihg → tYHMLL9oKds1yDoNYgkPV}/_buildManifest.js +0 -0
- /package/dist/compiler-ui/_next/static/{a3UiUF0DiMEbfWy_0gihg → tYHMLL9oKds1yDoNYgkPV}/_clientMiddlewareManifest.js +0 -0
- /package/dist/compiler-ui/_next/static/{a3UiUF0DiMEbfWy_0gihg → tYHMLL9oKds1yDoNYgkPV}/_ssgManifest.js +0 -0
- /package/dist/packages/engine/verify/{test-paths.js → verify-paths.js} +0 -0
- /package/dist/packages/engine/verify/{test-profile-presets.d.ts → verify-profile-presets.d.ts} +0 -0
- /package/dist/packages/engine/verify/{test-profile-presets.js → verify-profile-presets.js} +0 -0
- /package/dist/packages/engine/verify/{test-sandbox.js → verify-sandbox.js} +0 -0
- /package/dist/packages/engine/verify/{test-targets.js → verify-targets.js} +0 -0
- /package/dist/packages/engine/verify/{test-types.d.ts → verify-types.d.ts} +0 -0
- /package/dist/packages/engine/verify/{test-types.js → verify-types.js} +0 -0
- /package/{builtin-methods → public-repo/methods}/interf-default/compile/stages/structure/SKILL.md +0 -0
- /package/{builtin-methods → public-repo/methods}/interf-default/compile/stages/summarize/SKILL.md +0 -0
- /package/{builtin-methods → public-repo/methods}/interf-default/improve/SKILL.md +0 -0
|
@@ -14,6 +14,95 @@ export declare const SourceReadinessCheckSchema: z.ZodObject<{
|
|
|
14
14
|
}, z.core.$strip>>;
|
|
15
15
|
strictness: z.ZodOptional<z.ZodString>;
|
|
16
16
|
}, z.core.$strict>;
|
|
17
|
+
export declare const RequestedArtifactCheckSchema: z.ZodObject<{
|
|
18
|
+
label: z.ZodString;
|
|
19
|
+
}, z.core.$loose>;
|
|
20
|
+
export declare const RequestedArtifactOutputSchema: z.ZodObject<{
|
|
21
|
+
path: z.ZodOptional<z.ZodString>;
|
|
22
|
+
shape: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
kind: z.ZodLiteral<"path">;
|
|
24
|
+
path: z.ZodString;
|
|
25
|
+
artifact_kind: z.ZodEnum<{
|
|
26
|
+
file: "file";
|
|
27
|
+
directory: "directory";
|
|
28
|
+
}>;
|
|
29
|
+
}, z.core.$strict>>;
|
|
30
|
+
checks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
31
|
+
id: z.ZodString;
|
|
32
|
+
kind: z.ZodEnum<{
|
|
33
|
+
file_exists: "file_exists";
|
|
34
|
+
min_file_count: "min_file_count";
|
|
35
|
+
min_file_count_matches_source: "min_file_count_matches_source";
|
|
36
|
+
frontmatter_valid: "frontmatter_valid";
|
|
37
|
+
frontmatter_required_keys: "frontmatter_required_keys";
|
|
38
|
+
wikilinks_valid: "wikilinks_valid";
|
|
39
|
+
must_not_contain: "must_not_contain";
|
|
40
|
+
must_contain: "must_contain";
|
|
41
|
+
qa_match: "qa_match";
|
|
42
|
+
}>;
|
|
43
|
+
description: z.ZodOptional<z.ZodString>;
|
|
44
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
45
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
46
|
+
}, z.core.$strict>>>;
|
|
47
|
+
stage_hint: z.ZodOptional<z.ZodString>;
|
|
48
|
+
}, z.core.$strict>;
|
|
49
|
+
export declare const RequestedArtifactSchema: z.ZodPreprocess<z.ZodObject<{
|
|
50
|
+
id: z.ZodOptional<z.ZodString>;
|
|
51
|
+
title: z.ZodString;
|
|
52
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
53
|
+
description: z.ZodOptional<z.ZodString>;
|
|
54
|
+
checks: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
55
|
+
label: z.ZodString;
|
|
56
|
+
}, z.core.$loose>]>>>;
|
|
57
|
+
output: z.ZodOptional<z.ZodObject<{
|
|
58
|
+
path: z.ZodOptional<z.ZodString>;
|
|
59
|
+
shape: z.ZodOptional<z.ZodObject<{
|
|
60
|
+
kind: z.ZodLiteral<"path">;
|
|
61
|
+
path: z.ZodString;
|
|
62
|
+
artifact_kind: z.ZodEnum<{
|
|
63
|
+
file: "file";
|
|
64
|
+
directory: "directory";
|
|
65
|
+
}>;
|
|
66
|
+
}, z.core.$strict>>;
|
|
67
|
+
checks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
68
|
+
id: z.ZodString;
|
|
69
|
+
kind: z.ZodEnum<{
|
|
70
|
+
file_exists: "file_exists";
|
|
71
|
+
min_file_count: "min_file_count";
|
|
72
|
+
min_file_count_matches_source: "min_file_count_matches_source";
|
|
73
|
+
frontmatter_valid: "frontmatter_valid";
|
|
74
|
+
frontmatter_required_keys: "frontmatter_required_keys";
|
|
75
|
+
wikilinks_valid: "wikilinks_valid";
|
|
76
|
+
must_not_contain: "must_not_contain";
|
|
77
|
+
must_contain: "must_contain";
|
|
78
|
+
qa_match: "qa_match";
|
|
79
|
+
}>;
|
|
80
|
+
description: z.ZodOptional<z.ZodString>;
|
|
81
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
82
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
83
|
+
}, z.core.$strict>>>;
|
|
84
|
+
stage_hint: z.ZodOptional<z.ZodString>;
|
|
85
|
+
}, z.core.$strict>>;
|
|
86
|
+
}, z.core.$strict>>;
|
|
87
|
+
export declare const SourceProfileItemSchema: z.ZodObject<{
|
|
88
|
+
name: z.ZodOptional<z.ZodString>;
|
|
89
|
+
path: z.ZodOptional<z.ZodString>;
|
|
90
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
91
|
+
page_count: z.ZodOptional<z.ZodNumber>;
|
|
92
|
+
note: z.ZodOptional<z.ZodString>;
|
|
93
|
+
}, z.core.$loose>;
|
|
94
|
+
export declare const SourceProfileSchema: z.ZodObject<{
|
|
95
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
96
|
+
items: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
97
|
+
name: z.ZodOptional<z.ZodString>;
|
|
98
|
+
path: z.ZodOptional<z.ZodString>;
|
|
99
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
100
|
+
page_count: z.ZodOptional<z.ZodNumber>;
|
|
101
|
+
note: z.ZodOptional<z.ZodString>;
|
|
102
|
+
}, z.core.$loose>>>;
|
|
103
|
+
observations: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
104
|
+
limitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
105
|
+
}, z.core.$loose>;
|
|
17
106
|
export declare const SourcePreparationConfigSchema: z.ZodObject<{
|
|
18
107
|
id: z.ZodOptional<z.ZodString>;
|
|
19
108
|
name: z.ZodString;
|
|
@@ -35,6 +124,56 @@ export declare const SourcePreparationConfigSchema: z.ZodObject<{
|
|
|
35
124
|
}, z.core.$strip>>;
|
|
36
125
|
strictness: z.ZodOptional<z.ZodString>;
|
|
37
126
|
}, z.core.$strict>>>;
|
|
127
|
+
requested_artifacts: z.ZodOptional<z.ZodArray<z.ZodPreprocess<z.ZodObject<{
|
|
128
|
+
id: z.ZodOptional<z.ZodString>;
|
|
129
|
+
title: z.ZodString;
|
|
130
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
131
|
+
description: z.ZodOptional<z.ZodString>;
|
|
132
|
+
checks: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
133
|
+
label: z.ZodString;
|
|
134
|
+
}, z.core.$loose>]>>>;
|
|
135
|
+
output: z.ZodOptional<z.ZodObject<{
|
|
136
|
+
path: z.ZodOptional<z.ZodString>;
|
|
137
|
+
shape: z.ZodOptional<z.ZodObject<{
|
|
138
|
+
kind: z.ZodLiteral<"path">;
|
|
139
|
+
path: z.ZodString;
|
|
140
|
+
artifact_kind: z.ZodEnum<{
|
|
141
|
+
file: "file";
|
|
142
|
+
directory: "directory";
|
|
143
|
+
}>;
|
|
144
|
+
}, z.core.$strict>>;
|
|
145
|
+
checks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
146
|
+
id: z.ZodString;
|
|
147
|
+
kind: z.ZodEnum<{
|
|
148
|
+
file_exists: "file_exists";
|
|
149
|
+
min_file_count: "min_file_count";
|
|
150
|
+
min_file_count_matches_source: "min_file_count_matches_source";
|
|
151
|
+
frontmatter_valid: "frontmatter_valid";
|
|
152
|
+
frontmatter_required_keys: "frontmatter_required_keys";
|
|
153
|
+
wikilinks_valid: "wikilinks_valid";
|
|
154
|
+
must_not_contain: "must_not_contain";
|
|
155
|
+
must_contain: "must_contain";
|
|
156
|
+
qa_match: "qa_match";
|
|
157
|
+
}>;
|
|
158
|
+
description: z.ZodOptional<z.ZodString>;
|
|
159
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
160
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
161
|
+
}, z.core.$strict>>>;
|
|
162
|
+
stage_hint: z.ZodOptional<z.ZodString>;
|
|
163
|
+
}, z.core.$strict>>;
|
|
164
|
+
}, z.core.$strict>>>>;
|
|
165
|
+
source_profile: z.ZodOptional<z.ZodObject<{
|
|
166
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
167
|
+
items: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
168
|
+
name: z.ZodOptional<z.ZodString>;
|
|
169
|
+
path: z.ZodOptional<z.ZodString>;
|
|
170
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
171
|
+
page_count: z.ZodOptional<z.ZodNumber>;
|
|
172
|
+
note: z.ZodOptional<z.ZodString>;
|
|
173
|
+
}, z.core.$loose>>>;
|
|
174
|
+
observations: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
175
|
+
limitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
176
|
+
}, z.core.$loose>>;
|
|
38
177
|
}, z.core.$strict>;
|
|
39
178
|
export declare const SourceFolderBindingSchema: z.ZodObject<{
|
|
40
179
|
path: z.ZodString;
|
|
@@ -124,10 +263,64 @@ export declare const SourceFolderConfigSchema: z.ZodObject<{
|
|
|
124
263
|
}, z.core.$strip>>;
|
|
125
264
|
strictness: z.ZodOptional<z.ZodString>;
|
|
126
265
|
}, z.core.$strict>>>;
|
|
266
|
+
requested_artifacts: z.ZodOptional<z.ZodArray<z.ZodPreprocess<z.ZodObject<{
|
|
267
|
+
id: z.ZodOptional<z.ZodString>;
|
|
268
|
+
title: z.ZodString;
|
|
269
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
270
|
+
description: z.ZodOptional<z.ZodString>;
|
|
271
|
+
checks: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
272
|
+
label: z.ZodString;
|
|
273
|
+
}, z.core.$loose>]>>>;
|
|
274
|
+
output: z.ZodOptional<z.ZodObject<{
|
|
275
|
+
path: z.ZodOptional<z.ZodString>;
|
|
276
|
+
shape: z.ZodOptional<z.ZodObject<{
|
|
277
|
+
kind: z.ZodLiteral<"path">;
|
|
278
|
+
path: z.ZodString;
|
|
279
|
+
artifact_kind: z.ZodEnum<{
|
|
280
|
+
file: "file";
|
|
281
|
+
directory: "directory";
|
|
282
|
+
}>;
|
|
283
|
+
}, z.core.$strict>>;
|
|
284
|
+
checks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
285
|
+
id: z.ZodString;
|
|
286
|
+
kind: z.ZodEnum<{
|
|
287
|
+
file_exists: "file_exists";
|
|
288
|
+
min_file_count: "min_file_count";
|
|
289
|
+
min_file_count_matches_source: "min_file_count_matches_source";
|
|
290
|
+
frontmatter_valid: "frontmatter_valid";
|
|
291
|
+
frontmatter_required_keys: "frontmatter_required_keys";
|
|
292
|
+
wikilinks_valid: "wikilinks_valid";
|
|
293
|
+
must_not_contain: "must_not_contain";
|
|
294
|
+
must_contain: "must_contain";
|
|
295
|
+
qa_match: "qa_match";
|
|
296
|
+
}>;
|
|
297
|
+
description: z.ZodOptional<z.ZodString>;
|
|
298
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
299
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
300
|
+
}, z.core.$strict>>>;
|
|
301
|
+
stage_hint: z.ZodOptional<z.ZodString>;
|
|
302
|
+
}, z.core.$strict>>;
|
|
303
|
+
}, z.core.$strict>>>>;
|
|
304
|
+
source_profile: z.ZodOptional<z.ZodObject<{
|
|
305
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
306
|
+
items: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
307
|
+
name: z.ZodOptional<z.ZodString>;
|
|
308
|
+
path: z.ZodOptional<z.ZodString>;
|
|
309
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
310
|
+
page_count: z.ZodOptional<z.ZodNumber>;
|
|
311
|
+
note: z.ZodOptional<z.ZodString>;
|
|
312
|
+
}, z.core.$loose>>>;
|
|
313
|
+
observations: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
314
|
+
limitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
315
|
+
}, z.core.$loose>>;
|
|
127
316
|
}, z.core.$strict>>>;
|
|
128
317
|
}, z.core.$strict>;
|
|
129
318
|
export type SourceFolderBinding = z.infer<typeof SourceFolderBindingSchema>;
|
|
319
|
+
export type RequestedArtifactCheck = z.infer<typeof RequestedArtifactCheckSchema>;
|
|
320
|
+
export type RequestedArtifact = z.infer<typeof RequestedArtifactSchema>;
|
|
321
|
+
export type RequestedArtifactOutput = z.infer<typeof RequestedArtifactOutputSchema>;
|
|
130
322
|
export type SourceReadinessCheck = z.infer<typeof SourceReadinessCheckSchema>;
|
|
323
|
+
export type SourceProfile = z.infer<typeof SourceProfileSchema>;
|
|
131
324
|
export type PreparationName = z.infer<typeof PreparationNameSchema>;
|
|
132
325
|
export type MethodId = z.infer<typeof MethodIdSchema>;
|
|
133
326
|
export type SourcePreparationConfig = z.infer<typeof SourcePreparationConfigSchema>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { isAbsolute, normalize } from "node:path";
|
|
3
|
-
import { InterfIdPattern, MethodIdSchema, PreparationNameSchema, SourceCompiledMaxAttemptsSchema, SourceCompiledMaxLoopsSchema, TestCaseExpectSchema, } from "../../contracts/lib/schema.js";
|
|
3
|
+
import { ArtifactPathShapeSchema, CheckSchema, InterfIdPattern, MethodIdSchema, PreparationNameSchema, SourceCompiledMaxAttemptsSchema, SourceCompiledMaxLoopsSchema, TestCaseExpectSchema, } from "../../contracts/lib/schema.js";
|
|
4
4
|
export { MethodIdSchema, PreparationNameSchema, } from "../../contracts/lib/schema.js";
|
|
5
5
|
/**
|
|
6
6
|
* Absolute paths that an attacker-controlled config must never reach. The
|
|
@@ -45,6 +45,49 @@ export const SourceReadinessCheckSchema = z.object({
|
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
+
export const RequestedArtifactCheckSchema = z.object({
|
|
49
|
+
label: z.string().min(1),
|
|
50
|
+
}).passthrough();
|
|
51
|
+
export const RequestedArtifactOutputSchema = z.object({
|
|
52
|
+
path: z.string().min(1).optional(),
|
|
53
|
+
shape: ArtifactPathShapeSchema.optional(),
|
|
54
|
+
checks: z.array(CheckSchema).default([]),
|
|
55
|
+
stage_hint: z.string().min(1).optional(),
|
|
56
|
+
}).strict();
|
|
57
|
+
const RequestedArtifactObjectSchema = z.object({
|
|
58
|
+
id: z.string().min(1).optional(),
|
|
59
|
+
title: z.string().min(1),
|
|
60
|
+
purpose: z.string().min(1).optional(),
|
|
61
|
+
description: z.string().min(1).optional(),
|
|
62
|
+
checks: z.array(z.union([z.string().min(1), RequestedArtifactCheckSchema])).default([]),
|
|
63
|
+
output: RequestedArtifactOutputSchema.optional(),
|
|
64
|
+
}).strict();
|
|
65
|
+
export const RequestedArtifactSchema = z.preprocess((value) => {
|
|
66
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
67
|
+
return value;
|
|
68
|
+
const record = value;
|
|
69
|
+
if (typeof record.title === "string" && record.title.trim().length > 0)
|
|
70
|
+
return value;
|
|
71
|
+
const title = typeof record.label === "string"
|
|
72
|
+
? record.label
|
|
73
|
+
: typeof record.name === "string"
|
|
74
|
+
? record.name
|
|
75
|
+
: null;
|
|
76
|
+
return title ? { ...record, title } : value;
|
|
77
|
+
}, RequestedArtifactObjectSchema);
|
|
78
|
+
export const SourceProfileItemSchema = z.object({
|
|
79
|
+
name: z.string().min(1).optional(),
|
|
80
|
+
path: z.string().min(1).optional(),
|
|
81
|
+
kind: z.string().min(1).optional(),
|
|
82
|
+
page_count: z.number().int().nonnegative().optional(),
|
|
83
|
+
note: z.string().min(1).optional(),
|
|
84
|
+
}).passthrough();
|
|
85
|
+
export const SourceProfileSchema = z.object({
|
|
86
|
+
summary: z.string().min(1).optional(),
|
|
87
|
+
items: z.array(SourceProfileItemSchema).default([]),
|
|
88
|
+
observations: z.array(z.string().min(1)).default([]),
|
|
89
|
+
limitations: z.array(z.string().min(1)).default([]),
|
|
90
|
+
}).passthrough();
|
|
48
91
|
export const SourcePreparationConfigSchema = z.object({
|
|
49
92
|
id: z.string().regex(InterfIdPattern).optional(),
|
|
50
93
|
name: PreparationNameSchema,
|
|
@@ -62,6 +105,8 @@ export const SourcePreparationConfigSchema = z.object({
|
|
|
62
105
|
max_attempts: SourceCompiledMaxAttemptsSchema.optional(),
|
|
63
106
|
max_loops: SourceCompiledMaxLoopsSchema.optional(),
|
|
64
107
|
checks: z.array(SourceReadinessCheckSchema).default([]),
|
|
108
|
+
requested_artifacts: z.array(RequestedArtifactSchema).optional(),
|
|
109
|
+
source_profile: SourceProfileSchema.optional(),
|
|
65
110
|
}).strict();
|
|
66
111
|
export const SourceFolderBindingSchema = z.object({
|
|
67
112
|
path: z.string().min(1),
|
|
@@ -128,6 +128,10 @@ function toWritableSourcePreparationConfig(preparation) {
|
|
|
128
128
|
...(typeof preparation.max_attempts === "number" ? { max_attempts: preparation.max_attempts } : {}),
|
|
129
129
|
...(typeof preparation.max_loops === "number" ? { max_loops: preparation.max_loops } : {}),
|
|
130
130
|
checks: preparation.checks,
|
|
131
|
+
...(preparation.requested_artifacts?.length
|
|
132
|
+
? { requested_artifacts: preparation.requested_artifacts }
|
|
133
|
+
: {}),
|
|
134
|
+
...(preparation.source_profile ? { source_profile: preparation.source_profile } : {}),
|
|
131
135
|
};
|
|
132
136
|
}
|
|
133
137
|
export function saveSourceFolderConfig(prepDataDir, config) {
|
|
@@ -241,7 +245,8 @@ export function saveCompiledInterfConfig(compiledPath, config) {
|
|
|
241
245
|
export function syncCompiledInterfConfigFromSourcePreparationConfig(compiledPath, preparationConfig) {
|
|
242
246
|
const current = readInterfConfig(compiledPath);
|
|
243
247
|
const prepDataDir = resolveSourceControlPathForCompiled(compiledPath);
|
|
244
|
-
const preparationAbsolutePath =
|
|
248
|
+
const preparationAbsolutePath = resolveConfiguredSourceFolderPath(prepDataDir) ??
|
|
249
|
+
resolveSourcePreparationPath(prepDataDir, preparationConfig);
|
|
245
250
|
const preparationRelativePath = relative(compiledPath, preparationAbsolutePath).split(sep).join("/") || ".";
|
|
246
251
|
const methodId = methodIdForSourcePreparationConfig(preparationConfig)
|
|
247
252
|
?? methodIdForSourcePreparationConfig(current)
|
|
@@ -47,7 +47,7 @@ export function normalizeSourcePreparationPathForConfig(prepDataDir, value) {
|
|
|
47
47
|
const resolvedPath = resolveSourcePreparationPath(prepDataDir, { path: trimmedValue });
|
|
48
48
|
const relativePath = relative(prepDataDir, resolvedPath).split(sep).join("/") || ".";
|
|
49
49
|
if (relativePath === ".") {
|
|
50
|
-
throw new Error("Pick a Source Folder, not the Interf
|
|
50
|
+
throw new Error("Pick a Source Folder, not the Interf preparation data folder itself.");
|
|
51
51
|
}
|
|
52
52
|
if (isAbsolute(trimmedValue) && !isPathWithinRoot(prepDataDir, resolvedPath)) {
|
|
53
53
|
if (!existsSync(resolvedPath)) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interf/compiler",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Interf
|
|
3
|
+
"version": "0.21.0",
|
|
4
|
+
"description": "Interf compiles source files into verifiable Artifacts and writes portable context agents can read.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"interf": "dist/bin.js"
|
|
@@ -14,28 +14,16 @@
|
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
15
|
"import": "./dist/index.js"
|
|
16
16
|
},
|
|
17
|
-
"./contracts": {
|
|
18
|
-
"types": "./dist/packages/contracts/index.d.ts",
|
|
19
|
-
"import": "./dist/packages/contracts/index.js"
|
|
20
|
-
},
|
|
21
|
-
"./execution": {
|
|
22
|
-
"types": "./dist/packages/engine/execution/index.d.ts",
|
|
23
|
-
"import": "./dist/packages/engine/execution/index.js"
|
|
24
|
-
},
|
|
25
|
-
"./local-service": {
|
|
26
|
-
"types": "./dist/packages/engine/index.d.ts",
|
|
27
|
-
"import": "./dist/packages/engine/index.js"
|
|
28
|
-
},
|
|
29
17
|
"./package.json": "./package.json"
|
|
30
18
|
},
|
|
31
19
|
"scripts": {
|
|
32
20
|
"build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true});require('fs').rmSync('.tsbuildinfo',{force:true})\" && tsc && chmod 755 dist/bin.js",
|
|
33
21
|
"dev": "tsc --watch",
|
|
34
|
-
"web:dev": "npm --prefix apps/compiler-ui run dev",
|
|
35
|
-
"web:typecheck": "npm --prefix apps/compiler-ui run typecheck",
|
|
22
|
+
"web:dev": "npm --prefix src/apps/compiler-ui run dev",
|
|
23
|
+
"web:typecheck": "npm --prefix src/apps/compiler-ui run typecheck",
|
|
36
24
|
"web:build": "node scripts/web/build-compiler-ui.mjs",
|
|
37
|
-
"docs:sync-
|
|
38
|
-
"docs:check-
|
|
25
|
+
"docs:sync-public": "node scripts/docs/sync-public-repo.mjs",
|
|
26
|
+
"docs:check-public": "node scripts/docs/sync-public-repo.mjs --check",
|
|
39
27
|
"test:smoke": "npm run build && node --test test/**/*.test.mjs",
|
|
40
28
|
"test": "npm run test:smoke",
|
|
41
29
|
"test:full": "npm test && npm run web:build",
|
|
@@ -52,8 +40,8 @@
|
|
|
52
40
|
},
|
|
53
41
|
"files": [
|
|
54
42
|
"dist",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
43
|
+
"public-repo",
|
|
44
|
+
"LICENSE.md",
|
|
57
45
|
"TRADEMARKS.md"
|
|
58
46
|
],
|
|
59
47
|
"publishConfig": {
|
|
@@ -67,13 +55,14 @@
|
|
|
67
55
|
"claude",
|
|
68
56
|
"codex"
|
|
69
57
|
],
|
|
70
|
-
"license": "
|
|
58
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
59
|
+
"author": "Interf Inc.",
|
|
71
60
|
"repository": {
|
|
72
61
|
"type": "git",
|
|
73
|
-
"url": "git+https://github.com/interf-labs/
|
|
62
|
+
"url": "git+https://github.com/interf-labs/compiler.git"
|
|
74
63
|
},
|
|
75
64
|
"bugs": {
|
|
76
|
-
"url": "https://github.com/interf-labs/
|
|
65
|
+
"url": "https://github.com/interf-labs/compiler/issues"
|
|
77
66
|
},
|
|
78
67
|
"homepage": "https://interf.com",
|
|
79
68
|
"engines": {
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
This public surface contains the files users and agent hosts need to inspect:
|
|
4
|
+
the README, license and security docs, bundled Skills, plugin manifests, and
|
|
5
|
+
public Method packages.
|
|
6
|
+
|
|
7
|
+
The Interf engine source is private. Do not add private source paths,
|
|
8
|
+
maintainer docs, or internal repo instructions here.
|
|
9
|
+
|
|
10
|
+
## What To Change Here
|
|
11
|
+
|
|
12
|
+
- Public product docs: `README.md`, `SECURITY.md`, `TRADEMARKS.md`.
|
|
13
|
+
- Agent Skills: `skills/interf/`.
|
|
14
|
+
- Host plugin bundles: `plugins/`.
|
|
15
|
+
- Public Method packages: `methods/`.
|
|
16
|
+
|
|
17
|
+
## Public Method Packages
|
|
18
|
+
|
|
19
|
+
Method packages are inspectable folders. Keep them standalone:
|
|
20
|
+
|
|
21
|
+
- `method.json` declares the Build Plan stages and Artifact outputs.
|
|
22
|
+
- `method.schema.json` declares the output contract.
|
|
23
|
+
- `compile/stages/<stage>/SKILL.md` contains stage instructions.
|
|
24
|
+
- `use/query/SKILL.md` tells agents how to read the portable context.
|
|
25
|
+
- `improve/SKILL.md` tells Interf how to revise the plan when checks fail.
|
|
26
|
+
|
|
27
|
+
For the shipped default Method, edit `methods/interf-default/`.
|
|
28
|
+
|
|
29
|
+
## Agent Skills And Plugins
|
|
30
|
+
|
|
31
|
+
Keep `skills/interf/SKILL.md` as the canonical Skill.
|
|
32
|
+
|
|
33
|
+
Plugin bundles should stay thin:
|
|
34
|
+
|
|
35
|
+
- host manifest
|
|
36
|
+
- copied Interf Skill when the host requires a local copy
|
|
37
|
+
- MCP configuration that launches `interf mcp`
|
|
38
|
+
|
|
39
|
+
The MCP server implementation ships inside `@interf/compiler`.
|
|
40
|
+
|
|
41
|
+
## Before Opening A PR
|
|
42
|
+
|
|
43
|
+
Check that public docs do not reference private paths such as internal source
|
|
44
|
+
trees, maintainer-only docs, or local machine paths.
|
|
45
|
+
|
|
46
|
+
If you changed a Method package, test it with an installed `@interf/compiler`
|
|
47
|
+
runtime before submitting the change.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
© 2026 Interf Inc. All rights reserved. Use is subject to Interf's [Commercial Terms of Service](https://interf.com/legal/commercial-terms).
|