@vibes.diy/api-svc 2.2.7 → 2.2.9
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/cf-serve.d.ts +3 -1
- package/cf-serve.js +3 -2
- package/cf-serve.js.map +1 -1
- package/create-handler.d.ts +3 -1
- package/default-llm-request.d.ts +4 -0
- package/default-llm-request.js +2 -1
- package/default-llm-request.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/intern/ensure-app-metadata.d.ts +13 -0
- package/intern/ensure-app-metadata.js +94 -0
- package/intern/ensure-app-metadata.js.map +1 -0
- package/intern/ensure-chat-id.js +21 -2
- package/intern/ensure-chat-id.js.map +1 -1
- package/intern/pre-allocate.d.ts +1 -0
- package/intern/pre-allocate.js +1 -0
- package/intern/pre-allocate.js.map +1 -1
- package/intern/recovery.d.ts +37 -0
- package/intern/recovery.js +101 -0
- package/intern/recovery.js.map +1 -0
- package/package.json +13 -13
- package/public/app-documents.js +2 -2
- package/public/app-documents.js.map +1 -1
- package/public/ensure-app-settings.js +52 -1
- package/public/ensure-app-settings.js.map +1 -1
- package/public/ensure-app-slug-item.js +22 -1
- package/public/ensure-app-slug-item.js.map +1 -1
- package/public/prompt-chat-section.d.ts +41 -2
- package/public/prompt-chat-section.js +394 -60
- package/public/prompt-chat-section.js.map +1 -1
- package/svc-ws-send-provider.d.ts +1 -0
- package/svc-ws-send-provider.js +1 -0
- package/svc-ws-send-provider.js.map +1 -1
- package/types.d.ts +3 -1
package/cf-serve.d.ts
CHANGED
|
@@ -23,7 +23,9 @@ export interface CFInjectMutable {
|
|
|
23
23
|
};
|
|
24
24
|
drizzle: VibesSqlite;
|
|
25
25
|
wsResponse?: Response;
|
|
26
|
-
llmRequest?: (prompt: LLMRequest
|
|
26
|
+
llmRequest?: (prompt: LLMRequest, opts?: {
|
|
27
|
+
readonly signal?: AbortSignal;
|
|
28
|
+
}) => Promise<Response>;
|
|
27
29
|
docNotify?: DocNotifyCtx;
|
|
28
30
|
}
|
|
29
31
|
export type CFInject = Readonly<CFInjectMutable>;
|
package/cf-serve.js
CHANGED
|
@@ -31,12 +31,13 @@ function docNotifyCallbacks(dn) {
|
|
|
31
31
|
}));
|
|
32
32
|
}
|
|
33
33
|
return {
|
|
34
|
-
notifyDocChanged: async (evt) => {
|
|
34
|
+
notifyDocChanged: async (evt, senderConnId) => {
|
|
35
35
|
const key = `${evt.userSlug}/${evt.appSlug}/${evt.dbName}`;
|
|
36
|
-
console.log("[docNotify] notifyDocChanged key:", key, "shard:", dn.shardId.slice(0, 8));
|
|
36
|
+
console.log("[docNotify] notifyDocChanged key:", key, "shard:", dn.shardId.slice(0, 8), "conn:", senderConnId.slice(0, 8));
|
|
37
37
|
await fetchDocNotify(key, {
|
|
38
38
|
action: "notify",
|
|
39
39
|
senderShardId: dn.shardId,
|
|
40
|
+
senderConnId,
|
|
40
41
|
evt: { type: "vibes.diy.evt-doc-changed", ...evt },
|
|
41
42
|
});
|
|
42
43
|
},
|
package/cf-serve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cf-serve.js","sourceRoot":"","sources":["../jsr/cf-serve.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAc,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI1E,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAe,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAuCnD,SAAS,SAAS,CAAC,EACjB,IAAI,EACJ,OAAO,EACP,SAAS,EACT,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,UAAU,EACV,SAAS,GAEI;IACb,OAAO,cAAc,CAAC;QACpB,IAAI;QACJ,OAAO;QACP,SAAS;QACT,IAAI;QACJ,UAAU;QACV,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,MAAM;QACN,UAAU;QACV,SAAS;KACV,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAgB;IAC1C,SAAS,cAAc,CAAC,GAAW,EAAE,IAA6B;QAChE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,KAAK,CACf,IAAI,OAAO,CAAC,6BAA6B,EAAE;YACzC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAyB,CAC3B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,KAAK,EAAE,GAAyE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"cf-serve.js","sourceRoot":"","sources":["../jsr/cf-serve.ts"],"names":[],"mappings":"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"}
|
package/create-handler.d.ts
CHANGED
|
@@ -25,13 +25,15 @@ export interface CreateHandlerParams<T extends VibesSqlite> {
|
|
|
25
25
|
fetchPkgVersion?: ResolveFunction;
|
|
26
26
|
llmRequest?(prompt: LLMRequest & {
|
|
27
27
|
headers: LLMHeaders;
|
|
28
|
+
}, opts?: {
|
|
29
|
+
readonly signal?: AbortSignal;
|
|
28
30
|
}): Promise<Response>;
|
|
29
31
|
notifyDocChanged?(evt: {
|
|
30
32
|
userSlug: string;
|
|
31
33
|
appSlug: string;
|
|
32
34
|
dbName: string;
|
|
33
35
|
docId: string;
|
|
34
|
-
}): Promise<void>;
|
|
36
|
+
}, senderConnId: string): Promise<void>;
|
|
35
37
|
registerDocSubscription?(subscriptionKey: string): Promise<void>;
|
|
36
38
|
deregisterDocSubscription?(subscriptionKey: string): Promise<void>;
|
|
37
39
|
}
|
package/default-llm-request.d.ts
CHANGED
|
@@ -2,9 +2,13 @@ import { LLMHeaders } from "@vibes.diy/api-types";
|
|
|
2
2
|
import { LLMRequest } from "@vibes.diy/call-ai-v2";
|
|
3
3
|
export declare function defaultLLMRequest(fn: ((req: LLMRequest & {
|
|
4
4
|
headers: LLMHeaders;
|
|
5
|
+
}, opts?: {
|
|
6
|
+
readonly signal?: AbortSignal;
|
|
5
7
|
}) => Promise<Response>) | undefined, { url, apiKey }: {
|
|
6
8
|
url: string;
|
|
7
9
|
apiKey?: string;
|
|
8
10
|
}): (req: LLMRequest & {
|
|
9
11
|
headers: LLMHeaders;
|
|
12
|
+
}, opts?: {
|
|
13
|
+
readonly signal?: AbortSignal;
|
|
10
14
|
}) => Promise<Response>;
|
package/default-llm-request.js
CHANGED
|
@@ -4,7 +4,7 @@ export function defaultLLMRequest(fn, { url, apiKey, }) {
|
|
|
4
4
|
if (fn) {
|
|
5
5
|
return fn;
|
|
6
6
|
}
|
|
7
|
-
return (req) => {
|
|
7
|
+
return (req, opts) => {
|
|
8
8
|
const stripLLMRequest = type(LLMRequest).onDeepUndeclaredKey("delete")(req);
|
|
9
9
|
if (stripLLMRequest instanceof type.errors) {
|
|
10
10
|
throw new Error(`Invalid LLMRequest: ${stripLLMRequest.summary}`);
|
|
@@ -18,6 +18,7 @@ export function defaultLLMRequest(fn, { url, apiKey, }) {
|
|
|
18
18
|
"Content-Type": "application/json",
|
|
19
19
|
},
|
|
20
20
|
body,
|
|
21
|
+
signal: opts?.signal,
|
|
21
22
|
});
|
|
22
23
|
};
|
|
23
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-llm-request.js","sourceRoot":"","sources":["../jsr/default-llm-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,UAAU,iBAAiB,CAC/B,
|
|
1
|
+
{"version":3,"file":"default-llm-request.js","sourceRoot":"","sources":["../jsr/default-llm-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,UAAU,iBAAiB,CAC/B,EAA4H,EAC5H,EACE,GAAG,EACH,MAAM,GAIP;IAED,IAAI,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACnB,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5E,IAAI,eAAe,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,uBAAuB,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,GAAG,CAAC,OAAO;gBACd,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI;YACJ,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
import { VibesApiSQLCtx } from "../types.js";
|
|
3
|
+
export interface EnsureAppMetadataArgs {
|
|
4
|
+
readonly userId: string;
|
|
5
|
+
readonly userSlug: string;
|
|
6
|
+
readonly appSlug: string;
|
|
7
|
+
readonly prompt: string;
|
|
8
|
+
readonly src: string;
|
|
9
|
+
}
|
|
10
|
+
export interface EnsureAppMetadataResult {
|
|
11
|
+
readonly generated: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function ensureAppMetadata(ctx: VibesApiSQLCtx, args: EnsureAppMetadataArgs): Promise<Result<EnsureAppMetadataResult>>;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { exception2Result, Result } from "@adviser/cement";
|
|
2
|
+
import { and, eq } from "drizzle-orm/sql/expressions";
|
|
3
|
+
import { ensureLogger } from "@fireproof/core-runtime";
|
|
4
|
+
import { ActiveEntry, isActiveTitle, parseArrayWarning, } from "@vibes.diy/api-types";
|
|
5
|
+
import { preAllocate } from "./pre-allocate.js";
|
|
6
|
+
export async function ensureAppMetadata(ctx, args) {
|
|
7
|
+
const rExisting = await exception2Result(() => ctx.sql.db
|
|
8
|
+
.select()
|
|
9
|
+
.from(ctx.sql.tables.appSettings)
|
|
10
|
+
.where(and(eq(ctx.sql.tables.appSettings.userSlug, args.userSlug), eq(ctx.sql.tables.appSettings.appSlug, args.appSlug)))
|
|
11
|
+
.limit(1)
|
|
12
|
+
.then((r) => r[0]));
|
|
13
|
+
if (rExisting.isErr()) {
|
|
14
|
+
return Result.Err(`appSettings select failed: ${rExisting.Err()}`);
|
|
15
|
+
}
|
|
16
|
+
const existing = rExisting.Ok();
|
|
17
|
+
const { filtered: existingEntries } = parseArrayWarning(existing?.settings ?? [], ActiveEntry);
|
|
18
|
+
if (existingEntries.some(isActiveTitle)) {
|
|
19
|
+
return Result.Ok({ generated: false });
|
|
20
|
+
}
|
|
21
|
+
const rPre = await preAllocate(ctx, { prompt: args.prompt });
|
|
22
|
+
if (rPre.isErr()) {
|
|
23
|
+
ensureLogger(ctx.sthis, "ensureAppMetadata")
|
|
24
|
+
.Warn()
|
|
25
|
+
.Any({ err: rPre.Err(), userSlug: args.userSlug, appSlug: args.appSlug })
|
|
26
|
+
.Msg("preAllocate failed; skipping metadata generation");
|
|
27
|
+
return Result.Ok({ generated: false });
|
|
28
|
+
}
|
|
29
|
+
const pre = rPre.Ok();
|
|
30
|
+
const title = pre.pairs[0]?.title;
|
|
31
|
+
const skills = pre.skills;
|
|
32
|
+
const iconDescription = pre.iconDescription;
|
|
33
|
+
const newEntries = [];
|
|
34
|
+
if (title)
|
|
35
|
+
newEntries.push({ type: "active.title", title });
|
|
36
|
+
if (skills && skills.length > 0)
|
|
37
|
+
newEntries.push({ type: "active.skills", skills });
|
|
38
|
+
if (iconDescription)
|
|
39
|
+
newEntries.push({ type: "active.icon-description", description: iconDescription });
|
|
40
|
+
if (newEntries.length === 0) {
|
|
41
|
+
return Result.Ok({ generated: false });
|
|
42
|
+
}
|
|
43
|
+
const now = new Date().toISOString();
|
|
44
|
+
if (existing) {
|
|
45
|
+
const merged = [...existingEntries, ...newEntries];
|
|
46
|
+
const rUpd = await exception2Result(() => ctx.sql.db
|
|
47
|
+
.update(ctx.sql.tables.appSettings)
|
|
48
|
+
.set({ settings: merged, updated: now })
|
|
49
|
+
.where(and(eq(ctx.sql.tables.appSettings.userSlug, args.userSlug), eq(ctx.sql.tables.appSettings.appSlug, args.appSlug))));
|
|
50
|
+
if (rUpd.isErr()) {
|
|
51
|
+
return Result.Err(`appSettings update failed: ${rUpd.Err()}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const rIns = await exception2Result(() => ctx.sql.db.insert(ctx.sql.tables.appSettings).values({
|
|
56
|
+
userId: args.userId,
|
|
57
|
+
userSlug: args.userSlug,
|
|
58
|
+
appSlug: args.appSlug,
|
|
59
|
+
settings: newEntries,
|
|
60
|
+
updated: now,
|
|
61
|
+
created: now,
|
|
62
|
+
}));
|
|
63
|
+
if (rIns.isErr()) {
|
|
64
|
+
return Result.Err(`appSettings insert failed: ${rIns.Err()}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
await ctx.postQueue({
|
|
68
|
+
payload: {
|
|
69
|
+
type: "vibes.diy.evt-app-setting",
|
|
70
|
+
userSlug: args.userSlug,
|
|
71
|
+
appSlug: args.appSlug,
|
|
72
|
+
settings: newEntries,
|
|
73
|
+
},
|
|
74
|
+
tid: "queue-event",
|
|
75
|
+
src: args.src,
|
|
76
|
+
dst: "vibes-service",
|
|
77
|
+
ttl: 1,
|
|
78
|
+
});
|
|
79
|
+
if (iconDescription) {
|
|
80
|
+
await ctx.postQueue({
|
|
81
|
+
payload: {
|
|
82
|
+
type: "vibes.diy.evt-icon-gen",
|
|
83
|
+
userSlug: args.userSlug,
|
|
84
|
+
appSlug: args.appSlug,
|
|
85
|
+
},
|
|
86
|
+
tid: "queue-event",
|
|
87
|
+
src: args.src,
|
|
88
|
+
dst: "vibes-service",
|
|
89
|
+
ttl: 1,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return Result.Ok({ generated: true });
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=ensure-app-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-app-metadata.js","sourceRoot":"","sources":["../../jsr/intern/ensure-app-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,WAAW,EAMX,aAAa,EAEb,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA4BhD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAmB,EACnB,IAA2B;IAE3B,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAC5C,GAAG,CAAC,GAAG,CAAC,EAAE;SACP,MAAM,EAAE;SACR,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;SAChC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SACxH,KAAK,CAAC,CAAC,CAAC;SACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrB,CAAC;IACF,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,GAAG,CAAC,8BAA8B,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC;IAChC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;IAC/F,IAAI,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACjB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC;aACzC,IAAI,EAAE;aACN,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;aACxE,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;IAE5C,MAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,IAAI,KAAK;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAwB,CAAC,CAAC;IAClF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAyB,CAAC,CAAC;IAC3G,IAAI,eAAe;QACjB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,eAAe,EAAkC,CAAC,CAAC;IAErH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAkB,CAAC,GAAG,eAAe,EAAE,GAAG,UAAU,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CACvC,GAAG,CAAC,GAAG,CAAC,EAAE;aACP,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;aAClC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;aACvC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAC5H,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,GAAG,CAAC,8BAA8B,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CACvC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YACnD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;SACb,CAAC,CACH,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,GAAG,CAAC,8BAA8B,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,MAAM,GAAG,CAAC,SAAS,CAAC;QAClB,OAAO,EAAE;YACP,IAAI,EAAE,2BAA2B;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,UAAU;SACrB;QACD,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG,EAAE,eAAe;QACpB,GAAG,EAAE,CAAC;KAC0B,CAAC,CAAC;IAEpC,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,GAAG,CAAC,SAAS,CAAC;YAClB,OAAO,EAAE;gBACP,IAAI,EAAE,wBAAwB;gBAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;YACD,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,CAAC;SACuB,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC"}
|
package/intern/ensure-chat-id.js
CHANGED
|
@@ -63,11 +63,13 @@ export async function ensureChatId(ctx, req) {
|
|
|
63
63
|
if (!chatId) {
|
|
64
64
|
let preferredPairs;
|
|
65
65
|
let preAllocSkills;
|
|
66
|
+
let preAllocIconDescription;
|
|
66
67
|
if (req.prompt && !req.appSlug) {
|
|
67
68
|
const rPre = await preAllocate(ctx, { prompt: req.prompt });
|
|
68
69
|
if (rPre.isOk()) {
|
|
69
70
|
preferredPairs = rPre.Ok().pairs;
|
|
70
71
|
preAllocSkills = rPre.Ok().skills;
|
|
72
|
+
preAllocIconDescription = rPre.Ok().iconDescription;
|
|
71
73
|
}
|
|
72
74
|
else {
|
|
73
75
|
console.warn("preAllocate failed; falling through to random-words:", rPre.Err());
|
|
@@ -87,20 +89,21 @@ export async function ensureChatId(ctx, req) {
|
|
|
87
89
|
userSlug,
|
|
88
90
|
created: new Date().toISOString(),
|
|
89
91
|
});
|
|
90
|
-
if (chosenTitle || preAllocSkills) {
|
|
92
|
+
if (chosenTitle || preAllocSkills || preAllocIconDescription) {
|
|
91
93
|
await writePreAllocActiveEntries(ctx, {
|
|
92
94
|
userId,
|
|
93
95
|
userSlug,
|
|
94
96
|
appSlug,
|
|
95
97
|
title: chosenTitle,
|
|
96
98
|
skills: preAllocSkills,
|
|
99
|
+
iconDescription: preAllocIconDescription,
|
|
97
100
|
});
|
|
98
101
|
}
|
|
99
102
|
}
|
|
100
103
|
}
|
|
101
104
|
return Result.Ok({ appSlug, userSlug, chatId });
|
|
102
105
|
}
|
|
103
|
-
async function writePreAllocActiveEntries(ctx, { userId, userSlug, appSlug, title, skills, }) {
|
|
106
|
+
async function writePreAllocActiveEntries(ctx, { userId, userSlug, appSlug, title, skills, iconDescription, }) {
|
|
104
107
|
const now = new Date().toISOString();
|
|
105
108
|
const entries = [];
|
|
106
109
|
if (title) {
|
|
@@ -109,6 +112,9 @@ async function writePreAllocActiveEntries(ctx, { userId, userSlug, appSlug, titl
|
|
|
109
112
|
if (skills && skills.length > 0) {
|
|
110
113
|
entries.push({ type: "active.skills", skills });
|
|
111
114
|
}
|
|
115
|
+
if (iconDescription) {
|
|
116
|
+
entries.push({ type: "active.icon-description", description: iconDescription });
|
|
117
|
+
}
|
|
112
118
|
if (entries.length === 0)
|
|
113
119
|
return;
|
|
114
120
|
const rIns = await exception2Result(() => ctx.sql.db.insert(ctx.sql.tables.appSettings).values({
|
|
@@ -138,5 +144,18 @@ async function writePreAllocActiveEntries(ctx, { userId, userSlug, appSlug, titl
|
|
|
138
144
|
dst: "vibes-service",
|
|
139
145
|
ttl: 1,
|
|
140
146
|
});
|
|
147
|
+
if (iconDescription) {
|
|
148
|
+
await ctx.postQueue({
|
|
149
|
+
payload: {
|
|
150
|
+
type: "vibes.diy.evt-icon-gen",
|
|
151
|
+
userSlug,
|
|
152
|
+
appSlug,
|
|
153
|
+
},
|
|
154
|
+
tid: "queue-event",
|
|
155
|
+
src: "ensureChatId",
|
|
156
|
+
dst: "vibes-service",
|
|
157
|
+
ttl: 1,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
141
160
|
}
|
|
142
161
|
//# sourceMappingURL=ensure-chat-id.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-chat-id.js","sourceRoot":"","sources":["../../jsr/intern/ensure-chat-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ensure-chat-id.js","sourceRoot":"","sources":["../../jsr/intern/ensure-chat-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmBhD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAmB,EACnB,GAAqC;IAErC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,MAA0B,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;IAEpD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAC1C,GAAG,CAAC,GAAG,CAAC,EAAE;aACP,MAAM,EAAE;aACR,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;aACjC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CACjH,CAAC;QACF,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,GAAG,CAAC,kCAAkC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5B,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9B,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5B,CAAC;SAAM,CAAC;QAEN,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7G,IAAI,OAAO,CAAC,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,8BAA8B,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9F,QAAQ,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACzD,IAAI,UAAU,CAAC,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,mCAAmC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACzG,MAAM,cAAc,GAAG,UAAU,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,cAAc,EAAE,CAAC;gBACnB,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpF,IAAI,MAAM,CAAC,KAAK,EAAE;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5F,QAAQ,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC;gBAChC,MAAM,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAGD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAC1C,GAAG,CAAC,GAAG,CAAC,EAAE;iBACP,MAAM,EAAE;iBACR,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;iBACjC,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9C,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAClD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CACpD,CACF,CACJ,CAAC;YACF,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC3B,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YAKZ,IAAI,cAA6D,CAAC;YAClE,IAAI,cAAoC,CAAC;YACzC,IAAI,uBAA2C,CAAC;YAChD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5D,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBAChB,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;oBACjC,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;oBAClC,uBAAuB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,sDAAsD,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;YACpG,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;YAC5C,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;YAClC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;gBAC1D,MAAM;gBACN,MAAM;gBACN,OAAO;gBACP,QAAQ;gBACR,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAClC,CAAC,CAAC;YAEH,IAAI,WAAW,IAAI,cAAc,IAAI,uBAAuB,EAAE,CAAC;gBAC7D,MAAM,0BAA0B,CAAC,GAAG,EAAE;oBACpC,MAAM;oBACN,QAAQ;oBACR,OAAO;oBACP,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,cAAc;oBACtB,eAAe,EAAE,uBAAuB;iBACzC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,GAAmB,EACnB,EACE,MAAM,EACN,QAAQ,EACR,OAAO,EACP,KAAK,EACL,MAAM,EACN,eAAe,GACoG;IAErH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAwB,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAyB,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,eAAe,EAAkC,CAAC,CAAC;IAClH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CACvC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;QACnD,MAAM;QACN,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,GAAG;KACb,CAAC,CACH,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACjB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,4BAA4B,CAAC;aAClD,KAAK,EAAE;aACP,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;aAC3C,GAAG,CAAC,qDAAqD,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IACD,MAAM,GAAG,CAAC,SAAS,CAAC;QAClB,OAAO,EAAE;YACP,IAAI,EAAE,2BAA2B;YACjC,QAAQ;YACR,OAAO;YACP,QAAQ,EAAE,OAAO;SAClB;QACD,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,cAAc;QACnB,GAAG,EAAE,eAAe;QACpB,GAAG,EAAE,CAAC;KAC0B,CAAC,CAAC;IACpC,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,GAAG,CAAC,SAAS,CAAC;YAClB,OAAO,EAAE;gBACP,IAAI,EAAE,wBAAwB;gBAC9B,QAAQ;gBACR,OAAO;aACR;YACD,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,CAAC;SACuB,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
|
package/intern/pre-allocate.d.ts
CHANGED
package/intern/pre-allocate.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-allocate.js","sourceRoot":"","sources":["../../jsr/intern/pre-allocate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEjH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"pre-allocate.js","sourceRoot":"","sources":["../../jsr/intern/pre-allocate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
import { type CodeBeginMsg, type CodeEndMsg, type CodeLineMsg, type CodeTruncatedMsg, type LLMRequest } from "@vibes.diy/call-ai-v2";
|
|
3
|
+
export interface RecoveryRequestInput {
|
|
4
|
+
readonly originalRequest: LLMRequest;
|
|
5
|
+
readonly recoveryAddendum: string;
|
|
6
|
+
readonly vfs: ReadonlyMap<string, string>;
|
|
7
|
+
readonly focusPath: string;
|
|
8
|
+
readonly assistantPartial?: string;
|
|
9
|
+
readonly lastReplaceFileLines?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function buildRecoveryRequest({ originalRequest, recoveryAddendum, vfs, focusPath, assistantPartial, lastReplaceFileLines }: RecoveryRequestInput): Result<LLMRequest>;
|
|
12
|
+
export interface RecoveryBudget {
|
|
13
|
+
readonly maxConsecutiveFruitless: number;
|
|
14
|
+
}
|
|
15
|
+
export interface RecoveryCounter {
|
|
16
|
+
readonly consecutiveFruitless: number;
|
|
17
|
+
}
|
|
18
|
+
export declare function updateRecoveryCounter(counter: RecoveryCounter, outcome: {
|
|
19
|
+
readonly madeProgress: boolean;
|
|
20
|
+
}): RecoveryCounter;
|
|
21
|
+
export declare function shouldAttemptRecovery(counter: RecoveryCounter, budget?: RecoveryBudget): boolean;
|
|
22
|
+
export interface BuildTruncatedEventInput {
|
|
23
|
+
readonly closed: {
|
|
24
|
+
readonly begin: CodeBeginMsg;
|
|
25
|
+
readonly lines: readonly CodeLineMsg[];
|
|
26
|
+
readonly end: CodeEndMsg;
|
|
27
|
+
};
|
|
28
|
+
readonly firstError: {
|
|
29
|
+
readonly reason: string;
|
|
30
|
+
readonly kind: string;
|
|
31
|
+
};
|
|
32
|
+
readonly errorCount: number;
|
|
33
|
+
readonly promptId: string;
|
|
34
|
+
readonly blockSeq: number;
|
|
35
|
+
readonly now: Date;
|
|
36
|
+
}
|
|
37
|
+
export declare function buildTruncatedEvent(input: BuildTruncatedEventInput): CodeTruncatedMsg;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
const MAX_RECOVERY_FILE_BYTES = 16_000;
|
|
3
|
+
const MAX_RECOVERY_TOTAL_BYTES = 32_000;
|
|
4
|
+
export function buildRecoveryRequest({ originalRequest, recoveryAddendum, vfs, focusPath, assistantPartial, lastReplaceFileLines, }) {
|
|
5
|
+
if (recoveryAddendum.length === 0) {
|
|
6
|
+
return Result.Err("recovery addendum is empty");
|
|
7
|
+
}
|
|
8
|
+
if (focusPath.length === 0) {
|
|
9
|
+
return Result.Err("focus path is empty");
|
|
10
|
+
}
|
|
11
|
+
const filesBlock = renderCurrentFiles(vfs, focusPath);
|
|
12
|
+
const recoverySuffix = `${recoveryAddendum}\n\n${filesBlock}`;
|
|
13
|
+
const messages = mergeRecoveryIntoSystem(originalRequest.messages, recoverySuffix);
|
|
14
|
+
if (assistantPartial !== undefined && assistantPartial.length > 0) {
|
|
15
|
+
messages.push({
|
|
16
|
+
role: "user",
|
|
17
|
+
content: [{ type: "text", text: renderPartialResume(assistantPartial, focusPath, lastReplaceFileLines) }],
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return Result.Ok({ ...originalRequest, messages });
|
|
21
|
+
}
|
|
22
|
+
function renderPartialResume(assistantPartial, focusPath, lastReplaceFileLines) {
|
|
23
|
+
const fileAnchor = lastReplaceFileLines !== undefined
|
|
24
|
+
? ` Your last successfully-applied edit was a SEARCH/REPLACE on ${focusPath}; after that edit the file was ${lastReplaceFileLines} lines long.`
|
|
25
|
+
: "";
|
|
26
|
+
return [
|
|
27
|
+
`Your previous message was interrupted. Your own output so far this turn is reproduced below, truncated to the end of your last successfully-applied code block (every byte after that — any prose narrating the next edit, and any code that was being streamed when the interruption happened — has been dropped because it never landed).${fileAnchor}`,
|
|
28
|
+
"",
|
|
29
|
+
assistantPartial,
|
|
30
|
+
"",
|
|
31
|
+
"Continue your turn from there. CURRENT FILES (in the system message) is ground truth for what's actually in the file right now; anchor every SEARCH against text that appears there.",
|
|
32
|
+
].join("\n");
|
|
33
|
+
}
|
|
34
|
+
function mergeRecoveryIntoSystem(messages, recoverySuffix) {
|
|
35
|
+
const firstSystemIdx = messages.findIndex((m) => m.role === "system");
|
|
36
|
+
if (firstSystemIdx === -1) {
|
|
37
|
+
return [{ role: "system", content: [{ type: "text", text: recoverySuffix }] }, ...messages];
|
|
38
|
+
}
|
|
39
|
+
const original = messages[firstSystemIdx];
|
|
40
|
+
const originalText = original.content[0]?.type === "text" ? original.content[0].text : "";
|
|
41
|
+
const merged = {
|
|
42
|
+
role: "system",
|
|
43
|
+
content: [{ type: "text", text: `${originalText}\n\n${recoverySuffix}` }],
|
|
44
|
+
};
|
|
45
|
+
return [...messages.slice(0, firstSystemIdx), merged, ...messages.slice(firstSystemIdx + 1)];
|
|
46
|
+
}
|
|
47
|
+
function renderCurrentFiles(vfs, focusPath) {
|
|
48
|
+
const lines = ["CURRENT FILES (resolved so far this turn):"];
|
|
49
|
+
let totalBudget = MAX_RECOVERY_TOTAL_BYTES;
|
|
50
|
+
const ordered = orderForRecovery(vfs, focusPath);
|
|
51
|
+
for (const [path, content] of ordered) {
|
|
52
|
+
const cap = Math.min(MAX_RECOVERY_FILE_BYTES, totalBudget);
|
|
53
|
+
if (cap <= 0) {
|
|
54
|
+
lines.push(`--- ${path} (omitted: total context budget exhausted) ---`);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (content.length <= cap) {
|
|
58
|
+
lines.push(`--- ${path} ---`, content);
|
|
59
|
+
totalBudget -= content.length;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
lines.push(`--- ${path} (truncated: ${content.length} bytes → first ${cap}) ---`, content.slice(0, cap), `--- ${path} (truncated above) ---`);
|
|
63
|
+
totalBudget -= cap;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return lines.join("\n");
|
|
67
|
+
}
|
|
68
|
+
function orderForRecovery(vfs, focusPath) {
|
|
69
|
+
const entries = Array.from(vfs.entries());
|
|
70
|
+
const focusEntry = entries.find(([p]) => p === focusPath || `/${p}` === focusPath || p === `/${focusPath}`);
|
|
71
|
+
if (focusEntry === undefined) {
|
|
72
|
+
return entries.sort((a, b) => a[0].localeCompare(b[0]));
|
|
73
|
+
}
|
|
74
|
+
const others = entries.filter((e) => e !== focusEntry).sort((a, b) => a[0].localeCompare(b[0]));
|
|
75
|
+
return [focusEntry, ...others];
|
|
76
|
+
}
|
|
77
|
+
export function updateRecoveryCounter(counter, outcome) {
|
|
78
|
+
return outcome.madeProgress ? { consecutiveFruitless: 0 } : { consecutiveFruitless: counter.consecutiveFruitless + 1 };
|
|
79
|
+
}
|
|
80
|
+
export function shouldAttemptRecovery(counter, budget = { maxConsecutiveFruitless: 3 }) {
|
|
81
|
+
return counter.consecutiveFruitless < budget.maxConsecutiveFruitless;
|
|
82
|
+
}
|
|
83
|
+
export function buildTruncatedEvent(input) {
|
|
84
|
+
const { closed, firstError, errorCount, promptId, blockSeq, now } = input;
|
|
85
|
+
return {
|
|
86
|
+
type: "block.code.truncated",
|
|
87
|
+
blockId: closed.end.blockId,
|
|
88
|
+
streamId: promptId,
|
|
89
|
+
sectionId: closed.end.sectionId,
|
|
90
|
+
seq: blockSeq,
|
|
91
|
+
blockNr: closed.end.blockNr,
|
|
92
|
+
lang: closed.begin.lang,
|
|
93
|
+
...(closed.begin.path !== undefined ? { path: closed.begin.path } : {}),
|
|
94
|
+
reason: firstError.reason,
|
|
95
|
+
kind: firstError.kind,
|
|
96
|
+
truncatedAtLine: closed.lines.length,
|
|
97
|
+
errorCount,
|
|
98
|
+
timestamp: now,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=recovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../jsr/intern/recovery.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/api-svc",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@adviser/cement": "~0.5.34",
|
|
16
16
|
"@adviser/scopey": "~0.0.4",
|
|
17
|
-
"@cloudflare/workers-types": "~4.
|
|
17
|
+
"@cloudflare/workers-types": "~4.20260402.1",
|
|
18
18
|
"@fireproof/core-device-id": "~0.24.19",
|
|
19
19
|
"@fireproof/core-protocols-dashboard": "~0.24.19",
|
|
20
20
|
"@fireproof/core-runtime": "~0.24.19",
|
|
@@ -23,19 +23,19 @@
|
|
|
23
23
|
"@fireproof/core-types-protocols-cloud": "~0.24.19",
|
|
24
24
|
"@fireproof/core-types-protocols-dashboard": "~0.24.19",
|
|
25
25
|
"@libsql/client": "~0.17.2",
|
|
26
|
-
"@neondatabase/serverless": "~1.0
|
|
27
|
-
"@noble/hashes": "~2.0
|
|
28
|
-
"@vibes.diy/api-impl": "2.2.
|
|
29
|
-
"@vibes.diy/api-pkg": "2.2.
|
|
30
|
-
"@vibes.diy/api-sql": "2.2.
|
|
31
|
-
"@vibes.diy/api-types": "2.2.
|
|
32
|
-
"@vibes.diy/call-ai-v2": "2.2.
|
|
33
|
-
"@vibes.diy/prompts": "2.2.
|
|
34
|
-
"@vibes.diy/use-vibes-base": "2.2.
|
|
35
|
-
"@vibes.diy/vibe-db-explorer": "2.2.
|
|
26
|
+
"@neondatabase/serverless": "~1.1.0",
|
|
27
|
+
"@noble/hashes": "~2.2.0",
|
|
28
|
+
"@vibes.diy/api-impl": "2.2.9",
|
|
29
|
+
"@vibes.diy/api-pkg": "2.2.9",
|
|
30
|
+
"@vibes.diy/api-sql": "2.2.9",
|
|
31
|
+
"@vibes.diy/api-types": "2.2.9",
|
|
32
|
+
"@vibes.diy/call-ai-v2": "2.2.9",
|
|
33
|
+
"@vibes.diy/prompts": "2.2.9",
|
|
34
|
+
"@vibes.diy/use-vibes-base": "2.2.9",
|
|
35
|
+
"@vibes.diy/vibe-db-explorer": "2.2.9",
|
|
36
36
|
"acorn": "~8.16.0",
|
|
37
37
|
"arktype": "~2.2.0",
|
|
38
|
-
"call-ai": "2.2.
|
|
38
|
+
"call-ai": "2.2.9",
|
|
39
39
|
"cookie": "~1.1.1",
|
|
40
40
|
"drizzle-orm": "~0.45.2",
|
|
41
41
|
"jose": "~6.2.2",
|
package/public/app-documents.js
CHANGED
|
@@ -81,7 +81,7 @@ export const putDocEvento = {
|
|
|
81
81
|
}
|
|
82
82
|
if (vctx.notifyDocChanged) {
|
|
83
83
|
vctx
|
|
84
|
-
.notifyDocChanged({ userSlug: req.userSlug, appSlug: req.appSlug, dbName, docId })
|
|
84
|
+
.notifyDocChanged({ userSlug: req.userSlug, appSlug: req.appSlug, dbName, docId }, clientWsSend(ctx).connId)
|
|
85
85
|
.catch((e) => console.error("DocNotify error:", e));
|
|
86
86
|
}
|
|
87
87
|
await ctx.send.send(ctx, {
|
|
@@ -231,7 +231,7 @@ export const deleteDocEvento = {
|
|
|
231
231
|
});
|
|
232
232
|
if (vctx.notifyDocChanged) {
|
|
233
233
|
vctx
|
|
234
|
-
.notifyDocChanged({ userSlug: req.userSlug, appSlug: req.appSlug, dbName, docId: req.docId })
|
|
234
|
+
.notifyDocChanged({ userSlug: req.userSlug, appSlug: req.appSlug, dbName, docId: req.docId }, clientWsSend(ctx).connId)
|
|
235
235
|
.catch((e) => console.error("DocNotify error:", e));
|
|
236
236
|
}
|
|
237
237
|
await ctx.send.send(ctx, {
|