@cleocode/cleo 2026.4.11 → 2026.4.12

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 (135) hide show
  1. package/dist/cli/commands/add.d.ts.map +1 -1
  2. package/dist/cli/commands/add.js +123 -19
  3. package/dist/cli/commands/add.js.map +1 -1
  4. package/dist/cli/commands/agent.d.ts.map +1 -1
  5. package/dist/cli/commands/agent.js +64 -20
  6. package/dist/cli/commands/agent.js.map +1 -1
  7. package/dist/cli/commands/backup.d.ts +1 -0
  8. package/dist/cli/commands/backup.d.ts.map +1 -1
  9. package/dist/cli/commands/backup.js +7 -1
  10. package/dist/cli/commands/backup.js.map +1 -1
  11. package/dist/cli/commands/complete.d.ts.map +1 -1
  12. package/dist/cli/commands/complete.js +55 -6
  13. package/dist/cli/commands/complete.js.map +1 -1
  14. package/dist/cli/commands/find.d.ts.map +1 -1
  15. package/dist/cli/commands/find.js +75 -11
  16. package/dist/cli/commands/find.js.map +1 -1
  17. package/dist/cli/commands/list.d.ts.map +1 -1
  18. package/dist/cli/commands/list.js +84 -12
  19. package/dist/cli/commands/list.js.map +1 -1
  20. package/dist/cli/commands/observe.d.ts +3 -0
  21. package/dist/cli/commands/observe.d.ts.map +1 -1
  22. package/dist/cli/commands/observe.js +12 -9
  23. package/dist/cli/commands/observe.js.map +1 -1
  24. package/dist/cli/commands/restore.d.ts +1 -0
  25. package/dist/cli/commands/restore.d.ts.map +1 -1
  26. package/dist/cli/commands/restore.js +4 -0
  27. package/dist/cli/commands/restore.js.map +1 -1
  28. package/dist/cli/commands/schema.d.ts +27 -0
  29. package/dist/cli/commands/schema.d.ts.map +1 -0
  30. package/dist/cli/commands/schema.js +160 -0
  31. package/dist/cli/commands/schema.js.map +1 -0
  32. package/dist/cli/commands/show.d.ts.map +1 -1
  33. package/dist/cli/commands/show.js +24 -4
  34. package/dist/cli/commands/show.js.map +1 -1
  35. package/dist/cli/help-generator.d.ts +74 -0
  36. package/dist/cli/help-generator.d.ts.map +1 -0
  37. package/dist/cli/help-generator.js +229 -0
  38. package/dist/cli/help-generator.js.map +1 -0
  39. package/dist/cli/index.js +342 -107991
  40. package/dist/cli/index.js.map +1 -7
  41. package/dist/cli/renderers/index.d.ts +35 -7
  42. package/dist/cli/renderers/index.d.ts.map +1 -1
  43. package/dist/cli/renderers/index.js +64 -10
  44. package/dist/cli/renderers/index.js.map +1 -1
  45. package/dist/cli/renderers/lafs-validator.d.ts +27 -33
  46. package/dist/cli/renderers/lafs-validator.d.ts.map +1 -1
  47. package/dist/cli/renderers/lafs-validator.js +45 -98
  48. package/dist/cli/renderers/lafs-validator.js.map +1 -1
  49. package/dist/dispatch/adapters/cli.d.ts.map +1 -1
  50. package/dist/dispatch/adapters/cli.js +16 -2
  51. package/dist/dispatch/adapters/cli.js.map +1 -1
  52. package/dist/dispatch/dispatcher.js +7 -7
  53. package/dist/dispatch/dispatcher.js.map +1 -1
  54. package/dist/dispatch/domains/_base.js +4 -4
  55. package/dist/dispatch/domains/_base.js.map +1 -1
  56. package/dist/dispatch/domains/_meta.d.ts +3 -3
  57. package/dist/dispatch/domains/_meta.d.ts.map +1 -1
  58. package/dist/dispatch/domains/_meta.js +2 -2
  59. package/dist/dispatch/domains/admin.js +19 -19
  60. package/dist/dispatch/domains/admin.js.map +1 -1
  61. package/dist/dispatch/domains/check.js +3 -3
  62. package/dist/dispatch/domains/check.js.map +1 -1
  63. package/dist/dispatch/domains/nexus.js +2 -2
  64. package/dist/dispatch/domains/nexus.js.map +1 -1
  65. package/dist/dispatch/domains/orchestrate.js +3 -3
  66. package/dist/dispatch/domains/orchestrate.js.map +1 -1
  67. package/dist/dispatch/domains/pipeline.js +1 -1
  68. package/dist/dispatch/domains/pipeline.js.map +1 -1
  69. package/dist/dispatch/domains/sticky.js +1 -1
  70. package/dist/dispatch/domains/sticky.js.map +1 -1
  71. package/dist/dispatch/domains/tasks.js +1 -1
  72. package/dist/dispatch/domains/tasks.js.map +1 -1
  73. package/dist/dispatch/domains/tools.js +5 -5
  74. package/dist/dispatch/domains/tools.js.map +1 -1
  75. package/dist/dispatch/engines/_error.d.ts +34 -0
  76. package/dist/dispatch/engines/_error.d.ts.map +1 -1
  77. package/dist/dispatch/engines/_error.js +44 -0
  78. package/dist/dispatch/engines/_error.js.map +1 -1
  79. package/dist/dispatch/engines/session-engine.d.ts.map +1 -1
  80. package/dist/dispatch/engines/session-engine.js +18 -68
  81. package/dist/dispatch/engines/session-engine.js.map +1 -1
  82. package/dist/dispatch/engines/system-engine.d.ts.map +1 -1
  83. package/dist/dispatch/engines/system-engine.js +29 -37
  84. package/dist/dispatch/engines/system-engine.js.map +1 -1
  85. package/dist/dispatch/engines/task-engine.d.ts +1 -1
  86. package/dist/dispatch/engines/task-engine.d.ts.map +1 -1
  87. package/dist/dispatch/engines/task-engine.js +35 -229
  88. package/dist/dispatch/engines/task-engine.js.map +1 -1
  89. package/dist/dispatch/lib/budget.d.ts +1 -0
  90. package/dist/dispatch/lib/budget.d.ts.map +1 -1
  91. package/dist/dispatch/lib/budget.js +36 -29
  92. package/dist/dispatch/lib/budget.js.map +1 -1
  93. package/dist/dispatch/lib/config.d.ts +1 -1
  94. package/dist/dispatch/lib/config.d.ts.map +1 -1
  95. package/dist/dispatch/lib/defaults.d.ts +0 -2
  96. package/dist/dispatch/lib/defaults.d.ts.map +1 -1
  97. package/dist/dispatch/lib/defaults.js +3 -0
  98. package/dist/dispatch/lib/defaults.js.map +1 -1
  99. package/dist/dispatch/lib/exit-codes.d.ts +35 -0
  100. package/dist/dispatch/lib/exit-codes.d.ts.map +1 -0
  101. package/dist/dispatch/lib/exit-codes.js +60 -0
  102. package/dist/dispatch/lib/exit-codes.js.map +1 -0
  103. package/dist/dispatch/lib/gateway-meta.d.ts +1 -1
  104. package/dist/dispatch/lib/meta.d.ts +2 -2
  105. package/dist/dispatch/lib/meta.d.ts.map +1 -1
  106. package/dist/dispatch/lib/meta.js +1 -1
  107. package/dist/dispatch/lib/meta.js.map +1 -1
  108. package/dist/dispatch/lib/param-utils.d.ts +1 -1
  109. package/dist/dispatch/lib/param-utils.d.ts.map +1 -1
  110. package/dist/dispatch/lib/param-utils.js +1 -1
  111. package/dist/dispatch/lib/param-utils.js.map +1 -1
  112. package/dist/dispatch/lib/proto-envelope.d.ts +56 -0
  113. package/dist/dispatch/lib/proto-envelope.d.ts.map +1 -0
  114. package/dist/dispatch/lib/proto-envelope.js +17 -0
  115. package/dist/dispatch/lib/proto-envelope.js.map +1 -0
  116. package/dist/dispatch/middleware/field-filter.d.ts +1 -0
  117. package/dist/dispatch/middleware/field-filter.d.ts.map +1 -1
  118. package/dist/dispatch/middleware/field-filter.js +10 -5
  119. package/dist/dispatch/middleware/field-filter.js.map +1 -1
  120. package/dist/dispatch/middleware/projection.js +1 -1
  121. package/dist/dispatch/middleware/projection.js.map +1 -1
  122. package/dist/dispatch/middleware/protocol-enforcement.d.ts +6 -3
  123. package/dist/dispatch/middleware/protocol-enforcement.d.ts.map +1 -1
  124. package/dist/dispatch/middleware/protocol-enforcement.js +28 -17
  125. package/dist/dispatch/middleware/protocol-enforcement.js.map +1 -1
  126. package/dist/dispatch/middleware/rate-limiter.js +2 -2
  127. package/dist/dispatch/middleware/rate-limiter.js.map +1 -1
  128. package/dist/dispatch/middleware/sanitizer.js +1 -1
  129. package/dist/dispatch/middleware/sanitizer.js.map +1 -1
  130. package/dist/dispatch/middleware/verification-gates.js +2 -2
  131. package/dist/dispatch/middleware/verification-gates.js.map +1 -1
  132. package/dist/dispatch/types.d.ts +5 -1
  133. package/dist/dispatch/types.d.ts.map +1 -1
  134. package/package.json +7 -7
  135. package/templates/cleoos-hub/pi-extensions/cleo-cant-bridge.ts +180 -0
