github TypeScript analyzed 3ab836e

dcostenco/prism-coder

github

Persistent session memory for AI coding agents — local-first, with on-device inference, associative recall, and drift detection. Works with Claude Code, Cursor, and Codex.

maintainer
dcostenco
licence
Apache-2.0
first seen
2026-06-01
last seen
2026-09-15
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http · sse counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 3ab836e · analyzer v33 · 18h ago

skills & prompt files 4

danger signals9

code evidence vv20-apache · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 445

filesystem 112

  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/__tests__/publish-manifest.test.mjs :16 import { readFileSync } from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/__tests__/tools.test.mjs :13 import { mkdtempSync, writeFileSync, mkdirSync, symlinkSync, rmSync, unlinkSync } from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/check-lockfile-drift.mjs :48 import { readFileSync, writeFileSync } from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/check-no-private-content.mjs :45 import { mkdtempSync, writeFileSync, rmSync } from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/check-publish-clean.mjs :4 import { readdirSync, readFileSync, realpathSync } from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/knowledge-ingest/ingest.mjs :11 import { readFileSync, readdirSync, existsSync } from "fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/lint-dashboard-es5.cjs :22 const fs = require('fs');
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/local-capability-bench.mjs :28 import * as fs from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/local-file-survey.mjs :38 import * as fs from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/local-screenshot-triage.mjs :35 import * as fs from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/mcp-host-parity-check.mjs :26 import * as fs from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/migrate-local-to-portal.mjs :16 import { readFileSync } from 'fs';
show 28 more
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/no-raw-inference.mjs :32 import { readFileSync } from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/prepush-public-guard.mjs :30 import { existsSync, readFileSync } from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/prism-agent.mjs :24 import { readFileSync, writeFileSync, readdirSync, realpathSync } from "node:fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/scripts/prism-infer-live-test.mjs :25 import * as fs from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/agentManifestSync.ts :25 import { link, lstat, mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
  • fs dcostenco-prism-coder-3ab836e/src/autoUpdate.ts :21 import { mkdirSync, openSync, closeSync, writeFileSync, readFileSync, rmSync, existsSync } from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/browserCli.ts :2 import { existsSync } from 'node:fs';
  • fs dcostenco-prism-coder-3ab836e/src/cli.ts :5 import { readFileSync } from 'node:fs';
  • fs dcostenco-prism-coder-3ab836e/src/config.ts :1 import { readFileSync } from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/connect.ts :17 } from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/crypto/deviceKeys.ts :22 import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/darkfactory/runner.ts :30 import fs from 'fs';
  • fs dcostenco-prism-coder-3ab836e/src/dashboard/server.ts :23 import * as fs from "fs";
  • fs dcostenco-prism-coder-3ab836e/src/hivemindWatchdog.ts :33 import * as fs from "fs";
  • fs dcostenco-prism-coder-3ab836e/src/lifecycle.ts :9 import * as fs from "fs";
  • fs dcostenco-prism-coder-3ab836e/src/promptRouteHostHook.ts :39 import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/scholar/webScholar.ts :12 import { existsSync, mkdirSync, readFileSync, renameSync, statSync, unlinkSync, writeFileSync } from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/selfUpdate.ts :21 import { realpathSync } from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/skillManifestSync.ts :2 import { constants as fsConstants } from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/storage/configStorage.ts :4 import { existsSync } from "fs";
  • fs dcostenco-prism-coder-3ab836e/src/storage/inferMetricsLedger.ts :22 import { existsSync, mkdirSync } from "fs";
  • fs dcostenco-prism-coder-3ab836e/src/storage/panelMetricsSpool.ts :12 import { createReadStream, promises as fs } from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/storage/sqlite.ts :20 import * as fs from "fs";
  • fs dcostenco-prism-coder-3ab836e/src/sync/handoffSync.ts :26 import { existsSync, readFileSync, writeFileSync } from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/sync/sqliteSync.ts :29 import * as fs from "fs";
  • fs (weak) dcostenco-prism-coder-3ab836e/src/tools/__tests__/ledgerHandlers.test.ts :25 import * as fs from "node:fs";
  • fs dcostenco-prism-coder-3ab836e/src/tools/graphHandlers.ts :66 import { readFile, writeFile, mkdir } from "node:fs/promises";
  • fs dcostenco-prism-coder-3ab836e/src/tools/hygieneHandlers.ts :62 import { readFile, writeFile, mkdir } from "node:fs/promises";

