@everfur/cli 0.9.0 → 0.9.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.
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /*! @everfur/cli. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
3
- import { ENVIRONMENTS, ENVELOPE_SHAPE, SURFACES, VERIFY_IDENTITY_MODES, digestOfProjection, ephemeralCredential, refusal, API_BASE_URL_BY_ENVIRONMENT, fetchContract, NO_CONTRACT_CACHE, systemClock, fetchTransport, describeFailure, loadDecisionSpaceFromContract, uuidFromKey, resolveEndpoint, createApiClient, createContractProvider, nodeContractCache, CLI_VERSION, withPrefix, isJsonObject, REFUSAL_POLICY, error_explanation_v1_schema_default, verification_v1_schema_default, diagnosis_v1_schema_default, plan_v1_schema_default, NEXT_ACTIONS, IDENTITY_QUESTION, IDENTITY_TREE, CAPABILITY_QUESTION, CAPABILITIES_TREE, WEB_EMBEDDING_QUESTION, PLATFORM_TREE, loadDecisionSpace, nodeFileSystem, expandCapabilities, detectThemeFromText, planIntegration, parseOrigin, parseLoaderUrl, isEverfurLoaderHost, EVERFUR_LOADER_HOSTS, resolveCredential, PARTNER_KEY, runVerification, themePropFromSource, normalizeSurfaces, failedResult, buildSupportBundle, chooseWidgetAuth, DIAGNOSTICS_PATH, diagnoseFailure, parseDiagnostics, buildDiagnosisDocument, toolCodeExplanation, resolveOffline, resolveWithoutRegistry, knownCodes, loadErrorRegistryFromContract, loadErrorRegistry, resolveAfterRegistryMiss, TOOL_CODES, registryAlsoIn, buildExplanationDocument, nextActionFor, CLAIMS_INBOUND_SECRET, WEBHOOK_SIGNING_SECRET, detectProject, BASE_URL_ENV_VAR, checkTenantMode, isWorkspaceRootEvidence, plannableCapabilities, blockedCapabilities, offlineDocument, toolCodeMeaning, SESSION_TOKEN, PLAN_DOCUMENT_KIND, PLAN_SCHEMA_VERSION, secretKeyHostProblem, ALLOW_CUSTOM_API_HOST_ENV_VAR, PARTNER_SECRET_KEY, SESSION_MINT_TREE, BACKEND_LANGUAGE_QUESTION, ALL_CAPABILITIES, WEBHOOK_PUBLIC_PATH, WEBHOOK_RECEIVER_PATH, TransportError, webhookRouteFile, importPath, hmacSha256, hmacSha256Hex, API_BASE_URL_PLACEHOLDER } from './chunk-OHA3JVME.js';
3
+ import { ENVIRONMENTS, ENVELOPE_SHAPE, SURFACES, VERIFY_IDENTITY_MODES, digestOfProjection, ephemeralCredential, refusal, API_BASE_URL_BY_ENVIRONMENT, fetchContract, NO_CONTRACT_CACHE, systemClock, fetchTransport, describeFailure, loadDecisionSpaceFromContract, uuidFromKey, resolveEndpoint, createApiClient, createContractProvider, nodeContractCache, CLI_VERSION, withPrefix, isJsonObject, REFUSAL_POLICY, error_explanation_v1_schema_default, verification_v1_schema_default, diagnosis_v1_schema_default, plan_v1_schema_default, NEXT_ACTIONS, IDENTITY_QUESTION, IDENTITY_TREE, CAPABILITY_QUESTION, CAPABILITIES_TREE, WEB_EMBEDDING_QUESTION, PLATFORM_TREE, loadDecisionSpace, nodeFileSystem, expandCapabilities, detectThemeFromText, planIntegration, parseOrigin, parseLoaderUrl, isEverfurLoaderHost, EVERFUR_LOADER_HOSTS, resolveCredential, PARTNER_KEY, runVerification, themePropFromSource, normalizeSurfaces, failedResult, buildSupportBundle, chooseWidgetAuth, DIAGNOSTICS_PATH, diagnoseFailure, parseDiagnostics, buildDiagnosisDocument, toolCodeExplanation, resolveOffline, resolveWithoutRegistry, knownCodes, loadErrorRegistryFromContract, loadErrorRegistry, resolveAfterRegistryMiss, TOOL_CODES, registryAlsoIn, buildExplanationDocument, nextActionFor, CLAIMS_INBOUND_SECRET, WEBHOOK_SIGNING_SECRET, detectProject, BASE_URL_ENV_VAR, checkTenantMode, isWorkspaceRootEvidence, plannableCapabilities, blockedCapabilities, offlineDocument, toolCodeMeaning, SESSION_TOKEN, PLAN_DOCUMENT_KIND, PLAN_SCHEMA_VERSION, secretKeyHostProblem, ALLOW_CUSTOM_API_HOST_ENV_VAR, PARTNER_SECRET_KEY, SESSION_MINT_TREE, BACKEND_LANGUAGE_QUESTION, ALL_CAPABILITIES, WEBHOOK_PUBLIC_PATH, WEBHOOK_RECEIVER_PATH, TransportError, webhookRouteFile, importPath, hmacSha256, hmacSha256Hex, API_BASE_URL_PLACEHOLDER } from './chunk-VUXILRME.js';
4
4
  import { z } from 'zod';
5
5
  import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
6
6
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
@@ -1956,8 +1956,16 @@ var INBOUND_CODES = Object.freeze([
1956
1956
  "inbound_sandbox",
1957
1957
  409,
1958
1958
  "fix_mapping",
1959
- "The endpoint's signing has no signed time (a body-only signature or a secret header), and the mapping names no event_time, so it cannot be activated.",
1960
- "Add event_time to the mapping, save it and activate again."
1959
+ "The endpoint's signing has no signed time (a body-only signature or a secret header), and the mapping names no event_time, so the mapping cannot be activated, or an endpoint with that signing cannot be created.",
1960
+ "Add event_time to the mapping, save it and activate it, then create the endpoint or activate again. Or sign over a timestamp (hmac with signed_payload timestamp_body)."
1961
+ ),
1962
+ inbound(
1963
+ "endpoint_exists",
1964
+ "inbound_sandbox",
1965
+ 409,
1966
+ "stop",
1967
+ "The sandbox tenant already has its inbound endpoint, and it has one at most. Its URL and secret were shown once, when it was created. Nothing was created.",
1968
+ `Set ${INBOUND_URL_ENV} from where it was saved. For a new secret call ${SETUP} with rotate_secret: true, for a new URL with rotate_token: true. No route deletes a sandbox endpoint.`
1961
1969
  ),
1962
1970
  inbound(
1963
1971
  "events_invalid",
@@ -2044,8 +2052,13 @@ var CLAIMS_EVENT_TYPES = Object.freeze([
2044
2052
  "claim.failed",
2045
2053
  "claim.duplicate",
2046
2054
  "claim.decided",
2055
+ "insured_pet.profile.ready",
2056
+ "insured_pet.profile.updated",
2047
2057
  "webhook_endpoint.test"
2048
2058
  ]);
2059
+ var CLAIMS_TESTABLE_EVENT_TYPES = Object.freeze(
2060
+ CLAIMS_EVENT_TYPES.filter((type) => !type.startsWith("insured_pet."))
2061
+ );
2049
2062
  var CLAIMS_DELIVERY_TIMEOUT_SECONDS = 10;
2050
2063
  var CLAIMS_RECEIVER_SLOW_SECONDS = 5;
2051
2064
  var CLAIMS_ROUTES = Object.freeze({
@@ -2947,6 +2960,12 @@ export async function processEverfurEvent(
2947
2960
  if (claimId === null) return;
2948
2961
  await store.saveClaimEvent(claimId, event.type, data);
2949
2962
  return;
2963
+ case 'insured_pet.profile.ready':
2964
+ case 'insured_pet.profile.updated':
2965
+ // REPLACE: an insured pet's profile, keyed by insured_pet_id (pet_ref can be null). ready comes once, updated once
2966
+ // per later version; keep the highest version. Each field is null when not known; read the full profile from
2967
+ // profile_path. Neither event names a claim or carries a record.
2968
+ return;
2950
2969
  default:
2951
2970
  // A type this file does not know yet: it was acknowledged, and is logged rather than refused.
2952
2971
  console.warn('everfur webhooks: unhandled event type', event.type);
@@ -3933,6 +3952,11 @@ def process_event(
3933
3952
  return
3934
3953
  kept.save_claim_event(claim_id, event_type, data)
3935
3954
  return
3955
+ if event_type in ("insured_pet.profile.ready", "insured_pet.profile.updated"):
3956
+ # REPLACE: an insured pet's profile, keyed by insured_pet_id (pet_ref can be None). ready comes once, updated once
3957
+ # per later version; keep the highest version. Each field is None when not known; read the full profile from
3958
+ # profile_path. Neither event names a claim or carries a record.
3959
+ return
3936
3960
  # A type this file does not know yet: it was acknowledged, and is logged rather than refused.
3937
3961
  log.warning("everfur webhooks: unhandled event type %s", event_type)
3938
3962
 
@@ -6917,6 +6941,13 @@ async function createEndpoint(args, context, ports) {
6917
6941
  }
6918
6942
  return inboundFailure(answer, action, CREATE_404);
6919
6943
  }
6944
+ if (answer.status === 409 && bodyCode(answer.value) === "event_time_mapping_required") {
6945
+ return refusal(
6946
+ "CLAIMS_MAPPING_INVALID",
6947
+ "The signing config signs no time (a body-only signature or a secret header), and the active mapping names no event_time, so the API refused it (event_time_mapping_required). Nothing was created. Sign over a timestamp (hmac with signed_payload timestamp_body), or add event_time to the mapping and activate it first.",
6948
+ { action, status: 409, code: "event_time_mapping_required", request_id: answer.requestId }
6949
+ );
6950
+ }
6920
6951
  if (answer.status === 409) {
6921
6952
  return refusal(
6922
6953
  "CLAIMS_INBOUND_ENDPOINT_EXISTS",
@@ -7834,7 +7865,7 @@ var SEND_CLAIMS_TEST_EVENTS_INPUT_SHAPE = {
7834
7865
  description: z.string().min(1).max(200).optional().describe("create_endpoint: a label for the endpoint."),
7835
7866
  enabled_events: z.array(ENABLED_EVENT).min(1).max(CLAIMS_EVENT_TYPES.length + 1).optional().describe('create_endpoint: the event types the endpoint receives, or ["*"] for all. Default ["*"].'),
7836
7867
  endpoint_id: z.string().min(1).max(128).optional().describe("delete_endpoint and send_test_event: the endpoint, as list_endpoints names it."),
7837
- event_type: z.enum(CLAIMS_EVENT_TYPES).optional().describe('send_test_event: the synthetic event to send. Its data carries "synthetic": true and a SYN-TEST- claim id.'),
7868
+ event_type: z.enum(CLAIMS_TESTABLE_EVENT_TYPES).optional().describe('send_test_event: the synthetic event to send. Its data carries "synthetic": true and a SYN-TEST- claim id.'),
7838
7869
  secret_env_file: z.string().min(1).max(1024).optional().describe("create_endpoint: absolute path of a local env file the endpoint's signing secret is appended to as EVERFUR_WEBHOOK_SECRET=..., created with mode 600 when missing. The API shows the secret once; this tool writes it there and never returns it. The file must not already set EVERFUR_WEBHOOK_SECRET. It must be named .env or .env.<name>, inside the project this server runs in or ~/.config/everfur, ignored by git, and not a symlink."),
7839
7870
  confirmation_code: z.string().min(1).max(32).optional().describe("create_endpoint: the one-time code the PERSON typed back, when the first call asked for one (the code is in a local file they open; never read it yourself). Not needed when this client asks the person directly.")
7840
7871
  };
@@ -7931,7 +7962,13 @@ function sandboxServerKey(context) {
7931
7962
  )
7932
7963
  };
7933
7964
  }
7934
- function sandboxFailure(failure, action) {
7965
+ var WEBHOOK_CAPABILITY = {
7966
+ list_endpoints: "partner_events.event.read",
7967
+ create_endpoint: "partner_events.endpoint.update",
7968
+ delete_endpoint: "partner_events.endpoint.update",
7969
+ send_test_event: "partner_events.endpoint.update"
7970
+ };
7971
+ function sandboxFailure(failure, action, capability) {
7935
7972
  if (failure.kind === "http") {
7936
7973
  const retryAfter = failure.retrySignals?.retryAfter ?? null;
7937
7974
  const details = {
@@ -7955,6 +7992,13 @@ function sandboxFailure(failure, action) {
7955
7992
  details
7956
7993
  );
7957
7994
  }
7995
+ if (failure.status === 403 && capability !== void 0) {
7996
+ return refusal(
7997
+ "CLAIMS_SANDBOX_CALL_FAILED",
7998
+ `The sandbox call answered 403 ${failure.code ?? "(no code)"}: a restricted key needs the ${capability} capability for this action. Use a key with it, or have it granted to this restricted key.`,
7999
+ { ...details, capability }
8000
+ );
8001
+ }
7958
8002
  return refusal(
7959
8003
  "CLAIMS_SANDBOX_CALL_FAILED",
7960
8004
  `The sandbox call answered ${failure.status} ${failure.code ?? "(no code)"}.` + (failure.code === null ? "" : " everfur_explain_claims_error explains the code."),
@@ -7983,7 +8027,7 @@ async function sendClaimsTestEventsTool(args, context, ports = {}) {
7983
8027
  return argumentsInvalid(action, ["endpoint_id"], `${action} needs endpoint_id, as list_endpoints names it.`);
7984
8028
  }
7985
8029
  if (action === "send_test_event" && args.event_type === void 0) {
7986
- return argumentsInvalid(action, ["event_type"], `send_test_event needs event_type, one of ${CLAIMS_EVENT_TYPES.join(", ")}.`);
8030
+ return argumentsInvalid(action, ["event_type"], `send_test_event needs event_type, one of ${CLAIMS_TESTABLE_EVENT_TYPES.join(", ")}.`);
7987
8031
  }
7988
8032
  const scope = localScope(context.env, context.cwd);
7989
8033
  if (action === "create_endpoint") {
@@ -8014,7 +8058,7 @@ async function sendClaimsTestEventsTool(args, context, ports = {}) {
8014
8058
  const credentials = { [CLAIMS_SECRET_KEY_HEADER]: key.credential };
8015
8059
  if (action === "list_endpoints") {
8016
8060
  const answer2 = await client.request({ method: "GET", path: SANDBOX_ROUTE, credentials });
8017
- if (!answer2.ok) return sandboxFailure(answer2, action);
8061
+ if (!answer2.ok) return sandboxFailure(answer2, action, WEBHOOK_CAPABILITY[action]);
8018
8062
  const parsed2 = z.object({ data: z.array(WEBHOOK_ENDPOINT) }).safeParse(answer2.value);
8019
8063
  if (!parsed2.success) return refusal("CLAIMS_SANDBOX_CALL_FAILED", "The endpoint list came back in an unexpected shape.", { action, request_id: answer2.requestId });
8020
8064
  return { isError: false, document: { ok: true, action, endpoints: parsed2.data.data.map(relayEndpoint) } };
@@ -8026,7 +8070,7 @@ async function sendClaimsTestEventsTool(args, context, ports = {}) {
8026
8070
  enabled_events: [...args.enabled_events ?? ["*"]]
8027
8071
  };
8028
8072
  const answer2 = await client.request({ method: "POST", path: SANDBOX_ROUTE, credentials, body });
8029
- if (!answer2.ok) return sandboxFailure(answer2, action);
8073
+ if (!answer2.ok) return sandboxFailure(answer2, action, WEBHOOK_CAPABILITY[action]);
8030
8074
  const parsed2 = WEBHOOK_ENDPOINT.extend({ signing_secret: z.string().startsWith("whsec_") }).safeParse(answer2.value);
8031
8075
  if (!parsed2.success) {
8032
8076
  return refusal("CLAIMS_SANDBOX_CALL_FAILED", "The created endpoint came back in an unexpected shape; its secret was not written.", { action, request_id: answer2.requestId });
@@ -8055,7 +8099,7 @@ async function sendClaimsTestEventsTool(args, context, ports = {}) {
8055
8099
  const endpointPath = `${SANDBOX_ROUTE}/${encodeURIComponent(args.endpoint_id)}`;
8056
8100
  if (action === "delete_endpoint") {
8057
8101
  const answer2 = await client.request({ method: "DELETE", path: endpointPath, credentials });
8058
- if (!answer2.ok) return sandboxFailure(answer2, action);
8102
+ if (!answer2.ok) return sandboxFailure(answer2, action, WEBHOOK_CAPABILITY[action]);
8059
8103
  return { isError: false, document: { ok: true, action, endpoint_id: args.endpoint_id, deleted: true } };
8060
8104
  }
8061
8105
  const answer = await client.request({
@@ -8064,7 +8108,7 @@ async function sendClaimsTestEventsTool(args, context, ports = {}) {
8064
8108
  credentials,
8065
8109
  body: { event_type: args.event_type }
8066
8110
  });
8067
- if (!answer.ok) return sandboxFailure(answer, action);
8111
+ if (!answer.ok) return sandboxFailure(answer, action, WEBHOOK_CAPABILITY[action]);
8068
8112
  const parsed = z.object({ event_id: z.string(), delivery_id: z.string() }).safeParse(answer.value);
8069
8113
  if (!parsed.success) return refusal("CLAIMS_SANDBOX_CALL_FAILED", "The test event answer came back in an unexpected shape.", { action, request_id: answer.requestId });
8070
8114
  return {
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  /*! @everfur/cli. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
3
- import { hostnameOf, listen, close, writeJson, serveStatelessMcp } from './chunk-JI6USLIZ.js';
4
- import { createHostedTokenVerifier, tokenBucketOf, isAccessTokenShaped, buildServer, MCP_SCOPE, tenantContextOf, sendTestUserRef, hostedVerifyUserRef, REVOKED_AUTHORIZATION_REMEDY, SYNTHETIC_USER_REF_PREFIX } from './chunk-J7SL4FA7.js';
5
- import { BASE_URL_ENV_VAR, resolveEndpoint, fetchTransport, systemClock, createApiClient, withPrefix, ephemeralCredential, validateContractText, isJsonObject, describeFailure } from './chunk-OHA3JVME.js';
3
+ import { hostnameOf, listen, close, writeJson, serveStatelessMcp } from './chunk-JURZYOMH.js';
4
+ import { createHostedTokenVerifier, tokenBucketOf, isAccessTokenShaped, buildServer, MCP_SCOPE, tenantContextOf, sendTestUserRef, hostedVerifyUserRef, REVOKED_AUTHORIZATION_REMEDY, SYNTHETIC_USER_REF_PREFIX } from './chunk-FLW4ZANY.js';
5
+ import { BASE_URL_ENV_VAR, resolveEndpoint, fetchTransport, systemClock, createApiClient, withPrefix, ephemeralCredential, validateContractText, isJsonObject, describeFailure } from './chunk-VUXILRME.js';
6
6
  import { createServer } from 'http';
7
7
  import { InvalidTokenError, TooManyRequestsError, TemporarilyUnavailableError } from '@modelcontextprotocol/sdk/server/auth/errors.js';
8
8
  import { isIP } from 'net';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /*! @everfur/cli. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
3
- import { buildServer } from './chunk-J7SL4FA7.js';
3
+ import { buildServer } from './chunk-FLW4ZANY.js';
4
4
  import { createServer } from 'http';
5
5
  import { timingSafeEqual } from 'crypto';
6
6
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /*! @everfur/cli. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
3
- import { VERIFY_IDENTITY_MODES, SURFACES, ENVIRONMENTS, BASE_URL_ENV_VAR, MIN_TIMEOUT_MS, MAX_TIMEOUT_MS, DEFAULT_TIMEOUT_MS, ALL_CAPABILITIES, expandCapabilities, errorOutcome, describeFailure, failureDetails, countsAsNotOn, diagnoseVerdict, isJsonObject, succeed, CAPABILITY_QUESTION, CAPABILITIES_TREE, WEB_EMBEDDING_QUESTION, PLATFORM_TREE, loadDecisionSpace, fetchContract, contractUnavailableOutcome, loadDecisionSpaceFromContract, parseEnvironment, checkTenantMode, detectProject, planIntegration, fail, ExitCode, DOCS_KEY, resolveContractPath, validateContractFile, buildSupportBundle, renderSupportBundle, chooseWidgetAuth, DIAGNOSTICS_PATH, diagnoseFailure, parseDiagnostics, buildDiagnosisDocument, PARTNER_KEY, SESSION_TOKEN, resolveCredential, ADMIN_TOKEN, withPrefix, parseOrigin, parseLoaderUrl, parseSurfaces, parseIdentityMode, runVerification, PARTNER_SECRET_KEY, resolveOffline, resolveWithoutRegistry, knownCodes, loadErrorRegistryFromContract, loadErrorRegistry, resolveAfterRegistryMiss, registryAlsoIn, buildExplanationDocument, renderExplanation, alsoInLines, resolveEndpoint, isCorrelatableRequestId, EMPTY_REGISTRY, createApiClient, offlineDocument, renderOffline, IDENTITY_QUESTION, IDENTITY_TREE, BACKEND_LANGUAGE_QUESTION, SESSION_MINT_TREE, CREDENTIAL_SPECS } from './chunk-OHA3JVME.js';
3
+ import { VERIFY_IDENTITY_MODES, SURFACES, ENVIRONMENTS, BASE_URL_ENV_VAR, MIN_TIMEOUT_MS, MAX_TIMEOUT_MS, DEFAULT_TIMEOUT_MS, ALL_CAPABILITIES, expandCapabilities, errorOutcome, describeFailure, failureDetails, countsAsNotOn, diagnoseVerdict, isJsonObject, succeed, CAPABILITY_QUESTION, CAPABILITIES_TREE, WEB_EMBEDDING_QUESTION, PLATFORM_TREE, loadDecisionSpace, fetchContract, contractUnavailableOutcome, loadDecisionSpaceFromContract, parseEnvironment, checkTenantMode, detectProject, planIntegration, fail, ExitCode, DOCS_KEY, resolveContractPath, validateContractFile, buildSupportBundle, renderSupportBundle, chooseWidgetAuth, DIAGNOSTICS_PATH, diagnoseFailure, parseDiagnostics, buildDiagnosisDocument, PARTNER_KEY, SESSION_TOKEN, resolveCredential, ADMIN_TOKEN, withPrefix, parseOrigin, parseLoaderUrl, parseSurfaces, parseIdentityMode, runVerification, PARTNER_SECRET_KEY, resolveOffline, resolveWithoutRegistry, knownCodes, loadErrorRegistryFromContract, loadErrorRegistry, resolveAfterRegistryMiss, registryAlsoIn, buildExplanationDocument, renderExplanation, alsoInLines, resolveEndpoint, isCorrelatableRequestId, EMPTY_REGISTRY, createApiClient, offlineDocument, renderOffline, IDENTITY_QUESTION, IDENTITY_TREE, BACKEND_LANGUAGE_QUESTION, SESSION_MINT_TREE, CREDENTIAL_SPECS } from './chunk-VUXILRME.js';
4
4
  import { isAbsolute, resolve } from 'path';
5
5
 
6
6
  // src/cli/format.ts
@@ -5476,8 +5476,8 @@ function booleanAttribute(outcome, key) {
5476
5476
  }
5477
5477
 
5478
5478
  // src/version.ts
5479
- var CLI_VERSION = "0.9.0";
5480
- var CLI_PUBLISHED_VERSION = "0.8.0";
5479
+ var CLI_VERSION = "0.9.1";
5480
+ var CLI_PUBLISHED_VERSION = "0.9.0";
5481
5481
 
5482
5482
  // src/commands/diagnose/reasons.ts
5483
5483
  var REASON_CODES = Object.freeze([
@@ -17267,8 +17267,8 @@ var MEANINGS = Object.freeze({
17267
17267
  nextAction: "Tell the developer to run the tool from the local MCP server or the CLI."
17268
17268
  },
17269
17269
  CLAIMS_MAPPING_INVALID: {
17270
- tools: [CLAIMS_SAVE],
17271
- meaning: "The mapping does not pass the mapping checks (error.details.problems: a path, a transform, a limit, or pii_paths hiding a field the mapping reads), or the API refused to save or activate it. Nothing was saved or activated.",
17270
+ tools: [CLAIMS_SAVE, CLAIMS_SETUP],
17271
+ meaning: "The mapping does not pass the mapping checks (error.details.problems: a path, a transform, a limit, or pii_paths hiding a field the mapping reads), or the API refused to save or activate it, or refused a signing config that signs no time while the mapping names no event_time (error.details.code event_time_mapping_required). Nothing was saved, activated or created.",
17272
17272
  nextAction: "Fix each problem in the mapping (everfur_propose_claims_mapping can propose one again), then save again."
17273
17273
  },
17274
17274
  CLAIMS_MAPPING_CONFIRMATION_REQUIRED: {
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  /*! @everfur/cli. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
3
- import { loadHostedMcpConfig, startHostedMcpServer } from './chunk-UZZJUV5A.js';
4
- import './chunk-JI6USLIZ.js';
5
- import './chunk-J7SL4FA7.js';
6
- import { CLI_VERSION } from './chunk-OHA3JVME.js';
3
+ import { loadHostedMcpConfig, startHostedMcpServer } from './chunk-FWEDPKKK.js';
4
+ import './chunk-JURZYOMH.js';
5
+ import './chunk-FLW4ZANY.js';
6
+ import { CLI_VERSION } from './chunk-VUXILRME.js';
7
7
 
8
8
  // src/bin/everfur-mcp-hosted.ts
9
9
  async function main() {
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  /*! @everfur/cli. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
3
- import { startRemoteMcpServer, loadRemoteMcpConfig } from './chunk-JI6USLIZ.js';
4
- import './chunk-J7SL4FA7.js';
5
- import { CLI_VERSION } from './chunk-OHA3JVME.js';
3
+ import { startRemoteMcpServer, loadRemoteMcpConfig } from './chunk-JURZYOMH.js';
4
+ import './chunk-FLW4ZANY.js';
5
+ import { CLI_VERSION } from './chunk-VUXILRME.js';
6
6
 
7
7
  // src/bin/everfur-mcp-http.ts
8
8
  async function main() {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  /*! @everfur/cli. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
3
- import { runStdioServer } from './chunk-J7SL4FA7.js';
4
- import { CLI_VERSION } from './chunk-OHA3JVME.js';
3
+ import { runStdioServer } from './chunk-FLW4ZANY.js';
4
+ import { CLI_VERSION } from './chunk-VUXILRME.js';
5
5
 
6
6
  // src/bin/everfur-mcp.ts
7
7
  if (process.argv.slice(2).includes("--version")) {
package/dist/everfur.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  /*! @everfur/cli. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
3
- import { runCli } from './chunk-UROEKBHB.js';
4
- import { ExitCode, systemClock, fetchTransport, CLI_VERSION, nodeFileSystem, nodeContractCache } from './chunk-OHA3JVME.js';
3
+ import { runCli } from './chunk-LALDS2WR.js';
4
+ import { ExitCode, systemClock, fetchTransport, CLI_VERSION, nodeFileSystem, nodeContractCache } from './chunk-VUXILRME.js';
5
5
 
6
6
  // src/bin/everfur.ts
7
7
  async function main() {
package/dist/index.d.ts CHANGED
@@ -3651,6 +3651,6 @@ declare function parseSuppliedFacts(capabilitiesRaw: string | null, identityRaw:
3651
3651
  * install, and a bundled artifact. `tests/unit/version.test.ts` asserts this constant equals
3652
3652
  * the package.json version, so the two cannot drift.
3653
3653
  */
