@vibesdotdev/hq 1.0.0-rc.3 → 1.0.0-rc.8
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/approval/surface-approval-channel.impl.d.ts.map +1 -1
- package/dist/approval/surface-approval-channel.impl.js +130 -2
- package/dist/approval/surface-approval-channel.impl.js.map +1 -1
- package/dist/client/friction/index.d.ts +3 -13
- package/dist/client/friction/index.d.ts.map +1 -1
- package/dist/client/friction/index.js +38 -10
- package/dist/client/friction/index.js.map +1 -1
- package/dist/friction/schemas/intake.d.ts +6 -0
- package/dist/friction/schemas/intake.d.ts.map +1 -1
- package/dist/svelte/report/ReportProblemDialog.svelte +13 -4
- package/dist/svelte/report/ReportProblemDialog.svelte.d.ts.map +1 -1
- package/package.json +56 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-approval-channel.impl.d.ts","sourceRoot":"","sources":["../../src/approval/surface-approval-channel.impl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"surface-approval-channel.impl.d.ts","sourceRoot":"","sources":["../../src/approval/surface-approval-channel.impl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAsC,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACxH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AA4L/G,MAAM,CAAC,OAAO,OAAO,wBAAyB,YAAW,4BAA4B;;gBAGxE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC;IAI9E,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,uBAAuB;iCAGnD,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;;CA8CpF"}
|
|
@@ -6,9 +6,119 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { redactCredentials } from '@vibesdotdev/shared/utils';
|
|
8
8
|
import * as z from 'zod/v4';
|
|
9
|
-
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
9
|
+
import { CapabilityError, settle, settleNow } from '@vibesdotdev/kernel';
|
|
10
|
+
import { JsonObjectSchema } from '@vibesdotdev/kernel/schemas/json';
|
|
11
|
+
import { getRuntimeSocketService } from '@vibesdotdev/kernel/socket';
|
|
12
|
+
import { getPathRoots } from '@vibesdotdev/paths';
|
|
10
13
|
import { getSurfaceNotification, resolveSurfaceNotification, SYSTEM_OWNER, writeSurfaceNotification } from "../os-wall/surface-store.wall.js";
|
|
11
14
|
import { approvalSurfaceChannelId, HQ_APPROVAL_HOOK_NAMESPACE } from "./schemas.js";
|
|
15
|
+
const CallerBridgeResponseSchema = z.object({
|
|
16
|
+
ok: z.boolean(),
|
|
17
|
+
result: JsonObjectSchema.optional(),
|
|
18
|
+
error: z.string().optional()
|
|
19
|
+
});
|
|
20
|
+
const InprocCallerBridgeSchema = z.object({
|
|
21
|
+
resolveBridge: z.function({
|
|
22
|
+
input: [JsonObjectSchema],
|
|
23
|
+
output: z.promise(CallerBridgeResponseSchema)
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
async function queryCallerBridge(runtime, request, signal) {
|
|
27
|
+
if (signal?.aborted)
|
|
28
|
+
return undefined;
|
|
29
|
+
if (runtime.hasKind('context') && runtime.hasContext('fleet/caller-bridge-inproc')) {
|
|
30
|
+
const inprocRaw = await settle(() => runtime.context('fleet/caller-bridge-inproc'));
|
|
31
|
+
if (inprocRaw.ok) {
|
|
32
|
+
const inproc = InprocCallerBridgeSchema.safeParse(inprocRaw.value);
|
|
33
|
+
if (inproc.success) {
|
|
34
|
+
const sessionId = runtime.scope.actor?.sessionId;
|
|
35
|
+
const reqWithSession = sessionId !== undefined && request.sessionId === undefined
|
|
36
|
+
? { ...request, sessionId }
|
|
37
|
+
: request;
|
|
38
|
+
const res = await settle(() => inproc.data.resolveBridge(reqWithSession));
|
|
39
|
+
if (res.ok)
|
|
40
|
+
return res.value;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (!runtime.hasKind('paths/roots') || !runtime.hasKind('runtime/socket'))
|
|
45
|
+
return undefined;
|
|
46
|
+
const queried = await settle(async () => {
|
|
47
|
+
const socketPath = `${getPathRoots(runtime).vibesHome}/hosts/caller-secrets.sock`;
|
|
48
|
+
const sockets = await getRuntimeSocketService(runtime);
|
|
49
|
+
const stream = await sockets.connectLocal(socketPath, { timeoutMs: 2_000 });
|
|
50
|
+
return await new Promise((resolve) => {
|
|
51
|
+
let settled = false;
|
|
52
|
+
let buffer = '';
|
|
53
|
+
const decoder = new TextDecoder();
|
|
54
|
+
const finish = (val) => {
|
|
55
|
+
if (settled)
|
|
56
|
+
return;
|
|
57
|
+
settled = true;
|
|
58
|
+
signal?.removeEventListener('abort', onAbort);
|
|
59
|
+
settleNow(() => stream.destroy());
|
|
60
|
+
resolve(val);
|
|
61
|
+
};
|
|
62
|
+
const onAbort = () => finish(undefined);
|
|
63
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
64
|
+
stream.on('data', (chunk) => {
|
|
65
|
+
buffer += decoder.decode(chunk, { stream: true });
|
|
66
|
+
const newline = buffer.indexOf('\n');
|
|
67
|
+
if (newline === -1)
|
|
68
|
+
return;
|
|
69
|
+
const line = buffer.slice(0, newline).trim();
|
|
70
|
+
const decoded = settleNow(() => JSON.parse(line));
|
|
71
|
+
if (decoded.ok) {
|
|
72
|
+
const parsed = CallerBridgeResponseSchema.safeParse(decoded.value);
|
|
73
|
+
if (parsed.success) {
|
|
74
|
+
finish(parsed.data);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
finish(undefined);
|
|
79
|
+
});
|
|
80
|
+
stream.on('error', () => finish(undefined));
|
|
81
|
+
stream.on('close', () => finish(undefined));
|
|
82
|
+
const sessionId = runtime.scope.actor?.sessionId;
|
|
83
|
+
const payload = { ...request };
|
|
84
|
+
if (sessionId !== undefined && payload.sessionId === undefined)
|
|
85
|
+
payload.sessionId = sessionId;
|
|
86
|
+
stream.write(new TextEncoder().encode(`${JSON.stringify(payload)}\n`));
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
return queried.ok ? queried.value : undefined;
|
|
90
|
+
}
|
|
91
|
+
async function requestApprovalOverCallerBridge(runtime, request, correlation, summary, detail, signal) {
|
|
92
|
+
const created = await queryCallerBridge(runtime, {
|
|
93
|
+
op: 'approval-request',
|
|
94
|
+
requestId: request.requestId,
|
|
95
|
+
channelId: approvalSurfaceChannelId(request.requestId),
|
|
96
|
+
summary,
|
|
97
|
+
detail,
|
|
98
|
+
toolId: request.toolId,
|
|
99
|
+
...(request.toolCallId ? { toolCallId: request.toolCallId } : {}),
|
|
100
|
+
correlation
|
|
101
|
+
}, signal);
|
|
102
|
+
const notificationId = created?.ok && typeof created.result?.notificationId === 'string'
|
|
103
|
+
? created.result.notificationId
|
|
104
|
+
: undefined;
|
|
105
|
+
if (!notificationId)
|
|
106
|
+
return undefined;
|
|
107
|
+
for (;;) {
|
|
108
|
+
if (signal?.aborted) {
|
|
109
|
+
throw new CapabilityError('The approval request was cancelled.', 'CANCELLED', {
|
|
110
|
+
reason: 'approval-request-cancelled'
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const polled = await queryCallerBridge(runtime, { op: 'approval-poll', notificationId }, signal);
|
|
114
|
+
const status = polled?.ok && typeof polled.result?.status === 'string' ? polled.result.status : 'pending';
|
|
115
|
+
if (status === 'approved')
|
|
116
|
+
return { approved: true };
|
|
117
|
+
if (status === 'discarded')
|
|
118
|
+
return { approved: false, reason: 'Declined in hq.' };
|
|
119
|
+
await runtime.lifecycle.delay(1_000, signal);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
12
122
|
/** What an agent's `request-approval` call carries; other gated calls carry their own arguments. */
|
|
13
123
|
const RequestedChangeSchema = z.looseObject({
|
|
14
124
|
action: z.string().min(1).optional(),
|
|
@@ -42,8 +152,17 @@ async function answerOf(runtime, id, signal) {
|
|
|
42
152
|
if (event.notificationId === id)
|
|
43
153
|
resolve(event.status);
|
|
44
154
|
});
|
|
155
|
+
const pollTimer = setInterval(() => {
|
|
156
|
+
void settle(async () => {
|
|
157
|
+
const row = await getSurfaceNotification(runtime, SYSTEM_OWNER, id);
|
|
158
|
+
if (row && row.status !== 'pending')
|
|
159
|
+
resolve(row.status);
|
|
160
|
+
});
|
|
161
|
+
}, 1_000);
|
|
162
|
+
pollTimer.unref?.();
|
|
45
163
|
signal?.addEventListener('abort', cancel, { once: true });
|
|
46
164
|
stop = () => {
|
|
165
|
+
clearInterval(pollTimer);
|
|
47
166
|
off();
|
|
48
167
|
signal?.removeEventListener('abort', cancel);
|
|
49
168
|
};
|
|
@@ -70,6 +189,9 @@ export default class HqSurfaceApprovalChannel {
|
|
|
70
189
|
return {
|
|
71
190
|
async requestApproval(request) {
|
|
72
191
|
const { summary, detail } = describe(request, correlation);
|
|
192
|
+
const bridged = await requestApprovalOverCallerBridge(runtime, request, correlation, summary, detail, options?.signal);
|
|
193
|
+
if (bridged)
|
|
194
|
+
return bridged;
|
|
73
195
|
const row = await writeSurfaceNotification(runtime, SYSTEM_OWNER, {
|
|
74
196
|
channelId: approvalSurfaceChannelId(request.requestId),
|
|
75
197
|
scope: 'agent',
|
|
@@ -82,10 +204,16 @@ export default class HqSurfaceApprovalChannel {
|
|
|
82
204
|
const { presentSurfaceDecision } = await import('@vibesdotdev/os/surface/decision');
|
|
83
205
|
const presentation = new AbortController();
|
|
84
206
|
const signal = options?.signal ? AbortSignal.any([options.signal, presentation.signal]) : presentation.signal;
|
|
207
|
+
const uiDecision = presentSurfaceDecision(runtime, row, { signal }).then((answer) => ({ answer, native: true }), (error) => {
|
|
208
|
+
if (error instanceof CapabilityError && error.reason === 'surface-decision-ui-unavailable') {
|
|
209
|
+
return new Promise(() => { });
|
|
210
|
+
}
|
|
211
|
+
throw error;
|
|
212
|
+
});
|
|
85
213
|
try {
|
|
86
214
|
const result = await Promise.race([
|
|
87
215
|
answerOf(runtime, row.id, signal).then((answer) => ({ answer, native: false })),
|
|
88
|
-
|
|
216
|
+
uiDecision
|
|
89
217
|
]);
|
|
90
218
|
if (result.native)
|
|
91
219
|
await resolveSurfaceNotification(runtime, SYSTEM_OWNER, row.id, result.answer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-approval-channel.impl.js","sourceRoot":"","sources":["../../src/approval/surface-approval-channel.impl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAC;AAKzE,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC9I,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAyB,MAAM,cAAc,CAAC;AAI3G,oGAAoG;AACpG,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,OAA4B,EAAE,WAAmC;IAClF,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,WAAW,IAAI,gBAAgB,EAAE,CAAC;IACnG,MAAM,KAAK,GAAG;QACb,SAAS,OAAO,CAAC,MAAM,EAAE;QACzB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;QACnE,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;QACxE,qCAAqC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;QACtF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QAChE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACtE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QAC/E,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACpG,6GAA6G;KAC7G,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/G,CAAC;AAED,sGAAsG;AACtG,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE,EAAU,EAAE,MAA+B;IACzF,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAmB,0BAA0B,CAAC,CAAC;IACxE,IAAI,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACpB,MAAM,SAAS,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,qCAAqC,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAC/I,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YACxC,IAAI,KAAK,CAAC,cAAc,KAAK,EAAE;gBAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,GAAG,GAAG,EAAE;YACX,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC;QACnE,OAAO,MAAM,SAAS,CAAC;IACxB,CAAC;YAAS,CAAC;QACV,IAAI,EAAE,CAAC;IACR,CAAC;AACF,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,wBAAwB;IACnC,QAAQ,CAAe;IAEhC,YAAY,WAA8B,EAAE,OAAkC;QAC7E,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,WAAmC,EAAE,OAAiC;QACnF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,OAAO;YACN,KAAK,CAAC,eAAe,CAAC,OAA4B;gBACjD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC3D,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE;oBACjE,SAAS,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAAS,CAAC;oBACtD,KAAK,EAAE,OAAO;oBACd,OAAO;oBACP,MAAM;oBACN,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;oBAC9K,OAAO,EAAE,EAAE;iBACX,CAAC,CAAC;gBACH,oFAAoF;gBACpF,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;gBACpF,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC9G,IAAI,CAAC;oBACJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;wBACjC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC/E,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC7F,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,MAAM;wBAAE,MAAM,0BAA0B,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBAClG,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;gBAC3G,CAAC;wBAAS,CAAC;oBACV,YAAY,CAAC,KAAK,EAAE,CAAC;gBACtB,CAAC;YACF,CAAC;SACD,CAAC;IACH,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"surface-approval-channel.impl.js","sourceRoot":"","sources":["../../src/approval/surface-approval-channel.impl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAqB,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC9I,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAyB,MAAM,cAAc,CAAC;AAI3G,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC;QACzB,KAAK,EAAE,CAAC,gBAAgB,CAAC;QACzB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;KAC7C,CAAC;CACF,CAAC,CAAC;AAEH,KAAK,UAAU,iBAAiB,CAC/B,OAAqB,EACrB,OAAmB,EACnB,MAAoB;IAEpB,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,CAAC;QACpF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACpF,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC;gBACjD,MAAM,cAAc,GACnB,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;oBACzD,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE;oBAC3B,CAAC,CAAC,OAAO,CAAC;gBACZ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC1E,IAAI,GAAG,CAAC,EAAE;oBAAE,OAAO,GAAG,CAAC,KAAK,CAAC;YAC9B,CAAC;QACF,CAAC;IACF,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5F,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;QACvC,MAAM,UAAU,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,OAAO,MAAM,IAAI,OAAO,CAAyD,CAAC,OAAO,EAAE,EAAE;YAC5F,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,CAAC,GAA2D,EAAE,EAAE;gBAC9E,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC9C,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC3B,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,OAAO,KAAK,CAAC,CAAC;oBAAE,OAAO;gBAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClD,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACpB,OAAO;oBACR,CAAC;gBACF,CAAC;gBACD,MAAM,CAAC,SAAS,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC;YACjD,MAAM,OAAO,GAAe,EAAE,GAAG,OAAO,EAAE,CAAC;YAC3C,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YAC9F,MAAM,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC7C,OAAqB,EACrB,OAA4B,EAC5B,WAAmC,EACnC,OAAe,EACf,MAAc,EACd,MAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CACtC,OAAO,EACP;QACC,EAAE,EAAE,kBAAkB;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAAS,CAAC;QACtD,OAAO;QACP,MAAM;QACN,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,WAAW;KACX,EACD,MAAM,CACN,CAAC;IACF,MAAM,cAAc,GACnB,OAAO,EAAE,EAAE,IAAI,OAAO,OAAO,CAAC,MAAM,EAAE,cAAc,KAAK,QAAQ;QAChE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc;QAC/B,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEtC,SAAS,CAAC;QACT,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,eAAe,CAAC,qCAAqC,EAAE,WAAW,EAAE;gBAC7E,MAAM,EAAE,4BAA4B;aACpC,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACrC,OAAO,EACP,EAAE,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,EACvC,MAAM,CACN,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,IAAI,MAAM,KAAK,UAAU;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrD,IAAI,MAAM,KAAK,WAAW;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAClF,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;AACF,CAAC;AAED,oGAAoG;AACpG,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,OAA4B,EAAE,WAAmC;IAClF,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,WAAW,IAAI,gBAAgB,EAAE,CAAC;IACnG,MAAM,KAAK,GAAG;QACb,SAAS,OAAO,CAAC,MAAM,EAAE;QACzB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;QACnE,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;QACxE,qCAAqC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;QACtF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QAChE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACtE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QAC/E,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACpG,6GAA6G;KAC7G,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/G,CAAC;AAED,sGAAsG;AACtG,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE,EAAU,EAAE,MAA+B;IACzF,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAmB,0BAA0B,CAAC,CAAC;IACxE,IAAI,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACpB,MAAM,SAAS,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,qCAAqC,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAC/I,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YACxC,IAAI,KAAK,CAAC,cAAc,KAAK,EAAE;gBAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,KAAK,MAAM,CAAC,KAAK,IAAI,EAAE;gBACtB,MAAM,GAAG,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACpE,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;oBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACJ,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,GAAG,GAAG,EAAE;YACX,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC;QACnE,OAAO,MAAM,SAAS,CAAC;IACxB,CAAC;YAAS,CAAC;QACV,IAAI,EAAE,CAAC;IACR,CAAC;AACF,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,wBAAwB;IACnC,QAAQ,CAAe;IAEhC,YAAY,WAA8B,EAAE,OAAkC;QAC7E,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,WAAmC,EAAE,OAAiC;QACnF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,OAAO;YACN,KAAK,CAAC,eAAe,CAAC,OAA4B;gBACjD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC3D,MAAM,OAAO,GAAG,MAAM,+BAA+B,CACpD,OAAO,EACP,OAAO,EACP,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EAAE,MAAM,CACf,CAAC;gBACF,IAAI,OAAO;oBAAE,OAAO,OAAO,CAAC;gBAE5B,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE;oBACjE,SAAS,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAAS,CAAC;oBACtD,KAAK,EAAE,OAAO;oBACd,OAAO;oBACP,MAAM;oBACN,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;oBAC9K,OAAO,EAAE,EAAE;iBACX,CAAC,CAAC;gBACH,oFAAoF;gBACpF,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;gBACpF,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC9G,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CACvE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAa,EAAE,CAAC,EAC/C,CAAC,KAAc,EAAE,EAAE;oBAClB,IAAI,KAAK,YAAY,eAAe,IAAI,KAAK,CAAC,MAAM,KAAK,iCAAiC,EAAE,CAAC;wBAC5F,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACrC,CAAC;oBACD,MAAM,KAAK,CAAC;gBACb,CAAC,CACD,CAAC;gBACF,IAAI,CAAC;oBACJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;wBACjC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAc,EAAE,CAAC,CAAC;wBACxF,UAAU;qBACV,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,MAAM;wBAAE,MAAM,0BAA0B,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBAClG,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;gBAC3G,CAAC;wBAAS,CAAC;oBACV,YAAY,CAAC,KAAK,EAAE,CAAC;gBACtB,CAAC;YACF,CAAC;SACD,CAAC;IACH,CAAC;CACD"}
|
|
@@ -7,13 +7,8 @@ import { type VibesRuntime } from '@vibesdotdev/kernel';
|
|
|
7
7
|
import type { PromoteWorkItemInput } from '../../friction/promote-input.ts';
|
|
8
8
|
import type { ListFrictionSignalsFilter } from '../../friction/store.ts';
|
|
9
9
|
import type { FrictionSignal } from '../../friction/schemas/signal.ts';
|
|
10
|
-
import { FrictionIntakeInputSchema, FrictionIntakeResponseSchema, FrictionPromoteInputSchema, FrictionPromoteResponseSchema, FrictionReportInputSchema, FrictionReportResponseSchema, type FrictionReportInput, type FrictionReportResponse, type FrictionPromoteInput, type FrictionPromoteResponse, type FrictionIntakeInput, type FrictionIntakeResponse } from '../../friction/schemas/intake.ts';
|
|
11
|
-
export
|
|
12
|
-
origin?: string;
|
|
13
|
-
fetch?: typeof globalThis.fetch;
|
|
14
|
-
userId?: string;
|
|
15
|
-
timeoutMs?: number;
|
|
16
|
-
}
|
|
10
|
+
import { FrictionIntakeInputSchema, FrictionIntakeResponseSchema, FrictionPromoteInputSchema, FrictionPromoteResponseSchema, FrictionReportInputSchema, FrictionReportResponseSchema, type FrictionReportInput, type FrictionReportResponse, type FrictionPromoteInput, type FrictionPromoteResponse, type FrictionIntakeInput, type FrictionIntakeResponse, type FrictionServiceRequestOptions } from '../../friction/schemas/intake.ts';
|
|
11
|
+
export type { FrictionServiceRequestOptions } from '../../friction/schemas/intake.ts';
|
|
17
12
|
export declare class FrictionClient extends BaseRuntimeClient {
|
|
18
13
|
private serviceRequest;
|
|
19
14
|
private authentication;
|
|
@@ -41,12 +36,7 @@ export declare class FrictionClient extends BaseRuntimeClient {
|
|
|
41
36
|
list(filter?: ListFrictionSignalsFilter): Promise<FrictionSignal[]>;
|
|
42
37
|
/** Get a single reported-problem signal by id. */
|
|
43
38
|
get(id: string): Promise<FrictionSignal | undefined>;
|
|
44
|
-
/**
|
|
45
|
-
* Build the work-item create input for promoting a signal. The convention
|
|
46
|
-
* lives in `friction/promote-input.ts` and is shared with the CLI's
|
|
47
|
-
* `hq friction promote`, so both paths create the identical work item.
|
|
48
|
-
* Pure — the caller owns the actual `createWorkItem` write.
|
|
49
|
-
*/
|
|
39
|
+
/** Build the work-item create input for promoting a signal (shared with `hq friction promote`). */
|
|
50
40
|
promoteInput(signal: FrictionSignal): PromoteWorkItemInput;
|
|
51
41
|
}
|
|
52
42
|
export default FrictionClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/friction/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAkB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/friction/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAkB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAI1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACN,yBAAyB,EACzB,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAC5B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAiBtF,qBAAa,cAAe,SAAQ,iBAAiB;IACpD,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoC;IAErE,mGAAmG;IAC7F,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;cAenE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C,oFAAoF;IACpF,iBAAiB,CAAC,OAAO,GAAE,6BAAkC,GAAG,cAAc;IAO9E,+FAA+F;IAC/F,gBAAgB,CAAC,OAAO,GAAE,IAAI,CAAC,6BAA6B,EAAE,QAAQ,CAAM,GAAG,cAAc;IAM7F,uFAAuF;IACjF,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKvE;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAQzE,+FAA+F;IACzF,OAAO,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;YAK9D,IAAI;IA8ClB,mDAAmD;IAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAKzE,kDAAkD;IAC5C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAK1D,mGAAmG;IACnG,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB;CAG1D;AA+BD,eAAe,cAAc,CAAC;AAC9B,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAErF;AACD,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,CAAC;AACvL,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,CAAC;AACxJ,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,KAAK,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACxR,YAAY,EAAE,yBAAyB,EAAE,cAAc,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -7,6 +7,7 @@ import { ApiResponseError, requestValidated } from '@vibesdotdev/client/validate
|
|
|
7
7
|
import { BaseRuntimeClient, getVibesClient } from '@vibesdotdev/kernel/client';
|
|
8
8
|
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
9
9
|
import { resolveVibesAppOrigin } from '@vibesdotdev/config/environment/resolve-app-origin';
|
|
10
|
+
import { serviceOrigin } from '@vibesdotdev/infra-core/service';
|
|
10
11
|
import { buildPromoteWorkItemInput } from "../../friction/promote-input.js";
|
|
11
12
|
import { FrictionIntakeInputSchema, FrictionIntakeResponseSchema, FrictionPromoteInputSchema, FrictionPromoteResponseSchema, FrictionReportInputSchema, FrictionReportResponseSchema } from "../../friction/schemas/intake.js";
|
|
12
13
|
const HqServiceBindingMethodsSchema = z.object({ fetch: z.function() });
|
|
@@ -82,17 +83,19 @@ export class FrictionClient extends BaseRuntimeClient {
|
|
|
82
83
|
if (!token)
|
|
83
84
|
throw new CapabilityError('HQ friction intake requires an internal service credential', 'NOT_FOUND', { reason: 'credential-not-set' });
|
|
84
85
|
}
|
|
85
|
-
else if (this.runtime.scope.surface === 'browser'
|
|
86
|
-
//
|
|
86
|
+
else if (this.runtime.scope.surface === 'browser') {
|
|
87
|
+
// On a browser surface, the credentialed request's session cookie (`credentials: 'include'`) is the caller,
|
|
88
|
+
// even when the app also composes `@vibesdotdev/auth/api-client-plugin` (`auth/caller-bearer`).
|
|
87
89
|
token = null;
|
|
88
90
|
}
|
|
89
91
|
else {
|
|
90
92
|
const caller = await this.runtime.context('auth/caller-bearer');
|
|
91
93
|
token = await caller.resolve();
|
|
92
|
-
if (!token
|
|
94
|
+
if (!token)
|
|
93
95
|
throw new CapabilityError('HQ friction intake requires caller authentication.', 'AUTH_REQUIRED', { reason: 'friction-caller-bearer-unavailable', retryable: false });
|
|
94
96
|
}
|
|
95
|
-
const
|
|
97
|
+
const catalogOrigin = this.serviceRequest.origin ?? (await resolveCatalogHqOrigin(this.runtime));
|
|
98
|
+
const origin = catalogOrigin ? resolveLocalHqOrigin(catalogOrigin, this.runtime) : null;
|
|
96
99
|
if (!origin)
|
|
97
100
|
throw new CapabilityError('HQ friction intake origin is not configured', 'NOT_FOUND', { reason: 'friction-intake-origin-unconfigured' });
|
|
98
101
|
// Transport precedence: an explicit request override, then the bound HQ
|
|
@@ -127,16 +130,41 @@ export class FrictionClient extends BaseRuntimeClient {
|
|
|
127
130
|
const { getFrictionSignal } = await import("../../friction/store.js");
|
|
128
131
|
return getFrictionSignal(this.runtime, id);
|
|
129
132
|
}
|
|
130
|
-
/**
|
|
131
|
-
* Build the work-item create input for promoting a signal. The convention
|
|
132
|
-
* lives in `friction/promote-input.ts` and is shared with the CLI's
|
|
133
|
-
* `hq friction promote`, so both paths create the identical work item.
|
|
134
|
-
* Pure — the caller owns the actual `createWorkItem` write.
|
|
135
|
-
*/
|
|
133
|
+
/** Build the work-item create input for promoting a signal (shared with `hq friction promote`). */
|
|
136
134
|
promoteInput(signal) {
|
|
137
135
|
return buildPromoteWorkItemInput(signal);
|
|
138
136
|
}
|
|
139
137
|
}
|
|
138
|
+
async function resolveCatalogHqOrigin(runtime) {
|
|
139
|
+
const fromEnv = await resolveVibesAppOrigin('hq', runtime);
|
|
140
|
+
if (fromEnv)
|
|
141
|
+
return fromEnv;
|
|
142
|
+
if (runtime.hasKind('infra/service') && runtime.query('infra/service').withId('hq').descriptors().length > 0) {
|
|
143
|
+
return serviceOrigin(runtime, 'hq');
|
|
144
|
+
}
|
|
145
|
+
if (runtime.scope.surface === 'browser') {
|
|
146
|
+
return resolveLocalLoopbackHqOrigin(runtime);
|
|
147
|
+
}
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
function resolveLocalLoopbackHqOrigin(runtime) {
|
|
151
|
+
const currentOrigin = runtime.localEnvironment.getOrigin?.();
|
|
152
|
+
if (!currentOrigin || !URL.canParse(currentOrigin))
|
|
153
|
+
return null;
|
|
154
|
+
const here = new URL(currentOrigin);
|
|
155
|
+
if (here.protocol === 'http:' && (here.hostname === '127.0.0.1' || here.hostname === 'localhost')) {
|
|
156
|
+
return 'http://127.0.0.1:5179';
|
|
157
|
+
}
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
function resolveLocalHqOrigin(origin, runtime) {
|
|
161
|
+
if (!URL.canParse(origin))
|
|
162
|
+
return origin;
|
|
163
|
+
const url = new URL(origin);
|
|
164
|
+
if (url.protocol !== 'https:' || (url.hostname !== 'hq.vibes.local' && !url.hostname.endsWith('.vibes.dev')))
|
|
165
|
+
return origin;
|
|
166
|
+
return resolveLocalLoopbackHqOrigin(runtime) ?? origin;
|
|
167
|
+
}
|
|
140
168
|
export default FrictionClient;
|
|
141
169
|
export function getVibesFrictionClient(runtime) {
|
|
142
170
|
return getVibesClient('friction', runtime);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/friction/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAA4C,MAAM,uCAAuC,CAAC;AACrI,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/friction/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -164,4 +164,10 @@ export type FrictionIntakeInput = z.input<typeof FrictionIntakeInputSchema>;
|
|
|
164
164
|
export type FrictionReportInput = z.input<typeof FrictionReportInputSchema>;
|
|
165
165
|
export type FrictionReportResponse = z.infer<typeof FrictionReportResponseSchema>;
|
|
166
166
|
export type FrictionIntakeResponse = z.infer<typeof FrictionIntakeResponseSchema>;
|
|
167
|
+
export interface FrictionServiceRequestOptions {
|
|
168
|
+
origin?: string;
|
|
169
|
+
fetch?: typeof globalThis.fetch;
|
|
170
|
+
userId?: string;
|
|
171
|
+
timeoutMs?: number;
|
|
172
|
+
}
|
|
167
173
|
//# sourceMappingURL=intake.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake.d.ts","sourceRoot":"","sources":["../../../src/friction/schemas/intake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAiB5B,kFAAkF;AAClF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoBpC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;iBAIvC,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWpC,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;kBAMvC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;kBAIrC,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;kBAKxC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"intake.d.ts","sourceRoot":"","sources":["../../../src/friction/schemas/intake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAiB5B,kFAAkF;AAClF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoBpC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;iBAIvC,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWpC,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;kBAMvC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;kBAIrC,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;kBAKxC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,MAAM,WAAW,6BAA6B;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -109,8 +109,17 @@
|
|
|
109
109
|
</script>
|
|
110
110
|
|
|
111
111
|
<Dialog.Root {open} {onOpenChange}>
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
<!--
|
|
113
|
+
Small screens get a bottom sheet: the centered dialog has no room once
|
|
114
|
+
the on-screen keyboard shrinks the visual viewport, so the body and
|
|
115
|
+
footer collide. Anchoring to the bottom edge and letting the body own
|
|
116
|
+
the only scroll keeps the title and Send reachable at every height.
|
|
117
|
+
-->
|
|
118
|
+
<Dialog.Content
|
|
119
|
+
class="flex max-h-[90dvh] flex-col max-sm:start-0 max-sm:end-0 max-sm:top-auto max-sm:bottom-0 max-sm:max-w-none max-sm:translate-x-0 max-sm:translate-y-0 max-sm:rounded-b-none max-sm:rounded-t-xl max-sm:p-4 sm:max-w-xl"
|
|
120
|
+
data-testid="report-problem-dialog"
|
|
121
|
+
>
|
|
122
|
+
<Dialog.Header class="shrink-0 pr-8">
|
|
114
123
|
<Dialog.Title>{utility.name}</Dialog.Title>
|
|
115
124
|
<Dialog.Description>
|
|
116
125
|
Tell us what went wrong. The details below are sent with your report so we can find it.
|
|
@@ -125,7 +134,7 @@
|
|
|
125
134
|
<p class="text-muted-foreground">Reference <code class="font-mono">{receipt.id}</code></p>
|
|
126
135
|
</div>
|
|
127
136
|
</div>
|
|
128
|
-
<Dialog.Footer>
|
|
137
|
+
<Dialog.Footer class="shrink-0">
|
|
129
138
|
<Button onclick={() => onOpenChange(false)}>Done</Button>
|
|
130
139
|
</Dialog.Footer>
|
|
131
140
|
{:else}
|
|
@@ -134,7 +143,7 @@
|
|
|
134
143
|
class="flex min-h-0 min-w-0 flex-1 flex-col gap-4"
|
|
135
144
|
onsubmit={(event) => { event.preventDefault(); void send(); }}
|
|
136
145
|
>
|
|
137
|
-
<div class="-mx-1 min-h-0 flex-1 space-y-5 overflow-y-auto px-1 pb-1" data-testid="report-body">
|
|
146
|
+
<div class="-mx-1 min-h-0 flex-1 space-y-5 overflow-y-auto overscroll-contain px-1 pb-1" data-testid="report-body">
|
|
138
147
|
<fieldset class="space-y-2">
|
|
139
148
|
<legend class="text-sm font-medium text-foreground">How much is this affecting you?</legend>
|
|
140
149
|
<RadioGroup.Root value={severity} onValueChange={(value) => { severity = value as FrictionSeverity; }} class="gap-2">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReportProblemDialog.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/report/ReportProblemDialog.svelte
|
|
1
|
+
{"version":3,"file":"ReportProblemDialog.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/report/ReportProblemDialog.svelte"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAgN/E,QAAA,MAAM,mBAAmB,0DAAwC,CAAC;AAClE,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,eAAe,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibesdotdev/hq",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.8",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@vibesdotdev/cache": "^1.0.0-rc.
|
|
6
|
-
"@vibesdotdev/cli-contracts": "^1.0.0-rc.
|
|
7
|
-
"@vibesdotdev/client": "^1.0.0-rc.
|
|
8
|
-
"@vibesdotdev/pm": "^1.0.0-rc.
|
|
9
|
-
"@vibesdotdev/projects": "^1.0.0-rc.
|
|
10
|
-
"@vibesdotdev/ai-schemas": "^1.0.0-rc.
|
|
11
|
-
"@vibesdotdev/infra-core": "^1.0.0-rc.
|
|
12
|
-
"@vibesdotdev/config": "^1.0.0-rc.
|
|
13
|
-
"@vibesdotdev/shared": "^1.0.0-rc.
|
|
14
|
-
"@vibesdotdev/os": "^1.0.0-rc.
|
|
15
|
-
"@vibesdotdev/applets": "^1.0.0-rc.
|
|
16
|
-
"@vibesdotdev/cli": "^1.0.0-rc.
|
|
17
|
-
"@vibesdotdev/filesystem": "^1.0.0-rc.
|
|
18
|
-
"@vibesdotdev/logging": "^1.0.0-rc.
|
|
19
|
-
"@vibesdotdev/paths": "^1.0.0-rc.
|
|
20
|
-
"@vibesdotdev/kernel": "^1.0.0-rc.
|
|
21
|
-
"@vibesdotdev/security": "^1.0.0-rc.
|
|
22
|
-
"@vibesdotdev/storage": "^1.0.0-rc.
|
|
23
|
-
"@vibesdotdev/tools": "^1.0.0-rc.
|
|
5
|
+
"@vibesdotdev/cache": "^1.0.0-rc.5",
|
|
6
|
+
"@vibesdotdev/cli-contracts": "^1.0.0-rc.5",
|
|
7
|
+
"@vibesdotdev/client": "^1.0.0-rc.5",
|
|
8
|
+
"@vibesdotdev/pm": "^1.0.0-rc.5",
|
|
9
|
+
"@vibesdotdev/projects": "^1.0.0-rc.5",
|
|
10
|
+
"@vibesdotdev/ai-schemas": "^1.0.0-rc.6",
|
|
11
|
+
"@vibesdotdev/infra-core": "^1.0.0-rc.11",
|
|
12
|
+
"@vibesdotdev/config": "^1.0.0-rc.10",
|
|
13
|
+
"@vibesdotdev/shared": "^1.0.0-rc.7",
|
|
14
|
+
"@vibesdotdev/os": "^1.0.0-rc.6",
|
|
15
|
+
"@vibesdotdev/applets": "^1.0.0-rc.5",
|
|
16
|
+
"@vibesdotdev/cli": "^1.0.0-rc.9",
|
|
17
|
+
"@vibesdotdev/filesystem": "^1.0.0-rc.6",
|
|
18
|
+
"@vibesdotdev/logging": "^1.0.0-rc.9",
|
|
19
|
+
"@vibesdotdev/paths": "^1.0.0-rc.5",
|
|
20
|
+
"@vibesdotdev/kernel": "^1.0.0-rc.14",
|
|
21
|
+
"@vibesdotdev/security": "^1.0.0-rc.7",
|
|
22
|
+
"@vibesdotdev/storage": "^1.0.0-rc.9",
|
|
23
|
+
"@vibesdotdev/tools": "^1.0.0-rc.11",
|
|
24
24
|
"zod": "^4.6.7",
|
|
25
|
-
"@vibesdotdev/platform": "^1.0.0-rc.
|
|
26
|
-
"@vibesdotdev/auth": "^1.0.0-rc.
|
|
25
|
+
"@vibesdotdev/platform": "^1.0.0-rc.9",
|
|
26
|
+
"@vibesdotdev/auth": "^1.0.0-rc.9"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"@vibesdotdev/host-bun": "^1.0.0-rc.0",
|
|
@@ -31,6 +31,12 @@
|
|
|
31
31
|
"@vibesdotdev/surface-sveltekit": "^1.0.0-rc.0",
|
|
32
32
|
"svelte": "^5.57.2"
|
|
33
33
|
},
|
|
34
|
+
"gitHead": "1e73c3ea317d5f943d0c1c89c230b13e7d431f84",
|
|
35
|
+
"_vibes_source": {
|
|
36
|
+
"repo": "ssh://git@git.vibes.dev/vibesdotdev/framework.git",
|
|
37
|
+
"sha": "1e73c3ea317d5f943d0c1c89c230b13e7d431f84",
|
|
38
|
+
"workspaceDigest": "sha256:a05fcbbccd44a6646b09e684cc36b6e537c943b19bfe65b2ca43445524fa4285"
|
|
39
|
+
},
|
|
34
40
|
"main": "./dist/hq.plugin.js",
|
|
35
41
|
"exports": {
|
|
36
42
|
".": {
|
|
@@ -217,7 +223,34 @@
|
|
|
217
223
|
"!dist/**/*.spec.d.ts",
|
|
218
224
|
"!dist/**/*.spec.d.ts.map",
|
|
219
225
|
"!dist/**/*.tsbuildinfo",
|
|
220
|
-
"!dist/**/support/**"
|
|
226
|
+
"!dist/**/support/**",
|
|
227
|
+
"!**/.turbo/**",
|
|
228
|
+
"!**/.svelte-kit/**",
|
|
229
|
+
"!**/.vibes/**",
|
|
230
|
+
"!**/__tests__/**",
|
|
231
|
+
"!**/__stubs__/**",
|
|
232
|
+
"!**/*.test.js",
|
|
233
|
+
"!**/*.test.mjs",
|
|
234
|
+
"!**/*.test.cjs",
|
|
235
|
+
"!**/*.test.jsx",
|
|
236
|
+
"!**/*.test.ts",
|
|
237
|
+
"!**/*.test.mts",
|
|
238
|
+
"!**/*.test.cts",
|
|
239
|
+
"!**/*.test.tsx",
|
|
240
|
+
"!**/*.spec.js",
|
|
241
|
+
"!**/*.spec.mjs",
|
|
242
|
+
"!**/*.spec.cjs",
|
|
243
|
+
"!**/*.spec.jsx",
|
|
244
|
+
"!**/*.spec.ts",
|
|
245
|
+
"!**/*.spec.mts",
|
|
246
|
+
"!**/*.spec.cts",
|
|
247
|
+
"!**/*.spec.tsx",
|
|
248
|
+
"!**/SPEC.md",
|
|
249
|
+
"!**/tsconfig.json",
|
|
250
|
+
"!**/tsconfig.*.json",
|
|
251
|
+
"!**/*.tsbuildinfo",
|
|
252
|
+
"!**/.build-ok.json",
|
|
253
|
+
"!**/*.tgz"
|
|
221
254
|
],
|
|
222
255
|
"scripts": {
|
|
223
256
|
"lint": "node ../node_modules/@vibesdotdev/internal-oxlint-toolchain/ratchet.mjs .",
|
|
@@ -260,11 +293,5 @@
|
|
|
260
293
|
"svelte": {
|
|
261
294
|
"optional": true
|
|
262
295
|
}
|
|
263
|
-
},
|
|
264
|
-
"gitHead": "f1ff526c235b10c970497738beb16b0651c428c8",
|
|
265
|
-
"_vibes_source": {
|
|
266
|
-
"repo": "ssh://git@git.vibes.dev/vibesdotdev/framework.git",
|
|
267
|
-
"sha": "f1ff526c235b10c970497738beb16b0651c428c8",
|
|
268
|
-
"workspaceDigest": "sha256:d16ed56e3cd6082eb29b61eb5b58146a9b1d6dc00d5d8ea501e4d60c3e151e1d"
|
|
269
296
|
}
|
|
270
297
|
}
|