72 more not shown — this panel samples each group; the count above is the real total.

shell / exec 39

  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/check-lockfile-drift.mjs :47 import { spawnSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/check-no-private-content.mjs :44 import { spawnSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/check-publish-clean.mjs :3 import { execFileSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/lint-dashboard-es5.cjs :105 const { execFileSync } = require('child_process');
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/local-capability-bench.mjs :31 import { execFileSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/local-file-survey.mjs :39 import { execFileSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/local-screenshot-triage.mjs :37 import { execFileSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/mcp-host-parity-check.mjs :24 import { spawn } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/no-raw-inference.mjs :31 import { execSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/prepush-public-guard.mjs :29 import { execFileSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/prism-agent.mjs :27 import { execSync, execFileSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/prism-infer-live-test.mjs :22 import { spawn, spawnSync } from "node:child_process";
show 27 more
  • shell (weak) dcostenco-prism-coder-3ab836e/scripts/test-gemini-host.mjs :26 import { spawn } from "child_process";
  • shell dcostenco-prism-coder-3ab836e/smithery-bridge.mjs :8 import { spawn } from 'node:child_process';
  • shell dcostenco-prism-coder-3ab836e/src/autoUpdate.ts :20 import { execFileSync } from "node:child_process";
  • shell dcostenco-prism-coder-3ab836e/src/browserCli.ts :1 import { spawn, spawnSync } from 'node:child_process';
  • shell dcostenco-prism-coder-3ab836e/src/cli.ts :4 import { spawnSync } from 'node:child_process';
  • shell dcostenco-prism-coder-3ab836e/src/lifecycle.ts :12 import { execFileSync } from "child_process";
  • shell dcostenco-prism-coder-3ab836e/src/modelConvergeRunner.ts :25 import { spawn } from "node:child_process";
  • shell dcostenco-prism-coder-3ab836e/src/selfUpdate.ts :20 import { execFileSync } from "node:child_process";
  • shell dcostenco-prism-coder-3ab836e/src/updateNotice.ts :16 * short-lived server processes spawn (codex exec starts one per run).
  • shell dcostenco-prism-coder-3ab836e/src/utils/availableMemory.ts :19 import { execSync } from "child_process";
  • shell dcostenco-prism-coder-3ab836e/src/utils/codingQualityPolicy.ts :1 import { spawnSync } from "node:child_process";
  • shell dcostenco-prism-coder-3ab836e/src/utils/git.ts :16 * - Uses child_process.execSync (not async) — these are fast Git
  • shell dcostenco-prism-coder-3ab836e/src/utils/imageDownscale.ts :67 import { execFile } from "node:child_process";
  • shell dcostenco-prism-coder-3ab836e/src/verification/runner.ts :534 const { execFileSync } = await import("child_process");
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/browser-cli.test.ts :7 import { spawn, spawnSync } from 'node:child_process';
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/integration/e2e-daily-workflow.test.ts :15 import { execFile } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/intent-classification.test.ts :1183 ['<tool_call>exec("rm -rf /")</tool_call>', 'exec("rm -rf /")'],
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/postinstall.test.ts :16 import { spawn } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/privateContentGuard.test.ts :1 import { execFileSync, spawnSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/prompt-route-host-hook.test.ts :13 import { execFileSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/publish-clean-guard.test.ts :1 import { execFileSync, spawnSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/scripts-sync-skills.test.ts :1 import { execFileSync, spawnSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/shell-run-no-shell.test.ts :5 * scripts/prism-agent.mjs called execSync(trimmed) — a shell invocation on a
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/tools/cli-connect.test.ts :22 import { spawn, spawnSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/tools/prismInferCodingGate.test.ts :9 import { spawnSync } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/utils/imageDownscale.test.ts :3 import { execFile } from "node:child_process";
  • shell (weak) dcostenco-prism-coder-3ab836e/tests/verification/cli-integration.test.ts :2 import { exec as execCb } from 'child_process';

network 56

  • net (weak) dcostenco-prism-coder-3ab836e/scripts/knowledge-ingest/ingest.mjs :32 const res = await fetch(`${BASE_URL}/api/v1/auth/jwt`, {
  • net (weak) dcostenco-prism-coder-3ab836e/scripts/local-capability-bench.mjs :142 const res = await fetch(`${OLLAMA}/api/chat`, {
  • net (weak) dcostenco-prism-coder-3ab836e/scripts/local-file-survey.mjs :71 const res = await fetch(`${OLLAMA}/api/chat`, {
  • net (weak) dcostenco-prism-coder-3ab836e/scripts/local-screenshot-triage.mjs :116 const res = await fetch(`${OLLAMA}/api/chat`, {
  • net (weak) dcostenco-prism-coder-3ab836e/scripts/migrate-local-to-portal.mjs :48 const res = await fetch(`${PORTAL_URL}/api/v1/auth/jwt`, {
  • net (weak) dcostenco-prism-coder-3ab836e/scripts/no-raw-inference.mjs :121 // are not treated as line-comment starts. Without this, fetch("http://...")
  • net (weak) dcostenco-prism-coder-3ab836e/scripts/preflight-n1-audit-gate.mjs :47 const res = await fetch(JWT_URL, {
  • net (weak) dcostenco-prism-coder-3ab836e/scripts/prism-agent.mjs :153 url: { type: "string", description: "Full URL to fetch (http or https)" },
  • net (weak) dcostenco-prism-coder-3ab836e/scripts/test-gemini-host.mjs :105 const res = await fetch(GEMINI_URL, {
  • net dcostenco-prism-coder-3ab836e/smithery-bridge.mjs :7 import http from 'node:http';
  • net dcostenco-prism-coder-3ab836e/src/cli.ts :1322 const res = await fetch(`${base}/api/v1/prism/sync/devices`, {
  • net dcostenco-prism-coder-3ab836e/src/dashboard/authUtils.ts :6 import type * as http from "http";
show 28 more
  • net dcostenco-prism-coder-3ab836e/src/dashboard/graphRouter.ts :18 import type * as http from "http";
  • net dcostenco-prism-coder-3ab836e/src/dashboard/server.ts :20 import * as http from "http";
  • net dcostenco-prism-coder-3ab836e/src/dashboard/ui.ts :1823 fetch(url)
  • net dcostenco-prism-coder-3ab836e/src/dashboard/webhookRouter.ts :20 import type { IncomingMessage, ServerResponse } from "http";
  • net dcostenco-prism-coder-3ab836e/src/modelConvergeRunner.ts :61 const res = await fetch(`${OLLAMA_URL}/api/tags`, { signal: AbortSignal.timeout(5_000) });
  • net dcostenco-prism-coder-3ab836e/src/scholar/freeSearch.ts :6 import http from 'node:http';
  • net dcostenco-prism-coder-3ab836e/src/scholar/webScholar.ts :333 const searchResp = await fetch(searchUrl, { signal: AbortSignal.timeout(15_000) });
  • net dcostenco-prism-coder-3ab836e/src/scm/client.ts :48 const res = await fetch(url, { ...options, headers: { ...headers, ...options?.headers }, signal: AbortSignal.timeout(15_000) });
  • net dcostenco-prism-coder-3ab836e/src/scm/githubSync.ts :107 const response = await fetch(url, { ...options, signal: AbortSignal.timeout(15_000) });
  • net dcostenco-prism-coder-3ab836e/src/storage/synalux.ts :159 res = await fetch(url, {
  • net (weak) dcostenco-prism-coder-3ab836e/src/tools/__tests__/ingestHandler.test.ts :389 const content = "function api() { fetch('/users'); }\n".repeat(20);
  • net dcostenco-prism-coder-3ab836e/src/tools/behavioralVerifierHandler.ts :78 const res = await fetch(url, {
  • net dcostenco-prism-coder-3ab836e/src/tools/ledgerHandlers.ts :4 import * as http from "node:http";
  • net dcostenco-prism-coder-3ab836e/src/tools/prismInferHandler.ts :588 const res = await fetch(`${url}/api/tags`, {
  • net dcostenco-prism-coder-3ab836e/src/tools/skillRouting.ts :217 const doFetch = () => fetch(`${synaluxBase()}/api/v1/prism/resolve`, {
  • net dcostenco-prism-coder-3ab836e/src/tools/skillScopeHandlers.ts :157 const response = await fetch(`${auth.baseUrl}${API_PATH}${query}`, {
  • net dcostenco-prism-coder-3ab836e/src/utils/autoCapture.ts :50 const response = await fetch(`http://localhost:${port}`, {
  • net dcostenco-prism-coder-3ab836e/src/utils/braveApi.ts :141 const response = await fetch(url, {
  • net dcostenco-prism-coder-3ab836e/src/utils/ddLogger.ts :45 await fetch(`${SYNALUX_BASE}/api/v1/telemetry`, {
  • net dcostenco-prism-coder-3ab836e/src/utils/entitlements.ts :147 const res = await fetch(url, {
  • net dcostenco-prism-coder-3ab836e/src/utils/googleSearchApi.ts :30 const response = await fetch(url.toString(), {
  • net dcostenco-prism-coder-3ab836e/src/utils/llm/adapters/voyage.ts :36 const response = await fetch(API_URL, {
  • net dcostenco-prism-coder-3ab836e/src/utils/localLlm.ts :166 const res = await fetch(url, {
  • net dcostenco-prism-coder-3ab836e/src/utils/notifier.ts :16 import { Agent } from "undici";
  • net dcostenco-prism-coder-3ab836e/src/utils/supabaseApi.ts :54 const response = await fetch(reqUrl.toString(), {
  • net dcostenco-prism-coder-3ab836e/src/utils/synaluxJwt.ts :72 const res = await fetch(url, {
  • net dcostenco-prism-coder-3ab836e/src/utils/synaluxSearch.ts :96 return fetch(url, {
  • net dcostenco-prism-coder-3ab836e/src/verification/runner.ts :523 const res = await fetch(a.target, { redirect: "error" });

16 more not shown — this panel samples each group; the count above is the real total.

secrets 41

  • secrets (weak) dcostenco-prism-coder-3ab836e/scripts/knowledge-ingest/ingest.mjs :22 if (process.env.SYNALUX_API_KEY) return process.env.SYNALUX_API_KEY;
  • secrets (weak) dcostenco-prism-coder-3ab836e/scripts/migrate-local-to-portal.mjs :26 const API_KEY = process.env.PRISM_SYNALUX_API_KEY;
  • secrets (weak) dcostenco-prism-coder-3ab836e/scripts/preflight-n1-audit-gate.mjs :28 const USER_A_SK = process.env.USER_A_SK_TOKEN;
  • secrets (weak) dcostenco-prism-coder-3ab836e/scripts/test-gemini-host.mjs :33 const GEMINI_API_KEY = process.env.GEMINI_API_KEY;
  • secrets dcostenco-prism-coder-3ab836e/smithery-bridge.mjs :13 const HTTP_TOKEN = process.env.PRISM_MCP_HTTP_TOKEN || '';
  • secrets dcostenco-prism-coder-3ab836e/src/cli.ts :174 const apiKey = process.env.PRISM_SYNALUX_API_KEY?.trim() ||
  • secrets dcostenco-prism-coder-3ab836e/src/config.ts :61 export const BRAVE_API_KEY = process.env.BRAVE_API_KEY;
  • secrets dcostenco-prism-coder-3ab836e/src/dashboard/server.ts :128 pinnedToken: process.env.PRISM_DASHBOARD_TOKEN,
  • secrets dcostenco-prism-coder-3ab836e/src/dashboard/webhookRouter.ts :25 const WEBHOOK_SECRET = process.env.GITHUB_WEBHOOK_SECRET || "";
  • secrets dcostenco-prism-coder-3ab836e/src/scm/client.ts :30 this.apiKey = apiKey || process.env.SYNALUX_API_KEY;
  • secrets dcostenco-prism-coder-3ab836e/src/skillManifestSync.ts :910 const key = process.env.PRISM_SYNALUX_API_KEY?.trim() || (await getSetting("PRISM_SYNALUX_API_KEY", "")).trim();
  • secrets dcostenco-prism-coder-3ab836e/src/storage/index.ts :76 const envKey = process.env.PRISM_SYNALUX_API_KEY?.trim();
show 28 more
  • secrets dcostenco-prism-coder-3ab836e/src/storage/synalux.ts :116 const key = process.env.PRISM_SYNALUX_API_KEY || PRISM_SYNALUX_API_KEY;
  • secrets dcostenco-prism-coder-3ab836e/src/sync/factory.ts :18 const key = process.env.SUPABASE_KEY || process.env.SUPABASE_ANON_KEY || await getSetting("SUPABASE_KEY");
  • secrets dcostenco-prism-coder-3ab836e/src/tools/skillRouting.ts :194 const staticToken = process.env.PRISM_SKILLS_TOKEN || '';
  • secrets dcostenco-prism-coder-3ab836e/src/utils/ddLogger.ts :12 const TELEMETRY_WRITE_TOKEN = process.env.TELEMETRY_WRITE_TOKEN || "";
  • secrets dcostenco-prism-coder-3ab836e/src/utils/entitlements.ts :133 const apiKey = process.env.PRISM_SYNALUX_API_KEY?.trim();
  • secrets dcostenco-prism-coder-3ab836e/src/utils/llm/adapters/anthropic.ts :61 const apiKey = getSettingSync("anthropic_api_key", process.env.ANTHROPIC_API_KEY ?? "");
  • secrets dcostenco-prism-coder-3ab836e/src/utils/llm/adapters/openai.ts :74 const apiKey = getSettingSync("openai_api_key", process.env.OPENAI_API_KEY ?? "");
  • secrets dcostenco-prism-coder-3ab836e/src/utils/llm/adapters/voyage.ts :16 const key = getSettingSync("voyage_api_key", process.env.VOYAGE_API_KEY ?? "");
  • secrets dcostenco-prism-coder-3ab836e/src/utils/supabaseApi.ts :40 const key = process.env.SUPABASE_KEY;
  • secrets dcostenco-prism-coder-3ab836e/src/utils/synaluxJwt.ts :57 const apiKey = process.env.PRISM_SYNALUX_API_KEY?.trim() || PRISM_SYNALUX_API_KEY;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/ddLogger.test.ts :64 process.env.TELEMETRY_WRITE_TOKEN = "test-write-token";
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/entitlementsSource.test.ts :90 process.env.PRISM_SYNALUX_API_KEY = "synalux_sk_runtime";
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/integration/storageRoundTrip.test.ts :65 process.env.ANTHROPIC_API_KEY = "test-key";
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/scm/scm-integration.test.ts :330 process.env.SYNALUX_API_KEY = 'env-key-123';
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/setup.ts :31 delete process.env.PRISM_SYNALUX_API_KEY;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/skill-manifest-sync.test.ts :85 delete process.env.PRISM_SKILLS_TOKEN;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/skill-routing.test.ts :675 const ORIGINAL_TOKEN = process.env.PRISM_SKILLS_TOKEN;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/storage-resolver.test.ts :138 expect(process.env.PRISM_SYNALUX_API_KEY).toBe("test-api-key");
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/storage/synalux-forget.test.ts :31 process.env.PRISM_SYNALUX_API_KEY = REFRESH_TOKEN;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/storage/synalux-handoff.test.ts :24 process.env.PRISM_SYNALUX_API_KEY = REFRESH_TOKEN;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/storage/synalux-load-context.test.ts :24 process.env.PRISM_SYNALUX_API_KEY = REFRESH_TOKEN;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/storage/synalux-portal-contract.test.ts :122 const API_KEY = process.env.PRISM_SYNALUX_API_KEY ?? "";
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/storage/synalux-projects-export.test.ts :36 process.env.PRISM_SYNALUX_API_KEY = REFRESH_TOKEN;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/storage/synalux-search.test.ts :30 process.env.PRISM_SYNALUX_API_KEY = REFRESH_TOKEN;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/synaluxJwtRuntime.test.ts :17 delete process.env.PRISM_SYNALUX_API_KEY;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/test_knowledge_system.js :151 const SUPABASE_KEY = process.env.SUPABASE_KEY;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/test_semantic_search.js :56 const GOOGLE_API_KEY = process.env.GOOGLE_API_KEY;
  • secrets (weak) dcostenco-prism-coder-3ab836e/tests/tools/cli-bootstrap.test.ts :73 const ORIGINAL_SYNALUX_API_KEY = process.env.PRISM_SYNALUX_API_KEY;

1 more not shown — this panel samples each group; the count above is the real total.

install hooks 2

  • prepublishOnly dcostenco-prism-coder-3ab836e/package.json :25 node scripts/check-no-private-content.mjs && node scripts/check-publish-clean.mjs && npm run build
  • postinstall (suspicious) dcostenco-prism-coder-3ab836e/package.json :37 node -e "import('./dist/postinstall.js').catch(()=>{})"

declared dependencies 36

  • @modelcontextprotocol/sdk@^1.27.1
  • @anthropic-ai/sdk@^0.92.0
  • @google/generative-ai@^0.24.1
  • @libsql/client@^0.17.2
  • @mozilla/readability@^0.6.0
  • @opentelemetry/api@^1.9.1
  • @opentelemetry/core@^2.8.0
  • @opentelemetry/exporter-trace-otlp-http@^0.219.0
  • @opentelemetry/resources@^2.8.0
  • @opentelemetry/sdk-trace-node@^2.8.0
  • @opentelemetry/semantic-conventions@^1.40.0
  • @supabase/supabase-js@^2.99.3
show 24 more
  • cheerio@^1.2.0
  • commander@^14.0.3
  • fflate@^0.8.2
  • jose@^6.2.2
  • jsdom@^29.0.1
  • openai@^6.32.0
  • p-limit@^7.3.0
  • postcss@8.5.23
  • quickjs-emscripten@^0.32.0
  • smol-toml@^1.7.1
  • stream-chain@^4.2.5
  • stream-json@^3.6.0
  • tldts@^7.0.27
  • turndown@^7.2.2
  • zod@^4.3.6
  • @huggingface/transformers@3.1.0
  • @types/bun@latest
  • @types/jsdom@^28.0.1
  • @types/mozilla-readability@^0.2.1
  • @types/turndown@^5.0.6
  • dotenv@^17.4.2
  • tsx@^4.22.4
  • vitest@^4.1.1
  • typescript@^5.0.0

perm:untrusted 2

  • untrusted (weak) dcostenco-prism-coder-3ab836e/scripts/local-capability-bench.mjs :367 (await (await fetch(`${OLLAMA}/api/tags`)).json()).models.map((m) => m.name.replace(/:latest$/, ""))
  • untrusted dcostenco-prism-coder-3ab836e/src/dashboard/server.ts :1287 e.respondWith(caches.match(e.request).then((res) => res || fetch(e.request).then((fres) => {

transport_posture 1

  • binds all interfaces (0.0.0.0) dcostenco-prism-coder-3ab836e/tests/browser-cli.test.ts :825 await new Promise<void>((done) => listener!.listen(0, '0.0.0.0', () => done()));