create-principles-disciple 1.124.2 → 1.125.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/console/dist/server/config/pd-config-store.js +23 -11
- package/core/dist/index.d.ts +3 -3
- package/core/dist/index.js +3 -3
- package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js +93 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-provenance.test.d.ts +24 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-provenance.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-provenance.test.js +208 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-provenance.test.js.map +1 -0
- package/core/dist/runtime-v2/config/index.d.ts +1 -1
- package/core/dist/runtime-v2/config/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/index.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-effective.js +10 -2
- package/core/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.d.ts +3 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.js +2 -0
- package/core/dist/runtime-v2/config/pd-config-feature-flags.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.d.ts +4 -0
- package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.js +23 -0
- package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-validate.js +12 -1
- package/core/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/installer-config-parity.test.js +4 -3
- package/core/dist/runtime-v2/feature-flags/__tests__/installer-config-parity.test.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +2 -0
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-bridge.d.ts +8 -1
- package/core/dist/runtime-v2/pain-signal-bridge.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-bridge.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.js +25 -10
- package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
- package/core/package.json +0 -1
- package/dist/mvp-config.d.ts.map +1 -1
- package/dist/mvp-config.js +30 -20
- package/dist/mvp-config.js.map +1 -1
- package/host-runtime/dist/governance-signal-admission.js +11 -5
- package/host-runtime/dist/index.d.ts +3 -0
- package/host-runtime/dist/index.js +1 -0
- package/host-runtime/dist/production-pain-evidence.d.ts +7 -0
- package/host-runtime/dist/production-pain-evidence.js +9 -4
- package/package.json +1 -1
- package/pd-cli/dist/commands/pain-list.d.ts +45 -0
- package/pd-cli/dist/commands/pain-list.d.ts.map +1 -0
- package/pd-cli/dist/commands/pain-list.js +165 -0
- package/pd-cli/dist/commands/pain-list.js.map +1 -0
- package/pd-cli/dist/commands/runtime-init.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-init.js +12 -1
- package/pd-cli/dist/commands/runtime-init.js.map +1 -1
- package/pd-cli/dist/index.js +11 -0
- package/pd-cli/dist/index.js.map +1 -1
- package/plugin/dist/bundle.js +399 -395
- package/plugin/dist/core/trajectory-types.d.ts +2 -0
- package/plugin/dist/governance-audit.js +1 -1
- package/plugin/dist/rulehost-evidence.js +9 -7
- package/core/dist/adapters/__tests__/code-review-pain-adapter.test.d.ts +0 -2
- package/core/dist/adapters/__tests__/code-review-pain-adapter.test.d.ts.map +0 -1
- package/core/dist/adapters/__tests__/code-review-pain-adapter.test.js +0 -346
- package/core/dist/adapters/__tests__/code-review-pain-adapter.test.js.map +0 -1
- package/core/dist/adapters/__tests__/openclaw-pain-adapter.test.d.ts +0 -2
- package/core/dist/adapters/__tests__/openclaw-pain-adapter.test.d.ts.map +0 -1
- package/core/dist/adapters/__tests__/openclaw-pain-adapter.test.js +0 -290
- package/core/dist/adapters/__tests__/openclaw-pain-adapter.test.js.map +0 -1
- package/core/dist/adapters/__tests__/writing-pain-adapter.test.d.ts +0 -2
- package/core/dist/adapters/__tests__/writing-pain-adapter.test.d.ts.map +0 -1
- package/core/dist/adapters/__tests__/writing-pain-adapter.test.js +0 -239
- package/core/dist/adapters/__tests__/writing-pain-adapter.test.js.map +0 -1
- package/core/dist/adapters/code-review/code-review-pain-adapter.d.ts +0 -13
- package/core/dist/adapters/code-review/code-review-pain-adapter.d.ts.map +0 -1
- package/core/dist/adapters/code-review/code-review-pain-adapter.js +0 -139
- package/core/dist/adapters/code-review/code-review-pain-adapter.js.map +0 -1
- package/core/dist/adapters/code-review/index.d.ts +0 -6
- package/core/dist/adapters/code-review/index.d.ts.map +0 -1
- package/core/dist/adapters/code-review/index.js +0 -2
- package/core/dist/adapters/code-review/index.js.map +0 -1
- package/core/dist/adapters/code-review/review-event-types.d.ts +0 -54
- package/core/dist/adapters/code-review/review-event-types.d.ts.map +0 -1
- package/core/dist/adapters/code-review/review-event-types.js +0 -8
- package/core/dist/adapters/code-review/review-event-types.js.map +0 -1
- package/core/dist/adapters/coding/index.d.ts +0 -6
- package/core/dist/adapters/coding/index.d.ts.map +0 -1
- package/core/dist/adapters/coding/index.js +0 -5
- package/core/dist/adapters/coding/index.js.map +0 -1
- package/core/dist/adapters/coding/openclaw-event-types.d.ts +0 -26
- package/core/dist/adapters/coding/openclaw-event-types.d.ts.map +0 -1
- package/core/dist/adapters/coding/openclaw-event-types.js +0 -9
- package/core/dist/adapters/coding/openclaw-event-types.js.map +0 -1
- package/core/dist/adapters/coding/openclaw-pain-adapter.d.ts +0 -27
- package/core/dist/adapters/coding/openclaw-pain-adapter.d.ts.map +0 -1
- package/core/dist/adapters/coding/openclaw-pain-adapter.js +0 -102
- package/core/dist/adapters/coding/openclaw-pain-adapter.js.map +0 -1
- package/core/dist/adapters/writing/index.d.ts +0 -6
- package/core/dist/adapters/writing/index.d.ts.map +0 -1
- package/core/dist/adapters/writing/index.js +0 -5
- package/core/dist/adapters/writing/index.js.map +0 -1
- package/core/dist/adapters/writing/writing-pain-adapter.d.ts +0 -22
- package/core/dist/adapters/writing/writing-pain-adapter.d.ts.map +0 -1
- package/core/dist/adapters/writing/writing-pain-adapter.js +0 -62
- package/core/dist/adapters/writing/writing-pain-adapter.js.map +0 -1
- package/core/dist/adapters/writing/writing-types.d.ts +0 -34
- package/core/dist/adapters/writing/writing-types.d.ts.map +0 -1
- package/core/dist/adapters/writing/writing-types.js +0 -9
- package/core/dist/adapters/writing/writing-types.js.map +0 -1
- package/core/dist/pain-signal-adapter.d.ts +0 -37
- package/core/dist/pain-signal-adapter.d.ts.map +0 -1
- package/core/dist/pain-signal-adapter.js +0 -2
- package/core/dist/pain-signal-adapter.js.map +0 -1
- package/core/dist/pain-signal.d.ts +0 -16
- package/core/dist/pain-signal.d.ts.map +0 -1
- package/core/dist/pain-signal.js +0 -15
- package/core/dist/pain-signal.js.map +0 -1
- package/core/dist/runtime-v2/__tests__/pain-signal-unification.test.d.ts +0 -2
- package/core/dist/runtime-v2/__tests__/pain-signal-unification.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/__tests__/pain-signal-unification.test.js +0 -150
- package/core/dist/runtime-v2/__tests__/pain-signal-unification.test.js.map +0 -1
|
@@ -312,11 +312,15 @@ export function updateAgentBinding(workspaceDir, agentName, payload) {
|
|
|
312
312
|
};
|
|
313
313
|
}
|
|
314
314
|
}
|
|
315
|
-
// Merge: start from raw config, overlay known sections, update internalAgents.agents
|
|
315
|
+
// Merge: start from raw config, overlay known sections, update internalAgents.agents.
|
|
316
|
+
// PRI-637: preserve the file's own `features:` section instead of re-writing
|
|
317
|
+
// the merged effective map. Defaults belong in the registry, not in config —
|
|
318
|
+
// snapshotting `effective.config.features` here would materialize every
|
|
319
|
+
// missing default flag into an immortal override on any agent-binding change.
|
|
316
320
|
const updatedConfig = {
|
|
317
321
|
...rawConfig,
|
|
318
322
|
version: effective.config.version,
|
|
319
|
-
features: { ...effective.config.features },
|
|
323
|
+
features: isRecord(rawConfig.features) ? rawConfig.features : { ...effective.config.features },
|
|
320
324
|
runtimeProfiles: { ...effective.config.runtimeProfiles },
|
|
321
325
|
internalAgents: {
|
|
322
326
|
defaultRuntime: effective.config.internalAgents.defaultRuntime,
|
|
@@ -434,11 +438,13 @@ export function updateDefaultRuntime(workspaceDir, payload) {
|
|
|
434
438
|
else {
|
|
435
439
|
// No agents in file — write nothing (all agents inherit default)
|
|
436
440
|
}
|
|
437
|
-
// Merge: update only defaultRuntime, preserve agent overrides
|
|
441
|
+
// Merge: update only defaultRuntime, preserve agent overrides.
|
|
442
|
+
// PRI-637: preserve the file's own `features:` section (same rationale as
|
|
443
|
+
// updateAgentBinding — never re-snapshot merged defaults into config).
|
|
438
444
|
const updatedConfig = {
|
|
439
445
|
...rawConfig,
|
|
440
446
|
version: effective.config.version,
|
|
441
|
-
features: { ...effective.config.features },
|
|
447
|
+
features: isRecord(rawConfig.features) ? rawConfig.features : { ...effective.config.features },
|
|
442
448
|
runtimeProfiles: { ...effective.config.runtimeProfiles },
|
|
443
449
|
internalAgents: {
|
|
444
450
|
defaultRuntime: defaultRuntimeRaw,
|
|
@@ -814,13 +820,14 @@ export function updateFeatureFlag(workspaceDir, featureName, enabled) {
|
|
|
814
820
|
// Use Object.hasOwn for untrusted key check (ERR-013).
|
|
815
821
|
let featuresSection;
|
|
816
822
|
if (!Object.hasOwn(rawConfig, 'features')) {
|
|
817
|
-
// Section absent —
|
|
818
|
-
//
|
|
819
|
-
//
|
|
823
|
+
// Section absent — create an EMPTY features map (PRI-637). Defaults belong
|
|
824
|
+
// in the registry, not in config: seeding the whole registered flag set here
|
|
825
|
+
// would materialize an immortal default snapshot on the first toggle of a
|
|
826
|
+
// fresh install. `features: {}` is fully valid — validatePdConfig only
|
|
827
|
+
// requires the key to be an object, and the effective config merges missing
|
|
828
|
+
// flags from DEFAULT_FEATURE_FLAGS at read time. Step 6 below then writes
|
|
829
|
+
// exactly one flag: the one the Owner toggled.
|
|
820
830
|
featuresSection = {};
|
|
821
|
-
for (const [flagId, flag] of Object.entries(_DEFAULT_FLAGS_RESULT.flags)) {
|
|
822
|
-
featuresSection[flagId] = { category: flag.category, enabled: flag.enabled };
|
|
823
|
-
}
|
|
824
831
|
rawConfig.features = featuresSection;
|
|
825
832
|
}
|
|
826
833
|
else if (isRecord(rawConfig.features)) {
|
|
@@ -865,7 +872,12 @@ export function updateFeatureFlag(workspaceDir, featureName, enabled) {
|
|
|
865
872
|
const category = (isRecord(existingEntry) && Object.hasOwn(existingEntry, 'category') && typeof existingEntry.category === 'string')
|
|
866
873
|
? existingEntry.category
|
|
867
874
|
: (DEFAULT_FLAG_CATEGORY.get(featureName) ?? 'quiet');
|
|
868
|
-
|
|
875
|
+
// PRI-637: the Console toggle is the canonical Owner action — an authenticated
|
|
876
|
+
// server writes this override under an explicit owner intent, so it records
|
|
877
|
+
// `source: 'owner'` (OWNER_PIN). This also upgrades a previously source-less
|
|
878
|
+
// LEGACY_UNKNOWN or system override: an explicit Owner action converts it to
|
|
879
|
+
// OWNER_PIN, which graduation must forever respect.
|
|
880
|
+
existingFeatures[featureName] = { category, enabled, source: 'owner' };
|
|
869
881
|
rawConfig.features = existingFeatures;
|
|
870
882
|
// 7. Validate the updated config before writing
|
|
871
883
|
const validation = validatePdConfig(rawConfig);
|
package/core/dist/index.d.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Runtime-v2 contracts, store primitives, and prompt-builder helpers for
|
|
5
5
|
* Principles Disciple host integrations. The pre-runtime-v2 public modules
|
|
6
6
|
* (pain-signal, pain-signal-adapter, telemetry-event, principle-injector)
|
|
7
|
-
* were removed from the public surface in PRI-636
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* were removed from the public surface in PRI-636. The PainSignal schema is
|
|
8
|
+
* canonical under ./runtime-v2/types (exported via the ./runtime-v2 subpath);
|
|
9
|
+
* telemetry-event remains an internal module consumed via relative imports.
|
|
10
10
|
*
|
|
11
11
|
* @example
|
|
12
12
|
* import { RuntimeStateManager, SqliteTaskStore } from '@principles/core';
|
package/core/dist/index.js
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Runtime-v2 contracts, store primitives, and prompt-builder helpers for
|
|
5
5
|
* Principles Disciple host integrations. The pre-runtime-v2 public modules
|
|
6
6
|
* (pain-signal, pain-signal-adapter, telemetry-event, principle-injector)
|
|
7
|
-
* were removed from the public surface in PRI-636
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* were removed from the public surface in PRI-636. The PainSignal schema is
|
|
8
|
+
* canonical under ./runtime-v2/types (exported via the ./runtime-v2 subpath);
|
|
9
|
+
* telemetry-event remains an internal module consumed via relative imports.
|
|
10
10
|
*
|
|
11
11
|
* @example
|
|
12
12
|
* import { RuntimeStateManager, SqliteTaskStore } from '@principles/core';
|
|
@@ -371,4 +371,97 @@ describe('recordPainSignalObservability', () => {
|
|
|
371
371
|
}
|
|
372
372
|
});
|
|
373
373
|
});
|
|
374
|
+
describe('PRI-640 host attribution (host_kind on canonical pain_events)', () => {
|
|
375
|
+
function painData(overrides = {}) {
|
|
376
|
+
return {
|
|
377
|
+
painId: 'pain_640_001',
|
|
378
|
+
painType: 'user_frustration',
|
|
379
|
+
source: 'manual',
|
|
380
|
+
reason: 'host attribution probe',
|
|
381
|
+
score: 80,
|
|
382
|
+
sessionId: 'cli',
|
|
383
|
+
...overrides,
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
function readPainHostKind(stateDir, canonicalPainId) {
|
|
387
|
+
const db = new Database(join(stateDir, 'trajectory.db'), { readonly: true });
|
|
388
|
+
try {
|
|
389
|
+
const raw = db.prepare('SELECT host_kind FROM pain_events WHERE canonical_pain_id = ?').get(canonicalPainId);
|
|
390
|
+
expect(raw).toBeDefined();
|
|
391
|
+
return raw.host_kind;
|
|
392
|
+
}
|
|
393
|
+
finally {
|
|
394
|
+
db.close();
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
it('persists hostKind from the pain data on a fresh database (openclaw / codex / omitted)', () => {
|
|
398
|
+
const { workspaceDir, stateDir } = makeWorkspace();
|
|
399
|
+
recordPainSignalObservability({ workspaceDir, stateDir, data: painData({ hostKind: 'openclaw' }), canonicalPainId: 'pain_640_openclaw' });
|
|
400
|
+
expect(readPainHostKind(stateDir, 'pain_640_openclaw')).toBe('openclaw');
|
|
401
|
+
recordPainSignalObservability({ workspaceDir, stateDir, data: painData({ hostKind: 'codex' }), canonicalPainId: 'pain_640_codex' });
|
|
402
|
+
expect(readPainHostKind(stateDir, 'pain_640_codex')).toBe('codex');
|
|
403
|
+
// Manual / unprovable: no hostKind -> NULL (never guessed)
|
|
404
|
+
recordPainSignalObservability({ workspaceDir, stateDir, data: painData(), canonicalPainId: 'pain_640_unknown' });
|
|
405
|
+
expect(readPainHostKind(stateDir, 'pain_640_unknown')).toBeNull();
|
|
406
|
+
});
|
|
407
|
+
it('migrates an existing pre-PRI-640 database additively and keeps old rows readable (SPEC §28)', () => {
|
|
408
|
+
const { workspaceDir, stateDir } = makeWorkspace();
|
|
409
|
+
mkdirSync(stateDir, { recursive: true });
|
|
410
|
+
const legacy = new Database(join(stateDir, 'trajectory.db'));
|
|
411
|
+
try {
|
|
412
|
+
legacy.exec(`
|
|
413
|
+
CREATE TABLE sessions (session_id TEXT PRIMARY KEY, started_at TEXT NOT NULL, updated_at TEXT NOT NULL);
|
|
414
|
+
CREATE TABLE pain_events (
|
|
415
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
416
|
+
session_id TEXT NOT NULL, source TEXT NOT NULL, score REAL NOT NULL, reason TEXT,
|
|
417
|
+
severity TEXT, origin TEXT, confidence REAL, text TEXT,
|
|
418
|
+
canonical_pain_id TEXT, runtime_task_id TEXT, created_at TEXT NOT NULL
|
|
419
|
+
);
|
|
420
|
+
CREATE UNIQUE INDEX idx_pain_events_canonical_pain_id ON pain_events(canonical_pain_id) WHERE canonical_pain_id IS NOT NULL;
|
|
421
|
+
`);
|
|
422
|
+
legacy.prepare(`INSERT INTO pain_events (session_id, source, score, reason, origin, text, canonical_pain_id, created_at)
|
|
423
|
+
VALUES ('legacy-session', 'manual', 90, 'legacy row', 'user_manual', 'legacy', 'pain_640_legacy', '2026-01-01T00:00:00.000Z')`).run();
|
|
424
|
+
}
|
|
425
|
+
finally {
|
|
426
|
+
legacy.close();
|
|
427
|
+
}
|
|
428
|
+
// Migration pass 1 (schema ensure inside the writer) + a new host-bound row
|
|
429
|
+
const first = recordPainSignalObservability({ workspaceDir, stateDir, data: painData({ hostKind: 'codex' }), canonicalPainId: 'pain_640_new' });
|
|
430
|
+
expect(first.warnings).toEqual([]);
|
|
431
|
+
// Migration pass 2 (repeated): idempotent, no error
|
|
432
|
+
const second = recordPainSignalObservability({ workspaceDir, stateDir, data: painData({ hostKind: 'codex' }), canonicalPainId: 'pain_640_new2' });
|
|
433
|
+
expect(second.warnings).toEqual([]);
|
|
434
|
+
expect(readPainHostKind(stateDir, 'pain_640_legacy')).toBeNull();
|
|
435
|
+
expect(readPainHostKind(stateDir, 'pain_640_new')).toBe('codex');
|
|
436
|
+
const db = new Database(join(stateDir, 'trajectory.db'), { readonly: true });
|
|
437
|
+
try {
|
|
438
|
+
// Canonical unique index still enforced: one row per canonical id
|
|
439
|
+
const count = db.prepare('SELECT COUNT(*) AS n FROM pain_events WHERE canonical_pain_id = ?').get('pain_640_new');
|
|
440
|
+
expect(count.n).toBe(1);
|
|
441
|
+
}
|
|
442
|
+
finally {
|
|
443
|
+
db.close();
|
|
444
|
+
}
|
|
445
|
+
});
|
|
446
|
+
it('enriches unknown → known on re-delivery of the same canonical pain (SPEC §17)', () => {
|
|
447
|
+
const { workspaceDir, stateDir } = makeWorkspace();
|
|
448
|
+
recordPainSignalObservability({ workspaceDir, stateDir, data: painData(), canonicalPainId: 'pain_640_enrich' });
|
|
449
|
+
expect(readPainHostKind(stateDir, 'pain_640_enrich')).toBeNull();
|
|
450
|
+
// Later delivery carries proven host attribution (e.g. governance continuation)
|
|
451
|
+
const result = recordPainSignalObservability({ workspaceDir, stateDir, data: painData({ hostKind: 'codex' }), canonicalPainId: 'pain_640_enrich' });
|
|
452
|
+
expect(result.warnings).toEqual([]);
|
|
453
|
+
expect(readPainHostKind(stateDir, 'pain_640_enrich')).toBe('codex');
|
|
454
|
+
});
|
|
455
|
+
it('keeps the first durable attribution on conflicting re-attribution and emits bounded evidence (SPEC §16)', () => {
|
|
456
|
+
const { workspaceDir, stateDir } = makeWorkspace();
|
|
457
|
+
recordPainSignalObservability({ workspaceDir, stateDir, data: painData({ hostKind: 'openclaw' }), canonicalPainId: 'pain_640_conflict' });
|
|
458
|
+
const result = recordPainSignalObservability({ workspaceDir, stateDir, data: painData({ hostKind: 'codex' }), canonicalPainId: 'pain_640_conflict' });
|
|
459
|
+
expect(readPainHostKind(stateDir, 'pain_640_conflict')).toBe('openclaw');
|
|
460
|
+
expect(result.warnings).toContain('host_kind_conflict:kept=openclaw,rejected=codex');
|
|
461
|
+
// Re-delivery keeps the durable attribution (still no overwrite, still loud)
|
|
462
|
+
const again = recordPainSignalObservability({ workspaceDir, stateDir, data: painData({ hostKind: 'codex' }), canonicalPainId: 'pain_640_conflict' });
|
|
463
|
+
expect(again.warnings).toContain('host_kind_conflict:kept=openclaw,rejected=codex');
|
|
464
|
+
expect(readPainHostKind(stateDir, 'pain_640_conflict')).toBe('openclaw');
|
|
465
|
+
});
|
|
466
|
+
});
|
|
374
467
|
//# sourceMappingURL=pain-signal-observability.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pain-signal-observability.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/pain-signal-observability.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pain-signal-observability.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/pain-signal-observability.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PD Config Override Provenance Tests — PRI-637
|
|
3
|
+
*
|
|
4
|
+
* Feature flag config lifecycle: a config override may carry `source` metadata
|
|
5
|
+
* (`owner` | `system`); absence means LEGACY_UNKNOWN. This suite pins the
|
|
6
|
+
* lifecycle contract:
|
|
7
|
+
*
|
|
8
|
+
* - Resolution precedence: registry default ← explicit override; an override's
|
|
9
|
+
* `enabled` is what wins, provenance never flips the value.
|
|
10
|
+
* - Legacy overrides (no source) are PRESERVED as-is — never promoted to
|
|
11
|
+
* `owner`, never downgraded to `system`, never guessed from the boolean.
|
|
12
|
+
* - Owner pins (source: 'owner') survive effective computation.
|
|
13
|
+
* - Observation-safety: effective values computed from a pre-PRI-637 config
|
|
14
|
+
* are identical after applying the provenance contract (idempotent, and no
|
|
15
|
+
* legacy `enabled` value is rewritten).
|
|
16
|
+
* - Alias conflict keeps existing canonical precedence; the canonical entry's
|
|
17
|
+
* source is preserved.
|
|
18
|
+
* - `system` is an ORIGIN HINT, not an auto-delete license: direct
|
|
19
|
+
* `.pd/config.yaml` editing is a supported path, so a system entry may carry
|
|
20
|
+
* Owner intent; provenance never gates the value, and cleanup keyed on
|
|
21
|
+
* `system` requires explicit Owner confirmation.
|
|
22
|
+
*/
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=pd-config-provenance.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pd-config-provenance.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/config/__tests__/pd-config-provenance.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PD Config Override Provenance Tests — PRI-637
|
|
3
|
+
*
|
|
4
|
+
* Feature flag config lifecycle: a config override may carry `source` metadata
|
|
5
|
+
* (`owner` | `system`); absence means LEGACY_UNKNOWN. This suite pins the
|
|
6
|
+
* lifecycle contract:
|
|
7
|
+
*
|
|
8
|
+
* - Resolution precedence: registry default ← explicit override; an override's
|
|
9
|
+
* `enabled` is what wins, provenance never flips the value.
|
|
10
|
+
* - Legacy overrides (no source) are PRESERVED as-is — never promoted to
|
|
11
|
+
* `owner`, never downgraded to `system`, never guessed from the boolean.
|
|
12
|
+
* - Owner pins (source: 'owner') survive effective computation.
|
|
13
|
+
* - Observation-safety: effective values computed from a pre-PRI-637 config
|
|
14
|
+
* are identical after applying the provenance contract (idempotent, and no
|
|
15
|
+
* legacy `enabled` value is rewritten).
|
|
16
|
+
* - Alias conflict keeps existing canonical precedence; the canonical entry's
|
|
17
|
+
* source is preserved.
|
|
18
|
+
* - `system` is an ORIGIN HINT, not an auto-delete license: direct
|
|
19
|
+
* `.pd/config.yaml` editing is a supported path, so a system entry may carry
|
|
20
|
+
* Owner intent; provenance never gates the value, and cleanup keyed on
|
|
21
|
+
* `system` requires explicit Owner confirmation.
|
|
22
|
+
*/
|
|
23
|
+
import { readFileSync } from 'node:fs';
|
|
24
|
+
import { describe, it, expect } from 'vitest';
|
|
25
|
+
import { validatePdConfig, computeEffectivePdConfig, computeFeatureFlagsFromConfig, getDefaultPdConfig, DEFAULT_FEATURE_FLAGS, } from '../index.js';
|
|
26
|
+
import { FEATURE_FLAG_ALIASES } from '../../feature-flags/feature-flag-contract.js';
|
|
27
|
+
// ── Helpers ─────────────────────────────────────────────────────────────────
|
|
28
|
+
function nn(value, msg) {
|
|
29
|
+
if (value === undefined)
|
|
30
|
+
throw new Error(msg ?? 'Expected non-undefined');
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
33
|
+
function mkConfig(features, extra) {
|
|
34
|
+
return {
|
|
35
|
+
...getDefaultPdConfig(),
|
|
36
|
+
features,
|
|
37
|
+
...extra,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
describe('PRI-637 override provenance — resolution precedence', () => {
|
|
41
|
+
it('no override → registry default', () => {
|
|
42
|
+
const effective = computeEffectivePdConfig(getDefaultPdConfig());
|
|
43
|
+
for (const [id, def] of Object.entries(DEFAULT_FEATURE_FLAGS)) {
|
|
44
|
+
expect(effective.config.features[id]?.enabled).toBe(def.enabled);
|
|
45
|
+
expect(effective.config.features[id]?.source).toBeUndefined();
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
it('owner pin false + default true → false (emergency disable, quiet flag)', () => {
|
|
49
|
+
// Use a real registered quiet flag whose registry default is true.
|
|
50
|
+
const id = 'feedback_channel';
|
|
51
|
+
expect(DEFAULT_FEATURE_FLAGS[id]?.enabled).toBe(true);
|
|
52
|
+
const effective = computeEffectivePdConfig(mkConfig({
|
|
53
|
+
[id]: { category: 'quiet', enabled: false, source: 'owner' },
|
|
54
|
+
}));
|
|
55
|
+
expect(effective.config.features[id]?.enabled).toBe(false);
|
|
56
|
+
expect(effective.config.features[id]?.source).toBe('owner');
|
|
57
|
+
});
|
|
58
|
+
it('owner pin true + default false → true', () => {
|
|
59
|
+
const id = 'intent_engineering';
|
|
60
|
+
expect(DEFAULT_FEATURE_FLAGS[id]?.enabled).toBe(false);
|
|
61
|
+
const effective = computeEffectivePdConfig(mkConfig({
|
|
62
|
+
[id]: { category: 'quiet', enabled: true, source: 'owner' },
|
|
63
|
+
}));
|
|
64
|
+
expect(effective.config.features[id]?.enabled).toBe(true);
|
|
65
|
+
expect(effective.config.features[id]?.source).toBe('owner');
|
|
66
|
+
});
|
|
67
|
+
it('system override respects its enabled value and keeps source', () => {
|
|
68
|
+
const id = 'gfi';
|
|
69
|
+
const effective = computeEffectivePdConfig(mkConfig({
|
|
70
|
+
[id]: { category: 'quiet', enabled: true, source: 'system' },
|
|
71
|
+
}));
|
|
72
|
+
expect(effective.config.features[id]?.enabled).toBe(true);
|
|
73
|
+
expect(effective.config.features[id]?.source).toBe('system');
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe('PRI-637 legacy unknown — preserve, never guess', () => {
|
|
77
|
+
it('legacy bare false → preserved, source stays undefined', () => {
|
|
78
|
+
const id = 'painEvidenceAdmission';
|
|
79
|
+
expect(DEFAULT_FEATURE_FLAGS[id]?.enabled).toBe(true);
|
|
80
|
+
const effective = computeEffectivePdConfig(mkConfig({
|
|
81
|
+
[id]: { category: 'quiet', enabled: false },
|
|
82
|
+
}));
|
|
83
|
+
// PRI-637 §5/C: a bare false is NOT auto-called stale — the value is
|
|
84
|
+
// preserved and the entry is classified LEGACY_UNKNOWN (source absent).
|
|
85
|
+
expect(effective.config.features[id]?.enabled).toBe(false);
|
|
86
|
+
expect(effective.config.features[id]?.source).toBeUndefined();
|
|
87
|
+
});
|
|
88
|
+
it('legacy bare true → preserved, source stays undefined', () => {
|
|
89
|
+
const id = 'intent_engineering';
|
|
90
|
+
expect(DEFAULT_FEATURE_FLAGS[id]?.enabled).toBe(false);
|
|
91
|
+
const effective = computeEffectivePdConfig(mkConfig({
|
|
92
|
+
[id]: { category: 'quiet', enabled: true },
|
|
93
|
+
}));
|
|
94
|
+
expect(effective.config.features[id]?.enabled).toBe(true);
|
|
95
|
+
expect(effective.config.features[id]?.source).toBeUndefined();
|
|
96
|
+
});
|
|
97
|
+
it('effective computation is a pure function — repeated runs are idempotent (observation safety)', () => {
|
|
98
|
+
const id = 'diagnostician_llm_degradation';
|
|
99
|
+
const legacy = mkConfig({
|
|
100
|
+
[id]: { category: 'quiet', enabled: false },
|
|
101
|
+
});
|
|
102
|
+
const first = computeEffectivePdConfig(legacy);
|
|
103
|
+
const second = computeEffectivePdConfig(legacy);
|
|
104
|
+
expect(first.config.features[id]?.enabled).toBe(false);
|
|
105
|
+
expect(second.config.features[id]?.enabled).toBe(false);
|
|
106
|
+
expect(first.config.features[id]?.source).toBeUndefined();
|
|
107
|
+
expect(second.config.features[id]?.source).toBeUndefined();
|
|
108
|
+
// No run "migrates" the legacy entry into a pinned state.
|
|
109
|
+
expect(JSON.stringify(second.config.features)).toBe(JSON.stringify(first.config.features));
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
describe('PRI-637 validation — source metadata', () => {
|
|
113
|
+
it('accepts owner/system and rejects any other source value', () => {
|
|
114
|
+
const validSources = ['owner', 'system'];
|
|
115
|
+
for (const source of validSources) {
|
|
116
|
+
const ok = validatePdConfig(mkConfig({
|
|
117
|
+
feedback_channel: { category: 'quiet', enabled: true, source },
|
|
118
|
+
}));
|
|
119
|
+
expect(ok.ok).toBe(true);
|
|
120
|
+
}
|
|
121
|
+
// Deliberately invalid provenance value — the validator must fail loud (rc-3).
|
|
122
|
+
const bad = validatePdConfig(mkConfig({
|
|
123
|
+
feedback_channel: { category: 'quiet', enabled: true, source: 'opener' },
|
|
124
|
+
}));
|
|
125
|
+
expect(bad.ok).toBe(false);
|
|
126
|
+
});
|
|
127
|
+
it('absent source is legal (LEGACY_UNKNOWN)', () => {
|
|
128
|
+
const result = validatePdConfig(mkConfig({
|
|
129
|
+
feedback_channel: { category: 'quiet', enabled: false },
|
|
130
|
+
}));
|
|
131
|
+
expect(result.ok).toBe(true);
|
|
132
|
+
if (!result.ok)
|
|
133
|
+
throw new Error('unreachable');
|
|
134
|
+
expect(result.value.features.feedback_channel?.source).toBeUndefined();
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
describe('PRI-637 source reaches the effective feature-flag surface', () => {
|
|
138
|
+
it('computeFeatureFlagsFromConfig surfaces override source', () => {
|
|
139
|
+
const effective = computeEffectivePdConfig(mkConfig({
|
|
140
|
+
feedback_channel: { category: 'quiet', enabled: false, source: 'owner' },
|
|
141
|
+
}));
|
|
142
|
+
const flags = computeFeatureFlagsFromConfig(effective);
|
|
143
|
+
const flag = flags.flags.feedback_channel;
|
|
144
|
+
expect(nn(flag).enabled).toBe(false);
|
|
145
|
+
expect(nn(flag).source).toBe('owner');
|
|
146
|
+
});
|
|
147
|
+
it('registry-default flags have no source on the effective surface', () => {
|
|
148
|
+
const flags = computeFeatureFlagsFromConfig(computeEffectivePdConfig(null));
|
|
149
|
+
for (const flag of Object.values(flags.flags)) {
|
|
150
|
+
expect(flag?.source).toBeUndefined();
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
describe('PRI-637 alias interaction — canonical precedence preserved', () => {
|
|
155
|
+
it('canonical entry wins over its snake_case alias and carries its own source', () => {
|
|
156
|
+
const [alias, canonical] = Object.entries(FEATURE_FLAG_ALIASES)[0];
|
|
157
|
+
if (!alias || !canonical)
|
|
158
|
+
throw new Error('no alias fixture');
|
|
159
|
+
const effective = computeEffectivePdConfig(mkConfig({
|
|
160
|
+
[canonical]: { category: 'quiet', enabled: false, source: 'owner' },
|
|
161
|
+
[alias]: { category: 'quiet', enabled: true },
|
|
162
|
+
}));
|
|
163
|
+
// Canonical wins (existing PRI-609 precedence); the canonical entry's
|
|
164
|
+
// provenance is the one attached to the effective value.
|
|
165
|
+
expect(effective.config.features[canonical]?.enabled).toBe(false);
|
|
166
|
+
expect(effective.config.features[canonical]?.source).toBe('owner');
|
|
167
|
+
});
|
|
168
|
+
it('alias-only override normalizes onto the canonical ID with its source preserved', () => {
|
|
169
|
+
const [alias, canonical] = Object.entries(FEATURE_FLAG_ALIASES)[0];
|
|
170
|
+
if (!alias || !canonical)
|
|
171
|
+
throw new Error('no alias fixture');
|
|
172
|
+
const effective = computeEffectivePdConfig(mkConfig({
|
|
173
|
+
[alias]: { category: 'quiet', enabled: false, source: 'owner' },
|
|
174
|
+
}));
|
|
175
|
+
expect(effective.config.features[canonical]?.enabled).toBe(false);
|
|
176
|
+
expect(effective.config.features[canonical]?.source).toBe('owner');
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
describe('PRI-637 system is an origin hint, never an auto-delete license', () => {
|
|
180
|
+
// Direct .pd/config.yaml editing is a supported path (the pd runtime init
|
|
181
|
+
// header tells Owners: "Edit to configure feature flags…"). A fresh-install
|
|
182
|
+
// entry ships { enabled: false, source: 'system' }; the Owner may edit the
|
|
183
|
+
// value in place, leaving source untouched. Provenance must never gate the
|
|
184
|
+
// value — the current `enabled` always wins regardless of label.
|
|
185
|
+
it('an Owner hand-edit on a system-origin entry is honored (system does not pin the value)', () => {
|
|
186
|
+
const id = 'gfi';
|
|
187
|
+
expect(DEFAULT_FEATURE_FLAGS[id]?.enabled).toBe(false);
|
|
188
|
+
// Simulate: installer wrote { enabled: false, source: 'system' }, then the
|
|
189
|
+
// Owner hand-edited enabled → true directly in config.yaml.
|
|
190
|
+
const effective = computeEffectivePdConfig(mkConfig({
|
|
191
|
+
[id]: { category: 'quiet', enabled: true, source: 'system' },
|
|
192
|
+
}));
|
|
193
|
+
expect(effective.config.features[id]?.enabled).toBe(true);
|
|
194
|
+
// The label still says 'system' — it records ORIGIN, not current intent.
|
|
195
|
+
expect(effective.config.features[id]?.source).toBe('system');
|
|
196
|
+
});
|
|
197
|
+
// Source-scan guard (mirrors installer-config-parity pattern): the canonical
|
|
198
|
+
// FEATURE_FLAG_SOURCES doc must keep the anti-auto-delete constraint. If the
|
|
199
|
+
// overclaim ("eligible for deterministic cleanup") is ever reintroduced, this
|
|
200
|
+
// fails loud instead of silently downgrading the contract.
|
|
201
|
+
it('contract comment forbids treating system as unconditionally auto-cleanable', () => {
|
|
202
|
+
const typesSource = readFileSync(new URL('../pd-config-types.ts', import.meta.url), 'utf8');
|
|
203
|
+
expect(typesSource).toContain('ORIGIN HINT ONLY');
|
|
204
|
+
expect(typesSource).toContain('NEVER an automatic');
|
|
205
|
+
expect(typesSource).not.toContain('eligible for deterministic cleanup');
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
//# sourceMappingURL=pd-config-provenance.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pd-config-provenance.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/config/__tests__/pd-config-provenance.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAGpF,+EAA+E;AAE/E,SAAS,EAAE,CAAI,KAAoB,EAAE,GAAY;IAC/C,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,QAA0C,EAAE,KAAyB;IACrF,OAAO;QACL,GAAG,kBAAkB,EAAE;QACvB,QAAQ;QACR,GAAG,KAAK;KACT,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;IACnE,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,SAAS,GAAG,wBAAwB,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACjE,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,mEAAmE;QACnE,MAAM,EAAE,GAAG,kBAAkB,CAAC;QAC9B,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC;YAClD,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;SAC7D,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,GAAG,oBAAoB,CAAC;QAChC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC;YAClD,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;SAC5D,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,EAAE,GAAG,KAAK,CAAC;QACjB,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC;YAClD,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC7D,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC9D,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,GAAG,uBAAuB,CAAC;QACnC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC;YAClD,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;SAC5C,CAAC,CAAC,CAAC;QACJ,qEAAqE;QACrE,wEAAwE;QACxE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,EAAE,GAAG,oBAAoB,CAAC;QAChC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC;YAClD,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8FAA8F,EAAE,GAAG,EAAE;QACtG,MAAM,EAAE,GAAG,+BAA+B,CAAC;QAC3C,MAAM,MAAM,GAAa,QAAQ,CAAC;YAChC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;SAC5C,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QAC3D,0DAA0D;QAC1D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAU,CAAC;QAClD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC;gBACnC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;aAC/D,CAAC,CAAC,CAAC;YACJ,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,+EAA+E;QAC/E,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC;YACpC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAA6B,EAAE;SAC9F,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC;YACvC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;SACxD,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2DAA2D,EAAE,GAAG,EAAE;IACzE,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC;YAClD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;SACzE,CAAC,CAAC,CAAC;QACJ,MAAM,KAAK,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,KAAK,GAAG,6BAA6B,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4DAA4D,EAAE,GAAG,EAAE;IAC1E,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAqB,CAAC;QACvF,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC;YAClD,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;YACnE,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;SAC9C,CAAC,CAAC,CAAC;QACJ,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACxF,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAqB,CAAC;QACvF,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC;YAClD,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;SAChE,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC9E,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,iEAAiE;IACjE,EAAE,CAAC,wFAAwF,EAAE,GAAG,EAAE;QAChG,MAAM,EAAE,GAAG,KAAK,CAAC;QACjB,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,2EAA2E;QAC3E,4DAA4D;QAC5D,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC;YAClD,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC7D,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,yEAAyE;QACzE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,2DAA2D;IAC3D,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,WAAW,GAAG,YAAY,CAC9B,IAAI,GAAG,CAAC,uBAAuB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EACjD,MAAM,CACP,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Public API for the PD-owned config contract.
|
|
5
5
|
*/
|
|
6
|
-
export type { PdConfigVersion, FeatureCategory, FeatureFlagEntry, RuntimeProfileType, OpenClawRuntimeProfile, PdLocalRuntimeProfile, RuntimeProfile, InternalAgentName, InternalAgentBinding, InternalAgentsConfig, DiagnosticsMode, UiConfig, WorkspaceConfig, WorkspaceEnvironment, PrinciplesConfig, PdConfig, PdConfigValidationError, PdConfigValidationResultOk, PdConfigValidationResultErr, PdConfigValidationResult, EffectivePdConfig, RedactedRuntimeProfileSummary, RedactedAgentSummary, RedactedFeatureSummary, RedactedPdConfigSummary, ProfileAuditLevel, ProfileEvolutionMode, ProfileTestLevel, ProfileConfig, RedactedProfileSummary, ProjectFocusMode, EvolutionContextConfig, ContextInjectionConfig, PartialContextInjectionConfig, } from './pd-config-types.js';
|
|
6
|
+
export type { PdConfigVersion, FeatureCategory, FeatureFlagEntry, FeatureFlagSource, RuntimeProfileType, OpenClawRuntimeProfile, PdLocalRuntimeProfile, RuntimeProfile, InternalAgentName, InternalAgentBinding, InternalAgentsConfig, DiagnosticsMode, UiConfig, WorkspaceConfig, WorkspaceEnvironment, PrinciplesConfig, PdConfig, PdConfigValidationError, PdConfigValidationResultOk, PdConfigValidationResultErr, PdConfigValidationResult, EffectivePdConfig, RedactedRuntimeProfileSummary, RedactedAgentSummary, RedactedFeatureSummary, RedactedPdConfigSummary, ProfileAuditLevel, ProfileEvolutionMode, ProfileTestLevel, ProfileConfig, RedactedProfileSummary, ProjectFocusMode, EvolutionContextConfig, ContextInjectionConfig, PartialContextInjectionConfig, } from './pd-config-types.js';
|
|
7
7
|
export { PD_CONFIG_VERSION, VALID_FEATURE_CATEGORIES, VALID_PROFILE_TYPES, INTERNAL_AGENT_NAMES, VALID_DIAGNOSTICS_MODES, VALID_PROJECT_FOCUS_MODES, DANGEROUS_KEYS, WORKSPACE_ENVIRONMENTS, PROFILE_AUDIT_LEVELS, PROFILE_EVOLUTION_MODES, PROFILE_TEST_LEVELS, } from './pd-config-types.js';
|
|
8
8
|
export { validatePdConfig, } from './pd-config-validate.js';
|
|
9
9
|
export { validateProfileConfig, } from './pd-validate-profile.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,QAAQ,EACR,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EAEvB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EAEtB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EAEd,sBAAsB,EAEtB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,gBAAgB,EAChB,cAAc,GACf,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,QAAQ,EACR,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EAEvB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EAEtB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EAEd,sBAAsB,EAEtB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,gBAAgB,EAChB,cAAc,GACf,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2CH,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc;AACd,qCAAqC;AACrC,sBAAsB;AACtB,gBAAgB;AAChB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,aAAa;AACb,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,+BAA+B;AAC/B,OAAO,EACL,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAElC,6BAA6B;AAC7B,OAAO,EACL,gBAAgB,EAChB,cAAc,GACf,MAAM,2BAA2B,CAAC;AAEnC,WAAW;AACX,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,mBAAmB;AACnB,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY;AACZ,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAatC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-config-effective.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-effective.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,iBAAiB,EAUvB,MAAM,sBAAsB,CAAC;AA6B9B;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"pd-config-effective.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-effective.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,iBAAiB,EAUvB,MAAM,sBAAsB,CAAC;AA6B9B;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CA+JnG"}
|
|
@@ -66,7 +66,11 @@ export function computeEffectivePdConfig(userConfig) {
|
|
|
66
66
|
// This deliberate override is honored with a warning so the disable is observable
|
|
67
67
|
// in logs/telemetry. Per-rule rollback remains `deactivate`.
|
|
68
68
|
if (defaultEntry.category === 'core' && !userEntry.enabled) {
|
|
69
|
-
features[flagId] = {
|
|
69
|
+
features[flagId] = {
|
|
70
|
+
category: userEntry.category,
|
|
71
|
+
enabled: false,
|
|
72
|
+
...(userEntry.source ? { source: userEntry.source } : {}),
|
|
73
|
+
};
|
|
70
74
|
warnings.push(`feature '${flagId}': core flag explicitly disabled via config (emergency disable)`);
|
|
71
75
|
featuresChangedFromDefault.push(flagId);
|
|
72
76
|
continue;
|
|
@@ -74,7 +78,11 @@ export function computeEffectivePdConfig(userConfig) {
|
|
|
74
78
|
if (userEntry.category !== defaultEntry.category || userEntry.enabled !== defaultEntry.enabled) {
|
|
75
79
|
featuresChangedFromDefault.push(flagId);
|
|
76
80
|
}
|
|
77
|
-
features[flagId] = {
|
|
81
|
+
features[flagId] = {
|
|
82
|
+
category: userEntry.category,
|
|
83
|
+
enabled: userEntry.enabled,
|
|
84
|
+
...(userEntry.source ? { source: userEntry.source } : {}),
|
|
85
|
+
};
|
|
78
86
|
}
|
|
79
87
|
else {
|
|
80
88
|
features[flagId] = { ...defaultEntry };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-config-effective.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-effective.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pd-config-effective.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-effective.ts"],"names":[],"mappings":"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"}
|