@spec0/sdk-public-platform 1.1.0 → 1.2.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.
Files changed (107) hide show
  1. package/dist/generated/core/ApiError.js +5 -1
  2. package/dist/generated/core/ApiError.js.map +1 -1
  3. package/dist/generated/core/ApiRequestOptions.js +2 -1
  4. package/dist/generated/core/ApiResult.js +2 -1
  5. package/dist/generated/core/CancelablePromise.js +7 -2
  6. package/dist/generated/core/CancelablePromise.js.map +1 -1
  7. package/dist/generated/core/OpenAPI.js +4 -1
  8. package/dist/generated/core/OpenAPI.js.map +1 -1
  9. package/dist/generated/core/request.js +65 -46
  10. package/dist/generated/core/request.js.map +1 -1
  11. package/dist/generated/index.d.ts +10 -0
  12. package/dist/generated/index.d.ts.map +1 -1
  13. package/dist/generated/index.js +26 -8
  14. package/dist/generated/index.js.map +1 -1
  15. package/dist/generated/models/AiSearchRequestV1.js +2 -1
  16. package/dist/generated/models/AiSearchResponseV1.js +2 -1
  17. package/dist/generated/models/ApiNamePath.js +2 -1
  18. package/dist/generated/models/ApiTeamListItemV1.d.ts +24 -0
  19. package/dist/generated/models/ApiTeamListItemV1.d.ts.map +1 -0
  20. package/dist/generated/models/ApiTeamListItemV1.js +3 -0
  21. package/dist/generated/models/ApiTeamListItemV1.js.map +1 -0
  22. package/dist/generated/models/AuthError.js +2 -1
  23. package/dist/generated/models/CiConfigResponseV1.d.ts +11 -0
  24. package/dist/generated/models/CiConfigResponseV1.d.ts.map +1 -0
  25. package/dist/generated/models/CiConfigResponseV1.js +3 -0
  26. package/dist/generated/models/CiConfigResponseV1.js.map +1 -0
  27. package/dist/generated/models/CreateMockRequestV1.js +2 -1
  28. package/dist/generated/models/CreateMockResponseV1.js +2 -1
  29. package/dist/generated/models/MockItemV1.js +2 -1
  30. package/dist/generated/models/OrgSlugPath.js +2 -1
  31. package/dist/generated/models/OrgSummaryResponseV1.d.ts +13 -0
  32. package/dist/generated/models/OrgSummaryResponseV1.d.ts.map +1 -0
  33. package/dist/generated/models/OrgSummaryResponseV1.js +3 -0
  34. package/dist/generated/models/OrgSummaryResponseV1.js.map +1 -0
  35. package/dist/generated/models/Problem.js +2 -1
  36. package/dist/generated/models/PublicApiIdPath.js +2 -1
  37. package/dist/generated/models/PublicApiListItem.js +2 -1
  38. package/dist/generated/models/PublicApiMetaV1.js +2 -1
  39. package/dist/generated/models/PublicPublishRequestV1.js +2 -1
  40. package/dist/generated/models/PublicPublishResponseV1.js +2 -1
  41. package/dist/generated/models/PutSpectralRulesetRequestV1.js +2 -1
  42. package/dist/generated/models/SpecDiffResponseV1.js +2 -1
  43. package/dist/generated/models/SpecVersionListItemV1.js +2 -1
  44. package/dist/generated/models/SpectralRulesetResponseV1.js +2 -1
  45. package/dist/generated/models/StatusResponseV1.js +2 -1
  46. package/dist/generated/models/SyncStatusResponseV1.js +2 -1
  47. package/dist/generated/models/TeamCreateRequestV1.d.ts +8 -0
  48. package/dist/generated/models/TeamCreateRequestV1.d.ts.map +1 -0
  49. package/dist/generated/models/TeamCreateRequestV1.js +3 -0
  50. package/dist/generated/models/TeamCreateRequestV1.js.map +1 -0
  51. package/dist/generated/models/TeamPublishRequestV1.d.ts +53 -0
  52. package/dist/generated/models/TeamPublishRequestV1.d.ts.map +1 -0
  53. package/dist/generated/models/TeamPublishRequestV1.js +3 -0
  54. package/dist/generated/models/TeamPublishRequestV1.js.map +1 -0
  55. package/dist/generated/models/TeamPublishResponseV1.d.ts +30 -0
  56. package/dist/generated/models/TeamPublishResponseV1.d.ts.map +1 -0
  57. package/dist/generated/models/TeamPublishResponseV1.js +3 -0
  58. package/dist/generated/models/TeamPublishResponseV1.js.map +1 -0
  59. package/dist/generated/models/TeamV1.d.ts +10 -0
  60. package/dist/generated/models/TeamV1.d.ts.map +1 -0
  61. package/dist/generated/models/TeamV1.js +3 -0
  62. package/dist/generated/models/TeamV1.js.map +1 -0
  63. package/dist/generated/models/VersionDiffResponseV1.js +2 -1
  64. package/dist/generated/models/Visibility.js +2 -1
  65. package/dist/generated/models/VisibilityUpdateRequestV1.js +2 -1
  66. package/dist/generated/services/PublicApisService.d.ts +47 -0
  67. package/dist/generated/services/PublicApisService.d.ts.map +1 -1
  68. package/dist/generated/services/PublicApisService.js +88 -7
  69. package/dist/generated/services/PublicApisService.js.map +1 -1
  70. package/dist/generated/services/PublicCiService.d.ts +21 -0
  71. package/dist/generated/services/PublicCiService.d.ts.map +1 -0
  72. package/dist/generated/services/PublicCiService.js +33 -0
  73. package/dist/generated/services/PublicCiService.js.map +1 -0
  74. package/dist/generated/services/PublicMocksService.d.ts +12 -0
  75. package/dist/generated/services/PublicMocksService.d.ts.map +1 -1
  76. package/dist/generated/services/PublicMocksService.js +32 -5
  77. package/dist/generated/services/PublicMocksService.js.map +1 -1
  78. package/dist/generated/services/PublicOrgsService.d.ts +14 -0
  79. package/dist/generated/services/PublicOrgsService.d.ts.map +1 -0
  80. package/dist/generated/services/PublicOrgsService.js +27 -0
  81. package/dist/generated/services/PublicOrgsService.js.map +1 -0
  82. package/dist/generated/services/PublicRegistryService.js +11 -7
  83. package/dist/generated/services/PublicRegistryService.js.map +1 -1
  84. package/dist/generated/services/PublicSpecsService.js +10 -6
  85. package/dist/generated/services/PublicSpecsService.js.map +1 -1
  86. package/dist/generated/services/PublicSpectralService.js +9 -5
  87. package/dist/generated/services/PublicSpectralService.js.map +1 -1
  88. package/dist/generated/services/PublicTeamsService.d.ts +35 -0
  89. package/dist/generated/services/PublicTeamsService.d.ts.map +1 -0
  90. package/dist/generated/services/PublicTeamsService.js +69 -0
  91. package/dist/generated/services/PublicTeamsService.js.map +1 -0
  92. package/dist/index.js +17 -1
  93. package/dist/index.js.map +1 -1
  94. package/package.json +2 -4
  95. package/src/generated/index.ts +10 -0
  96. package/src/generated/models/ApiTeamListItemV1.ts +28 -0
  97. package/src/generated/models/CiConfigResponseV1.ts +15 -0
  98. package/src/generated/models/OrgSummaryResponseV1.ts +17 -0
  99. package/src/generated/models/TeamCreateRequestV1.ts +12 -0
  100. package/src/generated/models/TeamPublishRequestV1.ts +57 -0
  101. package/src/generated/models/TeamPublishResponseV1.ts +34 -0
  102. package/src/generated/models/TeamV1.ts +14 -0
  103. package/src/generated/services/PublicApisService.ts +88 -0
  104. package/src/generated/services/PublicCiService.ts +45 -0
  105. package/src/generated/services/PublicMocksService.ts +27 -0
  106. package/src/generated/services/PublicOrgsService.ts +28 -0
  107. package/src/generated/services/PublicTeamsService.ts +79 -0
