FRE-4529: Strip ShieldAI configs from FrenoCorp

Removed root-level ShieldAI config files left behind after Phase A1:
- check-identity.js, docker-compose.yml, Dockerfile, drizzle.config.ts
- package-lock.json, tsconfig.base.json, vite.config.ts, vitest.config.ts
- turbo.json

Rewrote package.json and tsconfig.json for FrenoCorp identity.
Only agents/, analysis/, memory/, plans/ remain.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-05-02 11:22:11 -04:00
parent d6b9d96c39
commit fd98536a27
11 changed files with 5 additions and 13642 deletions

View File

@@ -1,38 +0,0 @@
# Build stage
FROM node:18-alpine AS builder
WORKDIR /app
# Copy package files
COPY package*.json ./
COPY apps/ ./apps/
COPY packages/ ./packages/
# Install dependencies
RUN npm ci
# Build all packages
RUN npm run build
# Production stage
FROM node:18-alpine AS production
WORKDIR /app
# Copy package files
COPY package*.json ./
COPY apps/ ./apps/
COPY packages/ ./packages/
# Copy built artifacts from builder
COPY --from=builder /app/apps/web/dist ./apps/web/dist
COPY --from=builder /app/apps/api/dist ./apps/api/dist
# Install production dependencies only
RUN npm ci --production
# Expose port
EXPOSE 3000
# Start the API server
CMD ["node", "apps/api/dist/index.js"]

View File

@@ -1,50 +0,0 @@
const http = require('http');
const agentId = process.env.PAPERCLIP_AGENT_ID;
const apiKey = process.env.PAPERCLIP_API_KEY;
const apiUrl = process.env.PAPERCLIP_API_URL;
const runId = process.env.PAPERCLIP_RUN_ID;
console.log('Agent ID:', agentId);
console.log('API URL:', apiUrl);
console.log('Run ID:', runId);
if (!apiKey || !apiUrl) {
console.error('Missing environment variables');
process.exit(1);
}
async function fetchJson(url, options = {}) {
const request = http.request({
hostname: new URL(url).hostname,
port: new URL(url).port,
path: new URL(url).pathname,
method: options.method || 'GET',
headers: {
'Authorization': `Bearer ${apiKey}`,
'X-Paperclip-Run-Id': runId,
...options.headers
}
}, (response) => {
let data = '';
response.on('data', chunk => data += chunk);
response.on('end', () => {
try {
console.log(JSON.stringify(JSON.parse(data), null, 2));
} catch (e) {
console.log(data);
}
});
});
request.on('error', console.error);
request.end();
}
console.log('\n=== FETCHING AGENT IDENTITY ===\n');
fetchJson(`${apiUrl}/api/agents/me`).catch(console.error);
console.log('\n=== FETCHING INBOX-LITE ===\n');
fetchJson(`${apiUrl}/api/agents/me/inbox-lite`).catch(console.error);
console.log('\n=== FETCHING ALL ASSIGNED ISSUES ===\n');
fetchJson(`${apiUrl}/api/companies/${apiKey.split('-')[0] || 'unknown'}/issues?assigneeAgentId=${agentId}&status=todo,in_progress,blocked`).catch(console.error);

View File

@@ -1,53 +0,0 @@
version: '3.8'
services:
postgres:
image: postgres:15-alpine
container_name: shieldsai_postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: shieldsai_dev
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: shieldsai_redis
ports:
- "6379:6379"
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 5s
retries: 5
mailhog:
image: mailhog/mailhog:latest
container_name: shieldsai_mailhog
ports:
- "1025:1025" # SMTP
- "8025:8025" # Web UI
depends_on:
- postgres
adminer:
image: adminer:4
container_name: shieldsai_adminer
ports:
- "8080:8080"
depends_on:
- postgres
volumes:
postgres_data:
redis_data:

View File

@@ -1,11 +0,0 @@
import { defineConfig } from "drizzle-kit";
export default defineConfig({
schema: "./src/db/schema/index.ts",
out: "./src/db/migrations",
dialect: "turso",
dbCredentials: {
url: process.env.TURSO_DATABASE_URL!,
authToken: process.env.TURSO_AUTH_TOKEN!,
},
});

