From c19827e11911c90224cb64dec4bd2fd36d012682 Mon Sep 17 00:00:00 2001 From: Min <55829146+cloneismin@users.noreply.github.com> Date: Sun, 4 Oct 2026 21:15:36 +0900 Subject: [PATCH] Publish current SDK installation and hosted service documentation --- CHANGELOG.md | 5 +++++ README.md | 6 +++--- docs/agent-integration.md | 8 ++++---- docs/billing.md | 2 +- docs/data-and-service.md | 4 ++-- docs/releases.md | 35 +++++++++++++++++++------------- docs/reliability.md | 2 +- docs/start.md | 18 ++++++++++++---- package.json | 4 ++-- python/README.md | 9 ++++++-- python/pyproject.toml | 2 +- python/src/clone_sdk/__init__.py | 2 +- python/uv.lock | 2 +- 13 files changed, 63 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1e284b..6bcbdae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +# 0.7.1 + +- Publish current npm and PyPI install instructions with Python client 0.2.1 and the public SDK quickstart as the npm homepage. +- Document hosted PAYG availability and distinguish content-free behavior receipts from explicitly opted-in feedback text. Runtime behavior is unchanged. + # 0.7.0 - Publish the JavaScript SDK as `@clone-ai/prompt-prediction`. Update imports, generated integration examples, archive names, npm verification and installation guides. Runtime exports and prediction behavior remain unchanged. diff --git a/README.md b/README.md index 36daf1c..d407786 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Add next-prompt prediction and Tab completion to your existing composer. Suggestions appear as ghost text. **Tab inserts; your application decides when to send.** -**SDK 0.7.0:** instant display remains the default. Set `presentation="typewriter"` for a cancellable display animation after the complete JSON response arrives; the API does not stream. These options and Clone mode are absent from the 0.3.1 package. Keep ordinary typing and sending available when predictions are loading, fail, or never return. See the [rendering contract](docs/agent-integration.md#suggestion-rendering-contract) before building a custom editor adapter. +**SDK 0.7.1:** instant display remains the default. Set `presentation="typewriter"` for a cancellable display animation after the complete JSON response arrives; the API does not stream. These options and Clone mode are absent from the 0.3.1 package. Keep ordinary typing and sending available when predictions are loading, fail, or never return. See the [rendering contract](docs/agent-integration.md#suggestion-rendering-contract) before building a custom editor adapter. Use your product's conversation, selected artifact and user preferences as context. Your end users do not need a Clone account. Connecting a user's Clone context is optional. @@ -34,7 +34,7 @@ Node **22.13+**, ESM. React integrations support **18 and 19**. The headless con Install the public npm package. Existing integrations can keep their pinned version while validating an upgrade: ```sh -npm install --save-exact @clone-ai/prompt-prediction@0.7.0 +npm install --save-exact @clone-ai/prompt-prediction@0.7.1 ``` Use your project's package manager and commit its lockfile. Verified [GitHub release archives](docs/releases.md#download-and-install) remain available. Hosted API access requires a separate app key. @@ -118,4 +118,4 @@ See [Contributing](CONTRIBUTING.md) for the repository layout and validation com ## Feedback loop -SDK 0.7.0 can return explicit rejection, evaluations, edited successful submissions and host-observed outcomes to the API. Wire the packaged tracker to your host send and authenticated proxy. Text collection is off by default. See [feedback integration](docs/feedback.md) for scoped memory, delivery, expiry and clearing. These features require the API feedback deployment; event collection alone is not model learning. +SDK 0.7.1 can return explicit rejection, evaluations, edited successful submissions and host-observed outcomes to the API. Wire the packaged tracker to your host send and authenticated proxy. Text collection is off by default. See [feedback integration](docs/feedback.md) for scoped memory, delivery, expiry and clearing. These features require the API feedback deployment; event collection alone is not model learning. diff --git a/docs/agent-integration.md b/docs/agent-integration.md index 743d7a2..bd35d98 100644 --- a/docs/agent-integration.md +++ b/docs/agent-integration.md @@ -2,11 +2,11 @@ Implement next-prompt prediction and Tab Completion in the existing customer composer using product context by default, preserving its submission behavior. No Clone end-user account, consent screen or callback is required for this basic path. Offer Clone personalization separately in settings only if desired. Read `README.md`, exported types and `openapi.json`. Do not infer that the customer uses assistant-ui just because the optional adapter exists. -Begin with [start.md](start.md), which covers agent-led self-service app registration and callback updates. This guide supplies the detailed implementation contract for SDK 0.7.0. Verify installed types; 0.3.1 has no typewriter option or Clone mode. +Begin with [start.md](start.md), which covers agent-led self-service app registration and callback updates. This guide supplies the detailed implementation contract for SDK 0.7.1. Verify installed types; 0.3.1 has no typewriter option or Clone mode. ## Prerequisites -- The public `@clone-ai/prompt-prediction@0.7.0` npm package, Node 22.13+, React 18 or 19. Follow the [installation instructions](releases.md#download-and-install). Checksum-verified GitHub archives are also available. +- The public `@clone-ai/prompt-prediction@0.7.1` npm package, Node 22.13+, React 18 or 19. Follow the [installation instructions](releases.md#download-and-install). Checksum-verified GitHub archives are also available. - A Clone app key (`clnp_...`) for the chosen production or sandbox app and its API base URL. Use an isolated sandbox app for synthetic integration tests. Only optional personalization needs an exact registered HTTPS callback (HTTP loopback is local/test only). The agent obtains these through self-service onboarding; the customer need not prepare them in advance. - An existing authenticated customer session and server-side session storage. - Only for optional personalization: a Clone test account with selected profile/Goal context already synced. Basic verification needs no Clone test account. Local-only unsynced content is unavailable. @@ -72,13 +72,13 @@ Use the bubbling `onInput` observer shown in the example. Updating observation s The example distinguishes the SDK insertion from a later edit, removes attribution after clearing or Undo back to the original draft, and associates a submission with the most recently accepted suggestion. It does not measure how much suggested text remains or every suggestion used in a draft. `presented` means the controller offered a candidate; it does not prove the user read it. Adapt these observation boundaries explicitly if your editor behaves differently. No draft or completion text is included in the transmitted `{event_id, request_id, kind}`. -Telemetry is best effort and must not block input or send. The example shows local `pending`/`recorded`/`failed` delivery receipts; fixture receipts are labelled separately. SDK 0.7.0 uses bounded retries with the same event ID/body; it does not persist a durable retry queue. Reset the tracker on account/context changes to abort old-scope delivery. Report failed/missing deliveries instead of treating them as zero engagement. Verify acceptance without send, edited submission, Undo followed by an unrelated manual send, context change, telemetry failure, duplicate delivery, and unchanged billable usage. These event records alone do not establish coverage, usefulness, suggestion quality or human acceptance. +Telemetry is best effort and must not block input or send. The example shows local `pending`/`recorded`/`failed` delivery receipts; fixture receipts are labelled separately. SDK 0.7.1 uses bounded retries with the same event ID/body; it does not persist a durable retry queue. Reset the tracker on account/context changes to abort old-scope delivery. Report failed/missing deliveries instead of treating them as zero engagement. Verify acceptance without send, edited submission, Undo followed by an unrelated manual send, context change, telemetry failure, duplicate delivery, and unchanged billable usage. These event records alone do not establish coverage, usefulness, suggestion quality or human acceptance. ## Suggestion rendering contract The prediction endpoint returns one complete JSON object, not SSE or token deltas. `createPredictionTransport` waits for that response, the controller validates it, and the controller validates the complete candidate. By default `useTabCompletion` exposes the full `completion` immediately and `TabCompletionInput` renders it as ghost text. With `presentation: "typewriter"`, the hook exposes a visible prefix until the animation completes; `canAccept` remains false until then. The complete candidate remains in `state.candidate`. This is the default for both empty-composer next prompts and draft completions. -Do not add per-character timers, progressively slice `completion`, or route it through an assistant-message streaming renderer by default. A typewriter animation is an optional presentation choice, not evidence that the API streams. In 0.7.0 set `presentation: "typewriter"` only when the customer's stated preference or an AskUserQuestion answer calls for it; do not ask again for a choice already supplied. The entire candidate must be visible before offering Tab acceptance; never accept only a partial string or send unseen text. Cancel any animation on edits, selection/context changes, dismissal, or expiry. Ordinary manual sending must stay available throughout. +Do not add per-character timers, progressively slice `completion`, or route it through an assistant-message streaming renderer by default. A typewriter animation is an optional presentation choice, not evidence that the API streams. In 0.7.1 set `presentation: "typewriter"` only when the customer's stated preference or an AskUserQuestion answer calls for it; do not ask again for a choice already supplied. The entire candidate must be visible before offering Tab acceptance; never accept only a partial string or send unseen text. Cancel any animation on edits, selection/context changes, dismissal, or expiry. Ordinary manual sending must stay available throughout. Verify the installed package version and lockfile, inspect the actual composer adapter, and check the response format before attributing progressive display to the SDK or customer code. A recording alone cannot establish which layer produced an effect. Return evidence that the default renderer shows a complete candidate, Tab inserts it exactly once without sending, and only the host's explicit-send action submits it. diff --git a/docs/billing.md b/docs/billing.md index 98204a1..c878c94 100644 --- a/docs/billing.md +++ b/docs/billing.md @@ -1,6 +1,6 @@ # Pricing and billing -SDK 0.7.0 supports both sandbox and pay-as-you-go (PAYG) usage, including an optional company spending limit. Install the verified [0.7.0 release](https://github.com/cloneisyou/clone-sdk/releases/tag/v0.7.0). Hosted paid activation is available only when the developer console offers it; installing the SDK never enables payment. +SDK 0.7.1 supports both sandbox and pay-as-you-go (PAYG) usage, including an optional company spending limit. Install the verified [0.7.1 release](https://github.com/cloneisyou/clone-sdk/releases/tag/v0.7.1). Hosted paid activation is available only when the developer console offers it; installing the SDK never enables payment. The company operating your product pays for hosted predictions. End users need no Clone account or personal subscription. SDK code is MIT licensed. The public catalog is [API pricing](https://clone.is/api-platform/pricing); availability depends on rollout, and existing individually negotiated contracts remain unchanged. diff --git a/docs/data-and-service.md b/docs/data-and-service.md index 82e5c6d..efccca7 100644 --- a/docs/data-and-service.md +++ b/docs/data-and-service.md @@ -1,6 +1,6 @@ # Data and service boundaries -The SDK is free under the MIT license. Clone's hosted prediction API is a separate service. The prepared PAYG policy is documented in [pricing and billing](billing.md). Confirm current availability and prices in the [service catalog](https://clone.is/api-platform/pricing) when hosted billing launches; retention commitments and any SLA must still be confirmed with Clone. This repository is not a service-level agreement. See Clone's [privacy policy](https://clone.is/privacy) and [terms](https://clone.is/terms), and confirm application-specific service commitments through [contact@clone.is](mailto:contact@clone.is). +The SDK is free under the MIT license. Clone's hosted prediction API is a separate service. Hosted PAYG billing is available through the developer console with explicit company consent. See [pricing and billing](billing.md) and the current [service catalog](https://clone.is/api-platform/pricing). Confirm application-specific retention commitments and any SLA with Clone. This repository is not a service-level agreement. See Clone's [privacy policy](https://clone.is/privacy) and [terms](https://clone.is/terms), and confirm application-specific service commitments through [contact@clone.is](mailto:contact@clone.is). ## What is sent @@ -22,4 +22,4 @@ The demo returns deterministic synthetic suggestions. It proves UI mechanics onl ## Feedback retention -With the API feedback deployment, explicit evaluations and opted-in edited successful submissions are encrypted, scoped to the app/user/connection grant, capped at 50 records per user and retained for 30 days. They can influence subsequent new predictions as bounded evidence. Behavior receipts remain content-free; task outcomes are host reports. Clearing removes memory and fences off late old-request events, in-flight results and replay. No shared model-weight training is performed. See [feedback](feedback.md). +Explicit evaluations and opted-in edited successful submissions are encrypted, scoped to the app/user/connection grant, capped at 50 records per user and retained for 30 days. They can influence subsequent new predictions as bounded evidence. Behavior receipts remain content-free; task outcomes are host reports. Clearing removes memory and fences off late old-request events, in-flight results and replay. No shared model-weight training is performed. See [feedback](feedback.md). diff --git a/docs/releases.md b/docs/releases.md index fdd6d45..420983d 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -4,43 +4,50 @@ During 0.x, breaking public contract changes increment the minor version; compatible fixes increment the patch. Once 1.0 is reached, use SemVer major/minor/patch rules. The public contract includes exported types and documented behavior such as Tab insertion, events, cancellation, and submission ownership. Never overwrite a published version or move its tag. +## SDK 0.7.1 and Python 0.2.1 + +This patch publishes current npm/PyPI installation instructions, Python backend +integration, hosted billing availability and explicit feedback text consent. +Runtime exports and behavior are unchanged. Pin each package and commit its +lockfile before verifying it in your own composer. + ## SDK 0.7.0 Version 0.7.0 publishes the JavaScript SDK as `@clone-ai/prompt-prediction` and updates its install and import paths. Runtime exports and prediction behavior are unchanged. Version 0.6.4 updated the packaged npm installation guides. Version 0.6.3 keeps pilot measurements tied to the original prediction source, including late observations after a fault changes. Version 0.6.2 added the packaged feedback tracker, explicit evaluations and outcomes, feedback revision and clearing. Content-free diagnostics and pilot validation from 0.5.0 remain available. Feedback memory requires the matching API deployment; see [feedback](feedback.md). Python client 0.2.0 is distributed separately as a wheel and source archive. Optional presentation and Clone mode from 0.4.0 remain available; instant suggestions and manual submission remain the defaults. The older 0.3.1 artifact does not contain these features. Keep the installed archive and lockfile pinned until the upgrade passes in your own composer. `npm run test:package` builds, checks and installs the actual archive into independent React 18 and 19 examples. ## Download and install -The current release is [v0.7.0](https://github.com/cloneisyou/clone-sdk/releases/tag/v0.7.0). Install its public npm package with your existing package manager: +The current release is [v0.7.1](https://github.com/cloneisyou/clone-sdk/releases/tag/v0.7.1). Install its public npm package with your existing package manager: ```sh -npm install --save-exact @clone-ai/prompt-prediction@0.7.0 +npm install --save-exact @clone-ai/prompt-prediction@0.7.1 ``` Commit the lockfile. To install a checksum-verified GitHub archive instead, download its `.tgz` and `.sha256` into `vendor/clone-sdk`. -When the repository is public, no GitHub credential is needed: +This repository is public; downloads require no GitHub credential: ```sh mkdir -p vendor/clone-sdk -release_url=https://github.com/cloneisyou/clone-sdk/releases/download/v0.7.0 -curl --fail --location "$release_url/clone-ai-prompt-prediction-0.7.0.tgz" \ - --output vendor/clone-sdk/clone-ai-prompt-prediction-0.7.0.tgz -curl --fail --location "$release_url/clone-ai-prompt-prediction-0.7.0.tgz.sha256" \ - --output vendor/clone-sdk/clone-ai-prompt-prediction-0.7.0.tgz.sha256 +release_url=https://github.com/cloneisyou/clone-sdk/releases/download/v0.7.1 +curl --fail --location "$release_url/clone-ai-prompt-prediction-0.7.1.tgz" \ + --output vendor/clone-sdk/clone-ai-prompt-prediction-0.7.1.tgz +curl --fail --location "$release_url/clone-ai-prompt-prediction-0.7.1.tgz.sha256" \ + --output vendor/clone-sdk/clone-ai-prompt-prediction-0.7.1.tgz.sha256 ``` If GitHub reports restricted access, use an account with repository read access: ```sh -gh release download v0.7.0 --repo cloneisyou/clone-sdk \ - --pattern 'clone-ai-prompt-prediction-0.7.0.tgz*' --dir vendor/clone-sdk +gh release download v0.7.1 --repo cloneisyou/clone-sdk \ + --pattern 'clone-ai-prompt-prediction-0.7.1.tgz*' --dir vendor/clone-sdk ``` Then verify and install with your existing package manager: ```sh -(cd vendor/clone-sdk && shasum -a 256 -c clone-ai-prompt-prediction-0.7.0.tgz.sha256) -npm install ./vendor/clone-sdk/clone-ai-prompt-prediction-0.7.0.tgz +(cd vendor/clone-sdk && shasum -a 256 -c clone-ai-prompt-prediction-0.7.1.tgz.sha256) +npm install ./vendor/clone-sdk/clone-ai-prompt-prediction-0.7.1.tgz ``` On Linux, use `sha256sum -c` in place of `shasum -a 256 -c`. Commit the lockfile. Do not put access tokens in package URLs or lockfiles. @@ -57,11 +64,11 @@ On Linux, use `sha256sum -c` in place of `shasum -a 256 -c`. Commit the lockfile ## Registry publication -The first public npm release, `@clone-ai/tab-completion@0.6.3`, passed an independent anonymous installation and matched its verified GitHub release. It used an authenticated local CLI and has no CI provenance. GitHub release archives remain available. The registry workflow refuses to run while the repository is private. +The former `@clone-ai/tab-completion` npm package has been unpublished. Its GitHub archives remain available; new integrations use `@clone-ai/prompt-prediction`. The registry workflow refuses to run while the repository is private. Starting with 0.7.0, npm releases use `@clone-ai/prompt-prediction`. Publication requires a package-level trusted publisher for owner `cloneisyou`, repository `clone-sdk`, workflow `publish.yml` and environment `npm`, and `NPM_PUBLISH_ENABLED=true`. It allows direct `npm publish`. Distribution-tag management is not granted. Choose `next` (the default) for a preview or `latest` for a stable package when dispatching the workflow; the selected tag is assigned by publication itself. The manual workflow accepts an existing release tag and registry, repeats validation, compares all installed release content with the tested package, and uses OIDC instead of a stored npm token. See [npm's trusted publisher documentation](https://docs.npmjs.com/trusted-publishers/). -The Python distribution is `clone-sdk`. Before the first PyPI publication, configure a pending trusted publisher with owner `cloneisyou`, repository `clone-sdk`, workflow `publish.yml`, environment `pypi` and the account owner's verified email. For an existing project, configure its publisher on that project instead. Enable `PYPI_PUBLISH_ENABLED=true` only after configuration. The PyPI job requires wheel and source bytes to match the release and verifies a fresh anonymous installation after publishing. See [PyPI publisher setup](https://docs.pypi.org/trusted-publishers/adding-a-publisher/). +The published Python distribution is [`clone-sdk`](https://pypi.org/project/clone-sdk/). Its configured trusted publisher uses owner `cloneisyou`, repository `clone-sdk`, workflow `publish.yml` and environment `pypi`, with `PYPI_PUBLISH_ENABLED=true`. The PyPI job requires wheel and source bytes to match the release and verifies a fresh anonymous installation after publishing. See [PyPI publisher setup](https://docs.pypi.org/trusted-publishers/adding-a-publisher/). Account creation, email verification, 2FA and publisher authority must be complete before dispatch. Do not put passwords, OTPs or registry tokens in source files or chat. Registry install commands are available only after the exact version is published and independently installed. diff --git a/docs/reliability.md b/docs/reliability.md index b66fb2c..e2e001e 100644 --- a/docs/reliability.md +++ b/docs/reliability.md @@ -4,7 +4,7 @@ Mount the editor and process typing, attachments, Undo, IME and manual send independently of Clone. Never await prediction in the normal send path, disable the input during prediction, or gate the whole product on Clone health. Hide suggestions on failures. Telemetry is best effort. -SDK 0.7.0 uses a 15-second default client deadline (configurable up to 30 seconds) including response-body reads. The reusable server client limits concurrent requests to 16 by default and fails fast on saturation. The controller drops expired, canceled and identity-mismatched results. Recovery does not send anything automatically. A request whose outcome is unknown must retain its ID and body for reconciliation. +SDK 0.7.1 uses a 15-second default client deadline (configurable up to 30 seconds) including response-body reads. The reusable server client limits concurrent requests to 16 by default and fails fast on saturation. The controller drops expired, canceled and identity-mismatched results. Recovery does not send anything automatically. A request whose outcome is unknown must retain its ID and body for reconciliation. ## Configured limits are not measured capacity diff --git a/docs/start.md b/docs/start.md index 5e407a0..f7bbbbe 100644 --- a/docs/start.md +++ b/docs/start.md @@ -2,13 +2,13 @@ This is the entry point for your coding agent. Implement next-prompt prediction and Tab Completion using the product’s own context by default, then run automated verification. End users need no Clone account. Offer Clone account personalization only as an optional enhancement in settings; do not put a Connect screen before the composer. Preserve the product's authentication, composer, explicit send behavior and agent execution. Automatic submission is a separate, optional Clone mode with explicit end-user start and bounded scope. -This guide targets **SDK 0.7.0**. Version 0.3.1 lacks the presentation, deadline and Clone mode options; inspect the installed version before using them. Onboarding documentation can change independently of that immutable package. Read this guide, [agent integration](agent-integration.md), [context mapping](context-mapping.md), [service boundaries](data-and-service.md), and the installed package's exported types and `openapi.json`. The types and schema define the wire contract. Do not stop after writing a plan or building a separate demo. +This guide targets **SDK 0.7.1**. Version 0.3.1 lacks the presentation, deadline and Clone mode options; inspect the installed version before using them. Onboarding documentation can change independently of that immutable package. Read this guide, [agent integration](agent-integration.md), [context mapping](context-mapping.md), [service boundaries](data-and-service.md), and the installed package's exported types and `openapi.json`. The types and schema define the wire contract. Do not stop after writing a plan or building a separate demo. ## Start from one prompt The customer opens their product repository in a coding agent and enters: -> Read https://clone.is/docs/sdk-quickstart and integrate Clone SDK into this product using the documented npm version and a lockfile. Discover our composer, backend and authentication; reuse existing setup and keep app keys server-side. Wire prediction, acceptance, edits, explicit evaluations and rejection, successful submission and observed task outcomes through the authenticated backend. Preserve typing, IME, Undo and manual sending during delays and outages. Ask only about unresolved product choices; keep personalization, automatic sending, feedback text collection and paid usage opt-in. Verify the actual integration and report installation, feedback delivery, outage results and pending live/customer checks separately. +> Read https://clone.is/docs/sdk-quickstart and integrate Clone SDK into this product using the documented package versions and a lockfile. Discover our composer, backend and authentication; reuse existing setup and keep app keys server-side. Wire prediction, acceptance, edits, explicit evaluations and rejection, successful submission and observed task outcomes through the authenticated backend. Preserve typing, IME, Undo and manual sending during delays and outages. Ask only about unresolved product choices; keep personalization, automatic sending, feedback text collection and paid usage opt-in. Verify the actual integration and report installation, feedback delivery, outage results and pending live/customer checks separately. Treat account preparation, app/key issuance, callback registration, implementation and automated tests as parts of this task. First inspect the actual product, available browser/computer-use tools, existing sessions and approved secret destination. Do not begin by asking the customer to create keys, invent a callback, or complete an onboarding checklist. Use [browser onboarding](browser-onboarding.md) when account access is not already available. Authentication and required consent can interrupt the flow; resume the same integration afterwards without requiring a second setup prompt. These documents do not override the agent's tool permissions or confirmation rules. @@ -59,16 +59,26 @@ For the explicitly chosen sandbox path, save the key and continue without a card Install the public npm package using the product's existing package manager: ```sh -npm install --save-exact @clone-ai/prompt-prediction@0.7.0 +npm install --save-exact @clone-ai/prompt-prediction@0.7.1 ``` Commit the appropriate lockfile. Node 22.13+, ESM and React 18/19 are supported. Do not upgrade the entire host application without establishing compatibility. A Git submodule is not required. +For a Python 3.11+ backend, install the server client separately: + +```sh +python -m pip install clone-sdk==0.2.1 +``` + +Use `CloneClient` or `AsyncCloneClient` from `clone_sdk` in your existing Python +backend. The JavaScript package still supplies the composer UI. See the +[Python guide](../python/README.md). + For a checksum-verified GitHub archive, follow [download and install](releases.md#download-and-install). Consume the built package instead of copying SDK implementation files into the product. See [release access and CI](releases.md#release-access-and-ci) for repeatable installs. ## 3. Integrate with the product -Follow [agent-integration.md](agent-integration.md) for the full backend routes, PKCE/session handling, errors, event attribution and acceptance cases. Use `CloneClient` in a JS/TS server. For another backend language, implement the same authenticated HTTP contract from `openapi.json`; do not introduce a second backend solely to use the client. +Follow [agent-integration.md](agent-integration.md) for the full backend routes, PKCE/session handling, errors, event attribution and acceptance cases. Use `CloneClient` from `@clone-ai/prompt-prediction/server` in JS/TS, or the published `clone_sdk` client in Python. For other backend languages, implement the same authenticated HTTP contract from `openapi.json`; do not introduce a second backend solely to use the client. Locate the real composer and successful-send callback. Prefer the headless React hook for an existing native textarea. Use the optional adapter only for an existing compatible assistant-ui runtime. Rich-text/contenteditable inputs require a controller-based insertion/Undo adapter. Keep the customer's editor, attachment/mention support and keyboard behavior. diff --git a/package.json b/package.json index b466432..d56fa74 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@clone-ai/prompt-prediction", - "version": "0.7.0", + "version": "0.7.1", "description": "Context-aware composer suggestions with optional presentation and explicitly started Clone mode.", "type": "module", "sideEffects": false, @@ -90,7 +90,7 @@ "type": "git", "url": "git+https://github.com/cloneisyou/clone-sdk.git" }, - "homepage": "https://github.com/cloneisyou/clone-sdk#readme", + "homepage": "https://clone.is/docs/sdk-quickstart", "bugs": { "url": "https://github.com/cloneisyou/clone-sdk/issues" }, diff --git a/python/README.md b/python/README.md index 0c50720..d185c5e 100644 --- a/python/README.md +++ b/python/README.md @@ -8,7 +8,7 @@ Python 3.11+. Install `clone-sdk` from [PyPI](https://pypi.org/project/clone-sdk import `clone_sdk`. ```sh -python -m pip install clone-sdk==0.2.0 +python -m pip install clone-sdk==0.2.1 ``` ```python @@ -72,7 +72,12 @@ client.cancel(subject, "prediction-001") ``` Only report `submitted` after your host accepts the send. Reuse an event ID on -delivery retries. Events contain no prompt text and do not change billing. +delivery retries. Behavior receipts and outcomes contain no prompt text and do +not change billing. Explicit evaluations can supply a reason; guidance and edited +successful submissions require `content_opt_in=True` before sending text. Feedback +memory is encrypted, app/user scoped, and expires after 30 days. Call +`client.clear_feedback(subject)` to clear it. See +[feedback](https://clone.is/docs/api-reference#observation-events) for event fields and clearing semantics. Read the [public API](https://clone.is/docs/api-reference), [billing](https://clone.is/docs/billing) and [reliability](https://clone.is/docs/reliability) contracts before production use. diff --git a/python/pyproject.toml b/python/pyproject.toml index cfaca7b..8bcb496 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "clone-sdk" -version = "0.2.0" +version = "0.2.1" description = "Server-side Python client for Clone prompt predictions." readme = "README.md" requires-python = ">=3.11" diff --git a/python/src/clone_sdk/__init__.py b/python/src/clone_sdk/__init__.py index 5f34f88..3a3a703 100644 --- a/python/src/clone_sdk/__init__.py +++ b/python/src/clone_sdk/__init__.py @@ -24,4 +24,4 @@ "RevokeResult", "Usage", ] -__version__ = "0.2.0" +__version__ = "0.2.1" diff --git a/python/uv.lock b/python/uv.lock index f30bac6..ec79d1e 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -254,7 +254,7 @@ wheels = [ [[package]] name = "clone-sdk" -version = "0.2.0" +version = "0.2.1" source = { editable = "." } dependencies = [ { name = "httpx" },