@@ -0,0 +1,14 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ /**
6
+ * A team in the calling org.
7
+ */
8
+ export type TeamV1 = {
9
+ id?: string;
10
+ name?: string;
11
+ description?: string | null;
12
+ orgId?: string;
13
+ };
14
+
@@ -2,10 +2,13 @@
2
2
  /* istanbul ignore file */
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
+ import type { ApiTeamListItemV1 } from '../models/ApiTeamListItemV1';
5
6
  import type { PublicApiListItem } from '../models/PublicApiListItem';
6
7
  import type { PublicApiMetaV1 } from '../models/PublicApiMetaV1';
7
8
  import type { PublicPublishRequestV1 } from '../models/PublicPublishRequestV1';
8
9
  import type { PublicPublishResponseV1 } from '../models/PublicPublishResponseV1';
10
+ import type { TeamPublishRequestV1 } from '../models/TeamPublishRequestV1';
11
+ import type { TeamPublishResponseV1 } from '../models/TeamPublishResponseV1';
9
12
  import type { VisibilityUpdateRequestV1 } from '../models/VisibilityUpdateRequestV1';
10
13
  import type { CancelablePromise } from '../core/CancelablePromise';
11
14
  import { OpenAPI } from '../core/OpenAPI';
@@ -55,6 +58,91 @@ export class PublicApisService {
55
58
  },
