@shipfox/api-definitions 10.2.0 → 12.0.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/.turbo/turbo-build.log +13 -12
- package/CHANGELOG.md +91 -0
- package/dist/core/entities/index.d.ts +1 -0
- package/dist/core/entities/index.d.ts.map +1 -1
- package/dist/core/entities/index.js +1 -0
- package/dist/core/entities/index.js.map +1 -1
- package/dist/core/entities/sync-state.d.ts +4 -0
- package/dist/core/entities/sync-state.d.ts.map +1 -1
- package/dist/core/entities/sync-state.js +10 -0
- package/dist/core/entities/sync-state.js.map +1 -1
- package/dist/core/entities/validation-warning.d.ts +6 -0
- package/dist/core/entities/validation-warning.d.ts.map +1 -0
- package/dist/core/entities/validation-warning.js +3 -0
- package/dist/core/entities/validation-warning.js.map +1 -0
- package/dist/core/parse-definition.d.ts +9 -7
- package/dist/core/parse-definition.d.ts.map +1 -1
- package/dist/core/parse-definition.js +14 -2
- package/dist/core/parse-definition.js.map +1 -1
- package/dist/core/sync-definitions.d.ts +2 -0
- package/dist/core/sync-definitions.d.ts.map +1 -1
- package/dist/core/sync-definitions.js +6 -5
- package/dist/core/sync-definitions.js.map +1 -1
- package/dist/core/validate-definition.d.ts +9 -5
- package/dist/core/validate-definition.d.ts.map +1 -1
- package/dist/core/validate-definition.js +23 -2
- package/dist/core/validate-definition.js.map +1 -1
- package/dist/core/workflow-model/index.d.ts +1 -1
- package/dist/core/workflow-model/index.d.ts.map +1 -1
- package/dist/core/workflow-model/index.js.map +1 -1
- package/dist/core/workflow-model/invalid-workflow-model-error.d.ts +3 -1
- package/dist/core/workflow-model/invalid-workflow-model-error.d.ts.map +1 -1
- package/dist/core/workflow-model/invalid-workflow-model-error.js.map +1 -1
- package/dist/core/workflow-model/normalize-if-condition.d.ts +0 -1
- package/dist/core/workflow-model/normalize-if-condition.d.ts.map +1 -1
- package/dist/core/workflow-model/normalize-if-condition.js +0 -1
- package/dist/core/workflow-model/normalize-if-condition.js.map +1 -1
- package/dist/core/workflow-model/normalize-job-checkout.d.ts +15 -3
- package/dist/core/workflow-model/normalize-job-checkout.d.ts.map +1 -1
- package/dist/core/workflow-model/normalize-job-checkout.js +83 -4
- package/dist/core/workflow-model/normalize-job-checkout.js.map +1 -1
- package/dist/core/workflow-model/normalize-job-listening.js +0 -1
- package/dist/core/workflow-model/normalize-job-listening.js.map +1 -1
- package/dist/core/workflow-model/normalize-job-success.d.ts.map +1 -1
- package/dist/core/workflow-model/normalize-job-success.js +0 -1
- package/dist/core/workflow-model/normalize-job-success.js.map +1 -1
- package/dist/core/workflow-model/normalize-jobs.d.ts.map +1 -1
- package/dist/core/workflow-model/normalize-jobs.js +310 -45
- package/dist/core/workflow-model/normalize-jobs.js.map +1 -1
- package/dist/core/workflow-model/normalize-step-gate.js +0 -1
- package/dist/core/workflow-model/normalize-step-gate.js.map +1 -1
- package/dist/core/workflow-model/normalize-triggers.d.ts.map +1 -1
- package/dist/core/workflow-model/normalize-triggers.js +0 -1
- package/dist/core/workflow-model/normalize-triggers.js.map +1 -1
- package/dist/core/workflow-model/normalize-workflow-document.d.ts +3 -0
- package/dist/core/workflow-model/normalize-workflow-document.d.ts.map +1 -1
- package/dist/core/workflow-model/normalize-workflow-document.js +34 -4
- package/dist/core/workflow-model/normalize-workflow-document.js.map +1 -1
- package/dist/core/workflow-model/parse-interpolation-field.d.ts +1 -1
- package/dist/core/workflow-model/parse-interpolation-field.d.ts.map +1 -1
- package/dist/core/workflow-model/parse-interpolation-field.js +27 -57
- package/dist/core/workflow-model/parse-interpolation-field.js.map +1 -1
- package/dist/core/workflow-model/validate-literal-name.d.ts +12 -0
- package/dist/core/workflow-model/validate-literal-name.d.ts.map +1 -0
- package/dist/core/workflow-model/validate-literal-name.js +36 -0
- package/dist/core/workflow-model/validate-literal-name.js.map +1 -0
- package/dist/core/workflow-model/validate-predicate-expression.d.ts +1 -2
- package/dist/core/workflow-model/validate-predicate-expression.d.ts.map +1 -1
- package/dist/core/workflow-model/validate-predicate-expression.js +31 -90
- package/dist/core/workflow-model/validate-predicate-expression.js.map +1 -1
- package/dist/core/workflow-model/validation-issue.d.ts +2 -1
- package/dist/core/workflow-model/validation-issue.d.ts.map +1 -1
- package/dist/core/workflow-model/validation-issue.js +8 -2
- package/dist/core/workflow-model/validation-issue.js.map +1 -1
- package/dist/core/workflow-model/workflow-field-label.d.ts.map +1 -1
- package/dist/core/workflow-model/workflow-field-label.js +16 -2
- package/dist/core/workflow-model/workflow-field-label.js.map +1 -1
- package/dist/db/db.d.ts +38 -0
- package/dist/db/db.d.ts.map +1 -1
- package/dist/db/schema/sync-states.d.ts +19 -0
- package/dist/db/schema/sync-states.d.ts.map +1 -1
- package/dist/db/schema/sync-states.js +3 -1
- package/dist/db/schema/sync-states.js.map +1 -1
- package/dist/db/sync-states.d.ts +2 -1
- package/dist/db/sync-states.d.ts.map +1 -1
- package/dist/db/sync-states.js +4 -0
- package/dist/db/sync-states.js.map +1 -1
- package/dist/presentation/dto/definition.d.ts.map +1 -1
- package/dist/presentation/dto/definition.js +2 -1
- package/dist/presentation/dto/definition.js.map +1 -1
- package/dist/presentation/routes/project-access.d.ts +1 -0
- package/dist/presentation/routes/project-access.d.ts.map +1 -1
- package/dist/presentation/routes/validate-definition.d.ts.map +1 -1
- package/dist/presentation/routes/validate-definition.js +5 -3
- package/dist/presentation/routes/validate-definition.js.map +1 -1
- package/dist/temporal/activities/sync-activities.d.ts +6 -2
- package/dist/temporal/activities/sync-activities.d.ts.map +1 -1
- package/dist/temporal/activities/sync-activities.js +8 -1
- package/dist/temporal/activities/sync-activities.js.map +1 -1
- package/dist/temporal/workflows/definition-sync.js +4 -1
- package/dist/temporal/workflows/definition-sync.js.map +1 -1
- package/dist/temporal/workflows/index.bundle.js +9029 -3
- package/dist/tsconfig.test.tsbuildinfo +1 -1
- package/drizzle/0002_lumpy_ben_parker.sql +1 -0
- package/drizzle/meta/0002_snapshot.json +534 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +14 -14
- package/src/core/entities/index.ts +1 -0
- package/src/core/entities/sync-state.ts +23 -0
- package/src/core/entities/validation-warning.ts +5 -0
- package/src/core/parse-definition-warnings.test.ts +33 -0
- package/src/core/parse-definition.test.ts +7 -1
- package/src/core/parse-definition.ts +28 -10
- package/src/core/sync-definitions.test.ts +39 -0
- package/src/core/sync-definitions.ts +14 -4
- package/src/core/validate-definition.test.ts +128 -0
- package/src/core/validate-definition.ts +39 -8
- package/src/core/workflow-model/README.md +2 -2
- package/src/core/workflow-model/index.ts +1 -0
- package/src/core/workflow-model/invalid-workflow-model-error.ts +8 -2
- package/src/core/workflow-model/normalize-if-condition.ts +0 -2
- package/src/core/workflow-model/normalize-job-checkout.ts +105 -8
- package/src/core/workflow-model/normalize-job-listening.ts +0 -1
- package/src/core/workflow-model/normalize-job-success.ts +0 -1
- package/src/core/workflow-model/normalize-jobs.ts +330 -49
- package/src/core/workflow-model/normalize-step-gate.ts +0 -1
- package/src/core/workflow-model/normalize-triggers.ts +0 -1
- package/src/core/workflow-model/normalize-workflow-document.test.ts +759 -185
- package/src/core/workflow-model/normalize-workflow-document.ts +29 -4
- package/src/core/workflow-model/parse-interpolation-field.ts +50 -79
- package/src/core/workflow-model/validate-literal-name.ts +64 -0
- package/src/core/workflow-model/validate-predicate-expression.test.ts +153 -15
- package/src/core/workflow-model/validate-predicate-expression.ts +52 -120
- package/src/core/workflow-model/validation-issue.ts +4 -0
- package/src/core/workflow-model/workflow-field-label.ts +16 -2
- package/src/core/workflow-yaml/README.md +2 -2
- package/src/db/schema/sync-states.ts +4 -1
- package/src/db/sync-states.test.ts +57 -0
- package/src/db/sync-states.ts +6 -0
- package/src/presentation/dto/definition.ts +1 -0
- package/src/presentation/routes/create-definition.test.ts +3 -3
- package/src/presentation/routes/get-definition.test.ts +1 -1
- package/src/presentation/routes/list-definitions.test.ts +2 -1
- package/src/presentation/routes/validate-definition.test.ts +1 -0
- package/src/presentation/routes/validate-definition.ts +7 -1
- package/src/temporal/activities/sync-activities.test.ts +16 -0
- package/src/temporal/activities/sync-activities.ts +18 -3
- package/src/temporal/workflows/definition-sync.ts +1 -1
- package/test/agent-validation-catalog.ts +17 -0
- package/test/fixtures/valid-listening-job.yml +2 -1
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -3,7 +3,7 @@ import type {IntegrationsModuleClient} from '@shipfox/api-integration-core-dto/i
|
|
|
3
3
|
import {markErrorReported} from '@shipfox/node-error-monitoring';
|
|
4
4
|
import {Context} from '@temporalio/activity';
|
|
5
5
|
import {ApplicationFailure} from '@temporalio/common';
|
|
6
|
-
import type {DefinitionSyncErrorCode} from '#core/entities/sync-state.js';
|
|
6
|
+
import type {DefinitionSyncErrorCode, DefinitionSyncWarning} from '#core/entities/sync-state.js';
|
|
7
7
|
import {
|
|
8
8
|
classifySyncFailure,
|
|
9
9
|
discoverWorkflowFiles,
|
|
@@ -50,6 +50,11 @@ export interface DiscoverWorkflowsActivityResult {
|
|
|
50
50
|
export interface FetchAndApplyActivityResult {
|
|
51
51
|
appliedCount: number;
|
|
52
52
|
deletedCount: number;
|
|
53
|
+
warnings: DefinitionSyncWarning[];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface MarkSyncSucceededActivityInput extends SyncRefScopedInput {
|
|
57
|
+
warnings?: readonly DefinitionSyncWarning[] | undefined;
|
|
53
58
|
}
|
|
54
59
|
|
|
55
60
|
export interface DefinitionSyncActivityOptions {
|
|
@@ -93,6 +98,7 @@ function createPrepareDefinitionSyncActivity(sourceControl: DefinitionsSourceCon
|
|
|
93
98
|
status: 'syncing',
|
|
94
99
|
lastErrorCode: null,
|
|
95
100
|
lastErrorMessage: null,
|
|
101
|
+
warnings: [],
|
|
96
102
|
startedAt: new Date(),
|
|
97
103
|
finishedAt: null,
|
|
98
104
|
});
|
|
@@ -147,7 +153,7 @@ function createFetchAndApplyActivity(
|
|
|
147
153
|
},
|
|
148
154
|
});
|
|
149
155
|
|
|
150
|
-
|
|
156
|
+
const result = await applyVcsDefinitionsBatch({
|
|
151
157
|
projectId: input.projectId,
|
|
152
158
|
workspaceId: input.workspaceId,
|
|
153
159
|
ref: input.sourceRef,
|
|
@@ -160,12 +166,19 @@ function createFetchAndApplyActivity(
|
|
|
160
166
|
contentHash: entry.contentHash,
|
|
161
167
|
})),
|
|
162
168
|
});
|
|
169
|
+
|
|
170
|
+
return {
|
|
171
|
+
...result,
|
|
172
|
+
warnings: definitions.flatMap((entry) => entry.warnings),
|
|
173
|
+
};
|
|
163
174
|
});
|
|
164
175
|
};
|
|
165
176
|
}
|
|
166
177
|
|
|
167
178
|
function createMarkSyncSucceededActivity() {
|
|
168
|
-
return async function markDefinitionSyncSucceeded(
|
|
179
|
+
return async function markDefinitionSyncSucceeded(
|
|
180
|
+
input: MarkSyncSucceededActivityInput,
|
|
181
|
+
): Promise<void> {
|
|
169
182
|
await markDefinitionSyncState({
|
|
170
183
|
projectId: input.projectId,
|
|
171
184
|
sourceConnectionId: input.sourceConnectionId,
|
|
@@ -174,6 +187,7 @@ function createMarkSyncSucceededActivity() {
|
|
|
174
187
|
status: 'succeeded',
|
|
175
188
|
lastErrorCode: null,
|
|
176
189
|
lastErrorMessage: null,
|
|
190
|
+
warnings: input.warnings ?? [],
|
|
177
191
|
finishedAt: new Date(),
|
|
178
192
|
});
|
|
179
193
|
};
|
|
@@ -191,6 +205,7 @@ function createMarkSyncFailedActivity() {
|
|
|
191
205
|
status: 'failed',
|
|
192
206
|
lastErrorCode: input.code,
|
|
193
207
|
lastErrorMessage: input.message,
|
|
208
|
+
warnings: [],
|
|
194
209
|
finishedAt: new Date(),
|
|
195
210
|
});
|
|
196
211
|
};
|
|
@@ -65,7 +65,7 @@ export async function definitionSyncWorkflow(
|
|
|
65
65
|
const {paths} = await discoverDefinitionWorkflows(source);
|
|
66
66
|
const applied = await fetchAndApplyDefinitionWorkflows({...source, paths});
|
|
67
67
|
|
|
68
|
-
await markDefinitionSyncSucceeded(source);
|
|
68
|
+
await markDefinitionSyncSucceeded({...source, warnings: applied.warnings});
|
|
69
69
|
|
|
70
70
|
return {
|
|
71
71
|
sourceRef,
|
|
@@ -7,6 +7,21 @@ import {
|
|
|
7
7
|
} from '@shipfox/api-agent-dto';
|
|
8
8
|
import type {AgentValidationCatalog} from '@shipfox/api-agent-dto/inter-module';
|
|
9
9
|
|
|
10
|
+
const piModelIdsByProvider = Object.fromEntries(
|
|
11
|
+
MODEL_PROVIDER_CATALOG_SEED.filter((entry) => entry.support_status === 'supported').map(
|
|
12
|
+
(entry) => [
|
|
13
|
+
entry.id,
|
|
14
|
+
entry.id === 'anthropic'
|
|
15
|
+
? ['claude-opus-4-8']
|
|
16
|
+
: entry.id === 'openai'
|
|
17
|
+
? ['gpt-4.1', 'gpt-5.5-pro']
|
|
18
|
+
: entry.default_model === null
|
|
19
|
+
? []
|
|
20
|
+
: [entry.default_model],
|
|
21
|
+
],
|
|
22
|
+
),
|
|
23
|
+
);
|
|
24
|
+
|
|
10
25
|
export const agentValidationCatalog: AgentValidationCatalog = {
|
|
11
26
|
version: 1,
|
|
12
27
|
providers: MODEL_PROVIDER_IDS.map((id) => ({
|
|
@@ -17,6 +32,8 @@ export const agentValidationCatalog: AgentValidationCatalog = {
|
|
|
17
32
|
harnesses: listHarnessDescriptors().map((harness) => ({
|
|
18
33
|
id: harness.id,
|
|
19
34
|
supported_provider_ids: [...harness.supportedProviderIds],
|
|
35
|
+
model_ids_by_provider:
|
|
36
|
+
harness.id === 'pi' ? piModelIdsByProvider : {anthropic: ['claude-opus-4-8']},
|
|
20
37
|
thinking_levels: [...harness.thinkingLevels],
|
|
21
38
|
effective_tools: listEnabledHarnessTools(
|
|
22
39
|
harness.id,
|