@dxos/plugin-observability 0.8.1 → 0.8.2-main.2f9c567
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/{chunk-6Q6ZJ3N4.mjs → chunk-4HIP2OUG.mjs} +38 -9
- package/dist/lib/browser/chunk-4HIP2OUG.mjs.map +7 -0
- package/dist/lib/browser/chunk-E7NPL7UO.mjs +178 -0
- package/dist/lib/browser/chunk-E7NPL7UO.mjs.map +7 -0
- package/dist/lib/browser/{client-ready-LRY24QM5.mjs → client-ready-J2WRJ3NK.mjs} +2 -2
- package/dist/lib/browser/index.mjs +10 -8
- package/dist/lib/browser/index.mjs.map +2 -2
- package/dist/lib/browser/{intent-resolver-ZKNJCLDV.mjs → intent-resolver-2UTMIO2T.mjs} +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-S36FDV7I.mjs → react-surface-L2EYSF4C.mjs} +3 -3
- package/dist/lib/browser/{settings-JFZJTDH7.mjs → settings-5EPL4O2V.mjs} +5 -5
- package/dist/lib/browser/settings-5EPL4O2V.mjs.map +7 -0
- package/dist/lib/browser/types.mjs +1 -1
- package/dist/lib/node/chunk-A7DUZZ5V.cjs +198 -0
- package/dist/lib/node/chunk-A7DUZZ5V.cjs.map +7 -0
- package/dist/lib/node/{chunk-FIL4BZE2.cjs → chunk-UCKA5GBZ.cjs} +42 -13
- package/dist/lib/node/chunk-UCKA5GBZ.cjs.map +7 -0
- package/dist/lib/node/{client-ready-KHGLQOQZ.cjs → client-ready-ENPTPI2O.cjs} +6 -6
- package/dist/lib/node/index.cjs +14 -12
- package/dist/lib/node/index.cjs.map +2 -2
- package/dist/lib/node/{intent-resolver-5SANBSGX.cjs → intent-resolver-KHM3CT62.cjs} +8 -8
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-MWJS6OMP.cjs → react-surface-D7JFIB3X.cjs} +8 -8
- package/dist/lib/node/{settings-ARLOGCYU.cjs → settings-QPCXX5RG.cjs} +8 -8
- package/dist/lib/node/settings-QPCXX5RG.cjs.map +7 -0
- package/dist/lib/node/types.cjs +3 -3
- package/dist/lib/node/types.cjs.map +1 -1
- package/dist/lib/node-esm/chunk-OIEISTZW.mjs +179 -0
- package/dist/lib/node-esm/chunk-OIEISTZW.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MW737PHD.mjs → chunk-S22MQRWS.mjs} +38 -9
- package/dist/lib/node-esm/chunk-S22MQRWS.mjs.map +7 -0
- package/dist/lib/node-esm/{client-ready-4BUMAISA.mjs → client-ready-XZLBNPKH.mjs} +2 -2
- package/dist/lib/node-esm/index.mjs +10 -8
- package/dist/lib/node-esm/index.mjs.map +2 -2
- package/dist/lib/node-esm/{intent-resolver-5EFEXLWX.mjs → intent-resolver-R2FFQV6O.mjs} +2 -2
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-VLQBOZTX.mjs → react-surface-KG6WMUCA.mjs} +3 -3
- package/dist/lib/node-esm/{settings-765HDSFY.mjs → settings-BLLMFWKI.mjs} +5 -5
- package/dist/lib/node-esm/settings-BLLMFWKI.mjs.map +7 -0
- package/dist/lib/node-esm/types.mjs +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +1 -1
- package/dist/types/src/components/HelpContainer.d.ts.map +1 -1
- package/dist/types/src/components/ObservabilitySettings.d.ts +4 -4
- package/dist/types/src/components/ObservabilitySettings.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +145 -145
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +24 -21
- package/src/capabilities/settings.ts +2 -2
- package/src/components/HelpContainer.tsx +21 -4
- package/src/components/ObservabilitySettings.tsx +5 -5
- package/src/translations.ts +3 -1
- package/src/types.ts +126 -126
- package/dist/lib/browser/chunk-6Q6ZJ3N4.mjs.map +0 -7
- package/dist/lib/browser/chunk-RI4RE346.mjs +0 -178
- package/dist/lib/browser/chunk-RI4RE346.mjs.map +0 -7
- package/dist/lib/browser/settings-JFZJTDH7.mjs.map +0 -7
- package/dist/lib/node/chunk-FIL4BZE2.cjs.map +0 -7
- package/dist/lib/node/chunk-V4ZLLL5M.cjs +0 -198
- package/dist/lib/node/chunk-V4ZLLL5M.cjs.map +0 -7
- package/dist/lib/node/settings-ARLOGCYU.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-M3MGU3DN.mjs +0 -179
- package/dist/lib/node-esm/chunk-M3MGU3DN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MW737PHD.mjs.map +0 -7
- package/dist/lib/node-esm/settings-765HDSFY.mjs.map +0 -7
- /package/dist/lib/browser/{client-ready-LRY24QM5.mjs.map → client-ready-J2WRJ3NK.mjs.map} +0 -0
- /package/dist/lib/browser/{intent-resolver-ZKNJCLDV.mjs.map → intent-resolver-2UTMIO2T.mjs.map} +0 -0
- /package/dist/lib/browser/{react-surface-S36FDV7I.mjs.map → react-surface-L2EYSF4C.mjs.map} +0 -0
- /package/dist/lib/node/{client-ready-KHGLQOQZ.cjs.map → client-ready-ENPTPI2O.cjs.map} +0 -0
- /package/dist/lib/node/{intent-resolver-5SANBSGX.cjs.map → intent-resolver-KHM3CT62.cjs.map} +0 -0
- /package/dist/lib/node/{react-surface-MWJS6OMP.cjs.map → react-surface-D7JFIB3X.cjs.map} +0 -0
- /package/dist/lib/node-esm/{client-ready-4BUMAISA.mjs.map → client-ready-XZLBNPKH.mjs.map} +0 -0
- /package/dist/lib/node-esm/{intent-resolver-5EFEXLWX.mjs.map → intent-resolver-R2FFQV6O.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-surface-VLQBOZTX.mjs.map → react-surface-KG6WMUCA.mjs.map} +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ObservabilitySettingsSchema
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-4HIP2OUG.mjs";
|
|
4
|
+
import "./chunk-E7NPL7UO.mjs";
|
|
5
5
|
import {
|
|
6
6
|
OBSERVABILITY_PLUGIN
|
|
7
7
|
} from "./chunk-RKH5BBR4.mjs";
|
|
8
8
|
|
|
9
9
|
// packages/plugins/plugin-observability/src/capabilities/settings.ts
|
|
10
10
|
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
11
|
-
import {
|
|
11
|
+
import { live } from "@dxos/live-object";
|
|
12
12
|
var settings_default = () => {
|
|
13
|
-
const settings =
|
|
13
|
+
const settings = live({
|
|
14
14
|
enabled: true
|
|
15
15
|
});
|
|
16
16
|
return contributes(Capabilities.Settings, {
|
|
@@ -22,4 +22,4 @@ var settings_default = () => {
|
|
|
22
22
|
export {
|
|
23
23
|
settings_default as default
|
|
24
24
|
};
|
|
25
|
-
//# sourceMappingURL=settings-
|
|
25
|
+
//# sourceMappingURL=settings-5EPL4O2V.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
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 { OBSERVABILITY_PLUGIN } from '../meta';\n\nexport default () => {\n const settings = live<ObservabilitySettingsProps>({ enabled: true });\n\n return contributes(Capabilities.Settings, {\n schema: ObservabilitySettingsSchema,\n prefix: OBSERVABILITY_PLUGIN,\n value: settings,\n });\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAAiC;IAAEC,SAAS;EAAK,CAAA;AAElE,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC;IACRC,QAAQC;IACRC,OAAOV;EACT,CAAA;AACF;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "live", "settings", "live", "enabled", "contributes", "Capabilities", "Settings", "schema", "ObservabilitySettingsSchema", "prefix", "OBSERVABILITY_PLUGIN", "value"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var chunk_A7DUZZ5V_exports = {};
|
|
20
|
+
__export(chunk_A7DUZZ5V_exports, {
|
|
21
|
+
ObservabilityAction: () => ObservabilityAction,
|
|
22
|
+
UserFeedback: () => UserFeedback
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(chunk_A7DUZZ5V_exports);
|
|
25
|
+
var import_chunk_2ERIOZP3 = require("./chunk-2ERIOZP3.cjs");
|
|
26
|
+
var import_effect = require("effect");
|
|
27
|
+
var nonEmpty = (field) => import_effect.Schema.nonEmptyString({
|
|
28
|
+
message: () => `Missing field: ${field}`
|
|
29
|
+
});
|
|
30
|
+
var maxLength = (field, length) => import_effect.Schema.maxLength(length, {
|
|
31
|
+
message: () => `Exceeds max length (${length}): ${field}`
|
|
32
|
+
});
|
|
33
|
+
var UserFeedback = import_effect.Schema.Struct({
|
|
34
|
+
message: import_effect.Schema.String.pipe(nonEmpty("Feedback"), maxLength("Feedback", 32768))
|
|
35
|
+
});
|
|
36
|
+
var OBSERVABILITY_ACTION = `${import_chunk_2ERIOZP3.OBSERVABILITY_PLUGIN}/action`;
|
|
37
|
+
var ObservabilityAction;
|
|
38
|
+
(function(ObservabilityAction2) {
|
|
39
|
+
class Toggle extends import_effect.Schema.TaggedClass()(`${OBSERVABILITY_ACTION}/toggle`, {
|
|
40
|
+
input: import_effect.Schema.Struct({
|
|
41
|
+
state: import_effect.Schema.optional(import_effect.Schema.Boolean)
|
|
42
|
+
}),
|
|
43
|
+
output: import_effect.Schema.Boolean
|
|
44
|
+
}) {
|
|
45
|
+
}
|
|
46
|
+
ObservabilityAction2.Toggle = Toggle;
|
|
47
|
+
class CaptureUserFeedback extends import_effect.Schema.TaggedClass()(`${OBSERVABILITY_ACTION}/capture-feedback`, {
|
|
48
|
+
input: UserFeedback,
|
|
49
|
+
output: import_effect.Schema.Void
|
|
50
|
+
}) {
|
|
51
|
+
}
|
|
52
|
+
ObservabilityAction2.CaptureUserFeedback = CaptureUserFeedback;
|
|
53
|
+
class BaseSendEvent extends import_effect.Schema.TaggedClass()(`${OBSERVABILITY_ACTION}/send-event`, {
|
|
54
|
+
input: import_effect.Schema.Struct({
|
|
55
|
+
name: import_effect.Schema.String,
|
|
56
|
+
properties: import_effect.Schema.optional(import_effect.Schema.Object)
|
|
57
|
+
}),
|
|
58
|
+
output: import_effect.Schema.Void
|
|
59
|
+
}) {
|
|
60
|
+
}
|
|
61
|
+
ObservabilityAction2.BaseSendEvent = BaseSendEvent;
|
|
62
|
+
class SendEvent extends import_effect.Schema.TaggedClass()(`${OBSERVABILITY_ACTION}/send-event`, {
|
|
63
|
+
// NOTE: Sort alphabetically by name.
|
|
64
|
+
input: import_effect.Schema.Union(import_effect.Schema.Struct({
|
|
65
|
+
name: import_effect.Schema.Literal("identity.create")
|
|
66
|
+
}), import_effect.Schema.Struct({
|
|
67
|
+
name: import_effect.Schema.Literal("identity.join")
|
|
68
|
+
}), import_effect.Schema.Struct({
|
|
69
|
+
name: import_effect.Schema.Literal("identity.recover")
|
|
70
|
+
}), import_effect.Schema.Struct({
|
|
71
|
+
name: import_effect.Schema.Literal("identity.share")
|
|
72
|
+
}), import_effect.Schema.Struct({
|
|
73
|
+
name: import_effect.Schema.Literal("navigation.activate"),
|
|
74
|
+
properties: import_effect.Schema.Struct({
|
|
75
|
+
subjectId: import_effect.Schema.String,
|
|
76
|
+
typename: import_effect.Schema.optional(import_effect.Schema.String)
|
|
77
|
+
})
|
|
78
|
+
}), import_effect.Schema.Struct({
|
|
79
|
+
name: import_effect.Schema.Literal("page.load"),
|
|
80
|
+
properties: import_effect.Schema.Struct({
|
|
81
|
+
loadDuration: import_effect.Schema.Number
|
|
82
|
+
})
|
|
83
|
+
}), import_effect.Schema.Struct({
|
|
84
|
+
name: import_effect.Schema.Literal("plugins.toggle"),
|
|
85
|
+
properties: import_effect.Schema.Struct({
|
|
86
|
+
plugin: import_effect.Schema.String,
|
|
87
|
+
enabled: import_effect.Schema.Boolean
|
|
88
|
+
})
|
|
89
|
+
}), import_effect.Schema.Struct({
|
|
90
|
+
name: import_effect.Schema.Literal("space.create"),
|
|
91
|
+
properties: import_effect.Schema.Struct({
|
|
92
|
+
spaceId: import_effect.Schema.String
|
|
93
|
+
})
|
|
94
|
+
}), import_effect.Schema.Struct({
|
|
95
|
+
name: import_effect.Schema.Literal("space.join"),
|
|
96
|
+
properties: import_effect.Schema.Struct({
|
|
97
|
+
spaceId: import_effect.Schema.String
|
|
98
|
+
})
|
|
99
|
+
}), import_effect.Schema.Struct({
|
|
100
|
+
name: import_effect.Schema.Literal("space.limit"),
|
|
101
|
+
properties: import_effect.Schema.Struct({
|
|
102
|
+
spaceId: import_effect.Schema.String
|
|
103
|
+
})
|
|
104
|
+
}), import_effect.Schema.Struct({
|
|
105
|
+
name: import_effect.Schema.Literal("space.lock"),
|
|
106
|
+
properties: import_effect.Schema.Struct({
|
|
107
|
+
spaceId: import_effect.Schema.String
|
|
108
|
+
})
|
|
109
|
+
}), import_effect.Schema.Struct({
|
|
110
|
+
name: import_effect.Schema.Literal("space.migrate"),
|
|
111
|
+
properties: import_effect.Schema.Struct({
|
|
112
|
+
spaceId: import_effect.Schema.String,
|
|
113
|
+
targetVersion: import_effect.Schema.optional(import_effect.Schema.String),
|
|
114
|
+
version: import_effect.Schema.optional(import_effect.Schema.String)
|
|
115
|
+
})
|
|
116
|
+
}), import_effect.Schema.Struct({
|
|
117
|
+
name: import_effect.Schema.Literal("space.object.add"),
|
|
118
|
+
properties: import_effect.Schema.Struct({
|
|
119
|
+
spaceId: import_effect.Schema.String,
|
|
120
|
+
objectId: import_effect.Schema.String,
|
|
121
|
+
typename: import_effect.Schema.optional(import_effect.Schema.String)
|
|
122
|
+
})
|
|
123
|
+
}), import_effect.Schema.Struct({
|
|
124
|
+
name: import_effect.Schema.Literal("space.share"),
|
|
125
|
+
properties: import_effect.Schema.Struct({
|
|
126
|
+
spaceId: import_effect.Schema.String
|
|
127
|
+
})
|
|
128
|
+
}), import_effect.Schema.Struct({
|
|
129
|
+
name: import_effect.Schema.Literal("space.unlock"),
|
|
130
|
+
properties: import_effect.Schema.Struct({
|
|
131
|
+
spaceId: import_effect.Schema.String
|
|
132
|
+
})
|
|
133
|
+
}), import_effect.Schema.Struct({
|
|
134
|
+
name: import_effect.Schema.Literal("threads.create"),
|
|
135
|
+
properties: import_effect.Schema.Struct({
|
|
136
|
+
spaceId: import_effect.Schema.String,
|
|
137
|
+
threadId: import_effect.Schema.String
|
|
138
|
+
})
|
|
139
|
+
}), import_effect.Schema.Struct({
|
|
140
|
+
name: import_effect.Schema.Literal("threads.delete"),
|
|
141
|
+
properties: import_effect.Schema.Struct({
|
|
142
|
+
spaceId: import_effect.Schema.String,
|
|
143
|
+
threadId: import_effect.Schema.String
|
|
144
|
+
})
|
|
145
|
+
}), import_effect.Schema.Struct({
|
|
146
|
+
name: import_effect.Schema.Literal("threads.message.add"),
|
|
147
|
+
properties: import_effect.Schema.Struct({
|
|
148
|
+
spaceId: import_effect.Schema.String,
|
|
149
|
+
threadId: import_effect.Schema.String,
|
|
150
|
+
threadLength: import_effect.Schema.Number,
|
|
151
|
+
messageId: import_effect.Schema.String,
|
|
152
|
+
messageLength: import_effect.Schema.Number
|
|
153
|
+
})
|
|
154
|
+
}), import_effect.Schema.Struct({
|
|
155
|
+
name: import_effect.Schema.Literal("threads.message.delete"),
|
|
156
|
+
properties: import_effect.Schema.Struct({
|
|
157
|
+
spaceId: import_effect.Schema.String,
|
|
158
|
+
threadId: import_effect.Schema.String,
|
|
159
|
+
messageId: import_effect.Schema.String
|
|
160
|
+
})
|
|
161
|
+
}), import_effect.Schema.Struct({
|
|
162
|
+
name: import_effect.Schema.Literal("threads.message.undo-delete"),
|
|
163
|
+
properties: import_effect.Schema.Struct({
|
|
164
|
+
spaceId: import_effect.Schema.String,
|
|
165
|
+
threadId: import_effect.Schema.String,
|
|
166
|
+
messageId: import_effect.Schema.String
|
|
167
|
+
})
|
|
168
|
+
}), import_effect.Schema.Struct({
|
|
169
|
+
name: import_effect.Schema.Literal("threads.message.update"),
|
|
170
|
+
properties: import_effect.Schema.Struct({
|
|
171
|
+
spaceId: import_effect.Schema.String,
|
|
172
|
+
messageId: import_effect.Schema.String,
|
|
173
|
+
messageLength: import_effect.Schema.Number
|
|
174
|
+
})
|
|
175
|
+
}), import_effect.Schema.Struct({
|
|
176
|
+
name: import_effect.Schema.Literal("threads.toggle-resolved"),
|
|
177
|
+
properties: import_effect.Schema.Struct({
|
|
178
|
+
spaceId: import_effect.Schema.String,
|
|
179
|
+
threadId: import_effect.Schema.String
|
|
180
|
+
})
|
|
181
|
+
}), import_effect.Schema.Struct({
|
|
182
|
+
name: import_effect.Schema.Literal("threads.undo-delete"),
|
|
183
|
+
properties: import_effect.Schema.Struct({
|
|
184
|
+
spaceId: import_effect.Schema.String,
|
|
185
|
+
threadId: import_effect.Schema.String
|
|
186
|
+
})
|
|
187
|
+
})),
|
|
188
|
+
output: import_effect.Schema.Void
|
|
189
|
+
}) {
|
|
190
|
+
}
|
|
191
|
+
ObservabilityAction2.SendEvent = SendEvent;
|
|
192
|
+
})(ObservabilityAction || (ObservabilityAction = {}));
|
|
193
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
194
|
+
0 && (module.exports = {
|
|
195
|
+
ObservabilityAction,
|
|
196
|
+
UserFeedback
|
|
197
|
+
});
|
|
198
|
+
//# sourceMappingURL=chunk-A7DUZZ5V.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { OBSERVABILITY_PLUGIN } 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\nconst OBSERVABILITY_ACTION = `${OBSERVABILITY_PLUGIN}/action`;\n\nexport namespace ObservabilityAction {\n export class Toggle extends Schema.TaggedClass<Toggle>()(`${OBSERVABILITY_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 `${OBSERVABILITY_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>()(`${OBSERVABILITY_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>()(`${OBSERVABILITY_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: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.join'),\n properties: Schema.Struct({\n spaceId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.limit'),\n properties: Schema.Struct({\n spaceId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.lock'),\n properties: Schema.Struct({\n spaceId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.migrate'),\n properties: Schema.Struct({\n spaceId: Schema.String,\n targetVersion: Schema.optional(Schema.String),\n version: Schema.optional(Schema.String),\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.object.add'),\n properties: Schema.Struct({\n spaceId: Schema.String,\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: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.unlock'),\n properties: Schema.Struct({\n spaceId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.create'),\n properties: Schema.Struct({\n spaceId: Schema.String,\n threadId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.delete'),\n properties: Schema.Struct({\n spaceId: Schema.String,\n threadId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.message.add'),\n properties: Schema.Struct({\n spaceId: Schema.String,\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: Schema.String,\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: Schema.String,\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: Schema.String,\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: Schema.String,\n threadId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.undo-delete'),\n properties: Schema.Struct({\n spaceId: Schema.String,\n threadId: Schema.String,\n }),\n }),\n ),\n output: Schema.Void,\n }) {}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["nonEmpty", "field", "Schema", "nonEmptyString", "message", "maxLength", "length", "UserFeedback", "Struct", "String", "pipe", "OBSERVABILITY_ACTION", "OBSERVABILITY_PLUGIN", "ObservabilityAction", "Toggle", "TaggedClass", "input", "state", "optional", "Boolean", "output", "CaptureUserFeedback", "Void", "BaseSendEvent", "name", "properties", "Object", "SendEvent", "Union", "Literal", "subjectId", "typename", "loadDuration", "Number", "plugin", "enabled", "spaceId", "targetVersion", "version", "objectId", "threadId", "threadLength", "messageId", "messageLength"]
|
|
7
|
+
}
|
|
@@ -26,25 +26,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var chunk_UCKA5GBZ_exports = {};
|
|
30
|
+
__export(chunk_UCKA5GBZ_exports, {
|
|
31
31
|
FeedbackForm: () => FeedbackForm,
|
|
32
32
|
HelpContainer: () => HelpContainer,
|
|
33
33
|
ObservabilitySettings: () => ObservabilitySettings,
|
|
34
34
|
ObservabilitySettingsSchema: () => ObservabilitySettingsSchema
|
|
35
35
|
});
|
|
36
|
-
module.exports = __toCommonJS(
|
|
37
|
-
var
|
|
36
|
+
module.exports = __toCommonJS(chunk_UCKA5GBZ_exports);
|
|
37
|
+
var import_chunk_A7DUZZ5V = require("./chunk-A7DUZZ5V.cjs");
|
|
38
38
|
var import_chunk_2ERIOZP3 = require("./chunk-2ERIOZP3.cjs");
|
|
39
39
|
var import_react = __toESM(require("react"));
|
|
40
40
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
41
41
|
var import_react_ui = require("@dxos/react-ui");
|
|
42
42
|
var import_react_ui_form = require("@dxos/react-ui-form");
|
|
43
|
+
var import_effect = require("effect");
|
|
43
44
|
var import_react2 = __toESM(require("react"));
|
|
44
45
|
var import_app_framework = require("@dxos/app-framework");
|
|
46
|
+
var import_effect2 = require("effect");
|
|
45
47
|
var import_react3 = __toESM(require("react"));
|
|
46
48
|
var import_app_framework2 = require("@dxos/app-framework");
|
|
47
|
-
var import_echo_schema2 = require("@dxos/echo-schema");
|
|
48
49
|
var import_react_ui2 = require("@dxos/react-ui");
|
|
49
50
|
var import_react_ui_form2 = require("@dxos/react-ui-form");
|
|
50
51
|
var defaultValues = {
|
|
@@ -102,7 +103,7 @@ var FeedbackForm = ({ onSave }) => {
|
|
|
102
103
|
const initialValues = (0, import_echo_schema.getSnapshot)(defaultValues);
|
|
103
104
|
return /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.FormProvider, {
|
|
104
105
|
formRef,
|
|
105
|
-
schema:
|
|
106
|
+
schema: import_chunk_A7DUZZ5V.UserFeedback,
|
|
106
107
|
initialValues,
|
|
107
108
|
onSave: handleSave
|
|
108
109
|
}, /* @__PURE__ */ import_react.default.createElement("div", {
|
|
@@ -111,17 +112,45 @@ var FeedbackForm = ({ onSave }) => {
|
|
|
111
112
|
};
|
|
112
113
|
var HelpContainer = () => {
|
|
113
114
|
const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
|
|
114
|
-
const handleSave = (0, import_react2.useCallback)((values) => {
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
const handleSave = (0, import_react2.useCallback)((values) => dispatch((0, import_effect.pipe)((0, import_app_framework.createIntent)(import_chunk_A7DUZZ5V.ObservabilityAction.CaptureUserFeedback, values), (0, import_app_framework.chain)(import_app_framework.LayoutAction.UpdateComplementary, {
|
|
116
|
+
part: "complementary",
|
|
117
|
+
options: {
|
|
118
|
+
state: "collapsed"
|
|
119
|
+
}
|
|
120
|
+
}), (0, import_app_framework.chain)(import_app_framework.LayoutAction.AddToast, {
|
|
121
|
+
part: "toast",
|
|
122
|
+
subject: {
|
|
123
|
+
id: `${import_chunk_2ERIOZP3.OBSERVABILITY_PLUGIN}/feedback-success`,
|
|
124
|
+
icon: "ph--paper-plane-tilt--regular",
|
|
125
|
+
duration: 3e3,
|
|
126
|
+
title: [
|
|
127
|
+
"feedback toast label",
|
|
128
|
+
{
|
|
129
|
+
ns: import_chunk_2ERIOZP3.OBSERVABILITY_PLUGIN
|
|
130
|
+
}
|
|
131
|
+
],
|
|
132
|
+
description: [
|
|
133
|
+
"feedback toast description",
|
|
134
|
+
{
|
|
135
|
+
ns: import_chunk_2ERIOZP3.OBSERVABILITY_PLUGIN
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
closeLabel: [
|
|
139
|
+
"close label",
|
|
140
|
+
{
|
|
141
|
+
ns: "os"
|
|
142
|
+
}
|
|
143
|
+
]
|
|
144
|
+
}
|
|
145
|
+
}))), [
|
|
117
146
|
dispatch
|
|
118
147
|
]);
|
|
119
148
|
return /* @__PURE__ */ import_react2.default.createElement(FeedbackForm, {
|
|
120
149
|
onSave: handleSave
|
|
121
150
|
});
|
|
122
151
|
};
|
|
123
|
-
var ObservabilitySettingsSchema =
|
|
124
|
-
enabled:
|
|
152
|
+
var ObservabilitySettingsSchema = import_effect2.Schema.mutable(import_effect2.Schema.Struct({
|
|
153
|
+
enabled: import_effect2.Schema.Boolean
|
|
125
154
|
}));
|
|
126
155
|
var ObservabilitySettings = ({ settings }) => {
|
|
127
156
|
const { t } = (0, import_react_ui2.useTranslation)(import_chunk_2ERIOZP3.OBSERVABILITY_PLUGIN);
|
|
@@ -133,7 +162,7 @@ var ObservabilitySettings = ({ settings }) => {
|
|
|
133
162
|
}, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Message.Body, null, t("observability description")))
|
|
134
163
|
}, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Input.Switch, {
|
|
135
164
|
checked: settings.enabled,
|
|
136
|
-
onCheckedChange: (checked) => dispatch((0, import_app_framework2.createIntent)(
|
|
165
|
+
onCheckedChange: (checked) => dispatch((0, import_app_framework2.createIntent)(import_chunk_A7DUZZ5V.ObservabilityAction.Toggle, {
|
|
137
166
|
state: !!checked
|
|
138
167
|
}))
|
|
139
168
|
})));
|
|
@@ -145,4 +174,4 @@ var ObservabilitySettings = ({ settings }) => {
|
|
|
145
174
|
ObservabilitySettings,
|
|
146
175
|
ObservabilitySettingsSchema
|
|
147
176
|
});
|
|
148
|
-
//# sourceMappingURL=chunk-
|
|
177
|
+
//# sourceMappingURL=chunk-UCKA5GBZ.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/FeedbackForm.tsx", "../../../src/components/HelpContainer.tsx", "../../../src/components/ObservabilitySettings.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport { getSnapshot } from '@dxos/echo-schema';\nimport { IconButton, Input, useTranslation } from '@dxos/react-ui';\nimport { FormProvider, useFormContext, useInputProps } from '@dxos/react-ui-form';\n\nimport { OBSERVABILITY_PLUGIN } from '../meta';\nimport { UserFeedback } from '../types';\n\nconst defaultValues: UserFeedback = { message: '' };\n\nconst FormContent = () => {\n const { t } = useTranslation(OBSERVABILITY_PLUGIN);\n const { handleSave, canSave } = useFormContext<UserFeedback>();\n\n const messageProps = useInputProps(['message']);\n\n return (\n <div role='form' className='p-3 flex flex-col gap-2'>\n <div role='none' className='space-b-1'>\n <Input.Root validationValence={messageProps.getStatus().status}>\n <Input.Label>{t('feedback text area label')}</Input.Label>\n <Input.TextArea\n classNames={'text-sm'}\n rows={5}\n cols={30}\n placeholder={t('feedback text area placeholder')}\n value={messageProps.getValue() ?? ''}\n onChange={(e) => messageProps.onValueChange('string', e.target.value)}\n // TODO(wittjosiah): This aggressively shows validation errors.\n onBlur={messageProps.onBlur}\n />\n <Input.DescriptionAndValidation>\n <Input.Validation>{messageProps.getStatus().error}</Input.Validation>\n </Input.DescriptionAndValidation>\n </Input.Root>\n </div>\n\n <div role='none' className='space-b-2'>\n <IconButton\n icon='ph--paper-plane-tilt--regular'\n label={t('send feedback label')}\n variant='primary'\n type='submit'\n classNames='is-full'\n disabled={!canSave}\n onClick={handleSave}\n />\n </div>\n </div>\n );\n};\n\n// TODO(wittjosiah): Use `Form`?\nexport const FeedbackForm = ({ onSave }: { onSave: (values: UserFeedback) => void }) => {\n const formRef = useRef<HTMLDivElement>(null);\n const [_, update] = useState({});\n const forceRender = useCallback(() => update({}), [update]);\n\n const handleSave = useCallback(\n (values: UserFeedback) => {\n onSave(values);\n // TODO(wittjosiah): Force re-render to clear the form.\n forceRender();\n },\n [forceRender, onSave],\n );\n\n const initialValues = getSnapshot(defaultValues);\n\n return (\n <FormProvider formRef={formRef} schema={UserFeedback} initialValues={initialValues} onSave={handleSave}>\n <div ref={formRef}>\n <FormContent />\n </div>\n </FormProvider>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { pipe } from 'effect';\nimport React, { useCallback } from 'react';\n\nimport { chain, createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\n\nimport { FeedbackForm } from './FeedbackForm';\nimport { OBSERVABILITY_PLUGIN } from '../meta';\nimport { ObservabilityAction, type UserFeedback } from '../types';\n\nexport const HelpContainer = () => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const handleSave = useCallback(\n (values: UserFeedback) =>\n dispatch(\n pipe(\n createIntent(ObservabilityAction.CaptureUserFeedback, values),\n chain(LayoutAction.UpdateComplementary, { part: 'complementary', options: { state: 'collapsed' } }),\n chain(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${OBSERVABILITY_PLUGIN}/feedback-success`,\n icon: 'ph--paper-plane-tilt--regular',\n duration: 3000,\n title: ['feedback toast label', { ns: OBSERVABILITY_PLUGIN }],\n description: ['feedback toast description', { ns: OBSERVABILITY_PLUGIN }],\n closeLabel: ['close label', { ns: 'os' }],\n },\n }),\n ),\n ),\n [dispatch],\n );\n\n return <FeedbackForm onSave={handleSave} />;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\nimport React from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Input, Message, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { OBSERVABILITY_PLUGIN } from '../meta';\nimport { ObservabilityAction } from '../types';\n\nexport const ObservabilitySettingsSchema = Schema.mutable(\n Schema.Struct({\n enabled: Schema.Boolean,\n // TODO(wittjosiah): Separate settings for each observability feature.\n // metrics?: boolean;\n // telemetry?: boolean;\n // errors?: boolean;\n }),\n);\n\nexport type ObservabilitySettingsProps = Schema.Schema.Type<typeof ObservabilitySettingsSchema>;\n\nexport const ObservabilitySettings = ({ settings }: { settings: ObservabilitySettingsProps }) => {\n const { t } = useTranslation(OBSERVABILITY_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput\n label={t('observability enabled label')}\n secondary={\n <Message.Root valence='info'>\n <Message.Body>{t('observability description')}</Message.Body>\n </Message.Root>\n }\n >\n <Input.Switch\n checked={settings.enabled}\n onCheckedChange={(checked) => dispatch(createIntent(ObservabilityAction.Toggle, { state: !!checked }))}\n />\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_react", "import_effect", "import_app_framework", "import_react_ui", "import_react_ui_form", "defaultValues", "message", "FormContent", "t", "useTranslation", "OBSERVABILITY_PLUGIN", "handleSave", "canSave", "useFormContext", "messageProps", "useInputProps", "React", "div", "role", "className", "Input", "Root", "validationValence", "getStatus", "status", "Label", "TextArea", "classNames", "rows", "cols", "placeholder", "value", "getValue", "onChange", "e", "onValueChange", "target", "onBlur", "DescriptionAndValidation", "Validation", "error", "IconButton", "icon", "label", "variant", "type", "disabled", "onClick", "FeedbackForm", "onSave", "formRef", "useRef", "_", "update", "useState", "forceRender", "useCallback", "values", "initialValues", "getSnapshot", "FormProvider", "schema", "UserFeedback", "ref", "HelpContainer", "dispatchPromise", "dispatch", "useIntentDispatcher", "pipe", "createIntent", "ObservabilityAction", "CaptureUserFeedback", "chain", "LayoutAction", "UpdateComplementary", "part", "options", "state", "AddToast", "subject", "id", "duration", "title", "ns", "description", "closeLabel", "ObservabilitySettingsSchema", "Schema", "mutable", "Struct", "enabled", "Boolean", "ObservabilitySettings", "settings", "DeprecatedFormContainer", "DeprecatedFormInput", "secondary", "Message", "valence", "Body", "Switch", "checked", "onCheckedChange", "Toggle"]
|
|
7
|
+
}
|
|
@@ -16,12 +16,12 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var client_ready_ENPTPI2O_exports = {};
|
|
20
|
+
__export(client_ready_ENPTPI2O_exports, {
|
|
21
21
|
default: () => client_ready_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
var
|
|
23
|
+
module.exports = __toCommonJS(client_ready_ENPTPI2O_exports);
|
|
24
|
+
var import_chunk_A7DUZZ5V = require("./chunk-A7DUZZ5V.cjs");
|
|
25
25
|
var import_chunk_WJQ2MG7S = require("./chunk-WJQ2MG7S.cjs");
|
|
26
26
|
var import_chunk_2ERIOZP3 = require("./chunk-2ERIOZP3.cjs");
|
|
27
27
|
var import_app_framework = require("@dxos/app-framework");
|
|
@@ -80,7 +80,7 @@ var client_ready_default = async ({ context, namespace, observability }) => {
|
|
|
80
80
|
}
|
|
81
81
|
};
|
|
82
82
|
manager.enabled.map((plugin) => observability?.setTag(`pluginEnabled-${plugin}`, "true", "errors"));
|
|
83
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
83
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_A7DUZZ5V.ObservabilityAction.SendEvent, {
|
|
84
84
|
name: "page.load",
|
|
85
85
|
properties: {
|
|
86
86
|
// TODO(wittjosiah): These apis are deprecated. Is there a better way to find this information?
|
|
@@ -110,4 +110,4 @@ var client_ready_default = async ({ context, namespace, observability }) => {
|
|
|
110
110
|
await observability.close();
|
|
111
111
|
});
|
|
112
112
|
};
|
|
113
|
-
//# sourceMappingURL=client-ready-
|
|
113
|
+
//# sourceMappingURL=client-ready-ENPTPI2O.cjs.map
|
package/dist/lib/node/index.cjs
CHANGED
|
@@ -28,29 +28,29 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var node_exports = {};
|
|
30
30
|
__export(node_exports, {
|
|
31
|
-
FeedbackForm: () =>
|
|
32
|
-
HelpContainer: () =>
|
|
31
|
+
FeedbackForm: () => import_chunk_UCKA5GBZ.FeedbackForm,
|
|
32
|
+
HelpContainer: () => import_chunk_UCKA5GBZ.HelpContainer,
|
|
33
33
|
OBSERVABILITY_PLUGIN: () => import_chunk_2ERIOZP3.OBSERVABILITY_PLUGIN,
|
|
34
34
|
ObservabilityCapabilities: () => import_chunk_WJQ2MG7S.ObservabilityCapabilities,
|
|
35
35
|
ObservabilityEvents: () => ObservabilityEvents,
|
|
36
36
|
ObservabilityPlugin: () => ObservabilityPlugin,
|
|
37
|
-
ObservabilitySettings: () =>
|
|
38
|
-
ObservabilitySettingsSchema: () =>
|
|
37
|
+
ObservabilitySettings: () => import_chunk_UCKA5GBZ.ObservabilitySettings,
|
|
38
|
+
ObservabilitySettingsSchema: () => import_chunk_UCKA5GBZ.ObservabilitySettingsSchema,
|
|
39
39
|
meta: () => import_chunk_2ERIOZP3.meta
|
|
40
40
|
});
|
|
41
41
|
module.exports = __toCommonJS(node_exports);
|
|
42
|
-
var
|
|
43
|
-
var
|
|
42
|
+
var import_chunk_UCKA5GBZ = require("./chunk-UCKA5GBZ.cjs");
|
|
43
|
+
var import_chunk_A7DUZZ5V = require("./chunk-A7DUZZ5V.cjs");
|
|
44
44
|
var import_chunk_WJQ2MG7S = require("./chunk-WJQ2MG7S.cjs");
|
|
45
45
|
var import_chunk_2ERIOZP3 = require("./chunk-2ERIOZP3.cjs");
|
|
46
46
|
var import_app_framework = require("@dxos/app-framework");
|
|
47
47
|
var import_app_framework2 = require("@dxos/app-framework");
|
|
48
48
|
var import_app_framework3 = require("@dxos/app-framework");
|
|
49
49
|
var AppGraphBuilder = (0, import_app_framework.lazy)(() => import("./app-graph-builder-JPUTX4LQ.cjs"));
|
|
50
|
-
var ClientReady = (0, import_app_framework.lazy)(() => import("./client-ready-
|
|
51
|
-
var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-
|
|
52
|
-
var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-
|
|
53
|
-
var ObservabilitySettings2 = (0, import_app_framework.lazy)(() => import("./settings-
|
|
50
|
+
var ClientReady = (0, import_app_framework.lazy)(() => import("./client-ready-ENPTPI2O.cjs"));
|
|
51
|
+
var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-KHM3CT62.cjs"));
|
|
52
|
+
var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-D7JFIB3X.cjs"));
|
|
53
|
+
var ObservabilitySettings2 = (0, import_app_framework.lazy)(() => import("./settings-QPCXX5RG.cjs"));
|
|
54
54
|
var ObservabilityState = (0, import_app_framework.lazy)(() => import("./state-5GZLUTX7.cjs"));
|
|
55
55
|
var ObservabilityEvents;
|
|
56
56
|
(function(ObservabilityEvents2) {
|
|
@@ -72,8 +72,10 @@ var translations_default = [
|
|
|
72
72
|
"observability description": "When enabled, basic usage data will used to improve the product. This may include performance metrics, error logs, and usage data. No personally identifiable information, other than your public key, is included with this data and no private data ever leaves your devices.",
|
|
73
73
|
"help label": "Feedback & Support",
|
|
74
74
|
"feedback text area label": "Feedback",
|
|
75
|
-
"feedback text area placeholder": "Please
|
|
76
|
-
"send feedback label": "Send Feedback"
|
|
75
|
+
"feedback text area placeholder": "Please enter your feedback, technical issue, or feature request.",
|
|
76
|
+
"send feedback label": "Send Feedback",
|
|
77
|
+
"feedback toast label": "Thank you for your feedback!",
|
|
78
|
+
"feedback toast description": "We will review your feedback and get back to you as soon as possible."
|
|
77
79
|
}
|
|
78
80
|
}
|
|
79
81
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/index.ts", "../../../src/events.ts", "../../../src/ObservabilityPlugin.ts", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const ClientReady = lazy(() => import('./client-ready'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const ObservabilitySettings = lazy(() => import('./settings'));\nexport const ObservabilityState = lazy(() => import('./state'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent, Events } from '@dxos/app-framework';\n\nimport { OBSERVABILITY_PLUGIN } from './meta';\n\nexport namespace ObservabilityEvents {\n export const StateReady = Events.createStateEvent(OBSERVABILITY_PLUGIN);\n}\n\n// NOTE: This is cloned from the client plugin to avoid circular dependencies.\nexport const ClientReadyEvent = defineEvent('dxos.org/plugin/client/event/client-ready');\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { allOf, Capabilities, contributes, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { type Observability } from '@dxos/observability';\n\nimport {\n AppGraphBuilder,\n ClientReady,\n IntentResolver,\n ObservabilityCapabilities,\n ObservabilitySettings,\n ObservabilityState,\n ReactSurface,\n} from './capabilities';\nimport { ObservabilityEvents, ClientReadyEvent } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\n\nexport const ObservabilityPlugin = (options: { namespace: string; observability: () => Promise<Observability> }) =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/observability`,\n activatesOn: Events.Startup,\n activate: async () => contributes(ObservabilityCapabilities.Observability, await options.observability()),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: ObservabilitySettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n activatesOn: Events.Startup,\n activatesAfter: [ObservabilityEvents.StateReady],\n activate: () => ObservabilityState({ namespace: options.namespace }),\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, namespace: options.namespace }),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/client-ready`,\n activatesOn: allOf(Events.DispatcherReady, ObservabilityEvents.StateReady, ClientReadyEvent),\n activate: async (context) => {\n const observability = await options.observability();\n return ClientReady({ context, observability, namespace: options.namespace });\n },\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { OBSERVABILITY_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [OBSERVABILITY_PLUGIN]: {\n 'plugin name': 'Telemetry',\n 'observability toast label': 'Privacy Notice',\n 'observability toast description':\n 'Composer collects usage and performance metrics to improve the product. No user data is collected.',\n 'observability toast action label': 'Settings',\n 'observability toast action alt': 'Open settings to learn more or to disable.',\n 'observability toast close label': 'Okay',\n 'observability enabled label': 'Enable telemetry',\n // TODO: Add link about telemetry privacy. Make it clearer that user data is not collected.\n 'observability description':\n 'When enabled, basic usage data will used to improve the product. This may include performance metrics, error logs, and usage data. No personally identifiable information, other than your public key, is included with this data and no private data ever leaves your devices.',\n\n 'help label': 'Feedback & Support',\n 'feedback text area label': 'Feedback',\n 'feedback text area placeholder': 'Please
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAqB;ACArB,IAAAA,wBAAoC;ACApC,IAAAA,wBAAqF;AFE9E,IAAMC,sBAAkBC,2BAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,kBAAcD,2BAAK,MAAM,OAAO,6BAAA,CAAA;AACtC,IAAME,qBAAiBF,2BAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMG,mBAAeH,2BAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMI,6BAAwBJ,2BAAK,MAAM,OAAO,yBAAA,CAAA;AAChD,IAAMK,yBAAqBL,2BAAK,MAAM,OAAO,sBAAA,CAAA;;UCHnCM,sBAAAA;uBACFC,aAAaC,6BAAOC,iBAAiBC,0CAAAA;AACpD,GAFiBJ,wBAAAA,sBAAAA,CAAAA,EAAAA;AAKV,IAAMK,uBAAmBC,mCAAY,2CAAA;AEP5C,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACF,0CAAAA,GAAuB;QACtB,eAAe;QACf,6BAA6B;QAC7B,mCACE;QACF,oCAAoC;QACpC,kCAAkC;QAClC,mCAAmC;QACnC,+BAA+B;;QAE/B,6BACE;QAEF,cAAc;QACd,4BAA4B;QAC5B,kCAAkC;QAClC,uBAAuB;
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const ClientReady = lazy(() => import('./client-ready'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const ObservabilitySettings = lazy(() => import('./settings'));\nexport const ObservabilityState = lazy(() => import('./state'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent, Events } from '@dxos/app-framework';\n\nimport { OBSERVABILITY_PLUGIN } from './meta';\n\nexport namespace ObservabilityEvents {\n export const StateReady = Events.createStateEvent(OBSERVABILITY_PLUGIN);\n}\n\n// NOTE: This is cloned from the client plugin to avoid circular dependencies.\nexport const ClientReadyEvent = defineEvent('dxos.org/plugin/client/event/client-ready');\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { allOf, Capabilities, contributes, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { type Observability } from '@dxos/observability';\n\nimport {\n AppGraphBuilder,\n ClientReady,\n IntentResolver,\n ObservabilityCapabilities,\n ObservabilitySettings,\n ObservabilityState,\n ReactSurface,\n} from './capabilities';\nimport { ObservabilityEvents, ClientReadyEvent } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\n\nexport const ObservabilityPlugin = (options: { namespace: string; observability: () => Promise<Observability> }) =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/observability`,\n activatesOn: Events.Startup,\n activate: async () => contributes(ObservabilityCapabilities.Observability, await options.observability()),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: ObservabilitySettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n activatesOn: Events.Startup,\n activatesAfter: [ObservabilityEvents.StateReady],\n activate: () => ObservabilityState({ namespace: options.namespace }),\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, namespace: options.namespace }),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/client-ready`,\n activatesOn: allOf(Events.DispatcherReady, ObservabilityEvents.StateReady, ClientReadyEvent),\n activate: async (context) => {\n const observability = await options.observability();\n return ClientReady({ context, observability, namespace: options.namespace });\n },\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { OBSERVABILITY_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [OBSERVABILITY_PLUGIN]: {\n 'plugin name': 'Telemetry',\n 'observability toast label': 'Privacy Notice',\n 'observability toast description':\n 'Composer collects usage and performance metrics to improve the product. No user data is collected.',\n 'observability toast action label': 'Settings',\n 'observability toast action alt': 'Open settings to learn more or to disable.',\n 'observability toast close label': 'Okay',\n 'observability enabled label': 'Enable telemetry',\n // TODO: Add link about telemetry privacy. Make it clearer that user data is not collected.\n 'observability description':\n 'When enabled, basic usage data will used to improve the product. This may include performance metrics, error logs, and usage data. No personally identifiable information, other than your public key, is included with this data and no private data ever leaves your devices.',\n\n 'help label': 'Feedback & Support',\n 'feedback text area label': 'Feedback',\n 'feedback text area placeholder': 'Please enter your feedback, technical issue, or feature request.',\n 'send feedback label': 'Send Feedback',\n 'feedback toast label': 'Thank you for your feedback!',\n 'feedback toast description': 'We will review your feedback and get back to you as soon as possible.',\n },\n },\n },\n];\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAqB;ACArB,IAAAA,wBAAoC;ACApC,IAAAA,wBAAqF;AFE9E,IAAMC,sBAAkBC,2BAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,kBAAcD,2BAAK,MAAM,OAAO,6BAAA,CAAA;AACtC,IAAME,qBAAiBF,2BAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMG,mBAAeH,2BAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMI,6BAAwBJ,2BAAK,MAAM,OAAO,yBAAA,CAAA;AAChD,IAAMK,yBAAqBL,2BAAK,MAAM,OAAO,sBAAA,CAAA;;UCHnCM,sBAAAA;uBACFC,aAAaC,6BAAOC,iBAAiBC,0CAAAA;AACpD,GAFiBJ,wBAAAA,sBAAAA,CAAAA,EAAAA;AAKV,IAAMK,uBAAmBC,mCAAY,2CAAA;AEP5C,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACF,0CAAAA,GAAuB;QACtB,eAAe;QACf,6BAA6B;QAC7B,mCACE;QACF,oCAAoC;QACpC,kCAAkC;QAClC,mCAAmC;QACnC,+BAA+B;;QAE/B,6BACE;QAEF,cAAc;QACd,4BAA4B;QAC5B,kCAAkC;QAClC,uBAAuB;QACvB,wBAAwB;QACxB,8BAA8B;MAChC;IACF;EACF;;ADVK,IAAMG,sBAAsB,CAACC,gBAClCC,oCAAaC,4BAAM;MACjBC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaX,sBAAAA,OAAOY;IACpBC,UAAU,gBAAYC,mCAAYC,gDAA0BC,eAAe,MAAMV,QAAQW,cAAa,CAAA;EACxG,CAAA;MACAR,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaX,sBAAAA,OAAOkB;IACpBL,UAAUjB;EACZ,CAAA;MACAa,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaX,sBAAAA,OAAOY;IACpBO,gBAAgB;MAACrB,oBAAoBC;;IACrCc,UAAU,MAAMhB,mBAAmB;MAAEuB,WAAWd,QAAQc;IAAU,CAAA;EACpE,CAAA;MACAX,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaX,sBAAAA,OAAOqB;IACpBR,UAAU,UAAMC,mCAAYQ,mCAAaC,cAAcC,oBAAAA;EACzD,CAAA;MACAf,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaX,sBAAAA,OAAOyB;IACpBZ,UAAU,CAACa,YAAYhC,eAAe;MAAEgC;MAASN,WAAWd,QAAQc;IAAU,CAAA;EAChF,CAAA;MACAX,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaX,sBAAAA,OAAO2B;IACpBd,UAAUlB;EACZ,CAAA;MACAc,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaX,sBAAAA,OAAO4B;IACpBf,UAAUtB;EACZ,CAAA;MACAkB,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,iBAAakB,6BAAM7B,sBAAAA,OAAO8B,iBAAiBhC,oBAAoBC,YAAYI,gBAAAA;IAC3EU,UAAU,OAAOa,YAAAA;AACf,YAAMT,gBAAgB,MAAMX,QAAQW,cAAa;AACjD,aAAOxB,YAAY;QAAEiC;QAAST;QAAeG,WAAWd,QAAQc;MAAU,CAAA;IAC5E;EACF,CAAA;CACD;",
|
|
6
6
|
"names": ["import_app_framework", "AppGraphBuilder", "lazy", "ClientReady", "IntentResolver", "ReactSurface", "ObservabilitySettings", "ObservabilityState", "ObservabilityEvents", "StateReady", "Events", "createStateEvent", "OBSERVABILITY_PLUGIN", "ClientReadyEvent", "defineEvent", "ObservabilityPlugin", "options", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Startup", "activate", "contributes", "ObservabilityCapabilities", "Observability", "observability", "SetupSettings", "activatesAfter", "namespace", "SetupTranslations", "Capabilities", "Translations", "translations", "SetupIntentResolver", "context", "SetupReactSurface", "SetupAppGraph", "allOf", "DispatcherReady"]
|
|
7
7
|
}
|
|
@@ -16,12 +16,12 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var intent_resolver_KHM3CT62_exports = {};
|
|
20
|
+
__export(intent_resolver_KHM3CT62_exports, {
|
|
21
21
|
default: () => intent_resolver_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
var
|
|
23
|
+
module.exports = __toCommonJS(intent_resolver_KHM3CT62_exports);
|
|
24
|
+
var import_chunk_A7DUZZ5V = require("./chunk-A7DUZZ5V.cjs");
|
|
25
25
|
var import_chunk_WJQ2MG7S = require("./chunk-WJQ2MG7S.cjs");
|
|
26
26
|
var import_chunk_2ERIOZP3 = require("./chunk-2ERIOZP3.cjs");
|
|
27
27
|
var import_app_framework = require("@dxos/app-framework");
|
|
@@ -43,7 +43,7 @@ var intent_resolver_default = ({ context, namespace }) => (0, import_app_framewo
|
|
|
43
43
|
}
|
|
44
44
|
}),
|
|
45
45
|
(0, import_app_framework.createResolver)({
|
|
46
|
-
intent:
|
|
46
|
+
intent: import_chunk_A7DUZZ5V.ObservabilityAction.Toggle,
|
|
47
47
|
resolve: async ({ state }) => {
|
|
48
48
|
const client = context.requestCapability(import_chunk_WJQ2MG7S.ClientCapability);
|
|
49
49
|
const observability = context.requestCapability(import_chunk_WJQ2MG7S.ObservabilityCapabilities.Observability);
|
|
@@ -64,7 +64,7 @@ var intent_resolver_default = ({ context, namespace }) => (0, import_app_framewo
|
|
|
64
64
|
}
|
|
65
65
|
}),
|
|
66
66
|
(0, import_app_framework.createResolver)({
|
|
67
|
-
intent:
|
|
67
|
+
intent: import_chunk_A7DUZZ5V.ObservabilityAction.SendEvent,
|
|
68
68
|
resolve: (data) => {
|
|
69
69
|
const client = context.requestCapability(import_chunk_WJQ2MG7S.ClientCapability);
|
|
70
70
|
const properties = "properties" in data ? data.properties : {};
|
|
@@ -78,11 +78,11 @@ var intent_resolver_default = ({ context, namespace }) => (0, import_app_framewo
|
|
|
78
78
|
}
|
|
79
79
|
}),
|
|
80
80
|
(0, import_app_framework.createResolver)({
|
|
81
|
-
intent:
|
|
81
|
+
intent: import_chunk_A7DUZZ5V.ObservabilityAction.CaptureUserFeedback,
|
|
82
82
|
resolve: async (data) => {
|
|
83
83
|
const observability = context.requestCapability(import_chunk_WJQ2MG7S.ObservabilityCapabilities.Observability);
|
|
84
84
|
observability.captureUserFeedback(data.message);
|
|
85
85
|
}
|
|
86
86
|
})
|
|
87
87
|
]);
|
|
88
|
-
//# sourceMappingURL=intent-resolver-
|
|
88
|
+
//# sourceMappingURL=intent-resolver-KHM3CT62.cjs.map
|