@harnessio/react-ccm-optimization-service-client 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/ccm-optimization-service/src/services/hooks/useCreateAiGovernanceOverrideMutation.d.ts +27 -0
  2. package/dist/ccm-optimization-service/src/services/hooks/useCreateAiGovernanceOverrideMutation.js +14 -0
  3. package/dist/ccm-optimization-service/src/services/hooks/useCreateAiGovernancePolicyMutation.d.ts +1 -1
  4. package/dist/ccm-optimization-service/src/services/hooks/useCreateAiGovernancePolicyMutation.js +1 -1
  5. package/dist/ccm-optimization-service/src/services/hooks/useDeleteAiGovernancePolicyMutation.d.ts +2 -2
  6. package/dist/ccm-optimization-service/src/services/hooks/useDryRunAiGovernancePolicyMutation.d.ts +1 -1
  7. package/dist/ccm-optimization-service/src/services/hooks/useDryRunAiGovernancePolicyMutation.js +1 -1
  8. package/dist/ccm-optimization-service/src/services/hooks/useGetAiGovernancePolicyOverviewQuery.d.ts +1 -1
  9. package/dist/ccm-optimization-service/src/services/hooks/useGetAiGovernancePolicyOverviewQuery.js +1 -1
  10. package/dist/ccm-optimization-service/src/services/hooks/useGetMyAiGovernanceBudgetOverviewQuery.d.ts +28 -0
  11. package/dist/ccm-optimization-service/src/services/hooks/useGetMyAiGovernanceBudgetOverviewQuery.js +14 -0
  12. package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernanceOverrideRequestsMutation.d.ts +1 -1
  13. package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernanceOverrideRequestsMutation.js +1 -1
  14. package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernancePoliciesMutation.d.ts +1 -1
  15. package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernancePoliciesMutation.js +1 -1
  16. package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernancePolicySubjectsMutation.d.ts +1 -1
  17. package/dist/ccm-optimization-service/src/services/hooks/useListAiGovernancePolicySubjectsMutation.js +1 -1
  18. package/dist/ccm-optimization-service/src/services/hooks/useListMyAiGovernanceBudgetsQuery.d.ts +2 -6
  19. package/dist/ccm-optimization-service/src/services/hooks/useListMyAiGovernanceBudgetsQuery.js +2 -2
  20. package/dist/ccm-optimization-service/src/services/hooks/useRequestMyAiGovernanceBudgetOverrideMutation.d.ts +23 -0
  21. package/dist/ccm-optimization-service/src/services/hooks/useRequestMyAiGovernanceBudgetOverrideMutation.js +14 -0
  22. package/dist/ccm-optimization-service/src/services/hooks/useReviewAiGovernanceOverrideRequestsMutation.d.ts +1 -1
  23. package/dist/ccm-optimization-service/src/services/hooks/useReviewAiGovernanceOverrideRequestsMutation.js +1 -1
  24. package/dist/ccm-optimization-service/src/services/hooks/useUpdateAiGovernancePolicyMutation.d.ts +1 -1
  25. package/dist/ccm-optimization-service/src/services/hooks/useUpdateAiGovernancePolicyMutation.js +1 -1
  26. package/dist/ccm-optimization-service/src/services/index.d.ts +21 -2
  27. package/dist/ccm-optimization-service/src/services/index.js +3 -0
  28. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceApprovalRequest.d.ts +0 -29
  29. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceApprovalRequestView.d.ts +1 -1
  30. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceBudgetAction.d.ts +27 -0
  31. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceBudgetAction.js +1 -0
  32. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceBudgetActionWhen.d.ts +6 -0
  33. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceCreateOverrideRequest.d.ts +10 -0
  34. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceCreateOverrideRequest.js +4 -0
  35. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceDryRunRuleResult.d.ts +1 -2
  36. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceDryRunSubject.d.ts +2 -8
  37. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceGovernancePeriod.d.ts +19 -0
  38. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceGovernancePeriod.js +4 -0
  39. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicy.d.ts +4 -29
  40. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyAuthoring.d.ts +10 -12
  41. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyAuthoring.js +0 -3
  42. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyBudget.d.ts +9 -0
  43. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyBudget.js +1 -0
  44. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyDocument.d.ts +8 -18
  45. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyDocument.js +0 -3
  46. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyListItem.d.ts +4 -0
  47. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyListRequest.d.ts +26 -2
  48. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyOverviewMetrics.d.ts +4 -0
  49. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySpec.d.ts +45 -0
  50. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySpec.js +1 -0
  51. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySubjectRow.d.ts +4 -0
  52. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicySubjectsRequest.d.ts +2 -2
  53. package/dist/ccm-optimization-service/src/services/schemas/AiGovernancePolicyUpsertRequest.d.ts +14 -8
  54. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRequestBudgetOverrideRequest.d.ts +15 -0
  55. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRequestBudgetOverrideRequest.js +4 -0
  56. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRuleBudget.d.ts +32 -0
  57. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRuleBudget.js +1 -0
  58. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRuleOverride.d.ts +36 -0
  59. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRuleOverride.js +4 -0
  60. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRuleOverrideResponse.d.ts +12 -0
  61. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceRuleOverrideResponse.js +1 -0
  62. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceSubjects.d.ts +31 -0
  63. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceSubjects.js +4 -0
  64. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetOverview.d.ts +8 -0
  65. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetOverview.js +1 -0
  66. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetOverviewResponse.d.ts +4 -0
  67. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetOverviewResponse.js +1 -0
  68. package/dist/ccm-optimization-service/src/services/schemas/AiGovernanceUserBudgetRow.d.ts +8 -5
  69. package/dist/ccm-optimization-service/src/services/schemas/{AiGovernanceMessageResponse.d.ts → AlertMessageResponse.d.ts} +1 -1
  70. package/dist/ccm-optimization-service/src/services/schemas/AlertMessageResponse.js +4 -0
  71. package/package.json +1 -1
  72. /package/dist/ccm-optimization-service/src/services/schemas/{AiGovernanceMessageResponse.js → AiGovernanceBudgetActionWhen.js} +0 -0
