@camstack/addon-post-analysis 0.1.12 → 0.1.13

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 (32) hide show
  1. package/dist/embedding-encoder/index.js +1 -1
  2. package/dist/embedding-encoder/index.mjs +1 -1
  3. package/dist/enrichment-engine/index.js +1 -1
  4. package/dist/enrichment-engine/index.mjs +1 -1
  5. package/dist/{index-BJKSB953.js → index-DjIIGJS2.js} +169 -6
  6. package/dist/index-DjIIGJS2.js.map +1 -0
  7. package/dist/{index-BThK2F-p.mjs → index-DnAXaymw.mjs} +169 -6
  8. package/dist/index-DnAXaymw.mjs.map +1 -0
  9. package/dist/pipeline-analytics/@mf-types.zip +0 -0
  10. package/dist/pipeline-analytics/__mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.mjs-p-Z3JTk9.mjs +19 -0
  11. package/dist/pipeline-analytics/__mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.mjs-BfmtcT51.mjs +15 -0
  12. package/dist/pipeline-analytics/_stub.js +1 -1
  13. package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-Vw8HvV_Q.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BDtqUbh1.mjs} +6 -6
  14. package/dist/pipeline-analytics/{hostInit-PQYMQJ_C.mjs → hostInit-CtfhvKwy.mjs} +6 -6
  15. package/dist/pipeline-analytics/{index-BSmxqDqD.mjs → index-BgDjUxfg.mjs} +1 -1
  16. package/dist/pipeline-analytics/{index-Bpv0NSqI.mjs → index-COebxMhm.mjs} +6466 -9848
  17. package/dist/pipeline-analytics/{index-D7qTzYFz.mjs → index-CzwXKSYE.mjs} +7059 -5702
  18. package/dist/pipeline-analytics/index.js +1 -1
  19. package/dist/pipeline-analytics/index.mjs +1 -1
  20. package/dist/pipeline-analytics/remoteEntry.js +1 -1
  21. package/dist/pipeline-analytics/schemas-ChN4Ih0h.mjs +3584 -0
  22. package/dist/recording/index.js +2 -2
  23. package/dist/recording/index.mjs +2 -2
  24. package/dist/{recording-coordinator-CvJtVs3m.mjs → recording-coordinator-CRJ4yA9t.mjs} +2 -2
  25. package/dist/{recording-coordinator-CvJtVs3m.mjs.map → recording-coordinator-CRJ4yA9t.mjs.map} +1 -1
  26. package/dist/{recording-coordinator-DH1gmm5G.js → recording-coordinator-UGTDbTdE.js} +2 -2
  27. package/dist/{recording-coordinator-DH1gmm5G.js.map → recording-coordinator-UGTDbTdE.js.map} +1 -1
  28. package/package.json +5 -5
  29. package/dist/index-BJKSB953.js.map +0 -1
  30. package/dist/index-BThK2F-p.mjs.map +0 -1
  31. package/dist/pipeline-analytics/__mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.mjs-ChoHjdk6.mjs +0 -17
  32. package/dist/pipeline-analytics/__mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.mjs-B9D0yX32.mjs +0 -15
@@ -8517,10 +8517,30 @@ const StatusSchema = object({
8517
8517
  }
8518
8518
  });
8519
8519
  const LinkStateSchema = _enum(["unlinked", "linked", "error"]);
8520
+ const ExportSetupFieldSchema = object({
8521
+ label: string(),
8522
+ value: string(),
8523
+ /** Mask the value by default + render a reveal toggle (client id, secrets). */
8524
+ secret: boolean().optional()
8525
+ });
8526
+ const ExportSetupSchema = object({
8527
+ /** A string to render as a scannable QR — HAP `X-HM://…` URI, a pairing URL, etc. Omitted when there's nothing to scan. */
8528
+ qr: string().optional(),
8529
+ /** Label/value rows shown with a copy button (HAP setup code, OAuth URLs, client id, linked-account count, …). */
8530
+ fields: array(ExportSetupFieldSchema).readonly().optional(),
8531
+ /** Free-form operator instructions rendered above the fields. */
8532
+ note: string().optional()
8533
+ });
8520
8534
  const DeviceExportStatusSchema = object({
8521
8535
  linkState: LinkStateSchema,
8522
8536
  exposedDeviceCount: number(),
8523
- error: string().optional()
8537
+ error: string().optional(),
8538
+ /**
8539
+ * Optional pairing/account info the panel renders in a generic
8540
+ * "Setup" section. Addon-agnostic — the addon id identifies the
8541
+ * export target, never an `ecosystem` key here.
8542
+ */
8543
+ setup: ExportSetupSchema.optional()
8524
8544
  });
8525
8545
  const DeviceKindSchema = string();