56
59
  });
57
60
  }
61
+ /**
62
+ * List team-scoped private APIs for the calling org
63
+ * Returns every non-deleted team-scoped API in the calling token's org, regardless
64
+ * of which team owns it. This is what the `spec0 api list` CLI command targets.
65
+ *
66
+ * Distinct from `GET /api/v1/public/apis`, which lists records in the customer-facing
67
+ * public registry — different table, different lifecycle.
68
+ *
69
+ * @returns ApiTeamListItemV1 Team APIs the calling org owns
70
+ * @throws ApiError
71
+ */
72
+ public static listTeamApis(): CancelablePromise<Array<ApiTeamListItemV1>> {
73
+ return __request(OpenAPI, {
74
+ method: 'GET',
75
+ url: '/api/v1/public/apis/team',
76
+ errors: {
77
+ 401: `Missing, invalid, expired, or revoked token`,
78
+ 403: `Token does not carry the required scope`,
79
+ },
80
+ });
81
+ }
82
+ /**
83
+ * Publish or update a team-scoped private API
84
+ * Publishes a design-time OpenAPI spec to a team-scoped private API. Distinct from
85
+ * `POST /api/v1/public/apis`, which writes to the org-level customer-facing public
86
+ * registry. This endpoint is what the `spec0 push` CLI command targets.
87
+ *
88
+ * - If `apiId` is provided: update that API's metadata/spec and publish a new version.
89
+ * - If `apiId` is omitted: upsert by (org, `name`); create a new API when none exists.
90
+ * - `team` accepts a UUID or slug; when omitted the API lands in the org's
91
+ * "Unassigned APIs" team.
92
+ *
93
+ * @returns TeamPublishResponseV1 Publish result
94
+ * @throws ApiError
95
+ */
96
+ public static publishTeamApi({
97
+ requestBody,
98
+ }: {
99
+ requestBody: TeamPublishRequestV1,
100
+ }): CancelablePromise<TeamPublishResponseV1> {
101
+ return __request(OpenAPI, {
102
+ method: 'POST',
103
+ url: '/api/v1/public/apis/team',
104
+ body: requestBody,
105
+ mediaType: 'application/json',
106
+ errors: {
107
+ 400: `Bad request`,
108
+ 401: `Missing, invalid, expired, or revoked token`,
109
+ 403: `Token does not carry the required scope`,
110
+ 404: `Resource not found (or not visible to the calling org)`,
111
+ 409: `Breaking change detected in same major version (when oasdiff is enabled and \`semver\` is not set)`,
112
+ 422: `Validation error (bad semver or API name format)`,
113
+ },
114
+ });
115
+ }
116
+ /**
117
+ * Soft-delete a team-scoped private API
118
+ * Marks the team-scoped API as deleted (`deleted_at` is set). The row is retained for
119
+ * audit; subsequent CLI lookups by name or id treat the API as non-existent. This is
120
+ * what the `spec0 api delete` lifecycle command targets.
121
+ *
122
+ * Distinct from `DELETE /api/v1/public/apis/{publicApiId}`, which soft-deletes a record
123
+ * in the customer-facing public registry — different table, different lifecycle.
124
+ *
125
+ * @returns void
126
+ * @throws ApiError
127
+ */
128
+ public static deleteTeamApi({
129
+ apiId,
130
+ }: {
131
+ apiId: string,
132
+ }): CancelablePromise<void> {
133
+ return __request(OpenAPI, {
134
+ method: 'DELETE',
135
+ url: '/api/v1/public/apis/team/{apiId}',
136
+ path: {
137
+ 'apiId': apiId,
138
+ },
139
+ errors: {
140
+ 401: `Missing, invalid, expired, or revoked token`,
141
+ 403: `Token does not carry the required scope`,
142
+ 404: `Resource not found (or not visible to the calling org)`,
143
+ },
144
+ });
145
+ }
58
146
  /**
59
147
  * Update visibility for a public API
60
148
  * @returns PublicApiMetaV1 Updated visibility
@@ -0,0 +1,45 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ import type { CiConfigResponseV1 } from '../models/CiConfigResponseV1';
6
+ import type { CancelablePromise } from '../core/CancelablePromise';
7
+ import { OpenAPI } from '../core/OpenAPI';
8
+ import { request as __request } from '../core/request';
9
+ export class PublicCiService {
10
+ /**
11
+ * Generate a GitHub Actions workflow for `spec0 publish`
12
+ * Returns a ready-to-use GitHub Actions workflow YAML that runs `spec0 publish`
13
+ * only when the specified spec file changes.
14
+ *
15
+ * @returns CiConfigResponseV1 CI config
16
+ * @throws ApiError
17
+ */
18
+ public static generateCiConfig({
19
+ specFilePath,
20
+ apiName,
21
+ branch = 'main',
22
+ }: {
23
+ specFilePath: string,
24
+ /**
25
+ * API name to embed in the generated workflow. Falls back to spec filename basename if omitted.
26
+ */
27
+ apiName?: string,
28
+ branch?: string,
29
+ }): CancelablePromise<CiConfigResponseV1> {
30
+ return __request(OpenAPI, {
31
+ method: 'GET',
32
+ url: '/api/v1/public/ci/config',
33
+ query: {
34
+ 'specFilePath': specFilePath,
35
+ 'apiName': apiName,
36
+ 'branch': branch,
37
+ },
38
+ errors: {
39
+ 400: `Bad request`,
40
+ 401: `Missing, invalid, expired, or revoked token`,
41
+ 403: `Token does not carry the required scope`,
42
+ },
43
+ });
44
+ }
45
+ }
@@ -50,4 +50,31 @@ export class PublicMocksService {
50
50
  },
