@thinkai/tai-api-contract 2.132.0 → 2.134.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.
@@ -4134,6 +4134,26 @@ export interface paths {
4134
4134
  patch?: never;
4135
4135
  trace?: never;
4136
4136
  };
4137
+ "/workspaces/{workspaceId}/ingest-runs": {
4138
+ parameters: {
4139
+ query?: never;
4140
+ header?: never;
4141
+ path?: never;
4142
+ cookie?: never;
4143
+ };
4144
+ /**
4145
+ * List durable ingest runs
4146
+ * @description Newest-first history of ingest worker ticks that polled. Quiet skips (lock held, rate-limit deferral, and other non-poll skips) are omitted. This wave writes `productivity_github` only; other kinds return an empty list. Requires workspace membership. Does not include run history on ingest-coverage.
4147
+ */
4148
+ get: operations["getWorkspaceIngestRuns"];
4149
+ put?: never;
4150
+ post?: never;
4151
+ delete?: never;
4152
+ options?: never;
4153
+ head?: never;
4154
+ patch?: never;
4155
+ trace?: never;
4156
+ };
4137
4157
  "/workspaces/{workspaceId}/hris/status": {
4138
4158
  parameters: {
4139
4159
  query?: never;
@@ -6854,6 +6874,36 @@ export interface components {
6854
6874
  */
6855
6875
  cursorKeySource?: "workspace_execution_token" | "platform_env_key" | null;
6856
6876
  };
6877
+ /**
6878
+ * @description Where a CI setup criterion's evidence came from. `in_repo` — this repository's CI config contributed. `linked_platform` — a linked CI templates platform repo (role `ci_templates` or the `jenkins_shared` alias) contributed.
6879
+ * @enum {string}
6880
+ */
6881
+ CriterionEvidenceKind: "in_repo" | "linked_platform";
6882
+ /** @description One evidence chip for a CI setup criterion (CI on change, CI runs build, CI runs tests, CI static analysis). `role` and `providerSlug` are present when `kind` is `linked_platform` and omitted for `in_repo`. */
6883
+ CriterionEvidenceSourceDto: {
6884
+ kind: components["schemas"]["CriterionEvidenceKind"];
6885
+ /** @description Chip text shown in the UI (for example "In this repo" or "CI templates · org/platform-ci"). */
6886
+ label: string;
6887
+ /** @description Topology role when `kind` is `linked_platform` (for example `ci_templates` or `jenkins_shared`). Omit for `in_repo`. */
6888
+ role?: string;
6889
+ /** @description Platform repository `owner/name` when `kind` is `linked_platform`. Omit for `in_repo`. */
6890
+ providerSlug?: string;
6891
+ };
6892
+ /**
6893
+ * @description Stable "Improve this scan" code for Agentic Foundation CI setup honesty. `configure_linked_ci_templates` — map a linked CI templates repo. `scan_linked_ci_templates` — the mapped platform repo still needs a fresh scan. `view_ci_health_in_insights` — CI config is present; live pass/fail health is in SDLC Insights.
6894
+ * @enum {string}
6895
+ */
6896
+ ScanImprovementCode: "configure_linked_ci_templates" | "scan_linked_ci_templates" | "view_ci_health_in_insights";
6897
+ /** @description One repo-level recommendation on a readiness scorecard. Display copy is `title` and `description`; clients may also route from `code`. */
6898
+ ScanImprovementDto: {
6899
+ code: components["schemas"]["ScanImprovementCode"];
6900
+ title: string;
6901
+ description: string;
6902
+ /** @description Optional SPA path for the recommendation (linked-platform settings or SDLC Insights). Not a scored URL. */
6903
+ href?: string;
6904
+ /** @description Platform repository `owner/name` when the recommendation names a specific linked repo (typically `scan_linked_ci_templates`). */
6905
+ providerSlug?: string;
6906
+ };
6857
6907
  CriterionDetailDto: {
6858
6908
  /** @description Rubric criterion id (e.g. A1, B3) */
6859
6909
  rubricId: string;
@@ -6880,6 +6930,8 @@ export interface components {
6880
6930
  * @description UUID of the linked open issue in tai_workspace_repo_issues. Present only for gap/partial criteria that have a corresponding issue row. Use this to navigate to the Fix flow.
6881
6931
  */
6882
6932
  issueId?: string | null;
6933
+ /** @description Sources that contributed to CI setup criteria (CI on change, CI runs build, CI runs tests, CI static analysis). Met or Partial on those rows includes at least one entry (`in_repo` and/or `linked_platform`). Omitted on other criteria and when the scan did not record evidence. */
6934
+ evidenceUsed?: components["schemas"]["CriterionEvidenceSourceDto"][];
6883
6935
  };
6884
6936
  ReadinessCriteriaSummaryDto: {
6885
6937
  total: number;
@@ -7247,6 +7299,8 @@ export interface components {
7247
7299
  platformArchetype?: "terraform_platform" | "gitops_platform" | "ci_templates" | "api_contracts_platform" | null;
7248
7300
  /** @description Federated readiness completeness for service repos: which linked platform roles (terraform/gitops/ci_templates/api_contracts, from the workspace delivery topology) are still missing scan evidence. Absent/null when no topology is configured or every declared role has fresh metadata (`complete: true`). */
7249
7301
  linkedRoleAssessment?: components["schemas"]["LinkedRoleAssessmentDto"] | null;
7302
+ /** @description Repo-level "Improve this scan" recommendations for Agentic Foundation CI setup (at most three). Omitted when the scan emitted none. Does not change criterion scores; live CI health stays in SDLC Insights. */
7303
+ scanImprovements?: components["schemas"]["ScanImprovementDto"][];
7250
7304
  };
7251
7305
  LinkedRolePendingDto: {
7252
7306
  /** @description Topology role key, e.g. terraform | gitops | ci_templates | api_contracts. */
@@ -7325,6 +7379,8 @@ export interface components {
7325
7379
  platformArchetype?: "terraform_platform" | "gitops_platform" | "ci_templates" | "api_contracts_platform" | null;
7326
7380
  /** @description See RepoReadinessScoreDto.linkedRoleAssessment. */
7327
7381
  linkedRoleAssessment?: components["schemas"]["LinkedRoleAssessmentDto"] | null;
7382
+ /** @description See RepoReadinessScoreDto.scanImprovements. */
7383
+ scanImprovements?: components["schemas"]["ScanImprovementDto"][];
7328
7384
  };
7329
7385
  AgenticFoundationDashboardSummaryDto: {
7330
7386
  repoCount: number;
@@ -8165,6 +8221,27 @@ export interface components {
8165
8221
  /** Format: date-time */
8166
8222
  generatedAt?: string;
8167
8223
  };
8224
+ IngestRunDto: {
8225
+ /** Format: uuid */
8226
+ runId: string;
8227
+ /** @enum {string} */
8228
+ kind: "productivity_github" | "ai_usage" | "sdlc_github" | "monitoring" | "hris";
8229
+ /** Format: date-time */
8230
+ startedAt: string;
8231
+ /** Format: date-time */
8232
+ completedAt: string | null;
8233
+ /** @enum {string} */
8234
+ outcome: "in_progress" | "ok" | "partial" | "failed" | "cancelled";
8235
+ reposPolled: number | null;
8236
+ reposOk: number | null;
8237
+ reposFailed: number | null;
8238
+ errorSummary: string | null;
8239
+ /** @description ISO lastIngestAt after the cursor moved; null when it did not. */
8240
+ watermark: string | null;
8241
+ };
8242
+ IngestRunListDto: {
8243
+ runs: components["schemas"]["IngestRunDto"][];
8244
+ };
8168
8245
  HrisSyncStatusDto: {
8169
8246
  /** @description Provider identifier (e.g. 'personio', 'zenhr'). */
8170
8247
  provider: string;
@@ -10222,6 +10299,10 @@ export type ReadinessAnalyzeResponseDto = components['schemas']['ReadinessAnalyz
10222
10299
  export type ReadinessRunStatusDto = components['schemas']['ReadinessRunStatusDto'];
10223
10300
  export type ReadinessRepoAnalysisStatusDto = components['schemas']['ReadinessRepoAnalysisStatusDto'];
10224
10301
  export type ReadinessRunSummaryDto = components['schemas']['ReadinessRunSummaryDto'];
10302
+ export type CriterionEvidenceKind = components['schemas']['CriterionEvidenceKind'];
10303
+ export type CriterionEvidenceSourceDto = components['schemas']['CriterionEvidenceSourceDto'];
10304
+ export type ScanImprovementCode = components['schemas']['ScanImprovementCode'];
10305
+ export type ScanImprovementDto = components['schemas']['ScanImprovementDto'];
10225
10306
  export type CriterionDetailDto = components['schemas']['CriterionDetailDto'];
10226
10307
  export type ReadinessCriteriaSummaryDto = components['schemas']['ReadinessCriteriaSummaryDto'];
10227
10308
  export type ReadinessIssueDto = components['schemas']['ReadinessIssueDto'];
@@ -10349,6 +10430,8 @@ export type IngestCoverageSdlcDetailDto = components['schemas']['IngestCoverageS
10349
10430
  export type IngestCoverageSyncDetailDto = components['schemas']['IngestCoverageSyncDetailDto'];
10350
10431
  export type IngestCoveragePipelineDto = components['schemas']['IngestCoveragePipelineDto'];
10351
10432
  export type IngestCoverageDto = components['schemas']['IngestCoverageDto'];
10433
+ export type IngestRunDto = components['schemas']['IngestRunDto'];
10434
+ export type IngestRunListDto = components['schemas']['IngestRunListDto'];
10352
10435
  export type HrisSyncStatusDto = components['schemas']['HrisSyncStatusDto'];
10353
10436
  export type HrisSyncStatusListDto = components['schemas']['HrisSyncStatusListDto'];
10354
10437
  export type ZenHrReconnectResultDto = components['schemas']['ZenHrReconnectResultDto'];
@@ -20967,6 +21050,55 @@ export interface operations {
20967
21050
  403: components["responses"]["Forbidden"];
20968
21051
  };
20969
21052
  };
21053
+ getWorkspaceIngestRuns: {
21054
+ parameters: {
21055
+ query?: {
21056
+ /** @description Coverage pipeline kind. Omit to list every kind stored for the workspace. */
21057
+ kind?: "productivity_github" | "ai_usage" | "sdlc_github" | "monitoring" | "hris";
21058
+ /** @description Page size. Default 20. Values above 100 are rejected. */
21059
+ limit?: number;
21060
+ };
21061
+ header?: never;
21062
+ path: {
21063
+ workspaceId: components["parameters"]["WorkspaceId"];
21064
+ };
21065
+ cookie?: never;
21066
+ };
21067
+ requestBody?: never;
21068
+ responses: {
21069
+ /** @description Ingest runs, newest startedAt first */
21070
+ 200: {
21071
+ headers: {
21072
+ [name: string]: unknown;
21073
+ };
21074
+ content: {
21075
+ /**
21076
+ * @example {
21077
+ * "runs": []
21078
+ * }
21079
+ */
21080
+ "application/json": components["schemas"]["IngestRunListDto"];
21081
+ };
21082
+ };
21083
+ /** @description Invalid kind or limit */
21084
+ 400: {
21085
+ headers: {
21086
+ [name: string]: unknown;
21087
+ };
21088
+ content: {
21089
+ /**
21090
+ * @example {
21091
+ * "error": "Invalid ingest-runs query",
21092
+ * "code": "invalid_query"
21093
+ * }
21094
+ */
21095
+ "application/json": components["schemas"]["ErrorMessageDto"];
21096
+ };
21097
+ };
21098
+ 401: components["responses"]["Unauthorized"];
21099
+ 403: components["responses"]["Forbidden"];
21100
+ };
21101
+ };
20970
21102
  getHrisSyncStatus: {
20971
21103
  parameters: {
20972
21104
  query?: never;