@agent-foundry/studio 1.0.0 → 1.0.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.
Files changed (44) hide show
  1. package/README.md +180 -47
  2. package/dist/bff/client.d.ts +168 -0
  3. package/dist/bff/client.d.ts.map +1 -0
  4. package/dist/bff/client.js +288 -0
  5. package/dist/bff/client.js.map +1 -0
  6. package/dist/bff/index.d.ts +27 -0
  7. package/dist/bff/index.d.ts.map +1 -0
  8. package/dist/bff/index.js +26 -0
  9. package/dist/bff/index.js.map +1 -0
  10. package/dist/bff/types.d.ts +168 -0
  11. package/dist/bff/types.d.ts.map +1 -0
  12. package/dist/bff/types.js +8 -0
  13. package/dist/bff/types.js.map +1 -0
  14. package/dist/db/deployments.d.ts +67 -1
  15. package/dist/db/deployments.d.ts.map +1 -1
  16. package/dist/db/deployments.js +92 -1
  17. package/dist/db/deployments.js.map +1 -1
  18. package/dist/db/index.d.ts +17 -0
  19. package/dist/db/index.d.ts.map +1 -1
  20. package/dist/db/index.js +17 -0
  21. package/dist/db/index.js.map +1 -1
  22. package/dist/db/projects.d.ts +54 -1
  23. package/dist/db/projects.d.ts.map +1 -1
  24. package/dist/db/projects.js +79 -1
  25. package/dist/db/projects.js.map +1 -1
  26. package/dist/index.d.ts +14 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +16 -2
  29. package/dist/index.js.map +1 -1
  30. package/dist/types/deployment.d.ts +56 -0
  31. package/dist/types/deployment.d.ts.map +1 -1
  32. package/dist/types/project.d.ts +6 -0
  33. package/dist/types/project.d.ts.map +1 -1
  34. package/package.json +14 -4
  35. package/src/bff/client.ts +412 -0
  36. package/src/bff/index.ts +32 -0
  37. package/src/bff/types.ts +212 -0
  38. package/src/db/deployments.ts +99 -1
  39. package/src/db/index.ts +17 -0
  40. package/src/db/projects.ts +86 -1
  41. package/src/db/schema.sql +35 -52
  42. package/src/index.ts +18 -2
  43. package/src/types/deployment.ts +75 -0
  44. package/src/types/project.ts +7 -0
@@ -1,7 +1,38 @@
1
1
  /**
2
2
  * Deployments Repository
3
3
  *
4
- * CRUD operations for studio_deployments table.
4
+ * Provides access to studio_deployments table via Supabase client.
5
+ *
6
+ * ## Important: Hybrid Access Pattern
7
+ *
8
+ * Due to RLS (Row Level Security) restrictions, this repository should
9
+ * primarily be used for **read operations only**.
10
+ *
11
+ * **For write operations, use the BFF client or DirectUploader:**
12
+ *
13
+ * ```typescript
14
+ * import { DirectUploader } from '@agent-foundry/studio/oss';
15
+ *
16
+ * // DirectUploader handles the complete deployment workflow via BFF
17
+ * const uploader = new DirectUploader({
18
+ * bffBaseUrl: 'http://localhost:11001',
19
+ * authToken: 'your-jwt-token',
20
+ * });
21
+ *
22
+ * const result = await uploader.upload({
23
+ * projectId: 'project-uuid',
24
+ * files: distFiles,
25
+ * });
26
+ * ```
27
+ *
28
+ * Or use the BFF client directly:
29
+ *
30
+ * ```typescript
31
+ * import { createBFFClient } from '@agent-foundry/studio/bff';
32
+ *
33
+ * const bff = createBFFClient({ ... });
34
+ * const deployment = await bff.deployments.start({ projectId: '...' });
35
+ * ```
5
36
  */
