@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.d.mts +189 -52
- package/dist/index.d.ts +189 -52
- package/dist/index.js +80 -63
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +80 -63
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
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.
|
|
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
|