@fml-inc/fml 0.8.10 → 0.8.11-rc.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
  {
2
2
  "name": "fml",
3
- "version": "0.8.10",
3
+ "version": "0.8.11-rc.1",
4
4
  "description": "FML agent tools for Claude Code",
5
5
  "mcpServers": {
6
6
  "fml": {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveRepoFromCwdAsync
3
- } from "./chunk-7V7G7NVF.js";
3
+ } from "./chunk-EX5J3MPG.js";
4
4
  import {
5
5
  getActiveEnv,
6
6
  getSiteUrlForConvexUrl,
@@ -373,8 +373,9 @@ async function prepareHookEvent(record, signal) {
373
373
  return { record, repositoryInfo, ...bounded };
374
374
  }
375
375
  async function repositoryForRecord(record, signal) {
376
- if (record.repository) return { repo: record.repository, branch: null };
377
- return record.cwd ? await abortable(resolveRepoFromCwdAsync(record.cwd, signal), signal) : null;
376
+ if (record.target === "pi" && !record.repository) return null;
377
+ const liveRepository = record.cwd ? await abortable(resolveRepoFromCwdAsync(record.cwd, signal), signal) : null;
378
+ return record.repository ? { repo: record.repository, branch: liveRepository?.branch ?? null } : liveRepository;
378
379
  }
379
380
  function hookSessionRow(events) {
380
381
  const records = events.map((event) => event.record);
@@ -1,3 +1,6 @@
1
+ import {
2
+ canonicalGitHubRepository
3
+ } from "./chunk-CSOFP7MT.js";
1
4
  import {
2
5
  FML_HOOK_INBOX_DIR,
3
6
  FML_OBSERVER_LOCK_FILE,
@@ -623,10 +626,12 @@ var HOOK_NORMALIZATION_CAPABILITIES = Object.freeze([
623
626
  function parseHookCaptureRequest(value) {
624
627
  if (!isRecord(value) || !isHookTarget(value.target)) return null;
625
628
  if (!isRecord(value.payload)) return null;
629
+ const repository = typeof value.repository === "string" && /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u.test(value.repository) ? canonicalGitHubRepository(`https://github.com/${value.repository}`) : null;
626
630
  return {
627
631
  target: value.target,
628
632
  payload: value.payload,
629
- ...typeof value.cwd === "string" && value.cwd.length > 0 ? { cwd: value.cwd } : {}
633
+ ...typeof value.cwd === "string" && value.cwd.length > 0 ? { cwd: value.cwd } : {},
634
+ ...repository ? { repository } : {}
630
635
  };
631
636
  }
632
637
  function normalizeTargetHookCapture(request, context) {
@@ -653,6 +658,7 @@ function normalizeObserverHookCapture(request, options = {}) {
653
658
  cwd: request.cwd
654
659
  });
655
660
  if (!normalized) return null;
661
+ const repository = options.repository ?? request.repository;
656
662
  return {
657
663
  syncId: options.syncId?.() ?? hookSyncId(
658
664
  request,
@@ -666,7 +672,7 @@ function normalizeObserverHookCapture(request, options = {}) {
666
672
  target: request.target,
667
673
  payload: request.payload,
668
674
  ...normalized.cwd ? { cwd: normalized.cwd } : {},
669
- ...options.repository ? { repository: options.repository } : {},
675
+ ...repository ? { repository } : {},
670
676
  ...normalized.toolName ? { toolName: normalized.toolName } : {},
671
677
  ...normalized.userPrompt ? { userPrompt: normalized.userPrompt } : {},
672
678
  ...normalized.filePath ? { filePath: normalized.filePath } : {},
@@ -53,7 +53,7 @@ var PACKAGE_NAME = "@fml-inc/fml";
53
53
  var UPDATE_TIMEOUT_MS = 12e4;
54
54
  var SETUP_TIMEOUT_MS = 3e5;
55
55
  function getCurrentVersion() {
56
- return true ? "0.8.10+45913c27" : "unknown";
56
+ return true ? "0.8.11-rc.1+80d59e99" : "unknown";
57
57
  }
58
58
  function parseVersion(version) {
59
59
  const match = SEMVER_PATTERN.exec(version);
@@ -0,0 +1,67 @@
1
+ // ../../packages/shared/src/github-repository.ts
2
+ var MAX_REPOSITORY_BYTES = 201;
3
+ var UTF8_ENCODER = new TextEncoder();
4
+ function utf8Bytes(value) {
5
+ return UTF8_ENCODER.encode(value).byteLength;
6
+ }
7
+ function githubRepositoryPath(pathname) {
8
+ const parts = pathname.replace(/^\/+|\/+$/g, "").split("/");
9
+ if (parts.length !== 2) return null;
10
+ const owner = parts[0];
11
+ const repository = parts[1]?.replace(/\.git$/i, "");
12
+ if (!owner || !repository) return null;
13
+ const segmentPattern = /^[A-Za-z0-9_.-]+$/;
14
+ if (!segmentPattern.test(owner) || !segmentPattern.test(repository)) {
15
+ return null;
16
+ }
17
+ const canonical = `${owner.toLowerCase()}/${repository.toLowerCase()}`;
18
+ if (canonical.startsWith("./") || canonical.startsWith("../") || repository === "." || repository === ".." || repository.toLowerCase().endsWith(".git")) {
19
+ return null;
20
+ }
21
+ return utf8Bytes(canonical) <= MAX_REPOSITORY_BYTES ? canonical : null;
22
+ }
23
+ function canonicalGitHubRepository(remote) {
24
+ const trimmed = remote.trim();
25
+ if (!trimmed || trimmed.includes("\0")) return null;
26
+ const scp = trimmed.match(/^git@github\.com:([^?#]+)$/i);
27
+ if (scp?.[1]) return githubRepositoryPath(scp[1]);
28
+ let url;
29
+ try {
30
+ url = new URL(trimmed);
31
+ } catch {
32
+ return null;
33
+ }
34
+ if (url.hostname.toLowerCase() !== "github.com") return null;
35
+ if (url.search || url.hash || url.password || url.port) return null;
36
+ if (url.protocol === "https:" || url.protocol === "http:") {
37
+ if (url.username) return null;
38
+ } else if (url.protocol === "ssh:") {
39
+ if (url.username && url.username !== "git") return null;
40
+ } else {
41
+ return null;
42
+ }
43
+ return githubRepositoryPath(url.pathname);
44
+ }
45
+
46
+ // src/package-root.ts
47
+ import fs from "fs";
48
+ import path from "path";
49
+ import { fileURLToPath } from "url";
50
+ function resolvePackageRoot(startDir = path.dirname(fileURLToPath(import.meta.url))) {
51
+ let directory = startDir;
52
+ while (true) {
53
+ if (fs.existsSync(path.join(directory, "package.json")) && fs.existsSync(path.join(directory, "bin"))) {
54
+ return directory;
55
+ }
56
+ const parent = path.dirname(directory);
57
+ if (parent === directory) {
58
+ throw new Error(`Could not resolve FML package root from ${startDir}`);
59
+ }
60
+ directory = parent;
61
+ }
62
+ }
63
+
64
+ export {
65
+ canonicalGitHubRepository,
66
+ resolvePackageRoot
67
+ };
@@ -72,11 +72,11 @@ function gitAsync(cwd, args, signal) {
72
72
  }
73
73
  function repositorySlug(remote) {
74
74
  const ssh = remote.match(/^[^@]+@[^:]+:([^/]+\/[^/]+?)(?:\.git)?$/);
75
- if (ssh?.[1]) return ssh[1];
75
+ if (ssh?.[1]) return ssh[1].toLowerCase();
76
76
  try {
77
77
  const url = new URL(remote);
78
78
  const slug = url.pathname.replace(/^\/+|\/+$/g, "").replace(/\.git$/, "");
79
- return /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(slug) ? slug : null;
79
+ return /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(slug) ? slug.toLowerCase() : null;
80
80
  } catch {
81
81
  return null;
82
82
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveRepoFromCwd
3
- } from "./chunk-7V7G7NVF.js";
3
+ } from "./chunk-EX5J3MPG.js";
4
4
  import {
5
5
  CONVEX_URL,
6
6
  getActiveEnv,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  runRawSyncOnce
3
- } from "./chunk-PTDADW47.js";
3
+ } from "./chunk-VFZWTVPD.js";
4
4
  import {
5
5
  resolvePackageRoot
6
- } from "./chunk-F57IFY3K.js";
6
+ } from "./chunk-CSOFP7MT.js";
7
7
 
8
8
  // src/observer/sync-cycle.ts
9
9
  import { fork } from "child_process";
@@ -1,3 +1,6 @@
1
+ import {
2
+ canonicalGitHubRepository
3
+ } from "./chunk-CSOFP7MT.js";
1
4
  import {
2
5
  FML_INSTALLATION_ID_FILE,
3
6
  FML_OBSERVER_DIR,
@@ -326,65 +329,18 @@ function readClaudeMachineId(configFile) {
326
329
  // ../../packages/agent-targets/src/artifacts/repository-context.ts
327
330
  import { createHash as createHash2 } from "crypto";
328
331
  import fs5 from "fs";
329
-
330
- // ../../packages/shared/src/github-repository.ts
331
- var MAX_REPOSITORY_BYTES = 201;
332
- var UTF8_ENCODER = new TextEncoder();
333
- function utf8Bytes(value) {
334
- return UTF8_ENCODER.encode(value).byteLength;
335
- }
336
- function githubRepositoryPath(pathname) {
337
- const parts = pathname.replace(/^\/+|\/+$/g, "").split("/");
338
- if (parts.length !== 2) return null;
339
- const owner = parts[0];
340
- const repository = parts[1]?.replace(/\.git$/i, "");
341
- if (!owner || !repository) return null;
342
- const segmentPattern = /^[A-Za-z0-9_.-]+$/;
343
- if (!segmentPattern.test(owner) || !segmentPattern.test(repository)) {
344
- return null;
345
- }
346
- const canonical = `${owner.toLowerCase()}/${repository.toLowerCase()}`;
347
- if (canonical.startsWith("./") || canonical.startsWith("../") || repository === "." || repository === ".." || repository.toLowerCase().endsWith(".git")) {
348
- return null;
349
- }
350
- return utf8Bytes(canonical) <= MAX_REPOSITORY_BYTES ? canonical : null;
351
- }
352
- function canonicalGitHubRepository(remote) {
353
- const trimmed = remote.trim();
354
- if (!trimmed || trimmed.includes("\0")) return null;
355
- const scp = trimmed.match(/^git@github\.com:([^?#]+)$/i);
356
- if (scp?.[1]) return githubRepositoryPath(scp[1]);
357
- let url;
358
- try {
359
- url = new URL(trimmed);
360
- } catch {
361
- return null;
362
- }
363
- if (url.hostname.toLowerCase() !== "github.com") return null;
364
- if (url.search || url.hash || url.password || url.port) return null;
365
- if (url.protocol === "https:" || url.protocol === "http:") {
366
- if (url.username) return null;
367
- } else if (url.protocol === "ssh:") {
368
- if (url.username && url.username !== "git") return null;
369
- } else {
370
- return null;
371
- }
372
- return githubRepositoryPath(url.pathname);
373
- }
374
-
375
- // ../../packages/agent-targets/src/artifacts/repository-context.ts
376
332
  var MAX_ARTIFACT_CONTEXT_PREFIX_BYTES = 256 * 1024;
377
333
  var MAX_ARTIFACT_CONTEXT_RECORDS = 64;
378
334
  var ARTIFACT_CONTEXT_READ_CHUNK_BYTES = 32 * 1024;
379
335
  var MAX_CWD_BYTES = 4096;
380
336
  var MAX_BRANCH_BYTES = 1024;
381
- function utf8Bytes2(value) {
337
+ function utf8Bytes(value) {
382
338
  return Buffer.byteLength(value, "utf8");
383
339
  }
384
340
  function boundedOptionalString(value, maxBytes) {
385
341
  if (typeof value !== "string") return void 0;
386
342
  const trimmed = value.trim();
387
- if (!trimmed || new RegExp("\\p{Cc}", "u").test(trimmed) || utf8Bytes2(trimmed) > maxBytes) {
343
+ if (!trimmed || new RegExp("\\p{Cc}", "u").test(trimmed) || utf8Bytes(trimmed) > maxBytes) {
388
344
  return void 0;
389
345
  }
390
346
  return trimmed;
@@ -849,37 +805,63 @@ var miniSweAgentArtifactDiscovery = Object.freeze({
849
805
 
850
806
  // ../../packages/agent-targets/src/artifacts/targets/pi.ts
851
807
  import path16 from "path";
852
- var PI_SKIP_DIRS = /* @__PURE__ */ new Set(["subagent-artifacts"]);
853
- function piTranscriptCandidate(sourcePath, context) {
854
- const fallbackObservedAtMs = (context.nowMs ?? Date.now)();
855
- for (const record of readJsonlContextRecords(sourcePath)) {
856
- if (record.type !== "session") continue;
857
- const sessionId = typeof record.id === "string" && record.id.trim() ? record.id.trim() : null;
858
- if (typeof record.cwd !== "string" || !record.cwd.trim()) {
859
- return transcriptCandidate({
860
- targetId: "pi",
861
- sourcePath,
862
- sessionId
863
- });
808
+
809
+ // ../../packages/agent-targets/src/artifacts/pi-repository-origin.ts
810
+ import { z } from "zod";
811
+ var PI_REPOSITORY_ORIGIN_ENTRY_TYPE = "fml-repository-origin";
812
+ var RepositorySlugSchema = z.string().regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u).transform((slug) => canonicalGitHubRepository(`https://github.com/${slug}`)).pipe(z.string());
813
+ var PiRepositoryOriginDataSchema = z.object({
814
+ version: z.literal(1),
815
+ repository: RepositorySlugSchema.nullable(),
816
+ cwd: z.string().min(1).refine(
817
+ (cwd) => cwd.trim().length > 0 && !new RegExp("\\p{Cc}", "u").test(cwd) && Buffer.byteLength(cwd, "utf8") <= 4096
818
+ )
819
+ });
820
+ var NativeOriginMarkerSchema = z.object({
821
+ customType: z.literal(PI_REPOSITORY_ORIGIN_ENTRY_TYPE)
822
+ });
823
+ var NativeOriginEntrySchema = z.object({
824
+ type: z.literal("custom"),
825
+ customType: z.literal(PI_REPOSITORY_ORIGIN_ENTRY_TYPE),
826
+ timestamp: z.iso.datetime({ offset: true }).transform((value) => Date.parse(value)).pipe(z.number().int().nonnegative()),
827
+ data: PiRepositoryOriginDataSchema
828
+ });
829
+ function readPiRepositoryOrigin(entries) {
830
+ let snapshot;
831
+ for (const entry of entries) {
832
+ if (!NativeOriginMarkerSchema.safeParse(entry).success) continue;
833
+ const parsed = NativeOriginEntrySchema.safeParse(entry);
834
+ if (!parsed.success) return { status: "invalid" };
835
+ const next = { ...parsed.data.data, observedAtMs: parsed.data.timestamp };
836
+ if (snapshot && (snapshot.repository !== next.repository || snapshot.cwd !== next.cwd || snapshot.observedAtMs !== next.observedAtMs)) {
837
+ return { status: "invalid" };
864
838
  }
865
- const origin = context.resolveGitHubOrigin?.(record.cwd);
866
- return transcriptCandidate({
867
- targetId: "pi",
868
- sourcePath,
869
- sessionId,
870
- repositoryObservations: origin ? [
871
- repositoryObservation({
872
- repository: origin.repository,
873
- source: "git_origin",
874
- observedAtMs: fallbackObservedAtMs,
875
- cwd: record.cwd,
876
- branch: origin.branch,
877
- commitHash: origin.commitHash
878
- })
879
- ] : []
880
- });
839
+ snapshot = next;
881
840
  }
882
- return transcriptCandidate({ targetId: "pi", sourcePath });
841
+ return snapshot ? { status: "captured", snapshot } : { status: "absent" };
842
+ }
843
+
844
+ // ../../packages/agent-targets/src/artifacts/targets/pi.ts
845
+ var PI_SKIP_DIRS = /* @__PURE__ */ new Set(["subagent-artifacts"]);
846
+ function piTranscriptCandidate(sourcePath) {
847
+ const records = readJsonlContextRecords(sourcePath);
848
+ const header = records.find((record) => record.type === "session");
849
+ const sessionId = typeof header?.id === "string" && header.id.trim() ? header.id.trim() : null;
850
+ const evidence = readPiRepositoryOrigin(records);
851
+ const snapshot = evidence.status === "captured" ? evidence.snapshot : null;
852
+ return transcriptCandidate({
853
+ targetId: "pi",
854
+ sourcePath,
855
+ sessionId,
856
+ repositoryObservations: snapshot?.repository ? [
857
+ repositoryObservation({
858
+ repository: snapshot.repository,
859
+ source: "git_origin",
860
+ observedAtMs: snapshot.observedAtMs,
861
+ cwd: snapshot.cwd
862
+ })
863
+ ] : []
864
+ });
883
865
  }
884
866
  var piArtifactDiscovery = Object.freeze({
885
867
  targetId: "pi",
@@ -890,7 +872,7 @@ var piArtifactDiscovery = Object.freeze({
890
872
  maxDepth: 8,
891
873
  includeFile: (filePath) => filePath.endsWith(".jsonl"),
892
874
  skipDirs: PI_SKIP_DIRS
893
- }).map((sourcePath) => piTranscriptCandidate(sourcePath, context));
875
+ }).map((sourcePath) => piTranscriptCandidate(sourcePath));
894
876
  }
895
877
  });
896
878
 
package/dist/cli.js CHANGED
@@ -2,12 +2,12 @@
2
2
  import {
3
3
  createFmlClient,
4
4
  getAuthenticatedClient
5
- } from "./chunk-GDOXY4W2.js";
5
+ } from "./chunk-IUFDFBU7.js";
6
6
  import {
7
7
  execBinSync,
8
8
  handleUpdate,
9
9
  resolveBin
10
- } from "./chunk-U4BM27VN.js";
10
+ } from "./chunk-B46WIVL7.js";
11
11
  import {
12
12
  openObserverLog,
13
13
  readJsonFile,
@@ -29,8 +29,8 @@ import {
29
29
  readObserverAuthToken,
30
30
  readObserverStateStatus,
31
31
  removeObserverStateIfOwned
32
- } from "./chunk-XB7EIDWY.js";
33
- import "./chunk-7V7G7NVF.js";
32
+ } from "./chunk-5VP4C72Z.js";
33
+ import "./chunk-EX5J3MPG.js";
34
34
  import {
35
35
  claudeConfigDirectory,
36
36
  createCliRawSync,
@@ -38,10 +38,10 @@ import {
38
38
  geminiConfigDirectory,
39
39
  initializeSyncSettings,
40
40
  runRawSyncOnce
41
- } from "./chunk-PTDADW47.js";
41
+ } from "./chunk-VFZWTVPD.js";
42
42
  import {
43
43
  resolvePackageRoot
44
- } from "./chunk-F57IFY3K.js";
44
+ } from "./chunk-CSOFP7MT.js";
45
45
  import {
46
46
  DEFAULT_PROD_URL,
47
47
  DEFAULT_TARGET_NAME,
@@ -132,7 +132,7 @@ var STOP_TIMEOUT_MS = 5e3;
132
132
  var FORCE_STOP_TIMEOUT_MS = 2e3;
133
133
  var POLL_INTERVAL_MS = 50;
134
134
  function expectedObserverVersion() {
135
- return true ? "0.8.10+45913c27" : "dev";
135
+ return true ? "0.8.11-rc.1+80d59e99" : "dev";
136
136
  }
137
137
  function delay(ms) {
138
138
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -9725,7 +9725,7 @@ async function handleConfigDetail(opts) {
9725
9725
  // src/commands/tools.ts
9726
9726
  import { readFileSync } from "fs";
9727
9727
  import path31 from "path";
9728
- var pluginVersion = true ? "0.8.10+45913c27" : void 0;
9728
+ var pluginVersion = true ? "0.8.11-rc.1+80d59e99" : void 0;
9729
9729
  async function getApi() {
9730
9730
  const api = await getAuthenticatedClient();
9731
9731
  if (!api) {
@@ -9882,7 +9882,7 @@ if (process.argv.length <= 2 || process.argv.includes("--help") || process.argv.
9882
9882
  printBanner();
9883
9883
  }
9884
9884
  var program = new Command().name("fml").description("FML CLI and agent tools").version(
9885
- true ? "0.8.10+45913c27" : "dev"
9885
+ true ? "0.8.11-rc.1+80d59e99" : "dev"
9886
9886
  );
9887
9887
  function formatCommandInventory(cmd, prefix = "") {
9888
9888
  const name = prefix ? `${prefix} ${cmd.name()}` : cmd.name();
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-2ZCXGYI5.js";
6
6
  import {
7
7
  getActiveHookDestinationBinding
8
- } from "./chunk-WE7MAWAW.js";
8
+ } from "./chunk-4YLCUJ6C.js";
9
9
  import {
10
10
  HookInboxCapacityError,
11
11
  OBSERVER_HEARTBEAT_STALE_MS,
@@ -19,14 +19,14 @@ import {
19
19
  readObserverAuthToken,
20
20
  readObserverState,
21
21
  recordHookInboxLoss
22
- } from "./chunk-XB7EIDWY.js";
22
+ } from "./chunk-5VP4C72Z.js";
23
23
  import {
24
24
  resolveRepositoryRootFromCwd,
25
25
  resolveRepositorySlugFromCwd
26
- } from "./chunk-7V7G7NVF.js";
26
+ } from "./chunk-EX5J3MPG.js";
27
27
  import {
28
28
  resolvePackageRoot
29
- } from "./chunk-F57IFY3K.js";
29
+ } from "./chunk-CSOFP7MT.js";
30
30
  import {
31
31
  FML_HOOK_CONTEXT_STATE_DIR,
32
32
  FML_HOOK_INBOX_DIR,
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  createFmlClient,
4
4
  getAuthenticatedClient
5
- } from "../chunk-GDOXY4W2.js";
5
+ } from "../chunk-IUFDFBU7.js";
6
6
  import {
7
7
  resolveRepoFromCwd
8
- } from "../chunk-7V7G7NVF.js";
8
+ } from "../chunk-EX5J3MPG.js";
9
9
  import {
10
10
  FML_DATA_DIR,
11
11
  FML_LOG_DIR,
@@ -5,11 +5,11 @@ import {
5
5
  isWinShim,
6
6
  quoteWinArg,
7
7
  resolveBin
8
- } from "./chunk-U4BM27VN.js";
8
+ } from "./chunk-B46WIVL7.js";
9
9
  import {
10
10
  createHookSyncLoop,
11
11
  getActiveHookDestinationBinding
12
- } from "./chunk-WE7MAWAW.js";
12
+ } from "./chunk-4YLCUJ6C.js";
13
13
  import {
14
14
  OBSERVER_PROTOCOL_VERSION,
15
15
  OBSERVER_SERVICE_NAME,
@@ -30,17 +30,17 @@ import {
30
30
  removeObserverStateIfOwned,
31
31
  retireHookInboxEntry,
32
32
  updateObserverState
33
- } from "./chunk-XB7EIDWY.js";
34
- import "./chunk-7V7G7NVF.js";
33
+ } from "./chunk-5VP4C72Z.js";
34
+ import "./chunk-EX5J3MPG.js";
35
35
  import {
36
36
  ObserverSyncCycleAbortedError,
37
37
  runObserverSyncCycleSubprocess
38
- } from "./chunk-OUXFHL3I.js";
38
+ } from "./chunk-JK5JGPUN.js";
39
39
  import {
40
40
  createCliRawSync,
41
41
  invalidateCliRawSyncDiscoveryCache
42
- } from "./chunk-PTDADW47.js";
43
- import "./chunk-F57IFY3K.js";
42
+ } from "./chunk-VFZWTVPD.js";
43
+ import "./chunk-CSOFP7MT.js";
44
44
  import {
45
45
  FML_OBSERVER_AUTH_TOKEN_FILE,
46
46
  FML_OBSERVER_ENDPOINT_FILE,
@@ -1563,7 +1563,7 @@ var hookRejectionStatus = () => ({
1563
1563
  ...lastRejectedReason !== void 0 ? { lastRejectedReason } : {},
1564
1564
  ...lastRejectedTarget !== void 0 ? { lastRejectedTarget } : {}
1565
1565
  });
1566
- var packageVersion = true ? "0.8.10+45913c27" : "dev";
1566
+ var packageVersion = true ? "0.8.11-rc.1+80d59e99" : "dev";
1567
1567
  var health = () => ({
1568
1568
  status: "ok",
1569
1569
  service: OBSERVER_SERVICE_NAME,