@fml-inc/fml 0.8.1 → 0.8.2-rc.2

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
  {
2
2
  "name": "fml",
3
- "version": "0.8.1",
3
+ "version": "0.8.2-rc.2",
4
4
  "description": "FML agent tools for Claude Code",
5
5
  "mcpServers": {
6
6
  "fml": {
package/README.md CHANGED
@@ -25,8 +25,9 @@ npm install --global @fml-inc/fml
25
25
  fml setup
26
26
  ```
27
27
 
28
- Run `fml update` to upgrade the global package with npm. Stable releases stay
29
- on npm's `latest` channel; prerelease versions stay on `next`.
28
+ Run `fml update` to check for and install a newer global package with npm. It
29
+ reports the version installed and refreshes FML setup automatically. Stable
30
+ releases stay on npm's `latest` channel; prerelease versions stay on `next`.
30
31
 
31
32
  Installing the package does not change agent configuration. Run `fml install`
32
33
  to register the FML Claude Code plugin, install the agent-native FML skill,
@@ -7,7 +7,7 @@ import {
7
7
  getSelectedOrg,
8
8
  getSiteUrlForConvexUrl,
9
9
  getValidToken
10
- } from "./chunk-A6HAEVJX.js";
10
+ } from "./chunk-TNJVAET3.js";
11
11
 
12
12
  // src/fml-client.ts
13
13
  var LOGIN_EXPIRED_MESSAGE = "Authentication expired. Run `fml login` to sign in again, then restart Claude Code.";
@@ -79,7 +79,7 @@ function createFmlClient(token, options = {}) {
79
79
  const repo = resolveRepoFromCwd(process.cwd());
80
80
  if (repo) body.repo = repo.repo;
81
81
  if (isServiceToken) {
82
- const { readTokens, SERVICE_TOKEN_LOGIN_USER_ID } = await import("./token-store-BT5THIAJ.js");
82
+ const { readTokens, SERVICE_TOKEN_LOGIN_USER_ID } = await import("./token-store-7OI3CMM4.js");
83
83
  const stored = readTokens(options.envName);
84
84
  const storedUserExternalId = stored?.tokenType === "service" && stored.user.id !== SERVICE_TOKEN_LOGIN_USER_ID ? stored.user.id : void 0;
85
85
  const userExternalId = process.env.FML_USER_EXTERNAL_ID ?? storedUserExternalId;
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  OBSERVER_SERVICE_NAME
3
- } from "./chunk-KBT5RMAU.js";
3
+ } from "./chunk-F4A2POJX.js";
4
4
  import {
5
5
  FML_OBSERVER_LOCK_FILE,
6
6
  FML_OBSERVER_PORT,
7
7
  FML_OBSERVER_STATE_FILE
8
- } from "./chunk-A6HAEVJX.js";
8
+ } from "./chunk-TNJVAET3.js";
9
9
 
10
10
  // src/observer/state.ts
11
11
  import { randomUUID } from "crypto";
@@ -6,7 +6,7 @@ import {
6
6
  getSiteUrlForConvexUrl,
7
7
  getSyncDestinationIdentity,
8
8
  getValidToken
9
- } from "./chunk-A6HAEVJX.js";
9
+ } from "./chunk-TNJVAET3.js";
10
10
 
11
11
  // src/hooks/sync-loop.ts
12
12
  import { createHash } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  FML_HOOK_INBOX_DIR
3
- } from "./chunk-A6HAEVJX.js";
3
+ } from "./chunk-TNJVAET3.js";
4
4
 
5
5
  // ../../packages/panopticon/src/observer/auth.ts
6
6
  import crypto from "crypto";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolvePackageRoot,
3
3
  runRawSyncOnce
4
- } from "./chunk-YSU5CS2V.js";
4
+ } from "./chunk-UGUYQVUW.js";
5
5
 
6
6
  // src/observer/sync-cycle.ts
7
7
  import { fork } from "child_process";
@@ -317,6 +317,9 @@ function getSiteUrlForConvexUrl(convexUrl) {
317
317
  var initialized = false;
318
318
  var sentry = null;
319
319
  var client = null;
320
+ function isSentryEnabled() {
321
+ return process.env.SENTRY_ENABLED === "true";
322
+ }
320
323
  async function loadSentry() {
321
324
  if (sentry) return sentry;
322
325
  try {
@@ -329,10 +332,12 @@ async function loadSentry() {
329
332
  async function initSentry() {
330
333
  if (initialized) return;
331
334
  initialized = true;
335
+ if (!isSentryEnabled()) return;
332
336
  const mod = await loadSentry();
333
337
  if (!mod) return;
334
338
  client = new mod.ServerRuntimeClient({
335
339
  dsn: "https://4c243521c03917c886d0bf33bc0038c8@o4510167429873664.ingest.us.sentry.io/4511078213156864",
340
+ environment: process.env.DEPLOYMENT_ENV ?? process.env.NODE_ENV ?? "production",
336
341
  tracesSampleRate: 0,
337
342
  integrations: [],
338
343
  stackParser: mod.createStackParser(mod.nodeStackLineParser()),
@@ -6,7 +6,7 @@ import {
6
6
  getSiteUrlForConvexUrl,
7
7
  getSyncDestinationIdentity,
8
8
  getValidToken
9
- } from "./chunk-A6HAEVJX.js";
9
+ } from "./chunk-TNJVAET3.js";
10
10
 
11
11
  // ../../packages/panopticon/src/artifact.ts
12
12
  import {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  FML_HOOK_CAPTURE_DISABLED_FILE
3
- } from "./chunk-A6HAEVJX.js";
3
+ } from "./chunk-TNJVAET3.js";
4
4
 
5
5
  // src/json-file.ts
6
6
  import { randomUUID } from "crypto";
package/dist/cli.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  createFmlClient,
4
4
  getAuthenticatedClient
5
- } from "./chunk-R45CWWZO.js";
5
+ } from "./chunk-26RJC76L.js";
6
6
  import {
7
7
  OBSERVER_HEARTBEAT_STALE_MS,
8
8
  getProcessIdentity,
@@ -10,13 +10,13 @@ import {
10
10
  isPidAlive,
11
11
  readObserverStateStatus,
12
12
  removeObserverStateIfOwned
13
- } from "./chunk-7DWFJENY.js";
13
+ } from "./chunk-3WDAKM5B.js";
14
14
  import {
15
15
  readJsonFile,
16
16
  setHookCaptureDisabled,
17
17
  writeJsonFile,
18
18
  writeTextFileAtomic
19
- } from "./chunk-ENW2GJNO.js";
19
+ } from "./chunk-UZG65JUB.js";
20
20
  import {
21
21
  CODEX_HOOK_EVENTS,
22
22
  GEMINI_HOOK_EVENTS,
@@ -24,7 +24,7 @@ import {
24
24
  isObserverHealth,
25
25
  readHookInboxStatus,
26
26
  readObserverAuthToken
27
- } from "./chunk-KBT5RMAU.js";
27
+ } from "./chunk-F4A2POJX.js";
28
28
  import "./chunk-7V7G7NVF.js";
29
29
  import {
30
30
  claudeConfigDirectory,
@@ -34,7 +34,7 @@ import {
34
34
  initializeSyncSettings,
35
35
  resolvePackageRoot,
36
36
  runRawSyncOnce
37
- } from "./chunk-YSU5CS2V.js";
37
+ } from "./chunk-UGUYQVUW.js";
38
38
  import {
39
39
  DEFAULT_PROD_URL,
40
40
  DEFAULT_TARGET_NAME,
@@ -76,7 +76,7 @@ import {
76
76
  storeServiceRefreshToken,
77
77
  writeEnvConfig,
78
78
  writeTokens
79
- } from "./chunk-A6HAEVJX.js";
79
+ } from "./chunk-TNJVAET3.js";
80
80
  import "./chunk-MLKGABMK.js";
81
81
 
82
82
  // src/cli.ts
@@ -124,7 +124,7 @@ var POLL_INTERVAL_MS = 50;
124
124
  var LOG_ROTATE_BYTES = 10 * 1024 * 1024;
125
125
  var LOG_ROTATE_FILES = 3;
126
126
  function expectedObserverVersion() {
127
- return true ? "0.8.1+532464ef" : "dev";
127
+ return true ? "0.8.2-rc.2+e2bf128f" : "dev";
128
128
  }
129
129
  function delay(ms) {
130
130
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -7370,7 +7370,7 @@ async function runInteractiveLogin(opts = {}) {
7370
7370
  const envName = environment.envName;
7371
7371
  const existingToken = await getValidToken({ env: envName });
7372
7372
  if (existingToken) {
7373
- const { readTokens: readTokens2 } = await import("./token-store-BT5THIAJ.js");
7373
+ const { readTokens: readTokens2 } = await import("./token-store-7OI3CMM4.js");
7374
7374
  const stored = readTokens2(envName);
7375
7375
  if (stored?.tokenType === "service") {
7376
7376
  const label = stored.user.id === SERVICE_TOKEN_LOGIN_USER_ID ? "a service token" : `${stored.user.name} (${stored.user.email})`;
@@ -7893,21 +7893,82 @@ async function handleUninstall(opts) {
7893
7893
  }
7894
7894
 
7895
7895
  // src/commands/update.ts
7896
- var SEMVER_PATTERN = /^(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
7896
+ var SEMVER_PATTERN = /^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(?:-((?:0|[1-9][0-9]*|[0-9A-Za-z-]*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9][0-9]*|[0-9A-Za-z-]*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
7897
+ var PACKAGE_NAME = "@fml-inc/fml";
7898
+ var UPDATE_TIMEOUT_MS = 12e4;
7899
+ var SETUP_TIMEOUT_MS = 3e5;
7897
7900
  function getCurrentVersion() {
7898
- return true ? "0.8.1+532464ef" : "unknown";
7901
+ return true ? "0.8.2-rc.2+e2bf128f" : "unknown";
7902
+ }
7903
+ function parseVersion(version) {
7904
+ const match = SEMVER_PATTERN.exec(version);
7905
+ if (!match) return null;
7906
+ return {
7907
+ major: match[1],
7908
+ minor: match[2],
7909
+ patch: match[3],
7910
+ prerelease: match[4]?.split(".") ?? []
7911
+ };
7912
+ }
7913
+ function compareNumericIdentifiers(left, right) {
7914
+ if (left.length !== right.length) return left.length - right.length;
7915
+ if (left === right) return 0;
7916
+ return left < right ? -1 : 1;
7917
+ }
7918
+ function compareIdentifiers(left, right) {
7919
+ const leftIsNumeric = /^[0-9]+$/u.test(left);
7920
+ const rightIsNumeric = /^[0-9]+$/u.test(right);
7921
+ if (leftIsNumeric && rightIsNumeric) {
7922
+ return compareNumericIdentifiers(left, right);
7923
+ }
7924
+ if (leftIsNumeric) return -1;
7925
+ if (rightIsNumeric) return 1;
7926
+ if (left === right) return 0;
7927
+ return left < right ? -1 : 1;
7928
+ }
7929
+ function compareVersions(left, right) {
7930
+ const leftVersion = parseVersion(left);
7931
+ const rightVersion = parseVersion(right);
7932
+ if (!leftVersion || !rightVersion) {
7933
+ throw new Error("FML update requires valid semantic versions.");
7934
+ }
7935
+ for (const part of ["major", "minor", "patch"]) {
7936
+ const difference = compareNumericIdentifiers(
7937
+ leftVersion[part],
7938
+ rightVersion[part]
7939
+ );
7940
+ if (difference) return difference;
7941
+ }
7942
+ if (!leftVersion.prerelease.length && !rightVersion.prerelease.length) {
7943
+ return 0;
7944
+ }
7945
+ if (!leftVersion.prerelease.length) return 1;
7946
+ if (!rightVersion.prerelease.length) return -1;
7947
+ const length = Math.max(
7948
+ leftVersion.prerelease.length,
7949
+ rightVersion.prerelease.length
7950
+ );
7951
+ for (let index = 0; index < length; index += 1) {
7952
+ const leftIdentifier = leftVersion.prerelease[index];
7953
+ const rightIdentifier = rightVersion.prerelease[index];
7954
+ if (leftIdentifier === void 0) return -1;
7955
+ if (rightIdentifier === void 0) return 1;
7956
+ const difference = compareIdentifiers(leftIdentifier, rightIdentifier);
7957
+ if (difference) return difference;
7958
+ }
7959
+ return 0;
7899
7960
  }
7900
7961
  function resolveUpdateChannel(version) {
7901
7962
  const match = SEMVER_PATTERN.exec(version);
7902
7963
  if (!match) return "latest";
7903
- const prerelease = match[1];
7964
+ const prerelease = match[4];
7904
7965
  if (!prerelease) return "latest";
7905
7966
  return prerelease.split(".").every((identifier) => {
7906
7967
  return !(identifier.length > 1 && identifier.startsWith("0") && /^[0-9]+$/u.test(identifier));
7907
7968
  }) ? "next" : "latest";
7908
7969
  }
7909
7970
  function resolveUpdateTarget(version) {
7910
- return `@fml-inc/fml@${resolveUpdateChannel(version)}`;
7971
+ return `${PACKAGE_NAME}@${resolveUpdateChannel(version)}`;
7911
7972
  }
7912
7973
  function createUpdateEnvironment(env) {
7913
7974
  const updateEnv = { ...env };
@@ -7918,6 +7979,19 @@ function createUpdateEnvironment(env) {
7918
7979
  }
7919
7980
  return updateEnv;
7920
7981
  }
7982
+ function parseAvailableVersion(output) {
7983
+ let response;
7984
+ try {
7985
+ response = JSON.parse(output);
7986
+ } catch {
7987
+ throw new Error("Could not read the available FML version from npm.");
7988
+ }
7989
+ const version = Array.isArray(response) && response.length === 1 ? response[0] : response;
7990
+ if (typeof version !== "string" || !parseVersion(version)) {
7991
+ throw new Error("Could not read the available FML version from npm.");
7992
+ }
7993
+ return version;
7994
+ }
7921
7995
  function formatUpdateError(err) {
7922
7996
  if (!(err instanceof Error)) return String(err);
7923
7997
  const stderr = err.stderr;
@@ -7940,18 +8014,52 @@ async function handleUpdate(overrides = {}) {
7940
8014
  const channel = resolveUpdateChannel(dependencies.currentVersion);
7941
8015
  const target2 = resolveUpdateTarget(dependencies.currentVersion);
7942
8016
  dependencies.log(`Current version: ${dependencies.currentVersion}`);
7943
- dependencies.log(`Updating FML from the ${channel} channel...
7944
- `);
7945
8017
  try {
7946
8018
  const npm = dependencies.resolveBin("npm");
7947
8019
  if (!npm) throw new Error("npm was not found on PATH");
7948
- dependencies.execBinSync(npm, ["install", "--global", target2], {
7949
- timeout: 12e4,
7950
- env: createUpdateEnvironment(dependencies.env)
7951
- });
7952
- dependencies.log(`
7953
- FML update complete (${channel} channel).`);
7954
- dependencies.log("Run `fml setup` to refresh integrations.");
8020
+ const updateEnv = createUpdateEnvironment(dependencies.env);
8021
+ const availableVersion = parseAvailableVersion(
8022
+ dependencies.execBinSync(npm, ["view", target2, "version", "--json"], {
8023
+ timeout: UPDATE_TIMEOUT_MS,
8024
+ env: updateEnv
8025
+ })
8026
+ );
8027
+ if (compareVersions(availableVersion, dependencies.currentVersion) <= 0) {
8028
+ dependencies.log(
8029
+ `FML is already up to date (${dependencies.currentVersion}).`
8030
+ );
8031
+ return;
8032
+ }
8033
+ dependencies.log(
8034
+ `Updating FML from ${dependencies.currentVersion} to ${availableVersion} on the ${channel} channel...
8035
+ `
8036
+ );
8037
+ dependencies.execBinSync(
8038
+ npm,
8039
+ ["install", "--global", `${PACKAGE_NAME}@${availableVersion}`],
8040
+ { timeout: UPDATE_TIMEOUT_MS, env: updateEnv }
8041
+ );
8042
+ dependencies.log(
8043
+ `
8044
+ FML updated from ${dependencies.currentVersion} to ${availableVersion}. Refreshing setup...`
8045
+ );
8046
+ try {
8047
+ const fml = dependencies.resolveBin("fml");
8048
+ if (!fml) throw new Error("Updated FML was not found on PATH");
8049
+ dependencies.execBinSync(fml, ["setup"], {
8050
+ timeout: SETUP_TIMEOUT_MS,
8051
+ stdio: "inherit"
8052
+ });
8053
+ dependencies.log("FML setup complete.");
8054
+ } catch (err) {
8055
+ dependencies.captureException(err);
8056
+ dependencies.error(
8057
+ "FML updated, but setup failed:",
8058
+ formatUpdateError(err)
8059
+ );
8060
+ dependencies.error("Run `fml setup` to finish refreshing FML.");
8061
+ dependencies.exit(1);
8062
+ }
7955
8063
  } catch (err) {
7956
8064
  dependencies.captureException(err);
7957
8065
  dependencies.error("Update failed:", formatUpdateError(err));
@@ -8929,7 +9037,7 @@ async function handleConfigDetail(opts) {
8929
9037
  // src/commands/tools.ts
8930
9038
  import { readFileSync } from "fs";
8931
9039
  import path29 from "path";
8932
- var pluginVersion = true ? "0.8.1+532464ef" : void 0;
9040
+ var pluginVersion = true ? "0.8.2-rc.2+e2bf128f" : void 0;
8933
9041
  async function getApi() {
8934
9042
  const api = await getAuthenticatedClient();
8935
9043
  if (!api) {
@@ -9086,7 +9194,7 @@ if (process.argv.length <= 2 || process.argv.includes("--help") || process.argv.
9086
9194
  printBanner();
9087
9195
  }
9088
9196
  var program = new Command().name("fml").description("FML CLI and agent tools").version(
9089
- true ? "0.8.1+532464ef" : "dev"
9197
+ true ? "0.8.2-rc.2+e2bf128f" : "dev"
9090
9198
  );
9091
9199
  function formatCommandInventory(cmd, prefix = "") {
9092
9200
  const name = prefix ? `${prefix} ${cmd.name()}` : cmd.name();
@@ -9120,7 +9228,7 @@ program.command("install").description("Register FML agent integrations and the
9120
9228
  program.command("uninstall").description("Remove FML agent integrations and optionally local data").option("--purge", "Also remove all data, logs, and auth tokens").option("-y, --yes", "Skip the purge confirmation prompt").action(
9121
9229
  (opts) => handleUninstall({ purge: opts.purge, assumeYes: opts.yes })
9122
9230
  );
9123
- program.command("update").description("Update fml from its release channel").action(() => handleUpdate());
9231
+ program.command("update").description("Update fml when a newer release is available and refresh setup").action(() => handleUpdate());
9124
9232
  program.command("login").description("Sign in to your FML account").option("--device", "Use device authorization flow (no browser needed)").option(
9125
9233
  "--service-token",
9126
9234
  "Sign in with an org service refresh token (prompts for fml_srt_*)"
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  hookCaptureIsDisabled
4
- } from "./chunk-ENW2GJNO.js";
4
+ } from "./chunk-UZG65JUB.js";
5
5
  import {
6
6
  getActiveHookDestinationBinding
7
- } from "./chunk-DZKYW327.js";
7
+ } from "./chunk-E6YIJCIE.js";
8
8
  import {
9
9
  SHELL_TOOL_NAMES,
10
10
  createHookInboxEntry,
@@ -12,7 +12,7 @@ import {
12
12
  normalizeObserverHookCapture,
13
13
  persistHookInboxEntry,
14
14
  readObserverAuthToken
15
- } from "./chunk-KBT5RMAU.js";
15
+ } from "./chunk-F4A2POJX.js";
16
16
  import {
17
17
  resolveRepositoryRootFromCwd,
18
18
  resolveRepositorySlugFromCwd
@@ -23,7 +23,7 @@ import {
23
23
  FML_OBSERVER_AUTH_TOKEN_FILE,
24
24
  FML_OBSERVER_ENDPOINT_FILE,
25
25
  getValidToken
26
- } from "./chunk-A6HAEVJX.js";
26
+ } from "./chunk-TNJVAET3.js";
27
27
  import "./chunk-MLKGABMK.js";
28
28
 
29
29
  // src/hooks/handler.ts
@@ -46,6 +46,7 @@ var MODEL_CONTEXT_GUIDANCE = "If this FML context materially informs your work,
46
46
  var CONTEXT_GUIDANCE_SEPARATOR = "\n\n";
47
47
  var MAX_PROMPT_CHARS = 2e4;
48
48
  var STATE_MAX_AGE_MS = 30 * 24 * 60 * 60 * 1e3;
49
+ var INJECTION_ID_VERSION = "v1";
49
50
  var EDIT_TOOL_NAMES = /* @__PURE__ */ new Set([
50
51
  "apply_patch",
51
52
  "edit",
@@ -58,6 +59,10 @@ var READ_TOOL_NAMES = /* @__PURE__ */ new Set(["read", "read_file"]);
58
59
  function sameDestination(left, right) {
59
60
  return left.environment === right.environment && left.targetUrl === right.targetUrl && left.destinationIdentity === right.destinationIdentity;
60
61
  }
62
+ function hookContextInjectionId(target2, syncId) {
63
+ const digest = createHash("sha256").update(`${INJECTION_ID_VERSION}\0${target2}\0${syncId}`).digest("base64url");
64
+ return `${INJECTION_ID_VERSION}_${digest}`;
65
+ }
61
66
  function markerPath(stateDir, kind, value) {
62
67
  const digest = createHash("sha256").update(value).digest("hex");
63
68
  return path.join(stateDir, kind, digest);
@@ -160,6 +165,8 @@ function buildServerHookContextRequest(target2, event, stateDir = FML_HOOK_CONTE
160
165
  const base = {
161
166
  repository: event.repository,
162
167
  sessionId: event.sessionId,
168
+ target: target2,
169
+ injectionId: hookContextInjectionId(target2, event.syncId),
163
170
  nowMs: event.timestampMs
164
171
  };
165
172
  if (event.eventType === "SessionStart") {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  createFmlClient,
4
4
  getAuthenticatedClient
5
- } from "../chunk-R45CWWZO.js";
5
+ } from "../chunk-26RJC76L.js";
6
6
  import {
7
7
  resolveRepoFromCwd
8
8
  } from "../chunk-7V7G7NVF.js";
@@ -17,7 +17,7 @@ import {
17
17
  getValidToken,
18
18
  initSentry,
19
19
  readTokens
20
- } from "../chunk-A6HAEVJX.js";
20
+ } from "../chunk-TNJVAET3.js";
21
21
  import "../chunk-MLKGABMK.js";
22
22
 
23
23
  // src/mcp/server.ts
@@ -6,11 +6,11 @@ import {
6
6
  observerLeaseIsOwned,
7
7
  removeObserverStateIfOwned,
8
8
  updateObserverState
9
- } from "./chunk-7DWFJENY.js";
9
+ } from "./chunk-3WDAKM5B.js";
10
10
  import {
11
11
  createHookSyncLoop,
12
12
  getActiveHookDestinationBinding
13
- } from "./chunk-DZKYW327.js";
13
+ } from "./chunk-E6YIJCIE.js";
14
14
  import {
15
15
  OBSERVER_PROTOCOL_VERSION,
16
16
  OBSERVER_SERVICE_NAME,
@@ -25,15 +25,15 @@ import {
25
25
  parseHookInboxMetadata,
26
26
  readHookInboxStatusAsync,
27
27
  retireHookInboxEntry
28
- } from "./chunk-KBT5RMAU.js";
28
+ } from "./chunk-F4A2POJX.js";
29
29
  import "./chunk-7V7G7NVF.js";
30
30
  import {
31
31
  ObserverSyncCycleAbortedError,
32
32
  runObserverSyncCycleSubprocess
33
- } from "./chunk-3KISRT57.js";
33
+ } from "./chunk-IZH4MDS4.js";
34
34
  import {
35
35
  createCliRawSync
36
- } from "./chunk-YSU5CS2V.js";
36
+ } from "./chunk-UGUYQVUW.js";
37
37
  import {
38
38
  FML_OBSERVER_AUTH_TOKEN_FILE,
39
39
  FML_OBSERVER_ENDPOINT_FILE,
@@ -50,7 +50,7 @@ import {
50
50
  getSyncDestinationAuthBinding,
51
51
  getValidToken,
52
52
  observerOnlyOverrideWarning
53
- } from "./chunk-A6HAEVJX.js";
53
+ } from "./chunk-TNJVAET3.js";
54
54
  import "./chunk-MLKGABMK.js";
55
55
 
56
56
  // src/observer-server.ts
@@ -1239,7 +1239,7 @@ var hookRejectionStatus = () => ({
1239
1239
  ...lastRejectedReason !== void 0 ? { lastRejectedReason } : {},
1240
1240
  ...lastRejectedTarget !== void 0 ? { lastRejectedTarget } : {}
1241
1241
  });
1242
- var packageVersion = true ? "0.8.1+532464ef" : "dev";
1242
+ var packageVersion = true ? "0.8.2-rc.2+e2bf128f" : "dev";
1243
1243
  var health = () => ({
1244
1244
  status: "ok",
1245
1245
  service: OBSERVER_SERVICE_NAME,
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runObserverSyncCycle
4
- } from "./chunk-3KISRT57.js";
5
- import "./chunk-YSU5CS2V.js";
6
- import "./chunk-A6HAEVJX.js";
4
+ } from "./chunk-IZH4MDS4.js";
5
+ import "./chunk-UGUYQVUW.js";
6
+ import "./chunk-TNJVAET3.js";
7
7
  import "./chunk-MLKGABMK.js";
8
8
 
9
9
  // src/sync-cycle.ts
@@ -10,7 +10,7 @@ import {
10
10
  setSelectedOrg,
11
11
  storeServiceRefreshToken,
12
12
  writeTokens
13
- } from "./chunk-A6HAEVJX.js";
13
+ } from "./chunk-TNJVAET3.js";
14
14
  import "./chunk-MLKGABMK.js";
15
15
  export {
16
16
  SERVICE_TOKEN_LOGIN_USER_ID,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fml-inc/fml",
3
- "version": "0.8.1",
3
+ "version": "0.8.2-rc.2",
4
4
  "description": "FML CLI and agent tools",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "type": "module",