@ever-works/contracts 1.0.1 → 1.0.3

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/index.cjs CHANGED
@@ -808,9 +808,10 @@ var APP_LAUNCHER_ITEM_KINDS = ["platform", "work"];
808
808
  var APP_LAUNCHER_SECTIONS = ["pinned", "platforms", "works"];
809
809
  var APP_LAUNCHER_WORK_CHIPS = ["deploying", "lastDeployFailed"];
810
810
  var APP_LAUNCHER_MANAGE_STATES = ["listed", "notLive", "exposureOff"];
811
- var APP_LAUNCHER_PLATFORM_STATUSES = ["available", "beta"];
811
+ var APP_LAUNCHER_PLATFORM_STATUSES = ["available", "beta", "soon"];
812
812
  var APP_LAUNCHER_REJECTION_REASONS = ["unknownItem", "cannotHideCurrent"];
813
813
  var APP_LAUNCHER_EMPTY_ACTIONS = ["createAppWork", "goToWorks"];
814
+ var APP_LAUNCHER_ORIGIN_NOT_ALLOWED = "origin_not_allowed";
814
815
  var APP_LAUNCHER_PIN_LIMIT = 6;
815
816
  var APP_LAUNCHER_MAX_ITEMS_RESPONSE = 200;
816
817
  var APP_LAUNCHER_MAX_CHANGES_PER_SAVE = 200;
@@ -9180,6 +9181,102 @@ var SAFETY_PAUSE_WRITES_PER_MINUTE = 10;
9180
9181
  var SAFETY_CANCEL_WRITES_PER_MINUTE = 5;
9181
9182
  var UNCLASSIFIED_ACTION_POLICY = "warn";
9182
9183
  var SHIPPED_DEFAULT_RUNG_POLICY = "display";
