@agimon-ai/doompi 0.0.1-alpha.25 → 0.0.1-alpha.26

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.
@@ -1,2 +1,2 @@
1
- const e=require(`../../../_virtual/_rolldown/runtime.cjs`);let t=require(`node:path`);t=e.__toESM(t,1);let n=require(`node:fs`);n=e.__toESM(n,1);const r=t.default.join(`.pi`,`settings.json`);function i(e){try{return n.default.statSync(e).isDirectory()}catch{return!1}}function a(e){try{return n.default.statSync(e).isFile()}catch{return!1}}function o(e){return i(t.default.join(e,`.doom`))||a(t.default.join(e,r))}function s(e){let n=t.default.resolve(e);for(;;){if(o(n))return n;let r=t.default.dirname(n);if(r===n)throw Error(`Could not find repository root from ${e}`);n=r}}exports.findRepositoryRoot=s,exports.isRepositoryRoot=o;
1
+ const e=require(`../../../_virtual/_rolldown/runtime.cjs`);let t=require(`node:path`);t=e.__toESM(t,1);let n=require(`node:fs`);n=e.__toESM(n,1);const r=t.default.join(`.pi`,`settings.json`);function i(e){try{return n.default.statSync(e).isDirectory()}catch{return!1}}function a(e){try{return n.default.statSync(e).isFile()}catch{return!1}}function o(e){let n=t.default.join(e,`.git`);return i(t.default.join(e,`.doom`))||a(t.default.join(e,r))||i(n)||a(n)}function s(e){let n=t.default.resolve(e);for(;;){if(o(n))return n;let r=t.default.dirname(n);if(r===n)throw Error(`Could not find repository root from ${e}`);n=r}}exports.findRepositoryRoot=s,exports.isRepositoryRoot=o;
2
2
  //# sourceMappingURL=repository.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository.cjs","names":["path","fs"],"sources":["../../../../src/adapters/repository/repository.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\n/** Doom's own repository configuration directory. */\nconst DOOM_DIRECTORY = '.doom';\n/** A Pi project that has been configured, rather than any stray `.pi` folder. */\nconst PI_SETTINGS = path.join('.pi', 'settings.json');\n\nfunction isDirectory(target: string): boolean {\n try {\n return fs.statSync(target).isDirectory();\n } catch {\n return false;\n }\n}\n\nfunction isFile(target: string): boolean {\n try {\n return fs.statSync(target).isFile();\n } catch {\n return false;\n }\n}\n\n/**\n * True when a directory carries a marker Doom Pi is willing to treat as a root.\n *\n * Only Doom's own directory or an existing Pi settings file count. Build tooling\n * markers are deliberately not consulted: a consumer repository has no Nx, pnpm\n * workspace, or plugins profile to offer, and trusting arbitrary project config\n * would let an unapproved directory decide what gets loaded.\n */\nexport function isRepositoryRoot(directory: string): boolean {\n return isDirectory(path.join(directory, DOOM_DIRECTORY)) || isFile(path.join(directory, PI_SETTINGS));\n}\n\n/**\n * Walks up from `start` looking for the repository root.\n *\n * The nearest marked ancestor wins, so a session started in a subdirectory\n * resolves to the repository that configured Doom rather than to a parent\n * checkout that happens to sit above it.\n */\nexport function findRepositoryRoot(start: string): string {\n let directory = path.resolve(start);\n while (true) {\n if (isRepositoryRoot(directory)) return directory;\n const parent = path.dirname(directory);\n if (parent === directory) throw new Error(`Could not find repository root from ${start}`);\n directory = parent;\n }\n}\n"],"mappings":"iJAIA,MAEM,EAAcA,EAAAA,QAAK,KAAK,MAAO,gBAAgB,CAErD,SAAS,EAAY,EAAyB,CAC5C,GAAI,CACF,OAAOC,EAAAA,QAAG,SAAS,EAAO,CAAC,aAAa,MAClC,CACN,MAAO,IAIX,SAAS,EAAO,EAAyB,CACvC,GAAI,CACF,OAAOA,EAAAA,QAAG,SAAS,EAAO,CAAC,QAAQ,MAC7B,CACN,MAAO,IAYX,SAAgB,EAAiB,EAA4B,CAC3D,OAAO,EAAYD,EAAAA,QAAK,KAAK,EAAW,QAAe,CAAC,EAAI,EAAOA,EAAAA,QAAK,KAAK,EAAW,EAAY,CAAC,CAUvG,SAAgB,EAAmB,EAAuB,CACxD,IAAI,EAAYA,EAAAA,QAAK,QAAQ,EAAM,CACnC,OAAa,CACX,GAAI,EAAiB,EAAU,CAAE,OAAO,EACxC,IAAM,EAASA,EAAAA,QAAK,QAAQ,EAAU,CACtC,GAAI,IAAW,EAAW,MAAU,MAAM,uCAAuC,IAAQ,CACzF,EAAY"}