13303
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -2,76 +2,9 @@
"name": "frenocorp",
"version": "0.1.0",
"private": true,
"description": "FrenoCorp agent orchestration platform",
"type": "module",
"packageManager": "npm@10.9.0",
"workspaces": [
"apps/*",
"packages/*"
],
"scripts": {
"dev": "turbo run dev",
"build": "turbo run build",
"test": "turbo run test",
"lint": "turbo run lint",
"dev:web": "turbo run dev --filter=web",
"dev:api": "turbo run dev --filter=api",
"build:web": "turbo run build --filter=web",
"build:api": "turbo run build --filter=api",
"db:generate": "turbo run db:generate --filter=shared-db",
"db:push": "turbo run db:push --filter=shared-db",
"db:migrate": "turbo run db:migrate --filter=shared-db"
},
"dependencies": {
"@clerk/backend": "^3.4.1",
"@clerk/clerk-js": "^6.7.5",
"@libsql/client": "^0.17.3",
"@solidjs/router": "^0.16.1",
"@tanstack/react-query": "^5.100.1",
"@tanstack/solid-query": "^5.100.1",
"@trpc/client": "^11.16.0",
"@trpc/react-query": "^11.16.0",
"@trpc/server": "^11.16.0",
"@types/node": "^25.6.0",
"@types/peerjs": "^0.0.30",
"drizzle-kit": "^0.31.10",
"drizzle-orm": "^0.45.2",
"peerjs": "^1.5.5",
"resend": "^6.12.2",
"solid-js": "^1.8.14",
"ws": "^8.16.0",
"y-websocket": "^1.5.0",
"yjs": "^13.6.12",
"zod": "^4.3.6"
},
"devDependencies": {
"@tauri-apps/cli": "^2.1.0",
"@types/better-sqlite3": "^7.6.13",
"@types/ws": "^8.5.10",
"@typescript-eslint/eslint-plugin": "^7.0.2",
"@typescript-eslint/parser": "^7.0.2",
"better-sqlite3": "^12.9.0",
"chromium": "^3.0.3",
"eslint": "^8.56.0",
"eslint-plugin-solid": "^0.13.2",
"puppeteer-core": "^24.42.0",
"tsx": "^4.7.1",
"turbo": "^2.9.6",
"typescript": "^5.3.3",
"vite": "^5.1.4",
"vite-plugin-solid": "^2.8.2",
"vitest": "^1.3.1"
},
"engines": {
"node": ">=18.0.0"
},
"keywords": [
"yjs",
"crdt",
"websocket",
"collaboration",
"solidjs",
"tauri"
],
"license": "MIT"
"test": "echo 'No tests configured'",
"lint": "echo 'No linter configured'"
}
}

View File

@@ -1,18 +0,0 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
"lib": ["ES2022", "DOM", "DOM.Iterable"],
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "preserve",
"jsxImportSource": "solid-js",
"types": ["node"]
}
}

View File

@@ -3,25 +3,13 @@
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
"lib": ["ES2022", "DOM", "DOM.Iterable"],
"jsx": "preserve",
"jsxImportSource": "solid-js",
"strict": true,
"noEmit": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noUncheckedIndexedAccess": true,
"baseUrl": ".",
"paths": {
"@lib/*": ["src/lib/*"],
"@components/*": ["src/components/*"],
"@types": ["src/types/index.ts"]
},
"types": ["vite-plugin-solid"]
"noEmit": true
},
"include": ["agents/**/*"],
"exclude": ["node_modules", "dist"]
"include": []
}

View File

@@ -1,31 +0,0 @@
{
"$schema": "https://turbo.build/schema.json",
"globalDependencies": ["**/.env.*local"],
"globalEnv": ["NODE_ENV", "DATABASE_URL", "REDIS_URL"],
"tasks": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", ".next/**", "!.next/cache/**"]
},
"dev": {
"cache": false,
"persistent": true
},
"test": {
"dependsOn": ["^build"],
"outputs": ["coverage/**"]
},
"lint": {
"outputs": []
},
"db:generate": {
"cache": false
},
"db:push": {
"cache": false
},
"db:migrate": {
"cache": false
}
}
}

View File

@@ -1,33 +0,0 @@
import { defineConfig } from 'vite';
import solid from 'vite-plugin-solid';
import { resolve } from 'path';
export default defineConfig({
plugins: [solid()],
resolve: {
alias: {
'@agents': resolve(__dirname, './agents'),
'@analysis': resolve(__dirname, './analysis'),
'@plans': resolve(__dirname, './plans'),
},
},
build: {
target: 'esnext',
outDir: 'dist',
sourcemap: true,
rollupOptions: {
input: {
main: resolve(__dirname, 'index.html'),
},
},
},
server: {
port: 3000,
proxy: {
'/sync': {
target: 'ws://localhost:8080',
ws: true,
},
},
},
});

View File

@@ -1,21 +0,0 @@
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
globals: true,
environment: 'node',
deps: {
interopDefault: true,
},
env: {
HIYA_API_KEY: 'test-api-key',
HIYA_API_URL: 'https://api.hiya.com/v1',
},
},
optimizeDeps: {
include: ['ws'],
},
ssr: {
noExternal: ['ws'],
},
});