@event4u/agent-config 4.7.0 → 4.7.2
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/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +20 -0
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +1 -1
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +1 -1
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +1 -1
- package/dist/mcp/registry-manifest.json +1 -1
- package/dist/server/routes/settings.js +29 -12
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/shared/userMd/formAdapter.js +6 -4
- package/dist/shared/userMd/formAdapter.js.map +1 -1
- package/dist/shared/userMd/schema.js +4 -1
- package/dist/shared/userMd/schema.js.map +1 -1
- package/dist/ui/assets/{index-CoqV8tnv.js → index-Tk7lkVH8.js} +8 -8
- package/dist/ui/assets/index-Tk7lkVH8.js.map +1 -0
- package/dist/ui/index.html +1 -1
- package/docs/contracts/agent-user-schema.md +2 -2
- package/package.json +1 -1
- package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
- package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
- package/dist/ui/assets/index-CoqV8tnv.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -802,6 +802,26 @@ our recommendation order, not its support status.
|
|
|
802
802
|
> that forces a new era split (`# Era: 4.6.x`, etc.) — see
|
|
803
803
|
> [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
|
|
804
804
|
|
|
805
|
+
## [4.7.2](https://github.com/event4u-app/agent-config/compare/4.7.1...4.7.2) (2026-05-28)
|
|
806
|
+
|
|
807
|
+
### Bug Fixes
|
|
808
|
+
|
|
809
|
+
* **wizard:** first-run setup writes a schema-valid settings file ([e3ca97f](https://github.com/event4u-app/agent-config/commit/e3ca97f1dc9701eddc6fea274d4d38c2cfd831ae))
|
|
810
|
+
|
|
811
|
+
### CI
|
|
812
|
+
|
|
813
|
+
* **workflows:** authenticate arduino/setup-task to dodge API rate limit ([090bcfa](https://github.com/event4u-app/agent-config/commit/090bcfa57d35eb19783e1fcfd40934e7b3266d91))
|
|
814
|
+
|
|
815
|
+
Tests: 5064 (+0 since 4.7.1)
|
|
816
|
+
|
|
817
|
+
## [4.7.1](https://github.com/event4u-app/agent-config/compare/4.7.0...4.7.1) (2026-05-28)
|
|
818
|
+
|
|
819
|
+
### Bug Fixes
|
|
820
|
+
|
|
821
|
+
* **wizard:** make role optional so setup can save without a role pick ([dd0bc16](https://github.com/event4u-app/agent-config/commit/dd0bc168268fa9f9fe2b95ae5ef7cec76d66bdbe))
|
|
822
|
+
|
|
823
|
+
Tests: 5064 (+0 since 4.7.0)
|
|
824
|
+
|
|
805
825
|
## [4.7.0](https://github.com/event4u-app/agent-config/compare/4.6.0...4.7.0) (2026-05-28)
|
|
806
826
|
|
|
807
827
|
### Features
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
b1be210896960f4ef344298e27481e6fc8b98055d6694aa89ad2184e4d4c4e26 discovery-manifest.json
|
|
@@ -5,14 +5,19 @@ import { settingsSchema } from '../schemas/settings.js';
|
|
|
5
5
|
import { parseYaml, mergeIntoTemplate, diffValues, deepMerge } from '../io/yamlIO.js';
|
|
6
6
|
import { writeAtomic } from '../io/atomicWrite.js';
|
|
7
7
|
import { PACKAGE_ROOT } from '../../cli/paths.js';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
8
|
+
// Installer placeholders in `config/agent-settings.template.yml` that
|
|
9
|
+
// `scripts/install.py` substitutes per-user. The TypeScript defaults layer
|
|
10
|
+
// renders the same scalars so the wizard's first-run form is schema-valid.
|
|
11
|
+
// Keep this map in lockstep with the template — any new `__*__` placeholder
|
|
12
|
+
// added there must get its default here, or `settingsSchema.safeParse` on
|
|
13
|
+
// the merged defaults will reject the first save.
|
|
14
|
+
const TEMPLATE_PLACEHOLDER_DEFAULTS = {
|
|
15
|
+
__COST_PROFILE__: 'balanced',
|
|
16
|
+
__USER_TYPE__: '',
|
|
17
|
+
__CHAT_HISTORY_FREQUENCY__: 'per_turn',
|
|
18
|
+
__CHAT_HISTORY_MAX_SIZE_KB__: '2048',
|
|
19
|
+
__CHAT_HISTORY_ON_OVERFLOW__: 'rotate',
|
|
20
|
+
};
|
|
16
21
|
// Computed once — Zod → JSON Schema conversion is pure and the schema is static.
|
|
17
22
|
const SETTINGS_JSON_SCHEMA = zodToJsonSchema(settingsSchema, {
|
|
18
23
|
name: 'AgentSettings',
|
|
@@ -38,9 +43,10 @@ function legacyFlatPath(root) {
|
|
|
38
43
|
async function loadDefaultSettings(packageRoot) {
|
|
39
44
|
try {
|
|
40
45
|
const text = await fs.readFile(join(packageRoot, 'config', 'agent-settings.template.yml'), 'utf8');
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
.replaceAll(
|
|
46
|
+
let rendered = text;
|
|
47
|
+
for (const [placeholder, value] of Object.entries(TEMPLATE_PLACEHOLDER_DEFAULTS)) {
|
|
48
|
+
rendered = rendered.replaceAll(placeholder, value);
|
|
49
|
+
}
|
|
44
50
|
const parsed = parseYaml(rendered);
|
|
45
51
|
return parsed ?? {};
|
|
46
52
|
}
|
|
@@ -137,7 +143,18 @@ export function settingsRoute(opts) {
|
|
|
137
143
|
try {
|
|
138
144
|
const state = await readLayeredSettings(packageRoot, opts.writeRoot, opts.legacyReadRoot);
|
|
139
145
|
if (!state.hasRealFile) {
|
|
140
|
-
|
|
146
|
+
// No on-disk file yet — the wizard creates it. Surface the
|
|
147
|
+
// template-defaults values + schema + path in the body so
|
|
148
|
+
// the SPA's fetchSettingsWithFallback can seed the form
|
|
149
|
+
// with a fully-defaulted shape (otherwise it falls back to
|
|
150
|
+
// `{}` and the user's first save fails schema validation).
|
|
151
|
+
await reply.code(404).send({
|
|
152
|
+
error: { code: 'NOT_FOUND', message: 'settings file missing' },
|
|
153
|
+
defaults: state.values,
|
|
154
|
+
lastModified: 0,
|
|
155
|
+
path: SETTINGS_RELATIVE,
|
|
156
|
+
schema: SETTINGS_JSON_SCHEMA,
|
|
157
|
+
});
|
|
141
158
|
return reply;
|
|
142
159
|
}
|
|
143
160
|
const legacyHints = extractLegacyHints(state.values);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/server/routes/settings.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/server/routes/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export function defaultIdentity() {
|
|
|
25
25
|
version: 1,
|
|
26
26
|
identity: { name: '' },
|
|
27
27
|
language: 'en',
|
|
28
|
-
role: [
|
|
28
|
+
role: [],
|
|
29
29
|
style: { pace: 'pragmatic' },
|
|
30
30
|
voice_sample: '',
|
|
31
31
|
last_updated: '1970-01-01',
|
|
@@ -42,9 +42,11 @@ function pickPace(value) {
|
|
|
42
42
|
}
|
|
43
43
|
function pickRoles(value) {
|
|
44
44
|
if (!Array.isArray(value))
|
|
45
|
-
return [
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
return [];
|
|
46
|
+
// Drop empty-string entries — an empty role entry is meaningless and
|
|
47
|
+
// would fail the schema's per-entry min(1). Returning `[]` is allowed
|
|
48
|
+
// (role is optional; the wizard must not block setup on a role pick).
|
|
49
|
+
return value.filter((v) => typeof v === 'string' && v.trim() !== '');
|
|
48
50
|
}
|
|
49
51
|
function pickNotes(value) {
|
|
50
52
|
if (typeof value !== 'string')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formAdapter.js","sourceRoot":"","sources":["../../../src/shared/userMd/formAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC3B,OAAO;QACH,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"formAdapter.js","sourceRoot":"","sources":["../../../src/shared/userMd/formAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC3B,OAAO;QACH,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;QAC5B,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,YAAY;KAC7B,CAAC;AACN,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IACxB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,QAAgB;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;AAC3E,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,qEAAqE;IACrE,sEAAsE;IACtE,sEAAsE;IACtE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAA+B;IACzD,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAiB;QACtB,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACnE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC;QACnD,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;SAChC;QACD,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC;QAC/D,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC;KAClE,CAAC;IACF,IAAI,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3C,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -25,9 +25,12 @@ export const userIdentitySchema = z.object({
|
|
|
25
25
|
name: z.string().trim().min(1, 'identity.name is required'),
|
|
26
26
|
}),
|
|
27
27
|
language: z.string().trim().min(2, 'language must be a non-empty code'),
|
|
28
|
+
// Optional — picking ≥1 role sharpens reviewer-voice selection and
|
|
29
|
+
// persona pairing, but the setup wizard must not block a save on it.
|
|
30
|
+
// Empty array is allowed; each present entry must be non-empty.
|
|
28
31
|
role: z
|
|
29
32
|
.array(z.string().trim().min(1, 'role entries must be non-empty'))
|
|
30
|
-
.
|
|
33
|
+
.default([]),
|
|
31
34
|
style: z.object({
|
|
32
35
|
// Formality is not configurable — the agent always addresses the user
|
|
33
36
|
// informally ("Du"). Only `pace` remains tunable.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/shared/userMd/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wFAAwF;AACxF,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAEnD,iFAAiF;AACjF,MAAM,CAAC,MAAM,oCAAoC,GAAG,KAAK,CAAC;AAE1D,gFAAgF;AAChF,MAAM,OAAO,GAAG,CAAC;KACZ,MAAM,EAAE;KACR,KAAK,CAAC,qBAAqB,EAAE,iDAAiD,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC;KAC9D,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC;IACvE,IAAI,EAAE,CAAC;SACF,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC;SACjE,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/shared/userMd/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wFAAwF;AACxF,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAEnD,iFAAiF;AACjF,MAAM,CAAC,MAAM,oCAAoC,GAAG,KAAK,CAAC;AAE1D,gFAAgF;AAChF,MAAM,OAAO,GAAG,CAAC;KACZ,MAAM,EAAE;KACR,KAAK,CAAC,qBAAqB,EAAE,iDAAiD,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC;KAC9D,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC;IACvE,mEAAmE;IACnE,qEAAqE;IACrE,gEAAgE;IAChE,IAAI,EAAE,CAAC;SACF,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC;SACjE,OAAO,CAAC,EAAE,CAAC;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,sEAAsE;QACtE,kDAAkD;QAClD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;KACnD,CAAC;IACF,iEAAiE;IACjE,wEAAwE;IACxE,oEAAoE;IACpE,YAAY,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,oCAAoC,EAAE,+BAA+B,CAAC;SAC1E,OAAO,CAAC,EAAE,CAAC;IAChB,YAAY,EAAE,OAAO;IACrB,KAAK,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;SAC5D,QAAQ,EAAE;CAClB,CAAC,CAAC"}
|