1
+ {"version":3,"file":"repository.cjs","names":["path","fs"],"sources":["../../../../src/adapters/repository/repository.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\n/** Doom's own repository configuration directory. */\nconst DOOM_DIRECTORY = '.doom';\n/** Git's root marker, which may be a directory or a worktree pointer file. */\nconst GIT_DIRECTORY = '.git';\n/** A Pi project that has been configured, rather than any stray `.pi` folder. */\nconst PI_SETTINGS = path.join('.pi', 'settings.json');\n\nfunction isDirectory(target: string): boolean {\n try {\n return fs.statSync(target).isDirectory();\n } catch {\n return false;\n }\n}\n\nfunction isFile(target: string): boolean {\n try {\n return fs.statSync(target).isFile();\n } catch {\n return false;\n }\n}\n\n/**\n * True when a directory carries a marker Doom Pi is willing to treat as a root.\n *\n * Doom and Pi markers identify configured projects. A Git marker also counts so\n * personal configuration can be synchronized into a new checkout before it has\n * repository-local configuration. Build-tooling markers remain deliberately\n * excluded because they do not establish a repository boundary.\n */\nexport function isRepositoryRoot(directory: string): boolean {\n const gitMarker = path.join(directory, GIT_DIRECTORY);\n return (\n isDirectory(path.join(directory, DOOM_DIRECTORY)) ||\n isFile(path.join(directory, PI_SETTINGS)) ||\n isDirectory(gitMarker) ||\n isFile(gitMarker)\n );\n}\n\n/**\n * Walks up from `start` looking for the repository root.\n *\n * The nearest marked ancestor wins, so a session started in a subdirectory\n * resolves to the repository that configured Doom rather than to a parent\n * checkout that happens to sit above it.\n */\nexport function findRepositoryRoot(start: string): string {\n let directory = path.resolve(start);\n while (true) {\n if (isRepositoryRoot(directory)) return directory;\n const parent = path.dirname(directory);\n if (parent === directory) throw new Error(`Could not find repository root from ${start}`);\n directory = parent;\n }\n}\n"],"mappings":"iJAIA,MAIM,EAAcA,EAAAA,QAAK,KAAK,MAAO,gBAAgB,CAErD,SAAS,EAAY,EAAyB,CAC5C,GAAI,CACF,OAAOC,EAAAA,QAAG,SAAS,EAAO,CAAC,aAAa,MAClC,CACN,MAAO,IAIX,SAAS,EAAO,EAAyB,CACvC,GAAI,CACF,OAAOA,EAAAA,QAAG,SAAS,EAAO,CAAC,QAAQ,MAC7B,CACN,MAAO,IAYX,SAAgB,EAAiB,EAA4B,CAC3D,IAAM,EAAYD,EAAAA,QAAK,KAAK,EAAW,OAAc,CACrD,OACE,EAAYA,EAAAA,QAAK,KAAK,EAAW,QAAe,CAAC,EACjD,EAAOA,EAAAA,QAAK,KAAK,EAAW,EAAY,CAAC,EACzC,EAAY,EAAU,EACtB,EAAO,EAAU,CAWrB,SAAgB,EAAmB,EAAuB,CACxD,IAAI,EAAYA,EAAAA,QAAK,QAAQ,EAAM,CACnC,OAAa,CACX,GAAI,EAAiB,EAAU,CAAE,OAAO,EACxC,IAAM,EAASA,EAAAA,QAAK,QAAQ,EAAU,CACtC,GAAI,IAAW,EAAW,MAAU,MAAM,uCAAuC,IAAQ,CACzF,EAAY"}
@@ -2,10 +2,10 @@
2
2
  /**
3
3
  * True when a directory carries a marker Doom Pi is willing to treat as a root.
4
4
  *
5
- * Only Doom's own directory or an existing Pi settings file count. Build tooling
6
- * markers are deliberately not consulted: a consumer repository has no Nx, pnpm
7
- * workspace, or plugins profile to offer, and trusting arbitrary project config
8
- * would let an unapproved directory decide what gets loaded.
5
+ * Doom and Pi markers identify configured projects. A Git marker also counts so
6
+ * personal configuration can be synchronized into a new checkout before it has
7
+ * repository-local configuration. Build-tooling markers remain deliberately
8
+ * excluded because they do not establish a repository boundary.
9
9
  */
