@bpmsoftwaresolutions/ai-engine-client 1.1.89 → 1.1.90
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 +227 -1849
- 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/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/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,140 @@ export class AIEngineClient {
|
|
|
2936
2691
|
});
|
|
2937
2692
|
}
|
|
2938
2693
|
|
|
2939
|
-
async
|
|
2940
|
-
|
|
2941
|
-
|
|
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,
|
|
2694
|
+
async getPortfolioClosureReadiness({
|
|
2695
|
+
projectLimit = 25,
|
|
2696
|
+
includeInactive = false,
|
|
2697
|
+
includeLogaPortfolioProjection = false,
|
|
2698
|
+
includeLogaRoadmapProjections = false,
|
|
3043
2699
|
} = {}) {
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
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
|
-
}
|
|
2700
|
+
const portfolioBundle = await this._request('/api/operator/portfolio/bundle');
|
|
2701
|
+
const projectListPayload = await this.projects.listProjects({ limit: projectLimit, includeInactive });
|
|
2702
|
+
|
|
2703
|
+
const bundleProjects = Array.isArray(portfolioBundle?.projects)
|
|
2704
|
+
? portfolioBundle.projects.filter((project) => isPlainObject(project))
|
|
2705
|
+
: [];
|
|
2706
|
+
const listedProjects = Array.isArray(projectListPayload?.projects)
|
|
2707
|
+
? projectListPayload.projects.filter((project) => isPlainObject(project))
|
|
2708
|
+
: Array.isArray(projectListPayload)
|
|
2709
|
+
? projectListPayload.filter((project) => isPlainObject(project))
|
|
2710
|
+
: [];
|
|
2711
|
+
const activeProjects = listedProjects.length > 0 ? listedProjects : bundleProjects;
|
|
2712
|
+
const logaPortfolioProjection = includeLogaPortfolioProjection
|
|
2713
|
+
? await this.getLogaProjectPortfolioProjection()
|
|
2714
|
+
: null;
|
|
2715
|
+
const logaRoadmapProjections = {};
|
|
3083
2716
|
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
2717
|
+
const projectReadiness = [];
|
|
2718
|
+
for (const project of activeProjects) {
|
|
2719
|
+
const projectId = cleanText(project.project_id) || cleanText(project.projectId);
|
|
2720
|
+
if (!projectId) {
|
|
2721
|
+
continue;
|
|
2722
|
+
}
|
|
3087
2723
|
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
2724
|
+
const roadmapSummaryPayload = await this.getProjectRoadmapSummary(projectId);
|
|
2725
|
+
const roadmapSummary = isPlainObject(roadmapSummaryPayload?.summary) ? roadmapSummaryPayload.summary : {};
|
|
2726
|
+
const activeItemPayload = await this.getProjectRoadmapActiveItem(projectId);
|
|
2727
|
+
const activeItem = isPlainObject(activeItemPayload?.active_item)
|
|
2728
|
+
? activeItemPayload.active_item
|
|
2729
|
+
: isPlainObject(activeItemPayload)
|
|
2730
|
+
? activeItemPayload
|
|
2731
|
+
: {};
|
|
2732
|
+
const openTasksPayload = await this.listProjectOpenTasks(projectId);
|
|
2733
|
+
const openTasks = Array.isArray(openTasksPayload?.tasks)
|
|
2734
|
+
? openTasksPayload.tasks.filter((task) => isPlainObject(task))
|
|
2735
|
+
: Array.isArray(openTasksPayload)
|
|
2736
|
+
? openTasksPayload.filter((task) => isPlainObject(task))
|
|
2737
|
+
: [];
|
|
2738
|
+
|
|
2739
|
+
const activeItemStatus = cleanText(activeItem.item_status) || cleanText(activeItem.status);
|
|
2740
|
+
const completionPercentage = Number(
|
|
2741
|
+
roadmapSummary.completion_percentage
|
|
2742
|
+
?? roadmapSummary.completion_pct
|
|
2743
|
+
?? roadmapSummary.progress_percentage
|
|
2744
|
+
?? 0,
|
|
2745
|
+
);
|
|
2746
|
+
const totalItems = Number(
|
|
2747
|
+
roadmapSummary.total_items
|
|
2748
|
+
?? roadmapSummary.item_count
|
|
2749
|
+
?? roadmapSummary.total_count
|
|
2750
|
+
?? 0,
|
|
2751
|
+
);
|
|
2752
|
+
const openItems = Number(
|
|
2753
|
+
roadmapSummary.open_items
|
|
2754
|
+
?? roadmapSummary.open_item_count
|
|
2755
|
+
?? roadmapSummary.remaining_items
|
|
2756
|
+
?? openTasks.length,
|
|
2757
|
+
);
|
|
2758
|
+
const terminalStatuses = new Set(['accepted', 'verified', 'done', 'completed', 'closed']);
|
|
2759
|
+
const activeItemReady = !activeItemStatus || terminalStatuses.has(activeItemStatus.toLowerCase());
|
|
2760
|
+
const projectReady = openItems === 0 && openTasks.length === 0 && activeItemReady && completionPercentage >= 100;
|
|
2761
|
+
const blockingReason = projectReady
|
|
2762
|
+
? null
|
|
2763
|
+
: [
|
|
2764
|
+
openTasks.length > 0 ? `${openTasks.length} open task(s) remain` : null,
|
|
2765
|
+
openItems > 0 ? `${openItems} roadmap item(s) remain open` : null,
|
|
2766
|
+
!activeItemReady ? `active item status is ${activeItemStatus || 'missing'}` : null,
|
|
2767
|
+
completionPercentage < 100 ? `completion is ${completionPercentage.toFixed(1)}%` : null,
|
|
2768
|
+
].filter(Boolean).join('; ') || 'portfolio closure readiness is not satisfied';
|
|
2769
|
+
|
|
2770
|
+
const roadmapCompletion = {
|
|
2771
|
+
completion_percentage: completionPercentage,
|
|
2772
|
+
total_items: totalItems,
|
|
2773
|
+
open_items: openItems,
|
|
2774
|
+
completed_items: Math.max(totalItems - openItems, 0),
|
|
2775
|
+
};
|
|
2776
|
+
const projectReadinessEntry = {
|
|
2777
|
+
project: {
|
|
2778
|
+
project_id: projectId,
|
|
2779
|
+
project_name: cleanText(project.project_name) || cleanText(project.projectName) || null,
|
|
2780
|
+
project_slug: cleanText(project.project_slug) || cleanText(project.projectSlug) || null,
|
|
2781
|
+
process_status: cleanText(project.process_status) || cleanText(project.processStatus) || null,
|
|
2782
|
+
charter_status: cleanText(project.charter_status) || cleanText(project.charterStatus) || null,
|
|
2783
|
+
},
|
|
2784
|
+
roadmap_completion: roadmapCompletion,
|
|
2785
|
+
active_item: activeItem,
|
|
2786
|
+
open_task_count: openTasks.length,
|
|
2787
|
+
closure_ready: projectReady,
|
|
2788
|
+
blocking_reason: blockingReason,
|
|
2789
|
+
};
|
|
2790
|
+
if (includeLogaRoadmapProjections) {
|
|
2791
|
+
projectReadinessEntry.loga_roadmap_projection = await this.getLogaProjectRoadmapProjection(projectId);
|
|
2792
|
+
logaRoadmapProjections[projectId] = projectReadinessEntry.loga_roadmap_projection;
|
|
2793
|
+
}
|
|
2794
|
+
projectReadiness.push(projectReadinessEntry);
|
|
2795
|
+
}
|
|
3091
2796
|
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
}
|
|
2797
|
+
const closureReady = projectReadiness.length === 0 || projectReadiness.every((project) => project.closure_ready === true);
|
|
2798
|
+
const blockingProject = projectReadiness.find((project) => project.closure_ready !== true);
|
|
3095
2799
|
|
|
3096
|
-
|
|
3097
|
-
|
|
2800
|
+
return {
|
|
2801
|
+
portfolio_summary: isPlainObject(portfolioBundle?.summary) ? portfolioBundle.summary : {},
|
|
2802
|
+
portfolio_bundle: portfolioBundle,
|
|
2803
|
+
active_projects: projectReadiness,
|
|
2804
|
+
closure_readiness: closureReady,
|
|
2805
|
+
blocking_reason: closureReady ? null : `${cleanText(blockingProject?.project?.project_name) || cleanText(blockingProject?.project?.project_id) || 'project'}: ${blockingProject?.blocking_reason || 'closure readiness is not satisfied'}`,
|
|
2806
|
+
blocking_project_id: closureReady ? null : cleanText(blockingProject?.project?.project_id),
|
|
2807
|
+
blocking_project_name: closureReady ? null : cleanText(blockingProject?.project?.project_name),
|
|
2808
|
+
project_count: projectReadiness.length,
|
|
2809
|
+
open_task_count: projectReadiness.reduce((total, project) => total + Number(project.open_task_count || 0), 0),
|
|
2810
|
+
loga_portfolio_projection: logaPortfolioProjection,
|
|
2811
|
+
loga_roadmap_projections: includeLogaRoadmapProjections ? logaRoadmapProjections : null,
|
|
2812
|
+
};
|
|
3098
2813
|
}
|
|
3099
2814
|
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
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
|
|
2815
|
+
async getPortfolioStatus({
|
|
2816
|
+
projectId,
|
|
2817
|
+
project_id,
|
|
3130
2818
|
} = {}) {
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
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,
|
|
2819
|
+
return this._request('/api/operator/portfolio/status', {
|
|
2820
|
+
query: {
|
|
2821
|
+
project_id: cleanText(project_id) || cleanText(projectId),
|
|
3152
2822
|
},
|
|
3153
2823
|
});
|
|
3154
2824
|
}
|
|
3155
2825
|
|
|
3156
|
-
|
|
3157
|
-
|
|
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);
|
|
3202
|
-
}
|
|
3203
|
-
|
|
3204
|
-
async runCharter(body = {}) {
|
|
3205
|
-
return this.charters.runCharter(body);
|
|
3206
|
-
}
|
|
3207
|
-
|
|
3208
|
-
async createProjectDelivery(body = {}) {
|
|
3209
|
-
return this.projectChartering.createProjectDelivery(body);
|
|
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);
|
|
2826
|
+
async getPortfolioBundle() {
|
|
2827
|
+
return this._request('/api/operator/portfolio/bundle');
|
|
3234
2828
|
}
|
|
3235
2829
|
|
|
3236
2830
|
async getExternalProjectStatus(projectId) {
|
|
@@ -3284,1345 +2878,129 @@ export class AIEngineClient {
|
|
|
3284
2878
|
return this._requestBinary(`/api/v1/runs/${workflowRunId}/artifacts/${artifactType}/download`);
|
|
3285
2879
|
}
|
|
3286
2880
|
|
|
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
|
-
}
|
|
2881
|
+
// ─── Core HTTP ─────────────────────────────────────────────────────────────
|
|
3318
2882
|
|
|
3319
|
-
async
|
|
3320
|
-
return this
|
|
2883
|
+
async _resolveAccessToken() {
|
|
2884
|
+
return resolveAccessToken(this);
|
|
3321
2885
|
}
|
|
3322
2886
|
|
|
3323
|
-
async
|
|
3324
|
-
return this
|
|
2887
|
+
async _buildHeaders({ headers, body, accept }) {
|
|
2888
|
+
return buildHeaders(this, { headers, body, accept });
|
|
3325
2889
|
}
|
|
3326
2890
|
|
|
3327
|
-
async
|
|
3328
|
-
return this.
|
|
2891
|
+
async _assertExecutionEligibility(body = {}) {
|
|
2892
|
+
return this.executionEligibility._assertExecutionEligibility(body);
|
|
3329
2893
|
}
|
|
3330
2894
|
|
|
3331
|
-
async
|
|
3332
|
-
return this
|
|
2895
|
+
async _request(path, { method = 'GET', query, headers, body } = {}) {
|
|
2896
|
+
return requestJson(this, path, { method, query, headers, body });
|
|
3333
2897
|
}
|
|
3334
2898
|
|
|
3335
|
-
async
|
|
3336
|
-
return this
|
|
2899
|
+
async _requestText(path, { method = 'GET', query, headers, body } = {}) {
|
|
2900
|
+
return requestText(this, path, { method, query, headers, body });
|
|
3337
2901
|
}
|
|
3338
2902
|
|
|
3339
|
-
async
|
|
3340
|
-
return this
|
|
2903
|
+
async _requestLogaProjection(path, options = {}) {
|
|
2904
|
+
return requestLogaProjection(this, path, options);
|
|
3341
2905
|
}
|
|
3342
2906
|
|
|
3343
|
-
async
|
|
3344
|
-
return this
|
|
2907
|
+
async _requestBinary(path, { method = 'GET', query, headers, body } = {}) {
|
|
2908
|
+
return requestBinary(this, path, { method, query, headers, body });
|
|
3345
2909
|
}
|
|
2910
|
+
}
|
|
3346
2911
|
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
2912
|
+
export function createAIEngineClient(options) {
|
|
2913
|
+
return new AIEngineClient(options);
|
|
2914
|
+
}
|
|
3350
2915
|
|
|
3351
|
-
|
|
3352
|
-
|
|
2916
|
+
function defineCompatibilityMethods(proto, targetName, methodNames) {
|
|
2917
|
+
for (const methodName of methodNames) {
|
|
2918
|
+
if (Object.prototype.hasOwnProperty.call(proto, methodName)) continue;
|
|
2919
|
+
Object.defineProperty(proto, methodName, {
|
|
2920
|
+
value: function delegatedClientMethod(...args) {
|
|
2921
|
+
return this[targetName][methodName](...args);
|
|
2922
|
+
},
|
|
2923
|
+
configurable: true,
|
|
2924
|
+
writable: true,
|
|
2925
|
+
});
|
|
3353
2926
|
}
|
|
2927
|
+
}
|
|
3354
2928
|
|
|
3355
|
-
|
|
3356
|
-
|
|
2929
|
+
function defineCompatibilityAliases(proto, targetName, methodMap) {
|
|
2930
|
+
for (const [methodName, targetMethodName] of Object.entries(methodMap)) {
|
|
2931
|
+
if (Object.prototype.hasOwnProperty.call(proto, methodName)) continue;
|
|
2932
|
+
Object.defineProperty(proto, methodName, {
|
|
2933
|
+
value: function delegatedClientMethod(...args) {
|
|
2934
|
+
return this[targetName][targetMethodName](...args);
|
|
2935
|
+
},
|
|
2936
|
+
configurable: true,
|
|
2937
|
+
writable: true,
|
|
2938
|
+
});
|
|
3357
2939
|
}
|
|
2940
|
+
}
|
|
3358
2941
|
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
2942
|
+
function installClientCompatibilityDelegates(ClientClass) {
|
|
2943
|
+
const proto = ClientClass.prototype;
|
|
2944
|
+
defineCompatibilityMethods(proto, 'health', ['ping']);
|
|
2945
|
+
defineCompatibilityMethods(proto, 'operatorStatus', ['currentWorkflowStatus', 'getCurrentWorkflowStatus', 'currentArchitectureIntegrityStatus', 'getCurrentArchitectureIntegrityStatus', 'currentSecurityGovernanceStatus', 'getCurrentSecurityGovernanceStatus', 'getExecutionTelemetryCurrent', 'listExecutionProcessRuns', 'getExecutionProcessRun', 'getGeneratedExecutionUsability', 'getLogaGeneratedExecutionUsabilityProjection', 'getAntiPatternRules', 'currentCodebaseShapeStatus', 'getLatestMemoryProjection', 'currentProjectStatus', 'getDashboard', 'getCommunicationCapabilities', 'getCollaborationCapabilities', 'getDeploymentCapabilities']);
|
|
2946
|
+
defineCompatibilityMethods(proto, 'database', ['query', 'createDatabaseBackup', 'listDatabaseBackups', 'getDatabaseBackup', 'listDatabaseBackupOperations', 'runAzureSqlBacpacBackup', 'listAzureSqlBacpacBackups', 'listAzureSqlBacpacBackupOperations']);
|
|
2947
|
+
defineCompatibilityMethods(proto, 'reports', ['runReport', 'runReportDefinition']);
|
|
2948
|
+
defineCompatibilityMethods(proto, 'retrievalWrapper', ['getCommandCard', 'resolveOperatingProcedure', 'getSymbolDefinition', 'getRelatedCode']);
|
|
2949
|
+
defineCompatibilityMethods(proto, 'repo', ['listRepositories', 'getRepository', 'listCodeFiles', 'getCodeFile', 'getCodeFileContentWindow', 'listCodeSymbolsByFile', 'getCodeSymbol', 'searchSymbols', 'getSymbolRelationships', 'listCodeRelationships', 'listActionObservations', 'listCodebaseShapeFindings', 'listObjectFlowObservations', 'getChangeAnalysis', 'listRefactorCandidates', 'analyzeRefactorCandidate', 'getRepoRetrievalPacket', 'getRepoRetrievalPacketFragments', 'evaluateProposalScope']);
|
|
2950
|
+
defineCompatibilityMethods(proto, 'retrievalManagement', ['getRetrievalStatus', 'getRetrievalProfileMetrics', 'getRetrievalFeedbackMetrics', 'getRetrievalQuery', 'getRetrievalPacket', 'generateRetrievalCandidates', 'selectRetrievalPacket', 'recordRetrievalFeedback', 'deriveRetrievalOptimizationCandidates', 'validatePromptAssembly']);
|
|
2951
|
+
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']);
|
|
2952
|
+
defineCompatibilityMethods(proto, 'projects', ['listProjects', 'getProject', 'listProjectWorkflowRuns', 'closeProject', 'closeActiveProject', 'getProjectBundle', 'listProjectOpenTasks', 'closeRoadmapItemWorkflow']);
|
|
2953
|
+
defineCompatibilityMethods(proto, 'projectChartering', ['createProjectCharter', 'createProjectDelivery', 'approveProjectCharterIntent', 'approveImplementationRoadmap', 'runProjectCharter', 'beginImplementationRoadmap', 'routeImplementationItem']);
|
|
2954
|
+
defineCompatibilityMethods(proto, 'projectReports', ['getProjectCharterReport', 'createProjectMarkdownDownload', 'downloadProjectMarkdownReport', 'downloadProjectCharterReportMarkdown']);
|
|
2955
|
+
defineCompatibilityMethods(proto, 'projectResume', ['resumeProjectWork']);
|
|
2956
|
+
defineCompatibilityMethods(proto, 'roadmaps', ['listProjectRoadmaps', 'getProjectRoadmap', 'getProjectRoadmapSummary', 'getProjectRoadmapActiveItem', 'listProjectOpenTasks', 'getProjectPerformanceMetrics', 'ensureProjectRoadmapTaskSurface']);
|
|
2957
|
+
defineCompatibilityMethods(proto, 'roadmapReports', ['getProjectImplementationRoadmapReport', 'downloadProjectImplementationRoadmapReportMarkdown']);
|
|
2958
|
+
defineCompatibilityMethods(proto, 'implementationTasks', ['createImplementationTask', 'listImplementationTasks', 'listImplementationSubtasks', 'updateImplementationTask', 'assignImplementationTask', 'completeImplementationTask']);
|
|
2959
|
+
defineCompatibilityMethods(proto, 'implementationPackets', ['importImplementationPacket', 'listImplementationPackets', 'getImplementationPacket', 'bindImplementationPacketToWorkflow', 'getWorkflowImplementationRoadmap', 'getWorkflowResumeContext', 'importImplementationPacketAndMaterializeRoadmap']);
|
|
2960
|
+
defineCompatibilityMethods(proto, 'implementationChecks', ['getImplementationItemAcceptanceChecks', 'updateAcceptanceCheckStatus', 'updateAcceptanceCheckStatusVerified']);
|
|
2961
|
+
defineCompatibilityMethods(proto, 'implementationArtifacts', ['getArtifactManifest', 'getDecisionPacket', 'verifyImplementationItemArtifacts']);
|
|
2962
|
+
defineCompatibilityMethods(proto, 'implementationItems', ['updateImplementationItemStatus', 'updateImplementationItemStatusVerified']);
|
|
2963
|
+
defineCompatibilityMethods(proto, 'implementationEvidence', ['addImplementationItemEvidence', 'addImplementationItemActivity', 'listImplementationItemActivity']);
|
|
2964
|
+
defineCompatibilityMethods(proto, 'implementationGates', ['createImplementationPacketGateDecision']);
|
|
2965
|
+
defineCompatibilityMethods(proto, 'workflowTurns', ['completeTurn', 'persistAssistantTurn']);
|
|
2966
|
+
defineCompatibilityMethods(proto, 'claims', ['getClaim', 'claimIsValid', 'signoffClaim', 'promoteClaimSurface']);
|
|
2967
|
+
defineCompatibilityMethods(proto, 'sessionGovernance', ['startSessionGovernance', 'startReviewGovernance', 'evaluateTurnCompliance', 'blockIfNonCompliant']);
|
|
2968
|
+
defineCompatibilityMethods(proto, 'workStart', ['startWork', 'startClaimedWork', 'claimWorkItem', 'bindClaimedWorkItem']);
|
|
2969
|
+
defineCompatibilityMethods(proto, 'executionEligibility', ['getExecutionEligibility', '_assertExecutionEligibility']);
|
|
2970
|
+
defineCompatibilityMethods(proto, 'toolBindingApprovals', ['createWorkflowToolBindingApprovalLane', 'recordWorkflowToolBindingApprovalDecision', 'executeWorkflowToolBindingApprovalBinding', 'revalidateWorkflowToolBindingStartup']);
|
|
2971
|
+
defineCompatibilityMethods(proto, 'verifiedMutations', ['executeVerifiedMutation']);
|
|
2972
|
+
defineCompatibilityMethods(proto, 'charters', ['runCharter']);
|
|
2973
|
+
defineCompatibilityMethods(proto, 'pingPong', ['checkCoordinationPingPongPreflight', 'startCoordinationPingPong', 'sendCoordinationPing', 'sendCoordinationPong', 'getCoordinationPingPongStatus', 'stopCoordinationPingPong']);
|
|
2974
|
+
defineCompatibilityAliases(proto, 'pingPong', { pingAgentCommunicationPeer: 'sendCoordinationPing', pongAgentCommunicationPeer: 'sendCoordinationPong' });
|
|
2975
|
+
defineCompatibilityMethods(proto, 'transferChannels', ['listCommunicationChannels', 'listOpenCommunicationChannels', 'getCommunicationChannelStatus', 'getCommunicationChannelParticipants', 'openTransferChannel', 'joinTransferChannel', 'resumeTransferChannel', 'replyToTransferChannel', 'closeTransferChannel', 'requestTransferClosure', 'openAgentChannel', 'connectToTransferChannel', 'startAgentConnection', 'postAgentHeartbeat', 'closeAgentChannel']);
|
|
2976
|
+
defineCompatibilityMethods(proto, 'messageWatch', ['startMessageWatch', 'acknowledgeExpectedMessage', 'expireMessageWatch', 'respondToMessageWatch', 'acceptAgentChannel', 'resolveMessageWatchId']);
|
|
2977
|
+
defineCompatibilityMethods(proto, 'presence', ['getPresenceBoard', 'getChannelPresence', 'markParticipantOnline', 'markParticipantOffline', 'whoIsOnline', 'findOnlineParticipant', 'sendToParticipant', 'sendToRole', 'postPresenceHeartbeat']);
|
|
2978
|
+
defineCompatibilityMethods(proto, 'collaborationDomain', ['reviewCollaborationProposal', 'reviseCollaborationProposal', 'postCollaborationProposal', 'acceptCollaborationProposal', 'assignCollaborationOwnership', 'raiseCollaborationBlocker', 'resolveCollaborationBlocker', 'postCollaborationHeartbeat', 'beginCollaborationImplementation', 'requestCollaborationClosure']);
|
|
2979
|
+
defineCompatibilityMethods(proto, 'transferBundles', ['transferWorkPacket', 'getTransferBundle', 'listTransferBundles', 'createTransferReceipt', 'listTransferReceipts', 'createCommunicationBundle', 'getCommunicationBundle', 'listCommunicationBundles', 'addCommunicationBundleItem', 'uploadCommunicationBundle', 'attachCommunicationBundleToMessage', 'recordCommunicationBundleReceipt', 'recordCommunicationBundleCleanupEvent', 'claimCommunicationBundle', 'recordCommunicationTransferReceipt']);
|
|
2980
|
+
defineCompatibilityMethods(proto, 'workflowComposition', ['registerModernizationAsset', 'classifyModernizationAsset', 'discoverSalvageCandidates', 'createModernizationWorkPacket', 'requestModernizationWrapperExecution', 'getModernizationWrapperEvidence', 'decideModernizationGate']);
|
|
2981
|
+
defineCompatibilityMethods(proto, 'currentProject', ['currentProjectStatus']);
|
|
2982
|
+
defineCompatibilityMethods(proto, 'projections', ['renderProjection', 'getLogaOperatorHomeProjection', 'getLogaProjectCatalogProjection', 'getLogaProjectPortfolioProjection', 'getLogaProjectRoadmapProjection', 'getLogaRoadmapItemProjection', 'getLogaWorkflowRunProjection', 'getLogaEvidencePacketProjection', 'getLogaTransferHomeProjection', 'getLogaTransferInboxProjection', 'getLogaTransferPacketProjection', 'getLogaTransferNegotiationEventsProjection', 'getLogaTransferFrictionLaneProjection', 'getLogaTransferReceiptsProjection', 'getLogaTransferClosureReviewProjection', 'getTransferChannelProjection']);
|
|
2983
|
+
defineCompatibilityAliases(proto, 'projections', { getLogaTransferChannelThreadProjection: 'getTransferChannelProjection' });
|
|
2984
|
+
defineCompatibilityMethods(proto, 'loga', ['submitUxGateRemediation', 'listUxGateRemediations', 'getUxGateRemediation', 'appendUxRemediationTicketNote', 'listUxRemediationTicketNotes', 'promoteUxGateRemediationImplementationCandidate', 'getLogaUxGateRemediationProjection', 'getUxGateRemediationProjection']);
|
|
2985
|
+
defineCompatibilityMethods(proto, 'actions', ['submitActionIntent']);
|
|
2986
|
+
defineCompatibilityMethods(proto, 'executionTelemetry', ['getExecutionTelemetryCurrent', 'listExecutionProcessRuns', 'getExecutionProcessRun', 'getGeneratedExecutionUsability', 'getLogaGeneratedExecutionUsabilityProjection']);
|
|
2987
|
+
defineCompatibilityMethods(proto, 'scripts', ['generateScript', 'renderScript', 'submitScriptArtifact', 'getScriptRunEvidence']);
|
|
2988
|
+
defineCompatibilityMethods(proto, 'capabilities', ['listCapabilities', 'createCapability', 'testCapability']);
|
|
2989
|
+
defineCompatibilityMethods(proto, 'skills', ['currentSkillRegistryStatus', 'getSkillContract', 'getSkillGovernance', 'createSkillContractDraft', 'recordSkillPatternReview', 'approveSkillContract', 'createWorkflowSkillContract', 'listWorkflowSkillBindings', 'seedFrequentOperationSkills']);
|
|
2990
|
+
defineCompatibilityMethods(proto, 'skillGovernance', ['createSkillGovernanceChange', 'listSkillGovernanceChanges', 'getSkillGovernanceChange']);
|
|
2991
|
+
defineCompatibilityMethods(proto, 'toolRegistry', ['currentToolRegistryStatus', 'getWorkflowToolRegistry', 'currentAssistantToolContext', 'getTool', 'getToolHistory', 'getToolInvocations', 'getToolEventReplayBundle', 'getToolGovernance', 'createToolReviewDecision', 'createToolGateDecision']);
|
|
2992
|
+
defineCompatibilityMethods(proto, 'contextAssembly', ['getContextAssemblyContract', 'getContextAssemblyStatus', 'getOperatorContext', 'getContextFragments', 'getContextReuse', 'listPromptAssemblies']);
|
|
2993
|
+
defineCompatibilityMethods(proto, 'performance', ['getSessionPerformanceMetrics', 'captureBenchmarkSnapshot', 'listBenchmarks', 'getBenchmarkMetrics', 'getBenchmarkDelta', 'getBenchmarkTrend', 'getPerformanceDashboard']);
|
|
2994
|
+
defineCompatibilityMethods(proto, 'selfLearning', ['getSelfLearningPosture', 'listLearningRecords', 'getLearningRecord', 'listPromotionCandidates', 'getPromotionCandidate', 'listPromotionFlows']);
|
|
2995
|
+
defineCompatibilityMethods(proto, 'selfOptimization', ['getSelfOptimizationDashboard', 'getSelfOptimizationCandidateQueue', 'getSelfOptimizationBacklogPosture', 'getSelfOptimizationPendingHandoffs']);
|
|
2996
|
+
defineCompatibilityMethods(proto, 'designIntelligence', ['getDesignIntelligenceDashboard', 'listDesignDecisions', 'getDesignDecision', 'getDesignDecisionVariants', 'getDesignDecisionCritique', 'getDesignDecisionLineage', 'listDesignPatterns', 'getDecisionLabCanvas', 'getDesignRecommendations', 'getDesignPromotions', 'previewDesignPromotion', 'getDesignIntelligenceMetrics']);
|
|
2997
|
+
defineCompatibilityMethods(proto, 'scriptDiscovery', ['scanScripts', 'listDiscoveredScriptAssets', 'listDiscoveredCapabilities', 'listWorkflowCandidates', 'promoteWorkflowCandidate']);
|
|
2998
|
+
defineCompatibilityMethods(proto, 'notesLab', ['getNotesLabConfig', 'submitNote', 'approveNoteReview']);
|
|
2999
|
+
defineCompatibilityMethods(proto, 'searchContacts', ['search', 'getOrganization', 'getContact']);
|
|
3000
|
+
defineCompatibilityMethods(proto, 'benchmarks', ['listRecentBenchmarkRuns', 'getBenchmarkRun']);
|
|
3001
|
+
defineCompatibilityMethods(proto, 'commitGovernance', ['evaluateCommitGovernance', 'checkGitShipReadiness', 'getCommitGovernanceEvaluation', 'listCommitGovernanceEvaluationsByClaim']);
|
|
3002
|
+
defineCompatibilityMethods(proto, 'contextSessions', ['openContextSession', 'getOrientationWindow', 'acknowledgeReminder', 'completeOrientation', 'lockContextSessionClaim', 'getContextSessionGateStatus']);
|
|
3003
|
+
defineCompatibilityMethods(proto, 'contextOrientation', ['conductOrientation']);
|
|
3004
|
+
}
|
|
3362
3005
|
|
|
3363
|
-
|
|
3364
|
-
return this.repo.listObjectFlowObservations({ repositoryId, projectPath, filePath, objectKind, boundaryKind, limit });
|
|
3365
|
-
}
|
|
3366
|
-
|
|
3367
|
-
async getChangeAnalysis({ fileId, symbolId, limit = 25 } = {}) {
|
|
3368
|
-
return this.repo.getChangeAnalysis({ fileId, symbolId, limit });
|
|
3369
|
-
}
|
|
3370
|
-
|
|
3371
|
-
async listRefactorCandidates({ repositoryRoot, limit = 10 } = {}) {
|
|
3372
|
-
return this.repo.listRefactorCandidates({ repositoryRoot, limit });
|
|
3373
|
-
}
|
|
3374
|
-
|
|
3375
|
-
async analyzeRefactorCandidate({ filePath, requestedBy, packetId, refactorIntent } = {}) {
|
|
3376
|
-
return this.repo.analyzeRefactorCandidate({ filePath, requestedBy, packetId, refactorIntent });
|
|
3377
|
-
}
|
|
3378
|
-
|
|
3379
|
-
async getRepoRetrievalPacket(retrievalPacketId) {
|
|
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
|
-
}
|
|
3006
|
+
installClientCompatibilityDelegates(AIEngineClient);
|