@dani-builder/agent-contract 0.4.0 → 0.5.0

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/README.md CHANGED
@@ -60,3 +60,30 @@ whitespace-only prompts are omitted so `item.prompt ?? item.label` falls back to
60
60
  the label. Nonblank strings are preserved, including surrounding whitespace.
61
61
  Non-string prompts and malformed items reject the extension; done events filter
62
62
  invalid extensions. Empty item arrays are valid. Version 1 parsing is unchanged.
63
+
64
+ ## Persistent sessions and inquiry drafts
65
+
66
+ `SessionResponse` contains the issued `sessionId`, plaintext `token`, and
67
+ `expiresAt`. Send this token as Bearer auth for chat, restore, and cancel. Chat
68
+ adds optional `requestId` for compatibility with standalone runtimes; the installed
69
+ plugin content API requires it for admission and idempotent replay.
70
+ `ConversationRestoreResponse` contains completed history, `activePersona`, and
71
+ expiration. History messages can carry `persona`, `previousPersona`, and
72
+ `requestId`, so the UI can identify the speaker after restoration.
73
+
74
+ `InquiryDraftExtension` (`type: "inquiry_draft", version: 1`) carries
75
+ `{ topics: [{ id, title, summary, facts }], message, persona }`. Facts come from
76
+ selected user topics. `parseSseEvent` validates it in standalone `extension` and
77
+ `done.extensions` events; malformed topics are rejected. Clients decide how to
78
+ open/prepopulate forms and handle consent/submission. This contract does not
79
+ submit an inquiry.
80
+
81
+ `persona_routing` v1 still carries a string `topic`. The plugin's structured
82
+ internal planner topic is projected to its title, preserving existing clients.
83
+
84
+ ## Response extensions
85
+
86
+ See [Agent output extensions](../../docs/guides/agent-output-extensions.md) for the
87
+ versioned extension table, inquiry prefill and renderer overrides.
88
+ `ResponseExtension` includes `UiBlockExtension` v1 and inquiry draft optional
89
+ `InquiryPrefill`. Legacy inquiry drafts and both follow-up versions still parse.
@@ -38,6 +38,37 @@ export interface PersonaRoutingExtension {
38
38
  topic: string;
39
39
  };
40
40
  }
41
- export type ResponseExtension = PersonaRoutingExtension | FollowUpQuestionsExtension | FollowUpQuestionsV2Extension | GenericBlockExtension;
41
+ export interface InquiryPrefill {
42
+ name?: string;
43
+ email?: string;
44
+ phone?: string;
45
+ subject?: string;
46
+ message?: string;
47
+ }
48
+ export interface UiBlockExtension {
49
+ type: "ui_block";
50
+ version: 1;
51
+ payload: {
52
+ component: string;
53
+ props: Record<string, unknown>;
54
+ placement?: "inline" | "after" | "panel";
55
+ };
56
+ }
57
+ export interface InquiryDraftExtension {
58
+ type: "inquiry_draft";
59
+ version: 1;
60
+ payload: {
61
+ topics: {
62
+ id: string;
63
+ title: string;
64
+ summary: string;
65
+ facts: string[];
66
+ }[];
67
+ message: string;
68
+ persona: string;
69
+ prefill?: InquiryPrefill;
70
+ };
71
+ }
72
+ export type ResponseExtension = UiBlockExtension | InquiryDraftExtension | PersonaRoutingExtension | FollowUpQuestionsExtension | FollowUpQuestionsV2Extension | GenericBlockExtension;
42
73
  export declare function parseResponseExtension(value: unknown): ResponseExtension | null;
43
74
  //# sourceMappingURL=extensions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QAAE,KAAK,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;CACxD;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GACzB,uBAAuB,GACvB,0BAA0B,GAC1B,4BAA4B,GAC5B,qBAAqB,CAAC;AAQ1B,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,iBAAiB,GAAG,IAAI,CAwF1B"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QAAE,KAAK,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;CACxD;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;KAC1C,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QACP,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,EAAE,CAAC;QAC1E,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GACzB,gBAAgB,GAChB,qBAAqB,GACrB,uBAAuB,GACvB,0BAA0B,GAC1B,4BAA4B,GAC5B,qBAAqB,CAAC;AAQ1B,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,iBAAiB,GAAG,IAAI,CA6K1B"}
