@tickernelz/paperclip-pro-adapter-omp-local 2026.925.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.
Files changed (94) hide show
  1. package/LICENSE +22 -0
  2. package/dist/cli/format-event.d.ts +2 -0
  3. package/dist/cli/format-event.d.ts.map +1 -0
  4. package/dist/cli/format-event.js +56 -0
  5. package/dist/cli/format-event.js.map +1 -0
  6. package/dist/cli/index.d.ts +2 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +2 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +2 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/metadata.d.ts +9 -0
  15. package/dist/metadata.d.ts.map +1 -0
  16. package/dist/metadata.js +44 -0
  17. package/dist/metadata.js.map +1 -0
  18. package/dist/server/config.d.ts +22 -0
  19. package/dist/server/config.d.ts.map +1 -0
  20. package/dist/server/config.js +661 -0
  21. package/dist/server/config.js.map +1 -0
  22. package/dist/server/execute.cwd.test.d.ts +2 -0
  23. package/dist/server/execute.cwd.test.d.ts.map +1 -0
  24. package/dist/server/execute.cwd.test.js +88 -0
  25. package/dist/server/execute.cwd.test.js.map +1 -0
  26. package/dist/server/execute.d.ts +8 -0
  27. package/dist/server/execute.d.ts.map +1 -0
  28. package/dist/server/execute.js +812 -0
  29. package/dist/server/execute.js.map +1 -0
  30. package/dist/server/execute.toggles.test.d.ts +2 -0
  31. package/dist/server/execute.toggles.test.d.ts.map +1 -0
  32. package/dist/server/execute.toggles.test.js +147 -0
  33. package/dist/server/execute.toggles.test.js.map +1 -0
  34. package/dist/server/failure.d.ts +17 -0
  35. package/dist/server/failure.d.ts.map +1 -0
  36. package/dist/server/failure.js +74 -0
  37. package/dist/server/failure.js.map +1 -0
  38. package/dist/server/index.d.ts +6 -0
  39. package/dist/server/index.d.ts.map +1 -0
  40. package/dist/server/index.js +97 -0
  41. package/dist/server/index.js.map +1 -0
  42. package/dist/server/models.d.ts +19 -0
  43. package/dist/server/models.d.ts.map +1 -0
  44. package/dist/server/models.js +208 -0
  45. package/dist/server/models.js.map +1 -0
  46. package/dist/server/parse.d.ts +36 -0
  47. package/dist/server/parse.d.ts.map +1 -0
  48. package/dist/server/parse.js +378 -0
  49. package/dist/server/parse.js.map +1 -0
  50. package/dist/server/parse.test.d.ts +2 -0
  51. package/dist/server/parse.test.d.ts.map +1 -0
  52. package/dist/server/parse.test.js +29 -0
  53. package/dist/server/parse.test.js.map +1 -0
  54. package/dist/server/profile.d.ts +7 -0
  55. package/dist/server/profile.d.ts.map +1 -0
  56. package/dist/server/profile.js +40 -0
  57. package/dist/server/profile.js.map +1 -0
  58. package/dist/server/progress.d.ts +16 -0
  59. package/dist/server/progress.d.ts.map +1 -0
  60. package/dist/server/progress.js +226 -0
  61. package/dist/server/progress.js.map +1 -0
  62. package/dist/server/quota.d.ts +4 -0
  63. package/dist/server/quota.d.ts.map +1 -0
  64. package/dist/server/quota.js +129 -0
  65. package/dist/server/quota.js.map +1 -0
  66. package/dist/server/redaction-repair.d.ts +5 -0
  67. package/dist/server/redaction-repair.d.ts.map +1 -0
  68. package/dist/server/redaction-repair.js +122 -0
  69. package/dist/server/redaction-repair.js.map +1 -0
  70. package/dist/server/settings-overlay.d.ts +19 -0
  71. package/dist/server/settings-overlay.d.ts.map +1 -0
  72. package/dist/server/settings-overlay.js +60 -0
  73. package/dist/server/settings-overlay.js.map +1 -0
  74. package/dist/server/skills.d.ts +5 -0
  75. package/dist/server/skills.d.ts.map +1 -0
  76. package/dist/server/skills.js +110 -0
  77. package/dist/server/skills.js.map +1 -0
  78. package/dist/server/test.d.ts +3 -0
  79. package/dist/server/test.d.ts.map +1 -0
  80. package/dist/server/test.js +435 -0
  81. package/dist/server/test.js.map +1 -0
  82. package/dist/ui/index.d.ts +2 -0
  83. package/dist/ui/index.d.ts.map +1 -0
  84. package/dist/ui/index.js +2 -0
  85. package/dist/ui/index.js.map +1 -0
  86. package/dist/ui/parse-stdout.d.ts +4 -0
  87. package/dist/ui/parse-stdout.d.ts.map +1 -0
  88. package/dist/ui/parse-stdout.js +480 -0
  89. package/dist/ui/parse-stdout.js.map +1 -0
  90. package/dist/ui/parse-stdout.test.d.ts +2 -0
  91. package/dist/ui/parse-stdout.test.d.ts.map +1 -0
  92. package/dist/ui/parse-stdout.test.js +69 -0
  93. package/dist/ui/parse-stdout.test.js.map +1 -0
  94. package/package.json +58 -0
