@bunny-agent/manager 0.9.63-beta.2 → 0.10.0-beta.3

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.
Files changed (62) hide show
  1. package/dist/__tests__/bunny-agent-cli-command.test.d.ts +2 -0
  2. package/dist/__tests__/bunny-agent-cli-command.test.d.ts.map +1 -0
  3. package/dist/__tests__/bunny-agent-cli-command.test.js +51 -0
  4. package/dist/__tests__/bunny-agent-cli-command.test.js.map +1 -0
  5. package/dist/__tests__/contracts-browser-bundle.test.d.ts +2 -0
  6. package/dist/__tests__/contracts-browser-bundle.test.d.ts.map +1 -0
  7. package/dist/__tests__/contracts-browser-bundle.test.js +37 -0
  8. package/dist/__tests__/contracts-browser-bundle.test.js.map +1 -0
  9. package/dist/__tests__/contracts-conformance.test.d.ts +2 -0
  10. package/dist/__tests__/contracts-conformance.test.d.ts.map +1 -0
  11. package/dist/__tests__/contracts-conformance.test.js +316 -0
  12. package/dist/__tests__/contracts-conformance.test.js.map +1 -0
  13. package/dist/__tests__/contracts-projection.test.d.ts +2 -0
  14. package/dist/__tests__/contracts-projection.test.d.ts.map +1 -0
  15. package/dist/__tests__/contracts-projection.test.js +131 -0
  16. package/dist/__tests__/contracts-projection.test.js.map +1 -0
  17. package/dist/__tests__/contracts-record.test.d.ts +2 -0
  18. package/dist/__tests__/contracts-record.test.d.ts.map +1 -0
  19. package/dist/__tests__/contracts-record.test.js +175 -0
  20. package/dist/__tests__/contracts-record.test.js.map +1 -0
  21. package/dist/__tests__/contracts-source-id.test.d.ts +2 -0
  22. package/dist/__tests__/contracts-source-id.test.d.ts.map +1 -0
  23. package/dist/__tests__/contracts-source-id.test.js +61 -0
  24. package/dist/__tests__/contracts-source-id.test.js.map +1 -0
  25. package/dist/__tests__/contracts-validators.test.d.ts +2 -0
  26. package/dist/__tests__/contracts-validators.test.d.ts.map +1 -0
  27. package/dist/__tests__/contracts-validators.test.js +203 -0
  28. package/dist/__tests__/contracts-validators.test.js.map +1 -0
  29. package/dist/bunny-agent.d.ts.map +1 -1
  30. package/dist/bunny-agent.js +3 -0
  31. package/dist/bunny-agent.js.map +1 -1
  32. package/dist/citation-guidance.d.ts +5 -0
  33. package/dist/citation-guidance.d.ts.map +1 -0
  34. package/dist/citation-guidance.js +23 -0
  35. package/dist/citation-guidance.js.map +1 -0
  36. package/dist/contracts/index.d.ts +14 -0
  37. package/dist/contracts/index.d.ts.map +1 -0
  38. package/dist/contracts/index.js +12 -0
  39. package/dist/contracts/index.js.map +1 -0
  40. package/dist/contracts/projection.d.ts +56 -0
  41. package/dist/contracts/projection.d.ts.map +1 -0
  42. package/dist/contracts/projection.js +129 -0
  43. package/dist/contracts/projection.js.map +1 -0
  44. package/dist/contracts/record.d.ts +56 -0
  45. package/dist/contracts/record.d.ts.map +1 -0
  46. package/dist/contracts/record.js +205 -0
  47. package/dist/contracts/record.js.map +1 -0
  48. package/dist/contracts/source-id.d.ts +26 -0
  49. package/dist/contracts/source-id.d.ts.map +1 -0
  50. package/dist/contracts/source-id.js +42 -0
  51. package/dist/contracts/source-id.js.map +1 -0
  52. package/dist/contracts/types.d.ts +143 -0
  53. package/dist/contracts/types.d.ts.map +1 -0
  54. package/dist/contracts/types.js +20 -0
  55. package/dist/contracts/types.js.map +1 -0
  56. package/dist/contracts/validators.d.ts +31 -0
  57. package/dist/contracts/validators.d.ts.map +1 -0
  58. package/dist/contracts/validators.js +261 -0
  59. package/dist/contracts/validators.js.map +1 -0
  60. package/dist/types.d.ts +15 -0
  61. package/dist/types.d.ts.map +1 -1
  62. package/package.json +17 -1
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Browser-safe public types for the versioned web search / answer citation
3
+ * contract (OpenSpec change `standardize-search-tool-citation-contract`).
4
+ *
5
+ * This module and its siblings under `contracts/` MUST stay free of Node
6
+ * built-ins (`node:crypto`, `node:fs`, ...) so they can be re-exported through
7
+ * `@bunny-agent/sdk/contracts` for browser consumers. Server-only helpers
8
+ * (URL source ID hashing) live in `source-id.ts`, which is never imported
9
+ * from this subpath's barrel.
10
+ */
11
+ /** Current and only supported search contract version. */
12
+ export declare const SEARCH_CONTRACT_VERSION_1: 1;
13
+ /** Union of search contract versions this release understands. */
14
+ export type SearchContractVersion = typeof SEARCH_CONTRACT_VERSION_1;
15
+ /** Offset unit declared on terminal text citation metadata. */
16
+ export type CitationOffsetUnit = "unicode-code-points";
17
+ /** Where a validated citation annotation originated. */
18
+ export type CitationOrigin = "provider" | "explicit_source_marker";
19
+ /** Whether retrieval detail is actually available for a search record. */
20
+ export type SourceDetails = "available" | "unavailable";
21
+ /** Lifecycle status of a structured search record. */
22
+ export type WebSearchCallStatus = "completed" | "failed";
23
+ /** Safe, provider-neutral error codes for structured search failures. */
24
+ export type WebSearchErrorCode = "authentication" | "rate_limit" | "network" | "invalid_request" | "provider_error";
25
+ /** Sanitized structured failure, never containing raw auth headers or keys. */
26
+ export interface WebSearchError {
27
+ code: WebSearchErrorCode;
28
+ message: string;
29
+ retryable: boolean;
30
+ }
31
+ /** A single validated source referenced by a search action. */
32
+ export interface WebSearchSource {
33
+ type: "url";
34
+ source_id: string;
35
+ url: string;
36
+ title?: string;
37
+ }
38
+ /** A single detailed retrieval result, bound to its source identity. */
39
+ export interface WebSearchResultItem {
40
+ source_id: string;
41
+ url: string;
42
+ title?: string;
43
+ snippet?: string;
44
+ age?: string;
45
+ /** Optional fetched page content; kept separate from `snippet`. */
46
+ content?: string;
47
+ }
48
+ /** The `action` field of a v1 web search call envelope. */
49
+ export interface WebSearchAction {
50
+ type: "search";
51
+ query: string;
52
+ sources: WebSearchSource[];
53
+ }
54
+ /**
55
+ * Versioned, Responses-aligned structured web search result envelope.
56
+ *
57
+ * `schema_version`, `source_id`, `source_details`, `results`, `provider`,
58
+ * and `truncated` are Bunny extensions: this is not an assertion of exact
59
+ * OpenAI Responses API compatibility.
60
+ */
61
+ interface WebSearchCallRecordBase {
62
+ schema_version: 1;
63
+ type: "web_search_call";
64
+ /** The actual local tool-call ID, not a provider request ID. */
65
+ id: string;
66
+ action: WebSearchAction;
67
+ source_details: SourceDetails;
68
+ results: WebSearchResultItem[];
69
+ provider: string;
70
+ truncated: boolean;
71
+ }
72
+ /** Failure information is required when narrowing a failed search record. */
73
+ export type WebSearchCallRecord = WebSearchCallRecordBase & ({
74
+ status: "completed";
75
+ error?: never;
76
+ } | {
77
+ status: "failed";
78
+ error: WebSearchError;
79
+ });
80
+ /** The flat Responses-shaped URL citation annotation. */
81
+ export interface UrlCitationAnnotation {
82
+ type: "url_citation";
83
+ start_index: number;
84
+ end_index: number;
85
+ url: string;
86
+ /** Canonical annotations always carry a title; use the URL if absent upstream. */
87
+ title: string;
88
+ }
89
+ /** Responses-shaped answer text content carrying citation annotations. */
90
+ export interface OutputTextContent {
91
+ type: "output_text";
92
+ text: string;
93
+ annotations: UrlCitationAnnotation[];
94
+ }
95
+ /**
96
+ * Bunny extension binding one annotation (by index into the sibling
97
+ * `annotations` array) to its source identity and provenance.
98
+ */
99
+ export interface CitationBinding {
100
+ annotation_index: number;
101
+ source_id: string;
102
+ origin: CitationOrigin;
103
+ /** Tool-call IDs known to have contributed this source, if any. */
104
+ tool_call_ids: string[];
105
+ }
106
+ /** Whether a text part's citation processing completed or was bounded. */
107
+ export type CitationProcessingState = "complete" | "partial";
108
+ /**
109
+ * Terminal per-text-part citation metadata, attached to the runner's
110
+ * `text-end` event under `providerMetadata["bunny-agent"].citation_contract`.
111
+ */
112
+ export interface CitationContractMetadata {
113
+ schema_version: 1;
114
+ offset_unit: CitationOffsetUnit;
115
+ annotations: UrlCitationAnnotation[];
116
+ bindings: CitationBinding[];
117
+ processing: CitationProcessingState;
118
+ /** Sanitized diagnostics describing invalid annotations or bounded limits. */
119
+ diagnostics?: CitationDiagnostic[];
120
+ }
121
+ /** Non-secret diagnostic describing a rejected/truncated citation input. */
122
+ export interface CitationDiagnostic {
123
+ code: "invalid_version" | "invalid_range" | "unsafe_target" | "duplicate_range" | "unknown_source" | "malformed_token" | "budget_exceeded" | "unavailable_offset_unit";
124
+ message: string;
125
+ }
126
+ /** Declared capability acknowledgement for a negotiated contract version. */
127
+ export interface SearchContractCapabilities {
128
+ version: SearchContractVersion;
129
+ structured_retrieval: boolean;
130
+ native_annotations: boolean;
131
+ explicit_source_marker_annotations: boolean;
132
+ }
133
+ /** Processing limits published alongside the v1 contract. */
134
+ export interface SearchContractLimits {
135
+ maxSourcesPerSearch: number;
136
+ maxSourcesPerTurn: number;
137
+ maxAnnotationsPerTextPart: number;
138
+ maxCodePointsPerTextPart: number;
139
+ maxPendingMarkerSuffixChars: number;
140
+ }
141
+ export declare const SEARCH_CONTRACT_LIMITS: Readonly<SearchContractLimits>;
142
+ export {};
143
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contracts/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Browser-safe public types for the versioned web search / answer citation
3
+ * contract (OpenSpec change `standardize-search-tool-citation-contract`).
4
+ *
5
+ * This module and its siblings under `contracts/` MUST stay free of Node
6
+ * built-ins (`node:crypto`, `node:fs`, ...) so they can be re-exported through
7
+ * `@bunny-agent/sdk/contracts` for browser consumers. Server-only helpers
8
+ * (URL source ID hashing) live in `source-id.ts`, which is never imported
9
+ * from this subpath's barrel.
10
+ */
11
+ /** Current and only supported search contract version. */
12
+ export const SEARCH_CONTRACT_VERSION_1 = 1;
13
+ export const SEARCH_CONTRACT_LIMITS = Object.freeze({
14
+ maxSourcesPerSearch: 50,
15
+ maxSourcesPerTurn: 500,
16
+ maxAnnotationsPerTextPart: 1_000,
17
+ maxCodePointsPerTextPart: 256_000,
18
+ maxPendingMarkerSuffixChars: 128,
19
+ });
20
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/contracts/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,0DAA0D;AAC1D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAU,CAAC;AAiKpD,MAAM,CAAC,MAAM,sBAAsB,GACjC,MAAM,CAAC,MAAM,CAAC;IACZ,mBAAmB,EAAE,EAAE;IACvB,iBAAiB,EAAE,GAAG;IACtB,yBAAyB,EAAE,KAAK;IAChC,wBAAwB,EAAE,OAAO;IACjC,2BAA2B,EAAE,GAAG;CACjC,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type CitationBinding, type CitationContractMetadata, type SearchContractVersion, type UrlCitationAnnotation, type WebSearchAction, type WebSearchCallRecord, type WebSearchError, type WebSearchResultItem, type WebSearchSource } from "./types.js";
2
+ /** Absolute HTTP(S) URLs without embedded user credentials. */
3
+ export declare function isSafeHttpUrl(value: unknown): value is string;
4
+ export declare function isSupportedSearchContractVersion(value: unknown): value is SearchContractVersion;
5
+ export declare function isWebSearchSource(value: unknown): value is WebSearchSource;
6
+ export declare function isWebSearchResultItem(value: unknown): value is WebSearchResultItem;
7
+ export declare function isWebSearchAction(value: unknown): value is WebSearchAction;
8
+ export declare function isWebSearchError(value: unknown): value is WebSearchError;
9
+ /** Recognized records are trusted only after state and source associations agree. */
10
+ export declare function isValidWebSearchCallRecord(value: unknown): value is WebSearchCallRecord;
11
+ export declare function isUrlCitationAnnotation(value: unknown): value is UrlCitationAnnotation;
12
+ /** Validate every boundary against the exact emitted Markdown text. */
13
+ export declare function isAnnotationRangeValidForText(annotation: UrlCitationAnnotation, text: string): boolean;
14
+ export declare function isCitationBinding(value: unknown): value is CitationBinding;
15
+ /** Optional external context makes text bounds and source-table validation explicit. */
16
+ export interface CitationValidationContext {
17
+ text?: string;
18
+ sources?: readonly WebSearchSource[];
19
+ }
20
+ /**
21
+ * Check intrinsic structure, unique ranges, and complete, consistent bindings.
22
+ * Supply `text` and `sources` to also validate against emitted text and the
23
+ * authoritative source table. Structural validation alone cannot establish
24
+ * truthfulness of externally supplied source claims.
25
+ */
26
+ export declare function isValidCitationContractMetadata(value: unknown, context?: CitationValidationContext): value is CitationContractMetadata;
27
+ export declare function enforceSourceLimit<T>(sources: T[]): {
28
+ kept: T[];
29
+ truncated: boolean;
30
+ };
31
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/contracts/validators.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAI7B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EAEnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAUpB,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAY7D;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,CAEhC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAQ1E;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAU9B;AAOD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAkB1E;AAUD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAQxE;AAED,qFAAqF;AACrF,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAwC9B;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,CAYhC;AAED,uEAAuE;AACvE,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,qBAAqB,EACjC,IAAI,EAAE,MAAM,GACX,OAAO,CAMT;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAoB1E;AAsBD,wFAAwF;AACxF,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,yBAA8B,GACtC,KAAK,IAAI,wBAAwB,CA4FnC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG;IACnD,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,SAAS,EAAE,OAAO,CAAC;CACpB,CAIA"}
@@ -0,0 +1,261 @@
1
+ /** Browser-safe validation of the v1 search and answer citation contracts. */
2
+ import { codePointLength, isValidCodePointRange } from "./projection.js";
3
+ import { SEARCH_CONTRACT_LIMITS, SEARCH_CONTRACT_VERSION_1, } from "./types.js";
4
+ function isPlainObject(value) {
5
+ return value !== null && typeof value === "object" && !Array.isArray(value);
6
+ }
7
+ function isNonEmptyString(value) {
8
+ return typeof value === "string" && value.trim().length > 0;
9
+ }
10
+ /** Absolute HTTP(S) URLs without embedded user credentials. */
11
+ export function isSafeHttpUrl(value) {
12
+ if (typeof value !== "string" || value.length === 0)
13
+ return false;
14
+ try {
15
+ const parsed = new URL(value);
16
+ return ((parsed.protocol === "http:" || parsed.protocol === "https:") &&
17
+ parsed.username.length === 0 &&
18
+ parsed.password.length === 0);
19
+ }
20
+ catch {
21
+ return false;
22
+ }
23
+ }
24
+ export function isSupportedSearchContractVersion(value) {
25
+ return value === SEARCH_CONTRACT_VERSION_1;
26
+ }
27
+ export function isWebSearchSource(value) {
28
+ if (!isPlainObject(value))
29
+ return false;
30
+ return (value.type === "url" &&
31
+ isNonEmptyString(value.source_id) &&
32
+ isSafeHttpUrl(value.url) &&
33
+ (value.title === undefined || typeof value.title === "string"));
34
+ }
35
+ export function isWebSearchResultItem(value) {
36
+ if (!isPlainObject(value))
37
+ return false;
38
+ return (isNonEmptyString(value.source_id) &&
39
+ isSafeHttpUrl(value.url) &&
40
+ (value.title === undefined || typeof value.title === "string") &&
41
+ (value.snippet === undefined || typeof value.snippet === "string") &&
42
+ (value.age === undefined || typeof value.age === "string") &&
43
+ (value.content === undefined || typeof value.content === "string"));
44
+ }
45
+ /** Comparison matches the server's stable URL hashing without stripping query/fragment. */
46
+ function urlIdentity(url) {
47
+ return new URL(url).toString();
48
+ }
49
+ export function isWebSearchAction(value) {
50
+ if (!isPlainObject(value))
51
+ return false;
52
+ if (value.type !== "search" || typeof value.query !== "string")
53
+ return false;
54
+ if (!Array.isArray(value.sources) ||
55
+ value.sources.length > SEARCH_CONTRACT_LIMITS.maxSourcesPerSearch ||
56
+ !value.sources.every(isWebSearchSource))
57
+ return false;
58
+ const ids = new Set();
59
+ const urls = new Set();
60
+ for (const source of value.sources) {
61
+ const url = urlIdentity(source.url);
62
+ if (ids.has(source.source_id) || urls.has(url))
63
+ return false;
64
+ ids.add(source.source_id);
65
+ urls.add(url);
66
+ }
67
+ return true;
68
+ }
69
+ const WEB_SEARCH_ERROR_CODES = new Set([
70
+ "authentication",
71
+ "rate_limit",
72
+ "network",
73
+ "invalid_request",
74
+ "provider_error",
75
+ ]);
76
+ export function isWebSearchError(value) {
77
+ return (isPlainObject(value) &&
78
+ typeof value.code === "string" &&
79
+ WEB_SEARCH_ERROR_CODES.has(value.code) &&
80
+ typeof value.message === "string" &&
81
+ typeof value.retryable === "boolean");
82
+ }
83
+ /** Recognized records are trusted only after state and source associations agree. */
84
+ export function isValidWebSearchCallRecord(value) {
85
+ if (!isPlainObject(value))
86
+ return false;
87
+ if (value.schema_version !== 1 || value.type !== "web_search_call")
88
+ return false;
89
+ if (!isNonEmptyString(value.id) || !isNonEmptyString(value.provider))
90
+ return false;
91
+ if (value.status !== "completed" && value.status !== "failed")
92
+ return false;
93
+ if (!isWebSearchAction(value.action))
94
+ return false;
95
+ if (value.source_details !== "available" &&
96
+ value.source_details !== "unavailable")
97
+ return false;
98
+ if (!Array.isArray(value.results) ||
99
+ value.results.length > SEARCH_CONTRACT_LIMITS.maxSourcesPerSearch ||
100
+ !value.results.every(isWebSearchResultItem))
101
+ return false;
102
+ if (typeof value.truncated !== "boolean")
103
+ return false;
104
+ if (value.status === "failed") {
105
+ if (!isWebSearchError(value.error) ||
106
+ value.source_details !== "unavailable")
107
+ return false;
108
+ if (value.action.sources.length > 0 || value.results.length > 0)
109
+ return false;
110
+ }
111
+ else if (value.error !== undefined)
112
+ return false;
113
+ if (value.source_details === "unavailable") {
114
+ if (value.action.sources.length > 0 || value.results.length > 0)
115
+ return false;
116
+ }
117
+ const sources = new Map(value.action.sources.map((s) => [s.source_id, urlIdentity(s.url)]));
118
+ for (const result of value.results) {
119
+ if (sources.get(result.source_id) !== urlIdentity(result.url))
120
+ return false;
121
+ }
122
+ return true;
123
+ }
124
+ export function isUrlCitationAnnotation(value) {
125
+ if (!isPlainObject(value) || value.type !== "url_citation")
126
+ return false;
127
+ return (Number.isInteger(value.start_index) &&
128
+ value.start_index >= 0 &&
129
+ Number.isInteger(value.end_index) &&
130
+ value.end_index > value.start_index &&
131
+ value.end_index <=
132
+ SEARCH_CONTRACT_LIMITS.maxCodePointsPerTextPart &&
133
+ isSafeHttpUrl(value.url) &&
134
+ typeof value.title === "string");
135
+ }
136
+ /** Validate every boundary against the exact emitted Markdown text. */
137
+ export function isAnnotationRangeValidForText(annotation, text) {
138
+ return isValidCodePointRange(text, annotation.start_index, annotation.end_index);
139
+ }
140
+ export function isCitationBinding(value) {
141
+ if (!isPlainObject(value))
142
+ return false;
143
+ if (!Number.isInteger(value.annotation_index) ||
144
+ value.annotation_index < 0)
145
+ return false;
146
+ if (!isNonEmptyString(value.source_id))
147
+ return false;
148
+ if (value.origin !== "provider" && value.origin !== "explicit_source_marker")
149
+ return false;
150
+ if (!Array.isArray(value.tool_call_ids) ||
151
+ !value.tool_call_ids.every(isNonEmptyString))
152
+ return false;
153
+ if (new Set(value.tool_call_ids).size !== value.tool_call_ids.length)
154
+ return false;
155
+ return (value.origin !== "explicit_source_marker" || value.tool_call_ids.length > 0);
156
+ }
157
+ const DIAGNOSTIC_CODES = new Set([
158
+ "invalid_version",
159
+ "invalid_range",
160
+ "unsafe_target",
161
+ "duplicate_range",
162
+ "unknown_source",
163
+ "malformed_token",
164
+ "budget_exceeded",
165
+ "unavailable_offset_unit",
166
+ ]);
167
+ function isCitationDiagnostic(value) {
168
+ return (isPlainObject(value) &&
169
+ typeof value.code === "string" &&
170
+ DIAGNOSTIC_CODES.has(value.code) &&
171
+ typeof value.message === "string");
172
+ }
173
+ /**
174
+ * Check intrinsic structure, unique ranges, and complete, consistent bindings.
175
+ * Supply `text` and `sources` to also validate against emitted text and the
176
+ * authoritative source table. Structural validation alone cannot establish
177
+ * truthfulness of externally supplied source claims.
178
+ */
179
+ export function isValidCitationContractMetadata(value, context = {}) {
180
+ if (!isPlainObject(value))
181
+ return false;
182
+ if (value.schema_version !== 1 || value.offset_unit !== "unicode-code-points")
183
+ return false;
184
+ const textLength = context.text === undefined ? undefined : codePointLength(context.text);
185
+ if (!Array.isArray(value.annotations) ||
186
+ value.annotations.length >
187
+ SEARCH_CONTRACT_LIMITS.maxAnnotationsPerTextPart ||
188
+ !value.annotations.every(isUrlCitationAnnotation))
189
+ return false;
190
+ if (!Array.isArray(value.bindings) ||
191
+ value.bindings.length !== value.annotations.length ||
192
+ !value.bindings.every(isCitationBinding))
193
+ return false;
194
+ if (value.processing !== "complete" && value.processing !== "partial")
195
+ return false;
196
+ if (value.diagnostics !== undefined &&
197
+ (!Array.isArray(value.diagnostics) ||
198
+ !value.diagnostics.every(isCitationDiagnostic)))
199
+ return false;
200
+ if (textLength !== undefined &&
201
+ textLength > SEARCH_CONTRACT_LIMITS.maxCodePointsPerTextPart &&
202
+ (value.processing !== "partial" ||
203
+ !value.diagnostics?.some((d) => d.code === "budget_exceeded")))
204
+ return false;
205
+ const knownUrls = new Map();
206
+ const knownIds = new Map();
207
+ if (context.sources !== undefined) {
208
+ for (const source of context.sources) {
209
+ if (!isWebSearchSource(source))
210
+ return false;
211
+ const url = urlIdentity(source.url);
212
+ if ((knownUrls.has(source.source_id) &&
213
+ knownUrls.get(source.source_id) !== url) ||
214
+ (knownIds.has(url) && knownIds.get(url) !== source.source_id))
215
+ return false;
216
+ knownUrls.set(source.source_id, url);
217
+ knownIds.set(url, source.source_id);
218
+ }
219
+ }
220
+ const annotations = value.annotations;
221
+ const seenRanges = new Set();
222
+ for (const annotation of annotations) {
223
+ const key = JSON.stringify([
224
+ annotation.start_index,
225
+ annotation.end_index,
226
+ urlIdentity(annotation.url),
227
+ ]);
228
+ if (seenRanges.has(key))
229
+ return false;
230
+ seenRanges.add(key);
231
+ if (textLength !== undefined && annotation.end_index > textLength)
232
+ return false;
233
+ }
234
+ const boundIndices = new Set();
235
+ const sourceUrls = new Map();
236
+ const urlSources = new Map();
237
+ for (const binding of value.bindings) {
238
+ if (boundIndices.has(binding.annotation_index) ||
239
+ binding.annotation_index >= annotations.length)
240
+ return false;
241
+ boundIndices.add(binding.annotation_index);
242
+ const url = urlIdentity(annotations[binding.annotation_index].url);
243
+ if ((sourceUrls.has(binding.source_id) &&
244
+ sourceUrls.get(binding.source_id) !== url) ||
245
+ (urlSources.has(url) && urlSources.get(url) !== binding.source_id))
246
+ return false;
247
+ if (context.sources !== undefined &&
248
+ knownUrls.get(binding.source_id) !== url)
249
+ return false;
250
+ sourceUrls.set(binding.source_id, url);
251
+ urlSources.set(url, binding.source_id);
252
+ }
253
+ return sourceUrls.size <= SEARCH_CONTRACT_LIMITS.maxSourcesPerTurn;
254
+ }
255
+ export function enforceSourceLimit(sources) {
256
+ const max = SEARCH_CONTRACT_LIMITS.maxSourcesPerSearch;
257
+ if (sources.length <= max)
258
+ return { kept: sources, truncated: false };
259
+ return { kept: sources.slice(0, max), truncated: true };
260
+ }
261
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/contracts/validators.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAIL,sBAAsB,EACtB,yBAAyB,GAS1B,MAAM,YAAY,CAAC;AAEpB,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,CACL,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;YAC7D,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAC7B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAAc;IAEd,OAAO,KAAK,KAAK,yBAAyB,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,KAAK;QACpB,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC;QACjC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAc;IAEd,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,CACL,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC;QACjC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;QAC9D,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;QAClE,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;QAC1D,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC7E,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,sBAAsB,CAAC,mBAAmB;QACjE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAEvC,OAAO,KAAK,CAAC;IACf,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAA4B,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7D,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,sBAAsB,GAAoC,IAAI,GAAG,CAAC;IACtE,gBAAgB;IAChB,YAAY;IACZ,SAAS;IACT,iBAAiB;IACjB,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,aAAa,CAAC,KAAK,CAAC;QACpB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,IAA0B,CAAC;QAC5D,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,CACrC,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,0BAA0B,CACxC,KAAc;IAEd,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB;QAChE,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,IACE,KAAK,CAAC,cAAc,KAAK,WAAW;QACpC,KAAK,CAAC,cAAc,KAAK,aAAa;QAEtC,OAAO,KAAK,CAAC;IACf,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,sBAAsB,CAAC,mBAAmB;QACjE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAE3C,OAAO,KAAK,CAAC;IACf,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,IACE,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9B,KAAK,CAAC,cAAc,KAAK,aAAa;YAEtC,OAAO,KAAK,CAAC;QACf,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC7D,OAAO,KAAK,CAAC;IACjB,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,KAAK,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC7D,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACnE,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAgC,EAAE,CAAC;QAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAc;IAEd,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;QAAE,OAAO,KAAK,CAAC;IACzE,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC;QAClC,KAAK,CAAC,WAAsB,IAAI,CAAC;QAClC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;QAChC,KAAK,CAAC,SAAoB,GAAI,KAAK,CAAC,WAAsB;QAC1D,KAAK,CAAC,SAAoB;YACzB,sBAAsB,CAAC,wBAAwB;QACjD,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAChC,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,6BAA6B,CAC3C,UAAiC,EACjC,IAAY;IAEZ,OAAO,qBAAqB,CAC1B,IAAI,EACJ,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,SAAS,CACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACxC,KAAK,CAAC,gBAA2B,GAAG,CAAC;QAEtC,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,wBAAwB;QAC1E,OAAO,KAAK,CAAC;IACf,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QACnC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAE5C,OAAO,KAAK,CAAC;IACf,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,aAAa,CAAC,MAAM;QAClE,OAAO,KAAK,CAAC;IACf,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,wBAAwB,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAA4C,IAAI,GAAG,CAAC;IACxE,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,yBAAyB;CAC1B,CAAC,CAAC;AAEH,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,CACL,aAAa,CAAC,KAAK,CAAC;QACpB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAkC,CAAC;QAC9D,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAClC,CAAC;AACJ,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,KAAc,EACd,UAAqC,EAAE;IAEvC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,qBAAqB;QAC3E,OAAO,KAAK,CAAC;IACf,MAAM,UAAU,GACd,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QACjC,KAAK,CAAC,WAAW,CAAC,MAAM;YACtB,sBAAsB,CAAC,yBAAyB;QAClD,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC;QAEjD,OAAO,KAAK,CAAC;IACf,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,CAAC,MAAM;QAClD,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAExC,OAAO,KAAK,CAAC;IACf,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QACnE,OAAO,KAAK,CAAC;IACf,IACE,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;YAChC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAEjD,OAAO,KAAK,CAAC;IACf,IACE,UAAU,KAAK,SAAS;QACxB,UAAU,GAAG,sBAAsB,CAAC,wBAAwB;QAC5D,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;YAC7B,CAAE,KAAK,CAAC,WAAgD,EAAE,IAAI,CAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CACpC,CAAC;QAEJ,OAAO,KAAK,CAAC;IAEf,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC7C,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpC,IACE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC9B,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC;gBAC1C,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC;gBAE7D,OAAO,KAAK,CAAC;YACf,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACrC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAsC,CAAC;IACjE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;YACzB,UAAU,CAAC,WAAW;YACtB,UAAU,CAAC,SAAS;YACpB,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;SAC5B,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACtC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,GAAG,UAAU;YAC/D,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAA6B,EAAE,CAAC;QAC1D,IACE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC1C,OAAO,CAAC,gBAAgB,IAAI,WAAW,CAAC,MAAM;YAE9C,OAAO,KAAK,CAAC;QACf,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;QACnE,IACE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;YAChC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC;YAC5C,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC;YAElE,OAAO,KAAK,CAAC;QACf,IACE,OAAO,CAAC,OAAO,KAAK,SAAS;YAC7B,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG;YAExC,OAAO,KAAK,CAAC;QACf,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACvC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,IAAI,sBAAsB,CAAC,iBAAiB,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAI,OAAY;IAIhD,MAAM,GAAG,GAAG,sBAAsB,CAAC,mBAAmB,CAAC;IACvD,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACtE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC1D,CAAC"}
package/dist/types.d.ts CHANGED
@@ -150,6 +150,16 @@ export interface BunnyAgentCodingRunBody {
150
150
  * Passed through to the runner; pi maps it to its native ThinkingLevel enum.
151
151
  */
152
152
  effort?: string;
153
+ /**
154
+ * Explicit opt-in to the versioned web search / answer citation contract
155
+ * (see `@bunny-agent/manager/contracts`). Absent means legacy text-only
156
+ * search behavior; `1` requests the structured retrieval envelope and
157
+ * Responses-shaped answer annotations. Request-scoped — never a
158
+ * process-global switch. Runners that do not support the requested
159
+ * version reject the request explicitly rather than silently falling
160
+ * back to legacy behavior.
161
+ */
162
+ searchContractVersion?: number;
153
163
  }
