@dxos/plugin-observability 0.12.0-next-73daef452f1464b62efdbca75fb0067c1066f264 → 0.13.0
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/lib/ObservabilityCapabilities.mjs.map +1 -1
- package/dist/lib/ObservabilityOptions.mjs.map +1 -1
- package/dist/lib/capabilities.browser.mjs +87 -0
- package/dist/lib/capabilities.browser.mjs.map +1 -0
- package/dist/lib/capabilities.mjs +30 -8
- package/dist/lib/capabilities.mjs.map +1 -1
- package/dist/lib/capabilities.node.mjs +37 -5
- package/dist/lib/capabilities.node.mjs.map +1 -1
- package/dist/lib/capabilities.tauri.mjs +87 -0
- package/dist/lib/capabilities.tauri.mjs.map +1 -0
- package/dist/lib/capabilities.workerd.mjs +4 -3
- package/dist/lib/capabilities.workerd.mjs.map +1 -1
- package/dist/lib/chunk-ObservabilitySettings.mjs +12 -9
- package/dist/lib/chunk-ObservabilitySettings.mjs.map +1 -1
- package/dist/lib/chunk-client-ready.mjs +15 -15
- package/dist/lib/chunk-client-ready.mjs.map +1 -1
- package/dist/lib/chunk-invocation-listener.mjs +1 -1
- package/dist/lib/chunk-privacy-notice.mjs +1 -1
- package/dist/lib/chunk-react-surface.mjs +2 -2
- package/dist/lib/chunk-react-surface.mjs.map +1 -1
- package/dist/lib/chunk-send-event.mjs +1 -1
- package/dist/lib/chunk-set-enabled.mjs +11 -10
- package/dist/lib/chunk-set-enabled.mjs.map +1 -1
- package/dist/lib/chunk-settings.mjs +3 -3
- package/dist/lib/chunk-settings.mjs.map +1 -1
- package/dist/lib/chunk-state.mjs +5 -5
- package/dist/lib/chunk-state.mjs.map +1 -1
- package/dist/lib/commands.mjs +6 -0
- package/dist/lib/commands.mjs.map +1 -0
- package/dist/lib/commands.node.mjs +47 -0
- package/dist/lib/commands.node.mjs.map +1 -0
- package/dist/lib/containers.mjs.map +1 -1
- package/dist/lib/index.mjs +0 -1
- package/dist/lib/meta.mjs.map +1 -1
- package/dist/lib/{operation-handler.headless.mjs → operation-handler.workerd.mjs} +5 -5
- package/dist/lib/operation-handler.workerd.mjs.map +1 -0
- package/dist/lib/operations.mjs.map +1 -1
- package/dist/lib/plugin.mjs +3 -3
- package/dist/lib/plugin.mjs.map +1 -1
- package/dist/lib/privacy-banner.mjs +14 -0
- package/dist/lib/privacy-banner.mjs.map +1 -0
- package/dist/lib/privacy-banner.noop.mjs +8 -0
- package/dist/lib/privacy-banner.noop.mjs.map +1 -0
- package/dist/lib/translations.mjs.map +1 -1
- package/dist/types/src/capabilities/commands.d.ts +3 -0
- package/dist/types/src/capabilities/commands.d.ts.map +1 -0
- package/dist/types/src/capabilities/commands.node.d.ts +3 -0
- package/dist/types/src/capabilities/commands.node.d.ts.map +1 -0
- package/dist/types/src/capabilities/gen/browser.d.ts +15 -0
- package/dist/types/src/capabilities/gen/browser.d.ts.map +1 -0
- package/dist/types/src/capabilities/gen/node.d.ts +6 -3
- package/dist/types/src/capabilities/gen/node.d.ts.map +1 -1
- package/dist/types/src/capabilities/gen/tauri.d.ts +15 -0
- package/dist/types/src/capabilities/gen/tauri.d.ts.map +1 -0
- package/dist/types/src/capabilities/gen/workerd.d.ts +3 -1
- package/dist/types/src/capabilities/gen/workerd.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +2 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/{operation-handler.headless.d.ts → operation-handler.workerd.d.ts} +1 -1
- package/dist/types/src/capabilities/operation-handler.workerd.d.ts.map +1 -0
- package/dist/types/src/capabilities/privacy-banner.d.ts +5 -0
- package/dist/types/src/capabilities/privacy-banner.d.ts.map +1 -0
- package/dist/types/src/capabilities/privacy-banner.noop.d.ts +4 -0
- package/dist/types/src/capabilities/privacy-banner.noop.d.ts.map +1 -0
- package/dist/types/src/commands/index.d.ts +2 -0
- package/dist/types/src/commands/index.d.ts.map +1 -0
- package/dist/types/src/commands/telemetry.d.ts +5 -0
- package/dist/types/src/commands/telemetry.d.ts.map +1 -0
- package/dist/types/src/containers/ObservabilitySettings/ObservabilitySettings.d.ts +1 -1
- package/dist/types/src/containers/ObservabilitySettings/ObservabilitySettings.d.ts.map +1 -1
- package/dist/types/src/containers/ObservabilitySettings/index.d.ts +1 -1
- package/dist/types/src/containers/ObservabilitySettings/index.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/errors.d.ts +33 -0
- package/dist/types/src/errors.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/operations/set-enabled.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/ObservabilityCapabilities.d.ts +3 -3
- package/dist/types/src/types/ObservabilityCapabilities.d.ts.map +1 -1
- package/dist/types/src/types/ObservabilityOptions.d.ts +1 -1
- package/dist/types/src/types/ObservabilityOptions.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +5 -5
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +51 -31
- package/src/capabilities/client-ready.ts +11 -7
- package/src/capabilities/commands.node.ts +9 -0
- package/src/capabilities/commands.ts +8 -0
- package/src/capabilities/gen/browser.ts +128 -0
- package/src/capabilities/gen/node.ts +43 -9
- package/src/capabilities/gen/tauri.ts +128 -0
- package/src/capabilities/gen/workerd.ts +6 -8
- package/src/capabilities/index.ts +24 -15
- package/src/capabilities/invocation-listener.test.ts +76 -22
- package/src/capabilities/operation-handler.workerd.ts +24 -0
- package/src/capabilities/privacy-banner.noop.ts +9 -0
- package/src/capabilities/privacy-banner.ts +20 -0
- package/src/capabilities/react-surface.ts +2 -2
- package/src/capabilities/settings.ts +2 -2
- package/src/capabilities/state.ts +4 -4
- package/src/commands/index.ts +5 -0
- package/src/commands/telemetry.ts +71 -0
- package/src/containers/ObservabilitySettings/ObservabilitySettings.stories.tsx +4 -4
- package/src/containers/ObservabilitySettings/ObservabilitySettings.tsx +15 -12
- package/src/containers/ObservabilitySettings/index.ts +1 -1
- package/src/containers/index.ts +1 -1
- package/src/errors.ts +11 -0
- package/src/index.ts +1 -2
- package/src/meta.ts +1 -1
- package/src/operations/index.ts +2 -2
- package/src/operations/set-enabled.ts +12 -9
- package/src/plugin.test.ts +2 -2
- package/src/plugin.ts +4 -0
- package/src/translations.ts +2 -2
- package/src/types/ObservabilityCapabilities.ts +3 -3
- package/src/types/ObservabilityOptions.ts +1 -1
- package/src/types/index.ts +5 -5
- package/dist/lib/operation-handler.headless.mjs.map +0 -1
- package/dist/types/src/capabilities/operation-handler.headless.d.ts.map +0 -1
- package/src/capabilities/operation-handler.headless.ts +0 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservabilityCapabilities.mjs","names":[],"sources":["../../src/types/ObservabilityCapabilities.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as
|
|
1
|
+
{"version":3,"file":"ObservabilityCapabilities.mjs","names":[],"sources":["../../src/types/ObservabilityCapabilities.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport type * as Atom from 'effect/reactivity/Atom';\nimport * as Schema from 'effect/Schema';\nimport * as Struct from 'effect/Struct';\n\nimport * as ActivationEvent from '@dxos/app-framework/ActivationEvent';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport { type Client } from '@dxos/client';\nimport type * as ObservabilityNs from '@dxos/observability/Observability';\n\nimport { meta } from '#meta';\n\nexport const Namespace = Capability.makeSingleton<string>()(`${meta.profile.key}.capability.namespace`);\n\nexport const Settings = Capability.makeSingleton<Atom.Writable<import('./Settings.ts').Settings>>()(\n `${meta.profile.key}.capability.settings`,\n);\n\nexport const StateSchema = Schema.Struct({\n group: Schema.optional(Schema.String),\n notified: Schema.optional(Schema.Boolean),\n}).mapFields(Struct.map(Schema.mutableKey));\n\nexport type State = Schema.Schema.Type<typeof StateSchema>;\n\nexport const State = Capability.makeSingleton<Atom.Writable<State>>()(`${meta.profile.key}.capability.state`);\n\nexport const Observability = Capability.makeSingleton<ObservabilityNs.Observability>()(\n `${meta.profile.key}.capability.observability`,\n);\n\n/**\n * Optional capability — when contributed, the help/feedback UI exposes a \"Download logs\" action.\n * The callback is responsible for the entire download (read store, encode, save file).\n */\nexport type LogDownloader = () => void | Promise<void>;\nexport const LogDownloader = Capability.makeSingleton<LogDownloader>()(`${meta.profile.key}.capability.logDownloader`);\n\n// NOTE: This is cloned from the client plugin to avoid circular dependencies.\n// TODO(burdon): Figure out how to share defs.\nexport const ClientCapability = Capability.makeSingleton<Client>()('org.dxos.plugin.client.capability.client');\n\n// Cloned from the client plugin for the same reason: fired once its forked initialize()\n// completes; modules reading initialized-only client APIs (`services`, `halo`, `spaces`)\n// at activation ride this instead of the startup pass.\nexport const ClientInitialized = ActivationEvent.make('org.dxos.plugin.client.event.initialized');\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,IAAa,YAAY,WAAW,cAAsB,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,sBAAsB;AAEtG,IAAa,WAAW,WAAW,cAA+D,CAAC,CACjG,GAAG,KAAK,QAAQ,IAAI,qBACtB;AAEA,IAAa,cAAc,OAAO,OAAO;CACvC,OAAO,OAAO,SAAS,OAAO,MAAM;CACpC,UAAU,OAAO,SAAS,OAAO,OAAO;AAC1C,CAAC,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,UAAU,CAAC;AAI1C,IAAa,QAAQ,WAAW,cAAoC,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,kBAAkB;AAE5G,IAAa,gBAAgB,WAAW,cAA6C,CAAC,CACpF,GAAG,KAAK,QAAQ,IAAI,0BACtB;AAOA,IAAa,gBAAgB,WAAW,cAA6B,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,0BAA0B;AAIrH,IAAa,mBAAmB,WAAW,cAAsB,CAAC,CAAC,0CAA0C;AAK7G,IAAa,oBAAoB,gBAAgB,KAAK,0CAA0C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservabilityOptions.mjs","names":[],"sources":["../../src/types/ObservabilityOptions.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport
|
|
1
|
+
{"version":3,"file":"ObservabilityOptions.mjs","names":[],"sources":["../../src/types/ObservabilityOptions.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Observability from '@dxos/observability/Observability';\n\nexport type ObservabilityPluginOptions = {\n namespace: string;\n observability: () => Promise<Observability.Observability>;\n /**\n * Optional callback invoked by the help/feedback UI to download captured logs.\n * When omitted the \"Download logs\" action is hidden.\n */\n downloadLogs?: () => void | Promise<void>;\n};\n"],"mappings":""}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import * as ActivationEvents from "@dxos/app-framework/ActivationEvents";
|
|
2
|
+
import * as Capabilities from "@dxos/app-framework/Capabilities";
|
|
3
|
+
import * as Capability from "@dxos/app-framework/Capability";
|
|
4
|
+
import * as AppCapabilities from "@dxos/app-toolkit/AppCapabilities";
|
|
5
|
+
import * as AppCapability from "@dxos/app-toolkit/AppCapability";
|
|
6
|
+
import { translations } from "#translations";
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import { ObservabilityCapabilities, ObservabilityEvents } from "#types";
|
|
9
|
+
//#region src/capabilities/gen/browser.ts
|
|
10
|
+
var ClientReady = Capability.lazyModule("ClientReady", {
|
|
11
|
+
environments: ["browser", "tauri"],
|
|
12
|
+
requires: [
|
|
13
|
+
Capabilities.PluginManager,
|
|
14
|
+
Capabilities.OperationInvoker,
|
|
15
|
+
ObservabilityCapabilities.ClientCapability,
|
|
16
|
+
ObservabilityCapabilities.Observability,
|
|
17
|
+
ObservabilityCapabilities.State
|
|
18
|
+
],
|
|
19
|
+
provides: [],
|
|
20
|
+
activatesOn: ObservabilityCapabilities.ClientInitialized
|
|
21
|
+
}, () => import("./chunk-client-ready.mjs"));
|
|
22
|
+
var InvocationListener = Capability.lazyModule("InvocationListener", {
|
|
23
|
+
requires: [Capabilities.OperationInvoker, AppCapabilities.ObservabilityMapping],
|
|
24
|
+
provides: [],
|
|
25
|
+
activatesOn: ActivationEvents.Idle
|
|
26
|
+
}, () => import("./chunk-invocation-listener.mjs"));
|
|
27
|
+
var PrivacyNotice = Capability.lazyModule("PrivacyNotice", {
|
|
28
|
+
environments: ["browser", "tauri"],
|
|
29
|
+
requires: [
|
|
30
|
+
Capabilities.OperationInvoker,
|
|
31
|
+
Capabilities.AtomRegistry,
|
|
32
|
+
ObservabilityCapabilities.State,
|
|
33
|
+
ObservabilityCapabilities.ClientCapability
|
|
34
|
+
],
|
|
35
|
+
provides: [],
|
|
36
|
+
activatesOn: ObservabilityEvents.IdentityCreatedEvent
|
|
37
|
+
}, () => import("./chunk-privacy-notice.mjs"));
|
|
38
|
+
var PrivacyBanner = Capability.lazyModule("PrivacyBanner", {
|
|
39
|
+
environments: [
|
|
40
|
+
"browser",
|
|
41
|
+
"node",
|
|
42
|
+
"tauri"
|
|
43
|
+
],
|
|
44
|
+
requires: [ObservabilityCapabilities.Namespace],
|
|
45
|
+
provides: [],
|
|
46
|
+
activatesOn: ObservabilityEvents.IdentityCreatedEvent
|
|
47
|
+
}, () => import("#privacy-banner"));
|
|
48
|
+
var Commands = AppCapability.commands(() => import("#commands"));
|
|
49
|
+
var Namespace = Capability.inlineModule("namespace", {
|
|
50
|
+
environments: [
|
|
51
|
+
"browser",
|
|
52
|
+
"node",
|
|
53
|
+
"tauri"
|
|
54
|
+
],
|
|
55
|
+
provides: [ObservabilityCapabilities.Namespace],
|
|
56
|
+
props: (options) => options.namespace
|
|
57
|
+
}, (namespace) => Effect.succeed([Capability.contribute(ObservabilityCapabilities.Namespace, namespace)]));
|
|
58
|
+
var Observability = Capability.inlineModule("observability", {
|
|
59
|
+
environments: [
|
|
60
|
+
"browser",
|
|
61
|
+
"node",
|
|
62
|
+
"tauri"
|
|
63
|
+
],
|
|
64
|
+
provides: [ObservabilityCapabilities.Observability],
|
|
65
|
+
props: (options) => options.observability
|
|
66
|
+
}, (observability) => Effect.gen(function* () {
|
|
67
|
+
const obs = yield* Effect.tryPromise(() => observability());
|
|
68
|
+
yield* Effect.addFinalizer(() => obs.close());
|
|
69
|
+
return [Capability.contribute(ObservabilityCapabilities.Observability, obs)];
|
|
70
|
+
}));
|
|
71
|
+
var OperationHandler = AppCapability.operationHandler(() => import("#operation-handler"));
|
|
72
|
+
var ReactSurface = AppCapability.surface(() => import("./chunk-react-surface.mjs"), { roles: ["org.dxos.role.article"] });
|
|
73
|
+
var ObservabilitySettings = AppCapability.settings(() => import("./chunk-settings.mjs"), {
|
|
74
|
+
provides: [ObservabilityCapabilities.Settings],
|
|
75
|
+
environments: ["browser", "tauri"]
|
|
76
|
+
});
|
|
77
|
+
var ObservabilityState = Capability.lazyModule("ObservabilityState", {
|
|
78
|
+
environments: ["browser", "tauri"],
|
|
79
|
+
requires: [Capabilities.AtomRegistry],
|
|
80
|
+
provides: [ObservabilityCapabilities.State],
|
|
81
|
+
props: ({ namespace }) => ({ namespace })
|
|
82
|
+
}, () => import("./chunk-state.mjs"));
|
|
83
|
+
var Translations = AppCapability.translations(translations);
|
|
84
|
+
//#endregion
|
|
85
|
+
export { ClientReady, Commands, InvocationListener, Namespace, Observability, ObservabilitySettings, ObservabilityState, OperationHandler, PrivacyBanner, PrivacyNotice, ReactSurface, Translations };
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=capabilities.browser.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.browser.mjs","names":[],"sources":["../../src/capabilities/gen/browser.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\n// GENERATED by dx-plugin — do not edit. Sliced from ../index.ts for the 'browser' condition.\n\nimport * as Effect from 'effect/Effect';\n\nimport * as ActivationEvents from '@dxos/app-framework/ActivationEvents';\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppCapability from '@dxos/app-toolkit/AppCapability';\n\nimport { translations } from '#translations';\nimport { ObservabilityCapabilities, ObservabilityEvents, ObservabilityOptions } from '#types';\n\nexport const ClientReady = Capability.lazyModule(\n 'ClientReady',\n {\n environments: ['browser', 'tauri'],\n requires: [\n Capabilities.PluginManager,\n Capabilities.OperationInvoker,\n ObservabilityCapabilities.ClientCapability,\n ObservabilityCapabilities.Observability,\n ObservabilityCapabilities.State,\n ],\n provides: [],\n // Reads `client.services` (initialized-only) to wire metrics providers, so it needs the\n // forked client initialization to have completed.\n activatesOn: ObservabilityCapabilities.ClientInitialized,\n },\n () => import('../client-ready.ts'),\n);\n\nexport const InvocationListener = Capability.lazyModule(\n 'InvocationListener',\n {\n requires: [Capabilities.OperationInvoker, AppCapabilities.ObservabilityMapping],\n provides: [],\n // Idle rather than Startup: contributed mappings are read live, so the listener only has to be\n // running before the first user action, not before the plugins that register events.\n activatesOn: ActivationEvents.Idle,\n },\n () => import('../invocation-listener.ts'),\n);\n\nexport const PrivacyNotice = Capability.lazyModule(\n 'PrivacyNotice',\n {\n environments: ['browser', 'tauri'],\n requires: [\n Capabilities.OperationInvoker,\n Capabilities.AtomRegistry,\n ObservabilityCapabilities.State,\n ObservabilityCapabilities.ClientCapability,\n ],\n provides: [],\n // Genuine runtime event: fired imperatively by `plugin-client`'s create-identity operation\n // (mirrored by identifier — see `ObservabilityEvents.IdentityCreatedEvent`).\n activatesOn: ObservabilityEvents.IdentityCreatedEvent,\n },\n () => import('../privacy-notice.ts'),\n);\n\nexport const PrivacyBanner = Capability.lazyModule(\n 'PrivacyBanner',\n {\n environments: ['browser', 'node', 'tauri'],\n requires: [ObservabilityCapabilities.Namespace],\n provides: [],\n activatesOn: ObservabilityEvents.IdentityCreatedEvent,\n },\n () => import('#privacy-banner'),\n);\n\n// `#commands` resolves per condition: only a host with a CLI has anywhere to put them.\nexport const Commands = AppCapability.commands(() => import('#commands'));\n\nexport const Namespace = Capability.inlineModule(\n 'namespace',\n {\n environments: ['browser', 'node', 'tauri'],\n provides: [ObservabilityCapabilities.Namespace],\n props: (options: ObservabilityOptions.ObservabilityPluginOptions) => options.namespace,\n },\n (namespace) => Effect.succeed([Capability.contribute(ObservabilityCapabilities.Namespace, namespace)]),\n);\n\nexport const Observability = Capability.inlineModule(\n 'observability',\n {\n environments: ['browser', 'node', 'tauri'],\n provides: [ObservabilityCapabilities.Observability],\n props: (options: ObservabilityOptions.ObservabilityPluginOptions) => options.observability,\n },\n (observability) =>\n Effect.gen(function* () {\n const obs = yield* Effect.tryPromise(() => observability());\n yield* Effect.addFinalizer(() => obs.close());\n return [Capability.contribute(ObservabilityCapabilities.Observability, obs)];\n }),\n);\n\nexport const OperationHandler = AppCapability.operationHandler(() => import('#operation-handler'));\n\nexport const ReactSurface = AppCapability.surface(() => import('../react-surface.ts'), {\n roles: ['org.dxos.role.article'],\n});\n\nexport const ObservabilitySettings = AppCapability.settings(() => import('../settings.ts'), {\n provides: [ObservabilityCapabilities.Settings],\n environments: ['browser', 'tauri'],\n});\n\nexport const ObservabilityState = Capability.lazyModule(\n 'ObservabilityState',\n {\n environments: ['browser', 'tauri'],\n requires: [Capabilities.AtomRegistry],\n provides: [ObservabilityCapabilities.State],\n props: ({ namespace }: ObservabilityOptions.ObservabilityPluginOptions) => ({ namespace }),\n },\n () => import('../state.ts'),\n);\n\nexport const Translations = AppCapability.translations(translations);\n"],"mappings":";;;;;;;;;AAiBA,IAAa,cAAc,WAAW,WACpC,eACA;CACE,cAAc,CAAC,WAAW,OAAO;CACjC,UAAU;EACR,aAAa;EACb,aAAa;EACb,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;CAC5B;CACA,UAAU,CAAC;CAGX,aAAa,0BAA0B;AACzC,SACM,OAAO,2BACf;AAEA,IAAa,qBAAqB,WAAW,WAC3C,sBACA;CACE,UAAU,CAAC,aAAa,kBAAkB,gBAAgB,oBAAoB;CAC9E,UAAU,CAAC;CAGX,aAAa,iBAAiB;AAChC,SACM,OAAO,kCACf;AAEA,IAAa,gBAAgB,WAAW,WACtC,iBACA;CACE,cAAc,CAAC,WAAW,OAAO;CACjC,UAAU;EACR,aAAa;EACb,aAAa;EACb,0BAA0B;EAC1B,0BAA0B;CAC5B;CACA,UAAU,CAAC;CAGX,aAAa,oBAAoB;AACnC,SACM,OAAO,6BACf;AAEA,IAAa,gBAAgB,WAAW,WACtC,iBACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,SAAS;CAC9C,UAAU,CAAC;CACX,aAAa,oBAAoB;AACnC,SACM,OAAO,kBACf;AAGA,IAAa,WAAW,cAAc,eAAe,OAAO,YAAY;AAExE,IAAa,YAAY,WAAW,aAClC,aACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,SAAS;CAC9C,QAAQ,YAA6D,QAAQ;AAC/E,IACC,cAAc,OAAO,QAAQ,CAAC,WAAW,WAAW,0BAA0B,WAAW,SAAS,CAAC,CAAC,CACvG;AAEA,IAAa,gBAAgB,WAAW,aACtC,iBACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,aAAa;CAClD,QAAQ,YAA6D,QAAQ;AAC/E,IACC,kBACC,OAAO,IAAI,aAAa;CACtB,MAAM,MAAM,OAAO,OAAO,iBAAiB,cAAc,CAAC;CAC1D,OAAO,OAAO,mBAAmB,IAAI,MAAM,CAAC;CAC5C,OAAO,CAAC,WAAW,WAAW,0BAA0B,eAAe,GAAG,CAAC;AAC7E,CAAC,CACL;AAEA,IAAa,mBAAmB,cAAc,uBAAuB,OAAO,qBAAqB;AAEjG,IAAa,eAAe,cAAc,cAAc,OAAO,8BAAwB,EACrF,OAAO,CAAC,uBAAuB,EACjC,CAAC;AAED,IAAa,wBAAwB,cAAc,eAAe,OAAO,yBAAmB;CAC1F,UAAU,CAAC,0BAA0B,QAAQ;CAC7C,cAAc,CAAC,WAAW,OAAO;AACnC,CAAC;AAED,IAAa,qBAAqB,WAAW,WAC3C,sBACA;CACE,cAAc,CAAC,WAAW,OAAO;CACjC,UAAU,CAAC,aAAa,YAAY;CACpC,UAAU,CAAC,0BAA0B,KAAK;CAC1C,QAAQ,EAAE,iBAAkE,EAAE,UAAU;AAC1F,SACM,OAAO,oBACf;AAEA,IAAa,eAAe,cAAc,aAAa,YAAY"}
|
|
@@ -4,11 +4,11 @@ import * as Capability from "@dxos/app-framework/Capability";
|
|
|
4
4
|
import * as AppCapabilities from "@dxos/app-toolkit/AppCapabilities";
|
|
5
5
|
import * as AppCapability from "@dxos/app-toolkit/AppCapability";
|
|
6
6
|
import { translations } from "#translations";
|
|
7
|
-
import { ObservabilityCapabilities, ObservabilityEvents } from "#types";
|
|
8
7
|
import * as Effect from "effect/Effect";
|
|
8
|
+
import { ObservabilityCapabilities, ObservabilityEvents } from "#types";
|
|
9
9
|
//#region src/capabilities/index.ts
|
|
10
10
|
var ClientReady = Capability.lazyModule("ClientReady", {
|
|
11
|
-
environments: [],
|
|
11
|
+
environments: ["browser", "tauri"],
|
|
12
12
|
requires: [
|
|
13
13
|
Capabilities.PluginManager,
|
|
14
14
|
Capabilities.OperationInvoker,
|
|
@@ -25,7 +25,7 @@ var InvocationListener = Capability.lazyModule("InvocationListener", {
|
|
|
25
25
|
activatesOn: ActivationEvents.Idle
|
|
26
26
|
}, () => import("./chunk-invocation-listener.mjs"));
|
|
27
27
|
var PrivacyNotice = Capability.lazyModule("PrivacyNotice", {
|
|
28
|
-
environments: [],
|
|
28
|
+
environments: ["browser", "tauri"],
|
|
29
29
|
requires: [
|
|
30
30
|
Capabilities.OperationInvoker,
|
|
31
31
|
Capabilities.AtomRegistry,
|
|
@@ -35,13 +35,32 @@ var PrivacyNotice = Capability.lazyModule("PrivacyNotice", {
|
|
|
35
35
|
provides: [],
|
|
36
36
|
activatesOn: ObservabilityEvents.IdentityCreatedEvent
|
|
37
37
|
}, () => import("./chunk-privacy-notice.mjs"));
|
|
38
|
+
var PrivacyBanner = Capability.lazyModule("PrivacyBanner", {
|
|
39
|
+
environments: [
|
|
40
|
+
"browser",
|
|
41
|
+
"node",
|
|
42
|
+
"tauri"
|
|
43
|
+
],
|
|
44
|
+
requires: [ObservabilityCapabilities.Namespace],
|
|
45
|
+
provides: [],
|
|
46
|
+
activatesOn: ObservabilityEvents.IdentityCreatedEvent
|
|
47
|
+
}, () => import("#privacy-banner"));
|
|
48
|
+
var Commands = AppCapability.commands(() => import("#commands"));
|
|
38
49
|
var Namespace = Capability.inlineModule("namespace", {
|
|
39
|
-
environments: [
|
|
50
|
+
environments: [
|
|
51
|
+
"browser",
|
|
52
|
+
"node",
|
|
53
|
+
"tauri"
|
|
54
|
+
],
|
|
40
55
|
provides: [ObservabilityCapabilities.Namespace],
|
|
41
56
|
props: (options) => options.namespace
|
|
42
57
|
}, (namespace) => Effect.succeed([Capability.contribute(ObservabilityCapabilities.Namespace, namespace)]));
|
|
43
58
|
var Observability = Capability.inlineModule("observability", {
|
|
44
|
-
environments: [
|
|
59
|
+
environments: [
|
|
60
|
+
"browser",
|
|
61
|
+
"node",
|
|
62
|
+
"tauri"
|
|
63
|
+
],
|
|
45
64
|
provides: [ObservabilityCapabilities.Observability],
|
|
46
65
|
props: (options) => options.observability
|
|
47
66
|
}, (observability) => Effect.gen(function* () {
|
|
@@ -51,15 +70,18 @@ var Observability = Capability.inlineModule("observability", {
|
|
|
51
70
|
}));
|
|
52
71
|
var OperationHandler = AppCapability.operationHandler(() => import("#operation-handler"));
|
|
53
72
|
var ReactSurface = AppCapability.surface(() => import("./chunk-react-surface.mjs"), { roles: ["org.dxos.role.article"] });
|
|
54
|
-
var ObservabilitySettings = AppCapability.settings(() => import("./chunk-settings.mjs"), {
|
|
73
|
+
var ObservabilitySettings = AppCapability.settings(() => import("./chunk-settings.mjs"), {
|
|
74
|
+
provides: [ObservabilityCapabilities.Settings],
|
|
75
|
+
environments: ["browser", "tauri"]
|
|
76
|
+
});
|
|
55
77
|
var ObservabilityState = Capability.lazyModule("ObservabilityState", {
|
|
56
|
-
environments: [],
|
|
78
|
+
environments: ["browser", "tauri"],
|
|
57
79
|
requires: [Capabilities.AtomRegistry],
|
|
58
80
|
provides: [ObservabilityCapabilities.State],
|
|
59
81
|
props: ({ namespace }) => ({ namespace })
|
|
60
82
|
}, () => import("./chunk-state.mjs"));
|
|
61
83
|
var Translations = AppCapability.translations(translations);
|
|
62
84
|
//#endregion
|
|
63
|
-
export { ClientReady, InvocationListener, Namespace, Observability, ObservabilitySettings, ObservabilityState, OperationHandler, PrivacyNotice, ReactSurface, Translations };
|
|
85
|
+
export { ClientReady, Commands, InvocationListener, Namespace, Observability, ObservabilitySettings, ObservabilityState, OperationHandler, PrivacyBanner, PrivacyNotice, ReactSurface, Translations };
|
|
64
86
|
|
|
65
87
|
//# sourceMappingURL=capabilities.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.mjs","names":[],"sources":["../../src/capabilities/index.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as ActivationEvents from '@dxos/app-framework/ActivationEvents';\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppCapability from '@dxos/app-toolkit/AppCapability';\n\nimport { translations } from '#translations';\nimport { ObservabilityCapabilities, ObservabilityEvents, ObservabilityOptions } from '#types';\n\
|
|
1
|
+
{"version":3,"file":"capabilities.mjs","names":[],"sources":["../../src/capabilities/index.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as ActivationEvents from '@dxos/app-framework/ActivationEvents';\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppCapability from '@dxos/app-toolkit/AppCapability';\n\nimport { translations } from '#translations';\nimport { ObservabilityCapabilities, ObservabilityEvents, ObservabilityOptions } from '#types';\n\nexport const ClientReady = Capability.lazyModule(\n 'ClientReady',\n {\n environments: ['browser', 'tauri'],\n requires: [\n Capabilities.PluginManager,\n Capabilities.OperationInvoker,\n ObservabilityCapabilities.ClientCapability,\n ObservabilityCapabilities.Observability,\n ObservabilityCapabilities.State,\n ],\n provides: [],\n // Reads `client.services` (initialized-only) to wire metrics providers, so it needs the\n // forked client initialization to have completed.\n activatesOn: ObservabilityCapabilities.ClientInitialized,\n },\n () => import('./client-ready.ts'),\n);\nexport const InvocationListener = Capability.lazyModule(\n 'InvocationListener',\n {\n requires: [Capabilities.OperationInvoker, AppCapabilities.ObservabilityMapping],\n provides: [],\n // Idle rather than Startup: contributed mappings are read live, so the listener only has to be\n // running before the first user action, not before the plugins that register events.\n activatesOn: ActivationEvents.Idle,\n },\n () => import('./invocation-listener.ts'),\n);\nexport const PrivacyNotice = Capability.lazyModule(\n 'PrivacyNotice',\n {\n environments: ['browser', 'tauri'],\n requires: [\n Capabilities.OperationInvoker,\n Capabilities.AtomRegistry,\n ObservabilityCapabilities.State,\n ObservabilityCapabilities.ClientCapability,\n ],\n provides: [],\n // Genuine runtime event: fired imperatively by `plugin-client`'s create-identity operation\n // (mirrored by identifier — see `ObservabilityEvents.IdentityCreatedEvent`).\n activatesOn: ObservabilityEvents.IdentityCreatedEvent,\n },\n () => import('./privacy-notice.ts'),\n);\nexport const PrivacyBanner = Capability.lazyModule(\n 'PrivacyBanner',\n {\n environments: ['browser', 'node', 'tauri'],\n requires: [ObservabilityCapabilities.Namespace],\n provides: [],\n activatesOn: ObservabilityEvents.IdentityCreatedEvent,\n },\n () => import('#privacy-banner'),\n);\n// `#commands` resolves per condition: only a host with a CLI has anywhere to put them.\nexport const Commands = AppCapability.commands(() => import('#commands'));\nexport const Namespace = Capability.inlineModule(\n 'namespace',\n {\n environments: ['browser', 'node', 'tauri'],\n provides: [ObservabilityCapabilities.Namespace],\n props: (options: ObservabilityOptions.ObservabilityPluginOptions) => options.namespace,\n },\n (namespace) => Effect.succeed([Capability.contribute(ObservabilityCapabilities.Namespace, namespace)]),\n);\nexport const Observability = Capability.inlineModule(\n 'observability',\n {\n environments: ['browser', 'node', 'tauri'],\n provides: [ObservabilityCapabilities.Observability],\n props: (options: ObservabilityOptions.ObservabilityPluginOptions) => options.observability,\n },\n (observability) =>\n Effect.gen(function* () {\n const obs = yield* Effect.tryPromise(() => observability());\n yield* Effect.addFinalizer(() => obs.close());\n return [Capability.contribute(ObservabilityCapabilities.Observability, obs)];\n }),\n);\nexport const OperationHandler = AppCapability.operationHandler(() => import('#operation-handler'));\nexport const ReactSurface = AppCapability.surface(() => import('./react-surface.ts'), {\n roles: ['org.dxos.role.article'],\n});\nexport const ObservabilitySettings = AppCapability.settings(() => import('./settings.ts'), {\n provides: [ObservabilityCapabilities.Settings],\n environments: ['browser', 'tauri'],\n});\nexport const ObservabilityState = Capability.lazyModule(\n 'ObservabilityState',\n {\n environments: ['browser', 'tauri'],\n requires: [Capabilities.AtomRegistry],\n provides: [ObservabilityCapabilities.State],\n props: ({ namespace }: ObservabilityOptions.ObservabilityPluginOptions) => ({ namespace }),\n },\n () => import('./state.ts'),\n);\nexport const Translations = AppCapability.translations(translations);\n"],"mappings":";;;;;;;;;AAeA,IAAa,cAAc,WAAW,WACpC,eACA;CACE,cAAc,CAAC,WAAW,OAAO;CACjC,UAAU;EACR,aAAa;EACb,aAAa;EACb,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;CAC5B;CACA,UAAU,CAAC;CAGX,aAAa,0BAA0B;AACzC,SACM,OAAO,2BACf;AACA,IAAa,qBAAqB,WAAW,WAC3C,sBACA;CACE,UAAU,CAAC,aAAa,kBAAkB,gBAAgB,oBAAoB;CAC9E,UAAU,CAAC;CAGX,aAAa,iBAAiB;AAChC,SACM,OAAO,kCACf;AACA,IAAa,gBAAgB,WAAW,WACtC,iBACA;CACE,cAAc,CAAC,WAAW,OAAO;CACjC,UAAU;EACR,aAAa;EACb,aAAa;EACb,0BAA0B;EAC1B,0BAA0B;CAC5B;CACA,UAAU,CAAC;CAGX,aAAa,oBAAoB;AACnC,SACM,OAAO,6BACf;AACA,IAAa,gBAAgB,WAAW,WACtC,iBACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,SAAS;CAC9C,UAAU,CAAC;CACX,aAAa,oBAAoB;AACnC,SACM,OAAO,kBACf;AAEA,IAAa,WAAW,cAAc,eAAe,OAAO,YAAY;AACxE,IAAa,YAAY,WAAW,aAClC,aACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,SAAS;CAC9C,QAAQ,YAA6D,QAAQ;AAC/E,IACC,cAAc,OAAO,QAAQ,CAAC,WAAW,WAAW,0BAA0B,WAAW,SAAS,CAAC,CAAC,CACvG;AACA,IAAa,gBAAgB,WAAW,aACtC,iBACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,aAAa;CAClD,QAAQ,YAA6D,QAAQ;AAC/E,IACC,kBACC,OAAO,IAAI,aAAa;CACtB,MAAM,MAAM,OAAO,OAAO,iBAAiB,cAAc,CAAC;CAC1D,OAAO,OAAO,mBAAmB,IAAI,MAAM,CAAC;CAC5C,OAAO,CAAC,WAAW,WAAW,0BAA0B,eAAe,GAAG,CAAC;AAC7E,CAAC,CACL;AACA,IAAa,mBAAmB,cAAc,uBAAuB,OAAO,qBAAqB;AACjG,IAAa,eAAe,cAAc,cAAc,OAAO,8BAAuB,EACpF,OAAO,CAAC,uBAAuB,EACjC,CAAC;AACD,IAAa,wBAAwB,cAAc,eAAe,OAAO,yBAAkB;CACzF,UAAU,CAAC,0BAA0B,QAAQ;CAC7C,cAAc,CAAC,WAAW,OAAO;AACnC,CAAC;AACD,IAAa,qBAAqB,WAAW,WAC3C,sBACA;CACE,cAAc,CAAC,WAAW,OAAO;CACjC,UAAU,CAAC,aAAa,YAAY;CACpC,UAAU,CAAC,0BAA0B,KAAK;CAC1C,QAAQ,EAAE,iBAAkE,EAAE,UAAU;AAC1F,SACM,OAAO,oBACf;AACA,IAAa,eAAe,cAAc,aAAa,YAAY"}
|
|
@@ -4,23 +4,55 @@ import * as Capability from "@dxos/app-framework/Capability";
|
|
|
4
4
|
import * as AppCapabilities from "@dxos/app-toolkit/AppCapabilities";
|
|
5
5
|
import * as AppCapability from "@dxos/app-toolkit/AppCapability";
|
|
6
6
|
import { translations } from "#translations";
|
|
7
|
-
import
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import { ObservabilityCapabilities, ObservabilityEvents } from "#types";
|
|
8
9
|
//#region src/capabilities/gen/node.ts
|
|
9
10
|
var InvocationListener = Capability.lazyModule("InvocationListener", {
|
|
10
11
|
requires: [Capabilities.OperationInvoker, AppCapabilities.ObservabilityMapping],
|
|
11
12
|
provides: [],
|
|
12
13
|
activatesOn: ActivationEvents.Idle
|
|
13
14
|
}, () => import("./chunk-invocation-listener.mjs"));
|
|
15
|
+
var PrivacyBanner = Capability.lazyModule("PrivacyBanner", {
|
|
16
|
+
environments: [
|
|
17
|
+
"browser",
|
|
18
|
+
"node",
|
|
19
|
+
"tauri"
|
|
20
|
+
],
|
|
21
|
+
requires: [ObservabilityCapabilities.Namespace],
|
|
22
|
+
provides: [],
|
|
23
|
+
activatesOn: ObservabilityEvents.IdentityCreatedEvent
|
|
24
|
+
}, () => import("#privacy-banner"));
|
|
25
|
+
var Commands = AppCapability.commands(() => import("#commands"));
|
|
26
|
+
var Namespace = Capability.inlineModule("namespace", {
|
|
27
|
+
environments: [
|
|
28
|
+
"browser",
|
|
29
|
+
"node",
|
|
30
|
+
"tauri"
|
|
31
|
+
],
|
|
32
|
+
provides: [ObservabilityCapabilities.Namespace],
|
|
33
|
+
props: (options) => options.namespace
|
|
34
|
+
}, (namespace) => Effect.succeed([Capability.contribute(ObservabilityCapabilities.Namespace, namespace)]));
|
|
35
|
+
var Observability = Capability.inlineModule("observability", {
|
|
36
|
+
environments: [
|
|
37
|
+
"browser",
|
|
38
|
+
"node",
|
|
39
|
+
"tauri"
|
|
40
|
+
],
|
|
41
|
+
provides: [ObservabilityCapabilities.Observability],
|
|
42
|
+
props: (options) => options.observability
|
|
43
|
+
}, (observability) => Effect.gen(function* () {
|
|
44
|
+
const obs = yield* Effect.tryPromise(() => observability());
|
|
45
|
+
yield* Effect.addFinalizer(() => obs.close());
|
|
46
|
+
return [Capability.contribute(ObservabilityCapabilities.Observability, obs)];
|
|
47
|
+
}));
|
|
14
48
|
var OperationHandler = AppCapability.operationHandler(() => import("#operation-handler"));
|
|
15
|
-
var ObservabilitySettings = AppCapability.settings(() => import("./chunk-settings.mjs"), { provides: [ObservabilityCapabilities.Settings] });
|
|
16
49
|
var Translations = AppCapability.translations(translations);
|
|
17
50
|
var ClientReady = void 0;
|
|
18
|
-
var
|
|
19
|
-
var Observability = void 0;
|
|
51
|
+
var ObservabilitySettings = void 0;
|
|
20
52
|
var ObservabilityState = void 0;
|
|
21
53
|
var PrivacyNotice = void 0;
|
|
22
54
|
var ReactSurface = void 0;
|
|
23
55
|
//#endregion
|
|
24
|
-
export { ClientReady, InvocationListener, Namespace, Observability, ObservabilitySettings, ObservabilityState, OperationHandler, PrivacyNotice, ReactSurface, Translations };
|
|
56
|
+
export { ClientReady, Commands, InvocationListener, Namespace, Observability, ObservabilitySettings, ObservabilityState, OperationHandler, PrivacyBanner, PrivacyNotice, ReactSurface, Translations };
|
|
25
57
|
|
|
26
58
|
//# sourceMappingURL=capabilities.node.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.node.mjs","names":[],"sources":["../../src/capabilities/gen/node.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\n// GENERATED by dx-plugin — do not edit. Sliced from ../index.ts for the 'node' condition.\n\nimport * as ActivationEvents from '@dxos/app-framework/ActivationEvents';\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppCapability from '@dxos/app-toolkit/AppCapability';\n\nimport { translations } from '#translations';\nimport { ObservabilityCapabilities, ObservabilityEvents, ObservabilityOptions } from '#types';\n\nexport const InvocationListener = Capability.lazyModule(\n 'InvocationListener',\n {\n requires: [Capabilities.OperationInvoker, AppCapabilities.ObservabilityMapping],\n provides: [],\n // Idle rather than Startup: contributed mappings are read live, so the listener only has to be\n // running before the first user action, not before the plugins that register events.\n activatesOn: ActivationEvents.Idle,\n },\n () => import('../invocation-listener'),\n);\n\
|
|
1
|
+
{"version":3,"file":"capabilities.node.mjs","names":[],"sources":["../../src/capabilities/gen/node.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\n// GENERATED by dx-plugin — do not edit. Sliced from ../index.ts for the 'node' condition.\n\nimport * as Effect from 'effect/Effect';\n\nimport * as ActivationEvents from '@dxos/app-framework/ActivationEvents';\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppCapability from '@dxos/app-toolkit/AppCapability';\n\nimport { translations } from '#translations';\nimport { ObservabilityCapabilities, ObservabilityEvents, ObservabilityOptions } from '#types';\n\nexport const InvocationListener = Capability.lazyModule(\n 'InvocationListener',\n {\n requires: [Capabilities.OperationInvoker, AppCapabilities.ObservabilityMapping],\n provides: [],\n // Idle rather than Startup: contributed mappings are read live, so the listener only has to be\n // running before the first user action, not before the plugins that register events.\n activatesOn: ActivationEvents.Idle,\n },\n () => import('../invocation-listener.ts'),\n);\n\nexport const PrivacyBanner = Capability.lazyModule(\n 'PrivacyBanner',\n {\n environments: ['browser', 'node', 'tauri'],\n requires: [ObservabilityCapabilities.Namespace],\n provides: [],\n activatesOn: ObservabilityEvents.IdentityCreatedEvent,\n },\n () => import('#privacy-banner'),\n);\n\n// `#commands` resolves per condition: only a host with a CLI has anywhere to put them.\nexport const Commands = AppCapability.commands(() => import('#commands'));\n\nexport const Namespace = Capability.inlineModule(\n 'namespace',\n {\n environments: ['browser', 'node', 'tauri'],\n provides: [ObservabilityCapabilities.Namespace],\n props: (options: ObservabilityOptions.ObservabilityPluginOptions) => options.namespace,\n },\n (namespace) => Effect.succeed([Capability.contribute(ObservabilityCapabilities.Namespace, namespace)]),\n);\n\nexport const Observability = Capability.inlineModule(\n 'observability',\n {\n environments: ['browser', 'node', 'tauri'],\n provides: [ObservabilityCapabilities.Observability],\n props: (options: ObservabilityOptions.ObservabilityPluginOptions) => options.observability,\n },\n (observability) =>\n Effect.gen(function* () {\n const obs = yield* Effect.tryPromise(() => observability());\n yield* Effect.addFinalizer(() => obs.close());\n return [Capability.contribute(ObservabilityCapabilities.Observability, obs)];\n }),\n);\n\nexport const OperationHandler = AppCapability.operationHandler(() => import('#operation-handler'));\n\nexport const Translations = AppCapability.translations(translations);\n\nexport const ClientReady = undefined;\nexport const ObservabilitySettings = undefined;\nexport const ObservabilityState = undefined;\nexport const PrivacyNotice = undefined;\nexport const ReactSurface = undefined;\n"],"mappings":";;;;;;;;;AAiBA,IAAa,qBAAqB,WAAW,WAC3C,sBACA;CACE,UAAU,CAAC,aAAa,kBAAkB,gBAAgB,oBAAoB;CAC9E,UAAU,CAAC;CAGX,aAAa,iBAAiB;AAChC,SACM,OAAO,kCACf;AAEA,IAAa,gBAAgB,WAAW,WACtC,iBACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,SAAS;CAC9C,UAAU,CAAC;CACX,aAAa,oBAAoB;AACnC,SACM,OAAO,kBACf;AAGA,IAAa,WAAW,cAAc,eAAe,OAAO,YAAY;AAExE,IAAa,YAAY,WAAW,aAClC,aACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,SAAS;CAC9C,QAAQ,YAA6D,QAAQ;AAC/E,IACC,cAAc,OAAO,QAAQ,CAAC,WAAW,WAAW,0BAA0B,WAAW,SAAS,CAAC,CAAC,CACvG;AAEA,IAAa,gBAAgB,WAAW,aACtC,iBACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,aAAa;CAClD,QAAQ,YAA6D,QAAQ;AAC/E,IACC,kBACC,OAAO,IAAI,aAAa;CACtB,MAAM,MAAM,OAAO,OAAO,iBAAiB,cAAc,CAAC;CAC1D,OAAO,OAAO,mBAAmB,IAAI,MAAM,CAAC;CAC5C,OAAO,CAAC,WAAW,WAAW,0BAA0B,eAAe,GAAG,CAAC;AAC7E,CAAC,CACL;AAEA,IAAa,mBAAmB,cAAc,uBAAuB,OAAO,qBAAqB;AAEjG,IAAa,eAAe,cAAc,aAAa,YAAY;AAEnE,IAAa,cAAc,KAAA;AAC3B,IAAa,wBAAwB,KAAA;AACrC,IAAa,qBAAqB,KAAA;AAClC,IAAa,gBAAgB,KAAA;AAC7B,IAAa,eAAe,KAAA"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import * as ActivationEvents from "@dxos/app-framework/ActivationEvents";
|
|
2
|
+
import * as Capabilities from "@dxos/app-framework/Capabilities";
|
|
3
|
+
import * as Capability from "@dxos/app-framework/Capability";
|
|
4
|
+
import * as AppCapabilities from "@dxos/app-toolkit/AppCapabilities";
|
|
5
|
+
import * as AppCapability from "@dxos/app-toolkit/AppCapability";
|
|
6
|
+
import { translations } from "#translations";
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import { ObservabilityCapabilities, ObservabilityEvents } from "#types";
|
|
9
|
+
//#region src/capabilities/gen/tauri.ts
|
|
10
|
+
var ClientReady = Capability.lazyModule("ClientReady", {
|
|
11
|
+
environments: ["browser", "tauri"],
|
|
12
|
+
requires: [
|
|
13
|
+
Capabilities.PluginManager,
|
|
14
|
+
Capabilities.OperationInvoker,
|
|
15
|
+
ObservabilityCapabilities.ClientCapability,
|
|
16
|
+
ObservabilityCapabilities.Observability,
|
|
17
|
+
ObservabilityCapabilities.State
|
|
18
|
+
],
|
|
19
|
+
provides: [],
|
|
20
|
+
activatesOn: ObservabilityCapabilities.ClientInitialized
|
|
21
|
+
}, () => import("./chunk-client-ready.mjs"));
|
|
22
|
+
var InvocationListener = Capability.lazyModule("InvocationListener", {
|
|
23
|
+
requires: [Capabilities.OperationInvoker, AppCapabilities.ObservabilityMapping],
|
|
24
|
+
provides: [],
|
|
25
|
+
activatesOn: ActivationEvents.Idle
|
|
26
|
+
}, () => import("./chunk-invocation-listener.mjs"));
|
|
27
|
+
var PrivacyNotice = Capability.lazyModule("PrivacyNotice", {
|
|
28
|
+
environments: ["browser", "tauri"],
|
|
29
|
+
requires: [
|
|
30
|
+
Capabilities.OperationInvoker,
|
|
31
|
+
Capabilities.AtomRegistry,
|
|
32
|
+
ObservabilityCapabilities.State,
|
|
33
|
+
ObservabilityCapabilities.ClientCapability
|
|
34
|
+
],
|
|
35
|
+
provides: [],
|
|
36
|
+
activatesOn: ObservabilityEvents.IdentityCreatedEvent
|
|
37
|
+
}, () => import("./chunk-privacy-notice.mjs"));
|
|
38
|
+
var PrivacyBanner = Capability.lazyModule("PrivacyBanner", {
|
|
39
|
+
environments: [
|
|
40
|
+
"browser",
|
|
41
|
+
"node",
|
|
42
|
+
"tauri"
|
|
43
|
+
],
|
|
44
|
+
requires: [ObservabilityCapabilities.Namespace],
|
|
45
|
+
provides: [],
|
|
46
|
+
activatesOn: ObservabilityEvents.IdentityCreatedEvent
|
|
47
|
+
}, () => import("#privacy-banner"));
|
|
48
|
+
var Commands = AppCapability.commands(() => import("#commands"));
|
|
49
|
+
var Namespace = Capability.inlineModule("namespace", {
|
|
50
|
+
environments: [
|
|
51
|
+
"browser",
|
|
52
|
+
"node",
|
|
53
|
+
"tauri"
|
|
54
|
+
],
|
|
55
|
+
provides: [ObservabilityCapabilities.Namespace],
|
|
56
|
+
props: (options) => options.namespace
|
|
57
|
+
}, (namespace) => Effect.succeed([Capability.contribute(ObservabilityCapabilities.Namespace, namespace)]));
|
|
58
|
+
var Observability = Capability.inlineModule("observability", {
|
|
59
|
+
environments: [
|
|
60
|
+
"browser",
|
|
61
|
+
"node",
|
|
62
|
+
"tauri"
|
|
63
|
+
],
|
|
64
|
+
provides: [ObservabilityCapabilities.Observability],
|
|
65
|
+
props: (options) => options.observability
|
|
66
|
+
}, (observability) => Effect.gen(function* () {
|
|
67
|
+
const obs = yield* Effect.tryPromise(() => observability());
|
|
68
|
+
yield* Effect.addFinalizer(() => obs.close());
|
|
69
|
+
return [Capability.contribute(ObservabilityCapabilities.Observability, obs)];
|
|
70
|
+
}));
|
|
71
|
+
var OperationHandler = AppCapability.operationHandler(() => import("#operation-handler"));
|
|
72
|
+
var ReactSurface = AppCapability.surface(() => import("./chunk-react-surface.mjs"), { roles: ["org.dxos.role.article"] });
|
|
73
|
+
var ObservabilitySettings = AppCapability.settings(() => import("./chunk-settings.mjs"), {
|
|
74
|
+
provides: [ObservabilityCapabilities.Settings],
|
|
75
|
+
environments: ["browser", "tauri"]
|
|
76
|
+
});
|
|
77
|
+
var ObservabilityState = Capability.lazyModule("ObservabilityState", {
|
|
78
|
+
environments: ["browser", "tauri"],
|
|
79
|
+
requires: [Capabilities.AtomRegistry],
|
|
80
|
+
provides: [ObservabilityCapabilities.State],
|
|
81
|
+
props: ({ namespace }) => ({ namespace })
|
|
82
|
+
}, () => import("./chunk-state.mjs"));
|
|
83
|
+
var Translations = AppCapability.translations(translations);
|
|
84
|
+
//#endregion
|
|
85
|
+
export { ClientReady, Commands, InvocationListener, Namespace, Observability, ObservabilitySettings, ObservabilityState, OperationHandler, PrivacyBanner, PrivacyNotice, ReactSurface, Translations };
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=capabilities.tauri.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.tauri.mjs","names":[],"sources":["../../src/capabilities/gen/tauri.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\n// GENERATED by dx-plugin — do not edit. Sliced from ../index.ts for the 'tauri' condition.\n\nimport * as Effect from 'effect/Effect';\n\nimport * as ActivationEvents from '@dxos/app-framework/ActivationEvents';\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppCapability from '@dxos/app-toolkit/AppCapability';\n\nimport { translations } from '#translations';\nimport { ObservabilityCapabilities, ObservabilityEvents, ObservabilityOptions } from '#types';\n\nexport const ClientReady = Capability.lazyModule(\n 'ClientReady',\n {\n environments: ['browser', 'tauri'],\n requires: [\n Capabilities.PluginManager,\n Capabilities.OperationInvoker,\n ObservabilityCapabilities.ClientCapability,\n ObservabilityCapabilities.Observability,\n ObservabilityCapabilities.State,\n ],\n provides: [],\n // Reads `client.services` (initialized-only) to wire metrics providers, so it needs the\n // forked client initialization to have completed.\n activatesOn: ObservabilityCapabilities.ClientInitialized,\n },\n () => import('../client-ready.ts'),\n);\n\nexport const InvocationListener = Capability.lazyModule(\n 'InvocationListener',\n {\n requires: [Capabilities.OperationInvoker, AppCapabilities.ObservabilityMapping],\n provides: [],\n // Idle rather than Startup: contributed mappings are read live, so the listener only has to be\n // running before the first user action, not before the plugins that register events.\n activatesOn: ActivationEvents.Idle,\n },\n () => import('../invocation-listener.ts'),\n);\n\nexport const PrivacyNotice = Capability.lazyModule(\n 'PrivacyNotice',\n {\n environments: ['browser', 'tauri'],\n requires: [\n Capabilities.OperationInvoker,\n Capabilities.AtomRegistry,\n ObservabilityCapabilities.State,\n ObservabilityCapabilities.ClientCapability,\n ],\n provides: [],\n // Genuine runtime event: fired imperatively by `plugin-client`'s create-identity operation\n // (mirrored by identifier — see `ObservabilityEvents.IdentityCreatedEvent`).\n activatesOn: ObservabilityEvents.IdentityCreatedEvent,\n },\n () => import('../privacy-notice.ts'),\n);\n\nexport const PrivacyBanner = Capability.lazyModule(\n 'PrivacyBanner',\n {\n environments: ['browser', 'node', 'tauri'],\n requires: [ObservabilityCapabilities.Namespace],\n provides: [],\n activatesOn: ObservabilityEvents.IdentityCreatedEvent,\n },\n () => import('#privacy-banner'),\n);\n\n// `#commands` resolves per condition: only a host with a CLI has anywhere to put them.\nexport const Commands = AppCapability.commands(() => import('#commands'));\n\nexport const Namespace = Capability.inlineModule(\n 'namespace',\n {\n environments: ['browser', 'node', 'tauri'],\n provides: [ObservabilityCapabilities.Namespace],\n props: (options: ObservabilityOptions.ObservabilityPluginOptions) => options.namespace,\n },\n (namespace) => Effect.succeed([Capability.contribute(ObservabilityCapabilities.Namespace, namespace)]),\n);\n\nexport const Observability = Capability.inlineModule(\n 'observability',\n {\n environments: ['browser', 'node', 'tauri'],\n provides: [ObservabilityCapabilities.Observability],\n props: (options: ObservabilityOptions.ObservabilityPluginOptions) => options.observability,\n },\n (observability) =>\n Effect.gen(function* () {\n const obs = yield* Effect.tryPromise(() => observability());\n yield* Effect.addFinalizer(() => obs.close());\n return [Capability.contribute(ObservabilityCapabilities.Observability, obs)];\n }),\n);\n\nexport const OperationHandler = AppCapability.operationHandler(() => import('#operation-handler'));\n\nexport const ReactSurface = AppCapability.surface(() => import('../react-surface.ts'), {\n roles: ['org.dxos.role.article'],\n});\n\nexport const ObservabilitySettings = AppCapability.settings(() => import('../settings.ts'), {\n provides: [ObservabilityCapabilities.Settings],\n environments: ['browser', 'tauri'],\n});\n\nexport const ObservabilityState = Capability.lazyModule(\n 'ObservabilityState',\n {\n environments: ['browser', 'tauri'],\n requires: [Capabilities.AtomRegistry],\n provides: [ObservabilityCapabilities.State],\n props: ({ namespace }: ObservabilityOptions.ObservabilityPluginOptions) => ({ namespace }),\n },\n () => import('../state.ts'),\n);\n\nexport const Translations = AppCapability.translations(translations);\n"],"mappings":";;;;;;;;;AAiBA,IAAa,cAAc,WAAW,WACpC,eACA;CACE,cAAc,CAAC,WAAW,OAAO;CACjC,UAAU;EACR,aAAa;EACb,aAAa;EACb,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;CAC5B;CACA,UAAU,CAAC;CAGX,aAAa,0BAA0B;AACzC,SACM,OAAO,2BACf;AAEA,IAAa,qBAAqB,WAAW,WAC3C,sBACA;CACE,UAAU,CAAC,aAAa,kBAAkB,gBAAgB,oBAAoB;CAC9E,UAAU,CAAC;CAGX,aAAa,iBAAiB;AAChC,SACM,OAAO,kCACf;AAEA,IAAa,gBAAgB,WAAW,WACtC,iBACA;CACE,cAAc,CAAC,WAAW,OAAO;CACjC,UAAU;EACR,aAAa;EACb,aAAa;EACb,0BAA0B;EAC1B,0BAA0B;CAC5B;CACA,UAAU,CAAC;CAGX,aAAa,oBAAoB;AACnC,SACM,OAAO,6BACf;AAEA,IAAa,gBAAgB,WAAW,WACtC,iBACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,SAAS;CAC9C,UAAU,CAAC;CACX,aAAa,oBAAoB;AACnC,SACM,OAAO,kBACf;AAGA,IAAa,WAAW,cAAc,eAAe,OAAO,YAAY;AAExE,IAAa,YAAY,WAAW,aAClC,aACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,SAAS;CAC9C,QAAQ,YAA6D,QAAQ;AAC/E,IACC,cAAc,OAAO,QAAQ,CAAC,WAAW,WAAW,0BAA0B,WAAW,SAAS,CAAC,CAAC,CACvG;AAEA,IAAa,gBAAgB,WAAW,aACtC,iBACA;CACE,cAAc;EAAC;EAAW;EAAQ;CAAO;CACzC,UAAU,CAAC,0BAA0B,aAAa;CAClD,QAAQ,YAA6D,QAAQ;AAC/E,IACC,kBACC,OAAO,IAAI,aAAa;CACtB,MAAM,MAAM,OAAO,OAAO,iBAAiB,cAAc,CAAC;CAC1D,OAAO,OAAO,mBAAmB,IAAI,MAAM,CAAC;CAC5C,OAAO,CAAC,WAAW,WAAW,0BAA0B,eAAe,GAAG,CAAC;AAC7E,CAAC,CACL;AAEA,IAAa,mBAAmB,cAAc,uBAAuB,OAAO,qBAAqB;AAEjG,IAAa,eAAe,cAAc,cAAc,OAAO,8BAAwB,EACrF,OAAO,CAAC,uBAAuB,EACjC,CAAC;AAED,IAAa,wBAAwB,cAAc,eAAe,OAAO,yBAAmB;CAC1F,UAAU,CAAC,0BAA0B,QAAQ;CAC7C,cAAc,CAAC,WAAW,OAAO;AACnC,CAAC;AAED,IAAa,qBAAqB,WAAW,WAC3C,sBACA;CACE,cAAc,CAAC,WAAW,OAAO;CACjC,UAAU,CAAC,aAAa,YAAY;CACpC,UAAU,CAAC,0BAA0B,KAAK;CAC1C,QAAQ,EAAE,iBAAkE,EAAE,UAAU;AAC1F,SACM,OAAO,oBACf;AAEA,IAAa,eAAe,cAAc,aAAa,YAAY"}
|
|
@@ -4,23 +4,24 @@ import * as Capability from "@dxos/app-framework/Capability";
|
|
|
4
4
|
import * as AppCapabilities from "@dxos/app-toolkit/AppCapabilities";
|
|
5
5
|
import * as AppCapability from "@dxos/app-toolkit/AppCapability";
|
|
6
6
|
import { translations } from "#translations";
|
|
7
|
-
import { ObservabilityCapabilities } from "#types";
|
|
8
7
|
//#region src/capabilities/gen/workerd.ts
|
|
9
8
|
var InvocationListener = Capability.lazyModule("InvocationListener", {
|
|
10
9
|
requires: [Capabilities.OperationInvoker, AppCapabilities.ObservabilityMapping],
|
|
11
10
|
provides: [],
|
|
12
11
|
activatesOn: ActivationEvents.Idle
|
|
13
12
|
}, () => import("./chunk-invocation-listener.mjs"));
|
|
13
|
+
var Commands = AppCapability.commands(() => import("#commands"));
|
|
14
14
|
var OperationHandler = AppCapability.operationHandler(() => import("#operation-handler"));
|
|
15
|
-
var ObservabilitySettings = AppCapability.settings(() => import("./chunk-settings.mjs"), { provides: [ObservabilityCapabilities.Settings] });
|
|
16
15
|
var Translations = AppCapability.translations(translations);
|
|
17
16
|
var ClientReady = void 0;
|
|
18
17
|
var Namespace = void 0;
|
|
19
18
|
var Observability = void 0;
|
|
19
|
+
var ObservabilitySettings = void 0;
|
|
20
20
|
var ObservabilityState = void 0;
|
|
21
|
+
var PrivacyBanner = void 0;
|
|
21
22
|
var PrivacyNotice = void 0;
|
|
22
23
|
var ReactSurface = void 0;
|
|
23
24
|
//#endregion
|
|
24
|
-
export { ClientReady, InvocationListener, Namespace, Observability, ObservabilitySettings, ObservabilityState, OperationHandler, PrivacyNotice, ReactSurface, Translations };
|
|
25
|
+
export { ClientReady, Commands, InvocationListener, Namespace, Observability, ObservabilitySettings, ObservabilityState, OperationHandler, PrivacyBanner, PrivacyNotice, ReactSurface, Translations };
|
|
25
26
|
|
|
26
27
|
//# sourceMappingURL=capabilities.workerd.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.workerd.mjs","names":[],"sources":["../../src/capabilities/gen/workerd.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\n// GENERATED by dx-plugin — do not edit. Sliced from ../index.ts for the 'workerd' condition.\n\nimport * as ActivationEvents from '@dxos/app-framework/ActivationEvents';\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppCapability from '@dxos/app-toolkit/AppCapability';\n\nimport { translations } from '#translations';\
|
|
1
|
+
{"version":3,"file":"capabilities.workerd.mjs","names":[],"sources":["../../src/capabilities/gen/workerd.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\n// GENERATED by dx-plugin — do not edit. Sliced from ../index.ts for the 'workerd' condition.\n\nimport * as ActivationEvents from '@dxos/app-framework/ActivationEvents';\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppCapability from '@dxos/app-toolkit/AppCapability';\n\nimport { translations } from '#translations';\n\nexport const InvocationListener = Capability.lazyModule(\n 'InvocationListener',\n {\n requires: [Capabilities.OperationInvoker, AppCapabilities.ObservabilityMapping],\n provides: [],\n // Idle rather than Startup: contributed mappings are read live, so the listener only has to be\n // running before the first user action, not before the plugins that register events.\n activatesOn: ActivationEvents.Idle,\n },\n () => import('../invocation-listener.ts'),\n);\n\n// `#commands` resolves per condition: only a host with a CLI has anywhere to put them.\nexport const Commands = AppCapability.commands(() => import('#commands'));\n\nexport const OperationHandler = AppCapability.operationHandler(() => import('#operation-handler'));\n\nexport const Translations = AppCapability.translations(translations);\n\nexport const ClientReady = undefined;\nexport const Namespace = undefined;\nexport const Observability = undefined;\nexport const ObservabilitySettings = undefined;\nexport const ObservabilityState = undefined;\nexport const PrivacyBanner = undefined;\nexport const PrivacyNotice = undefined;\nexport const ReactSurface = undefined;\n"],"mappings":";;;;;;;AAcA,IAAa,qBAAqB,WAAW,WAC3C,sBACA;CACE,UAAU,CAAC,aAAa,kBAAkB,gBAAgB,oBAAoB;CAC9E,UAAU,CAAC;CAGX,aAAa,iBAAiB;AAChC,SACM,OAAO,kCACf;AAGA,IAAa,WAAW,cAAc,eAAe,OAAO,YAAY;AAExE,IAAa,mBAAmB,cAAc,uBAAuB,OAAO,qBAAqB;AAEjG,IAAa,eAAe,cAAc,aAAa,YAAY;AAEnE,IAAa,cAAc,KAAA;AAC3B,IAAa,YAAY,KAAA;AACzB,IAAa,gBAAgB,KAAA;AAC7B,IAAa,wBAAwB,KAAA;AACrC,IAAa,qBAAqB,KAAA;AAClC,IAAa,gBAAgB,KAAA;AAC7B,IAAa,gBAAgB,KAAA;AAC7B,IAAa,eAAe,KAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ObservabilityOperation, Settings } from "#types";
|
|
2
2
|
import { meta } from "#meta";
|
|
3
3
|
import "react";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import * as Hooks from "@dxos/app-framework/Hooks";
|
|
5
|
+
import * as SettingsScope from "@dxos/app-toolkit/SettingsScope";
|
|
6
6
|
import { Form } from "@dxos/react-ui-form";
|
|
7
|
+
import * as Banner from "@dxos/react-ui/Banner";
|
|
8
|
+
import * as UiHooks from "@dxos/react-ui/Hooks";
|
|
7
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
10
|
//#region src/containers/ObservabilitySettings/ObservabilitySettings.tsx
|
|
9
11
|
/**
|
|
@@ -11,9 +13,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
11
13
|
* directly, so enabling/disabling observability takes effect on the running services.
|
|
12
14
|
*/
|
|
13
15
|
var ObservabilitySettings = ({ subject }) => {
|
|
14
|
-
const { t } = useTranslation(meta.profile.key);
|
|
15
|
-
const { settings } = useSettingsState(subject.atom);
|
|
16
|
-
const { invokePromise } = useOperationInvoker();
|
|
16
|
+
const { t } = UiHooks.useTranslation(meta.profile.key);
|
|
17
|
+
const { settings } = Hooks.useSettingsState(subject.atom);
|
|
18
|
+
const { invokePromise } = Hooks.useOperationInvoker();
|
|
17
19
|
return /* @__PURE__ */ jsx(Form.Root, {
|
|
18
20
|
schema: Settings.Settings,
|
|
19
21
|
values: settings,
|
|
@@ -24,12 +26,13 @@ var ObservabilitySettings = ({ subject }) => {
|
|
|
24
26
|
}.enabled }),
|
|
25
27
|
children: /* @__PURE__ */ jsx(Form.Viewport, {
|
|
26
28
|
scroll: true,
|
|
27
|
-
children: /* @__PURE__ */ jsx(Form.Content, { children: /* @__PURE__ */ jsxs(Form.
|
|
28
|
-
|
|
29
|
+
children: /* @__PURE__ */ jsx(Form.Content, { children: /* @__PURE__ */ jsxs(Form.FieldSet, {
|
|
30
|
+
label: meta.profile.name ?? meta.profile.key,
|
|
31
|
+
actions: /* @__PURE__ */ jsx(SettingsScope.Root, { prefix: meta.profile.key }),
|
|
29
32
|
children: [/* @__PURE__ */ jsx(Banner.Root, {
|
|
30
33
|
valence: "info",
|
|
31
|
-
children: /* @__PURE__ */ jsx(Banner.
|
|
32
|
-
}), /* @__PURE__ */ jsx(Form.
|
|
34
|
+
children: /* @__PURE__ */ jsx(Banner.Body, { children: t("observability.description") })
|
|
35
|
+
}), /* @__PURE__ */ jsx(Form.Fields, {})]
|
|
33
36
|
}) })
|
|
34
37
|
})
|
|
35
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-ObservabilitySettings.mjs","names":[],"sources":["../../src/containers/ObservabilitySettings/ObservabilitySettings.tsx"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport
|
|
1
|
+
{"version":3,"file":"chunk-ObservabilitySettings.mjs","names":[],"sources":["../../src/containers/ObservabilitySettings/ObservabilitySettings.tsx"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport * as Hooks from '@dxos/app-framework/Hooks';\nimport type * as AppSurface from '@dxos/app-toolkit/AppSurface';\nimport * as SettingsScope from '@dxos/app-toolkit/SettingsScope';\nimport { Form } from '@dxos/react-ui-form';\nimport * as Banner from '@dxos/react-ui/Banner';\nimport * as UiHooks from '@dxos/react-ui/Hooks';\n\nimport { meta } from '#meta';\nimport { ObservabilityOperation, Settings } from '#types';\n\nexport type ObservabilitySettingsProps = AppSurface.SettingsData;\n\n/**\n * Edits are routed through {@link ObservabilityOperation.SetEnabled} rather than written to the atom\n * directly, so enabling/disabling observability takes effect on the running services.\n */\nexport const ObservabilitySettings = ({ subject }: ObservabilitySettingsProps) => {\n const { t } = UiHooks.useTranslation(meta.profile.key);\n const { settings } = Hooks.useSettingsState<Settings.Settings>(subject.atom);\n const { invokePromise } = Hooks.useOperationInvoker();\n\n return (\n <Form.Root\n schema={Settings.Settings}\n values={settings}\n variant='settings'\n onValuesChanged={(values) =>\n void invokePromise(ObservabilityOperation.SetEnabled, { state: { ...settings, ...values }.enabled })\n }\n >\n <Form.Viewport scroll>\n <Form.Content>\n <Form.FieldSet\n label={meta.profile.name ?? meta.profile.key}\n actions={<SettingsScope.Root prefix={meta.profile.key} />}\n >\n <Banner.Root valence='info'>\n <Banner.Body>{t('observability.description')}</Banner.Body>\n </Banner.Root>\n <Form.Fields />\n </Form.FieldSet>\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n );\n};\n\nObservabilitySettings.displayName = 'ObservabilitySettings';\n"],"mappings":";;;;;;;;;;;;;;AAsBA,IAAa,yBAAyB,EAAE,cAA0C;CAChF,MAAM,EAAE,MAAM,QAAQ,eAAe,KAAK,QAAQ,GAAG;CACrD,MAAM,EAAE,aAAa,MAAM,iBAAoC,QAAQ,IAAI;CAC3E,MAAM,EAAE,kBAAkB,MAAM,oBAAoB;CAEpD,OACE,oBAAC,KAAK,MAAN;EACE,QAAQ,SAAS;EACjB,QAAQ;EACR,SAAQ;EACR,kBAAkB,WAChB,KAAK,cAAc,uBAAuB,YAAY,EAAE,OAAO;GAAE,GAAG;GAAU,GAAG;EAAO,EAAE,QAAQ,CAAC;EAGrG,UAAA,oBAAC,KAAK,UAAN;GAAe,QAAA;GACb,UAAA,oBAAC,KAAK,SAAN,EAAA,UACE,qBAAC,KAAK,UAAN;IACE,OAAO,KAAK,QAAQ,QAAQ,KAAK,QAAQ;IACzC,SAAS,oBAAC,cAAc,MAAf,EAAoB,QAAQ,KAAK,QAAQ,IAAM,CAAA;IAF1D,UAAA,CAIE,oBAAC,OAAO,MAAR;KAAa,SAAQ;KACnB,UAAA,oBAAC,OAAO,MAAR,EAAA,UAAc,EAAE,2BAA2B,EAAe,CAAA;IAC/C,CAAA,GACb,oBAAC,KAAK,QAAN,CAAc,CAAA,CACD;GACH,CAAA,EAAA,CAAA;EACD,CAAA;CACN,CAAA;AAEf;AAEA,sBAAsB,cAAc"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as Capabilities from "@dxos/app-framework/Capabilities";
|
|
2
2
|
import * as Capability from "@dxos/app-framework/Capability";
|
|
3
|
-
import { ObservabilityCapabilities, ObservabilityOperation } from "#types";
|
|
4
3
|
import * as Effect from "effect/Effect";
|
|
4
|
+
import { ObservabilityCapabilities, ObservabilityOperation } from "#types";
|
|
5
5
|
import { log } from "@dxos/log";
|
|
6
|
-
import
|
|
6
|
+
import * as ObservabilityClientProvider from "@dxos/observability/ObservabilityClientProvider";
|
|
7
7
|
//#region src/capabilities/client-ready.ts
|
|
8
8
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-observability/src/capabilities/client-ready.ts";
|
|
9
9
|
var client_ready_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
@@ -41,7 +41,7 @@ var client_ready_default = Capability.makeModule(Effect.fnUntraced(function* ()
|
|
|
41
41
|
L: 47,
|
|
42
42
|
S: this
|
|
43
43
|
});
|
|
44
|
-
yield* observability.addDataProvider(
|
|
44
|
+
yield* observability.addDataProvider(ObservabilityClientProvider.Client.identityProvider(client.services.services));
|
|
45
45
|
log("client-ready: identity data provider added", void 0, {
|
|
46
46
|
"~LogMeta": "~LogMeta",
|
|
47
47
|
F: __dxlog_file,
|
|
@@ -54,51 +54,51 @@ var client_ready_default = Capability.makeModule(Effect.fnUntraced(function* ()
|
|
|
54
54
|
L: 51,
|
|
55
55
|
S: this
|
|
56
56
|
});
|
|
57
|
-
yield* observability.addDataProvider(
|
|
57
|
+
yield* observability.addDataProvider(ObservabilityClientProvider.Client.networkMetricsProvider(client.services.services));
|
|
58
58
|
log("client-ready: network metrics data provider added", void 0, {
|
|
59
59
|
"~LogMeta": "~LogMeta",
|
|
60
60
|
F: __dxlog_file,
|
|
61
|
-
L:
|
|
61
|
+
L: 55,
|
|
62
62
|
S: this
|
|
63
63
|
});
|
|
64
64
|
log("client-ready: adding runtime metrics data provider", void 0, {
|
|
65
65
|
"~LogMeta": "~LogMeta",
|
|
66
66
|
F: __dxlog_file,
|
|
67
|
-
L:
|
|
67
|
+
L: 57,
|
|
68
68
|
S: this
|
|
69
69
|
});
|
|
70
|
-
yield* observability.addDataProvider(
|
|
70
|
+
yield* observability.addDataProvider(ObservabilityClientProvider.Client.runtimeMetricsProvider(client.services.services));
|
|
71
71
|
log("client-ready: runtime metrics data provider added", void 0, {
|
|
72
72
|
"~LogMeta": "~LogMeta",
|
|
73
73
|
F: __dxlog_file,
|
|
74
|
-
L:
|
|
74
|
+
L: 61,
|
|
75
75
|
S: this
|
|
76
76
|
});
|
|
77
77
|
log("client-ready: adding space metrics data provider", void 0, {
|
|
78
78
|
"~LogMeta": "~LogMeta",
|
|
79
79
|
F: __dxlog_file,
|
|
80
|
-
L:
|
|
80
|
+
L: 63,
|
|
81
81
|
S: this
|
|
82
82
|
});
|
|
83
|
-
yield* observability.addDataProvider(
|
|
83
|
+
yield* observability.addDataProvider(ObservabilityClientProvider.Client.spacesMetricsProvider(client));
|
|
84
84
|
log("client-ready: space metrics data provider added", void 0, {
|
|
85
85
|
"~LogMeta": "~LogMeta",
|
|
86
86
|
F: __dxlog_file,
|
|
87
|
-
L:
|
|
87
|
+
L: 65,
|
|
88
88
|
S: this
|
|
89
89
|
});
|
|
90
90
|
log("client-ready: adding document metrics data provider", void 0, {
|
|
91
91
|
"~LogMeta": "~LogMeta",
|
|
92
92
|
F: __dxlog_file,
|
|
93
|
-
L:
|
|
93
|
+
L: 67,
|
|
94
94
|
S: this
|
|
95
95
|
});
|
|
96
|
-
yield* observability.addDataProvider(
|
|
97
|
-
yield* observability.addDataProvider(
|
|
96
|
+
yield* observability.addDataProvider(ObservabilityClientProvider.Client.documentsMetricsProvider(client));
|
|
97
|
+
yield* observability.addDataProvider(ObservabilityClientProvider.Client.syncMetricsProvider(client));
|
|
98
98
|
log("client-ready: document metrics data provider added", void 0, {
|
|
99
99
|
"~LogMeta": "~LogMeta",
|
|
100
100
|
F: __dxlog_file,
|
|
101
|
-
L:
|
|
101
|
+
L: 70,
|
|
102
102
|
S: this
|
|
103
103
|
});
|
|
104
104
|
return [];
|