@@ -0,0 +1,435 @@
1
+ import path from "node:path";
2
+ import { describeAdapterExecutionTarget, ensureAdapterExecutionTargetCommandResolvable, ensureAdapterExecutionTargetDirectory, maybeRunSandboxInstallCommand, overrideAdapterExecutionTargetRemoteCwd, prepareAdapterExecutionTargetRuntime, resolveAdapterExecutionTargetCwd, runAdapterExecutionTargetProcess, } from "@tickernelz/paperclip-pro-adapter-utils/execution-target";
3
+ import { asNumber, asString, ensurePathInEnv, parseObject, } from "@tickernelz/paperclip-pro-adapter-utils/server-utils";
4
+ import { OMP_INSTALL_COMMAND } from "../metadata.js";
5
+ import { prepareOmpRuntimeConfig, resolveOmpCommand, } from "./config.js";
6
+ import { parseOmpModelsOutput } from "./models.js";
7
+ import { rewriteRemoteConfigPaths } from "./execute.js";
8
+ const AUTH_ERROR_RE = /(?:auth(?:entication|orization)?\s+(?:required|failed)|api[_ -]?key|invalid\s+(?:key|token)|not\s+logged\s+in|login\s+required|credentials?\s+(?:missing|not found)|unauthorized|\b401\b|\b403\b)/i;
9
+ const CONFIG_ERROR_RE = /(?:models\.ya?ml|config\.ya?ml|validation failed|invalid (?:config|profile|yaml)|yaml.*(?:error|invalid)|unknown (?:setting|provider)|failed to load extension)/i;
10
+ const MODEL_ERROR_RE = /(?:model.*(?:not found|unavailable|unknown)|unknown model|no models? available)/i;
11
+ function summarizeStatus(checks) {
12
+ if (checks.some((check) => check.level === "error"))
13
+ return "fail";
14
+ if (checks.some((check) => check.level === "warn"))
15
+ return "warn";
16
+ return "pass";
17
+ }
18
+ function stringEnv(value) {
19
+ const env = {};
20
+ for (const [key, item] of Object.entries(parseObject(value))) {
21
+ if (typeof item === "string")
22
+ env[key] = item;
23
+ }
24
+ return env;
25
+ }
26
+ function stringList(value) {
27
+ const values = Array.isArray(value)
28
+ ? value
29
+ : typeof value === "string"
30
+ ? value.split(/\r?\n/)
31
+ : [];
32
+ return values
33
+ .filter((item) => typeof item === "string")
34
+ .map((item) => item.trim())
35
+ .filter(Boolean);
36
+ }
37
+ function globalList(value) {
38
+ if (!value?.trim())
39
+ return [];
40
+ if (value.trim().startsWith("[")) {
41
+ try {
42
+ const parsed = JSON.parse(value);
43
+ if (Array.isArray(parsed))
44
+ return stringList(parsed);
45
+ }
46
+ catch {
47
+ }
48
+ }
49
+ return value.split(value.includes("\n") ? /\r?\n/ : path.delimiter).map((item) => item.trim()).filter(Boolean);
50
+ }
51
+ function safeDetail(...values) {
52
+ const raw = values.flatMap((value) => value.split(/\r?\n/)).map((line) => line.trim()).find(Boolean);
53
+ if (!raw)
54
+ return null;
55
+ const redacted = raw
56
+ .replace(/(\bauthorization\s*:\s*bearer\s+)\S+/gi, "$1[REDACTED]")
57
+ .replace(/((?:api[_ -]?key|token|secret|password|authorization)\s*[:=]\s*)\S+/gi, "$1[REDACTED]")
58
+ .replace(/(:\/\/)[^\s/@:]+:[^\s/@]+@/g, "$1[REDACTED]@");
59
+ const compact = redacted.replace(/\s+/g, " ").trim();
60
+ return compact.length > 300 ? `${compact.slice(0, 299)}…` : compact;
61
+ }
62
+ function addFailureCheck(checks, evidence, detail) {
63
+ if (CONFIG_ERROR_RE.test(evidence)) {
64
+ checks.push({
65
+ code: "omp_models_config_invalid",
66
+ level: "error",
67
+ message: "OMP model/config loading failed.",
68
+ ...(detail ? { detail } : {}),
69
+ hint: "Validate the selected profile, config overlays, extensions, and models.yml with `omp models --json` in this environment.",
70
+ });
71
+ }
72
+ else if (MODEL_ERROR_RE.test(evidence)) {
73
+ checks.push({
74
+ code: "omp_model_unavailable",
75
+ level: "warn",
76
+ message: "OMP could not resolve an available model.",
77
+ ...(detail ? { detail } : {}),
78
+ hint: "Run `omp models --json` with the same profile and config, or enter a valid custom provider/model selector.",
79
+ });
80
+ }
81
+ else if (AUTH_ERROR_RE.test(evidence)) {
82
+ checks.push({
83
+ code: "omp_provider_auth_required",
84
+ level: "warn",
85
+ message: "OMP is installed, but provider authentication is not ready.",
86
+ ...(detail ? { detail } : {}),
87
+ hint: "Bind the provider credential environment variable or authenticate the selected OMP profile, then retry.",
88
+ });
89
+ }
90
+ else {
91
+ checks.push({
92
+ code: "omp_models_probe_failed",
93
+ level: "error",
94
+ message: "`omp models --json` failed.",
95
+ ...(detail ? { detail } : {}),
96
+ hint: "Run the same command in the selected environment to inspect OMP startup and extension diagnostics.",
97
+ });
98
+ }
99
+ }
100
+ async function prepareTarget(runId, target, cwd, localAgentDir) {
101
+ if (target?.kind !== "remote") {
102
+ return { target, cwd, agentDir: localAgentDir, restore: async () => { } };
103
+ }
104
+ const prepared = await prepareAdapterExecutionTargetRuntime({
105
+ runId,
106
+ target,
107
+ adapterKey: "omp-envtest",
108
+ workspaceLocalDir: cwd,
109
+ installCommand: OMP_INSTALL_COMMAND,
110
+ detectCommand: null,
111
+ assets: localAgentDir ? [{ key: "agentDir", localDir: localAgentDir }] : [],
112
+ });
113
+ const remoteCwd = prepared.workspaceRemoteDir ?? target.remoteCwd;
114
+ return {
115
+ target: overrideAdapterExecutionTargetRemoteCwd(target, remoteCwd) ?? null,
116
+ cwd: remoteCwd,
117
+ agentDir: prepared.assetDirs.agentDir ?? null,
118
+ restore: async () => {
119
+ await prepared.restoreWorkspace().catch(() => { });
120
+ },
121
+ };
122
+ }
123
+ export async function testEnvironment(ctx) {
124
+ const checks = [];
125
+ const config = parseObject(ctx.config);
126
+ const command = resolveOmpCommand(config);
127
+ const target = ctx.executionTarget ?? null;
128
+ const remote = target?.kind === "remote";
129
+ const configuredCwd = asString(config.cwd, "").trim();
130
+ const cwd = remote
131
+ ? path.resolve(configuredCwd || process.cwd())
132
+ : resolveAdapterExecutionTargetCwd(target, configuredCwd, process.cwd());
133
+ const runId = `omp-envtest-${Date.now()}-${Math.random().toString(16).slice(2)}`;
134
+ const targetLabel = remote ? ctx.environmentName ?? describeAdapterExecutionTarget(target) : null;
135
+ if (targetLabel) {
136
+ checks.push({
137
+ code: "omp_environment_target",
138
+ level: "info",
139
+ message: `Probing inside environment: ${targetLabel}`,
140
+ });
141
+ }
142
+ try {
143
+ await ensureAdapterExecutionTargetDirectory(runId, remote ? null : target, cwd, {
144
+ cwd,
145
+ env: {},
146
+ createIfMissing: false,
147
+ });
148
+ checks.push({ code: "omp_cwd_valid", level: "info", message: `Working directory is valid: ${cwd}` });
149
+ }
150
+ catch (error) {
151
+ checks.push({
152
+ code: "omp_cwd_invalid",
153
+ level: "error",
154
+ message: error instanceof Error ? error.message : "The configured working directory is invalid.",
155
+ detail: cwd,
156
+ hint: "Choose an existing directory inside the selected execution environment.",
157
+ });
158
+ }
159
+ let preparedConfig = null;
160
+ let preparedTarget = null;
161
+ try {
162
+ try {
163
+ preparedConfig = await prepareOmpRuntimeConfig(config, { forceMaterialized: remote });
164
+ for (const note of preparedConfig.notes) {
165
+ checks.push({
166
+ code: note.startsWith("Skipped ") ? "omp_runtime_config_skipped" : "omp_runtime_config",
167
+ level: note.startsWith("Skipped ") ? "warn" : "info",
168
+ message: note,
169
+ ...(note.startsWith("Skipped ")
170
+ ? { hint: "Use inline modelsYaml with environment-referenced credentials for remote custom providers." }
171
+ : {}),
172
+ });
173
+ }
174
+ }
175
+ catch (error) {
176
+ checks.push({
177
+ code: "omp_runtime_config_failed",
178
+ level: "error",
179
+ message: "Could not prepare OMP runtime configuration.",
180
+ detail: safeDetail(error instanceof Error ? error.message : String(error)),
181
+ hint: "Check agentDir permissions and the inline modelsYaml configuration.",
182
+ });
183
+ }
184
+ if (!preparedConfig || checks.some((check) => check.level === "error")) {
185
+ return {
186
+ adapterType: ctx.adapterType,
187
+ status: summarizeStatus(checks),
188
+ checks,
189
+ testedAt: new Date().toISOString(),
190
+ };
191
+ }
192
+ try {
193
+ preparedTarget = await prepareTarget(runId, target, cwd, preparedConfig.agentDir);
194
+ }
195
+ catch (error) {
196
+ checks.push({
197
+ code: "omp_runtime_target_prepare_failed",
198
+ level: "error",
199
+ message: "Could not prepare OMP configuration in the selected execution environment.",
200
+ detail: safeDetail(error instanceof Error ? error.message : String(error)),
201
+ hint: "Verify environment connectivity and writable runtime storage, then retry.",
202
+ });
203
+ return {
204
+ adapterType: ctx.adapterType,
205
+ status: summarizeStatus(checks),
206
+ checks,
207
+ testedAt: new Date().toISOString(),
208
+ };
209
+ }
210
+ let executionConfig = config;
211
+ try {
212
+ if (remote)
213
+ executionConfig = rewriteRemoteConfigPaths(config, cwd, preparedTarget.cwd);
214
+ }
215
+ catch (error) {
216
+ checks.push({
217
+ code: "omp_remote_path_invalid",
218
+ level: "error",
219
+ message: "An OMP path cannot be projected into the remote workspace.",
220
+ detail: safeDetail(error instanceof Error ? error.message : String(error)),
221
+ hint: "Use paths inside config.cwd or paths relative to that synchronized workspace.",
222
+ });
223
+ return {
224
+ adapterType: ctx.adapterType,
225
+ status: summarizeStatus(checks),
226
+ checks,
227
+ testedAt: new Date().toISOString(),
228
+ };
229
+ }
230
+ const configuredEnv = stringEnv(executionConfig.env);
231
+ const remoteConfiguredEnv = Object.fromEntries(Object.entries(configuredEnv).filter(([key]) => !key.startsWith("PAPERCLIP_") || key === "PAPERCLIP_API_KEY" || key === "PAPERCLIP_API_URL"));
232
+ const env = remote
233
+ ? stringEnv(ensurePathInEnv(remoteConfiguredEnv))
234
+ : stringEnv(ensurePathInEnv({ ...process.env, ...configuredEnv }));
235
+ const profile = preparedConfig.profile;
236
+ const clearProfile = preparedConfig.materialized || (preparedConfig.profileSpecified && profile === null);
237
+ if (clearProfile) {
238
+ env.OMP_PROFILE = "";
239
+ env.PI_PROFILE = "";
240
+ }
241
+ else if (profile) {
242
+ env.OMP_PROFILE = profile;
243
+ }
244
+ if (preparedTarget.agentDir)
245
+ env.PI_CODING_AGENT_DIR = preparedTarget.agentDir;
246
+ else if (process.env.PAPERCLIP_OMP_AGENT_DIR?.trim()) {
247
+ env.PI_CODING_AGENT_DIR = process.env.PAPERCLIP_OMP_AGENT_DIR.trim();
248
+ }
249
+ const installCheck = await maybeRunSandboxInstallCommand({
250
+ runId,
251
+ target: preparedTarget.target,
252
+ adapterKey: "omp",
253
+ installCommand: OMP_INSTALL_COMMAND,
254
+ detectCommand: command,
255
+ env,
256
+ }).catch((error) => ({
257
+ code: "omp_install_probe_failed",
258
+ level: "warn",
259
+ message: "Could not run the sandbox OMP installation check.",
260
+ detail: safeDetail(error instanceof Error ? error.message : String(error)),
261
+ hint: `Install OMP manually with: ${OMP_INSTALL_COMMAND}`,
262
+ }));
263
+ if (installCheck)
264
+ checks.push(installCheck);
265
+ try {
266
+ await ensureAdapterExecutionTargetCommandResolvable(command, preparedTarget.target, preparedTarget.cwd, env);
267
+ }
268
+ catch (error) {
269
+ checks.push({
270
+ code: "omp_command_unresolvable",
271
+ level: "error",
272
+ message: "The configured OMP command is not executable in this environment.",
273
+ detail: safeDetail(error instanceof Error ? error.message : String(error), command),
274
+ hint: `Set command to an executable path or install OMP with: ${OMP_INSTALL_COMMAND}`,
275
+ });
276
+ return {
277
+ adapterType: ctx.adapterType,
278
+ status: summarizeStatus(checks),
279
+ checks,
280
+ testedAt: new Date().toISOString(),
281
+ };
282
+ }
283
+ try {
284
+ const version = await runAdapterExecutionTargetProcess(`${runId}-version`, preparedTarget.target, command, ["--version"], {
285
+ cwd: preparedTarget.cwd,
286
+ env,
287
+ timeoutSec: 15,
288
+ graceSec: 3,
289
+ onLog: async () => { },
290
+ });
291
+ const detail = safeDetail(version.stdout, version.stderr);
292
+ if (version.timedOut) {
293
+ checks.push({
294
+ code: "omp_version_timed_out",
295
+ level: "error",
296
+ message: "`omp --version` timed out.",
297
+ hint: "Run the configured command manually and check runtime startup dependencies.",
298
+ });
299
+ }
300
+ else if ((version.exitCode ?? 1) !== 0) {
301
+ checks.push({
302
+ code: "omp_version_failed",
303
+ level: "error",
304
+ message: "The configured command did not complete `--version` successfully.",
305
+ ...(detail ? { detail } : {}),
306
+ hint: "Confirm command points to the OMP CLI rather than a shell command or another executable.",
307
+ });
308
+ }
309
+ else {
310
+ checks.push({
311
+ code: "omp_version_ok",
312
+ level: "info",
313
+ message: detail ? `OMP command is ready: ${detail}` : `OMP command is ready: ${command}`,
314
+ });
315
+ }
316
+ }
317
+ catch (error) {
318
+ checks.push({
319
+ code: "omp_version_failed",
320
+ level: "error",
321
+ message: "Could not run the configured OMP command with `--version`.",
322
+ detail: safeDetail(error instanceof Error ? error.message : String(error)),
323
+ hint: "Confirm command is an executable path available inside this environment.",
324
+ });
325
+ }
326
+ if (checks.some((check) => check.code === "omp_version_failed" || check.code === "omp_version_timed_out")) {
327
+ return {
328
+ adapterType: ctx.adapterType,
329
+ status: summarizeStatus(checks),
330
+ checks,
331
+ testedAt: new Date().toISOString(),
332
+ };
333
+ }
334
+ const configuredFiles = stringList(executionConfig.configFiles);
335
+ const configuredExtensions = stringList(executionConfig.extensions);
336
+ const configFiles = configuredFiles.length
337
+ ? configuredFiles
338
+ : remote ? [] : globalList(process.env.PAPERCLIP_OMP_CONFIG_FILES);
339
+ const extensions = configuredExtensions.length
340
+ ? configuredExtensions
341
+ : remote ? [] : globalList(process.env.PAPERCLIP_OMP_EXTENSIONS);
342
+ const args = ["models", "--json"];
343
+ for (const file of configFiles)
344
+ args.push("--config", file);
345
+ if (executionConfig.noExtensions === true)
346
+ args.push("--no-extensions");
347
+ else
348
+ for (const extension of extensions)
349
+ args.push("--extension", extension);
350
+ try {
351
+ const result = await runAdapterExecutionTargetProcess(`${runId}-models`, preparedTarget.target, command, args, {
352
+ cwd: preparedTarget.cwd,
353
+ env,
354
+ timeoutSec: Math.max(15, asNumber(config.modelProbeTimeoutSec, 60)),
355
+ graceSec: 5,
356
+ onLog: async () => { },
357
+ });
358
+ const evidence = `${result.stderr}\n${result.stdout}`;
359
+ const detail = safeDetail(result.stderr, result.stdout);
360
+ if (result.timedOut) {
361
+ checks.push({
362
+ code: "omp_models_probe_timed_out",
363
+ level: "warn",
364
+ message: "`omp models --json` timed out while loading providers.",
365
+ hint: "Retry, or disable a stalled discovery provider/extension in the selected OMP profile.",
366
+ });
367
+ }
368
+ else if ((result.exitCode ?? 1) !== 0) {
369
+ addFailureCheck(checks, evidence, detail);
370
+ }
371
+ else if (CONFIG_ERROR_RE.test(result.stderr)) {
372
+ addFailureCheck(checks, result.stderr, detail);
373
+ }
374
+ else {
375
+ const models = parseOmpModelsOutput(result.stdout);
376
+ if (models.length === 0) {
377
+ checks.push({
378
+ code: "omp_models_empty",
379
+ level: "warn",
380
+ message: "OMP returned no available models.",
381
+ ...(detail ? { detail } : {}),
382
+ hint: "Authenticate a provider, start a configured local engine, or supply isolated modelsYaml and matching environment credentials.",
383
+ });
384
+ }
385
+ else {
386
+ checks.push({
387
+ code: "omp_models_discovered",
388
+ level: "info",
389
+ message: `OMP reported ${models.length} available model${models.length === 1 ? "" : "s"}.`,
390
+ });
391
+ }
392
+ const configuredModel = asString(config.model, "").trim();
393
+ if (configuredModel) {
394
+ if (/^@[A-Za-z][A-Za-z0-9_-]*$/.test(configuredModel)) {
395
+ checks.push({
396
+ code: "omp_model_role_alias",
397
+ level: "info",
398
+ message: `Configured model uses OMP role alias: ${configuredModel}`,
399
+ });
400
+ }
401
+ else if (models.some((model) => model.id === configuredModel)) {
402
+ checks.push({
403
+ code: "omp_model_available",
404
+ level: "info",
405
+ message: `Configured model is available: ${configuredModel}`,
406
+ });
407
+ }
408
+ else {
409
+ checks.push({
410
+ code: "omp_model_not_listed",
411
+ level: "warn",
412
+ message: `Configured model is not in OMP's available-model list: ${configuredModel}`,
413
+ hint: "Free-text custom selectors remain allowed; verify the provider is loaded and authenticated with the same profile/config.",
414
+ });
415
+ }
416
+ }
417
+ }
418
+ }
419
+ catch (error) {
420
+ const message = error instanceof Error ? error.message : String(error);
421
+ addFailureCheck(checks, message, safeDetail(message));
422
+ }
423
+ }
424
+ finally {
425
+ await preparedTarget?.restore().catch(() => { });
426
+ await preparedConfig?.cleanup().catch(() => { });
427
+ }
428
+ return {
429
+ adapterType: ctx.adapterType,
430
+ status: summarizeStatus(checks),
431
+ checks,
432
+ testedAt: new Date().toISOString(),
433
+ };
434
+ }
435
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/server/test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { parseOmpStdoutLine } from "./parse-stdout.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { parseOmpStdoutLine } from "./parse-stdout.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { TranscriptEntry } from "@tickernelz/paperclip-pro-adapter-utils";
2
+ /** Parse one OMP JSONL stdout line into Paperclip transcript entries; stateless, so replay is stable. */
3
+ export declare function parseOmpStdoutLine(line: string, ts: string): TranscriptEntry[];
4
+ //# sourceMappingURL=parse-stdout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-stdout.d.ts","sourceRoot":"","sources":["../../src/ui/parse-stdout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AA6P/E,yGAAyG;AACzG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,eAAe,EAAE,CA0B9E"}