@thinkai/tai-api-contract 2.198.0 → 2.200.0
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/generated/openapi.d.ts +186 -5
- package/dist/generated/openapi.d.ts.map +1 -1
- package/dist/index.d.ts +44 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/openapi/openapi.yaml +256 -8
- package/package.json +1 -1
- package/src/generated/openapi.ts +186 -5
- package/src/index.ts +55 -1
package/src/generated/openapi.ts
CHANGED
|
@@ -855,6 +855,46 @@ export interface paths {
|
|
|
855
855
|
patch?: never;
|
|
856
856
|
trace?: never;
|
|
857
857
|
};
|
|
858
|
+
"/workspaces/{workspaceId}/strict-insights-on-trust": {
|
|
859
|
+
parameters: {
|
|
860
|
+
query?: never;
|
|
861
|
+
header?: never;
|
|
862
|
+
path?: never;
|
|
863
|
+
cookie?: never;
|
|
864
|
+
};
|
|
865
|
+
get?: never;
|
|
866
|
+
/**
|
|
867
|
+
* Enable or disable strict Insights gating on dataTrust
|
|
868
|
+
* @description Opt-in enterprise flag (default off). When enabled, Insights may hide card bodies for non-remediable unverified ingest `dataTrust` and notify ThinkAI ops. Requires workspace admin. On success writes activity `config.strict_insights_on_trust.changed`. Read back via `GET /workspaces/{workspaceId}/config` → `strictInsightsOnTrust`.
|
|
869
|
+
*/
|
|
870
|
+
put: operations["putWorkspaceStrictInsightsOnTrust"];
|
|
871
|
+
post?: never;
|
|
872
|
+
delete?: never;
|
|
873
|
+
options?: never;
|
|
874
|
+
head?: never;
|
|
875
|
+
patch?: never;
|
|
876
|
+
trace?: never;
|
|
877
|
+
};
|
|
878
|
+
"/workspaces/{workspaceId}/insights/strict-trust-hide-notify": {
|
|
879
|
+
parameters: {
|
|
880
|
+
query?: never;
|
|
881
|
+
header?: never;
|
|
882
|
+
path?: never;
|
|
883
|
+
cookie?: never;
|
|
884
|
+
};
|
|
885
|
+
get?: never;
|
|
886
|
+
put?: never;
|
|
887
|
+
/**
|
|
888
|
+
* Notify ThinkAI ops of a non-remediable strict Insights hide
|
|
889
|
+
* @description Called by the SPA when strict Insights is on and a card body is hidden because a required ingest input has `dataTrust.status` ≠ `verified` and Data coverage offers no meaningful self-serve fix (reconnect / Fill / Retry / Sync). Emits a warn `@event:ingest.insights.strict_trust_hide` line with `workspaceId`, `pipeline`, `trustStatus`, `verificationMethod`, and `fix_request: true` (ThinkAI ops / Datadog — not Message Center). Debounced per workspace+pipeline transition into the same hide fingerprint. Returns `{ emitted: false }` without writing a line when the workspace flag is off, `trustStatus` is `verified`, or the fingerprint was already emitted. Member-level access (any Insights viewer may trigger ops notify).
|
|
890
|
+
*/
|
|
891
|
+
post: operations["postInsightsStrictTrustHideNotify"];
|
|
892
|
+
delete?: never;
|
|
893
|
+
options?: never;
|
|
894
|
+
head?: never;
|
|
895
|
+
patch?: never;
|
|
896
|
+
trace?: never;
|
|
897
|
+
};
|
|
858
898
|
"/workspaces/{workspaceId}/ai-model-policy": {
|
|
859
899
|
parameters: {
|
|
860
900
|
query?: never;
|
|
@@ -5176,7 +5216,7 @@ export interface paths {
|
|
|
5176
5216
|
};
|
|
5177
5217
|
/**
|
|
5178
5218
|
* Ingest / backfill data coverage
|
|
5179
|
-
* @description Read-only snapshot of historical ingest coverage for connected pipelines (productivity GitHub, AI usage/spend per provider, SDLC components, monitoring, HRIS). Aggregates existing watermarks and stored day/week evidence — does not trigger ingest or refresh. Every pipeline includes always-present `dataTrust` (`status` + `verificationMethod`) as a unified trust summary derived from existing coverage signals (stale, gaps, productivity `verificationStatus`, AI `spendReconciliationStatus`, pipeline `status`). It does not replace Source verified, Spend matched, or Backfill complete fields. Productivity detail may include `selfHeal` (latest depth scan and week reconcile) read from stored activity rows; this GET does not run a scan. `selfHeal` is null when neither event exists. AI usage detail includes spend reconciliation (`spendReconciliationStatus`, `spendDataQuality`, provider and stored cent totals, `spendReconcileCheckedAt`) read from the refresh-status snapshot. This GET does not call Cursor or Claude. Productivity, HR, monitoring, and SDLC pipelines omit those fields. `nextScheduledAt` is the scheduled poll instant for `ai_usage`, `hris`, and `monitoring`. It is null for productivity and SDLC, when that sync worker is disabled, or when there has been no attempt (`hris`/`monitoring` use last status `never`). For `hris` and `monitoring`, the value is the next PHASE2 daily UTC cron after now (`15 2` / `30 2`, not lastAttempt plus interval) and is therefore in the future when set. For `ai_usage`, it is the next weekly workspace slot and a past instant means that poll is overdue; it is not moved forward to now and is not an ETA. Monitoring `sync` copies stored `issueCount`, `deploymentCount`, and `eventCount` (null when unset). HRIS leaves those three null. Requires workspace membership. Disconnected sources are omitted. Insights / Measure / Engineering Health response DTOs do not include `dataTrust`.
|
|
5219
|
+
* @description Read-only snapshot of historical ingest coverage for connected pipelines (productivity GitHub/Bitbucket, AI usage/spend per provider, SDLC components, monitoring, HRIS, Jira, PagerDuty). Aggregates existing watermarks and stored day/week evidence — does not trigger ingest or refresh. Every pipeline includes always-present `dataTrust` (`status` + `verificationMethod`) as a unified trust summary derived from existing coverage signals (stale, gaps, productivity `verificationStatus`, AI `spendReconciliationStatus`, optional pipeline `sourceReconcile`, pipeline `status`). It does not replace Source verified, Spend matched, or Backfill complete fields. Optional `sourceReconcile` generalizes Source verified (count/checksum vs provider) for L2 reconcilers; omit/null when no scheduled reconcile snapshot exists. Productivity detail may include `selfHeal` (latest depth scan and week reconcile) read from stored activity rows; this GET does not run a scan. `selfHeal` is null when neither event exists. AI usage detail includes spend reconciliation (`spendReconciliationStatus`, `spendDataQuality`, provider and stored cent totals, `spendReconcileCheckedAt`) read from the refresh-status snapshot. This GET does not call Cursor or Claude. Productivity, HR, monitoring, and SDLC pipelines omit those spend fields. `nextScheduledAt` is the scheduled poll instant for `ai_usage`, `hris`, and `monitoring`. It is null for productivity and SDLC, when that sync worker is disabled, or when there has been no attempt (`hris`/`monitoring` use last status `never`). For `hris` and `monitoring`, the value is the next PHASE2 daily UTC cron after now (`15 2` / `30 2`, not lastAttempt plus interval) and is therefore in the future when set. For `ai_usage`, it is the next weekly workspace slot and a past instant means that poll is overdue; it is not moved forward to now and is not an ETA. Monitoring `sync` copies stored `issueCount`, `deploymentCount`, and `eventCount` (null when unset). HRIS leaves those three null. Requires workspace membership. Disconnected sources are omitted. Insights / Measure / Engineering Health response DTOs do not include `dataTrust`.
|
|
5180
5220
|
*/
|
|
5181
5221
|
get: operations["getWorkspaceIngestCoverage"];
|
|
5182
5222
|
put?: never;
|
|
@@ -6381,6 +6421,8 @@ export interface components {
|
|
|
6381
6421
|
deliveryTopology?: components["schemas"]["DeliveryTopologyDto"] | null;
|
|
6382
6422
|
/** @description Deep Wiki documentation focus for this workspace (guidance notes + optional topic outline). Saved via `PUT /workspaces/{workspaceId}/code-intelligence` (`wikiGuidance`). */
|
|
6383
6423
|
codeWikiGuidance?: components["schemas"]["CodeWikiGuidanceDto"];
|
|
6424
|
+
/** @description When true (opt-in enterprise), Insights may hide card bodies whose required ingest inputs have `dataTrust.status` ≠ `verified` and no meaningful Data coverage self-serve fix (reconnect / Fill / Retry / Sync), and notify ThinkAI ops. Default false — never on for all workspaces. Missing/null treated as off. Change via `PUT /workspaces/{workspaceId}/strict-insights-on-trust`. */
|
|
6425
|
+
strictInsightsOnTrust?: boolean;
|
|
6384
6426
|
};
|
|
6385
6427
|
DeliveryRoleConfigDto: {
|
|
6386
6428
|
/** @description First connected workspace repo (`owner/repo`) that holds this kind of evidence. Kept so a saved single-repo role still reads. Same value as `providerSlugs[0]`. */
|
|
@@ -10073,7 +10115,7 @@ export interface components {
|
|
|
10073
10115
|
* @description Type of workspace lifecycle event.
|
|
10074
10116
|
* @enum {string}
|
|
10075
10117
|
*/
|
|
10076
|
-
ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.suspended" | "integration.github.unsuspended" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "code_insights.design_run_started" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "rules_skills.soft_quality.override" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.invite_accepted" | "member.invite_rejected" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.zelt.sync_started" | "hris.zelt.sync_completed" | "hris.zelt.sync_failed" | "hris.hibob.sync_started" | "hris.hibob.sync_completed" | "hris.hibob.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "integrations.code_intelligence.settings_changed" | "integrations.code_intelligence.execution_key.added" | "integrations.code_intelligence.execution_key.updated" | "integrations.code_intelligence.execution_key.removed" | "integrations.code_intelligence.execution_key.check_failed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped" | "productivity.ingest.repo_skipped" | "productivity.ingest.coverage_gap_detected" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed" | "integrations.datadog.added" | "integrations.datadog.removed" | "integrations.datadog.sync_completed" | "integrations.datadog.sync_failed" | "integrations.sentry.added" | "integrations.sentry.removed" | "integrations.sentry.sync_completed" | "integrations.sentry.sync_failed" | "integrations.zelt.added" | "integrations.zelt.removed" | "report.exported" | "report.assessment_stored" | "report.assessment_link_sent" | "report.assessment_link_revoked" | "report.assessment_downloaded" | "report.assessment_hidden" | "report.assessment_restored" | "workspace.aggregate_use.changed" | "workspace.assessment_rollout.changed";
|
|
10118
|
+
ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.suspended" | "integration.github.unsuspended" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "code_insights.design_run_started" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "rules_skills.soft_quality.override" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.invite_accepted" | "member.invite_rejected" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.zelt.sync_started" | "hris.zelt.sync_completed" | "hris.zelt.sync_failed" | "hris.hibob.sync_started" | "hris.hibob.sync_completed" | "hris.hibob.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "integrations.code_intelligence.settings_changed" | "integrations.code_intelligence.execution_key.added" | "integrations.code_intelligence.execution_key.updated" | "integrations.code_intelligence.execution_key.removed" | "integrations.code_intelligence.execution_key.check_failed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped" | "productivity.ingest.repo_skipped" | "productivity.ingest.coverage_gap_detected" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed" | "integrations.datadog.added" | "integrations.datadog.removed" | "integrations.datadog.sync_completed" | "integrations.datadog.sync_failed" | "integrations.sentry.added" | "integrations.sentry.removed" | "integrations.sentry.sync_completed" | "integrations.sentry.sync_failed" | "integrations.zelt.added" | "integrations.zelt.removed" | "report.exported" | "report.assessment_stored" | "report.assessment_link_sent" | "report.assessment_link_revoked" | "report.assessment_downloaded" | "report.assessment_hidden" | "report.assessment_restored" | "workspace.aggregate_use.changed" | "workspace.assessment_rollout.changed" | "config.strict_insights_on_trust.changed";
|
|
10077
10119
|
/** @description Current legal-approved opt-in notice, or `unset` while opt-in is unavailable. */
|
|
10078
10120
|
AggregateUseNoticeStatusDto: {
|
|
10079
10121
|
/** @enum {string} */
|
|
@@ -10771,6 +10813,36 @@ export interface components {
|
|
|
10771
10813
|
/** @description Monitoring meta event count. Null for HRIS and when the stored count is unset. */
|
|
10772
10814
|
eventCount?: number | null;
|
|
10773
10815
|
};
|
|
10816
|
+
/**
|
|
10817
|
+
* @description Pipeline-level source reconcile outcome (L2). Same values as productivity Source verified, plus `not_applicable` when the provider has no countable or checksum reconcile surface.
|
|
10818
|
+
* @enum {string}
|
|
10819
|
+
*/
|
|
10820
|
+
IngestCoverageSourceReconcileStatus: "unverified" | "verified" | "below_target" | "insufficient_sample" | "stale" | "not_applicable";
|
|
10821
|
+
/**
|
|
10822
|
+
* @description Which L2 reconcile check produced `sourceReconcile.verificationStatus`. Prefer `source_count` or `checksum` when mapping into `dataTrust.verificationMethod`.
|
|
10823
|
+
* @enum {string}
|
|
10824
|
+
*/
|
|
10825
|
+
IngestCoverageSourceReconcileMethod: "source_count" | "checksum" | "none";
|
|
10826
|
+
/** @description Generalized Source verified / reconcile snapshot on a coverage pipeline. Optional until a scheduled reconciler writes a row. Does not replace nested productivity verify fields or AI spend reconcile. */
|
|
10827
|
+
IngestCoverageSourceReconcileDto: {
|
|
10828
|
+
verificationStatus: components["schemas"]["IngestCoverageSourceReconcileStatus"];
|
|
10829
|
+
/** @description Minimum provider-vs-stored capture for a count reconcile (0–100, up to two decimals). Null when the check is checksum-only, thin, not applicable, or no sample exists. */
|
|
10830
|
+
sourceCapturePercent: number | null;
|
|
10831
|
+
verificationMethod: components["schemas"]["IngestCoverageSourceReconcileMethod"];
|
|
10832
|
+
/**
|
|
10833
|
+
* Format: date-time
|
|
10834
|
+
* @description When the snapshot was written. Null when unverified with no row.
|
|
10835
|
+
*/
|
|
10836
|
+
checkedAt: string | null;
|
|
10837
|
+
/** @description Provider-side count for the reconcile window. Null when unset or N/A. */
|
|
10838
|
+
providerCount: number | null;
|
|
10839
|
+
/** @description Stored platform count for the reconcile window. Null when unset or N/A. */
|
|
10840
|
+
storedCount: number | null;
|
|
10841
|
+
/** @description Provider-side checksum (opaque). Null when method is not checksum. */
|
|
10842
|
+
providerChecksum: string | null;
|
|
10843
|
+
/** @description Stored platform checksum (opaque). Null when method is not checksum. */
|
|
10844
|
+
storedChecksum: string | null;
|
|
10845
|
+
};
|
|
10774
10846
|
/**
|
|
10775
10847
|
* @description Unified data-trust summary for one ingest-coverage pipeline. Derived from existing coverage signals; does not rename Source verified, Spend matched, or Backfill complete.
|
|
10776
10848
|
* @enum {string}
|
|
@@ -10786,10 +10858,25 @@ export interface components {
|
|
|
10786
10858
|
status: components["schemas"]["DataTrustStatus"];
|
|
10787
10859
|
verificationMethod: components["schemas"]["DataTrustVerificationMethod"];
|
|
10788
10860
|
};
|
|
10861
|
+
PutStrictInsightsOnTrustDto: {
|
|
10862
|
+
/** @description true to opt in to strict Insights gating on ingest dataTrust; false to opt out (default). Never default-on for all workspaces. */
|
|
10863
|
+
enabled: boolean;
|
|
10864
|
+
};
|
|
10865
|
+
/** @description Payload when the SPA hides an Insights card body under strict mode for a non-remediable unverified dataTrust gap. */
|
|
10866
|
+
InsightsStrictTrustHideNotifyDto: {
|
|
10867
|
+
/** @description Ingest-coverage pipeline id or kind (e.g. `productivity_github`, `ai_usage`, `monitoring`, `hris`). */
|
|
10868
|
+
pipeline: string;
|
|
10869
|
+
trustStatus: components["schemas"]["DataTrustStatus"];
|
|
10870
|
+
verificationMethod: components["schemas"]["DataTrustVerificationMethod"];
|
|
10871
|
+
};
|
|
10872
|
+
InsightsStrictTrustHideNotifyResultDto: {
|
|
10873
|
+
/** @description true when a new `@event:ingest.insights.strict_trust_hide` warn line was written for this workspace+pipeline transition. */
|
|
10874
|
+
emitted: boolean;
|
|
10875
|
+
};
|
|
10789
10876
|
IngestCoveragePipelineDto: {
|
|
10790
10877
|
id: string;
|
|
10791
10878
|
/** @enum {string} */
|
|
10792
|
-
kind: "productivity_github" | "ai_usage" | "sdlc_github" | "monitoring" | "hris";
|
|
10879
|
+
kind: "productivity_github" | "productivity_bitbucket" | "ai_usage" | "sdlc_github" | "monitoring" | "hris" | "jira" | "pagerduty";
|
|
10793
10880
|
provider?: string | null;
|
|
10794
10881
|
/** @enum {string} */
|
|
10795
10882
|
status: "not_started" | "backfilling" | "incremental" | "complete" | "failed" | "in_progress";
|
|
@@ -10822,6 +10909,8 @@ export interface components {
|
|
|
10822
10909
|
ai?: components["schemas"]["IngestCoverageAiDetailDto"];
|
|
10823
10910
|
sdlc?: components["schemas"]["IngestCoverageSdlcDetailDto"];
|
|
10824
10911
|
sync?: components["schemas"]["IngestCoverageSyncDetailDto"];
|
|
10912
|
+
/** @description Optional L2 source-reconcile snapshot (count / checksum vs provider API). Null when no scheduled reconcile has written a row for this pipeline. Does not replace nested productivity verify fields or AI spend reconcile. */
|
|
10913
|
+
sourceReconcile?: components["schemas"]["IngestCoverageSourceReconcileDto"] | null;
|
|
10825
10914
|
dataTrust: components["schemas"]["DataTrustDto"];
|
|
10826
10915
|
};
|
|
10827
10916
|
IngestCoverageDto: {
|
|
@@ -10833,7 +10922,7 @@ export interface components {
|
|
|
10833
10922
|
/** Format: uuid */
|
|
10834
10923
|
runId: string;
|
|
10835
10924
|
/** @enum {string} */
|
|
10836
|
-
kind: "productivity_github" | "ai_usage" | "sdlc_github" | "monitoring" | "hris";
|
|
10925
|
+
kind: "productivity_github" | "productivity_bitbucket" | "ai_usage" | "sdlc_github" | "monitoring" | "hris" | "jira" | "pagerduty";
|
|
10837
10926
|
/** Format: date-time */
|
|
10838
10927
|
startedAt: string;
|
|
10839
10928
|
/** Format: date-time */
|
|
@@ -13587,9 +13676,15 @@ export type IngestCoverageAiDetailDto = components['schemas']['IngestCoverageAiD
|
|
|
13587
13676
|
export type IngestCoverageSdlcComponentDto = components['schemas']['IngestCoverageSdlcComponentDto'];
|
|
13588
13677
|
export type IngestCoverageSdlcDetailDto = components['schemas']['IngestCoverageSdlcDetailDto'];
|
|
13589
13678
|
export type IngestCoverageSyncDetailDto = components['schemas']['IngestCoverageSyncDetailDto'];
|
|
13679
|
+
export type IngestCoverageSourceReconcileStatus = components['schemas']['IngestCoverageSourceReconcileStatus'];
|
|
13680
|
+
export type IngestCoverageSourceReconcileMethod = components['schemas']['IngestCoverageSourceReconcileMethod'];
|
|
13681
|
+
export type IngestCoverageSourceReconcileDto = components['schemas']['IngestCoverageSourceReconcileDto'];
|
|
13590
13682
|
export type DataTrustStatus = components['schemas']['DataTrustStatus'];
|
|
13591
13683
|
export type DataTrustVerificationMethod = components['schemas']['DataTrustVerificationMethod'];
|
|
13592
13684
|
export type DataTrustDto = components['schemas']['DataTrustDto'];
|
|
13685
|
+
export type PutStrictInsightsOnTrustDto = components['schemas']['PutStrictInsightsOnTrustDto'];
|
|
13686
|
+
export type InsightsStrictTrustHideNotifyDto = components['schemas']['InsightsStrictTrustHideNotifyDto'];
|
|
13687
|
+
export type InsightsStrictTrustHideNotifyResultDto = components['schemas']['InsightsStrictTrustHideNotifyResultDto'];
|
|
13593
13688
|
export type IngestCoveragePipelineDto = components['schemas']['IngestCoveragePipelineDto'];
|
|
13594
13689
|
export type IngestCoverageDto = components['schemas']['IngestCoverageDto'];
|
|
13595
13690
|
export type IngestRunDto = components['schemas']['IngestRunDto'];
|
|
@@ -16520,6 +16615,92 @@ export interface operations {
|
|
|
16520
16615
|
};
|
|
16521
16616
|
};
|
|
16522
16617
|
};
|
|
16618
|
+
putWorkspaceStrictInsightsOnTrust: {
|
|
16619
|
+
parameters: {
|
|
16620
|
+
query?: never;
|
|
16621
|
+
header?: never;
|
|
16622
|
+
path: {
|
|
16623
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
16624
|
+
};
|
|
16625
|
+
cookie?: never;
|
|
16626
|
+
};
|
|
16627
|
+
requestBody: {
|
|
16628
|
+
content: {
|
|
16629
|
+
"application/json": components["schemas"]["PutStrictInsightsOnTrustDto"];
|
|
16630
|
+
};
|
|
16631
|
+
};
|
|
16632
|
+
responses: {
|
|
16633
|
+
/** @description Flag updated */
|
|
16634
|
+
200: {
|
|
16635
|
+
headers: {
|
|
16636
|
+
[name: string]: unknown;
|
|
16637
|
+
};
|
|
16638
|
+
content: {
|
|
16639
|
+
"application/json": {
|
|
16640
|
+
ok: boolean;
|
|
16641
|
+
strictInsightsOnTrust: boolean;
|
|
16642
|
+
};
|
|
16643
|
+
};
|
|
16644
|
+
};
|
|
16645
|
+
/** @description Invalid request body */
|
|
16646
|
+
400: {
|
|
16647
|
+
headers: {
|
|
16648
|
+
[name: string]: unknown;
|
|
16649
|
+
};
|
|
16650
|
+
content: {
|
|
16651
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
16652
|
+
};
|
|
16653
|
+
};
|
|
16654
|
+
401: components["responses"]["Unauthorized"];
|
|
16655
|
+
403: components["responses"]["Forbidden"];
|
|
16656
|
+
/** @description Store does not support this setting */
|
|
16657
|
+
501: {
|
|
16658
|
+
headers: {
|
|
16659
|
+
[name: string]: unknown;
|
|
16660
|
+
};
|
|
16661
|
+
content: {
|
|
16662
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
16663
|
+
};
|
|
16664
|
+
};
|
|
16665
|
+
};
|
|
16666
|
+
};
|
|
16667
|
+
postInsightsStrictTrustHideNotify: {
|
|
16668
|
+
parameters: {
|
|
16669
|
+
query?: never;
|
|
16670
|
+
header?: never;
|
|
16671
|
+
path: {
|
|
16672
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
16673
|
+
};
|
|
16674
|
+
cookie?: never;
|
|
16675
|
+
};
|
|
16676
|
+
requestBody: {
|
|
16677
|
+
content: {
|
|
16678
|
+
"application/json": components["schemas"]["InsightsStrictTrustHideNotifyDto"];
|
|
16679
|
+
};
|
|
16680
|
+
};
|
|
16681
|
+
responses: {
|
|
16682
|
+
/** @description Notify attempt recorded (may or may not have emitted) */
|
|
16683
|
+
200: {
|
|
16684
|
+
headers: {
|
|
16685
|
+
[name: string]: unknown;
|
|
16686
|
+
};
|
|
16687
|
+
content: {
|
|
16688
|
+
"application/json": components["schemas"]["InsightsStrictTrustHideNotifyResultDto"];
|
|
16689
|
+
};
|
|
16690
|
+
};
|
|
16691
|
+
/** @description Invalid request body */
|
|
16692
|
+
400: {
|
|
16693
|
+
headers: {
|
|
16694
|
+
[name: string]: unknown;
|
|
16695
|
+
};
|
|
16696
|
+
content: {
|
|
16697
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
16698
|
+
};
|
|
16699
|
+
};
|
|
16700
|
+
401: components["responses"]["Unauthorized"];
|
|
16701
|
+
403: components["responses"]["Forbidden"];
|
|
16702
|
+
};
|
|
16703
|
+
};
|
|
16523
16704
|
getWorkspaceAiModelPolicy: {
|
|
16524
16705
|
parameters: {
|
|
16525
16706
|
query?: never;
|
|
@@ -27958,7 +28139,7 @@ export interface operations {
|
|
|
27958
28139
|
parameters: {
|
|
27959
28140
|
query?: {
|
|
27960
28141
|
/** @description Coverage pipeline kind. Omit to list every kind stored for the workspace. */
|
|
27961
|
-
kind?: "productivity_github" | "ai_usage" | "sdlc_github" | "monitoring" | "hris";
|
|
28142
|
+
kind?: "productivity_github" | "productivity_bitbucket" | "ai_usage" | "sdlc_github" | "monitoring" | "hris" | "jira" | "pagerduty";
|
|
27962
28143
|
/** @description Page size. Default 20. Values above 100 are rejected. */
|
|
27963
28144
|
limit?: number;
|
|
27964
28145
|
};
|
package/src/index.ts
CHANGED
|
@@ -1457,6 +1457,47 @@ export interface IngestCoverageProductivitySelfHealDto {
|
|
|
1457
1457
|
export type IngestCoverageVerificationStatus =
|
|
1458
1458
|
"unverified" | "verified" | "below_target" | "insufficient_sample" | "stale";
|
|
1459
1459
|
|
|
1460
|
+
/**
|
|
1461
|
+
* Pipeline-level source reconcile outcome (L2).
|
|
1462
|
+
* Reuses the productivity Source verified statuses and adds `not_applicable`
|
|
1463
|
+
* when a connected provider exposes no countable/checksum reconcile surface.
|
|
1464
|
+
*/
|
|
1465
|
+
export type IngestCoverageSourceReconcileStatus =
|
|
1466
|
+
IngestCoverageVerificationStatus | "not_applicable";
|
|
1467
|
+
|
|
1468
|
+
/**
|
|
1469
|
+
* Which L2 reconcile check produced `sourceReconcile.verificationStatus`.
|
|
1470
|
+
* Maps into L1 `dataTrust.verificationMethod` (`source_count` / `checksum`).
|
|
1471
|
+
*/
|
|
1472
|
+
export type IngestCoverageSourceReconcileMethod = "source_count" | "checksum" | "none";
|
|
1473
|
+
|
|
1474
|
+
/**
|
|
1475
|
+
* Generalized Source verified / reconcile snapshot on a coverage pipeline.
|
|
1476
|
+
* Optional until a scheduled reconciler has written a row. Productivity GitHub
|
|
1477
|
+
* keeps nested `productivity.verificationStatus` / `sourceCapturePercent`;
|
|
1478
|
+
* AI spend stays on `ai.spendReconciliationStatus`.
|
|
1479
|
+
*/
|
|
1480
|
+
export interface IngestCoverageSourceReconcileDto {
|
|
1481
|
+
verificationStatus: IngestCoverageSourceReconcileStatus;
|
|
1482
|
+
/**
|
|
1483
|
+
* Minimum provider-vs-stored capture for a count reconcile (0–100, up to two
|
|
1484
|
+
* decimals). Null when the check is checksum-only, thin, not applicable, or
|
|
1485
|
+
* no sample exists.
|
|
1486
|
+
*/
|
|
1487
|
+
sourceCapturePercent: number | null;
|
|
1488
|
+
verificationMethod: IngestCoverageSourceReconcileMethod;
|
|
1489
|
+
/** When the snapshot was written. Null when status is unverified with no row. */
|
|
1490
|
+
checkedAt: string | null;
|
|
1491
|
+
/** Provider-side count for the reconcile window. Null when unset or N/A. */
|
|
1492
|
+
providerCount: number | null;
|
|
1493
|
+
/** Stored platform count for the reconcile window. Null when unset or N/A. */
|
|
1494
|
+
storedCount: number | null;
|
|
1495
|
+
/** Provider-side checksum (opaque). Null when method is not checksum. */
|
|
1496
|
+
providerChecksum: string | null;
|
|
1497
|
+
/** Stored platform checksum (opaque). Null when method is not checksum. */
|
|
1498
|
+
storedChecksum: string | null;
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1460
1501
|
export interface IngestCoverageProductivityDetailDto {
|
|
1461
1502
|
phase?: "recent" | "historical" | "complete" | null;
|
|
1462
1503
|
historicalWeekStart?: string | null;
|
|
@@ -1564,7 +1605,14 @@ export interface IngestCoverageSyncDetailDto {
|
|
|
1564
1605
|
}
|
|
1565
1606
|
|
|
1566
1607
|
export type IngestCoveragePipelineKind =
|
|
1567
|
-
|
|
1608
|
+
| "productivity_github"
|
|
1609
|
+
| "productivity_bitbucket"
|
|
1610
|
+
| "ai_usage"
|
|
1611
|
+
| "sdlc_github"
|
|
1612
|
+
| "monitoring"
|
|
1613
|
+
| "hris"
|
|
1614
|
+
| "jira"
|
|
1615
|
+
| "pagerduty";
|
|
1568
1616
|
|
|
1569
1617
|
export type IngestCoveragePipelineStatus =
|
|
1570
1618
|
"not_started" | "backfilling" | "incremental" | "complete" | "failed" | "in_progress";
|
|
@@ -1628,6 +1676,12 @@ export interface IngestCoveragePipelineDto {
|
|
|
1628
1676
|
ai?: IngestCoverageAiDetailDto;
|
|
1629
1677
|
sdlc?: IngestCoverageSdlcDetailDto;
|
|
1630
1678
|
sync?: IngestCoverageSyncDetailDto;
|
|
1679
|
+
/**
|
|
1680
|
+
* Optional L2 source-reconcile snapshot (count / checksum vs provider API).
|
|
1681
|
+
* Null/omit when no scheduled reconcile has written a row for this pipeline.
|
|
1682
|
+
* Does not replace nested productivity verify fields or AI spend reconcile.
|
|
1683
|
+
*/
|
|
1684
|
+
sourceReconcile?: IngestCoverageSourceReconcileDto | null;
|
|
1631
1685
|
/**
|
|
1632
1686
|
* Always present. Unified Data trust summary for this pipeline.
|
|
1633
1687
|
* Additive to Source verified / Spend matched / Backfill complete.
|