@maadb/core 0.0.1 → 0.7.10-rc.3
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/LICENSE +21 -0
- package/README.md +371 -3
- package/dist/architect.d.ts +2 -0
- package/dist/architect.d.ts.map +1 -0
- package/dist/architect.js +273 -0
- package/dist/architect.js.map +1 -0
- package/dist/auth/resolve.d.ts +36 -0
- package/dist/auth/resolve.d.ts.map +1 -0
- package/dist/auth/resolve.js +77 -0
- package/dist/auth/resolve.js.map +1 -0
- package/dist/auth/token-store.d.ts +82 -0
- package/dist/auth/token-store.d.ts.map +1 -0
- package/dist/auth/token-store.js +464 -0
- package/dist/auth/token-store.js.map +1 -0
- package/dist/auth/types.d.ts +75 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +15 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/backend/adapter.d.ts +57 -0
- package/dist/backend/adapter.d.ts.map +1 -0
- package/dist/backend/adapter.js +6 -0
- package/dist/backend/adapter.js.map +1 -0
- package/dist/backend/index.d.ts +3 -0
- package/dist/backend/index.d.ts.map +1 -0
- package/dist/backend/index.js +2 -0
- package/dist/backend/index.js.map +1 -0
- package/dist/backend/sqlite/index.d.ts +63 -0
- package/dist/backend/sqlite/index.d.ts.map +1 -0
- package/dist/backend/sqlite/index.js +521 -0
- package/dist/backend/sqlite/index.js.map +1 -0
- package/dist/backend/sqlite/schema.d.ts +2 -0
- package/dist/backend/sqlite/schema.d.ts.map +1 -0
- package/dist/backend/sqlite/schema.js +88 -0
- package/dist/backend/sqlite/schema.js.map +1 -0
- package/dist/claude-md.d.ts +2 -0
- package/dist/claude-md.d.ts.map +1 -0
- package/dist/claude-md.js +97 -0
- package/dist/claude-md.js.map +1 -0
- package/dist/cli/commands/audit.d.ts +4 -0
- package/dist/cli/commands/audit.d.ts.map +1 -0
- package/dist/cli/commands/audit.js +39 -0
- package/dist/cli/commands/audit.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +8 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +242 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/discover.d.ts +5 -0
- package/dist/cli/commands/discover.d.ts.map +1 -0
- package/dist/cli/commands/discover.js +48 -0
- package/dist/cli/commands/discover.js.map +1 -0
- package/dist/cli/commands/maintain.d.ts +6 -0
- package/dist/cli/commands/maintain.d.ts.map +1 -0
- package/dist/cli/commands/maintain.js +168 -0
- package/dist/cli/commands/maintain.js.map +1 -0
- package/dist/cli/commands/read.d.ts +7 -0
- package/dist/cli/commands/read.d.ts.map +1 -0
- package/dist/cli/commands/read.js +139 -0
- package/dist/cli/commands/read.js.map +1 -0
- package/dist/cli/commands/write.d.ts +4 -0
- package/dist/cli/commands/write.d.ts.map +1 -0
- package/dist/cli/commands/write.js +99 -0
- package/dist/cli/commands/write.js.map +1 -0
- package/dist/cli/helpers.d.ts +8 -0
- package/dist/cli/helpers.d.ts.map +1 -0
- package/dist/cli/helpers.js +17 -0
- package/dist/cli/helpers.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +296 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +7 -0
- package/dist/cli.js.map +1 -0
- package/dist/engine/audit.d.ts +15 -0
- package/dist/engine/audit.d.ts.map +1 -0
- package/dist/engine/audit.js +42 -0
- package/dist/engine/audit.js.map +1 -0
- package/dist/engine/backup.d.ts +9 -0
- package/dist/engine/backup.d.ts.map +1 -0
- package/dist/engine/backup.js +100 -0
- package/dist/engine/backup.js.map +1 -0
- package/dist/engine/composites.d.ts +6 -0
- package/dist/engine/composites.d.ts.map +1 -0
- package/dist/engine/composites.js +102 -0
- package/dist/engine/composites.js.map +1 -0
- package/dist/engine/context.d.ts +47 -0
- package/dist/engine/context.d.ts.map +1 -0
- package/dist/engine/context.js +55 -0
- package/dist/engine/context.js.map +1 -0
- package/dist/engine/docid-safe.d.ts +8 -0
- package/dist/engine/docid-safe.d.ts.map +1 -0
- package/dist/engine/docid-safe.js +0 -0
- package/dist/engine/docid-safe.js.map +1 -0
- package/dist/engine/helpers.d.ts +8 -0
- package/dist/engine/helpers.d.ts.map +1 -0
- package/dist/engine/helpers.js +102 -0
- package/dist/engine/helpers.js.map +1 -0
- package/dist/engine/index.d.ts +215 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +494 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/indexing.d.ts +14 -0
- package/dist/engine/indexing.d.ts.map +1 -0
- package/dist/engine/indexing.js +225 -0
- package/dist/engine/indexing.js.map +1 -0
- package/dist/engine/journal.d.ts +32 -0
- package/dist/engine/journal.d.ts.map +1 -0
- package/dist/engine/journal.js +111 -0
- package/dist/engine/journal.js.map +1 -0
- package/dist/engine/logger.d.ts +19 -0
- package/dist/engine/logger.d.ts.map +1 -0
- package/dist/engine/logger.js +40 -0
- package/dist/engine/logger.js.map +1 -0
- package/dist/engine/maintenance.d.ts +15 -0
- package/dist/engine/maintenance.d.ts.map +1 -0
- package/dist/engine/maintenance.js +87 -0
- package/dist/engine/maintenance.js.map +1 -0
- package/dist/engine/mutex.d.ts +24 -0
- package/dist/engine/mutex.d.ts.map +1 -0
- package/dist/engine/mutex.js +50 -0
- package/dist/engine/mutex.js.map +1 -0
- package/dist/engine/pathguard.d.ts +16 -0
- package/dist/engine/pathguard.d.ts.map +1 -0
- package/dist/engine/pathguard.js +41 -0
- package/dist/engine/pathguard.js.map +1 -0
- package/dist/engine/reads.d.ts +25 -0
- package/dist/engine/reads.d.ts.map +1 -0
- package/dist/engine/reads.js +904 -0
- package/dist/engine/reads.js.map +1 -0
- package/dist/engine/types.d.ts +396 -0
- package/dist/engine/types.d.ts.map +1 -0
- package/dist/engine/types.js +5 -0
- package/dist/engine/types.js.map +1 -0
- package/dist/engine/writes.d.ts +10 -0
- package/dist/engine/writes.d.ts.map +1 -0
- package/dist/engine/writes.js +606 -0
- package/dist/engine/writes.js.map +1 -0
- package/dist/engine.d.ts +3 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +6 -0
- package/dist/engine.js.map +1 -0
- package/dist/errors.d.ts +20 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +17 -0
- package/dist/errors.js.map +1 -0
- package/dist/extractor/fields.d.ts +3 -0
- package/dist/extractor/fields.d.ts.map +1 -0
- package/dist/extractor/fields.js +58 -0
- package/dist/extractor/fields.js.map +1 -0
- package/dist/extractor/index.d.ts +7 -0
- package/dist/extractor/index.d.ts.map +1 -0
- package/dist/extractor/index.js +22 -0
- package/dist/extractor/index.js.map +1 -0
- package/dist/extractor/normalizers.d.ts +22 -0
- package/dist/extractor/normalizers.d.ts.map +1 -0
- package/dist/extractor/normalizers.js +250 -0
- package/dist/extractor/normalizers.js.map +1 -0
- package/dist/extractor/objects.d.ts +3 -0
- package/dist/extractor/objects.d.ts.map +1 -0
- package/dist/extractor/objects.js +33 -0
- package/dist/extractor/objects.js.map +1 -0
- package/dist/extractor/relationships.d.ts +3 -0
- package/dist/extractor/relationships.d.ts.map +1 -0
- package/dist/extractor/relationships.js +58 -0
- package/dist/extractor/relationships.js.map +1 -0
- package/dist/git/commit.d.ts +63 -0
- package/dist/git/commit.d.ts.map +1 -0
- package/dist/git/commit.js +161 -0
- package/dist/git/commit.js.map +1 -0
- package/dist/git/diff.d.ts +4 -0
- package/dist/git/diff.d.ts.map +1 -0
- package/dist/git/diff.js +56 -0
- package/dist/git/diff.js.map +1 -0
- package/dist/git/index.d.ts +63 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +151 -0
- package/dist/git/index.js.map +1 -0
- package/dist/git/log.d.ts +13 -0
- package/dist/git/log.d.ts.map +1 -0
- package/dist/git/log.js +116 -0
- package/dist/git/log.js.map +1 -0
- package/dist/git/snapshot.d.ts +4 -0
- package/dist/git/snapshot.d.ts.map +1 -0
- package/dist/git/snapshot.js +65 -0
- package/dist/git/snapshot.js.map +1 -0
- package/dist/instance/config.d.ts +19 -0
- package/dist/instance/config.d.ts.map +1 -0
- package/dist/instance/config.js +107 -0
- package/dist/instance/config.js.map +1 -0
- package/dist/instance/pool.d.ts +138 -0
- package/dist/instance/pool.d.ts.map +1 -0
- package/dist/instance/pool.js +335 -0
- package/dist/instance/pool.js.map +1 -0
- package/dist/instance/session.d.ts +140 -0
- package/dist/instance/session.d.ts.map +1 -0
- package/dist/instance/session.js +267 -0
- package/dist/instance/session.js.map +1 -0
- package/dist/logging.d.ts +108 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +120 -0
- package/dist/logging.js.map +1 -0
- package/dist/maad-md.d.ts +11 -0
- package/dist/maad-md.d.ts.map +1 -0
- package/dist/maad-md.js +252 -0
- package/dist/maad-md.js.map +1 -0
- package/dist/mcp/bulk-cap.d.ts +10 -0
- package/dist/mcp/bulk-cap.d.ts.map +1 -0
- package/dist/mcp/bulk-cap.js +37 -0
- package/dist/mcp/bulk-cap.js.map +1 -0
- package/dist/mcp/config.d.ts +18 -0
- package/dist/mcp/config.d.ts.map +1 -0
- package/dist/mcp/config.js +20 -0
- package/dist/mcp/config.js.map +1 -0
- package/dist/mcp/ctx.d.ts +17 -0
- package/dist/mcp/ctx.d.ts.map +1 -0
- package/dist/mcp/ctx.js +7 -0
- package/dist/mcp/ctx.js.map +1 -0
- package/dist/mcp/guardrails.d.ts +42 -0
- package/dist/mcp/guardrails.d.ts.map +1 -0
- package/dist/mcp/guardrails.js +58 -0
- package/dist/mcp/guardrails.js.map +1 -0
- package/dist/mcp/idempotency.d.ts +69 -0
- package/dist/mcp/idempotency.d.ts.map +1 -0
- package/dist/mcp/idempotency.js +168 -0
- package/dist/mcp/idempotency.js.map +1 -0
- package/dist/mcp/instance-reload.d.ts +23 -0
- package/dist/mcp/instance-reload.d.ts.map +1 -0
- package/dist/mcp/instance-reload.js +126 -0
- package/dist/mcp/instance-reload.js.map +1 -0
- package/dist/mcp/kinds.d.ts +22 -0
- package/dist/mcp/kinds.d.ts.map +1 -0
- package/dist/mcp/kinds.js +112 -0
- package/dist/mcp/kinds.js.map +1 -0
- package/dist/mcp/lifecycle.d.ts +8 -0
- package/dist/mcp/lifecycle.d.ts.map +1 -0
- package/dist/mcp/lifecycle.js +65 -0
- package/dist/mcp/lifecycle.js.map +1 -0
- package/dist/mcp/memory-pressure.d.ts +37 -0
- package/dist/mcp/memory-pressure.d.ts.map +1 -0
- package/dist/mcp/memory-pressure.js +179 -0
- package/dist/mcp/memory-pressure.js.map +1 -0
- package/dist/mcp/notifications.d.ts +87 -0
- package/dist/mcp/notifications.d.ts.map +1 -0
- package/dist/mcp/notifications.js +154 -0
- package/dist/mcp/notifications.js.map +1 -0
- package/dist/mcp/query-depth.d.ts +28 -0
- package/dist/mcp/query-depth.d.ts.map +1 -0
- package/dist/mcp/query-depth.js +43 -0
- package/dist/mcp/query-depth.js.map +1 -0
- package/dist/mcp/rate-limit.d.ts +60 -0
- package/dist/mcp/rate-limit.d.ts.map +1 -0
- package/dist/mcp/rate-limit.js +203 -0
- package/dist/mcp/rate-limit.js.map +1 -0
- package/dist/mcp/reload-signal.d.ts +13 -0
- package/dist/mcp/reload-signal.d.ts.map +1 -0
- package/dist/mcp/reload-signal.js +68 -0
- package/dist/mcp/reload-signal.js.map +1 -0
- package/dist/mcp/response.d.ts +109 -0
- package/dist/mcp/response.d.ts.map +1 -0
- package/dist/mcp/response.js +132 -0
- package/dist/mcp/response.js.map +1 -0
- package/dist/mcp/roles.d.ts +7 -0
- package/dist/mcp/roles.d.ts.map +1 -0
- package/dist/mcp/roles.js +57 -0
- package/dist/mcp/roles.js.map +1 -0
- package/dist/mcp/server.d.ts +33 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +252 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/shutdown.d.ts +32 -0
- package/dist/mcp/shutdown.d.ts.map +1 -0
- package/dist/mcp/shutdown.js +130 -0
- package/dist/mcp/shutdown.js.map +1 -0
- package/dist/mcp/tools/audit.d.ts +4 -0
- package/dist/mcp/tools/audit.d.ts.map +1 -0
- package/dist/mcp/tools/audit.js +45 -0
- package/dist/mcp/tools/audit.js.map +1 -0
- package/dist/mcp/tools/auth.d.ts +4 -0
- package/dist/mcp/tools/auth.d.ts.map +1 -0
- package/dist/mcp/tools/auth.js +181 -0
- package/dist/mcp/tools/auth.js.map +1 -0
- package/dist/mcp/tools/backup.d.ts +4 -0
- package/dist/mcp/tools/backup.d.ts.map +1 -0
- package/dist/mcp/tools/backup.js +52 -0
- package/dist/mcp/tools/backup.js.map +1 -0
- package/dist/mcp/tools/discover.d.ts +4 -0
- package/dist/mcp/tools/discover.d.ts.map +1 -0
- package/dist/mcp/tools/discover.js +83 -0
- package/dist/mcp/tools/discover.js.map +1 -0
- package/dist/mcp/tools/instance.d.ts +15 -0
- package/dist/mcp/tools/instance.d.ts.map +1 -0
- package/dist/mcp/tools/instance.js +207 -0
- package/dist/mcp/tools/instance.js.map +1 -0
- package/dist/mcp/tools/maintain.d.ts +4 -0
- package/dist/mcp/tools/maintain.d.ts.map +1 -0
- package/dist/mcp/tools/maintain.js +123 -0
- package/dist/mcp/tools/maintain.js.map +1 -0
- package/dist/mcp/tools/read.d.ts +4 -0
- package/dist/mcp/tools/read.d.ts.map +1 -0
- package/dist/mcp/tools/read.js +304 -0
- package/dist/mcp/tools/read.js.map +1 -0
- package/dist/mcp/tools/write.d.ts +4 -0
- package/dist/mcp/tools/write.d.ts.map +1 -0
- package/dist/mcp/tools/write.js +342 -0
- package/dist/mcp/tools/write.js.map +1 -0
- package/dist/mcp/transport/auth.d.ts +41 -0
- package/dist/mcp/transport/auth.d.ts.map +1 -0
- package/dist/mcp/transport/auth.js +115 -0
- package/dist/mcp/transport/auth.js.map +1 -0
- package/dist/mcp/transport/http.d.ts +62 -0
- package/dist/mcp/transport/http.d.ts.map +1 -0
- package/dist/mcp/transport/http.js +357 -0
- package/dist/mcp/transport/http.js.map +1 -0
- package/dist/mcp/transport/pin.d.ts +15 -0
- package/dist/mcp/transport/pin.d.ts.map +1 -0
- package/dist/mcp/transport/pin.js +71 -0
- package/dist/mcp/transport/pin.js.map +1 -0
- package/dist/mcp/transport/telemetry.d.ts +79 -0
- package/dist/mcp/transport/telemetry.d.ts.map +1 -0
- package/dist/mcp/transport/telemetry.js +97 -0
- package/dist/mcp/transport/telemetry.js.map +1 -0
- package/dist/mcp/with-session.d.ts +26 -0
- package/dist/mcp/with-session.d.ts.map +1 -0
- package/dist/mcp/with-session.js +275 -0
- package/dist/mcp/with-session.js.map +1 -0
- package/dist/parser/annotations.d.ts +3 -0
- package/dist/parser/annotations.d.ts.map +1 -0
- package/dist/parser/annotations.js +41 -0
- package/dist/parser/annotations.js.map +1 -0
- package/dist/parser/blocks.d.ts +3 -0
- package/dist/parser/blocks.d.ts.map +1 -0
- package/dist/parser/blocks.js +101 -0
- package/dist/parser/blocks.js.map +1 -0
- package/dist/parser/frontmatter.d.ts +9 -0
- package/dist/parser/frontmatter.d.ts.map +1 -0
- package/dist/parser/frontmatter.js +33 -0
- package/dist/parser/frontmatter.js.map +1 -0
- package/dist/parser/index.d.ts +11 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +54 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/matter.d.ts +3 -0
- package/dist/parser/matter.d.ts.map +1 -0
- package/dist/parser/matter.js +32 -0
- package/dist/parser/matter.js.map +1 -0
- package/dist/parser/tags.d.ts +3 -0
- package/dist/parser/tags.d.ts.map +1 -0
- package/dist/parser/tags.js +32 -0
- package/dist/parser/tags.js.map +1 -0
- package/dist/parser/verbatim.d.ts +4 -0
- package/dist/parser/verbatim.d.ts.map +1 -0
- package/dist/parser/verbatim.js +121 -0
- package/dist/parser/verbatim.js.map +1 -0
- package/dist/parser/yaml-profile.d.ts +4 -0
- package/dist/parser/yaml-profile.d.ts.map +1 -0
- package/dist/parser/yaml-profile.js +73 -0
- package/dist/parser/yaml-profile.js.map +1 -0
- package/dist/registry/index.d.ts +2 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +2 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/loader.d.ts +4 -0
- package/dist/registry/loader.d.ts.map +1 -0
- package/dist/registry/loader.js +147 -0
- package/dist/registry/loader.js.map +1 -0
- package/dist/registry/types.d.ts +2 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/types.js +5 -0
- package/dist/registry/types.js.map +1 -0
- package/dist/scanner.d.ts +57 -0
- package/dist/scanner.d.ts.map +1 -0
- package/dist/scanner.js +223 -0
- package/dist/scanner.js.map +1 -0
- package/dist/schema/index.d.ts +3 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +3 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/loader.d.ts +4 -0
- package/dist/schema/loader.d.ts.map +1 -0
- package/dist/schema/loader.js +303 -0
- package/dist/schema/loader.js.map +1 -0
- package/dist/schema/precision.d.ts +6 -0
- package/dist/schema/precision.d.ts.map +1 -0
- package/dist/schema/precision.js +59 -0
- package/dist/schema/precision.js.map +1 -0
- package/dist/schema/validator.d.ts +21 -0
- package/dist/schema/validator.d.ts.map +1 -0
- package/dist/schema/validator.js +200 -0
- package/dist/schema/validator.js.map +1 -0
- package/dist/schema-md.d.ts +8 -0
- package/dist/schema-md.d.ts.map +1 -0
- package/dist/schema-md.js +98 -0
- package/dist/schema-md.js.map +1 -0
- package/dist/skill-files.d.ts +3 -0
- package/dist/skill-files.d.ts.map +1 -0
- package/dist/skill-files.js +362 -0
- package/dist/skill-files.js.map +1 -0
- package/dist/skills-scaffold.d.ts +10 -0
- package/dist/skills-scaffold.d.ts.map +1 -0
- package/dist/skills-scaffold.js +52 -0
- package/dist/skills-scaffold.js.map +1 -0
- package/dist/types.d.ts +309 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +111 -0
- package/dist/types.js.map +1 -0
- package/dist/writer/index.d.ts +7 -0
- package/dist/writer/index.d.ts.map +1 -0
- package/dist/writer/index.js +32 -0
- package/dist/writer/index.js.map +1 -0
- package/dist/writer/serializer.d.ts +4 -0
- package/dist/writer/serializer.d.ts.map +1 -0
- package/dist/writer/serializer.js +103 -0
- package/dist/writer/serializer.js.map +1 -0
- package/dist/writer/template.d.ts +3 -0
- package/dist/writer/template.d.ts.map +1 -0
- package/dist/writer/template.js +27 -0
- package/dist/writer/template.js.map +1 -0
- package/package.json +59 -7
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Registry, SchemaStore } from '../types.js';
|
|
2
|
+
import type { MaadBackend } from '../backend/index.js';
|
|
3
|
+
import type { GitLayer, CommitOptions, CommitOutcome } from '../git/index.js';
|
|
4
|
+
import type { CommitIdentity } from '../git/commit.js';
|
|
5
|
+
import type { OperationJournal } from './journal.js';
|
|
6
|
+
/**
|
|
7
|
+
* 0.6.10 — Mutable counters on the context so a write-path failure in
|
|
8
|
+
* `gitCommit` can be surfaced through `maad_health` without plumbing state
|
|
9
|
+
* back to the engine. Initialized once per engine init; bumped by `gitCommit`
|
|
10
|
+
* on the 'failed' outcome.
|
|
11
|
+
*/
|
|
12
|
+
export interface CommitFailureTracker {
|
|
13
|
+
count: number;
|
|
14
|
+
lastAt: string | null;
|
|
15
|
+
lastCode: string | null;
|
|
16
|
+
lastMessage: string | null;
|
|
17
|
+
lastAction: 'create' | 'update' | 'delete' | null;
|
|
18
|
+
lastDocId: string | null;
|
|
19
|
+
}
|
|
20
|
+
export declare function newCommitFailureTracker(): CommitFailureTracker;
|
|
21
|
+
export interface EngineContext {
|
|
22
|
+
projectRoot: string;
|
|
23
|
+
registry: Registry;
|
|
24
|
+
schemaStore: SchemaStore;
|
|
25
|
+
backend: MaadBackend;
|
|
26
|
+
gitLayer: GitLayer | null;
|
|
27
|
+
journal: OperationJournal;
|
|
28
|
+
readOnly: boolean;
|
|
29
|
+
commitFailures: CommitFailureTracker;
|
|
30
|
+
/**
|
|
31
|
+
* 0.7.0 — Identity snapshot set per-operation by the MCP layer inside the
|
|
32
|
+
* write mutex. When populated AND MAAD_COMMIT_IDENTITY is not "false",
|
|
33
|
+
* gitCommit passes it through to the commit builder so commit messages
|
|
34
|
+
* get role/token/agent/user lines appended.
|
|
35
|
+
*/
|
|
36
|
+
commitIdentity?: CommitIdentity;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Run a git commit and return the outcome. When gitLayer is absent (git not
|
|
40
|
+
* initialized or disabled), returns `noop` — the caller treats that as
|
|
41
|
+
* durable since there's no git to reconcile against. When the commit fails,
|
|
42
|
+
* the failure is logged on the ops channel AND tallied on
|
|
43
|
+
* `ctx.commitFailures` so `maad_health` can surface it; the caller gets the
|
|
44
|
+
* outcome back and can stamp `write_durable: false` on the MCP response.
|
|
45
|
+
*/
|
|
46
|
+
export declare function gitCommit(ctx: EngineContext, opts: CommitOptions): Promise<CommitOutcome>;
|
|
47
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/engine/context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIrD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;IAClD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,CAS9D;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,oBAAoB,CAAC;IACrC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA6B/F"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Engine Context — shared state passed to all domain modules
|
|
3
|
+
// ============================================================================
|
|
4
|
+
import { logger } from './logger.js';
|
|
5
|
+
import { logCommitFailure } from '../logging.js';
|
|
6
|
+
export function newCommitFailureTracker() {
|
|
7
|
+
return {
|
|
8
|
+
count: 0,
|
|
9
|
+
lastAt: null,
|
|
10
|
+
lastCode: null,
|
|
11
|
+
lastMessage: null,
|
|
12
|
+
lastAction: null,
|
|
13
|
+
lastDocId: null,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Run a git commit and return the outcome. When gitLayer is absent (git not
|
|
18
|
+
* initialized or disabled), returns `noop` — the caller treats that as
|
|
19
|
+
* durable since there's no git to reconcile against. When the commit fails,
|
|
20
|
+
* the failure is logged on the ops channel AND tallied on
|
|
21
|
+
* `ctx.commitFailures` so `maad_health` can surface it; the caller gets the
|
|
22
|
+
* outcome back and can stamp `write_durable: false` on the MCP response.
|
|
23
|
+
*/
|
|
24
|
+
export async function gitCommit(ctx, opts) {
|
|
25
|
+
if (!ctx.gitLayer)
|
|
26
|
+
return { status: 'noop' };
|
|
27
|
+
// 0.7.0 — Thread commit identity through when set by the MCP layer.
|
|
28
|
+
// Engine-level direct callers (CLI imports, tests) leave ctx.commitIdentity
|
|
29
|
+
// undefined; formatCommitMessage then emits the bare title.
|
|
30
|
+
const enriched = ctx.commitIdentity !== undefined
|
|
31
|
+
? { ...opts, identity: ctx.commitIdentity }
|
|
32
|
+
: opts;
|
|
33
|
+
const outcome = await ctx.gitLayer.commit(enriched);
|
|
34
|
+
if (outcome.status === 'failed') {
|
|
35
|
+
ctx.commitFailures.count++;
|
|
36
|
+
ctx.commitFailures.lastAt = new Date().toISOString();
|
|
37
|
+
ctx.commitFailures.lastCode = outcome.code;
|
|
38
|
+
ctx.commitFailures.lastMessage = outcome.message;
|
|
39
|
+
ctx.commitFailures.lastAction = opts.action;
|
|
40
|
+
ctx.commitFailures.lastDocId = opts.docId;
|
|
41
|
+
logCommitFailure({
|
|
42
|
+
code: outcome.code,
|
|
43
|
+
message: outcome.message,
|
|
44
|
+
action: opts.action,
|
|
45
|
+
doc_id: opts.docId,
|
|
46
|
+
doc_type: opts.docType,
|
|
47
|
+
file_count: opts.files.length,
|
|
48
|
+
});
|
|
49
|
+
// Keep the dev-facing log line so the existing logger.bestEffort signal
|
|
50
|
+
// stays visible for humans tailing ops in non-JSON mode.
|
|
51
|
+
logger.bestEffort('git', 'commit', `Git commit failed for ${opts.docId}: ${outcome.code} — ${outcome.message}`);
|
|
52
|
+
}
|
|
53
|
+
return outcome;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/engine/context.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6DAA6D;AAC7D,+EAA+E;AAO/E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAiBjD,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAoBD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAkB,EAAE,IAAmB;IACrE,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC7C,oEAAoE;IACpE,4EAA4E;IAC5E,4DAA4D;IAC5D,MAAM,QAAQ,GAAkB,GAAG,CAAC,cAAc,KAAK,SAAS;QAC9D,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,cAAc,EAAE;QAC3C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC3B,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,GAAG,CAAC,cAAc,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3C,GAAG,CAAC,cAAc,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;QACjD,GAAG,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5C,GAAG,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,KAAe,CAAC;QACpD,gBAAgB,CAAC;YACf,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,KAAe;YAC5B,QAAQ,EAAE,IAAI,CAAC,OAAiB;YAChC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;SAC9B,CAAC,CAAC;QACH,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,yBAAyB,IAAI,CAAC,KAAe,KAAK,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5H,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface DocIdRejection {
|
|
2
|
+
reason: 'EMPTY' | 'TOO_LONG' | 'CONTAINS_DOTDOT' | 'LEADING_DOT' | 'INVALID_CHARS' | 'WINDOWS_RESERVED' | 'CONTROL_CHARS';
|
|
3
|
+
message: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function checkDocIdSafe(docId: string): DocIdRejection | null;
|
|
6
|
+
export declare function assertDocIdSafe(docId: string): void;
|
|
7
|
+
export declare const DOC_ID_MAX_LEN = 128;
|
|
8
|
+
//# sourceMappingURL=docid-safe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docid-safe.d.ts","sourceRoot":"","sources":["../../src/engine/docid-safe.ts"],"names":[],"mappings":"AAuCA,MAAM,WAAW,cAAc;IAC7B,MAAM,EACF,OAAO,GACP,UAAU,GACV,iBAAiB,GACjB,aAAa,GACb,eAAe,GACf,kBAAkB,GAClB,eAAe,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAkCnE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGnD;AAED,eAAO,MAAM,cAAc,MAAiB,CAAC"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docid-safe.js","sourceRoot":"","sources":["../../src/engine/docid-safe.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,iDAAiD;AACjD,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,wDAAwD;AACxD,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,2EAA2E;AAC3E,gCAAgC;AAChC,EAAE;AACF,2EAA2E;AAC3E,sEAAsE;AACtE,mEAAmE;AACnE,yEAAyE;AACzE,2EAA2E;AAC3E,+EAA+E;AAE/E,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,MAAM,cAAc,GAAG,8CAA8C,CAAC;AAEtE,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC1B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAC/E,CAAC,CAAC;AAEH,yEAAyE;AACzE,8EAA8E;AAC9E,4CAA4C;AAC5C,MAAM,eAAe,GAAG,QAAQ,CAAC;AAcjC,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,+BAA+B,cAAc,aAAa;SACpE,CAAC;IACJ,CAAC;IACD,0EAA0E;IAC1E,6DAA6D;IAC7D,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;IACnF,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;IAC/F,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,oHAAoH;SAC9H,CAAC;IACJ,CAAC;IACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,kBAAkB;YAC1B,OAAO,EAAE,UAAU,KAAK,wCAAwC;SACjE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DocumentRecord } from '../types.js';
|
|
2
|
+
export declare function readFrontmatter(projectRoot: string, doc: DocumentRecord): Promise<Record<string, unknown>>;
|
|
3
|
+
export declare function readFrontmatterSync(projectRoot: string, doc: DocumentRecord): Record<string, unknown> | null;
|
|
4
|
+
export declare function readBlockContent(projectRoot: string, doc: DocumentRecord, startLine: number, endLine: number, isPreamble: boolean): Promise<string>;
|
|
5
|
+
export declare function generateDocId(prefix: string, fields: Record<string, unknown>, existingIds?: string[]): string;
|
|
6
|
+
export declare function computeNumericValue(value: unknown, fieldType: string): number | null;
|
|
7
|
+
export declare function collectMarkdownFiles(dirPath: string): Promise<string[]>;
|
|
8
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/engine/helpers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKhH;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAS5G;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAOzJ;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CA+B7G;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBpF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkB7E"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Engine Helpers — file reading, ID generation, utility functions
|
|
3
|
+
// ============================================================================
|
|
4
|
+
import { readFile } from 'node:fs/promises';
|
|
5
|
+
import { readFileSync } from 'node:fs';
|
|
6
|
+
import path from 'node:path';
|
|
7
|
+
import { glob } from 'node:fs/promises';
|
|
8
|
+
import { parseMatter } from '../parser/matter.js';
|
|
9
|
+
export async function readFrontmatter(projectRoot, doc) {
|
|
10
|
+
const absPath = path.join(projectRoot, doc.filePath);
|
|
11
|
+
const raw = await readFile(absPath, 'utf-8');
|
|
12
|
+
const parsed = parseMatter(raw);
|
|
13
|
+
return parsed.data;
|
|
14
|
+
}
|
|
15
|
+
export function readFrontmatterSync(projectRoot, doc) {
|
|
16
|
+
try {
|
|
17
|
+
const absPath = path.join(projectRoot, doc.filePath);
|
|
18
|
+
const raw = readFileSync(absPath, 'utf-8');
|
|
19
|
+
const parsed = parseMatter(raw);
|
|
20
|
+
return parsed.data;
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export async function readBlockContent(projectRoot, doc, startLine, endLine, isPreamble) {
|
|
27
|
+
const absPath = path.join(projectRoot, doc.filePath);
|
|
28
|
+
const raw = await readFile(absPath, 'utf-8');
|
|
29
|
+
const lines = raw.split('\n');
|
|
30
|
+
const contentStart = isPreamble ? startLine - 1 : startLine;
|
|
31
|
+
const contentEnd = endLine;
|
|
32
|
+
return lines.slice(contentStart, contentEnd).join('\n').trim();
|
|
33
|
+
}
|
|
34
|
+
export function generateDocId(prefix, fields, existingIds) {
|
|
35
|
+
const nameOrTitle = fields['name'] ?? fields['title'];
|
|
36
|
+
// Slug strategy: use name/title if available
|
|
37
|
+
if (typeof nameOrTitle === 'string') {
|
|
38
|
+
const slug = nameOrTitle
|
|
39
|
+
.toLowerCase()
|
|
40
|
+
.replace(/[^a-z0-9\s-]/g, '')
|
|
41
|
+
.replace(/\s+/g, '-')
|
|
42
|
+
.replace(/-+/g, '-')
|
|
43
|
+
.replace(/^-|-$/g, '')
|
|
44
|
+
.slice(0, 40);
|
|
45
|
+
if (slug.length > 0)
|
|
46
|
+
return `${prefix}-${slug}`;
|
|
47
|
+
}
|
|
48
|
+
// Sequence strategy: prefix-YYYY-NNN
|
|
49
|
+
const year = new Date().getFullYear();
|
|
50
|
+
const seqPrefix = `${prefix}-${year}-`;
|
|
51
|
+
let maxSeq = 0;
|
|
52
|
+
if (existingIds) {
|
|
53
|
+
for (const id of existingIds) {
|
|
54
|
+
if (id.startsWith(seqPrefix)) {
|
|
55
|
+
const seqStr = id.slice(seqPrefix.length);
|
|
56
|
+
const num = parseInt(seqStr, 10);
|
|
57
|
+
if (!isNaN(num) && num > maxSeq)
|
|
58
|
+
maxSeq = num;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return `${seqPrefix}${String(maxSeq + 1).padStart(3, '0')}`;
|
|
63
|
+
}
|
|
64
|
+
export function computeNumericValue(value, fieldType) {
|
|
65
|
+
if (value === null || value === undefined)
|
|
66
|
+
return null;
|
|
67
|
+
if (fieldType === 'number') {
|
|
68
|
+
const num = typeof value === 'number' ? value : parseFloat(String(value));
|
|
69
|
+
return isFinite(num) ? num : null;
|
|
70
|
+
}
|
|
71
|
+
if (fieldType === 'amount') {
|
|
72
|
+
const match = /^([\d,.]+)/.exec(String(value));
|
|
73
|
+
if (match) {
|
|
74
|
+
const num = parseFloat(match[1].replace(/,/g, ''));
|
|
75
|
+
return isFinite(num) ? num : null;
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
export async function collectMarkdownFiles(dirPath) {
|
|
82
|
+
const files = [];
|
|
83
|
+
try {
|
|
84
|
+
for await (const entry of glob('**/*.md', { cwd: dirPath })) {
|
|
85
|
+
const basename = path.basename(entry);
|
|
86
|
+
if (basename.startsWith('_deleted_'))
|
|
87
|
+
continue;
|
|
88
|
+
files.push(path.join(dirPath, entry));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
const { readdir } = await import('node:fs/promises');
|
|
93
|
+
const entries = await readdir(dirPath, { withFileTypes: true });
|
|
94
|
+
for (const entry of entries) {
|
|
95
|
+
if (entry.isFile() && entry.name.endsWith('.md') && !entry.name.startsWith('_deleted_')) {
|
|
96
|
+
files.push(path.join(dirPath, entry.name));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return files;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/engine/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { type Result } from '../errors.js';
|
|
2
|
+
import type { DocId, DocType, FilePath, Registry, SchemaDefinition, ExtractionResult } from '../types.js';
|
|
3
|
+
import type { MaadBackend } from '../backend/index.js';
|
|
4
|
+
import { GitLayer } from '../git/index.js';
|
|
5
|
+
import * as maintenance from './maintenance.js';
|
|
6
|
+
export type { IndexResult, CreateResult, GetResult, UpdateResult, DeleteResult, FindResult, SearchResult, RelatedResult, DescribeResult, SummaryResult, GetFullResult, SchemaInfoResult, ValidationReport, VerifyResult, } from './types.js';
|
|
7
|
+
export interface HealthReport {
|
|
8
|
+
projectRoot: string;
|
|
9
|
+
initialized: boolean;
|
|
10
|
+
readOnly: boolean;
|
|
11
|
+
gitAvailable: boolean;
|
|
12
|
+
indexExists: boolean;
|
|
13
|
+
lastIndexedAt: string | null;
|
|
14
|
+
totalDocuments: number;
|
|
15
|
+
registeredTypes: number;
|
|
16
|
+
recoveryActions: string[];
|
|
17
|
+
emptyProject: boolean;
|
|
18
|
+
bootstrapHint: string | null;
|
|
19
|
+
writeQueueDepth: number;
|
|
20
|
+
lastWriteOp: {
|
|
21
|
+
op: string;
|
|
22
|
+
startedAt: string;
|
|
23
|
+
elapsedMs: number;
|
|
24
|
+
} | null;
|
|
25
|
+
lastWriteAt: string | null;
|
|
26
|
+
repoSizeBytes: number | null;
|
|
27
|
+
gitClean: boolean | null;
|
|
28
|
+
diskHeadroomMb: number | null;
|
|
29
|
+
commitFailuresTotal: number;
|
|
30
|
+
lastCommitFailureAt: string | null;
|
|
31
|
+
lastCommitFailureCode: string | null;
|
|
32
|
+
lastCommitFailureAction: 'create' | 'update' | 'delete' | null;
|
|
33
|
+
lastCommitFailureDocId: string | null;
|
|
34
|
+
}
|
|
35
|
+
export declare class MaadEngine {
|
|
36
|
+
private projectRoot;
|
|
37
|
+
private registry;
|
|
38
|
+
private schemaStore;
|
|
39
|
+
private backend;
|
|
40
|
+
private gitLayer;
|
|
41
|
+
private journal;
|
|
42
|
+
private commitFailures;
|
|
43
|
+
private pendingCommitIdentity;
|
|
44
|
+
private initialized;
|
|
45
|
+
private _readOnly;
|
|
46
|
+
private startupRecovery;
|
|
47
|
+
private writeLock;
|
|
48
|
+
private lastWriteOp;
|
|
49
|
+
private lastWriteAt;
|
|
50
|
+
private repoSizeCache;
|
|
51
|
+
private static readonly REPO_SIZE_CACHE_MS;
|
|
52
|
+
private lastGitCleanCache;
|
|
53
|
+
/**
|
|
54
|
+
* Acquire the per-engine write mutex, run `fn`, release. Records
|
|
55
|
+
* `lastWriteOp` / `lastWriteAt` for health reporting and logs slow writes.
|
|
56
|
+
*
|
|
57
|
+
* **Reentrant.** When the current async context already holds this
|
|
58
|
+
* engine's write scope (e.g. `withEngine`'s write branch acquired at the
|
|
59
|
+
* MCP boundary, and the handler then calls `engine.createDocument` which
|
|
60
|
+
* itself wraps in `runExclusive`), the inner call skips acquisition and
|
|
61
|
+
* runs `fn` directly. Prevents double-locking deadlocks on a
|
|
62
|
+
* non-reentrant FIFO mutex. Bookkeeping (lastWriteOp/lastWriteAt) fires
|
|
63
|
+
* once per outermost scope.
|
|
64
|
+
*
|
|
65
|
+
* As of 0.5.0 R4 the MCP entry point is the primary caller — every tool
|
|
66
|
+
* classified as `write` in `src/mcp/kinds.ts` wraps here at the request
|
|
67
|
+
* boundary. Direct non-MCP callers (CLI, tests, import scripts) continue
|
|
68
|
+
* to call engine mutation methods normally; those methods self-wrap in
|
|
69
|
+
* runExclusive so direct callers stay serialized.
|
|
70
|
+
*/
|
|
71
|
+
runExclusive<T>(op: string, fn: () => Promise<T>): Promise<T>;
|
|
72
|
+
init(projectRoot: string, opts?: {
|
|
73
|
+
readOnly?: boolean;
|
|
74
|
+
}): Promise<Result<void>>;
|
|
75
|
+
isReadOnly(): boolean;
|
|
76
|
+
reload(): Promise<Result<void>>;
|
|
77
|
+
/**
|
|
78
|
+
* 0.7.7 (fup-2026-202) — Lightweight in-place reload of registry + schemas.
|
|
79
|
+
* Triggered from `runExclusive` when `schemaStore.isStale()` reports drift
|
|
80
|
+
* (another process edited the schema/registry files since our last load).
|
|
81
|
+
*
|
|
82
|
+
* Does NOT reset the backend or git layer — only the in-memory schema and
|
|
83
|
+
* registry refs are swapped. Cheap enough to run as a defensive check on
|
|
84
|
+
* every write entry; the staleness probe (a handful of fstat calls) takes
|
|
85
|
+
* microseconds and the actual reload only fires when files actually
|
|
86
|
+
* changed. Failure path: log and proceed with the stale schema rather than
|
|
87
|
+
* blocking the write — a rare case (schema deleted mid-flight) where doing
|
|
88
|
+
* nothing is the lesser harm.
|
|
89
|
+
*/
|
|
90
|
+
private reloadSchemasIfStale;
|
|
91
|
+
health(): HealthReport;
|
|
92
|
+
/**
|
|
93
|
+
* Size of the .git directory on disk, in bytes. Cached for 60s since a full
|
|
94
|
+
* recursive walk is O(size) and maad_health may be polled frequently. Returns
|
|
95
|
+
* null if git is unavailable. Best-effort: filesystem errors return null.
|
|
96
|
+
*/
|
|
97
|
+
private probeRepoSize;
|
|
98
|
+
/**
|
|
99
|
+
* Synchronous "is the working tree clean" probe. Uses simple-git's
|
|
100
|
+
* status() — fast enough for health reporting. Returns null if git is
|
|
101
|
+
* unavailable. Best-effort: errors return null.
|
|
102
|
+
*
|
|
103
|
+
* Note: simple-git's status() is async, but we cache the most recent
|
|
104
|
+
* result on a health() call so maad_health stays synchronous.
|
|
105
|
+
*/
|
|
106
|
+
private probeGitClean;
|
|
107
|
+
/**
|
|
108
|
+
* Refresh the cached git-clean flag. Called on demand (e.g. from an async
|
|
109
|
+
* path that awaits the status) and in the background by probeGitClean
|
|
110
|
+
* fallback.
|
|
111
|
+
*/
|
|
112
|
+
refreshGitClean(): Promise<boolean | null>;
|
|
113
|
+
/**
|
|
114
|
+
* Free space on the volume holding projectRoot, in megabytes. Uses
|
|
115
|
+
* fs.statfsSync which is available on Node 18+. Returns null on error
|
|
116
|
+
* (e.g. unsupported filesystem, permissions).
|
|
117
|
+
*/
|
|
118
|
+
private probeDiskHeadroom;
|
|
119
|
+
/**
|
|
120
|
+
* Test/drain accessor for the write mutex's current queue depth (held + waiting).
|
|
121
|
+
* Used by the lifecycle drain loop (0.4.1 H7) and the concurrency test suite.
|
|
122
|
+
*/
|
|
123
|
+
writeQueueDepth(): number;
|
|
124
|
+
getStartupRecovery(): string[];
|
|
125
|
+
close(): void;
|
|
126
|
+
private ctx;
|
|
127
|
+
/**
|
|
128
|
+
* 0.7.0 — Set the identity slot used by the next git commit under the
|
|
129
|
+
* write mutex. Caller MUST be inside `runExclusive` so no concurrent
|
|
130
|
+
* writer can stomp the slot. `withEngine` (MCP layer) brackets set/clear
|
|
131
|
+
* around each write handler; clear with setCommitIdentity(undefined).
|
|
132
|
+
*/
|
|
133
|
+
setCommitIdentity(identity: import('../git/commit.js').CommitIdentity | undefined): void;
|
|
134
|
+
private assertInit;
|
|
135
|
+
indexAll(opts?: {
|
|
136
|
+
force?: boolean;
|
|
137
|
+
}): Promise<import("./types.js").IndexResult>;
|
|
138
|
+
indexFile(absolutePath: FilePath): Promise<Result<ExtractionResult>>;
|
|
139
|
+
reindex(opts?: {
|
|
140
|
+
docId?: DocId;
|
|
141
|
+
force?: boolean;
|
|
142
|
+
}): Promise<Result<import("./types.js").IndexResult>>;
|
|
143
|
+
getDocument(id: DocId, depth: 'hot' | 'warm' | 'cold', blockIdOrHeading?: string): Promise<Result<import("./types.js").GetResult>>;
|
|
144
|
+
findDocuments(query: import('../types.js').DocumentQuery): Result<import("./types.js").FindResult>;
|
|
145
|
+
searchObjects(query: import('../types.js').ObjectQuery): Result<import("./types.js").SearchResult>;
|
|
146
|
+
listRelated(id: DocId, direction: 'outgoing' | 'incoming' | 'both', types?: DocType[]): Result<import("./types.js").RelatedResult>;
|
|
147
|
+
describe(): import("./types.js").DescribeResult;
|
|
148
|
+
summary(): import("./types.js").SummaryResult;
|
|
149
|
+
getSchema(dt: DocType): SchemaDefinition | undefined;
|
|
150
|
+
schemaInfo(dt: DocType): Result<import("./types.js").SchemaInfoResult>;
|
|
151
|
+
aggregate(query: import('./types.js').AggregateQuery): Result<import("./types.js").AggregateResult>;
|
|
152
|
+
join(query: import('./types.js').JoinQuery): Result<import("./types.js").JoinResult>;
|
|
153
|
+
verifyField(id: DocId, field: string, expected: unknown): Promise<Result<import("./types.js").VerifyResult>>;
|
|
154
|
+
verifyCount(dt: DocType, expectedCount: number, filters?: Record<string, import('../types.js').FilterCondition>): Result<import("./types.js").VerifyResult>;
|
|
155
|
+
verifyIntegrity(query?: import('./types.js').IntegrityQuery): Promise<Result<import("./types.js").IntegrityResult>>;
|
|
156
|
+
backupCreate(opts?: import('./types.js').CreateBackupOptions): Promise<Result<import("./types.js").BackupTag>>;
|
|
157
|
+
backupList(opts?: import('./types.js').ListBackupsOptions): Promise<Result<import("./types.js").BackupTag[]>>;
|
|
158
|
+
backupDelete(tag: string): Promise<Result<{
|
|
159
|
+
removed: string;
|
|
160
|
+
}>>;
|
|
161
|
+
changesSince(query: import('./types.js').ChangesSinceQuery): Result<import("./types.js").ChangesPage>;
|
|
162
|
+
getDocumentFull(id: DocId): Promise<Result<import("./types.js").GetFullResult>>;
|
|
163
|
+
createDocument(dt: DocType, fields: Record<string, unknown>, body?: string, customDocId?: string): Promise<{
|
|
164
|
+
ok: false;
|
|
165
|
+
errors: import("../errors.js").MaadError[];
|
|
166
|
+
} | {
|
|
167
|
+
ok: true;
|
|
168
|
+
value: unknown;
|
|
169
|
+
}>;
|
|
170
|
+
updateDocument(id: DocId, fields?: Record<string, unknown>, body?: string, appendBody?: string, expectedVersion?: number): Promise<{
|
|
171
|
+
ok: false;
|
|
172
|
+
errors: import("../errors.js").MaadError[];
|
|
173
|
+
} | {
|
|
174
|
+
ok: true;
|
|
175
|
+
value: unknown;
|
|
176
|
+
}>;
|
|
177
|
+
deleteDocument(id: DocId, mode: 'soft' | 'hard'): Promise<{
|
|
178
|
+
ok: false;
|
|
179
|
+
errors: import("../errors.js").MaadError[];
|
|
180
|
+
} | {
|
|
181
|
+
ok: true;
|
|
182
|
+
value: unknown;
|
|
183
|
+
}>;
|
|
184
|
+
bulkCreate(records: import('./types.js').BulkCreateInput[]): Promise<{
|
|
185
|
+
ok: false;
|
|
186
|
+
errors: import("../errors.js").MaadError[];
|
|
187
|
+
} | {
|
|
188
|
+
ok: true;
|
|
189
|
+
value: unknown;
|
|
190
|
+
}>;
|
|
191
|
+
bulkUpdate(updates: import('./types.js').BulkUpdateInput[]): Promise<{
|
|
192
|
+
ok: false;
|
|
193
|
+
errors: import("../errors.js").MaadError[];
|
|
194
|
+
} | {
|
|
195
|
+
ok: true;
|
|
196
|
+
value: unknown;
|
|
197
|
+
}>;
|
|
198
|
+
validate(docId?: DocId, options?: maintenance.ValidateOptions): Promise<Result<import("./types.js").ValidationReport>>;
|
|
199
|
+
history(id: DocId, opts?: {
|
|
200
|
+
limit?: number;
|
|
201
|
+
since?: string;
|
|
202
|
+
}): Promise<Result<import("../types.js").ParsedCommit[]>>;
|
|
203
|
+
diff(id: DocId, from: string, to?: string): Promise<Result<import("../types.js").DiffResult>>;
|
|
204
|
+
snapshot(id: DocId, at: string): Promise<Result<import("../types.js").SnapshotResult>>;
|
|
205
|
+
audit(opts?: {
|
|
206
|
+
since?: string;
|
|
207
|
+
until?: string;
|
|
208
|
+
docType?: DocType;
|
|
209
|
+
}): Promise<Result<import("../types.js").AuditEntry[]>>;
|
|
210
|
+
getBackend(): MaadBackend;
|
|
211
|
+
getRegistry(): Registry;
|
|
212
|
+
getGitLayer(): GitLayer | null;
|
|
213
|
+
getProjectRoot(): string;
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"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"}
|