@ankhorage/studio 2.7.1 → 2.7.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/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # @ankhorage/studio
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v2.7.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v2.7.1](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
7
7
 
8
8
  Studio authoring package for Ankhorage apps
9
9
 
package/apm/update.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "protocolVersion": 1,
3
3
  "schemaVersion": 1,
4
- "owner": { "name": "@ankhorage/studio", "version": "2.7.1" },
4
+ "owner": { "name": "@ankhorage/studio", "version": "2.7.2" },
5
5
  "history": {
6
6
  "supported": [{ "sourceRange": ">=2.5.7 <3.0.0", "mode": "no-migration" }],
7
7
  "unsupported": [],
@@ -0,0 +1,16 @@
1
+ import type { ApmApplyInput, ApmPlanProjectInput, ApmStatusInput, ApmVerifyInput } from '@ankhorage/apm/types';
2
+ import type { FastifyInstance } from 'fastify';
3
+ interface ProjectUpdateRouteService {
4
+ readonly statusAsync: (input: ApmStatusInput) => Promise<unknown>;
5
+ readonly planAsync: (input: ApmPlanProjectInput) => Promise<unknown>;
6
+ readonly applyAsync: (input: ApmApplyInput) => Promise<unknown>;
7
+ readonly verifyAsync: (input: ApmVerifyInput) => Promise<unknown>;
8
+ }
9
+ interface ProjectUpdateRouteOptions {
10
+ readonly service: ProjectUpdateRouteService;
11
+ readonly resolveProjectRootAsync: (projectId: string) => Promise<string | undefined>;
12
+ }
13
+ /*** Register the authorized HTTP adapter for Studio's composed APM project-update lifecycle. */
14
+ export declare function registerProjectUpdateRoutes(fastify: FastifyInstance, options: ProjectUpdateRouteOptions): void;
15
+ export {};
16
+ //# sourceMappingURL=registerProjectUpdateRoutes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerProjectUpdateRoutes.d.ts","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/inbound/registerProjectUpdateRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAIb,mBAAmB,EAInB,cAAc,EACd,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAE7D,UAAU,yBAAyB;IACjC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnE;AAED,UAAU,yBAAyB;IACjC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,QAAQ,CAAC,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACtF;AAED,gGAAgG;AAChG,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,yBAAyB,GACjC,IAAI,CAwEN"}
@@ -0,0 +1,269 @@
1
+ import { hasOnlyKeys, isRecord } from '@ankhorage/utility/object';
2
+ /*** Register the authorized HTTP adapter for Studio's composed APM project-update lifecycle. */
3
+ export function registerProjectUpdateRoutes(fastify, options) {
4
+ fastify.get('/api/projects/:id/updates/status', async (request, reply) => {
5
+ const context = await resolveRequestContext(request.params, options, reply);
6
+ if (context === undefined)
7
+ return;
8
+ const query = isRecord(request.query) ? request.query : {};
9
+ if (!hasOnlyKeys(query, ['availability']) || !isAvailability(query.availability)) {
10
+ return sendInvalidRequest(reply);
11
+ }
12
+ const input = {
13
+ rootPath: context.rootPath,
14
+ ...(query.availability === undefined ? {} : { availability: query.availability }),
15
+ };
16
+ return invokeReadOnly(reply, () => options.service.statusAsync(input));
17
+ });
18
+ fastify.post('/api/projects/:id/updates/plan', async (request, reply) => {
19
+ const context = await resolveRequestContext(request.params, options, reply);
20
+ if (context === undefined)
21
+ return;
22
+ const body = request.body === undefined ? {} : request.body;
23
+ if (!isPlanRequest(body))
24
+ return sendInvalidRequest(reply);
25
+ const input = {
26
+ rootPath: context.rootPath,
27
+ ...(body.availability === undefined ? {} : { availability: body.availability }),
28
+ ...(body.policy === undefined ? {} : { policy: body.policy }),
29
+ };
30
+ return invokeLifecycle(reply, () => options.service.planAsync(input));
31
+ });
32
+ fastify.post('/api/projects/:id/updates/apply', async (request, reply) => {
33
+ const context = await resolveRequestContext(request.params, options, reply);
34
+ if (context === undefined)
35
+ return;
36
+ const { body } = request;
37
+ if (!isApplyRequest(body))
38
+ return sendInvalidRequest(reply);
39
+ if (body.plan.rootPath !== context.rootPath) {
40
+ return reply.status(409).send({ error: 'The reviewed plan belongs to another project.' });
41
+ }
42
+ return invokeLifecycle(reply, () => options.service.applyAsync({
43
+ mode: 'start',
44
+ plan: body.plan,
45
+ permissions: body.permissions,
46
+ }));
47
+ });
48
+ fastify.post('/api/projects/:id/updates/resume', async (request, reply) => {
49
+ const context = await resolveRequestContext(request.params, options, reply);
50
+ if (context === undefined)
51
+ return;
52
+ const { body } = request;
53
+ if (!isResumeRequest(body))
54
+ return sendInvalidRequest(reply);
55
+ return invokeLifecycle(reply, () => options.service.applyAsync({
56
+ mode: 'resume',
57
+ rootPath: context.rootPath,
58
+ operationId: body.operationId,
59
+ permissions: body.permissions,
60
+ }));
61
+ });
62
+ fastify.post('/api/projects/:id/updates/verify', async (request, reply) => {
63
+ const context = await resolveRequestContext(request.params, options, reply);
64
+ if (context === undefined)
65
+ return;
66
+ const { body } = request;
67
+ if (!isOperationRequest(body))
68
+ return sendInvalidRequest(reply);
69
+ return invokeLifecycle(reply, () => options.service.verifyAsync({
70
+ rootPath: context.rootPath,
71
+ operationId: body.operationId,
72
+ }));
73
+ });
74
+ }
75
+ /*** Resolve a request's validated project id to its server-owned project root. */
76
+ async function resolveRequestContext(params, options, reply) {
77
+ if (!isRecord(params) || typeof params.id !== 'string' || params.id.length === 0) {
78
+ sendInvalidRequest(reply);
79
+ return undefined;
80
+ }
81
+ try {
82
+ const rootPath = await options.resolveProjectRootAsync(params.id);
83
+ if (rootPath === undefined) {
84
+ reply.status(404).send({ error: 'Project not found.' });
85
+ return undefined;
86
+ }
87
+ return { rootPath };
88
+ }
89
+ catch {
90
+ reply.status(404).send({ error: 'Project not found.' });
91
+ return undefined;
92
+ }
93
+ }
94
+ /*** Execute one read-only APM request without leaking host exception details. */
95
+ async function invokeReadOnly(reply, operation) {
96
+ try {
97
+ return await operation();
98
+ }
99
+ catch {
100
+ return reply.status(500).send({ error: 'Project update request failed.' });
101
+ }
102
+ }
103
+ /*** Execute one APM lifecycle request and map incomplete or blocked structured results to conflict. */
104
+ async function invokeLifecycle(reply, operation) {
105
+ try {
106
+ const result = await operation();
107
+ if (isLifecycleConflict(result))
108
+ return reply.status(409).send(result);
109
+ return result;
110
+ }
111
+ catch {
112
+ return reply.status(500).send({ error: 'Project update request failed.' });
113
+ }
114
+ }
115
+ /*** Detect structured APM plan/apply/verify results that require further user action. */
116
+ function isLifecycleConflict(value) {
117
+ if (!isRecord(value) || typeof value.operation !== 'string')
118
+ return false;
119
+ if (value.operation === 'plan')
120
+ return value.complete === false;
121
+ if (value.operation === 'apply')
122
+ return value.status !== 'completed';
123
+ if (value.operation === 'verify')
124
+ return value.verified === false;
125
+ return false;
126
+ }
127
+ /*** Return a stable bad-request response without echoing untrusted request data. */
128
+ function sendInvalidRequest(reply) {
129
+ return reply.status(400).send({ error: 'Invalid project update request.' });
130
+ }
131
+ /*** Validate the optional APM availability mode. */
132
+ function isAvailability(value) {
133
+ return value === undefined || value === 'refresh' || value === 'offline';
134
+ }
135
+ /*** Validate the bounded request body accepted by the plan route. */
136
+ function isPlanRequest(value) {
137
+ return (isRecord(value) &&
138
+ hasOnlyKeys(value, ['availability', 'policy']) &&
139
+ isAvailability(value.availability) &&
140
+ (value.policy === undefined || isPlanPolicy(value.policy)));
141
+ }
142
+ /*** Validate the APM plan policy fields exposed by the host adapter. */
143
+ function isPlanPolicy(value) {
144
+ return (isRecord(value) &&
145
+ hasOnlyKeys(value, [
146
+ 'dependencyUpdates',
147
+ 'selections',
148
+ 'repairInstallations',
149
+ 'repairProjections',
150
+ 'maxGeneratorIterations',
151
+ ]) &&
152
+ (value.dependencyUpdates === undefined ||
153
+ value.dependencyUpdates === 'safe' ||
154
+ value.dependencyUpdates === 'selected' ||
155
+ value.dependencyUpdates === 'none') &&
156
+ (value.selections === undefined ||
157
+ (Array.isArray(value.selections) && value.selections.every(isPlanPackageSelection))) &&
158
+ (value.repairInstallations === undefined || typeof value.repairInstallations === 'boolean') &&
159
+ (value.repairProjections === undefined || typeof value.repairProjections === 'boolean') &&
160
+ (value.maxGeneratorIterations === undefined ||
161
+ (typeof value.maxGeneratorIterations === 'number' &&
162
+ Number.isInteger(value.maxGeneratorIterations) &&
163
+ value.maxGeneratorIterations > 0)));
164
+ }
165
+ /*** Validate one package selection in a host-authored APM plan request. */
166
+ function isPlanPackageSelection(value) {
167
+ if (!isRecord(value) || !hasOnlyKeys(value, ['selector', 'target']))
168
+ return false;
169
+ const { selector } = value;
170
+ if (!isRecord(selector) ||
171
+ !hasOnlyKeys(selector, ['name', 'packageId', 'installRootId', 'ownerPath'])) {
172
+ return false;
173
+ }
174
+ return (typeof selector.name === 'string' &&
175
+ selector.name.length > 0 &&
176
+ isOptionalString(selector.packageId) &&
177
+ isOptionalString(selector.installRootId) &&
178
+ isOptionalString(selector.ownerPath) &&
179
+ isPlanTargetSelection(value.target));
180
+ }
181
+ /*** Validate one compatible/latest/exact APM target selection. */
182
+ function isPlanTargetSelection(value) {
183
+ if (!isRecord(value) || typeof value.kind !== 'string')
184
+ return false;
185
+ if (value.kind === 'compatible')
186
+ return hasOnlyKeys(value, ['kind']);
187
+ if (value.kind === 'latest') {
188
+ return (hasOnlyKeys(value, ['kind', 'allowPrerelease', 'manifestRange']) &&
189
+ isOptionalBoolean(value.allowPrerelease) &&
190
+ isOptionalString(value.manifestRange));
191
+ }
192
+ if (value.kind === 'version') {
193
+ return (hasOnlyKeys(value, [
194
+ 'kind',
195
+ 'version',
196
+ 'allowPrerelease',
197
+ 'allowDowngrade',
198
+ 'manifestRange',
199
+ ]) &&
200
+ typeof value.version === 'string' &&
201
+ value.version.length > 0 &&
202
+ isOptionalBoolean(value.allowPrerelease) &&
203
+ isOptionalBoolean(value.allowDowngrade) &&
204
+ isOptionalString(value.manifestRange));
205
+ }
206
+ return false;
207
+ }
208
+ /*** Validate the reviewed start request without accepting a caller-controlled project root. */
209
+ function isApplyRequest(value) {
210
+ return (isRecord(value) &&
211
+ hasOnlyKeys(value, ['plan', 'permissions']) &&
212
+ isPlanResult(value.plan) &&
213
+ isApplyPermissions(value.permissions));
214
+ }
215
+ /*** Validate the durable resume request without accepting a caller-controlled project root. */
216
+ function isResumeRequest(value) {
217
+ return (isRecord(value) &&
218
+ hasOnlyKeys(value, ['operationId', 'permissions']) &&
219
+ isNonEmptyString(value.operationId) &&
220
+ isApplyPermissions(value.permissions));
221
+ }
222
+ /*** Validate the verify request's operation identity. */
223
+ function isOperationRequest(value) {
224
+ if (!isRecord(value))
225
+ return false;
226
+ return hasOnlyKeys(value, ['operationId']) && isNonEmptyString(value.operationId);
227
+ }
228
+ /*** Validate explicit APM execution permissions. */
229
+ function isApplyPermissions(value) {
230
+ return (isRecord(value) &&
231
+ hasOnlyKeys(value, ['ownerCode', 'lifecycleScripts', 'externalEffects']) &&
232
+ typeof value.ownerCode === 'boolean' &&
233
+ typeof value.lifecycleScripts === 'boolean' &&
234
+ typeof value.externalEffects === 'boolean');
235
+ }
236
+ /*** Validate a reviewed APM plan envelope before passing it back to the executor for revalidation. */
237
+ function isPlanResult(value) {
238
+ return (isRecord(value) &&
239
+ value.schemaVersion === 2 &&
240
+ value.operation === 'plan' &&
241
+ isNonEmptyString(value.id) &&
242
+ isNonEmptyString(value.rootPath) &&
243
+ typeof value.complete === 'boolean' &&
244
+ isRecord(value.policy) &&
245
+ isRecord(value.executor) &&
246
+ isRecord(value.inputFingerprint) &&
247
+ Array.isArray(value.targets) &&
248
+ Array.isArray(value.files) &&
249
+ Array.isArray(value.packages) &&
250
+ Array.isArray(value.artifacts) &&
251
+ Array.isArray(value.steps) &&
252
+ Array.isArray(value.effects) &&
253
+ Array.isArray(value.findings) &&
254
+ Array.isArray(value.blockers) &&
255
+ Array.isArray(value.diagnostics));
256
+ }
257
+ /*** Validate an optional string field. */
258
+ function isOptionalString(value) {
259
+ return value === undefined || typeof value === 'string';
260
+ }
261
+ /*** Validate an optional boolean field. */
262
+ function isOptionalBoolean(value) {
263
+ return value === undefined || typeof value === 'boolean';
264
+ }
265
+ /*** Validate a required non-empty string. */
266
+ function isNonEmptyString(value) {
267
+ return typeof value === 'string' && value.length > 0;
268
+ }
269
+ //# sourceMappingURL=registerProjectUpdateRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerProjectUpdateRoutes.js","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/inbound/registerProjectUpdateRoutes.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,16 @@
1
1
  import type { FastifyInstance } from 'fastify';
2
+ import { createStudioProjectUpdateService } from '../../features/project-updates/composition/createStudioProjectUpdateService';
2
3
  import { ModuleManager } from '../orchestrator/moduleManager';
3
4
  import { ProjectManager } from '../orchestrator/projectManager';
4
5
  /***
5
- * Compose the Fastify Studio host by applying security middleware and registering project, template, infrastructure, runtime, media and module HTTP endpoints.
6
+ * Compose the Fastify Studio host by applying security middleware and registering project, template, infrastructure, runtime, project-update, media and module HTTP endpoints.
6
7
  * @todo Split the remaining inline project/template/infrastructure endpoints into domain-owned HTTP route adapters so this server remains composition/bootstrap only and can satisfy canonical function-size lint rules without local overrides.
7
8
  */
8
9
  export declare function createStudioHostServer(args: {
9
10
  projectManager: ProjectManager;
10
11
  orchestrator: ModuleManager;
11
12
  projectRoot: string;
13
+ projectUpdateService?: ReturnType<typeof createStudioProjectUpdateService>;
12
14
  fastifyInstance?: FastifyInstance;
13
15
  }): Promise<FastifyInstance<import("fastify").RawServerDefault, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault>>;
14
16
  export interface StartStudioHostServerOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/host/http/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAK7E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAgChE;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,aAAa,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,kPA4NA;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,uHAAuH;AACvH,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,MAAM,GAAG,4BAAiC,kPAY9F"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/host/http/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAK7E,OAAO,EAAE,gCAAgC,EAAE,MAAM,6EAA6E,CAAC;AAG/H,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAiChE;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,aAAa,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC;IAC3E,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,kPAuOA;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,uHAAuH;AACvH,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,MAAM,GAAG,4BAAiC,kPAY9F"}
@@ -1,9 +1,13 @@
1
1
  import cors from '@fastify/cors';
2
2
  import Fastify from 'fastify';
3
3
  import { isAppCategory, isAppManifest } from '../../contractGuards';
4
+ import { registerProjectUpdateRoutes } from '../../features/project-updates/adapters/inbound/registerProjectUpdateRoutes';
5
+ import { createStudioProjectUpdateService } from '../../features/project-updates/composition/createStudioProjectUpdateService';
4
6
  import { ProjectCreationValidationError } from '../../projectIdentity';
7
+ import { createStudioPendingModuleLifecyclePort } from '../orchestrator/createStudioPendingModuleLifecyclePort';
5
8
  import { ModuleManager } from '../orchestrator/moduleManager';
6
9
  import { ProjectManager } from '../orchestrator/projectManager';
10
+ import { getProjectPath } from '../orchestrator/projectPaths';
7
11
  import { upProjectInfrastructure } from '../orchestrator/studioInfraUp';
8
12
  import { getProjectTemplateSource, getTemplateCatalog, } from '../templates';
9
13
  import { resolveWorkspaceRoot } from '../utils/workspaceRoot';
@@ -25,12 +29,14 @@ function resolveProjectTemplateSelection(body) {
25
29
  };
26
30
  }
