Operations SDK
Plugin Diagnostics
Section titled “Plugin Diagnostics”Inspect the Plugin SDK V1 registry and active prompt contributions.
listPlugins(): List registered daemon plugins.
const { plugins } = await signet.listPlugins();const secretsPlugin = plugins.find((plugin) => plugin.id === "signet.secrets");const graphiqPlugin = plugins.find((plugin) => plugin.id === "signet.graphiq");getPlugin(id): Get one plugin registry record.
const plugin = await signet.getPlugin("signet.secrets");console.log(plugin.state);getPluginDiagnostics(id): Get manifest, surface, and validation
diagnostics for one plugin.
const diagnostics = await signet.getPluginDiagnostics("signet.secrets");console.log(diagnostics.plugin.activeSurfaces.sdkClients);console.log(diagnostics.plugin.promptContributionDiagnostics);The optional GraphIQ plugin is registered as signet.graphiq. It is disabled
by default, can be enabled during setup, and contributes CLI/MCP/prompt
surfaces for generic code retrieval after signet index <path> activates a
project.
listPluginPromptContributions(): List active plugin prompt
contributions.
const { contributions } = await signet.listPluginPromptContributions();listPluginAuditEvents(opts?): List durable plugin audit events.
Sensitive fields are redacted by the daemon.
const audit = await signet.listPluginAuditEvents({ pluginId: "signet.secrets", event: "plugin.capability_denied", limit: 20,});console.log(audit.events[0]?.result);Skills Marketplace
Section titled “Skills Marketplace”Browse, install, and manage agent skills from skills.sh.
listSkills() — List installed skills.
const skills = await signet.listSkills();// skills[n].name — skill name// skills[n].version — installed version// skills[n].description — skill description// skills[n].source — installation source (local | registry)browseSkills(opts?) — Browse available skills from marketplace.
const available = await signet.browseSkills({ category: "development", limit: 20,});// available[n].name — skill name// available[n].description — skill description// available[n].author — skill author// available[n].downloads — download countsearchSkills(query) — Search for skills by keyword.
const results = await signet.searchSkills("git workflow");// results[n].name — matching skill// results[n].relevance — search scoregetSkill(name) — Get details for a specific skill.
const skill = await signet.getSkill("git-workflow");// skill.name — skill name// skill.readme — full documentation// skill.examples — usage examples// skill.dependencies — required dependenciesinstallSkill(opts) — Install a skill from marketplace or URL.
await signet.installSkill({ name: "code-review", // From registry // OR url: "https://github.com/user/custom-skill", // From git});uninstallSkill(name) — Remove an installed skill.
await signet.uninstallSkill("old-workflow");Analytics & Telemetry
Section titled “Analytics & Telemetry”Query usage analytics and performance metrics.
getTelemetryEvents(opts?) — Query telemetry events.
const events = await signet.getTelemetryEvents({ event: "llm.generate", since: "2025-01-01T00:00:00Z", limit: 100,});// events.enabled — false when telemetry is disabled// events.events — event listgetTelemetryStats(opts?) — Get aggregated telemetry stats.
const stats = await signet.getTelemetryStats({ since: "2025-01-01T00:00:00Z" });if (stats.enabled) { console.log(stats.llm.calls, stats.pipelineErrors);}exportTelemetry(opts?) — Export telemetry as NDJSON text.
const ndjson = await signet.exportTelemetry({ limit: 1000 });// ndjson — raw newline-delimited JSON stringgetUsageAnalytics() — Get usage counters.
const usage = await signet.getUsageAnalytics();// usage.memories_created — total memories created// usage.memories_recalled — recall operations performed// usage.documents_ingested — documents processed// usage.queries_total — total queries madegetErrorAnalytics() — Get recent error events.
const errors = await signet.getErrorAnalytics({ since: "2025-01-01T00:00:00Z", limit: 100,});// errors[n].timestamp — when error occurred// errors[n].operation — which operation failed// errors[n].error — error message// errors[n].stack — stack trace (if available)getLatencyAnalytics() — Get latency histograms.
const latency = await signet.getLatencyAnalytics();// latency.embedding_ms — embedding latency stats// latency.recall_ms — recall latency stats// latency.extraction_ms — extraction latency statsgetLogAnalytics() — Get structured log entries.
const logs = await signet.getLogAnalytics({ level: "warn", since: "2025-01-01T00:00:00Z", limit: 50,});// logs[n].timestamp — log timestamp// logs[n].level — log level// logs[n].message — log message// logs[n].metadata — structured metadatagetMemorySafetyAnalytics() — Get mutation diagnostics.
const safety = await signet.getMemorySafetyAnalytics();// safety.mutations_total — total mutation operations// safety.mutations_blocked — blocked mutations (frozen mode, etc.)// safety.conflicts_detected — concurrent modification conflictsgetContinuityAnalytics() — Get session continuity scores over time.
const continuity = await signet.getContinuityAnalytics({ since: "2025-01-01T00:00:00Z",});// continuity[n].timestamp — measurement time// continuity[n].project — project path// continuity[n].score — continuity score (0-1)// continuity[n].memories_injected — context sizegetLatestContinuity() — Get latest continuity score per project.
const latest = await signet.getLatestContinuity();// latest[n].project — project path// latest[n].score — latest continuity score// latest[n].timestamp — when measuredRepair & Maintenance
Section titled “Repair & Maintenance”Repair actions for broken state and maintenance operations.
requeueDeadJobs() — Requeue dead-letter jobs.
const result = await signet.requeueDeadJobs();// result.requeued — number of jobs requeued// result.failed — jobs that couldn't be requeuedreleaseStaleLeases() — Release stale job leases.
const result = await signet.releaseStaleLeases();// result.released — number of leases releasedcheckFtsConsistency() — Check/repair FTS consistency.
const result = await signet.checkFtsConsistency();// result.inconsistencies — found inconsistencies// result.repaired — whether repairs were madetriggerRetentionSweep() — Trigger retention policy sweep.
await signet.triggerRetentionSweep();// Removes memories past retention periodgetEmbeddingGaps() — Count unembedded memories.
const gaps = await signet.getEmbeddingGaps();// gaps.total — total memories without embeddings// gaps.by_type — breakdown by memory typereembedMissing() — Re-embed memories without vectors.
const result = await signet.reembedMissing({ batch_size: 100,});// result.processed — memories re-embedded// result.failed — failuresresyncVectorIndex() — Resync entire vector index.
await signet.resyncVectorIndex();// Rebuilds vector index from scratchcleanOrphanedEmbeddings() — Remove orphaned embeddings.
const result = await signet.cleanOrphanedEmbeddings();// result.removed — orphaned embeddings deletedgetDedupStats() — Get deduplication statistics.
const stats = await signet.getDedupStats();// stats.duplicates_found — duplicate groups detected// stats.space_saved — bytes saved by deduplicationdeduplicateMemories() — Deduplicate memories.
const result = await signet.deduplicateMemories({ min_similarity: 0.95, mode: "execute", // "preview" | "execute"});// result.duplicates_found — duplicates detected// result.merged — memories merged (execute mode)pruneChunkGroups() — Prune chunk_group entities.
const result = await signet.pruneChunkGroups();// result.pruned — chunk groups removedpruneSingletonEntities() — Prune singleton extracted entities.
const result = await signet.pruneSingletonEntities();// result.pruned — singleton entities removedPipeline & Diagnostics
Section titled “Pipeline & Diagnostics”Monitor pipeline status and system diagnostics.
getPipelineStatus() — Get pipeline worker status.
const status = await signet.getPipelineStatus();// status.extraction — extraction worker status// status.ingestion — document ingestion status// status.graph — knowledge graph status// status.retention — retention worker status// status.jobs_pending — pending job countgetDiagnostics(domain?) — Get health diagnostics.
const all = await signet.getDiagnostics();// all.overall_score — overall health score (0-100)// all.domains — per-domain breakdown
const embeddings = await signet.getDiagnostics("embeddings");// embeddings.score — embeddings health score// embeddings.issues — detected issues// embeddings.recommendations — repair recommendationsConfig & Identity
Section titled “Config & Identity”Read and write daemon configuration and identity files.
getConfig() — Read daemon configuration.
const config = await signet.getConfig();// config — parsed agent.yaml contentssetConfig(opts) — Write daemon configuration.
await signet.setConfig({ content: yaml.stringify(newConfig), reason: "Updated embedding model",});getIdentity() — Read identity files.
const identity = await signet.getIdentity({ files: ["AGENTS.md", "USER.md"],});// identity.AGENTS.md — file contents// identity.USER.md — file contentsEmbeddings
Section titled “Embeddings”Monitor embedding status and health.
getEmbeddingStatus() — Get embedding processing status.
const status = await signet.getEmbeddingStatus();// status.provider — "native" | "ollama" | "openai" | "none"// status.model — embedding model name// status.available — provider availability// status.base_url — provider URL// status.checkedAt — last check timestampgetEmbeddingHealth() — Get embedding health metrics.
const health = await signet.getEmbeddingHealth();// health.totalMemories — total memories// health.embeddedCount — memories with vectors// health.unembeddedCount — memories missing vectors// health.coveragePercent — embedding coveragegetEmbeddingProjection(opts) — Get UMAP projection for visualization.
const projection = await signet.getEmbeddingProjection({ dimensions: 2, // 2D or 3D});if (projection.status === "ready") { // projection.nodes[n].id — memory ID // projection.nodes[n].x, .y, .z — coordinates // projection.edges — graph edges}// projection.status may also be "computing" or "error"