@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.
Files changed (144) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +0 -0
  3. package/dist/schemas/v1/agent-card.schema.json +230 -0
  4. package/dist/schemas/v1/conformance-profiles.json +0 -0
  5. package/dist/schemas/v1/context-ledger.schema.json +70 -0
  6. package/dist/schemas/v1/discovery.schema.json +132 -0
  7. package/dist/schemas/v1/envelope.schema.json +0 -0
  8. package/dist/schemas/v1/error-registry.json +0 -0
  9. package/dist/src/a2a/bindings/grpc.d.ts +1 -0
  10. package/dist/src/a2a/bindings/grpc.d.ts.map +1 -0
  11. package/dist/src/a2a/bindings/grpc.js +1 -0
  12. package/dist/src/a2a/bindings/grpc.js.map +1 -0
  13. package/dist/src/a2a/bindings/http.d.ts +2 -1
  14. package/dist/src/a2a/bindings/http.d.ts.map +1 -0
  15. package/dist/src/a2a/bindings/http.js +8 -2
  16. package/dist/src/a2a/bindings/http.js.map +1 -0
  17. package/dist/src/a2a/bindings/index.d.ts +3 -2
  18. package/dist/src/a2a/bindings/index.d.ts.map +1 -0
  19. package/dist/src/a2a/bindings/index.js +5 -4
  20. package/dist/src/a2a/bindings/index.js.map +1 -0
  21. package/dist/src/a2a/bindings/jsonrpc.d.ts +1 -0
  22. package/dist/src/a2a/bindings/jsonrpc.d.ts.map +1 -0
  23. package/dist/src/a2a/bindings/jsonrpc.js +3 -1
  24. package/dist/src/a2a/bindings/jsonrpc.js.map +1 -0
  25. package/dist/src/a2a/bridge.d.ts +5 -7
  26. package/dist/src/a2a/bridge.d.ts.map +1 -0
  27. package/dist/src/a2a/bridge.js +15 -24
  28. package/dist/src/a2a/bridge.js.map +1 -0
  29. package/dist/src/a2a/extensions.d.ts +1 -0
  30. package/dist/src/a2a/extensions.d.ts.map +1 -0
  31. package/dist/src/a2a/extensions.js +3 -2
  32. package/dist/src/a2a/extensions.js.map +1 -0
  33. package/dist/src/a2a/index.d.ts +8 -7
  34. package/dist/src/a2a/index.d.ts.map +1 -0
  35. package/dist/src/a2a/index.js +22 -27
  36. package/dist/src/a2a/index.js.map +1 -0
  37. package/dist/src/a2a/streaming.d.ts +2 -1
  38. package/dist/src/a2a/streaming.d.ts.map +1 -0
  39. package/dist/src/a2a/streaming.js +10 -9
  40. package/dist/src/a2a/streaming.js.map +1 -0
  41. package/dist/src/a2a/task-lifecycle.d.ts +2 -1
  42. package/dist/src/a2a/task-lifecycle.d.ts.map +1 -0
  43. package/dist/src/a2a/task-lifecycle.js +25 -7
  44. package/dist/src/a2a/task-lifecycle.js.map +1 -0
  45. package/dist/src/budgetEnforcement.d.ts +5 -6
  46. package/dist/src/budgetEnforcement.d.ts.map +1 -0
  47. package/dist/src/budgetEnforcement.js +14 -12
  48. package/dist/src/budgetEnforcement.js.map +1 -0
  49. package/dist/src/circuit-breaker/index.d.ts +6 -1
  50. package/dist/src/circuit-breaker/index.d.ts.map +1 -0
  51. package/dist/src/circuit-breaker/index.js +8 -5
  52. package/dist/src/circuit-breaker/index.js.map +1 -0
  53. package/dist/src/cli.d.ts +1 -0
  54. package/dist/src/cli.d.ts.map +1 -0
  55. package/dist/src/cli.js +12 -11
  56. package/dist/src/cli.js.map +1 -0
  57. package/dist/src/compliance.d.ts +4 -3
  58. package/dist/src/compliance.d.ts.map +1 -0
  59. package/dist/src/compliance.js +14 -13
  60. package/dist/src/compliance.js.map +1 -0
  61. package/dist/src/conformance.d.ts +3 -2
  62. package/dist/src/conformance.d.ts.map +1 -0
  63. package/dist/src/conformance.js +83 -76
  64. package/dist/src/conformance.js.map +1 -0
  65. package/dist/src/conformanceProfiles.d.ts +2 -1
  66. package/dist/src/conformanceProfiles.d.ts.map +1 -0
  67. package/dist/src/conformanceProfiles.js +2 -1
  68. package/dist/src/conformanceProfiles.js.map +1 -0
  69. package/dist/src/deprecationRegistry.d.ts +2 -1
  70. package/dist/src/deprecationRegistry.d.ts.map +1 -0
  71. package/dist/src/deprecationRegistry.js +8 -7
  72. package/dist/src/deprecationRegistry.js.map +1 -0
  73. package/dist/src/discovery.d.ts +3 -2
  74. package/dist/src/discovery.d.ts.map +1 -0
  75. package/dist/src/discovery.js +63 -59
  76. package/dist/src/discovery.js.map +1 -0
  77. package/dist/src/envelope.d.ts +10 -9
  78. package/dist/src/envelope.d.ts.map +1 -0
  79. package/dist/src/envelope.js +14 -15
  80. package/dist/src/envelope.js.map +1 -0
  81. package/dist/src/errorRegistry.d.ts +4 -3
  82. package/dist/src/errorRegistry.d.ts.map +1 -0
  83. package/dist/src/errorRegistry.js +4 -3
  84. package/dist/src/errorRegistry.js.map +1 -0
  85. package/dist/src/fieldExtraction.d.ts +3 -2
  86. package/dist/src/fieldExtraction.d.ts.map +1 -0
  87. package/dist/src/fieldExtraction.js +15 -11
  88. package/dist/src/fieldExtraction.js.map +1 -0
  89. package/dist/src/flagResolver.d.ts +2 -1
  90. package/dist/src/flagResolver.d.ts.map +1 -0
  91. package/dist/src/flagResolver.js +2 -1
  92. package/dist/src/flagResolver.js.map +1 -0
  93. package/dist/src/flagSemantics.d.ts +4 -3
  94. package/dist/src/flagSemantics.d.ts.map +1 -0
  95. package/dist/src/flagSemantics.js +12 -11
  96. package/dist/src/flagSemantics.js.map +1 -0
  97. package/dist/src/health/index.d.ts +16 -3
  98. package/dist/src/health/index.d.ts.map +1 -0
  99. package/dist/src/health/index.js +21 -20
  100. package/dist/src/health/index.js.map +1 -0
  101. package/dist/src/index.d.ts +23 -23
  102. package/dist/src/index.d.ts.map +1 -0
  103. package/dist/src/index.js +29 -28
  104. package/dist/src/index.js.map +1 -0
  105. package/dist/src/mcpAdapter.d.ts +4 -3
  106. package/dist/src/mcpAdapter.d.ts.map +1 -0
  107. package/dist/src/mcpAdapter.js +62 -57
  108. package/dist/src/mcpAdapter.js.map +1 -0
  109. package/dist/src/mviProjection.d.ts +1 -0
  110. package/dist/src/mviProjection.d.ts.map +1 -0
  111. package/dist/src/mviProjection.js +1 -0
  112. package/dist/src/mviProjection.js.map +1 -0
  113. package/dist/src/problemDetails.d.ts +1 -0
  114. package/dist/src/problemDetails.d.ts.map +1 -0
  115. package/dist/src/problemDetails.js +6 -0
  116. package/dist/src/problemDetails.js.map +1 -0
  117. package/dist/src/shutdown/index.d.ts +7 -2
  118. package/dist/src/shutdown/index.d.ts.map +1 -0
  119. package/dist/src/shutdown/index.js +6 -5
  120. package/dist/src/shutdown/index.js.map +1 -0
  121. package/dist/src/tokenEstimator.d.ts +1 -0
  122. package/dist/src/tokenEstimator.d.ts.map +1 -0
  123. package/dist/src/tokenEstimator.js +1 -2
  124. package/dist/src/tokenEstimator.js.map +1 -0
  125. package/dist/src/types.d.ts +10 -9
  126. package/dist/src/types.d.ts.map +1 -0
  127. package/dist/src/types.js +12 -2
  128. package/dist/src/types.js.map +1 -0
  129. package/dist/src/validateEnvelope.d.ts +2 -1
  130. package/dist/src/validateEnvelope.d.ts.map +1 -0
  131. package/dist/src/validateEnvelope.js +11 -10
  132. package/dist/src/validateEnvelope.js.map +1 -0
  133. package/dist/tsconfig.build.tsbuildinfo +1 -0
  134. package/lafs.md +0 -0
  135. package/package.json +9 -10
  136. package/schemas/v1/agent-card.schema.json +0 -0
  137. package/schemas/v1/conformance-profiles.d.ts +15 -0
  138. package/schemas/v1/conformance-profiles.json +0 -0
  139. package/schemas/v1/context-ledger.schema.json +0 -0
  140. package/schemas/v1/discovery.schema.json +0 -0
  141. package/schemas/v1/envelope.schema.d.ts +14 -0
  142. package/schemas/v1/envelope.schema.json +0 -0
  143. package/schemas/v1/error-registry.d.ts +24 -0
  144. package/schemas/v1/error-registry.json +0 -0
