@supernova-studio/client 1.31.1 → 1.31.2

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,6 +5219,7 @@ var ProjectFeature = _zod.z.object({
5219
5219
  sectionId: Id.optional(),
5220
5220
  sortOrder: SortOrder.default(0),
5221
5221
  status: ProjectFeatureStatus.default("Draft"),
5222
+ initialPrompt: _zod.z.string(),
5222
5223
  updatedAt: _zod.z.coerce.date().optional()
5223
5224
  });
5224
5225
  var ForgeProjectFigmaNode = _zod.z.object({
@@ -9463,6 +9464,7 @@ var DTOForgeProjectFeatureCreateInput = _zod2.default.object({
9463
9464
  id: Id,
9464
9465
  name: _zod2.default.string(),
9465
9466
  description: _zod2.default.string(),
9467
+ initialPrompt: _zod2.default.string(),
9466
9468
  sectionId: Id.optional(),
9467
9469
  afterFeatureId: Id.nullable().optional()
9468
9470
  });
@@ -17831,6 +17833,59 @@ var LocalProjectActionExecutor = class {
17831
17833
  //
17832
17834
  // Artifacts
17833
17835
  //
17836
+ calculateSectionSortOrder(items, afterItemId) {
17837
+ const sortedItems = Array.from(items.values()).sort((a, b) => a.sortOrder - b.sortOrder);
17838
+ const sortOrder = this.calculateSortOrderNoDb(
17839
+ (pId) => sortedItems.find((s) => s.projectId === pId),
17840
+ (pId) => sortedItems.findLast((s) => s.projectId === pId),
17841
+ (pId, id) => sortedItems.find((s) => s.projectId === pId && s.id === id),
17842
+ (pId, sortOrder2) => sortedItems.find((s) => s.projectId === pId && s.sortOrder > sortOrder2),
17843
+ (pId, sortOrder2, step) => items.forEach((s) => s.sortOrder > sortOrder2 && s.projectId === pId ? s.sortOrder += step : {}),
17844
+ this.projectId,
17845
+ afterItemId
17846
+ );
17847
+ return _nullishCoalesce(sortOrder, () => ( 0));
17848
+ }
17849
+ calculateItemSortOrder(items, afterItemId, sectionId) {
17850
+ const sortedItems = Array.from(items.values()).sort((a, b) => a.sortOrder - b.sortOrder);
17851
+ const matchIds = (i, pId, sId) => i.sectionId === sId && i.projectId === pId;
17852
+ const sortOrder = this.calculateSortOrderNoDb(
17853
+ (pId, sId) => sortedItems.find((i) => matchIds(i, pId, sId)),
17854
+ (pId, sId) => sortedItems.findLast((i) => matchIds(i, pId, sId)),
17855
+ (pId, id, sId) => sortedItems.find((i) => i.id === id && matchIds(i, pId, sId)),
17856
+ (pId, sortOrder2, sId) => sortedItems.find((i) => i.sortOrder > sortOrder2 && matchIds(i, pId, sId)),
17857
+ (pId, sortOrder2, step, sId) => items.forEach((i) => i.sortOrder > sortOrder2 && matchIds(i, pId, sId) ? i.sortOrder += step : {}),
17858
+ this.projectId,
17859
+ afterItemId,
17860
+ _nullishCoalesce(sectionId, () => ( void 0))
17861
+ );
17862
+ return _nullishCoalesce(sortOrder, () => ( 0));
17863
+ }
17864
+ // See also calculateSectionSortOrder and calculateSectionedItemSortOrder
17865
+ calculateSortOrderNoDb(findFirst, findLast, findUnique, findNext, shiftAfter, projectId, afterItemId, sectionId) {
17866
+ const SORT_ORDER_STEP = 1e3;
17867
+ if (afterItemId === void 0) {
17868
+ const lastSection = findLast(projectId, sectionId);
17869
+ return (_nullishCoalesce(_optionalChain([lastSection, 'optionalAccess', _97 => _97.sortOrder]), () => ( 0))) + SORT_ORDER_STEP;
17870
+ } else if (afterItemId === null) {
17871
+ const firstSection = findFirst(projectId, sectionId);
17872
+ return (_nullishCoalesce(_optionalChain([firstSection, 'optionalAccess', _98 => _98.sortOrder]), () => ( SORT_ORDER_STEP))) - SORT_ORDER_STEP;
17873
+ } else {
17874
+ const targetSection = findUnique(projectId, afterItemId, sectionId);
17875
+ if (!targetSection) return null;
17876
+ const nextSection = findNext(projectId, targetSection.sortOrder, sectionId);
17877
+ if (nextSection) {
17878
+ let newSortOrder = Math.floor((targetSection.sortOrder + nextSection.sortOrder) / 2);
17879
+ if (newSortOrder <= targetSection.sortOrder) {
17880
+ newSortOrder = targetSection.sortOrder + SORT_ORDER_STEP / 2;
17881
+ shiftAfter(projectId, targetSection.sortOrder, SORT_ORDER_STEP, sectionId);
17882
+ }
17883
+ return newSortOrder;
17884
+ } else {
17885
+ return targetSection.sortOrder + SORT_ORDER_STEP;
17886
+ }
17887
+ }
17888
+ }
17834
17889
  artifactCreate(trx) {
17835
17890
  const { input } = trx;
17836
17891
  const { id, afterArtifactId, sectionId } = input;
@@ -17846,6 +17901,9 @@ var LocalProjectActionExecutor = class {
17846
17901
  createdByUserId: this.userId
17847
17902
  });
17848
17903
  }
17904
+ //
17905
+ // Feature
17906
+ //
17849
17907
  artifactUpdate(trx) {
17850
17908
  const { input } = trx;
17851
17909
  const { id } = input;
@@ -17882,9 +17940,6 @@ var LocalProjectActionExecutor = class {
17882
17940
  throw new Error(`Cannot delete artifact: artifact ${id} was not found in local storage`);
17883
17941
  }
17884
17942
  }
17885
- //
17886
- // Feature
17887
- //
17888
17943
  featureCreate(trx) {
17889
17944
  const { input } = trx;
17890
17945
  const { id, afterFeatureId, sectionId } = input;
@@ -17900,9 +17955,13 @@ var LocalProjectActionExecutor = class {
17900
17955
  status: "Draft",
17901
17956
  updatedAt: /* @__PURE__ */ new Date(),
17902
17957
  createdAt: /* @__PURE__ */ new Date(),
17903
- createdByUserId: this.userId
17958
+ createdByUserId: this.userId,
17959
+ initialPrompt: input.initialPrompt
17904
17960
  });
17905
17961
  }
17962
+ //
17963
+ // Sections
17964
+ //
17906
17965
  featureUpdate(trx) {
17907
17966
  const { input } = trx;
17908
17967
  const { id } = input;
@@ -17942,9 +18001,6 @@ var LocalProjectActionExecutor = class {
17942
18001
  throw new Error(`Cannot delete feature: feature ${id} was not found in local storage`);
17943
18002
  }
17944
18003
  }
17945
- //
17946
- // Sections
17947
- //
17948
18004
  sectionCreate(trx) {
17949
18005
  const { input } = trx;
17950
18006
  const { id, afterSectionId } = input;
@@ -18000,59 +18056,6 @@ var LocalProjectActionExecutor = class {
18000
18056
  throw new Error(`Cannot delete section: section ${id} was not found in local storage`);
18001
18057
  }
18002
18058
  }
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
18059
  };
18057
18060
 
18058
18061
  // src/sync/project-content-repo.ts