dotmem 0.1.2 → 0.1.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.
Files changed (10) hide show
  1. package/README.md +5 -5
  2. package/cli.cjs +1334 -41
  3. package/cli.js +1334 -41
  4. package/global.cjs +286 -10
  5. package/global.js +286 -10
  6. package/index.cjs +296 -20
  7. package/index.js +296 -20
  8. package/mcp.cjs +300 -19
  9. package/mcp.js +300 -19
  10. package/package.json +1 -1
package/index.js CHANGED
@@ -1662,7 +1662,10 @@ var init_discover = __esm({
1662
1662
  `);
1663
1663
  }
1664
1664
  }, "diagnostic");
1665
- DEFAULT_LIMITS = { current: 5, deep: 25 };
1665
+ DEFAULT_LIMITS = {
1666
+ current: 8,
1667
+ deep: 25
1668
+ };
1666
1669
  FIELD_ORDER = [
1667
1670
  "id",
1668
1671
  "knowledge",
@@ -5626,6 +5629,267 @@ var init_user_identity = __esm({
5626
5629
  }
5627
5630
  });
5628
5631
 
5632
+ // core/knowledge/user-language.ts
5633
+ var user_language_exports = {};
5634
+ __export(user_language_exports, {
5635
+ DEFAULT_LANGUAGE: () => DEFAULT_LANGUAGE,
5636
+ DEFAULT_RESPONSE_LANGUAGE: () => DEFAULT_RESPONSE_LANGUAGE,
5637
+ DEFAULT_USER_LANGUAGE: () => DEFAULT_USER_LANGUAGE,
5638
+ LANGUAGE_DEFAULT: () => LANGUAGE_DEFAULT,
5639
+ LANGUAGE_PREFERENCE_FILE_NAME: () => LANGUAGE_PREFERENCE_FILE_NAME,
5640
+ PREFERENCES_FILE_NAME: () => PREFERENCES_FILE_NAME,
5641
+ USER_LANGUAGE_DEFAULT: () => USER_LANGUAGE_DEFAULT,
5642
+ USER_LANGUAGE_FILE_NAME: () => USER_LANGUAGE_FILE_NAME,
5643
+ USER_LANGUAGE_PREFERENCE_FILE_NAME: () => USER_LANGUAGE_PREFERENCE_FILE_NAME,
5644
+ USER_PREFERENCES_FILE_NAME: () => USER_PREFERENCES_FILE_NAME,
5645
+ getLanguagePreference: () => getLanguagePreference,
5646
+ getResponseLanguage: () => getResponseLanguage,
5647
+ getUserLanguage: () => getUserLanguage,
5648
+ getUserLanguagePreference: () => getUserLanguagePreference,
5649
+ isItalian: () => isItalian,
5650
+ language: () => language,
5651
+ languageTag: () => languageTag,
5652
+ loadLanguagePreference: () => loadLanguagePreference,
5653
+ loadUserLanguage: () => loadUserLanguage,
5654
+ loadUserLanguagePreference: () => loadUserLanguagePreference,
5655
+ preferredLanguage: () => preferredLanguage,
5656
+ readUserLanguage: () => readUserLanguage,
5657
+ resolveLanguage: () => resolveLanguage,
5658
+ resolveLanguagePath: () => resolveLanguagePath,
5659
+ resolveLanguagePreference: () => resolveLanguagePreference,
5660
+ resolveLanguagePreferencePath: () => resolveLanguagePreferencePath,
5661
+ resolveResponseLanguage: () => resolveResponseLanguage,
5662
+ resolveUserLanguage: () => resolveUserLanguage,
5663
+ resolveUserLanguagePath: () => resolveUserLanguagePath,
5664
+ resolveUserLanguagePreferencePath: () => resolveUserLanguagePreferencePath,
5665
+ responseLanguage: () => responseLanguage,
5666
+ saveLanguagePreference: () => saveLanguagePreference,
5667
+ saveUserLanguage: () => saveUserLanguage,
5668
+ setUserLanguage: () => setUserLanguage,
5669
+ userLanguage: () => userLanguage,
5670
+ writeUserLanguage: () => writeUserLanguage
5671
+ });
5672
+ function joinPath3(base, child) {
5673
+ const separator3 = process.platform === "win32" ? "\\" : "/";
5674
+ return `${base.replace(/[\\/]+/g, separator3)}${separator3}${child}`;
5675
+ }
5676
+ function resolveUserLanguagePath() {
5677
+ return joinPath3(resolveUserDotMemPath(), USER_LANGUAGE_FILE_NAME);
5678
+ }
5679
+ function resolveUserLanguagePreferencePath() {
5680
+ return resolveUserLanguagePath();
5681
+ }
5682
+ function resolveLanguagePath() {
5683
+ return resolveUserLanguagePath();
5684
+ }
5685
+ function resolveLanguagePreferencePath() {
5686
+ return resolveUserLanguagePath();
5687
+ }
5688
+ function readJsonFile(path) {
5689
+ const fs = getSyncFs();
5690
+ if (!fs) return null;
5691
+ let raw;
5692
+ try {
5693
+ raw = fs.readFileSync(path, "utf8");
5694
+ } catch {
5695
+ return null;
5696
+ }
5697
+ if (typeof raw !== "string") return null;
5698
+ if (raw.charCodeAt(0) === 65279) raw = raw.slice(1);
5699
+ try {
5700
+ return JSON.parse(raw);
5701
+ } catch {
5702
+ return null;
5703
+ }
5704
+ }
5705
+ function extractLanguage(value) {
5706
+ if (value === null || value === void 0) return null;
5707
+ if (typeof value === "string") {
5708
+ const trimmed = value.trim();
5709
+ return trimmed ? trimmed : null;
5710
+ }
5711
+ if (typeof value !== "object" || Array.isArray(value)) return null;
5712
+ for (const key of LANGUAGE_KEYS) {
5713
+ if (Object.prototype.hasOwnProperty.call(value, key)) {
5714
+ const candidate = extractLanguage(value[key]);
5715
+ if (candidate) return candidate;
5716
+ }
5717
+ }
5718
+ for (const containerKey of ["preferences", "user", "agent", "config", "settings", "storage"]) {
5719
+ if (Object.prototype.hasOwnProperty.call(value, containerKey)) {
5720
+ const candidate = extractLanguage(value[containerKey]);
5721
+ if (candidate) return candidate;
5722
+ }
5723
+ }
5724
+ return null;
5725
+ }
5726
+ function loadUserLanguage() {
5727
+ const fs = getSyncFs();
5728
+ const anchor = resolveUserDotMemPath();
5729
+ if (fs) {
5730
+ for (const name of LANGUAGE_FILE_NAMES) {
5731
+ const candidatePath = joinPath3(anchor, name);
5732
+ const parsed = readJsonFile(candidatePath);
5733
+ const language2 = extractLanguage(parsed);
5734
+ if (language2) return language2;
5735
+ }
5736
+ try {
5737
+ const govPath = joinPath3(joinPath3(anchor, "policy"), "identity-governance.json");
5738
+ const gov = readJsonFile(govPath);
5739
+ const language2 = extractLanguage(gov);
5740
+ if (language2) return language2;
5741
+ } catch {
5742
+ }
5743
+ try {
5744
+ const settingsPath = joinPath3(anchor, "dotmem.settings.json");
5745
+ const settings = readJsonFile(settingsPath);
5746
+ const language2 = extractLanguage(settings);
5747
+ if (language2) return language2;
5748
+ } catch {
5749
+ }
5750
+ }
5751
+ const env = globalThis?.process?.env;
5752
+ const envLang = env?.DOTMEM_LANGUAGE || env?.DOTMEM_RESPONSE_LANGUAGE || env?.DOTMEM_USER_LANGUAGE;
5753
+ if (typeof envLang === "string" && envLang.trim()) return envLang.trim();
5754
+ return DEFAULT_USER_LANGUAGE;
5755
+ }
5756
+ function readUserLanguage() {
5757
+ return loadUserLanguage();
5758
+ }
5759
+ function getUserLanguage() {
5760
+ return loadUserLanguage();
5761
+ }
5762
+ function resolveUserLanguage() {
5763
+ return loadUserLanguage();
5764
+ }
5765
+ function resolveLanguage() {
5766
+ return loadUserLanguage();
5767
+ }
5768
+ function loadLanguagePreference() {
5769
+ return loadUserLanguage();
5770
+ }
5771
+ function getLanguagePreference() {
5772
+ return loadUserLanguage();
5773
+ }
5774
+ function resolveLanguagePreference() {
5775
+ return loadUserLanguage();
5776
+ }
5777
+ function loadUserLanguagePreference() {
5778
+ return loadUserLanguage();
5779
+ }
5780
+ function getUserLanguagePreference() {
5781
+ return loadUserLanguage();
5782
+ }
5783
+ function resolveResponseLanguage() {
5784
+ return loadUserLanguage();
5785
+ }
5786
+ function getResponseLanguage() {
5787
+ return loadUserLanguage();
5788
+ }
5789
+ async function setUserLanguage(language2) {
5790
+ const fsMod = await import('fs/promises');
5791
+ const path = resolveUserLanguagePath();
5792
+ const dir = parentStoragePath(path);
5793
+ await fsMod.mkdir(dir, { recursive: true });
5794
+ const payload = { format: "dotmem.language", version: 1, language: String(language2).trim() };
5795
+ const temporary = `${path}.${process.pid}.${Date.now().toString(36)}.tmp`;
5796
+ await fsMod.writeFile(temporary, `${JSON.stringify(payload, null, 2)}
5797
+ `, "utf8");
5798
+ await fsMod.rename(temporary, path);
5799
+ return payload.language;
5800
+ }
5801
+ async function saveUserLanguage(language2) {
5802
+ return setUserLanguage(language2);
5803
+ }
5804
+ async function writeUserLanguage(language2) {
5805
+ return setUserLanguage(language2);
5806
+ }
5807
+ async function saveLanguagePreference(language2) {
5808
+ return setUserLanguage(language2);
5809
+ }
5810
+ function isItalian(language2) {
5811
+ const value = (language2 ?? loadUserLanguage()).toLowerCase();
5812
+ return value === "it" || value === "it-it" || value.startsWith("it-");
5813
+ }
5814
+ function languageTag() {
5815
+ return loadUserLanguage();
5816
+ }
5817
+ var USER_LANGUAGE_FILE_NAME, USER_LANGUAGE_PREFERENCE_FILE_NAME, LANGUAGE_PREFERENCE_FILE_NAME, USER_PREFERENCES_FILE_NAME, PREFERENCES_FILE_NAME, DEFAULT_USER_LANGUAGE, DEFAULT_LANGUAGE, USER_LANGUAGE_DEFAULT, LANGUAGE_DEFAULT, DEFAULT_RESPONSE_LANGUAGE, LANGUAGE_FILE_NAMES, LANGUAGE_KEYS, userLanguage, language, responseLanguage, preferredLanguage;
5818
+ var init_user_language = __esm({
5819
+ "core/knowledge/user-language.ts"() {
5820
+ init_user_paths();
5821
+ init_storage_paths();
5822
+ USER_LANGUAGE_FILE_NAME = "language.json";
5823
+ USER_LANGUAGE_PREFERENCE_FILE_NAME = "user-language.json";
5824
+ LANGUAGE_PREFERENCE_FILE_NAME = "language-preference.json";
5825
+ USER_PREFERENCES_FILE_NAME = "user-preferences.json";
5826
+ PREFERENCES_FILE_NAME = "preferences.json";
5827
+ DEFAULT_USER_LANGUAGE = "it-IT";
5828
+ DEFAULT_LANGUAGE = "it-IT";
5829
+ USER_LANGUAGE_DEFAULT = "it-IT";
5830
+ LANGUAGE_DEFAULT = "it-IT";
5831
+ DEFAULT_RESPONSE_LANGUAGE = "it-IT";
5832
+ LANGUAGE_FILE_NAMES = [
5833
+ USER_LANGUAGE_FILE_NAME,
5834
+ USER_LANGUAGE_PREFERENCE_FILE_NAME,
5835
+ LANGUAGE_PREFERENCE_FILE_NAME,
5836
+ USER_PREFERENCES_FILE_NAME,
5837
+ PREFERENCES_FILE_NAME,
5838
+ "config.json",
5839
+ "user-config.json",
5840
+ "agent-config.json",
5841
+ "dotmem.config.json"
5842
+ ];
5843
+ LANGUAGE_KEYS = [
5844
+ "language",
5845
+ "Language",
5846
+ "responseLanguage",
5847
+ "response_language",
5848
+ "preferredLanguage",
5849
+ "preferred_language",
5850
+ "userLanguage",
5851
+ "user_language",
5852
+ "defaultLanguage",
5853
+ "default_language",
5854
+ "locale",
5855
+ "lang",
5856
+ "uiLanguage",
5857
+ "ui_language",
5858
+ "conversationLanguage",
5859
+ "conversation_language"
5860
+ ];
5861
+ __name(joinPath3, "joinPath");
5862
+ __name(resolveUserLanguagePath, "resolveUserLanguagePath");
5863
+ __name(resolveUserLanguagePreferencePath, "resolveUserLanguagePreferencePath");
5864
+ __name(resolveLanguagePath, "resolveLanguagePath");
5865
+ __name(resolveLanguagePreferencePath, "resolveLanguagePreferencePath");
5866
+ __name(readJsonFile, "readJsonFile");
5867
+ __name(extractLanguage, "extractLanguage");
5868
+ __name(loadUserLanguage, "loadUserLanguage");
5869
+ __name(readUserLanguage, "readUserLanguage");
5870
+ __name(getUserLanguage, "getUserLanguage");
5871
+ __name(resolveUserLanguage, "resolveUserLanguage");
5872
+ __name(resolveLanguage, "resolveLanguage");
5873
+ __name(loadLanguagePreference, "loadLanguagePreference");
5874
+ __name(getLanguagePreference, "getLanguagePreference");
5875
+ __name(resolveLanguagePreference, "resolveLanguagePreference");
5876
+ __name(loadUserLanguagePreference, "loadUserLanguagePreference");
5877
+ __name(getUserLanguagePreference, "getUserLanguagePreference");
5878
+ __name(resolveResponseLanguage, "resolveResponseLanguage");
5879
+ __name(getResponseLanguage, "getResponseLanguage");
5880
+ __name(setUserLanguage, "setUserLanguage");
5881
+ __name(saveUserLanguage, "saveUserLanguage");
5882
+ __name(writeUserLanguage, "writeUserLanguage");
5883
+ __name(saveLanguagePreference, "saveLanguagePreference");
5884
+ __name(isItalian, "isItalian");
5885
+ __name(languageTag, "languageTag");
5886
+ userLanguage = loadUserLanguage();
5887
+ language = loadUserLanguage();
5888
+ responseLanguage = loadUserLanguage();
5889
+ preferredLanguage = loadUserLanguage();
5890
+ }
5891
+ });
5892
+
5629
5893
  // core/profile/ai.json
5630
5894
  var ai_default;
5631
5895
  var init_ai = __esm({
@@ -6282,12 +6546,12 @@ var init_staging = __esm({
6282
6546
  });
6283
6547
 
6284
6548
  // core/knowledge/loops.ts
6285
- function joinPath3(base, child) {
6549
+ function joinPath4(base, child) {
6286
6550
  const separator3 = process.platform === "win32" ? "\\" : "/";
6287
6551
  return `${base.replace(/[\\/]+/g, separator3)}${separator3}${child}`;
6288
6552
  }
6289
6553
  function resolveLoopsFilePath() {
6290
- return joinPath3(resolveUserDotMemPath(), LOOPS_FILE_NAME);
6554
+ return joinPath4(resolveUserDotMemPath(), LOOPS_FILE_NAME);
6291
6555
  }
6292
6556
  async function readFile(path) {
6293
6557
  try {
@@ -6419,7 +6683,7 @@ var init_loops = __esm({
6419
6683
  init_user_paths();
6420
6684
  LOOPS_FILE_NAME = "loops.json";
6421
6685
  LOOPS_FORMAT_VERSION = 1;
6422
- __name(joinPath3, "joinPath");
6686
+ __name(joinPath4, "joinPath");
6423
6687
  __name(resolveLoopsFilePath, "resolveLoopsFilePath");
6424
6688
  __name(readFile, "readFile");
6425
6689
  __name(writeFile, "writeFile");
@@ -6508,12 +6772,12 @@ var init_violations = __esm({
6508
6772
  });
6509
6773
 
6510
6774
  // core/knowledge/session.ts
6511
- function joinPath4(base, child) {
6775
+ function joinPath5(base, child) {
6512
6776
  const separator3 = process.platform === "win32" ? "\\" : "/";
6513
6777
  return `${base.replace(/[\\/]+/g, separator3)}${separator3}${child}`;
6514
6778
  }
6515
6779
  function resolveSessionFilePath() {
6516
- return joinPath4(resolveUserDotMemPath(), SESSION_FILE_NAME);
6780
+ return joinPath5(resolveUserDotMemPath(), SESSION_FILE_NAME);
6517
6781
  }
6518
6782
  async function readFile2(path) {
6519
6783
  try {
@@ -6546,7 +6810,7 @@ var init_session = __esm({
6546
6810
  "core/knowledge/session.ts"() {
6547
6811
  init_user_paths();
6548
6812
  SESSION_FILE_NAME = "session.json";
6549
- __name(joinPath4, "joinPath");
6813
+ __name(joinPath5, "joinPath");
6550
6814
  __name(resolveSessionFilePath, "resolveSessionFilePath");
6551
6815
  __name(readFile2, "readFile");
6552
6816
  DEFAULT_SESSION = {
@@ -6561,12 +6825,12 @@ var init_session = __esm({
6561
6825
  });
6562
6826
 
6563
6827
  // core/knowledge/exemplars.ts
6564
- function joinPath5(base, child) {
6828
+ function joinPath6(base, child) {
6565
6829
  const separator3 = process.platform === "win32" ? "\\" : "/";
6566
6830
  return `${base.replace(/[\\/]+/g, separator3)}${separator3}${child}`;
6567
6831
  }
6568
6832
  function resolveExemplarsPath() {
6569
- return joinPath5(resolveUserDotMemPath(), EXEMPLARS_FILE_NAME);
6833
+ return joinPath6(resolveUserDotMemPath(), EXEMPLARS_FILE_NAME);
6570
6834
  }
6571
6835
  async function readFile3(path) {
6572
6836
  try {
@@ -6703,7 +6967,7 @@ var init_exemplars = __esm({
6703
6967
  init_user_paths();
6704
6968
  EXEMPLARS_FILE_NAME = "exemplars.json";
6705
6969
  EXEMPLARS_FORMAT_VERSION = 1;
6706
- __name(joinPath5, "joinPath");
6970
+ __name(joinPath6, "joinPath");
6707
6971
  __name(resolveExemplarsPath, "resolveExemplarsPath");
6708
6972
  __name(readFile3, "readFile");
6709
6973
  __name(writeFile2, "writeFile");
@@ -6718,12 +6982,12 @@ var init_exemplars = __esm({
6718
6982
  });
6719
6983
 
6720
6984
  // core/knowledge/personality-anchor.ts
6721
- function joinPath6(base, child) {
6985
+ function joinPath7(base, child) {
6722
6986
  const separator3 = process.platform === "win32" ? "\\" : "/";
6723
6987
  return `${base.replace(/[\\/]+/g, separator3)}${separator3}${child}`;
6724
6988
  }
6725
6989
  function resolvePersonalityAnchorPath() {
6726
- return joinPath6(resolveUserDotMemPath(), PERSONALITY_ANCHOR_FILE_NAME);
6990
+ return joinPath7(resolveUserDotMemPath(), PERSONALITY_ANCHOR_FILE_NAME);
6727
6991
  }
6728
6992
  async function readFile4(path) {
6729
6993
  try {
@@ -6911,7 +7175,7 @@ var init_personality_anchor = __esm({
6911
7175
  init_user_paths();
6912
7176
  PERSONALITY_ANCHOR_FILE_NAME = "personality-anchor.json";
6913
7177
  PERSONALITY_ANCHOR_FORMAT_VERSION = 1;
6914
- __name(joinPath6, "joinPath");
7178
+ __name(joinPath7, "joinPath");
6915
7179
  __name(resolvePersonalityAnchorPath, "resolvePersonalityAnchorPath");
6916
7180
  __name(readFile4, "readFile");
6917
7181
  __name(writeFile3, "writeFile");
@@ -6954,6 +7218,7 @@ var init_knowledge = __esm({
6954
7218
  init_storage_location();
6955
7219
  init_storage_settings();
6956
7220
  init_user_identity();
7221
+ init_user_language();
6957
7222
  init_identity_resolution();
6958
7223
  init_identity_governance();
6959
7224
  init_effective_contract();
@@ -10096,6 +10361,17 @@ var memory = {
10096
10361
  return profile.get(id);
10097
10362
  }
10098
10363
  },
10364
+ /** Persistent default response language (canonical user config). */
10365
+ language: {
10366
+ async get() {
10367
+ const m = await Promise.resolve().then(() => (init_user_language(), user_language_exports));
10368
+ return m.resolveUserLanguage();
10369
+ },
10370
+ async set(value) {
10371
+ const m = await Promise.resolve().then(() => (init_user_language(), user_language_exports));
10372
+ return m.setUserLanguage(value);
10373
+ }
10374
+ },
10099
10375
  /** Note surface: store and retrieve markdown files and text blocks. */
10100
10376
  note: {
10101
10377
  async add(opts) {
@@ -12695,12 +12971,12 @@ var GovernancePolicyError = class extends Error {
12695
12971
  };
12696
12972
  var requiredText3 = /* @__PURE__ */ __name((v) => typeof v === "string" && v.trim().length > 0, "requiredText");
12697
12973
  var nowIso2 = /* @__PURE__ */ __name(() => (/* @__PURE__ */ new Date()).toISOString(), "nowIso");
12698
- var joinPath7 = /* @__PURE__ */ __name((base, child) => {
12974
+ var joinPath8 = /* @__PURE__ */ __name((base, child) => {
12699
12975
  const sep = process.platform === "win32" ? "\\" : "/";
12700
12976
  return `${base.replace(/[\\/]+/g, sep)}${sep}${child}`;
12701
12977
  }, "joinPath");
12702
- var resolveGovernanceDir = /* @__PURE__ */ __name((directory) => directory ?? joinPath7(resolveUserDotMemPath(), "policy"), "resolveGovernanceDir");
12703
- var resolveGovernanceFilePath = /* @__PURE__ */ __name((directory) => joinPath7(resolveGovernanceDir(directory), GOVERNANCE_FILE_NAME), "resolveGovernanceFilePath");
12978
+ var resolveGovernanceDir = /* @__PURE__ */ __name((directory) => directory ?? joinPath8(resolveUserDotMemPath(), "policy"), "resolveGovernanceDir");
12979
+ var resolveGovernanceFilePath = /* @__PURE__ */ __name((directory) => joinPath8(resolveGovernanceDir(directory), GOVERNANCE_FILE_NAME), "resolveGovernanceFilePath");
12704
12980
  var ROLE_CAPABILITIES = {
12705
12981
  "human-owner": /* @__PURE__ */ new Set(["policy.propose", "policy.review", "policy.approve", "policy.reject", "policy.activate", "policy.suspend", "policy.retire", "role.bind", "governance.read", "governance.audit.read", "agent.execute", "guardrail.stop.activate", "guardrail.stop.release"]),
12706
12982
  "human-approver": /* @__PURE__ */ new Set(["policy.review", "policy.approve", "policy.reject", "governance.read", "governance.audit.read", "guardrail.stop.activate", "guardrail.stop.release"]),
@@ -13428,12 +13704,12 @@ var GuardrailError = class extends Error {
13428
13704
  };
13429
13705
  var requiredText4 = /* @__PURE__ */ __name((v) => typeof v === "string" && v.trim().length > 0, "requiredText");
13430
13706
  var nowIso3 = /* @__PURE__ */ __name(() => (/* @__PURE__ */ new Date()).toISOString(), "nowIso");
13431
- var joinPath8 = /* @__PURE__ */ __name((base, child) => {
13707
+ var joinPath9 = /* @__PURE__ */ __name((base, child) => {
13432
13708
  const sep = process.platform === "win32" ? "\\" : "/";
13433
13709
  return `${base.replace(/[\\/]+/g, sep)}${sep}${child}`;
13434
13710
  }, "joinPath");
13435
- var resolveGuardrailDir = /* @__PURE__ */ __name((directory) => directory ?? joinPath8(resolveUserDotMemPath(), "policy"), "resolveGuardrailDir");
13436
- var resolveStopFilePath = /* @__PURE__ */ __name((directory) => joinPath8(resolveGuardrailDir(directory), STOP_FILE_NAME), "resolveStopFilePath");
13711
+ var resolveGuardrailDir = /* @__PURE__ */ __name((directory) => directory ?? joinPath9(resolveUserDotMemPath(), "policy"), "resolveGuardrailDir");
13712
+ var resolveStopFilePath = /* @__PURE__ */ __name((directory) => joinPath9(resolveGuardrailDir(directory), STOP_FILE_NAME), "resolveStopFilePath");
13437
13713
  var ACTIONS_REQUIRING_TRUSTED_IDENTITY = /* @__PURE__ */ new Set([
13438
13714
  "agent.execute",
13439
13715
  "guardrail.stop.activate",
@@ -13900,7 +14176,7 @@ var EPITEMIC_STATUSES2 = [
13900
14176
 
13901
14177
  // app.json
13902
14178
  var app_default = {
13903
- version: "0.1.2"};
14179
+ version: "0.1.3"};
13904
14180
 
13905
14181
  // index.ts
13906
14182
  var dotmem = {