@bisibility/sdk 0.14.1 → 0.16.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/CHANGELOG.md +24 -0
- package/NOTICE +5 -0
- package/README.md +63 -6
- package/dist/ai-research-catalog.d.ts +39 -0
- package/dist/ai-research-catalog.d.ts.map +1 -0
- package/dist/ai-research-catalog.js +2 -0
- package/dist/ai-research-catalog.js.map +1 -0
- package/dist/ai-tracking-catalog-methods.d.ts +18 -0
- package/dist/ai-tracking-catalog-methods.d.ts.map +1 -0
- package/dist/ai-tracking-catalog-methods.js +49 -0
- package/dist/ai-tracking-catalog-methods.js.map +1 -0
- package/dist/ai-tracking-methods.d.ts +35 -0
- package/dist/ai-tracking-methods.d.ts.map +1 -0
- package/dist/ai-tracking-methods.js +15 -0
- package/dist/ai-tracking-methods.js.map +1 -0
- package/dist/ai-tracking-run-methods.d.ts +20 -0
- package/dist/ai-tracking-run-methods.d.ts.map +1 -0
- package/dist/ai-tracking-run-methods.js +59 -0
- package/dist/ai-tracking-run-methods.js.map +1 -0
- package/dist/ai-tracking-suggestion-methods.d.ts +9 -0
- package/dist/ai-tracking-suggestion-methods.d.ts.map +1 -0
- package/dist/ai-tracking-suggestion-methods.js +36 -0
- package/dist/ai-tracking-suggestion-methods.js.map +1 -0
- package/dist/ai-tracking-suggestions.d.ts +63 -0
- package/dist/ai-tracking-suggestions.d.ts.map +1 -0
- package/dist/ai-tracking-suggestions.js +2 -0
- package/dist/ai-tracking-suggestions.js.map +1 -0
- package/dist/ai-tracking-transport.d.ts +13 -0
- package/dist/ai-tracking-transport.d.ts.map +1 -0
- package/dist/ai-tracking-transport.js +57 -0
- package/dist/ai-tracking-transport.js.map +1 -0
- package/dist/ai-tracking-validation.d.ts +3 -0
- package/dist/ai-tracking-validation.d.ts.map +1 -0
- package/dist/ai-tracking-validation.js +46 -0
- package/dist/ai-tracking-validation.js.map +1 -0
- package/dist/ai-tracking.d.ts +273 -0
- package/dist/ai-tracking.d.ts.map +1 -0
- package/dist/ai-tracking.js +2 -0
- package/dist/ai-tracking.js.map +1 -0
- package/dist/client.d.ts +59 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +69 -7
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/public-id-contract.d.ts.map +1 -1
- package/dist/public-id-contract.js +81 -20
- package/dist/public-id-contract.js.map +1 -1
- package/dist/public-id.d.ts +1 -0
- package/dist/public-id.d.ts.map +1 -1
- package/dist/public-id.js +1 -0
- package/dist/public-id.js.map +1 -1
- package/dist/research-workspace.d.ts +173 -0
- package/dist/research-workspace.d.ts.map +1 -0
- package/dist/research-workspace.js +2 -0
- package/dist/research-workspace.js.map +1 -0
- package/dist/resources.d.ts +20 -0
- package/dist/resources.d.ts.map +1 -1
- package/dist/resources.js +25 -0
- package/dist/resources.js.map +1 -1
- package/dist/response-contract-data.d.ts +3 -0
- package/dist/response-contract-data.d.ts.map +1 -0
- package/dist/response-contract-data.js +462 -0
- package/dist/response-contract-data.js.map +1 -0
- package/dist/response-contract.d.ts +22 -0
- package/dist/response-contract.d.ts.map +1 -0
- package/dist/response-contract.js +45 -0
- package/dist/response-contract.js.map +1 -0
- package/dist/types.d.ts +65 -12
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +11 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## 0.16.0 - 2026-10-10
|
|
6
|
+
|
|
7
|
+
- Add typed project AI tracking operations for topics, immutable prompt revisions, schedules,
|
|
8
|
+
consented runs, samples, history, trends, evidence exports, and accepted suggestions.
|
|
9
|
+
- Add free AI research catalog reads and prompt comparison options for current models, web search,
|
|
10
|
+
locale hints, and explicitly acknowledged provider actual-cost mode.
|
|
11
|
+
- Add reviewed model suggestion preview and generation with a frozen preview, explicit paid consent,
|
|
12
|
+
and a stable idempotency UUID. Accepted edits retain trusted generation or provider dataset references.
|
|
13
|
+
- Preserve unknown costs and observation times as null, and expose optional evidence export
|
|
14
|
+
completeness and resume metadata.
|
|
15
|
+
- Preserved rank coverage, latest-check evidence and unavailable backlinks history in typed SDK responses.
|
|
16
|
+
- Stopped automatic retries of potentially paid requests, made AI tracking schedule updates partial with top-level consent, and typed trends baseline, category and strata.
|
|
17
|
+
|
|
18
|
+
## 0.15.0 - 2026-10-07
|
|
19
|
+
|
|
20
|
+
- Add typed project context, agent report, AI visibility, prompt comparison, and site audit operations.
|
|
21
|
+
- Wait for terminal queued rank checks and preserve per-attempt timeouts with caller cancellation signals.
|
|
22
|
+
- Validate successful JSON response envelopes and required value types for every SDK operation.
|
|
23
|
+
- Support cloud-import package versions 6 and 7, preserve ranking normalization metadata and
|
|
24
|
+
canonical location keys, and decode server-advertised compatibility versions independently.
|
|
25
|
+
- Include `NOTICE` in the npm package and update the product and request-source documentation.
|
|
26
|
+
|
|
3
27
|
## 0.14.1 - 2026-09-27
|
|
4
28
|
|
|
5
29
|
- Replaced the stale README version label with a link to the current package registry release.
|
package/NOTICE
ADDED
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @bisibility/sdk
|
|
2
2
|
|
|
3
|
-
> Part of [bisibility](https://github.com/CorgiCorner/bisibility) - open-source
|
|
4
|
-
>
|
|
3
|
+
> Part of [bisibility](https://github.com/CorgiCorner/bisibility) - an open-source SEO
|
|
4
|
+
> platform you can self-host and automate. This repository contains the TypeScript
|
|
5
5
|
> SDK for the Bisibility REST API.
|
|
6
6
|
>
|
|
7
7
|
> [Docs](https://bisibility.com/docs) ·
|
|
@@ -112,7 +112,7 @@ Custom `fetch` implementations should preserve that behavior.
|
|
|
112
112
|
Requests identify the package with `X-Bisibility-Client: bisibility-sdk-ts/<version>` and, where
|
|
113
113
|
the runtime permits, the same value as `User-Agent`. Every request also declares its origin with
|
|
114
114
|
`X-Bisibility-Source: sdk` for usage reporting; pass a different value through the `headers`
|
|
115
|
-
config option
|
|
115
|
+
config option. Inputs mirror JSON wire names, so payload
|
|
116
116
|
fields use snake_case (for example `tracking_scope` and `expires_in_days`). SDK-only configuration
|
|
117
117
|
and request options remain camelCase.
|
|
118
118
|
|
|
@@ -131,7 +131,8 @@ await bisibility.projects.list({
|
|
|
131
131
|
});
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
Without an explicit timeout
|
|
134
|
+
Without an explicit timeout, every attempt has a 30-second timeout, including requests with a caller
|
|
135
|
+
cancellation signal. Set `timeout: null`
|
|
135
136
|
on the client or an individual request to opt out.
|
|
136
137
|
|
|
137
138
|
### API version compatibility
|
|
@@ -143,6 +144,11 @@ does not serve `v1` fails with `BisibilityApiVersionError` before the requested
|
|
|
143
144
|
Older servers whose capabilities response has no `apiVersions` field remain compatible, and the
|
|
144
145
|
original request continues normally.
|
|
145
146
|
|
|
147
|
+
Successful JSON responses are checked against each operation's required envelope and value types.
|
|
148
|
+
Malformed JSON, missing required fields, and incompatible values throw `BisibilityResponseError`.
|
|
149
|
+
Additional server fields remain compatible. Only keyword deletion permits an empty JSON response;
|
|
150
|
+
text endpoints and CSV exports use their documented text decoder.
|
|
151
|
+
|
|
146
152
|
## Public resource IDs
|
|
147
153
|
|
|
148
154
|
Every resource identifier accepted or returned by the SDK uses the current typed public ID format.
|
|
@@ -157,8 +163,13 @@ before sending a request. `PUBLIC_ID_PREFIXES`,
|
|
|
157
163
|
and `WebhookId` are exported for callers that build typed integrations.
|
|
158
164
|
|
|
159
165
|
Locations are identified by `location_key`; they do not expose a location ID.
|
|
160
|
-
Cloud import
|
|
161
|
-
|
|
166
|
+
Cloud import supports current version 7 and previous version 6 export packages. Version 7 keywords
|
|
167
|
+
carry a canonical `location_key`; both versions preserve explicit ranking normalization, provider,
|
|
168
|
+
and requested-depth metadata. Version 5 is retained only for metadata packages with no ranking
|
|
169
|
+
history; session creation accepts versions 7 and 6. Compatibility discovery returns the positive
|
|
170
|
+
integer versions advertised by the server, including versions newer than this SDK can import.
|
|
171
|
+
Pagination cursors are opaque SDK values; v3 API cursors returned by the server must be passed back
|
|
172
|
+
unchanged.
|
|
162
173
|
|
|
163
174
|
## Resource namespaces
|
|
164
175
|
|
|
@@ -171,6 +182,11 @@ compatibility delegates until 1.0.
|
|
|
171
182
|
| `pricing` | `getRates`, `estimate` |
|
|
172
183
|
| `locations` | `search` |
|
|
173
184
|
| `account` | `get`, `update`, plus `tokens.list`, `tokens.create`, `tokens.revoke` |
|
|
185
|
+
| `projectContext` | `get`, `update` |
|
|
186
|
+
| `agentReports` | `list`, `create`, `get` |
|
|
187
|
+
| `aiVisibility` | `analyze` |
|
|
188
|
+
| `promptExplorer` | `compare` |
|
|
189
|
+
| `siteAudits` | `list`, `run`, `get` |
|
|
174
190
|
| `projects` | `list`, `create`, `get`, `update`, `delete`, `getDefaults`, `updateDefaults` |
|
|
175
191
|
| `apiKeys` | `list`, `iterate`, `create`, `revoke` |
|
|
176
192
|
| `webhooks` | `list`, `iterate`, `create`, `update`, `delete` |
|
|
@@ -493,3 +509,44 @@ const report = await client.researchReports.get(projectId, "keyword_research", {
|
|
|
493
509
|
const budgets = await client.providers.budgets.list(projectId);
|
|
494
510
|
await client.providers.budgets.update(projectId, "dataforseo", { own: { app: null }, credits: { programmatic: { amount_per_month: 500, unit: "cents" } } });
|
|
495
511
|
```
|
|
512
|
+
|
|
513
|
+
## AI tracking
|
|
514
|
+
|
|
515
|
+
AI tracking methods manage project topics, immutable prompt revisions, disabled-by-default
|
|
516
|
+
schedules, runs, samples, history, comparable trends, evidence exports, and editable prompt
|
|
517
|
+
suggestions. Tracking resource IDs use `ait_`, `aip_`, `apr_`, `ais_`, `air_`, and `asm_`.
|
|
518
|
+
Preview before launching paid work, pass the preview credential/budget/consent revisions, and
|
|
519
|
+
provide explicit consent plus an `Idempotency-Key` for launch or retry. Preview never submits a
|
|
520
|
+
provider task. Preserve the returned decimal USD strings, null amounts, unknown measurement
|
|
521
|
+
states, original observation times, and cited sources. Model API tests and consumer observations
|
|
522
|
+
remain distinct evidence sources.
|
|
523
|
+
|
|
524
|
+
The free AI research catalog supplies current model and locale choices. Prompt comparison
|
|
525
|
+
supports hard caps and explicitly consented provider actual-cost mode. Actual-cost mode requires
|
|
526
|
+
`non_guaranteed_estimate_v1` acknowledgement and an advisory estimate limit; execution also
|
|
527
|
+
requires the estimate credential reference and a stable UUID. An advisory limit is not a
|
|
528
|
+
guaranteed maximum charge.
|
|
529
|
+
|
|
530
|
+
Model prompt generation uses `aiTrackingSuggestionsPreview` followed by
|
|
531
|
+
`aiTrackingSuggestionsGenerate`. Review the complete context, selected competitors, model and
|
|
532
|
+
market before generation; the full serialized snapshot must fit within 5000 Unicode characters.
|
|
533
|
+
Generation requires the complete unexpired preview, explicit paid consent and a stable UUID
|
|
534
|
+
`idempotencyKey`. Forecasts are not guaranteed maximum costs. Accepted edits retain
|
|
535
|
+
`generation_reference: { generation_id, draft_id }`; provider dataset acceptance uses a verified
|
|
536
|
+
`provider_dataset_reference: { report_id, row_index }`. Generated popularity remains null.
|
|
537
|
+
|
|
538
|
+
These additions are unreleased. Tracking and catalog calls require a compatible application API;
|
|
539
|
+
a compatible SDK release must precede the registry-dependent MCP release.
|
|
540
|
+
|
|
541
|
+
## Response evidence compatibility
|
|
542
|
+
|
|
543
|
+
Rank checks expose optional `observation_completeness`, and keywords expose optional
|
|
544
|
+
`latest_check` and `latest_successful_check`. Older responses can omit these fields.
|
|
545
|
+
Only complete coverage supports absence within the requested depth; a positive position
|
|
546
|
+
remains valid with unknown or truncated coverage. A newer failure retains the prior success.
|
|
547
|
+
|
|
548
|
+
Site backlinks normally have 12 history months. A successful partial snapshot has
|
|
549
|
+
`history: []` and `history_unavailable: true`; preserve its summary, rows and confirmed cost.
|
|
550
|
+
Page scope does not request history. Missing availability metadata uses the legacy default.
|
|
551
|
+
A failed summary remains an HTTP error with current-response evidence in problem `details`:
|
|
552
|
+
`cost_cents: null` is an unknown total, while `known_summary_cost_cents` is confirmed.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** Free provider capability discovery; model identifiers come from the current catalog. */
|
|
2
|
+
export interface AiResearchCatalog {
|
|
3
|
+
models: Array<{
|
|
4
|
+
id: string;
|
|
5
|
+
provider: "chat_gpt";
|
|
6
|
+
label: string;
|
|
7
|
+
reasoning: boolean;
|
|
8
|
+
web_search: boolean;
|
|
9
|
+
min_output_tokens: number;
|
|
10
|
+
max_output_tokens: number;
|
|
11
|
+
price_available: boolean;
|
|
12
|
+
admission_enabled: boolean;
|
|
13
|
+
actual_cost_enabled: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
visibility_markets: Array<{
|
|
16
|
+
platform: "chat_gpt" | "google";
|
|
17
|
+
location_code: number;
|
|
18
|
+
country_name: string;
|
|
19
|
+
languages: Array<{
|
|
20
|
+
code: string;
|
|
21
|
+
name: string;
|
|
22
|
+
}>;
|
|
23
|
+
}>;
|
|
24
|
+
response_countries: Array<{
|
|
25
|
+
code: string;
|
|
26
|
+
name: string;
|
|
27
|
+
}>;
|
|
28
|
+
response_languages: Array<{
|
|
29
|
+
code: string;
|
|
30
|
+
name: string;
|
|
31
|
+
}>;
|
|
32
|
+
limits: {
|
|
33
|
+
max_models: 2;
|
|
34
|
+
max_output_tokens: 4096;
|
|
35
|
+
};
|
|
36
|
+
fetched_at: string;
|
|
37
|
+
actual_cost_available?: boolean;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=ai-research-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-research-catalog.d.ts","sourceRoot":"","sources":["../src/ai-research-catalog.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,UAAU,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,OAAO,CAAC;QACzB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,mBAAmB,EAAE,OAAO,CAAC;KAC9B,CAAC,CAAC;IACH,kBAAkB,EAAE,KAAK,CAAC;QACxB,QAAQ,EAAE,UAAU,GAAG,QAAQ,CAAC;QAChC,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClD,CAAC,CAAC;IACH,kBAAkB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,kBAAkB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,MAAM,EAAE;QAAE,UAAU,EAAE,CAAC,CAAC;QAAC,iBAAiB,EAAE,IAAI,CAAA;KAAE,CAAC;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-research-catalog.js","sourceRoot":"","sources":["../src/ai-research-catalog.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AiTrackingPrompt, AiTrackingPromptId, AiTrackingPromptInput, AiTrackingSchedule, AiTrackingScheduleId, AiTrackingScheduleInput, AiTrackingSchedulePatch, AiTrackingTopic, AiTrackingTopicId, AiTrackingTopicInput } from "./ai-tracking.js";
|
|
2
|
+
import type { DataResponse, ListResponse, PaginationOptions, ProjectId, RequestOptions } from "./types.js";
|
|
3
|
+
import { type TrackingTransport } from "./ai-tracking-transport.js";
|
|
4
|
+
export declare function createAiTrackingCatalogMethods(transport: TrackingTransport): {
|
|
5
|
+
listAiTrackingTopics(projectId: ProjectId, input?: PaginationOptions, options?: RequestOptions): Promise<ListResponse<AiTrackingTopic>>;
|
|
6
|
+
createAiTrackingTopic(projectId: ProjectId, input: AiTrackingTopicInput, options?: RequestOptions): Promise<DataResponse<AiTrackingTopic>>;
|
|
7
|
+
updateAiTrackingTopic(projectId: ProjectId, id: AiTrackingTopicId, input: Partial<AiTrackingTopicInput>, options?: RequestOptions): Promise<DataResponse<AiTrackingTopic>>;
|
|
8
|
+
archiveAiTrackingTopic(projectId: ProjectId, id: AiTrackingTopicId, options?: RequestOptions): Promise<DataResponse<AiTrackingTopic>>;
|
|
9
|
+
listAiTrackingPrompts(projectId: ProjectId, input?: PaginationOptions, options?: RequestOptions): Promise<ListResponse<AiTrackingPrompt>>;
|
|
10
|
+
createAiTrackingPrompt(projectId: ProjectId, input: AiTrackingPromptInput, options?: RequestOptions): Promise<DataResponse<AiTrackingPrompt>>;
|
|
11
|
+
updateAiTrackingPrompt(projectId: ProjectId, id: AiTrackingPromptId, input: Partial<AiTrackingPromptInput>, options?: RequestOptions): Promise<DataResponse<AiTrackingPrompt>>;
|
|
12
|
+
archiveAiTrackingPrompt(projectId: ProjectId, id: AiTrackingPromptId, options?: RequestOptions): Promise<DataResponse<AiTrackingPrompt>>;
|
|
13
|
+
listAiTrackingSchedules(projectId: ProjectId, input?: PaginationOptions, options?: RequestOptions): Promise<ListResponse<AiTrackingSchedule>>;
|
|
14
|
+
createAiTrackingSchedule(projectId: ProjectId, input: AiTrackingScheduleInput, options?: RequestOptions): Promise<DataResponse<AiTrackingSchedule>>;
|
|
15
|
+
updateAiTrackingSchedule(projectId: ProjectId, id: AiTrackingScheduleId, input: AiTrackingSchedulePatch, options?: RequestOptions): Promise<DataResponse<AiTrackingSchedule>>;
|
|
16
|
+
archiveAiTrackingSchedule(projectId: ProjectId, id: AiTrackingScheduleId, options?: RequestOptions): Promise<DataResponse<AiTrackingSchedule>>;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=ai-tracking-catalog-methods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tracking-catalog-methods.d.ts","sourceRoot":"","sources":["../src/ai-tracking-catalog-methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAMV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EAKrB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EAEvB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EAGrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,4BAA4B,CAAC;AAEpC,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,iBAAiB;oCAG1D,SAAS,UACb,iBAAiB,YACd,cAAc;qCASb,SAAS,SACb,oBAAoB,YACjB,cAAc;qCAUb,SAAS,MAChB,iBAAiB,SACd,OAAO,CAAC,oBAAoB,CAAC,YAC1B,cAAc;sCASQ,SAAS,MAAM,iBAAiB,YAAY,cAAc;qCAQ/E,SAAS,UACb,iBAAiB,YACd,cAAc;sCASb,SAAS,SACb,qBAAqB,YAClB,cAAc;sCAUb,SAAS,MAChB,kBAAkB,SACf,OAAO,CAAC,qBAAqB,CAAC,YAC3B,cAAc;uCAUb,SAAS,MAChB,kBAAkB,YACZ,cAAc;uCASb,SAAS,UACb,iBAAiB,YACd,cAAc;wCASb,SAAS,SACb,uBAAuB,YACpB,cAAc;wCAUb,SAAS,MAChB,oBAAoB,SACjB,uBAAuB,YACpB,cAAc;yCAUb,SAAS,MAChB,oBAAoB,YACd,cAAc;EAS7B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { BisibilityConfigurationError } from "./errors.js";
|
|
2
|
+
import { trackingId, validateTrackingInput, } from "./ai-tracking-transport.js";
|
|
3
|
+
export function createAiTrackingCatalogMethods(transport) {
|
|
4
|
+
return {
|
|
5
|
+
listAiTrackingTopics(projectId, input = {}, options) {
|
|
6
|
+
return transport.request("GET", `/projects/${trackingId(projectId, "prj")}/ai-tracking/topics`, { ...options, query: { ...input } });
|
|
7
|
+
},
|
|
8
|
+
createAiTrackingTopic(projectId, input, options) {
|
|
9
|
+
validateTrackingInput(input);
|
|
10
|
+
return transport.request("POST", `/projects/${trackingId(projectId, "prj")}/ai-tracking/topics`, { ...options, body: input });
|
|
11
|
+
},
|
|
12
|
+
updateAiTrackingTopic(projectId, id, input, options) {
|
|
13
|
+
validateTrackingInput(input);
|
|
14
|
+
return transport.request("PATCH", `/projects/${trackingId(projectId, "prj")}/ai-tracking/topics/${trackingId(id, "ait")}`, { ...options, body: input });
|
|
15
|
+
},
|
|
16
|
+
archiveAiTrackingTopic(projectId, id, options) {
|
|
17
|
+
return transport.request("DELETE", `/projects/${trackingId(projectId, "prj")}/ai-tracking/topics/${trackingId(id, "ait")}`, { ...options });
|
|
18
|
+
},
|
|
19
|
+
listAiTrackingPrompts(projectId, input = {}, options) {
|
|
20
|
+
return transport.request("GET", `/projects/${trackingId(projectId, "prj")}/ai-tracking/prompts`, { ...options, query: { ...input } });
|
|
21
|
+
},
|
|
22
|
+
createAiTrackingPrompt(projectId, input, options) {
|
|
23
|
+
validateTrackingInput(input);
|
|
24
|
+
return transport.request("POST", `/projects/${trackingId(projectId, "prj")}/ai-tracking/prompts`, { ...options, body: input });
|
|
25
|
+
},
|
|
26
|
+
updateAiTrackingPrompt(projectId, id, input, options) {
|
|
27
|
+
validateTrackingInput(input);
|
|
28
|
+
return transport.request("PATCH", `/projects/${trackingId(projectId, "prj")}/ai-tracking/prompts/${trackingId(id, "aip")}`, { ...options, body: input });
|
|
29
|
+
},
|
|
30
|
+
archiveAiTrackingPrompt(projectId, id, options) {
|
|
31
|
+
return transport.request("DELETE", `/projects/${trackingId(projectId, "prj")}/ai-tracking/prompts/${trackingId(id, "aip")}`, { ...options });
|
|
32
|
+
},
|
|
33
|
+
listAiTrackingSchedules(projectId, input = {}, options) {
|
|
34
|
+
return transport.request("GET", `/projects/${trackingId(projectId, "prj")}/ai-tracking/schedules`, { ...options, query: { ...input } });
|
|
35
|
+
},
|
|
36
|
+
createAiTrackingSchedule(projectId, input, options) {
|
|
37
|
+
validateTrackingInput(input);
|
|
38
|
+
return transport.request("POST", `/projects/${trackingId(projectId, "prj")}/ai-tracking/schedules`, { ...options, body: input });
|
|
39
|
+
},
|
|
40
|
+
updateAiTrackingSchedule(projectId, id, input, options) {
|
|
41
|
+
validateTrackingInput(input);
|
|
42
|
+
return transport.request("PATCH", `/projects/${trackingId(projectId, "prj")}/ai-tracking/schedules/${trackingId(id, "ais")}`, { ...options, body: input });
|
|
43
|
+
},
|
|
44
|
+
archiveAiTrackingSchedule(projectId, id, options) {
|
|
45
|
+
return transport.request("DELETE", `/projects/${trackingId(projectId, "prj")}/ai-tracking/schedules/${trackingId(id, "ais")}`, { ...options });
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=ai-tracking-catalog-methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tracking-catalog-methods.js","sourceRoot":"","sources":["../src/ai-tracking-catalog-methods.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { TrackingTransport } from "./ai-tracking-transport.js";
|
|
2
|
+
import type { BisibilityClient } from "./client.js";
|
|
3
|
+
export declare function createAiTrackingMethods(transport: TrackingTransport): {
|
|
4
|
+
aiTrackingSuggestionsPreview(projectId: import("./types.js").ProjectId, input: import("./ai-tracking-suggestions.js").AiTrackingSuggestionsPreviewInput, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking-suggestions.js").AiTrackingSuggestionsPreview>>;
|
|
5
|
+
aiTrackingSuggestionsGenerate(projectId: import("./types.js").ProjectId, input: import("./ai-tracking-suggestions.js").AiTrackingSuggestionsGenerateInput, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking-suggestions.js").AiTrackingSuggestionsGeneration>>;
|
|
6
|
+
previewAiTrackingRun(projectId: import("./types.js").ProjectId, input: import("./ai-tracking.js").AiTrackingPreviewInput, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingPreview>>;
|
|
7
|
+
createAiTrackingRun(projectId: import("./types.js").ProjectId, input: import("./ai-tracking.js").AiTrackingRunInput, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingRun>>;
|
|
8
|
+
listAiTrackingRuns(projectId: import("./types.js").ProjectId, input?: import("./types.js").PaginationOptions, options?: import("./types.js").RequestOptions): Promise<import("./types.js").ListResponse<import("./ai-tracking.js").AiTrackingRun>>;
|
|
9
|
+
getAiTrackingRun(projectId: import("./types.js").ProjectId, id: import("./ai-tracking.js").AiTrackingRunId, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingRun>>;
|
|
10
|
+
listAiTrackingSamples(projectId: import("./types.js").ProjectId, id: import("./ai-tracking.js").AiTrackingRunId, input?: import("./types.js").PaginationOptions, options?: import("./types.js").RequestOptions): Promise<import("./types.js").ListResponse<import("./ai-tracking.js").AiTrackingSample>>;
|
|
11
|
+
cancelAiTrackingRun(projectId: import("./types.js").ProjectId, id: import("./ai-tracking.js").AiTrackingRunId, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingRun>>;
|
|
12
|
+
retryAiTrackingRun(projectId: import("./types.js").ProjectId, id: import("./ai-tracking.js").AiTrackingRunId, input: import("./ai-tracking.js").AiTrackingRunInput, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingRun>>;
|
|
13
|
+
getAiTrackingHistory(projectId: import("./types.js").ProjectId, input?: import("./types.js").PaginationOptions, options?: import("./types.js").RequestOptions): Promise<import("./types.js").ListResponse<import("./ai-tracking.js").AiTrackingRun>>;
|
|
14
|
+
getAiTrackingTrends(projectId: import("./types.js").ProjectId, input: import("./ai-tracking.js").AiTrackingTrendOptions, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingTrends>>;
|
|
15
|
+
exportAiTrackingEvidence(projectId: import("./types.js").ProjectId, input: import("./ai-tracking.js").AiTrackingEvidenceOptions, options?: import("./types.js").RequestOptions): Promise<string | import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingExport>>;
|
|
16
|
+
suggestAiTrackingPrompts(projectId: import("./types.js").ProjectId, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingSuggestions>>;
|
|
17
|
+
acceptAiTrackingSuggestions(projectId: import("./types.js").ProjectId, input: import("./ai-tracking.js").AiTrackingAcceptanceInput, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<{
|
|
18
|
+
prompts: import("./ai-tracking.js").AiTrackingPrompt[];
|
|
19
|
+
}>>;
|
|
20
|
+
listAiTrackingTopics(projectId: import("./types.js").ProjectId, input?: import("./types.js").PaginationOptions, options?: import("./types.js").RequestOptions): Promise<import("./types.js").ListResponse<import("./ai-tracking.js").AiTrackingTopic>>;
|
|
21
|
+
createAiTrackingTopic(projectId: import("./types.js").ProjectId, input: import("./ai-tracking.js").AiTrackingTopicInput, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingTopic>>;
|
|
22
|
+
updateAiTrackingTopic(projectId: import("./types.js").ProjectId, id: import("./ai-tracking.js").AiTrackingTopicId, input: Partial<import("./ai-tracking.js").AiTrackingTopicInput>, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingTopic>>;
|
|
23
|
+
archiveAiTrackingTopic(projectId: import("./types.js").ProjectId, id: import("./ai-tracking.js").AiTrackingTopicId, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingTopic>>;
|
|
24
|
+
listAiTrackingPrompts(projectId: import("./types.js").ProjectId, input?: import("./types.js").PaginationOptions, options?: import("./types.js").RequestOptions): Promise<import("./types.js").ListResponse<import("./ai-tracking.js").AiTrackingPrompt>>;
|
|
25
|
+
createAiTrackingPrompt(projectId: import("./types.js").ProjectId, input: import("./ai-tracking.js").AiTrackingPromptInput, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingPrompt>>;
|
|
26
|
+
updateAiTrackingPrompt(projectId: import("./types.js").ProjectId, id: import("./ai-tracking.js").AiTrackingPromptId, input: Partial<import("./ai-tracking.js").AiTrackingPromptInput>, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingPrompt>>;
|
|
27
|
+
archiveAiTrackingPrompt(projectId: import("./types.js").ProjectId, id: import("./ai-tracking.js").AiTrackingPromptId, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingPrompt>>;
|
|
28
|
+
listAiTrackingSchedules(projectId: import("./types.js").ProjectId, input?: import("./types.js").PaginationOptions, options?: import("./types.js").RequestOptions): Promise<import("./types.js").ListResponse<import("./ai-tracking.js").AiTrackingSchedule>>;
|
|
29
|
+
createAiTrackingSchedule(projectId: import("./types.js").ProjectId, input: import("./ai-tracking.js").AiTrackingScheduleInput, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingSchedule>>;
|
|
30
|
+
updateAiTrackingSchedule(projectId: import("./types.js").ProjectId, id: import("./ai-tracking.js").AiTrackingScheduleId, input: import("./ai-tracking.js").AiTrackingSchedulePatch, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingSchedule>>;
|
|
31
|
+
archiveAiTrackingSchedule(projectId: import("./types.js").ProjectId, id: import("./ai-tracking.js").AiTrackingScheduleId, options?: import("./types.js").RequestOptions): Promise<import("./types.js").DataResponse<import("./ai-tracking.js").AiTrackingSchedule>>;
|
|
32
|
+
};
|
|
33
|
+
export type AiTrackingMethods = ReturnType<typeof createAiTrackingMethods>;
|
|
34
|
+
export declare function installAiTrackingMethods(client: BisibilityClient, transport: TrackingTransport): void;
|
|
35
|
+
//# sourceMappingURL=ai-tracking-methods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tracking-methods.d.ts","sourceRoot":"","sources":["../src/ai-tracking-methods.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMnE;AACD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC3E,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,QAG9F"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createAiTrackingCatalogMethods } from "./ai-tracking-catalog-methods.js";
|
|
2
|
+
import { createAiTrackingRunMethods } from "./ai-tracking-run-methods.js";
|
|
3
|
+
import { createAiTrackingSuggestionMethods } from "./ai-tracking-suggestion-methods.js";
|
|
4
|
+
export function createAiTrackingMethods(transport) {
|
|
5
|
+
return {
|
|
6
|
+
...createAiTrackingCatalogMethods(transport),
|
|
7
|
+
...createAiTrackingRunMethods(transport),
|
|
8
|
+
...createAiTrackingSuggestionMethods(transport),
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export function installAiTrackingMethods(client, transport) {
|
|
12
|
+
for (const [name, method] of Object.entries(createAiTrackingMethods(transport)))
|
|
13
|
+
Object.defineProperty(client, name, { value: method, configurable: false, enumerable: false });
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ai-tracking-methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tracking-methods.js","sourceRoot":"","sources":["../src/ai-tracking-methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAIxF,MAAM,UAAU,uBAAuB,CAAC,SAA4B;IAClE,OAAO;QACL,GAAG,8BAA8B,CAAC,SAAS,CAAC;QAC5C,GAAG,0BAA0B,CAAC,SAAS,CAAC;QACxC,GAAG,iCAAiC,CAAC,SAAS,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAwB,EAAE,SAA4B;IAC7F,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAC7E,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACnG,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AiTrackingAcceptanceInput, AiTrackingEvidenceOptions, AiTrackingExport, AiTrackingPreview, AiTrackingPreviewInput, AiTrackingPrompt, AiTrackingRun, AiTrackingRunId, AiTrackingRunInput, AiTrackingSample, AiTrackingSuggestions, AiTrackingTrendOptions, AiTrackingTrends } from "./ai-tracking.js";
|
|
2
|
+
import type { DataResponse, ListResponse, PaginationOptions, ProjectId, RequestOptions } from "./types.js";
|
|
3
|
+
import { type TrackingTransport } from "./ai-tracking-transport.js";
|
|
4
|
+
export declare function createAiTrackingRunMethods(transport: TrackingTransport): {
|
|
5
|
+
previewAiTrackingRun(projectId: ProjectId, input: AiTrackingPreviewInput, options?: RequestOptions): Promise<DataResponse<AiTrackingPreview>>;
|
|
6
|
+
createAiTrackingRun(projectId: ProjectId, input: AiTrackingRunInput, options?: RequestOptions): Promise<DataResponse<AiTrackingRun>>;
|
|
7
|
+
listAiTrackingRuns(projectId: ProjectId, input?: PaginationOptions, options?: RequestOptions): Promise<ListResponse<AiTrackingRun>>;
|
|
8
|
+
getAiTrackingRun(projectId: ProjectId, id: AiTrackingRunId, options?: RequestOptions): Promise<DataResponse<AiTrackingRun>>;
|
|
9
|
+
listAiTrackingSamples(projectId: ProjectId, id: AiTrackingRunId, input?: PaginationOptions, options?: RequestOptions): Promise<ListResponse<AiTrackingSample>>;
|
|
10
|
+
cancelAiTrackingRun(projectId: ProjectId, id: AiTrackingRunId, options?: RequestOptions): Promise<DataResponse<AiTrackingRun>>;
|
|
11
|
+
retryAiTrackingRun(projectId: ProjectId, id: AiTrackingRunId, input: AiTrackingRunInput, options?: RequestOptions): Promise<DataResponse<AiTrackingRun>>;
|
|
12
|
+
getAiTrackingHistory(projectId: ProjectId, input?: PaginationOptions, options?: RequestOptions): Promise<ListResponse<AiTrackingRun>>;
|
|
13
|
+
getAiTrackingTrends(projectId: ProjectId, input: AiTrackingTrendOptions, options?: RequestOptions): Promise<DataResponse<AiTrackingTrends>>;
|
|
14
|
+
exportAiTrackingEvidence(projectId: ProjectId, input: AiTrackingEvidenceOptions, options?: RequestOptions): Promise<string | DataResponse<AiTrackingExport>>;
|
|
15
|
+
suggestAiTrackingPrompts(projectId: ProjectId, options?: RequestOptions): Promise<DataResponse<AiTrackingSuggestions>>;
|
|
16
|
+
acceptAiTrackingSuggestions(projectId: ProjectId, input: AiTrackingAcceptanceInput, options?: RequestOptions): Promise<DataResponse<{
|
|
17
|
+
prompts: AiTrackingPrompt[];
|
|
18
|
+
}>>;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=ai-tracking-run-methods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tracking-run-methods.d.ts","sourceRoot":"","sources":["../src/ai-tracking-run-methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAGhB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAIhB,qBAAqB,EAIrB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,4BAA4B,CAAC;AAEpC,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,iBAAiB;oCAGtD,SAAS,SACb,sBAAsB,YACnB,cAAc;mCASK,SAAS,SAAS,kBAAkB,YAAY,cAAc;kCAahF,SAAS,UACb,iBAAiB,YACd,cAAc;gCAQE,SAAS,MAAM,eAAe,YAAY,cAAc;qCAQvE,SAAS,MAChB,eAAe,UACZ,iBAAiB,YACd,cAAc;mCAQK,SAAS,MAAM,eAAe,YAAY,cAAc;kCAQ1E,SAAS,MAChB,eAAe,SACZ,kBAAkB,YACf,cAAc;oCAcb,SAAS,UACb,iBAAiB,YACd,cAAc;mCASb,SAAS,SACb,sBAAsB,YACnB,cAAc;wCAWb,SAAS,SACb,yBAAyB,YACtB,cAAc;wCASU,SAAS,YAAY,cAAc;2CAQ1D,SAAS,SACb,yBAAyB,YACtB,cAAc;iBAGyB,gBAAgB,EAAE;;EAOxE"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { BisibilityConfigurationError } from "./errors.js";
|
|
2
|
+
import { trackingId, validateTrackingInput, } from "./ai-tracking-transport.js";
|
|
3
|
+
export function createAiTrackingRunMethods(transport) {
|
|
4
|
+
return {
|
|
5
|
+
previewAiTrackingRun(projectId, input, options) {
|
|
6
|
+
validateTrackingInput(input);
|
|
7
|
+
return transport.request("POST", `/projects/${trackingId(projectId, "prj")}/ai-tracking/runs/preview`, { ...options, body: input });
|
|
8
|
+
},
|
|
9
|
+
createAiTrackingRun(projectId, input, options) {
|
|
10
|
+
validateTrackingInput(input);
|
|
11
|
+
if (input.consent !== true)
|
|
12
|
+
throw new BisibilityConfigurationError("Explicit tracking consent is required.");
|
|
13
|
+
if (!options?.idempotencyKey)
|
|
14
|
+
throw new BisibilityConfigurationError("Idempotency-Key is required for tracking launch.");
|
|
15
|
+
return transport.request("POST", `/projects/${trackingId(projectId, "prj")}/ai-tracking/runs`, { ...options, body: input });
|
|
16
|
+
},
|
|
17
|
+
listAiTrackingRuns(projectId, input = {}, options) {
|
|
18
|
+
return transport.request("GET", `/projects/${trackingId(projectId, "prj")}/ai-tracking/runs`, { ...options, query: { ...input } });
|
|
19
|
+
},
|
|
20
|
+
getAiTrackingRun(projectId, id, options) {
|
|
21
|
+
return transport.request("GET", `/projects/${trackingId(projectId, "prj")}/ai-tracking/runs/${trackingId(id, "air")}`, { ...options });
|
|
22
|
+
},
|
|
23
|
+
listAiTrackingSamples(projectId, id, input = {}, options) {
|
|
24
|
+
return transport.request("GET", `/projects/${trackingId(projectId, "prj")}/ai-tracking/runs/${trackingId(id, "air")}/samples`, { ...options, query: { ...input } });
|
|
25
|
+
},
|
|
26
|
+
cancelAiTrackingRun(projectId, id, options) {
|
|
27
|
+
return transport.request("POST", `/projects/${trackingId(projectId, "prj")}/ai-tracking/runs/${trackingId(id, "air")}/cancel`, { ...options });
|
|
28
|
+
},
|
|
29
|
+
retryAiTrackingRun(projectId, id, input, options) {
|
|
30
|
+
validateTrackingInput(input);
|
|
31
|
+
if (input.consent !== true)
|
|
32
|
+
throw new BisibilityConfigurationError("Explicit tracking consent is required.");
|
|
33
|
+
if (!options?.idempotencyKey)
|
|
34
|
+
throw new BisibilityConfigurationError("Idempotency-Key is required for tracking retry.");
|
|
35
|
+
return transport.request("POST", `/projects/${trackingId(projectId, "prj")}/ai-tracking/runs/${trackingId(id, "air")}/retry`, { ...options, body: input });
|
|
36
|
+
},
|
|
37
|
+
getAiTrackingHistory(projectId, input = {}, options) {
|
|
38
|
+
return transport.request("GET", `/projects/${trackingId(projectId, "prj")}/ai-tracking/history`, { ...options, query: { ...input } });
|
|
39
|
+
},
|
|
40
|
+
getAiTrackingTrends(projectId, input, options) {
|
|
41
|
+
trackingId(input.run_id, "air");
|
|
42
|
+
if (input.previous_run_id)
|
|
43
|
+
trackingId(input.previous_run_id, "air");
|
|
44
|
+
return transport.request("GET", `/projects/${trackingId(projectId, "prj")}/ai-tracking/trends`, { ...options, query: { ...input } });
|
|
45
|
+
},
|
|
46
|
+
exportAiTrackingEvidence(projectId, input, options) {
|
|
47
|
+
trackingId(input.run_id, "air");
|
|
48
|
+
return transport.request("GET", `/projects/${trackingId(projectId, "prj")}/ai-tracking/export`, { ...options, query: { ...input }, parseAs: input.format === "csv" ? "text" : "json" });
|
|
49
|
+
},
|
|
50
|
+
suggestAiTrackingPrompts(projectId, options) {
|
|
51
|
+
return transport.request("POST", `/projects/${trackingId(projectId, "prj")}/ai-tracking/suggestions`, { ...options, body: {} });
|
|
52
|
+
},
|
|
53
|
+
acceptAiTrackingSuggestions(projectId, input, options) {
|
|
54
|
+
validateTrackingInput(input);
|
|
55
|
+
return transport.request("POST", `/projects/${trackingId(projectId, "prj")}/ai-tracking/suggestions/accept`, { ...options, body: input });
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=ai-tracking-run-methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tracking-run-methods.js","sourceRoot":"","sources":["../src/ai-tracking-run-methods.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AiTrackingSuggestionSnapshot, AiTrackingSuggestionsGenerateInput, AiTrackingSuggestionsGeneration, AiTrackingSuggestionsPreview, AiTrackingSuggestionsPreviewInput } from "./ai-tracking-suggestions.js";
|
|
2
|
+
import { type TrackingTransport } from "./ai-tracking-transport.js";
|
|
3
|
+
import type { DataResponse, ProjectId, RequestOptions } from "./types.js";
|
|
4
|
+
export declare function validateSuggestionSnapshot(snapshot: AiTrackingSuggestionSnapshot): void;
|
|
5
|
+
export declare function createAiTrackingSuggestionMethods(transport: TrackingTransport): {
|
|
6
|
+
aiTrackingSuggestionsPreview(projectId: ProjectId, input: AiTrackingSuggestionsPreviewInput, options?: RequestOptions): Promise<DataResponse<AiTrackingSuggestionsPreview>>;
|
|
7
|
+
aiTrackingSuggestionsGenerate(projectId: ProjectId, input: AiTrackingSuggestionsGenerateInput, options?: RequestOptions): Promise<DataResponse<AiTrackingSuggestionsGeneration>>;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=ai-tracking-suggestion-methods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tracking-suggestion-methods.d.ts","sourceRoot":"","sources":["../src/ai-tracking-suggestion-methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,kCAAkC,EAClC,+BAA+B,EAC/B,4BAA4B,EAC5B,iCAAiC,EAClC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,iBAAiB,EAAc,MAAM,4BAA4B,CAAC;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,4BAA4B,GAAG,IAAI,CAmBvF;AACD,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,iBAAiB;4CAG7D,SAAS,SACb,iCAAiC,YAC9B,cAAc;6CAWb,SAAS,SACb,kCAAkC,YAC/B,cAAc;EAsB7B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { trackingId } from "./ai-tracking-transport.js";
|
|
2
|
+
import { BisibilityConfigurationError } from "./errors.js";
|
|
3
|
+
export function validateSuggestionSnapshot(snapshot) {
|
|
4
|
+
if (new Set(snapshot.competitors.map((competitor) => competitor.id)).size !==
|
|
5
|
+
snapshot.competitors.length)
|
|
6
|
+
throw new BisibilityConfigurationError("Reviewed competitors must have unique public IDs.");
|
|
7
|
+
for (const competitor of snapshot.competitors)
|
|
8
|
+
trackingId(competitor.id, "cmp");
|
|
9
|
+
const { agent_rules, ...context } = snapshot.context;
|
|
10
|
+
if (Array.from(JSON.stringify({
|
|
11
|
+
context: { ...context, agentRules: agent_rules },
|
|
12
|
+
competitors: snapshot.competitors,
|
|
13
|
+
})).length > 5000)
|
|
14
|
+
throw new BisibilityConfigurationError("Reviewed input snapshot exceeds 5000 serialized characters.");
|
|
15
|
+
}
|
|
16
|
+
export function createAiTrackingSuggestionMethods(transport) {
|
|
17
|
+
return {
|
|
18
|
+
aiTrackingSuggestionsPreview(projectId, input, options) {
|
|
19
|
+
validateSuggestionSnapshot(input.input_snapshot);
|
|
20
|
+
if (input.credential_connection_id)
|
|
21
|
+
trackingId(input.credential_connection_id, "conn");
|
|
22
|
+
return transport.request("POST", `/projects/${trackingId(projectId, "prj")}/ai-tracking/suggestions/preview`, { ...options, body: input });
|
|
23
|
+
},
|
|
24
|
+
aiTrackingSuggestionsGenerate(projectId, input, options) {
|
|
25
|
+
validateSuggestionSnapshot(input.preview.input_snapshot);
|
|
26
|
+
trackingId(input.preview.credential_connection_id, "conn");
|
|
27
|
+
if (input.consent !== true)
|
|
28
|
+
throw new BisibilityConfigurationError("Explicit model generation consent is required.");
|
|
29
|
+
if (!options?.idempotencyKey ||
|
|
30
|
+
!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(options.idempotencyKey))
|
|
31
|
+
throw new BisibilityConfigurationError("A stable UUID Idempotency-Key is required for model generation.");
|
|
32
|
+
return transport.request("POST", `/projects/${trackingId(projectId, "prj")}/ai-tracking/suggestions/generate`, { ...options, body: input });
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ai-tracking-suggestion-methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tracking-suggestion-methods.js","sourceRoot":"","sources":["../src/ai-tracking-suggestion-methods.ts"],"names":[],"mappings":"AAOA,OAAO,EAA0B,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAG3D,MAAM,UAAU,0BAA0B,CAAC,QAAsC;IAC/E,IACE,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QACrE,QAAQ,CAAC,WAAW,CAAC,MAAM;QAE3B,MAAM,IAAI,4BAA4B,CAAC,mDAAmD,CAAC,CAAC;IAC9F,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,WAAW;QAAE,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAChF,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;IACrD,IACE,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE;QAChD,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC,CAAC,CACH,CAAC,MAAM,GAAG,IAAI;QAEf,MAAM,IAAI,4BAA4B,CACpC,6DAA6D,CAC9D,CAAC;AACN,CAAC;AACD,MAAM,UAAU,iCAAiC,CAAC,SAA4B;IAC5E,OAAO;QACL,4BAA4B,CAC1B,SAAoB,EACpB,KAAwC,EACxC,OAAwB;YAExB,0BAA0B,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,wBAAwB;gBAAE,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;YACvF,OAAO,SAAS,CAAC,OAAO,CACtB,MAAM,EACN,aAAa,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,kCAAkC,EAC3E,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAC5B,CAAC;QACJ,CAAC;QACD,6BAA6B,CAC3B,SAAoB,EACpB,KAAyC,EACzC,OAAwB;YAExB,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACzD,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;YAC3D,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;gBACxB,MAAM,IAAI,4BAA4B,CAAC,gDAAgD,CAAC,CAAC;YAC3F,IACE,CAAC,OAAO,EAAE,cAAc;gBACxB,CAAC,iEAAiE,CAAC,IAAI,CACrE,OAAO,CAAC,cAAc,CACvB;gBAED,MAAM,IAAI,4BAA4B,CACpC,iEAAiE,CAClE,CAAC;YACJ,OAAO,SAAS,CAAC,OAAO,CACtB,MAAM,EACN,aAAa,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,mCAAmC,EAC5E,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export interface AiTrackingSuggestionConfiguration {
|
|
2
|
+
provider: "dataforseo";
|
|
3
|
+
engine: "chat_gpt";
|
|
4
|
+
model: string;
|
|
5
|
+
language_code: string;
|
|
6
|
+
country_iso_code?: string;
|
|
7
|
+
max_output_tokens: number;
|
|
8
|
+
advisory_cost_limit_cents: number;
|
|
9
|
+
}
|
|
10
|
+
export interface AiTrackingSuggestionSnapshot {
|
|
11
|
+
context: {
|
|
12
|
+
business: string;
|
|
13
|
+
audience: string;
|
|
14
|
+
products: string;
|
|
15
|
+
goals: string;
|
|
16
|
+
agent_rules: string;
|
|
17
|
+
};
|
|
18
|
+
competitors: Array<{
|
|
19
|
+
id: `cmp_${string}`;
|
|
20
|
+
label: string | null;
|
|
21
|
+
domain: string;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
export interface AiTrackingSuggestionsPreviewInput {
|
|
25
|
+
configuration: AiTrackingSuggestionConfiguration;
|
|
26
|
+
input_snapshot: AiTrackingSuggestionSnapshot;
|
|
27
|
+
credential_connection_id?: `conn_${string}`;
|
|
28
|
+
}
|
|
29
|
+
export interface AiTrackingSuggestionsPreview extends AiTrackingSuggestionsPreviewInput {
|
|
30
|
+
version: 1;
|
|
31
|
+
snapshot_hash: string;
|
|
32
|
+
estimated_cost_cents: number;
|
|
33
|
+
estimate_kind: "forecast";
|
|
34
|
+
is_guaranteed_maximum: false;
|
|
35
|
+
credential_connection_id: `conn_${string}`;
|
|
36
|
+
credential_version: string;
|
|
37
|
+
budget_revision: string;
|
|
38
|
+
consent_revision: string;
|
|
39
|
+
expires_at: string;
|
|
40
|
+
limitations: string[];
|
|
41
|
+
}
|
|
42
|
+
export interface AiTrackingSuggestionsGenerateInput {
|
|
43
|
+
preview: AiTrackingSuggestionsPreview;
|
|
44
|
+
consent: true;
|
|
45
|
+
}
|
|
46
|
+
export interface AiTrackingModelSuggestion {
|
|
47
|
+
draft_id: string;
|
|
48
|
+
text: string;
|
|
49
|
+
category: "neutral" | "comparative" | "branded";
|
|
50
|
+
provenance: "model_generated_hypothesis";
|
|
51
|
+
evidence_ids: [];
|
|
52
|
+
popularity: null;
|
|
53
|
+
accepted: false;
|
|
54
|
+
}
|
|
55
|
+
export interface AiTrackingSuggestionsGeneration {
|
|
56
|
+
generation_id: `asg_${string}`;
|
|
57
|
+
drafts: AiTrackingModelSuggestion[];
|
|
58
|
+
cost_usd: string | null;
|
|
59
|
+
cost_state: "unknown" | "confirmed";
|
|
60
|
+
method: "model_generated_hypothesis";
|
|
61
|
+
limitations: string[];
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=ai-tracking-suggestions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tracking-suggestions.d.ts","sourceRoot":"","sources":["../src/ai-tracking-suggestions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yBAAyB,EAAE,MAAM,CAAC;CACnC;AACD,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,WAAW,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,OAAO,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnF;AACD,MAAM,WAAW,iCAAiC;IAChD,aAAa,EAAE,iCAAiC,CAAC;IACjD,cAAc,EAAE,4BAA4B,CAAC;IAC7C,wBAAwB,CAAC,EAAE,QAAQ,MAAM,EAAE,CAAC;CAC7C;AACD,MAAM,WAAW,4BAA6B,SAAQ,iCAAiC;IACrF,OAAO,EAAE,CAAC,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,UAAU,CAAC;IAC1B,qBAAqB,EAAE,KAAK,CAAC;IAC7B,wBAAwB,EAAE,QAAQ,MAAM,EAAE,CAAC;IAC3C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AACD,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,IAAI,CAAC;CACf;AACD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;IAChD,UAAU,EAAE,4BAA4B,CAAC;IACzC,YAAY,EAAE,EAAE,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;CACjB;AACD,MAAM,WAAW,+BAA+B;IAC9C,aAAa,EAAE,OAAO,MAAM,EAAE,CAAC;IAC/B,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,SAAS,GAAG,WAAW,CAAC;IACpC,MAAM,EAAE,4BAA4B,CAAC;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tracking-suggestions.js","sourceRoot":"","sources":["../src/ai-tracking-suggestions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RequestOptions } from "./types.js";
|
|
2
|
+
export interface TrackingTransport {
|
|
3
|
+
request<T>(method: string, path: string, options?: RequestOptions & {
|
|
4
|
+
body?: unknown;
|
|
5
|
+
query?: Record<string, string | number | undefined>;
|
|
6
|
+
parseAs?: "text" | "json";
|
|
7
|
+
}): Promise<T>;
|
|
8
|
+
}
|
|
9
|
+
/** True when `value` is `<prefix>_` followed by a 24-character public ID body. */
|
|
10
|
+
export declare function hasPublicIdShape(value: string, prefix: string): boolean;
|
|
11
|
+
export declare function trackingId(value: string, prefix: string): string;
|
|
12
|
+
export declare function validateTrackingInput(input: unknown): void;
|
|
13
|
+
//# sourceMappingURL=ai-tracking-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tracking-transport.d.ts","sourceRoot":"","sources":["../src/ai-tracking-transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,CAAC,EACP,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,GAAG;QACzB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;QACpD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC3B,GACA,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvE;AACD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAIvD;AACD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAyC1D"}
|