8526
8546
  const ExposedDeviceSchema = object({
@@ -11961,7 +11981,25 @@ const MeshStatusSchema = object({
11961
11981
  * doesn't rotate keys for the bound host. Operator-facing surface
11962
11982
  * for "your access expires on …" banners.
11963
11983
  */
11964
- keyExpiry: number().nullable()
11984
+ keyExpiry: number().nullable(),
11985
+ // ── Onboard-daemon handoff (Tailscale, generic slot) ────────────
11986
+ /**
11987
+ * When the provider runs its OWN mesh daemon (e.g. the Tailscale
11988
+ * client addon in `onboard` mode spawns a private `tailscaled`),
11989
+ * this carries the local control-socket path. Companion addons that
11990
+ * must drive the SAME daemon — chiefly `tailscale-ingress` for
11991
+ * Serve/Funnel — read it to point their CLI at the right socket
11992
+ * instead of the system default. Empty when the provider uses the
11993
+ * host's system daemon (or doesn't have the concept).
11994
+ */
11995
+ daemonSocket: string().optional(),
11996
+ /**
11997
+ * Path to the mesh CLI binary the provider downloaded for onboard
11998
+ * mode. Companion addons reuse it so they don't need a system
11999
+ * install when the operator chose a fully self-contained mesh.
12000
+ * Empty in host mode.
12001
+ */
12002
+ daemonCliPath: string().optional()
11965
12003
  });
11966
12004
  ({
11967
12005
  methods: {
@@ -12847,6 +12885,21 @@ const AddonAutoUpdateSchema = ChannelWithInheritSchema;
12847
12885
  const RestartAddonResultSchema = unknown();
12848
12886
  const InstallPackageResultSchema = unknown();
12849
12887
  const ReloadPackagesResultSchema = unknown();
12888
+ const UpdateFrameworkPackageResultSchema = object({
12889
+ packageName: string(),
12890
+ fromVersion: string(),
12891
+ toVersion: string(),
12892
+ /** Ms-epoch the server scheduled its self-restart. */
12893
+ restartingAt: number()
12894
+ });
12895
+ const FrameworkPackageStatusSchema = object({
12896
+ packageName: string(),
12897
+ currentVersion: string(),
12898
+ latestVersion: string().nullable(),
12899
+ hasUpdate: boolean(),
12900
+ /** Optional manifest description for the row tooltip. */
12901
+ description: string().optional()
12902
+ });
12850
12903
  const LogStreamEntrySchema = object({
12851
12904
  timestamp: string(),
12852
12905
  level: string(),
@@ -12906,13 +12959,29 @@ const CustomActionInputSchema = object({
12906
12959
  object({ query: string().optional() }),
12907
12960
  array(SearchResultSchema)
12908
12961
  ),
12962
+ /**
12963
+ * Available package updates for a node. `nodeId` omitted (or
12964
+ * `'hub'`) checks the hub's own installed packages; an agent
12965
+ * `nodeId` checks that agent's installed roster against npm
12966
+ * (the hub does the npm lookups + diff — agents stay npm-free).
12967
+ */
12909
12968
  listUpdates: method(
12910
- _void(),
12969
+ object({ nodeId: string().optional() }),
12911
12970
  array(PackageUpdateSchema).readonly(),
12912
12971
  { auth: "admin" }
12913
12972
  ),
12973
+ /**
12974
+ * Update one package on a node. `nodeId` omitted (or `'hub'`)
12975
+ * installs on the hub via npm; an agent `nodeId` makes the hub
12976
+ * pack the resolved version and push the tarball to that agent
12977
+ * (`$agent.deploy` + `$agent.reload`) — agents need no npm runtime.
12978
+ */
12914
12979
  updatePackage: method(
12915
- object({ name: string().min(1), version: string().optional() }),
12980
+ object({
12981
+ name: string().min(1),
12982
+ version: string().optional(),
12983
+ nodeId: string().optional()
12984
+ }),
12916
12985
  unknown(),
12917
12986
  { kind: "mutation", auth: "admin" }
12918
12987
  ),
@@ -12933,12 +13002,105 @@ const CustomActionInputSchema = object({
12933
13002
  object({ rolledBackTo: string().nullable() }),
12934
13003
  { kind: "mutation", auth: "admin" }
12935
13004
  ),
12936
- forceRefresh: method(_void(), unknown(), { kind: "mutation", auth: "admin" }),
13005
+ /** Re-check updates for a node, bypassing any cache. `nodeId`
13006
+ * omitted (or `'hub'`) refreshes the hub; an agent `nodeId`
13007
+ * re-checks that agent's roster. */
13008
+ forceRefresh: method(
13009
+ object({ nodeId: string().optional() }),
13010
+ unknown(),
13011
+ { kind: "mutation", auth: "admin" }
13012
+ ),
12937
13013
  restartServer: method(
12938
13014
  object({ confirm: literal(true) }),
12939
13015
  unknown(),
12940
13016
  { kind: "mutation", auth: "admin" }
12941
13017
  ),
13018
+ /**
13019
+ * Most-recent restart marker (kind / packageName / from→to versions
13020
+ * / requestedBy / requestedAt). Returns `null` when this process
13021
+ * didn't boot from a tracked restart, or when the
13022
+ * post-boot retention window (5 min) has elapsed.
13023
+ *
13024
+ * Drives the admin-UI reconnect overlay's success toast — the
13025
+ * `system.restart-completed` event itself is fired before the
13026
+ * client has time to re-subscribe, so the client queries this on
13027
+ * first reconnect instead.
13028
+ */
13029
+ getLastRestart: method(
13030
+ _void(),
13031
+ object({
13032
+ kind: _enum(["framework-update", "manual", "system"]),
13033
+ packageName: string().optional(),
13034
+ fromVersion: string().optional(),
13035
+ toVersion: string().optional(),
13036
+ requestedBy: string().optional(),
13037
+ requestedAt: number()
13038
+ }).nullable(),
13039
+ { auth: "admin" }
13040
+ ),
13041
+ /**
13042
+ * Snapshot of the framework packages installed under the hub's
13043
+ * `<appRoot>/node_modules/`. Each row carries the currently
13044
+ * installed version and (best-effort) the latest version
13045
+ * available on npm. Drives the admin-UI "System packages" panel.
13046
+ *
13047
+ * Spec: docs/superpowers/specs/2026-05-14-framework-live-update-design.md
13048
+ */
13049
+ listFrameworkPackages: method(
13050
+ _void(),
13051
+ array(FrameworkPackageStatusSchema).readonly(),
13052
+ { auth: "admin" }
13053
+ ),
13054
+ /**
13055
+ * Cluster-wide capability-provider discovery. Returns the list of
13056
+ * `{ addonId, mode, isActive }` tuples for whatever addon(s)
13057
+ * currently provide the requested capability across the cluster.
13058
+ *
13059
+ * Why this lives on `addons` (and not on a `capabilities` cap of
13060
+ * its own): the hub's main-process `CapabilityRegistry` already
13061
+ * aggregates registrations from every forked group-runner and
13062
+ * remote agent via Moleculer event propagation — there's no
13063
+ * cross-process registry mirror to build, just an introspection
13064
+ * shim.
13065
+ *
13066
+ * Use this from addon code when you need to know whether another
13067
+ * addon has registered a specific cap (e.g. `tailscale-ingress`
13068
+ * checking `tailscale-client` is up before calling `tailscale
13069
+ * serve`). Don't reach for `ctx.capabilities.getCollectionEntries`
13070
+ * — that reads the LOCAL registry of the calling addon's group
13071
+ * runner and never sees providers in other processes. See
13072
+ * `CLAUDE.md` → Critical rules → ctx.api vs ctx.capabilities.
13073
+ */
13074
+ listCapabilityProviders: method(
13075
+ object({ capName: string().min(1) }),
13076
+ array(object({
13077
+ addonId: string(),
13078
+ mode: _enum(["singleton", "collection"]),
13079
+ isActive: boolean()
13080
+ })).readonly()
13081
+ ),
13082
+ /**
13083
+ * Live-update one of the framework packages marked
13084
+ * `camstack.system: true` (`@camstack/types|kernel|core|sdk|ui-library`).
13085
+ * Runs `npm install --prefix <appRoot> <name>@<version> --no-save`,
13086
+ * writes a `.restart-pending` marker, emits `system.restarting`
13087
+ * and schedules a graceful process exit. The supervisor (Docker /
13088
+ * Electron / systemd) brings the hub back up; on first boot after
13089
+ * the restart the marker fires `system.restart-completed`.
13090
+ *
13091
+ * `version` defaults to `'latest'`. The allow-list of valid
13092
+ * `packageName` values is enforced server-side.
13093
+ *
13094
+ * Spec: docs/superpowers/specs/2026-05-14-framework-live-update-design.md
13095
+ */
13096
+ updateFrameworkPackage: method(
13097
+ object({
13098
+ packageName: string().min(1),
13099
+ version: string().optional()
13100
+ }),
13101
+ UpdateFrameworkPackageResultSchema,
13102
+ { kind: "mutation", auth: "admin" }
13103
+ ),
12942
13104
  getVersions: method(
12943
13105
  object({ name: string() }),
12944
13106
  array(PackageVersionInfoSchema).readonly()
@@ -13009,6 +13171,7 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
13009
13171
  EventCategory2["SystemBoot"] = "system.boot";
13010
13172
  EventCategory2["SystemAddonsReady"] = "system.addons-ready";
13011
13173
  EventCategory2["SystemRestarting"] = "system.restarting";
13174
+ EventCategory2["SystemRestartCompleted"] = "system.restart-completed";
13012
13175
  EventCategory2["SystemReadyState"] = "system.ready-state";
13013
13176
  EventCategory2["AddonStarted"] = "addon.started";
13014
13177
  EventCategory2["AddonStopped"] = "addon.stopped";
@@ -13563,4 +13726,4 @@ export {
13563
13726
  tuple as t,
13564
13727
  zoneAnalyticsCapability as z
13565
13728
  };
13566
- //# sourceMappingURL=index-BThK2F-p.mjs.map
13729
+ //# sourceMappingURL=index-DnAXaymw.mjs.map