@principles/core 2.1.1 → 4.0.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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/prompt-builder/index.d.ts +0 -1
- package/dist/prompt-builder/index.d.ts.map +1 -1
- package/dist/prompt-builder/index.js +0 -1
- package/dist/prompt-builder/index.js.map +1 -1
- package/dist/runtime-v2/adapter/output-schema-registry.js +2 -2
- package/dist/runtime-v2/control-plane-triage.d.ts +1 -1
- package/dist/runtime-v2/control-plane-triage.d.ts.map +1 -1
- package/dist/runtime-v2/control-plane-triage.js +0 -15
- package/dist/runtime-v2/control-plane-triage.js.map +1 -1
- package/dist/runtime-v2/evidence-triage/index.d.ts +0 -1
- package/dist/runtime-v2/evidence-triage/index.d.ts.map +1 -1
- package/dist/runtime-v2/evidence-triage/index.js +0 -2
- package/dist/runtime-v2/evidence-triage/index.js.map +1 -1
- package/dist/runtime-v2/evidence-triage/observation-resolver.d.ts +3 -6
- package/dist/runtime-v2/evidence-triage/observation-resolver.d.ts.map +1 -1
- package/dist/runtime-v2/evidence-triage/observation-resolver.js +5 -10
- package/dist/runtime-v2/evidence-triage/observation-resolver.js.map +1 -1
- package/dist/runtime-v2/evidence-triage/source-descriptors.d.ts +5 -9
- package/dist/runtime-v2/evidence-triage/source-descriptors.d.ts.map +1 -1
- package/dist/runtime-v2/evidence-triage/source-descriptors.js +8 -25
- package/dist/runtime-v2/evidence-triage/source-descriptors.js.map +1 -1
- package/dist/runtime-v2/evidence-triage/triage-policy.d.ts +11 -9
- package/dist/runtime-v2/evidence-triage/triage-policy.d.ts.map +1 -1
- package/dist/runtime-v2/evidence-triage/triage-policy.js +10 -103
- package/dist/runtime-v2/evidence-triage/triage-policy.js.map +1 -1
- package/dist/runtime-v2/evidence-triage/trigger-controller.js +1 -1
- package/dist/runtime-v2/evidence-triage/trigger-controller.js.map +1 -1
- package/dist/runtime-v2/evidence-triage/types.d.ts +5 -17
- package/dist/runtime-v2/evidence-triage/types.d.ts.map +1 -1
- package/dist/runtime-v2/evidence-triage/types.js +0 -1
- package/dist/runtime-v2/evidence-triage/types.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js +4 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +3 -8
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
- package/dist/runtime-v2/golden-trace.d.ts.map +1 -1
- package/dist/runtime-v2/golden-trace.js +0 -1
- package/dist/runtime-v2/golden-trace.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +6 -10
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +5 -9
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/rule-host-contracts.d.ts +0 -1
- package/dist/runtime-v2/internalization/rule-host-contracts.d.ts.map +1 -1
- package/dist/runtime-v2/operator-health-read-model.d.ts +0 -2
- package/dist/runtime-v2/operator-health-read-model.d.ts.map +1 -1
- package/dist/runtime-v2/operator-health-read-model.js +1 -55
- package/dist/runtime-v2/operator-health-read-model.js.map +1 -1
- package/dist/runtime-v2/signal-collector/confidence-gate.d.ts +1 -5
- package/dist/runtime-v2/signal-collector/confidence-gate.d.ts.map +1 -1
- package/dist/runtime-v2/signal-collector/confidence-gate.js +0 -9
- package/dist/runtime-v2/signal-collector/confidence-gate.js.map +1 -1
- package/dist/runtime-v2/signal-collector/keyword-stage.d.ts +2 -2
- package/dist/runtime-v2/signal-collector/keyword-stage.d.ts.map +1 -1
- package/dist/runtime-v2/signal-collector/keyword-stage.js +6 -10
- package/dist/runtime-v2/signal-collector/keyword-stage.js.map +1 -1
- package/dist/runtime-v2/signal-collector/llm-stage.d.ts +1 -1
- package/dist/runtime-v2/signal-collector/llm-stage.d.ts.map +1 -1
- package/dist/runtime-v2/signal-collector/llm-stage.js +3 -4
- package/dist/runtime-v2/signal-collector/llm-stage.js.map +1 -1
- package/dist/runtime-v2/signal-collector/signal-collector.js +4 -4
- package/dist/runtime-v2/signal-collector/signal-collector.js.map +1 -1
- package/dist/runtime-v2/signal-collector/types.d.ts +6 -8
- package/dist/runtime-v2/signal-collector/types.d.ts.map +1 -1
- package/dist/runtime-v2/signal-collector/types.js +6 -6
- package/dist/runtime-v2/signal-collector/types.js.map +1 -1
- package/dist/runtime-v2/trajectory-schema.d.ts +24 -4
- package/dist/runtime-v2/trajectory-schema.d.ts.map +1 -1
- package/dist/runtime-v2/trajectory-schema.js +58 -2
- package/dist/runtime-v2/trajectory-schema.js.map +1 -1
- package/dist/runtime-v2/types/event-types.d.ts +0 -35
- package/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/dist/runtime-v2/types/event-types.js +0 -19
- package/dist/runtime-v2/types/event-types.js.map +1 -1
- package/dist/runtime-v2/types/index.d.ts +2 -2
- package/dist/runtime-v2/types/index.d.ts.map +1 -1
- package/dist/runtime-v2/types/index.js +1 -1
- package/dist/runtime-v2/types/index.js.map +1 -1
- package/dist/trajectory-types.d.ts +0 -2
- package/dist/trajectory-types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/prompt-builder/attitude-directive.d.ts +0 -7
- package/dist/prompt-builder/attitude-directive.d.ts.map +0 -1
- package/dist/prompt-builder/attitude-directive.js +0 -39
- package/dist/prompt-builder/attitude-directive.js.map +0 -1
- package/dist/runtime-v2/gfi/gfi-kernel.d.ts +0 -12
- package/dist/runtime-v2/gfi/gfi-kernel.d.ts.map +0 -1
- package/dist/runtime-v2/gfi/gfi-kernel.js +0 -148
- package/dist/runtime-v2/gfi/gfi-kernel.js.map +0 -1
- package/dist/runtime-v2/gfi/gfi-policy.d.ts +0 -3
- package/dist/runtime-v2/gfi/gfi-policy.d.ts.map +0 -1
- package/dist/runtime-v2/gfi/gfi-policy.js +0 -23
- package/dist/runtime-v2/gfi/gfi-policy.js.map +0 -1
- package/dist/runtime-v2/gfi/gfi-read-model.d.ts +0 -78
- package/dist/runtime-v2/gfi/gfi-read-model.d.ts.map +0 -1
- package/dist/runtime-v2/gfi/gfi-read-model.js +0 -129
- package/dist/runtime-v2/gfi/gfi-read-model.js.map +0 -1
- package/dist/runtime-v2/gfi/gfi-types.d.ts +0 -70
- package/dist/runtime-v2/gfi/gfi-types.d.ts.map +0 -1
- package/dist/runtime-v2/gfi/gfi-types.js +0 -2
- package/dist/runtime-v2/gfi/gfi-types.js.map +0 -1
- package/dist/runtime-v2/gfi/index.d.ts +0 -6
- package/dist/runtime-v2/gfi/index.d.ts.map +0 -1
- package/dist/runtime-v2/gfi/index.js +0 -4
- package/dist/runtime-v2/gfi/index.js.map +0 -1
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GFI Observability Read Model
|
|
3
|
-
*
|
|
4
|
-
* Pure domain model for building workspace-level GFI snapshots.
|
|
5
|
-
* Partitions sessions into active vs stale and produces an authoritative snapshot
|
|
6
|
-
* for operator visibility.
|
|
7
|
-
*
|
|
8
|
-
* PRI-78: GFI Observability
|
|
9
|
-
*/
|
|
10
|
-
import { DEFAULT_GFI_POLICY } from './gfi-policy.js';
|
|
11
|
-
import { createGfiSnapshot } from './gfi-kernel.js';
|
|
12
|
-
const DEFAULT_STALE_CUTOFF_MS = 2 * 60 * 60 * 1000; // 2 hours
|
|
13
|
-
const DEFAULT_STALE_GFI_DEGRADED_THRESHOLD = 40;
|
|
14
|
-
export function classifyGfiWorkspaceHealth(snapshot, options) {
|
|
15
|
-
const staleGfiDegradedThreshold = options?.staleGfiDegradedThreshold ?? DEFAULT_STALE_GFI_DEGRADED_THRESHOLD;
|
|
16
|
-
if (snapshot.active !== null && snapshot.active.currentGfi >= staleGfiDegradedThreshold) {
|
|
17
|
-
return {
|
|
18
|
-
status: 'degraded',
|
|
19
|
-
reason: `Active session has elevated GFI (${snapshot.active.currentGfi})`,
|
|
20
|
-
staleGfiDegradedThreshold,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
if (snapshot.activeSessionCount === 0 && snapshot.staleSessionCount > 0) {
|
|
24
|
-
const maxStaleGfi = snapshot.staleGfiRange?.max ?? 0;
|
|
25
|
-
if (maxStaleGfi >= staleGfiDegradedThreshold) {
|
|
26
|
-
return {
|
|
27
|
-
status: 'degraded',
|
|
28
|
-
reason: `No active sessions, ${snapshot.staleSessionCount} stale sessions with high GFI (max: ${maxStaleGfi})`,
|
|
29
|
-
staleGfiDegradedThreshold,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
return {
|
|
33
|
-
status: 'healthy',
|
|
34
|
-
reason: `No active sessions, ${snapshot.staleSessionCount} stale sessions with low GFI (max: ${maxStaleGfi})`,
|
|
35
|
-
staleGfiDegradedThreshold,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
return {
|
|
39
|
-
status: 'healthy',
|
|
40
|
-
reason: `${snapshot.activeSessionCount} active, ${snapshot.staleSessionCount} stale sessions`,
|
|
41
|
-
staleGfiDegradedThreshold,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Convert a session's fields to a GfiState for snapshot creation.
|
|
46
|
-
* Note: lastErrorHash is not persisted across sessions, so we omit it.
|
|
47
|
-
*/
|
|
48
|
-
function sessionToGfiState(session) {
|
|
49
|
-
return {
|
|
50
|
-
currentGfi: session.currentGfi ?? 0,
|
|
51
|
-
gfiBySource: (session.gfiBySource ?? {}),
|
|
52
|
-
lastErrorSource: session.lastErrorSource,
|
|
53
|
-
consecutiveErrors: session.consecutiveErrors ?? 0,
|
|
54
|
-
lastGfiDecayAt: session.lastGfiDecayAt,
|
|
55
|
-
dailyGfiPeak: session.dailyGfiPeak,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Build a workspace-level GFI snapshot from session data.
|
|
60
|
-
*
|
|
61
|
-
* Algorithm:
|
|
62
|
-
* 1. Default stale cutoff to 2 hours if not provided
|
|
63
|
-
* 2. Partition sessions into active (lastActivityAt >= nowMs - staleCutoffMs) and stale
|
|
64
|
-
* 3. Select active session with highest currentGfi (tie-break: most recent lastActivityAt)
|
|
65
|
-
* 4. Build GfiSnapshot for selected active session using createGfiSnapshot
|
|
66
|
-
* 5. Compute staleGfiRange from stale sessions' currentGfi values
|
|
67
|
-
* 6. Return GfiWorkspaceSnapshot
|
|
68
|
-
*
|
|
69
|
-
* Key invariant: stale sessions do NOT influence the active snapshot.
|
|
70
|
-
* This prevents old UAT sessions with GFI=197.8 from making current health look critical.
|
|
71
|
-
*/
|
|
72
|
-
export function buildGfiWorkspaceSnapshot(input) {
|
|
73
|
-
const { sessions, nowMs, policy = DEFAULT_GFI_POLICY } = input;
|
|
74
|
-
const staleCutoffMs = input.staleCutoffMs ?? DEFAULT_STALE_CUTOFF_MS;
|
|
75
|
-
if (sessions.length === 0) {
|
|
76
|
-
return {
|
|
77
|
-
active: null,
|
|
78
|
-
staleSessionCount: 0,
|
|
79
|
-
staleGfiRange: null,
|
|
80
|
-
totalSessionCount: 0,
|
|
81
|
-
activeSessionCount: 0,
|
|
82
|
-
generatedAt: new Date(nowMs).toISOString(),
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
const cutoffTime = nowMs - staleCutoffMs;
|
|
86
|
-
// Partition sessions
|
|
87
|
-
const activeSessions = [];
|
|
88
|
-
const staleSessions = [];
|
|
89
|
-
for (const session of sessions) {
|
|
90
|
-
if ((session.lastActivityAt ?? 0) >= cutoffTime) {
|
|
91
|
-
activeSessions.push(session);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
staleSessions.push(session);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
// Select active session: highest currentGfi, tie-break by most recent lastActivityAt
|
|
98
|
-
let selectedActive = null;
|
|
99
|
-
for (const session of activeSessions) {
|
|
100
|
-
if (selectedActive === null ||
|
|
101
|
-
(session.currentGfi ?? 0) > (selectedActive.currentGfi ?? 0) ||
|
|
102
|
-
((session.currentGfi ?? 0) === (selectedActive.currentGfi ?? 0) &&
|
|
103
|
-
(session.lastActivityAt ?? 0) > (selectedActive.lastActivityAt ?? 0))) {
|
|
104
|
-
selectedActive = session;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
// Build snapshot for active session
|
|
108
|
-
const activeSnapshot = selectedActive
|
|
109
|
-
? createGfiSnapshot(sessionToGfiState(selectedActive), policy)
|
|
110
|
-
: null;
|
|
111
|
-
// Compute stale GFI range
|
|
112
|
-
let staleGfiRange = null;
|
|
113
|
-
if (staleSessions.length > 0) {
|
|
114
|
-
const staleGfis = staleSessions.map((s) => s.currentGfi ?? 0);
|
|
115
|
-
staleGfiRange = {
|
|
116
|
-
min: staleGfis.reduce((a, b) => Math.min(a, b), Infinity),
|
|
117
|
-
max: staleGfis.reduce((a, b) => Math.max(a, b), -Infinity),
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
return {
|
|
121
|
-
active: activeSnapshot,
|
|
122
|
-
staleSessionCount: staleSessions.length,
|
|
123
|
-
staleGfiRange,
|
|
124
|
-
totalSessionCount: sessions.length,
|
|
125
|
-
activeSessionCount: activeSessions.length,
|
|
126
|
-
generatedAt: new Date(nowMs).toISOString(),
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
//# sourceMappingURL=gfi-read-model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gfi-read-model.js","sourceRoot":"","sources":["../../../src/runtime-v2/gfi/gfi-read-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
export type GfiSource = 'tool_failure' | 'dispatch_error' | 'user_empathy' | 'manual_pain' | 'correction_cue' | 'llm_paralysis' | 'gate_block' | 'unknown';
|
|
2
|
-
export type GfiStage = 'stable' | 'elevated' | 'critical' | 'saturated';
|
|
3
|
-
export interface GfiState {
|
|
4
|
-
currentGfi: number;
|
|
5
|
-
/**
|
|
6
|
-
* Per-source GFI ledger. Invariant: when gfiBySource is non-empty,
|
|
7
|
-
* currentGfi MUST equal the sum of all source values (within rounding).
|
|
8
|
-
*
|
|
9
|
-
* Exception: after session restart or persistence boundary, gfiBySource
|
|
10
|
-
* may be empty while currentGfi > 0 (source ledger not persisted).
|
|
11
|
-
* In this state, applyDecay falls back to direct currentGfi decay
|
|
12
|
-
* using the stage rate until source events repopulate the ledger.
|
|
13
|
-
*/
|
|
14
|
-
gfiBySource: Partial<Record<GfiSource, number>>;
|
|
15
|
-
lastErrorHash?: string;
|
|
16
|
-
lastErrorSource?: string;
|
|
17
|
-
consecutiveErrors: number;
|
|
18
|
-
lastGfiDecayAt?: number;
|
|
19
|
-
dailyGfiPeak?: number;
|
|
20
|
-
}
|
|
21
|
-
export interface GfiPolicy {
|
|
22
|
-
stageThresholds: {
|
|
23
|
-
elevated: number;
|
|
24
|
-
critical: number;
|
|
25
|
-
saturated: number;
|
|
26
|
-
};
|
|
27
|
-
repeatedFailureMultiplier: {
|
|
28
|
-
base: number;
|
|
29
|
-
max: number;
|
|
30
|
-
};
|
|
31
|
-
decayRatesPerMinute: {
|
|
32
|
-
stable: number;
|
|
33
|
-
elevated: number;
|
|
34
|
-
critical: number;
|
|
35
|
-
saturated: number;
|
|
36
|
-
};
|
|
37
|
-
relief: {
|
|
38
|
-
toolSuccessRatio: number;
|
|
39
|
-
minPruneBelow: number;
|
|
40
|
-
};
|
|
41
|
-
sourceWeights: Partial<Record<GfiSource, number>>;
|
|
42
|
-
}
|
|
43
|
-
export interface GfiEvent {
|
|
44
|
-
source: GfiSource;
|
|
45
|
-
baseScore: number;
|
|
46
|
-
hash?: string;
|
|
47
|
-
at?: number;
|
|
48
|
-
detail?: string;
|
|
49
|
-
}
|
|
50
|
-
export interface GfiSnapshot {
|
|
51
|
-
currentGfi: number;
|
|
52
|
-
stage: GfiStage;
|
|
53
|
-
sources: Partial<Record<GfiSource, number>>;
|
|
54
|
-
dominantSource: string | null;
|
|
55
|
-
consecutiveErrors: number;
|
|
56
|
-
lastErrorSource?: string;
|
|
57
|
-
lastDecayAt?: string;
|
|
58
|
-
dailyGfiPeak?: number;
|
|
59
|
-
policy: {
|
|
60
|
-
elevatedThreshold: number;
|
|
61
|
-
criticalThreshold: number;
|
|
62
|
-
saturatedThreshold: number;
|
|
63
|
-
repeatedFailureMultiplierMax: number;
|
|
64
|
-
};
|
|
65
|
-
consumers: {
|
|
66
|
-
attitudeMode: 'efficient' | 'conciliatory' | 'humble_recovery';
|
|
67
|
-
painDiagnosticReason: 'none' | 'high_gfi';
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=gfi-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gfi-types.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/gfi/gfi-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;AAExE,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,yBAAyB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,mBAAmB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/F,MAAM,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE;QACN,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,4BAA4B,EAAE,MAAM,CAAC;KACtC,CAAC;IACF,SAAS,EAAE;QACT,YAAY,EAAE,WAAW,GAAG,cAAc,GAAG,iBAAiB,CAAC;QAC/D,oBAAoB,EAAE,MAAM,GAAG,UAAU,CAAC;KAC3C,CAAC;CACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gfi-types.js","sourceRoot":"","sources":["../../../src/runtime-v2/gfi/gfi-types.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { DEFAULT_GFI_POLICY } from './gfi-policy.js';
|
|
2
|
-
export { applyFriction, applyDecay, applyRelief, classifyGfiStage, createGfiSnapshot, } from './gfi-kernel.js';
|
|
3
|
-
export { buildGfiWorkspaceSnapshot, classifyGfiWorkspaceHealth } from './gfi-read-model.js';
|
|
4
|
-
export type { GfiState, GfiEvent, GfiPolicy, GfiStage, GfiSource, GfiSnapshot, } from './gfi-types.js';
|
|
5
|
-
export type { GfiReadModelInput, GfiWorkspaceSnapshot, GfiWorkspaceHealthAssessment } from './gfi-read-model.js';
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/gfi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EACL,aAAa,EACb,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAE5F,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { DEFAULT_GFI_POLICY } from './gfi-policy.js';
|
|
2
|
-
export { applyFriction, applyDecay, applyRelief, classifyGfiStage, createGfiSnapshot, } from './gfi-kernel.js';
|
|
3
|
-
export { buildGfiWorkspaceSnapshot, classifyGfiWorkspaceHealth } from './gfi-read-model.js';
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/gfi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EACL,aAAa,EACb,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC"}
|