@@ -5,6 +5,79 @@ export function parseResponseExtension(value) {
5
5
  if (typeof value !== "object" || value === null)
6
6
  return null;
7
7
  const record = value;
8
+ if (record.type === "ui_block" && record.version === 1) {
9
+ const payload = record.payload;
10
+ if (!payload || typeof payload !== "object" || Array.isArray(payload))
11
+ return null;
12
+ const { component, props, placement } = payload;
13
+ if (typeof component !== "string" ||
14
+ !component.trim() ||
15
+ !props ||
16
+ typeof props !== "object" ||
17
+ Array.isArray(props) ||
18
+ (placement !== undefined &&
19
+ (typeof placement !== "string" ||
20
+ !["inline", "after", "panel"].includes(placement))))
21
+ return null;
22
+ return {
23
+ type: "ui_block",
24
+ version: 1,
25
+ payload: {
26
+ component,
27
+ props: props,
28
+ ...(placement !== undefined
29
+ ? { placement: placement }
30
+ : {}),
31
+ },
32
+ };
33
+ }
34
+ if (record.type === "inquiry_draft" && record.version === 1) {
35
+ const payload = record.payload;
36
+ if (!payload ||
37
+ typeof payload.message !== "string" ||
38
+ typeof payload.persona !== "string" ||
39
+ !Array.isArray(payload.topics))
40
+ return null;
41
+ let prefill;
42
+ if (payload.prefill !== undefined) {
43
+ if (!payload.prefill ||
44
+ typeof payload.prefill !== "object" ||
45
+ Array.isArray(payload.prefill))
46
+ return null;
47
+ const fields = payload.prefill;
48
+ if (Object.entries(fields).some(([key, item]) => !["name", "email", "phone", "subject", "message"].includes(key) ||
49
+ typeof item !== "string"))
50
+ return null;
51
+ prefill = fields;
52
+ }
53
+ const topics = [];
54
+ for (const item of payload.topics) {
55
+ if (!item || typeof item !== "object")
56
+ return null;
57
+ const topic = item;
58
+ if (typeof topic.id !== "string" ||
59
+ typeof topic.title !== "string" ||
60
+ typeof topic.summary !== "string" ||
61
+ !isStringArray(topic.facts))
62
+ return null;
63
+ topics.push({
64
+ id: topic.id,
65
+ title: topic.title,
66
+ summary: topic.summary,
67
+ facts: topic.facts,
68
+ });
69
+ }
70
+ return {
71
+ type: "inquiry_draft",
72
+ version: 1,
73
+ payload: {
74
+ topics,
75
+ message: payload.message,
76
+ persona: payload.persona,
77
+ ...(prefill ? { prefill } : {}),
78
+ },
79
+ };
80
+ }
8
81
  if (record.type === "persona_routing" && record.version === 1) {
9
82
  if (!record.payload || typeof record.payload !== "object")
10
83
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export { AGENT_ID_PREFIX, DEFAULT_AGENT_ALIAS, isAgentId, isAgentSelector, } fro
2
2
  export { formatSseEvent, parseSseEvent } from "./events.js";
3
3
  export { parseCitedSource, parseCitedSources } from "./sources.js";
4
4
  export type { ChatEvent, ChatEventName, ChatDoneEventData, ChatSessionEventData, } from "./events.js";
5
- export type { PersonaRoutingExtension, FollowUpQuestionsExtension, FollowUpQuestionsV2Extension, SuggestedPrompt, GenericBlockExtension, GenericBlockItem, ResponseExtension, } from "./extensions.js";
6
- export type { AgentPublicProfile, AgentRetrievalConfig, ChatRequest, ChatResponse, ConversationHistoryMessage, PublicAgentSummary, } from "./public-api.js";
5
+ export type { InquiryPrefill, UiBlockExtension, InquiryDraftExtension, PersonaRoutingExtension, FollowUpQuestionsExtension, FollowUpQuestionsV2Extension, SuggestedPrompt, GenericBlockExtension, GenericBlockItem, ResponseExtension, } from "./extensions.js";
6
+ export type { AgentPublicProfile, AgentRetrievalConfig, SessionResponse, ConversationRestoreResponse, ChatRequest, ChatResponse, ConversationHistoryMessage, PublicAgentSummary, } from "./public-api.js";
7
7
  export type { ChatContextStatus, CitedSource, StoredContext, StoredContextQuote, } from "./sources.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,YAAY,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,YAAY,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,WAAW,EACX,YAAY,EACZ,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,MAAM,cAAc,CAAC"}
@@ -21,6 +21,8 @@ export interface AgentRetrievalConfig {
21
21
  }
22
22
  export interface ChatRequest {
23
23
  message: string;
24
+ /** Required by the persistent content API; retries reuse this ID and payload. */
25
+ requestId?: string;
24
26
  agentId?: string;
25
27
  sessionId?: string;
26
28
  locale?: string;
@@ -41,7 +43,22 @@ export interface ChatResponse {
41
43
  contextApplied?: boolean;
42
44
  contextStatus?: "applied" | "quote_unverified" | "unavailable";
43
45
  }
46
+ export interface SessionResponse {
47
+ sessionId: string;
48
+ token: string;
49
+ expiresAt: string;
50
+ }
51
+ export interface ConversationRestoreResponse {
52
+ sessionId: string;
53
+ agentId: string;
54
+ activePersona: string | null;
55
+ expiresAt: string;
56
+ messages: ConversationHistoryMessage[];
57
+ }
44
58
  export interface ConversationHistoryMessage {
59
+ persona?: string | null;
60
+ previousPersona?: string | null;
61
+ requestId?: string;
45
62
  role: "user" | "assistant";
46
63
  content: string;
47
64
  context?: StoredContext | null;
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAC/E;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,SAAS,GAAG,kBAAkB,GAAG,aAAa,CAAC;CAChE;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAC/E;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,SAAS,GAAG,kBAAkB,GAAG,aAAa,CAAC;CAChE;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,0BAA0B,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dani-builder/agent-contract",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Zero-dependency wire contracts for Daniworks Agent clients.",
5
5
  "license": "MIT",
6
6
  "type": "module",