@cleocode/lafs 2026.3.74 → 2026.4.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 +0 -0
- package/README.md +0 -0
- package/dist/schemas/v1/agent-card.schema.json +230 -0
- package/dist/schemas/v1/conformance-profiles.json +0 -0
- package/dist/schemas/v1/context-ledger.schema.json +70 -0
- package/dist/schemas/v1/discovery.schema.json +132 -0
- package/dist/schemas/v1/envelope.schema.json +0 -0
- package/dist/schemas/v1/error-registry.json +0 -0
- package/dist/src/a2a/bindings/grpc.d.ts +1 -0
- package/dist/src/a2a/bindings/grpc.d.ts.map +1 -0
- package/dist/src/a2a/bindings/grpc.js +1 -0
- package/dist/src/a2a/bindings/grpc.js.map +1 -0
- package/dist/src/a2a/bindings/http.d.ts +2 -1
- package/dist/src/a2a/bindings/http.d.ts.map +1 -0
- package/dist/src/a2a/bindings/http.js +8 -2
- package/dist/src/a2a/bindings/http.js.map +1 -0
- package/dist/src/a2a/bindings/index.d.ts +3 -2
- package/dist/src/a2a/bindings/index.d.ts.map +1 -0
- package/dist/src/a2a/bindings/index.js +5 -4
- package/dist/src/a2a/bindings/index.js.map +1 -0
- package/dist/src/a2a/bindings/jsonrpc.d.ts +1 -0
- package/dist/src/a2a/bindings/jsonrpc.d.ts.map +1 -0
- package/dist/src/a2a/bindings/jsonrpc.js +3 -1
- package/dist/src/a2a/bindings/jsonrpc.js.map +1 -0
- package/dist/src/a2a/bridge.d.ts +5 -7
- package/dist/src/a2a/bridge.d.ts.map +1 -0
- package/dist/src/a2a/bridge.js +15 -24
- package/dist/src/a2a/bridge.js.map +1 -0
- package/dist/src/a2a/extensions.d.ts +1 -0
- package/dist/src/a2a/extensions.d.ts.map +1 -0
- package/dist/src/a2a/extensions.js +3 -2
- package/dist/src/a2a/extensions.js.map +1 -0
- package/dist/src/a2a/index.d.ts +8 -7
- package/dist/src/a2a/index.d.ts.map +1 -0
- package/dist/src/a2a/index.js +22 -27
- package/dist/src/a2a/index.js.map +1 -0
- package/dist/src/a2a/streaming.d.ts +2 -1
- package/dist/src/a2a/streaming.d.ts.map +1 -0
- package/dist/src/a2a/streaming.js +10 -9
- package/dist/src/a2a/streaming.js.map +1 -0
- package/dist/src/a2a/task-lifecycle.d.ts +2 -1
- package/dist/src/a2a/task-lifecycle.d.ts.map +1 -0
- package/dist/src/a2a/task-lifecycle.js +25 -7
- package/dist/src/a2a/task-lifecycle.js.map +1 -0
- package/dist/src/budgetEnforcement.d.ts +5 -6
- package/dist/src/budgetEnforcement.d.ts.map +1 -0
- package/dist/src/budgetEnforcement.js +14 -12
- package/dist/src/budgetEnforcement.js.map +1 -0
- package/dist/src/circuit-breaker/index.d.ts +6 -1
- package/dist/src/circuit-breaker/index.d.ts.map +1 -0
- package/dist/src/circuit-breaker/index.js +8 -5
- package/dist/src/circuit-breaker/index.js.map +1 -0
- package/dist/src/cli.d.ts +1 -0
- package/dist/src/cli.d.ts.map +1 -0
- package/dist/src/cli.js +12 -11
- package/dist/src/cli.js.map +1 -0
- package/dist/src/compliance.d.ts +4 -3
- package/dist/src/compliance.d.ts.map +1 -0
- package/dist/src/compliance.js +14 -13
- package/dist/src/compliance.js.map +1 -0
- package/dist/src/conformance.d.ts +3 -2
- package/dist/src/conformance.d.ts.map +1 -0
- package/dist/src/conformance.js +83 -76
- package/dist/src/conformance.js.map +1 -0
- package/dist/src/conformanceProfiles.d.ts +2 -1
- package/dist/src/conformanceProfiles.d.ts.map +1 -0
- package/dist/src/conformanceProfiles.js +2 -1
- package/dist/src/conformanceProfiles.js.map +1 -0
- package/dist/src/deprecationRegistry.d.ts +2 -1
- package/dist/src/deprecationRegistry.d.ts.map +1 -0
- package/dist/src/deprecationRegistry.js +8 -7
- package/dist/src/deprecationRegistry.js.map +1 -0
- package/dist/src/discovery.d.ts +3 -2
- package/dist/src/discovery.d.ts.map +1 -0
- package/dist/src/discovery.js +63 -59
- package/dist/src/discovery.js.map +1 -0
- package/dist/src/envelope.d.ts +10 -9
- package/dist/src/envelope.d.ts.map +1 -0
- package/dist/src/envelope.js +14 -15
- package/dist/src/envelope.js.map +1 -0
- package/dist/src/errorRegistry.d.ts +4 -3
- package/dist/src/errorRegistry.d.ts.map +1 -0
- package/dist/src/errorRegistry.js +4 -3
- package/dist/src/errorRegistry.js.map +1 -0
- package/dist/src/fieldExtraction.d.ts +3 -2
- package/dist/src/fieldExtraction.d.ts.map +1 -0
- package/dist/src/fieldExtraction.js +15 -11
- package/dist/src/fieldExtraction.js.map +1 -0
- package/dist/src/flagResolver.d.ts +2 -1
- package/dist/src/flagResolver.d.ts.map +1 -0
- package/dist/src/flagResolver.js +2 -1
- package/dist/src/flagResolver.js.map +1 -0
- package/dist/src/flagSemantics.d.ts +4 -3
- package/dist/src/flagSemantics.d.ts.map +1 -0
- package/dist/src/flagSemantics.js +12 -11
- package/dist/src/flagSemantics.js.map +1 -0
- package/dist/src/health/index.d.ts +16 -3
- package/dist/src/health/index.d.ts.map +1 -0
- package/dist/src/health/index.js +21 -20
- package/dist/src/health/index.js.map +1 -0
- package/dist/src/index.d.ts +23 -23
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +29 -28
- package/dist/src/index.js.map +1 -0
- package/dist/src/mcpAdapter.d.ts +4 -3
- package/dist/src/mcpAdapter.d.ts.map +1 -0
- package/dist/src/mcpAdapter.js +62 -57
- package/dist/src/mcpAdapter.js.map +1 -0
- package/dist/src/mviProjection.d.ts +1 -0
- package/dist/src/mviProjection.d.ts.map +1 -0
- package/dist/src/mviProjection.js +1 -0
- package/dist/src/mviProjection.js.map +1 -0
- package/dist/src/problemDetails.d.ts +1 -0
- package/dist/src/problemDetails.d.ts.map +1 -0
- package/dist/src/problemDetails.js +6 -0
- package/dist/src/problemDetails.js.map +1 -0
- package/dist/src/shutdown/index.d.ts +7 -2
- package/dist/src/shutdown/index.d.ts.map +1 -0
- package/dist/src/shutdown/index.js +6 -5
- package/dist/src/shutdown/index.js.map +1 -0
- package/dist/src/tokenEstimator.d.ts +1 -0
- package/dist/src/tokenEstimator.d.ts.map +1 -0
- package/dist/src/tokenEstimator.js +1 -2
- package/dist/src/tokenEstimator.js.map +1 -0
- package/dist/src/types.d.ts +10 -9
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +12 -2
- package/dist/src/types.js.map +1 -0
- package/dist/src/validateEnvelope.d.ts +2 -1
- package/dist/src/validateEnvelope.d.ts.map +1 -0
- package/dist/src/validateEnvelope.js +11 -10
- package/dist/src/validateEnvelope.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/lafs.md +0 -0
- package/package.json +9 -10
- package/schemas/v1/agent-card.schema.json +0 -0
- package/schemas/v1/conformance-profiles.d.ts +15 -0
- package/schemas/v1/conformance-profiles.json +0 -0
- package/schemas/v1/context-ledger.schema.json +0 -0
- package/schemas/v1/discovery.schema.json +0 -0
- package/schemas/v1/envelope.schema.d.ts +14 -0
- package/schemas/v1/envelope.schema.json +0 -0
- package/schemas/v1/error-registry.d.ts +24 -0
- package/schemas/v1/error-registry.json +0 -0
package/dist/src/conformance.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { validateEnvelope } from
|
|
1
|
+
import { getChecksForTier } from './conformanceProfiles.js';
|
|
2
|
+
import { getRegistryCode, getTransportMapping, isRegisteredErrorCode } from './errorRegistry.js';
|
|
3
|
+
import { LAFSFlagError, resolveOutputFormat } from './flagSemantics.js';
|
|
4
|
+
import { isAgentAction, isMVILevel } from './types.js';
|
|
5
|
+
import { validateEnvelope } from './validateEnvelope.js';
|
|
6
6
|
function pushCheck(checks, name, pass, detail) {
|
|
7
7
|
checks.push({ name, pass, ...(detail ? { detail } : {}) });
|
|
8
8
|
}
|
|
9
9
|
export function runEnvelopeConformance(envelope, options = {}) {
|
|
10
10
|
const checks = [];
|
|
11
11
|
const validation = validateEnvelope(envelope);
|
|
12
|
-
pushCheck(checks,
|
|
12
|
+
pushCheck(checks, 'envelope_schema_valid', validation.valid, validation.valid ? undefined : validation.errors.join('; '));
|
|
13
13
|
if (!validation.valid) {
|
|
14
14
|
return { ok: false, checks };
|
|
15
15
|
}
|
|
@@ -21,134 +21,138 @@ export function runEnvelopeConformance(envelope, options = {}) {
|
|
|
21
21
|
const invariant = typed.success
|
|
22
22
|
? typed.error == null // null or undefined (omitted) both valid for success
|
|
23
23
|
: typed.error != null; // error must be present, result is optional
|
|
24
|
-
pushCheck(checks,
|
|
24
|
+
pushCheck(checks, 'envelope_invariants', invariant, invariant
|
|
25
25
|
? undefined
|
|
26
26
|
: typed.success
|
|
27
|
-
?
|
|
28
|
-
:
|
|
27
|
+
? 'success=true but error is present and non-null'
|
|
28
|
+
: 'success=false requires error to be a non-null object');
|
|
29
29
|
// error_code_registered: only checked when error is present (error is optional when success=true)
|
|
30
30
|
if (typed.error) {
|
|
31
31
|
const registered = isRegisteredErrorCode(typed.error.code);
|
|
32
|
-
pushCheck(checks,
|
|
32
|
+
pushCheck(checks, 'error_code_registered', registered, registered ? undefined : `unregistered code: ${typed.error.code}`);
|
|
33
33
|
}
|
|
34
34
|
else {
|
|
35
|
-
pushCheck(checks,
|
|
35
|
+
pushCheck(checks, 'error_code_registered', true, 'error field absent or null — skipped (optional when success=true)');
|
|
36
36
|
}
|
|
37
37
|
// agent_action_valid: if error.agentAction is present, it must be a valid LAFSAgentAction
|
|
38
38
|
if (typed.error && typed.error.agentAction !== undefined) {
|
|
39
39
|
const valid = isAgentAction(typed.error.agentAction);
|
|
40
|
-
pushCheck(checks,
|
|
40
|
+
pushCheck(checks, 'agent_action_valid', valid, valid ? undefined : `invalid agentAction: ${String(typed.error.agentAction)}`);
|
|
41
41
|
}
|
|
42
42
|
else {
|
|
43
|
-
pushCheck(checks,
|
|
43
|
+
pushCheck(checks, 'agent_action_valid', true, 'agentAction absent — skipped');
|
|
44
44
|
}
|
|
45
45
|
// error_registry_agent_action: if error code is registered and agentAction is present,
|
|
46
46
|
// check if it matches the registry default (warning-level, not a hard failure)
|
|
47
|
-
if (typed.error &&
|
|
47
|
+
if (typed.error &&
|
|
48
|
+
typed.error.agentAction !== undefined &&
|
|
49
|
+
isRegisteredErrorCode(typed.error.code)) {
|
|
48
50
|
const registryEntry = getRegistryCode(typed.error.code);
|
|
49
|
-
const registryAction = registryEntry?.[
|
|
51
|
+
const registryAction = registryEntry?.['agentAction'];
|
|
50
52
|
if (registryAction) {
|
|
51
53
|
const matches = typed.error.agentAction === registryAction;
|
|
52
|
-
pushCheck(checks,
|
|
54
|
+
pushCheck(checks, 'error_registry_agent_action', true, // always passes — advisory only
|
|
53
55
|
matches
|
|
54
56
|
? undefined
|
|
55
57
|
: `agentAction "${typed.error.agentAction}" differs from registry default "${registryAction}" for ${typed.error.code} (advisory)`);
|
|
56
58
|
}
|
|
57
59
|
else {
|
|
58
|
-
pushCheck(checks,
|
|
60
|
+
pushCheck(checks, 'error_registry_agent_action', true, 'registry entry has no default agentAction — skipped');
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
63
|
else {
|
|
62
|
-
pushCheck(checks,
|
|
64
|
+
pushCheck(checks, 'error_registry_agent_action', true, typed.error
|
|
65
|
+
? 'agentAction absent or code unregistered — skipped'
|
|
66
|
+
: 'no error present — skipped');
|
|
63
67
|
}
|
|
64
68
|
// transport_mapping_consistent: when an error is present, ensure the code has
|
|
65
69
|
// a transport-specific mapping in the registry for the declared transport.
|
|
66
70
|
if (typed.error) {
|
|
67
|
-
if (typed._meta.transport ===
|
|
68
|
-
pushCheck(checks,
|
|
71
|
+
if (typed._meta.transport === 'sdk') {
|
|
72
|
+
pushCheck(checks, 'transport_mapping_consistent', true, 'sdk transport does not require external status-code mapping');
|
|
69
73
|
}
|
|
70
74
|
else {
|
|
71
75
|
const mapping = getTransportMapping(typed.error.code, typed._meta.transport);
|
|
72
76
|
const mappingOk = mapping !== null;
|
|
73
|
-
pushCheck(checks,
|
|
77
|
+
pushCheck(checks, 'transport_mapping_consistent', mappingOk, mappingOk
|
|
74
78
|
? undefined
|
|
75
79
|
: `no ${typed._meta.transport} mapping found for code ${typed.error.code}`);
|
|
76
80
|
}
|
|
77
81
|
}
|
|
78
82
|
else {
|
|
79
|
-
pushCheck(checks,
|
|
83
|
+
pushCheck(checks, 'transport_mapping_consistent', true, 'no error present — mapping check skipped');
|
|
80
84
|
}
|
|
81
85
|
// context_mutation_failure: if the producer marks context as required for a
|
|
82
86
|
// mutation operation, missing context must fail with a context error code.
|
|
83
87
|
{
|
|
84
88
|
const ext = (typed._extensions ?? {});
|
|
85
|
-
const contextObj = (ext[
|
|
86
|
-
const lafsObj = (ext[
|
|
87
|
-
const contextRequired = ext[
|
|
88
|
-
contextObj[
|
|
89
|
-
lafsObj[
|
|
89
|
+
const contextObj = (ext['context'] ?? {});
|
|
90
|
+
const lafsObj = (ext['lafs'] ?? {});
|
|
91
|
+
const contextRequired = ext['lafsContextRequired'] === true ||
|
|
92
|
+
contextObj['required'] === true ||
|
|
93
|
+
lafsObj['contextRequired'] === true;
|
|
90
94
|
if (!contextRequired) {
|
|
91
|
-
pushCheck(checks,
|
|
95
|
+
pushCheck(checks, 'context_mutation_failure', true, 'context not marked required — skipped');
|
|
92
96
|
}
|
|
93
97
|
else {
|
|
94
98
|
const hasContextIdentity = typed._meta.contextVersion > 0 || Boolean(typed._meta.sessionId);
|
|
95
99
|
if (typed.success) {
|
|
96
100
|
const pass = hasContextIdentity;
|
|
97
|
-
pushCheck(checks,
|
|
101
|
+
pushCheck(checks, 'context_mutation_failure', pass, pass ? undefined : 'context required but missing identity (expect E_CONTEXT_MISSING)');
|
|
98
102
|
}
|
|
99
103
|
else {
|
|
100
104
|
const code = typed.error?.code;
|
|
101
|
-
const pass = code ===
|
|
102
|
-
pushCheck(checks,
|
|
105
|
+
const pass = code === 'E_CONTEXT_MISSING' || code === 'E_CONTEXT_STALE';
|
|
106
|
+
pushCheck(checks, 'context_mutation_failure', pass, pass
|
|
103
107
|
? undefined
|
|
104
108
|
: `context required failures should return E_CONTEXT_MISSING or E_CONTEXT_STALE, got ${String(code)}`);
|
|
105
109
|
}
|
|
106
110
|
}
|
|
107
111
|
}
|
|
108
112
|
const mviValid = isMVILevel(typed._meta.mvi);
|
|
109
|
-
pushCheck(checks,
|
|
110
|
-
pushCheck(checks,
|
|
113
|
+
pushCheck(checks, 'meta_mvi_present', mviValid, mviValid ? undefined : `invalid mvi level: ${String(typed._meta.mvi)}`);
|
|
114
|
+
pushCheck(checks, 'meta_strict_present', typeof typed._meta.strict === 'boolean');
|
|
111
115
|
// strict_mode_behavior: when strict=true, the envelope MUST NOT contain
|
|
112
116
|
// explicit null for optional fields that can be omitted (page, error on success).
|
|
113
117
|
if (typed._meta.strict) {
|
|
114
118
|
const obj = envelope;
|
|
115
|
-
const hasExplicitNullError = typed.success &&
|
|
116
|
-
const hasExplicitNullPage =
|
|
119
|
+
const hasExplicitNullError = typed.success && 'error' in obj && obj['error'] === null;
|
|
120
|
+
const hasExplicitNullPage = 'page' in obj && obj['page'] === null;
|
|
117
121
|
const strictClean = !hasExplicitNullError && !hasExplicitNullPage;
|
|
118
|
-
pushCheck(checks,
|
|
122
|
+
pushCheck(checks, 'strict_mode_behavior', strictClean, strictClean
|
|
119
123
|
? undefined
|
|
120
|
-
:
|
|
124
|
+
: 'strict mode: optional fields should be omitted rather than set to null');
|
|
121
125
|
}
|
|
122
126
|
// pagination_mode_consistent: when page is present and is an object, verify
|
|
123
127
|
// that the fields present match the declared pagination mode.
|
|
124
|
-
if (typed.page && typeof typed.page ===
|
|
128
|
+
if (typed.page && typeof typed.page === 'object') {
|
|
125
129
|
const page = typed.page;
|
|
126
|
-
const mode = page[
|
|
130
|
+
const mode = page['mode'];
|
|
127
131
|
let consistent = true;
|
|
128
132
|
let detail;
|
|
129
|
-
if (mode ===
|
|
130
|
-
if (page[
|
|
133
|
+
if (mode === 'cursor') {
|
|
134
|
+
if (page['offset'] !== undefined) {
|
|
131
135
|
consistent = false;
|
|
132
|
-
detail =
|
|
136
|
+
detail = 'cursor mode should not include offset field';
|
|
133
137
|
}
|
|
134
138
|
}
|
|
135
|
-
else if (mode ===
|
|
136
|
-
if (page[
|
|
139
|
+
else if (mode === 'offset') {
|
|
140
|
+
if (page['nextCursor'] !== undefined) {
|
|
137
141
|
consistent = false;
|
|
138
|
-
detail =
|
|
142
|
+
detail = 'offset mode should not include nextCursor field';
|
|
139
143
|
}
|
|
140
144
|
}
|
|
141
|
-
else if (mode ===
|
|
142
|
-
const extraFields = Object.keys(page).filter((k) => k !==
|
|
145
|
+
else if (mode === 'none') {
|
|
146
|
+
const extraFields = Object.keys(page).filter((k) => k !== 'mode');
|
|
143
147
|
if (extraFields.length > 0) {
|
|
144
148
|
consistent = false;
|
|
145
|
-
detail = `none mode should only have mode field, found: ${extraFields.join(
|
|
149
|
+
detail = `none mode should only have mode field, found: ${extraFields.join(', ')}`;
|
|
146
150
|
}
|
|
147
151
|
}
|
|
148
|
-
pushCheck(checks,
|
|
152
|
+
pushCheck(checks, 'pagination_mode_consistent', consistent, consistent ? undefined : detail);
|
|
149
153
|
}
|
|
150
154
|
else {
|
|
151
|
-
pushCheck(checks,
|
|
155
|
+
pushCheck(checks, 'pagination_mode_consistent', true, 'page absent — skipped');
|
|
152
156
|
}
|
|
153
157
|
// strict_mode_enforced: verify the schema enforces additional-property rules.
|
|
154
158
|
// When strict=true, extra top-level properties must be rejected by validation.
|
|
@@ -157,33 +161,33 @@ export function runEnvelopeConformance(envelope, options = {}) {
|
|
|
157
161
|
const extraPropEnvelope = { ...envelope, _unknown_extra: true };
|
|
158
162
|
const extraResult = validateEnvelope(extraPropEnvelope);
|
|
159
163
|
if (typed._meta.strict) {
|
|
160
|
-
pushCheck(checks,
|
|
164
|
+
pushCheck(checks, 'strict_mode_enforced', !extraResult.valid, extraResult.valid ? 'strict=true but additional properties were accepted' : undefined);
|
|
161
165
|
}
|
|
162
166
|
else {
|
|
163
|
-
pushCheck(checks,
|
|
167
|
+
pushCheck(checks, 'strict_mode_enforced', extraResult.valid, !extraResult.valid ? 'strict=false but additional properties were rejected' : undefined);
|
|
164
168
|
}
|
|
165
169
|
}
|
|
166
170
|
// context_preservation_valid: validate monotonic context version behavior and
|
|
167
171
|
// context-constraint integrity when a context ledger extension is present.
|
|
168
172
|
{
|
|
169
173
|
const ext = (typed._extensions ?? {});
|
|
170
|
-
const ledger = (ext[
|
|
171
|
-
if (!ledger || typeof ledger !==
|
|
172
|
-
pushCheck(checks,
|
|
174
|
+
const ledger = (ext['contextLedger'] ?? ext['context']);
|
|
175
|
+
if (!ledger || typeof ledger !== 'object') {
|
|
176
|
+
pushCheck(checks, 'context_preservation_valid', true, 'context ledger absent — skipped');
|
|
173
177
|
}
|
|
174
178
|
else {
|
|
175
|
-
const version = ledger[
|
|
176
|
-
const previousVersion = ledger[
|
|
177
|
-
const removedConstraints = ledger[
|
|
178
|
-
const hasNumericVersion = typeof version ===
|
|
179
|
+
const version = ledger['version'];
|
|
180
|
+
const previousVersion = ledger['previousVersion'];
|
|
181
|
+
const removedConstraints = ledger['removedConstraints'];
|
|
182
|
+
const hasNumericVersion = typeof version === 'number';
|
|
179
183
|
const matchesEnvelopeVersion = hasNumericVersion && version === typed._meta.contextVersion;
|
|
180
|
-
const monotonicFromPrevious = typeof previousVersion !==
|
|
184
|
+
const monotonicFromPrevious = typeof previousVersion !== 'number' || (hasNumericVersion && version >= previousVersion);
|
|
181
185
|
const constraintsPreserved = !Array.isArray(removedConstraints) || removedConstraints.length === 0 || !typed.success;
|
|
182
186
|
let pass = matchesEnvelopeVersion && monotonicFromPrevious && constraintsPreserved;
|
|
183
187
|
let detail;
|
|
184
188
|
if (!hasNumericVersion) {
|
|
185
189
|
pass = false;
|
|
186
|
-
detail =
|
|
190
|
+
detail = 'context ledger version must be numeric';
|
|
187
191
|
}
|
|
188
192
|
else if (!matchesEnvelopeVersion) {
|
|
189
193
|
detail = `context version mismatch: ledger=${String(version)} envelope=${typed._meta.contextVersion}`;
|
|
@@ -192,21 +196,23 @@ export function runEnvelopeConformance(envelope, options = {}) {
|
|
|
192
196
|
detail = `non-monotonic context version: previous=${String(previousVersion)} current=${String(version)}`;
|
|
193
197
|
}
|
|
194
198
|
else if (!constraintsPreserved) {
|
|
195
|
-
detail =
|
|
199
|
+
detail = 'context constraint removal detected on successful response';
|
|
196
200
|
}
|
|
197
201
|
// Error-path validation for stale/missing context signaling.
|
|
198
|
-
if (!typed.success && typed.error && ledger[
|
|
199
|
-
const stale = ledger[
|
|
200
|
-
if (stale && typed.error.code !==
|
|
202
|
+
if (!typed.success && typed.error && ledger['required'] === true) {
|
|
203
|
+
const stale = ledger['stale'] === true;
|
|
204
|
+
if (stale && typed.error.code !== 'E_CONTEXT_STALE') {
|
|
201
205
|
pass = false;
|
|
202
206
|
detail = `stale context should return E_CONTEXT_STALE, got ${typed.error.code}`;
|
|
203
207
|
}
|
|
204
|
-
if (!stale &&
|
|
208
|
+
if (!stale &&
|
|
209
|
+
typed.error.code !== 'E_CONTEXT_MISSING' &&
|
|
210
|
+
typed.error.code !== 'E_CONTEXT_STALE') {
|
|
205
211
|
pass = false;
|
|
206
212
|
detail = `required context failure should return E_CONTEXT_MISSING or E_CONTEXT_STALE, got ${typed.error.code}`;
|
|
207
213
|
}
|
|
208
214
|
}
|
|
209
|
-
pushCheck(checks,
|
|
215
|
+
pushCheck(checks, 'context_preservation_valid', pass, detail);
|
|
210
216
|
}
|
|
211
217
|
}
|
|
212
218
|
const tier = options.tier;
|
|
@@ -221,28 +227,29 @@ export function runFlagConformance(flags) {
|
|
|
221
227
|
const checks = [];
|
|
222
228
|
try {
|
|
223
229
|
const resolved = resolveOutputFormat(flags);
|
|
224
|
-
pushCheck(checks,
|
|
230
|
+
pushCheck(checks, 'flag_conflict_rejected', !(flags.humanFlag && flags.jsonFlag));
|
|
225
231
|
// Protocol-default check: when nothing is specified (source === "default"),
|
|
226
232
|
// the protocol requires JSON as the default format.
|
|
227
|
-
const isProtocolDefault = resolved.source ===
|
|
228
|
-
pushCheck(checks,
|
|
233
|
+
const isProtocolDefault = resolved.source === 'default';
|
|
234
|
+
pushCheck(checks, 'json_protocol_default', !isProtocolDefault || resolved.format === 'json', isProtocolDefault && resolved.format !== 'json'
|
|
229
235
|
? `protocol default should be json, got ${resolved.format}`
|
|
230
236
|
: undefined);
|
|
231
237
|
// Config-override check: when a project or user default is active,
|
|
232
238
|
// the resolved format must match the config-provided value.
|
|
233
|
-
const hasConfigOverride = resolved.source ===
|
|
234
|
-
const expectedOverride = resolved.source ===
|
|
235
|
-
pushCheck(checks,
|
|
239
|
+
const hasConfigOverride = resolved.source === 'project' || resolved.source === 'user';
|
|
240
|
+
const expectedOverride = resolved.source === 'project' ? flags.projectDefault : flags.userDefault;
|
|
241
|
+
pushCheck(checks, 'config_override_respected', !hasConfigOverride || resolved.format === expectedOverride, hasConfigOverride && resolved.format !== expectedOverride
|
|
236
242
|
? `config override expected ${String(expectedOverride)}, got ${resolved.format}`
|
|
237
243
|
: undefined);
|
|
238
244
|
}
|
|
239
245
|
catch (error) {
|
|
240
|
-
if (error instanceof LAFSFlagError && error.code ===
|
|
241
|
-
pushCheck(checks,
|
|
246
|
+
if (error instanceof LAFSFlagError && error.code === 'E_FORMAT_CONFLICT') {
|
|
247
|
+
pushCheck(checks, 'flag_conflict_rejected', true);
|
|
242
248
|
return { ok: checks.every((check) => check.pass), checks };
|
|
243
249
|
}
|
|
244
|
-
pushCheck(checks,
|
|
250
|
+
pushCheck(checks, 'flag_resolution', false, error instanceof Error ? error.message : String(error));
|
|
245
251
|
return { ok: false, checks };
|
|
246
252
|
}
|
|
247
253
|
return { ok: checks.every((check) => check.pass), checks };
|
|
248
254
|
}
|
|
255
|
+
//# sourceMappingURL=conformance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/conformance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type ConformanceTier =
|
|
1
|
+
export type ConformanceTier = 'core' | 'standard' | 'complete';
|
|
2
2
|
export interface ConformanceProfiles {
|
|
3
3
|
version: string;
|
|
4
4
|
tiers: Record<ConformanceTier, string[]>;
|
|
@@ -9,3 +9,4 @@ export declare function validateConformanceProfiles(availableChecks: string[]):
|
|
|
9
9
|
valid: boolean;
|
|
10
10
|
errors: string[];
|
|
11
11
|
};
|
|
12
|
+
//# sourceMappingURL=conformanceProfiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformanceProfiles.d.ts","sourceRoot":"","sources":["../../src/conformanceProfiles.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,wBAAgB,sBAAsB,IAAI,mBAAmB,CAE5D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE,CAGhE;AAED,wBAAgB,2BAA2B,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG;IACtE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAgCA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import profilesJson from
|
|
1
|
+
import profilesJson from '../schemas/v1/conformance-profiles.json' with { type: 'json' };
|
|
2
2
|
export function getConformanceProfiles() {
|
|
3
3
|
return profilesJson;
|
|
4
4
|
}
|
|
@@ -32,3 +32,4 @@ export function validateConformanceProfiles(availableChecks) {
|
|
|
32
32
|
}
|
|
33
33
|
return { valid: errors.length === 0, errors };
|
|
34
34
|
}
|
|
35
|
+
//# sourceMappingURL=conformanceProfiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformanceProfiles.js","sourceRoot":"","sources":["../../src/conformanceProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,yCAAyC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AASzF,MAAM,UAAU,sBAAsB;IACpC,OAAO,YAAmC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAqB;IACpD,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,eAAyB;IAInE,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,8CAA8C,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAEzD,EAAE,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,UAAU,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LAFSEnvelope, Warning } from
|
|
1
|
+
import type { LAFSEnvelope, Warning } from './types.js';
|
|
2
2
|
export interface DeprecationEntry {
|
|
3
3
|
id: string;
|
|
4
4
|
code: string;
|
|
@@ -11,3 +11,4 @@ export interface DeprecationEntry {
|
|
|
11
11
|
export declare function getDeprecationRegistry(): DeprecationEntry[];
|
|
12
12
|
export declare function detectDeprecatedEnvelopeFields(envelope: LAFSEnvelope): Warning[];
|
|
13
13
|
export declare function emitDeprecationWarnings(envelope: LAFSEnvelope): LAFSEnvelope;
|
|
14
|
+
//# sourceMappingURL=deprecationRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprecationRegistry.d.ts","sourceRoot":"","sources":["../../src/deprecationRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,CAAC;CAC/C;AAeD,wBAAgB,sBAAsB,IAAI,gBAAgB,EAAE,CAE3D;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,EAAE,CAUhF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,CAc5E"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
const DEPRECATION_REGISTRY = [
|
|
2
2
|
{
|
|
3
|
-
id:
|
|
4
|
-
code:
|
|
5
|
-
message:
|
|
6
|
-
deprecated:
|
|
7
|
-
replacement:
|
|
8
|
-
removeBy:
|
|
9
|
-
detector: (envelope) => typeof envelope._meta.mvi ===
|
|
3
|
+
id: 'meta-mvi-boolean',
|
|
4
|
+
code: 'W_DEPRECATED_META_MVI_BOOLEAN',
|
|
5
|
+
message: '_meta.mvi boolean values are deprecated',
|
|
6
|
+
deprecated: '1.0.0',
|
|
7
|
+
replacement: 'Use _meta.mvi as one of: minimal|standard|full|custom',
|
|
8
|
+
removeBy: '2.0.0',
|
|
9
|
+
detector: (envelope) => typeof envelope._meta.mvi === 'boolean',
|
|
10
10
|
},
|
|
11
11
|
];
|
|
12
12
|
export function getDeprecationRegistry() {
|
|
@@ -37,3 +37,4 @@ export function emitDeprecationWarnings(envelope) {
|
|
|
37
37
|
},
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
+
//# sourceMappingURL=deprecationRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprecationRegistry.js","sourceRoot":"","sources":["../../src/deprecationRegistry.ts"],"names":[],"mappings":"AAYA,MAAM,oBAAoB,GAAuB;IAC/C;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,yCAAyC;QAClD,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CACrB,OAAQ,QAAwC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS;KAC3E;CACF,CAAC;AAEF,MAAM,UAAU,sBAAsB;IACpC,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,QAAsB;IACnE,OAAO,sBAAsB,EAAE;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAsB;IAC5D,MAAM,QAAQ,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvD,OAAO;QACL,GAAG,QAAQ;QACX,KAAK,EAAE;YACL,GAAG,QAAQ,CAAC,KAAK;YACjB,QAAQ,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,QAAQ,CAAC;SAC7C;KACF,CAAC;AACJ,CAAC"}
|
package/dist/src/discovery.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* A2A v1.0+ Compliant Implementation
|
|
7
7
|
* Reference: specs/external/agent-discovery.md
|
|
8
8
|
*/
|
|
9
|
-
import type { RequestHandler } from
|
|
9
|
+
import type { RequestHandler } from 'express';
|
|
10
10
|
/**
|
|
11
11
|
* A2A Agent Provider information
|
|
12
12
|
*/
|
|
@@ -65,7 +65,7 @@ export interface AgentSkill {
|
|
|
65
65
|
* Security scheme for authentication (OpenAPI 3.0 style)
|
|
66
66
|
*/
|
|
67
67
|
export interface SecurityScheme {
|
|
68
|
-
type:
|
|
68
|
+
type: 'http' | 'apiKey' | 'oauth2' | 'openIdConnect';
|
|
69
69
|
description?: string;
|
|
70
70
|
scheme?: string;
|
|
71
71
|
bearerFormat?: string;
|
|
@@ -284,3 +284,4 @@ export declare function discoveryFastifyPlugin(fastify: unknown, options: {
|
|
|
284
284
|
* - Automatic config migration will be removed
|
|
285
285
|
*/
|
|
286
286
|
export default discoveryMiddleware;
|
|
287
|
+
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/discovery.ts"],"names":[],"mappings":"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"}
|