@evalops/maestro 0.10.15 → 0.10.16

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/cli.js CHANGED
@@ -38353,20 +38353,20 @@ function resolveManagedEvalOpsContext(env = process.env, loadCredentials) {
38353
38353
  evidencePublisher: managed ? "EvalOps" : "none",
38354
38354
  expiresAt: credentials?.expires,
38355
38355
  inference: managed ? "managed" : "local",
38356
- integrationProfile: agentMcp?.integrationProfile,
38356
+ integrationProfile: readEnv2(env, INTEGRATION_PROFILE_ENV) ?? agentMcp?.integrationProfile,
38357
38357
  keyPrefix: agentMcp?.keyPrefix,
38358
38358
  managed,
38359
- memoryMode: agentMcp?.memoryMode,
38359
+ memoryMode: readEnv2(env, MEMORY_MODE_ENV) ?? agentMcp?.memoryMode,
38360
38360
  mode,
38361
38361
  organizationId,
38362
38362
  providerRef,
38363
38363
  runId,
38364
- runtimeOwner: agentMcp?.runtimeOwner,
38364
+ runtimeOwner: readEnv2(env, RUNTIME_OWNER_ENV) ?? agentMcp?.runtimeOwner,
38365
38365
  sessionExpiresAt: agentMcp?.sessionExpiresAt,
38366
38366
  sessionId: readEnv2(env, ["MAESTRO_SESSION_ID"]),
38367
- shimType: agentMcp?.shimType,
38367
+ shimType: readEnv2(env, SHIM_TYPE_ENV) ?? agentMcp?.shimType,
38368
38368
  traceIngestion: managed && runId ? "live" : "not configured",
38369
- traceMode: agentMcp?.traceMode,
38369
+ traceMode: readEnv2(env, TRACE_MODE_ENV) ?? agentMcp?.traceMode,
38370
38370
  userEmail: nonEmptyString(metadata?.email),
38371
38371
  userId: readEnv2(env, USER_ENV) ?? nonEmptyString(metadata?.userId),
38372
38372
  workspaceId
@@ -38397,6 +38397,8 @@ function formatManagedEvalOpsStatus(context2, options = {}) {
38397
38397
  if (context2.integrationProfile) {
38398
38398
  lines.push(`${dim("Integration profile")}: ${context2.integrationProfile}`);
38399
38399
  }
38400
+ if (context2.runtimeOwner)
38401
+ lines.push(`${dim("Runtime owner")}: ${context2.runtimeOwner}`);
38400
38402
  if (context2.shimType)
38401
38403
  lines.push(`${dim("Shim")}: ${context2.shimType}`);
38402
38404
  if (context2.traceMode)
@@ -38430,6 +38432,11 @@ var ORG_ENV;
38430
38432
  var WORKSPACE_ENV;
38431
38433
  var USER_ENV;
38432
38434
  var TOKEN_ENV;
38435
+ var INTEGRATION_PROFILE_ENV;
38436
+ var MEMORY_MODE_ENV;
38437
+ var RUNTIME_OWNER_ENV;
38438
+ var SHIM_TYPE_ENV;
38439
+ var TRACE_MODE_ENV;
38433
38440
  var init_managed_context = __esm2(() => {
38434
38441
  init_storage();
38435
38442
  ORG_ENV = [
@@ -38452,6 +38459,26 @@ var init_managed_context = __esm2(() => {
38452
38459
  "MAESTRO_USER_ID"
38453
38460
  ];
38454
38461
  TOKEN_ENV = ["MAESTRO_EVALOPS_ACCESS_TOKEN", "EVALOPS_TOKEN"];
38462
+ INTEGRATION_PROFILE_ENV = [
38463
+ "MAESTRO_EVALOPS_INTEGRATION_PROFILE",
38464
+ "MAESTRO_INTEGRATION_PROFILE"
38465
+ ];
38466
+ MEMORY_MODE_ENV = [
38467
+ "MAESTRO_EVALOPS_MEMORY_MODE",
38468
+ "MAESTRO_MEMORY_MODE"
38469
+ ];
38470
+ RUNTIME_OWNER_ENV = [
38471
+ "MAESTRO_EVALOPS_RUNTIME_OWNER",
38472
+ "MAESTRO_RUNTIME_OWNER"
38473
+ ];
38474
+ SHIM_TYPE_ENV = [
38475
+ "MAESTRO_EVALOPS_SHIM_TYPE",
38476
+ "MAESTRO_SHIM_TYPE"
38477
+ ];
38478
+ TRACE_MODE_ENV = [
38479
+ "MAESTRO_EVALOPS_TRACE_MODE",
38480
+ "MAESTRO_TRACE_MODE"
38481
+ ];
38455
38482
  });
38456
38483
  function entry(type, category, protoMessage, platformConsumers) {
38457
38484
  return {
@@ -87970,14 +87997,14 @@ function buildPlatformMcpHeaders() {
87970
87997
  "X-EvalOps-Session-Id": getEnvValue3(["MAESTRO_SESSION_ID"]),
87971
87998
  "X-EvalOps-Agent-Id": getEnvValue3(PLATFORM_MCP_AGENT_ID_ENV_VARS) ?? stored?.agentId,
87972
87999
  "X-EvalOps-Agent-Run-Id": getEnvValue3(["MAESTRO_AGENT_RUN_ID"]) ?? stored?.runId,
87973
- "X-EvalOps-Integration-Profile": stored?.integrationProfile,
87974
- "X-EvalOps-Memory-Mode": stored?.memoryMode,
87975
- "X-EvalOps-Runtime-Owner": stored?.runtimeOwner,
88000
+ "X-EvalOps-Integration-Profile": getEnvValue3(PLATFORM_MCP_INTEGRATION_PROFILE_ENV_VARS) ?? stored?.integrationProfile,
88001
+ "X-EvalOps-Memory-Mode": getEnvValue3(PLATFORM_MCP_MEMORY_MODE_ENV_VARS) ?? stored?.memoryMode,
88002
+ "X-EvalOps-Runtime-Owner": getEnvValue3(PLATFORM_MCP_RUNTIME_OWNER_ENV_VARS) ?? stored?.runtimeOwner,
87976
88003
  "X-EvalOps-Scopes": getEnvValue3(PLATFORM_MCP_SCOPES_ENV_VARS),
87977
- "X-EvalOps-Shim-Type": stored?.shimType,
88004
+ "X-EvalOps-Shim-Type": getEnvValue3(PLATFORM_MCP_SHIM_TYPE_ENV_VARS) ?? stored?.shimType,
87978
88005
  "X-EvalOps-Request-Id": getEnvValue3(["MAESTRO_REQUEST_ID"]),
87979
88006
  "X-EvalOps-Trace-Id": getEnvValue3(["TRACE_ID", "OTEL_TRACE_ID"]),
87980
- "X-EvalOps-Trace-Mode": stored?.traceMode,
88007
+ "X-EvalOps-Trace-Mode": getEnvValue3(PLATFORM_MCP_TRACE_MODE_ENV_VARS) ?? stored?.traceMode,
87981
88008
  "X-EvalOps-Maestro-Surface": getEnvValue3(["MAESTRO_SURFACE"]) ?? "maestro"
87982
88009
  }).filter((entry2) => typeof entry2[1] === "string" && entry2[1].trim().length > 0));
87983
88010
  return Object.keys(headers).length > 0 ? headers : void 0;
@@ -88026,6 +88053,11 @@ var PLATFORM_MCP_TOKEN_ENV_VARS;
88026
88053
  var PLATFORM_MCP_WORKSPACE_ENV_VARS;
88027
88054
  var PLATFORM_MCP_AGENT_ID_ENV_VARS;
88028
88055
  var PLATFORM_MCP_SCOPES_ENV_VARS;
88056
+ var PLATFORM_MCP_INTEGRATION_PROFILE_ENV_VARS;
88057
+ var PLATFORM_MCP_MEMORY_MODE_ENV_VARS;
88058
+ var PLATFORM_MCP_RUNTIME_OWNER_ENV_VARS;
88059
+ var PLATFORM_MCP_SHIM_TYPE_ENV_VARS;
88060
+ var PLATFORM_MCP_TRACE_MODE_ENV_VARS;
88029
88061
  var DEFAULT_PLATFORM_MCP_SERVER_NAME = "evalops";
88030
88062
  var AGENT_MCP_MANIFEST_PATH2 = "/.well-known/evalops/agent-mcp.json";
88031
88063
  var AGENT_MCP_PATH2 = "/mcp";
@@ -88074,6 +88106,26 @@ var init_platform_plugin = __esm2(() => {
88074
88106
  "MAESTRO_EVALOPS_AGENT_MCP_SCOPES",
88075
88107
  "MAESTRO_CEREBRO_MCP_SCOPES"
88076
88108
  ];
88109
+ PLATFORM_MCP_INTEGRATION_PROFILE_ENV_VARS = [
88110
+ "MAESTRO_EVALOPS_INTEGRATION_PROFILE",
88111
+ "MAESTRO_INTEGRATION_PROFILE"
88112
+ ];
88113
+ PLATFORM_MCP_MEMORY_MODE_ENV_VARS = [
88114
+ "MAESTRO_EVALOPS_MEMORY_MODE",
88115
+ "MAESTRO_MEMORY_MODE"
88116
+ ];
88117
+ PLATFORM_MCP_RUNTIME_OWNER_ENV_VARS = [
88118
+ "MAESTRO_EVALOPS_RUNTIME_OWNER",
88119
+ "MAESTRO_RUNTIME_OWNER"
88120
+ ];
88121
+ PLATFORM_MCP_SHIM_TYPE_ENV_VARS = [
88122
+ "MAESTRO_EVALOPS_SHIM_TYPE",
88123
+ "MAESTRO_SHIM_TYPE"
88124
+ ];
88125
+ PLATFORM_MCP_TRACE_MODE_ENV_VARS = [
88126
+ "MAESTRO_EVALOPS_TRACE_MODE",
88127
+ "MAESTRO_TRACE_MODE"
88128
+ ];
88077
88129
  });
88078
88130
  var mcpNameSchema;
88079
88131
  var mcpTransportSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"managed-context.d.ts","sourceRoot":"","sources":["../../src/evalops/managed-context.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,gBAAgB,EAGrB,MAAM,qBAAqB,CAAC;AAE7B,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE9C,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,gBAAgB,CAAC;AACjE,MAAM,MAAM,+BAA+B,GAAG,SAAS,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,qBAAqB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,+BAA+B,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,4BAA4B,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,iBAAiB,GAAG,uBAAuB,GAAG,OAAO,CAAC;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,wBAAwB,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAiBD,MAAM,MAAM,sBAAsB,GAAG,MAAM,gBAAgB,GAAG,IAAI,CAAC;AA4HnE,wBAAgB,4BAA4B,CAC3C,GAAG,GAAE,GAAiB,EACtB,eAAe,CAAC,EAAE,sBAAsB,GACtC,qBAAqB,CAsDvB;AAED,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,qBAAqB,EAC9B,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,MAAM,CAmDR"}
1
+ {"version":3,"file":"managed-context.d.ts","sourceRoot":"","sources":["../../src/evalops/managed-context.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,gBAAgB,EAGrB,MAAM,qBAAqB,CAAC;AAE7B,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE9C,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,gBAAgB,CAAC;AACjE,MAAM,MAAM,+BAA+B,GAAG,SAAS,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,qBAAqB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,+BAA+B,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,4BAA4B,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,iBAAiB,GAAG,uBAAuB,GAAG,OAAO,CAAC;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,wBAAwB,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAiBD,MAAM,MAAM,sBAAsB,GAAG,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAgJnE,wBAAgB,4BAA4B,CAC3C,GAAG,GAAE,GAAiB,EACtB,eAAe,CAAC,EAAE,sBAAsB,GACtC,qBAAqB,CAuDvB;AAED,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,qBAAqB,EAC9B,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,MAAM,CAqDR"}
@@ -22,6 +22,26 @@ const USER_ENV = [
22
22
  "MAESTRO_USER_ID",
23
23
  ];
24
24
  const TOKEN_ENV = ["MAESTRO_EVALOPS_ACCESS_TOKEN", "EVALOPS_TOKEN"];
25
+ const INTEGRATION_PROFILE_ENV = [
26
+ "MAESTRO_EVALOPS_INTEGRATION_PROFILE",
27
+ "MAESTRO_INTEGRATION_PROFILE",
28
+ ];
29
+ const MEMORY_MODE_ENV = [
30
+ "MAESTRO_EVALOPS_MEMORY_MODE",
31
+ "MAESTRO_MEMORY_MODE",
32
+ ];
33
+ const RUNTIME_OWNER_ENV = [
34
+ "MAESTRO_EVALOPS_RUNTIME_OWNER",
35
+ "MAESTRO_RUNTIME_OWNER",
36
+ ];
37
+ const SHIM_TYPE_ENV = [
38
+ "MAESTRO_EVALOPS_SHIM_TYPE",
39
+ "MAESTRO_SHIM_TYPE",
40
+ ];
41
+ const TRACE_MODE_ENV = [
42
+ "MAESTRO_EVALOPS_TRACE_MODE",
43
+ "MAESTRO_TRACE_MODE",
44
+ ];
25
45
  function nonEmptyString(value) {
26
46
  return typeof value === "string" && value.trim().length > 0
27
47
  ? value.trim()
@@ -129,20 +149,20 @@ export function resolveManagedEvalOpsContext(env = process.env, loadCredentials)
129
149
  evidencePublisher: managed ? "EvalOps" : "none",
130
150
  expiresAt: credentials?.expires,
131
151
  inference: managed ? "managed" : "local",
132
- integrationProfile: agentMcp?.integrationProfile,
152
+ integrationProfile: readEnv(env, INTEGRATION_PROFILE_ENV) ?? agentMcp?.integrationProfile,
133
153
  keyPrefix: agentMcp?.keyPrefix,
134
154
  managed,
135
- memoryMode: agentMcp?.memoryMode,
155
+ memoryMode: readEnv(env, MEMORY_MODE_ENV) ?? agentMcp?.memoryMode,
136
156
  mode,
137
157
  organizationId,
138
158
  providerRef,
139
159
  runId,
140
- runtimeOwner: agentMcp?.runtimeOwner,
160
+ runtimeOwner: readEnv(env, RUNTIME_OWNER_ENV) ?? agentMcp?.runtimeOwner,
141
161
  sessionExpiresAt: agentMcp?.sessionExpiresAt,
142
162
  sessionId: readEnv(env, ["MAESTRO_SESSION_ID"]),
143
- shimType: agentMcp?.shimType,
163
+ shimType: readEnv(env, SHIM_TYPE_ENV) ?? agentMcp?.shimType,
144
164
  traceIngestion: managed && runId ? "live" : "not configured",
145
- traceMode: agentMcp?.traceMode,
165
+ traceMode: readEnv(env, TRACE_MODE_ENV) ?? agentMcp?.traceMode,
146
166
  userEmail: nonEmptyString(metadata?.email),
147
167
  userId: readEnv(env, USER_ENV) ?? nonEmptyString(metadata?.userId),
148
168
  workspaceId,
@@ -173,6 +193,8 @@ export function formatManagedEvalOpsStatus(context, options = {}) {
173
193
  if (context.integrationProfile) {
174
194
  lines.push(`${dim("Integration profile")}: ${context.integrationProfile}`);
175
195
  }
196
+ if (context.runtimeOwner)
197
+ lines.push(`${dim("Runtime owner")}: ${context.runtimeOwner}`);
176
198
  if (context.shimType)
177
199
  lines.push(`${dim("Shim")}: ${context.shimType}`);
178
200
  if (context.traceMode)
@@ -1 +1 @@
1
- {"version":3,"file":"managed-context.js","sourceRoot":"","sources":["../../src/evalops/managed-context.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from \"chalk\";\nimport {\n\ttype OAuthCredentials,\n\tgetOAuthStorageRevision,\n\tloadOAuthCredentials,\n} from \"../oauth/storage.js\";\n\ntype Env = Record<string, string | undefined>;\n\nexport type EvalOpsManagedTraceState = \"live\" | \"not configured\";\nexport type EvalOpsManagedEvidencePublisher = \"EvalOps\" | \"none\";\nexport type EvalOpsManagedInferenceState = \"managed\" | \"local\";\n\nexport interface EvalOpsManagedContext {\n\taccessToken?: string;\n\tagentId?: string;\n\tauthenticated: boolean;\n\tcontrolPlaneEnvironment?: string;\n\tcontrolPlaneUrl?: string;\n\tevidencePublisher: EvalOpsManagedEvidencePublisher;\n\texpiresAt?: number;\n\tinference: EvalOpsManagedInferenceState;\n\tintegrationProfile?: string;\n\tkeyPrefix?: string;\n\tmanaged: boolean;\n\tmemoryMode?: string;\n\tmode: \"EvalOps managed\" | \"EvalOps authenticated\" | \"local\";\n\torganizationId?: string;\n\tproviderRef?: Record<string, unknown>;\n\trunId?: string;\n\truntimeOwner?: string;\n\tsessionExpiresAt?: string;\n\tsessionId?: string;\n\tshimType?: string;\n\ttraceIngestion: EvalOpsManagedTraceState;\n\ttraceMode?: string;\n\tuserEmail?: string;\n\tuserId?: string;\n\tworkspaceId?: string;\n}\n\ninterface StoredAgentMcpMetadata {\n\tagentId?: string;\n\tapiKey?: string;\n\tendpoint?: string;\n\tintegrationProfile?: string;\n\tkeyPrefix?: string;\n\tmemoryMode?: string;\n\trunId?: string;\n\truntimeOwner?: string;\n\tsessionExpiresAt?: string;\n\tshimType?: string;\n\ttraceMode?: string;\n\tworkspaceId?: string;\n}\n\nexport type LoadEvalOpsCredentials = () => OAuthCredentials | null;\n\nconst PROCESS_CREDENTIAL_CACHE_MS = 30_000;\nlet processCredentialCache:\n\t| {\n\t\t\tcredentials: OAuthCredentials | null;\n\t\t\texpiresAt: number;\n\t\t\trevision: number;\n\t }\n\t| undefined;\n\nconst ORG_ENV = [\n\t\"MAESTRO_EVALOPS_ORG_ID\",\n\t\"EVALOPS_ORGANIZATION_ID\",\n\t\"EVALOPS_ORG_ID\",\n\t\"MAESTRO_ENTERPRISE_ORG_ID\",\n\t\"MAESTRO_LLM_GATEWAY_ORG_ID\",\n\t\"MAESTRO_REMOTE_RUNNER_ORG_ID\",\n] as const;\n\nconst WORKSPACE_ENV = [\n\t\"MAESTRO_EVALOPS_WORKSPACE_ID\",\n\t\"EVALOPS_WORKSPACE_ID\",\n\t\"MAESTRO_REMOTE_RUNNER_WORKSPACE_ID\",\n\t\"MAESTRO_WORKSPACE_ID\",\n] as const;\n\nconst USER_ENV = [\n\t\"MAESTRO_EVALOPS_USER_ID\",\n\t\"EVALOPS_USER_ID\",\n\t\"MAESTRO_USER_ID\",\n] as const;\n\nconst TOKEN_ENV = [\"MAESTRO_EVALOPS_ACCESS_TOKEN\", \"EVALOPS_TOKEN\"] as const;\n\nfunction nonEmptyString(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim().length > 0\n\t\t? value.trim()\n\t\t: undefined;\n}\n\nfunction readEnv(env: Env, names: readonly string[]): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = nonEmptyString(env[name]);\n\t\tif (value) return value;\n\t}\n\treturn undefined;\n}\n\nfunction recordValue(\n\trecord: Record<string, unknown> | undefined,\n\tkey: string,\n): string | undefined {\n\treturn nonEmptyString(record?.[key]);\n}\n\nfunction asRecord(value: unknown): Record<string, unknown> | undefined {\n\treturn value && typeof value === \"object\" && !Array.isArray(value)\n\t\t? (value as Record<string, unknown>)\n\t\t: undefined;\n}\n\nfunction storedAgentMcp(\n\tcredentials: OAuthCredentials | null,\n): StoredAgentMcpMetadata | undefined {\n\tconst agentMcp = asRecord(credentials?.metadata?.agentMcp);\n\tif (!agentMcp) return undefined;\n\treturn {\n\t\tagentId: recordValue(agentMcp, \"agentId\"),\n\t\tapiKey: recordValue(agentMcp, \"apiKey\"),\n\t\tendpoint: recordValue(agentMcp, \"endpoint\"),\n\t\tintegrationProfile: recordValue(agentMcp, \"integrationProfile\"),\n\t\tkeyPrefix: recordValue(agentMcp, \"keyPrefix\"),\n\t\tmemoryMode: recordValue(agentMcp, \"memoryMode\"),\n\t\trunId: recordValue(agentMcp, \"runId\"),\n\t\truntimeOwner: recordValue(agentMcp, \"runtimeOwner\"),\n\t\tsessionExpiresAt: recordValue(agentMcp, \"sessionExpiresAt\"),\n\t\tshimType: recordValue(agentMcp, \"shimType\"),\n\t\ttraceMode: recordValue(agentMcp, \"traceMode\"),\n\t\tworkspaceId: recordValue(agentMcp, \"workspaceId\"),\n\t};\n}\n\nfunction controlPlaneEnvironment(\n\tendpoint: string | undefined,\n): string | undefined {\n\tif (!endpoint) return undefined;\n\ttry {\n\t\tconst parsed = new URL(endpoint);\n\t\tif (parsed.hostname === \"app.evalops.dev\") return \"production\";\n\t\tif (parsed.hostname === \"staging.evalops.dev\") return \"staging\";\n\t\treturn parsed.hostname;\n\t} catch {\n\t\treturn endpoint;\n\t}\n}\n\nfunction safeLoadCredentials(loadCredentials: LoadEvalOpsCredentials) {\n\ttry {\n\t\treturn loadCredentials();\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nfunction loadProcessEvalOpsCredentialsCached(): OAuthCredentials | null {\n\tconst now = Date.now();\n\tconst revision = getOAuthStorageRevision();\n\tif (\n\t\tprocessCredentialCache &&\n\t\tprocessCredentialCache.revision === revision &&\n\t\tprocessCredentialCache.expiresAt > now\n\t) {\n\t\treturn processCredentialCache.credentials;\n\t}\n\tconst credentials = loadOAuthCredentials(\"evalops\");\n\tprocessCredentialCache = {\n\t\tcredentials,\n\t\texpiresAt: now + PROCESS_CREDENTIAL_CACHE_MS,\n\t\trevision,\n\t};\n\treturn credentials;\n}\n\nexport function resolveManagedEvalOpsContext(\n\tenv: Env = process.env,\n\tloadCredentials?: LoadEvalOpsCredentials,\n): EvalOpsManagedContext {\n\tconst credentials = safeLoadCredentials(\n\t\tloadCredentials ??\n\t\t\t(env === process.env ? loadProcessEvalOpsCredentialsCached : () => null),\n\t);\n\tconst metadata = credentials?.metadata;\n\tconst providerRef = asRecord(metadata?.providerRef);\n\tconst agentMcp = storedAgentMcp(credentials);\n\tconst accessToken =\n\t\treadEnv(env, TOKEN_ENV) ?? nonEmptyString(credentials?.access);\n\tconst organizationId =\n\t\treadEnv(env, ORG_ENV) ?? nonEmptyString(metadata?.organizationId);\n\tconst workspaceId =\n\t\treadEnv(env, WORKSPACE_ENV) ?? agentMcp?.workspaceId ?? organizationId;\n\tconst agentId = readEnv(env, [\"MAESTRO_AGENT_ID\"]) ?? agentMcp?.agentId;\n\tconst runId = readEnv(env, [\"MAESTRO_AGENT_RUN_ID\"]) ?? agentMcp?.runId;\n\tconst authenticated = Boolean(accessToken || credentials);\n\tconst managedAgentSession = Boolean(\n\t\tagentMcp?.apiKey || (readEnv(env, TOKEN_ENV) && (agentId || runId)),\n\t);\n\tconst managed = Boolean(organizationId && managedAgentSession);\n\tconst mode = managed\n\t\t? \"EvalOps managed\"\n\t\t: authenticated\n\t\t\t? \"EvalOps authenticated\"\n\t\t\t: \"local\";\n\n\treturn {\n\t\taccessToken,\n\t\tagentId,\n\t\tauthenticated,\n\t\tcontrolPlaneEnvironment: controlPlaneEnvironment(agentMcp?.endpoint),\n\t\tcontrolPlaneUrl: agentMcp?.endpoint,\n\t\tevidencePublisher: managed ? \"EvalOps\" : \"none\",\n\t\texpiresAt: credentials?.expires,\n\t\tinference: managed ? \"managed\" : \"local\",\n\t\tintegrationProfile: agentMcp?.integrationProfile,\n\t\tkeyPrefix: agentMcp?.keyPrefix,\n\t\tmanaged,\n\t\tmemoryMode: agentMcp?.memoryMode,\n\t\tmode,\n\t\torganizationId,\n\t\tproviderRef,\n\t\trunId,\n\t\truntimeOwner: agentMcp?.runtimeOwner,\n\t\tsessionExpiresAt: agentMcp?.sessionExpiresAt,\n\t\tsessionId: readEnv(env, [\"MAESTRO_SESSION_ID\"]),\n\t\tshimType: agentMcp?.shimType,\n\t\ttraceIngestion: managed && runId ? \"live\" : \"not configured\",\n\t\ttraceMode: agentMcp?.traceMode,\n\t\tuserEmail: nonEmptyString(metadata?.email),\n\t\tuserId: readEnv(env, USER_ENV) ?? nonEmptyString(metadata?.userId),\n\t\tworkspaceId,\n\t};\n}\n\nexport function formatManagedEvalOpsStatus(\n\tcontext: EvalOpsManagedContext,\n\toptions: { color?: boolean } = {},\n): string {\n\tconst color = options.color ?? true;\n\tconst good = (value: string) => (color ? chalk.green(value) : value);\n\tconst dim = (value: string) => (color ? chalk.dim(value) : value);\n\tconst lines = [\n\t\t`${good(\"Mode\")}: ${context.mode}`,\n\t\t`${good(\"Control plane\")}: ${context.controlPlaneEnvironment ?? \"not configured\"}`,\n\t];\n\tif (context.controlPlaneUrl) {\n\t\tlines.push(`${dim(\"Control plane URL\")}: ${context.controlPlaneUrl}`);\n\t}\n\tif (context.userEmail)\n\t\tlines.push(`${dim(\"Authenticated as\")}: ${context.userEmail}`);\n\tif (context.organizationId)\n\t\tlines.push(`${dim(\"Organization\")}: ${context.organizationId}`);\n\tif (context.workspaceId)\n\t\tlines.push(`${dim(\"Workspace\")}: ${context.workspaceId}`);\n\tlines.push(\n\t\t`${good(\"Agent runtime\")}: ${context.agentId ? \"registered\" : \"not registered\"}`,\n\t);\n\tif (context.agentId) lines.push(`${dim(\"Agent\")}: ${context.agentId}`);\n\tif (context.runId) lines.push(`${dim(\"Run\")}: ${context.runId}`);\n\tif (context.integrationProfile) {\n\t\tlines.push(`${dim(\"Integration profile\")}: ${context.integrationProfile}`);\n\t}\n\tif (context.shimType) lines.push(`${dim(\"Shim\")}: ${context.shimType}`);\n\tif (context.traceMode)\n\t\tlines.push(`${dim(\"Trace mode\")}: ${context.traceMode}`);\n\tif (context.memoryMode)\n\t\tlines.push(`${dim(\"Memory mode\")}: ${context.memoryMode}`);\n\tlines.push(`${good(\"Trace ingestion\")}: ${context.traceIngestion}`);\n\tlines.push(`${good(\"Evidence publisher\")}: ${context.evidencePublisher}`);\n\tlines.push(`${good(\"Inference\")}: ${context.inference}`);\n\tif (context.providerRef) {\n\t\tconst provider = nonEmptyString(context.providerRef.provider) ?? \"openai\";\n\t\tconst environment =\n\t\t\tnonEmptyString(context.providerRef.environment) ?? \"prod\";\n\t\tlines.push(`${dim(\"Provider ref\")}: ${provider}/${environment}`);\n\t}\n\tif (context.keyPrefix) lines.push(`${dim(\"API key\")}: ${context.keyPrefix}`);\n\tif (context.sessionExpiresAt) {\n\t\tlines.push(`${dim(\"Agent session expires\")}: ${context.sessionExpiresAt}`);\n\t}\n\tif (context.expiresAt) {\n\t\tconst remainingMs = Math.max(0, context.expiresAt - Date.now());\n\t\tconst minutes = Math.round(remainingMs / 60_000);\n\t\tlines.push(\n\t\t\t`${dim(\"Access token\")}: expires in ~${minutes} minute${minutes === 1 ? \"\" : \"s\"}`,\n\t\t);\n\t}\n\treturn lines.join(\"\\n\");\n}\n"]}
1
+ {"version":3,"file":"managed-context.js","sourceRoot":"","sources":["../../src/evalops/managed-context.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from \"chalk\";\nimport {\n\ttype OAuthCredentials,\n\tgetOAuthStorageRevision,\n\tloadOAuthCredentials,\n} from \"../oauth/storage.js\";\n\ntype Env = Record<string, string | undefined>;\n\nexport type EvalOpsManagedTraceState = \"live\" | \"not configured\";\nexport type EvalOpsManagedEvidencePublisher = \"EvalOps\" | \"none\";\nexport type EvalOpsManagedInferenceState = \"managed\" | \"local\";\n\nexport interface EvalOpsManagedContext {\n\taccessToken?: string;\n\tagentId?: string;\n\tauthenticated: boolean;\n\tcontrolPlaneEnvironment?: string;\n\tcontrolPlaneUrl?: string;\n\tevidencePublisher: EvalOpsManagedEvidencePublisher;\n\texpiresAt?: number;\n\tinference: EvalOpsManagedInferenceState;\n\tintegrationProfile?: string;\n\tkeyPrefix?: string;\n\tmanaged: boolean;\n\tmemoryMode?: string;\n\tmode: \"EvalOps managed\" | \"EvalOps authenticated\" | \"local\";\n\torganizationId?: string;\n\tproviderRef?: Record<string, unknown>;\n\trunId?: string;\n\truntimeOwner?: string;\n\tsessionExpiresAt?: string;\n\tsessionId?: string;\n\tshimType?: string;\n\ttraceIngestion: EvalOpsManagedTraceState;\n\ttraceMode?: string;\n\tuserEmail?: string;\n\tuserId?: string;\n\tworkspaceId?: string;\n}\n\ninterface StoredAgentMcpMetadata {\n\tagentId?: string;\n\tapiKey?: string;\n\tendpoint?: string;\n\tintegrationProfile?: string;\n\tkeyPrefix?: string;\n\tmemoryMode?: string;\n\trunId?: string;\n\truntimeOwner?: string;\n\tsessionExpiresAt?: string;\n\tshimType?: string;\n\ttraceMode?: string;\n\tworkspaceId?: string;\n}\n\nexport type LoadEvalOpsCredentials = () => OAuthCredentials | null;\n\nconst PROCESS_CREDENTIAL_CACHE_MS = 30_000;\nlet processCredentialCache:\n\t| {\n\t\t\tcredentials: OAuthCredentials | null;\n\t\t\texpiresAt: number;\n\t\t\trevision: number;\n\t }\n\t| undefined;\n\nconst ORG_ENV = [\n\t\"MAESTRO_EVALOPS_ORG_ID\",\n\t\"EVALOPS_ORGANIZATION_ID\",\n\t\"EVALOPS_ORG_ID\",\n\t\"MAESTRO_ENTERPRISE_ORG_ID\",\n\t\"MAESTRO_LLM_GATEWAY_ORG_ID\",\n\t\"MAESTRO_REMOTE_RUNNER_ORG_ID\",\n] as const;\n\nconst WORKSPACE_ENV = [\n\t\"MAESTRO_EVALOPS_WORKSPACE_ID\",\n\t\"EVALOPS_WORKSPACE_ID\",\n\t\"MAESTRO_REMOTE_RUNNER_WORKSPACE_ID\",\n\t\"MAESTRO_WORKSPACE_ID\",\n] as const;\n\nconst USER_ENV = [\n\t\"MAESTRO_EVALOPS_USER_ID\",\n\t\"EVALOPS_USER_ID\",\n\t\"MAESTRO_USER_ID\",\n] as const;\n\nconst TOKEN_ENV = [\"MAESTRO_EVALOPS_ACCESS_TOKEN\", \"EVALOPS_TOKEN\"] as const;\nconst INTEGRATION_PROFILE_ENV = [\n\t\"MAESTRO_EVALOPS_INTEGRATION_PROFILE\",\n\t\"MAESTRO_INTEGRATION_PROFILE\",\n] as const;\nconst MEMORY_MODE_ENV = [\n\t\"MAESTRO_EVALOPS_MEMORY_MODE\",\n\t\"MAESTRO_MEMORY_MODE\",\n] as const;\nconst RUNTIME_OWNER_ENV = [\n\t\"MAESTRO_EVALOPS_RUNTIME_OWNER\",\n\t\"MAESTRO_RUNTIME_OWNER\",\n] as const;\nconst SHIM_TYPE_ENV = [\n\t\"MAESTRO_EVALOPS_SHIM_TYPE\",\n\t\"MAESTRO_SHIM_TYPE\",\n] as const;\nconst TRACE_MODE_ENV = [\n\t\"MAESTRO_EVALOPS_TRACE_MODE\",\n\t\"MAESTRO_TRACE_MODE\",\n] as const;\n\nfunction nonEmptyString(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim().length > 0\n\t\t? value.trim()\n\t\t: undefined;\n}\n\nfunction readEnv(env: Env, names: readonly string[]): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = nonEmptyString(env[name]);\n\t\tif (value) return value;\n\t}\n\treturn undefined;\n}\n\nfunction recordValue(\n\trecord: Record<string, unknown> | undefined,\n\tkey: string,\n): string | undefined {\n\treturn nonEmptyString(record?.[key]);\n}\n\nfunction asRecord(value: unknown): Record<string, unknown> | undefined {\n\treturn value && typeof value === \"object\" && !Array.isArray(value)\n\t\t? (value as Record<string, unknown>)\n\t\t: undefined;\n}\n\nfunction storedAgentMcp(\n\tcredentials: OAuthCredentials | null,\n): StoredAgentMcpMetadata | undefined {\n\tconst agentMcp = asRecord(credentials?.metadata?.agentMcp);\n\tif (!agentMcp) return undefined;\n\treturn {\n\t\tagentId: recordValue(agentMcp, \"agentId\"),\n\t\tapiKey: recordValue(agentMcp, \"apiKey\"),\n\t\tendpoint: recordValue(agentMcp, \"endpoint\"),\n\t\tintegrationProfile: recordValue(agentMcp, \"integrationProfile\"),\n\t\tkeyPrefix: recordValue(agentMcp, \"keyPrefix\"),\n\t\tmemoryMode: recordValue(agentMcp, \"memoryMode\"),\n\t\trunId: recordValue(agentMcp, \"runId\"),\n\t\truntimeOwner: recordValue(agentMcp, \"runtimeOwner\"),\n\t\tsessionExpiresAt: recordValue(agentMcp, \"sessionExpiresAt\"),\n\t\tshimType: recordValue(agentMcp, \"shimType\"),\n\t\ttraceMode: recordValue(agentMcp, \"traceMode\"),\n\t\tworkspaceId: recordValue(agentMcp, \"workspaceId\"),\n\t};\n}\n\nfunction controlPlaneEnvironment(\n\tendpoint: string | undefined,\n): string | undefined {\n\tif (!endpoint) return undefined;\n\ttry {\n\t\tconst parsed = new URL(endpoint);\n\t\tif (parsed.hostname === \"app.evalops.dev\") return \"production\";\n\t\tif (parsed.hostname === \"staging.evalops.dev\") return \"staging\";\n\t\treturn parsed.hostname;\n\t} catch {\n\t\treturn endpoint;\n\t}\n}\n\nfunction safeLoadCredentials(loadCredentials: LoadEvalOpsCredentials) {\n\ttry {\n\t\treturn loadCredentials();\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nfunction loadProcessEvalOpsCredentialsCached(): OAuthCredentials | null {\n\tconst now = Date.now();\n\tconst revision = getOAuthStorageRevision();\n\tif (\n\t\tprocessCredentialCache &&\n\t\tprocessCredentialCache.revision === revision &&\n\t\tprocessCredentialCache.expiresAt > now\n\t) {\n\t\treturn processCredentialCache.credentials;\n\t}\n\tconst credentials = loadOAuthCredentials(\"evalops\");\n\tprocessCredentialCache = {\n\t\tcredentials,\n\t\texpiresAt: now + PROCESS_CREDENTIAL_CACHE_MS,\n\t\trevision,\n\t};\n\treturn credentials;\n}\n\nexport function resolveManagedEvalOpsContext(\n\tenv: Env = process.env,\n\tloadCredentials?: LoadEvalOpsCredentials,\n): EvalOpsManagedContext {\n\tconst credentials = safeLoadCredentials(\n\t\tloadCredentials ??\n\t\t\t(env === process.env ? loadProcessEvalOpsCredentialsCached : () => null),\n\t);\n\tconst metadata = credentials?.metadata;\n\tconst providerRef = asRecord(metadata?.providerRef);\n\tconst agentMcp = storedAgentMcp(credentials);\n\tconst accessToken =\n\t\treadEnv(env, TOKEN_ENV) ?? nonEmptyString(credentials?.access);\n\tconst organizationId =\n\t\treadEnv(env, ORG_ENV) ?? nonEmptyString(metadata?.organizationId);\n\tconst workspaceId =\n\t\treadEnv(env, WORKSPACE_ENV) ?? agentMcp?.workspaceId ?? organizationId;\n\tconst agentId = readEnv(env, [\"MAESTRO_AGENT_ID\"]) ?? agentMcp?.agentId;\n\tconst runId = readEnv(env, [\"MAESTRO_AGENT_RUN_ID\"]) ?? agentMcp?.runId;\n\tconst authenticated = Boolean(accessToken || credentials);\n\tconst managedAgentSession = Boolean(\n\t\tagentMcp?.apiKey || (readEnv(env, TOKEN_ENV) && (agentId || runId)),\n\t);\n\tconst managed = Boolean(organizationId && managedAgentSession);\n\tconst mode = managed\n\t\t? \"EvalOps managed\"\n\t\t: authenticated\n\t\t\t? \"EvalOps authenticated\"\n\t\t\t: \"local\";\n\n\treturn {\n\t\taccessToken,\n\t\tagentId,\n\t\tauthenticated,\n\t\tcontrolPlaneEnvironment: controlPlaneEnvironment(agentMcp?.endpoint),\n\t\tcontrolPlaneUrl: agentMcp?.endpoint,\n\t\tevidencePublisher: managed ? \"EvalOps\" : \"none\",\n\t\texpiresAt: credentials?.expires,\n\t\tinference: managed ? \"managed\" : \"local\",\n\t\tintegrationProfile:\n\t\t\treadEnv(env, INTEGRATION_PROFILE_ENV) ?? agentMcp?.integrationProfile,\n\t\tkeyPrefix: agentMcp?.keyPrefix,\n\t\tmanaged,\n\t\tmemoryMode: readEnv(env, MEMORY_MODE_ENV) ?? agentMcp?.memoryMode,\n\t\tmode,\n\t\torganizationId,\n\t\tproviderRef,\n\t\trunId,\n\t\truntimeOwner: readEnv(env, RUNTIME_OWNER_ENV) ?? agentMcp?.runtimeOwner,\n\t\tsessionExpiresAt: agentMcp?.sessionExpiresAt,\n\t\tsessionId: readEnv(env, [\"MAESTRO_SESSION_ID\"]),\n\t\tshimType: readEnv(env, SHIM_TYPE_ENV) ?? agentMcp?.shimType,\n\t\ttraceIngestion: managed && runId ? \"live\" : \"not configured\",\n\t\ttraceMode: readEnv(env, TRACE_MODE_ENV) ?? agentMcp?.traceMode,\n\t\tuserEmail: nonEmptyString(metadata?.email),\n\t\tuserId: readEnv(env, USER_ENV) ?? nonEmptyString(metadata?.userId),\n\t\tworkspaceId,\n\t};\n}\n\nexport function formatManagedEvalOpsStatus(\n\tcontext: EvalOpsManagedContext,\n\toptions: { color?: boolean } = {},\n): string {\n\tconst color = options.color ?? true;\n\tconst good = (value: string) => (color ? chalk.green(value) : value);\n\tconst dim = (value: string) => (color ? chalk.dim(value) : value);\n\tconst lines = [\n\t\t`${good(\"Mode\")}: ${context.mode}`,\n\t\t`${good(\"Control plane\")}: ${context.controlPlaneEnvironment ?? \"not configured\"}`,\n\t];\n\tif (context.controlPlaneUrl) {\n\t\tlines.push(`${dim(\"Control plane URL\")}: ${context.controlPlaneUrl}`);\n\t}\n\tif (context.userEmail)\n\t\tlines.push(`${dim(\"Authenticated as\")}: ${context.userEmail}`);\n\tif (context.organizationId)\n\t\tlines.push(`${dim(\"Organization\")}: ${context.organizationId}`);\n\tif (context.workspaceId)\n\t\tlines.push(`${dim(\"Workspace\")}: ${context.workspaceId}`);\n\tlines.push(\n\t\t`${good(\"Agent runtime\")}: ${context.agentId ? \"registered\" : \"not registered\"}`,\n\t);\n\tif (context.agentId) lines.push(`${dim(\"Agent\")}: ${context.agentId}`);\n\tif (context.runId) lines.push(`${dim(\"Run\")}: ${context.runId}`);\n\tif (context.integrationProfile) {\n\t\tlines.push(`${dim(\"Integration profile\")}: ${context.integrationProfile}`);\n\t}\n\tif (context.runtimeOwner)\n\t\tlines.push(`${dim(\"Runtime owner\")}: ${context.runtimeOwner}`);\n\tif (context.shimType) lines.push(`${dim(\"Shim\")}: ${context.shimType}`);\n\tif (context.traceMode)\n\t\tlines.push(`${dim(\"Trace mode\")}: ${context.traceMode}`);\n\tif (context.memoryMode)\n\t\tlines.push(`${dim(\"Memory mode\")}: ${context.memoryMode}`);\n\tlines.push(`${good(\"Trace ingestion\")}: ${context.traceIngestion}`);\n\tlines.push(`${good(\"Evidence publisher\")}: ${context.evidencePublisher}`);\n\tlines.push(`${good(\"Inference\")}: ${context.inference}`);\n\tif (context.providerRef) {\n\t\tconst provider = nonEmptyString(context.providerRef.provider) ?? \"openai\";\n\t\tconst environment =\n\t\t\tnonEmptyString(context.providerRef.environment) ?? \"prod\";\n\t\tlines.push(`${dim(\"Provider ref\")}: ${provider}/${environment}`);\n\t}\n\tif (context.keyPrefix) lines.push(`${dim(\"API key\")}: ${context.keyPrefix}`);\n\tif (context.sessionExpiresAt) {\n\t\tlines.push(`${dim(\"Agent session expires\")}: ${context.sessionExpiresAt}`);\n\t}\n\tif (context.expiresAt) {\n\t\tconst remainingMs = Math.max(0, context.expiresAt - Date.now());\n\t\tconst minutes = Math.round(remainingMs / 60_000);\n\t\tlines.push(\n\t\t\t`${dim(\"Access token\")}: expires in ~${minutes} minute${minutes === 1 ? \"\" : \"s\"}`,\n\t\t);\n\t}\n\treturn lines.join(\"\\n\");\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"platform-plugin.d.ts","sourceRoot":"","sources":["../../src/mcp/platform-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAwHlD,wBAAgB,2BAA2B,IAAI,eAAe,EAAE,CAqB/D"}
1
+ {"version":3,"file":"platform-plugin.d.ts","sourceRoot":"","sources":["../../src/mcp/platform-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAmJlD,wBAAgB,2BAA2B,IAAI,eAAe,EAAE,CAqB/D"}
@@ -42,6 +42,26 @@ const PLATFORM_MCP_SCOPES_ENV_VARS = [
42
42
  "MAESTRO_EVALOPS_AGENT_MCP_SCOPES",
43
43
  "MAESTRO_CEREBRO_MCP_SCOPES",
44
44
  ];
45
+ const PLATFORM_MCP_INTEGRATION_PROFILE_ENV_VARS = [
46
+ "MAESTRO_EVALOPS_INTEGRATION_PROFILE",
47
+ "MAESTRO_INTEGRATION_PROFILE",
48
+ ];
49
+ const PLATFORM_MCP_MEMORY_MODE_ENV_VARS = [
50
+ "MAESTRO_EVALOPS_MEMORY_MODE",
51
+ "MAESTRO_MEMORY_MODE",
52
+ ];
53
+ const PLATFORM_MCP_RUNTIME_OWNER_ENV_VARS = [
54
+ "MAESTRO_EVALOPS_RUNTIME_OWNER",
55
+ "MAESTRO_RUNTIME_OWNER",
56
+ ];
57
+ const PLATFORM_MCP_SHIM_TYPE_ENV_VARS = [
58
+ "MAESTRO_EVALOPS_SHIM_TYPE",
59
+ "MAESTRO_SHIM_TYPE",
60
+ ];
61
+ const PLATFORM_MCP_TRACE_MODE_ENV_VARS = [
62
+ "MAESTRO_EVALOPS_TRACE_MODE",
63
+ "MAESTRO_TRACE_MODE",
64
+ ];
45
65
  const DEFAULT_PLATFORM_MCP_SERVER_NAME = "evalops";
46
66
  const AGENT_MCP_MANIFEST_PATH = "/.well-known/evalops/agent-mcp.json";
47
67
  const AGENT_MCP_PATH = "/mcp";
@@ -65,14 +85,16 @@ function buildPlatformMcpHeaders() {
65
85
  "X-EvalOps-Session-Id": getEnvValue(["MAESTRO_SESSION_ID"]),
66
86
  "X-EvalOps-Agent-Id": getEnvValue(PLATFORM_MCP_AGENT_ID_ENV_VARS) ?? stored?.agentId,
67
87
  "X-EvalOps-Agent-Run-Id": getEnvValue(["MAESTRO_AGENT_RUN_ID"]) ?? stored?.runId,
68
- "X-EvalOps-Integration-Profile": stored?.integrationProfile,
69
- "X-EvalOps-Memory-Mode": stored?.memoryMode,
70
- "X-EvalOps-Runtime-Owner": stored?.runtimeOwner,
88
+ "X-EvalOps-Integration-Profile": getEnvValue(PLATFORM_MCP_INTEGRATION_PROFILE_ENV_VARS) ??
89
+ stored?.integrationProfile,
90
+ "X-EvalOps-Memory-Mode": getEnvValue(PLATFORM_MCP_MEMORY_MODE_ENV_VARS) ?? stored?.memoryMode,
91
+ "X-EvalOps-Runtime-Owner": getEnvValue(PLATFORM_MCP_RUNTIME_OWNER_ENV_VARS) ??
92
+ stored?.runtimeOwner,
71
93
  "X-EvalOps-Scopes": getEnvValue(PLATFORM_MCP_SCOPES_ENV_VARS),
72
- "X-EvalOps-Shim-Type": stored?.shimType,
94
+ "X-EvalOps-Shim-Type": getEnvValue(PLATFORM_MCP_SHIM_TYPE_ENV_VARS) ?? stored?.shimType,
73
95
  "X-EvalOps-Request-Id": getEnvValue(["MAESTRO_REQUEST_ID"]),
74
96
  "X-EvalOps-Trace-Id": getEnvValue(["TRACE_ID", "OTEL_TRACE_ID"]),
75
- "X-EvalOps-Trace-Mode": stored?.traceMode,
97
+ "X-EvalOps-Trace-Mode": getEnvValue(PLATFORM_MCP_TRACE_MODE_ENV_VARS) ?? stored?.traceMode,
76
98
  "X-EvalOps-Maestro-Surface": getEnvValue(["MAESTRO_SURFACE"]) ?? "maestro",
77
99
  }).filter((entry) => typeof entry[1] === "string" && entry[1].trim().length > 0));
78
100
  return Object.keys(headers).length > 0 ? headers : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"platform-plugin.js","sourceRoot":"","sources":["../../src/mcp/platform-plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import { getStoredEvalOpsAgentMcpMetadata } from \"../evalops/agent-bootstrap.js\";\nimport {\n\tgetEnvValue,\n\tnormalizeBaseUrl,\n\tresolveConfiguredToken,\n\tresolveWorkspaceId,\n} from \"../platform/client.js\";\nimport type { McpServerConfig } from \"./types.js\";\n\nconst PLATFORM_MCP_DISABLED_VALUES = new Set([\"0\", \"false\", \"no\", \"off\"]);\nconst PLATFORM_MCP_ENABLED_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_ENABLED\",\n\t\"MAESTRO_AGENT_MCP_ENABLED\",\n] as const;\nconst PLATFORM_MCP_NAME_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_NAME\",\n\t\"MAESTRO_AGENT_MCP_NAME\",\n] as const;\nconst PLATFORM_MCP_URL_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_URL\",\n\t\"MAESTRO_AGENT_MCP_URL\",\n\t\"MAESTRO_EVALOPS_AGENT_MCP_URL\",\n] as const;\nconst PLATFORM_MCP_MANIFEST_URL_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_MANIFEST_URL\",\n\t\"MAESTRO_AGENT_MCP_MANIFEST_URL\",\n\t\"MAESTRO_EVALOPS_AGENT_MCP_MANIFEST_URL\",\n] as const;\nconst PLATFORM_MCP_TOKEN_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_TOKEN\",\n\t\"MAESTRO_AGENT_MCP_TOKEN\",\n\t\"MAESTRO_EVALOPS_ACCESS_TOKEN\",\n\t\"EVALOPS_TOKEN\",\n] as const;\nconst PLATFORM_MCP_WORKSPACE_ENV_VARS = [\n\t\"MAESTRO_WORKSPACE_ID\",\n\t\"MAESTRO_EVALOPS_WORKSPACE_ID\",\n\t\"MAESTRO_EVALOPS_ORG_ID\",\n\t\"EVALOPS_ORGANIZATION_ID\",\n\t\"MAESTRO_ENTERPRISE_ORG_ID\",\n] as const;\nconst PLATFORM_MCP_AGENT_ID_ENV_VARS = [\n\t\"MAESTRO_AGENT_ID\",\n\t\"MAESTRO_EVALOPS_AGENT_ID\",\n] as const;\nconst PLATFORM_MCP_SCOPES_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_SCOPES\",\n\t\"MAESTRO_AGENT_MCP_SCOPES\",\n\t\"MAESTRO_EVALOPS_AGENT_MCP_SCOPES\",\n\t\"MAESTRO_CEREBRO_MCP_SCOPES\",\n] as const;\nconst DEFAULT_PLATFORM_MCP_SERVER_NAME = \"evalops\";\nconst AGENT_MCP_MANIFEST_PATH = \"/.well-known/evalops/agent-mcp.json\";\nconst AGENT_MCP_PATH = \"/mcp\";\n\nfunction isPlatformMcpExplicitlyDisabled(): boolean {\n\tconst enabled = getEnvValue(PLATFORM_MCP_ENABLED_ENV_VARS);\n\tif (!enabled) {\n\t\treturn false;\n\t}\n\treturn PLATFORM_MCP_DISABLED_VALUES.has(enabled.trim().toLowerCase());\n}\n\nfunction buildPlatformMcpHeaders(): Record<string, string> | undefined {\n\tconst stored = getStoredEvalOpsAgentMcpMetadata();\n\tconst token =\n\t\tgetEnvValue(PLATFORM_MCP_TOKEN_ENV_VARS) ??\n\t\tstored?.apiKey ??\n\t\tresolveConfiguredToken(PLATFORM_MCP_TOKEN_ENV_VARS);\n\tconst workspaceId =\n\t\tresolveWorkspaceId(PLATFORM_MCP_WORKSPACE_ENV_VARS) ?? stored?.workspaceId;\n\tconst headers = Object.fromEntries(\n\t\tObject.entries({\n\t\t\t...(token ? { Authorization: `Bearer ${token}` } : {}),\n\t\t\t\"Mcp-Session-Id\": getEnvValue([\"MAESTRO_SESSION_ID\"]),\n\t\t\t\"X-EvalOps-Workspace-Id\": workspaceId,\n\t\t\t\"X-EvalOps-Session-Id\": getEnvValue([\"MAESTRO_SESSION_ID\"]),\n\t\t\t\"X-EvalOps-Agent-Id\":\n\t\t\t\tgetEnvValue(PLATFORM_MCP_AGENT_ID_ENV_VARS) ?? stored?.agentId,\n\t\t\t\"X-EvalOps-Agent-Run-Id\":\n\t\t\t\tgetEnvValue([\"MAESTRO_AGENT_RUN_ID\"]) ?? stored?.runId,\n\t\t\t\"X-EvalOps-Integration-Profile\": stored?.integrationProfile,\n\t\t\t\"X-EvalOps-Memory-Mode\": stored?.memoryMode,\n\t\t\t\"X-EvalOps-Runtime-Owner\": stored?.runtimeOwner,\n\t\t\t\"X-EvalOps-Scopes\": getEnvValue(PLATFORM_MCP_SCOPES_ENV_VARS),\n\t\t\t\"X-EvalOps-Shim-Type\": stored?.shimType,\n\t\t\t\"X-EvalOps-Request-Id\": getEnvValue([\"MAESTRO_REQUEST_ID\"]),\n\t\t\t\"X-EvalOps-Trace-Id\": getEnvValue([\"TRACE_ID\", \"OTEL_TRACE_ID\"]),\n\t\t\t\"X-EvalOps-Trace-Mode\": stored?.traceMode,\n\t\t\t\"X-EvalOps-Maestro-Surface\":\n\t\t\t\tgetEnvValue([\"MAESTRO_SURFACE\"]) ?? \"maestro\",\n\t\t}).filter(\n\t\t\t(entry): entry is [string, string] =>\n\t\t\t\ttypeof entry[1] === \"string\" && entry[1].trim().length > 0,\n\t\t),\n\t);\n\treturn Object.keys(headers).length > 0 ? headers : undefined;\n}\n\nfunction normalizePlatformMcpEndpoint(url: string): string {\n\tconst normalized = normalizeBaseUrl(url);\n\ttry {\n\t\tconst parsed = new URL(normalized);\n\t\tif (\n\t\t\tparsed.pathname === \"\" ||\n\t\t\tparsed.pathname === \"/\" ||\n\t\t\tparsed.pathname === AGENT_MCP_MANIFEST_PATH\n\t\t) {\n\t\t\tparsed.pathname = AGENT_MCP_PATH;\n\t\t\tparsed.search = \"\";\n\t\t\tparsed.hash = \"\";\n\t\t\treturn normalizeBaseUrl(parsed.toString());\n\t\t}\n\t} catch {\n\t\t// Keep the existing permissive behavior for non-standard local test URLs.\n\t}\n\treturn normalized;\n}\n\nfunction resolvePlatformMcpURL(): string | undefined {\n\treturn (\n\t\tgetEnvValue(PLATFORM_MCP_URL_ENV_VARS) ??\n\t\tgetEnvValue(PLATFORM_MCP_MANIFEST_URL_ENV_VARS) ??\n\t\tgetStoredEvalOpsAgentMcpMetadata()?.endpoint\n\t);\n}\n\nexport function getPlatformMcpPluginServers(): McpServerConfig[] {\n\tif (isPlatformMcpExplicitlyDisabled()) {\n\t\treturn [];\n\t}\n\n\tconst url = resolvePlatformMcpURL();\n\tif (!url) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\t{\n\t\t\tname:\n\t\t\t\tgetEnvValue(PLATFORM_MCP_NAME_ENV_VARS) ??\n\t\t\t\tDEFAULT_PLATFORM_MCP_SERVER_NAME,\n\t\t\ttransport: \"http\",\n\t\t\turl: normalizePlatformMcpEndpoint(url),\n\t\t\theaders: buildPlatformMcpHeaders(),\n\t\t\tscope: \"plugin\",\n\t\t},\n\t];\n}\n"]}
1
+ {"version":3,"file":"platform-plugin.js","sourceRoot":"","sources":["../../src/mcp/platform-plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import { getStoredEvalOpsAgentMcpMetadata } from \"../evalops/agent-bootstrap.js\";\nimport {\n\tgetEnvValue,\n\tnormalizeBaseUrl,\n\tresolveConfiguredToken,\n\tresolveWorkspaceId,\n} from \"../platform/client.js\";\nimport type { McpServerConfig } from \"./types.js\";\n\nconst PLATFORM_MCP_DISABLED_VALUES = new Set([\"0\", \"false\", \"no\", \"off\"]);\nconst PLATFORM_MCP_ENABLED_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_ENABLED\",\n\t\"MAESTRO_AGENT_MCP_ENABLED\",\n] as const;\nconst PLATFORM_MCP_NAME_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_NAME\",\n\t\"MAESTRO_AGENT_MCP_NAME\",\n] as const;\nconst PLATFORM_MCP_URL_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_URL\",\n\t\"MAESTRO_AGENT_MCP_URL\",\n\t\"MAESTRO_EVALOPS_AGENT_MCP_URL\",\n] as const;\nconst PLATFORM_MCP_MANIFEST_URL_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_MANIFEST_URL\",\n\t\"MAESTRO_AGENT_MCP_MANIFEST_URL\",\n\t\"MAESTRO_EVALOPS_AGENT_MCP_MANIFEST_URL\",\n] as const;\nconst PLATFORM_MCP_TOKEN_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_TOKEN\",\n\t\"MAESTRO_AGENT_MCP_TOKEN\",\n\t\"MAESTRO_EVALOPS_ACCESS_TOKEN\",\n\t\"EVALOPS_TOKEN\",\n] as const;\nconst PLATFORM_MCP_WORKSPACE_ENV_VARS = [\n\t\"MAESTRO_WORKSPACE_ID\",\n\t\"MAESTRO_EVALOPS_WORKSPACE_ID\",\n\t\"MAESTRO_EVALOPS_ORG_ID\",\n\t\"EVALOPS_ORGANIZATION_ID\",\n\t\"MAESTRO_ENTERPRISE_ORG_ID\",\n] as const;\nconst PLATFORM_MCP_AGENT_ID_ENV_VARS = [\n\t\"MAESTRO_AGENT_ID\",\n\t\"MAESTRO_EVALOPS_AGENT_ID\",\n] as const;\nconst PLATFORM_MCP_SCOPES_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_MCP_SCOPES\",\n\t\"MAESTRO_AGENT_MCP_SCOPES\",\n\t\"MAESTRO_EVALOPS_AGENT_MCP_SCOPES\",\n\t\"MAESTRO_CEREBRO_MCP_SCOPES\",\n] as const;\nconst PLATFORM_MCP_INTEGRATION_PROFILE_ENV_VARS = [\n\t\"MAESTRO_EVALOPS_INTEGRATION_PROFILE\",\n\t\"MAESTRO_INTEGRATION_PROFILE\",\n] as const;\nconst PLATFORM_MCP_MEMORY_MODE_ENV_VARS = [\n\t\"MAESTRO_EVALOPS_MEMORY_MODE\",\n\t\"MAESTRO_MEMORY_MODE\",\n] as const;\nconst PLATFORM_MCP_RUNTIME_OWNER_ENV_VARS = [\n\t\"MAESTRO_EVALOPS_RUNTIME_OWNER\",\n\t\"MAESTRO_RUNTIME_OWNER\",\n] as const;\nconst PLATFORM_MCP_SHIM_TYPE_ENV_VARS = [\n\t\"MAESTRO_EVALOPS_SHIM_TYPE\",\n\t\"MAESTRO_SHIM_TYPE\",\n] as const;\nconst PLATFORM_MCP_TRACE_MODE_ENV_VARS = [\n\t\"MAESTRO_EVALOPS_TRACE_MODE\",\n\t\"MAESTRO_TRACE_MODE\",\n] as const;\nconst DEFAULT_PLATFORM_MCP_SERVER_NAME = \"evalops\";\nconst AGENT_MCP_MANIFEST_PATH = \"/.well-known/evalops/agent-mcp.json\";\nconst AGENT_MCP_PATH = \"/mcp\";\n\nfunction isPlatformMcpExplicitlyDisabled(): boolean {\n\tconst enabled = getEnvValue(PLATFORM_MCP_ENABLED_ENV_VARS);\n\tif (!enabled) {\n\t\treturn false;\n\t}\n\treturn PLATFORM_MCP_DISABLED_VALUES.has(enabled.trim().toLowerCase());\n}\n\nfunction buildPlatformMcpHeaders(): Record<string, string> | undefined {\n\tconst stored = getStoredEvalOpsAgentMcpMetadata();\n\tconst token =\n\t\tgetEnvValue(PLATFORM_MCP_TOKEN_ENV_VARS) ??\n\t\tstored?.apiKey ??\n\t\tresolveConfiguredToken(PLATFORM_MCP_TOKEN_ENV_VARS);\n\tconst workspaceId =\n\t\tresolveWorkspaceId(PLATFORM_MCP_WORKSPACE_ENV_VARS) ?? stored?.workspaceId;\n\tconst headers = Object.fromEntries(\n\t\tObject.entries({\n\t\t\t...(token ? { Authorization: `Bearer ${token}` } : {}),\n\t\t\t\"Mcp-Session-Id\": getEnvValue([\"MAESTRO_SESSION_ID\"]),\n\t\t\t\"X-EvalOps-Workspace-Id\": workspaceId,\n\t\t\t\"X-EvalOps-Session-Id\": getEnvValue([\"MAESTRO_SESSION_ID\"]),\n\t\t\t\"X-EvalOps-Agent-Id\":\n\t\t\t\tgetEnvValue(PLATFORM_MCP_AGENT_ID_ENV_VARS) ?? stored?.agentId,\n\t\t\t\"X-EvalOps-Agent-Run-Id\":\n\t\t\t\tgetEnvValue([\"MAESTRO_AGENT_RUN_ID\"]) ?? stored?.runId,\n\t\t\t\"X-EvalOps-Integration-Profile\":\n\t\t\t\tgetEnvValue(PLATFORM_MCP_INTEGRATION_PROFILE_ENV_VARS) ??\n\t\t\t\tstored?.integrationProfile,\n\t\t\t\"X-EvalOps-Memory-Mode\":\n\t\t\t\tgetEnvValue(PLATFORM_MCP_MEMORY_MODE_ENV_VARS) ?? stored?.memoryMode,\n\t\t\t\"X-EvalOps-Runtime-Owner\":\n\t\t\t\tgetEnvValue(PLATFORM_MCP_RUNTIME_OWNER_ENV_VARS) ??\n\t\t\t\tstored?.runtimeOwner,\n\t\t\t\"X-EvalOps-Scopes\": getEnvValue(PLATFORM_MCP_SCOPES_ENV_VARS),\n\t\t\t\"X-EvalOps-Shim-Type\":\n\t\t\t\tgetEnvValue(PLATFORM_MCP_SHIM_TYPE_ENV_VARS) ?? stored?.shimType,\n\t\t\t\"X-EvalOps-Request-Id\": getEnvValue([\"MAESTRO_REQUEST_ID\"]),\n\t\t\t\"X-EvalOps-Trace-Id\": getEnvValue([\"TRACE_ID\", \"OTEL_TRACE_ID\"]),\n\t\t\t\"X-EvalOps-Trace-Mode\":\n\t\t\t\tgetEnvValue(PLATFORM_MCP_TRACE_MODE_ENV_VARS) ?? stored?.traceMode,\n\t\t\t\"X-EvalOps-Maestro-Surface\":\n\t\t\t\tgetEnvValue([\"MAESTRO_SURFACE\"]) ?? \"maestro\",\n\t\t}).filter(\n\t\t\t(entry): entry is [string, string] =>\n\t\t\t\ttypeof entry[1] === \"string\" && entry[1].trim().length > 0,\n\t\t),\n\t);\n\treturn Object.keys(headers).length > 0 ? headers : undefined;\n}\n\nfunction normalizePlatformMcpEndpoint(url: string): string {\n\tconst normalized = normalizeBaseUrl(url);\n\ttry {\n\t\tconst parsed = new URL(normalized);\n\t\tif (\n\t\t\tparsed.pathname === \"\" ||\n\t\t\tparsed.pathname === \"/\" ||\n\t\t\tparsed.pathname === AGENT_MCP_MANIFEST_PATH\n\t\t) {\n\t\t\tparsed.pathname = AGENT_MCP_PATH;\n\t\t\tparsed.search = \"\";\n\t\t\tparsed.hash = \"\";\n\t\t\treturn normalizeBaseUrl(parsed.toString());\n\t\t}\n\t} catch {\n\t\t// Keep the existing permissive behavior for non-standard local test URLs.\n\t}\n\treturn normalized;\n}\n\nfunction resolvePlatformMcpURL(): string | undefined {\n\treturn (\n\t\tgetEnvValue(PLATFORM_MCP_URL_ENV_VARS) ??\n\t\tgetEnvValue(PLATFORM_MCP_MANIFEST_URL_ENV_VARS) ??\n\t\tgetStoredEvalOpsAgentMcpMetadata()?.endpoint\n\t);\n}\n\nexport function getPlatformMcpPluginServers(): McpServerConfig[] {\n\tif (isPlatformMcpExplicitlyDisabled()) {\n\t\treturn [];\n\t}\n\n\tconst url = resolvePlatformMcpURL();\n\tif (!url) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\t{\n\t\t\tname:\n\t\t\t\tgetEnvValue(PLATFORM_MCP_NAME_ENV_VARS) ??\n\t\t\t\tDEFAULT_PLATFORM_MCP_SERVER_NAME,\n\t\t\ttransport: \"http\",\n\t\t\turl: normalizePlatformMcpEndpoint(url),\n\t\t\theaders: buildPlatformMcpHeaders(),\n\t\t\tscope: \"plugin\",\n\t\t},\n\t];\n}\n"]}
package/dist/version.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "version": "0.10.15",
3
- "notes": "Maestro by EvalOps - Deterministic coding agent with TUI/CLI and Web UI for AI-assisted development v0.10.15 is now available."
2
+ "version": "0.10.16",
3
+ "notes": "Maestro by EvalOps - Deterministic coding agent with TUI/CLI and Web UI for AI-assisted development v0.10.16 is now available."
4
4
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evalops/contracts",
3
- "version": "0.10.15",
3
+ "version": "0.10.16",
4
4
  "description": "Shared Maestro contracts for frontend/backend integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evalops/tui",
3
- "version": "0.10.15",
3
+ "version": "0.10.16",
4
4
  "description": "Terminal UI library with differential rendering for Maestro",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@evalops/maestro",
3
3
  "description": "Maestro by EvalOps - Deterministic coding agent with TUI/CLI and Web UI for AI-assisted development",
4
- "version": "0.10.15",
4
+ "version": "0.10.16",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "workspaces": [
@@ -127,8 +127,8 @@
127
127
  "@aws-sdk/client-bedrock-runtime": "^3.1020.0",
128
128
  "@crosscopy/clipboard": "^0.2.8",
129
129
  "@daytonaio/sdk": "^0.155.0",
130
- "@evalops/contracts": "^0.10.15",
131
- "@evalops/tui": "^0.10.15",
130
+ "@evalops/contracts": "^0.10.16",
131
+ "@evalops/tui": "^0.10.16",
132
132
  "@modelcontextprotocol/sdk": "^1.29.0",
133
133
  "@opentelemetry/api": "^1.9.1",
134
134
  "@opentelemetry/auto-instrumentations-node": "^0.74.0",