@postman-cse/onboarding-bootstrap 0.11.0 → 0.12.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/src/contracts.ts DELETED
@@ -1,172 +0,0 @@
1
- export interface ActionInputContract {
2
- description: string;
3
- required: boolean;
4
- default?: string;
5
- allowedValues?: string[];
6
- }
7
-
8
- export interface ActionOutputContract {
9
- description: string;
10
- }
11
-
12
- export interface BetaActionContract {
13
- name: string;
14
- description: string;
15
- inputs: Record<string, ActionInputContract>;
16
- outputs: Record<string, ActionOutputContract>;
17
- retainedBehavior: string[];
18
- removedBehavior: string[];
19
- }
20
-
21
- export const openAlphaActionContract: BetaActionContract = {
22
- name: 'postman-bootstrap-action',
23
- description: 'Public open-alpha contract for bootstrapping Postman assets from a registry-backed spec.',
24
- inputs: {
25
-
26
- 'workspace-id': {
27
- description: 'Existing Postman workspace ID.',
28
- required: false
29
- },
30
- 'spec-id': {
31
- description: 'Existing Postman spec ID.',
32
- required: false
33
- },
34
- 'baseline-collection-id': {
35
- description: 'Existing baseline collection ID.',
36
- required: false
37
- },
38
- 'smoke-collection-id': {
39
- description: 'Existing smoke collection ID.',
40
- required: false
41
- },
42
- 'contract-collection-id': {
43
- description: 'Existing contract collection ID.',
44
- required: false
45
- },
46
- 'sync-examples': {
47
- description: 'Whether linked spec/collection relations should enable example syncing.',
48
- required: false,
49
- default: 'true',
50
- allowedValues: ['true', 'false']
51
- },
52
- 'collection-sync-mode': {
53
- description:
54
- 'Collection lifecycle policy: reuse existing collections, refresh them from the latest spec, or version them by release label.',
55
- required: false,
56
- default: 'refresh',
57
- allowedValues: ['reuse', 'refresh', 'version']
58
- },
59
- 'spec-sync-mode': {
60
- description:
61
- 'Spec lifecycle policy: update the canonical spec or create/reuse a versioned spec for the resolved release label.',
62
- required: false,
63
- default: 'update',
64
- allowedValues: ['update', 'version']
65
- },
66
- 'release-label': {
67
- description:
68
- 'Optional release label. When omitted for versioned sync, the action derives one from GitHub ref metadata.',
69
- required: false
70
- },
71
- 'project-name': {
72
- description: 'Service project name.',
73
- required: true
74
- },
75
- domain: {
76
- description: 'Business domain for the service.',
77
- required: false
78
- },
79
- 'domain-code': {
80
- description: 'Short domain code used in workspace naming.',
81
- required: false
82
- },
83
- 'requester-email': {
84
- description: 'Requester email for audit context.',
85
- required: false
86
- },
87
- 'workspace-admin-user-ids': {
88
- description: 'Comma-separated workspace admin user ids.',
89
- required: false
90
- },
91
- 'workspace-team-id': {
92
- description: 'Numeric sub-team ID for org-mode workspace creation.',
93
- required: false
94
- },
95
- 'spec-url': {
96
- description: 'HTTPS URL to the OpenAPI document.',
97
- required: true
98
- },
99
- 'governance-mapping-json': {
100
- description: 'JSON map of business domain to governance group name.',
101
- required: false,
102
- default: '{}'
103
- },
104
- 'postman-api-key': {
105
- description: 'Postman API key used for bootstrap operations.',
106
- required: true
107
- },
108
- 'postman-access-token': {
109
- description: 'Postman access token used for governance and workspace mutations.',
110
- required: false
111
- },
112
- 'integration-backend': {
113
- description: 'Integration backend for downstream workspace connectivity.',
114
- required: false,
115
- default: 'bifrost',
116
- allowedValues: ['bifrost']
117
- }
118
- },
119
- outputs: {
120
- 'workspace-id': {
121
- description: 'Postman workspace ID.'
122
- },
123
- 'workspace-url': {
124
- description: 'Postman workspace URL.'
125
- },
126
- 'workspace-name': {
127
- description: 'Postman workspace name.'
128
- },
129
- 'spec-id': {
130
- description: 'Uploaded Postman spec ID.'
131
- },
132
- 'baseline-collection-id': {
133
- description: 'Baseline collection ID.'
134
- },
135
- 'smoke-collection-id': {
136
- description: 'Smoke collection ID.'
137
- },
138
- 'contract-collection-id': {
139
- description: 'Contract collection ID.'
140
- },
141
- 'collections-json': {
142
- description: 'JSON summary of generated collections.'
143
- },
144
- 'lint-summary-json': {
145
- description: 'JSON summary of lint errors and warnings.'
146
- }
147
- },
148
- retainedBehavior: [
149
- 'workspace creation',
150
- 'governance group assignment',
151
- 'requester workspace invitation',
152
- 'workspace admin assignment',
153
- 'spec upload to Spec Hub',
154
- 'OpenAPI operation summary normalization before upload (missing or oversized summaries)',
155
- 'spec linting by UID',
156
- 'baseline, smoke, and contract collection generation',
157
- 'collection refresh and versioning policies',
158
- 'collection tagging',
159
- 'workspace, spec, and collection outputs'
160
- ],
161
- removedBehavior: [
162
- 'snake_case input and output names',
163
- 'step mode',
164
- 'hardcoded runtime deployment assumptions',
165
- 'aws, docker, and infra workflow concerns',
166
- 'runtime-coupled workflow tuning knobs',
167
- 'legacy placeholder inputs such as team-id'
168
- ]
169
- };
170
-
171
- export const contractInputNames = Object.keys(openAlphaActionContract.inputs);
172
- export const contractOutputNames = Object.keys(openAlphaActionContract.outputs);