3654
- declare const CLI_VERSION = "0.9.0";
3654
+ declare const CLI_VERSION = "0.9.1";
3655
3655
 
3656
3656
  export { ADMIN_TOKEN, API_PREFIX, type ApiClient, type ApiFailure, type ApiResult, type ApiSuccess, BASE_URL_ENV_VAR, type BlockedCapability, type BlockedOutcome, CLI_VERSION, COMMANDS, CREDENTIAL_SPECS, type Capability, type CapabilityDiagnosis, type ClockPort, type Command, type CommandContext, type CommandOutcome, type ContractValidationOutcome, type Credential, type CredentialSpec, DEFAULT_TIMEOUT_MS, type DecisionSpace, type DecisionSpaceProvenance, type DecisionTree, type DetectedDependency, type DetectedTheme, type Diagnosis, EMPTY_REGISTRY, ERRORS_DOCUMENT_KEY, type ErrorRegistry, type ErrorRegistryEntry, ExitCode, type FileSystemPort, type FormatOptions, type FormattedOutput, type HttpMethod, type HttpRequest, type HttpResponse, IDEMPOTENT_METHODS, type IdentityMode, MISSING_FACT_NAMES, type MissingFact, type MissingFactName, type Outcome, PARTNER_KEY, PARTNER_SECRET_KEY, PLAN_DOCUMENT_KIND, PLAN_SCHEMA_VERSION, type PackageManager, type PlanDocument, type PlanInput, type PlanPrinciple, type PlanStep, type PlanWarning, type PositionalSpec, type ProjectDetection, type ProjectType, REASON_CODES, REDACTED, type ReasonCode, type RegistryLoad, type RequestSpec, type ResolvedCredential, type ResolvedEndpoint, type RunOptions, SCHEMAS, SESSION_TOKEN, type SandboxCreateStatus, type SandboxCreation, type SchemaValidation, type SchemaViolation, type SessionMintLanguage, type StepResult, THEME_TOKEN_ORDER, type TerminalOutcome, type ThemeConfidence, type ThemeDetection, type ThemeEvidence, type ThemeSource, type ThemeToken, TransportError, type TransportPort, type TreeOption, type TreeQuestion, type Verification, type VerifyStep, type WalkResult, apiUrl, buildDecisionSpace, buildDiagnosisDocument, buildExplanationDocument, buildSandboxDocument, buildVerificationDocument, clampTimeout, createApiClient, createMemoryFileSystem, createRecordingClock, describeFailure, detectProject, detectTheme, detectThemeFromText, digestOfProjection, digestsEqual, editDistance, entryFromRow, ephemeralCredential, errorCodeOf, failureDetails, failureOutcome, fetchTransport, formatOutcome, isCorrelatableRequestId, isIdempotent, isKnownReasonCode, loadDecisionSpace, loadErrorRegistry, matchCommand, missingFactsFor, nextActionFor as nextActionForErrorCode, nextActionFor$1 as nextActionForReason, nextActionsFor, nodeFileSystem, parseCapabilities, parseDiagnostics, parseIdentityMode, parseSessionMintLanguage, parseSuppliedFacts, planIntegration, projectSandboxCreate, renderDiagnosis, renderExplanation, renderPlan, renderSandboxCreate, renderVerification, resolveContractPath, resolveCredential, resolveEndpoint, runCli, runVerification, suggestCodes, systemClock, validateContractFile, validateContractPublicEnvelope, validateDiagnosisDocument, validateErrorExplanationDocument, validatePlanDocument, validateSandboxCreateDocument, validateVerificationDocument, verifyDigest, walkSingle, walkTree, withPrefix };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
