@kici-dev/shared 0.1.16 → 0.1.17

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 (44) hide show
  1. package/dist/cold-store/bucket.js +1 -1
  2. package/dist/cold-store/chunk-encoder.js +1 -1
  3. package/dist/cold-store/chunk-id.js +1 -1
  4. package/dist/cold-store/cold-store.js +1 -1
  5. package/dist/cold-store/config.js +1 -1
  6. package/dist/cold-store/index.js +1 -1
  7. package/dist/cold-store/key.js +1 -1
  8. package/dist/cold-store/lru.js +1 -1
  9. package/dist/cold-store/manifest.js +1 -1
  10. package/dist/cold-store/metrics.js +1 -1
  11. package/dist/cold-store/table-adapter.js +1 -1
  12. package/dist/cold-store/types.js +1 -1
  13. package/dist/db-admin.d.ts +11 -6
  14. package/dist/db-admin.js +10 -8
  15. package/dist/db-collation.js +1 -1
  16. package/dist/db.js +1 -1
  17. package/dist/diagnostics/bundle-archive.js +1 -1
  18. package/dist/diagnostics/bundle-chunks.js +1 -1
  19. package/dist/env/allowlist.d.ts +5 -1
  20. package/dist/env/allowlist.js +7 -3
  21. package/dist/env/define-env.js +1 -1
  22. package/dist/env/index.js +1 -1
  23. package/dist/env/logger-env.js +1 -1
  24. package/dist/graceful-shutdown.js +1 -1
  25. package/dist/idempotency-env-diff.js +1 -1
  26. package/dist/idempotency-files.js +1 -1
  27. package/dist/idempotency-yaml-diff.js +1 -1
  28. package/dist/idempotency.js +1 -1
  29. package/dist/index.js +1 -1
  30. package/dist/package-manager-types.js +1 -1
  31. package/dist/package-manager.js +1 -1
  32. package/dist/reconnect-delay.js +1 -1
  33. package/dist/ring-buffer.js +1 -1
  34. package/dist/routes/health.js +1 -1
  35. package/dist/routes/metrics.js +1 -1
  36. package/dist/s3-client.js +1 -1
  37. package/dist/telemetry/index.js +1 -1
  38. package/dist/telemetry/init.js +1 -1
  39. package/dist/telemetry/metrics.js +1 -1
  40. package/dist/tool-check.js +1 -1
  41. package/dist/ts-loader-hook.js +1 -1
  42. package/package.json +2 -2
  43. package/sbom.spdx.json +15 -15
  44. /package/dist/{chunk-gOLHoazu.js → chunk-BTugEXQM.js} +0 -0
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  //#region src/cold-store/bucket.ts
3
3
  /**
4
4
  * Map a `ColdRetention` to a stable S3 prefix segment. Rounds
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { sha256 } from "@kici-dev/core";
3
3
  import { gzipSync } from "node:zlib";
4
4
  //#region src/cold-store/chunk-encoder.ts
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { sha256 } from "@kici-dev/core";
3
3
  //#region src/cold-store/chunk-id.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { createS3Client } from "../s3-client.js";
3
3
  import { chunkObjectKey, encodeKeySegment, tablePrefix, tenantDayPrefix } from "./key.js";
4
4
  import { coldDaysToBucket, isLongerColdRetention } from "./bucket.js";
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  //#region src/cold-store/config.ts
3
3
  /**
4
4
  * Reasonable defaults — matches the design doc's section 5 table.
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { chunkObjectKey, encodeKeySegment, tablePrefix, tenantDayBucketPrefix, tenantDayPrefix } from "./key.js";
3
3
  import { COLD_BUCKET_NAMES, coldDaysToBucket, isLongerColdRetention } from "./bucket.js";
4
4
  import { computeChunkId } from "./chunk-id.js";
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  //#region src/cold-store/key.ts
3
3
  /**
4
4
  * Key helpers for S3 object layouts.
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  //#region src/cold-store/lru.ts
3
3
  var ChunkLru = class {
4
4
  maxBytes;
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  //#region src/cold-store/manifest.ts
3
3
  /**
4
4
  * Required fields shared by v1 and v2 manifests. Order is the on-disk
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { createMeter } from "../telemetry/metrics.js";
3
3
  //#region src/cold-store/metrics.ts
4
4
  let _meter;
@@ -1,2 +1,2 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  export {};
@@ -1,2 +1,2 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  export {};
@@ -553,8 +553,8 @@ export interface EmitKiciEventOpts {
553
553
  * e2e helpers to simulate what `agent ctx.emit()` does from inside a step
554
554
  * execution — but without needing an actual running step. Returns the event id.
555
555
  *
556
- * Fixed `chain_depth=0` and `expires_at=NOW() + 1h` match emitInternalEvent()
557
- * in e2e/helpers/internal-webhook.ts, which this helper supersedes.
556
+ * Fixed `chain_depth=0` and `expires_at=NOW() + 1h` match emitLocalEvent()
557
+ * in e2e/helpers/local-webhook.ts, which this helper supersedes.
558
558
  */
