@dxos/plugin-observability 0.8.4-main.ae835ea → 0.8.4-main.bc674ce
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/browser/app-graph-builder-6KDHLPUO.mjs +44 -0
- package/dist/lib/browser/app-graph-builder-6KDHLPUO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-W7QWKVS3.mjs → chunk-3XZDP7JS.mjs} +1 -1
- package/dist/lib/browser/chunk-3XZDP7JS.mjs.map +7 -0
- package/dist/lib/browser/chunk-PYNLPSSZ.mjs +133 -0
- package/dist/lib/browser/chunk-PYNLPSSZ.mjs.map +7 -0
- package/dist/lib/browser/chunk-SN7DIHQG.mjs +102 -0
- package/dist/lib/browser/chunk-SN7DIHQG.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +23 -0
- package/dist/lib/browser/cli/index.mjs.map +7 -0
- package/dist/lib/browser/client-ready-YWKHC5S2.mjs +107 -0
- package/dist/lib/browser/client-ready-YWKHC5S2.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +72 -102
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operation-resolver-4ROZET3B.mjs +82 -0
- package/dist/lib/browser/operation-resolver-4ROZET3B.mjs.map +7 -0
- package/dist/lib/browser/react-surface-SJTESQAF.mjs +37 -0
- package/dist/lib/browser/react-surface-SJTESQAF.mjs.map +7 -0
- package/dist/lib/browser/settings-SQ4ICR7F.mjs +35 -0
- package/dist/lib/browser/settings-SQ4ICR7F.mjs.map +7 -0
- package/dist/lib/browser/state-IKCFXHYV.mjs +31 -0
- package/dist/lib/browser/state-IKCFXHYV.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +12 -4
- package/dist/lib/node-esm/app-graph-builder-4YHKY4SP.mjs +45 -0
- package/dist/lib/node-esm/app-graph-builder-4YHKY4SP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-AVJTLRX5.mjs → chunk-2ECMMPZY.mjs} +1 -1
- package/dist/lib/node-esm/chunk-2ECMMPZY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-4T4N2NJZ.mjs +134 -0
- package/dist/lib/node-esm/chunk-4T4N2NJZ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HNMV7ZZZ.mjs +103 -0
- package/dist/lib/node-esm/chunk-HNMV7ZZZ.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +24 -0
- package/dist/lib/node-esm/cli/index.mjs.map +7 -0
- package/dist/lib/node-esm/client-ready-YLYG6F6H.mjs +108 -0
- package/dist/lib/node-esm/client-ready-YLYG6F6H.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +72 -102
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/operation-resolver-UI7ZINXR.mjs +83 -0
- package/dist/lib/node-esm/operation-resolver-UI7ZINXR.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-D53VLGHY.mjs +38 -0
- package/dist/lib/node-esm/react-surface-D53VLGHY.mjs.map +7 -0
- package/dist/lib/node-esm/settings-WIRCHLWE.mjs +36 -0
- package/dist/lib/node-esm/settings-WIRCHLWE.mjs.map +7 -0
- package/dist/lib/node-esm/state-MQR4PNOT.mjs +32 -0
- package/dist/lib/node-esm/state-MQR4PNOT.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +12 -4
- package/dist/types/src/ObservabilityPlugin.d.ts +2 -1
- package/dist/types/src/ObservabilityPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/client-ready/client-ready.d.ts +10 -0
- package/dist/types/src/capabilities/client-ready/client-ready.d.ts.map +1 -0
- package/dist/types/src/capabilities/client-ready/index.d.ts +6 -0
- package/dist/types/src/capabilities/client-ready/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +6 -16
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +5 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +7 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/index.d.ts +7 -0
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/settings.d.ts +9 -0
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/index.d.ts +11 -0
- package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/state.d.ts +13 -0
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
- package/dist/types/src/cli/index.d.ts +2 -0
- package/dist/types/src/cli/index.d.ts.map +1 -0
- package/dist/types/src/cli/plugin.d.ts +3 -0
- package/dist/types/src/cli/plugin.d.ts.map +1 -0
- package/dist/types/src/components/FeedbackForm.d.ts +3 -3
- package/dist/types/src/components/FeedbackForm.d.ts.map +1 -1
- package/dist/types/src/components/FeedbackForm.stories.d.ts +34 -0
- package/dist/types/src/components/FeedbackForm.stories.d.ts.map +1 -0
- package/dist/types/src/components/HelpContainer.d.ts.map +1 -1
- package/dist/types/src/components/ObservabilitySettings.d.ts +4 -2
- package/dist/types/src/components/ObservabilitySettings.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -2
- package/dist/types/src/types/capabilities.d.ts +27 -0
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/events.d.ts +6 -0
- package/dist/types/src/types/events.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +55 -307
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +43 -33
- package/src/ObservabilityPlugin.ts +45 -45
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +42 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/client-ready/client-ready.ts +97 -0
- package/src/capabilities/client-ready/index.ts +7 -0
- package/src/capabilities/index.ts +6 -10
- package/src/capabilities/operation-resolver/index.ts +7 -0
- package/src/capabilities/operation-resolver/operation-resolver.ts +82 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +34 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +33 -0
- package/src/capabilities/state/index.ts +7 -0
- package/src/capabilities/state/state.ts +30 -0
- package/src/cli/index.ts +5 -0
- package/src/cli/plugin.ts +27 -0
- package/src/components/FeedbackForm.stories.tsx +33 -0
- package/src/components/FeedbackForm.tsx +11 -67
- package/src/components/HelpContainer.tsx +18 -23
- package/src/components/ObservabilitySettings.tsx +10 -5
- package/src/index.ts +1 -2
- package/src/meta.ts +2 -2
- package/src/translations.ts +2 -2
- package/src/types/capabilities.ts +34 -0
- package/src/types/events.ts +14 -0
- package/src/types/index.ts +2 -0
- package/src/types/schema.ts +56 -194
- package/dist/lib/browser/app-graph-builder-4VCXIPB7.mjs +0 -44
- package/dist/lib/browser/app-graph-builder-4VCXIPB7.mjs.map +0 -7
- package/dist/lib/browser/chunk-EC7HTFA5.mjs +0 -18
- package/dist/lib/browser/chunk-EC7HTFA5.mjs.map +0 -7
- package/dist/lib/browser/chunk-GJWFKBKM.mjs +0 -179
- package/dist/lib/browser/chunk-GJWFKBKM.mjs.map +0 -7
- package/dist/lib/browser/chunk-IFPEPNGO.mjs +0 -191
- package/dist/lib/browser/chunk-IFPEPNGO.mjs.map +0 -7
- package/dist/lib/browser/chunk-W7QWKVS3.mjs.map +0 -7
- package/dist/lib/browser/client-ready-4RGNCIGS.mjs +0 -102
- package/dist/lib/browser/client-ready-4RGNCIGS.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-3TZAFHGG.mjs +0 -77
- package/dist/lib/browser/intent-resolver-3TZAFHGG.mjs.map +0 -7
- package/dist/lib/browser/react-surface-NLKDFJBB.mjs +0 -32
- package/dist/lib/browser/react-surface-NLKDFJBB.mjs.map +0 -7
- package/dist/lib/browser/settings-27DLWAXK.mjs +0 -25
- package/dist/lib/browser/settings-27DLWAXK.mjs.map +0 -7
- package/dist/lib/browser/state-FJD6K3ZZ.mjs +0 -26
- package/dist/lib/browser/state-FJD6K3ZZ.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-C4UWA6OD.mjs +0 -45
- package/dist/lib/node-esm/app-graph-builder-C4UWA6OD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AVJTLRX5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HACSZKXD.mjs +0 -19
- package/dist/lib/node-esm/chunk-HACSZKXD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JNYBWNIA.mjs +0 -180
- package/dist/lib/node-esm/chunk-JNYBWNIA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TXFKNLDI.mjs +0 -192
- package/dist/lib/node-esm/chunk-TXFKNLDI.mjs.map +0 -7
- package/dist/lib/node-esm/client-ready-4IKY5KJC.mjs +0 -103
- package/dist/lib/node-esm/client-ready-4IKY5KJC.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-5D5SXGKQ.mjs +0 -78
- package/dist/lib/node-esm/intent-resolver-5D5SXGKQ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-SGL7HXM3.mjs +0 -33
- package/dist/lib/node-esm/react-surface-SGL7HXM3.mjs.map +0 -7
- package/dist/lib/node-esm/settings-P4EHRXYR.mjs +0 -26
- package/dist/lib/node-esm/settings-P4EHRXYR.mjs.map +0 -7
- package/dist/lib/node-esm/state-XNBMNLB7.mjs +0 -27
- package/dist/lib/node-esm/state-XNBMNLB7.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/capabilities.d.ts +0 -12
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/client-ready.d.ts +0 -10
- package/dist/types/src/capabilities/client-ready.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -7
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings.d.ts +0 -4
- package/dist/types/src/capabilities/settings.d.ts.map +0 -1
- package/dist/types/src/capabilities/state.d.ts +0 -6
- package/dist/types/src/capabilities/state.d.ts.map +0 -1
- package/dist/types/src/events.d.ts +0 -5
- package/dist/types/src/events.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder.ts +0 -47
- package/src/capabilities/capabilities.ts +0 -23
- package/src/capabilities/client-ready.ts +0 -98
- package/src/capabilities/intent-resolver.ts +0 -69
- package/src/capabilities/react-surface.tsx +0 -27
- package/src/capabilities/settings.ts +0 -21
- package/src/capabilities/state.ts +0 -22
- package/src/events.ts +0 -14
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/types/schema.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Type } from '@dxos/echo';\n\nimport { meta } from '../meta';\n\nconst nonEmpty = <S extends Schema.Schema.Any>(field: string) =>\n Schema.nonEmptyString<S>({ message: () => `Missing field: ${field}` });\n\nconst maxLength = <S extends Schema.Schema.Any>(field: string, length: number) =>\n Schema.maxLength<S>(length, { message: () => `Exceeds max length (${length}): ${field}` });\n\nexport const UserFeedback = Schema.Struct({\n message: Schema.String.pipe(nonEmpty('Feedback'), maxLength('Feedback', 32_768)),\n});\n\nexport type UserFeedback = Schema.Schema.Type<typeof UserFeedback>;\n\nexport namespace ObservabilityAction {\n export class Toggle extends Schema.TaggedClass<Toggle>()(`${meta.id}/action/toggle`, {\n input: Schema.Struct({\n state: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Boolean,\n }) {}\n\n export class CaptureUserFeedback extends Schema.TaggedClass<CaptureUserFeedback>()(\n `${meta.id}/action/capture-feedback`,\n {\n input: UserFeedback,\n output: Schema.Void,\n },\n ) {}\n\n /** Base intent for sending events. */\n export class BaseSendEvent extends Schema.TaggedClass<BaseSendEvent>()(`${meta.id}/action/send-event`, {\n input: Schema.Struct({\n name: Schema.String,\n properties: Schema.optional(Schema.Object),\n }),\n output: Schema.Void,\n }) {}\n\n /** Intent with strict types for first-party events. */\n export class SendEvent extends Schema.TaggedClass<SendEvent>()(`${meta.id}/action/send-event`, {\n // NOTE: Sort alphabetically by name.\n input: Schema.Union(\n Schema.Struct({\n name: Schema.Literal('identity.create'),\n }),\n Schema.Struct({\n name: Schema.Literal('identity.join'),\n }),\n Schema.Struct({\n name: Schema.Literal('identity.recover'),\n }),\n Schema.Struct({\n name: Schema.Literal('identity.share'),\n }),\n Schema.Struct({\n name: Schema.Literal('navigation.activate'),\n properties: Schema.Struct({\n subjectId: Schema.String,\n typename: Schema.optional(Schema.String),\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('page.load'),\n properties: Schema.Struct({\n loadDuration: Schema.Number,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('plugins.toggle'),\n properties: Schema.Struct({\n plugin: Schema.String,\n enabled: Schema.Boolean,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.create'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.join'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.limit'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.lock'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.migrate'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n targetVersion: Schema.optional(Schema.String),\n version: Schema.optional(Schema.String),\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.schema.use'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n typename: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.schema.add'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n objectId: Schema.String,\n typename: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.object.add'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n objectId: Schema.String,\n typename: Schema.optional(Schema.String),\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.share'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.unlock'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.create'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.delete'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.message.add'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n threadLength: Schema.Number,\n messageId: Schema.String,\n messageLength: Schema.Number,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.message.delete'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n messageId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.message.undo-delete'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n messageId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.message.update'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n messageId: Schema.String,\n messageLength: Schema.Number,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.toggle-resolved'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.undo-delete'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n }),\n }),\n ),\n output: Schema.Void,\n }) {}\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Schema", "Type", "nonEmpty", "field", "nonEmptyString", "message", "maxLength", "length", "UserFeedback", "Struct", "String", "pipe", "ObservabilityAction", "Toggle", "TaggedClass", "meta", "id", "input", "state", "optional", "Boolean", "output", "CaptureUserFeedback", "Void", "BaseSendEvent", "name", "properties", "Object", "SendEvent", "Union", "Literal", "subjectId", "typename", "loadDuration", "Number", "plugin", "enabled", "spaceId", "Type", "SpaceId", "targetVersion", "version", "objectId", "threadId", "threadLength", "messageId", "messageLength"]
|
|
7
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
ObservabilityAction
|
|
4
|
-
} from "./chunk-TXFKNLDI.mjs";
|
|
5
|
-
import {
|
|
6
|
-
ClientCapability,
|
|
7
|
-
ObservabilityCapabilities
|
|
8
|
-
} from "./chunk-HACSZKXD.mjs";
|
|
9
|
-
import {
|
|
10
|
-
meta
|
|
11
|
-
} from "./chunk-AVJTLRX5.mjs";
|
|
12
|
-
|
|
13
|
-
// src/capabilities/client-ready.ts
|
|
14
|
-
import { Capabilities, LayoutAction, SettingsAction, contributes, createIntent } from "@dxos/app-framework";
|
|
15
|
-
import { setupTelemetryListeners } from "@dxos/observability";
|
|
16
|
-
var client_ready_default = (async ({ context, namespace, observability }) => {
|
|
17
|
-
const manager = context.getCapability(Capabilities.PluginManager);
|
|
18
|
-
const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
|
|
19
|
-
const state = context.getCapability(ObservabilityCapabilities.State);
|
|
20
|
-
const client = context.getCapability(ClientCapability);
|
|
21
|
-
const sendPrivacyNotice = async () => {
|
|
22
|
-
const environment = client?.config?.values.runtime?.app?.env?.DX_ENVIRONMENT;
|
|
23
|
-
const notify = environment && environment !== "ci" && !environment.endsWith(".local") && !environment.endsWith(".lan");
|
|
24
|
-
if (!state.notified && notify) {
|
|
25
|
-
await dispatch(createIntent(LayoutAction.AddToast, {
|
|
26
|
-
part: "toast",
|
|
27
|
-
subject: {
|
|
28
|
-
id: `${meta.id}/notice`,
|
|
29
|
-
title: [
|
|
30
|
-
"observability toast label",
|
|
31
|
-
{
|
|
32
|
-
ns: meta.id
|
|
33
|
-
}
|
|
34
|
-
],
|
|
35
|
-
description: [
|
|
36
|
-
"observability toast description",
|
|
37
|
-
{
|
|
38
|
-
ns: meta.id
|
|
39
|
-
}
|
|
40
|
-
],
|
|
41
|
-
duration: Infinity,
|
|
42
|
-
icon: "ph--info--regular",
|
|
43
|
-
actionLabel: [
|
|
44
|
-
"observability toast action label",
|
|
45
|
-
{
|
|
46
|
-
ns: meta.id
|
|
47
|
-
}
|
|
48
|
-
],
|
|
49
|
-
actionAlt: [
|
|
50
|
-
"observability toast action alt",
|
|
51
|
-
{
|
|
52
|
-
ns: meta.id
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
closeLabel: [
|
|
56
|
-
"observability toast close label",
|
|
57
|
-
{
|
|
58
|
-
ns: meta.id
|
|
59
|
-
}
|
|
60
|
-
],
|
|
61
|
-
onAction: () => dispatch(createIntent(SettingsAction.Open, {
|
|
62
|
-
plugin: meta.id
|
|
63
|
-
}))
|
|
64
|
-
}
|
|
65
|
-
}));
|
|
66
|
-
state.notified = true;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
manager.enabled.map((plugin) => observability?.setTag(`pluginEnabled-${plugin}`, "true", "errors"));
|
|
70
|
-
await dispatch(createIntent(ObservabilityAction.SendEvent, {
|
|
71
|
-
name: "page.load",
|
|
72
|
-
properties: {
|
|
73
|
-
// TODO(wittjosiah): These apis are deprecated. Is there a better way to find this information?
|
|
74
|
-
loadDuration: window.performance.timing.loadEventEnd - window.performance.timing.loadEventStart
|
|
75
|
-
}
|
|
76
|
-
}));
|
|
77
|
-
const cleanup = setupTelemetryListeners(namespace, client, observability);
|
|
78
|
-
await Promise.all([
|
|
79
|
-
observability.setIdentityTags(client.services.services),
|
|
80
|
-
observability.startRuntimeMetrics(client),
|
|
81
|
-
observability.startNetworkMetrics(client.services.services),
|
|
82
|
-
observability.startSpacesMetrics(client, namespace)
|
|
83
|
-
]);
|
|
84
|
-
if (client.halo.identity.get()) {
|
|
85
|
-
await sendPrivacyNotice();
|
|
86
|
-
} else {
|
|
87
|
-
const subscription = client.halo.identity.subscribe(async (identity) => {
|
|
88
|
-
if (identity && observability) {
|
|
89
|
-
await sendPrivacyNotice();
|
|
90
|
-
await observability.setIdentityTags(client.services.services);
|
|
91
|
-
subscription.unsubscribe();
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
return contributes(ObservabilityCapabilities.Observability, observability, async () => {
|
|
96
|
-
cleanup();
|
|
97
|
-
await observability.close();
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
export {
|
|
101
|
-
client_ready_default as default
|
|
102
|
-
};
|
|
103
|
-
//# sourceMappingURL=client-ready-4IKY5KJC.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/client-ready.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n Capabilities,\n LayoutAction,\n type PluginContext,\n SettingsAction,\n contributes,\n createIntent,\n} from '@dxos/app-framework';\nimport { type Observability, setupTelemetryListeners } from '@dxos/observability';\n\nimport { meta } from '../meta';\nimport { ObservabilityAction } from '../types';\n\nimport { ClientCapability, ObservabilityCapabilities } from './capabilities';\n\ntype ClientReadyOptions = {\n context: PluginContext;\n namespace: string;\n observability: Observability;\n};\n\nexport default async ({ context, namespace, observability }: ClientReadyOptions) => {\n const manager = context.getCapability(Capabilities.PluginManager);\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const state = context.getCapability(ObservabilityCapabilities.State);\n const client = context.getCapability(ClientCapability);\n\n const sendPrivacyNotice = async () => {\n const environment = client?.config?.values.runtime?.app?.env?.DX_ENVIRONMENT;\n const notify =\n environment && environment !== 'ci' && !environment.endsWith('.local') && !environment.endsWith('.lan');\n if (!state.notified && notify) {\n await dispatch(\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${meta.id}/notice`,\n title: ['observability toast label', { ns: meta.id }],\n description: ['observability toast description', { ns: meta.id }],\n duration: Infinity,\n icon: 'ph--info--regular',\n actionLabel: ['observability toast action label', { ns: meta.id }],\n actionAlt: ['observability toast action alt', { ns: meta.id }],\n closeLabel: ['observability toast close label', { ns: meta.id }],\n onAction: () => dispatch(createIntent(SettingsAction.Open, { plugin: meta.id })),\n },\n }),\n );\n\n state.notified = true;\n }\n };\n\n // Ensure errors are tagged with enabled plugins to help with reproductions.\n manager.enabled.map((plugin) => observability?.setTag(`pluginEnabled-${plugin}`, 'true', 'errors'));\n\n await dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'page.load',\n properties: {\n // TODO(wittjosiah): These apis are deprecated. Is there a better way to find this information?\n loadDuration: window.performance.timing.loadEventEnd - window.performance.timing.loadEventStart,\n },\n }),\n );\n\n // Start client observability (i.e. not running as shared worker)\n // TODO(nf): how to prevent multiple instances for single shared worker?\n const cleanup = setupTelemetryListeners(namespace, client, observability);\n\n await Promise.all([\n observability.setIdentityTags(client.services.services),\n observability.startRuntimeMetrics(client),\n observability.startNetworkMetrics(client.services.services),\n observability.startSpacesMetrics(client, namespace),\n ]);\n\n if (client.halo.identity.get()) {\n await sendPrivacyNotice();\n } else {\n const subscription = client.halo.identity.subscribe(async (identity) => {\n if (identity && observability) {\n await sendPrivacyNotice();\n await observability.setIdentityTags(client.services.services);\n subscription.unsubscribe();\n }\n });\n }\n\n return contributes(ObservabilityCapabilities.Observability, observability, async () => {\n cleanup();\n await observability.close();\n });\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;AAIA,SACEA,cACAC,cAEAC,gBACAC,aACAC,oBACK;AACP,SAA6BC,+BAA+B;AAa5D,IAAA,wBAAe,OAAO,EAAEC,SAASC,WAAWC,cAAa,MAAsB;AAC7E,QAAMC,UAAUH,QAAQI,cAAcC,aAAaC,aAAa;AAChE,QAAM,EAAEC,iBAAiBC,SAAQ,IAAKR,QAAQI,cAAcC,aAAaI,gBAAgB;AACzF,QAAMC,QAAQV,QAAQI,cAAcO,0BAA0BC,KAAK;AACnE,QAAMC,SAASb,QAAQI,cAAcU,gBAAAA;AAErC,QAAMC,oBAAoB,YAAA;AACxB,UAAMC,cAAcH,QAAQI,QAAQC,OAAOC,SAASC,KAAKC,KAAKC;AAC9D,UAAMC,SACJP,eAAeA,gBAAgB,QAAQ,CAACA,YAAYQ,SAAS,QAAA,KAAa,CAACR,YAAYQ,SAAS,MAAA;AAClG,QAAI,CAACd,MAAMe,YAAYF,QAAQ;AAC7B,YAAMf,SACJkB,aAAaC,aAAaC,UAAU;QAClCC,MAAM;QACNC,SAAS;UACPC,IAAI,GAAGC,KAAKD,EAAE;UACdE,OAAO;YAAC;YAA6B;cAAEC,IAAIF,KAAKD;YAAG;;UACnDI,aAAa;YAAC;YAAmC;cAAED,IAAIF,KAAKD;YAAG;;UAC/DK,UAAUC;UACVC,MAAM;UACNC,aAAa;YAAC;YAAoC;cAAEL,IAAIF,KAAKD;YAAG;;UAChES,WAAW;YAAC;YAAkC;cAAEN,IAAIF,KAAKD;YAAG;;UAC5DU,YAAY;YAAC;YAAmC;cAAEP,IAAIF,KAAKD;YAAG;;UAC9DW,UAAU,MAAMlC,SAASkB,aAAaiB,eAAeC,MAAM;YAAEC,QAAQb,KAAKD;UAAG,CAAA,CAAA;QAC/E;MACF,CAAA,CAAA;AAGFrB,YAAMe,WAAW;IACnB;EACF;AAGAtB,UAAQ2C,QAAQC,IAAI,CAACF,WAAW3C,eAAe8C,OAAO,iBAAiBH,MAAAA,IAAU,QAAQ,QAAA,CAAA;AAEzF,QAAMrC,SACJkB,aAAauB,oBAAoBC,WAAW;IAC1CC,MAAM;IACNC,YAAY;;MAEVC,cAAcC,OAAOC,YAAYC,OAAOC,eAAeH,OAAOC,YAAYC,OAAOE;IACnF;EACF,CAAA,CAAA;AAKF,QAAMC,UAAUC,wBAAwB3D,WAAWY,QAAQX,aAAAA;AAE3D,QAAM2D,QAAQC,IAAI;IAChB5D,cAAc6D,gBAAgBlD,OAAOmD,SAASA,QAAQ;IACtD9D,cAAc+D,oBAAoBpD,MAAAA;IAClCX,cAAcgE,oBAAoBrD,OAAOmD,SAASA,QAAQ;IAC1D9D,cAAciE,mBAAmBtD,QAAQZ,SAAAA;GAC1C;AAED,MAAIY,OAAOuD,KAAKC,SAASC,IAAG,GAAI;AAC9B,UAAMvD,kBAAAA;EACR,OAAO;AACL,UAAMwD,eAAe1D,OAAOuD,KAAKC,SAASG,UAAU,OAAOH,aAAAA;AACzD,UAAIA,YAAYnE,eAAe;AAC7B,cAAMa,kBAAAA;AACN,cAAMb,cAAc6D,gBAAgBlD,OAAOmD,SAASA,QAAQ;AAC5DO,qBAAaE,YAAW;MAC1B;IACF,CAAA;EACF;AAEA,SAAOC,YAAY/D,0BAA0BgE,eAAezE,eAAe,YAAA;AACzEyD,YAAAA;AACA,UAAMzD,cAAc0E,MAAK;EAC3B,CAAA;AACF;",
|
|
6
|
-
"names": ["Capabilities", "LayoutAction", "SettingsAction", "contributes", "createIntent", "setupTelemetryListeners", "context", "namespace", "observability", "manager", "getCapability", "Capabilities", "PluginManager", "dispatchPromise", "dispatch", "IntentDispatcher", "state", "ObservabilityCapabilities", "State", "client", "ClientCapability", "sendPrivacyNotice", "environment", "config", "values", "runtime", "app", "env", "DX_ENVIRONMENT", "notify", "endsWith", "notified", "createIntent", "LayoutAction", "AddToast", "part", "subject", "id", "meta", "title", "ns", "description", "duration", "Infinity", "icon", "actionLabel", "actionAlt", "closeLabel", "onAction", "SettingsAction", "Open", "plugin", "enabled", "map", "setTag", "ObservabilityAction", "SendEvent", "name", "properties", "loadDuration", "window", "performance", "timing", "loadEventEnd", "loadEventStart", "cleanup", "setupTelemetryListeners", "Promise", "all", "setIdentityTags", "services", "startRuntimeMetrics", "startNetworkMetrics", "startSpacesMetrics", "halo", "identity", "get", "subscription", "subscribe", "unsubscribe", "contributes", "Observability", "close"]
|
|
7
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
ObservabilityAction
|
|
4
|
-
} from "./chunk-TXFKNLDI.mjs";
|
|
5
|
-
import {
|
|
6
|
-
ClientCapability,
|
|
7
|
-
ObservabilityCapabilities
|
|
8
|
-
} from "./chunk-HACSZKXD.mjs";
|
|
9
|
-
import {
|
|
10
|
-
meta
|
|
11
|
-
} from "./chunk-AVJTLRX5.mjs";
|
|
12
|
-
|
|
13
|
-
// src/capabilities/intent-resolver.ts
|
|
14
|
-
import { Capabilities, IntentAction, contributes, createResolver } from "@dxos/app-framework";
|
|
15
|
-
import { log } from "@dxos/log";
|
|
16
|
-
import { getTelemetryIdentity, storeObservabilityDisabled } from "@dxos/observability";
|
|
17
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-observability/src/capabilities/intent-resolver.ts";
|
|
18
|
-
var intent_resolver_default = (({ context, namespace }) => contributes(Capabilities.IntentResolver, [
|
|
19
|
-
createResolver({
|
|
20
|
-
intent: IntentAction.Track,
|
|
21
|
-
resolve: (intent) => {
|
|
22
|
-
log.info("intent", {
|
|
23
|
-
intent
|
|
24
|
-
}, {
|
|
25
|
-
F: __dxlog_file,
|
|
26
|
-
L: 20,
|
|
27
|
-
S: void 0,
|
|
28
|
-
C: (f, a) => f(...a)
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}),
|
|
32
|
-
createResolver({
|
|
33
|
-
intent: ObservabilityAction.Toggle,
|
|
34
|
-
resolve: async ({ state }) => {
|
|
35
|
-
const client = context.getCapability(ClientCapability);
|
|
36
|
-
const observability = context.getCapability(ObservabilityCapabilities.Observability);
|
|
37
|
-
const settings = context.getCapability(Capabilities.SettingsStore).getStore(meta.id).value;
|
|
38
|
-
settings.enabled = state ?? !settings.enabled;
|
|
39
|
-
observability.track({
|
|
40
|
-
...getTelemetryIdentity(client),
|
|
41
|
-
action: "observability.toggle",
|
|
42
|
-
properties: {
|
|
43
|
-
enabled: settings.enabled
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
observability.setMode(settings.enabled ? "basic" : "disabled");
|
|
47
|
-
await storeObservabilityDisabled(namespace, !settings.enabled);
|
|
48
|
-
return {
|
|
49
|
-
data: settings.enabled
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
}),
|
|
53
|
-
createResolver({
|
|
54
|
-
intent: ObservabilityAction.SendEvent,
|
|
55
|
-
resolve: (data) => {
|
|
56
|
-
const client = context.getCapability(ClientCapability);
|
|
57
|
-
const properties = "properties" in data ? data.properties : {};
|
|
58
|
-
void context.waitForCapability(ObservabilityCapabilities.Observability).then((observability) => {
|
|
59
|
-
observability.track({
|
|
60
|
-
...getTelemetryIdentity(client),
|
|
61
|
-
action: data.name,
|
|
62
|
-
properties
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}),
|
|
67
|
-
createResolver({
|
|
68
|
-
intent: ObservabilityAction.CaptureUserFeedback,
|
|
69
|
-
resolve: async (data) => {
|
|
70
|
-
const observability = context.getCapability(ObservabilityCapabilities.Observability);
|
|
71
|
-
observability.captureUserFeedback(data.message);
|
|
72
|
-
}
|
|
73
|
-
})
|
|
74
|
-
]));
|
|
75
|
-
export {
|
|
76
|
-
intent_resolver_default as default
|
|
77
|
-
};
|
|
78
|
-
//# sourceMappingURL=intent-resolver-5D5SXGKQ.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/intent-resolver.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, IntentAction, type PluginContext, contributes, createResolver } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { getTelemetryIdentity, storeObservabilityDisabled } from '@dxos/observability';\n\nimport { type ObservabilitySettingsProps } from '../components';\nimport { meta } from '../meta';\nimport { ObservabilityAction } from '../types';\n\nimport { ClientCapability, ObservabilityCapabilities } from './capabilities';\n\nexport default ({ context, namespace }: { context: PluginContext; namespace: string }) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: IntentAction.Track,\n resolve: (intent) => {\n log.info('intent', { intent });\n },\n }),\n createResolver({\n intent: ObservabilityAction.Toggle,\n resolve: async ({ state }) => {\n const client = context.getCapability(ClientCapability);\n const observability = context.getCapability(ObservabilityCapabilities.Observability);\n const settings = context\n .getCapability(Capabilities.SettingsStore)\n .getStore<ObservabilitySettingsProps>(meta.id)!.value;\n settings.enabled = state ?? !settings.enabled;\n observability.track({\n ...getTelemetryIdentity(client),\n action: 'observability.toggle',\n properties: {\n enabled: settings.enabled,\n },\n });\n observability.setMode(settings.enabled ? 'basic' : 'disabled');\n await storeObservabilityDisabled(namespace, !settings.enabled);\n return { data: settings.enabled };\n },\n }),\n createResolver({\n intent: ObservabilityAction.SendEvent,\n resolve: (data) => {\n const client = context.getCapability(ClientCapability);\n const properties = 'properties' in data ? data.properties : {};\n\n // NOTE: This is to ensure that events fired before observability is ready are still sent.\n // TODO(wittjosiah): If the intent dispatcher supports concurrent actions in the future,\n // then this could be awaited still rather than voiding.\n void context.waitForCapability(ObservabilityCapabilities.Observability).then((observability) => {\n observability.track({\n ...getTelemetryIdentity(client),\n action: data.name,\n properties,\n });\n });\n },\n }),\n createResolver({\n intent: ObservabilityAction.CaptureUserFeedback,\n resolve: async (data) => {\n const observability = context.getCapability(ObservabilityCapabilities.Observability);\n observability.captureUserFeedback(data.message);\n },\n }),\n ]);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;AAIA,SAASA,cAAcC,cAAkCC,aAAaC,sBAAsB;AAC5F,SAASC,WAAW;AACpB,SAASC,sBAAsBC,kCAAkC;;AAQjE,IAAA,2BAAe,CAAC,EAAEC,SAASC,UAAS,MAClCC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,aAAaC;IACrBC,SAAS,CAACH,WAAAA;AACRI,UAAIC,KAAK,UAAU;QAAEL;MAAO,GAAA;;;;;;IAC9B;EACF,CAAA;EACAD,eAAe;IACbC,QAAQM,oBAAoBC;IAC5BJ,SAAS,OAAO,EAAEK,MAAK,MAAE;AACvB,YAAMC,SAASf,QAAQgB,cAAcC,gBAAAA;AACrC,YAAMC,gBAAgBlB,QAAQgB,cAAcG,0BAA0BC,aAAa;AACnF,YAAMC,WAAWrB,QACdgB,cAAcb,aAAamB,aAAa,EACxCC,SAAqCC,KAAKC,EAAE,EAAGC;AAClDL,eAASM,UAAUb,SAAS,CAACO,SAASM;AACtCT,oBAAcU,MAAM;QAClB,GAAGC,qBAAqBd,MAAAA;QACxBe,QAAQ;QACRC,YAAY;UACVJ,SAASN,SAASM;QACpB;MACF,CAAA;AACAT,oBAAcc,QAAQX,SAASM,UAAU,UAAU,UAAA;AACnD,YAAMM,2BAA2BhC,WAAW,CAACoB,SAASM,OAAO;AAC7D,aAAO;QAAEO,MAAMb,SAASM;MAAQ;IAClC;EACF,CAAA;EACAtB,eAAe;IACbC,QAAQM,oBAAoBuB;IAC5B1B,SAAS,CAACyB,SAAAA;AACR,YAAMnB,SAASf,QAAQgB,cAAcC,gBAAAA;AACrC,YAAMc,aAAa,gBAAgBG,OAAOA,KAAKH,aAAa,CAAC;AAK7D,WAAK/B,QAAQoC,kBAAkBjB,0BAA0BC,aAAa,EAAEiB,KAAK,CAACnB,kBAAAA;AAC5EA,sBAAcU,MAAM;UAClB,GAAGC,qBAAqBd,MAAAA;UACxBe,QAAQI,KAAKI;UACbP;QACF,CAAA;MACF,CAAA;IACF;EACF,CAAA;EACA1B,eAAe;IACbC,QAAQM,oBAAoB2B;IAC5B9B,SAAS,OAAOyB,SAAAA;AACd,YAAMhB,gBAAgBlB,QAAQgB,cAAcG,0BAA0BC,aAAa;AACnFF,oBAAcsB,oBAAoBN,KAAKO,OAAO;IAChD;EACF,CAAA;CACD;",
|
|
6
|
-
"names": ["Capabilities", "IntentAction", "contributes", "createResolver", "log", "getTelemetryIdentity", "storeObservabilityDisabled", "context", "namespace", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "IntentAction", "Track", "resolve", "log", "info", "ObservabilityAction", "Toggle", "state", "client", "getCapability", "ClientCapability", "observability", "ObservabilityCapabilities", "Observability", "settings", "SettingsStore", "getStore", "meta", "id", "value", "enabled", "track", "getTelemetryIdentity", "action", "properties", "setMode", "storeObservabilityDisabled", "data", "SendEvent", "waitForCapability", "then", "name", "CaptureUserFeedback", "captureUserFeedback", "message"]
|
|
7
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
HelpContainer,
|
|
4
|
-
ObservabilitySettings
|
|
5
|
-
} from "./chunk-JNYBWNIA.mjs";
|
|
6
|
-
import "./chunk-TXFKNLDI.mjs";
|
|
7
|
-
import {
|
|
8
|
-
meta
|
|
9
|
-
} from "./chunk-AVJTLRX5.mjs";
|
|
10
|
-
|
|
11
|
-
// src/capabilities/react-surface.tsx
|
|
12
|
-
import React from "react";
|
|
13
|
-
import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
|
|
14
|
-
import { SettingsStore } from "@dxos/local-storage";
|
|
15
|
-
var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
|
|
16
|
-
createSurface({
|
|
17
|
-
id: meta.id,
|
|
18
|
-
role: "article",
|
|
19
|
-
filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
|
|
20
|
-
component: ({ data: { subject } }) => /* @__PURE__ */ React.createElement(ObservabilitySettings, {
|
|
21
|
-
settings: subject.value
|
|
22
|
-
})
|
|
23
|
-
}),
|
|
24
|
-
createSurface({
|
|
25
|
-
id: `${meta.id}/help`,
|
|
26
|
-
role: "deck-companion--help",
|
|
27
|
-
component: () => /* @__PURE__ */ React.createElement(HelpContainer, null)
|
|
28
|
-
})
|
|
29
|
-
]));
|
|
30
|
-
export {
|
|
31
|
-
react_surface_default as default
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=react-surface-SGL7HXM3.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/react-surface.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { SettingsStore } from '@dxos/local-storage';\n\nimport { HelpContainer, ObservabilitySettings, type ObservabilitySettingsProps } from '../components';\nimport { meta } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: meta.id,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<ObservabilitySettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => <ObservabilitySettings settings={subject.value} />,\n }),\n createSurface({\n id: `${meta.id}/help`,\n role: 'deck-companion--help',\n component: () => <HelpContainer />,\n }),\n ]);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,qBAAqB;AAK9B,IAAA,yBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAIC,KAAKD;IACTE,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKC,mBAAmBC,iBAAiBF,KAAKC,QAAQE,WAAWN,KAAKD;IACxEQ,WAAW,CAAC,EAAEJ,MAAM,EAAEC,QAAO,EAAE,MAAO,sBAAA,cAACI,uBAAAA;MAAsBC,UAAUL,QAAQM;;EACjF,CAAA;EACAZ,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNM,WAAW,MAAM,sBAAA,cAACI,eAAAA,IAAAA;EACpB,CAAA;CACD;",
|
|
6
|
-
"names": ["React", "Capabilities", "contributes", "createSurface", "SettingsStore", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "subject", "SettingsStore", "prefix", "component", "ObservabilitySettings", "settings", "value", "HelpContainer"]
|
|
7
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
ObservabilitySettingsSchema
|
|
4
|
-
} from "./chunk-JNYBWNIA.mjs";
|
|
5
|
-
import "./chunk-TXFKNLDI.mjs";
|
|
6
|
-
import {
|
|
7
|
-
meta
|
|
8
|
-
} from "./chunk-AVJTLRX5.mjs";
|
|
9
|
-
|
|
10
|
-
// src/capabilities/settings.ts
|
|
11
|
-
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
12
|
-
import { live } from "@dxos/live-object";
|
|
13
|
-
var settings_default = (() => {
|
|
14
|
-
const settings = live({
|
|
15
|
-
enabled: true
|
|
16
|
-
});
|
|
17
|
-
return contributes(Capabilities.Settings, {
|
|
18
|
-
prefix: meta.id,
|
|
19
|
-
schema: ObservabilitySettingsSchema,
|
|
20
|
-
value: settings
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
export {
|
|
24
|
-
settings_default as default
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=settings-P4EHRXYR.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/settings.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { type ObservabilitySettingsProps, ObservabilitySettingsSchema } from '../components';\nimport { meta } from '../meta';\n\nexport default () => {\n const settings = live<ObservabilitySettingsProps>({\n enabled: true,\n });\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: ObservabilitySettingsSchema,\n value: settings,\n });\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,oBAAe,MAAA;AACb,QAAMC,WAAWC,KAAiC;IAChDC,SAAS;EACX,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC;IACRC,OAAOX;EACT,CAAA;AACF;",
|
|
6
|
-
"names": ["Capabilities", "contributes", "live", "settings", "live", "enabled", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "ObservabilitySettingsSchema", "value"]
|
|
7
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
ObservabilityCapabilities
|
|
4
|
-
} from "./chunk-HACSZKXD.mjs";
|
|
5
|
-
import {
|
|
6
|
-
meta
|
|
7
|
-
} from "./chunk-AVJTLRX5.mjs";
|
|
8
|
-
|
|
9
|
-
// src/capabilities/state.ts
|
|
10
|
-
import { contributes } from "@dxos/app-framework";
|
|
11
|
-
import { LocalStorageStore } from "@dxos/local-storage";
|
|
12
|
-
import { getObservabilityGroup } from "@dxos/observability";
|
|
13
|
-
var state_default = (async ({ namespace }) => {
|
|
14
|
-
const state = new LocalStorageStore(meta.id);
|
|
15
|
-
state.prop({
|
|
16
|
-
key: "notified",
|
|
17
|
-
type: LocalStorageStore.bool({
|
|
18
|
-
allowUndefined: true
|
|
19
|
-
})
|
|
20
|
-
});
|
|
21
|
-
state.values.group = await getObservabilityGroup(namespace);
|
|
22
|
-
return contributes(ObservabilityCapabilities.State, state.values, () => state.close());
|
|
23
|
-
});
|
|
24
|
-
export {
|
|
25
|
-
state_default as default
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=state-XNBMNLB7.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/state.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes } from '@dxos/app-framework';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { getObservabilityGroup } from '@dxos/observability';\n\nimport { meta } from '../meta';\n\nimport { ObservabilityCapabilities } from './capabilities';\n\nexport default async ({ namespace }: { namespace: string }) => {\n const state = new LocalStorageStore<ObservabilityCapabilities.State>(meta.id);\n\n state.prop({ key: 'notified', type: LocalStorageStore.bool({ allowUndefined: true }) });\n\n // NOTE: This is not stored in local storage such that it can be accessed by workers.\n state.values.group = await getObservabilityGroup(namespace);\n\n return contributes(ObservabilityCapabilities.State, state.values, () => state.close());\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;AAIA,SAASA,mBAAmB;AAC5B,SAASC,yBAAyB;AAClC,SAASC,6BAA6B;AAMtC,IAAA,iBAAe,OAAO,EAAEC,UAAS,MAAyB;AACxD,QAAMC,QAAQ,IAAIC,kBAAmDC,KAAKC,EAAE;AAE5EH,QAAMI,KAAK;IAAEC,KAAK;IAAYC,MAAML,kBAAkBM,KAAK;MAAEC,gBAAgB;IAAK,CAAA;EAAG,CAAA;AAGrFR,QAAMS,OAAOC,QAAQ,MAAMC,sBAAsBZ,SAAAA;AAEjD,SAAOa,YAAYC,0BAA0BC,OAAOd,MAAMS,QAAQ,MAAMT,MAAMe,MAAK,CAAA;AACrF;",
|
|
6
|
-
"names": ["contributes", "LocalStorageStore", "getObservabilityGroup", "namespace", "state", "LocalStorageStore", "meta", "id", "prop", "key", "type", "bool", "allowUndefined", "values", "group", "getObservabilityGroup", "contributes", "ObservabilityCapabilities", "State", "close"]
|
|
7
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { type PluginContext } from '@dxos/app-framework';
|
|
2
|
-
declare const _default: (_context: PluginContext) => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-graph").BuilderExtensions>>;
|
|
3
|
-
export default _default;
|
|
4
|
-
//# sourceMappingURL=app-graph-builder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAQA,OAAO,EAAgB,KAAK,aAAa,EAAe,MAAM,qBAAqB,CAAC;yBAUpE,UAAU,aAAa;AAAvC,wBA4BK"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type Client } from '@dxos/client';
|
|
2
|
-
import { type Observability } from '@dxos/observability';
|
|
3
|
-
export declare namespace ObservabilityCapabilities {
|
|
4
|
-
type State = {
|
|
5
|
-
group?: string;
|
|
6
|
-
notified?: boolean;
|
|
7
|
-
};
|
|
8
|
-
const State: import("@dxos/app-framework").InterfaceDef<State>;
|
|
9
|
-
const Observability: import("@dxos/app-framework").InterfaceDef<Observability>;
|
|
10
|
-
}
|
|
11
|
-
export declare const ClientCapability: import("@dxos/app-framework").InterfaceDef<Client>;
|
|
12
|
-
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/capabilities.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,yBAAiB,yBAAyB,CAAC;IACzC,KAAY,KAAK,GAAG;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACK,MAAM,KAAK,mDAAyD,CAAC;IAErE,MAAM,aAAa,2DAAyE,CAAC;CACrG;AAID,eAAO,MAAM,gBAAgB,oDAAuE,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type PluginContext } from '@dxos/app-framework';
|
|
2
|
-
import { type Observability } from '@dxos/observability';
|
|
3
|
-
type ClientReadyOptions = {
|
|
4
|
-
context: PluginContext;
|
|
5
|
-
namespace: string;
|
|
6
|
-
observability: Observability;
|
|
7
|
-
};
|
|
8
|
-
declare const _default: ({ context, namespace, observability }: ClientReadyOptions) => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Observability>>>;
|
|
9
|
-
export default _default;
|
|
10
|
-
//# sourceMappingURL=client-ready.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-ready.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/client-ready.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,aAAa,EAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,aAAa,EAA2B,MAAM,qBAAqB,CAAC;AAOlF,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;yBAEoB,uCAAuC,kBAAkB;AAA/E,wBAwEE"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Capabilities, type PluginContext } from '@dxos/app-framework';
|
|
2
|
-
declare const _default: ({ context, namespace }: {
|
|
3
|
-
context: PluginContext;
|
|
4
|
-
namespace: string;
|
|
5
|
-
}) => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Capabilities.IntentResolver>>;
|
|
6
|
-
export default _default;
|
|
7
|
-
//# sourceMappingURL=intent-resolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAgB,KAAK,aAAa,EAA+B,MAAM,qBAAqB,CAAC;yBAUlG,wBAAwB;IAAE,OAAO,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAArF,wBAsDK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAA8B,MAAM,qBAAqB,CAAC;;AAM/E,wBAcK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/settings.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;;AAMhE,wBAUE"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ObservabilityCapabilities } from './capabilities';
|
|
2
|
-
declare const _default: ({ namespace }: {
|
|
3
|
-
namespace: string;
|
|
4
|
-
}) => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<ObservabilityCapabilities.State>>>;
|
|
5
|
-
export default _default;
|
|
6
|
-
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/state.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;yBAErC,eAAe;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE;AAA1D,wBASE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAQA,yBAAiB,mBAAmB,CAAC;IAC5B,MAAM,UAAU,+CAAmC,CAAC;CAC5D;AAGD,eAAO,MAAM,gBAAgB,+CAA2D,CAAC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { Rx } from '@effect-rx/rx-react';
|
|
6
|
-
import * as Function from 'effect/Function';
|
|
7
|
-
import * as Option from 'effect/Option';
|
|
8
|
-
|
|
9
|
-
import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
|
|
10
|
-
import { ROOT_ID, createExtension } from '@dxos/plugin-graph';
|
|
11
|
-
|
|
12
|
-
import { meta } from '../meta';
|
|
13
|
-
|
|
14
|
-
// NOTE: Copied from @dxos/plugin-deck to break circular dependency.
|
|
15
|
-
const ATTENDABLE_PATH_SEPARATOR = '~';
|
|
16
|
-
|
|
17
|
-
const DECK_COMPANION_TYPE = 'dxos.org/plugin/deck/deck-companion';
|
|
18
|
-
|
|
19
|
-
export default (_context: PluginContext) =>
|
|
20
|
-
contributes(Capabilities.AppGraphBuilder, [
|
|
21
|
-
createExtension({
|
|
22
|
-
id: `${meta.id}/help`,
|
|
23
|
-
connector: (node) =>
|
|
24
|
-
Rx.make((get) =>
|
|
25
|
-
Function.pipe(
|
|
26
|
-
get(node),
|
|
27
|
-
Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
|
|
28
|
-
Option.map((node) => {
|
|
29
|
-
return [
|
|
30
|
-
{
|
|
31
|
-
id: [node.id, 'help'].join(ATTENDABLE_PATH_SEPARATOR),
|
|
32
|
-
type: DECK_COMPANION_TYPE,
|
|
33
|
-
data: null,
|
|
34
|
-
properties: {
|
|
35
|
-
label: ['help label', { ns: meta.id }],
|
|
36
|
-
icon: 'ph--question--regular',
|
|
37
|
-
disposition: 'hidden',
|
|
38
|
-
position: 'hoist',
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
];
|
|
42
|
-
}),
|
|
43
|
-
Option.getOrElse(() => []),
|
|
44
|
-
),
|
|
45
|
-
),
|
|
46
|
-
}),
|
|
47
|
-
]);
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { defineCapability } from '@dxos/app-framework';
|
|
6
|
-
import { type Client } from '@dxos/client';
|
|
7
|
-
import { type Observability } from '@dxos/observability';
|
|
8
|
-
|
|
9
|
-
import { meta } from '../meta';
|
|
10
|
-
|
|
11
|
-
export namespace ObservabilityCapabilities {
|
|
12
|
-
export type State = {
|
|
13
|
-
group?: string;
|
|
14
|
-
notified?: boolean;
|
|
15
|
-
};
|
|
16
|
-
export const State = defineCapability<State>(`${meta.id}/capability/state`);
|
|
17
|
-
|
|
18
|
-
export const Observability = defineCapability<Observability>(`${meta.id}/capability/observability`);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// NOTE: This is cloned from the client plugin to avoid circular dependencies.
|
|
22
|
-
// TODO(burdon): Figure out how to share defs.
|
|
23
|
-
export const ClientCapability = defineCapability<Client>('dxos.org/plugin/client/capability/client');
|