@shipfox/api-projects-dto 12.0.0 → 14.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.
@@ -1,2 +1,2 @@
1
1
  $ shipfox-swc
2
- Successfully compiled: 7 files with swc (203.78ms)
2
+ Successfully compiled: 7 files with swc (400.93ms)
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @shipfox/api-projects-dto
2
2
 
3
+ ## 14.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - a4df8d9: Resolves a workflow lineage id on GET /definitions/:id by selecting the project's default-branch row, or 404 when the file is not on that branch.
8
+
9
+ ## 12.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 7901a60: Retry workspace workflow definition syncs when an integration connection becomes available.
14
+
3
15
  ## 12.0.0
4
16
 
5
17
  ### Major Changes
package/dist/events.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
- export declare const PROJECT_CREATED: "projects.project.created";
3
- export declare const PROJECT_UPDATED: "projects.project.updated";
4
- export declare const PROJECT_SOURCE_BOUND: "projects.project.source_bound";
5
- export declare const PROJECT_SOURCE_COMMIT_OBSERVED: "projects.project.source_commit_observed";
2
+ export declare const PROJECT_CREATED: 'projects.project.created';
3
+ export declare const PROJECT_UPDATED: 'projects.project.updated';
4
+ export declare const PROJECT_SOURCE_BOUND: 'projects.project.source_bound';
5
+ export declare const PROJECT_SOURCE_COMMIT_OBSERVED: 'projects.project.source_commit_observed';
6
6
  declare const projectCreatedEventWithSlugSchema: z.ZodObject<{
7
7
  actorId: z.ZodString;
8
8
  workspaceId: z.ZodString;
@@ -4,76 +4,104 @@ import { z } from 'zod';
4
4
  export declare const projectsInterModuleContract: import("@shipfox/inter-module").InterModuleContract<{
5
5
  readonly module: "projects";
6
6
  readonly methods: {
7
- readonly getProjectById: {
8
- readonly input: z.ZodObject<{
7
+ getProjectById: {
8
+ input: z.ZodObject<{
9
9
  projectId: z.ZodString;
10
10
  }, z.core.$strip>;
11
- readonly output: z.ZodObject<{
11
+ output: z.ZodObject<{
12
12
  project: z.ZodNullable<z.ZodObject<{
13
13
  id: z.ZodString;
14
14
  workspaceId: z.ZodString;
15
15
  sourceConnectionId: z.ZodString;
16
16
  sourceExternalRepositoryId: z.ZodString;
17
17
  sourceRepositoryOwner: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
+ sourceDefaultBranch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
19
  name: z.ZodString;
19
20
  }, z.core.$strip>>;
20
21
  }, z.core.$strip>;
21
22
  };
22
- readonly getProjectBySource: {
23
- readonly input: z.ZodObject<{
23
+ getProjectBySource: {
24
+ input: z.ZodObject<{
24
25
  workspaceId: z.ZodString;
25
26
  sourceConnectionId: z.ZodString;
26
27
  sourceExternalRepositoryId: z.ZodString;
27
28
  }, z.core.$strip>;
28
- readonly output: z.ZodObject<{
29
+ output: z.ZodObject<{
29
30
  project: z.ZodNullable<z.ZodObject<{
30
31
  id: z.ZodString;
31
32
  workspaceId: z.ZodString;
32
33
  sourceConnectionId: z.ZodString;
33
34
  sourceExternalRepositoryId: z.ZodString;
34
35
  sourceRepositoryOwner: z.ZodOptional<z.ZodNullable<z.ZodString>>;
36
+ sourceDefaultBranch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
37
  name: z.ZodString;
36
38
  }, z.core.$strip>>;
37
39
  }, z.core.$strip>;
38
40
  };
39
- readonly requireProjectForWorkspace: {
40
- readonly input: z.ZodObject<{
41
+ listProjectsByWorkspace: {
42
+ input: z.ZodObject<{
43
+ workspaceId: z.ZodString;
44
+ limit: z.ZodNumber;
45
+ cursor: z.ZodOptional<z.ZodObject<{
46
+ createdAt: z.ZodString;
47
+ id: z.ZodString;
48
+ }, z.core.$strip>>;
49
+ }, z.core.$strip>;
50
+ output: z.ZodObject<{
51
+ projects: z.ZodArray<z.ZodObject<{
52
+ id: z.ZodString;
53
+ workspaceId: z.ZodString;
54
+ sourceConnectionId: z.ZodString;
55
+ sourceExternalRepositoryId: z.ZodString;
56
+ sourceRepositoryOwner: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
+ sourceDefaultBranch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
58
+ name: z.ZodString;
59
+ }, z.core.$strip>>;
60
+ nextCursor: z.ZodNullable<z.ZodObject<{
61
+ createdAt: z.ZodString;
62
+ id: z.ZodString;
63
+ }, z.core.$strip>>;
64
+ }, z.core.$strip>;
65
+ };
66
+ requireProjectForWorkspace: {
67
+ input: z.ZodObject<{
41
68
  projectId: z.ZodString;
42
69
  workspaceId: z.ZodString;
43
70
  }, z.core.$strip>;
44
- readonly output: z.ZodObject<{
71
+ output: z.ZodObject<{
45
72
  project: z.ZodObject<{
46
73
  id: z.ZodString;
47
74
  workspaceId: z.ZodString;
48
75
  sourceConnectionId: z.ZodString;
49
76
  sourceExternalRepositoryId: z.ZodString;
50
77
  sourceRepositoryOwner: z.ZodOptional<z.ZodNullable<z.ZodString>>;
78
+ sourceDefaultBranch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
51
79
  name: z.ZodString;
52
80
  }, z.core.$strip>;
53
81
  }, z.core.$strip>;
54
- readonly errors: {
55
- readonly 'project-not-found': z.ZodObject<{
82
+ errors: {
83
+ 'project-not-found': z.ZodObject<{
56
84
  projectId: z.ZodString;
57
85
  }, z.core.$strip>;
58
- readonly 'project-workspace-mismatch': z.ZodObject<{
86
+ 'project-workspace-mismatch': z.ZodObject<{
59
87
  projectId: z.ZodString;
60
88
  workspaceId: z.ZodString;
61
89
  }, z.core.$strip>;
62
90
  };
63
91
  };
64
- readonly getWorkspaceProjectCounts: {
65
- readonly input: z.ZodObject<{
92
+ getWorkspaceProjectCounts: {
93
+ input: z.ZodObject<{
66
94
  workspaceIds: z.ZodArray<z.ZodString>;
67
95
  }, z.core.$strip>;
68
- readonly output: z.ZodObject<{
96
+ output: z.ZodObject<{
69
97
  counts: z.ZodArray<z.ZodObject<{
70
98
  workspaceId: z.ZodString;
71
99
  count: z.ZodNumber;
72
100
  }, z.core.$strip>>;
73
101
  }, z.core.$strip>;
74
102
  };
75
- readonly resolveCheckoutTarget: {
76
- readonly input: z.ZodObject<{
103
+ resolveCheckoutTarget: {
104
+ input: z.ZodObject<{
77
105
  workspaceId: z.ZodString;
78
106
  defaults: z.ZodObject<{
79
107
  connectionId: z.ZodString;
@@ -86,13 +114,13 @@ export declare const projectsInterModuleContract: import("@shipfox/inter-module"
86
114
  repository: z.ZodString;
87
115
  }, z.core.$strict>]>;
88
116
  }, z.core.$strip>;
89
- readonly output: z.ZodObject<{
117
+ output: z.ZodObject<{
90
118
  projectId: z.ZodString;
91
119
  connectionId: z.ZodString;
92
120
  externalRepositoryId: z.ZodString;
93
121
  }, z.core.$strip>;
94
- readonly errors: {
95
- readonly 'checkout-repository-not-authorized': z.ZodObject<{}, z.core.$strip>;
122
+ errors: {
123
+ 'checkout-repository-not-authorized': z.ZodObject<{}, z.core.$strip>;
96
124
  };
97
125
  };
98
126
  };
@@ -1 +1 @@
1
- {"version":3,"file":"inter-module.d.ts","sourceRoot":"","sources":["../src/inter-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AA4BtB,wEAAwE;AACxE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCtC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"inter-module.d.ts","sourceRoot":"","sources":["../src/inter-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAiCtB,wEAAwE;AACxE,eAAO,MAAM,2BAA2B;;;QAGpC,cAAc;YACZ,KAAK;;;YACL,MAAM;;;;;;;;;;;;QAER,kBAAkB;YAChB,KAAK;;;;;YAKL,MAAM;;;;;;;;;;;;QAER,uBAAuB;YACrB,KAAK;;;;;;;;YAKL,MAAM;;;;;;;;;;;;;;;;QAKR,0BAA0B;YACxB,KAAK;;;;YACL,MAAM;;;;;;;;;;;YACN,MAAM;gBACJ,mBAAmB;;;gBACnB,4BAA4B;;;;;;QAGhC,yBAAyB;YACvB,KAAK;;;YACL,MAAM;;;;;;;QAER,qBAAqB;YACnB,KAAK;;;;;;;;;;;;;YAKL,MAAM;;;;;YACN,MAAM;gBACJ,oCAAoC;;;;EAI1C,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -7,12 +7,17 @@ const projectSchema = z.object({
7
7
  sourceConnectionId: idSchema,
8
8
  sourceExternalRepositoryId: z.string(),
9
9
  sourceRepositoryOwner: z.string().min(1).nullable().optional(),
10
+ sourceDefaultBranch: z.string().min(1).nullable().optional(),
10
11
  name: z.string()
11
12
  });
12
13
  const workspaceProjectCountSchema = z.object({
13
14
  workspaceId: idSchema,
14
15
  count: z.number().int().nonnegative()
15
16
  });
17
+ const projectCursorSchema = z.object({
18
+ createdAt: z.string().datetime(),
19
+ id: idSchema
20
+ });
16
21
  const checkoutTargetSchema = z.union([
17
22
  z.strictObject({
18
23
  project: idSchema
@@ -48,6 +53,17 @@ const resolvedCheckoutTargetSchema = z.object({
48
53
  project: projectSchema.nullable()
49
54
  })
50
55
  },
56
+ listProjectsByWorkspace: {
57
+ input: z.object({
58
+ workspaceId: idSchema,
59
+ limit: z.number().int().min(1).max(100),
60
+ cursor: projectCursorSchema.optional()
61
+ }),
62
+ output: z.object({
63
+ projects: z.array(projectSchema),
64
+ nextCursor: projectCursorSchema.nullable()
65
+ })
66
+ },
51
67
  requireProjectForWorkspace: {
52
68
  input: z.object({
53
69
  projectId: idSchema,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/inter-module.ts"],"sourcesContent":["import {defineInterModuleContract, type InterModuleClient} from '@shipfox/inter-module';\nimport {z} from 'zod';\n\nconst idSchema = z.string().uuid();\nconst projectSchema = z.object({\n id: idSchema,\n workspaceId: idSchema,\n sourceConnectionId: idSchema,\n sourceExternalRepositoryId: z.string(),\n sourceRepositoryOwner: z.string().min(1).nullable().optional(),\n name: z.string(),\n});\nconst workspaceProjectCountSchema = z.object({\n workspaceId: idSchema,\n count: z.number().int().nonnegative(),\n});\nconst checkoutTargetSchema = z.union([\n z.strictObject({project: idSchema}),\n z.strictObject({\n connection: idSchema.optional(),\n repository: z.string().min(1),\n }),\n]);\nconst resolvedCheckoutTargetSchema = z.object({\n projectId: idSchema,\n connectionId: idSchema,\n externalRepositoryId: z.string(),\n});\n\n/** Producer-owned project lookup and workspace ownership operations. */\nexport const projectsInterModuleContract = defineInterModuleContract({\n module: 'projects',\n methods: {\n getProjectById: {\n input: z.object({projectId: idSchema}),\n output: z.object({project: projectSchema.nullable()}),\n },\n getProjectBySource: {\n input: z.object({\n workspaceId: idSchema,\n sourceConnectionId: idSchema,\n sourceExternalRepositoryId: z.string(),\n }),\n output: z.object({project: projectSchema.nullable()}),\n },\n requireProjectForWorkspace: {\n input: z.object({projectId: idSchema, workspaceId: idSchema}),\n output: z.object({project: projectSchema}),\n errors: {\n 'project-not-found': z.object({projectId: idSchema}),\n 'project-workspace-mismatch': z.object({projectId: idSchema, workspaceId: idSchema}),\n },\n },\n getWorkspaceProjectCounts: {\n input: z.object({workspaceIds: z.array(idSchema).min(1).max(100)}),\n output: z.object({counts: z.array(workspaceProjectCountSchema)}),\n },\n resolveCheckoutTarget: {\n input: z.object({\n workspaceId: idSchema,\n defaults: z.object({connectionId: idSchema, owner: z.string().min(1)}),\n target: checkoutTargetSchema,\n }),\n output: resolvedCheckoutTargetSchema,\n errors: {\n 'checkout-repository-not-authorized': z.object({}),\n },\n },\n },\n});\n\nexport type ProjectsModuleClient = InterModuleClient<typeof projectsInterModuleContract>;\n"],"names":["defineInterModuleContract","z","idSchema","string","uuid","projectSchema","object","id","workspaceId","sourceConnectionId","sourceExternalRepositoryId","sourceRepositoryOwner","min","nullable","optional","name","workspaceProjectCountSchema","count","number","int","nonnegative","checkoutTargetSchema","union","strictObject","project","connection","repository","resolvedCheckoutTargetSchema","projectId","connectionId","externalRepositoryId","projectsInterModuleContract","module","methods","getProjectById","input","output","getProjectBySource","requireProjectForWorkspace","errors","getWorkspaceProjectCounts","workspaceIds","array","max","counts","resolveCheckoutTarget","defaults","owner","target"],"mappings":"AAAA,SAAQA,yBAAyB,QAA+B,wBAAwB;AACxF,SAAQC,CAAC,QAAO,MAAM;AAEtB,MAAMC,WAAWD,EAAEE,MAAM,GAAGC,IAAI;AAChC,MAAMC,gBAAgBJ,EAAEK,MAAM,CAAC;IAC7BC,IAAIL;IACJM,aAAaN;IACbO,oBAAoBP;IACpBQ,4BAA4BT,EAAEE,MAAM;IACpCQ,uBAAuBV,EAAEE,MAAM,GAAGS,GAAG,CAAC,GAAGC,QAAQ,GAAGC,QAAQ;IAC5DC,MAAMd,EAAEE,MAAM;AAChB;AACA,MAAMa,8BAA8Bf,EAAEK,MAAM,CAAC;IAC3CE,aAAaN;IACbe,OAAOhB,EAAEiB,MAAM,GAAGC,GAAG,GAAGC,WAAW;AACrC;AACA,MAAMC,uBAAuBpB,EAAEqB,KAAK,CAAC;IACnCrB,EAAEsB,YAAY,CAAC;QAACC,SAAStB;IAAQ;IACjCD,EAAEsB,YAAY,CAAC;QACbE,YAAYvB,SAASY,QAAQ;QAC7BY,YAAYzB,EAAEE,MAAM,GAAGS,GAAG,CAAC;IAC7B;CACD;AACD,MAAMe,+BAA+B1B,EAAEK,MAAM,CAAC;IAC5CsB,WAAW1B;IACX2B,cAAc3B;IACd4B,sBAAsB7B,EAAEE,MAAM;AAChC;AAEA,sEAAsE,GACtE,OAAO,MAAM4B,8BAA8B/B,0BAA0B;IACnEgC,QAAQ;IACRC,SAAS;QACPC,gBAAgB;YACdC,OAAOlC,EAAEK,MAAM,CAAC;gBAACsB,WAAW1B;YAAQ;YACpCkC,QAAQnC,EAAEK,MAAM,CAAC;gBAACkB,SAASnB,cAAcQ,QAAQ;YAAE;QACrD;QACAwB,oBAAoB;YAClBF,OAAOlC,EAAEK,MAAM,CAAC;gBACdE,aAAaN;gBACbO,oBAAoBP;gBACpBQ,4BAA4BT,EAAEE,MAAM;YACtC;YACAiC,QAAQnC,EAAEK,MAAM,CAAC;gBAACkB,SAASnB,cAAcQ,QAAQ;YAAE;QACrD;QACAyB,4BAA4B;YAC1BH,OAAOlC,EAAEK,MAAM,CAAC;gBAACsB,WAAW1B;gBAAUM,aAAaN;YAAQ;YAC3DkC,QAAQnC,EAAEK,MAAM,CAAC;gBAACkB,SAASnB;YAAa;YACxCkC,QAAQ;gBACN,qBAAqBtC,EAAEK,MAAM,CAAC;oBAACsB,WAAW1B;gBAAQ;gBAClD,8BAA8BD,EAAEK,MAAM,CAAC;oBAACsB,WAAW1B;oBAAUM,aAAaN;gBAAQ;YACpF;QACF;QACAsC,2BAA2B;YACzBL,OAAOlC,EAAEK,MAAM,CAAC;gBAACmC,cAAcxC,EAAEyC,KAAK,CAACxC,UAAUU,GAAG,CAAC,GAAG+B,GAAG,CAAC;YAAI;YAChEP,QAAQnC,EAAEK,MAAM,CAAC;gBAACsC,QAAQ3C,EAAEyC,KAAK,CAAC1B;YAA4B;QAChE;QACA6B,uBAAuB;YACrBV,OAAOlC,EAAEK,MAAM,CAAC;gBACdE,aAAaN;gBACb4C,UAAU7C,EAAEK,MAAM,CAAC;oBAACuB,cAAc3B;oBAAU6C,OAAO9C,EAAEE,MAAM,GAAGS,GAAG,CAAC;gBAAE;gBACpEoC,QAAQ3B;YACV;YACAe,QAAQT;YACRY,QAAQ;gBACN,sCAAsCtC,EAAEK,MAAM,CAAC,CAAC;YAClD;QACF;IACF;AACF,GAAG"}
1
+ {"version":3,"sources":["../src/inter-module.ts"],"sourcesContent":["import {defineInterModuleContract, type InterModuleClient} from '@shipfox/inter-module';\nimport {z} from 'zod';\n\nconst idSchema = z.string().uuid();\nconst projectSchema = z.object({\n id: idSchema,\n workspaceId: idSchema,\n sourceConnectionId: idSchema,\n sourceExternalRepositoryId: z.string(),\n sourceRepositoryOwner: z.string().min(1).nullable().optional(),\n sourceDefaultBranch: z.string().min(1).nullable().optional(),\n name: z.string(),\n});\nconst workspaceProjectCountSchema = z.object({\n workspaceId: idSchema,\n count: z.number().int().nonnegative(),\n});\nconst projectCursorSchema = z.object({\n createdAt: z.string().datetime(),\n id: idSchema,\n});\nconst checkoutTargetSchema = z.union([\n z.strictObject({project: idSchema}),\n z.strictObject({\n connection: idSchema.optional(),\n repository: z.string().min(1),\n }),\n]);\nconst resolvedCheckoutTargetSchema = z.object({\n projectId: idSchema,\n connectionId: idSchema,\n externalRepositoryId: z.string(),\n});\n\n/** Producer-owned project lookup and workspace ownership operations. */\nexport const projectsInterModuleContract = defineInterModuleContract({\n module: 'projects',\n methods: {\n getProjectById: {\n input: z.object({projectId: idSchema}),\n output: z.object({project: projectSchema.nullable()}),\n },\n getProjectBySource: {\n input: z.object({\n workspaceId: idSchema,\n sourceConnectionId: idSchema,\n sourceExternalRepositoryId: z.string(),\n }),\n output: z.object({project: projectSchema.nullable()}),\n },\n listProjectsByWorkspace: {\n input: z.object({\n workspaceId: idSchema,\n limit: z.number().int().min(1).max(100),\n cursor: projectCursorSchema.optional(),\n }),\n output: z.object({\n projects: z.array(projectSchema),\n nextCursor: projectCursorSchema.nullable(),\n }),\n },\n requireProjectForWorkspace: {\n input: z.object({projectId: idSchema, workspaceId: idSchema}),\n output: z.object({project: projectSchema}),\n errors: {\n 'project-not-found': z.object({projectId: idSchema}),\n 'project-workspace-mismatch': z.object({projectId: idSchema, workspaceId: idSchema}),\n },\n },\n getWorkspaceProjectCounts: {\n input: z.object({workspaceIds: z.array(idSchema).min(1).max(100)}),\n output: z.object({counts: z.array(workspaceProjectCountSchema)}),\n },\n resolveCheckoutTarget: {\n input: z.object({\n workspaceId: idSchema,\n defaults: z.object({connectionId: idSchema, owner: z.string().min(1)}),\n target: checkoutTargetSchema,\n }),\n output: resolvedCheckoutTargetSchema,\n errors: {\n 'checkout-repository-not-authorized': z.object({}),\n },\n },\n },\n});\n\nexport type ProjectsModuleClient = InterModuleClient<typeof projectsInterModuleContract>;\n"],"names":["defineInterModuleContract","z","idSchema","string","uuid","projectSchema","object","id","workspaceId","sourceConnectionId","sourceExternalRepositoryId","sourceRepositoryOwner","min","nullable","optional","sourceDefaultBranch","name","workspaceProjectCountSchema","count","number","int","nonnegative","projectCursorSchema","createdAt","datetime","checkoutTargetSchema","union","strictObject","project","connection","repository","resolvedCheckoutTargetSchema","projectId","connectionId","externalRepositoryId","projectsInterModuleContract","module","methods","getProjectById","input","output","getProjectBySource","listProjectsByWorkspace","limit","max","cursor","projects","array","nextCursor","requireProjectForWorkspace","errors","getWorkspaceProjectCounts","workspaceIds","counts","resolveCheckoutTarget","defaults","owner","target"],"mappings":"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"}