@@ -1,15 +1,15 @@
1
- import { getTransportMapping, isRegisteredErrorCode, getRegistryCode } from "./errorRegistry.js";
2
- import { resolveOutputFormat, LAFSFlagError } from "./flagSemantics.js";
3
- import { isAgentAction, isMVILevel } from "./types.js";
4
- import { getChecksForTier } from "./conformanceProfiles.js";
5
- import { validateEnvelope } from "./validateEnvelope.js";
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, "envelope_schema_valid", validation.valid, validation.valid ? undefined : validation.errors.join("; "));
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, "envelope_invariants", invariant, invariant
24
+ pushCheck(checks, 'envelope_invariants', invariant, invariant
25
25
  ? undefined
26
26
  : typed.success
27
- ? "success=true but error is present and non-null"
28
- : "success=false requires error to be a non-null object");
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, "error_code_registered", registered, registered ? undefined : `unregistered code: ${typed.error.code}`);
32
+ pushCheck(checks, 'error_code_registered', registered, registered ? undefined : `unregistered code: ${typed.error.code}`);
33
33
  }
34
34
  else {
35
- pushCheck(checks, "error_code_registered", true, "error field absent or null — skipped (optional when success=true)");
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, "agent_action_valid", valid, valid ? undefined : `invalid agentAction: ${String(typed.error.agentAction)}`);
40
+ pushCheck(checks, 'agent_action_valid', valid, valid ? undefined : `invalid agentAction: ${String(typed.error.agentAction)}`);
41
41
  }