9184
+
9185
+ // src/ever-platform/stats.ts
9186
+ var EVER_STATS_V1_SCHEMA_ID = "ever.stats.v1";
9187
+ var EVER_STATS_REPORTS_PATH = "/v1/stats/reports";
9188
+ var EVER_PLATFORM_DEFAULT_API_URL = "https://api.ever.co";
9189
+ var EVER_STATS_KEY_HEADER = "Ever-Stats-Key";
9190
+ var EVER_STATS_SIGNATURE_HEADER = "Ever-Stats-Signature";
9191
+ var EVER_STATS_KEY_ID_HEADER = "Ever-Stats-Key-Id";
9192
+ var EVER_STATS_SIGNATURE_PREFIX = "ed25519=";
9193
+ var EVER_STATS_MAX_BODY_BYTES = 16384;
9194
+ var EVER_STATS_V1_SOURCE = {
9195
+ repository: "https://github.com/ever-co/ever-connect-sdk",
9196
+ commit: "2fd74dad9357a18471292f38012a5f5e4e6d2938",
9197
+ path: "contracts/schemas/ever.stats.v1.json",
9198
+ sha256: "0cd746f7dec75117a6b812b7a832f9ceca4c97a6ecf65d22d6967a6475efc6e5"
9199
+ };
9200
+ function isPrivateStatsHost(hostname) {
9201
+ const host = hostname.toLowerCase().replace(/^\[|\]$/g, "");
9202
+ if (host === "localhost" || host.endsWith(".localhost")) return true;
9203
+ if (host === "::1") return true;
9204
+ if (/^f[cd][0-9a-f]{2}:/.test(host)) return true;
9205
+ const ipv4 = host.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
9206
+ if (ipv4) {
9207
+ const a = Number(ipv4[1]);
9208
+ const b = Number(ipv4[2]);
9209
+ return a === 127 || a === 10 || a === 172 && b >= 16 && b <= 31 || a === 192 && b === 168;
9210
+ }
9211
+ return host.length > 0 && !host.includes(".") && !host.includes(":");
9212
+ }
9213
+ function normaliseStatsBaseUrl(raw) {
9214
+ let url;
9215
+ try {
9216
+ url = new URL(raw.trim());
9217
+ } catch {
9218
+ return null;
9219
+ }
9220
+ if (url.username || url.password || url.search || url.hash) return null;
9221
+ if (url.protocol === "http:") {
9222
+ if (!isPrivateStatsHost(url.hostname)) return null;
9223
+ } else if (url.protocol !== "https:") {
9224
+ return null;
9225
+ }
9226
+ return `${url.origin}${url.pathname}`.replace(/\/+$/, "");
9227
+ }
9228
+ var EVER_STATS_PRODUCTS = ["gauzy", "teams", "works", "rec", "traduora"];
9229
+ var EVER_STATS_CHANNELS = ["stable", "rc", "beta", "dev", "custom"];
9230
+ var WORKS_STATS_WORK_KIND_KEYS = [
9231
+ "website",
9232
+ "landing_page",
9233
+ "blog",
9234
+ "directory",
9235
+ "awesome_repo",
9236
+ "repo",
9237
+ "company",
9238
+ "campaign",
9239
+ "default",
9240
+ "app",
9241
+ "other"
9242
+ ];
9243
+ var WORKS_STATS_DEPLOYMENT_PROVIDER_KEYS = [
9244
+ "ever_works",
9245
+ "vercel",
9246
+ "k8s",
9247
+ "your_cluster",
9248
+ "ever_works_apps",
9249
+ "other"
9250
+ ];
9251
+ var WORKS_STATS_FEATURE_KEYS = [
9252
+ "app_works_enabled",
9253
+ "app_launcher_enabled",
9254
+ "dynamic_plugins",
9255
+ "deploy_ever_works_enabled",
9256
+ "subscriptions_enabled",
9257
+ "mcp_enabled"
9258
+ ];
9259
+ var STATS_SEND_ERROR_CODES = [
9260
+ "schema_violation",
9261
+ "key_mismatch",
9262
+ "too_large",
9263
+ "signature_invalid",
9264
+ "validation_failed",
9265
+ "unsupported_media_type",
9266
+ "rate_limited",
9267
+ "server_error",
9268
+ "http_error",
9269
+ "network",
9270
+ "timeout",
9271
+ "invalid_url",
9272
+ "redirect",
9273
+ "sink_unavailable",
9274
+ "build_failed",
9275
+ "key_unreadable"
9276
+ ];
9277
+ function isInstanceStatsOperatorStatus(status) {
9278
+ return status.operator === true;
9279
+ }
9183
9280
  /**
9184
9281
  * One header finding of the licence scan (plan §2.6:324-325, FR-54): the
9185
9282
  * `SPDX-License-Identifier:` / `@license` tag a file declares in its first
@@ -9572,6 +9669,7 @@ exports.APP_LAUNCHER_MAX_CHANGES_PER_SAVE = APP_LAUNCHER_MAX_CHANGES_PER_SAVE;
9572
9669
  exports.APP_LAUNCHER_MAX_ITEMS_RESPONSE = APP_LAUNCHER_MAX_ITEMS_RESPONSE;
9573
9670
  exports.APP_LAUNCHER_MAX_PREFERENCE_ROWS = APP_LAUNCHER_MAX_PREFERENCE_ROWS;
9574
9671
  exports.APP_LAUNCHER_NAME_MAX_LENGTH = APP_LAUNCHER_NAME_MAX_LENGTH;
9672
+ exports.APP_LAUNCHER_ORIGIN_NOT_ALLOWED = APP_LAUNCHER_ORIGIN_NOT_ALLOWED;
9575
9673
  exports.APP_LAUNCHER_PANEL_PLATFORMS_MAX = APP_LAUNCHER_PANEL_PLATFORMS_MAX;
9576
9674
  exports.APP_LAUNCHER_PANEL_WORKS_MAX = APP_LAUNCHER_PANEL_WORKS_MAX;
9577
9675
  exports.APP_LAUNCHER_PIN_LIMIT = APP_LAUNCHER_PIN_LIMIT;
@@ -9969,6 +10067,17 @@ exports.EVER_ID_REGISTRATION_PROVIDER = EVER_ID_REGISTRATION_PROVIDER;
9969
10067
  exports.EVER_ID_SCOPES = EVER_ID_SCOPES;
9970
10068
  exports.EVER_ID_SIGNING_ALGS = EVER_ID_SIGNING_ALGS;
9971
10069
  exports.EVER_ID_WIRE_ERROR_CODES = EVER_ID_WIRE_ERROR_CODES;
10070
+ exports.EVER_PLATFORM_DEFAULT_API_URL = EVER_PLATFORM_DEFAULT_API_URL;
10071
+ exports.EVER_STATS_CHANNELS = EVER_STATS_CHANNELS;
10072
+ exports.EVER_STATS_KEY_HEADER = EVER_STATS_KEY_HEADER;
10073
+ exports.EVER_STATS_KEY_ID_HEADER = EVER_STATS_KEY_ID_HEADER;
10074
+ exports.EVER_STATS_MAX_BODY_BYTES = EVER_STATS_MAX_BODY_BYTES;
10075
+ exports.EVER_STATS_PRODUCTS = EVER_STATS_PRODUCTS;
10076
+ exports.EVER_STATS_REPORTS_PATH = EVER_STATS_REPORTS_PATH;
10077
+ exports.EVER_STATS_SIGNATURE_HEADER = EVER_STATS_SIGNATURE_HEADER;
10078
+ exports.EVER_STATS_SIGNATURE_PREFIX = EVER_STATS_SIGNATURE_PREFIX;
10079
+ exports.EVER_STATS_V1_SCHEMA_ID = EVER_STATS_V1_SCHEMA_ID;
10080
+ exports.EVER_STATS_V1_SOURCE = EVER_STATS_V1_SOURCE;
9972
10081
  exports.FEED_ACTORS_WINDOW_HOURS_DEFAULT = FEED_ACTORS_WINDOW_HOURS_DEFAULT;
9973
10082
  exports.FEED_ACTORS_WINDOW_HOURS_MAX = FEED_ACTORS_WINDOW_HOURS_MAX;
9974
10083
  exports.FEED_ACTOR_KINDS = FEED_ACTOR_KINDS;
@@ -10425,6 +10534,7 @@ exports.SPEND_CAP_MIN_CENTS = SPEND_CAP_MIN_CENTS;
10425
10534
  exports.SPEND_CAP_PROPAGATION_MS = SPEND_CAP_PROPAGATION_MS;
10426
10535
  exports.SPEND_CAP_THRESHOLDS = SPEND_CAP_THRESHOLDS;
10427
10536
  exports.STALE_PRICE_DELTA = STALE_PRICE_DELTA;
10537
+ exports.STATS_SEND_ERROR_CODES = STATS_SEND_ERROR_CODES;
10428
10538
  exports.SUB_AGENT_DELEGATION_REFUSAL_CODES = SUB_AGENT_DELEGATION_REFUSAL_CODES;
10429
10539
  exports.SUB_AGENT_DELEGATION_STATUSES = SUB_AGENT_DELEGATION_STATUSES;
10430
10540
  exports.SUB_AGENT_MAX_DELEGATION_DEPTH = SUB_AGENT_MAX_DELEGATION_DEPTH;
@@ -10494,6 +10604,9 @@ exports.WORKSPACE_CONTEXT_FILE_SLUGS = WORKSPACE_CONTEXT_FILE_SLUGS;
10494
10604
  exports.WORKSPACE_PAUSED_UNVERIFIED = WORKSPACE_PAUSED_UNVERIFIED;
10495
10605
  exports.WORKSPACE_PAUSE_REASON_MAX = WORKSPACE_PAUSE_REASON_MAX;
10496
10606
  exports.WORKSPACE_RUNNING = WORKSPACE_RUNNING;
10607
+ exports.WORKS_STATS_DEPLOYMENT_PROVIDER_KEYS = WORKS_STATS_DEPLOYMENT_PROVIDER_KEYS;
10608
+ exports.WORKS_STATS_FEATURE_KEYS = WORKS_STATS_FEATURE_KEYS;
10609
+ exports.WORKS_STATS_WORK_KIND_KEYS = WORKS_STATS_WORK_KIND_KEYS;
10497
10610
  exports.WORK_CHECKS_POLICIES = WORK_CHECKS_POLICIES;
10498
10611
  exports.WORK_EXTERNAL_REFS_MAX_PER_KIND = WORK_EXTERNAL_REFS_MAX_PER_KIND;
10499
10612
  exports.WORK_EXTERNAL_REF_KINDS = WORK_EXTERNAL_REF_KINDS;
@@ -10677,6 +10790,7 @@ exports.isHomeBlockId = isHomeBlockId;
10677
10790
  exports.isHomeDecisionOverdue = isHomeDecisionOverdue;
10678
10791
  exports.isHomeTimezone = isHomeTimezone;
10679
10792
  exports.isInboxDecisionKind = isInboxDecisionKind;
10793
+ exports.isInstanceStatsOperatorStatus = isInstanceStatsOperatorStatus;
10680
10794
  exports.isLadderedCategory = isLadderedCategory;
10681
10795
  exports.isLocalExecutionMode = isLocalExecutionMode;
10682
10796
  exports.isMemoryFactScope = isMemoryFactScope;
@@ -10687,6 +10801,7 @@ exports.isNodeBusy = isNodeBusy;
10687
10801
  exports.isOverLinkLimits = isOverLinkLimits;
10688
10802
  exports.isPersonallyDeletableConversationKind = isPersonallyDeletableConversationKind;
10689
10803
  exports.isPlatformDataServer = isPlatformDataServer;
10804
+ exports.isPrivateStatsHost = isPrivateStatsHost;
10690
10805
  exports.isPromotionGateDecided = isPromotionGateDecided;
10691
10806
  exports.isPromotionGateDecisionOverdue = isPromotionGateDecisionOverdue;
10692
10807
  exports.isPromotionGateOverridden = isPromotionGateOverridden;
@@ -10744,6 +10859,7 @@ exports.narrowSubAgentScope = narrowSubAgentScope;
10744
10859
  exports.nextRungUp = nextRungUp;
10745
10860
  exports.nodeSatisfiesCapabilities = nodeSatisfiesCapabilities;
10746
10861
  exports.normaliseDataServerEndpoint = normaliseDataServerEndpoint;
10862
+ exports.normaliseStatsBaseUrl = normaliseStatsBaseUrl;
10747
10863
  exports.normalizeCommitSha = normalizeCommitSha;
10748
10864
  exports.normalizeComputerFrame = normalizeComputerFrame;
10749
10865
  exports.normalizeConnectionScopePresetOwnership = normalizeConnectionScopePresetOwnership;