Commit Graph

2 Commits

Author SHA1 Message Date
Shunsuke Hayashi
4d4a478758 fix(lint): resolve more ESLint errors for unused variables/imports
- Remove unused imports in test files (manager.test.ts, discord-reply.test.ts)
- Remove unused ThetaPhase import in session/types.ts
- Change unused expiresAt to _expiresAt in session/recovery.ts
- Change unused SEARCH_PROVIDERS to _SEARCH_PROVIDERS in web-search.js
- Remove unused catch parameter _error in codex-reviewer.ts
- Clean up agent-flow.test.ts and githubops.test.ts imports

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-26 13:02:09 +09:00
Shunsuke Hayashi
2931f600b4 feat(artifacts): add S3-based artifact management system
Implement artifact storage and distribution for θ-cycle outputs:

- src/artifacts/types.ts: Artifact, ArtifactMetadata interfaces
  * ArtifactType enum (file, code, report, image, log, json)
  * SaveArtifactOptions, DownloadUrlOptions, ArtifactFilter
- src/artifacts/manager.ts: S3 + DynamoDB client
  * save() / saveFile() - Upload to S3, store metadata in DynamoDB
  * getDownloadUrl() - Generate presigned URL (default: 1 hour)
  * get() - Retrieve artifact metadata
  * listBySession() / listByUser() - Query artifacts
  * deleteArtifact() / deleteBySession() - Cleanup
  * initializeTable() - DynamoDB table setup
- src/artifacts/manager.test.ts: Unit tests (skeleton)
- src/artifacts/index.ts: Module exports

Features:
- S3 storage with automatic expiration
- Presigned URLs for secure downloads
- DynamoDB metadata with TTL (default: 24 hours)
- GSI for sessionId/userId/type queries
- Session-based cleanup

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-26 06:57:01 +09:00