42
42
  else {
43
- pushCheck(checks, "agent_action_valid", true, "agentAction absent — skipped");
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 && typed.error.agentAction !== undefined && isRegisteredErrorCode(typed.error.code)) {
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?.["agentAction"];
51
+ const registryAction = registryEntry?.['agentAction'];
50
52
  if (registryAction) {
51
53
  const matches = typed.error.agentAction === registryAction;
52
- pushCheck(checks, "error_registry_agent_action", true, // always passes — advisory only
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, "error_registry_agent_action", true, "registry entry has no default agentAction — skipped");
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, "error_registry_agent_action", true, typed.error ? "agentAction absent or code unregistered — skipped" : "no error present — skipped");
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 === "sdk") {
68
- pushCheck(checks, "transport_mapping_consistent", true, "sdk transport does not require external status-code mapping");
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, "transport_mapping_consistent", mappingOk, mappingOk
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, "transport_mapping_consistent", true, "no error present — mapping check skipped");
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["context"] ?? {});
86
- const lafsObj = (ext["lafs"] ?? {});
87
- const contextRequired = ext["lafsContextRequired"] === true ||
88
- contextObj["required"] === true ||
89
- lafsObj["contextRequired"] === true;
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, "context_mutation_failure", true, "context not marked required — skipped");
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, "context_mutation_failure", pass, pass ? undefined : "context required but missing identity (expect E_CONTEXT_MISSING)");
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 === "E_CONTEXT_MISSING" || code === "E_CONTEXT_STALE";
102
- pushCheck(checks, "context_mutation_failure", pass, pass
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, "meta_mvi_present", mviValid, mviValid ? undefined : `invalid mvi level: ${String(typed._meta.mvi)}`);
110
- pushCheck(checks, "meta_strict_present", typeof typed._meta.strict === "boolean");
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 && "error" in obj && obj["error"] === null;
116
- const hasExplicitNullPage = "page" in obj && obj["page"] === null;
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, "strict_mode_behavior", strictClean, strictClean
122
+ pushCheck(checks, 'strict_mode_behavior', strictClean, strictClean
119
123
  ? undefined
120
- : "strict mode: optional fields should be omitted rather than set to null");
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 === "object") {
128
+ if (typed.page && typeof typed.page === 'object') {
125
129
  const page = typed.page;
126
- const mode = page["mode"];
130
+ const mode = page['mode'];
127
131
  let consistent = true;
128
132
  let detail;
129
- if (mode === "cursor") {
130
- if (page["offset"] !== undefined) {
133
+ if (mode === 'cursor') {
134
+ if (page['offset'] !== undefined) {
131
135
  consistent = false;
132
- detail = "cursor mode should not include offset field";
136
+ detail = 'cursor mode should not include offset field';
133
137
  }
134
138
  }
135
- else if (mode === "offset") {
136
- if (page["nextCursor"] !== undefined) {
139
+ else if (mode === 'offset') {
140
+ if (page['nextCursor'] !== undefined) {
137
141
  consistent = false;
138
- detail = "offset mode should not include nextCursor field";
142
+ detail = 'offset mode should not include nextCursor field';
139
143
  }
140
144
  }
141
- else if (mode === "none") {
142
- const extraFields = Object.keys(page).filter((k) => k !== "mode");
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, "pagination_mode_consistent", consistent, consistent ? undefined : detail);
152
+ pushCheck(checks, 'pagination_mode_consistent', consistent, consistent ? undefined : detail);
149
153
  }
150
154
  else {
151
- pushCheck(checks, "pagination_mode_consistent", true, "page absent — skipped");
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, "strict_mode_enforced", !extraResult.valid, extraResult.valid ? "strict=true but additional properties were accepted" : undefined);
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, "strict_mode_enforced", extraResult.valid, !extraResult.valid ? "strict=false but additional properties were rejected" : undefined);
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["contextLedger"] ?? ext["context"]);
171
- if (!ledger || typeof ledger !== "object") {
172
- pushCheck(checks, "context_preservation_valid", true, "context ledger absent — skipped");
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["version"];
176
- const previousVersion = ledger["previousVersion"];
177
- const removedConstraints = ledger["removedConstraints"];
178
- const hasNumericVersion = typeof version === "number";
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 !== "number" || (hasNumericVersion && version >= 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 = "context ledger version must be numeric";
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 = "context constraint removal detected on successful response";
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["required"] === true) {
199
- const stale = ledger["stale"] === true;
200
- if (stale && typed.error.code !== "E_CONTEXT_STALE") {
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 && typed.error.code !== "E_CONTEXT_MISSING" && typed.error.code !== "E_CONTEXT_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, "context_preservation_valid", pass, detail);
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, "flag_conflict_rejected", !(flags.humanFlag && flags.jsonFlag));
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 === "default";
228
- pushCheck(checks, "json_protocol_default", !isProtocolDefault || resolved.format === "json", isProtocolDefault && resolved.format !== "json"
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 === "project" || resolved.source === "user";
234
- const expectedOverride = resolved.source === "project" ? flags.projectDefault : flags.userDefault;
235
- pushCheck(checks, "config_override_respected", !hasConfigOverride || resolved.format === expectedOverride, hasConfigOverride && resolved.format !== expectedOverride
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 === "E_FORMAT_CONFLICT") {
241
- pushCheck(checks, "flag_conflict_rejected", true);
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, "flag_resolution", false, error instanceof Error ? error.message : String(error));
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 = "core" | "standard" | "complete";
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 "../schemas/v1/conformance-profiles.json" with { type: "json" };
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 "./types.js";
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: "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",
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"}
@@ -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 "express";
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: "http" | "apiKey" | "oauth2" | "openIdConnect";
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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"}