@@ -0,0 +1,27 @@
1
+ import { UseMutationOptions } from '@tanstack/react-query';
2
+ import type { AiGovernanceRuleOverrideResponse } from '../schemas/AiGovernanceRuleOverrideResponse';
3
+ import type { AiGovernanceCreateOverrideRequest } from '../schemas/AiGovernanceCreateOverrideRequest';
4
+ import type { ResponseWithPagination } from '../helpers';
5
+ import { FetcherOptions } from '../../../../fetcher/index.js';
6
+ export interface CreateAiGovernanceOverrideMutationPathParams {
7
+ account_id: string;
8
+ /**
9
+ * @format uuid
10
+ */
11
+ policy_id: string;
12
+ }
13
+ export interface CreateAiGovernanceOverrideMutationQueryParams {
14
+ accountIdentifier: string;
15
+ }
16
+ export type CreateAiGovernanceOverrideRequestBody = AiGovernanceCreateOverrideRequest;
17
+ export type CreateAiGovernanceOverrideOkResponse = ResponseWithPagination<AiGovernanceRuleOverrideResponse>;
18
+ export type CreateAiGovernanceOverrideErrorResponse = unknown;
19
+ export interface CreateAiGovernanceOverrideProps extends CreateAiGovernanceOverrideMutationPathParams, Omit<FetcherOptions<CreateAiGovernanceOverrideMutationQueryParams, CreateAiGovernanceOverrideRequestBody>, 'url'> {
20
+ queryParams: CreateAiGovernanceOverrideMutationQueryParams;
21
+ body: CreateAiGovernanceOverrideRequestBody;
22
+ }
23
+ export declare function createAiGovernanceOverride(props: CreateAiGovernanceOverrideProps): Promise<CreateAiGovernanceOverrideOkResponse>;
24
+ /**
25
+ * Allows a policy approver to grant a direct budget override for a governed subject until the end of the current policy budget period. The caller must be an approver on an approval tier that covers the requested amount, and the amount must exceed the subject's current effective budget ceiling. Requires CCM Budget Create/Edit permission (ccm_budget_edit); folder-scoped roles may act only on policies in allowed folders.
26
+ */
27
+ export declare function useCreateAiGovernanceOverrideMutation(options?: Omit<UseMutationOptions<CreateAiGovernanceOverrideOkResponse, CreateAiGovernanceOverrideErrorResponse, CreateAiGovernanceOverrideProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<CreateAiGovernanceOverrideOkResponse, unknown, CreateAiGovernanceOverrideProps, unknown>;
@@ -0,0 +1,14 @@
1
+ /* eslint-disable */
2
+ // This code is autogenerated using @harnessio/oats-cli.
3
+ // Please do not modify this code directly.
4
+ import { useMutation } from '@tanstack/react-query';
5
+ import { fetcher } from '../../../../fetcher/index.js';
6
+ export function createAiGovernanceOverride(props) {
7
+ return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/policies/${props.policy_id}/override`, method: 'POST' }, props));
8
+ }
9
+ /**
10
+ * Allows a policy approver to grant a direct budget override for a governed subject until the end of the current policy budget period. The caller must be an approver on an approval tier that covers the requested amount, and the amount must exceed the subject's current effective budget ceiling. Requires CCM Budget Create/Edit permission (ccm_budget_edit); folder-scoped roles may act only on policies in allowed folders.
11
+ */
12
+ export function useCreateAiGovernanceOverrideMutation(options) {
13
+ return useMutation((mutateProps) => createAiGovernanceOverride(mutateProps), options);
14
+ }
@@ -18,6 +18,6 @@ export interface CreateAiGovernancePolicyProps extends CreateAiGovernancePolicyM
18
18
  }
19
19
  export declare function createAiGovernancePolicy(props: CreateAiGovernancePolicyProps): Promise<CreateAiGovernancePolicyOkResponse>;
20
20
  /**
21
- * Creates a governance policy from either a YAML upload (rawYaml) or a JSON policy object (policy). The persisted document is always canonical JSON with platform-assigned ruleIds. When the JSON path is used, rawYaml in the response is empty.
21
+ * Creates a governance policy from either a YAML upload (rawYaml) or a JSON policy object (policy). The persisted document is always canonical JSON with platform-assigned ruleIds. When the JSON path is used, rawYaml in the response is empty. Optional beginsAt on the policy (YAML or JSON) is stored in document.beginsAt; reconcile and dry-run skip evaluation until that UTC timestamp is reached. Optional folderId at the request root assigns the policy to a Harness folder for RBAC and UI organization.
22
22
  */
23
23
  export declare function useCreateAiGovernancePolicyMutation(options?: Omit<UseMutationOptions<CreateAiGovernancePolicyOkResponse, CreateAiGovernancePolicyErrorResponse, CreateAiGovernancePolicyProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<CreateAiGovernancePolicyOkResponse, unknown, CreateAiGovernancePolicyProps, unknown>;
@@ -7,7 +7,7 @@ export function createAiGovernancePolicy(props) {
7
7
  return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/policies`, method: 'POST' }, props));
8
8
  }
9
9
  /**
10
- * Creates a governance policy from either a YAML upload (rawYaml) or a JSON policy object (policy). The persisted document is always canonical JSON with platform-assigned ruleIds. When the JSON path is used, rawYaml in the response is empty.
10
+ * Creates a governance policy from either a YAML upload (rawYaml) or a JSON policy object (policy). The persisted document is always canonical JSON with platform-assigned ruleIds. When the JSON path is used, rawYaml in the response is empty. Optional beginsAt on the policy (YAML or JSON) is stored in document.beginsAt; reconcile and dry-run skip evaluation until that UTC timestamp is reached. Optional folderId at the request root assigns the policy to a Harness folder for RBAC and UI organization.
11
11
  */
