@wssto2/vue-core 0.13.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.1 — 2026-10-19
4
+
5
+ go-core `v1.18.1`: a client error says where it came from.
6
+
7
+ ### Changed
8
+ - **incidents:** `clientErrorReporter` sends every report's `source` (`vue`, `unhandledrejection`, `window`, `handled`) and a handled error's `detail` (at most 255 characters) as fields of `ClientErrorInput`; the message is the error's own again, without the `[handled: detail]` prefix of 0.13.0. go-core keeps both in the occurrence's context and groups the same error as one incident whether it was handled or not.
9
+ - **modules:** regenerated from go-core v1.18.1 (`ClientErrorInput.source`, `detail`, optional).
10
+
3
11
  ## 0.13.0 — 2026-10-18
4
12
 
5
13
  Platform features an application kept to itself: per-person preferences (dark mode, dismissed tips) on go-core identity, an
@@ -23,7 +23,7 @@ import { a as be } from "./routeResource-DlTsGTg_.js";
23
23
  import { a as ve } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Coz91xht.js";
24
24
  import { _ as N } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
25
25
  import { _ as q } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
26
- import { u as xe, i as he, a as ye, M as ge, U as ke, m as we, f as $e, g as z, r as Se, S as Te, e as D, c as L, d as Ee, b as Ie } from "./index-CRxU_Wh2.js";
26
+ import { u as xe, i as he, a as ye, M as ge, U as ke, m as we, f as $e, g as z, r as Se, S as Te, e as D, c as L, d as Ee, b as Ie } from "./index-Be9Q1PB_.js";
27
27
  import { _ as Ne } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
