@claudexor/artifact-store 1.0.1 → 2.1.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 +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
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) —
|
|
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.
|
|
14
|
-
* `<repo>/.claudexor
|
|
15
|
-
* be rebuilt from
|
|
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;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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.
|
|
6
|
-
* `<repo>/.claudexor
|
|
7
|
-
* be rebuilt from
|
|
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 ??
|
|
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
|
-
//
|
|
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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AACtE,OAAO,
|
|
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
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"description": "Files-first canonical artifact store
|
|
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
|
|
20
|
+
"@claudexor/util": "2.1.0"
|
|
21
21
|
},
|
|
22
22
|
"repository": {
|
|
23
23
|
"type": "git",
|