12
12
  export function useCreateAiGovernancePolicyMutation(options) {
13
13
  return useMutation((mutateProps) => createAiGovernancePolicy(mutateProps), options);
@@ -1,5 +1,5 @@
1
1
  import { UseMutationOptions } from '@tanstack/react-query';
2
- import type { AiGovernanceMessageResponse } from '../schemas/AiGovernanceMessageResponse';
2
+ import type { AlertMessageResponse } from '../schemas/AlertMessageResponse';
3
3
  import type { ResponseWithPagination } from '../helpers';
4
4
  import { FetcherOptions } from '../../../../fetcher/index.js';
5
5
  export interface DeleteAiGovernancePolicyMutationPathParams {
@@ -12,7 +12,7 @@ export interface DeleteAiGovernancePolicyMutationPathParams {
12
12
  export interface DeleteAiGovernancePolicyMutationQueryParams {
13
13
  accountIdentifier: string;
14
14
  }
15
- export type DeleteAiGovernancePolicyOkResponse = ResponseWithPagination<AiGovernanceMessageResponse>;
15
+ export type DeleteAiGovernancePolicyOkResponse = ResponseWithPagination<AlertMessageResponse>;
16
16
  export type DeleteAiGovernancePolicyErrorResponse = unknown;
17
17
  export interface DeleteAiGovernancePolicyProps extends DeleteAiGovernancePolicyMutationPathParams, Omit<FetcherOptions<DeleteAiGovernancePolicyMutationQueryParams, unknown>, 'url'> {
18
18
  queryParams: DeleteAiGovernancePolicyMutationQueryParams;
@@ -24,6 +24,6 @@ export interface DryRunAiGovernancePolicyProps extends DryRunAiGovernancePolicyM
24
24
  }
25
25
  export declare function dryRunAiGovernancePolicy(props: DryRunAiGovernancePolicyProps): Promise<DryRunAiGovernancePolicyOkResponse>;
26
26
  /**
27
- * Evaluates who would be governed for the policy without persisting enforcement state. Optionally scope to one rule and/or subject.
27
+ * Evaluates who would be governed for the policy without persisting enforcement state. Optionally scope to one rule and/or subject. Returns empty subject outcomes when document.beginsAt is still in the future.
28
28
  */
29
29
  export declare function useDryRunAiGovernancePolicyMutation(options?: Omit<UseMutationOptions<DryRunAiGovernancePolicyOkResponse, DryRunAiGovernancePolicyErrorResponse, DryRunAiGovernancePolicyProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<DryRunAiGovernancePolicyOkResponse, unknown, DryRunAiGovernancePolicyProps, unknown>;
@@ -7,7 +7,7 @@ export function dryRunAiGovernancePolicy(props) {
7
7
  return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/policies/${props.policy_id}/dry-run`, method: 'POST' }, props));
8
8
  }
9
9
  /**
10
- * Evaluates who would be governed for the policy without persisting enforcement state. Optionally scope to one rule and/or subject.
10
+ * Evaluates who would be governed for the policy without persisting enforcement state. Optionally scope to one rule and/or subject. Returns empty subject outcomes when document.beginsAt is still in the future.
11
11
  */
12
12
  export function useDryRunAiGovernancePolicyMutation(options) {
13
13
  return useMutation((mutateProps) => dryRunAiGovernancePolicy(mutateProps), options);
@@ -19,6 +19,6 @@ export interface GetAiGovernancePolicyOverviewProps extends GetAiGovernancePolic
19
19
  }
20
20
  export declare function getAiGovernancePolicyOverview(props: GetAiGovernancePolicyOverviewProps): Promise<GetAiGovernancePolicyOverviewOkResponse>;
21
21
  /**
22
- * Returns an admin overview for one governance policy including subject count, aggregate budget, health bands, cumulative spend in the current budget period, and pending budget raise requests. cumulativeSpend, spendPercent, and userHealth are null until dry-run or reconcile has seeded the per-policy stats cache for the current period; list and overview read that cache and do not query BigQuery.
22
+ * Returns an admin overview for one governance policy including subject count, aggregate budget, health bands, cumulative spend in the current budget period, and pending budget raise requests. cumulativeSpend, spendPercent, and userHealth are null until dry-run or reconcile has seeded the per-policy stats cache for the current period; list and overview read that cache and do not query BigQuery. Requires CCM Budget View permission (ccm_budget_view); folder-scoped roles may access only policies in allowed folders.
23
23
  */
24
24
  export declare function useGetAiGovernancePolicyOverviewQuery(props: GetAiGovernancePolicyOverviewProps, options?: Omit<UseQueryOptions<GetAiGovernancePolicyOverviewOkResponse, GetAiGovernancePolicyOverviewErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<GetAiGovernancePolicyOverviewOkResponse, unknown>;
@@ -7,7 +7,7 @@ export function getAiGovernancePolicyOverview(props) {
7
7
  return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/policies/${props.policy_id}/overview`, method: 'GET' }, props));
8
8
  }
9
9
  /**
10
- * Returns an admin overview for one governance policy including subject count, aggregate budget, health bands, cumulative spend in the current budget period, and pending budget raise requests. cumulativeSpend, spendPercent, and userHealth are null until dry-run or reconcile has seeded the per-policy stats cache for the current period; list and overview read that cache and do not query BigQuery.
10
+ * Returns an admin overview for one governance policy including subject count, aggregate budget, health bands, cumulative spend in the current budget period, and pending budget raise requests. cumulativeSpend, spendPercent, and userHealth are null until dry-run or reconcile has seeded the per-policy stats cache for the current period; list and overview read that cache and do not query BigQuery. Requires CCM Budget View permission (ccm_budget_view); folder-scoped roles may access only policies in allowed folders.
11
11
  */
12
12
  export function useGetAiGovernancePolicyOverviewQuery(props, options) {
13
13
  return useQuery(['GetAIGovernancePolicyOverview', props.account_id, props.policy_id, props.queryParams], ({ signal }) => getAiGovernancePolicyOverview(Object.assign(Object.assign({}, props), { signal })), options);
@@ -0,0 +1,28 @@
1
+ import { UseQueryOptions } from '@tanstack/react-query';
2
+ import type { AiGovernanceUserBudgetOverviewResponse } from '../schemas/AiGovernanceUserBudgetOverviewResponse';
3
+ import type { ResponseWithPagination } from '../helpers';
4
+ import { FetcherOptions } from '../../../../fetcher/index.js';
5
+ export interface GetMyAiGovernanceBudgetOverviewQueryPathParams {
6
+ account_id: string;
7
+ }
8
+ export interface GetMyAiGovernanceBudgetOverviewQueryQueryParams {
9
+ accountIdentifier: string;
10
+ /**
11
+ * @format date-time
12
+ */
13
+ from?: string;
14
+ /**
15
+ * @format date-time
16
+ */
17
+ to?: string;
18
+ }
19
+ export type GetMyAiGovernanceBudgetOverviewOkResponse = ResponseWithPagination<AiGovernanceUserBudgetOverviewResponse>;
20
+ export type GetMyAiGovernanceBudgetOverviewErrorResponse = unknown;
21
+ export interface GetMyAiGovernanceBudgetOverviewProps extends GetMyAiGovernanceBudgetOverviewQueryPathParams, Omit<FetcherOptions<GetMyAiGovernanceBudgetOverviewQueryQueryParams, unknown>, 'url'> {
22
+ queryParams: GetMyAiGovernanceBudgetOverviewQueryQueryParams;
23
+ }
24
+ export declare function getMyAiGovernanceBudgetOverview(props: GetMyAiGovernanceBudgetOverviewProps): Promise<GetMyAiGovernanceBudgetOverviewOkResponse>;
25
+ /**
26
+ * Returns a spend-versus-budget overview for the logged-in user across all mapped governance policies. Each policy includes per-rule spend, effective ceiling, utilization percentages, and the current budget period window. When from and to query parameters are omitted, the window defaults to the last 30 days ending at the current UTC time. Requires authentication only; governed users do not need AI governance admin RBAC.
27
+ */
28
+ export declare function useGetMyAiGovernanceBudgetOverviewQuery(props: GetMyAiGovernanceBudgetOverviewProps, options?: Omit<UseQueryOptions<GetMyAiGovernanceBudgetOverviewOkResponse, GetMyAiGovernanceBudgetOverviewErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<GetMyAiGovernanceBudgetOverviewOkResponse, unknown>;
@@ -0,0 +1,14 @@
1
+ /* eslint-disable */
2
+ // This code is autogenerated using @harnessio/oats-cli.
3
+ // Please do not modify this code directly.
4
+ import { useQuery } from '@tanstack/react-query';
5
+ import { fetcher } from '../../../../fetcher/index.js';
6
+ export function getMyAiGovernanceBudgetOverview(props) {
7
+ return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/me/overview`, method: 'GET' }, props));
8
+ }
9
+ /**
10
+ * Returns a spend-versus-budget overview for the logged-in user across all mapped governance policies. Each policy includes per-rule spend, effective ceiling, utilization percentages, and the current budget period window. When from and to query parameters are omitted, the window defaults to the last 30 days ending at the current UTC time. Requires authentication only; governed users do not need AI governance admin RBAC.
11
+ */
12
+ export function useGetMyAiGovernanceBudgetOverviewQuery(props, options) {
13
+ return useQuery(['GetMyAIGovernanceBudgetOverview', props.account_id, props.queryParams], ({ signal }) => getMyAiGovernanceBudgetOverview(Object.assign(Object.assign({}, props), { signal })), options);
14
+ }
@@ -22,6 +22,6 @@ export interface ListAiGovernanceOverrideRequestsProps extends ListAiGovernanceO
22
22
  }
23
23
  export declare function listAiGovernanceOverrideRequests(props: ListAiGovernanceOverrideRequestsProps): Promise<ListAiGovernanceOverrideRequestsOkResponse>;
24
24
  /**
25
- * Returns active override requests and a paginated decision history for a governance policy. Visible only to users who are approvers on at least one approval tier of the policy. Each active request includes canApprove indicating whether the caller can act on the pending tier for the requested amount. Pagination (page/limit) applies to history; open requests are always returned in full. Optionally pass filters with field subject_id and operator equals to scope results to one governed user.
25
+ * Returns active override requests and a paginated decision history for a governance policy. Visible only to users who are approvers on at least one approval tier of the policy. Each active request includes canApprove indicating whether the caller can act on the pending tier for the requested amount. Pagination (page/limit) applies to history; open requests are always returned in full. Optionally pass filters with field subject_id and operator equals to scope results to one governed user. Requires CCM Budget View permission (ccm_budget_view); folder-scoped roles may access only policies in allowed folders.
26
26
  */
27
27
  export declare function useListAiGovernanceOverrideRequestsMutation(options?: Omit<UseMutationOptions<ListAiGovernanceOverrideRequestsOkResponse, ListAiGovernanceOverrideRequestsErrorResponse, ListAiGovernanceOverrideRequestsProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<ListAiGovernanceOverrideRequestsOkResponse, unknown, ListAiGovernanceOverrideRequestsProps, unknown>;
@@ -7,7 +7,7 @@ export function listAiGovernanceOverrideRequests(props) {
7
7
  return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/policies/${props.policy_id}/override/requests`, method: 'POST' }, props));
8
8
  }