28
28
  const De = { class: "flex min-w-0 items-center gap-2" }, Le = { class: "flex min-w-0 flex-col items-start" }, Ce = { class: "max-w-full truncate text-xs font-semibold text-content-strong" }, Ae = {
29
29
  key: 0,
@@ -9,7 +9,7 @@ import { _ as g } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.
9
9
  import { u as K } from "./format-DoKs29bZ.js";
10
10
  import { u as G } from "./platform-DtISOEt7.js";
11
11
  import { _ as k } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
12
- import { i as v, a as H, C as J, _ as M, S as T, b as Q, c as S, d as W, e as E } from "./index-CRxU_Wh2.js";
12
+ import { i as v, a as H, C as J, _ as M, S as T, b as Q, c as S, d as W, e as E } from "./index-Be9Q1PB_.js";
13
13
  const X = {
14
14
  key: 1,
15
15
  class: "flex min-w-0 items-center gap-3"
@@ -28,8 +28,8 @@ export declare const MAX_REPORTS_PER_SESSION = 20;
28
28
  *
29
29
  * createApplication({ platform, features, onError: clientErrorReporter({ platform, appVersion: __APP_VERSION__ }) })
30
30
  *
31
- * Reported: component errors, unhandled rejections, window errors and errors the code handled itself (`report` of the application, as
32
- * `[handled: detail] message`) that carry a real `Error` whose stack has a frame of the
31
+ * Reported: component errors, unhandled rejections, window errors and errors the code handled itself (`report` of the application,
32
+ * sent with `source: "handled"` and its `detail`) that carry a real `Error` whose stack has a frame of the
33
33
  * application's own origin. Not reported: failed requests (`ApiError`, of any kind: the server captures its own 5xx),
34
34
  * `Script error.`, errors of extensions and other origins, failures of effects, loads and the router, and anything while nobody
35
35
  * is signed in. Each error (message plus top frame) goes once per page session, at most 20 distinct ones. A report sends the message,
@@ -1,4 +1,4 @@
1
- import { h as t, j as i, k as r, l as n, i as a } from "../index-CRxU_Wh2.js";
1
+ import { h as t, j as i, k as r, l as n, i as a } from "../index-Be9Q1PB_.js";
2
2
  export {
3
3
  t as MAX_REPORTS_PER_SESSION,
4
4
  i as clientErrorReporter,
@@ -1,15 +1,15 @@
1
1
  import { r as p } from "./route-goWMxDUN.js";
2
- import { d as V, p as U } from "./feature-DdUAfyi4.js";
3
- import { defineComponent as R, computed as O, onMounted as L, watch as B, openBlock as y, createBlock as I, unref as e, withCtx as T, createElementVNode as X, createVNode as c, mergeProps as l, createCommentVNode as k, ref as F } from "vue";
2
+ import { d as V, p as L } from "./feature-DdUAfyi4.js";
3
+ import { defineComponent as A, computed as O, onMounted as U, watch as X, openBlock as S, createBlock as y, unref as e, withCtx as I, createElementVNode as B, createVNode as c, mergeProps as l, createCommentVNode as R, ref as F } from "vue";
4
4
  import { d as j } from "./context-Ch1r4fdN.js";
5
- import { useI18n as M } from "vue-i18n";
5
+ import { useI18n as P } from "vue-i18n";
6
6
  import { a as N } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
7
7
  import { _ as G } from "./SelectField.vue_vue_type_script_setup_true_lang-BZwdANL3.js";
8
- import { _ as g } from "./TextareaField.vue_vue_type_script_setup_true_lang-D2j4s96s.js";
9
- import { _ as E } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
8
+ import { _ as b } from "./TextareaField.vue_vue_type_script_setup_true_lang-D2j4s96s.js";
9
+ import { _ as x } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
10
10
  import { u as K, _ as z } from "./useCommand-Ch_nx1AQ.js";
11
11
  import { t as H } from "./toast-CqSDTWRX.js";
12
- import { u as C } from "./platform-DtISOEt7.js";
12
+ import { u as k } from "./platform-DtISOEt7.js";
13
13
  import { d as Q, r as W, a as Y } from "./http-DOEfFCDA.js";
14
14
  import { _ as J } from "./AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js";
15
15
  import { d as Z } from "./defineRoutes-BGAdiIrt.js";
@@ -24,8 +24,8 @@ const v = {
24
24
  comment: p("POST", "/v1/incidents/:incidentID/comments", { permission: "incident:create" }),
25
25
  update: p("PATCH", "/v1/incidents/:incidentID", { permission: "incident:update" }),
26
26
  clientError: p("POST", "/v1/incidents/client-errors")
27
- }, [ie, D] = j("vue-core.incidents"), $ = "incident:view", se = "incident:create", Fe = "incident:update", re = "incident:manage";
28
- function je(t) {
27
+ }, [ie, C] = j("vue-core.incidents"), M = "incident:view", se = "incident:create", je = "incident:update", re = "incident:manage";
28
+ function Ge(t) {
29
29
  return Q({
30
30
  id: "incidents",
31
31
  stateVersion: 1,
@@ -35,7 +35,7 @@ function je(t) {
35
35
  defaults: { sort: "last_seen_at", direction: "desc" }
36
36
  });
37
37
  }
38
- const A = (t) => ({ headers: { "Idempotency-Key": t } });
38
+ const T = (t) => ({ headers: { "Idempotency-Key": t } });
39
39
  function oe(t) {
40
40
  return {
41
41
  show: async (n, s) => {
@@ -43,13 +43,13 @@ function oe(t) {
43
43
  return { incident: r, reports: o?.reports ?? [], comments: o?.comments ?? [] };
44
44
  },
45
45
  /** The whole management form; the answer is the stored incident (without its people: the page reads again for them). */
46
- update: async (n, s, r) => (await t.request(v.update, { ...s, incidentID: n }, A(r))).data,
46
+ update: async (n, s, r) => (await t.request(v.update, { ...s, incidentID: n }, T(r))).data,
47
47
  /** A report: the incident it opened or joined. */
48
- report: async (n, s) => (await t.request(v.report, n, A(s))).data.data,
49
- comment: async (n, s, r) => (await t.request(v.comment, { ...s, incidentID: n }, A(r))).data
48
+ report: async (n, s) => (await t.request(v.report, n, T(s))).data.data,
49
+ comment: async (n, s, r) => (await t.request(v.comment, { ...s, incidentID: n }, T(r))).data
50
50
  };
51
51
  }
52
- const ae = () => oe(C().http);
52
+ const ae = () => oe(k().http);
53
53
  function ce(t, n) {
54
54
  return {
55
55
  safeParse(s) {
@@ -76,8 +76,8 @@ function de(t) {
76
76
  extra_json: ""
77
77
  };
78
78
  }
79
- const Ge = () => ({ body: "", visibility: "public" });
80
- function Ke() {
79
+ const Ke = () => ({ body: "", visibility: "public" });
80
+ function ze() {
81
81
  return {
82
82
  status: "",
83
83
  severity: "",
@@ -90,7 +90,7 @@ function Ke() {
90
90
  external_ticket_url: ""
91
91
  };
92
92
  }
93
- function ze({ incident: t }) {
93
+ function He({ incident: t }) {
94
94
  return {
95
95
  status: t.status,
96
96
  severity: t.severity,
@@ -103,7 +103,7 @@ function ze({ incident: t }) {
103
103
  external_ticket_url: t.external_ticket_url ?? ""
104
104
  };
105
105
  }
106
- const He = {
106
+ const Qe = {
107
107
  new: "core.incidents.statuses.new",
108
108
  triaged: "core.incidents.statuses.triaged",
109
109
  in_progress: "core.incidents.statuses.in_progress",
@@ -115,19 +115,19 @@ const He = {
115
115
  medium: "core.incidents.severities.medium",
116
116
  high: "core.incidents.severities.high",
117
117
  critical: "core.incidents.severities.critical"
118
- }, Qe = {
118
+ }, We = {
119
119
  user_report: "core.incidents.sources.user_report",
120
120
  runtime_error: "core.incidents.sources.runtime_error",
121
121
  client_error: "core.incidents.sources.client_error",
122
122
  mixed: "core.incidents.sources.mixed"
123
- }, We = {
123
+ }, Ye = {
124
124
  new: "info",
125
125
  triaged: "warning",
126
126
  in_progress: "warning",
127
127
  resolved: "positive",
128
128
  ignored: "neutral",
129
129
  duplicate: "neutral"
130
- }, Ye = {
130
+ }, Je = {
131
131
  low: "neutral",
132
132
  medium: "info",
133
133
  high: "warning",
@@ -135,42 +135,42 @@ const He = {
135
135
  }, ue = {
136
136
  class: "flex flex-col gap-group-gap",
137
137
  "data-test": "incident-report"
138
- }, me = /* @__PURE__ */ R({
138
+ }, me = /* @__PURE__ */ A({
139
139
  __name: "ReportDialog",
140
140
  props: {
141
141
  autoOpen: { type: Boolean }
142
142
  },
143
143
  emits: ["created", "close"],
144
144
  setup(t, { expose: n, emit: s }) {
145
- const r = t, o = s, { t: i } = M(), { access: d } = C(), u = ae(), { appVersion: h } = D(), x = O(() => d.can(re)), w = O(() => Object.entries(le).map(([m, f]) => ({ value: m, label: i(f) }))), _ = K({
145
+ const r = t, o = s, { t: i } = P(), { access: d } = k(), u = ae(), { appVersion: h } = C(), E = O(() => d.can(re)), w = O(() => Object.entries(le).map(([m, g]) => ({ value: m, label: i(g) }))), _ = K({
146
146
  defaults: () => de(h),
147
147
  validator: ce(["title", "description"], i("core.account.validation.required")),
148
- run: (m, { idempotencyKey: f }) => u.report(m, f),
148
+ run: (m, { idempotencyKey: g }) => u.report(m, g),
149
149
  done: (m) => {
150
150
  H.success(i("core.incidents.toasts.report_success")), o("created", m);
151
151
  }
152
- }), a = _.form, S = () => _.present(), P = () => _.dismiss();
153
- return L(() => {
154
- r.autoOpen && S();
155
- }), B(() => _.open.value, (m, f) => {
156
- f && !m && o("close");
157
- }), n({ show: S, hide: P }), (m, f) => (y(), I(e(z), {
152
+ }), a = _.form, D = () => _.present(), $ = () => _.dismiss();
153
+ return U(() => {
154
+ r.autoOpen && D();
155
+ }), X(() => _.open.value, (m, g) => {
156
+ g && !m && o("close");
157
+ }), n({ show: D, hide: $ }), (m, g) => (S(), y(e(z), {
158
158
  command: e(_),
159
159
  size: "md",
160
160
  title: e(i)("core.incidents.report_modal.title"),
161
161
  subtitle: e(i)("core.incidents.report_modal.description"),
162
162
  "confirm-label": e(i)("core.incidents.report_modal.submit")
163
163
  }, {
164
- default: T(() => [
165
- X("div", ue, [
164
+ default: I(() => [
165
+ B("div", ue, [
166
166
  c(e(N), null, {
167
- default: T(() => [
168
- c(e(E), l(e(a).bind("title"), {
167
+ default: I(() => [
168
+ c(e(x), l(e(a).bind("title"), {
169
169
  label: e(i)("core.incidents.fields.title"),
170
170
  required: "",
171
171
  "max-length": 255
172
172
  }), null, 16, ["label"]),
173
- c(e(g), l(e(a).bind("description"), {
173
+ c(e(b), l(e(a).bind("description"), {
174
174
  label: e(i)("core.incidents.fields.description"),
175
175
  required: "",
176
176
  rows: 4,
@@ -183,99 +183,99 @@ const He = {
183
183
  ]),
184
184
  _: 1
185
185
  }),
186
- x.value ? (y(), I(e(N), {
186
+ E.value ? (S(), y(e(N), {
187
187
  key: 0,
188
188
  header: e(i)("core.incidents.report_modal.advanced_fields")
189
189
  }, {
190
- default: T(() => [
191
- c(e(E), l(e(a).bind("affected_module"), {
190
+ default: I(() => [
191
+ c(e(x), l(e(a).bind("affected_module"), {
192
192
  label: e(i)("core.incidents.fields.affected_module"),
193
193
  "max-length": 100
194
194
  }), null, 16, ["label"]),
195
- c(e(E), l(e(a).bind("page_url"), {
195
+ c(e(x), l(e(a).bind("page_url"), {
196
196
  label: e(i)("core.incidents.fields.page_url"),
197
197
  "max-length": 1e3
198
198
  }), null, 16, ["label"]),
199
- c(e(g), l(e(a).bind("steps_to_reproduce"), {
199
+ c(e(b), l(e(a).bind("steps_to_reproduce"), {
200
200
  label: e(i)("core.incidents.fields.steps_to_reproduce"),
201
201
  rows: 3,
202
202
  "max-length": 2e4
203
203
  }), null, 16, ["label"]),
204
- c(e(g), l(e(a).bind("expected_result"), {
204
+ c(e(b), l(e(a).bind("expected_result"), {
205
205
  label: e(i)("core.incidents.fields.expected_result"),
206
206
  rows: 2,
207
207
  "max-length": 2e4
208
208
  }), null, 16, ["label"]),
209
- c(e(g), l(e(a).bind("actual_result"), {
209
+ c(e(b), l(e(a).bind("actual_result"), {
210
210
  label: e(i)("core.incidents.fields.actual_result"),
211
211
  rows: 2,
212
212
  "max-length": 2e4
213
213
  }), null, 16, ["label"]),
214
- c(e(E), l(e(a).bind("browser_info"), {
214
+ c(e(x), l(e(a).bind("browser_info"), {
215
215
  label: e(i)("core.incidents.fields.browser_info"),
216
216
  "max-length": 500
217
217
  }), null, 16, ["label"]),
218
- c(e(E), l(e(a).bind("app_version"), {
218
+ c(e(x), l(e(a).bind("app_version"), {
219
219
  label: e(i)("core.incidents.fields.app_version"),
220
220
  "max-length": 100
221
221
  }), null, 16, ["label"]),
222
- c(e(g), l(e(a).bind("frontend_error_message"), {
222
+ c(e(b), l(e(a).bind("frontend_error_message"), {
223
223
  label: e(i)("core.incidents.fields.frontend_error_message"),
224
224
  rows: 2,
225
225
  "max-length": 2e3
226
226
  }), null, 16, ["label"]),
227
- c(e(g), l(e(a).bind("frontend_stacktrace"), {
227
+ c(e(b), l(e(a).bind("frontend_stacktrace"), {
228
228
  label: e(i)("core.incidents.fields.frontend_stacktrace"),
229
229
  rows: 4,
230
230
  "max-length": 2e4
231
231
  }), null, 16, ["label"])
232
232
  ]),
233
233
  _: 1
234
- }, 8, ["header"])) : k("", !0)
234
+ }, 8, ["header"])) : R("", !0)
235
235
  ])
236
236
  ]),
237
237
  _: 1
238
238
  }, 8, ["command", "title", "subtitle", "confirm-label"]));
239
239
  }
240
- }), _e = /* @__PURE__ */ R({
240
+ }), _e = /* @__PURE__ */ A({
241
241
  __name: "ReportHost",
242
242
  setup(t) {
243
- const { reporting: n } = D(), s = () => {
243
+ const { reporting: n } = C(), s = () => {
244
244
  n.value = !1;
245
245
  };
246
- return (r, o) => e(n) ? (y(), I(me, {
246
+ return (r, o) => e(n) ? (S(), y(me, {
247
247
  key: 0,
248
248
  "auto-open": "",
249
249
  onClose: s
250
- })) : k("", !0);
250
+ })) : R("", !0);
251
251
  }
252
- }), pe = /* @__PURE__ */ R({
252
+ }), pe = /* @__PURE__ */ A({
253
253
  __name: "ReportMenuItem",
254
254
  setup(t) {
255
- const { t: n } = M(), { access: s } = C(), r = D();
256
- return (o, i) => e(s).can(e(se)) ? (y(), I(J, {
255
+ const { t: n } = P(), { access: s } = k(), r = C();
256
+ return (o, i) => e(s).can(e(se)) ? (S(), y(J, {
257
257
  key: 0,
258
258
  label: e(n)("core.incidents.report_modal.menu"),
259
259
  icon: "alertTriangle",
260
260
  "data-incident-report-menu-item": "",
261
261
  onClick: i[0] || (i[0] = (d) => e(r).reporting.value = !0)
262
- }, null, 8, ["label"])) : k("", !0);
262
+ }, null, 8, ["label"])) : R("", !0);
263
263
  }
264
264
  }), q = Z({
265
- index: { name: "incidents.index", path: "/incidents", component: () => import("./IncidentsList-D1MySyXb.js"), meta: { access: $, titleKey: "core.incidents.title" } },
265
+ index: { name: "incidents.index", path: "/incidents", component: () => import("./IncidentsList-yu0xSMrH.js"), meta: { access: M, titleKey: "core.incidents.title" } },
266
266
  details: {
267
267
  name: "incidents.details",
268
268
  path: "/incidents/:incidentID",
269
- component: () => import("./IncidentRecord-CXzgLKqI.js"),
269
+ component: () => import("./IncidentRecord-zTemLz2R.js"),
270
270
  // Previous / next record swaps the id in place.
271
- meta: { access: $, titleKey: "core.incidents.title", remountOnParam: "incidentID" }
271
+ meta: { access: M, titleKey: "core.incidents.title", remountOnParam: "incidentID" }
272
272
  }
273
273
  });
274
- function Je(t = {}) {
274
+ function Ze(t = {}) {
275
275
  return V({
276
276
  id: "incidents",
277
277
  routes: q.records,
278
- context: U(ie, { reporting: F(!1), appVersion: t.appVersion ?? "" }),
278
+ context: L(ie, { reporting: F(!1), appVersion: t.appVersion ?? "" }),
279
279
  navigation: t.destination ? [{ destination: t.destination, to: q.index, within: ["incidents.details"] }] : [],
280
280
  contributions: [
281
281
  { id: "incidents.report-menu", slot: "accountMenu", component: pe, scope: "authenticated", order: 40, optional: !0 },
@@ -283,28 +283,30 @@ function Je(t = {}) {
283
283
  ]
284
284
  });
285
285
  }
286
- const fe = 2e3, ge = 2e4, be = 255, ve = 500, he = 100, xe = 100, Ee = 20, we = /* @__PURE__ */ new Set(["vue", "unhandledrejection", "window", "handled"]), b = (t, n) => t.slice(0, n), Se = (t) => /^script error\.?$/i.test(t.trim()), ye = (t) => t.split(`
286
+ const fe = 2e3, ge = 2e4, be = 255, ve = 500, he = 100, Ee = 100, xe = 255, we = 20, Se = /* @__PURE__ */ new Set(["vue", "unhandledrejection", "window", "handled"]), f = (t, n) => t.slice(0, n), ye = (t) => /^script error\.?$/i.test(t.trim()), Ie = (t) => t.split(`
287
287
  `).find((n) => /^\s*at\s|@\S/.test(n))?.trim() ?? "";
288
- function Ze(t) {
288
+ function et(t) {
289
289
  const { platform: n, appVersion: s = "", onError: r = ee } = t, o = /* @__PURE__ */ new Set();
290
290
  function i(d) {
291
291
  const { error: u } = d;
292
- if (!we.has(d.source) || !(u instanceof Error) || ne(u) || u.message.trim() === "" || Se(u.message)) return;
293
- const h = t.origin ?? globalThis.location?.origin, x = u.stack ?? "";
294
- if (!h || h === "null" || !x.includes(`${h}/`) || n.session.state.value.status !== "authenticated") return;
292
+ if (!Se.has(d.source) || !(u instanceof Error) || ne(u) || u.message.trim() === "" || ye(u.message)) return;
293
+ const h = t.origin ?? globalThis.location?.origin, E = u.stack ?? "";
294
+ if (!h || h === "null" || !E.includes(`${h}/`) || n.session.state.value.status !== "authenticated") return;
295
295
  const w = `${u.message}
296
- ${ye(x)}`;
297
- if (o.has(w) || o.size >= Ee) return;
296
+ ${Ie(E)}`;
297
+ if (o.has(w) || o.size >= we) return;
298
298
  o.add(w);
299
- const _ = d.source === "handled" ? `[handled${d.detail ? `: ${d.detail}` : ""}] ` : "", a = {
300
- message: b(_ + u.message, fe),
301
- stack: b(x, ge),
302
- route: b((d.route ?? "").split(/[?#]/)[0] ?? "", be),
303
- browser: b(globalThis.navigator?.userAgent ?? "", ve),
304
- app_version: b(s, he),
305
- request_ids: n.http.recentRequestIds().slice(-te).map((S) => b(S, xe))
299
+ const _ = {
300
+ message: f(u.message, fe),
301
+ source: d.source,
302
+ ...d.detail && { detail: f(d.detail, xe) },
303
+ stack: f(E, ge),
304
+ route: f((d.route ?? "").split(/[?#]/)[0] ?? "", be),
305
+ browser: f(globalThis.navigator?.userAgent ?? "", ve),
306
+ app_version: f(s, he),
307
+ request_ids: n.http.recentRequestIds().slice(-te).map((a) => f(a, Ee))
306
308
  };
307
- n.http.request(v.clientError, a).catch(() => {
309
+ n.http.request(v.clientError, _).catch(() => {
308
310
  });
309
311
  }
310
312
  return (d) => {
@@ -318,22 +320,22 @@ ${ye(x)}`;
318
320
  export {
319
321
  se as C,
320
322
  re as M,
321
- Qe as S,
322
- Fe as U,
323
+ We as S,
324
+ je as U,
323
325
  me as _,
324
- je as a,
325
- We as b,
326
- He as c,
327
- Ye as d,
326
+ Ge as a,
327
+ Ye as b,
328
+ Qe as c,
329
+ Je as d,
328
330
  le as e,
329
- Ke as f,
330
- Ge as g,
331
- Ee as h,
331
+ ze as f,
332
+ Ke as g,
333
+ we as h,
332
334
  q as i,
333
- Ze as j,
335
+ et as j,
334
336
  v as k,
335
- Je as l,
336
- ze as m,
337
+ Ze as l,
338
+ He as m,
337
339
  ce as r,
338
340
  ae as u
339
341
  };
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** The version of @wssto2/vue-core (kept equal to package.json by index.test.ts). */
2
- export declare const version = "0.13.0";
2
+ export declare const version = "0.13.1";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- const o = "0.13.0";
1
+ const o = "0.13.1";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -50,5 +50,7 @@ export declare const incidentRoutes: {
50
50
  browser: string;
51
51
  app_version: string;
52
52
  request_ids: string[];
53
+ source?: string | undefined;
54
+ detail?: string | undefined;
53
55
  }, void, unknown>;
54
56
  };
@@ -10,6 +10,8 @@ export declare const ClientErrorInputSchema: z.ZodObject<{
10
10
  browser: z.ZodString;
11
11
  app_version: z.ZodString;
12
12
  request_ids: z.ZodArray<z.ZodString>;
13
+ source: z.ZodOptional<z.ZodString>;
14
+ detail: z.ZodOptional<z.ZodString>;
13
15
  }, z.core.$strip>;
14
16
  export type ClientErrorInput = z.infer<typeof ClientErrorInputSchema>;
15
17
  export declare const CommentRequestSchema: z.ZodObject<{
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wssto2/vue-core",
3
- "version": "0.13.0",
4
- "goCore": "v1.18.0",
3
+ "version": "0.13.1",
4
+ "goCore": "v1.18.1",
5
5
  "description": "Shared Vue 3 library for go-core applications: app shell, list / record / form pages and their controls.",
6
6
  "keywords": [
7
7
  "vue",