@bpmsoftwaresolutions/ai-engine-client 1.1.89 → 1.1.91
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/package.json +1 -1
- package/src/client.js +111 -1857
- package/src/domains/actions.js +19 -1
- package/src/domains/benchmarks.js +9 -9
- package/src/domains/capabilities.js +3 -3
- package/src/domains/context-assembly.js +16 -6
- package/src/domains/database.js +136 -7
- package/src/domains/design-intelligence.js +12 -12
- package/src/domains/execution-telemetry.js +14 -4
- package/src/domains/health.js +12 -1
- package/src/domains/loga.js +54 -9
- package/src/domains/notes-lab.js +3 -3
- package/src/domains/operator-status.js +31 -11
- package/src/domains/performance.js +15 -4
- package/src/domains/portfolio.js +6 -2
- package/src/domains/projections.js +65 -9
- package/src/domains/reports.js +16 -1
- package/src/domains/script-discovery.js +8 -5
- package/src/domains/scripts.js +45 -4
- package/src/domains/search-contacts.js +3 -3
- package/src/domains/self-learning.js +29 -6
- package/src/domains/self-optimization.js +15 -4
- package/src/domains/skill-governance.js +5 -3
- package/src/domains/skills.js +22 -9
- package/src/domains/tool-registry.js +18 -10
- package/src/domains/warehouse.js +2 -0
- package/src/index.js +1 -1
package/src/client.js
CHANGED
|
@@ -345,251 +345,6 @@ export class AIEngineClient {
|
|
|
345
345
|
|
|
346
346
|
// ─── Health ────────────────────────────────────────────────────────────────
|
|
347
347
|
|
|
348
|
-
async ping() {
|
|
349
|
-
const [health, workflow] = await Promise.all([
|
|
350
|
-
this._request('/healthz'),
|
|
351
|
-
this.currentWorkflowStatus(),
|
|
352
|
-
]);
|
|
353
|
-
return {
|
|
354
|
-
status: health.status || 'ok',
|
|
355
|
-
workflow_name: workflow?.summary?.workflow_name || null,
|
|
356
|
-
run_status: workflow?.summary?.run_status || null,
|
|
357
|
-
base_url: this.baseUrl,
|
|
358
|
-
};
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
// ─── Operator Status ───────────────────────────────────────────────────────
|
|
362
|
-
|
|
363
|
-
async currentWorkflowStatus() {
|
|
364
|
-
return this._request('/api/operator/current-workflow-status');
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
async currentArchitectureIntegrityStatus() {
|
|
368
|
-
return this._request('/api/operator/current-architecture-integrity-status');
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
async currentSecurityGovernanceStatus({ environment, topN } = {}) {
|
|
372
|
-
return this._request('/api/operator/current-security-governance-status', {
|
|
373
|
-
query: { environment, top_n: topN },
|
|
374
|
-
});
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
async getExecutionTelemetryCurrent() {
|
|
378
|
-
return this._request('/api/operator/execution-telemetry/current');
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
async listExecutionProcessRuns({ limit, artifactKind, status, since } = {}) {
|
|
382
|
-
return this._request('/api/operator/execution-telemetry/process-runs', {
|
|
383
|
-
query: { limit, artifact_kind: artifactKind, status, since },
|
|
384
|
-
});
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
async getExecutionProcessRun(processRunId) {
|
|
388
|
-
return this._request(`/api/operator/execution-telemetry/process-runs/${processRunId}`);
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
async getGeneratedExecutionUsability({ artifactPath, limit } = {}) {
|
|
392
|
-
return this._request('/api/operator/generated-execution-usability', {
|
|
393
|
-
query: { artifact_path: artifactPath, limit },
|
|
394
|
-
});
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
async getLogaGeneratedExecutionUsabilityProjection({ artifactPath, limit } = {}) {
|
|
398
|
-
return this._requestLogaProjection('/api/loga/ai-engine/generated-execution-usability', {
|
|
399
|
-
query: { artifact_path: artifactPath, limit },
|
|
400
|
-
});
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
async getAntiPatternRules() {
|
|
404
|
-
return this._request('/api/governance/anti-pattern-rules');
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
async currentCodebaseShapeStatus() {
|
|
408
|
-
return this._request('/api/operator/current-codebase-shape-status');
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
async getLatestMemoryProjection() {
|
|
412
|
-
return this._request('/api/v1/latest-memory-projection');
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
// ─── Data Access Gateway ──────────────────────────────────────────────────
|
|
416
|
-
|
|
417
|
-
async query({
|
|
418
|
-
surface,
|
|
419
|
-
contractKey,
|
|
420
|
-
parameters = {},
|
|
421
|
-
fields = [],
|
|
422
|
-
fieldAllowlist = [],
|
|
423
|
-
actorScopes = [],
|
|
424
|
-
requiredScopes = [],
|
|
425
|
-
shape = 'json',
|
|
426
|
-
requestedBy,
|
|
427
|
-
} = {}) {
|
|
428
|
-
const normalizedSurface = cleanText(surface) || cleanText(contractKey);
|
|
429
|
-
if (!normalizedSurface) {
|
|
430
|
-
throw new Error('surface is required.');
|
|
431
|
-
}
|
|
432
|
-
const normalizedShape = cleanText(shape) || 'json';
|
|
433
|
-
if (!['json', 'table', 'cards', 'markdown'].includes(normalizedShape)) {
|
|
434
|
-
throw new Error('shape must be one of json, table, cards, or markdown.');
|
|
435
|
-
}
|
|
436
|
-
const normalizedFields = cleanList(fields);
|
|
437
|
-
const normalizedAllowlist = cleanList(fieldAllowlist);
|
|
438
|
-
const disallowedFields = normalizedFields.filter((field) => !normalizedAllowlist.includes(field));
|
|
439
|
-
if (normalizedAllowlist.length > 0 && disallowedFields.length > 0) {
|
|
440
|
-
throw new Error(`Requested fields are not allowed: ${disallowedFields.join(', ')}.`);
|
|
441
|
-
}
|
|
442
|
-
const normalizedActorScopes = cleanList(actorScopes);
|
|
443
|
-
const normalizedRequiredScopes = cleanList(requiredScopes);
|
|
444
|
-
const missingScopes = normalizedRequiredScopes.filter((scope) => !normalizedActorScopes.includes(scope));
|
|
445
|
-
if (missingScopes.length > 0) {
|
|
446
|
-
throw new Error(`Missing required scopes: ${missingScopes.join(', ')}.`);
|
|
447
|
-
}
|
|
448
|
-
return this._request('/api/gateway/query', {
|
|
449
|
-
method: 'POST',
|
|
450
|
-
body: {
|
|
451
|
-
surface: normalizedSurface,
|
|
452
|
-
parameters: isPlainObject(parameters) ? parameters : {},
|
|
453
|
-
fields: normalizedFields,
|
|
454
|
-
field_allowlist: normalizedAllowlist,
|
|
455
|
-
actor_scopes: normalizedActorScopes,
|
|
456
|
-
required_scopes: normalizedRequiredScopes,
|
|
457
|
-
shape: normalizedShape,
|
|
458
|
-
requested_by: cleanText(requestedBy),
|
|
459
|
-
},
|
|
460
|
-
});
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
async runReportDefinition({ reportKey, definition = {}, requestedBy } = {}) {
|
|
464
|
-
return this.reports.run({ reportKey, definition, requestedBy });
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
async renderProjection({ projectionType, viewContract = {}, requestedBy } = {}) {
|
|
468
|
-
const normalizedProjectionType = cleanText(projectionType);
|
|
469
|
-
if (!normalizedProjectionType) {
|
|
470
|
-
throw new Error('projectionType is required.');
|
|
471
|
-
}
|
|
472
|
-
return this._request('/api/gateway/projections/render', {
|
|
473
|
-
method: 'POST',
|
|
474
|
-
body: {
|
|
475
|
-
projection_type: normalizedProjectionType,
|
|
476
|
-
view_contract: isPlainObject(viewContract) ? viewContract : {},
|
|
477
|
-
requested_by: cleanText(requestedBy),
|
|
478
|
-
},
|
|
479
|
-
});
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
async submitActionIntent({ action, target = {}, payload = {}, requiredScope, requestedBy } = {}) {
|
|
483
|
-
const normalizedAction = cleanText(action);
|
|
484
|
-
if (!normalizedAction) {
|
|
485
|
-
throw new Error('action is required.');
|
|
486
|
-
}
|
|
487
|
-
return this._request('/api/gateway/actions/submit', {
|
|
488
|
-
method: 'POST',
|
|
489
|
-
body: {
|
|
490
|
-
action: normalizedAction,
|
|
491
|
-
target: isPlainObject(target) ? target : {},
|
|
492
|
-
payload: isPlainObject(payload) ? payload : {},
|
|
493
|
-
required_scope: cleanText(requiredScope) || 'ai-engine.write',
|
|
494
|
-
requested_by: cleanText(requestedBy),
|
|
495
|
-
},
|
|
496
|
-
});
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
async getCommunicationCapabilities() {
|
|
500
|
-
return this._request('/api/agent-communications/capabilities');
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
async getCollaborationCapabilities() {
|
|
504
|
-
return this._request('/api/agent-communications/collaboration-capabilities');
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
async getDeploymentCapabilities() {
|
|
508
|
-
return this._request('/api/agent-communications/deployment-capabilities');
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
async checkCoordinationPingPongPreflight({
|
|
512
|
-
packageVersion,
|
|
513
|
-
} = {}) {
|
|
514
|
-
return this.pingPong.checkCoordinationPingPongPreflight({ packageVersion });
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
async listCommunicationChannels(request = {}) {
|
|
518
|
-
return this.transferChannels.listCommunicationChannels(request);
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
async listOpenCommunicationChannels(request = {}) {
|
|
522
|
-
return this.transferChannels.listOpenCommunicationChannels(request);
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
async getCommunicationChannelStatus(request = {}) {
|
|
526
|
-
return this.transferChannels.getCommunicationChannelStatus(request);
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
async getCommunicationChannelParticipants(request = {}) {
|
|
530
|
-
return this.transferChannels.getCommunicationChannelParticipants(request);
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
async getPresenceBoard(request = {}) {
|
|
534
|
-
return this.presence.getPresenceBoard(request);
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
async getChannelPresence(request = {}) {
|
|
538
|
-
return this.presence.getChannelPresence(request);
|
|
539
|
-
}
|
|
540
|
-
|
|
541
|
-
async markParticipantOnline(request = {}) {
|
|
542
|
-
return this.presence.markParticipantOnline(request);
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
async markParticipantOffline(request = {}) {
|
|
546
|
-
return this.presence.markParticipantOffline(request);
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
async reviewCollaborationProposal(request = {}) {
|
|
550
|
-
return this.collaborationDomain.reviewCollaborationProposal(request);
|
|
551
|
-
}
|
|
552
|
-
|
|
553
|
-
async connectToTransferChannel(request = {}) {
|
|
554
|
-
return this.transferChannels.connectToTransferChannel(request);
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
async openAgentChannel(request = {}) {
|
|
558
|
-
return this.transferChannels.openAgentChannel(request);
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
async openTransferChannel(request = {}) {
|
|
562
|
-
return this.transferChannels.openTransferChannel(request);
|
|
563
|
-
}
|
|
564
|
-
|
|
565
|
-
async joinTransferChannel(request = {}) {
|
|
566
|
-
return this.transferChannels.joinTransferChannel(request);
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
async resumeTransferChannel(request = {}) {
|
|
570
|
-
return this.transferChannels.resumeTransferChannel(request);
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
async postCollaborationHeartbeat(request = {}) {
|
|
574
|
-
return this.transferChannels.postAgentHeartbeat(request);
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
async replyToTransferChannel(request = {}) {
|
|
578
|
-
return this.transferChannels.replyToTransferChannel(request);
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
async startMessageWatch(request = {}) {
|
|
582
|
-
return this.messageWatch.startMessageWatch(request);
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
async acknowledgeExpectedMessage(request = {}) {
|
|
586
|
-
return this.messageWatch.acknowledgeExpectedMessage(request);
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
async closeTransferChannel(request = {}) {
|
|
590
|
-
return this.transferChannels.closeTransferChannel(request);
|
|
591
|
-
}
|
|
592
|
-
|
|
593
348
|
async startAgentConnection({
|
|
594
349
|
workflowRunId,
|
|
595
350
|
workflow_run_id,
|
|
@@ -2936,301 +2691,16 @@ export class AIEngineClient {
|
|
|
2936
2691
|
});
|
|
2937
2692
|
}
|
|
2938
2693
|
|
|
2939
|
-
async
|
|
2940
|
-
return this.
|
|
2941
|
-
query: { project_id: projectId },
|
|
2942
|
-
});
|
|
2943
|
-
}
|
|
2944
|
-
|
|
2945
|
-
async createDatabaseBackup({ databaseName, outputName, noWait } = {}) {
|
|
2946
|
-
return this._request('/api/operator/database/backups', {
|
|
2947
|
-
method: 'POST',
|
|
2948
|
-
body: {
|
|
2949
|
-
database_name: databaseName,
|
|
2950
|
-
output_name: outputName,
|
|
2951
|
-
no_wait: noWait,
|
|
2952
|
-
},
|
|
2953
|
-
});
|
|
2954
|
-
}
|
|
2955
|
-
|
|
2956
|
-
async listDatabaseBackups({ prefix, limit } = {}) {
|
|
2957
|
-
return this._request('/api/operator/database/backups', {
|
|
2958
|
-
query: {
|
|
2959
|
-
prefix,
|
|
2960
|
-
limit,
|
|
2961
|
-
},
|
|
2962
|
-
});
|
|
2963
|
-
}
|
|
2964
|
-
|
|
2965
|
-
async getDatabaseBackup({ backupId } = {}) {
|
|
2966
|
-
return this._request(`/api/operator/database/backups/${encodeURIComponent(backupId)}`);
|
|
2967
|
-
}
|
|
2968
|
-
|
|
2969
|
-
async listDatabaseBackupOperations({ databaseName, operationFilter, limit } = {}) {
|
|
2970
|
-
return this._request('/api/operator/database/backups/operations', {
|
|
2971
|
-
query: {
|
|
2972
|
-
database_name: databaseName,
|
|
2973
|
-
operation_filter: operationFilter,
|
|
2974
|
-
limit,
|
|
2975
|
-
},
|
|
2976
|
-
});
|
|
2977
|
-
}
|
|
2978
|
-
|
|
2979
|
-
async runAzureSqlBacpacBackup({
|
|
2980
|
-
databaseName,
|
|
2981
|
-
storageAccount,
|
|
2982
|
-
container,
|
|
2983
|
-
resourceGroup,
|
|
2984
|
-
serverName,
|
|
2985
|
-
outputName,
|
|
2986
|
-
adminUser,
|
|
2987
|
-
adminPassword,
|
|
2988
|
-
subscription,
|
|
2989
|
-
storageKey,
|
|
2990
|
-
skipContainerCreate,
|
|
2991
|
-
noWait,
|
|
2992
|
-
} = {}) {
|
|
2993
|
-
return this._request('/api/operator/database/backups/azure-sql-bacpac', {
|
|
2994
|
-
method: 'POST',
|
|
2995
|
-
body: {
|
|
2996
|
-
database_name: databaseName,
|
|
2997
|
-
storage_account: storageAccount,
|
|
2998
|
-
container,
|
|
2999
|
-
resource_group: resourceGroup,
|
|
3000
|
-
server_name: serverName,
|
|
3001
|
-
output_name: outputName,
|
|
3002
|
-
admin_user: adminUser,
|
|
3003
|
-
admin_password: adminPassword,
|
|
3004
|
-
subscription,
|
|
3005
|
-
storage_key: storageKey,
|
|
3006
|
-
skip_container_create: skipContainerCreate,
|
|
3007
|
-
no_wait: noWait,
|
|
3008
|
-
},
|
|
3009
|
-
});
|
|
3010
|
-
}
|
|
3011
|
-
|
|
3012
|
-
async listAzureSqlBacpacBackups({
|
|
3013
|
-
storageAccount,
|
|
3014
|
-
container,
|
|
3015
|
-
resourceGroup,
|
|
3016
|
-
serverName,
|
|
3017
|
-
subscription,
|
|
3018
|
-
storageKey,
|
|
3019
|
-
prefix,
|
|
3020
|
-
limit,
|
|
3021
|
-
} = {}) {
|
|
3022
|
-
return this._request('/api/operator/database/backups/azure-sql-bacpac', {
|
|
3023
|
-
query: {
|
|
3024
|
-
storage_account: storageAccount,
|
|
3025
|
-
container,
|
|
3026
|
-
resource_group: resourceGroup,
|
|
3027
|
-
server_name: serverName,
|
|
3028
|
-
subscription,
|
|
3029
|
-
storage_key: storageKey,
|
|
3030
|
-
prefix,
|
|
3031
|
-
limit,
|
|
3032
|
-
},
|
|
3033
|
-
});
|
|
3034
|
-
}
|
|
3035
|
-
|
|
3036
|
-
async listAzureSqlBacpacBackupOperations({
|
|
3037
|
-
databaseName,
|
|
3038
|
-
resourceGroup,
|
|
3039
|
-
serverName,
|
|
3040
|
-
subscription,
|
|
3041
|
-
operationFilter,
|
|
3042
|
-
limit,
|
|
3043
|
-
} = {}) {
|
|
3044
|
-
return this._request('/api/operator/database/backups/azure-sql-bacpac/operations', {
|
|
3045
|
-
query: {
|
|
3046
|
-
database_name: databaseName,
|
|
3047
|
-
resource_group: resourceGroup,
|
|
3048
|
-
server_name: serverName,
|
|
3049
|
-
subscription,
|
|
3050
|
-
operation_filter: operationFilter,
|
|
3051
|
-
limit,
|
|
3052
|
-
},
|
|
3053
|
-
});
|
|
3054
|
-
}
|
|
3055
|
-
|
|
3056
|
-
async getDashboard() {
|
|
3057
|
-
return this._request('/api/dashboard');
|
|
3058
|
-
}
|
|
3059
|
-
|
|
3060
|
-
async startSessionGovernance(request = {}) {
|
|
3061
|
-
return this.sessionGovernance.startSessionGovernance(request);
|
|
3062
|
-
}
|
|
3063
|
-
|
|
3064
|
-
async startReviewGovernance(request = {}) {
|
|
3065
|
-
return this.sessionGovernance.startReviewGovernance(request);
|
|
3066
|
-
}
|
|
3067
|
-
|
|
3068
|
-
async startWork(body = {}) {
|
|
3069
|
-
return this.workStart.startWork(body);
|
|
3070
|
-
}
|
|
3071
|
-
|
|
3072
|
-
async startClaimedWork(request = {}) {
|
|
3073
|
-
return this.workStart.startClaimedWork(request);
|
|
3074
|
-
}
|
|
3075
|
-
|
|
3076
|
-
async claimWorkItem(body = {}) {
|
|
3077
|
-
return this.workStart.claimWorkItem(body);
|
|
3078
|
-
}
|
|
3079
|
-
|
|
3080
|
-
async bindClaimedWorkItem(request = {}) {
|
|
3081
|
-
return this.workStart.bindClaimedWorkItem(request);
|
|
3082
|
-
}
|
|
3083
|
-
|
|
3084
|
-
async getClaim(claimId) {
|
|
3085
|
-
return this.claims.getClaim(claimId);
|
|
3086
|
-
}
|
|
3087
|
-
|
|
3088
|
-
async claimIsValid(claimId) {
|
|
3089
|
-
return this.claims.claimIsValid(claimId);
|
|
3090
|
-
}
|
|
3091
|
-
|
|
3092
|
-
async getExecutionEligibility(body = {}) {
|
|
3093
|
-
return this.executionEligibility.getExecutionEligibility(body);
|
|
3094
|
-
}
|
|
3095
|
-
|
|
3096
|
-
async signoffClaim(claimId, body = {}) {
|
|
3097
|
-
return this.claims.signoffClaim(claimId, body);
|
|
3098
|
-
}
|
|
3099
|
-
|
|
3100
|
-
/**
|
|
3101
|
-
* Promote a governance claim from `missing_promoted_surface` to
|
|
3102
|
-
* `promoted_surface_bound` by binding required tool definitions to the
|
|
3103
|
-
* workflow and recording a completed claim signoff.
|
|
3104
|
-
*
|
|
3105
|
-
* @param {object} params
|
|
3106
|
-
* @param {string} params.claimId - UUID of the claim to unblock.
|
|
3107
|
-
* @param {string} params.workflowId - UUID of the target workflow.
|
|
3108
|
-
* @param {string} params.contextSessionId - Oriented context session UUID.
|
|
3109
|
-
* @param {string} params.actorId - Caller identity for audit trail.
|
|
3110
|
-
* @param {string[]} params.requiredToolKeys - Tool keys to bind.
|
|
3111
|
-
* @param {string} [params.intentId] - Default: 'code_mutation'.
|
|
3112
|
-
* @param {string} [params.bindingScope] - Default: 'required'.
|
|
3113
|
-
* @param {string} [params.usageMode] - Default: 'manual'.
|
|
3114
|
-
* @param {string} [params.operatorScope]
|
|
3115
|
-
* @param {object} [params.allowedArgumentPolicy]
|
|
3116
|
-
* @returns {Promise<object>} Promotion result envelope.
|
|
3117
|
-
*/
|
|
3118
|
-
async promoteClaimSurface({
|
|
3119
|
-
claimId,
|
|
3120
|
-
workflowId,
|
|
3121
|
-
contextSessionId,
|
|
3122
|
-
actorId,
|
|
3123
|
-
requiredToolKeys,
|
|
3124
|
-
intentId,
|
|
3125
|
-
bindingScope,
|
|
3126
|
-
usageMode,
|
|
3127
|
-
operatorScope,
|
|
3128
|
-
allowedArgumentPolicy,
|
|
3129
|
-
...rest
|
|
3130
|
-
} = {}) {
|
|
3131
|
-
if (!claimId) throw new Error('claimId is required.');
|
|
3132
|
-
if (!workflowId) throw new Error('workflowId is required.');
|
|
3133
|
-
if (!contextSessionId) throw new Error('contextSessionId is required.');
|
|
3134
|
-
if (!actorId) throw new Error('actorId is required.');
|
|
3135
|
-
if (!Array.isArray(requiredToolKeys) || requiredToolKeys.length === 0) {
|
|
3136
|
-
throw new Error('requiredToolKeys must be a non-empty array.');
|
|
3137
|
-
}
|
|
3138
|
-
return this._request('/api/governance/claims/promote-surface', {
|
|
3139
|
-
method: 'POST',
|
|
3140
|
-
body: {
|
|
3141
|
-
...rest,
|
|
3142
|
-
claim_id: claimId,
|
|
3143
|
-
workflow_id: workflowId,
|
|
3144
|
-
context_session_id: contextSessionId,
|
|
3145
|
-
actor_id: actorId,
|
|
3146
|
-
required_tool_keys: requiredToolKeys,
|
|
3147
|
-
intent_id: intentId,
|
|
3148
|
-
binding_scope: bindingScope,
|
|
3149
|
-
usage_mode: usageMode,
|
|
3150
|
-
operator_scope: operatorScope,
|
|
3151
|
-
allowed_argument_policy: allowedArgumentPolicy,
|
|
3152
|
-
},
|
|
3153
|
-
});
|
|
3154
|
-
}
|
|
3155
|
-
|
|
3156
|
-
/**
|
|
3157
|
-
* Bootstrap/admin surface for creating a governed workflow-tool-binding
|
|
3158
|
-
* approval lane request. This call cannot approve or execute bindings.
|
|
3159
|
-
*
|
|
3160
|
-
* @param {object} params
|
|
3161
|
-
* @param {string} params.operatorActorType
|
|
3162
|
-
* @param {string} params.requesterActor
|
|
3163
|
-
* @param {string[]} params.requestedToolKeys
|
|
3164
|
-
* @param {string} params.blockedReason
|
|
3165
|
-
* @param {string} params.rollbackPlan
|
|
3166
|
-
* @param {string} [params.requesterActorType]
|
|
3167
|
-
* @param {string} [params.operatorActorId]
|
|
3168
|
-
* @param {string} [params.targetWorkflowId]
|
|
3169
|
-
* @param {string} [params.targetWorkflowRunId]
|
|
3170
|
-
* @param {string[]} [params.relatedGapRecordIds]
|
|
3171
|
-
* @param {string} [params.requestedBindingScope]
|
|
3172
|
-
* @param {string} [params.riskClassification]
|
|
3173
|
-
* @param {object} [params.metadata]
|
|
3174
|
-
* @returns {Promise<object>}
|
|
3175
|
-
*/
|
|
3176
|
-
async createWorkflowToolBindingApprovalLane(request = {}) {
|
|
3177
|
-
return this.toolBindingApprovals.createWorkflowToolBindingApprovalLane(request);
|
|
3178
|
-
}
|
|
3179
|
-
|
|
3180
|
-
async recordWorkflowToolBindingApprovalDecision(approvalRequestId, request = {}) {
|
|
3181
|
-
return this.toolBindingApprovals.recordWorkflowToolBindingApprovalDecision(approvalRequestId, request);
|
|
3182
|
-
}
|
|
3183
|
-
|
|
3184
|
-
async executeWorkflowToolBindingApprovalBinding(approvalRequestId, request = {}) {
|
|
3185
|
-
return this.toolBindingApprovals.executeWorkflowToolBindingApprovalBinding(approvalRequestId, request);
|
|
3186
|
-
}
|
|
3187
|
-
|
|
3188
|
-
async revalidateWorkflowToolBindingStartup(approvalRequestId, request = {}) {
|
|
3189
|
-
return this.toolBindingApprovals.revalidateWorkflowToolBindingStartup(approvalRequestId, request);
|
|
3190
|
-
}
|
|
3191
|
-
|
|
3192
|
-
async completeTurn(body = {}) {
|
|
3193
|
-
return this.workflowTurns.completeTurn(body);
|
|
3194
|
-
}
|
|
3195
|
-
|
|
3196
|
-
async evaluateTurnCompliance(sessionId) {
|
|
3197
|
-
return this.sessionGovernance.evaluateTurnCompliance(sessionId);
|
|
3198
|
-
}
|
|
3199
|
-
|
|
3200
|
-
async blockIfNonCompliant(sessionId) {
|
|
3201
|
-
return this.sessionGovernance.blockIfNonCompliant(sessionId);
|
|
2694
|
+
async getPortfolioClosureReadiness(...args) {
|
|
2695
|
+
return this.portfolio.getPortfolioClosureReadiness(...args);
|
|
3202
2696
|
}
|
|
3203
2697
|
|
|
3204
|
-
async
|
|
3205
|
-
return this.
|
|
2698
|
+
async getPortfolioStatus(...args) {
|
|
2699
|
+
return this.portfolio.getPortfolioStatus(...args);
|
|
3206
2700
|
}
|
|
3207
2701
|
|
|
3208
|
-
async
|
|
3209
|
-
return this.
|
|
3210
|
-
}
|
|
3211
|
-
|
|
3212
|
-
async approveProjectCharterIntent(projectId, body = {}) {
|
|
3213
|
-
return this.projectChartering.approveProjectCharterIntent(projectId, body);
|
|
3214
|
-
}
|
|
3215
|
-
|
|
3216
|
-
async approveImplementationRoadmap(projectId, body = {}) {
|
|
3217
|
-
return this.projectChartering.approveImplementationRoadmap(projectId, body);
|
|
3218
|
-
}
|
|
3219
|
-
|
|
3220
|
-
async runProjectCharter(projectId, body = {}) {
|
|
3221
|
-
return this.projectChartering.runProjectCharter(projectId, body);
|
|
3222
|
-
}
|
|
3223
|
-
|
|
3224
|
-
async beginImplementationRoadmap(projectId, body = {}) {
|
|
3225
|
-
return this.projectChartering.beginImplementationRoadmap(projectId, body);
|
|
3226
|
-
}
|
|
3227
|
-
|
|
3228
|
-
async routeImplementationItem(implementationItemId, body = {}) {
|
|
3229
|
-
return this.projectChartering.routeImplementationItem(implementationItemId, body);
|
|
3230
|
-
}
|
|
3231
|
-
|
|
3232
|
-
async persistAssistantTurn(body) {
|
|
3233
|
-
return this.workflowTurns.persistAssistantTurn(body);
|
|
2702
|
+
async getPortfolioBundle() {
|
|
2703
|
+
return this.portfolio.getPortfolioBundle();
|
|
3234
2704
|
}
|
|
3235
2705
|
|
|
3236
2706
|
async getExternalProjectStatus(projectId) {
|
|
@@ -3284,1345 +2754,129 @@ export class AIEngineClient {
|
|
|
3284
2754
|
return this._requestBinary(`/api/v1/runs/${workflowRunId}/artifacts/${artifactType}/download`);
|
|
3285
2755
|
}
|
|
3286
2756
|
|
|
3287
|
-
// ───
|
|
3288
|
-
|
|
3289
|
-
async getCommandCard({ commandKey, alias, intentText, requestedBy } = {}) {
|
|
3290
|
-
return this.retrievalWrapper.getCommandCard({ commandKey, alias, intentText, requestedBy });
|
|
3291
|
-
}
|
|
3292
|
-
|
|
3293
|
-
async resolveOperatingProcedure({ procedureKey, intentText, requestedBy } = {}) {
|
|
3294
|
-
return this.retrievalWrapper.resolveOperatingProcedure({ procedureKey, intentText, requestedBy });
|
|
3295
|
-
}
|
|
3296
|
-
|
|
3297
|
-
async getSymbolDefinition({ symbolKey, qualifiedName, symbolName, projectScope, includeCode = true, maxLines = 120, requestedBy } = {}) {
|
|
3298
|
-
return this.retrievalWrapper.getSymbolDefinition({ symbolKey, qualifiedName, symbolName, projectScope, includeCode, maxLines, requestedBy });
|
|
3299
|
-
}
|
|
3300
|
-
|
|
3301
|
-
async getRelatedCode({ symbolKey, qualifiedName, relationshipType, depth = 1, includeCode = false, maxLines = 80, requestedBy } = {}) {
|
|
3302
|
-
return this.retrievalWrapper.getRelatedCode({ symbolKey, qualifiedName, relationshipType, depth, includeCode, maxLines, requestedBy });
|
|
3303
|
-
}
|
|
3304
|
-
|
|
3305
|
-
// ─── Repo Inventory ───────────────────────────────────────────────────────
|
|
3306
|
-
|
|
3307
|
-
async listRepositories({ limit } = {}) {
|
|
3308
|
-
return this.repo.listRepositories({ limit });
|
|
3309
|
-
}
|
|
3310
|
-
|
|
3311
|
-
async getRepository(repositoryId) {
|
|
3312
|
-
return this.repo.getRepository(repositoryId);
|
|
3313
|
-
}
|
|
3314
|
-
|
|
3315
|
-
async listProjects({ repositoryId, repoKey, limit } = {}) {
|
|
3316
|
-
return this.repo.listProjects({ repositoryId, repoKey, limit });
|
|
3317
|
-
}
|
|
3318
|
-
|
|
3319
|
-
async getProject(projectId) {
|
|
3320
|
-
return this.repo.getProject(projectId);
|
|
3321
|
-
}
|
|
3322
|
-
|
|
3323
|
-
async listCodeFiles({ repositoryId, projectId, language, pathPrefix, page = 1, pageSize = 50 } = {}) {
|
|
3324
|
-
return this.repo.listCodeFiles({ repositoryId, projectId, language, pathPrefix, page, pageSize });
|
|
3325
|
-
}
|
|
3326
|
-
|
|
3327
|
-
async getCodeFile(fileId) {
|
|
3328
|
-
return this.repo.getCodeFile(fileId);
|
|
3329
|
-
}
|
|
3330
|
-
|
|
3331
|
-
async getCodeFileContentWindow(fileId, { startLine = 1, endLine } = {}) {
|
|
3332
|
-
return this.repo.getCodeFileContentWindow(fileId, { startLine, endLine });
|
|
3333
|
-
}
|
|
2757
|
+
// ─── Core HTTP ─────────────────────────────────────────────────────────────
|
|
3334
2758
|
|
|
3335
|
-
async
|
|
3336
|
-
return this
|
|
2759
|
+
async _resolveAccessToken() {
|
|
2760
|
+
return resolveAccessToken(this);
|
|
3337
2761
|
}
|
|
3338
2762
|
|
|
3339
|
-
async
|
|
3340
|
-
return this
|
|
2763
|
+
async _buildHeaders({ headers, body, accept }) {
|
|
2764
|
+
return buildHeaders(this, { headers, body, accept });
|
|
3341
2765
|
}
|
|
3342
2766
|
|
|
3343
|
-
async
|
|
3344
|
-
return this.
|
|
2767
|
+
async _assertExecutionEligibility(body = {}) {
|
|
2768
|
+
return this.executionEligibility._assertExecutionEligibility(body);
|
|
3345
2769
|
}
|
|
3346
2770
|
|
|
3347
|
-
async
|
|
3348
|
-
return this
|
|
2771
|
+
async _request(path, { method = 'GET', query, headers, body } = {}) {
|
|
2772
|
+
return requestJson(this, path, { method, query, headers, body });
|
|
3349
2773
|
}
|
|
3350
2774
|
|
|
3351
|
-
async
|
|
3352
|
-
return this
|
|
2775
|
+
async _requestText(path, { method = 'GET', query, headers, body } = {}) {
|
|
2776
|
+
return requestText(this, path, { method, query, headers, body });
|
|
3353
2777
|
}
|
|
3354
2778
|
|
|
3355
|
-
async
|
|
3356
|
-
return this
|
|
2779
|
+
async _requestLogaProjection(path, options = {}) {
|
|
2780
|
+
return requestLogaProjection(this, path, options);
|
|
3357
2781
|
}
|
|
3358
2782
|
|
|
3359
|
-
async
|
|
3360
|
-
return this
|
|
2783
|
+
async _requestBinary(path, { method = 'GET', query, headers, body } = {}) {
|
|
2784
|
+
return requestBinary(this, path, { method, query, headers, body });
|
|
3361
2785
|
}
|
|
2786
|
+
}
|
|
3362
2787
|
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
2788
|
+
export function createAIEngineClient(options) {
|
|
2789
|
+
return new AIEngineClient(options);
|
|
2790
|
+
}
|
|
3366
2791
|
|
|
3367
|
-
|
|
3368
|
-
|
|
2792
|
+
function defineCompatibilityMethods(proto, targetName, methodNames) {
|
|
2793
|
+
for (const methodName of methodNames) {
|
|
2794
|
+
if (Object.prototype.hasOwnProperty.call(proto, methodName)) continue;
|
|
2795
|
+
Object.defineProperty(proto, methodName, {
|
|
2796
|
+
value: function delegatedClientMethod(...args) {
|
|
2797
|
+
return this[targetName][methodName](...args);
|
|
2798
|
+
},
|
|
2799
|
+
configurable: true,
|
|
2800
|
+
writable: true,
|
|
2801
|
+
});
|
|
3369
2802
|
}
|
|
2803
|
+
}
|
|
3370
2804
|
|
|
3371
|
-
|
|
3372
|
-
|
|
2805
|
+
function defineCompatibilityAliases(proto, targetName, methodMap) {
|
|
2806
|
+
for (const [methodName, targetMethodName] of Object.entries(methodMap)) {
|
|
2807
|
+
if (Object.prototype.hasOwnProperty.call(proto, methodName)) continue;
|
|
2808
|
+
Object.defineProperty(proto, methodName, {
|
|
2809
|
+
value: function delegatedClientMethod(...args) {
|
|
2810
|
+
return this[targetName][targetMethodName](...args);
|
|
2811
|
+
},
|
|
2812
|
+
configurable: true,
|
|
2813
|
+
writable: true,
|
|
2814
|
+
});
|
|
3373
2815
|
}
|
|
2816
|
+
}
|
|
3374
2817
|
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
|
|
2818
|
+
function installClientCompatibilityDelegates(ClientClass) {
|
|
2819
|
+
const proto = ClientClass.prototype;
|
|
2820
|
+
defineCompatibilityMethods(proto, 'health', ['ping']);
|
|
2821
|
+
defineCompatibilityMethods(proto, 'operatorStatus', ['currentWorkflowStatus', 'getCurrentWorkflowStatus', 'currentArchitectureIntegrityStatus', 'getCurrentArchitectureIntegrityStatus', 'currentSecurityGovernanceStatus', 'getCurrentSecurityGovernanceStatus', 'getExecutionTelemetryCurrent', 'listExecutionProcessRuns', 'getExecutionProcessRun', 'getGeneratedExecutionUsability', 'getLogaGeneratedExecutionUsabilityProjection', 'getAntiPatternRules', 'currentCodebaseShapeStatus', 'getLatestMemoryProjection', 'currentProjectStatus', 'getDashboard', 'getCommunicationCapabilities', 'getCollaborationCapabilities', 'getDeploymentCapabilities']);
|
|
2822
|
+
defineCompatibilityMethods(proto, 'database', ['query', 'createDatabaseBackup', 'listDatabaseBackups', 'getDatabaseBackup', 'listDatabaseBackupOperations', 'runAzureSqlBacpacBackup', 'listAzureSqlBacpacBackups', 'listAzureSqlBacpacBackupOperations']);
|
|
2823
|
+
defineCompatibilityMethods(proto, 'reports', ['runReport', 'runReportDefinition']);
|
|
2824
|
+
defineCompatibilityMethods(proto, 'retrievalWrapper', ['getCommandCard', 'resolveOperatingProcedure', 'getSymbolDefinition', 'getRelatedCode']);
|
|
2825
|
+
defineCompatibilityMethods(proto, 'repo', ['listRepositories', 'getRepository', 'listCodeFiles', 'getCodeFile', 'getCodeFileContentWindow', 'listCodeSymbolsByFile', 'getCodeSymbol', 'searchSymbols', 'getSymbolRelationships', 'listCodeRelationships', 'listActionObservations', 'listCodebaseShapeFindings', 'listObjectFlowObservations', 'getChangeAnalysis', 'listRefactorCandidates', 'analyzeRefactorCandidate', 'getRepoRetrievalPacket', 'getRepoRetrievalPacketFragments', 'evaluateProposalScope']);
|
|
2826
|
+
defineCompatibilityMethods(proto, 'retrievalManagement', ['getRetrievalStatus', 'getRetrievalProfileMetrics', 'getRetrievalFeedbackMetrics', 'getRetrievalQuery', 'getRetrievalPacket', 'generateRetrievalCandidates', 'selectRetrievalPacket', 'recordRetrievalFeedback', 'deriveRetrievalOptimizationCandidates', 'validatePromptAssembly']);
|
|
2827
|
+
defineCompatibilityMethods(proto, 'workflows', ['listWorkflows', 'createWorkflow', 'getWorkflow', 'replaceWorkflowSteps', 'publishWorkflow', 'cloneWorkflow', 'evaluateWorkflowGovernance', 'listWorkflowGovernanceDecisions', 'getWorkflowGovernanceSimulation', 'listWorkflowGovernanceBundles', 'listWorkflowGovernanceApprovals', 'listWorkflowGovernanceEvents', 'getWorkflowGovernanceReview', 'createWorkflowGovernanceReviewDecision', 'createWorkflowRun', 'getWorkflowRun', 'listWorkflowArtifacts', 'getWorkflowRunSubstrate', 'getWorkflowPlayback', 'resumeWorkflowRun', 'listRecentInspectorRuns', 'inspectWorkflowRun']);
|
|
2828
|
+
defineCompatibilityMethods(proto, 'projects', ['listProjects', 'getProject', 'listProjectWorkflowRuns', 'closeProject', 'closeActiveProject', 'getProjectBundle', 'listProjectOpenTasks', 'closeRoadmapItemWorkflow']);
|
|
2829
|
+
defineCompatibilityMethods(proto, 'projectChartering', ['createProjectCharter', 'createProjectDelivery', 'approveProjectCharterIntent', 'approveImplementationRoadmap', 'runProjectCharter', 'beginImplementationRoadmap', 'routeImplementationItem']);
|
|
2830
|
+
defineCompatibilityMethods(proto, 'projectReports', ['getProjectCharterReport', 'createProjectMarkdownDownload', 'downloadProjectMarkdownReport', 'downloadProjectCharterReportMarkdown']);
|
|
2831
|
+
defineCompatibilityMethods(proto, 'projectResume', ['resumeProjectWork']);
|
|
2832
|
+
defineCompatibilityMethods(proto, 'roadmaps', ['listProjectRoadmaps', 'getProjectRoadmap', 'getProjectRoadmapSummary', 'getProjectRoadmapActiveItem', 'listProjectOpenTasks', 'getProjectPerformanceMetrics', 'ensureProjectRoadmapTaskSurface']);
|
|
2833
|
+
defineCompatibilityMethods(proto, 'roadmapReports', ['getProjectImplementationRoadmapReport', 'downloadProjectImplementationRoadmapReportMarkdown']);
|
|
2834
|
+
defineCompatibilityMethods(proto, 'implementationTasks', ['createImplementationTask', 'listImplementationTasks', 'listImplementationSubtasks', 'updateImplementationTask', 'assignImplementationTask', 'completeImplementationTask']);
|
|
2835
|
+
defineCompatibilityMethods(proto, 'implementationPackets', ['importImplementationPacket', 'listImplementationPackets', 'getImplementationPacket', 'bindImplementationPacketToWorkflow', 'getWorkflowImplementationRoadmap', 'getWorkflowResumeContext', 'importImplementationPacketAndMaterializeRoadmap']);
|
|
2836
|
+
defineCompatibilityMethods(proto, 'implementationChecks', ['getImplementationItemAcceptanceChecks', 'updateAcceptanceCheckStatus', 'updateAcceptanceCheckStatusVerified']);
|
|
2837
|
+
defineCompatibilityMethods(proto, 'implementationArtifacts', ['getArtifactManifest', 'getDecisionPacket', 'verifyImplementationItemArtifacts']);
|
|
2838
|
+
defineCompatibilityMethods(proto, 'implementationItems', ['updateImplementationItemStatus', 'updateImplementationItemStatusVerified']);
|
|
2839
|
+
defineCompatibilityMethods(proto, 'implementationEvidence', ['addImplementationItemEvidence', 'addImplementationItemActivity', 'listImplementationItemActivity']);
|
|
2840
|
+
defineCompatibilityMethods(proto, 'implementationGates', ['createImplementationPacketGateDecision']);
|
|
2841
|
+
defineCompatibilityMethods(proto, 'workflowTurns', ['completeTurn', 'persistAssistantTurn']);
|
|
2842
|
+
defineCompatibilityMethods(proto, 'claims', ['getClaim', 'claimIsValid', 'signoffClaim', 'promoteClaimSurface']);
|
|
2843
|
+
defineCompatibilityMethods(proto, 'sessionGovernance', ['startSessionGovernance', 'startReviewGovernance', 'evaluateTurnCompliance', 'blockIfNonCompliant']);
|
|
2844
|
+
defineCompatibilityMethods(proto, 'workStart', ['startWork', 'startClaimedWork', 'claimWorkItem', 'bindClaimedWorkItem']);
|
|
2845
|
+
defineCompatibilityMethods(proto, 'executionEligibility', ['getExecutionEligibility', '_assertExecutionEligibility']);
|
|
2846
|
+
defineCompatibilityMethods(proto, 'toolBindingApprovals', ['createWorkflowToolBindingApprovalLane', 'recordWorkflowToolBindingApprovalDecision', 'executeWorkflowToolBindingApprovalBinding', 'revalidateWorkflowToolBindingStartup']);
|
|
2847
|
+
defineCompatibilityMethods(proto, 'verifiedMutations', ['executeVerifiedMutation']);
|
|
2848
|
+
defineCompatibilityMethods(proto, 'charters', ['runCharter']);
|
|
2849
|
+
defineCompatibilityMethods(proto, 'pingPong', ['checkCoordinationPingPongPreflight', 'startCoordinationPingPong', 'sendCoordinationPing', 'sendCoordinationPong', 'getCoordinationPingPongStatus', 'stopCoordinationPingPong']);
|
|
2850
|
+
defineCompatibilityAliases(proto, 'pingPong', { pingAgentCommunicationPeer: 'sendCoordinationPing', pongAgentCommunicationPeer: 'sendCoordinationPong' });
|
|
2851
|
+
defineCompatibilityMethods(proto, 'transferChannels', ['listCommunicationChannels', 'listOpenCommunicationChannels', 'getCommunicationChannelStatus', 'getCommunicationChannelParticipants', 'openTransferChannel', 'joinTransferChannel', 'resumeTransferChannel', 'replyToTransferChannel', 'closeTransferChannel', 'requestTransferClosure', 'openAgentChannel', 'connectToTransferChannel', 'startAgentConnection', 'postAgentHeartbeat', 'closeAgentChannel']);
|
|
2852
|
+
defineCompatibilityMethods(proto, 'messageWatch', ['startMessageWatch', 'acknowledgeExpectedMessage', 'expireMessageWatch', 'respondToMessageWatch', 'acceptAgentChannel', 'resolveMessageWatchId']);
|
|
2853
|
+
defineCompatibilityMethods(proto, 'presence', ['getPresenceBoard', 'getChannelPresence', 'markParticipantOnline', 'markParticipantOffline', 'whoIsOnline', 'findOnlineParticipant', 'sendToParticipant', 'sendToRole', 'postPresenceHeartbeat']);
|
|
2854
|
+
defineCompatibilityMethods(proto, 'collaborationDomain', ['reviewCollaborationProposal', 'reviseCollaborationProposal', 'postCollaborationProposal', 'acceptCollaborationProposal', 'assignCollaborationOwnership', 'raiseCollaborationBlocker', 'resolveCollaborationBlocker', 'postCollaborationHeartbeat', 'beginCollaborationImplementation', 'requestCollaborationClosure']);
|
|
2855
|
+
defineCompatibilityMethods(proto, 'transferBundles', ['transferWorkPacket', 'getTransferBundle', 'listTransferBundles', 'createTransferReceipt', 'listTransferReceipts', 'createCommunicationBundle', 'getCommunicationBundle', 'listCommunicationBundles', 'addCommunicationBundleItem', 'uploadCommunicationBundle', 'attachCommunicationBundleToMessage', 'recordCommunicationBundleReceipt', 'recordCommunicationBundleCleanupEvent', 'claimCommunicationBundle', 'recordCommunicationTransferReceipt']);
|
|
2856
|
+
defineCompatibilityMethods(proto, 'workflowComposition', ['registerModernizationAsset', 'classifyModernizationAsset', 'discoverSalvageCandidates', 'createModernizationWorkPacket', 'requestModernizationWrapperExecution', 'getModernizationWrapperEvidence', 'decideModernizationGate']);
|
|
2857
|
+
defineCompatibilityMethods(proto, 'currentProject', ['currentProjectStatus']);
|
|
2858
|
+
defineCompatibilityMethods(proto, 'projections', ['renderProjection', 'getLogaOperatorHomeProjection', 'getLogaProjectCatalogProjection', 'getLogaProjectPortfolioProjection', 'getLogaProjectRoadmapProjection', 'getLogaRoadmapItemProjection', 'getLogaWorkflowRunProjection', 'getLogaEvidencePacketProjection', 'getLogaTransferHomeProjection', 'getLogaTransferInboxProjection', 'getLogaTransferPacketProjection', 'getLogaTransferNegotiationEventsProjection', 'getLogaTransferFrictionLaneProjection', 'getLogaTransferReceiptsProjection', 'getLogaTransferClosureReviewProjection', 'getTransferChannelProjection']);
|
|
2859
|
+
defineCompatibilityAliases(proto, 'projections', { getLogaTransferChannelThreadProjection: 'getTransferChannelProjection' });
|
|
2860
|
+
defineCompatibilityMethods(proto, 'loga', ['submitUxGateRemediation', 'listUxGateRemediations', 'getUxGateRemediation', 'appendUxRemediationTicketNote', 'listUxRemediationTicketNotes', 'promoteUxGateRemediationImplementationCandidate', 'getLogaUxGateRemediationProjection', 'getUxGateRemediationProjection']);
|
|
2861
|
+
defineCompatibilityMethods(proto, 'actions', ['submitActionIntent']);
|
|
2862
|
+
defineCompatibilityMethods(proto, 'executionTelemetry', ['getExecutionTelemetryCurrent', 'listExecutionProcessRuns', 'getExecutionProcessRun', 'getGeneratedExecutionUsability', 'getLogaGeneratedExecutionUsabilityProjection']);
|
|
2863
|
+
defineCompatibilityMethods(proto, 'scripts', ['generateScript', 'renderScript', 'submitScriptArtifact', 'getScriptRunEvidence']);
|
|
2864
|
+
defineCompatibilityMethods(proto, 'capabilities', ['listCapabilities', 'createCapability', 'testCapability']);
|
|
2865
|
+
defineCompatibilityMethods(proto, 'skills', ['currentSkillRegistryStatus', 'getSkillContract', 'getSkillGovernance', 'createSkillContractDraft', 'recordSkillPatternReview', 'approveSkillContract', 'createWorkflowSkillContract', 'listWorkflowSkillBindings', 'seedFrequentOperationSkills']);
|
|
2866
|
+
defineCompatibilityMethods(proto, 'skillGovernance', ['createSkillGovernanceChange', 'listSkillGovernanceChanges', 'getSkillGovernanceChange']);
|
|
2867
|
+
defineCompatibilityMethods(proto, 'toolRegistry', ['currentToolRegistryStatus', 'getWorkflowToolRegistry', 'currentAssistantToolContext', 'getTool', 'getToolHistory', 'getToolInvocations', 'getToolEventReplayBundle', 'getToolGovernance', 'createToolReviewDecision', 'createToolGateDecision']);
|
|
2868
|
+
defineCompatibilityMethods(proto, 'contextAssembly', ['getContextAssemblyContract', 'getContextAssemblyStatus', 'getOperatorContext', 'getContextFragments', 'getContextReuse', 'listPromptAssemblies']);
|
|
2869
|
+
defineCompatibilityMethods(proto, 'performance', ['getSessionPerformanceMetrics', 'captureBenchmarkSnapshot', 'listBenchmarks', 'getBenchmarkMetrics', 'getBenchmarkDelta', 'getBenchmarkTrend', 'getPerformanceDashboard']);
|
|
2870
|
+
defineCompatibilityMethods(proto, 'selfLearning', ['getSelfLearningPosture', 'listLearningRecords', 'getLearningRecord', 'listPromotionCandidates', 'getPromotionCandidate', 'listPromotionFlows']);
|
|
2871
|
+
defineCompatibilityMethods(proto, 'selfOptimization', ['getSelfOptimizationDashboard', 'getSelfOptimizationCandidateQueue', 'getSelfOptimizationBacklogPosture', 'getSelfOptimizationPendingHandoffs']);
|
|
2872
|
+
defineCompatibilityMethods(proto, 'designIntelligence', ['getDesignIntelligenceDashboard', 'listDesignDecisions', 'getDesignDecision', 'getDesignDecisionVariants', 'getDesignDecisionCritique', 'getDesignDecisionLineage', 'listDesignPatterns', 'getDecisionLabCanvas', 'getDesignRecommendations', 'getDesignPromotions', 'previewDesignPromotion', 'getDesignIntelligenceMetrics']);
|
|
2873
|
+
defineCompatibilityMethods(proto, 'scriptDiscovery', ['scanScripts', 'listDiscoveredScriptAssets', 'listDiscoveredCapabilities', 'listWorkflowCandidates', 'promoteWorkflowCandidate']);
|
|
2874
|
+
defineCompatibilityMethods(proto, 'notesLab', ['getNotesLabConfig', 'submitNote', 'approveNoteReview']);
|
|
2875
|
+
defineCompatibilityMethods(proto, 'searchContacts', ['search', 'getOrganization', 'getContact']);
|
|
2876
|
+
defineCompatibilityMethods(proto, 'benchmarks', ['listRecentBenchmarkRuns', 'getBenchmarkRun']);
|
|
2877
|
+
defineCompatibilityMethods(proto, 'commitGovernance', ['evaluateCommitGovernance', 'checkGitShipReadiness', 'getCommitGovernanceEvaluation', 'listCommitGovernanceEvaluationsByClaim']);
|
|
2878
|
+
defineCompatibilityMethods(proto, 'contextSessions', ['openContextSession', 'getOrientationWindow', 'acknowledgeReminder', 'completeOrientation', 'lockContextSessionClaim', 'getContextSessionGateStatus']);
|
|
2879
|
+
defineCompatibilityMethods(proto, 'contextOrientation', ['conductOrientation']);
|
|
2880
|
+
}
|
|
3378
2881
|
|
|
3379
|
-
|
|
3380
|
-
return this.repo.getRepoRetrievalPacket(retrievalPacketId);
|
|
3381
|
-
}
|
|
3382
|
-
|
|
3383
|
-
async getRepoRetrievalPacketFragments(retrievalPacketId) {
|
|
3384
|
-
return this.repo.getRepoRetrievalPacketFragments(retrievalPacketId);
|
|
3385
|
-
}
|
|
3386
|
-
|
|
3387
|
-
async evaluateProposalScope({ filePath, projectId, changeType = 'refactor', requestedBy, refactorIntent } = {}) {
|
|
3388
|
-
return this.repo.evaluateProposalScope({ filePath, projectId, changeType, requestedBy, refactorIntent });
|
|
3389
|
-
}
|
|
3390
|
-
|
|
3391
|
-
// ─── Retrieval Management ──────────────────────────────────────────────────
|
|
3392
|
-
|
|
3393
|
-
async getRetrievalStatus() {
|
|
3394
|
-
return this.retrievalManagement.getRetrievalStatus();
|
|
3395
|
-
}
|
|
3396
|
-
|
|
3397
|
-
async getRetrievalProfileMetrics() {
|
|
3398
|
-
return this.retrievalManagement.getRetrievalProfileMetrics();
|
|
3399
|
-
}
|
|
3400
|
-
|
|
3401
|
-
async getRetrievalFeedbackMetrics() {
|
|
3402
|
-
return this.retrievalManagement.getRetrievalFeedbackMetrics();
|
|
3403
|
-
}
|
|
3404
|
-
|
|
3405
|
-
async getRetrievalQuery(retrievalQueryId) {
|
|
3406
|
-
return this.retrievalManagement.getRetrievalQuery(retrievalQueryId);
|
|
3407
|
-
}
|
|
3408
|
-
|
|
3409
|
-
async getRetrievalPacket(retrievalPacketId) {
|
|
3410
|
-
return this.retrievalManagement.getRetrievalPacket(retrievalPacketId);
|
|
3411
|
-
}
|
|
3412
|
-
|
|
3413
|
-
async generateRetrievalCandidates(body) {
|
|
3414
|
-
return this.retrievalManagement.generateRetrievalCandidates(body);
|
|
3415
|
-
}
|
|
3416
|
-
|
|
3417
|
-
async selectRetrievalPacket(body) {
|
|
3418
|
-
return this.retrievalManagement.selectRetrievalPacket(body);
|
|
3419
|
-
}
|
|
3420
|
-
|
|
3421
|
-
async recordRetrievalFeedback(body) {
|
|
3422
|
-
return this.retrievalManagement.recordRetrievalFeedback(body);
|
|
3423
|
-
}
|
|
3424
|
-
|
|
3425
|
-
async deriveRetrievalOptimizationCandidates(body) {
|
|
3426
|
-
return this.retrievalManagement.deriveRetrievalOptimizationCandidates(body);
|
|
3427
|
-
}
|
|
3428
|
-
|
|
3429
|
-
async validatePromptAssembly(body) {
|
|
3430
|
-
return this.retrievalManagement.validatePromptAssembly(body);
|
|
3431
|
-
}
|
|
3432
|
-
|
|
3433
|
-
// ─── Workflows ─────────────────────────────────────────────────────────────
|
|
3434
|
-
|
|
3435
|
-
async listWorkflows({ status, includeSteps } = {}) {
|
|
3436
|
-
return this.workflows.listWorkflows({ status, includeSteps });
|
|
3437
|
-
}
|
|
3438
|
-
|
|
3439
|
-
async createWorkflow({ name, slug, description, goal, governanceProfile, steps = [] } = {}) {
|
|
3440
|
-
return this.workflows.createWorkflow({ name, slug, description, goal, governanceProfile, steps });
|
|
3441
|
-
}
|
|
3442
|
-
|
|
3443
|
-
async getWorkflow(workflowId) {
|
|
3444
|
-
return this.workflows.getWorkflow(workflowId);
|
|
3445
|
-
}
|
|
3446
|
-
|
|
3447
|
-
async replaceWorkflowSteps(workflowId, steps) {
|
|
3448
|
-
return this.workflows.replaceWorkflowSteps(workflowId, steps);
|
|
3449
|
-
}
|
|
3450
|
-
|
|
3451
|
-
async publishWorkflow(workflowId) {
|
|
3452
|
-
return this.workflows.publishWorkflow(workflowId);
|
|
3453
|
-
}
|
|
3454
|
-
|
|
3455
|
-
async cloneWorkflow(workflowId) {
|
|
3456
|
-
return this.workflows.cloneWorkflow(workflowId);
|
|
3457
|
-
}
|
|
3458
|
-
|
|
3459
|
-
// ─── Workflow Governance ───────────────────────────────────────────────────
|
|
3460
|
-
|
|
3461
|
-
async evaluateWorkflowGovernance(workflowId) {
|
|
3462
|
-
return this.workflows.evaluateWorkflowGovernance(workflowId);
|
|
3463
|
-
}
|
|
3464
|
-
|
|
3465
|
-
async listWorkflowGovernanceDecisions(workflowId) {
|
|
3466
|
-
return this.workflows.listWorkflowGovernanceDecisions(workflowId);
|
|
3467
|
-
}
|
|
3468
|
-
|
|
3469
|
-
async getWorkflowGovernanceSimulation(workflowId) {
|
|
3470
|
-
return this.workflows.getWorkflowGovernanceSimulation(workflowId);
|
|
3471
|
-
}
|
|
3472
|
-
|
|
3473
|
-
async listWorkflowGovernanceBundles(workflowId) {
|
|
3474
|
-
return this.workflows.listWorkflowGovernanceBundles(workflowId);
|
|
3475
|
-
}
|
|
3476
|
-
|
|
3477
|
-
async listWorkflowGovernanceApprovals(workflowId) {
|
|
3478
|
-
return this.workflows.listWorkflowGovernanceApprovals(workflowId);
|
|
3479
|
-
}
|
|
3480
|
-
|
|
3481
|
-
async listWorkflowGovernanceEvents(workflowId) {
|
|
3482
|
-
return this.workflows.listWorkflowGovernanceEvents(workflowId);
|
|
3483
|
-
}
|
|
3484
|
-
|
|
3485
|
-
async getWorkflowGovernanceReview(workflowId) {
|
|
3486
|
-
return this.workflows.getWorkflowGovernanceReview(workflowId);
|
|
3487
|
-
}
|
|
3488
|
-
|
|
3489
|
-
async createWorkflowGovernanceReviewDecision(workflowId, body) {
|
|
3490
|
-
return this.workflows.createWorkflowGovernanceReviewDecision(workflowId, body);
|
|
3491
|
-
}
|
|
3492
|
-
|
|
3493
|
-
// ─── Workflow Runs ─────────────────────────────────────────────────────────
|
|
3494
|
-
|
|
3495
|
-
async createWorkflowRun(body) {
|
|
3496
|
-
return this.workflows.createWorkflowRun(body);
|
|
3497
|
-
}
|
|
3498
|
-
|
|
3499
|
-
async getWorkflowRun(workflowRunId) {
|
|
3500
|
-
return this.workflows.getWorkflowRun(workflowRunId);
|
|
3501
|
-
}
|
|
3502
|
-
|
|
3503
|
-
async listWorkflowArtifacts(workflowRunId) {
|
|
3504
|
-
return this.workflows.listWorkflowArtifacts(workflowRunId);
|
|
3505
|
-
}
|
|
3506
|
-
|
|
3507
|
-
async getWorkflowRunSubstrate(workflowRunId) {
|
|
3508
|
-
return this.workflows.getWorkflowRunSubstrate(workflowRunId);
|
|
3509
|
-
}
|
|
3510
|
-
|
|
3511
|
-
async getWorkflowPlayback(workflowRunId) {
|
|
3512
|
-
return this.workflows.getWorkflowPlayback(workflowRunId);
|
|
3513
|
-
}
|
|
3514
|
-
|
|
3515
|
-
async resumeWorkflowRun(workflowRunId, body = {}) {
|
|
3516
|
-
return this.workflows.resumeWorkflowRun(workflowRunId, body);
|
|
3517
|
-
}
|
|
3518
|
-
|
|
3519
|
-
// ─── Workflow Inspector ────────────────────────────────────────────────────
|
|
3520
|
-
|
|
3521
|
-
async listRecentInspectorRuns({ limit } = {}) {
|
|
3522
|
-
return this.workflows.listRecentInspectorRuns({ limit });
|
|
3523
|
-
}
|
|
3524
|
-
|
|
3525
|
-
async inspectWorkflowRun(workflowRunId) {
|
|
3526
|
-
return this.workflows.inspectWorkflowRun(workflowRunId);
|
|
3527
|
-
}
|
|
3528
|
-
|
|
3529
|
-
// ─── Manual & Approval Tasks ───────────────────────────────────────────────
|
|
3530
|
-
|
|
3531
|
-
async listManualTasks() {
|
|
3532
|
-
return this._request('/api/manual-tasks');
|
|
3533
|
-
}
|
|
3534
|
-
|
|
3535
|
-
async listApprovalTasks() {
|
|
3536
|
-
return this._request('/api/approval-tasks');
|
|
3537
|
-
}
|
|
3538
|
-
|
|
3539
|
-
async completeManualTask(stepRunId, body = {}) {
|
|
3540
|
-
return this._request(`/api/manual-tasks/${stepRunId}/complete`, { method: 'POST', body });
|
|
3541
|
-
}
|
|
3542
|
-
|
|
3543
|
-
async approveTask(stepRunId, body = {}) {
|
|
3544
|
-
return this._request(`/api/approval-tasks/${stepRunId}/approve`, { method: 'POST', body });
|
|
3545
|
-
}
|
|
3546
|
-
|
|
3547
|
-
// ─── Projects & Chartering ─────────────────────────────────────────────────
|
|
3548
|
-
|
|
3549
|
-
async createProjectCharter({
|
|
3550
|
-
projectName,
|
|
3551
|
-
objective,
|
|
3552
|
-
businessContext,
|
|
3553
|
-
successCriteria,
|
|
3554
|
-
priority,
|
|
3555
|
-
constraints = [],
|
|
3556
|
-
inScope = [],
|
|
3557
|
-
outOfScope = [],
|
|
3558
|
-
assumptions = [],
|
|
3559
|
-
linkedWorkflows = [],
|
|
3560
|
-
linkedWorkflowSlug,
|
|
3561
|
-
testingStrategy = {},
|
|
3562
|
-
initialContext = {},
|
|
3563
|
-
requestedBy,
|
|
3564
|
-
ensureTaskSurface = true,
|
|
3565
|
-
assignedTo,
|
|
3566
|
-
createAcceptanceSubtasks = true,
|
|
3567
|
-
} = {}) {
|
|
3568
|
-
return this.projectChartering.createProjectCharter({
|
|
3569
|
-
projectName,
|
|
3570
|
-
objective,
|
|
3571
|
-
businessContext,
|
|
3572
|
-
successCriteria,
|
|
3573
|
-
priority,
|
|
3574
|
-
constraints,
|
|
3575
|
-
inScope,
|
|
3576
|
-
outOfScope,
|
|
3577
|
-
assumptions,
|
|
3578
|
-
linkedWorkflows,
|
|
3579
|
-
linkedWorkflowSlug,
|
|
3580
|
-
testingStrategy,
|
|
3581
|
-
initialContext,
|
|
3582
|
-
requestedBy,
|
|
3583
|
-
ensureTaskSurface,
|
|
3584
|
-
assignedTo,
|
|
3585
|
-
createAcceptanceSubtasks,
|
|
3586
|
-
});
|
|
3587
|
-
}
|
|
3588
|
-
|
|
3589
|
-
async listProjects({ limit, includeInactive, processStatus, charterStatus } = {}) {
|
|
3590
|
-
return this.projects.listProjects({ limit, includeInactive, processStatus, charterStatus });
|
|
3591
|
-
}
|
|
3592
|
-
|
|
3593
|
-
async getProject(projectId) {
|
|
3594
|
-
return this.projects.getProject(projectId);
|
|
3595
|
-
}
|
|
3596
|
-
|
|
3597
|
-
async listProjectWorkflowRuns(projectId, { limit = 25 } = {}) {
|
|
3598
|
-
return this.projects.listProjectWorkflowRuns(projectId, { limit });
|
|
3599
|
-
}
|
|
3600
|
-
|
|
3601
|
-
async closeProject(projectId, options = {}) {
|
|
3602
|
-
return this.projects.closeProject(projectId, options);
|
|
3603
|
-
}
|
|
3604
|
-
|
|
3605
|
-
async closeActiveProject(projectId, options = {}) {
|
|
3606
|
-
return this.projects.closeActiveProject(projectId, options);
|
|
3607
|
-
}
|
|
3608
|
-
|
|
3609
|
-
async getProjectCharterReport(projectId) {
|
|
3610
|
-
return this.projectReports.getProjectCharterReport(projectId);
|
|
3611
|
-
}
|
|
3612
|
-
|
|
3613
|
-
async createProjectMarkdownDownload(projectId, { reportType, includeMarkdown = false } = {}) {
|
|
3614
|
-
return this.projectReports.createProjectMarkdownDownload(projectId, { reportType, includeMarkdown });
|
|
3615
|
-
}
|
|
3616
|
-
|
|
3617
|
-
async downloadProjectMarkdownReport(projectId, reportType) {
|
|
3618
|
-
return this.projectReports.downloadProjectMarkdownReport(projectId, reportType);
|
|
3619
|
-
}
|
|
3620
|
-
|
|
3621
|
-
async downloadProjectCharterReportMarkdown(projectId) {
|
|
3622
|
-
return this.projectReports.downloadProjectCharterReportMarkdown(projectId);
|
|
3623
|
-
}
|
|
3624
|
-
|
|
3625
|
-
async getProjectBundle(projectId) {
|
|
3626
|
-
return this.projects.getProjectBundle(projectId);
|
|
3627
|
-
}
|
|
3628
|
-
|
|
3629
|
-
async listProjectOpenTasks(projectId) {
|
|
3630
|
-
return this.projects.listProjectOpenTasks(projectId);
|
|
3631
|
-
}
|
|
3632
|
-
|
|
3633
|
-
async resumeProjectWork({
|
|
3634
|
-
projectIdentifier,
|
|
3635
|
-
projectId,
|
|
3636
|
-
actorMode,
|
|
3637
|
-
executionIntent,
|
|
3638
|
-
requireClaim,
|
|
3639
|
-
workflowRunLimit,
|
|
3640
|
-
} = {}) {
|
|
3641
|
-
return this.projectResume.resumeProjectWork({
|
|
3642
|
-
projectIdentifier,
|
|
3643
|
-
projectId,
|
|
3644
|
-
actorMode,
|
|
3645
|
-
executionIntent,
|
|
3646
|
-
requireClaim,
|
|
3647
|
-
workflowRunLimit,
|
|
3648
|
-
});
|
|
3649
|
-
}
|
|
3650
|
-
|
|
3651
|
-
async closeRoadmapItemWorkflow(options = {}) {
|
|
3652
|
-
return this.projects.closeRoadmapItemWorkflow(options);
|
|
3653
|
-
}
|
|
3654
|
-
|
|
3655
|
-
// LOGA projections are governed runtime documents, not static reports.
|
|
3656
|
-
|
|
3657
|
-
async getLogaOperatorHomeProjection() {
|
|
3658
|
-
return this._requestLogaProjection('/api/operator/projections/home');
|
|
3659
|
-
}
|
|
3660
|
-
|
|
3661
|
-
async getLogaProjectCatalogProjection() {
|
|
3662
|
-
return this._requestLogaProjection('/api/operator/projections/project-catalog');
|
|
3663
|
-
}
|
|
3664
|
-
|
|
3665
|
-
async getLogaProjectPortfolioProjection() {
|
|
3666
|
-
return this._requestLogaProjection('/api/operator/projections/project-portfolio');
|
|
3667
|
-
}
|
|
3668
|
-
|
|
3669
|
-
async getLogaProjectRoadmapProjection(projectId) {
|
|
3670
|
-
return this._requestLogaProjection(`/api/operator/projections/projects/${projectId}/roadmap.md`);
|
|
3671
|
-
}
|
|
3672
|
-
|
|
3673
|
-
async getLogaRoadmapItemProjection(projectId, itemKey) {
|
|
3674
|
-
return this._requestLogaProjection(`/api/operator/projections/projects/${projectId}/roadmap/items/${itemKey}`);
|
|
3675
|
-
}
|
|
3676
|
-
|
|
3677
|
-
async getLogaWorkflowRunProjection(workflowRunId) {
|
|
3678
|
-
return this._requestLogaProjection(`/api/operator/projections/workflow-runs/${workflowRunId}`);
|
|
3679
|
-
}
|
|
3680
|
-
|
|
3681
|
-
async getLogaEvidencePacketProjection(packetKey) {
|
|
3682
|
-
return this._requestLogaProjection(`/api/operator/projections/evidence-packets/${packetKey}`);
|
|
3683
|
-
}
|
|
3684
|
-
|
|
3685
|
-
async getLogaTransferHomeProjection() {
|
|
3686
|
-
return this._requestLogaProjection('/api/operator/projections/transfers/home');
|
|
3687
|
-
}
|
|
3688
|
-
|
|
3689
|
-
async getLogaTransferInboxProjection({ workflowRunId, recipientAgentSessionId, recipientRoleKey } = {}) {
|
|
3690
|
-
return this._requestLogaProjection('/api/operator/projections/transfers/inbox', {
|
|
3691
|
-
query: {
|
|
3692
|
-
workflow_run_id: workflowRunId,
|
|
3693
|
-
recipient_agent_session_id: recipientAgentSessionId,
|
|
3694
|
-
recipient_role_key: recipientRoleKey,
|
|
3695
|
-
},
|
|
3696
|
-
});
|
|
3697
|
-
}
|
|
3698
|
-
|
|
3699
|
-
async getLogaTransferPacketProjection(workTransferPacketId) {
|
|
3700
|
-
return this._requestLogaProjection(`/api/operator/projections/transfers/${workTransferPacketId}`);
|
|
3701
|
-
}
|
|
3702
|
-
|
|
3703
|
-
async getLogaTransferNegotiationEventsProjection({ workTransferPacketId, workflowRunId } = {}) {
|
|
3704
|
-
const path = workTransferPacketId
|
|
3705
|
-
? `/api/operator/projections/transfers/${workTransferPacketId}/negotiation-events`
|
|
3706
|
-
: '/api/operator/projections/transfers/negotiation-events';
|
|
3707
|
-
return this._requestLogaProjection(path, {
|
|
3708
|
-
query: { workflow_run_id: workflowRunId },
|
|
3709
|
-
});
|
|
3710
|
-
}
|
|
3711
|
-
|
|
3712
|
-
async getLogaTransferFrictionLaneProjection({ workflowRunId } = {}) {
|
|
3713
|
-
return this._requestLogaProjection('/api/operator/projections/transfers/friction-lane', {
|
|
3714
|
-
query: { workflow_run_id: workflowRunId },
|
|
3715
|
-
});
|
|
3716
|
-
}
|
|
3717
|
-
|
|
3718
|
-
async getLogaTransferReceiptsProjection({ workTransferPacketId, workflowRunId } = {}) {
|
|
3719
|
-
return this._requestLogaProjection('/api/operator/projections/transfers/receipts', {
|
|
3720
|
-
query: {
|
|
3721
|
-
work_transfer_packet_id: workTransferPacketId,
|
|
3722
|
-
workflow_run_id: workflowRunId,
|
|
3723
|
-
},
|
|
3724
|
-
});
|
|
3725
|
-
}
|
|
3726
|
-
|
|
3727
|
-
async getLogaTransferClosureReviewProjection(workTransferPacketId) {
|
|
3728
|
-
return this._requestLogaProjection(`/api/operator/projections/transfers/${workTransferPacketId}/closure-review`);
|
|
3729
|
-
}
|
|
3730
|
-
|
|
3731
|
-
async getLogaTransferChannelThreadProjection(transferChannelId) {
|
|
3732
|
-
const normalizedTransferChannelId = cleanText(transferChannelId);
|
|
3733
|
-
if (!normalizedTransferChannelId) {
|
|
3734
|
-
throw new Error('transferChannelId is required.');
|
|
3735
|
-
}
|
|
3736
|
-
return this._requestLogaProjection(`/api/operator/projections/transfers/channels/${encodeURIComponent(normalizedTransferChannelId)}`);
|
|
3737
|
-
}
|
|
3738
|
-
|
|
3739
|
-
async getTransferChannelProjection(transferChannelId) {
|
|
3740
|
-
return this.getLogaTransferChannelThreadProjection(transferChannelId);
|
|
3741
|
-
}
|
|
3742
|
-
|
|
3743
|
-
async submitUxGateRemediation({
|
|
3744
|
-
projectionType,
|
|
3745
|
-
projectionId,
|
|
3746
|
-
gateRunId,
|
|
3747
|
-
findingIds,
|
|
3748
|
-
remediationPayload,
|
|
3749
|
-
sourceTruth = 'sql',
|
|
3750
|
-
clientEvidence,
|
|
3751
|
-
createdBy,
|
|
3752
|
-
} = {}) {
|
|
3753
|
-
return this._request('/api/loga/ux-gate-remediations', {
|
|
3754
|
-
method: 'POST',
|
|
3755
|
-
body: {
|
|
3756
|
-
projectionType,
|
|
3757
|
-
projectionId,
|
|
3758
|
-
gateRunId,
|
|
3759
|
-
findingIds,
|
|
3760
|
-
remediationPayload,
|
|
3761
|
-
sourceTruth,
|
|
3762
|
-
clientEvidence,
|
|
3763
|
-
createdBy,
|
|
3764
|
-
},
|
|
3765
|
-
});
|
|
3766
|
-
}
|
|
3767
|
-
|
|
3768
|
-
async listUxGateRemediations({ projectionType, status } = {}) {
|
|
3769
|
-
return this._request('/api/loga/ux-gate-remediations', {
|
|
3770
|
-
query: { projectionType, status },
|
|
3771
|
-
});
|
|
3772
|
-
}
|
|
3773
|
-
|
|
3774
|
-
async getUxGateRemediation(remediationId) {
|
|
3775
|
-
return this._request(`/api/loga/ux-gate-remediations/${remediationId}`);
|
|
3776
|
-
}
|
|
3777
|
-
|
|
3778
|
-
async appendUxRemediationTicketNote(remediationId, {
|
|
3779
|
-
noteKind,
|
|
3780
|
-
body,
|
|
3781
|
-
visibility,
|
|
3782
|
-
authorActorId,
|
|
3783
|
-
evidenceRefs,
|
|
3784
|
-
metadata,
|
|
3785
|
-
} = {}) {
|
|
3786
|
-
return this._request(`/api/loga/ux-gate-remediations/${remediationId}/notes`, {
|
|
3787
|
-
method: 'POST',
|
|
3788
|
-
body: {
|
|
3789
|
-
noteKind,
|
|
3790
|
-
body,
|
|
3791
|
-
visibility,
|
|
3792
|
-
authorActorId,
|
|
3793
|
-
evidenceRefs,
|
|
3794
|
-
metadata,
|
|
3795
|
-
},
|
|
3796
|
-
});
|
|
3797
|
-
}
|
|
3798
|
-
|
|
3799
|
-
async listUxRemediationTicketNotes(remediationId) {
|
|
3800
|
-
return this._request(`/api/loga/ux-gate-remediations/${remediationId}/notes`);
|
|
3801
|
-
}
|
|
3802
|
-
|
|
3803
|
-
async promoteUxGateRemediationImplementationCandidate(remediationId, { promotedBy } = {}) {
|
|
3804
|
-
return this._request(`/api/loga/ux-gate-remediations/${remediationId}/implementation-candidate`, {
|
|
3805
|
-
method: 'POST',
|
|
3806
|
-
body: { promotedBy },
|
|
3807
|
-
});
|
|
3808
|
-
}
|
|
3809
|
-
|
|
3810
|
-
async getLogaUxGateRemediationProjection(remediationId) {
|
|
3811
|
-
return this._requestLogaProjection(`/api/operator/projections/ux-gate-remediations/${remediationId}`);
|
|
3812
|
-
}
|
|
3813
|
-
|
|
3814
|
-
async generateScript({
|
|
3815
|
-
claimId,
|
|
3816
|
-
contextSessionId,
|
|
3817
|
-
workflowRunId,
|
|
3818
|
-
intent = {},
|
|
3819
|
-
renderSpec = {},
|
|
3820
|
-
createdBy,
|
|
3821
|
-
} = {}) {
|
|
3822
|
-
return this._request('/api/scripts/generate', {
|
|
3823
|
-
method: 'POST',
|
|
3824
|
-
body: {
|
|
3825
|
-
claimId,
|
|
3826
|
-
contextSessionId,
|
|
3827
|
-
workflowRunId,
|
|
3828
|
-
intent,
|
|
3829
|
-
renderSpec,
|
|
3830
|
-
createdBy,
|
|
3831
|
-
},
|
|
3832
|
-
});
|
|
3833
|
-
}
|
|
3834
|
-
|
|
3835
|
-
async renderScript(scriptId) {
|
|
3836
|
-
return this._request(`/api/scripts/${scriptId}/render`);
|
|
3837
|
-
}
|
|
3838
|
-
|
|
3839
|
-
async submitScriptArtifact(scriptId, {
|
|
3840
|
-
workflowRunId,
|
|
3841
|
-
output = {},
|
|
3842
|
-
observations = [],
|
|
3843
|
-
validation = {},
|
|
3844
|
-
recordedBy,
|
|
3845
|
-
} = {}) {
|
|
3846
|
-
return this._request(`/api/scripts/${scriptId}/artifacts`, {
|
|
3847
|
-
method: 'POST',
|
|
3848
|
-
body: {
|
|
3849
|
-
workflowRunId,
|
|
3850
|
-
output,
|
|
3851
|
-
observations,
|
|
3852
|
-
validation,
|
|
3853
|
-
recordedBy,
|
|
3854
|
-
},
|
|
3855
|
-
});
|
|
3856
|
-
}
|
|
3857
|
-
|
|
3858
|
-
async getScriptRunEvidence({ workflowRunId, scriptId } = {}) {
|
|
3859
|
-
return this._request('/api/scripts/run-evidence', {
|
|
3860
|
-
query: {
|
|
3861
|
-
workflowRunId,
|
|
3862
|
-
scriptId,
|
|
3863
|
-
},
|
|
3864
|
-
});
|
|
3865
|
-
}
|
|
3866
|
-
|
|
3867
|
-
// ─── Roadmaps ──────────────────────────────────────────────────────────────
|
|
3868
|
-
|
|
3869
|
-
async listProjectRoadmaps({ includeInactive } = {}) {
|
|
3870
|
-
return this.roadmaps.listProjectRoadmaps({ includeInactive });
|
|
3871
|
-
}
|
|
3872
|
-
|
|
3873
|
-
async getProjectRoadmap(projectId) {
|
|
3874
|
-
return this.roadmaps.getProjectRoadmap(projectId);
|
|
3875
|
-
}
|
|
3876
|
-
|
|
3877
|
-
async getProjectRoadmapSummary(projectId) {
|
|
3878
|
-
return this.roadmaps.getProjectRoadmapSummary(projectId);
|
|
3879
|
-
}
|
|
3880
|
-
|
|
3881
|
-
async getProjectRoadmapActiveItem(projectId) {
|
|
3882
|
-
return this.roadmaps.getProjectRoadmapActiveItem(projectId);
|
|
3883
|
-
}
|
|
3884
|
-
|
|
3885
|
-
async getProjectImplementationRoadmapReport(projectId) {
|
|
3886
|
-
return this.roadmapReports.getProjectImplementationRoadmapReport(projectId);
|
|
3887
|
-
}
|
|
3888
|
-
|
|
3889
|
-
async downloadProjectImplementationRoadmapReportMarkdown(projectId) {
|
|
3890
|
-
return this.roadmapReports.downloadProjectImplementationRoadmapReportMarkdown(projectId);
|
|
3891
|
-
}
|
|
3892
|
-
|
|
3893
|
-
async ensureProjectRoadmapTaskSurface(projectId, {
|
|
3894
|
-
requestedBy,
|
|
3895
|
-
assignedTo,
|
|
3896
|
-
createAcceptanceSubtasks = true,
|
|
3897
|
-
} = {}) {
|
|
3898
|
-
return this.roadmaps.ensureProjectRoadmapTaskSurface(projectId, {
|
|
3899
|
-
requestedBy,
|
|
3900
|
-
assignedTo,
|
|
3901
|
-
createAcceptanceSubtasks,
|
|
3902
|
-
});
|
|
3903
|
-
}
|
|
3904
|
-
|
|
3905
|
-
async importImplementationPacketAndMaterializeRoadmap(packetPayload, {
|
|
3906
|
-
importedBy,
|
|
3907
|
-
requestedBy,
|
|
3908
|
-
createdBy,
|
|
3909
|
-
workflowId,
|
|
3910
|
-
bindingRole = 'active',
|
|
3911
|
-
assignedTo,
|
|
3912
|
-
notes,
|
|
3913
|
-
createAcceptanceSubtasks = true,
|
|
3914
|
-
} = {}) {
|
|
3915
|
-
return this.implementationPackets.importImplementationPacketAndMaterializeRoadmap(packetPayload, {
|
|
3916
|
-
importedBy,
|
|
3917
|
-
requestedBy,
|
|
3918
|
-
createdBy,
|
|
3919
|
-
workflowId,
|
|
3920
|
-
bindingRole,
|
|
3921
|
-
assignedTo,
|
|
3922
|
-
notes,
|
|
3923
|
-
createAcceptanceSubtasks,
|
|
3924
|
-
});
|
|
3925
|
-
}
|
|
3926
|
-
|
|
3927
|
-
// ─── Implementation Tasks ──────────────────────────────────────────────────
|
|
3928
|
-
|
|
3929
|
-
async createImplementationTask(implementationItemId, {
|
|
3930
|
-
title,
|
|
3931
|
-
implementationPacketId,
|
|
3932
|
-
description,
|
|
3933
|
-
priority,
|
|
3934
|
-
assignedTo,
|
|
3935
|
-
assignedBy,
|
|
3936
|
-
dueAt,
|
|
3937
|
-
sortOrder,
|
|
3938
|
-
notes,
|
|
3939
|
-
createdBy,
|
|
3940
|
-
parentTaskId,
|
|
3941
|
-
claimId,
|
|
3942
|
-
claimProjectId,
|
|
3943
|
-
projectId,
|
|
3944
|
-
claimedItemId,
|
|
3945
|
-
workflowRunId,
|
|
3946
|
-
agentSessionId,
|
|
3947
|
-
allowedMutationSurfaces,
|
|
3948
|
-
acknowledgedReminders,
|
|
3949
|
-
executionIntent,
|
|
3950
|
-
executionType,
|
|
3951
|
-
executionPurpose,
|
|
3952
|
-
} = {}) {
|
|
3953
|
-
return this.implementationTasks.createImplementationTask(implementationItemId, {
|
|
3954
|
-
title,
|
|
3955
|
-
implementationPacketId,
|
|
3956
|
-
description,
|
|
3957
|
-
priority,
|
|
3958
|
-
assignedTo,
|
|
3959
|
-
assignedBy,
|
|
3960
|
-
dueAt,
|
|
3961
|
-
sortOrder,
|
|
3962
|
-
notes,
|
|
3963
|
-
createdBy,
|
|
3964
|
-
parentTaskId,
|
|
3965
|
-
claimId,
|
|
3966
|
-
claimProjectId,
|
|
3967
|
-
projectId,
|
|
3968
|
-
claimedItemId,
|
|
3969
|
-
workflowRunId,
|
|
3970
|
-
agentSessionId,
|
|
3971
|
-
allowedMutationSurfaces,
|
|
3972
|
-
acknowledgedReminders,
|
|
3973
|
-
executionIntent,
|
|
3974
|
-
executionType,
|
|
3975
|
-
executionPurpose,
|
|
3976
|
-
});
|
|
3977
|
-
}
|
|
3978
|
-
|
|
3979
|
-
async listImplementationTasks(implementationItemId) {
|
|
3980
|
-
return this.implementationTasks.listImplementationTasks(implementationItemId);
|
|
3981
|
-
}
|
|
3982
|
-
|
|
3983
|
-
async listImplementationSubtasks(taskId) {
|
|
3984
|
-
return this.implementationTasks.listImplementationSubtasks(taskId);
|
|
3985
|
-
}
|
|
3986
|
-
|
|
3987
|
-
async updateImplementationTask(taskId, updates) {
|
|
3988
|
-
return this.implementationTasks.updateImplementationTask(taskId, updates);
|
|
3989
|
-
}
|
|
3990
|
-
|
|
3991
|
-
async assignImplementationTask(taskId, { assignedTo, assignedBy } = {}) {
|
|
3992
|
-
return this.implementationTasks.assignImplementationTask(taskId, { assignedTo, assignedBy });
|
|
3993
|
-
}
|
|
3994
|
-
|
|
3995
|
-
async completeImplementationTask(taskId, { completedBy } = {}) {
|
|
3996
|
-
return this.implementationTasks.completeImplementationTask(taskId, { completedBy });
|
|
3997
|
-
}
|
|
3998
|
-
|
|
3999
|
-
// ─── Governed Implementation ───────────────────────────────────────────────
|
|
4000
|
-
|
|
4001
|
-
async importImplementationPacket(body) {
|
|
4002
|
-
return this.implementationPackets.importImplementationPacket(body);
|
|
4003
|
-
}
|
|
4004
|
-
|
|
4005
|
-
async listImplementationPackets({ status, packetType } = {}) {
|
|
4006
|
-
return this.implementationPackets.listImplementationPackets({ status, packetType });
|
|
4007
|
-
}
|
|
4008
|
-
|
|
4009
|
-
async getImplementationPacket(packetId) {
|
|
4010
|
-
return this.implementationPackets.getImplementationPacket(packetId);
|
|
4011
|
-
}
|
|
4012
|
-
|
|
4013
|
-
async getImplementationItemAcceptanceChecks(implementationItemId) {
|
|
4014
|
-
return this.implementationChecks.getImplementationItemAcceptanceChecks(implementationItemId);
|
|
4015
|
-
}
|
|
4016
|
-
|
|
4017
|
-
async getArtifactManifest(implementationItemId) {
|
|
4018
|
-
return this.implementationArtifacts.getArtifactManifest(implementationItemId);
|
|
4019
|
-
}
|
|
4020
|
-
|
|
4021
|
-
async getDecisionPacket(implementationItemId) {
|
|
4022
|
-
return this.implementationArtifacts.getDecisionPacket(implementationItemId);
|
|
4023
|
-
}
|
|
4024
|
-
|
|
4025
|
-
async updateImplementationItemStatus(implementationItemId, body) {
|
|
4026
|
-
return this.implementationItems.updateImplementationItemStatus(implementationItemId, body);
|
|
4027
|
-
}
|
|
4028
|
-
|
|
4029
|
-
async addImplementationItemEvidence(implementationItemId, body) {
|
|
4030
|
-
return this.implementationEvidence.addImplementationItemEvidence(implementationItemId, body);
|
|
4031
|
-
}
|
|
4032
|
-
|
|
4033
|
-
async addImplementationItemActivity(implementationItemId, body) {
|
|
4034
|
-
return this.implementationEvidence.addImplementationItemActivity(implementationItemId, body);
|
|
4035
|
-
}
|
|
4036
|
-
|
|
4037
|
-
async listImplementationItemActivity(implementationItemId) {
|
|
4038
|
-
return this.implementationEvidence.listImplementationItemActivity(implementationItemId);
|
|
4039
|
-
}
|
|
4040
|
-
|
|
4041
|
-
async updateAcceptanceCheckStatus(implementationItemId, acceptanceCheckId, body) {
|
|
4042
|
-
return this.implementationChecks.updateAcceptanceCheckStatus(implementationItemId, acceptanceCheckId, body);
|
|
4043
|
-
}
|
|
4044
|
-
|
|
4045
|
-
async createImplementationPacketGateDecision(packetId, body) {
|
|
4046
|
-
return this.implementationGates.createImplementationPacketGateDecision(packetId, body);
|
|
4047
|
-
}
|
|
4048
|
-
|
|
4049
|
-
async bindImplementationPacketToWorkflow(workflowId, body) {
|
|
4050
|
-
return this.implementationPackets.bindImplementationPacketToWorkflow(workflowId, body);
|
|
4051
|
-
}
|
|
4052
|
-
|
|
4053
|
-
async getWorkflowImplementationRoadmap(workflowId) {
|
|
4054
|
-
return this.implementationPackets.getWorkflowImplementationRoadmap(workflowId);
|
|
4055
|
-
}
|
|
4056
|
-
|
|
4057
|
-
async getWorkflowResumeContext(workflowId) {
|
|
4058
|
-
return this.implementationPackets.getWorkflowResumeContext(workflowId);
|
|
4059
|
-
}
|
|
4060
|
-
|
|
4061
|
-
async executeVerifiedMutation({
|
|
4062
|
-
mutationName,
|
|
4063
|
-
mutationFn,
|
|
4064
|
-
verificationFn,
|
|
4065
|
-
expectedState,
|
|
4066
|
-
evidenceLabel,
|
|
4067
|
-
} = {}) {
|
|
4068
|
-
return this.verifiedMutations.executeVerifiedMutation({
|
|
4069
|
-
mutationName,
|
|
4070
|
-
mutationFn,
|
|
4071
|
-
verificationFn,
|
|
4072
|
-
expectedState,
|
|
4073
|
-
evidenceLabel,
|
|
4074
|
-
});
|
|
4075
|
-
}
|
|
4076
|
-
|
|
4077
|
-
async updateImplementationItemStatusVerified(implementationItemId, status, body = {}) {
|
|
4078
|
-
return this.implementationItems.updateImplementationItemStatusVerified(implementationItemId, status, body);
|
|
4079
|
-
}
|
|
4080
|
-
|
|
4081
|
-
async updateAcceptanceCheckStatusVerified(implementationItemId, acceptanceCheckId, status, body = {}) {
|
|
4082
|
-
return this.implementationChecks.updateAcceptanceCheckStatusVerified(implementationItemId, acceptanceCheckId, status, body);
|
|
4083
|
-
}
|
|
4084
|
-
|
|
4085
|
-
async verifyImplementationItemArtifacts(implementationItemId, { requiredArtifacts = [] } = {}) {
|
|
4086
|
-
return this.implementationArtifacts.verifyImplementationItemArtifacts(implementationItemId, { requiredArtifacts });
|
|
4087
|
-
}
|
|
4088
|
-
|
|
4089
|
-
// ─── Skills ────────────────────────────────────────────────────────────────
|
|
4090
|
-
|
|
4091
|
-
async currentSkillRegistryStatus() {
|
|
4092
|
-
return this._request('/api/operator/current-skill-registry-status');
|
|
4093
|
-
}
|
|
4094
|
-
|
|
4095
|
-
async getSkillContract({ skillId, skillKey } = {}) {
|
|
4096
|
-
return this._request('/api/skills/contract', { query: { skill_id: skillId, skill_key: skillKey } });
|
|
4097
|
-
}
|
|
4098
|
-
|
|
4099
|
-
async getSkillGovernance({ skillId, skillKey, skillVersionId } = {}) {
|
|
4100
|
-
return this._request('/api/operator/skills/governance', {
|
|
4101
|
-
query: { skill_id: skillId, skill_key: skillKey, skill_version_id: skillVersionId },
|
|
4102
|
-
});
|
|
4103
|
-
}
|
|
4104
|
-
|
|
4105
|
-
async createSkillContractDraft(body) {
|
|
4106
|
-
return this._request('/api/operator/skills/contracts/drafts', { method: 'POST', body });
|
|
4107
|
-
}
|
|
4108
|
-
|
|
4109
|
-
async recordSkillPatternReview(skillVersionId, body) {
|
|
4110
|
-
return this._request(`/api/operator/skills/contracts/${skillVersionId}/pattern-reviews`, {
|
|
4111
|
-
method: 'POST', body,
|
|
4112
|
-
});
|
|
4113
|
-
}
|
|
4114
|
-
|
|
4115
|
-
async approveSkillContract(skillVersionId, body = {}) {
|
|
4116
|
-
return this._request(`/api/operator/skills/contracts/${skillVersionId}/approve`, {
|
|
4117
|
-
method: 'POST', body,
|
|
4118
|
-
});
|
|
4119
|
-
}
|
|
4120
|
-
|
|
4121
|
-
async createWorkflowSkillContract(body) {
|
|
4122
|
-
return this._request('/api/skills/workflow-contracts', { method: 'POST', body });
|
|
4123
|
-
}
|
|
4124
|
-
|
|
4125
|
-
async listWorkflowSkillBindings(workflowId, { workflowStepId } = {}) {
|
|
4126
|
-
return this._request(`/api/workflows/${workflowId}/skill-bindings`, {
|
|
4127
|
-
query: { workflow_step_id: workflowStepId },
|
|
4128
|
-
});
|
|
4129
|
-
}
|
|
4130
|
-
|
|
4131
|
-
async seedFrequentOperationSkills({ createdBy } = {}) {
|
|
4132
|
-
return this._request('/api/operator/skills/seed-frequent-operations', {
|
|
4133
|
-
method: 'POST',
|
|
4134
|
-
body: { created_by: createdBy },
|
|
4135
|
-
});
|
|
4136
|
-
}
|
|
4137
|
-
|
|
4138
|
-
// ─── Skill Governance ──────────────────────────────────────────────────────
|
|
4139
|
-
|
|
4140
|
-
async createSkillGovernanceChange(body) {
|
|
4141
|
-
return this._request('/api/operator/skill-governance/changes', { method: 'POST', body });
|
|
4142
|
-
}
|
|
4143
|
-
|
|
4144
|
-
async listSkillGovernanceChanges({ limit, processStatus, changeStatus } = {}) {
|
|
4145
|
-
return this._request('/api/operator/skill-governance/changes', {
|
|
4146
|
-
query: { limit, process_status: processStatus, change_status: changeStatus },
|
|
4147
|
-
});
|
|
4148
|
-
}
|
|
4149
|
-
|
|
4150
|
-
async getSkillGovernanceChange(governanceChangeId) {
|
|
4151
|
-
return this._request(`/api/operator/skill-governance/changes/${governanceChangeId}`);
|
|
4152
|
-
}
|
|
4153
|
-
|
|
4154
|
-
// ─── Capabilities ──────────────────────────────────────────────────────────
|
|
4155
|
-
|
|
4156
|
-
async listCapabilities() {
|
|
4157
|
-
return this._request('/api/capabilities');
|
|
4158
|
-
}
|
|
4159
|
-
|
|
4160
|
-
async createCapability(body) {
|
|
4161
|
-
return this._request('/api/capabilities', { method: 'POST', body });
|
|
4162
|
-
}
|
|
4163
|
-
|
|
4164
|
-
async testCapability(capabilityId, body = {}) {
|
|
4165
|
-
return this._request(`/api/capabilities/${capabilityId}/test`, { method: 'POST', body });
|
|
4166
|
-
}
|
|
4167
|
-
|
|
4168
|
-
// ─── Tool Registry ─────────────────────────────────────────────────────────
|
|
4169
|
-
|
|
4170
|
-
async currentToolRegistryStatus() {
|
|
4171
|
-
return this._request('/api/operator/current-tool-registry-status');
|
|
4172
|
-
}
|
|
4173
|
-
|
|
4174
|
-
async getWorkflowToolRegistry({ workflowId, workflowSlug } = {}) {
|
|
4175
|
-
return this._request('/api/operator/workflow-tool-registry', {
|
|
4176
|
-
query: { workflow_id: workflowId, workflow_slug: workflowSlug },
|
|
4177
|
-
});
|
|
4178
|
-
}
|
|
4179
|
-
|
|
4180
|
-
async currentAssistantToolContext() {
|
|
4181
|
-
return this._request('/api/operator/current-assistant-tool-context');
|
|
4182
|
-
}
|
|
4183
|
-
|
|
4184
|
-
async getTool(toolKey) {
|
|
4185
|
-
return this._request(`/api/tools/${toolKey}`);
|
|
4186
|
-
}
|
|
4187
|
-
|
|
4188
|
-
async getToolHistory(toolKey) {
|
|
4189
|
-
return this._request(`/api/tools/${toolKey}/history`);
|
|
4190
|
-
}
|
|
4191
|
-
|
|
4192
|
-
async getToolInvocations(toolKey) {
|
|
4193
|
-
return this._request(`/api/tools/${toolKey}/invocations`);
|
|
4194
|
-
}
|
|
4195
|
-
|
|
4196
|
-
async getToolGovernance(toolKey) {
|
|
4197
|
-
return this._request(`/api/tools/${toolKey}/governance`);
|
|
4198
|
-
}
|
|
4199
|
-
|
|
4200
|
-
async getToolEventReplayBundle(toolEventSummaryId) {
|
|
4201
|
-
return this._request(`/api/operator/tool-events/${toolEventSummaryId}/replay-bundle`);
|
|
4202
|
-
}
|
|
4203
|
-
|
|
4204
|
-
async createToolReviewDecision(toolKey, body) {
|
|
4205
|
-
return this._request(`/api/governance/tools/${toolKey}/review-decisions`, {
|
|
4206
|
-
method: 'POST', body,
|
|
4207
|
-
});
|
|
4208
|
-
}
|
|
4209
|
-
|
|
4210
|
-
async createToolGateDecision(toolKey, body) {
|
|
4211
|
-
return this._request(`/api/governance/tools/${toolKey}/gate-decisions`, {
|
|
4212
|
-
method: 'POST', body,
|
|
4213
|
-
});
|
|
4214
|
-
}
|
|
4215
|
-
|
|
4216
|
-
// ─── Context Assembly ──────────────────────────────────────────────────────
|
|
4217
|
-
|
|
4218
|
-
async getContextAssemblyContract(workflowRunId, { stepRunId } = {}) {
|
|
4219
|
-
return this._request(`/api/context-assembly/workflow-runs/${workflowRunId}/contract`, {
|
|
4220
|
-
query: { step_run_id: stepRunId },
|
|
4221
|
-
});
|
|
4222
|
-
}
|
|
4223
|
-
|
|
4224
|
-
async getContextAssemblyStatus(workflowRunId, { stepRunId } = {}) {
|
|
4225
|
-
return this._request(`/api/context-assembly/workflow-runs/${workflowRunId}/status`, {
|
|
4226
|
-
query: { step_run_id: stepRunId },
|
|
4227
|
-
});
|
|
4228
|
-
}
|
|
4229
|
-
|
|
4230
|
-
async getOperatorContext(workflowRunId, { stepRunId } = {}) {
|
|
4231
|
-
return this._request(`/api/operator/runs/${workflowRunId}/context`, {
|
|
4232
|
-
query: { step_run_id: stepRunId },
|
|
4233
|
-
});
|
|
4234
|
-
}
|
|
4235
|
-
|
|
4236
|
-
async getContextFragments(workflowRunId, { stepRunId } = {}) {
|
|
4237
|
-
return this._request(`/api/operator/runs/${workflowRunId}/context/fragments`, {
|
|
4238
|
-
query: { step_run_id: stepRunId },
|
|
4239
|
-
});
|
|
4240
|
-
}
|
|
4241
|
-
|
|
4242
|
-
async getContextReuse(workflowRunId, { stepRunId } = {}) {
|
|
4243
|
-
return this._request(`/api/operator/runs/${workflowRunId}/context/reuse`, {
|
|
4244
|
-
query: { step_run_id: stepRunId },
|
|
4245
|
-
});
|
|
4246
|
-
}
|
|
4247
|
-
|
|
4248
|
-
async listPromptAssemblies(workflowRunId) {
|
|
4249
|
-
return this._request(`/api/operator/workflow-runs/${workflowRunId}/prompt-assemblies`);
|
|
4250
|
-
}
|
|
4251
|
-
|
|
4252
|
-
// ─── Performance ───────────────────────────────────────────────────────────
|
|
4253
|
-
|
|
4254
|
-
async getSessionPerformanceMetrics({ clientType, workflowRunId, sessionId } = {}) {
|
|
4255
|
-
return this._request('/api/operator/performance/sessions', {
|
|
4256
|
-
query: { client_type: clientType, workflow_run_id: workflowRunId, session_id: sessionId },
|
|
4257
|
-
});
|
|
4258
|
-
}
|
|
4259
|
-
|
|
4260
|
-
async captureBenchmarkSnapshot(body) {
|
|
4261
|
-
return this._request('/api/operator/performance/benchmarks', { method: 'POST', body });
|
|
4262
|
-
}
|
|
4263
|
-
|
|
4264
|
-
async listBenchmarks({ benchmarkScope } = {}) {
|
|
4265
|
-
return this._request('/api/operator/performance/benchmarks', {
|
|
4266
|
-
query: { benchmark_scope: benchmarkScope },
|
|
4267
|
-
});
|
|
4268
|
-
}
|
|
4269
|
-
|
|
4270
|
-
async getBenchmarkMetrics(benchmarkName) {
|
|
4271
|
-
return this._request(`/api/operator/performance/benchmarks/${benchmarkName}/metrics`);
|
|
4272
|
-
}
|
|
4273
|
-
|
|
4274
|
-
async getBenchmarkDelta({ baseline, current } = {}) {
|
|
4275
|
-
return this._request('/api/operator/performance/delta', { query: { baseline, current } });
|
|
4276
|
-
}
|
|
4277
|
-
|
|
4278
|
-
async getBenchmarkTrend({ metricKey, dimensionValue, limit } = {}) {
|
|
4279
|
-
return this._request('/api/operator/performance/trend', {
|
|
4280
|
-
query: { metric_key: metricKey, dimension_value: dimensionValue, limit },
|
|
4281
|
-
});
|
|
4282
|
-
}
|
|
4283
|
-
|
|
4284
|
-
async getPerformanceDashboard({ clientType, workflowRunId } = {}) {
|
|
4285
|
-
return this._request('/api/operator/performance/dashboard', {
|
|
4286
|
-
query: { client_type: clientType, workflow_run_id: workflowRunId },
|
|
4287
|
-
});
|
|
4288
|
-
}
|
|
4289
|
-
|
|
4290
|
-
// ─── Portfolio ─────────────────────────────────────────────────────────────
|
|
4291
|
-
|
|
4292
|
-
async getPortfolioStatus({ projectId } = {}) {
|
|
4293
|
-
return this._request('/api/operator/portfolio/status', { query: { project_id: projectId } });
|
|
4294
|
-
}
|
|
4295
|
-
|
|
4296
|
-
async getPortfolioSummary() {
|
|
4297
|
-
return this._request('/api/operator/portfolio/summary');
|
|
4298
|
-
}
|
|
4299
|
-
|
|
4300
|
-
async getPortfolioExceptions() {
|
|
4301
|
-
return this._request('/api/operator/portfolio/exceptions');
|
|
4302
|
-
}
|
|
4303
|
-
|
|
4304
|
-
async getPortfolioProject(projectId) {
|
|
4305
|
-
return this._request(`/api/operator/portfolio/projects/${projectId}`);
|
|
4306
|
-
}
|
|
4307
|
-
|
|
4308
|
-
async getPortfolioReport() {
|
|
4309
|
-
return this._request('/api/operator/portfolio/report');
|
|
4310
|
-
}
|
|
4311
|
-
|
|
4312
|
-
async getPortfolioBundle() {
|
|
4313
|
-
return this._request('/api/operator/portfolio/bundle');
|
|
4314
|
-
}
|
|
4315
|
-
|
|
4316
|
-
async getPortfolioClosureReadiness({
|
|
4317
|
-
projectLimit = 25,
|
|
4318
|
-
includeInactive = false,
|
|
4319
|
-
includeLogaPortfolioProjection = false,
|
|
4320
|
-
includeLogaRoadmapProjections = false,
|
|
4321
|
-
} = {}) {
|
|
4322
|
-
return this.portfolio.getPortfolioClosureReadiness({
|
|
4323
|
-
projectLimit,
|
|
4324
|
-
includeInactive,
|
|
4325
|
-
includeLogaPortfolioProjection,
|
|
4326
|
-
includeLogaRoadmapProjections,
|
|
4327
|
-
});
|
|
4328
|
-
}
|
|
4329
|
-
|
|
4330
|
-
async registerModernizationAsset(request = {}) {
|
|
4331
|
-
return this.workflowComposition.registerModernizationAsset(request);
|
|
4332
|
-
}
|
|
4333
|
-
|
|
4334
|
-
async classifyModernizationAsset(request = {}) {
|
|
4335
|
-
return this.workflowComposition.classifyModernizationAsset(request);
|
|
4336
|
-
}
|
|
4337
|
-
|
|
4338
|
-
async discoverSalvageCandidates(request = {}) {
|
|
4339
|
-
return this.workflowComposition.discoverSalvageCandidates(request);
|
|
4340
|
-
}
|
|
4341
|
-
|
|
4342
|
-
async createModernizationWorkPacket(request = {}) {
|
|
4343
|
-
return this.workflowComposition.createModernizationWorkPacket(request);
|
|
4344
|
-
}
|
|
4345
|
-
|
|
4346
|
-
async requestModernizationWrapperExecution(request = {}) {
|
|
4347
|
-
return this.workflowComposition.requestModernizationWrapperExecution(request);
|
|
4348
|
-
}
|
|
4349
|
-
|
|
4350
|
-
async getModernizationWrapperEvidence(request = {}) {
|
|
4351
|
-
return this.workflowComposition.getModernizationWrapperEvidence(request);
|
|
4352
|
-
}
|
|
4353
|
-
|
|
4354
|
-
async decideModernizationGate(request = {}) {
|
|
4355
|
-
return this.workflowComposition.decideModernizationGate(request);
|
|
4356
|
-
}
|
|
4357
|
-
// ─── Self-Learning ─────────────────────────────────────────────────────────
|
|
4358
|
-
|
|
4359
|
-
async getSelfLearningPosture({ workflowRunId, limit } = {}) {
|
|
4360
|
-
return this._request('/api/operator/self-learning/posture', {
|
|
4361
|
-
query: { workflow_run_id: workflowRunId, limit },
|
|
4362
|
-
});
|
|
4363
|
-
}
|
|
4364
|
-
|
|
4365
|
-
async listLearningRecords({ workflowRunId, learningCategory, promotionReadiness, limit } = {}) {
|
|
4366
|
-
return this._request('/api/operator/self-learning/records', {
|
|
4367
|
-
query: {
|
|
4368
|
-
workflow_run_id: workflowRunId,
|
|
4369
|
-
learning_category: learningCategory,
|
|
4370
|
-
promotion_readiness: promotionReadiness,
|
|
4371
|
-
limit,
|
|
4372
|
-
},
|
|
4373
|
-
});
|
|
4374
|
-
}
|
|
4375
|
-
|
|
4376
|
-
async getLearningRecord(learningRecordId) {
|
|
4377
|
-
return this._request(`/api/operator/self-learning/records/${learningRecordId}`);
|
|
4378
|
-
}
|
|
4379
|
-
|
|
4380
|
-
async listPromotionCandidates({ workflowRunId, learningCategory, promotionReadiness, limit } = {}) {
|
|
4381
|
-
return this._request('/api/operator/self-learning/promotion-candidates', {
|
|
4382
|
-
query: {
|
|
4383
|
-
workflow_run_id: workflowRunId,
|
|
4384
|
-
learning_category: learningCategory,
|
|
4385
|
-
promotion_readiness: promotionReadiness,
|
|
4386
|
-
limit,
|
|
4387
|
-
},
|
|
4388
|
-
});
|
|
4389
|
-
}
|
|
4390
|
-
|
|
4391
|
-
async getPromotionCandidate(candidateKey) {
|
|
4392
|
-
return this._request(`/api/operator/self-learning/promotion-candidates/${candidateKey}`);
|
|
4393
|
-
}
|
|
4394
|
-
|
|
4395
|
-
async listPromotionFlows({ flowStatus, targetType, candidateKey, limit } = {}) {
|
|
4396
|
-
return this._request('/api/operator/self-learning/promotion-flows', {
|
|
4397
|
-
query: {
|
|
4398
|
-
flow_status: flowStatus,
|
|
4399
|
-
target_type: targetType,
|
|
4400
|
-
candidate_key: candidateKey,
|
|
4401
|
-
limit,
|
|
4402
|
-
},
|
|
4403
|
-
});
|
|
4404
|
-
}
|
|
4405
|
-
|
|
4406
|
-
// ─── Self-Optimization ─────────────────────────────────────────────────────
|
|
4407
|
-
|
|
4408
|
-
async getSelfOptimizationDashboard() {
|
|
4409
|
-
return this._request('/api/operator/self-optimization/dashboard');
|
|
4410
|
-
}
|
|
4411
|
-
|
|
4412
|
-
async getSelfOptimizationCandidateQueue({ objectiveCategory, impactPosture, blockedByDefault, limit } = {}) {
|
|
4413
|
-
return this._request('/api/operator/self-optimization/candidate-queue', {
|
|
4414
|
-
query: {
|
|
4415
|
-
objective_category: objectiveCategory,
|
|
4416
|
-
impact_posture: impactPosture,
|
|
4417
|
-
blocked_by_default: blockedByDefault,
|
|
4418
|
-
limit,
|
|
4419
|
-
},
|
|
4420
|
-
});
|
|
4421
|
-
}
|
|
4422
|
-
|
|
4423
|
-
async getSelfOptimizationBacklogPosture({ snapshotKey } = {}) {
|
|
4424
|
-
return this._request('/api/operator/self-optimization/backlog-posture', {
|
|
4425
|
-
query: { snapshot_key: snapshotKey },
|
|
4426
|
-
});
|
|
4427
|
-
}
|
|
4428
|
-
|
|
4429
|
-
async getSelfOptimizationPendingHandoffs({ downstreamLane } = {}) {
|
|
4430
|
-
return this._request('/api/operator/self-optimization/pending-handoffs', {
|
|
4431
|
-
query: { downstream_lane: downstreamLane },
|
|
4432
|
-
});
|
|
4433
|
-
}
|
|
4434
|
-
|
|
4435
|
-
// ─── Design Intelligence ───────────────────────────────────────────────────
|
|
4436
|
-
|
|
4437
|
-
async getDesignIntelligenceDashboard() {
|
|
4438
|
-
return this._request('/api/design-intelligence/dashboard');
|
|
4439
|
-
}
|
|
4440
|
-
|
|
4441
|
-
async listDesignDecisions() {
|
|
4442
|
-
return this._request('/api/design-intelligence/decisions');
|
|
4443
|
-
}
|
|
4444
|
-
|
|
4445
|
-
async getDesignDecision(decisionId) {
|
|
4446
|
-
return this._request(`/api/design-intelligence/decisions/${decisionId}`);
|
|
4447
|
-
}
|
|
4448
|
-
|
|
4449
|
-
async getDesignDecisionVariants(decisionId) {
|
|
4450
|
-
return this._request(`/api/design-intelligence/decisions/${decisionId}/variants`);
|
|
4451
|
-
}
|
|
4452
|
-
|
|
4453
|
-
async getDesignDecisionCritique(decisionId) {
|
|
4454
|
-
return this._request(`/api/design-intelligence/decisions/${decisionId}/critique`);
|
|
4455
|
-
}
|
|
4456
|
-
|
|
4457
|
-
async getDesignDecisionLineage(decisionId) {
|
|
4458
|
-
return this._request(`/api/design-intelligence/decisions/${decisionId}/lineage`);
|
|
4459
|
-
}
|
|
4460
|
-
|
|
4461
|
-
async listDesignPatterns() {
|
|
4462
|
-
return this._request('/api/design-intelligence/patterns');
|
|
4463
|
-
}
|
|
4464
|
-
|
|
4465
|
-
async getDecisionLabCanvas() {
|
|
4466
|
-
return this._request('/api/design-intelligence/decision-lab/canvas');
|
|
4467
|
-
}
|
|
4468
|
-
|
|
4469
|
-
async getDesignRecommendations() {
|
|
4470
|
-
return this._request('/api/design-intelligence/recommendations');
|
|
4471
|
-
}
|
|
4472
|
-
|
|
4473
|
-
async getDesignPromotions() {
|
|
4474
|
-
return this._request('/api/design-intelligence/promotions');
|
|
4475
|
-
}
|
|
4476
|
-
|
|
4477
|
-
async previewDesignPromotion(body) {
|
|
4478
|
-
return this._request('/api/design-intelligence/promotions/preview', { method: 'POST', body });
|
|
4479
|
-
}
|
|
4480
|
-
|
|
4481
|
-
async getDesignIntelligenceMetrics() {
|
|
4482
|
-
return this._request('/api/design-intelligence/metrics');
|
|
4483
|
-
}
|
|
4484
|
-
|
|
4485
|
-
// ─── Script Discovery ──────────────────────────────────────────────────────
|
|
4486
|
-
|
|
4487
|
-
async scanScripts(body = {}) {
|
|
4488
|
-
return this._request('/api/script-discovery/scan', { method: 'POST', body });
|
|
4489
|
-
}
|
|
4490
|
-
|
|
4491
|
-
async listDiscoveredScriptAssets({ limit } = {}) {
|
|
4492
|
-
return this._request('/api/script-discovery/script-assets', { query: { limit } });
|
|
4493
|
-
}
|
|
4494
|
-
|
|
4495
|
-
async listDiscoveredCapabilities({ limit } = {}) {
|
|
4496
|
-
return this._request('/api/script-discovery/discovered-capabilities', { query: { limit } });
|
|
4497
|
-
}
|
|
4498
|
-
|
|
4499
|
-
async listWorkflowCandidates({ limit } = {}) {
|
|
4500
|
-
return this._request('/api/script-discovery/workflow-candidates', { query: { limit } });
|
|
4501
|
-
}
|
|
4502
|
-
|
|
4503
|
-
async promoteWorkflowCandidate(workflowCandidateId, body = {}) {
|
|
4504
|
-
return this._request(`/api/script-discovery/workflow-candidates/${workflowCandidateId}/promote`, {
|
|
4505
|
-
method: 'POST', body,
|
|
4506
|
-
});
|
|
4507
|
-
}
|
|
4508
|
-
|
|
4509
|
-
// ─── Notes Lab ─────────────────────────────────────────────────────────────
|
|
4510
|
-
|
|
4511
|
-
async getNotesLabConfig() {
|
|
4512
|
-
return this._request('/api/notes-lab/config');
|
|
4513
|
-
}
|
|
4514
|
-
|
|
4515
|
-
async submitNote(body) {
|
|
4516
|
-
return this._request('/api/notes-lab/submit', { method: 'POST', body });
|
|
4517
|
-
}
|
|
4518
|
-
|
|
4519
|
-
async approveNoteReview(body) {
|
|
4520
|
-
return this._request('/api/notes-lab/approve-review', { method: 'POST', body });
|
|
4521
|
-
}
|
|
4522
|
-
|
|
4523
|
-
// ─── Search & Contacts ─────────────────────────────────────────────────────
|
|
4524
|
-
|
|
4525
|
-
async search(query) {
|
|
4526
|
-
return this._request('/api/search', { query: { q: query } });
|
|
4527
|
-
}
|
|
4528
|
-
|
|
4529
|
-
async getOrganization(entityId) {
|
|
4530
|
-
return this._request(`/api/organizations/${entityId}`);
|
|
4531
|
-
}
|
|
4532
|
-
|
|
4533
|
-
async getContact(contactId) {
|
|
4534
|
-
return this._request(`/api/contacts/${contactId}`);
|
|
4535
|
-
}
|
|
4536
|
-
|
|
4537
|
-
// ─── Benchmarks ────────────────────────────────────────────────────────────
|
|
4538
|
-
|
|
4539
|
-
async listRecentBenchmarkRuns({ limit } = {}) {
|
|
4540
|
-
return this._request('/api/benchmarks/reasoners/runs/recent', { query: { limit } });
|
|
4541
|
-
}
|
|
4542
|
-
|
|
4543
|
-
async getBenchmarkRun(benchmarkRunId) {
|
|
4544
|
-
return this._request(`/api/benchmarks/reasoners/runs/${benchmarkRunId}`);
|
|
4545
|
-
}
|
|
4546
|
-
|
|
4547
|
-
// ─── Commit Governance ────────────────────────────────────────────────────
|
|
4548
|
-
|
|
4549
|
-
async evaluateCommitGovernance(request = {}) {
|
|
4550
|
-
return this.commitGovernance.evaluateCommitGovernance(request);
|
|
4551
|
-
}
|
|
4552
|
-
|
|
4553
|
-
async checkGitShipReadiness(request = {}) {
|
|
4554
|
-
return this.commitGovernance.checkGitShipReadiness(request);
|
|
4555
|
-
}
|
|
4556
|
-
|
|
4557
|
-
async getCommitGovernanceEvaluation(evaluationId) {
|
|
4558
|
-
return this.commitGovernance.getCommitGovernanceEvaluation(evaluationId);
|
|
4559
|
-
}
|
|
4560
|
-
|
|
4561
|
-
async listCommitGovernanceEvaluationsByClaim(claimId, { limit } = {}) {
|
|
4562
|
-
return this.commitGovernance.listCommitGovernanceEvaluationsByClaim(claimId, { limit });
|
|
4563
|
-
}
|
|
4564
|
-
|
|
4565
|
-
// ─── Context Session Orientation ──────────────────────────────────────────
|
|
4566
|
-
|
|
4567
|
-
async openContextSession(request = {}) {
|
|
4568
|
-
return this.contextSessions.openContextSession(request);
|
|
4569
|
-
}
|
|
4570
|
-
|
|
4571
|
-
async getOrientationWindow(contextSessionId) {
|
|
4572
|
-
return this.contextSessions.getOrientationWindow(contextSessionId);
|
|
4573
|
-
}
|
|
4574
|
-
|
|
4575
|
-
async acknowledgeReminder(contextSessionId, request = {}) {
|
|
4576
|
-
return this.contextSessions.acknowledgeReminder(contextSessionId, request);
|
|
4577
|
-
}
|
|
4578
|
-
|
|
4579
|
-
async completeOrientation(contextSessionId) {
|
|
4580
|
-
return this.contextSessions.completeOrientation(contextSessionId);
|
|
4581
|
-
}
|
|
4582
|
-
|
|
4583
|
-
async lockContextSessionClaim(input) {
|
|
4584
|
-
return this.contextSessions.lockContextSessionClaim(input);
|
|
4585
|
-
}
|
|
4586
|
-
|
|
4587
|
-
async getContextSessionGateStatus(contextSessionId) {
|
|
4588
|
-
return this.contextSessions.getContextSessionGateStatus(contextSessionId);
|
|
4589
|
-
}
|
|
4590
|
-
|
|
4591
|
-
async conductOrientation(request = {}) {
|
|
4592
|
-
return this.contextOrientation.conductOrientation(request);
|
|
4593
|
-
}
|
|
4594
|
-
|
|
4595
|
-
// ─── Core HTTP ─────────────────────────────────────────────────────────────
|
|
4596
|
-
|
|
4597
|
-
async _resolveAccessToken() {
|
|
4598
|
-
return resolveAccessToken(this);
|
|
4599
|
-
}
|
|
4600
|
-
|
|
4601
|
-
async _buildHeaders({ headers, body, accept }) {
|
|
4602
|
-
return buildHeaders(this, { headers, body, accept });
|
|
4603
|
-
}
|
|
4604
|
-
|
|
4605
|
-
async _assertExecutionEligibility(body = {}) {
|
|
4606
|
-
return this.executionEligibility._assertExecutionEligibility(body);
|
|
4607
|
-
}
|
|
4608
|
-
|
|
4609
|
-
async _request(path, { method = 'GET', query, headers, body } = {}) {
|
|
4610
|
-
return requestJson(this, path, { method, query, headers, body });
|
|
4611
|
-
}
|
|
4612
|
-
|
|
4613
|
-
async _requestText(path, { method = 'GET', query, headers, body } = {}) {
|
|
4614
|
-
return requestText(this, path, { method, query, headers, body });
|
|
4615
|
-
}
|
|
4616
|
-
|
|
4617
|
-
async _requestLogaProjection(path, options = {}) {
|
|
4618
|
-
return requestLogaProjection(this, path, options);
|
|
4619
|
-
}
|
|
4620
|
-
|
|
4621
|
-
async _requestBinary(path, { method = 'GET', query, headers, body } = {}) {
|
|
4622
|
-
return requestBinary(this, path, { method, query, headers, body });
|
|
4623
|
-
}
|
|
4624
|
-
}
|
|
4625
|
-
|
|
4626
|
-
export function createAIEngineClient(options) {
|
|
4627
|
-
return new AIEngineClient(options);
|
|
4628
|
-
}
|
|
2882
|
+
installClientCompatibilityDelegates(AIEngineClient);
|