559
559
  export declare function emitKiciEventDirect(databaseUrl: string, opts: EmitKiciEventOpts): Promise<{
560
560
  eventId: string;
@@ -567,18 +567,23 @@ export interface SeedGenericWebhookSourceOpts {
567
567
  /** Pre-computed routing key (caller uses `generic:${orgId}:${name}`) */
568
568
  routingKey: string;
569
569
  verificationMethod?: string;
570
- /** 'generic' (Stripe-shaped) or 'internal' (github-shaped via InternalWebhookNormalizer) */
571
- providerType?: 'generic' | 'internal';
570
+ /** 'generic' (Stripe-shaped) or 'local' (github-shaped via LocalWebhookNormalizer,
571
+ * a git repo present on the agent filesystem cloned via file://). */
572
+ providerType?: 'generic' | 'local';
573
+ /** For `providerType='local'`: the per-source `{ repoBasePath, cloneUrlBase? }`
574
+ * stored in `git_config`. The orchestrator reads `repoBasePath` from this row
575
+ * at registration time to build the local provider bundle. */
576
+ gitConfig?: Record<string, unknown>;
572
577
  }
573
578
  /**
574
- * Upsert a row into `generic_webhook_sources` for internal E2E tests. Uses
579
+ * Upsert a row into `generic_webhook_sources`. Uses
575
580
  * `ON CONFLICT (routing_key) DO UPDATE` so warm-start mode (where the source
576
581
  * may already exist from a prior run) is idempotent.
577
582
  *
578
583
  * IMPORTANT: callers must invoke this BEFORE the orchestrator starts, because
579
584
  * GenericSourceManager caches sources at boot and does not reload them later.
580
585
  * This helper supersedes seedGenericWebhookSource() in
581
- * e2e/helpers/internal-webhook.ts.
586
+ * e2e/helpers/local-webhook.ts.
582
587
  */
583
588
  export declare function seedGenericWebhookSourceDirect(databaseUrl: string, opts: SeedGenericWebhookSourceOpts): Promise<void>;
584
589
  /**
package/dist/db-admin.js CHANGED
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  import { createPool } from "./db.js";
3
3
  import { createHash } from "node:crypto";
4
4
  import pg from "pg";
@@ -992,8 +992,8 @@ async function resetRaftStateDirect(databaseUrl) {
992
992
  * e2e helpers to simulate what `agent ctx.emit()` does from inside a step
993
993
  * execution — but without needing an actual running step. Returns the event id.
994
994
  *
995
- * Fixed `chain_depth=0` and `expires_at=NOW() + 1h` match emitInternalEvent()
996
- * in e2e/helpers/internal-webhook.ts, which this helper supersedes.
995
+ * Fixed `chain_depth=0` and `expires_at=NOW() + 1h` match emitLocalEvent()
996
+ * in e2e/helpers/local-webhook.ts, which this helper supersedes.
997
997
  */
998
998
  async function emitKiciEventDirect(databaseUrl, opts) {
999
999
  const pool = createPool(databaseUrl);
@@ -1016,14 +1016,14 @@ async function emitKiciEventDirect(databaseUrl, opts) {
1016
1016
  }
1017
1017
  }
1018
1018
  /**
1019
- * Upsert a row into `generic_webhook_sources` for internal E2E tests. Uses
1019
+ * Upsert a row into `generic_webhook_sources`. Uses
1020
1020
  * `ON CONFLICT (routing_key) DO UPDATE` so warm-start mode (where the source
1021
1021
  * may already exist from a prior run) is idempotent.
1022
1022
  *
1023
1023
  * IMPORTANT: callers must invoke this BEFORE the orchestrator starts, because
1024
1024
  * GenericSourceManager caches sources at boot and does not reload them later.
1025
1025
  * This helper supersedes seedGenericWebhookSource() in
1026
- * e2e/helpers/internal-webhook.ts.
1026
+ * e2e/helpers/local-webhook.ts.
1027
1027
  */
1028
1028
  async function seedGenericWebhookSourceDirect(databaseUrl, opts) {
1029
1029
  const pool = createPool(databaseUrl);
@@ -1033,14 +1033,15 @@ async function seedGenericWebhookSourceDirect(databaseUrl, opts) {
1033
1033
  verification_method, verification_config,
1034
1034
  event_type_header, dedup_window_seconds,
1035
1035
  max_payload_bytes, rate_limit_rpm, enabled,
1036
- provider_type
1037
- ) VALUES ($1, $2, $3, $4, $5, '{}', 'x-event-type', 300, 10485760, 600, true, $6)
1036
+ provider_type, git_config
1037
+ ) VALUES ($1, $2, $3, $4, $5, '{}', 'x-event-type', 300, 10485760, 600, true, $6, $7::jsonb)
1038
1038
  ON CONFLICT (routing_key) DO UPDATE SET
1039
1039
  customer_id = EXCLUDED.customer_id,
1040
1040
  name = EXCLUDED.name,
1041
1041
  verification_method = EXCLUDED.verification_method,
1042
1042
  verification_config = EXCLUDED.verification_config,
1043
1043
  provider_type = EXCLUDED.provider_type,
1044
+ git_config = EXCLUDED.git_config,
1044
1045
  enabled = true,
1045
1046
  deleted_at = NULL,
1046
1047
  updated_at = NOW()`, [
@@ -1049,7 +1050,8 @@ async function seedGenericWebhookSourceDirect(databaseUrl, opts) {
1049
1050
  opts.name,
1050
1051
  opts.routingKey,
1051
1052
  opts.verificationMethod ?? "none",
1052
- opts.providerType ?? "generic"
1053
+ opts.providerType ?? "generic",
1054
+ opts.gitConfig ? JSON.stringify(opts.gitConfig) : null
1053
1055
  ]);
1054
1056
  } finally {
1055
1057
  await pool.end();
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  import pg from "pg";
3
3
  //#region src/db-collation.ts
4
4
  /**
package/dist/db.js CHANGED
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  import pg from "pg";
3
3
  import { Kysely, PostgresDialect } from "kysely";
4
4
  import { createLogger } from "@kici-dev/core";
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import * as fs from "node:fs";
3
3
  import * as path from "node:path";
4
4
  //#region src/diagnostics/bundle-archive.ts
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  //#region src/diagnostics/bundle-chunks.ts
3
3
  /**
4
4
  * Channel-agnostic chunked transfer for fleet bundle ZIPs.
@@ -39,7 +39,8 @@
39
39
  * - `KICI_*` — every project-internal env var.
40
40
  * - OS basics — NODE_ENV, HOME, PATH, TZ, LANG, TMPDIR,
41
41
  * USER, USERNAME, SHELL, COMSPEC, PWD, OLDPWD,
42
- * HOSTNAME.
42
+ * HOSTNAME, PROCESSOR_ARCHITECTURE (Windows arch
43
+ * hint the agent reads to pick the mise zip).
43
44
  * - Terminal / display — COLUMNS, LINES, TERM, COLORTERM, DISPLAY,
44
45
  * WAYLAND_DISPLAY, LOCALAPPDATA.
45
46
  * - XDG basedir spec — XDG_*.
@@ -48,6 +49,9 @@
48
49
  * GITHUB_PATH, GITHUB_STEP_SUMMARY, GITLAB_CI.
49
50
  * - Cloud / SDK names — AWS_*, REDIS_*, OTEL_*, STRIPE_*, DOCKER_*,
50
51
  * CONTAINER_HOST.
52
+ * - git tooling — GIT_* (git's own env-var family, e.g.
53
+ * GIT_CONFIG_GLOBAL / GIT_SSH_COMMAND, that KiCI
54
+ * sets to drive cloned / overlay workspaces).
51
55
  * - Postgres libpq — PGHOST, PGPORT, PGUSER, PGPASSWORD,
52
56
  * PGDATABASE, PGSERVICEFILE, PGSSLMODE.
53
57
  * - Forgejo dev server — FORGEJO_URL, FORGEJO_CONTAINER (read by the
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  //#region src/env/allowlist.ts
3
3
  /**
4
4
  * Source of truth for the env-var allowlist.
@@ -41,7 +41,8 @@ import "../chunk-gOLHoazu.js";
41
41
  * - `KICI_*` — every project-internal env var.
42
42
  * - OS basics — NODE_ENV, HOME, PATH, TZ, LANG, TMPDIR,
43
43
  * USER, USERNAME, SHELL, COMSPEC, PWD, OLDPWD,
44
- * HOSTNAME.
44
+ * HOSTNAME, PROCESSOR_ARCHITECTURE (Windows arch
45
+ * hint the agent reads to pick the mise zip).
45
46
  * - Terminal / display — COLUMNS, LINES, TERM, COLORTERM, DISPLAY,
46
47
  * WAYLAND_DISPLAY, LOCALAPPDATA.
47
48
  * - XDG basedir spec — XDG_*.
@@ -50,6 +51,9 @@ import "../chunk-gOLHoazu.js";
50
51
  * GITHUB_PATH, GITHUB_STEP_SUMMARY, GITLAB_CI.
51
52
  * - Cloud / SDK names — AWS_*, REDIS_*, OTEL_*, STRIPE_*, DOCKER_*,
52
53
  * CONTAINER_HOST.
54
+ * - git tooling — GIT_* (git's own env-var family, e.g.
55
+ * GIT_CONFIG_GLOBAL / GIT_SSH_COMMAND, that KiCI
56
+ * sets to drive cloned / overlay workspaces).
53
57
  * - Postgres libpq — PGHOST, PGPORT, PGUSER, PGPASSWORD,
54
58
  * PGDATABASE, PGSERVICEFILE, PGSSLMODE.
55
59
  * - Forgejo dev server — FORGEJO_URL, FORGEJO_CONTAINER (read by the
@@ -70,7 +74,7 @@ import "../chunk-gOLHoazu.js";
70
74
  * the dev proxy), HEADED (Playwright convention
71
75
  * for `--headed` runs).
72
76
  */
73
- const OS_SDK_ALLOWLIST_REGEX = /^(KICI_.*|NODE_ENV|HOME|PATH|TZ|LANG|TMPDIR|USER|USERNAME|SHELL|COMSPEC|PWD|OLDPWD|HOSTNAME|COLUMNS|LINES|TERM|COLORTERM|DISPLAY|WAYLAND_DISPLAY|LOCALAPPDATA|XDG_CACHE_HOME|XDG_CONFIG_HOME|XDG_DATA_HOME|XDG_RUNTIME_DIR|XDG_STATE_HOME|INIT_CWD|npm_.*|SSH_.*|CI|GITHUB_ACTIONS|GITHUB_ENV|GITHUB_OUTPUT|GITHUB_PATH|GITHUB_STEP_SUMMARY|GITLAB_CI|AWS_.*|REDIS_.*|OTEL_.*|STRIPE_.*|DOCKER_.*|CONTAINER_HOST|container|PGHOST|PGPORT|PGUSER|PGPASSWORD|PGDATABASE|PGSERVICEFILE|PGSSLMODE|FORGEJO_URL|FORGEJO_CONTAINER|KEYCLOAK_.*|VITE_.*|PLAYWRIGHT|HEADED)$/;
77
+ const OS_SDK_ALLOWLIST_REGEX = /^(KICI_.*|NODE_ENV|HOME|PATH|TZ|LANG|TMPDIR|USER|USERNAME|SHELL|COMSPEC|PWD|OLDPWD|HOSTNAME|PROCESSOR_ARCHITECTURE|COLUMNS|LINES|TERM|COLORTERM|DISPLAY|WAYLAND_DISPLAY|LOCALAPPDATA|XDG_CACHE_HOME|XDG_CONFIG_HOME|XDG_DATA_HOME|XDG_RUNTIME_DIR|XDG_STATE_HOME|INIT_CWD|npm_.*|SSH_.*|CI|GITHUB_ACTIONS|GITHUB_ENV|GITHUB_OUTPUT|GITHUB_PATH|GITHUB_STEP_SUMMARY|GITLAB_CI|AWS_.*|REDIS_.*|OTEL_.*|STRIPE_.*|DOCKER_.*|GIT_.*|CONTAINER_HOST|container|PGHOST|PGPORT|PGUSER|PGPASSWORD|PGDATABASE|PGSERVICEFILE|PGSSLMODE|FORGEJO_URL|FORGEJO_CONTAINER|KEYCLOAK_.*|VITE_.*|PLAYWRIGHT|HEADED)$/;
74
78
  /**
75
79
  * Returns true when `name` is allowed under the KiCI env-var convention:
76
80
  * it matches the OS/SDK allowlist regex (which includes the `KICI_*`
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  //#region src/env/define-env.ts
3
3
  /** Read an env value following the alias precedence (first non-undefined wins). */
4
4
  function readEnv(envMap, env) {
package/dist/env/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { RESERVED_NON_SCHEMA_KICI_PREFIXES, RESERVED_NON_SCHEMA_KICI_VARS, defineEnv, validateUnknownKiciVars } from "./define-env.js";
3
3
  import { LOGGER_ENV_FIELD_SPECS, LOGGER_ENV_VARS, LoggerEnvSchema } from "./logger-env.js";
4
4
  export { LOGGER_ENV_FIELD_SPECS, LOGGER_ENV_VARS, LoggerEnvSchema, RESERVED_NON_SCHEMA_KICI_PREFIXES, RESERVED_NON_SCHEMA_KICI_VARS, defineEnv, validateUnknownKiciVars };
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { z } from "zod";
3
3
  //#region src/env/logger-env.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  import { toErrorMessage } from "@kici-dev/core";
3
3
  //#region src/graceful-shutdown.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  //#region src/idempotency-env-diff.ts
3
3
  /**
4
4
  * Env-file semantic diff for the idempotent-step preview path.
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  import { diffEnvFiles, renderEnvDiff } from "./idempotency-env-diff.js";
3
3
  import { createTwoFilesPatch } from "diff";
4
4
  //#region src/idempotency-files.ts
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  import { setYamlDiffRenderer } from "./idempotency-files.js";
3
3
  import { parse } from "yaml";
4
4
  //#region src/idempotency-yaml-diff.ts
@@ -1,3 +1,3 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  export * from "@kici-dev/core/idempotency";
3
3
  export {};
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  import { createDb, createPool } from "./db.js";
3
3
  import { MIGRATION_HASH_TABLE, REGISTERABLE_TRIGGER_TYPES, apiKeyExistsDirect, bumpRegistryVersionDirect, bumpRegistryVersionSimpleDirect, cleanupExecutionRowsDirect, clearDispatchQueueDirect, clearPeerCredentialsRevokedAtByIdsDirect, computeMigrationsHash, countActivePeerCredentialsByInstanceDirect, countCronLastFiredDirect, countHeldRunsByRunIdDirect, countWebhookSourcesByConnectionIdDirect, createDbRole, createEnvironmentTemplateDirect, createJoinTokenDirect, createReadOnlyDbUser, deleteCronLastFiredDirect, deleteCrossRepoTrustDirect, deleteEnvironmentDirect, deleteExecutionRunsByWorkflowNameDirect, deleteGenericWebhookSourcesByNameDirect, deleteKiciEventsDirect, deleteOrgSettingsByCustomerIdDirect, deletePeerCredentialsByInstanceIdLikeDirect, deleteWorkflowRegistrationsDirect, describeTableColumnsDirect, dropAndCreateDatabase, dropDatabaseDirect, emitKiciEventDirect, ensureDatabase, ensureOrgOwnerMemberDirect, findAnyUserApiKeyIdDirect, getExecutionRunSecurityDirect, getGenericWebhookSourceByRoutingKeyDirect, getHeldRunByIdDirect, getPeerCredentialRevokedAtDirect, getRegistryVersionDirect, getWebhookSourceByRoutingKeyDirect, getWorkflowRegistrationByIdDirect, insertCronLastFiredNowDirect, insertCrossRepoTrustStrictDirect, insertKiciEventRawDirect, insertPeerCredentialExpiredDirect, insertWorkflowRegistrationRawDirect, insertWorkflowRegistrationStrictDirect, isSchemaCurrent, isSchemaCurrentFromFilesDirect, latestExecutionRunByStatusDirect, listActiveGenericWebhookSourcesDirect, listActivePeerCredentialsExcludingDirect, listCrossRepoTrustBySourceRoutingKeyDirect, listEnvironmentsDirect, listExecutionJobsDirect, listExecutionRunsDirect, listKiciEventsDirect, listQueueDirect, listRegistrationsByRoutingKeyDirect, listRegistrationsDirect, maskDatabaseUrl, parseDatabaseUrl, platformConnectionExistsDirect, pollKiciEventsDirect, prunePeerCredentialsDirect, purgeScopedSecretsDirect, purgeSecretBackendsDirect, purgeStaleExecutionDirect, purgeStaleSourcesDirect, readStoredMigrationContentHash, registerWorkflowManualDirect, resetRaftStateDirect, resolvePlatformWebhookSourceRoutingKeyDirect, restoreSoftDeletedGenericWebhookSourceDirect, seedApiKeyInlineDirect, seedCiSecurityFixturesDirect, seedCrossRepoTrustDirect, seedEnvironmentBindingDirect, seedEnvironmentDirect, seedGenericWebhookSourceDirect, seedSourcePrivateKeyDirect, seedSyntheticGithubSourceDirect, seedUniversalGitSourceDirect, seedWebhookSecretDirect, setEnvironmentPolicyDirect, setEnvironmentSecretDirect, showEnvironmentDirect, showExecutionRunDirect, showKiciEventDirect, showQueueEntryDirect, showRegistrationDirect, storeMigrationContentHash, storeMigrationContentHashInTableDirect, tableExistsDirect, terminateIdleDbBackendsDirect, updateGenericWebhookVerificationConfigDirect, updateOrgSettingsDeniedReposDirect, updateSourceRoutingKeyDirect, updateWorkflowRegistrationCommitShaDirect, upsertCronLastFiredDirect, upsertOrgSettingsGlobalWorkflowsDirect, verifyKiciEventNotifyDirect, waitForEventLogRowByDeliveryIdDirect, waitForExecutionRunStatusSinceDirect, waitForLatestExecutionJobStatusDirect, waitForPlatformEventLogDistinctRoutedDirect, waitForPlatformExecutionRunStatusDirect, waitForPlatformRegistrationsDirect, waitForPostgresDirect, waitForRegistrationsByRoutingKeyDirect, waitForRegistrationsUpdatedAtAdvanceDirect, waitForRunCompletionDirect } from "./db-admin.js";
4
4
  import { setupGracefulShutdown } from "./graceful-shutdown.js";
@@ -1,3 +1,3 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  export * from "@kici-dev/core/package-manager-types";
3
3
  export {};
@@ -1,3 +1,3 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  export * from "@kici-dev/core/package-manager";
3
3
  export {};
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  //#region src/reconnect-delay.ts
3
3
  /**
4
4
  * Calculate reconnection delay with exponential backoff and jitter.
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  //#region src/ring-buffer.ts
3
3
  /**
4
4
  * Generic ring buffer with a configurable maximum size.
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { Hono } from "hono";
3
3
  //#region src/routes/health.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { Hono } from "hono";
3
3
  //#region src/routes/metrics.ts
4
4
  /**
package/dist/s3-client.js CHANGED
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  import { S3Client } from "@aws-sdk/client-s3";
3
3
  //#region src/s3-client.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { collectRuntimeMetricNames, getPrometheusExporter, initTelemetry } from "./init.js";
3
3
  import { createMeter } from "./metrics.js";
4
4
  export { collectRuntimeMetricNames, createMeter, getPrometheusExporter, initTelemetry };
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { NodeSDK } from "@opentelemetry/sdk-node";
3
3
  import { PrometheusExporter } from "@opentelemetry/exporter-prometheus";
4
4
  import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
@@ -1,4 +1,4 @@
1
- import "../chunk-gOLHoazu.js";
1
+ import "../chunk-BTugEXQM.js";
2
2
  import { metrics } from "@opentelemetry/api";
3
3
  //#region src/telemetry/metrics.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  import { accessSync, constants } from "node:fs";
3
3
  import { delimiter, join } from "node:path";
4
4
  //#region src/tool-check.ts
@@ -1,3 +1,3 @@
1
- import "./chunk-gOLHoazu.js";
1
+ import "./chunk-BTugEXQM.js";
2
2
  export * from "@kici-dev/core/ts-loader-hook";
3
3
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kici-dev/shared",
3
- "version": "0.1.16",
3
+ "version": "0.1.17",
4
4
  "description": "Shared utilities for the KiCI CI/CD stack — logging, zx setup, crypto, telemetry, health and metrics routes. No business logic.",
5
5
  "keywords": [
6
6
  "ci",
@@ -101,7 +101,7 @@
101
101
  "yaml": "^2.8.3",
102
102
  "zod": "^4.3.6",
103
103
  "zx": "^8.8.5",
104
- "@kici-dev/core": "0.1.16"
104
+ "@kici-dev/core": "0.1.17"
105
105
  },
106
106
  "devDependencies": {
107
107
  "@opentelemetry/sdk-trace-base": "^2.7.0",
package/sbom.spdx.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "spdxVersion": "SPDX-2.3",
3
3
  "dataLicense": "CC0-1.0",
4
4
  "SPDXID": "SPDXRef-DOCUMENT",
5
- "name": "@kici-dev/shared@0.1.16",
6
- "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Fshared/0.1.16/510199e0-6d64-4ff3-92fc-8f6870891cf6",
5
+ "name": "@kici-dev/shared@0.1.17",
6
+ "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Fshared/0.1.17/1885c7a2-2121-4876-8a5a-7fcbd118af01",
7
7
  "creationInfo": {
8
- "created": "2026-06-12T09:41:27Z",
8
+ "created": "2026-06-14T12:30:07Z",
9
9
  "creators": [
10
10
  "Tool: kici-sbom-generator"
11
11
  ]
@@ -964,9 +964,9 @@
964
964
  "homepage": "https://js-sdsl.org"
965
965
  },
966
966
  {
967
- "SPDXID": "SPDXRef-Package--kici-dev-core-0.1.16",
967
+ "SPDXID": "SPDXRef-Package--kici-dev-core-0.1.17",
968
968
  "name": "@kici-dev/core",
969
- "versionInfo": "0.1.16",
969
+ "versionInfo": "0.1.17",
970
970
  "downloadLocation": "NOASSERTION",
971
971
  "filesAnalyzed": false,
972
972
  "licenseConcluded": "NOASSERTION",
@@ -977,7 +977,7 @@
977
977
  {
978
978
  "referenceCategory": "PACKAGE-MANAGER",
979
979
  "referenceType": "purl",
980
- "referenceLocator": "pkg:npm/%40kici-dev/core@0.1.16"
980
+ "referenceLocator": "pkg:npm/%40kici-dev/core@0.1.17"
981
981
  }
982
982
  ],
983
983
  "description": "Light shared utilities for the KiCI stack (logging, errors, formatting, crypto, zx init, the TypeScript ESM loader hook). No server-side dependencies.",
@@ -986,7 +986,7 @@
986
986
  {
987
987
  "SPDXID": "SPDXRef-RootPackage",
988
988
  "name": "@kici-dev/shared",
989
- "versionInfo": "0.1.16",
989
+ "versionInfo": "0.1.17",
990
990
  "downloadLocation": "NOASSERTION",
991
991
  "filesAnalyzed": false,
992
992
  "licenseConcluded": "NOASSERTION",
@@ -997,7 +997,7 @@
997
997
  {
998
998
  "referenceCategory": "PACKAGE-MANAGER",
999
999
  "referenceType": "purl",
1000
- "referenceLocator": "pkg:npm/%40kici-dev/shared@0.1.16"
1000
+ "referenceLocator": "pkg:npm/%40kici-dev/shared@0.1.17"
1001
1001
  }
1002
1002
  ],
1003
1003
  "description": "Shared utilities for the KiCI CI/CD stack — logging, zx setup, crypto, telemetry, health and metrics routes. No business logic.",
@@ -7820,32 +7820,32 @@
7820
7820
  "relationshipType": "DEPENDS_ON"
7821
7821
  },
7822
7822
  {
7823
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
7823
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.17",
7824
7824
  "relatedSpdxElement": "SPDXRef-Package-oxc-transform-0.128.0",
7825
7825
  "relationshipType": "DEPENDS_ON"
7826
7826
  },
7827
7827
  {
7828
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
7828
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.17",
7829
7829
  "relatedSpdxElement": "SPDXRef-Package-picocolors-1.1.1",
7830
7830
  "relationshipType": "DEPENDS_ON"
7831
7831
  },
7832
7832
  {
7833
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
7833
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.17",
7834
7834
  "relatedSpdxElement": "SPDXRef-Package-winston-daily-rotate-file-5.0.0",
7835
7835
  "relationshipType": "DEPENDS_ON"
7836
7836
  },
7837
7837
  {
7838
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
7838
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.17",
7839
7839
  "relatedSpdxElement": "SPDXRef-Package-winston-3.19.0",
7840
7840
  "relationshipType": "DEPENDS_ON"
7841
7841
  },
7842
7842
  {
7843
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
7843
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.17",
7844
7844
  "relatedSpdxElement": "SPDXRef-Package-zod-4.3.6",
7845
7845
  "relationshipType": "DEPENDS_ON"
7846
7846
  },
7847
7847
  {
7848
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
7848
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.17",
7849
7849
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
7850
7850
  "relationshipType": "DEPENDS_ON"
7851
7851
  },
@@ -7856,7 +7856,7 @@
7856
7856
  },
7857
7857
  {
7858
7858
  "spdxElementId": "SPDXRef-RootPackage",
7859
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.16",
7859
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.17",
7860
7860
  "relationshipType": "DEPENDS_ON"
7861
7861
  },
7862
7862
  {
File without changes