diff --git a/.repository-projection.json b/.repository-projection.json index a5b2b79..24abc3d 100644 --- a/.repository-projection.json +++ b/.repository-projection.json @@ -3,11 +3,11 @@ "projection": "deixic-node", "projectionSchemaVersion": 1, "sourceRepository": "dx-corp/mono", - "sourceSha": "c97cbb033be2d815b33abd51b9e1a9a37968066c", + "sourceSha": "ddaee8a19ef06ccd953aa67505182ec41e78f13c", "destinationRepository": "dx-corp/deixic-node", - "priorProjectedBase": "9fa57d3b5b483aa1199e319d5edf3b541e1117cb", + "priorProjectedBase": "e4428f2fbf2b140d37085cc4225029b073837325", "definitionDigest": "1984dfa11c2bd95dd871179573e2ab3783be7a6af86d9bf3cd0d1a3f10b15b86", "toolDigest": "0aae6000dbd0940f5a0af380463ccb5a83285eda", - "contentDigest": "b2599945950a65ab6746aa14b8969fff44f412d4adf77f2d5549f1b8132c5ec9", + "contentDigest": "15b936466e600570630421b1ea39c318de34364a545666fa69d9d31a11b93ca9", "publicationEligible": true } diff --git a/sdk/deixic/typescript/README.md b/sdk/deixic/typescript/README.md index 5e9990f..6bdb0d4 100644 --- a/sdk/deixic/typescript/README.md +++ b/sdk/deixic/typescript/README.md @@ -3,6 +3,8 @@ `@evalops/deixic-sdk` is the supported TypeScript client for applications that submit Deixic tasks, follow durable progress, interrupt work, and approve or deny requested actions. Its top-level client exposes those supported methods. +Generated public wire types are available from the explicit +`@evalops/deixic-sdk/protocol` subpath when an application needs them. ## Install diff --git a/sdk/deixic/typescript/package.json b/sdk/deixic/typescript/package.json index cc6ccad..d47fefd 100644 --- a/sdk/deixic/typescript/package.json +++ b/sdk/deixic/typescript/package.json @@ -11,6 +11,10 @@ "types": "./dist/sdk/deixic/typescript/src/index.d.ts", "import": "./dist/sdk/deixic/typescript/src/index.js" }, + "./protocol": { + "types": "./dist/sdk/deixic/typescript/src/protocol.d.ts", + "import": "./dist/sdk/deixic/typescript/src/protocol.js" + }, "./examples/account-brief": "./examples/account-brief.mjs", "./examples/account-brief-result": { "types": "./examples/account-brief-result.d.mts", diff --git a/sdk/deixic/typescript/scripts/check-package-exports.mjs b/sdk/deixic/typescript/scripts/check-package-exports.mjs index e5f74fd..491cf6e 100644 --- a/sdk/deixic/typescript/scripts/check-package-exports.mjs +++ b/sdk/deixic/typescript/scripts/check-package-exports.mjs @@ -11,6 +11,11 @@ assert.equal(manifest.main, entry); assert.equal(manifest.exports["."].types, entry.replace(/\.js$/, ".d.ts")); await access(resolve(root, entry)); await access(resolve(root, manifest.exports["."].types)); +const protocolEntry = "./dist/sdk/deixic/typescript/src/protocol.js"; +assert.equal(manifest.exports["./protocol"].import, protocolEntry); +assert.equal(manifest.exports["./protocol"].types, protocolEntry.replace(/\.js$/, ".d.ts")); +await access(resolve(root, protocolEntry)); +await access(resolve(root, manifest.exports["./protocol"].types)); const dependencies = new Set(Object.keys(manifest.dependencies ?? {})); let checked = 0; diff --git a/sdk/deixic/typescript/scripts/smoke-packed-package.mjs b/sdk/deixic/typescript/scripts/smoke-packed-package.mjs index 9989a76..297e10b 100644 --- a/sdk/deixic/typescript/scripts/smoke-packed-package.mjs +++ b/sdk/deixic/typescript/scripts/smoke-packed-package.mjs @@ -45,11 +45,17 @@ try { )); assert.equal(installed.name, "@evalops/deixic-sdk"); assert.equal(installed.exports["."].import, "./dist/sdk/deixic/typescript/src/index.js"); + assert.equal(installed.exports["./protocol"].import, "./dist/sdk/deixic/typescript/src/protocol.js"); await writeFile(resolve(consumer, "smoke.mjs"), ` import assert from "node:assert/strict"; import { create } from "@bufbuild/protobuf"; +import * as sdk from "@evalops/deixic-sdk"; import { createDeixicClient, OperatingTurnState } from "@evalops/deixic-sdk"; +import { file_deixicpublic_v1_sdk } from "@evalops/deixic-sdk/protocol"; +assert(!("file_deixicpublic_v1_sdk" in sdk)); +assert(!("ConsoleQuerySchema" in sdk)); +assert.equal(file_deixicpublic_v1_sdk.proto.package, "deixicpublic.v1"); assert.equal(typeof OperatingTurnState, "object"); let calls = 0; let completed = false; @@ -102,9 +108,12 @@ assert.equal(task.checkpoint().cursor, "9007199254740993"); await writeFile(resolve(consumer, "smoke.ts"), ` import { createDeixicClient, parseTaskResult, type DeixicClient, type GetThreadInput, type TaskCheckpoint, type TaskResult } from "@evalops/deixic-sdk"; +import type { TaskTurn } from "@evalops/deixic-sdk/protocol"; import { parseAccountBrief, type AccountBrief } from "@evalops/deixic-sdk/examples/account-brief-result"; const parse: (body: string) => AccountBrief = parseAccountBrief; void parse; +const turn: TaskTurn | undefined = undefined; +void turn; const input: GetThreadInput = { channelId: "channel", offset: 0 }; const client: DeixicClient = createDeixicClient({ apiKey: "test-key", diff --git a/sdk/deixic/typescript/src/index.ts b/sdk/deixic/typescript/src/index.ts index f82725f..3d97e56 100644 --- a/sdk/deixic/typescript/src/index.ts +++ b/sdk/deixic/typescript/src/index.ts @@ -162,5 +162,3 @@ export { OperatingTurnState, ReceiptLifecycleState, } from "./protocol.js"; - -export * from "./protocol.js";