@claudexor/artifact-store 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @claudexor/artifact-store
2
2
 
3
- Internal package of [Claudexor](https://github.com/razzant/claudexor) — Files-first canonical artifact store (repo-local .claudexor/runs layout).
3
+ Internal package of [Claudexor](https://github.com/razzant/claudexor) — files-first canonical artifact store in an external per-project runtime namespace.
4
4
 
5
5
  Published as part of the Claudexor toolchain; it follows the monorepo's
6
6
  lockstep version and has no separate semver contract. Use the `claudexor`
package/dist/index.d.ts CHANGED
@@ -10,9 +10,9 @@ export interface RunPaths {
10
10
  eventsPath: string;
11
11
  }
12
12
  /**
13
- * Files-first artifact store. Canonical artifacts live under
14
- * `<repo>/.claudexor/`. Nothing here is a database; an optional SQLite index can
15
- * be rebuilt from these files later.
13
+ * Files-first artifact store. Runtime artifacts live in the per-user external
14
+ * project namespace; `<repo>/.claudexor/` is always user-owned versioned config.
15
+ * Nothing here is a database; projections can be rebuilt from durable state.
16
16
  */
17
17
  export declare class ArtifactStore {
18
18
  readonly repoRoot: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,qBAAa,aAAa;aAGI,QAAQ,EAAE,MAAM;IAF5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAEF,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;IAIrF,OAAO,IAAI,MAAM;IAIjB,aAAa,IAAI,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAuBjC,oEAAoE;IACpE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAgBlC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3C,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAU7C,4EAA4E;IAC5E,QAAQ,IAAI,MAAM,EAAE;CAGrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,qBAAa,aAAa;aAIN,QAAQ,EAAE,MAAM;IAHlC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAGZ,QAAQ,EAAE,MAAM,EAChC,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;IAKzC,OAAO,IAAI,MAAM;IAIjB,aAAa,IAAI,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAyBjC,oEAAoE;IACpE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAgBlC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3C,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAU7C,4EAA4E;IAC5E,QAAQ,IAAI,MAAM,EAAE;CAGrB"}
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import { join } from "node:path";
2
2
  import { parse as yamlParse, stringify as yamlStringify } from "yaml";
3
- import { ensureDir, listDir, readTextSafe, writeJson, writeText } from "@claudexor/util";
3
+ import { ensureDir, listDir, projectRuntimeDir, readTextSafe, writeJson, writeText, } from "@claudexor/util";
4
4
  /**
5
- * Files-first artifact store. Canonical artifacts live under
6
- * `<repo>/.claudexor/`. Nothing here is a database; an optional SQLite index can
7
- * be rebuilt from these files later.
5
+ * Files-first artifact store. Runtime artifacts live in the per-user external
6
+ * project namespace; `<repo>/.claudexor/` is always user-owned versioned config.
7
+ * Nothing here is a database; projections can be rebuilt from durable state.
8
8
  */
9
9
  export class ArtifactStore {
10
10
  repoRoot;
11
11
  claudexorDir;
12
12
  constructor(repoRoot, options = {}) {
13
13
  this.repoRoot = repoRoot;
14
- this.claudexorDir = options.claudexorDir ?? join(repoRoot, ".claudexor");
14
+ this.claudexorDir = options.claudexorDir ?? projectRuntimeDir(repoRoot);
15
15
  }
16
16
  runsDir() {
17
17
  return join(this.claudexorDir, "runs");
@@ -22,7 +22,7 @@ export class ArtifactStore {
22
22
  runPaths(runId) {
23
23
  // Id-shape fence at the single owner of run-dir layout: a runId is one
24
24
  // path SEGMENT, never a path. This blocks `../`-style ids from escaping
25
- // `.claudexor/runs` for every caller (HTTP surfaces already resolve ids
25
+ // the owned external runs directory for every caller (HTTP surfaces already resolve ids
26
26
  // via registry lookup — this is the defense-in-depth floor beneath them,
27
27
  // the same reasoning as the envelope-id validation in dispose()).
28
28
  if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(runId)) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@claudexor/artifact-store",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "license": "MIT",
5
- "description": "Files-first canonical artifact store (repo-local .claudexor/runs layout).",
5
+ "description": "Files-first canonical artifact store in an external per-project runtime namespace.",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "yaml": "^2.6.1",
20
- "@claudexor/util": "1.0.0"
20
+ "@claudexor/util": "2.0.0"
21
21
  },
22
22
  "repository": {
23
23
  "type": "git",