@finalai/final-agent-provider 0.3.3 → 0.3.4
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.
|
@@ -58,9 +58,11 @@ const pendingEntityLinks = (pending) => {
|
|
|
58
58
|
return entityLink;
|
|
59
59
|
});
|
|
60
60
|
};
|
|
61
|
-
const
|
|
61
|
+
const cardSchema = z.looseObject({
|
|
62
62
|
_meta: z.looseObject({
|
|
63
|
-
"final.ai": z.looseObject({
|
|
63
|
+
"final.ai": z.looseObject({
|
|
64
|
+
card: z.looseObject({ title: z.string(), spec: jsonObjectSchema })
|
|
65
|
+
})
|
|
64
66
|
})
|
|
65
67
|
});
|
|
66
68
|
const pendingCardState = (pending) => {
|
|
@@ -83,14 +85,15 @@ const pendingCardState = (pending) => {
|
|
|
83
85
|
}))
|
|
84
86
|
};
|
|
85
87
|
}
|
|
86
|
-
const
|
|
87
|
-
if (
|
|
88
|
+
const card = cardSchema.safeParse(pending.request).data?._meta["final.ai"].card;
|
|
89
|
+
if (card != null) base.spec = card.spec;
|
|
88
90
|
const parsed = elicitationRequestSchema.safeParse(pending.request);
|
|
89
91
|
const request = parsed.success ? parsed.data : { message: "", mode: "form" };
|
|
92
|
+
const title = card?.title ?? request.message;
|
|
90
93
|
if (request.mode === "url") {
|
|
91
94
|
return {
|
|
92
95
|
...base,
|
|
93
|
-
title
|
|
96
|
+
title,
|
|
94
97
|
mode: "url",
|
|
95
98
|
url: request.url ?? null,
|
|
96
99
|
elicitationId: request.elicitationId ?? null
|
|
@@ -98,7 +101,7 @@ const pendingCardState = (pending) => {
|
|
|
98
101
|
}
|
|
99
102
|
return {
|
|
100
103
|
...base,
|
|
101
|
-
title
|
|
104
|
+
title,
|
|
102
105
|
mode: "form",
|
|
103
106
|
requestedSchema: request.requestedSchema ?? {}
|
|
104
107
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/channels/pending.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CardKind,\n jsonObjectSchema,\n jsonValueSchema,\n pendingCreatedDataSchema,\n PendingEventKind,\n PendingKind,\n pendingResolvedDataSchema,\n type CardArgsIface,\n type ChannelEventHandler,\n type JsonObject,\n type JsonValue,\n type PendingCreatedDataIface,\n} from '@finalai/agent-provider';\nimport * as z from 'zod';\n\n// Pending ACP requests become generic cards for their audience,\n// through the channel's `pending.created` and `pending.resolved` events:\n// a permission card carries the title and options, an elicitation card the\n// form schema or the URL. The card's state is the client's whole model of it.\n\nexport enum PendingCardStatus {\n Open = 'open',\n Answered = 'answered',\n Cancelled = 'cancelled',\n Expired = 'expired',\n}\n\nconst permissionRequestSchema = z.looseObject({\n title: z.string().nullish(),\n description: z.string().nullish(),\n options: z\n .array(z.looseObject({ optionId: z.string(), name: z.string(), kind: z.string() }))\n .default([]),\n toolCall: jsonValueSchema.optional(),\n subject: jsonValueSchema.optional(),\n});\n\nconst elicitationRequestSchema = z.looseObject({\n message: z.string().default(''),\n mode: z.string().default('form'),\n requestedSchema: jsonObjectSchema.optional(),\n url: z.string().optional(),\n elicitationId: z.string().optional(),\n});\n\n// An elicitation may link the entities it is about (a Goal it asks to accept)\n// in `_meta[\"final.ai\"].entityLinks`; the card carries them.\nconst entityLinksSchema = z.looseObject({\n _meta: z.looseObject({\n 'final.ai': z.looseObject({\n entityLinks: z.array(\n z.looseObject({\n kind: z.string(),\n id: z.string(),\n title: z.string().nullish(),\n url: z.string().nullish(),\n description: z.string().nullish(),\n imageUrl: z.string().nullish(),\n }),\n ),\n }),\n }),\n});\n\nexport const pendingEntityLinks = (\n pending: PendingCreatedDataIface,\n): CardArgsIface['entityLinks'] => {\n if (pending.kind !== PendingKind.Elicitation) return [];\n const parsed = entityLinksSchema.safeParse(pending.request);\n if (!parsed.success) return [];\n return parsed.data._meta['final.ai'].entityLinks.map((link) => {\n const entityLink: CardArgsIface['entityLinks'][number] = { kind: link.kind, id: link.id };\n if (link.title != null) entityLink.title = link.title;\n if (link.url != null) entityLink.url = link.url;\n if (link.description != null) entityLink.description = link.description;\n if (link.imageUrl != null) entityLink.imageUrl = link.imageUrl;\n return entityLink;\n });\n};\n\nconst
|
|
5
|
-
"mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAMK;AACP,YAAY,OAAO;AAOZ,IAAK,oBAAL,kBAAKA,uBAAL;AACL,EAAAA,mBAAA,UAAO;AACP,EAAAA,mBAAA,cAAW;AACX,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;AAOZ,MAAM,0BAA0B,EAAE,YAAY;AAAA,EAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ;AAAA,EAC1B,aAAa,EAAE,OAAO,EAAE,QAAQ;AAAA,EAChC,SAAS,EACN,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EACjF,QAAQ,CAAC,CAAC;AAAA,EACb,UAAU,gBAAgB,SAAS;AAAA,EACnC,SAAS,gBAAgB,SAAS;AACpC,CAAC;AAED,MAAM,2BAA2B,EAAE,YAAY;AAAA,EAC7C,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE;AAAA,EAC9B,MAAM,EAAE,OAAO,EAAE,QAAQ,MAAM;AAAA,EAC/B,iBAAiB,iBAAiB,SAAS;AAAA,EAC3C,KAAK,EAAE,OAAO,EAAE,SAAS;AAAA,EACzB,eAAe,EAAE,OAAO,EAAE,SAAS;AACrC,CAAC;AAID,MAAM,oBAAoB,EAAE,YAAY;AAAA,EACtC,OAAO,EAAE,YAAY;AAAA,IACnB,YAAY,EAAE,YAAY;AAAA,MACxB,aAAa,EAAE;AAAA,QACb,EAAE,YAAY;AAAA,UACZ,MAAM,EAAE,OAAO;AAAA,UACf,IAAI,EAAE,OAAO;AAAA,UACb,OAAO,EAAE,OAAO,EAAE,QAAQ;AAAA,UAC1B,KAAK,EAAE,OAAO,EAAE,QAAQ;AAAA,UACxB,aAAa,EAAE,OAAO,EAAE,QAAQ;AAAA,UAChC,UAAU,EAAE,OAAO,EAAE,QAAQ;AAAA,QAC/B,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH,CAAC;AAEM,MAAM,qBAAqB,CAChC,YACiC;AACjC,MAAI,QAAQ,SAAS,YAAY,YAAa,QAAO,CAAC;AACtD,QAAM,SAAS,kBAAkB,UAAU,QAAQ,OAAO;AAC1D,MAAI,CAAC,OAAO,QAAS,QAAO,CAAC;AAC7B,SAAO,OAAO,KAAK,MAAM,UAAU,EAAE,YAAY,IAAI,CAAC,SAAS;AAC7D,UAAM,aAAmD,EAAE,MAAM,KAAK,MAAM,IAAI,KAAK,GAAG;AACxF,QAAI,KAAK,SAAS,KAAM,YAAW,QAAQ,KAAK;AAChD,QAAI,KAAK,OAAO,KAAM,YAAW,MAAM,KAAK;AAC5C,QAAI,KAAK,eAAe,KAAM,YAAW,cAAc,KAAK;AAC5D,QAAI,KAAK,YAAY,KAAM,YAAW,WAAW,KAAK;AACtD,WAAO;AAAA,EACT,CAAC;AACH;
|
|
4
|
+
"sourcesContent": ["import {\n CardKind,\n jsonObjectSchema,\n jsonValueSchema,\n pendingCreatedDataSchema,\n PendingEventKind,\n PendingKind,\n pendingResolvedDataSchema,\n type CardArgsIface,\n type ChannelEventHandler,\n type JsonObject,\n type JsonValue,\n type PendingCreatedDataIface,\n} from '@finalai/agent-provider';\nimport * as z from 'zod';\n\n// Pending ACP requests become generic cards for their audience,\n// through the channel's `pending.created` and `pending.resolved` events:\n// a permission card carries the title and options, an elicitation card the\n// form schema or the URL. The card's state is the client's whole model of it.\n\nexport enum PendingCardStatus {\n Open = 'open',\n Answered = 'answered',\n Cancelled = 'cancelled',\n Expired = 'expired',\n}\n\nconst permissionRequestSchema = z.looseObject({\n title: z.string().nullish(),\n description: z.string().nullish(),\n options: z\n .array(z.looseObject({ optionId: z.string(), name: z.string(), kind: z.string() }))\n .default([]),\n toolCall: jsonValueSchema.optional(),\n subject: jsonValueSchema.optional(),\n});\n\nconst elicitationRequestSchema = z.looseObject({\n message: z.string().default(''),\n mode: z.string().default('form'),\n requestedSchema: jsonObjectSchema.optional(),\n url: z.string().optional(),\n elicitationId: z.string().optional(),\n});\n\n// An elicitation may link the entities it is about (a Goal it asks to accept)\n// in `_meta[\"final.ai\"].entityLinks`; the card carries them.\nconst entityLinksSchema = z.looseObject({\n _meta: z.looseObject({\n 'final.ai': z.looseObject({\n entityLinks: z.array(\n z.looseObject({\n kind: z.string(),\n id: z.string(),\n title: z.string().nullish(),\n url: z.string().nullish(),\n description: z.string().nullish(),\n imageUrl: z.string().nullish(),\n }),\n ),\n }),\n }),\n});\n\nexport const pendingEntityLinks = (\n pending: PendingCreatedDataIface,\n): CardArgsIface['entityLinks'] => {\n if (pending.kind !== PendingKind.Elicitation) return [];\n const parsed = entityLinksSchema.safeParse(pending.request);\n if (!parsed.success) return [];\n return parsed.data._meta['final.ai'].entityLinks.map((link) => {\n const entityLink: CardArgsIface['entityLinks'][number] = { kind: link.kind, id: link.id };\n if (link.title != null) entityLink.title = link.title;\n if (link.url != null) entityLink.url = link.url;\n if (link.description != null) entityLink.description = link.description;\n if (link.imageUrl != null) entityLink.imageUrl = link.imageUrl;\n return entityLink;\n });\n};\n\n// The generative card an elicitation asks with: its title names the card and\n// its spec is the card's contents. The session plane validates the spec.\nconst cardSchema = z.looseObject({\n _meta: z.looseObject({\n 'final.ai': z.looseObject({\n card: z.looseObject({ title: z.string(), spec: jsonObjectSchema }),\n }),\n }),\n});\n\nexport const pendingCardState = (pending: PendingCreatedDataIface): JsonObject => {\n const base: JsonObject = {\n status: PendingCardStatus.Open,\n pendingRequestId: pending.pendingRequestId,\n audienceParticipantIds: pending.audienceParticipantIds,\n };\n if (pending.kind === PendingKind.Permission) {\n const parsed = permissionRequestSchema.safeParse(pending.request);\n const request = parsed.success ? parsed.data : { title: null, description: null, options: [] };\n return {\n ...base,\n title: request.title ?? 'Permission requested',\n description: request.description ?? null,\n options: request.options.map((option) => ({\n optionId: option.optionId,\n name: option.name,\n kind: option.kind,\n })),\n };\n }\n const card = cardSchema.safeParse(pending.request).data?._meta['final.ai'].card;\n if (card != null) base.spec = card.spec;\n const parsed = elicitationRequestSchema.safeParse(pending.request);\n const request = parsed.success ? parsed.data : { message: '', mode: 'form' };\n const title = card?.title ?? request.message;\n if (request.mode === 'url') {\n return {\n ...base,\n title,\n mode: 'url',\n url: request.url ?? null,\n elicitationId: request.elicitationId ?? null,\n };\n }\n return {\n ...base,\n title,\n mode: 'form',\n requestedSchema: request.requestedSchema ?? {},\n };\n};\n\n// `{outcome: {outcome}}` (a RequestPermissionResponse), `{outcome}` (its\n// outcome) or `{action}` (an elicitation response).\nconst outcomeLabelSchema = z.union([\n z\n .looseObject({ outcome: z.looseObject({ outcome: z.string() }) })\n .transform((value) => value.outcome.outcome),\n z.looseObject({ outcome: z.string() }).transform((value) => value.outcome),\n z.looseObject({ action: z.string() }).transform((value) => value.action),\n]);\n\nexport const pendingStatusOfOutcome = (outcome: JsonValue): PendingCardStatus => {\n const label = outcomeLabelSchema.safeParse(outcome).data;\n if (label === 'cancelled' || label === 'cancel') return PendingCardStatus.Cancelled;\n if (label === 'expired') return PendingCardStatus.Expired;\n return PendingCardStatus.Answered;\n};\n\nexport interface PendingCardsIface {\n events: Record<`${PendingEventKind}`, ChannelEventHandler>;\n}\n\nexport const createPendingCards = (): PendingCardsIface => {\n const created: ChannelEventHandler = async (event, ctx) => {\n if (ctx.conversation == null || ctx.agentParticipant == null)\n throw new Error('Final cards require a Final conversation');\n const pending = pendingCreatedDataSchema.parse(event.data);\n await ctx.platform.conversations.postCard({\n conversationId: ctx.conversation.conversationId,\n authorParticipantId: ctx.agentParticipant.id,\n kind: pending.kind === PendingKind.Permission ? CardKind.Permission : CardKind.Elicitation,\n pendingRequestId: pending.pendingRequestId,\n state: pendingCardState(pending),\n entityLinks: pendingEntityLinks(pending),\n });\n };\n\n // The platform resolves a card by its pending request id.\n const resolved: ChannelEventHandler = async (event, ctx) => {\n const resolution = pendingResolvedDataSchema.parse(event.data);\n await ctx.platform.conversations.updateCard({\n messageId: resolution.pendingRequestId,\n state: {\n status: pendingStatusOfOutcome(resolution.outcome),\n outcome: resolution.outcome,\n },\n });\n };\n\n return {\n events: { [PendingEventKind.Created]: created, [PendingEventKind.Resolved]: resolved },\n };\n};\n"],
|
|
5
|
+
"mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAMK;AACP,YAAY,OAAO;AAOZ,IAAK,oBAAL,kBAAKA,uBAAL;AACL,EAAAA,mBAAA,UAAO;AACP,EAAAA,mBAAA,cAAW;AACX,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;AAOZ,MAAM,0BAA0B,EAAE,YAAY;AAAA,EAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ;AAAA,EAC1B,aAAa,EAAE,OAAO,EAAE,QAAQ;AAAA,EAChC,SAAS,EACN,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EACjF,QAAQ,CAAC,CAAC;AAAA,EACb,UAAU,gBAAgB,SAAS;AAAA,EACnC,SAAS,gBAAgB,SAAS;AACpC,CAAC;AAED,MAAM,2BAA2B,EAAE,YAAY;AAAA,EAC7C,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE;AAAA,EAC9B,MAAM,EAAE,OAAO,EAAE,QAAQ,MAAM;AAAA,EAC/B,iBAAiB,iBAAiB,SAAS;AAAA,EAC3C,KAAK,EAAE,OAAO,EAAE,SAAS;AAAA,EACzB,eAAe,EAAE,OAAO,EAAE,SAAS;AACrC,CAAC;AAID,MAAM,oBAAoB,EAAE,YAAY;AAAA,EACtC,OAAO,EAAE,YAAY;AAAA,IACnB,YAAY,EAAE,YAAY;AAAA,MACxB,aAAa,EAAE;AAAA,QACb,EAAE,YAAY;AAAA,UACZ,MAAM,EAAE,OAAO;AAAA,UACf,IAAI,EAAE,OAAO;AAAA,UACb,OAAO,EAAE,OAAO,EAAE,QAAQ;AAAA,UAC1B,KAAK,EAAE,OAAO,EAAE,QAAQ;AAAA,UACxB,aAAa,EAAE,OAAO,EAAE,QAAQ;AAAA,UAChC,UAAU,EAAE,OAAO,EAAE,QAAQ;AAAA,QAC/B,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH,CAAC;AAEM,MAAM,qBAAqB,CAChC,YACiC;AACjC,MAAI,QAAQ,SAAS,YAAY,YAAa,QAAO,CAAC;AACtD,QAAM,SAAS,kBAAkB,UAAU,QAAQ,OAAO;AAC1D,MAAI,CAAC,OAAO,QAAS,QAAO,CAAC;AAC7B,SAAO,OAAO,KAAK,MAAM,UAAU,EAAE,YAAY,IAAI,CAAC,SAAS;AAC7D,UAAM,aAAmD,EAAE,MAAM,KAAK,MAAM,IAAI,KAAK,GAAG;AACxF,QAAI,KAAK,SAAS,KAAM,YAAW,QAAQ,KAAK;AAChD,QAAI,KAAK,OAAO,KAAM,YAAW,MAAM,KAAK;AAC5C,QAAI,KAAK,eAAe,KAAM,YAAW,cAAc,KAAK;AAC5D,QAAI,KAAK,YAAY,KAAM,YAAW,WAAW,KAAK;AACtD,WAAO;AAAA,EACT,CAAC;AACH;AAIA,MAAM,aAAa,EAAE,YAAY;AAAA,EAC/B,OAAO,EAAE,YAAY;AAAA,IACnB,YAAY,EAAE,YAAY;AAAA,MACxB,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAAA,IACnE,CAAC;AAAA,EACH,CAAC;AACH,CAAC;AAEM,MAAM,mBAAmB,CAAC,YAAiD;AAChF,QAAM,OAAmB;AAAA,IACvB,QAAQ;AAAA,IACR,kBAAkB,QAAQ;AAAA,IAC1B,wBAAwB,QAAQ;AAAA,EAClC;AACA,MAAI,QAAQ,SAAS,YAAY,YAAY;AAC3C,UAAMC,UAAS,wBAAwB,UAAU,QAAQ,OAAO;AAChE,UAAMC,WAAUD,QAAO,UAAUA,QAAO,OAAO,EAAE,OAAO,MAAM,aAAa,MAAM,SAAS,CAAC,EAAE;AAC7F,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAOC,SAAQ,SAAS;AAAA,MACxB,aAAaA,SAAQ,eAAe;AAAA,MACpC,SAASA,SAAQ,QAAQ,IAAI,CAAC,YAAY;AAAA,QACxC,UAAU,OAAO;AAAA,QACjB,MAAM,OAAO;AAAA,QACb,MAAM,OAAO;AAAA,MACf,EAAE;AAAA,IACJ;AAAA,EACF;AACA,QAAM,OAAO,WAAW,UAAU,QAAQ,OAAO,EAAE,MAAM,MAAM,UAAU,EAAE;AAC3E,MAAI,QAAQ,KAAM,MAAK,OAAO,KAAK;AACnC,QAAM,SAAS,yBAAyB,UAAU,QAAQ,OAAO;AACjE,QAAM,UAAU,OAAO,UAAU,OAAO,OAAO,EAAE,SAAS,IAAI,MAAM,OAAO;AAC3E,QAAM,QAAQ,MAAM,SAAS,QAAQ;AACrC,MAAI,QAAQ,SAAS,OAAO;AAC1B,WAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,MACA,MAAM;AAAA,MACN,KAAK,QAAQ,OAAO;AAAA,MACpB,eAAe,QAAQ,iBAAiB;AAAA,IAC1C;AAAA,EACF;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA,MAAM;AAAA,IACN,iBAAiB,QAAQ,mBAAmB,CAAC;AAAA,EAC/C;AACF;AAIA,MAAM,qBAAqB,EAAE,MAAM;AAAA,EACjC,EACG,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAC/D,UAAU,CAAC,UAAU,MAAM,QAAQ,OAAO;AAAA,EAC7C,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,MAAM,OAAO;AAAA,EACzE,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,MAAM,MAAM;AACzE,CAAC;AAEM,MAAM,yBAAyB,CAAC,YAA0C;AAC/E,QAAM,QAAQ,mBAAmB,UAAU,OAAO,EAAE;AACpD,MAAI,UAAU,eAAe,UAAU,SAAU,QAAO;AACxD,MAAI,UAAU,UAAW,QAAO;AAChC,SAAO;AACT;AAMO,MAAM,qBAAqB,MAAyB;AACzD,QAAM,UAA+B,OAAO,OAAO,QAAQ;AACzD,QAAI,IAAI,gBAAgB,QAAQ,IAAI,oBAAoB;AACtD,YAAM,IAAI,MAAM,0CAA0C;AAC5D,UAAM,UAAU,yBAAyB,MAAM,MAAM,IAAI;AACzD,UAAM,IAAI,SAAS,cAAc,SAAS;AAAA,MACxC,gBAAgB,IAAI,aAAa;AAAA,MACjC,qBAAqB,IAAI,iBAAiB;AAAA,MAC1C,MAAM,QAAQ,SAAS,YAAY,aAAa,SAAS,aAAa,SAAS;AAAA,MAC/E,kBAAkB,QAAQ;AAAA,MAC1B,OAAO,iBAAiB,OAAO;AAAA,MAC/B,aAAa,mBAAmB,OAAO;AAAA,IACzC,CAAC;AAAA,EACH;AAGA,QAAM,WAAgC,OAAO,OAAO,QAAQ;AAC1D,UAAM,aAAa,0BAA0B,MAAM,MAAM,IAAI;AAC7D,UAAM,IAAI,SAAS,cAAc,WAAW;AAAA,MAC1C,WAAW,WAAW;AAAA,MACtB,OAAO;AAAA,QACL,QAAQ,uBAAuB,WAAW,OAAO;AAAA,QACjD,SAAS,WAAW;AAAA,MACtB;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL,QAAQ,EAAE,CAAC,iBAAiB,OAAO,GAAG,SAAS,CAAC,iBAAiB,QAAQ,GAAG,SAAS;AAAA,EACvF;AACF;",
|
|
6
6
|
"names": ["PendingCardStatus", "parsed", "request"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finalai/final-agent-provider",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Final's provider package: serverless, remote and local harnesses; the computer and device sandboxes; the messaging, schedule and event channels.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -208,14 +208,14 @@
|
|
|
208
208
|
},
|
|
209
209
|
"dependencies": {
|
|
210
210
|
"@agentclientprotocol/sdk": "1.8.0",
|
|
211
|
-
"@finalai/acp-session": "0.1.
|
|
212
|
-
"@finalai/agent-protocol": "0.
|
|
213
|
-
"@finalai/agent-provider": "0.2.
|
|
211
|
+
"@finalai/acp-session": "0.1.8",
|
|
212
|
+
"@finalai/agent-protocol": "0.3.0",
|
|
213
|
+
"@finalai/agent-provider": "0.2.3",
|
|
214
214
|
"@finalai/computers": "0.1.4",
|
|
215
|
-
"@finalai/websockets": "0.1.
|
|
215
|
+
"@finalai/websockets": "0.1.6",
|
|
216
216
|
"ws": "^8.21.3",
|
|
217
217
|
"zod": "4.6.5",
|
|
218
|
-
"@finalai/agent-definition": "0.1.
|
|
218
|
+
"@finalai/agent-definition": "0.1.10"
|
|
219
219
|
},
|
|
220
220
|
"engines": {
|
|
221
221
|
"node": ">=26"
|