10
10
  declare function isRepositoryRoot(directory: string): boolean;
11
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.cts","names":[],"sources":["../../../../src/adapters/repository/repository.ts"],"mappings":";;AAgCA;;;;;AAWA;;iBAXgB,gBAAA,CAAiB,SAAA;;;;;;;;iBAWjB,kBAAA,CAAmB,KAAA"}
1
+ {"version":3,"file":"repository.d.cts","names":[],"sources":["../../../../src/adapters/repository/repository.ts"],"mappings":";;AAkCA;;;;;AAiBA;;iBAjBgB,gBAAA,CAAiB,SAAA;;;;;;;;iBAiBjB,kBAAA,CAAmB,KAAA"}
@@ -2,10 +2,10 @@
2
2
  /**
3
3
  * True when a directory carries a marker Doom Pi is willing to treat as a root.
4
4
  *
5
- * Only Doom's own directory or an existing Pi settings file count. Build tooling
6
- * markers are deliberately not consulted: a consumer repository has no Nx, pnpm
7
- * workspace, or plugins profile to offer, and trusting arbitrary project config
8
- * would let an unapproved directory decide what gets loaded.
5
+ * Doom and Pi markers identify configured projects. A Git marker also counts so
6
+ * personal configuration can be synchronized into a new checkout before it has
7
+ * repository-local configuration. Build-tooling markers remain deliberately
8
+ * excluded because they do not establish a repository boundary.
9
9
  */
10
10
  declare function isRepositoryRoot(directory: string): boolean;