6
37
  /**
7
38
  * Convert database row to Deployment
@@ -16,6 +47,7 @@ function rowToDeployment(row) {
16
47
  ossBucket: row.oss_bucket ?? undefined,
17
48
  ossKey: row.oss_key ?? undefined,
18
49
  ossUrl: row.oss_url ?? undefined,
50
+ artifactId: row.artifact_id ?? undefined,
19
51
  bundleSizeBytes: row.bundle_size_bytes ?? undefined,
20
52
  buildLog: row.build_log ?? undefined,
21
53
  errorMessage: row.error_message ?? undefined,
@@ -46,6 +78,12 @@ export class DeploymentsRepository {
46
78
  }
47
79
  /**
48
80
  * Create a new deployment
81
+ *
82
+ * @deprecated Use `DirectUploader.upload()` or `createBFFClient().deployments.start()` instead.
83
+ *
84
+ * This method may fail with RLS errors. The recommended workflow is:
85
+ * 1. Use DirectUploader which handles the complete deployment lifecycle
86
+ * 2. Or use BFF client's deployments.start() to get STS credentials
49
87
  */
50
88
  async create(input) {
51
89
  const { data: { user } } = await this.supabase.auth.getUser();
@@ -119,6 +157,10 @@ export class DeploymentsRepository {
119
157
  }
120
158
  /**
121
159
  * Update a deployment
160
+ *
161
+ * @deprecated Use `createBFFClient().deployments.updateStatus()` instead.
162
+ *
163
+ * This method may fail with RLS errors. Use BFF client for write operations.
122
164
  */
123
165
  async update(id, input) {
124
166
  const updateData = {};
@@ -167,18 +209,24 @@ export class DeploymentsRepository {
167
209
  }
168
210
  /**
169
211
  * Mark deployment as building
212
+ *
213
+ * @deprecated Use `createBFFClient().deployments.updateStatus()` instead.
170
214
  */
171
215
  async markBuilding(id) {
172
216
  return this.update(id, { status: 'building' });
173
217
  }
174
218
  /**
175
219
  * Mark deployment as uploading
220
+ *
221
+ * @deprecated Use `createBFFClient().deployments.updateStatus()` instead.
176
222
  */
177
223
  async markUploading(id) {
178
224
  return this.update(id, { status: 'uploading' });
179
225
  }
180
226
  /**
181
227
  * Mark deployment as published
228
+ *
229
+ * @deprecated Use `createBFFClient().deployments.complete()` instead.
182
230
  */
183
231
  async markPublished(id, ossInfo) {
184
232
  return this.update(id, {
@@ -192,6 +240,8 @@ export class DeploymentsRepository {
192
240
  }
193
241
  /**
194
242
  * Mark deployment as failed
243
+ *
244
+ * @deprecated Use `createBFFClient().deployments.fail()` instead.
195
245
  */
196
246
  async markFailed(id, errorMessage, buildLog) {
197
247
  return this.update(id, {
@@ -222,6 +272,9 @@ export class DeploymentsRepository {
222
272
  }
223
273
  /**
224
274
  * Delete a deployment
275
+ *
276
+ * @deprecated Deployment deletion should be handled server-side.
277
+ * This method may fail with RLS errors.
225
278
  */
226
279
  async delete(id) {
227
280
  const { error } = await this.supabase
@@ -234,6 +287,9 @@ export class DeploymentsRepository {
234
287
  }
235
288
  /**
236
289
  * Append to build log
290
+ *
291
+ * @deprecated Use `createBFFClient().deployments.updateStatus()` with buildLog field.
292
+ * This method may fail with RLS errors.
237
293
  */
238
294
  async appendBuildLog(id, logLine) {
239
295
  const existing = await this.getById(id);
@@ -245,5 +301,40 @@ export class DeploymentsRepository {
245
301
  : logLine;
246
302
  await this.update(id, { buildLog: newLog });
247
303
  }
304
+ /**
305
+ * Link deployment to an artifact (called after publishing to Feed)
306
+ *
307
+ * @deprecated This is handled automatically by BFF's publish workflow.
308
+ * Use `createBFFClient().projects.publish()` instead.
309
+ */
310
+ async linkToArtifact(id, artifactId) {
311
+ const { data, error } = await this.supabase
312
+ .from(this.TABLE)
313
+ .update({ artifact_id: artifactId })
314
+ .eq('id', id)
315
+ .select()
316
+ .single();
317
+ if (error) {
318
+ throw new Error(`Failed to link deployment to artifact: ${error.message}`);
319
+ }
320
+ return rowToDeployment(data);
321
+ }
322
+ /**
323
+ * Get deployment by artifact ID
324
+ */
325
+ async getByArtifactId(artifactId) {
326
+ const { data, error } = await this.supabase
327
+ .from(this.TABLE)
328
+ .select()
329
+ .eq('artifact_id', artifactId)
330
+ .single();
331
+ if (error) {
332
+ if (error.code === 'PGRST116') {
333
+ return null; // Not found
334
+ }
335
+ throw new Error(`Failed to get deployment: ${error.message}`);
336
+ }
337
+ return rowToDeployment(data);
338
+ }
248
339
  }
249
340
  //# sourceMappingURL=deployments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../src/db/deployments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../src/db/deployments.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,22 @@
1
1
  /**
2
2
  * Database module - Supabase client for Studio
3
+ *
4
+ * ## Important: Read-Only Usage Recommended
5
+ *
6
+ * Due to RLS (Row Level Security), this module should primarily be used
7
+ * for **read operations only**. For write operations, use the BFF client:
8
+ *
9
+ * ```typescript
10
+ * // Read operations - use this module
11
+ * import { createStudioClient } from '@agent-foundry/studio/db';
12
+ * const db = createStudioClient({ supabaseUrl: '...', supabaseKey: '...' });
13
+ * const projects = await db.projects.list();
14
+ *
15
+ * // Write operations - use BFF client
16
+ * import { createBFFClient } from '@agent-foundry/studio/bff';
17
+ * const bff = createBFFClient({ baseUrl: '...', authToken: '...' });
18
+ * const project = await bff.projects.create({ ... });
19
+ * ```
3
20
  */
4
21
  export { createStudioClient, type StudioClientConfig } from './client';
5
22
  export { ProjectsRepository } from './projects';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
package/dist/db/index.js CHANGED
@@ -1,5 +1,22 @@
1
1
  /**
2
2
  * Database module - Supabase client for Studio
3
+ *
4
+ * ## Important: Read-Only Usage Recommended
5
+ *
6
+ * Due to RLS (Row Level Security), this module should primarily be used
7
+ * for **read operations only**. For write operations, use the BFF client:
8
+ *
9
+ * ```typescript
10
+ * // Read operations - use this module
11
+ * import { createStudioClient } from '@agent-foundry/studio/db';
12
+ * const db = createStudioClient({ supabaseUrl: '...', supabaseKey: '...' });
13
+ * const projects = await db.projects.list();
14
+ *
15
+ * // Write operations - use BFF client
16
+ * import { createBFFClient } from '@agent-foundry/studio/bff';
17
+ * const bff = createBFFClient({ baseUrl: '...', authToken: '...' });
18
+ * const project = await bff.projects.create({ ... });
19
+ * ```
3
20
  */
4
21
  export { createStudioClient } from './client';
5
22
  export { ProjectsRepository } from './projects';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAA2B,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,kBAAkB,EAA2B,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,7 +1,29 @@
1
1
  /**
2
2
  * Projects Repository
3
3
  *
4
- * CRUD operations for studio_projects table.
4
+ * Provides access to studio_projects table via Supabase client.
5
+ *
6
+ * ## Important: Hybrid Access Pattern
7
+ *
8
+ * Due to RLS (Row Level Security) restrictions, this repository should
9
+ * primarily be used for **read operations only**.
10
+ *
11
+ * **For write operations (create, update, delete, fork), use the BFF client:**
12
+ *
13
+ * ```typescript
14
+ * import { createBFFClient } from '@agent-foundry/studio/bff';
15
+ *
16
+ * const bff = createBFFClient({
17
+ * baseUrl: 'http://localhost:11001',
18
+ * authToken: 'your-jwt-token',
19
+ * });
20
+ *
21
+ * // Create project via BFF (recommended)
22
+ * const project = await bff.projects.create({ ... });
23
+ * ```
24
+ *
25
+ * The BFF uses service_role credentials which bypass RLS, ensuring
26
+ * consistent and secure write operations.
5
27
  */
6
28
  import { SupabaseClient } from '@supabase/supabase-js';
7
29
  import type { StudioProject, CreateProjectInput, UpdateProjectInput, ProjectListFilters } from '../types/project';
@@ -14,6 +36,11 @@ export declare class ProjectsRepository {
14
36
  constructor(supabase: SupabaseClient);
15
37
  /**
16
38
  * Create a new project
39
+ *
40
+ * @deprecated Use BFF client instead: `createBFFClient().projects.create()`
41
+ *
42
+ * This method may fail with RLS errors when using anon key.
43
+ * The BFF client uses service_role credentials which bypass RLS.
17
44
  */
18
45
  create(input: CreateProjectInput): Promise<StudioProject>;
19
46
  /**
@@ -30,19 +57,45 @@ export declare class ProjectsRepository {
30
57
  list(filters?: ProjectListFilters): Promise<StudioProject[]>;
31
58
  /**
32
59
  * Update a project
60
+ *
61
+ * @deprecated Use BFF client instead: `createBFFClient().projects.update()`
62
+ *
63
+ * This method may fail with RLS errors when using anon key.
64
+ * The BFF client uses service_role credentials which bypass RLS.
33
65
  */
34
66
  update(id: string, input: UpdateProjectInput): Promise<StudioProject>;
35
67
  /**
36
68
  * Delete a project
69
+ *
70
+ * @deprecated Use BFF client instead: `createBFFClient().projects.delete()`
71
+ *
72
+ * This method may fail with RLS errors when using anon key.
73
+ * The BFF client uses service_role credentials which bypass RLS.
37
74
  */
38
75
  delete(id: string): Promise<void>;
39
76
  /**
40
77
  * Fork a project (create a copy)
78
+ *
79
+ * @deprecated Use BFF client instead: `createBFFClient().projects.fork()`
80
+ *
81
+ * This method may fail with RLS errors when using anon key.
82
+ * The BFF client uses service_role credentials which bypass RLS.
41
83
  */
42
84
  fork(id: string, newSlug: string, newRootPath: string): Promise<StudioProject>;
43
85
  /**
44
86
  * Check if a slug is available for current user
45
87
  */
46
88
  isSlugAvailable(slug: string): Promise<boolean>;
89
+ /**
90
+ * Link project to a registered app (called after publishing to Feed)
91
+ *
92
+ * @deprecated This is handled automatically by BFF's publish workflow.
93
+ * Use `createBFFClient().projects.publish()` instead.
94
+ */
95
+ linkToApp(id: string, appId: string): Promise<StudioProject>;
96
+ /**
97
+ * Get project by app ID
98
+ */
99
+ getByAppId(appId: string): Promise<StudioProject | null>;
47
100
  }
48
101
  //# sourceMappingURL=projects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/db/projects.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAsC1B;;GAEG;AACH,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;gBAEd,QAAQ,EAAE,cAAc;IAErD;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IA4B/D;;OAEG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAiBxD;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAiB5D;;OAEG;IACG,IAAI,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAoCtE;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAgC3E;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvC;;OAEG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBpF;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAItD"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/db/projects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAwC1B;;GAEG;AACH,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;gBAEd,QAAQ,EAAE,cAAc;IAErD;;;;;;;OAOG;IACG,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IA4B/D;;OAEG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAiBxD;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAiB5D;;OAEG;IACG,IAAI,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAoCtE;;;;;;;OAOG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAgC3E;;;;;;;OAOG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvC;;;;;;;OAOG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBpF;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrD;;;;;OAKG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAelE;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAgB/D"}
@@ -1,7 +1,29 @@
1
1
  /**
2
2
  * Projects Repository
3
3
  *
4
- * CRUD operations for studio_projects table.
4
+ * Provides access to studio_projects table via Supabase client.
5
+ *
6
+ * ## Important: Hybrid Access Pattern
7
+ *
8
+ * Due to RLS (Row Level Security) restrictions, this repository should
9
+ * primarily be used for **read operations only**.
10
+ *
11
+ * **For write operations (create, update, delete, fork), use the BFF client:**
12
+ *
13
+ * ```typescript
14
+ * import { createBFFClient } from '@agent-foundry/studio/bff';
15
+ *
16
+ * const bff = createBFFClient({
17
+ * baseUrl: 'http://localhost:11001',
18
+ * authToken: 'your-jwt-token',
19
+ * });
20
+ *
21
+ * // Create project via BFF (recommended)
22
+ * const project = await bff.projects.create({ ... });
23
+ * ```
24
+ *
25
+ * The BFF uses service_role credentials which bypass RLS, ensuring
26
+ * consistent and secure write operations.
5
27
  */
6
28
  /**
7
29
  * Convert database row to StudioProject
@@ -13,6 +35,7 @@ function rowToProject(row) {
13
35
  name: row.name,
14
36
  slug: row.slug,
15
37
  description: row.description ?? undefined,
38
+ appId: row.app_id ?? undefined,
16
39
  rootPath: row.root_path,
17
40
  framework: row.framework,
18
41
  config: row.config,
@@ -31,6 +54,11 @@ export class ProjectsRepository {
31
54
  }
32
55
  /**
33
56
  * Create a new project
57
+ *
58
+ * @deprecated Use BFF client instead: `createBFFClient().projects.create()`
59
+ *
60
+ * This method may fail with RLS errors when using anon key.
61
+ * The BFF client uses service_role credentials which bypass RLS.
34
62
  */
35
63
  async create(input) {
36
64
  const { data: { user } } = await this.supabase.auth.getUser();
@@ -123,6 +151,11 @@ export class ProjectsRepository {
123
151
  }
124
152
  /**
125
153
  * Update a project
154
+ *
155
+ * @deprecated Use BFF client instead: `createBFFClient().projects.update()`
156
+ *
157
+ * This method may fail with RLS errors when using anon key.
158
+ * The BFF client uses service_role credentials which bypass RLS.
126
159
  */
127
160
  async update(id, input) {
128
161
  const updateData = {};
@@ -153,6 +186,11 @@ export class ProjectsRepository {
153
186
  }
154
187
  /**
155
188
  * Delete a project
189
+ *
190
+ * @deprecated Use BFF client instead: `createBFFClient().projects.delete()`
191
+ *
192
+ * This method may fail with RLS errors when using anon key.
193
+ * The BFF client uses service_role credentials which bypass RLS.
156
194
  */
157
195
  async delete(id) {
158
196
  const { error } = await this.supabase
@@ -165,6 +203,11 @@ export class ProjectsRepository {
165
203
  }
166
204
  /**
167
205
  * Fork a project (create a copy)
206
+ *
207
+ * @deprecated Use BFF client instead: `createBFFClient().projects.fork()`
208
+ *
209
+ * This method may fail with RLS errors when using anon key.
210
+ * The BFF client uses service_role credentials which bypass RLS.
168
211
  */
169
212
  async fork(id, newSlug, newRootPath) {
170
213
  const original = await this.getById(id);
@@ -188,5 +231,40 @@ export class ProjectsRepository {
188
231
  const existing = await this.getBySlug(slug);
189
232
  return existing === null;
190
233
  }
234
+ /**
235
+ * Link project to a registered app (called after publishing to Feed)
236
+ *
237
+ * @deprecated This is handled automatically by BFF's publish workflow.
238
+ * Use `createBFFClient().projects.publish()` instead.
239
+ */
240
+ async linkToApp(id, appId) {
241
+ const { data, error } = await this.supabase
242
+ .from(this.TABLE)
243
+ .update({ app_id: appId })
244
+ .eq('id', id)
245
+ .select()
246
+ .single();
247
+ if (error) {
248
+ throw new Error(`Failed to link project to app: ${error.message}`);
249
+ }
250
+ return rowToProject(data);
251
+ }
252
+ /**
253
+ * Get project by app ID
254
+ */
255
+ async getByAppId(appId) {
256
+ const { data, error } = await this.supabase
257
+ .from(this.TABLE)
258
+ .select()
259
+ .eq('app_id', appId)
260
+ .single();
261
+ if (error) {
262
+ if (error.code === 'PGRST116') {
263
+ return null; // Not found
264
+ }
265
+ throw new Error(`Failed to get project: ${error.message}`);
266
+ }
267
+ return rowToProject(data);
268
+ }
191
269
  }
192
270
  //# sourceMappingURL=projects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/db/projects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/db/projects.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,10 +2,23 @@
2
2
  * @agent-foundry/studio
3
3
  *
4
4
  * Full SDK for Agent Foundry Build Studio.
5
- * Provides types, Alibaba Cloud OSS upload utilities, and Supabase database client.
5
+ * Provides types, Alibaba Cloud OSS upload utilities, BFF API client, and Supabase database client.
6
+ *
7
+ * ## Recommended Usage Pattern (Hybrid Approach)
8
+ *
9
+ * - **Write operations**: Use BFF client (`@agent-foundry/studio/bff`)
10
+ * - **Read operations**: Use Supabase client (`@agent-foundry/studio/db`)
11
+ * - **File uploads**: Use DirectUploader (`@agent-foundry/studio/oss`)
12
+ *
13
+ * This pattern ensures:
14
+ * - Security: Write operations go through BFF with service_role (bypasses RLS)
15
+ * - Performance: Read operations use direct Supabase connection
16
+ * - Consistency: All writes are validated server-side
6
17
  */
7
18
  export * from './types';
8
19
  export * from './oss';
20
+ export { createBFFClient, BFFAPIError } from './bff';
21
+ export type { BFFClient, BFFClientConfig } from './bff';
9
22
  export * from './db';
10
23
  export * from './utils';
11
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,OAAO,CAAC;AAGtB,cAAc,MAAM,CAAC;AAGrB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,OAAO,CAAC;AAItB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAGxD,cAAc,MAAM,CAAC;AAGrB,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -2,13 +2,27 @@
2
2
  * @agent-foundry/studio
3
3
  *
4
4
  * Full SDK for Agent Foundry Build Studio.
5
- * Provides types, Alibaba Cloud OSS upload utilities, and Supabase database client.
5
+ * Provides types, Alibaba Cloud OSS upload utilities, BFF API client, and Supabase database client.
6
+ *
7
+ * ## Recommended Usage Pattern (Hybrid Approach)
8
+ *
9
+ * - **Write operations**: Use BFF client (`@agent-foundry/studio/bff`)
10
+ * - **Read operations**: Use Supabase client (`@agent-foundry/studio/db`)
11
+ * - **File uploads**: Use DirectUploader (`@agent-foundry/studio/oss`)
12
+ *
13
+ * This pattern ensures:
14
+ * - Security: Write operations go through BFF with service_role (bypasses RLS)
15
+ * - Performance: Read operations use direct Supabase connection
16
+ * - Consistency: All writes are validated server-side
6
17
  */
7
18
  // Re-export all types
8
19
  export * from './types';
9
20
  // Re-export OSS utilities
10
21
  export * from './oss';
11
- // Re-export database client
22
+ // Re-export BFF API client (recommended for write operations)
23
+ // Note: Use '@agent-foundry/studio/bff' for full BFF types
24
+ export { createBFFClient, BFFAPIError } from './bff';
25
+ // Re-export database client (recommended for read operations only)
12
26
  export * from './db';
13
27
  // Re-export utilities
14
28
  export * from './utils';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sBAAsB;AACtB,cAAc,SAAS,CAAC;AAExB,0BAA0B;AAC1B,cAAc,OAAO,CAAC;AAEtB,4BAA4B;AAC5B,cAAc,MAAM,CAAC;AAErB,sBAAsB;AACtB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,sBAAsB;AACtB,cAAc,SAAS,CAAC;AAExB,0BAA0B;AAC1B,cAAc,OAAO,CAAC;AAEtB,8DAA8D;AAC9D,2DAA2D;AAC3D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGrD,mEAAmE;AACnE,cAAc,MAAM,CAAC;AAErB,sBAAsB;AACtB,cAAc,SAAS,CAAC"}
@@ -46,6 +46,11 @@ export interface Deployment {
46
46
  ossKey?: string;
47
47
  /** Public access URL for the deployed app */
48
48
  ossUrl?: string;
49
+ /**
50
+ * Artifact ID created when publishing to Feed.
51
+ * Set when user publishes deployment to AF ecosystem.
52
+ */
53
+ artifactId?: string;
49
54
  /** Total bundle size in bytes */
50
55
  bundleSizeBytes?: number;
51
56
  /** Build output log */
@@ -75,6 +80,7 @@ export interface UpdateDeploymentInput {
75
80
  ossBucket?: string;
76
81
  ossKey?: string;
77
82
  ossUrl?: string;
83
+ artifactId?: string;
78
84
  bundleSizeBytes?: number;
79
85
  buildLog?: string;
80
86
  errorMessage?: string;
@@ -109,4 +115,54 @@ export interface DeploymentProgress {
109
115
  message?: string;
110
116
  timestamp: string;
111
117
  }
118
+ /**
119
+ * App manifest for publishing to Feed
120
+ */
121
+ export interface AppManifest {
122
+ /** App name */
123
+ name: string;
124
+ /** App version */
125
+ version: string;
126
+ /** Entry point path (default: "/index.html") */
127
+ entry?: string;
128
+ /** Minimum shell version required */
129
+ minShellVersion?: string;
130
+ /** App capabilities */
131
+ capabilities?: {
132
+ bridge?: string[];
133
+ network?: string[];
134
+ storage?: string[];
135
+ };
136
+ /** App permissions */
137
+ permissions?: Array<{
138
+ name: string;
139
+ reason: string;
140
+ }>;
141
+ }
142
+ /**
143
+ * Input for publishing a project to Feed
144
+ */
145
+ export interface PublishInput {
146
+ /** Specific deployment ID to publish (defaults to latest) */
147
+ deploymentId?: string;
148
+ /** App manifest override */
149
+ manifest?: AppManifest;
150
+ /** App status in registry */
151
+ status?: 'canary' | 'stable';
152
+ }
153
+ /**
154
+ * Result of publishing to Feed
155
+ */
156
+ export interface PublishResult {
157
+ /** Registered app ID */
158
+ appId: string;
159
+ /** Created artifact ID */
160
+ artifactId: string;
161
+ /** Deployment that was published */
162
+ deploymentId: string;
163
+ /** Share URL for the app */
164
+ shareUrl: string;
165
+ /** Direct entry URL (OSS) */
166
+ entryUrl: string;
167
+ }
112
168
  //# sourceMappingURL=deployment.d.ts.map