@the-40-thieves/obsidian-tc-shared 1.0.2 → 1.3.1
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/LICENSE +661 -201
- package/dist/config.schema.d.ts +262 -1396
- package/dist/config.schema.d.ts.map +1 -1
- package/dist/config.schema.js +110 -18
- package/dist/config.schema.js.map +1 -1
- package/dist/errors.d.ts +5 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/morgiana.schema.d.ts +45 -137
- package/dist/morgiana.schema.d.ts.map +1 -1
- package/dist/morgiana.schema.js +5 -1
- package/dist/morgiana.schema.js.map +1 -1
- package/dist/schemas/primitives.d.ts +3 -15
- package/dist/schemas/primitives.d.ts.map +1 -1
- package/dist/schemas/primitives.js +1 -1
- package/dist/schemas/primitives.js.map +1 -1
- package/package.json +12 -5
package/dist/morgiana.schema.js
CHANGED
|
@@ -3,7 +3,7 @@ import { z } from "zod";
|
|
|
3
3
|
// shared data shape. Lives in @the-40-thieves/obsidian-tc-shared so the server emitter AND MORGIANA itself
|
|
4
4
|
// validate against one source of truth; the `specversion` field is the schema version, so a
|
|
5
5
|
// breaking change bumps it. Spool/HTTP transport + emission live server-side (src/morgiana/).
|
|
6
|
-
/** The
|
|
6
|
+
/** The CloudEvents `type` values MORGIANA recognizes (G2.4 §Event types + additive extensions). */
|
|
7
7
|
export const MORGIANA_EVENT_TYPES = [
|
|
8
8
|
"tc.tool.call.completed",
|
|
9
9
|
"tc.acl.denied",
|
|
@@ -14,6 +14,8 @@ export const MORGIANA_EVENT_TYPES = [
|
|
|
14
14
|
"tc.vault.cache_reset",
|
|
15
15
|
"tc.server.start",
|
|
16
16
|
"tc.server.shutdown",
|
|
17
|
+
// THE-292 — additive: periodic cache.db maintenance sweep.
|
|
18
|
+
"tc.maintenance.sweep",
|
|
17
19
|
];
|
|
18
20
|
export const MorgianaEventType = z.enum(MORGIANA_EVENT_TYPES);
|
|
19
21
|
/**
|
|
@@ -34,6 +36,8 @@ export const MorgianaEventDataSchema = z.object({
|
|
|
34
36
|
overflow_bytes: z.number().nullable().default(null),
|
|
35
37
|
error: z.object({ code: z.string(), message: z.string() }).nullable().default(null),
|
|
36
38
|
count: z.number().nullable().default(null),
|
|
39
|
+
/** THE-292 maintenance sweep: rows dropped per table. */
|
|
40
|
+
rows_dropped: z.record(z.string(), z.number()).nullable().default(null),
|
|
37
41
|
});
|
|
38
42
|
/** CloudEvents 1.0 envelope (G2.4 §Envelope). `source` is `obsidian-tc/<vault_id>`. */
|
|
39
43
|
export const CloudEventSchema = z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morgiana.schema.js","sourceRoot":"","sources":["../src/morgiana.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6FAA6F;AAC7F,2GAA2G;AAC3G,4FAA4F;AAC5F,8FAA8F;AAE9F,
|
|
1
|
+
{"version":3,"file":"morgiana.schema.js","sourceRoot":"","sources":["../src/morgiana.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6FAA6F;AAC7F,2GAA2G;AAC3G,4FAA4F;AAC5F,8FAA8F;AAE9F,mGAAmG;AACnG,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,wBAAwB;IACxB,eAAe;IACf,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,sBAAsB;IACtB,sBAAsB;IACtB,iBAAiB;IACjB,oBAAoB;IACpB,2DAA2D;IAC3D,sBAAsB;CACd,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAG9D;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAChD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACjD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAChD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACnF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C,yDAAyD;IACzD,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACxE,CAAC,CAAC;AAGH,uFAAuF;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,iBAAiB;IACvB,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAC1E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC"}
|
|
@@ -6,32 +6,20 @@ export declare const VaultId: z.ZodString;
|
|
|
6
6
|
* and any ".." segment. Backslashes are tolerated on input and normalized by
|
|
7
7
|
* the resolver; the byte-level guard stays conservative per G2.1.
|
|
8
8
|
*/
|
|
9
|
-
export declare const VaultPath: z.
|
|
9
|
+
export declare const VaultPath: z.ZodString;
|
|
10
10
|
/** 32-char hex HITL elicit token (matches issueElicitToken: randomBytes(16).hex). */
|
|
11
11
|
export declare const ElicitToken: z.ZodString;
|
|
12
12
|
/** Cursor pagination inputs (G2.1 convention). */
|
|
13
13
|
export declare const Pagination: z.ZodObject<{
|
|
14
14
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
15
15
|
cursor: z.ZodOptional<z.ZodString>;
|
|
16
|
-
},
|
|
17
|
-
limit?: number | undefined;
|
|
18
|
-
cursor?: string | undefined;
|
|
19
|
-
}, {
|
|
20
|
-
limit?: number | undefined;
|
|
21
|
-
cursor?: string | undefined;
|
|
22
|
-
}>;
|
|
16
|
+
}, z.core.$strip>;
|
|
23
17
|
export type PaginationInput = z.infer<typeof Pagination>;
|
|
24
18
|
/** Shared write options. `idempotency_key` is accepted as a forward-compat
|
|
25
19
|
* surface in M1 (replay lands with the Policy layer in a later milestone). */
|
|
26
20
|
export declare const WriteOptions: z.ZodObject<{
|
|
27
21
|
idempotency_key: z.ZodOptional<z.ZodString>;
|
|
28
22
|
create_dirs: z.ZodDefault<z.ZodBoolean>;
|
|
29
|
-
},
|
|
30
|
-
create_dirs: boolean;
|
|
31
|
-
idempotency_key?: string | undefined;
|
|
32
|
-
}, {
|
|
33
|
-
idempotency_key?: string | undefined;
|
|
34
|
-
create_dirs?: boolean | undefined;
|
|
35
|
-
}>;
|
|
23
|
+
}, z.core.$strip>;
|
|
36
24
|
export type WriteOptionsInput = z.infer<typeof WriteOptions>;
|
|
37
25
|
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/schemas/primitives.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yCAAyC;AACzC,eAAO,MAAM,OAAO,aAI0C,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/schemas/primitives.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yCAAyC;AACzC,eAAO,MAAM,OAAO,aAI0C,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,SAAS,aAQnB,CAAC;AAEJ,qFAAqF;AACrF,eAAO,MAAM,WAAW,aAA+D,CAAC;AAExF,kDAAkD;AAClD,eAAO,MAAM,UAAU;;;iBAGrB,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEzD;+EAC+E;AAC/E,eAAO,MAAM,YAAY;;;iBAGvB,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -18,7 +18,7 @@ export const VaultPath = z
|
|
|
18
18
|
.string()
|
|
19
19
|
.min(1)
|
|
20
20
|
.max(1024)
|
|
21
|
-
.refine((p) =>
|
|
21
|
+
.refine((p) => !/(^|\/|\\)\.\.($|\/|\\)/.test(p), "path traversal rejected")
|
|
22
22
|
.refine((p) => !p.startsWith("/") && !p.startsWith("\\") && !/^[A-Za-z]:[\\/]/.test(p), "absolute paths rejected");
|
|
23
23
|
/** 32-char hex HITL elicit token (matches issueElicitToken: randomBytes(16).hex). */
|
|
24
24
|
export const ElicitToken = z.string().regex(/^[a-f0-9]{32}$/, "malformed elicit token");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/schemas/primitives.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,4EAA4E;AAC5E,wEAAwE;AACxE,iFAAiF;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yCAAyC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC;KACrB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CAAC,eAAe,EAAE,mCAAmC,CAAC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC;KACvB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,IAAI,CAAC;KACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/schemas/primitives.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,4EAA4E;AAC5E,wEAAwE;AACxE,iFAAiF;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yCAAyC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC;KACrB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CAAC,eAAe,EAAE,mCAAmC,CAAC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC;KACvB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,IAAI,CAAC;KACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC;KAC3E,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAC9E,yBAAyB,CAC1B,CAAC;AAEJ,qFAAqF;AACrF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;AAExF,kDAAkD;AAClD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACvD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAGH;+EAC+E;AAC/E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACtD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACvC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@the-40-thieves/obsidian-tc-shared",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Shared Zod schemas and types for obsidian-tc",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "AGPL-3.0-only",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
|
-
"files": [
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"README.md",
|
|
12
|
+
"LICENSE"
|
|
13
|
+
],
|
|
10
14
|
"scripts": {
|
|
11
15
|
"build": "tsc",
|
|
12
16
|
"typecheck": "tsc --noEmit",
|
|
13
17
|
"test": "vitest run --passWithNoTests"
|
|
14
18
|
},
|
|
15
19
|
"dependencies": {
|
|
16
|
-
"zod": "^
|
|
20
|
+
"zod": "^4.0.0"
|
|
17
21
|
},
|
|
18
22
|
"devDependencies": {
|
|
19
23
|
"typescript": "^5.7.0",
|
|
20
|
-
"vitest": "^2.
|
|
24
|
+
"vitest": "^3.2.6"
|
|
21
25
|
},
|
|
22
26
|
"repository": {
|
|
23
27
|
"type": "git",
|
|
@@ -30,5 +34,8 @@
|
|
|
30
34
|
"import": "./dist/index.js"
|
|
31
35
|
},
|
|
32
36
|
"./package.json": "./package.json"
|
|
37
|
+
},
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=24"
|
|
33
40
|
}
|
|
34
41
|
}
|