9
9
  /**
10
- * Returns active override requests and a paginated decision history for a governance policy. Visible only to users who are approvers on at least one approval tier of the policy. Each active request includes canApprove indicating whether the caller can act on the pending tier for the requested amount. Pagination (page/limit) applies to history; open requests are always returned in full. Optionally pass filters with field subject_id and operator equals to scope results to one governed user.
10
+ * Returns active override requests and a paginated decision history for a governance policy. Visible only to users who are approvers on at least one approval tier of the policy. Each active request includes canApprove indicating whether the caller can act on the pending tier for the requested amount. Pagination (page/limit) applies to history; open requests are always returned in full. Optionally pass filters with field subject_id and operator equals to scope results to one governed user. Requires CCM Budget View permission (ccm_budget_view); folder-scoped roles may access only policies in allowed folders.
11
11
  */
12
12
  export function useListAiGovernanceOverrideRequestsMutation(options) {
13
13
  return useMutation((mutateProps) => listAiGovernanceOverrideRequests(mutateProps), options);
@@ -18,6 +18,6 @@ export interface ListAiGovernancePoliciesProps extends ListAiGovernancePoliciesM
18
18
  }
19
19
  export declare function listAiGovernancePolicies(props: ListAiGovernancePoliciesProps): Promise<ListAiGovernancePoliciesOkResponse>;
20
20
  /**
21
- * Returns a paginated list of non-deleted governance policies for the account. Each policy document includes persisted ruleIds per rule. List responses omit rawYaml.
21
+ * Returns a paginated list of governance policies. Each item is a flat object with persisted policy fields (id, name, folderId, document, audit metadata) plus overview metrics (subjects, budget, spend, health). List responses omit rawYaml. cumulativeSpend, spendPercent, and userHealth are null until dry-run or reconcile has seeded the per-policy stats cache for the current period. Use query for case-insensitive partial name search; supports filters on name, folder_id, created_at, and updated_at. Requires CCM Budget View permission (ccm_budget_view); folder-scoped roles may access only policies in allowed folders.
22
22
  */
23
23
  export declare function useListAiGovernancePoliciesMutation(options?: Omit<UseMutationOptions<ListAiGovernancePoliciesOkResponse, ListAiGovernancePoliciesErrorResponse, ListAiGovernancePoliciesProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<ListAiGovernancePoliciesOkResponse, unknown, ListAiGovernancePoliciesProps, unknown>;
@@ -7,7 +7,7 @@ export function listAiGovernancePolicies(props) {
7
7
  return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/policies/list`, method: 'POST' }, props));
8
8
  }
9
9
  /**
10
- * Returns a paginated list of non-deleted governance policies for the account. Each policy document includes persisted ruleIds per rule. List responses omit rawYaml.
10
+ * Returns a paginated list of governance policies. Each item is a flat object with persisted policy fields (id, name, folderId, document, audit metadata) plus overview metrics (subjects, budget, spend, health). List responses omit rawYaml. cumulativeSpend, spendPercent, and userHealth are null until dry-run or reconcile has seeded the per-policy stats cache for the current period. Use query for case-insensitive partial name search; supports filters on name, folder_id, created_at, and updated_at. Requires CCM Budget View permission (ccm_budget_view); folder-scoped roles may access only policies in allowed folders.
11
11
  */
12
12
  export function useListAiGovernancePoliciesMutation(options) {
13
13
  return useMutation((mutateProps) => listAiGovernancePolicies(mutateProps), options);
@@ -22,6 +22,6 @@ export interface ListAiGovernancePolicySubjectsProps extends ListAiGovernancePol
22
22
  }
23
23
  export declare function listAiGovernancePolicySubjects(props: ListAiGovernancePolicySubjectsProps): Promise<ListAiGovernancePolicySubjectsOkResponse>;
24
24
  /**
25
- * Returns a paginated admin view of subjects mapped to a governance policy. Each row includes effective budget (after active overrides), current-period spend, budget health status, and any open budget raise request.
25
+ * Returns a paginated admin view of subjects mapped to a governance policy. Each row includes effective budget (after active overrides), current-period spend, budget health status, and any open budget raise request. Requires CCM Budget View permission (ccm_budget_view); folder-scoped roles may access only policies in allowed folders.
26
26
  */
27
27
  export declare function useListAiGovernancePolicySubjectsMutation(options?: Omit<UseMutationOptions<ListAiGovernancePolicySubjectsOkResponse, ListAiGovernancePolicySubjectsErrorResponse, ListAiGovernancePolicySubjectsProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<ListAiGovernancePolicySubjectsOkResponse, unknown, ListAiGovernancePolicySubjectsProps, unknown>;
@@ -7,7 +7,7 @@ export function listAiGovernancePolicySubjects(props) {
7
7
  return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/policies/${props.policy_id}/subjects`, method: 'POST' }, props));
8
8
  }
9
9
  /**
10
- * Returns a paginated admin view of subjects mapped to a governance policy. Each row includes effective budget (after active overrides), current-period spend, budget health status, and any open budget raise request.
10
+ * Returns a paginated admin view of subjects mapped to a governance policy. Each row includes effective budget (after active overrides), current-period spend, budget health status, and any open budget raise request. Requires CCM Budget View permission (ccm_budget_view); folder-scoped roles may access only policies in allowed folders.
11
11
  */
