@the-40-thieves/obsidian-tc-shared 1.0.1 → 1.2.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/dist/config.schema.d.ts +178 -1153
- package/dist/config.schema.d.ts.map +1 -1
- package/dist/config.schema.js +59 -18
- package/dist/config.schema.js.map +1 -1
- package/dist/errors.d.ts +2 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +2 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/morgiana.schema.d.ts +39 -135
- package/dist/morgiana.schema.d.ts.map +1 -1
- package/dist/net-host.d.ts +16 -0
- package/dist/net-host.d.ts.map +1 -0
- package/dist/net-host.js +39 -0
- package/dist/net-host.js.map +1 -0
- package/dist/schemas/primitives.d.ts +3 -15
- package/dist/schemas/primitives.d.ts.map +1 -1
- package/dist/scopes.d.ts.map +1 -1
- package/dist/scopes.js +5 -4
- package/dist/scopes.js.map +1 -1
- package/package.json +11 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../src/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../src/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AAMH,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC;AAMH,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAC;AAOH,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AAOH,eAAO,MAAM,0BAA0B;;iBAErC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;;;;;iBASzB,CAAC;AAEL,eAAO,MAAM,aAAa;;;iBAGxB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;iBAW1B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAMjC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;iBAGjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AAgBH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAelB,CAAC;AAChB,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AASlE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAU5E,eAAO,MAAM,gBAAgB;;;;;iBAK3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAa1D,eAAO,MAAM,0BAA0B;;;;;;;iBAOrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAqB9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
package/dist/config.schema.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { isLoopbackHost } from "./net-host";
|
|
2
3
|
// Per-vault plugin-bridge timeouts (M4 / THE-180, G2.2 §3.1 + §6). Inner fields
|
|
3
4
|
// carry defaults; the whole block is optional so a vault that predates M4
|
|
4
5
|
// validates unchanged (consumers read `vault.bridges?.x ?? <default>`).
|
|
@@ -47,6 +48,12 @@ export const VaultConfigSchema = z.object({
|
|
|
47
48
|
path: z.string().min(1),
|
|
48
49
|
restApiUrl: z.string().url().optional(),
|
|
49
50
|
restApiKey: z.string().optional(),
|
|
51
|
+
// Headless mode selection (THE-255). Absent or `auto` probes the Local REST API once at
|
|
52
|
+
// startup: reachable -> live (full surface), else headless (direct-atomic-fs vault state;
|
|
53
|
+
// Tier-3 action tools degrade to requires_live_obsidian). `live`/`headless` force the mode
|
|
54
|
+
// and skip the probe. Optional, so a config predating THE-255 validates unchanged;
|
|
55
|
+
// resolveMode treats an absent mode as auto.
|
|
56
|
+
mode: z.enum(["live", "headless", "auto"]).optional(),
|
|
50
57
|
bridges: VaultBridgesConfigSchema.optional(),
|
|
51
58
|
plugins: VaultPluginsConfigSchema.optional(),
|
|
52
59
|
commands: VaultCommandsConfigSchema.optional(),
|
|
@@ -55,7 +62,7 @@ export const VaultConfigSchema = z.object({
|
|
|
55
62
|
});
|
|
56
63
|
export const AuthConfigSchema = z
|
|
57
64
|
.object({
|
|
58
|
-
mode: z.enum(["none", "jwt"
|
|
65
|
+
mode: z.enum(["none", "jwt"]).default("none"),
|
|
59
66
|
jwtSecret: z.string().min(32).optional(),
|
|
60
67
|
tokenTtlSeconds: z.number().int().positive().default(86400),
|
|
61
68
|
})
|
|
@@ -93,7 +100,7 @@ export const HttpConfigSchema = z.object({
|
|
|
93
100
|
});
|
|
94
101
|
export const TransportsConfigSchema = z.object({
|
|
95
102
|
stdio: z.boolean().default(true),
|
|
96
|
-
http: HttpConfigSchema.
|
|
103
|
+
http: HttpConfigSchema.prefault({}),
|
|
97
104
|
});
|
|
98
105
|
export const GovernorConfigSchema = z.object({
|
|
99
106
|
maxResponseBytes: z.number().int().positive().default(1_000_000),
|
|
@@ -109,7 +116,7 @@ const throttleTier = (perMinute, burst) => z
|
|
|
109
116
|
perMinute: z.number().int().positive().default(perMinute),
|
|
110
117
|
burst: z.number().int().positive().default(burst),
|
|
111
118
|
})
|
|
112
|
-
.
|
|
119
|
+
.prefault({});
|
|
113
120
|
export const ThrottleConfigSchema = z
|
|
114
121
|
.object({
|
|
115
122
|
enabled: z.boolean().default(true),
|
|
@@ -117,14 +124,15 @@ export const ThrottleConfigSchema = z
|
|
|
117
124
|
.object({
|
|
118
125
|
read: throttleTier(600, 100),
|
|
119
126
|
write: throttleTier(60, 20),
|
|
127
|
+
delete: throttleTier(60, 20),
|
|
120
128
|
bulk: throttleTier(10, 3),
|
|
121
129
|
execute: throttleTier(5, 1),
|
|
122
130
|
admin: throttleTier(5, 1),
|
|
123
131
|
})
|
|
124
|
-
.
|
|
132
|
+
.prefault({}),
|
|
125
133
|
maxConcurrentWritesPerVault: z.number().int().positive().default(16),
|
|
126
134
|
})
|
|
127
|
-
.
|
|
135
|
+
.prefault({});
|
|
128
136
|
// Observability config (G2.4 §Observability — finalized in M7/THE-183). Three opt-in
|
|
129
137
|
// export streams plus retention, all fully defaulted so a config predating M7 validates
|
|
130
138
|
// unchanged. OTEL is a no-op unless `otel.endpoint` is set; the Prometheus `/metrics`
|
|
@@ -138,30 +146,30 @@ export const ObservabilityConfigSchema = z.object({
|
|
|
138
146
|
otel: z
|
|
139
147
|
.object({
|
|
140
148
|
endpoint: z.string().url().optional(),
|
|
141
|
-
headers: z.record(z.string()).
|
|
149
|
+
headers: z.record(z.string(), z.string()).prefault({}),
|
|
142
150
|
})
|
|
143
|
-
.
|
|
151
|
+
.prefault({}),
|
|
144
152
|
prometheus: z
|
|
145
153
|
.object({
|
|
146
154
|
enabled: z.boolean().default(false),
|
|
147
155
|
port: z.number().int().min(0).max(65535).default(9464),
|
|
148
156
|
bind: z.string().default("127.0.0.1"),
|
|
149
157
|
})
|
|
150
|
-
.
|
|
158
|
+
.prefault({}),
|
|
151
159
|
morgiana: z
|
|
152
160
|
.object({
|
|
153
161
|
spool: z.boolean().default(true),
|
|
154
162
|
httpEndpoint: z.string().url().optional(),
|
|
155
|
-
httpHeaders: z.record(z.string()).
|
|
163
|
+
httpHeaders: z.record(z.string(), z.string()).prefault({}),
|
|
156
164
|
})
|
|
157
|
-
.
|
|
165
|
+
.prefault({}),
|
|
158
166
|
retention: z
|
|
159
167
|
.object({
|
|
160
168
|
morgianaEventsDays: z.number().int().positive().default(90),
|
|
161
169
|
tracesDays: z.number().int().positive().default(90),
|
|
162
170
|
eventLogDays: z.number().int().positive().default(30),
|
|
163
171
|
})
|
|
164
|
-
.
|
|
172
|
+
.prefault({}),
|
|
165
173
|
});
|
|
166
174
|
// plur read-API proxy config (M5 / THE-181, G2.1 Domain 24). GLOBAL, not per-vault:
|
|
167
175
|
// the plur engram store is global and the plur tools take no `vault` argument, so
|
|
@@ -177,18 +185,51 @@ export const PlurConfigSchema = z.object({
|
|
|
177
185
|
apiPrefix: z.string().default(""),
|
|
178
186
|
timeoutMs: z.number().int().positive().default(5000),
|
|
179
187
|
});
|
|
180
|
-
|
|
188
|
+
// Static tool-visibility scoping (THE-219 — parity with turbovault's tool_visibility).
|
|
189
|
+
// Shapes the *advertised* tool surface at the Registry.listVisible()/dispatch chokepoints
|
|
190
|
+
// without rebuilding capability. Two strengths, with precedence disabled > hidden > listed:
|
|
191
|
+
// - hidden / hiddenTags / requireReadOnly / allowed: drop a tool from tools/list, but it
|
|
192
|
+
// stays callable by name (a lean default surface, not a security boundary).
|
|
193
|
+
// - disabled / disabledTags: drop it from tools/list AND reject it at dispatch, so it
|
|
194
|
+
// behaves as if unregistered.
|
|
195
|
+
// `allowed`, when present, is a name allowlist: only those tools are listed (absent = list
|
|
196
|
+
// all; an empty array lists none). `requireReadOnly` derives mutation from the required
|
|
197
|
+
// scopes (isMutatingScope), so it needs no per-tool annotation. Optional + fully defaulted:
|
|
198
|
+
// a config predating THE-219 validates unchanged and an absent block means ALLOW_ALL.
|
|
199
|
+
export const ToolVisibilityConfigSchema = z.object({
|
|
200
|
+
allowed: z.array(z.string()).optional(),
|
|
201
|
+
hidden: z.array(z.string()).default([]),
|
|
202
|
+
disabled: z.array(z.string()).default([]),
|
|
203
|
+
hiddenTags: z.array(z.string()).default([]),
|
|
204
|
+
disabledTags: z.array(z.string()).default([]),
|
|
205
|
+
requireReadOnly: z.boolean().default(false),
|
|
206
|
+
});
|
|
207
|
+
const ServerConfigObject = z.object({
|
|
181
208
|
cacheDir: z.string().default(".obsidian-tc"),
|
|
182
209
|
vaults: z.array(VaultConfigSchema).min(1),
|
|
183
210
|
plur: PlurConfigSchema.optional(),
|
|
184
|
-
auth: AuthConfigSchema.
|
|
185
|
-
acl: AclConfigSchema.
|
|
186
|
-
embeddings: EmbeddingsConfigSchema.
|
|
187
|
-
transports: TransportsConfigSchema.
|
|
188
|
-
governor: GovernorConfigSchema.
|
|
211
|
+
auth: AuthConfigSchema.prefault({ mode: "none" }),
|
|
212
|
+
acl: AclConfigSchema.prefault({}),
|
|
213
|
+
embeddings: EmbeddingsConfigSchema.prefault({}),
|
|
214
|
+
transports: TransportsConfigSchema.prefault({}),
|
|
215
|
+
governor: GovernorConfigSchema.prefault({}),
|
|
216
|
+
toolVisibility: ToolVisibilityConfigSchema.optional(),
|
|
189
217
|
throttle: ThrottleConfigSchema,
|
|
190
|
-
observability: ObservabilityConfigSchema.
|
|
218
|
+
observability: ObservabilityConfigSchema.prefault({}),
|
|
191
219
|
idempotencyTtlSeconds: z.number().int().positive().default(86400),
|
|
192
220
|
elicitTtlSeconds: z.number().int().positive().default(300),
|
|
193
221
|
});
|
|
222
|
+
// F2 fail-closed interlock: never run an unauthenticated server on a routable host. When the
|
|
223
|
+
// HTTP transport is enabled on a non-loopback host with auth.mode "none", every request would
|
|
224
|
+
// resolve to full wildcard scopes (see transports/http.ts resolveAuth) — refuse the config.
|
|
225
|
+
export const ServerConfigSchema = ServerConfigObject.superRefine((cfg, ctx) => {
|
|
226
|
+
const http = cfg.transports.http;
|
|
227
|
+
if (http.enabled && cfg.auth.mode === "none" && !isLoopbackHost(http.host)) {
|
|
228
|
+
ctx.addIssue({
|
|
229
|
+
code: z.ZodIssueCode.custom,
|
|
230
|
+
path: ["transports", "http", "host"],
|
|
231
|
+
message: `refusing to expose an unauthenticated server: transports.http.enabled is true with host "${http.host}" (non-loopback) while auth.mode is "none". Set auth.mode to "jwt" (with jwtSecret) or bind transports.http.host to a loopback address (127.0.0.1, ::1, localhost).`,
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
});
|
|
194
235
|
//# sourceMappingURL=config.schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../src/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../src/config.schema.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type ErrorCode = "unauthorized" | "forbidden" | "validation_error" | "not_found" | "vault_not_found" | "conflict" | "idempotency_key_mismatch" | "idempotency_in_flight" | "elicit_required" | "elicit_invalid" | "overflow" | "throttled" | "read_only" | "plugin_unavailable" | "internal" | "note_not_found" | "path_invalid" | "path_ambiguous" | "acl_denied" | "read_only_mode" | "note_exists" | "concurrent_modification" | "invalid_input" | "internal_error" | "embedding_provider_error" | "operation_timeout" | "dql_error" | "jsonlogic_error" | "plugin_missing" | "plugin_unreachable" | "bases_syntax_error" | "execute_command_disabled" | "command_not_allowlisted";
|
|
1
|
+
export type ErrorCode = "unauthorized" | "forbidden" | "validation_error" | "not_found" | "vault_not_found" | "conflict" | "idempotency_key_mismatch" | "idempotency_in_flight" | "elicit_required" | "elicit_invalid" | "overflow" | "throttled" | "read_only" | "plugin_unavailable" | "internal" | "note_not_found" | "path_invalid" | "path_ambiguous" | "acl_denied" | "read_only_mode" | "note_exists" | "concurrent_modification" | "invalid_input" | "internal_error" | "embedding_provider_error" | "operation_timeout" | "dql_error" | "jsonlogic_error" | "plugin_missing" | "plugin_unreachable" | "bases_syntax_error" | "execute_command_disabled" | "command_not_allowlisted" | "requires_live_obsidian";
|
|
2
2
|
export interface ErrorJSON {
|
|
3
3
|
code: ErrorCode;
|
|
4
4
|
message: string;
|
|
@@ -44,6 +44,7 @@ export declare const err: {
|
|
|
44
44
|
readonly basesSyntaxError: Mk;
|
|
45
45
|
readonly executeCommandDisabled: Mk;
|
|
46
46
|
readonly commandNotAllowlisted: Mk;
|
|
47
|
+
readonly requiresLiveObsidian: Mk;
|
|
47
48
|
};
|
|
48
49
|
export {};
|
|
49
50
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAEjB,cAAc,GACd,WAAW,GACX,kBAAkB,GAClB,WAAW,GACX,iBAAiB,GACjB,UAAU,GACV,0BAA0B,GAC1B,uBAAuB,GACvB,iBAAiB,GACjB,gBAAgB,GAChB,UAAU,GACV,WAAW,GACX,WAAW,GACX,oBAAoB,GACpB,UAAU,GAEV,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,yBAAyB,GACzB,eAAe,GACf,gBAAgB,GAEhB,0BAA0B,GAC1B,mBAAmB,GACnB,WAAW,GACX,iBAAiB,GACjB,gBAAgB,GAChB,oBAAoB,GAEpB,oBAAoB,GAEpB,0BAA0B,GAC1B,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAEjB,cAAc,GACd,WAAW,GACX,kBAAkB,GAClB,WAAW,GACX,iBAAiB,GACjB,UAAU,GACV,0BAA0B,GAC1B,uBAAuB,GACvB,iBAAiB,GACjB,gBAAgB,GAChB,UAAU,GACV,WAAW,GACX,WAAW,GACX,oBAAoB,GACpB,UAAU,GAEV,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,yBAAyB,GACzB,eAAe,GACf,gBAAgB,GAEhB,0BAA0B,GAC1B,mBAAmB,GACnB,WAAW,GACX,iBAAiB,GACjB,gBAAgB,GAChB,oBAAoB,GAEpB,oBAAoB,GAEpB,0BAA0B,GAC1B,yBAAyB,GAEzB,wBAAwB,CAAC;AAe7B,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAEhB,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAS/E,MAAM,IAAI,SAAS;CAQpB;AAED,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,eAAe,CAAC;AAMnF,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CN,CAAC"}
|
package/dist/errors.js
CHANGED
|
@@ -68,5 +68,7 @@ export const err = {
|
|
|
68
68
|
// M4 — G2.1 Domain 26 command palette (deny-by-default command execution).
|
|
69
69
|
executeCommandDisabled: mk("execute_command_disabled", "command execution is disabled for this vault"),
|
|
70
70
|
commandNotAllowlisted: mk("command_not_allowlisted", "command is not in the vault allowlist"),
|
|
71
|
+
// M-headless (THE-255) — Tier-3 tools degrade to this headless (see vault/mode.ts assertLive).
|
|
72
|
+
requiresLiveObsidian: mk("requires_live_obsidian", "this operation requires a live Obsidian (Local REST API) connection"),
|
|
71
73
|
};
|
|
72
74
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export * from "./errors";
|
|
2
|
-
export * from "./scopes";
|
|
3
|
-
export * from "./result";
|
|
4
1
|
export * from "./config.schema";
|
|
2
|
+
export * from "./errors";
|
|
5
3
|
export * from "./morgiana.schema";
|
|
4
|
+
export * from "./net-host";
|
|
5
|
+
export * from "./result";
|
|
6
6
|
export * from "./schemas/primitives";
|
|
7
|
+
export * from "./scopes";
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export * from "./errors";
|
|
2
|
-
export * from "./scopes";
|
|
3
|
-
export * from "./result";
|
|
4
1
|
export * from "./config.schema";
|
|
2
|
+
export * from "./errors";
|
|
5
3
|
export * from "./morgiana.schema";
|
|
4
|
+
export * from "./net-host";
|
|
5
|
+
export * from "./result";
|
|
6
6
|
export * from "./schemas/primitives";
|
|
7
|
+
export * from "./scopes";
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC"}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
/** The nine CloudEvents `type` values MORGIANA recognizes (G2.4 §Event types). */
|
|
3
3
|
export declare const MORGIANA_EVENT_TYPES: readonly ["tc.tool.call.completed", "tc.acl.denied", "tc.elicit.requested", "tc.elicit.consumed", "tc.rate_limit.hit", "tc.governor.overflow", "tc.vault.cache_reset", "tc.server.start", "tc.server.shutdown"];
|
|
4
|
-
export declare const MorgianaEventType: z.ZodEnum<
|
|
4
|
+
export declare const MorgianaEventType: z.ZodEnum<{
|
|
5
|
+
"tc.tool.call.completed": "tc.tool.call.completed";
|
|
6
|
+
"tc.acl.denied": "tc.acl.denied";
|
|
7
|
+
"tc.elicit.requested": "tc.elicit.requested";
|
|
8
|
+
"tc.elicit.consumed": "tc.elicit.consumed";
|
|
9
|
+
"tc.rate_limit.hit": "tc.rate_limit.hit";
|
|
10
|
+
"tc.governor.overflow": "tc.governor.overflow";
|
|
11
|
+
"tc.vault.cache_reset": "tc.vault.cache_reset";
|
|
12
|
+
"tc.server.start": "tc.server.start";
|
|
13
|
+
"tc.server.shutdown": "tc.server.shutdown";
|
|
14
|
+
}>;
|
|
5
15
|
export type MorgianaEventType = z.infer<typeof MorgianaEventType>;
|
|
6
16
|
/**
|
|
7
17
|
* The CloudEvents `data` payload (G2.4 §Data shape). One uniform shape across all event types:
|
|
@@ -12,8 +22,12 @@ export declare const MorgianaEventDataSchema: z.ZodObject<{
|
|
|
12
22
|
vault_id: z.ZodString;
|
|
13
23
|
tool: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
14
24
|
caller_hash: z.ZodDefault<z.ZodString>;
|
|
15
|
-
scopes_required: z.ZodDefault<z.ZodArray<z.ZodString
|
|
16
|
-
status: z.ZodDefault<z.ZodNullable<z.ZodEnum<
|
|
25
|
+
scopes_required: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
26
|
+
status: z.ZodDefault<z.ZodNullable<z.ZodEnum<{
|
|
27
|
+
ok: "ok";
|
|
28
|
+
error: "error";
|
|
29
|
+
denied: "denied";
|
|
30
|
+
}>>>;
|
|
17
31
|
duration_ms: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
18
32
|
elicit_token: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
19
33
|
idempotency_key: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
@@ -22,62 +36,38 @@ export declare const MorgianaEventDataSchema: z.ZodObject<{
|
|
|
22
36
|
error: z.ZodDefault<z.ZodNullable<z.ZodObject<{
|
|
23
37
|
code: z.ZodString;
|
|
24
38
|
message: z.ZodString;
|
|
25
|
-
},
|
|
26
|
-
code: string;
|
|
27
|
-
message: string;
|
|
28
|
-
}, {
|
|
29
|
-
code: string;
|
|
30
|
-
message: string;
|
|
31
|
-
}>>>;
|
|
39
|
+
}, z.core.$strip>>>;
|
|
32
40
|
count: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
33
|
-
},
|
|
34
|
-
status: "ok" | "denied" | "error" | null;
|
|
35
|
-
vault_id: string;
|
|
36
|
-
tool: string | null;
|
|
37
|
-
caller_hash: string;
|
|
38
|
-
scopes_required: string[];
|
|
39
|
-
error: {
|
|
40
|
-
code: string;
|
|
41
|
-
message: string;
|
|
42
|
-
} | null;
|
|
43
|
-
duration_ms: number | null;
|
|
44
|
-
elicit_token: string | null;
|
|
45
|
-
idempotency_key: string | null;
|
|
46
|
-
result_size: number | null;
|
|
47
|
-
overflow_bytes: number | null;
|
|
48
|
-
count: number | null;
|
|
49
|
-
}, {
|
|
50
|
-
vault_id: string;
|
|
51
|
-
status?: "ok" | "denied" | "error" | null | undefined;
|
|
52
|
-
tool?: string | null | undefined;
|
|
53
|
-
caller_hash?: string | undefined;
|
|
54
|
-
scopes_required?: string[] | undefined;
|
|
55
|
-
error?: {
|
|
56
|
-
code: string;
|
|
57
|
-
message: string;
|
|
58
|
-
} | null | undefined;
|
|
59
|
-
duration_ms?: number | null | undefined;
|
|
60
|
-
elicit_token?: string | null | undefined;
|
|
61
|
-
idempotency_key?: string | null | undefined;
|
|
62
|
-
result_size?: number | null | undefined;
|
|
63
|
-
overflow_bytes?: number | null | undefined;
|
|
64
|
-
count?: number | null | undefined;
|
|
65
|
-
}>;
|
|
41
|
+
}, z.core.$strip>;
|
|
66
42
|
export type MorgianaEventData = z.infer<typeof MorgianaEventDataSchema>;
|
|
67
43
|
/** CloudEvents 1.0 envelope (G2.4 §Envelope). `source` is `obsidian-tc/<vault_id>`. */
|
|
68
44
|
export declare const CloudEventSchema: z.ZodObject<{
|
|
69
45
|
specversion: z.ZodLiteral<"1.0">;
|
|
70
46
|
id: z.ZodString;
|
|
71
47
|
source: z.ZodString;
|
|
72
|
-
type: z.ZodEnum<
|
|
48
|
+
type: z.ZodEnum<{
|
|
49
|
+
"tc.tool.call.completed": "tc.tool.call.completed";
|
|
50
|
+
"tc.acl.denied": "tc.acl.denied";
|
|
51
|
+
"tc.elicit.requested": "tc.elicit.requested";
|
|
52
|
+
"tc.elicit.consumed": "tc.elicit.consumed";
|
|
53
|
+
"tc.rate_limit.hit": "tc.rate_limit.hit";
|
|
54
|
+
"tc.governor.overflow": "tc.governor.overflow";
|
|
55
|
+
"tc.vault.cache_reset": "tc.vault.cache_reset";
|
|
56
|
+
"tc.server.start": "tc.server.start";
|
|
57
|
+
"tc.server.shutdown": "tc.server.shutdown";
|
|
58
|
+
}>;
|
|
73
59
|
datacontenttype: z.ZodDefault<z.ZodLiteral<"application/json">>;
|
|
74
60
|
time: z.ZodString;
|
|
75
61
|
data: z.ZodObject<{
|
|
76
62
|
vault_id: z.ZodString;
|
|
77
63
|
tool: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
78
64
|
caller_hash: z.ZodDefault<z.ZodString>;
|
|
79
|
-
scopes_required: z.ZodDefault<z.ZodArray<z.ZodString
|
|
80
|
-
status: z.ZodDefault<z.ZodNullable<z.ZodEnum<
|
|
65
|
+
scopes_required: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
66
|
+
status: z.ZodDefault<z.ZodNullable<z.ZodEnum<{
|
|
67
|
+
ok: "ok";
|
|
68
|
+
error: "error";
|
|
69
|
+
denied: "denied";
|
|
70
|
+
}>>>;
|
|
81
71
|
duration_ms: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
82
72
|
elicit_token: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
83
73
|
idempotency_key: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
@@ -86,95 +76,9 @@ export declare const CloudEventSchema: z.ZodObject<{
|
|
|
86
76
|
error: z.ZodDefault<z.ZodNullable<z.ZodObject<{
|
|
87
77
|
code: z.ZodString;
|
|
88
78
|
message: z.ZodString;
|
|
89
|
-
},
|
|
90
|
-
code: string;
|
|
91
|
-
message: string;
|
|
92
|
-
}, {
|
|
93
|
-
code: string;
|
|
94
|
-
message: string;
|
|
95
|
-
}>>>;
|
|
79
|
+
}, z.core.$strip>>>;
|
|
96
80
|
count: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
97
|
-
},
|
|
98
|
-
|
|
99
|
-
vault_id: string;
|
|
100
|
-
tool: string | null;
|
|
101
|
-
caller_hash: string;
|
|
102
|
-
scopes_required: string[];
|
|
103
|
-
error: {
|
|
104
|
-
code: string;
|
|
105
|
-
message: string;
|
|
106
|
-
} | null;
|
|
107
|
-
duration_ms: number | null;
|
|
108
|
-
elicit_token: string | null;
|
|
109
|
-
idempotency_key: string | null;
|
|
110
|
-
result_size: number | null;
|
|
111
|
-
overflow_bytes: number | null;
|
|
112
|
-
count: number | null;
|
|
113
|
-
}, {
|
|
114
|
-
vault_id: string;
|
|
115
|
-
status?: "ok" | "denied" | "error" | null | undefined;
|
|
116
|
-
tool?: string | null | undefined;
|
|
117
|
-
caller_hash?: string | undefined;
|
|
118
|
-
scopes_required?: string[] | undefined;
|
|
119
|
-
error?: {
|
|
120
|
-
code: string;
|
|
121
|
-
message: string;
|
|
122
|
-
} | null | undefined;
|
|
123
|
-
duration_ms?: number | null | undefined;
|
|
124
|
-
elicit_token?: string | null | undefined;
|
|
125
|
-
idempotency_key?: string | null | undefined;
|
|
126
|
-
result_size?: number | null | undefined;
|
|
127
|
-
overflow_bytes?: number | null | undefined;
|
|
128
|
-
count?: number | null | undefined;
|
|
129
|
-
}>;
|
|
130
|
-
}, "strip", z.ZodTypeAny, {
|
|
131
|
-
type: "tc.tool.call.completed" | "tc.acl.denied" | "tc.elicit.requested" | "tc.elicit.consumed" | "tc.rate_limit.hit" | "tc.governor.overflow" | "tc.vault.cache_reset" | "tc.server.start" | "tc.server.shutdown";
|
|
132
|
-
time: string;
|
|
133
|
-
id: string;
|
|
134
|
-
specversion: "1.0";
|
|
135
|
-
source: string;
|
|
136
|
-
datacontenttype: "application/json";
|
|
137
|
-
data: {
|
|
138
|
-
status: "ok" | "denied" | "error" | null;
|
|
139
|
-
vault_id: string;
|
|
140
|
-
tool: string | null;
|
|
141
|
-
caller_hash: string;
|
|
142
|
-
scopes_required: string[];
|
|
143
|
-
error: {
|
|
144
|
-
code: string;
|
|
145
|
-
message: string;
|
|
146
|
-
} | null;
|
|
147
|
-
duration_ms: number | null;
|
|
148
|
-
elicit_token: string | null;
|
|
149
|
-
idempotency_key: string | null;
|
|
150
|
-
result_size: number | null;
|
|
151
|
-
overflow_bytes: number | null;
|
|
152
|
-
count: number | null;
|
|
153
|
-
};
|
|
154
|
-
}, {
|
|
155
|
-
type: "tc.tool.call.completed" | "tc.acl.denied" | "tc.elicit.requested" | "tc.elicit.consumed" | "tc.rate_limit.hit" | "tc.governor.overflow" | "tc.vault.cache_reset" | "tc.server.start" | "tc.server.shutdown";
|
|
156
|
-
time: string;
|
|
157
|
-
id: string;
|
|
158
|
-
specversion: "1.0";
|
|
159
|
-
source: string;
|
|
160
|
-
data: {
|
|
161
|
-
vault_id: string;
|
|
162
|
-
status?: "ok" | "denied" | "error" | null | undefined;
|
|
163
|
-
tool?: string | null | undefined;
|
|
164
|
-
caller_hash?: string | undefined;
|
|
165
|
-
scopes_required?: string[] | undefined;
|
|
166
|
-
error?: {
|
|
167
|
-
code: string;
|
|
168
|
-
message: string;
|
|
169
|
-
} | null | undefined;
|
|
170
|
-
duration_ms?: number | null | undefined;
|
|
171
|
-
elicit_token?: string | null | undefined;
|
|
172
|
-
idempotency_key?: string | null | undefined;
|
|
173
|
-
result_size?: number | null | undefined;
|
|
174
|
-
overflow_bytes?: number | null | undefined;
|
|
175
|
-
count?: number | null | undefined;
|
|
176
|
-
};
|
|
177
|
-
datacontenttype?: "application/json" | undefined;
|
|
178
|
-
}>;
|
|
81
|
+
}, z.core.$strip>;
|
|
82
|
+
}, z.core.$strip>;
|
|
179
83
|
export type CloudEvent = z.infer<typeof CloudEventSchema>;
|
|
180
84
|
//# sourceMappingURL=morgiana.schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morgiana.schema.d.ts","sourceRoot":"","sources":["../src/morgiana.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,iNAUvB,CAAC;AAEX,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"morgiana.schema.d.ts","sourceRoot":"","sources":["../src/morgiana.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,iNAUvB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;EAA+B,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;iBAalC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,uFAAuF;AACvF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize a host string for binding and loopback comparison: trim, lowercase,
|
|
3
|
+
* and strip a single surrounding pair of IPv6 brackets. Node's bind layer expects
|
|
4
|
+
* the bare address ("::1"), not the bracketed URL form ("[::1]"), so the same
|
|
5
|
+
* normalization must feed both the loopback check and the actual bind call.
|
|
6
|
+
* Otherwise a bracketed host can clear the F2 safety gate yet fail to bind.
|
|
7
|
+
*/
|
|
8
|
+
export declare function normalizeHostForBind(host: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* True only for genuine loopback hosts: "localhost", the IPv4 loopback block
|
|
11
|
+
* 127.0.0.0/8 (octets validated), IPv6 "::1", and IPv4-mapped IPv6 loopback
|
|
12
|
+
* "::ffff:127.x.x.x". "0.0.0.0", "::", and any LAN or public address are
|
|
13
|
+
* intentionally NOT loopback (F2).
|
|
14
|
+
*/
|
|
15
|
+
export declare function isLoopbackHost(host: string): boolean;
|
|
16
|
+
//# sourceMappingURL=net-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"net-host.d.ts","sourceRoot":"","sources":["../src/net-host.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAYD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASpD"}
|
package/dist/net-host.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize a host string for binding and loopback comparison: trim, lowercase,
|
|
3
|
+
* and strip a single surrounding pair of IPv6 brackets. Node's bind layer expects
|
|
4
|
+
* the bare address ("::1"), not the bracketed URL form ("[::1]"), so the same
|
|
5
|
+
* normalization must feed both the loopback check and the actual bind call.
|
|
6
|
+
* Otherwise a bracketed host can clear the F2 safety gate yet fail to bind.
|
|
7
|
+
*/
|
|
8
|
+
export function normalizeHostForBind(host) {
|
|
9
|
+
return host.trim().toLowerCase().replace(/^\[/, "").replace(/\]$/, "");
|
|
10
|
+
}
|
|
11
|
+
// Strict dotted-quad IPv4 with every octet in 0-255. Kept dependency-free (no
|
|
12
|
+
// node:net) so this module stays usable from the isomorphic shared package.
|
|
13
|
+
// Rejects malformed values like "127.999.999.999" that a loose \d{1,3} regex
|
|
14
|
+
// would wrongly accept.
|
|
15
|
+
function isStrictIpv4(h) {
|
|
16
|
+
const m = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(h);
|
|
17
|
+
if (!m)
|
|
18
|
+
return false;
|
|
19
|
+
return m.slice(1).every((octet) => Number(octet) <= 255);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* True only for genuine loopback hosts: "localhost", the IPv4 loopback block
|
|
23
|
+
* 127.0.0.0/8 (octets validated), IPv6 "::1", and IPv4-mapped IPv6 loopback
|
|
24
|
+
* "::ffff:127.x.x.x". "0.0.0.0", "::", and any LAN or public address are
|
|
25
|
+
* intentionally NOT loopback (F2).
|
|
26
|
+
*/
|
|
27
|
+
export function isLoopbackHost(host) {
|
|
28
|
+
const h = normalizeHostForBind(host);
|
|
29
|
+
if (h === "localhost" || h === "::1")
|
|
30
|
+
return true;
|
|
31
|
+
if (isStrictIpv4(h))
|
|
32
|
+
return h.startsWith("127.");
|
|
33
|
+
if (h.startsWith("::ffff:")) {
|
|
34
|
+
const v4 = h.slice("::ffff:".length);
|
|
35
|
+
return isStrictIpv4(v4) && v4.startsWith("127.");
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=net-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"net-host.js","sourceRoot":"","sources":["../src/net-host.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,wBAAwB;AACxB,SAAS,YAAY,CAAC,CAAS;IAC7B,MAAM,CAAC,GAAG,8CAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,YAAY,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,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"}
|