@biffo/cli 0.108.8 → 0.109.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.
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"name": "example-sibling",
|
|
3
3
|
"core_project": "example-core-project",
|
|
4
4
|
"path_prefix": "example-sibling",
|
|
5
|
-
"
|
|
5
|
+
"template_version": "0.0.0",
|
|
6
|
+
"description": "Rewritten by `biffo sibling create` (ADR-0007) with this sibling's real name, its paired core project's name, its registered path prefix, and the core template version it was scaffolded from (template_version, issue #567 — visibility only, not consumed by any upgrade mechanism today). The identity fields above are not meant to be hand-edited afterwards — path_prefix in particular must always match the entry this sibling was registered under in the core project's infra/siblings.auto.tfvars.json. `routes` below, however, IS yours to maintain.",
|
|
6
7
|
"routes": []
|
|
7
8
|
}
|
package/dist/index.js
CHANGED
|
@@ -5294,7 +5294,11 @@ async function pushSkeleton(git, skeletonRoot, cloneUrl, config, coreConfig, git
|
|
|
5294
5294
|
try {
|
|
5295
5295
|
writeSiblingTemplate(skeletonRoot, workDir, config, {
|
|
5296
5296
|
coreProjectName: coreConfig.project.name,
|
|
5297
|
-
pathPrefix: resolvePathPrefix(config)
|
|
5297
|
+
pathPrefix: resolvePathPrefix(config),
|
|
5298
|
+
// The core template's version at scaffold time (issue #567) — visibility
|
|
5299
|
+
// only, mirroring how `biffo init` stamps `biffo.core.json`. See the
|
|
5300
|
+
// `template_version` field doc on `SiblingMarker` (lib/sibling-teardown.ts).
|
|
5301
|
+
templateVersion: getLatestCoreVersion()
|
|
5298
5302
|
});
|
|
5299
5303
|
await git.init(workDir, "main");
|
|
5300
5304
|
await git.addRemote(workDir, "origin", cloneUrl);
|
|
@@ -5318,6 +5322,8 @@ function writeSiblingTemplate(templateRoot, targetDir, config, context) {
|
|
|
5318
5322
|
name: config.project.name,
|
|
5319
5323
|
core_project: context.coreProjectName,
|
|
5320
5324
|
path_prefix: context.pathPrefix,
|
|
5325
|
+
// Visibility only (issue #567) — see SiblingMarker.template_version.
|
|
5326
|
+
template_version: context.templateVersion,
|
|
5321
5327
|
...config.project.description ? { description: config.project.description } : {},
|
|
5322
5328
|
// Always written (even when empty) so the field is discoverable — declare
|
|
5323
5329
|
// this sibling's notable routes here and they surface on the core's
|
|
@@ -6138,6 +6144,11 @@ var UserFrontendSchema = z6.object({
|
|
|
6138
6144
|
),
|
|
6139
6145
|
required_group: z6.string().min(1, NON_EMPTY_GROUP)
|
|
6140
6146
|
}).strict();
|
|
6147
|
+
var ToolDeclarationSchema = z6.object({
|
|
6148
|
+
name: z6.string(),
|
|
6149
|
+
description: z6.string(),
|
|
6150
|
+
parameters: z6.record(z6.string(), z6.unknown()).default({})
|
|
6151
|
+
});
|
|
6141
6152
|
var ChatAgentDeclarationSchema = z6.object({
|
|
6142
6153
|
key: z6.string().regex(/^[a-z][a-z0-9-]*$/, "must be a lowercase kebab-case slug"),
|
|
6143
6154
|
agent_name: z6.string().optional(),
|
|
@@ -6167,6 +6178,13 @@ var PluginManifestSchema = z6.object({
|
|
|
6167
6178
|
// ordinary (data/event/CRUD) plugin.
|
|
6168
6179
|
user_ingress: UserIngressSchema.optional(),
|
|
6169
6180
|
user_frontend: UserFrontendSchema.optional(),
|
|
6181
|
+
// Tools the plugin's runtime exposes to an agentic worker (ADR-0014 §7,
|
|
6182
|
+
// #569). Default empty — an ordinary plugin declares none. Parsing this
|
|
6183
|
+
// (rather than leaving it to fall through the non-`.strict()` top-level
|
|
6184
|
+
// object and get silently dropped) is the fix for the parity gap: before
|
|
6185
|
+
// this, a manifest declaring `tools` validated with no error and lost the
|
|
6186
|
+
// field entirely.
|
|
6187
|
+
tools: z6.array(ToolDeclarationSchema).default([]),
|
|
6170
6188
|
// Chat agents the plugin registers with Core (ADR-0017). Default empty — an
|
|
6171
6189
|
// ordinary plugin declares none.
|
|
6172
6190
|
chat_agents: z6.array(ChatAgentDeclarationSchema).default([])
|