@hasna/mementos 0.14.87 → 0.15.2
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/README.md +44 -9
- package/bun.lock +4 -62
- package/dist/cli/commands/info-history.d.ts.map +1 -1
- package/dist/cli/commands/info-stale.d.ts.map +1 -1
- package/dist/cli/commands/io-backup.d.ts.map +1 -1
- package/dist/cli/commands/io-export.d.ts.map +1 -1
- package/dist/cli/commands/io-restore.d.ts.map +1 -1
- package/dist/cli/commands/memory-cmd-chain.d.ts.map +1 -1
- package/dist/cli/commands/memory-cmd-crud.d.ts.map +1 -1
- package/dist/cli/commands/memory-cmd-recall.d.ts.map +1 -1
- package/dist/cli/commands/memory-cmd-search.d.ts.map +1 -1
- package/dist/cli/commands/memory-cmd-tail.d.ts.map +1 -1
- package/dist/cli/commands/memory-cmd-view.d.ts.map +1 -1
- package/dist/cli/commands/memory-cmd-when-to-use.d.ts.map +1 -1
- package/dist/cli/commands/storage.d.ts.map +1 -1
- package/dist/cli/commands/system-doctor.d.ts.map +1 -1
- package/dist/cli/commands/system-profile.d.ts.map +1 -1
- package/dist/cli/commands/system-status.d.ts +43 -0
- package/dist/cli/commands/system-status.d.ts.map +1 -0
- package/dist/cli/commands/system.d.ts.map +1 -1
- package/dist/cli/helpers.d.ts.map +1 -1
- package/dist/cli/index.js +3735 -2021
- package/dist/cli/register-all.d.ts +1 -1
- package/dist/cli/register-all.d.ts.map +1 -1
- package/dist/db/api-mode.d.ts +135 -37
- package/dist/db/api-mode.d.ts.map +1 -1
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/memories.d.ts.map +1 -1
- package/dist/db/pg-migrate.d.ts.map +1 -1
- package/dist/db/store-backend.d.ts +8 -2
- package/dist/db/store-backend.d.ts.map +1 -1
- package/dist/diagnostics/historical-project-registration-receipt.js +152 -11
- package/dist/generated/storage-kit/backend.d.ts +12 -2
- package/dist/generated/storage-kit/backend.d.ts.map +1 -1
- package/dist/generated/storage-kit/index.d.ts +1 -1
- package/dist/generated/storage-kit/index.d.ts.map +1 -1
- package/dist/generated/storage-kit/migrations.d.ts +21 -0
- package/dist/generated/storage-kit/migrations.d.ts.map +1 -1
- package/dist/generated/storage-kit/pool.d.ts +2 -5
- package/dist/generated/storage-kit/pool.d.ts.map +1 -1
- package/dist/generated/storage-kit/query.d.ts +1 -1
- package/dist/generated/storage-kit/query.d.ts.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3057 -1266
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/env.d.ts +10 -0
- package/dist/lib/env.d.ts.map +1 -0
- package/dist/lib/gatherer.d.ts.map +1 -1
- package/dist/lib/local-opt-in.d.ts +114 -0
- package/dist/lib/local-opt-in.d.ts.map +1 -0
- package/dist/lib/model-config.d.ts +1 -1
- package/dist/lib/paths.d.ts +60 -0
- package/dist/lib/paths.d.ts.map +1 -0
- package/dist/lib/profile-sync.d.ts.map +1 -1
- package/dist/lib/redact.d.ts +70 -10
- package/dist/lib/redact.d.ts.map +1 -1
- package/dist/lib/reflection.d.ts.map +1 -1
- package/dist/lib/search.d.ts.map +1 -1
- package/dist/lib/storage-sync.d.ts.map +1 -1
- package/dist/lib/sync.d.ts.map +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +3108 -1276
- package/dist/project-registration.js +378 -153
- package/dist/sdk/index.d.ts +173 -8
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +953 -12
- package/dist/server/auth.d.ts +2 -0
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/helpers.d.ts +48 -3
- package/dist/server/helpers.d.ts.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +3146 -1324
- package/dist/server/routes/system-synthesis.d.ts.map +1 -1
- package/dist/storage.d.ts +18 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +149 -83
- package/dist/test-support/store-isolation.d.ts +50 -11
- package/dist/test-support/store-isolation.d.ts.map +1 -1
- package/docker-entrypoint.sh +7 -0
- package/hasna.contract.json +17 -5
- package/package.json +8 -8
- package/postinstall.mjs +85 -0
- package/dashboard/bun.lock +0 -519
- package/dist/cli/brains.d.ts +0 -3
- package/dist/cli/brains.d.ts.map +0 -1
- package/dist/lib/retired-storage-mode.d.ts +0 -11
- package/dist/lib/retired-storage-mode.d.ts.map +0 -1
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,UAAU,CAAC;AAiB5E,eAAO,MAAM,cAAc,EAAE,cA4B5B,CAAC;AA4DF,wBAAgB,UAAU,IAAI,cAAc,CAwC3C;AA2FD,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAMhD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAQ1D;AAED,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAOvC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOnD;AAED,wBAAgB,SAAS,IAAI,MAAM,CAuDlC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const env: {
|
|
2
|
+
readonly apiKey: () => string | undefined;
|
|
3
|
+
readonly defaultScope: () => string | undefined;
|
|
4
|
+
readonly defaultCategory: () => string | undefined;
|
|
5
|
+
readonly defaultImportance: () => string | undefined;
|
|
6
|
+
readonly pgsyncQueryTimeoutMs: () => string | undefined;
|
|
7
|
+
readonly reflectProvider: () => string | undefined;
|
|
8
|
+
readonly reflectModel: () => string | undefined;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,GAAG;2BACF,MAAM,GAAG,SAAS;iCACZ,MAAM,GAAG,SAAS;oCAEf,MAAM,GAAG,SAAS;sCAEhB,MAAM,GAAG,SAAS;yCAEf,MAAM,GAAG,SAAS;oCAEvB,MAAM,GAAG,SAAS;iCAErB,MAAM,GAAG,SAAS;CAE5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gatherer.d.ts","sourceRoot":"","sources":["../../src/lib/gatherer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gatherer.d.ts","sourceRoot":"","sources":["../../src/lib/gatherer.ts"],"names":[],"mappings":"AAOA,KAAK,oBAAoB,GAAG,CAAC,OAAO,CAAC,EAAE;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,CAAC;CACd,KAAK,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC7E,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAyEH,eAAO,MAAM,kBAAkB,EAAE,oBAkDhC,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { CredentialChainOptions } from "@hasna/contracts/client";
|
|
2
|
+
/** The deliberate unhosted opt-in flag, canonical name first. */
|
|
3
|
+
export declare const MEMENTOS_LOCAL_OPT_IN_ENV_KEYS: readonly ["HASNA_MEMENTOS_LOCAL", "MEMENTOS_LOCAL"];
|
|
4
|
+
/** The explicit local SQLite file — the narrowest signal, precedence 1. */
|
|
5
|
+
export declare const MEMENTOS_DB_PATH_ENV_KEYS: readonly ["HASNA_MEMENTOS_DB_PATH", "MEMENTOS_DB_PATH"];
|
|
6
|
+
/**
|
|
7
|
+
* The retired storage-mode variables. The resolver never reads them — they are
|
|
8
|
+
* inert since the adoption stripped the fail-loud ratchet — but test harnesses
|
|
9
|
+
* DELETE them so a fixture can never depend on a stale fragment from the host
|
|
10
|
+
* environment, and docs list them as removed.
|
|
11
|
+
*/
|
|
12
|
+
export declare const REMOVED_MEMENTOS_MODE_ENV_KEYS: readonly ["HASNA_MEMENTOS_STORAGE_MODE", "HASNA_MEMENTOS_MODE", "MEMENTOS_STORAGE_MODE", "MEMENTOS_MODE"];
|
|
13
|
+
export type MementosLocalOptInEnv = Record<string, string | undefined>;
|
|
14
|
+
/** True when the operator deliberately asked for the unhosted local store. */
|
|
15
|
+
export declare function isMementosLocalOptIn(env?: MementosLocalOptInEnv): boolean;
|
|
16
|
+
/** True when the environment pins an explicit local SQLite file. */
|
|
17
|
+
export declare function hasExplicitLocalDbPath(env?: MementosLocalOptInEnv): boolean;
|
|
18
|
+
/** Every env name that can configure a mementos authority or credential, resolver-derived. */
|
|
19
|
+
export declare function mementosAuthorityEnvKeys(): string[];
|
|
20
|
+
/**
|
|
21
|
+
* Does the ENVIRONMENT itself configure a mementos authority or credential?
|
|
22
|
+
*
|
|
23
|
+
* Deliberately narrower than "does a credential resolve": answering it must not
|
|
24
|
+
* touch the Keychain or the filesystem, because doing so would defeat the
|
|
25
|
+
* isolation the opt-in short-circuit exists to provide. It reads the env
|
|
26
|
+
* dictionary and nothing else.
|
|
27
|
+
*
|
|
28
|
+
* A DECLARED-BUT-BLANK variable counts as absent HERE — a blank has always been
|
|
29
|
+
* this package's spelling for "not configured", and helpers in the wild blank
|
|
30
|
+
* rather than delete. It is NOT absent once we do go hosted: the resolver
|
|
31
|
+
* refuses a blank loudly rather than falling through to another identity, which
|
|
32
|
+
* is the behaviour that matters at that point.
|
|
33
|
+
*/
|
|
34
|
+
export declare function hasMementosEnvAuthorityIntent(env?: MementosLocalOptInEnv): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* True when this environment should be served by the on-box SQLite store.
|
|
37
|
+
*
|
|
38
|
+
* An explicit DB path wins unconditionally (precedence 1 — the narrowest
|
|
39
|
+
* signal). The flag opt-in wins only when the environment configures no
|
|
40
|
+
* authority or credential at all, and both are answered WITHOUT the resolver,
|
|
41
|
+
* so the Keychain and the credential file are never read for a local run.
|
|
42
|
+
*/
|
|
43
|
+
export declare function selectsMementosLocalStore(env?: MementosLocalOptInEnv): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* The environment as the resolver should see it: every authority/credential
|
|
46
|
+
* variable that is DECLARED BUT BLANK removed.
|
|
47
|
+
*
|
|
48
|
+
* A blank has always been this package's spelling for "not configured" — it is
|
|
49
|
+
* how fixtures scrubbed an inherited environment and how the CLI's test
|
|
50
|
+
* harnesses neutralise routing. @hasna/contracts takes the opposite and, for
|
|
51
|
+
* its purposes, correct view: a declared-but-blank credential is a
|
|
52
|
+
* misconfiguration it refuses loudly rather than resolving around, because a
|
|
53
|
+
* blank that fell through would authenticate as a different principal than the
|
|
54
|
+
* operator named.
|
|
55
|
+
*
|
|
56
|
+
* Both are right at their own layer, and the mismatch is not hypothetical: an
|
|
57
|
+
* environment carrying a real `HASNA_MEMENTOS_API_KEY` alongside a blank legacy
|
|
58
|
+
* alias — the exact shape a scrubbed-then-overridden fixture produces — is a
|
|
59
|
+
* complete, unambiguous configuration that would otherwise be refused for the
|
|
60
|
+
* alias nobody set. Normalising here keeps "blank means unset" true at the
|
|
61
|
+
* mementos seam while leaving the resolver's stricter rule intact for
|
|
62
|
+
* everything it does receive.
|
|
63
|
+
*/
|
|
64
|
+
export declare function mementosResolverEnv<T extends MementosLocalOptInEnv>(env: T): T;
|
|
65
|
+
/** The env object and credential options a mementos surface hands @hasna/contracts. */
|
|
66
|
+
export interface MementosResolverInputs<T extends MementosLocalOptInEnv> {
|
|
67
|
+
/** The environment with every declared-but-blank authority variable removed. */
|
|
68
|
+
env: T;
|
|
69
|
+
/** The chain options, with the Keychain tier's ambient gate already decided. */
|
|
70
|
+
credentials: CredentialChainOptions;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Build the resolver's inputs: the normalised environment AND the credential
|
|
74
|
+
* options that keep the machine's Keychain tier reachable across it.
|
|
75
|
+
*
|
|
76
|
+
* WHY THIS IS NOT JUST {@link mementosResolverEnv}. Blanking a variable and
|
|
77
|
+
* deleting it are not the same operation to @hasna/contracts, because dropping
|
|
78
|
+
* a key forces us to hand the resolver a COPY, and the resolver gates its
|
|
79
|
+
* ambient tiers on OBJECT IDENTITY (`env === process.env`, or the registry
|
|
80
|
+
* symbol its own snapshot carries). A copy is, by that test, a caller-built
|
|
81
|
+
* world — the hermetic seam — so the Keychain is outside it and tier 3 turns
|
|
82
|
+
* itself off. Silently: there is no error, no warning and no diagnostic,
|
|
83
|
+
* because from the resolver's side nothing went wrong.
|
|
84
|
+
*
|
|
85
|
+
* The consequence is the one failure this whole ruling exists to prevent. On a
|
|
86
|
+
* station whose Keychain holds `hasna.credentials.mementos.api-key`, ONE
|
|
87
|
+
* declared-but-blank authority variable — any name in
|
|
88
|
+
* {@link mementosAuthorityEnvKeys}, canonical or legacy; the shape a scrubbed
|
|
89
|
+
* fixture leaves behind — dropped the run from the Keychain identity to
|
|
90
|
+
* whatever came next: to `~/.hasna/mementos/config/credentials`, a DIFFERENT
|
|
91
|
+
* principal, with no notice; or, with nothing on disk, to a bare refusal on a
|
|
92
|
+
* station that is in fact configured. A deliberate tier must never fall
|
|
93
|
+
* through to another identity, so the gate is decided HERE, on the original
|
|
94
|
+
* env, and carried across the copy as the documented `keychain.enabled`
|
|
95
|
+
* control rather than being left to an identity test the copy cannot pass.
|
|
96
|
+
*
|
|
97
|
+
* An explicit `enabled` from the caller still wins, and an injected `run`
|
|
98
|
+
* (which @hasna/contracts already treats as "enabled") is left alone, so the
|
|
99
|
+
* hermetic seam tests rely on is untouched. When there is no blank to remove
|
|
100
|
+
* the inputs pass through by identity, exactly as before.
|
|
101
|
+
*/
|
|
102
|
+
export declare function mementosResolverInputs<T extends MementosLocalOptInEnv>(env: T, credentials?: CredentialChainOptions): MementosResolverInputs<T>;
|
|
103
|
+
/** Reset the once-per-process local-mode notice. Test seam only. */
|
|
104
|
+
export declare function __resetMementosLocalModeNotice(): void;
|
|
105
|
+
/**
|
|
106
|
+
* The one stderr line a local-mode run MUST print (owner ruling 2026-09-04,
|
|
107
|
+
* fail-closed wave): "local" — so a run that is deliberately serving the
|
|
108
|
+
* on-box store can never be mistaken for a hosted one. Printed once per
|
|
109
|
+
* process by every surface (CLI command startup, MCP server startup); a
|
|
110
|
+
* long-lived server that re-resolves per request does not spam the notice.
|
|
111
|
+
* A no-op unless the environment actually selects the on-box store.
|
|
112
|
+
*/
|
|
113
|
+
export declare function announceMementosLocalMode(env?: MementosLocalOptInEnv, stderr?: (line: string) => void): void;
|
|
114
|
+
//# sourceMappingURL=local-opt-in.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-opt-in.d.ts","sourceRoot":"","sources":["../../src/lib/local-opt-in.ts"],"names":[],"mappings":"AAoEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,iEAAiE;AACjE,eAAO,MAAM,8BAA8B,qDAAsD,CAAC;AAElG,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,yDAA0D,CAAC;AAEjG;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,2GAKjC,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEvE,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,qBAAmC,GAAG,OAAO,CAEtF;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,qBAAmC,GAAG,OAAO,CAExF;AAED,8FAA8F;AAC9F,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CASnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,GAAE,qBAAmC,GAAG,OAAO,CAE/F;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,qBAAmC,GAAG,OAAO,CAG3F;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,qBAAqB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAQ9E;AAsBD,uFAAuF;AACvF,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,qBAAqB;IACrE,gFAAgF;IAChF,GAAG,EAAE,CAAC,CAAC;IACP,gFAAgF;IAChF,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,qBAAqB,EACpE,GAAG,EAAE,CAAC,EACN,WAAW,GAAE,sBAA2B,GACvC,sBAAsB,CAAC,CAAC,CAAC,CAS3B;AAID,oEAAoE;AACpE,wBAAgB,8BAA8B,IAAI,IAAI,CAErD;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,qBAAmC,EACxC,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAEzB,GACA,IAAI,CAYN"}
|
|
@@ -4,7 +4,7 @@ export declare const DEFAULT_MODEL = "gpt-4o-mini";
|
|
|
4
4
|
*/
|
|
5
5
|
export declare function getActiveModel(): string;
|
|
6
6
|
/**
|
|
7
|
-
* Sets the active fine-tuned model ID in
|
|
7
|
+
* Sets the active fine-tuned model ID in config.json under the effective data root.
|
|
8
8
|
*/
|
|
9
9
|
export declare function setActiveModel(modelId: string): void;
|
|
10
10
|
/**
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export type PathKind = "data" | "state" | "cache";
|
|
2
|
+
export interface PathsResolverOptions {
|
|
3
|
+
app: string;
|
|
4
|
+
internal?: boolean;
|
|
5
|
+
platform?: string;
|
|
6
|
+
home?: string;
|
|
7
|
+
env?: Record<string, string | undefined>;
|
|
8
|
+
}
|
|
9
|
+
export declare function dataDir(options: PathsResolverOptions): string;
|
|
10
|
+
/**
|
|
11
|
+
* @hasna/mementos data-home resolution through the @hasna/paths resolver.
|
|
12
|
+
*
|
|
13
|
+
* mementos stores its sqlite database (`mementos.db`), `config.json`, the
|
|
14
|
+
* per-agent `agents/`, `profiles/`, `training/` and `backups/` data and the
|
|
15
|
+
* remote-storage `storage/config.json` under a single data root. Historically
|
|
16
|
+
* that root was `~/.hasna/mementos`. This module resolves the root through
|
|
17
|
+
* `@hasna/paths` (XDG / macOS home layout) with a gated legacy adoption: the
|
|
18
|
+
* legacy `~/.hasna/mementos` stays the effective data root until the store is
|
|
19
|
+
* physically migrated to the XDG data home (`mementos.db` present there) or
|
|
20
|
+
* the operator sets the data-kind override `HASNA_DATA_HOME`. An existing
|
|
21
|
+
* live store never becomes invisible on upgrade. The exact-app overrides
|
|
22
|
+
* `HASNA_MEMENTOS_HOME` (then `MEMENTOS_HOME`) win unconditionally, and the
|
|
23
|
+
* db-path overrides (`HASNA_MEMENTOS_DB_PATH` / `MEMENTOS_DB_PATH`) stay
|
|
24
|
+
* layered on top by `getDbPath`.
|
|
25
|
+
*
|
|
26
|
+
* Nothing moves on disk in this phase — the package just resolves the new
|
|
27
|
+
* paths.
|
|
28
|
+
*/
|
|
29
|
+
/** The effective user home, mirroring the pre-existing mementos resolution (`HOME` || `USERPROFILE`). */
|
|
30
|
+
export declare function effectiveHome(): string;
|
|
31
|
+
/** The legacy (pre-XDG) data root: `~/.hasna/mementos`. */
|
|
32
|
+
export declare function legacyDataRoot(): string;
|
|
33
|
+
/**
|
|
34
|
+
* The @hasna/paths-resolved (XDG / macOS home layout) data root for mementos:
|
|
35
|
+
* `~/.local/share/hasna/mementos` on Linux, `~/Library/Application
|
|
36
|
+
* Support/Hasna/mementos` on macOS. The home override mirrors the pre-existing
|
|
37
|
+
* `$HOME`-first resolution so the resolver follows the same home the legacy
|
|
38
|
+
* path does.
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolverDataRoot(): string;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the resolver (XDG) data root should be adopted as the effective
|
|
43
|
+
* data root. The resolver root is adopted only when the operator has set
|
|
44
|
+
* `HASNA_DATA_HOME` (the data-kind override — a deliberate opt-in to the XDG
|
|
45
|
+
* layout) or the store has already been physically migrated there
|
|
46
|
+
* (`mementos.db` exists — mementos' store file). A machine that only
|
|
47
|
+
* redirects another kind (e.g. cache to tmpfs) must NOT have its data home
|
|
48
|
+
* moved, and a live store at the legacy home must never become invisible on
|
|
49
|
+
* upgrade.
|
|
50
|
+
*/
|
|
51
|
+
export declare function adoptResolverDataRoot(resolved: string, env?: NodeJS.ProcessEnv): boolean;
|
|
52
|
+
/** The exact-app override root, when set: `HASNA_MEMENTOS_HOME`, then `MEMENTOS_HOME`. */
|
|
53
|
+
export declare function exactDataRoot(): string | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* The effective data root: an exact-app override (`HASNA_MEMENTOS_HOME`, then
|
|
56
|
+
* `MEMENTOS_HOME`) wins unconditionally; otherwise the resolver (XDG) data
|
|
57
|
+
* root once adopted; otherwise the legacy `~/.hasna/mementos` default.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getDataRoot(): string;
|
|
60
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAQlD,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAuDD,wBAAgB,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAE7D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AAEH,yGAAyG;AACzG,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAKzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAIT;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAQlD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAKpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-sync.d.ts","sourceRoot":"","sources":["../../src/lib/profile-sync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"profile-sync.d.ts","sourceRoot":"","sources":["../../src/lib/profile-sync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAaD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CAmDnB"}
|
package/dist/lib/redact.d.ts
CHANGED
|
@@ -4,23 +4,83 @@ import type { Memory } from "../types/index.js";
|
|
|
4
4
|
* Returns the text with secrets replaced by [REDACTED].
|
|
5
5
|
*/
|
|
6
6
|
export declare function redactSecrets(text: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Redact a credential-shaped MEMORY KEY or TAG. Uses only the conservative
|
|
9
|
+
* high-confidence token shapes (see {@link KEY_TAG_SECRET_PATTERNS}) so
|
|
10
|
+
* ordinary identifiers survive untouched — the broad set's heuristic patterns
|
|
11
|
+
* false-positive on benign keys/tags that merely contain the substrings
|
|
12
|
+
* `key-`, `token-`, `SECRET=`, etc.
|
|
13
|
+
*/
|
|
14
|
+
export declare function redactCredentialKey(text: string): string;
|
|
7
15
|
/**
|
|
8
16
|
* Check if text contains any detectable secrets.
|
|
9
17
|
*/
|
|
10
18
|
export declare function containsSecrets(text: string): boolean;
|
|
11
19
|
/**
|
|
12
20
|
* Return a display-safe copy of a memory for READ surfaces (list, search,
|
|
13
|
-
* show
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
21
|
+
* show, recall, tail, chain, versions, when-to-use, pin/unpin/archive/update/
|
|
22
|
+
* save receipts). The write path redacts `value`/`summary` at save time but
|
|
23
|
+
* historically NEVER the `key` — and both TAGS and `key` are storable raw via
|
|
24
|
+
* `save --tags` / `update --tags` and via any bypassing write path — so a
|
|
25
|
+
* credential-shaped key OR TAG can otherwise reach stdout verbatim and trip
|
|
26
|
+
* the high-confidence token detectors (registry-token and AWS-access-key-id
|
|
27
|
+
* shapes among them).
|
|
18
28
|
*
|
|
19
|
-
* Free-text fields — `key`, `value`, `summary`, `when_to_use
|
|
20
|
-
* string leaf of `metadata` — are passed through
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
29
|
+
* Free-text fields — `key`, `value`, `summary`, `when_to_use`, every TAG and
|
|
30
|
+
* every string leaf of `metadata` — are passed through redaction. `key` and
|
|
31
|
+
* `tags` use the conservative {@link redactCredentialKey} (so ordinary
|
|
32
|
+
* identifiers survive — acceptance criterion 5); `value`, `summary`,
|
|
33
|
+
* `when_to_use` and `metadata` use the broad {@link redactSecrets} (over-
|
|
34
|
+
* redaction in inline free text is acceptable). Coordination metadata (id,
|
|
35
|
+
* scope, category, importance, status, timestamps, agent/project/session/
|
|
36
|
+
* machine attribution, version, flags) is preserved unchanged so consumers
|
|
37
|
+
* can still coordinate on the row.
|
|
24
38
|
*/
|
|
25
39
|
export declare function redactMemoryForOutput(memory: Memory): Memory;
|
|
40
|
+
/**
|
|
41
|
+
* Redact the free-text fields of a version-history row before it reaches a READ
|
|
42
|
+
* surface (`versions`, `diff`). `value`, `summary`, `when_to_use` and `tags`
|
|
43
|
+
* carry the same stored free-text leak class as the memory fields; coordination
|
|
44
|
+
* metadata (version, importance, scope, category, pinned, status, created_at,
|
|
45
|
+
* ids) is preserved. Tags use the conservative {@link redactCredentialKey}.
|
|
46
|
+
*/
|
|
47
|
+
export declare function redactVersionForOutput<V extends {
|
|
48
|
+
value: string;
|
|
49
|
+
summary: string | null;
|
|
50
|
+
tags?: string[];
|
|
51
|
+
when_to_use?: string | null;
|
|
52
|
+
}>(version: V): V;
|
|
53
|
+
/**
|
|
54
|
+
* Redact the free-text fields of a WRITE input (`CreateMemoryInput` /
|
|
55
|
+
* `UpdateMemoryInput`) BEFORE storage and BEFORE any lookup/guard that keys on
|
|
56
|
+
* those values. The write path must not persist a credential-shaped key or tag
|
|
57
|
+
* raw (acceptance criterion 2): `key` and `tags` use the conservative
|
|
58
|
+
* {@link redactCredentialKey} (so ordinary identifiers survive — criterion 5),
|
|
59
|
+
* while `value`, `summary`, `when_to_use` and every string leaf of `metadata`
|
|
60
|
+
* use the broad {@link redactSecrets}. Redaction is idempotent, so a double
|
|
61
|
+
* application (CLI layer + db layer) is safe. Coordination fields (category,
|
|
62
|
+
* scope, importance, source, status, version, ids, timestamps) are preserved.
|
|
63
|
+
*/
|
|
64
|
+
export declare function redactMemoryWriteInput<T extends object>(input: T): T;
|
|
65
|
+
/**
|
|
66
|
+
* Redact a string leaf that is NOT part of the Memory object but carries
|
|
67
|
+
* memory-derived text on a read surface — notably the highlight SNIPPETS of a
|
|
68
|
+
* search result. A query that matches inside a credential-shaped key produces
|
|
69
|
+
* a snippet window that spans the whole key, so redacting the memory alone is
|
|
70
|
+
* not enough for the search read path.
|
|
71
|
+
*/
|
|
72
|
+
export declare function redactTextFragment(text: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* A display-safe copy of a search result: the memory is passed through
|
|
75
|
+
* {@link redactMemoryForOutput} and every highlight snippet is passed through
|
|
76
|
+
* {@link redactTextFragment}. The result's own coordination fields (score,
|
|
77
|
+
* match_type, field names) survive unchanged.
|
|
78
|
+
*/
|
|
79
|
+
export declare function redactSearchResultForOutput<T extends {
|
|
80
|
+
memory: Memory;
|
|
81
|
+
highlights?: {
|
|
82
|
+
field: string;
|
|
83
|
+
snippet: string;
|
|
84
|
+
}[];
|
|
85
|
+
}>(result: T): T;
|
|
26
86
|
//# sourceMappingURL=redact.d.ts.map
|
package/dist/lib/redact.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/lib/redact.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/lib/redact.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAiEhD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQlD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMrD;AAoBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAa5D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACtI,OAAO,EAAE,CAAC,GACT,CAAC,CAQH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAiBpE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,EACzH,MAAM,EAAE,CAAC,GACR,CAAC,CASH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reflection.d.ts","sourceRoot":"","sources":["../../src/lib/reflection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"reflection.d.ts","sourceRoot":"","sources":["../../src/lib/reflection.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAqpBlF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,YAAY,EACrB,EAAE,CAAC,EAAE,QAAQ,GACZ,kBAAkB,EAAE,CAqEtB;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,YAAY,EACrB,EAAE,CAAC,EAAE,QAAQ,GACZ,kBAAkB,EAAE,CA4DtB;AAMD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnD;AAgBD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;CACP,EACN,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA0E/B;AAMD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,CAWN;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,GAAE,MAAW,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,CAU/D;AAED,wBAAgB,kBAAkB,CAChC,KAAK,GAAE,MAAW,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAUpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-sync.d.ts","sourceRoot":"","sources":["../../src/lib/storage-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"storage-sync.d.ts","sourceRoot":"","sources":["../../src/lib/storage-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,QAAQ,EAQb,gBAAgB,EAMjB,MAAM,eAAe,CAAC;AAgBvB,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC7C,iBAAiB,EAAE,QAAQ,EAAE,CAAC;IAC9B,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;CAC3C;AAED,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAunBD,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,qBAA0B,GAClC,yBAAyB,CAE3B;AAED,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,qBAA0B,GAClC,yBAAyB,CAE3B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,GAAG,oBAAoB,CAAM,GACxE,qBAAqB,CAqBvB"}
|
package/dist/lib/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG1D,OAAO,KAAK,EACV,kBAAkB,EAElB,aAAa,EACb,UAAU,EACX,MAAM,mBAAmB,CAAC;AA8K3B,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,aAAsB,EACjC,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,EAAE,CAAC,EAAE,QAAQ,CAAC;CACV,GACL,UAAU,CAgCZ;AAED,eAAO,MAAM,iBAAiB,UAAgC,CAAC"}
|
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiDpE,0FAA0F;AAC1F,eAAO,IAAI,SAAS,EAAE,SAAS,GAAG,IAAW,CAAC;AAsB9C,wBAAgB,WAAW,IAAI,SAAS,CA2EvC"}
|