11
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.mts","names":[],"sources":["../../../../src/adapters/repository/repository.ts"],"mappings":";;AAgCA;;;;;AAWA;;iBAXgB,gBAAA,CAAiB,SAAA;;;;;;;;iBAWjB,kBAAA,CAAmB,KAAA"}
1
+ {"version":3,"file":"repository.d.mts","names":[],"sources":["../../../../src/adapters/repository/repository.ts"],"mappings":";;AAkCA;;;;;AAiBA;;iBAjBgB,gBAAA,CAAiB,SAAA;;;;;;;;iBAiBjB,kBAAA,CAAmB,KAAA"}
@@ -1,2 +1,2 @@
1
- import e from"node:path";import t from"node:fs";const n=e.join(`.pi`,`settings.json`);function r(e){try{return t.statSync(e).isDirectory()}catch{return!1}}function i(e){try{return t.statSync(e).isFile()}catch{return!1}}function a(t){return r(e.join(t,`.doom`))||i(e.join(t,n))}function o(t){let n=e.resolve(t);for(;;){if(a(n))return n;let r=e.dirname(n);if(r===n)throw Error(`Could not find repository root from ${t}`);n=r}}export{o as findRepositoryRoot,a as isRepositoryRoot};
1
+ import e from"node:path";import t from"node:fs";const n=e.join(`.pi`,`settings.json`);function r(e){try{return t.statSync(e).isDirectory()}catch{return!1}}function i(e){try{return t.statSync(e).isFile()}catch{return!1}}function a(t){let a=e.join(t,`.git`);return r(e.join(t,`.doom`))||i(e.join(t,n))||r(a)||i(a)}function o(t){let n=e.resolve(t);for(;;){if(a(n))return n;let r=e.dirname(n);if(r===n)throw Error(`Could not find repository root from ${t}`);n=r}}export{o as findRepositoryRoot,a as isRepositoryRoot};
2
2
  //# sourceMappingURL=repository.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository.mjs","names":[],"sources":["../../../../src/adapters/repository/repository.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\n/** Doom's own repository configuration directory. */\nconst DOOM_DIRECTORY = '.doom';\n/** A Pi project that has been configured, rather than any stray `.pi` folder. */\nconst PI_SETTINGS = path.join('.pi', 'settings.json');\n\nfunction isDirectory(target: string): boolean {\n try {\n return fs.statSync(target).isDirectory();\n } catch {\n return false;\n }\n}\n\nfunction isFile(target: string): boolean {\n try {\n return fs.statSync(target).isFile();\n } catch {\n return false;\n }\n}\n\n/**\n * True when a directory carries a marker Doom Pi is willing to treat as a root.\n *\n * Only Doom's own directory or an existing Pi settings file count. Build tooling\n * markers are deliberately not consulted: a consumer repository has no Nx, pnpm\n * workspace, or plugins profile to offer, and trusting arbitrary project config\n * would let an unapproved directory decide what gets loaded.\n */\nexport function isRepositoryRoot(directory: string): boolean {\n return isDirectory(path.join(directory, DOOM_DIRECTORY)) || isFile(path.join(directory, PI_SETTINGS));\n}\n\n/**\n * Walks up from `start` looking for the repository root.\n *\n * The nearest marked ancestor wins, so a session started in a subdirectory\n * resolves to the repository that configured Doom rather than to a parent\n * checkout that happens to sit above it.\n */\nexport function findRepositoryRoot(start: string): string {\n let directory = path.resolve(start);\n while (true) {\n if (isRepositoryRoot(directory)) return directory;\n const parent = path.dirname(directory);\n if (parent === directory) throw new Error(`Could not find repository root from ${start}`);\n directory = parent;\n }\n}\n"],"mappings":"gDAIA,MAEM,EAAc,EAAK,KAAK,MAAO,gBAAgB,CAErD,SAAS,EAAY,EAAyB,CAC5C,GAAI,CACF,OAAO,EAAG,SAAS,EAAO,CAAC,aAAa,MAClC,CACN,MAAO,IAIX,SAAS,EAAO,EAAyB,CACvC,GAAI,CACF,OAAO,EAAG,SAAS,EAAO,CAAC,QAAQ,MAC7B,CACN,MAAO,IAYX,SAAgB,EAAiB,EAA4B,CAC3D,OAAO,EAAY,EAAK,KAAK,EAAW,QAAe,CAAC,EAAI,EAAO,EAAK,KAAK,EAAW,EAAY,CAAC,CAUvG,SAAgB,EAAmB,EAAuB,CACxD,IAAI,EAAY,EAAK,QAAQ,EAAM,CACnC,OAAa,CACX,GAAI,EAAiB,EAAU,CAAE,OAAO,EACxC,IAAM,EAAS,EAAK,QAAQ,EAAU,CACtC,GAAI,IAAW,EAAW,MAAU,MAAM,uCAAuC,IAAQ,CACzF,EAAY"}