@@ -5,6 +5,7 @@
5
5
  * response sizes for context-constrained agents.
6
6
  *
7
7
  * @task T4701
8
+ * @task T338 — updated for canonical CLI envelope (meta, data)
8
9
  * @epic T4663
9
10
  */
10
11
  import { applyBudgetEnforcement, checkBudget } from '@cleocode/lafs';
@@ -30,29 +31,32 @@ const DEFAULT_BUDGET = 4000;
30
31
  */
31
32
  export function enforceBudget(response, budget) {
32
33
  const effectiveBudget = budget ?? DEFAULT_BUDGET;
33
- // Build an LAFSEnvelope-shaped object for the budget checker
34
+ // Build a proto-envelope stub for the SDK budget checker.
35
+ // The SDK internally uses {_meta, result}, so we bridge from the canonical
36
+ // CLI shape {meta, data} here.
37
+ const protoMeta = (response['meta'] ?? {});
34
38
  const envelope = {
35
39
  $schema: 'https://lafs.dev/schemas/v1/envelope.schema.json',
36
- _meta: response['_meta'] ?? {
37
- specVersion: '1.2.3',
38
- schemaVersion: '2026.2.1',
39
- timestamp: new Date().toISOString(),
40
- operation: 'dispatch.response',
41
- requestId: 'budget-check',
42
- transport: 'sdk',
43
- strict: true,
44
- mvi: 'standard',
45
- contextVersion: 1,
46
- },
40
+ _meta: Object.keys(protoMeta).length > 0
41
+ ? protoMeta
42
+ : {
43
+ specVersion: '1.2.3',
44
+ schemaVersion: '2026.2.1',
45
+ timestamp: new Date().toISOString(),
46
+ operation: 'dispatch.response',
47
+ requestId: 'budget-check',
48
+ transport: 'sdk',
49
+ strict: true,
50
+ mvi: 'standard',
51
+ contextVersion: 1,
52
+ },
47
53
  success: response['success'] ?? true,
48
54
  result: response['data'] ?? null,
49
55
  ...(response['error'] ? { error: response['error'] } : {}),
50
56
  };
51
- const enforcement = applyBudgetEnforcement(envelope, effectiveBudget, {
52
- truncateOnExceed: true,
53
- });
54
- // Merge budget info back into the response _meta
55
- const meta = (response['_meta'] ?? {});
57
+ const enforcement = applyBudgetEnforcement(envelope, effectiveBudget, { truncateOnExceed: true });
58
+ // Merge budget info back into the response meta
59
+ const meta = (response['meta'] ?? {});
56
60
  meta['_budgetEnforcement'] = {
57
61
  budget: effectiveBudget,
58
62
  estimatedTokens: enforcement.estimatedTokens,
@@ -62,7 +66,7 @@ export function enforceBudget(response, budget) {
62
66
  return {
63
67
  response: {
64
68
  ...response,
65
- _meta: meta,
69
+ meta,
66
70
  // Replace data with potentially truncated result
67
71
  ...(enforcement.truncated &&
68
72
  enforcement.envelope.result !== undefined && {
@@ -80,19 +84,22 @@ export function enforceBudget(response, budget) {
80
84
  */
81
85
  export function isWithinBudget(response, budget) {
82
86
  const effectiveBudget = budget ?? DEFAULT_BUDGET;
87
+ const protoMeta = (response['meta'] ?? {});
83
88
  const envelope = {
84
89
  $schema: 'https://lafs.dev/schemas/v1/envelope.schema.json',
85
- _meta: response['_meta'] ?? {
86
- specVersion: '1.2.3',
87
- schemaVersion: '2026.2.1',
88
- timestamp: new Date().toISOString(),
89
- operation: 'dispatch.response',
90
- requestId: 'budget-check',
91
- transport: 'sdk',
92
- strict: true,
93
- mvi: 'standard',
94
- contextVersion: 1,
95
- },
90
+ _meta: Object.keys(protoMeta).length > 0
91
+ ? protoMeta
92
+ : {
93
+ specVersion: '1.2.3',
94
+ schemaVersion: '2026.2.1',
95
+ timestamp: new Date().toISOString(),
96
+ operation: 'dispatch.response',
97
+ requestId: 'budget-check',
98
+ transport: 'sdk',
99
+ strict: true,
100
+ mvi: 'standard',
101
+ contextVersion: 1,
102
+ },
96
103
  success: true,
97
104
  result: response['data'] ?? null,
98
105
  };
@@ -1 +1 @@
1
- {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../../src/dispatch/lib/budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAErE;;;;;GAKG;AACH,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAiC,EACjC,MAAe;IAEf,MAAM,eAAe,GAAG,MAAM,IAAI,cAAc,CAAC;IAEjD,6DAA6D;IAC7D,MAAM,QAAQ,GAAiB;QAC7B,OAAO,EAAE,kDAAkD;QAC3D,KAAK,EAAG,QAAQ,CAAC,OAAO,CAA2B,IAAI;YACrD,WAAW,EAAE,OAAO;YACpB,aAAa,EAAE,UAAU;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,mBAAmB;YAC9B,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,UAAU;YACf,cAAc,EAAE,CAAC;SAClB;QACD,OAAO,EAAG,QAAQ,CAAC,SAAS,CAAa,IAAI,IAAI;QACjD,MAAM,EAAG,QAAQ,CAAC,MAAM,CAA6B,IAAI,IAAI;QAC7D,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpF,CAAC;IAEF,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE;QACpE,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,iDAAiD;IACjD,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAA4B,CAAC;IAClE,IAAI,CAAC,oBAAoB,CAAC,GAAG;QAC3B,MAAM,EAAE,eAAe;QACvB,eAAe,EAAE,WAAW,CAAC,eAAe;QAC5C,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE;YACR,GAAG,QAAQ;YACX,KAAK,EAAE,IAAI;YACX,iDAAiD;YACjD,GAAG,CAAC,WAAW,CAAC,SAAS;gBACvB,WAAW,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI;gBAC3C,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM;aAClC,CAAC;SACL;QACD,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,QAAiC,EAAE,MAAe;IAC/E,MAAM,eAAe,GAAG,MAAM,IAAI,cAAc,CAAC;IACjD,MAAM,QAAQ,GAAiB;QAC7B,OAAO,EAAE,kDAAkD;QAC3D,KAAK,EAAG,QAAQ,CAAC,OAAO,CAA2B,IAAI;YACrD,WAAW,EAAE,OAAO;YACpB,aAAa,EAAE,UAAU;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,mBAAmB;YAC9B,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,UAAU;YACf,cAAc,EAAE,CAAC;SAClB;QACD,OAAO,EAAE,IAAI;QACb,MAAM,EAAG,QAAQ,CAAC,MAAM,CAA6B,IAAI,IAAI;KAC9D,CAAC;IACF,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC5D,OAAO,CAAC,QAAQ,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../../src/dispatch/lib/budget.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,5 @@
7
7
  * @task T4830
8
8
  */
9
9
  export { ConfigValidationError, getConfig, loadConfig, resetConfig, validateConfig, } from './config-loader.js';
10
- export type { DispatchConfig, MCPConfig } from './defaults.js';
10
+ export type { DispatchConfig } from './defaults.js';
11
11
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/dispatch/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/dispatch/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
@@ -67,8 +67,6 @@ export declare const DEFAULT_PROTOCOL_VALIDATION: ProtocolValidationConfig;
67
67
  /**
68
68
  * Default configuration values
69
69
  */
70
- /** Alias for DispatchConfig. */
71
- export type MCPConfig = DispatchConfig;
72
70
  export declare const DEFAULT_CONFIG: DispatchConfig;
73
71
  /**
74
72
  * Environment variable prefix for CLEO configuration
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/dispatch/lib/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,iEAAiE;IACjE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;IACpC,uDAAuD;IACvD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,uDAAuD;IACvD,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,wCAAwC;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAEhB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAEhB,gDAAgD;IAChD,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAE9C,qDAAqD;IACrD,aAAa,EAAE,OAAO,CAAC;IAEvB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IAEnB,yCAAyC;IACzC,UAAU,EAAE,OAAO,CAAC;IAEpB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IAEtB,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAElB,6CAA6C;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAE1B,yDAAyD;IACzD,oBAAoB,EAAE,0BAA0B,CAAC;IAEjD,uDAAuD;IACvD,kBAAkB,EAAE,wBAAwB,CAAC;IAE7C,iDAAiD;IACjD,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,0BAI3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,wBAIzC,CAAC;AAEF;;GAEG;AACH,gCAAgC;AAChC,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC;AAEvC,eAAO,MAAM,cAAc,EAAE,cAa5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,UAAU,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUhB,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/dispatch/lib/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,iEAAiE;IACjE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;IACpC,uDAAuD;IACvD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,uDAAuD;IACvD,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,wCAAwC;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAEhB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAEhB,gDAAgD;IAChD,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAE9C,qDAAqD;IACrD,aAAa,EAAE,OAAO,CAAC;IAEvB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IAEnB,yCAAyC;IACzC,UAAU,EAAE,OAAO,CAAC;IAEpB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IAEtB,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAElB,6CAA6C;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAE1B,yDAAyD;IACzD,oBAAoB,EAAE,0BAA0B,CAAC;IAEjD,uDAAuD;IACvD,kBAAkB,EAAE,wBAAwB,CAAC;IAE7C,iDAAiD;IACjD,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,0BAI3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,wBAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,cAa5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,UAAU,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUhB,CAAC"}
@@ -23,6 +23,9 @@ export const DEFAULT_PROTOCOL_VALIDATION = {
23
23
  blockOnViolation: true,
24
24
  logViolations: true,
25
25
  };
26
+ /**
27
+ * Default configuration values
28
+ */
26
29
  export const DEFAULT_CONFIG = {
27
30
  cliPath: 'cleo',
28
31
  timeout: 30000, // 30 seconds
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/dispatch/lib/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAgEtE;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA+B;IACvE,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,CAAC,WAAW,CAAC;IACxB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA6B;IACnE,UAAU,EAAE,IAAI;IAChB,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,IAAI;CACpB,CAAC;AAQF,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,KAAK,EAAE,aAAa;IAC7B,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK,EAAE,aAAa;IACnC,QAAQ,EAAE,IAAI;IACd,gBAAgB,EAAE,IAAI;IACtB,oBAAoB,EAAE,EAAE,GAAG,6BAA6B,EAAE;IAC1D,kBAAkB,EAAE,EAAE,GAAG,2BAA2B,EAAE;IACtD,YAAY,EAAE,EAAE,GAAG,qBAAqB,EAAE;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE;IACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IACtE,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/C,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE;IACtD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC7B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CAC7B,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/dispatch/lib/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAgEtE;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA+B;IACvE,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,CAAC,WAAW,CAAC;IACxB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA6B;IACnE,UAAU,EAAE,IAAI;IAChB,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,IAAI;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,KAAK,EAAE,aAAa;IAC7B,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK,EAAE,aAAa;IACnC,QAAQ,EAAE,IAAI;IACd,gBAAgB,EAAE,IAAI;IACtB,oBAAoB,EAAE,EAAE,GAAG,6BAA6B,EAAE;IAC1D,kBAAkB,EAAE,EAAE,GAAG,2BAA2B,EAAE;IACtD,YAAY,EAAE,EAAE,GAAG,qBAAqB,EAAE;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE;IACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IACtE,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/C,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE;IACtD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC7B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CAC7B,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Shared exit-code mapping utilities for the dispatch layer.
3
+ *
4
+ * Provides a canonical reverse lookup from numeric exit code to string error code,
5
+ * shared between dispatch engines and the CLI adapter.
6
+ *
7
+ * @remarks
8
+ * The forward mapping (string → number) lives in `engines/_error.ts` as
9
+ * `STRING_TO_EXIT`. This module derives the inverse on first call and memoises
10
+ * it so engines can resolve a caught `CleoError.code` (numeric) to the
11
+ * string code expected by `engineError()`.
12
+ *
13
+ * @task T374
14
+ * @epic T335
15
+ */
16
+ /**
17
+ * Map a numeric CleoError exit code to the canonical string engine error code.
18
+ *
19
+ * @remarks
20
+ * Returns `undefined` when the numeric code is not present in the
21
+ * `STRING_TO_EXIT` map, allowing callers to fall back to their own default.
22
+ *
23
+ * @param numericCode - Numeric exit code from a caught `CleoError.code`
24
+ * @returns Canonical string error code (e.g. `'E_NOT_FOUND'`), or `undefined`
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { mapNumericExitCodeToString } from '../lib/exit-codes.js';
29
+ *
30
+ * const code = mapNumericExitCodeToString(4) ?? 'E_NOT_INITIALIZED';
31
+ * // → 'E_NOT_FOUND'
32
+ * ```
33
+ */
34
+ export declare function mapNumericExitCodeToString(numericCode: number | undefined): string | undefined;
35
+ //# sourceMappingURL=exit-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../../../src/dispatch/lib/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0BH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG9F"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Shared exit-code mapping utilities for the dispatch layer.
3
+ *
4
+ * Provides a canonical reverse lookup from numeric exit code to string error code,
5
+ * shared between dispatch engines and the CLI adapter.
6
+ *
7
+ * @remarks
8
+ * The forward mapping (string → number) lives in `engines/_error.ts` as
9
+ * `STRING_TO_EXIT`. This module derives the inverse on first call and memoises
10
+ * it so engines can resolve a caught `CleoError.code` (numeric) to the
11
+ * string code expected by `engineError()`.
12
+ *
13
+ * @task T374
14
+ * @epic T335
15
+ */
16
+ import { STRING_TO_EXIT } from '../engines/_error.js';
17
+ /** Lazily built inverse of STRING_TO_EXIT (number → string). */
18
+ let _inverseCache = null;
19
+ /**
20
+ * Build and memoize the inverse of STRING_TO_EXIT.
21
+ *
22
+ * When multiple string codes map to the same exit number (e.g. E_GENERAL
23
+ * and E_GENERAL_ERROR both map to 1), the first occurrence wins.
24
+ */
25
+ function getInverseMap() {
26
+ if (_inverseCache)
27
+ return _inverseCache;
28
+ const map = new Map();
29
+ for (const [key, value] of Object.entries(STRING_TO_EXIT)) {
30
+ if (!map.has(value)) {
31
+ map.set(value, key);
32
+ }
33
+ }
34
+ _inverseCache = map;
35
+ return map;
36
+ }
37
+ /**
38
+ * Map a numeric CleoError exit code to the canonical string engine error code.
39
+ *
40
+ * @remarks
41
+ * Returns `undefined` when the numeric code is not present in the
42
+ * `STRING_TO_EXIT` map, allowing callers to fall back to their own default.
43
+ *
44
+ * @param numericCode - Numeric exit code from a caught `CleoError.code`
45
+ * @returns Canonical string error code (e.g. `'E_NOT_FOUND'`), or `undefined`
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * import { mapNumericExitCodeToString } from '../lib/exit-codes.js';
50
+ *
51
+ * const code = mapNumericExitCodeToString(4) ?? 'E_NOT_INITIALIZED';
52
+ * // → 'E_NOT_FOUND'
53
+ * ```
54
+ */
55
+ export function mapNumericExitCodeToString(numericCode) {
56
+ if (numericCode === undefined)
57
+ return undefined;
58
+ return getInverseMap().get(numericCode);
59
+ }
60
+ //# sourceMappingURL=exit-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../../../src/dispatch/lib/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,gEAAgE;AAChE,IAAI,aAAa,GAA+B,IAAI,CAAC;AAErD;;;;;GAKG;AACH,SAAS,aAAa;IACpB,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAExC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,aAAa,GAAG,GAAG,CAAC;IACpB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAA+B;IACxE,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,aAAa,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC"}
@@ -14,7 +14,7 @@
14
14
  */
15
15
  import type { GatewayMeta } from '@cleocode/contracts';
16
16
  /**
17
- * GatewayMeta with an index signature for DomainResponse._meta
17
+ * GatewayMeta with an index signature for DomainResponse.meta
18
18
  * compatibility. All domain handlers receive this from
19
19
  * createGatewayMeta().
20
20
  *
@@ -17,10 +17,10 @@ import type { DispatchResponse, Source } from '../types.js';
17
17
  * @param source - Where the request originated
18
18
  * @param requestId - Optional pre-generated request ID
19
19
  * @param sessionId - Optional session ID to include in metadata
20
- * @returns Metadata conforming to DispatchResponse['_meta']
20
+ * @returns Metadata conforming to DispatchResponse['meta']
21
21
  *
22
22
  * @task T4772
23
23
  * @task T4959
24
24
  */
25
- export declare function createDispatchMeta(gateway: string, domain: string, operation: string, startTime: number, source?: Source, requestId?: string, sessionId?: string | null): DispatchResponse['_meta'];
25
+ export declare function createDispatchMeta(gateway: string, domain: string, operation: string, startTime: number, source?: Source, requestId?: string, sessionId?: string | null): DispatchResponse['meta'];
26
26
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/dispatch/lib/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,MAAc,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,gBAAgB,CAAC,OAAO,CAAC,CAW3B"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/dispatch/lib/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,MAAc,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,gBAAgB,CAAC,MAAM,CAAC,CAW1B"}
@@ -17,7 +17,7 @@ import { randomUUID } from 'node:crypto';
17
17
  * @param source - Where the request originated
18
18
  * @param requestId - Optional pre-generated request ID
19
19
  * @param sessionId - Optional session ID to include in metadata
20
- * @returns Metadata conforming to DispatchResponse['_meta']
20
+ * @returns Metadata conforming to DispatchResponse['meta']
21
21
  *
22
22
  * @task T4772
23
23
  * @task T4959
@@ -1 +1 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/dispatch/lib/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,MAAc,EACd,SAAiB,EACjB,SAAiB,EACjB,SAAiB,KAAK,EACtB,SAAkB,EAClB,SAAyB;IAEzB,OAAO;QACL,OAAO,EAAE,OAA+C;QACxD,MAAM;QACN,SAAS;QACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QACnC,MAAM;QACN,SAAS,EAAE,SAAS,IAAI,UAAU,EAAE;QACpC,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/dispatch/lib/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,MAAc,EACd,SAAiB,EACjB,SAAiB,EACjB,SAAiB,KAAK,EACtB,SAAkB,EAClB,SAAyB;IAEzB,OAAO;QACL,OAAO,EAAE,OAA8C;QACvD,MAAM;QACN,SAAS;QACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QACnC,MAAM;QACN,SAAS,EAAE,SAAS,IAAI,UAAU,EAAE;QACpC,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC"}
@@ -7,5 +7,5 @@
7
7
  * @task T5706
8
8
  */
9
9
  export type { CommanderArgSplit, JSONSchemaObject, JsonSchemaProperty, JsonSchemaType, } from '@cleocode/core/internal';
10
- export { buildCommanderArgs, buildCommanderOptionString, buildMcpInputSchema, camelToKebab, validateRequiredParamsDef, } from '@cleocode/core/internal';
10
+ export { buildCommanderArgs, buildCommanderOptionString, buildDispatchInputSchema, buildMcpInputSchema, camelToKebab, validateRequiredParamsDef, } from '@cleocode/core/internal';
11
11
  //# sourceMappingURL=param-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"param-utils.d.ts","sourceRoot":"","sources":["../../../src/dispatch/lib/param-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"param-utils.d.ts","sourceRoot":"","sources":["../../../src/dispatch/lib/param-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC"}
@@ -6,5 +6,5 @@
6
6
  *
7
7
  * @task T5706
8
8
  */
9
- export { buildCommanderArgs, buildCommanderOptionString, buildMcpInputSchema, camelToKebab, validateRequiredParamsDef, } from '@cleocode/core/internal';
9
+ export { buildCommanderArgs, buildCommanderOptionString, buildDispatchInputSchema, buildMcpInputSchema, camelToKebab, validateRequiredParamsDef, } from '@cleocode/core/internal';
10
10
  //# sourceMappingURL=param-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"param-utils.js","sourceRoot":"","sources":["../../../src/dispatch/lib/param-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"param-utils.js","sourceRoot":"","sources":["../../../src/dispatch/lib/param-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Shared bridge stub type for LAFS SDK protocol-shape envelopes.
3
+ *
4
+ * The LAFS SDK's internal `LAFSEnvelope` uses the proto-shape `{_meta, result}`.
5
+ * The canonical CLEO CLI envelope uses `{meta, data}`. Several dispatch-layer
6
+ * modules (budget enforcement, field filtering) need to map between the two.
7
+ *
8
+ * This stub captures the SDK's expected shape so both `budget.ts` and
9
+ * `field-filter.ts` share a single, consistent definition rather than
10
+ * duplicating it inline.
11
+ *
12
+ * @task T338
13
+ * @epic T335
14
+ * @internal
15
+ */
16
+ /**
17
+ * Minimal stub of the LAFS SDK's `LAFSEnvelope` proto-shape.
18
+ *
19
+ * Used to bridge `DispatchResponse` (canonical CLI envelope with `meta` + `data`)
20
+ * into the SDK's expected `{_meta, result}` shape for budget checking and
21
+ * field filtering. After the SDK call, results are mapped back to the canonical
22
+ * shape.
23
+ *
24
+ * @internal
25
+ */
26
+ export interface _ProtoEnvelopeStub {
27
+ /** LAFS JSON Schema URL. */
28
+ $schema: string;
29
+ /**
30
+ * Protocol-level metadata block (SDK proto-shape).
31
+ *
32
+ * This mirrors the required fields of `LAFSMeta` so the SDK's validators
33
+ * accept the stub without a full `LAFSMeta` import.
34
+ */
35
+ _meta: {
36
+ specVersion: string;
37
+ schemaVersion: string;
38
+ timestamp: string;
39
+ operation: string;
40
+ requestId: string;
41
+ transport: string;
42
+ strict: boolean;
43
+ mvi: string;
44
+ contextVersion: number;
45
+ [key: string]: unknown;
46
+ };
47
+ /** Whether the operation succeeded. */
48
+ success: boolean;
49
+ /** Operation result payload (SDK proto-shape uses `result`, not `data`). */
50
+ result: Record<string, unknown> | Record<string, unknown>[] | null;
51
+ /** Optional error payload. */
52
+ error?: Record<string, unknown>;
53
+ /** Extensible: additional SDK fields pass through the index signature. */
54
+ [key: string]: unknown;
55
+ }
56
+ //# sourceMappingURL=proto-envelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proto-envelope.d.ts","sourceRoot":"","sources":["../../../src/dispatch/lib/proto-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,cAAc,EAAE,MAAM,CAAC;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IACnE,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,0EAA0E;IAC1E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Shared bridge stub type for LAFS SDK protocol-shape envelopes.
3
+ *
4
+ * The LAFS SDK's internal `LAFSEnvelope` uses the proto-shape `{_meta, result}`.
5
+ * The canonical CLEO CLI envelope uses `{meta, data}`. Several dispatch-layer
6
+ * modules (budget enforcement, field filtering) need to map between the two.
7
+ *
8
+ * This stub captures the SDK's expected shape so both `budget.ts` and
9
+ * `field-filter.ts` share a single, consistent definition rather than
10
+ * duplicating it inline.
11
+ *
12
+ * @task T338
13
+ * @epic T335
14
+ * @internal
15
+ */
16
+ export {};
17
+ //# sourceMappingURL=proto-envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proto-envelope.js","sourceRoot":"","sources":["../../../src/dispatch/lib/proto-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
@@ -8,6 +8,7 @@
8
8
  *
9
9
  * @epic T4820
10
10
  * @task T4979
11
+ * @task T338 — updated for canonical CLI envelope (meta, data)
11
12
  */
12
13
  import type { Middleware } from '../types.js';
13
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"field-filter.d.ts","sourceRoot":"","sources":["../../../src/dispatch/middleware/field-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAqC,UAAU,EAAE,MAAM,aAAa,CAAC;AAEjF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,CA+C9C"}
1
+ {"version":3,"file":"field-filter.d.ts","sourceRoot":"","sources":["../../../src/dispatch/middleware/field-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAqC,UAAU,EAAE,MAAM,aAAa,CAAC;AAEjF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,CAsD9C"}
@@ -8,6 +8,7 @@
8
8
  *
9
9
  * @epic T4820
10
10
  * @task T4979
11
+ * @task T338 — updated for canonical CLI envelope (meta, data)
11
12
  */
12
13
  import { isMVILevel, applyFieldFilter as sdkApplyFieldFilter } from '@cleocode/lafs';
13
14
  /**
@@ -38,16 +39,17 @@ export function createFieldFilter() {
38
39
  req._mvi = _mvi;
39
40
  const response = await next();
40
41
  // Apply _fields filter via SDK — handles all four result shapes,
41
- // preserves envelope structure, sets _meta.mvi = 'custom' per §9.1
42
+ // preserves envelope structure. Bridges DispatchResponse (canonical CLI shape)
43
+ // to the lafs SDK proto-envelope shape for filtering, then maps back.
42
44
  if (_fields?.length && response.success && response.data !== undefined) {
43
45
  const stub = {
44
46
  $schema: 'https://lafs.dev/schemas/v1/envelope.schema.json',
45
47
  _meta: {
46
48
  specVersion: '',
47
49
  schemaVersion: '',
48
- timestamp: response._meta.timestamp,
49
- operation: response._meta.operation,
50
- requestId: response._meta.requestId,
50
+ timestamp: response.meta.timestamp,
51
+ operation: response.meta.operation,
52
+ requestId: response.meta.requestId,
51
53
  transport: 'sdk',
52
54
  strict: true,
53
55
  mvi: 'minimal',
@@ -56,8 +58,11 @@ export function createFieldFilter() {
56
58
  success: true,
57
59
  result: response.data,
58
60
  };
61
+ // Type assertion: applyFieldFilter expects LAFSEnvelope (proto shape) but
62
+ // our stub satisfies the structural contract at runtime.
59
63
  const filtered = sdkApplyFieldFilter(stub, _fields);
60
- response.data = filtered.result;
64
+ // Map filtered.result back to the canonical DispatchResponse.data field
65
+ response.data = filtered.result ?? undefined;
61
66
  }
62
67
  return response;
63
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"field-filter.js","sourceRoot":"","sources":["../../../src/dispatch/middleware/field-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,UAAU,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrF;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,EACV,GAAoB,EACpB,IAAqC,EACV,EAAE;QAC7B,sEAAsE;QACtE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAK,GAAG,CAAC,MAAM,EAAE,OAAgC,CAAC;QAC7E,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,MAAM,EAAE,IAA2B,CAAC;QACpE,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAErD,uDAAuD;QACvD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAED,gDAAgD;QAChD,IAAI,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACnC,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAE1B,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QAE9B,iEAAiE;QACjE,mEAAmE;QACnE,IAAI,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvE,MAAM,IAAI,GAAiB;gBACzB,OAAO,EAAE,kDAAkD;gBAC3D,KAAK,EAAE;oBACL,WAAW,EAAE,EAAE;oBACf,aAAa,EAAE,EAAE;oBACjB,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS;oBACnC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS;oBACnC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS;oBACnC,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,IAAI;oBACZ,GAAG,EAAE,SAAS;oBACd,cAAc,EAAE,CAAC;iBAClB;gBACD,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ,CAAC,IAA8B;aAChD,CAAC;YACF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACpD,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;QAClC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"field-filter.js","sourceRoot":"","sources":["../../../src/dispatch/middleware/field-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAIrF;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,EACV,GAAoB,EACpB,IAAqC,EACV,EAAE;QAC7B,sEAAsE;QACtE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAK,GAAG,CAAC,MAAM,EAAE,OAAgC,CAAC;QAC7E,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,MAAM,EAAE,IAA2B,CAAC;QACpE,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAErD,uDAAuD;QACvD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAED,gDAAgD;QAChD,IAAI,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACnC,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAE1B,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QAE9B,iEAAiE;QACjE,+EAA+E;QAC/E,sEAAsE;QACtE,IAAI,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvE,MAAM,IAAI,GAAuB;gBAC/B,OAAO,EAAE,kDAAkD;gBAC3D,KAAK,EAAE;oBACL,WAAW,EAAE,EAAE;oBACf,aAAa,EAAE,EAAE;oBACjB,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;oBAClC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;oBAClC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;oBAClC,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,IAAI;oBACZ,GAAG,EAAE,SAAS;oBACd,cAAc,EAAE,CAAC;iBAClB;gBACD,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ,CAAC,IAAoC;aACtD,CAAC;YACF,0EAA0E;YAC1E,yDAAyD;YACzD,MAAM,QAAQ,GAAG,mBAAmB,CAClC,IAAiD,EACjD,OAAO,CACR,CAAC;YACF,wEAAwE;YACxE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,SAAS,CAAC;QAC/C,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC"}
@@ -117,7 +117,7 @@ export function createProjectionMiddleware() {
117
117
  // Check domain access at this tier
118
118
  if (!config.allowedDomains.includes(req.domain)) {
119
119
  return {
120
- _meta: {
120
+ meta: {
121
121
  gateway: req.gateway,
122
122
  domain: req.domain,
123
123
  operation: req.operation,
@@ -1 +1 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/dispatch/middleware/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/dispatch/middleware/projection.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,12 @@ import type { Middleware } from '../types.js';
9
9
  * - In strict mode, blocks operations with protocol violations (exit codes 60-70)
10
10
  *
11
11
  * @remarks
12
- * The middleware ensures that DispatchResponse `_meta` fields (source, requestId)
13
- * are always populated, even when ProtocolEnforcer returns a DomainResponse that
14
- * lacks them. This prevents downstream consumers from encountering undefined values.
12
+ * ProtocolEnforcer.enforceProtocol uses the core's proto-shape (`_meta`) while
13
+ * the dispatch layer uses the canonical CLI envelope shape (`meta`). This
14
+ * middleware bridges between the two shapes:
15
+ * - Wraps `next` to map `DispatchResponse.meta` → proto-shape `_meta` for the enforcer
16
+ * - Maps the enforcer's proto-shape result back to `DispatchResponse` (with `meta`)
17
+ * - Ensures `source` and `requestId` are always populated on the returned `meta`
15
18
  *
16
19
  * @param strictMode - When true, blocks operations that violate protocol rules
17
20
  * @returns Middleware function that enforces protocol compliance
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-enforcement.d.ts","sourceRoot":"","sources":["../../../src/dispatch/middleware/protocol-enforcement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmD,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,GAAE,OAAc,GAAG,UAAU,CAqBhF"}
1
+ {"version":3,"file":"protocol-enforcement.d.ts","sourceRoot":"","sources":["../../../src/dispatch/middleware/protocol-enforcement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmD,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,GAAE,OAAc,GAAG,UAAU,CA8BhF"}
@@ -9,9 +9,12 @@ import { ProtocolEnforcer } from '@cleocode/core/internal';
9
9
  * - In strict mode, blocks operations with protocol violations (exit codes 60-70)
10
10
  *
11
11
  * @remarks
12
- * The middleware ensures that DispatchResponse `_meta` fields (source, requestId)
13
- * are always populated, even when ProtocolEnforcer returns a DomainResponse that
14
- * lacks them. This prevents downstream consumers from encountering undefined values.
12
+ * ProtocolEnforcer.enforceProtocol uses the core's proto-shape (`_meta`) while
13
+ * the dispatch layer uses the canonical CLI envelope shape (`meta`). This
14
+ * middleware bridges between the two shapes:
15
+ * - Wraps `next` to map `DispatchResponse.meta` → proto-shape `_meta` for the enforcer
16
+ * - Maps the enforcer's proto-shape result back to `DispatchResponse` (with `meta`)
17
+ * - Ensures `source` and `requestId` are always populated on the returned `meta`
15
18
  *
16
19
  * @param strictMode - When true, blocks operations that violate protocol rules
17
20
  * @returns Middleware function that enforces protocol compliance
@@ -26,20 +29,28 @@ import { ProtocolEnforcer } from '@cleocode/core/internal';
26
29
  export function createProtocolEnforcement(strictMode = true) {
27
30
  const enforcer = new ProtocolEnforcer(strictMode);
28
31
  return async (req, next) => {
29
- const result = await enforcer.enforceProtocol(req, next);
30
- // enforceProtocol may return a DomainResponse (missing source/requestId on _meta)
31
- // when it constructs an error response. Ensure _meta has required DispatchResponse fields.
32
- if (!result._meta.source || !result._meta.requestId) {
33
- return {
34
- ...result,
35
- _meta: {
36
- ...result._meta,
37
- source: result._meta.source ?? req.source,
38
- requestId: result._meta.requestId ?? req.requestId,
39
- },
40
- };
41
- }
42
- return result;
32
+ // Bridge DispatchNext (returns DispatchResponse with `meta`) to the proto-shape
33
+ // expected by ProtocolEnforcer (ProtocolResponse with `_meta`).
34
+ const protoNext = async () => {
35
+ const dispatchResult = await next();
36
+ // Map canonical `meta` → proto-shape `_meta` for the enforcer
37
+ const { meta, ...rest } = dispatchResult;
38
+ return { ...rest, _meta: meta };
39
+ };
40
+ const protoResult = await enforcer.enforceProtocol(req, protoNext);
41
+ // Map proto-shape result back to canonical DispatchResponse shape.
42
+ // enforceProtocol may return a minimal proto-response (missing source/requestId)
43
+ // when it constructs an error response — fill those in from the request.
44
+ const { _meta, ...protoRest } = protoResult;
45
+ const responseMeta = {
46
+ ..._meta,
47
+ source: _meta.source ?? req.source,
48
+ requestId: _meta.requestId ?? req.requestId,
49
+ };
50
+ return {
51
+ ...protoRest,
52
+ meta: responseMeta,
53
+ };
43
54
  };
44
55
  }
45
56
  //# sourceMappingURL=protocol-enforcement.js.map