__vite_ssr_exportName__("OrchestrationThreadSearchSource", () => { try { return OrchestrationThreadSearchSource } catch {} });
__vite_ssr_exportName__("THREAD_SEARCH_QUERY_MAX_LENGTH", () => { try { return THREAD_SEARCH_QUERY_MAX_LENGTH } catch {} });
__vite_ssr_exportName__("OrchestrationSearchThreadsInput", () => { try { return OrchestrationSearchThreadsInput } catch {} });
__vite_ssr_exportName__("OrchestrationThreadSearchMatch", () => { try { return OrchestrationThreadSearchMatch } catch {} });
__vite_ssr_exportName__("OrchestrationSearchThreadsResult", () => { try { return OrchestrationSearchThreadsResult } catch {} });
__vite_ssr_exportName__("OrchestrationSearchThreadsError", () => { try { return OrchestrationSearchThreadsError } catch {} });
const __vite_ssr_import_0__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Schema.js");
const __vite_ssr_import_1__ = await __vite_ssr_import__("/@fs/home/ubuntu/wt/pr-24263/packages/contracts/src/baseSchemas.ts", {"importedNames":["IsoDateTime","MessageId","ProjectId","ThreadId","TrimmedNonEmptyString","TrimmedString"]});


const OrchestrationThreadSearchSource = __vite_ssr_import_0__.Literals(["user", "assistant"]);
/** Longer queries are cut to this before they are sent. */
const THREAD_SEARCH_QUERY_MAX_LENGTH = 200;
// The server's SQLite client is synchronous and single-connection. Bound both
// scan input and response size so a search cannot monopolize that connection.
const OrchestrationSearchThreadsInput = __vite_ssr_import_0__.Struct({
	query: __vite_ssr_import_1__.TrimmedString.check(__vite_ssr_import_0__.isMinLength(2), __vite_ssr_import_0__.isMaxLength(THREAD_SEARCH_QUERY_MAX_LENGTH)),
	limit: __vite_ssr_import_0__.optionalKey(__vite_ssr_import_0__.Int.check(__vite_ssr_import_0__.isBetween({
		minimum: 1,
		maximum: 50
	})))
});
const OrchestrationThreadSearchMatch = __vite_ssr_import_0__.Struct({
	threadId: __vite_ssr_import_1__.ThreadId,
	projectId: __vite_ssr_import_1__.ProjectId,
	source: OrchestrationThreadSearchSource,
	snippet: __vite_ssr_import_0__.String.check(__vite_ssr_import_0__.isMaxLength(240)),
	messageCreatedAt: __vite_ssr_import_0__.NullOr((0,__vite_ssr_import_1__.IsoDateTime)),
	/**
	* How well the message matches: 1 for whole words, 0.8 when a word only
	* starts one, 0.3 when one only appears inside words, 0.25 more when the
	* words are written together as typed, else 0.1 more when they are near.
	* Older servers omit it.
	*/
	quality: __vite_ssr_import_0__.optionalKey(__vite_ssr_import_0__.Finite),
	/** How many of the thread's newest messages match. Older servers omit it. */
	hits: __vite_ssr_import_0__.optionalKey(__vite_ssr_import_0__.Int),
	/** The message the snippet is from. Older servers omit it. */
	messageId: __vite_ssr_import_0__.optionalKey((0,__vite_ssr_import_1__.MessageId))
});
const OrchestrationSearchThreadsResult = __vite_ssr_import_0__.Struct({ matches: __vite_ssr_import_0__.Array(OrchestrationThreadSearchMatch) });
class OrchestrationSearchThreadsError extends __vite_ssr_import_0__.TaggedError()("OrchestrationSearchThreadsError", {
	message: __vite_ssr_import_1__.TrimmedNonEmptyString,
	cause: __vite_ssr_import_0__.optional(__vite_ssr_import_0__.Defect())
}) {}
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IkFBQUEsQ0FBQTs7Ozs7O0FBQUE7QUFFQTs7O0FBU08sTUFBTSxrQ0FBa0Msc0JBQU8sU0FBUyxDQUFDLFFBQVEsV0FBVyxDQUFDOztBQUk3RSxNQUFNLGlDQUFpQzs7O0FBSXZDLE1BQU0sa0NBQWtDLHNCQUFPLE9BQU87Q0FDM0QsT0FBTyxvQ0FBYyxNQUNuQixzQkFBTyxZQUFZLENBQUMsR0FDcEIsc0JBQU8sWUFBWSw4QkFBOEIsQ0FDbkQ7Q0FDQSxPQUFPLHNCQUFPLFlBQVksc0JBQU8sSUFBSSxNQUFNLHNCQUFPLFVBQVU7RUFBRSxTQUFTO0VBQUcsU0FBUztDQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzNGLENBQUM7QUFHTSxNQUFNLGlDQUFpQyxzQkFBTyxPQUFPO0NBQzFELFVBQVU7Q0FDVixXQUFXO0NBQ1gsUUFBUTtDQUNSLFNBQVMsc0JBQU8sT0FBTyxNQUFNLHNCQUFPLFlBQVksR0FBRyxDQUFDO0NBQ3BELGtCQUFrQixzQkFBTyxVQUFPLGtDQUFXOzs7Ozs7O0NBTzNDLFNBQVMsc0JBQU8sWUFBWSxzQkFBTyxNQUFNOztDQUV6QyxNQUFNLHNCQUFPLFlBQVksc0JBQU8sR0FBRzs7Q0FFbkMsV0FBVyxzQkFBTyxlQUFZLGdDQUFTO0FBQ3pDLENBQUM7QUFHTSxNQUFNLG1DQUFtQyxzQkFBTyxPQUFPLEVBQzVELFNBQVMsc0JBQU8sTUFBTSw4QkFBOEIsRUFDdEQsQ0FBQztBQUdNLE1BQU0sd0NBQXdDLHNCQUFPLFlBQTZDLENBQUMsQ0FDeEcsbUNBQ0E7Q0FDRSxTQUFTO0NBQ1QsT0FBTyxzQkFBTyxTQUFTLHNCQUFPLE9BQU8sQ0FBQztBQUN4QyxDQUNGLENBQUMsQ0FBQyxDQUFDIiwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJ0aHJlYWRTZWFyY2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgU2NoZW1hIGZyb20gXCJlZmZlY3QvU2NoZW1hXCI7XG5cbmltcG9ydCB7XG4gIElzb0RhdGVUaW1lLFxuICBNZXNzYWdlSWQsXG4gIFByb2plY3RJZCxcbiAgVGhyZWFkSWQsXG4gIFRyaW1tZWROb25FbXB0eVN0cmluZyxcbiAgVHJpbW1lZFN0cmluZyxcbn0gZnJvbSBcIi4vYmFzZVNjaGVtYXMudHNcIjtcblxuZXhwb3J0IGNvbnN0IE9yY2hlc3RyYXRpb25UaHJlYWRTZWFyY2hTb3VyY2UgPSBTY2hlbWEuTGl0ZXJhbHMoW1widXNlclwiLCBcImFzc2lzdGFudFwiXSk7XG5leHBvcnQgdHlwZSBPcmNoZXN0cmF0aW9uVGhyZWFkU2VhcmNoU291cmNlID0gdHlwZW9mIE9yY2hlc3RyYXRpb25UaHJlYWRTZWFyY2hTb3VyY2UuVHlwZTtcblxuLyoqIExvbmdlciBxdWVyaWVzIGFyZSBjdXQgdG8gdGhpcyBiZWZvcmUgdGhleSBhcmUgc2VudC4gKi9cbmV4cG9ydCBjb25zdCBUSFJFQURfU0VBUkNIX1FVRVJZX01BWF9MRU5HVEggPSAyMDA7XG5cbi8vIFRoZSBzZXJ2ZXIncyBTUUxpdGUgY2xpZW50IGlzIHN5bmNocm9ub3VzIGFuZCBzaW5nbGUtY29ubmVjdGlvbi4gQm91bmQgYm90aFxuLy8gc2NhbiBpbnB1dCBhbmQgcmVzcG9uc2Ugc2l6ZSBzbyBhIHNlYXJjaCBjYW5ub3QgbW9ub3BvbGl6ZSB0aGF0IGNvbm5lY3Rpb24uXG5leHBvcnQgY29uc3QgT3JjaGVzdHJhdGlvblNlYXJjaFRocmVhZHNJbnB1dCA9IFNjaGVtYS5TdHJ1Y3Qoe1xuICBxdWVyeTogVHJpbW1lZFN0cmluZy5jaGVjayhcbiAgICBTY2hlbWEuaXNNaW5MZW5ndGgoMiksXG4gICAgU2NoZW1hLmlzTWF4TGVuZ3RoKFRIUkVBRF9TRUFSQ0hfUVVFUllfTUFYX0xFTkdUSCksXG4gICksXG4gIGxpbWl0OiBTY2hlbWEub3B0aW9uYWxLZXkoU2NoZW1hLkludC5jaGVjayhTY2hlbWEuaXNCZXR3ZWVuKHsgbWluaW11bTogMSwgbWF4aW11bTogNTAgfSkpKSxcbn0pO1xuZXhwb3J0IHR5cGUgT3JjaGVzdHJhdGlvblNlYXJjaFRocmVhZHNJbnB1dCA9IHR5cGVvZiBPcmNoZXN0cmF0aW9uU2VhcmNoVGhyZWFkc0lucHV0LlR5cGU7XG5cbmV4cG9ydCBjb25zdCBPcmNoZXN0cmF0aW9uVGhyZWFkU2VhcmNoTWF0Y2ggPSBTY2hlbWEuU3RydWN0KHtcbiAgdGhyZWFkSWQ6IFRocmVhZElkLFxuICBwcm9qZWN0SWQ6IFByb2plY3RJZCxcbiAgc291cmNlOiBPcmNoZXN0cmF0aW9uVGhyZWFkU2VhcmNoU291cmNlLFxuICBzbmlwcGV0OiBTY2hlbWEuU3RyaW5nLmNoZWNrKFNjaGVtYS5pc01heExlbmd0aCgyNDApKSxcbiAgbWVzc2FnZUNyZWF0ZWRBdDogU2NoZW1hLk51bGxPcihJc29EYXRlVGltZSksXG4gIC8qKlxuICAgKiBIb3cgd2VsbCB0aGUgbWVzc2FnZSBtYXRjaGVzOiAxIGZvciB3aG9sZSB3b3JkcywgMC44IHdoZW4gYSB3b3JkIG9ubHlcbiAgICogc3RhcnRzIG9uZSwgMC4zIHdoZW4gb25lIG9ubHkgYXBwZWFycyBpbnNpZGUgd29yZHMsIDAuMjUgbW9yZSB3aGVuIHRoZVxuICAgKiB3b3JkcyBhcmUgd3JpdHRlbiB0b2dldGhlciBhcyB0eXBlZCwgZWxzZSAwLjEgbW9yZSB3aGVuIHRoZXkgYXJlIG5lYXIuXG4gICAqIE9sZGVyIHNlcnZlcnMgb21pdCBpdC5cbiAgICovXG4gIHF1YWxpdHk6IFNjaGVtYS5vcHRpb25hbEtleShTY2hlbWEuRmluaXRlKSxcbiAgLyoqIEhvdyBtYW55IG9mIHRoZSB0aHJlYWQncyBuZXdlc3QgbWVzc2FnZXMgbWF0Y2guIE9sZGVyIHNlcnZlcnMgb21pdCBpdC4gKi9cbiAgaGl0czogU2NoZW1hLm9wdGlvbmFsS2V5KFNjaGVtYS5JbnQpLFxuICAvKiogVGhlIG1lc3NhZ2UgdGhlIHNuaXBwZXQgaXMgZnJvbS4gT2xkZXIgc2VydmVycyBvbWl0IGl0LiAqL1xuICBtZXNzYWdlSWQ6IFNjaGVtYS5vcHRpb25hbEtleShNZXNzYWdlSWQpLFxufSk7XG5leHBvcnQgdHlwZSBPcmNoZXN0cmF0aW9uVGhyZWFkU2VhcmNoTWF0Y2ggPSB0eXBlb2YgT3JjaGVzdHJhdGlvblRocmVhZFNlYXJjaE1hdGNoLlR5cGU7XG5cbmV4cG9ydCBjb25zdCBPcmNoZXN0cmF0aW9uU2VhcmNoVGhyZWFkc1Jlc3VsdCA9IFNjaGVtYS5TdHJ1Y3Qoe1xuICBtYXRjaGVzOiBTY2hlbWEuQXJyYXkoT3JjaGVzdHJhdGlvblRocmVhZFNlYXJjaE1hdGNoKSxcbn0pO1xuZXhwb3J0IHR5cGUgT3JjaGVzdHJhdGlvblNlYXJjaFRocmVhZHNSZXN1bHQgPSB0eXBlb2YgT3JjaGVzdHJhdGlvblNlYXJjaFRocmVhZHNSZXN1bHQuVHlwZTtcblxuZXhwb3J0IGNsYXNzIE9yY2hlc3RyYXRpb25TZWFyY2hUaHJlYWRzRXJyb3IgZXh0ZW5kcyBTY2hlbWEuVGFnZ2VkRXJyb3I8T3JjaGVzdHJhdGlvblNlYXJjaFRocmVhZHNFcnJvcj4oKShcbiAgXCJPcmNoZXN0cmF0aW9uU2VhcmNoVGhyZWFkc0Vycm9yXCIsXG4gIHtcbiAgICBtZXNzYWdlOiBUcmltbWVkTm9uRW1wdHlTdHJpbmcsXG4gICAgY2F1c2U6IFNjaGVtYS5vcHRpb25hbChTY2hlbWEuRGVmZWN0KCkpLFxuICB9LFxuKSB7fVxuIl0sImZpbGUiOiIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL2NvbnRyYWN0cy9zcmMvdGhyZWFkU2VhcmNoLnRzIn0=

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvcGFja2FnZXMvY29udHJhY3RzL3NyYy90aHJlYWRTZWFyY2gudHMiLCIvQGZzL2hvbWUvdWJ1bnR1L3d0L3ByLTI0MjYzL3BhY2thZ2VzL2NvbnRyYWN0cy9zcmMvdGhyZWFkU2VhcmNoLnRzIix7InVybHMiOiI2IiwiaWRzIjoiNyJ9LFsiOCIsIjkiXSxbXSxbIjgiLCI5Il0se30sIi9AZnMvaG9tZS91YnVudHUvd3QvcHItMjQyNjMvbm9kZV9tb2R1bGVzLy5wbnBtL2VmZmVjdEA0LjAuNS9ub2RlX21vZHVsZXMvZWZmZWN0L2Rpc3QvU2NoZW1hLmpzIiwiL0Bmcy9ob21lL3VidW50dS93dC9wci0yNDI2My9wYWNrYWdlcy9jb250cmFjdHMvc3JjL2Jhc2VTY2hlbWFzLnRzIl0=