1
+ {"version":3,"file":"repository.mjs","names":[],"sources":["../../../../src/adapters/repository/repository.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\n/** Doom's own repository configuration directory. */\nconst DOOM_DIRECTORY = '.doom';\n/** Git's root marker, which may be a directory or a worktree pointer file. */\nconst GIT_DIRECTORY = '.git';\n/** A Pi project that has been configured, rather than any stray `.pi` folder. */\nconst PI_SETTINGS = path.join('.pi', 'settings.json');\n\nfunction isDirectory(target: string): boolean {\n try {\n return fs.statSync(target).isDirectory();\n } catch {\n return false;\n }\n}\n\nfunction isFile(target: string): boolean {\n try {\n return fs.statSync(target).isFile();\n } catch {\n return false;\n }\n}\n\n/**\n * True when a directory carries a marker Doom Pi is willing to treat as a root.\n *\n * Doom and Pi markers identify configured projects. A Git marker also counts so\n * personal configuration can be synchronized into a new checkout before it has\n * repository-local configuration. Build-tooling markers remain deliberately\n * excluded because they do not establish a repository boundary.\n */\nexport function isRepositoryRoot(directory: string): boolean {\n const gitMarker = path.join(directory, GIT_DIRECTORY);\n return (\n isDirectory(path.join(directory, DOOM_DIRECTORY)) ||\n isFile(path.join(directory, PI_SETTINGS)) ||\n isDirectory(gitMarker) ||\n isFile(gitMarker)\n );\n}\n\n/**\n * Walks up from `start` looking for the repository root.\n *\n * The nearest marked ancestor wins, so a session started in a subdirectory\n * resolves to the repository that configured Doom rather than to a parent\n * checkout that happens to sit above it.\n */\nexport function findRepositoryRoot(start: string): string {\n let directory = path.resolve(start);\n while (true) {\n if (isRepositoryRoot(directory)) return directory;\n const parent = path.dirname(directory);\n if (parent === directory) throw new Error(`Could not find repository root from ${start}`);\n directory = parent;\n }\n}\n"],"mappings":"gDAIA,MAIM,EAAc,EAAK,KAAK,MAAO,gBAAgB,CAErD,SAAS,EAAY,EAAyB,CAC5C,GAAI,CACF,OAAO,EAAG,SAAS,EAAO,CAAC,aAAa,MAClC,CACN,MAAO,IAIX,SAAS,EAAO,EAAyB,CACvC,GAAI,CACF,OAAO,EAAG,SAAS,EAAO,CAAC,QAAQ,MAC7B,CACN,MAAO,IAYX,SAAgB,EAAiB,EAA4B,CAC3D,IAAM,EAAY,EAAK,KAAK,EAAW,OAAc,CACrD,OACE,EAAY,EAAK,KAAK,EAAW,QAAe,CAAC,EACjD,EAAO,EAAK,KAAK,EAAW,EAAY,CAAC,EACzC,EAAY,EAAU,EACtB,EAAO,EAAU,CAWrB,SAAgB,EAAmB,EAAuB,CACxD,IAAI,EAAY,EAAK,QAAQ,EAAM,CACnC,OAAa,CACX,GAAI,EAAiB,EAAU,CAAE,OAAO,EACxC,IAAM,EAAS,EAAK,QAAQ,EAAU,CACtC,GAAI,IAAW,EAAW,MAAU,MAAM,uCAAuC,IAAQ,CACzF,EAAY"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agimon-ai/doompi",
3
- "version": "0.0.1-alpha.25",
3
+ "version": "0.0.1-alpha.26",
4
4
  "description": "Opinionated, composable Pi distribution for scoped agent tools, skills, MCP servers, and developer workflows.",
5
5
  "keywords": [
6
6
  "ai",
@@ -300,31 +300,31 @@
300
300
  "rolldown": "1.0.0-rc.17",
301
301
  "typebox": "1.1.38",
302
302
  "yaml": "2.9.0",
303
- "@agimon-ai/doompi-autocompact": "0.0.1-alpha.25",
304
- "@agimon-ai/doompi-autostop": "0.0.1-alpha.3",
305
- "@agimon-ai/doompi-config": "0.0.1-alpha.25",
306
- "@agimon-ai/doompi-domain": "0.0.1-alpha.3",
307
- "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.25",
308
- "@agimon-ai/doompi-file-edit": "0.0.1-alpha.25",
309
- "@agimon-ai/doompi-help": "0.0.1-alpha.8",
310
- "@agimon-ai/doompi-hook": "0.0.1-alpha.3",
311
- "@agimon-ai/doompi-loop": "0.0.1-alpha.25",
312
- "@agimon-ai/doompi-mcp": "0.0.1-alpha.25",
313
- "@agimon-ai/doompi-notification": "0.0.1-alpha.3",
314
- "@agimon-ai/doompi-profile": "0.0.1-alpha.3",
315
- "@agimon-ai/doompi-plan": "0.0.1-alpha.25",
316
- "@agimon-ai/doompi-runner": "0.0.1-alpha.25",
317
- "@agimon-ai/doompi-major-mode": "0.0.1-alpha.3",
318
- "@agimon-ai/doompi-skill": "0.0.1-alpha.3",
319
- "@agimon-ai/doompi-goal": "0.0.1-alpha.15",
320
- "@agimon-ai/doompi-task": "0.0.1-alpha.25",
321
- "@agimon-ai/doompi-team": "0.0.1-alpha.25",
322
- "@agimon-ai/doompi-log": "0.0.1-alpha.25",
323
- "@agimon-ai/doompi-telemetry": "0.0.1-alpha.25",
324
- "@agimon-ai/doompi-ui": "0.0.1-alpha.25",
325
- "@agimon-ai/doompi-user-feedback": "0.0.1-alpha.14",
326
- "@agimon-ai/doompi-workflow": "0.0.1-alpha.25",
327
- "@agimon-ai/doompi-voice": "0.0.1-alpha.25"
303
+ "@agimon-ai/doompi-autocompact": "0.0.1-alpha.26",
304
+ "@agimon-ai/doompi-config": "0.0.1-alpha.26",
305
+ "@agimon-ai/doompi-autostop": "0.0.1-alpha.4",
306
+ "@agimon-ai/doompi-domain": "0.0.1-alpha.4",
307
+ "@agimon-ai/doompi-help": "0.0.1-alpha.9",
308
+ "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.26",
309
+ "@agimon-ai/doompi-loop": "0.0.1-alpha.26",
310
+ "@agimon-ai/doompi-goal": "0.0.1-alpha.16",
311
+ "@agimon-ai/doompi-file-edit": "0.0.1-alpha.26",
312
+ "@agimon-ai/doompi-notification": "0.0.1-alpha.4",
313
+ "@agimon-ai/doompi-log": "0.0.1-alpha.26",
314
+ "@agimon-ai/doompi-hook": "0.0.1-alpha.4",
315
+ "@agimon-ai/doompi-plan": "0.0.1-alpha.26",
316
+ "@agimon-ai/doompi-profile": "0.0.1-alpha.4",
317
+ "@agimon-ai/doompi-mcp": "0.0.1-alpha.26",
318
+ "@agimon-ai/doompi-team": "0.0.1-alpha.26",
319
+ "@agimon-ai/doompi-task": "0.0.1-alpha.26",
320
+ "@agimon-ai/doompi-runner": "0.0.1-alpha.26",
321
+ "@agimon-ai/doompi-telemetry": "0.0.1-alpha.26",
322
+ "@agimon-ai/doompi-ui": "0.0.1-alpha.26",
323
+ "@agimon-ai/doompi-major-mode": "0.0.1-alpha.4",
324
+ "@agimon-ai/doompi-skill": "0.0.1-alpha.4",
325
+ "@agimon-ai/doompi-voice": "0.0.1-alpha.26",
326
+ "@agimon-ai/doompi-user-feedback": "0.0.1-alpha.15",
327
+ "@agimon-ai/doompi-workflow": "0.0.1-alpha.26"
328
328
  },
329
329
  "devDependencies": {
330
330
  "@earendil-works/pi-ai": "0.84.2",