51
51
  });
52
52
  }
53
+ /**
54
+ * Delete a mock server owned by the calling org
55
+ * Hard-deletes the mock server and removes its association with the parent API.
56
+ * Cross-org deletes return 404 (not 403) so the existence of the mock is not
57
+ * leaked. This is what the `spec0 mock delete` lifecycle command targets.
58
+ *
59
+ * @returns void
60
+ * @throws ApiError
61
+ */
62
+ public static deletePublicMock({
63
+ mockServerId,
64
+ }: {
65
+ mockServerId: string,
66
+ }): CancelablePromise<void> {
67
+ return __request(OpenAPI, {
68
+ method: 'DELETE',
69
+ url: '/api/v1/public/mocks/{mockServerId}',
70
+ path: {
71
+ 'mockServerId': mockServerId,
72
+ },
73
+ errors: {
74
+ 401: `Missing, invalid, expired, or revoked token`,
75
+ 403: `Token does not carry the required scope`,
76
+ 404: `Resource not found (or not visible to the calling org)`,
77
+ },
78
+ });
79
+ }
53
80
  }
@@ -0,0 +1,28 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ import type { OrgSummaryResponseV1 } from '../models/OrgSummaryResponseV1';
6
+ import type { CancelablePromise } from '../core/CancelablePromise';
7
+ import { OpenAPI } from '../core/OpenAPI';
8
+ import { request as __request } from '../core/request';
9
+ export class PublicOrgsService {
10
+ /**
11
+ * Org-level resource counts and current plan
12
+ * Returns counts of APIs, mock servers, and teams in the calling token's org,
13
+ * plus the org's current plan. Useful for CLI status/dashboard views.
14
+ *
15
+ * @returns OrgSummaryResponseV1 Org summary
16
+ * @throws ApiError
17
+ */
18
+ public static getOrgSummary(): CancelablePromise<OrgSummaryResponseV1> {
19
+ return __request(OpenAPI, {
20
+ method: 'GET',
21
+ url: '/api/v1/public/orgs/summary',
22
+ errors: {
23
+ 401: `Missing, invalid, expired, or revoked token`,
24
+ 403: `Token does not carry the required scope`,
25
+ },
26
+ });
27
+ }
28
+ }
@@ -0,0 +1,79 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ import type { TeamCreateRequestV1 } from '../models/TeamCreateRequestV1';
6
+ import type { TeamV1 } from '../models/TeamV1';
7
+ import type { CancelablePromise } from '../core/CancelablePromise';
8
+ import { OpenAPI } from '../core/OpenAPI';
9
+ import { request as __request } from '../core/request';
10
+ export class PublicTeamsService {
11
+ /**
12
+ * List teams for the calling org
13
+ * @returns TeamV1 Teams in the calling org
14
+ * @throws ApiError
15
+ */
16
+ public static listTeams(): CancelablePromise<Array<TeamV1>> {
17
+ return __request(OpenAPI, {
18
+ method: 'GET',
19
+ url: '/api/v1/public/teams',
20
+ errors: {
21
+ 401: `Missing, invalid, expired, or revoked token`,
22
+ 403: `Token does not carry the required scope`,
23
+ },
24
+ });
25
+ }
26
+ /**
27
+ * Create a team in the calling org
28
+ * Creates a team owned by the calling token's org. The team starts with no
29
+ * members; member management is out of scope for this V1 surface.
30
+ *
31
+ * @returns TeamV1 Created team
32
+ * @throws ApiError
33
+ */
34
+ public static createTeam({
35
+ requestBody,
36
+ }: {
37
+ requestBody: TeamCreateRequestV1,
38
+ }): CancelablePromise<TeamV1> {
39
+ return __request(OpenAPI, {
40
+ method: 'POST',
41
+ url: '/api/v1/public/teams',
42
+ body: requestBody,
43
+ mediaType: 'application/json',
44
+ errors: {
45
+ 400: `Bad request`,
46
+ 401: `Missing, invalid, expired, or revoked token`,
47
+ 403: `Token does not carry the required scope`,
48
+ },
49
+ });
50
+ }
51
+ /**
52
+ * Delete a team owned by the calling org
53
+ * Deletes the team. The call fails with 409 if the team still has APIs or mock
54
+ * servers — the caller must remove those first. Cross-org deletes return 404 so
55
+ * the existence of the team is not leaked.
56
+ *
57
+ * @returns void
58
+ * @throws ApiError
59
+ */
60
+ public static deleteTeam({
61
+ teamId,
62
+ }: {
63
+ teamId: string,
64
+ }): CancelablePromise<void> {
65
+ return __request(OpenAPI, {
66
+ method: 'DELETE',
67
+ url: '/api/v1/public/teams/{teamId}',
68
+ path: {
69
+ 'teamId': teamId,
70
+ },
71
+ errors: {
72
+ 401: `Missing, invalid, expired, or revoked token`,
73
+ 403: `Token does not carry the required scope`,
74
+ 404: `Resource not found (or not visible to the calling org)`,
75
+ 409: `Team still has child resources (APIs or mock servers)`,
76
+ },
77
+ });
78
+ }
79
+ }