Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
060e49f
Add artifacts and artifact_versions tables with org RLS policies
isiddharthsingh Jun 4, 2026
b959c0e
Add shared artifact store helper for title-based upsert and versioning
isiddharthsingh Jun 4, 2026
c8b75f9
Add artifact REST CRUD, version history, and restore routes
isiddharthsingh Jun 4, 2026
78d84d1
Add artifacts RBAC read and write policies
isiddharthsingh Jun 4, 2026
6620494
Add artifact list/read/write agent tools to the cloud toolbelt
isiddharthsingh Jun 4, 2026
7cd69d7
Expose artifact list/read/write as MCP dispatch tools
isiddharthsingh Jun 4, 2026
af298da
Add artifacts client service and Next.js proxy routes
isiddharthsingh Jun 4, 2026
1b6b8a7
Add Artifacts tab with master/detail view, edit, and version history …
isiddharthsingh Jun 4, 2026
34957d3
Add expandable per-version content dropdown to artifact history and c…
isiddharthsingh Jun 5, 2026
3339ed3
Fix SonarQube findings: readonly props, extract version-content compo…
isiddharthsingh Jun 5, 2026
5523ecb
Harden artifacts: surface fetch errors, drop userId from client, ligh…
isiddharthsingh Jun 5, 2026
833e5e5
Address PR review: drop dead listArtifacts, make getVersions throw li…
isiddharthsingh Jun 6, 2026
f595da8
Steer write_artifact to honor a user-maintained False Positives/Suppr…
isiddharthsingh Jun 7, 2026
32ab7ff
Auto-maintain a living artifact on every Action run, deferring when t…
isiddharthsingh Jun 8, 2026
ca6439e
Address PR bots: collapse auto-artifact bullets to single literals, b…
isiddharthsingh Jun 8, 2026
b417d49
Drop flaky substring gate: always inject artifact-maintenance prompt,…
isiddharthsingh Jun 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions client/src/app/api/artifacts/[id]/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { NextRequest } from 'next/server';
import { forwardRequest } from '@/lib/backend-proxy';

export async function GET(
request: NextRequest,
{ params }: { params: Promise<{ id: string }> },
) {
const { id } = await params;
return forwardRequest(request, 'GET', `/api/artifacts/${id}`, 'Failed to fetch artifact');
}

export async function PATCH(
request: NextRequest,
{ params }: { params: Promise<{ id: string }> },
) {
const { id } = await params;
return forwardRequest(request, 'PATCH', `/api/artifacts/${id}`, 'Failed to update artifact');
}

export async function DELETE(
request: NextRequest,
{ params }: { params: Promise<{ id: string }> },
) {
const { id } = await params;
return forwardRequest(request, 'DELETE', `/api/artifacts/${id}`, 'Failed to delete artifact');
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { NextRequest } from 'next/server';
import { forwardRequest } from '@/lib/backend-proxy';

export async function POST(
request: NextRequest,
{ params }: { params: Promise<{ id: string; versionId: string }> },
) {
const { id, versionId } = await params;
return forwardRequest(
request,
'POST',
`/api/artifacts/${id}/versions/${versionId}/restore`,
'Failed to restore artifact version',
);
}
15 changes: 15 additions & 0 deletions client/src/app/api/artifacts/[id]/versions/[versionId]/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { NextRequest } from 'next/server';
import { forwardRequest } from '@/lib/backend-proxy';

export async function GET(
request: NextRequest,
{ params }: { params: Promise<{ id: string; versionId: string }> },
) {
const { id, versionId } = await params;
return forwardRequest(
request,
'GET',
`/api/artifacts/${id}/versions/${versionId}`,
'Failed to fetch artifact version',
);
}
10 changes: 10 additions & 0 deletions client/src/app/api/artifacts/[id]/versions/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { NextRequest } from 'next/server';
import { forwardRequest } from '@/lib/backend-proxy';

export async function GET(
request: NextRequest,
{ params }: { params: Promise<{ id: string }> },
) {
const { id } = await params;
return forwardRequest(request, 'GET', `/api/artifacts/${id}/versions`, 'Failed to fetch artifact versions');
}
13 changes: 13 additions & 0 deletions client/src/app/api/artifacts/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { NextRequest } from 'next/server';
import { forwardRequest } from '@/lib/backend-proxy';

// GET /api/artifacts → list summaries
// GET /api/artifacts?title=... → single artifact by exact title
export async function GET(request: NextRequest) {
return forwardRequest(request, 'GET', '/api/artifacts', 'Failed to fetch artifacts');
}

// POST /api/artifacts → create (or replace by title)
export async function POST(request: NextRequest) {
return forwardRequest(request, 'POST', '/api/artifacts', 'Failed to create artifact');
}
Loading
Loading