@bpmsoftwaresolutions/ai-engine-client 1.1.7 → 1.1.9

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/README.md CHANGED
@@ -385,6 +385,8 @@ Low-level compatibility methods:
385
385
  | `submitUxGateRemediation(body)` / `client.loga.submitUxGateRemediation(body)` | `POST /api/loga/ux-gate-remediations` | Create a governed SQL-backed remediation ticket for a UX gate failure. |
386
386
  | `listUxGateRemediations({ projectionType, status })` / `client.loga.listUxGateRemediations(...)` | `GET /api/loga/ux-gate-remediations` | List governed UX gate remediation tickets. |
387
387
  | `getUxGateRemediation(remediationId)` / `client.loga.getUxGateRemediation(...)` | `GET /api/loga/ux-gate-remediations/:remediationId` | Read one governed UX gate remediation ticket. |
388
+ | `promoteUxGateRemediationImplementationCandidate(remediationId, { promotedBy })` / `client.loga.promoteUxGateRemediationImplementationCandidate(...)` | `POST /api/loga/ux-gate-remediations/:remediationId/implementation-candidate` | Promote a governed UX remediation ticket into a durable implementation packet candidate. |
389
+ | `getLogaUxGateRemediationProjection(remediationId)` / `client.loga.getUxGateRemediationProjection(...)` | `GET /api/operator/projections/ux-gate-remediations/:remediationId` | Review a governed UX remediation ticket and its linked implementation candidate as a LOGA runtime document. |
388
390
 
389
391
  These methods return markdown as `text` and expose projection headers as top-level fields plus `provenance`. LOGA should render the markdown emitted by AI Engine and use these metadata fields for contract validation, refresh behavior, evidence display, and action choreography.
390
392
 
@@ -645,6 +647,11 @@ Engine returns the required gate and next action.
645
647
  | `getSelfOptimizationBacklogPosture({ snapshotKey })` | Backlog posture. |
646
648
  | `getSelfOptimizationPendingHandoffs({ downstreamLane })` | Pending handoffs. |
647
649
 
650
+ ### Governance
651
+ | Method | Description |
652
+ |---|---|
653
+ | `getAntiPatternRules()` | SQL-backed governance anti-pattern rules. |
654
+
648
655
  ### Design Intelligence
649
656
  | Method | Description |
650
657
  |---|---|
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bpmsoftwaresolutions/ai-engine-client",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "description": "Thin npm client for the AI Engine operator and retrieval APIs",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
package/src/index.js CHANGED
@@ -111,6 +111,9 @@ export class AIEngineClient {
111
111
  submitUxGateRemediation: (payload) => this.submitUxGateRemediation(payload),
112
112
  listUxGateRemediations: (query) => this.listUxGateRemediations(query),
113
113
  getUxGateRemediation: (remediationId) => this.getUxGateRemediation(remediationId),
114
+ promoteUxGateRemediationImplementationCandidate: (remediationId, payload) =>
115
+ this.promoteUxGateRemediationImplementationCandidate(remediationId, payload),
116
+ getUxGateRemediationProjection: (remediationId) => this.getLogaUxGateRemediationProjection(remediationId),
114
117
  };
115
118
  }
116
119
 
@@ -156,6 +159,10 @@ export class AIEngineClient {
156
159
  });
157
160
  }
158
161
 
162
+ async getAntiPatternRules() {
163
+ return this._request('/api/governance/anti-pattern-rules');
164
+ }
165
+
159
166
  async currentCodebaseShapeStatus() {
160
167
  return this._request('/api/operator/current-codebase-shape-status');
161
168
  }
@@ -904,6 +911,17 @@ export class AIEngineClient {
904
911
  return this._request(`/api/loga/ux-gate-remediations/${remediationId}`);
905
912
  }
906
913
 
914
+ async promoteUxGateRemediationImplementationCandidate(remediationId, { promotedBy } = {}) {
915
+ return this._request(`/api/loga/ux-gate-remediations/${remediationId}/implementation-candidate`, {
916
+ method: 'POST',
917
+ body: { promotedBy },
918
+ });
919
+ }
920
+
921
+ async getLogaUxGateRemediationProjection(remediationId) {
922
+ return this._requestLogaProjection(`/api/operator/projections/ux-gate-remediations/${remediationId}`);
923
+ }
924
+
907
925
  // ─── Roadmaps ──────────────────────────────────────────────────────────────
908
926
 
909
927
  async listProjectRoadmaps({ includeInactive } = {}) {