154
164
  /**
155
165
  * Represents a handle to an active sandbox instance
@@ -288,6 +298,11 @@ export interface RunnerSpec {
288
298
  yolo?: boolean;
289
299
  /** Reasoning effort / thinking level (e.g. "low", "medium", "high"). */
290
300
  effort?: string;
301
+ /**
302
+ * Explicit opt-in to the versioned web search / answer citation contract.
303
+ * See {@link BunnyAgentCodingRunBody.searchContractVersion}.
304
+ */
305
+ searchContractVersion?: number;
291
306
  }
292
307
  /**
293
308
  * Options for creating a BunnyAgent instance
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bunny-agent/manager",
3
- "version": "0.9.63-beta.2",
3
+ "version": "0.10.0-beta.3",
4
4
  "description": "BunnyAgent Manager - Manages sandbox and runner lifecycle, defines core interfaces",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -10,6 +10,22 @@
10
10
  ".": {
11
11
  "import": "./dist/index.js",
12
12
  "types": "./dist/index.d.ts"
13
+ },
14
+ "./citation-guidance": {
15
+ "import": "./dist/citation-guidance.js",
16
+ "types": "./dist/citation-guidance.d.ts"
17
+ },
18
+ "./contracts": {
19
+ "import": "./dist/contracts/index.js",
20
+ "types": "./dist/contracts/index.d.ts"
21
+ },
22
+ "./contracts/source-id": {
23
+ "import": "./dist/contracts/source-id.js",
24
+ "types": "./dist/contracts/source-id.d.ts"
25
+ },
26
+ "./contracts/record": {
27
+ "import": "./dist/contracts/record.js",
28
+ "types": "./dist/contracts/record.d.ts"
13
29
  }
14
30
  },
15
31
  "files": [