@harnessio/react-ccm-optimization-service-client 0.2.0 → 0.3.1
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/dist/ccm-optimization-service/src/services/hooks/useCreateAiGovernancePolicyMutation.d.ts +23 -0
- package/dist/ccm-optimization-service/src/services/hooks/useCreateAiGovernancePolicyMutation.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useDeleteAiGovernancePolicyMutation.d.ts +24 -0
- package/dist/ccm-optimization-service/src/services/hooks/useDeleteAiGovernancePolicyMutation.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useDryRunAiGovernancePolicyMutation.d.ts +29 -0
- package/dist/ccm-optimization-service/src/services/hooks/useDryRunAiGovernancePolicyMutation.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useGetAiGovernancePolicyOverviewQuery.d.ts +24 -0
- package/dist/ccm-optimization-service/src/services/hooks/useGetAiGovernancePolicyOverviewQuery.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useGetAiGovernancePolicyQuery.d.ts +24 -0
- package/dist/ccm-optimization-service/src/services/hooks/useGetAiGovernancePolicyQuery.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useGetMyAiGovernanceBudgetOverviewQuery.d.ts +28 -0
- package/dist/ccm-optimization-service/src/services/hooks/useGetMyAiGovernanceBudgetOverviewQuery.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernanceOverrideRequestsMutation.d.ts +27 -0
- package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernanceOverrideRequestsMutation.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernancePoliciesMutation.d.ts +23 -0
- package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernancePoliciesMutation.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernancePolicySubjectsMutation.d.ts +27 -0
- package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernancePolicySubjectsMutation.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useListMyAiGovernanceBudgetsQuery.d.ts +20 -0
- package/dist/ccm-optimization-service/src/services/hooks/useListMyAiGovernanceBudgetsQuery.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useListMyAiGovernanceOverrideRequestsMutation.d.ts +23 -0
- package/dist/ccm-optimization-service/src/services/hooks/useListMyAiGovernanceOverrideRequestsMutation.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useRequestMyAiGovernanceBudgetOverrideMutation.d.ts +23 -0
- package/dist/ccm-optimization-service/src/services/hooks/useRequestMyAiGovernanceBudgetOverrideMutation.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useReviewAiGovernanceOverrideRequestsMutation.d.ts +27 -0
- package/dist/ccm-optimization-service/src/services/hooks/useReviewAiGovernanceOverrideRequestsMutation.js +14 -0
- package/dist/ccm-optimization-service/src/services/hooks/useUpdateAiGovernancePolicyMutation.d.ts +27 -0
- package/dist/ccm-optimization-service/src/services/hooks/useUpdateAiGovernancePolicyMutation.js +14 -0
- package/dist/ccm-optimization-service/src/services/index.d.ts +74 -0
- package/dist/ccm-optimization-service/src/services/index.js +14 -0
- package/dist/ccm-optimization-service/src/services/requestBodies/AiGovernancePolicyUpsertRequestRequestBody.d.ts +2 -0
- package/dist/ccm-optimization-service/src/services/requestBodies/AiGovernancePolicyUpsertRequestRequestBody.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceApprovalRequest.d.ts +64 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceApprovalRequest.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceApprovalRequestList.d.ts +20 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceApprovalRequestList.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceApprovalRequestListResponse.d.ts +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceApprovalRequestListResponse.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceApprovalRequestView.d.ts +7 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceApprovalRequestView.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceConnectorRef.d.ts +14 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceConnectorRef.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceDryRunResponse.d.ts +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceDryRunResponse.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceDryRunResult.d.ts +14 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceDryRunResult.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceDryRunRuleResult.d.ts +15 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceDryRunRuleResult.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceDryRunSubject.d.ts +28 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceDryRunSubject.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceGovernancePeriod.d.ts +21 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceGovernancePeriod.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceMyOverrideRequestsList.d.ts +6 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceMyOverrideRequestsList.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceMyOverrideRequestsListRequest.d.ts +47 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceMyOverrideRequestsListRequest.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceMyOverrideRequestsListResponse.d.ts +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceMyOverrideRequestsListResponse.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceOverrideRequestsListRequest.d.ts +51 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceOverrideRequestsListRequest.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicy.d.ts +24 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicy.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyAuthoring.d.ts +10 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyAuthoring.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyBudget.d.ts +9 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyBudget.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyDetails.d.ts +8 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyDetails.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyDetailsResponse.d.ts +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyDetailsResponse.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyDocument.d.ts +6 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyDocument.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyListItem.d.ts +21 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyListItem.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyListRequest.d.ts +33 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyListRequest.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyListResponse.d.ts +14 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyListResponse.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyOverviewMetrics.d.ts +31 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyOverviewMetrics.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyResponse.d.ts +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyResponse.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySpec.d.ts +56 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySpec.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySubjectRow.d.ts +24 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySubjectRow.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySubjectsRequest.d.ts +39 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySubjectsRequest.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySubjectsResponse.d.ts +14 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySubjectsResponse.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyUpsertRequest.d.ts +11 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyUpsertRequest.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyUserHealth.d.ts +5 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyUserHealth.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRequestBudgetOverrideRequest.d.ts +20 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRequestBudgetOverrideRequest.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverrideItem.d.ts +11 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverrideItem.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverrideOutcome.d.ts +10 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverrideOutcome.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverridesRequest.d.ts +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverridesRequest.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverridesResponse.d.ts +12 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverridesResponse.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverridesResult.d.ts +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverridesResult.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRuleBudget.d.ts +32 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRuleBudget.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceSubjects.d.ts +31 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceSubjects.js +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetOverview.d.ts +8 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetOverview.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetOverviewResponse.d.ts +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetOverviewResponse.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetRow.d.ts +61 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetRow.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgets.d.ts +12 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgets.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetsResponse.d.ts +4 -0
- package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetsResponse.js +1 -0
- package/dist/ccm-optimization-service/src/services/schemas/AlertMessageResponse.d.ts +8 -0
- package/dist/ccm-optimization-service/src/services/schemas/AlertMessageResponse.js +4 -0
- package/package.json +1 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination request for listing override request history on a policy
|
|
3
|
+
*/
|
|
4
|
+
export interface AiGovernanceOverrideRequestsListRequest {
|
|
5
|
+
/**
|
|
6
|
+
* Optional filters; supports subject_id equals to scope results to one governed user
|
|
7
|
+
*/
|
|
8
|
+
filters?: Array<{
|
|
9
|
+
/**
|
|
10
|
+
* Field to filter on
|
|
11
|
+
*/
|
|
12
|
+
field?: 'subject_id';
|
|
13
|
+
/**
|
|
14
|
+
* Filter operator
|
|
15
|
+
*/
|
|
16
|
+
operator?: 'equals';
|
|
17
|
+
/**
|
|
18
|
+
* Subject email or ID values to match
|
|
19
|
+
*/
|
|
20
|
+
values?: string[];
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Number of history records per page (max 100)
|
|
24
|
+
* @default 10
|
|
25
|
+
* @example 10
|
|
26
|
+
*/
|
|
27
|
+
limit?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Page number (1-indexed) for history
|
|
30
|
+
* @default 1
|
|
31
|
+
* @example 1
|
|
32
|
+
*/
|
|
33
|
+
page?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Optional search string (reserved for future use)
|
|
36
|
+
*/
|
|
37
|
+
query?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Sorting options for history
|
|
40
|
+
*/
|
|
41
|
+
sort?: {
|
|
42
|
+
/**
|
|
43
|
+
* @example "decided_at"
|
|
44
|
+
*/
|
|
45
|
+
field?: 'decided_at';
|
|
46
|
+
/**
|
|
47
|
+
* @example "DESC"
|
|
48
|
+
*/
|
|
49
|
+
type?: 'ASC' | 'DESC';
|
|
50
|
+
};
|
|
51
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { AiGovernancePolicyDocument } from '../schemas/AiGovernancePolicyDocument';
|
|
2
|
+
export interface AiGovernancePolicy {
|
|
3
|
+
accountId?: string;
|
|
4
|
+
/**
|
|
5
|
+
* @format date-time
|
|
6
|
+
*/
|
|
7
|
+
createdAt?: string;
|
|
8
|
+
createdBy?: string;
|
|
9
|
+
document?: AiGovernancePolicyDocument;
|
|
10
|
+
/**
|
|
11
|
+
* @format uuid
|
|
12
|
+
*/
|
|
13
|
+
id?: string;
|
|
14
|
+
name?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Original YAML upload when the policy was created or last updated via rawYaml. Empty when the JSON policy path was used; document is always authoritative.
|
|
17
|
+
*/
|
|
18
|
+
rawYaml?: string;
|
|
19
|
+
/**
|
|
20
|
+
* @format date-time
|
|
21
|
+
*/
|
|
22
|
+
updatedAt?: string;
|
|
23
|
+
updatedBy?: string;
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AiGovernancePolicySpec } from '../schemas/AiGovernancePolicySpec';
|
|
2
|
+
import type { AiGovernanceSubjects } from '../schemas/AiGovernanceSubjects';
|
|
3
|
+
export interface AiGovernancePolicyAuthoring {
|
|
4
|
+
/**
|
|
5
|
+
* Lowercase slug policy name
|
|
6
|
+
*/
|
|
7
|
+
name: string;
|
|
8
|
+
spec: AiGovernancePolicySpec;
|
|
9
|
+
subjects: AiGovernanceSubjects;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AiGovernancePolicyOverviewMetrics } from '../schemas/AiGovernancePolicyOverviewMetrics';
|
|
2
|
+
export interface AiGovernancePolicyDetails extends AiGovernancePolicyOverviewMetrics {
|
|
3
|
+
/**
|
|
4
|
+
* @format uuid
|
|
5
|
+
*/
|
|
6
|
+
policyId?: string;
|
|
7
|
+
policyName?: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyDetailsResponse.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AiGovernancePolicySpec } from '../schemas/AiGovernancePolicySpec';
|
|
2
|
+
import type { AiGovernanceSubjects } from '../schemas/AiGovernanceSubjects';
|
|
3
|
+
export interface AiGovernancePolicyDocument {
|
|
4
|
+
spec?: AiGovernancePolicySpec;
|
|
5
|
+
subjects?: AiGovernanceSubjects;
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AiGovernancePolicyDocument } from '../schemas/AiGovernancePolicyDocument';
|
|
2
|
+
import type { AiGovernancePolicyOverviewMetrics } from '../schemas/AiGovernancePolicyOverviewMetrics';
|
|
3
|
+
export interface AiGovernancePolicyListItem extends AiGovernancePolicyOverviewMetrics {
|
|
4
|
+
accountId?: string;
|
|
5
|
+
/**
|
|
6
|
+
* @format date-time
|
|
7
|
+
*/
|
|
8
|
+
createdAt?: string;
|
|
9
|
+
createdBy?: string;
|
|
10
|
+
document?: AiGovernancePolicyDocument;
|
|
11
|
+
/**
|
|
12
|
+
* @format uuid
|
|
13
|
+
*/
|
|
14
|
+
id?: string;
|
|
15
|
+
name?: string;
|
|
16
|
+
/**
|
|
17
|
+
* @format date-time
|
|
18
|
+
*/
|
|
19
|
+
updatedAt?: string;
|
|
20
|
+
updatedBy?: string;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination request for listing governance policies
|
|
3
|
+
*/
|
|
4
|
+
export interface AiGovernancePolicyListRequest {
|
|
5
|
+
filters?: Array<{
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}>;
|
|
8
|
+
/**
|
|
9
|
+
* Number of records per page (max 100)
|
|
10
|
+
* @default 10
|
|
11
|
+
* @example 10
|
|
12
|
+
*/
|
|
13
|
+
limit?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Page number (1-indexed)
|
|
16
|
+
* @default 1
|
|
17
|
+
* @example 1
|
|
18
|
+
*/
|
|
19
|
+
page?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Sorting options
|
|
22
|
+
*/
|
|
23
|
+
sort?: {
|
|
24
|
+
/**
|
|
25
|
+
* @example "name"
|
|
26
|
+
*/
|
|
27
|
+
field?: 'created_at' | 'name' | 'updated_at';
|
|
28
|
+
/**
|
|
29
|
+
* @example "DESC"
|
|
30
|
+
*/
|
|
31
|
+
type?: 'ASC' | 'DESC';
|
|
32
|
+
};
|
|
33
|
+
}
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyListResponse.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AiGovernancePolicyListItem } from '../schemas/AiGovernancePolicyListItem';
|
|
2
|
+
export interface AiGovernancePolicyListResponse {
|
|
3
|
+
response: {
|
|
4
|
+
items: AiGovernancePolicyListItem[];
|
|
5
|
+
/**
|
|
6
|
+
* Total number of pages
|
|
7
|
+
*/
|
|
8
|
+
pages: number;
|
|
9
|
+
/**
|
|
10
|
+
* Total number of policies matching the criteria
|
|
11
|
+
*/
|
|
12
|
+
total: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyOverviewMetrics.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AiGovernanceGovernancePeriod } from '../schemas/AiGovernanceGovernancePeriod';
|
|
2
|
+
import type { AiGovernancePolicyUserHealth } from '../schemas/AiGovernancePolicyUserHealth';
|
|
3
|
+
/**
|
|
4
|
+
* Overview metrics shared by policy list items and the single-policy overview response. Spend fields are populated only after dry-run or reconcile writes the per-policy stats cache.
|
|
5
|
+
*/
|
|
6
|
+
export interface AiGovernancePolicyOverviewMetrics {
|
|
7
|
+
/**
|
|
8
|
+
* Null until dry-run or reconcile has seeded the per-policy stats cache for the current period
|
|
9
|
+
*/
|
|
10
|
+
cumulativeSpend?: number | null;
|
|
11
|
+
pendingRequestsCount: number;
|
|
12
|
+
period: AiGovernanceGovernancePeriod;
|
|
13
|
+
/**
|
|
14
|
+
* 1-indexed day within the current budget period
|
|
15
|
+
*/
|
|
16
|
+
periodDay: number;
|
|
17
|
+
/**
|
|
18
|
+
* Null until dry-run or reconcile has seeded the per-policy stats cache for the current period
|
|
19
|
+
*/
|
|
20
|
+
spendPercent?: number | null;
|
|
21
|
+
/**
|
|
22
|
+
* Total effective budget ceiling for the current policy period across all budget-cap rules
|
|
23
|
+
*/
|
|
24
|
+
totalPeriodBudget: number;
|
|
25
|
+
totalSubjects: number;
|
|
26
|
+
/**
|
|
27
|
+
* Null until dry-run or reconcile has seeded the per-policy stats cache for the current period
|
|
28
|
+
*/
|
|
29
|
+
userHealth?: AiGovernancePolicyUserHealth | null;
|
|
30
|
+
warnings?: string[];
|
|
31
|
+
}
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyOverviewMetrics.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed constraint payload for a policy. Only type=budget-cap is currently supported.
|
|
3
|
+
*/
|
|
4
|
+
export interface AiGovernancePolicySpec {
|
|
5
|
+
/**
|
|
6
|
+
* Graduated responses triggered at ascending spend thresholds. Actions determine enforcement behavior; there is no separate enforcement strategy field.
|
|
7
|
+
*/
|
|
8
|
+
actions?: Array<{
|
|
9
|
+
channels?: string[];
|
|
10
|
+
dedupeByCeiling?: boolean;
|
|
11
|
+
delivery?: 'digest' | 'immediate';
|
|
12
|
+
do: 'block-user' | 'notify' | 'remove-premium-models';
|
|
13
|
+
includeRecoveryInstructions?: boolean;
|
|
14
|
+
models?: string[];
|
|
15
|
+
when: {
|
|
16
|
+
thresholdPercent?: number;
|
|
17
|
+
};
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Overall budget ceiling. Required unless every entry in providers sets its own amount.
|
|
21
|
+
*/
|
|
22
|
+
amount?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Approval tiers for budget-override requests, with strictly ascending upToAmount
|
|
25
|
+
*/
|
|
26
|
+
approvals?: Array<{
|
|
27
|
+
approvers: {
|
|
28
|
+
emails?: string[];
|
|
29
|
+
userGroups?: string[];
|
|
30
|
+
};
|
|
31
|
+
autoApproveWhen?: {
|
|
32
|
+
maxPremiumSpendPercent?: number;
|
|
33
|
+
};
|
|
34
|
+
upToAmount: number;
|
|
35
|
+
}>;
|
|
36
|
+
/**
|
|
37
|
+
* Cron expression or descriptor (e.g. @hourly) controlling how often the policy is evaluated
|
|
38
|
+
*/
|
|
39
|
+
evaluationSchedule: string;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the ceiling applies per subject or to a shared pool. Defaults to per-subject (pooled for account-scoped subjects). Account-scoped policies must use pooled.
|
|
42
|
+
*/
|
|
43
|
+
mode?: 'per-subject' | 'pooled';
|
|
44
|
+
period: 'custom' | 'monthly' | 'quarterly' | 'weekly';
|
|
45
|
+
/**
|
|
46
|
+
* Per-provider budget ceilings. Required (non-empty) when amount is omitted; provider names must not repeat. Each entry with its own amount creates an independent provider scope; an entry with no amount is governed by the total scope only.
|
|
47
|
+
*/
|
|
48
|
+
providers?: Array<{
|
|
49
|
+
amount?: number;
|
|
50
|
+
provider: 'anthropic' | 'bedrock' | 'cursor';
|
|
51
|
+
}>;
|
|
52
|
+
/**
|
|
53
|
+
* Constraint shape; only budget-cap is currently supported
|
|
54
|
+
*/
|
|
55
|
+
type: 'budget-cap';
|
|
56
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { AiGovernanceApprovalRequestView } from '../schemas/AiGovernanceApprovalRequestView';
|
|
2
|
+
export interface AiGovernancePolicySubjectRow {
|
|
3
|
+
/**
|
|
4
|
+
* Effective budget ceiling after active overrides
|
|
5
|
+
*/
|
|
6
|
+
budget: number;
|
|
7
|
+
/**
|
|
8
|
+
* Subject email
|
|
9
|
+
*/
|
|
10
|
+
email: string;
|
|
11
|
+
pendingRequest?: AiGovernanceApprovalRequestView;
|
|
12
|
+
/**
|
|
13
|
+
* Current-period spend for the primary budget-cap rule
|
|
14
|
+
*/
|
|
15
|
+
spendAmount: number;
|
|
16
|
+
/**
|
|
17
|
+
* Spend as a percentage of effective budget
|
|
18
|
+
*/
|
|
19
|
+
spendPercent: number;
|
|
20
|
+
/**
|
|
21
|
+
* Budget utilization band for the subject
|
|
22
|
+
*/
|
|
23
|
+
status: 'atRisk' | 'good' | 'overBudget';
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySubjectsRequest.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination and filter request for listing governed subjects on a policy
|
|
3
|
+
*/
|
|
4
|
+
export interface AiGovernancePolicySubjectsRequest {
|
|
5
|
+
/**
|
|
6
|
+
* all returns every mapped subject; pending_requests returns only subjects with an open budget raise request
|
|
7
|
+
* @default "all"
|
|
8
|
+
*/
|
|
9
|
+
filter?: 'all' | 'pending_requests';
|
|
10
|
+
/**
|
|
11
|
+
* Number of records per page (max 100)
|
|
12
|
+
* @default 10
|
|
13
|
+
* @example 10
|
|
14
|
+
*/
|
|
15
|
+
limit?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Page number (1-indexed)
|
|
18
|
+
* @default 1
|
|
19
|
+
* @example 1
|
|
20
|
+
*/
|
|
21
|
+
page?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Optional search string matched against subject email
|
|
24
|
+
*/
|
|
25
|
+
query?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Sorting options
|
|
28
|
+
*/
|
|
29
|
+
sort?: {
|
|
30
|
+
/**
|
|
31
|
+
* @example "email"
|
|
32
|
+
*/
|
|
33
|
+
field?: 'email';
|
|
34
|
+
/**
|
|
35
|
+
* @example "ASC"
|
|
36
|
+
*/
|
|
37
|
+
type?: 'ASC' | 'DESC';
|
|
38
|
+
};
|
|
39
|
+
}
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySubjectsResponse.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AiGovernancePolicySubjectRow } from '../schemas/AiGovernancePolicySubjectRow';
|
|
2
|
+
export interface AiGovernancePolicySubjectsResponse {
|
|
3
|
+
response: {
|
|
4
|
+
items: AiGovernancePolicySubjectRow[];
|
|
5
|
+
/**
|
|
6
|
+
* Total number of pages
|
|
7
|
+
*/
|
|
8
|
+
pages: number;
|
|
9
|
+
/**
|
|
10
|
+
* Total number of mapped subjects matching the filter
|
|
11
|
+
*/
|
|
12
|
+
total: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySubjectsResponse.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyUpsertRequest.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AiGovernancePolicyAuthoring } from '../schemas/AiGovernancePolicyAuthoring';
|
|
2
|
+
/**
|
|
3
|
+
* Provide either rawYaml or policy (not both required in schema, but one must be supplied at runtime).
|
|
4
|
+
*/
|
|
5
|
+
export interface AiGovernancePolicyUpsertRequest {
|
|
6
|
+
policy?: AiGovernancePolicyAuthoring;
|
|
7
|
+
/**
|
|
8
|
+
* Full governance policy YAML document with exactly one policy entry containing subjects and spec
|
|
9
|
+
*/
|
|
10
|
+
rawYaml?: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface AiGovernanceRequestBudgetOverrideRequest {
|
|
2
|
+
/**
|
|
3
|
+
* Requested budget ceiling raise in USD dollars
|
|
4
|
+
*/
|
|
5
|
+
amount: number;
|
|
6
|
+
/**
|
|
7
|
+
* Governance policy that contains the budget-cap rule
|
|
8
|
+
* @format uuid
|
|
9
|
+
*/
|
|
10
|
+
policy_id: string;
|
|
11
|
+
/**
|
|
12
|
+
* Business justification for the override request
|
|
13
|
+
*/
|
|
14
|
+
reason: string;
|
|
15
|
+
/**
|
|
16
|
+
* Budget-cap rule to raise
|
|
17
|
+
* @format uuid
|
|
18
|
+
*/
|
|
19
|
+
rule_id: string;
|
|
20
|
+
}
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverrideItem.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface AiGovernanceReviewOverrideItem {
|
|
2
|
+
action: 'approve' | 'reject';
|
|
3
|
+
/**
|
|
4
|
+
* Optional approved ceiling in USD dollars when action is approve; the caller must be authorized for this amount on the pending tier
|
|
5
|
+
*/
|
|
6
|
+
approved_amount?: number;
|
|
7
|
+
/**
|
|
8
|
+
* @format uuid
|
|
9
|
+
*/
|
|
10
|
+
request_id: string;
|
|
11
|
+
}
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverrideOutcome.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AiGovernanceApprovalRequest } from '../schemas/AiGovernanceApprovalRequest';
|
|
2
|
+
export interface AiGovernanceReviewOverrideOutcome {
|
|
3
|
+
message?: string;
|
|
4
|
+
request?: AiGovernanceApprovalRequest;
|
|
5
|
+
/**
|
|
6
|
+
* @format uuid
|
|
7
|
+
*/
|
|
8
|
+
requestId: string;
|
|
9
|
+
success: boolean;
|
|
10
|
+
}
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverrideOutcome.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverridesRequest.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverridesResponse.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AiGovernanceReviewOverridesResult } from '../schemas/AiGovernanceReviewOverridesResult';
|
|
2
|
+
export interface AiGovernanceReviewOverridesResponse {
|
|
3
|
+
code?: string;
|
|
4
|
+
errors?: string[];
|
|
5
|
+
response?: AiGovernanceReviewOverridesResult;
|
|
6
|
+
success?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Unix milliseconds timestamp
|
|
9
|
+
* @format int64
|
|
10
|
+
*/
|
|
11
|
+
ts?: number;
|
|
12
|
+
}
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverridesResponse.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceReviewOverridesResult.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { AiGovernanceGovernancePeriod } from '../schemas/AiGovernanceGovernancePeriod';
|
|
2
|
+
export interface AiGovernanceRuleBudget {
|
|
3
|
+
/**
|
|
4
|
+
* Effective budget ceiling in USD dollars after active overrides
|
|
5
|
+
*/
|
|
6
|
+
amount: number;
|
|
7
|
+
/**
|
|
8
|
+
* Spend as a percentage of the effective ceiling
|
|
9
|
+
*/
|
|
10
|
+
percentage: number;
|
|
11
|
+
period: AiGovernanceGovernancePeriod;
|
|
12
|
+
/**
|
|
13
|
+
* Connector providers with spend in the current period for this rule
|
|
14
|
+
*/
|
|
15
|
+
providers: string[];
|
|
16
|
+
/**
|
|
17
|
+
* Remaining budget in USD dollars (effective ceiling minus spend)
|
|
18
|
+
*/
|
|
19
|
+
remaining: number;
|
|
20
|
+
/**
|
|
21
|
+
* Remaining budget as a percentage of the effective ceiling
|
|
22
|
+
*/
|
|
23
|
+
remaining_percentage: number;
|
|
24
|
+
/**
|
|
25
|
+
* @format uuid
|
|
26
|
+
*/
|
|
27
|
+
rule_id: string;
|
|
28
|
+
/**
|
|
29
|
+
* Current-period spend in USD dollars
|
|
30
|
+
*/
|
|
31
|
+
spend: number;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Policy-level subject selector. Exactly one of account, users, userGroups, perspective, or costCategory must be set.
|
|
3
|
+
*/
|
|
4
|
+
export interface AiGovernanceSubjects {
|
|
5
|
+
/**
|
|
6
|
+
* Governs every subject on the account. Must be true when set.
|
|
7
|
+
*/
|
|
8
|
+
account?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Cost category identifier in scope
|
|
11
|
+
*/
|
|
12
|
+
costCategory?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Principals permanently excluded from every scope under the policy
|
|
15
|
+
*/
|
|
16
|
+
exclude?: {
|
|
17
|
+
users?: string[];
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Cost perspective identifier in scope
|
|
21
|
+
*/
|
|
22
|
+
perspective?: string;
|
|
23
|
+
/**
|
|
24
|
+
* User group identifiers in scope
|
|
25
|
+
*/
|
|
26
|
+
userGroups?: string[];
|
|
27
|
+
/**
|
|
28
|
+
* Explicit user emails in scope
|
|
29
|
+
*/
|
|
30
|
+
users?: string[];
|
|
31
|
+
}
|
package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetOverview.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AiGovernancePolicyBudget } from '../schemas/AiGovernancePolicyBudget';
|
|
2
|
+
export interface AiGovernanceUserBudgetOverview {
|
|
3
|
+
policy_budgets: AiGovernancePolicyBudget[];
|
|
4
|
+
/**
|
|
5
|
+
* Canonical subject identifier for the logged-in user (typically email when available)
|
|
6
|
+
*/
|
|
7
|
+
subject_id: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|