12
12
  export function useListAiGovernancePolicySubjectsMutation(options) {
13
13
  return useMutation((mutateProps) => listAiGovernancePolicySubjects(mutateProps), options);
@@ -5,16 +5,12 @@ import { FetcherOptions } from '../../../../fetcher/index.js';
5
5
  export interface ListMyAiGovernanceBudgetsQueryPathParams {
6
6
  account_id: string;
7
7
  }
8
- export interface ListMyAiGovernanceBudgetsQueryQueryParams {
9
- accountIdentifier: string;
10
- }
11
8
  export type ListMyAiGovernanceBudgetsOkResponse = ResponseWithPagination<AiGovernanceUserBudgetsResponse>;
12
9
  export type ListMyAiGovernanceBudgetsErrorResponse = unknown;
13
- export interface ListMyAiGovernanceBudgetsProps extends ListMyAiGovernanceBudgetsQueryPathParams, Omit<FetcherOptions<ListMyAiGovernanceBudgetsQueryQueryParams, unknown>, 'url'> {
14
- queryParams: ListMyAiGovernanceBudgetsQueryQueryParams;
10
+ export interface ListMyAiGovernanceBudgetsProps extends ListMyAiGovernanceBudgetsQueryPathParams, Omit<FetcherOptions<unknown, unknown>, 'url'> {
15
11
  }
16
12
  export declare function listMyAiGovernanceBudgets(props: ListMyAiGovernanceBudgetsProps): Promise<ListMyAiGovernanceBudgetsOkResponse>;
17
13
  /**
18
- * Returns budget-cap rules that govern the logged-in user, including effective ceilings and current-period spend. Requires authentication only; governed users do not need AI governance admin RBAC.
14
+ * Returns budget-cap rules that govern the logged-in user, including effective ceilings, current-period spend, and the graduated actions configured on each rule. Requires authentication only; governed users do not need AI governance admin RBAC.
19
15
  */
20
16
  export declare function useListMyAiGovernanceBudgetsQuery(props: ListMyAiGovernanceBudgetsProps, options?: Omit<UseQueryOptions<ListMyAiGovernanceBudgetsOkResponse, ListMyAiGovernanceBudgetsErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<ListMyAiGovernanceBudgetsOkResponse, unknown>;
@@ -7,8 +7,8 @@ export function listMyAiGovernanceBudgets(props) {
7
7
  return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/me/budgets`, method: 'GET' }, props));
8
8
  }
9
9
  /**
10
- * Returns budget-cap rules that govern the logged-in user, including effective ceilings and current-period spend. Requires authentication only; governed users do not need AI governance admin RBAC.
10
+ * Returns budget-cap rules that govern the logged-in user, including effective ceilings, current-period spend, and the graduated actions configured on each rule. Requires authentication only; governed users do not need AI governance admin RBAC.
11
11
  */
12
12
  export function useListMyAiGovernanceBudgetsQuery(props, options) {
13
- return useQuery(['ListMyAIGovernanceBudgets', props.account_id, props.queryParams], ({ signal }) => listMyAiGovernanceBudgets(Object.assign(Object.assign({}, props), { signal })), options);
13
+ return useQuery(['ListMyAIGovernanceBudgets', props.account_id], ({ signal }) => listMyAiGovernanceBudgets(Object.assign(Object.assign({}, props), { signal })), options);
14
14
  }
@@ -0,0 +1,23 @@
1
+ import { UseMutationOptions } from '@tanstack/react-query';
2
+ import type { AlertMessageResponse } from '../schemas/AlertMessageResponse';
3
+ import type { AiGovernanceRequestBudgetOverrideRequest } from '../schemas/AiGovernanceRequestBudgetOverrideRequest';
4
+ import type { ResponseWithPagination } from '../helpers';
5
+ import { FetcherOptions } from '../../../../fetcher/index.js';
6
+ export interface RequestMyAiGovernanceBudgetOverrideMutationPathParams {
7
+ account_id: string;
8
+ }
9
+ export interface RequestMyAiGovernanceBudgetOverrideMutationQueryParams {
10
+ accountIdentifier: string;
11
+ }
12
+ export type RequestMyAiGovernanceBudgetOverrideRequestBody = AiGovernanceRequestBudgetOverrideRequest;
13
+ export type RequestMyAiGovernanceBudgetOverrideOkResponse = ResponseWithPagination<AlertMessageResponse>;
14
+ export type RequestMyAiGovernanceBudgetOverrideErrorResponse = unknown;
15
+ export interface RequestMyAiGovernanceBudgetOverrideProps extends RequestMyAiGovernanceBudgetOverrideMutationPathParams, Omit<FetcherOptions<RequestMyAiGovernanceBudgetOverrideMutationQueryParams, RequestMyAiGovernanceBudgetOverrideRequestBody>, 'url'> {
16
+ queryParams: RequestMyAiGovernanceBudgetOverrideMutationQueryParams;
17
+ body: RequestMyAiGovernanceBudgetOverrideRequestBody;
18
+ }
19
+ export declare function requestMyAiGovernanceBudgetOverride(props: RequestMyAiGovernanceBudgetOverrideProps): Promise<RequestMyAiGovernanceBudgetOverrideOkResponse>;
20
+ /**
21
+ * Submits a budget ceiling raise request for one budget-cap rule on a policy that governs the logged-in user. The request enters the policy's configured approval workflow (single- or multi-tier). Requires authentication only; governed users do not need AI governance admin RBAC.
22
+ */
23
+ export declare function useRequestMyAiGovernanceBudgetOverrideMutation(options?: Omit<UseMutationOptions<RequestMyAiGovernanceBudgetOverrideOkResponse, RequestMyAiGovernanceBudgetOverrideErrorResponse, RequestMyAiGovernanceBudgetOverrideProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<RequestMyAiGovernanceBudgetOverrideOkResponse, unknown, RequestMyAiGovernanceBudgetOverrideProps, unknown>;
@@ -0,0 +1,14 @@
1
+ /* eslint-disable */
2
+ // This code is autogenerated using @harnessio/oats-cli.
3
+ // Please do not modify this code directly.
4
+ import { useMutation } from '@tanstack/react-query';
5
+ import { fetcher } from '../../../../fetcher/index.js';
6
+ export function requestMyAiGovernanceBudgetOverride(props) {
7
+ return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/me/budgets/override/request`, method: 'POST' }, props));
8
+ }
9
+ /**
10
+ * Submits a budget ceiling raise request for one budget-cap rule on a policy that governs the logged-in user. The request enters the policy's configured approval workflow (single- or multi-tier). Requires authentication only; governed users do not need AI governance admin RBAC.
11
+ */
12
+ export function useRequestMyAiGovernanceBudgetOverrideMutation(options) {
13
+ return useMutation((mutateProps) => requestMyAiGovernanceBudgetOverride(mutateProps), options);
14
+ }
@@ -22,6 +22,6 @@ export interface ReviewAiGovernanceOverrideRequestsProps extends ReviewAiGoverna
22
22
  }
23
23
  export declare function reviewAiGovernanceOverrideRequests(props: ReviewAiGovernanceOverrideRequestsProps): Promise<ReviewAiGovernanceOverrideRequestsOkResponse>;
24
24
  /**
25
- * Applies approve or reject actions to one or more open budget override requests on a governance policy. Each item is processed independently. The caller must be eligible to act on the pending approval tier. Approve advances multi-tier requests until all required tiers sign off; optional approved_amount on approve sets the approved ceiling when the caller is authorized for that amount.
25
+ * Applies approve or reject actions to one or more open budget override requests on a governance policy. Each item is processed independently. The caller must be eligible to act on the pending approval tier. Approve advances multi-tier requests until all required tiers sign off; optional approved_amount on approve sets the approved ceiling when the caller is authorized for that amount. Requires CCM Budget Create/Edit permission (ccm_budget_edit); folder-scoped roles may act only on policies in allowed folders.
26
26
  */