27
31
  /***
28
- * Compose the Fastify Studio host by applying security middleware and registering project, template, infrastructure, runtime, media and module HTTP endpoints.
32
+ * Compose the Fastify Studio host by applying security middleware and registering project, template, infrastructure, runtime, project-update, media and module HTTP endpoints.
29
33
  * @todo Split the remaining inline project/template/infrastructure endpoints into domain-owned HTTP route adapters so this server remains composition/bootstrap only and can satisfy canonical function-size lint rules without local overrides.
30
34
  */
31
35
  export async function createStudioHostServer(args) {
32
36
  const { projectManager, orchestrator, projectRoot } = args;
33
37
  const fastify = args.fastifyInstance ?? Fastify({ logger: true });
38
+ const projectUpdateService = args.projectUpdateService ??
39
+ createStudioProjectUpdateService({}, createStudioPendingModuleLifecyclePort());
34
40
  await fastify.register(cors, {
35
41
  origin: (origin, cb) => {
36
42
  if (isOriginAllowed(origin)) {
@@ -45,6 +51,15 @@ export async function createStudioHostServer(args) {
45
51
  });
46
52
  registerProjectMediaRoutes(fastify, { projectManager, workspaceRoot: projectRoot });
47
53
  registerProjectRuntimeRoutes(fastify, { projectManager, workspaceRoot: projectRoot });
54
+ registerProjectUpdateRoutes(fastify, {
55
+ service: projectUpdateService,
56
+ resolveProjectRootAsync: async (projectId) => {
57
+ const projects = await projectManager.listProjects();
58
+ if (!projects.some((project) => project.id === projectId))
59
+ return undefined;
60
+ return getProjectPath(projectRoot, projectId);
61
+ },
62
+ });
48
63
  // --- PROJECT ROUTES ---
49
64
  fastify.get('/api/projects', () => projectManager.listProjects());
50
65
  fastify.get('/api/templates', () => getTemplateCatalog());
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/host/http/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/host/http/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/studio",
3
- "version": "2.7.1",
3
+ "version": "2.7.2",
4
4
  "description": "Studio authoring package for Ankhorage apps",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/ankhorage/studio#readme",