@supernova-studio/client 1.31.1 → 1.31.3

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/dist/index.js CHANGED
@@ -5219,7 +5219,10 @@ var ProjectFeature = _zod.z.object({
5219
5219
  sectionId: Id.optional(),
5220
5220
  sortOrder: SortOrder.default(0),
5221
5221
  status: ProjectFeatureStatus.default("Draft"),
5222
- updatedAt: _zod.z.coerce.date().optional()
5222
+ initialPrompt: _zod.z.string(),
5223
+ updatedAt: _zod.z.coerce.date().optional(),
5224
+ numberOfIterations: _zod.z.number().min(0).default(0),
5225
+ lastReplyTimestamp: _zod.z.coerce.date().optional()
5223
5226
  });
5224
5227
  var ForgeProjectFigmaNode = _zod.z.object({
5225
5228
  id: _zod.z.string().uuid(),
@@ -9135,7 +9138,7 @@ var DTOFeatureMessage = _zod2.default.object({
9135
9138
  /**
9136
9139
  * Link agent response object describing current state of
9137
9140
  */
9138
- agentResponseTrackerId: Id.optional(),
9141
+ agentResponseTrackerId: Id.optional().nullable(),
9139
9142
  attachments: DTOFeatureMessageAttachments.optional(),
9140
9143
  createdAt: _zod2.default.string(),
9141
9144
  updatedAt: _zod2.default.string().optional()
@@ -9213,7 +9216,7 @@ var DTOFeatureMessageCreateInput = DTOFeatureMessage.pick({
9213
9216
  agentResponseTrackerId: true,
9214
9217
  createdAt: true
9215
9218
  });
9216
- var DTOFeatureMessageUpdateInput = DTOFeatureMessageCreateInput.pick({ body: true }).merge(DTOFeatureMessage.pick({ agentResponseTrackerId: true })).partial();
9219
+ var DTOFeatureMessageUpdateInput = DTOFeatureMessageCreateInput.omit({ id: true }).merge(DTOFeatureMessage.pick({ agentResponseTrackerId: true })).partial();
9217
9220
  var DTOFeatureMessageReactionCreateInput = _zod2.default.object({
9218
9221
  messageId: Id,
9219
9222
  emoji: _zod2.default.string()
@@ -9463,6 +9466,7 @@ var DTOForgeProjectFeatureCreateInput = _zod2.default.object({
9463
9466
  id: Id,
9464
9467
  name: _zod2.default.string(),
9465
9468
  description: _zod2.default.string(),
9469
+ initialPrompt: _zod2.default.string(),
9466
9470
  sectionId: Id.optional(),
9467
9471
  afterFeatureId: Id.nullable().optional()
9468
9472
  });
@@ -11497,6 +11501,16 @@ var ForgeProjectFeaturesEndpoint = class {
11497
11501
  {}
11498
11502
  );
11499
11503
  }
11504
+ agentWorkFinalized(workspaceId, projectId, featureId, body) {
11505
+ return this.requestExecutor.json(
11506
+ `/workspaces/${workspaceId}/forge/projects/${projectId}/features/${featureId}/agent-work-finalize`,
11507
+ DTOFeatureIterationResponse,
11508
+ {
11509
+ method: "POST",
11510
+ body
11511
+ }
11512
+ );
11513
+ }
11500
11514
  };
11501
11515
 
11502
11516
  // src/api/endpoints/forge/project-files.ts
@@ -17831,6 +17845,59 @@ var LocalProjectActionExecutor = class {
17831
17845
  //
17832
17846
  // Artifacts
17833
17847
  //
17848
+ calculateSectionSortOrder(items, afterItemId) {
17849
+ const sortedItems = Array.from(items.values()).sort((a, b) => a.sortOrder - b.sortOrder);
17850
+ const sortOrder = this.calculateSortOrderNoDb(
17851
+ (pId) => sortedItems.find((s) => s.projectId === pId),
17852
+ (pId) => sortedItems.findLast((s) => s.projectId === pId),
17853
+ (pId, id) => sortedItems.find((s) => s.projectId === pId && s.id === id),
17854
+ (pId, sortOrder2) => sortedItems.find((s) => s.projectId === pId && s.sortOrder > sortOrder2),
17855
+ (pId, sortOrder2, step) => items.forEach((s) => s.sortOrder > sortOrder2 && s.projectId === pId ? s.sortOrder += step : {}),
17856
+ this.projectId,
17857
+ afterItemId
17858
+ );
17859
+ return _nullishCoalesce(sortOrder, () => ( 0));
17860
+ }
17861
+ calculateItemSortOrder(items, afterItemId, sectionId) {
17862
+ const sortedItems = Array.from(items.values()).sort((a, b) => a.sortOrder - b.sortOrder);
17863
+ const matchIds = (i, pId, sId) => i.sectionId === sId && i.projectId === pId;
17864
+ const sortOrder = this.calculateSortOrderNoDb(
17865
+ (pId, sId) => sortedItems.find((i) => matchIds(i, pId, sId)),
17866
+ (pId, sId) => sortedItems.findLast((i) => matchIds(i, pId, sId)),
17867
+ (pId, id, sId) => sortedItems.find((i) => i.id === id && matchIds(i, pId, sId)),
17868
+ (pId, sortOrder2, sId) => sortedItems.find((i) => i.sortOrder > sortOrder2 && matchIds(i, pId, sId)),
17869
+ (pId, sortOrder2, step, sId) => items.forEach((i) => i.sortOrder > sortOrder2 && matchIds(i, pId, sId) ? i.sortOrder += step : {}),
17870
+ this.projectId,
17871
+ afterItemId,
17872
+ _nullishCoalesce(sectionId, () => ( void 0))
17873
+ );
17874
+ return _nullishCoalesce(sortOrder, () => ( 0));
17875
+ }
17876
+ // See also calculateSectionSortOrder and calculateSectionedItemSortOrder
17877
+ calculateSortOrderNoDb(findFirst, findLast, findUnique, findNext, shiftAfter, projectId, afterItemId, sectionId) {
17878
+ const SORT_ORDER_STEP = 1e3;
17879
+ if (afterItemId === void 0) {
17880
+ const lastSection = findLast(projectId, sectionId);
17881
+ return (_nullishCoalesce(_optionalChain([lastSection, 'optionalAccess', _97 => _97.sortOrder]), () => ( 0))) + SORT_ORDER_STEP;
17882
+ } else if (afterItemId === null) {
17883
+ const firstSection = findFirst(projectId, sectionId);
17884
+ return (_nullishCoalesce(_optionalChain([firstSection, 'optionalAccess', _98 => _98.sortOrder]), () => ( SORT_ORDER_STEP))) - SORT_ORDER_STEP;
17885
+ } else {
17886
+ const targetSection = findUnique(projectId, afterItemId, sectionId);
17887
+ if (!targetSection) return null;
17888
+ const nextSection = findNext(projectId, targetSection.sortOrder, sectionId);
17889
+ if (nextSection) {
17890
+ let newSortOrder = Math.floor((targetSection.sortOrder + nextSection.sortOrder) / 2);
17891
+ if (newSortOrder <= targetSection.sortOrder) {
17892
+ newSortOrder = targetSection.sortOrder + SORT_ORDER_STEP / 2;
17893
+ shiftAfter(projectId, targetSection.sortOrder, SORT_ORDER_STEP, sectionId);
17894
+ }
17895
+ return newSortOrder;
17896
+ } else {
17897
+ return targetSection.sortOrder + SORT_ORDER_STEP;
17898
+ }
17899
+ }
17900
+ }
17834
17901
  artifactCreate(trx) {
17835
17902
  const { input } = trx;
17836
17903
  const { id, afterArtifactId, sectionId } = input;
@@ -17846,6 +17913,9 @@ var LocalProjectActionExecutor = class {
17846
17913
  createdByUserId: this.userId
17847
17914
  });
17848
17915
  }
17916
+ //
17917
+ // Feature
17918
+ //
17849
17919
  artifactUpdate(trx) {
17850
17920
  const { input } = trx;
17851
17921
  const { id } = input;
@@ -17882,9 +17952,6 @@ var LocalProjectActionExecutor = class {
17882
17952
  throw new Error(`Cannot delete artifact: artifact ${id} was not found in local storage`);
17883
17953
  }
17884
17954
  }
17885
- //
17886
- // Feature
17887
- //
17888
17955
  featureCreate(trx) {
17889
17956
  const { input } = trx;
17890
17957
  const { id, afterFeatureId, sectionId } = input;
@@ -17900,9 +17967,15 @@ var LocalProjectActionExecutor = class {
17900
17967
  status: "Draft",
17901
17968
  updatedAt: /* @__PURE__ */ new Date(),
17902
17969
  createdAt: /* @__PURE__ */ new Date(),
17903
- createdByUserId: this.userId
17970
+ createdByUserId: this.userId,
17971
+ initialPrompt: input.initialPrompt,
17972
+ lastReplyTimestamp: void 0,
17973
+ numberOfIterations: 0
17904
17974
  });
17905
17975
  }
17976
+ //
17977
+ // Sections
17978
+ //
17906
17979
  featureUpdate(trx) {
17907
17980
  const { input } = trx;
17908
17981
  const { id } = input;
@@ -17942,9 +18015,6 @@ var LocalProjectActionExecutor = class {
17942
18015
  throw new Error(`Cannot delete feature: feature ${id} was not found in local storage`);
17943
18016
  }
17944
18017
  }
17945
- //
17946
- // Sections
17947
- //
17948
18018
  sectionCreate(trx) {
17949
18019
  const { input } = trx;
17950
18020
  const { id, afterSectionId } = input;
@@ -18000,59 +18070,6 @@ var LocalProjectActionExecutor = class {
18000
18070
  throw new Error(`Cannot delete section: section ${id} was not found in local storage`);
18001
18071
  }
18002
18072
  }
18003
- calculateSectionSortOrder(items, afterItemId) {
18004
- const sortedItems = Array.from(items.values()).sort((a, b) => a.sortOrder - b.sortOrder);
18005
- const sortOrder = this.calculateSortOrderNoDb(
18006
- (pId) => sortedItems.find((s) => s.projectId === pId),
18007
- (pId) => sortedItems.findLast((s) => s.projectId === pId),
18008
- (pId, id) => sortedItems.find((s) => s.projectId === pId && s.id === id),
18009
- (pId, sortOrder2) => sortedItems.find((s) => s.projectId === pId && s.sortOrder > sortOrder2),
18010
- (pId, sortOrder2, step) => items.forEach((s) => s.sortOrder > sortOrder2 && s.projectId === pId ? s.sortOrder += step : {}),
18011
- this.projectId,
18012
- afterItemId
18013
- );
18014
- return _nullishCoalesce(sortOrder, () => ( 0));
18015
- }
18016
- calculateItemSortOrder(items, afterItemId, sectionId) {
18017
- const sortedItems = Array.from(items.values()).sort((a, b) => a.sortOrder - b.sortOrder);
18018
- const matchIds = (i, pId, sId) => i.sectionId === sId && i.projectId === pId;
18019
- const sortOrder = this.calculateSortOrderNoDb(
18020
- (pId, sId) => sortedItems.find((i) => matchIds(i, pId, sId)),
18021
- (pId, sId) => sortedItems.findLast((i) => matchIds(i, pId, sId)),
18022
- (pId, id, sId) => sortedItems.find((i) => i.id === id && matchIds(i, pId, sId)),
18023
- (pId, sortOrder2, sId) => sortedItems.find((i) => i.sortOrder > sortOrder2 && matchIds(i, pId, sId)),
18024
- (pId, sortOrder2, step, sId) => items.forEach((i) => i.sortOrder > sortOrder2 && matchIds(i, pId, sId) ? i.sortOrder += step : {}),
18025
- this.projectId,
18026
- afterItemId,
18027
- _nullishCoalesce(sectionId, () => ( void 0))
18028
- );
18029
- return _nullishCoalesce(sortOrder, () => ( 0));
18030
- }
18031
- // See also calculateSectionSortOrder and calculateSectionedItemSortOrder
18032
- calculateSortOrderNoDb(findFirst, findLast, findUnique, findNext, shiftAfter, projectId, afterItemId, sectionId) {
18033
- const SORT_ORDER_STEP = 1e3;
18034
- if (afterItemId === void 0) {
18035
- const lastSection = findLast(projectId, sectionId);
18036
- return (_nullishCoalesce(_optionalChain([lastSection, 'optionalAccess', _97 => _97.sortOrder]), () => ( 0))) + SORT_ORDER_STEP;
18037
- } else if (afterItemId === null) {
18038
- const firstSection = findFirst(projectId, sectionId);
18039
- return (_nullishCoalesce(_optionalChain([firstSection, 'optionalAccess', _98 => _98.sortOrder]), () => ( SORT_ORDER_STEP))) - SORT_ORDER_STEP;
18040
- } else {
18041
- const targetSection = findUnique(projectId, afterItemId, sectionId);
18042
- if (!targetSection) return null;
18043
- const nextSection = findNext(projectId, targetSection.sortOrder, sectionId);
18044
- if (nextSection) {
18045
- let newSortOrder = Math.floor((targetSection.sortOrder + nextSection.sortOrder) / 2);
18046
- if (newSortOrder <= targetSection.sortOrder) {
18047
- newSortOrder = targetSection.sortOrder + SORT_ORDER_STEP / 2;
18048
- shiftAfter(projectId, targetSection.sortOrder, SORT_ORDER_STEP, sectionId);
18049
- }
18050
- return newSortOrder;
18051
- } else {
18052
- return targetSection.sortOrder + SORT_ORDER_STEP;
18053
- }
18054
- }
18055
- }
18056
18073
  };
18057
18074
 
18058
18075
  // src/sync/project-content-repo.ts