27
27
  export declare function useReviewAiGovernanceOverrideRequestsMutation(options?: Omit<UseMutationOptions<ReviewAiGovernanceOverrideRequestsOkResponse, ReviewAiGovernanceOverrideRequestsErrorResponse, ReviewAiGovernanceOverrideRequestsProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<ReviewAiGovernanceOverrideRequestsOkResponse, unknown, ReviewAiGovernanceOverrideRequestsProps, unknown>;
@@ -7,7 +7,7 @@ export function reviewAiGovernanceOverrideRequests(props) {
7
7
  return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/policies/${props.policy_id}/override/requests/review`, method: 'POST' }, props));
8
8
  }
9
9
  /**
10
- * Applies approve or reject actions to one or more open budget override requests on a governance policy. Each item is processed independently. The caller must be eligible to act on the pending approval tier. Approve advances multi-tier requests until all required tiers sign off; optional approved_amount on approve sets the approved ceiling when the caller is authorized for that amount.
10
+ * Applies approve or reject actions to one or more open budget override requests on a governance policy. Each item is processed independently. The caller must be eligible to act on the pending approval tier. Approve advances multi-tier requests until all required tiers sign off; optional approved_amount on approve sets the approved ceiling when the caller is authorized for that amount. Requires CCM Budget Create/Edit permission (ccm_budget_edit); folder-scoped roles may act only on policies in allowed folders.
11
11
  */
12
12
  export function useReviewAiGovernanceOverrideRequestsMutation(options) {
13
13
  return useMutation((mutateProps) => reviewAiGovernanceOverrideRequests(mutateProps), options);
@@ -22,6 +22,6 @@ export interface UpdateAiGovernancePolicyProps extends UpdateAiGovernancePolicyM
22
22
  }
23
23
  export declare function updateAiGovernancePolicy(props: UpdateAiGovernancePolicyProps): Promise<UpdateAiGovernancePolicyOkResponse>;
24
24
  /**
25
- * Replaces policy content from either rawYaml or policy JSON while preserving stable ruleIds where rule content is unchanged. When updated via the JSON path, any previously stored rawYaml is cleared so GET never returns YAML that no longer matches document.
25
+ * Replaces policy content from either rawYaml or policy JSON while preserving stable ruleIds where rule content is unchanged. When updated via the JSON path, any previously stored rawYaml is cleared so GET never returns YAML that no longer matches document. Optional beginsAt is stored in document.beginsAt; omitting it clears a previously scheduled start.
26
26
  */
27
27
  export declare function useUpdateAiGovernancePolicyMutation(options?: Omit<UseMutationOptions<UpdateAiGovernancePolicyOkResponse, UpdateAiGovernancePolicyErrorResponse, UpdateAiGovernancePolicyProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<UpdateAiGovernancePolicyOkResponse, unknown, UpdateAiGovernancePolicyProps, unknown>;
@@ -7,7 +7,7 @@ export function updateAiGovernancePolicy(props) {
7
7
  return fetcher(Object.assign({ url: `/accounts/${props.account_id}/ai-governance/policies/${props.policy_id}`, method: 'PUT' }, props));
8
8
  }
9
9
  /**
10
- * Replaces policy content from either rawYaml or policy JSON while preserving stable ruleIds where rule content is unchanged. When updated via the JSON path, any previously stored rawYaml is cleared so GET never returns YAML that no longer matches document.
10
+ * Replaces policy content from either rawYaml or policy JSON while preserving stable ruleIds where rule content is unchanged. When updated via the JSON path, any previously stored rawYaml is cleared so GET never returns YAML that no longer matches document. Optional beginsAt is stored in document.beginsAt; omitting it clears a previously scheduled start.
11
11
  */
12
12
  export function useUpdateAiGovernancePolicyMutation(options) {
13
13
  return useMutation((mutateProps) => updateAiGovernancePolicy(mutateProps), options);
@@ -43,6 +43,8 @@ export type { CoolDownAutostoppingRuleErrorResponse, CoolDownAutostoppingRuleMut
43
43
  export { coolDownAutostoppingRule, useCoolDownAutostoppingRuleMutation, } from './hooks/useCoolDownAutostoppingRuleMutation';
44
44
  export type { CreateAccessPointErrorResponse, CreateAccessPointMutationPathParams, CreateAccessPointMutationQueryParams, CreateAccessPointOkResponse, CreateAccessPointProps, CreateAccessPointRequestBody, } from './hooks/useCreateAccessPointMutation';
45
45
  export { createAccessPoint, useCreateAccessPointMutation, } from './hooks/useCreateAccessPointMutation';
46
+ export type { CreateAiGovernanceOverrideErrorResponse, CreateAiGovernanceOverrideMutationPathParams, CreateAiGovernanceOverrideMutationQueryParams, CreateAiGovernanceOverrideOkResponse, CreateAiGovernanceOverrideProps, CreateAiGovernanceOverrideRequestBody, } from './hooks/useCreateAiGovernanceOverrideMutation';
47
+ export { createAiGovernanceOverride, useCreateAiGovernanceOverrideMutation, } from './hooks/useCreateAiGovernanceOverrideMutation';
46
48
  export type { CreateAiGovernancePolicyErrorResponse, CreateAiGovernancePolicyMutationPathParams, CreateAiGovernancePolicyMutationQueryParams, CreateAiGovernancePolicyOkResponse, CreateAiGovernancePolicyProps, CreateAiGovernancePolicyRequestBody, } from './hooks/useCreateAiGovernancePolicyMutation';
47
49
  export { createAiGovernancePolicy, useCreateAiGovernancePolicyMutation, } from './hooks/useCreateAiGovernancePolicyMutation';
48
50
  export type { CreateAlertErrorResponse, CreateAlertMutationPathParams, CreateAlertMutationQueryParams, CreateAlertOkResponse, CreateAlertProps, CreateAlertRequestBody, } from './hooks/useCreateAlertMutation';
@@ -209,6 +211,8 @@ export type { GetKeyPairsForProxyErrorResponse, GetKeyPairsForProxyOkResponse, G
209
211
  export { getKeyPairsForProxy, useGetKeyPairsForProxyQuery, } from './hooks/useGetKeyPairsForProxyQuery';
210
212
  export type { GetMachineListForZoneErrorResponse, GetMachineListForZoneOkResponse, GetMachineListForZoneProps, GetMachineListForZoneQueryPathParams, GetMachineListForZoneQueryQueryParams, } from './hooks/useGetMachineListForZoneQuery';
211
213
  export { getMachineListForZone, useGetMachineListForZoneQuery, } from './hooks/useGetMachineListForZoneQuery';
214
+ export type { GetMyAiGovernanceBudgetOverviewErrorResponse, GetMyAiGovernanceBudgetOverviewOkResponse, GetMyAiGovernanceBudgetOverviewProps, GetMyAiGovernanceBudgetOverviewQueryPathParams, GetMyAiGovernanceBudgetOverviewQueryQueryParams, } from './hooks/useGetMyAiGovernanceBudgetOverviewQuery';
215
+ export { getMyAiGovernanceBudgetOverview, useGetMyAiGovernanceBudgetOverviewQuery, } from './hooks/useGetMyAiGovernanceBudgetOverviewQuery';
212
216
  export type { GetNodeClassErrorResponse, GetNodeClassOkResponse, GetNodeClassProps, GetNodeClassQueryPathParams, GetNodeClassQueryQueryParams, } from './hooks/useGetNodeClassQuery';
213
217
  export { getNodeClass, useGetNodeClassQuery } from './hooks/useGetNodeClassQuery';
214
218
  export type { GetNodePoolErrorResponse, GetNodePoolOkResponse, GetNodePoolProps, GetNodePoolQueryPathParams, GetNodePoolQueryQueryParams, } from './hooks/useGetNodePoolQuery';
@@ -265,7 +269,7 @@ export type { ListClusterRecommendationsErrorResponse, ListClusterRecommendation
265
269
  export { listClusterRecommendations, useListClusterRecommendationsQuery, } from './hooks/useListClusterRecommendationsQuery';
266
270
  export type { ListDistinctK8sConnIdsForRecommendationsErrorResponse, ListDistinctK8sConnIdsForRecommendationsOkResponse, ListDistinctK8sConnIdsForRecommendationsProps, ListDistinctK8sConnIdsForRecommendationsQueryPathParams, ListDistinctK8sConnIdsForRecommendationsQueryQueryParams, } from './hooks/useListDistinctK8sConnIdsForRecommendationsQuery';
267
271
  export { listDistinctK8sConnIdsForRecommendations, useListDistinctK8sConnIdsForRecommendationsQuery, } from './hooks/useListDistinctK8sConnIdsForRecommendationsQuery';
268
- export type { ListMyAiGovernanceBudgetsErrorResponse, ListMyAiGovernanceBudgetsOkResponse, ListMyAiGovernanceBudgetsProps, ListMyAiGovernanceBudgetsQueryPathParams, ListMyAiGovernanceBudgetsQueryQueryParams, } from './hooks/useListMyAiGovernanceBudgetsQuery';
272
+ export type { ListMyAiGovernanceBudgetsErrorResponse, ListMyAiGovernanceBudgetsOkResponse, ListMyAiGovernanceBudgetsProps, ListMyAiGovernanceBudgetsQueryPathParams, } from './hooks/useListMyAiGovernanceBudgetsQuery';
269
273
  export { listMyAiGovernanceBudgets, useListMyAiGovernanceBudgetsQuery, } from './hooks/useListMyAiGovernanceBudgetsQuery';
270
274
  export type { ListMyAiGovernanceOverrideRequestsErrorResponse, ListMyAiGovernanceOverrideRequestsMutationPathParams, ListMyAiGovernanceOverrideRequestsMutationQueryParams, ListMyAiGovernanceOverrideRequestsOkResponse, ListMyAiGovernanceOverrideRequestsProps, ListMyAiGovernanceOverrideRequestsRequestBody, } from './hooks/useListMyAiGovernanceOverrideRequestsMutation';
271
275
  export { listMyAiGovernanceOverrideRequests, useListMyAiGovernanceOverrideRequestsMutation, } from './hooks/useListMyAiGovernanceOverrideRequestsMutation';
@@ -297,6 +301,8 @@ export type { PaginatedAccessPointsErrorResponse, PaginatedAccessPointsMutationP
297
301
  export { paginatedAccessPoints, usePaginatedAccessPointsMutation, } from './hooks/usePaginatedAccessPointsMutation';
298
302
  export type { PerformBulkRuleActionErrorResponse, PerformBulkRuleActionMutationPathParams, PerformBulkRuleActionMutationQueryParams, PerformBulkRuleActionOkResponse, PerformBulkRuleActionProps, PerformBulkRuleActionRequestBody, } from './hooks/usePerformBulkRuleActionMutation';
299
303
  export { performBulkRuleAction, usePerformBulkRuleActionMutation, } from './hooks/usePerformBulkRuleActionMutation';
304
+ export type { RequestMyAiGovernanceBudgetOverrideErrorResponse, RequestMyAiGovernanceBudgetOverrideMutationPathParams, RequestMyAiGovernanceBudgetOverrideMutationQueryParams, RequestMyAiGovernanceBudgetOverrideOkResponse, RequestMyAiGovernanceBudgetOverrideProps, RequestMyAiGovernanceBudgetOverrideRequestBody, } from './hooks/useRequestMyAiGovernanceBudgetOverrideMutation';
305
+ export { requestMyAiGovernanceBudgetOverride, useRequestMyAiGovernanceBudgetOverrideMutation, } from './hooks/useRequestMyAiGovernanceBudgetOverrideMutation';
300
306
  export type { RequestsOfServiceErrorResponse, RequestsOfServiceOkResponse, RequestsOfServiceProps, RequestsOfServiceQueryPathParams, RequestsOfServiceQueryQueryParams, } from './hooks/useRequestsOfServiceQuery';
301
307
  export { requestsOfService, useRequestsOfServiceQuery } from './hooks/useRequestsOfServiceQuery';
302
308
  export type { ReviewAiGovernanceOverrideRequestsErrorResponse, ReviewAiGovernanceOverrideRequestsMutationPathParams, ReviewAiGovernanceOverrideRequestsMutationQueryParams, ReviewAiGovernanceOverrideRequestsOkResponse, ReviewAiGovernanceOverrideRequestsProps, ReviewAiGovernanceOverrideRequestsRequestBody, } from './hooks/useReviewAiGovernanceOverrideRequestsMutation';
@@ -361,18 +367,22 @@ export type { AiGovernanceApprovalRequest } from './schemas/AiGovernanceApproval
361
367
  export type { AiGovernanceApprovalRequestList } from './schemas/AiGovernanceApprovalRequestList';
362
368
  export type { AiGovernanceApprovalRequestListResponse } from './schemas/AiGovernanceApprovalRequestListResponse';
363
369
  export type { AiGovernanceApprovalRequestView } from './schemas/AiGovernanceApprovalRequestView';
370
+ export type { AiGovernanceBudgetAction } from './schemas/AiGovernanceBudgetAction';
371
+ export type { AiGovernanceBudgetActionWhen } from './schemas/AiGovernanceBudgetActionWhen';
364
372
  export type { AiGovernanceConnectorRef } from './schemas/AiGovernanceConnectorRef';
373
+ export type { AiGovernanceCreateOverrideRequest } from './schemas/AiGovernanceCreateOverrideRequest';
365
374
  export type { AiGovernanceDryRunResponse } from './schemas/AiGovernanceDryRunResponse';
366
375
  export type { AiGovernanceDryRunResult } from './schemas/AiGovernanceDryRunResult';
367
376
  export type { AiGovernanceDryRunRuleResult } from './schemas/AiGovernanceDryRunRuleResult';
368
377
  export type { AiGovernanceDryRunSubject } from './schemas/AiGovernanceDryRunSubject';
369
- export type { AiGovernanceMessageResponse } from './schemas/AiGovernanceMessageResponse';
378
+ export type { AiGovernanceGovernancePeriod } from './schemas/AiGovernanceGovernancePeriod';
370
379
  export type { AiGovernanceMyOverrideRequestsList } from './schemas/AiGovernanceMyOverrideRequestsList';
371
380
  export type { AiGovernanceMyOverrideRequestsListRequest } from './schemas/AiGovernanceMyOverrideRequestsListRequest';
372
381
  export type { AiGovernanceMyOverrideRequestsListResponse } from './schemas/AiGovernanceMyOverrideRequestsListResponse';
373
382
  export type { AiGovernanceOverrideRequestsListRequest } from './schemas/AiGovernanceOverrideRequestsListRequest';
374
383
  export type { AiGovernancePolicy } from './schemas/AiGovernancePolicy';
375
384
  export type { AiGovernancePolicyAuthoring } from './schemas/AiGovernancePolicyAuthoring';
385
+ export type { AiGovernancePolicyBudget } from './schemas/AiGovernancePolicyBudget';
376
386
  export type { AiGovernancePolicyDetails } from './schemas/AiGovernancePolicyDetails';
377
387
  export type { AiGovernancePolicyDetailsResponse } from './schemas/AiGovernancePolicyDetailsResponse';
378
388
  export type { AiGovernancePolicyDocument } from './schemas/AiGovernancePolicyDocument';
@@ -381,16 +391,24 @@ export type { AiGovernancePolicyListRequest } from './schemas/AiGovernancePolicy
381
391
  export type { AiGovernancePolicyListResponse } from './schemas/AiGovernancePolicyListResponse';
382
392
  export type { AiGovernancePolicyOverviewMetrics } from './schemas/AiGovernancePolicyOverviewMetrics';
383
393
  export type { AiGovernancePolicyResponse } from './schemas/AiGovernancePolicyResponse';
394
+ export type { AiGovernancePolicySpec } from './schemas/AiGovernancePolicySpec';
384
395
  export type { AiGovernancePolicySubjectRow } from './schemas/AiGovernancePolicySubjectRow';
385
396
  export type { AiGovernancePolicySubjectsRequest } from './schemas/AiGovernancePolicySubjectsRequest';
386
397
  export type { AiGovernancePolicySubjectsResponse } from './schemas/AiGovernancePolicySubjectsResponse';
387
398
  export type { AiGovernancePolicyUpsertRequest } from './schemas/AiGovernancePolicyUpsertRequest';
388
399
  export type { AiGovernancePolicyUserHealth } from './schemas/AiGovernancePolicyUserHealth';
400
+ export type { AiGovernanceRequestBudgetOverrideRequest } from './schemas/AiGovernanceRequestBudgetOverrideRequest';
389
401
  export type { AiGovernanceReviewOverrideItem } from './schemas/AiGovernanceReviewOverrideItem';
390
402
  export type { AiGovernanceReviewOverrideOutcome } from './schemas/AiGovernanceReviewOverrideOutcome';
391
403
  export type { AiGovernanceReviewOverridesRequest } from './schemas/AiGovernanceReviewOverridesRequest';
392
404
  export type { AiGovernanceReviewOverridesResponse } from './schemas/AiGovernanceReviewOverridesResponse';
393
405
  export type { AiGovernanceReviewOverridesResult } from './schemas/AiGovernanceReviewOverridesResult';
406
+ export type { AiGovernanceRuleBudget } from './schemas/AiGovernanceRuleBudget';
407
+ export type { AiGovernanceRuleOverride } from './schemas/AiGovernanceRuleOverride';
408
+ export type { AiGovernanceRuleOverrideResponse } from './schemas/AiGovernanceRuleOverrideResponse';
409
+ export type { AiGovernanceSubjects } from './schemas/AiGovernanceSubjects';
410
+ export type { AiGovernanceUserBudgetOverview } from './schemas/AiGovernanceUserBudgetOverview';
411
+ export type { AiGovernanceUserBudgetOverviewResponse } from './schemas/AiGovernanceUserBudgetOverviewResponse';
394
412
  export type { AiGovernanceUserBudgetRow } from './schemas/AiGovernanceUserBudgetRow';
395
413
  export type { AiGovernanceUserBudgets } from './schemas/AiGovernanceUserBudgets';
396
414
  export type { AiGovernanceUserBudgetsResponse } from './schemas/AiGovernanceUserBudgetsResponse';
@@ -399,6 +417,7 @@ export type { Alert } from './schemas/Alert';
399
417
  export type { AlertAssociatedEntity } from './schemas/AlertAssociatedEntity';
400
418
  export type { AlertDeleteResponse } from './schemas/AlertDeleteResponse';
401
419
  export type { AlertEvent } from './schemas/AlertEvent';
420
+ export type { AlertMessageResponse } from './schemas/AlertMessageResponse';
402
421
  export type { AlertRecipient } from './schemas/AlertRecipient';
403
422
  export type { AlertRequest } from './schemas/AlertRequest';
404
423
  export type { AlertSearchRequest } from './schemas/AlertSearchRequest';
@@ -20,6 +20,7 @@ export { configureClusterOrchestrator, useConfigureClusterOrchestratorMutation,
20
20
  export { configureClusterOrchestratorWorkloads, useConfigureClusterOrchestratorWorkloadsMutation, } from './hooks/useConfigureClusterOrchestratorWorkloadsMutation';
21
21
  export { coolDownAutostoppingRule, useCoolDownAutostoppingRuleMutation, } from './hooks/useCoolDownAutostoppingRuleMutation';
22
22
  export { createAccessPoint, useCreateAccessPointMutation, } from './hooks/useCreateAccessPointMutation';
23
+ export { createAiGovernanceOverride, useCreateAiGovernanceOverrideMutation, } from './hooks/useCreateAiGovernanceOverrideMutation';
23
24
  export { createAiGovernancePolicy, useCreateAiGovernancePolicyMutation, } from './hooks/useCreateAiGovernancePolicyMutation';
24
25
  export { createAlert, useCreateAlertMutation } from './hooks/useCreateAlertMutation';
25
26
  export { createClusterOrchestrator, useCreateClusterOrchestratorMutation, } from './hooks/useCreateClusterOrchestratorMutation';
@@ -103,6 +104,7 @@ export { getInstanceHealthCheckDetails, useGetInstanceHealthCheckDetailsQuery, }
103
104
  export { getInstancesTags, useGetInstancesTagsQuery } from './hooks/useGetInstancesTagsQuery';
104
105
  export { getKeyPairsForProxy, useGetKeyPairsForProxyQuery, } from './hooks/useGetKeyPairsForProxyQuery';
105
106
  export { getMachineListForZone, useGetMachineListForZoneQuery, } from './hooks/useGetMachineListForZoneQuery';
107
+ export { getMyAiGovernanceBudgetOverview, useGetMyAiGovernanceBudgetOverviewQuery, } from './hooks/useGetMyAiGovernanceBudgetOverviewQuery';
106
108
  export { getNodeClass, useGetNodeClassQuery } from './hooks/useGetNodeClassQuery';
107
109
  export { getNodePool, useGetNodePoolQuery } from './hooks/useGetNodePoolQuery';
108
110
  export { getNodepoolSchedules, useGetNodepoolSchedulesQuery, } from './hooks/useGetNodepoolSchedulesQuery';
@@ -147,6 +149,7 @@ export { logsOfServiceV2, useLogsOfServiceV2Mutation } from './hooks/useLogsOfSe
147
149
  export { mapToDns, useMapToDnsMutation } from './hooks/useMapToDnsMutation';
148
150
  export { paginatedAccessPoints, usePaginatedAccessPointsMutation, } from './hooks/usePaginatedAccessPointsMutation';
149
151
  export { performBulkRuleAction, usePerformBulkRuleActionMutation, } from './hooks/usePerformBulkRuleActionMutation';
152
+ export { requestMyAiGovernanceBudgetOverride, useRequestMyAiGovernanceBudgetOverrideMutation, } from './hooks/useRequestMyAiGovernanceBudgetOverrideMutation';
150
153
  export { requestsOfService, useRequestsOfServiceQuery } from './hooks/useRequestsOfServiceQuery';
151
154
  export { reviewAiGovernanceOverrideRequests, useReviewAiGovernanceOverrideRequestsMutation, } from './hooks/useReviewAiGovernanceOverrideRequestsMutation';
152
155
  export { routeDetails, useRouteDetailsQuery } from './hooks/useRouteDetailsQuery';
@@ -19,14 +19,6 @@ export interface AiGovernanceApprovalRequest {
19
19
  * @format uuid
20
20
  */
21
21
  id: string;
22
- /**
23
- * Index into tiersRequired for the tier awaiting action
24
- */
25
- pendingTierIndex: number;
26
- /**
27
- * @format date-time
28
- */
29
- periodStart: string;
30
22
  /**
31
23
  * @format uuid
32
24
  */
@@ -37,31 +29,10 @@ export interface AiGovernanceApprovalRequest {
37
29
  * Requested budget ceiling raise in USD dollars
38
30
  */
39
31
  requestedAmount: number;
40
- requestedBy: string;
41
- /**
42
- * @format uuid
43
- */
44
- ruleId: string;
45
32
  status: 'approved' | 'deferred' | 'error' | 'expired' | 'pending' | 'rejected';
46
33
  subjectId: string;
47
- /**
48
- * Per-tier approval records as requests progress through multi-tier approval
49
- */
50
- tierApprovals: Array<{
51
- [key: string]: any;
52
- }>;
53
- /**
54
- * Approval tiers required for this request, snapshotted at submission time
55
- */
56
- tiersRequired: Array<{
57
- [key: string]: any;
58
- }>;
59
34
  /**
60
35
  * @format date-time
61
36
  */
62
37
  updatedAt: string;
63
- /**
64
- * @format date-time
65
- */
66
- validUntil?: string;
67
38
  }
@@ -1,7 +1,7 @@
1
1
  import type { AiGovernanceApprovalRequest } from '../schemas/AiGovernanceApprovalRequest';
2
2
  export interface AiGovernanceApprovalRequestView extends AiGovernanceApprovalRequest {
3
3
  /**
4
- * True when the caller can approve the pending tier for the requested amount
4
+ * True when the caller is an approver on a required tier for the requested amount
5
5
  */
6
6
  canApprove: boolean;
7
7
  }
@@ -0,0 +1,27 @@
1
+ import type { AiGovernanceBudgetActionWhen } from '../schemas/AiGovernanceBudgetActionWhen';
2
+ /**
3
+ * Graduated response triggered when spend crosses a threshold during the budget period
4
+ */
5
+ export interface AiGovernanceBudgetAction {
6
+ /**
7
+ * Notification channels when do is notify (e.g. email, slack)
8
+ */
9
+ channels?: string[];
10
+ /**
11
+ * Notify delivery mode when do is notify
12
+ */
13
+ delivery?: 'digest' | 'immediate';
14
+ /**
15
+ * Response to apply when the threshold is reached
16
+ */
17
+ do: 'block-user' | 'notify' | 'remove-premium-models';
18
+ /**
19
+ * When true, block-level notify actions include instructions for requesting a budget raise
20
+ */
21
+ includeRecoveryInstructions?: boolean;
22
+ /**
23
+ * Model globs affected when do is remove-premium-models
24
+ */
25
+ models?: string[];
26
+ when: AiGovernanceBudgetActionWhen;
27
+ }
@@ -0,0 +1,6 @@
1
+ export interface AiGovernanceBudgetActionWhen {
2
+ /**
3
+ * Spend threshold (0-100) at which this action triggers
4
+ */
5
+ thresholdPercent: number;
6
+ }
@@ -0,0 +1,10 @@
1
+ export interface AiGovernanceCreateOverrideRequest {
2
+ /**
3
+ * Approved budget ceiling in USD dollars for the remainder of the current period
4
+ */
5
+ amount: number;
6
+ /**
7
+ * Governed subject identifier (typically email)
8
+ */
9
+ subject_id: string;
10
+ }