2
  /*! @everfur/cli. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
3
- export { COMMANDS, buildSandboxDocument, buildVerificationDocument, failureOutcome, formatOutcome, matchCommand, nextActionsFor, parseCapabilities, parseIdentityMode, parseSessionMintLanguage, parseSuppliedFacts, projectSandboxCreate, renderDiagnosis, renderPlan, renderSandboxCreate, renderVerification, runCli } from './chunk-UROEKBHB.js';
4
- export { ADMIN_TOKEN, API_PREFIX, BASE_URL_ENV_VAR, CLI_VERSION, CREDENTIAL_SPECS, DEFAULT_TIMEOUT_MS, EMPTY_REGISTRY, ERRORS_DOCUMENT_KEY, ExitCode, IDEMPOTENT_METHODS, MISSING_FACT_NAMES, PARTNER_KEY, PARTNER_SECRET_KEY, PLAN_DOCUMENT_KIND, PLAN_SCHEMA_VERSION, REASON_CODES, REDACTED, SCHEMAS, SESSION_TOKEN, THEME_TOKEN_ORDER, TransportError, apiUrl, buildDecisionSpace, buildDiagnosisDocument, buildExplanationDocument, clampTimeout, createApiClient, createMemoryFileSystem, createRecordingClock, describeFailure, detectProject, detectTheme, detectThemeFromText, digestOfProjection, digestsEqual, editDistance, entryFromRow, ephemeralCredential, errorCodeOf, failureDetails, fetchTransport, isCorrelatableRequestId, isIdempotent, isKnownReasonCode, loadDecisionSpace, loadErrorRegistry, missingFactsFor, nextActionFor2 as nextActionForErrorCode, nextActionFor as nextActionForReason, nodeFileSystem, parseDiagnostics, planIntegration, renderExplanation, resolveContractPath, resolveCredential, resolveEndpoint, runVerification, suggestCodes, systemClock, validateContractFile, validateContractPublicEnvelope, validateDiagnosisDocument, validateErrorExplanationDocument, validatePlanDocument, validateSandboxCreateDocument, validateVerificationDocument, verifyDigest, walkSingle, walkTree, withPrefix } from './chunk-OHA3JVME.js';
3
+ export { COMMANDS, buildSandboxDocument, buildVerificationDocument, failureOutcome, formatOutcome, matchCommand, nextActionsFor, parseCapabilities, parseIdentityMode, parseSessionMintLanguage, parseSuppliedFacts, projectSandboxCreate, renderDiagnosis, renderPlan, renderSandboxCreate, renderVerification, runCli } from './chunk-LALDS2WR.js';
4
+ export { ADMIN_TOKEN, API_PREFIX, BASE_URL_ENV_VAR, CLI_VERSION, CREDENTIAL_SPECS, DEFAULT_TIMEOUT_MS, EMPTY_REGISTRY, ERRORS_DOCUMENT_KEY, ExitCode, IDEMPOTENT_METHODS, MISSING_FACT_NAMES, PARTNER_KEY, PARTNER_SECRET_KEY, PLAN_DOCUMENT_KIND, PLAN_SCHEMA_VERSION, REASON_CODES, REDACTED, SCHEMAS, SESSION_TOKEN, THEME_TOKEN_ORDER, TransportError, apiUrl, buildDecisionSpace, buildDiagnosisDocument, buildExplanationDocument, clampTimeout, createApiClient, createMemoryFileSystem, createRecordingClock, describeFailure, detectProject, detectTheme, detectThemeFromText, digestOfProjection, digestsEqual, editDistance, entryFromRow, ephemeralCredential, errorCodeOf, failureDetails, fetchTransport, isCorrelatableRequestId, isIdempotent, isKnownReasonCode, loadDecisionSpace, loadErrorRegistry, missingFactsFor, nextActionFor2 as nextActionForErrorCode, nextActionFor as nextActionForReason, nodeFileSystem, parseDiagnostics, planIntegration, renderExplanation, resolveContractPath, resolveCredential, resolveEndpoint, runVerification, suggestCodes, systemClock, validateContractFile, validateContractPublicEnvelope, validateDiagnosisDocument, validateErrorExplanationDocument, validatePlanDocument, validateSandboxCreateDocument, validateVerificationDocument, verifyDigest, walkSingle, walkTree, withPrefix } from './chunk-VUXILRME.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everfur/cli",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Everfur CLI: plan, verify, and diagnose an Everfur pet-health integration from the terminal.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "type": "module",