neurain 0.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/LICENSE +57 -0
- package/README.md +205 -0
- package/SECURITY.md +22 -0
- package/bin/neurain.mjs +7 -0
- package/docs/comparison-mem0.en.md +22 -0
- package/docs/connect-claude.en.md +48 -0
- package/docs/connect-claude.kr.md +51 -0
- package/docs/connect-codex.en.md +38 -0
- package/docs/connect-codex.kr.md +40 -0
- package/docs/connect-gemini.en.md +71 -0
- package/docs/connect-gemini.kr.md +71 -0
- package/docs/connect-runtime.en.md +61 -0
- package/docs/connect-runtime.kr.md +61 -0
- package/docs/development-status.en.md +157 -0
- package/docs/development-status.kr.md +157 -0
- package/docs/knowledge-os.en.md +105 -0
- package/docs/knowledge-os.kr.md +106 -0
- package/docs/pricing.en.md +14 -0
- package/docs/privacy-and-data-flow.en.md +25 -0
- package/docs/public-saas-readiness.en.md +39 -0
- package/docs/quickstart.en.md +64 -0
- package/docs/quickstart.kr.md +64 -0
- package/docs/release-checklist.en.md +38 -0
- package/docs/safety.en.md +36 -0
- package/docs/self-improvement-90-roadmap.en.md +429 -0
- package/docs/self-improvement-90-roadmap.kr.md +429 -0
- package/docs/self-improving-workflows.en.md +163 -0
- package/docs/self-improving-workflows.kr.md +163 -0
- package/docs/support.en.md +17 -0
- package/docs/troubleshooting.en.md +35 -0
- package/package.json +36 -0
- package/src/cli.mjs +261 -0
- package/src/core/adopt.mjs +304 -0
- package/src/core/answer_eval.mjs +450 -0
- package/src/core/capabilities.mjs +217 -0
- package/src/core/capture_durable.mjs +181 -0
- package/src/core/classify.mjs +237 -0
- package/src/core/compile_desk.mjs +324 -0
- package/src/core/complete.mjs +108 -0
- package/src/core/config.mjs +142 -0
- package/src/core/connect.mjs +355 -0
- package/src/core/curator.mjs +351 -0
- package/src/core/daemon.mjs +536 -0
- package/src/core/digest.mjs +155 -0
- package/src/core/doctor.mjs +115 -0
- package/src/core/durable.mjs +96 -0
- package/src/core/envelope.mjs +97 -0
- package/src/core/flush.mjs +190 -0
- package/src/core/fs.mjs +121 -0
- package/src/core/init.mjs +194 -0
- package/src/core/journal.mjs +269 -0
- package/src/core/labels.mjs +117 -0
- package/src/core/lessons.mjs +793 -0
- package/src/core/lifecycle.mjs +1138 -0
- package/src/core/link_check.mjs +180 -0
- package/src/core/live_cases.mjs +221 -0
- package/src/core/onboard.mjs +175 -0
- package/src/core/plan_receipt.mjs +177 -0
- package/src/core/plan_writeback.mjs +176 -0
- package/src/core/queue.mjs +62 -0
- package/src/core/queue_archive.mjs +87 -0
- package/src/core/queue_model.mjs +161 -0
- package/src/core/queue_write.mjs +28 -0
- package/src/core/recall.mjs +1802 -0
- package/src/core/recall_bench.mjs +275 -0
- package/src/core/recall_corpus.mjs +152 -0
- package/src/core/recall_facts.mjs +233 -0
- package/src/core/recall_intel.mjs +233 -0
- package/src/core/recall_lexical.mjs +269 -0
- package/src/core/recap.mjs +78 -0
- package/src/core/review_queue.mjs +131 -0
- package/src/core/review_worker.mjs +284 -0
- package/src/core/route.mjs +73 -0
- package/src/core/safety.mjs +57 -0
- package/src/core/scheduler.mjs +697 -0
- package/src/core/search.mjs +54 -0
- package/src/core/secret_scan.mjs +143 -0
- package/src/core/semantic.mjs +187 -0
- package/src/core/source_digest.mjs +56 -0
- package/src/core/source_digest_gen.mjs +311 -0
- package/src/core/stage.mjs +105 -0
- package/src/core/status.mjs +175 -0
- package/src/core/vault_state.mjs +115 -0
- package/src/core/watch.mjs +282 -0
- package/src/core/wiki_log.mjs +29 -0
- package/src/core/wrap.mjs +62 -0
- package/src/mcp/server.mjs +865 -0
- package/templates/starter-vault/README.md +9 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Writeback-queue write primitives (W-B). The single place that appends to or
|
|
2
|
+
// rewrites the flat root writeback queue, always under the durable lock. Capture
|
|
3
|
+
// (B4) appends a row here; complete (B4) and queue-archive (B3) rewrite rows here.
|
|
4
|
+
// The append is LOCKED — a deliberate fix over the vault capture's unserialized
|
|
5
|
+
// appendText, while the per-row bytes stay identical so later parity holds.
|
|
6
|
+
import path from 'node:path';
|
|
7
|
+
import { appendJsonlLocked, rewriteJsonlLocked } from './durable.mjs';
|
|
8
|
+
|
|
9
|
+
function queueAbs(root, vaultCfg, queueRel) {
|
|
10
|
+
return path.join(root, queueRel || vaultCfg.writeback_queue);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Append a fully-formed queue row. The caller owns the row shape (capture builds
|
|
14
|
+
// it); this only guarantees the append is atomic against concurrent writers.
|
|
15
|
+
export function appendQueueRow(root, vaultCfg, row, { queueRel } = {}) {
|
|
16
|
+
const abs = queueAbs(root, vaultCfg, queueRel);
|
|
17
|
+
const appended = appendJsonlLocked(abs, [row]);
|
|
18
|
+
return { queue_path: path.relative(root, abs).split(path.sep).join('/'), appended };
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Read-modify-write the queue under one lock. `mutate(rows)` receives the rows as
|
|
22
|
+
// they exist at lock time and returns the next array, so a row appended between a
|
|
23
|
+
// caller's earlier read and this rewrite is never lost.
|
|
24
|
+
export function rewriteQueueLocked(root, vaultCfg, mutate, { queueRel } = {}) {
|
|
25
|
+
const abs = queueAbs(root, vaultCfg, queueRel);
|
|
26
|
+
const next = rewriteJsonlLocked(abs, mutate);
|
|
27
|
+
return { queue_path: path.relative(root, abs).split(path.sep).join('/'), rows: next.length };
|
|
28
|
+
}
|