Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
777 commits
Select commit Hold shift + click to select a range
05a2c3d
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 3, 2026
52891ed
Merge remote-tracking branch 'origin/v2' into v2
toiroakr Jul 3, 2026
add4c01
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 3, 2026
1e34d7a
feat(cli): add plugin dispatch with shared auth
toiroakr Jun 25, 2026
652eb2b
Merge branch 'v2' into feat/cli-plugin
toiroakr Jul 3, 2026
c9f0b8f
chore: merge v2 into perf/tailortots-template-types
dqn Jul 3, 2026
67ee736
Merge pull request #1640 from tailor-platform/perf/tailortots-templat…
toiroakr Jul 3, 2026
2fb79c6
fix(cli): resolve plugin platform context and harden Windows dispatch
toiroakr Jul 3, 2026
7fed5b0
fix(cli): guard plugin name traversal and cover Windows dispatch in CI
toiroakr Jul 6, 2026
c37907c
test: normalize vitest include paths to forward slashes for Windows
toiroakr Jul 6, 2026
7758b00
test: run CLI plugin tests in a dedicated vitest project
toiroakr Jul 6, 2026
5f2a9a0
Merge pull request #1501 from tailor-platform/feat/cli-plugin
dqn Jul 6, 2026
4b90435
feat(codemod): add v2 strict scalar strings migration entry
dqn Jul 6, 2026
3d3f54e
fix(codemod): surface strict scalar guidance project-wide
dqn Jul 6, 2026
bc2ca50
Merge pull request #1665 from tailor-platform/feat/strict-scalar-codemod
toiroakr Jul 6, 2026
c58073b
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 6, 2026
e0e768d
feat(tailordb): aggregate hooks and validators into type-level scripts
toiroakr Jun 17, 2026
077a6a3
fix(tailordb): keep field create-hook placeholder so type-level hooks…
toiroakr Jun 17, 2026
9ffc3fb
feat(tailordb): add default value support and use optionalOnCreate pr…
toiroakr Jun 30, 2026
7189ba2
chore: run generate
tailor-platform-pr-trigger[bot] Jun 30, 2026
890c6d0
feat(tailordb): add type-level validate with issues() API and simplif…
toiroakr Jul 1, 2026
aa5f504
refactor(tailordb): redesign type-level hooks from per-field mapping …
toiroakr Jul 6, 2026
3ebff9c
refactor(tailordb): replace input/oldRecord with typed oldValue in fi…
toiroakr Jul 6, 2026
0ee32bd
refactor(tailordb): simplify field validate API and remove record-syn…
toiroakr Jul 6, 2026
0274a7b
fix(kysely): include default values in Generated<> wrapping
toiroakr Jul 6, 2026
50c47bd
refactor(template): use .default(0) instead of optional for computed …
toiroakr Jul 6, 2026
47decd9
chore(codemod): add migration entries for TailorDB validate/hook API …
toiroakr Jul 6, 2026
42a5284
docs(tailordb): update hooks and validation docs for new API and shar…
toiroakr Jul 6, 2026
7f2fce9
test(tailordb): assert shared now timestamp between field-level and t…
toiroakr Jul 6, 2026
dbe3b74
fix(parser): add default and validate keys to resolver field schema
toiroakr Jul 7, 2026
07f4ae1
fix(tailordb): mark required fields optionalOnCreate for type-level h…
toiroakr Jul 7, 2026
1abb0a4
fix(tailordb): safely capture _invoker in type-level scripts
toiroakr Jul 7, 2026
ee79079
fix(example): add fullAddress to Customer seed data for Kysely insert…
toiroakr Jul 7, 2026
b5a8fd7
fix(e2e): provide fullAddress in Customer mutations until optionalOnC…
toiroakr Jul 7, 2026
197f942
fix(e2e): remove per-field hooks assertion and provide fullAddress in…
toiroakr Jul 7, 2026
6ea9ad2
fix(tailordb): guard null data in createTailorDBHook, share now acros…
toiroakr Jul 7, 2026
de3ef5e
revert(sdk): restore scalar string field outputs
dqn Jul 7, 2026
e201108
Merge pull request #1684 from tailor-platform/revert/strict-scalar-st…
toiroakr Jul 7, 2026
aecaf8c
feat: adopt politty skill management
dqn Jul 7, 2026
b10afe4
Merge remote-tracking branch 'origin/main' into v2
dqn Jul 8, 2026
4751214
feat: rename TailorDB builder to db.table
dqn Jul 8, 2026
1ab65dc
fix: preserve local db shadows in db.table codemod
dqn Jul 8, 2026
1b3240e
fix: harden db.table codemod review coverage
dqn Jul 8, 2026
645a291
fix: defer db.table codemod to stable boundary
dqn Jul 8, 2026
5fdc144
fix: surface db.table codemod alias gaps
dqn Jul 8, 2026
a44d298
fix: unwrap db expressions in db.table codemod
dqn Jul 8, 2026
631d315
fix: respect switch scopes in db.table codemod
dqn Jul 8, 2026
01df5e9
fix: handle template db.table codemod keys
dqn Jul 8, 2026
75a0c4e
fix: flag namespace db aliases in codemod
dqn Jul 8, 2026
7e3d6c1
fix: run db.table codemod for prereleases
dqn Jul 8, 2026
fe09dfc
fix: flag assigned db aliases in db.table codemod
dqn Jul 8, 2026
1bf18de
fix: migrate type-only db builder references
dqn Jul 8, 2026
696d197
fix: flag parameter db aliases in db.table codemod
dqn Jul 8, 2026
62db39d
fix: migrate TailorDB schema test to db.table
dqn Jul 8, 2026
1a8fd5d
fix: remove stale file stream mock
dqn Jul 8, 2026
55a3d8a
Merge pull request #1686 from tailor-platform/feat/politty-skills-com…
toiroakr Jul 8, 2026
946c10b
Merge remote-tracking branch 'origin/v2' into chore/type-level-hook
toiroakr Jul 9, 2026
c139730
feat(tailordb): split hook types to omit oldValue/oldRecord from crea…
toiroakr Jul 9, 2026
ee35251
fix(sdk): remove openDownloadStream from mockFile to match removed ru…
toiroakr Jul 9, 2026
ad83d8f
Version Packages (next)
tailor-platform-pr-trigger[bot] Jul 9, 2026
5db6e36
Merge pull request #1545 from tailor-platform/changeset-release/v2
toiroakr Jul 9, 2026
12c5180
Merge pull request #1693 from tailor-platform/feat/db-table-api
toiroakr Jul 9, 2026
98cc980
fix(tailordb): align docs, changeset, and codemod with hook type spli…
toiroakr Jul 9, 2026
0063115
fix(cli): resolve extensionless imports of dotted basenames in TS loa…
toiroakr Jul 9, 2026
6d2b46b
Merge remote-tracking branch 'origin/v2' into chore/type-level-hook
toiroakr Jul 9, 2026
4a8b81f
Merge pull request #1700 from tailor-platform/fix/resolve-helper
dqn Jul 9, 2026
9c81d9c
feat: unify runtime subpath namespace exports
dqn Jul 9, 2026
243e62f
fix: handle runtime codemod shorthand properties
dqn Jul 9, 2026
cc469cf
fix: preserve runtime namespace compatibility
dqn Jul 9, 2026
9e29656
fix: cover runtime codemod review gaps
dqn Jul 9, 2026
fadde55
test: cover runtime codemod delete import
dqn Jul 9, 2026
91384e0
fix: preserve runtime codemod type-only imports
dqn Jul 9, 2026
74d92ac
fix: flag dynamic runtime subpath imports
dqn Jul 9, 2026
3d6948b
fix: hide runtime namespace constructor internals
dqn Jul 9, 2026
2f145d5
fix: avoid duplicate runtime codemod imports
dqn Jul 9, 2026
41c6e05
fix: preserve scoped runtime codemod types
dqn Jul 9, 2026
4273958
fix: avoid runtime codemod scoped references
dqn Jul 9, 2026
18fd1e6
fix: flag runtime codemod namespace reexports
dqn Jul 9, 2026
3cb2da8
fix: merge runtime codemod type namespaces
dqn Jul 9, 2026
d1da448
ci(erd): handle base schema incompatibility in ERD viewer preview
toiroakr Jul 9, 2026
bd337c3
fix: stabilize runtime global casts
dqn Jul 9, 2026
4681778
fix(sdk): restore Timestamp Kysely type for date fields
toiroakr Jul 9, 2026
122c725
fix: flag indirect runtime dynamic imports
dqn Jul 9, 2026
b4aa04a
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 9, 2026
f79f4df
fix: preserve runtime codemod import attributes
dqn Jul 9, 2026
1ec488a
fix: flag runtime codemod require imports
dqn Jul 9, 2026
83ebe3c
Merge pull request #1703 from tailor-platform/fix/kysely-date
dqn Jul 9, 2026
7dfd691
refactor: remove runtime namespace type merges
dqn Jul 9, 2026
2da9b37
fix(cli): resolve tsconfig path aliases without baseUrl in ts-hook
toiroakr Jul 9, 2026
958d571
fix(cli): guard non-string tsconfig baseUrl in ts-hook path alias res…
toiroakr Jul 9, 2026
54dcc34
Merge branch 'v2' into fix/path-alias
toiroakr Jul 10, 2026
1b35df2
refactor(runtime): separate wrapper API contracts
dqn Jul 10, 2026
4207481
fix(cli): inherit extended baseUrl and replace paths in ts-hook
toiroakr Jul 10, 2026
58d82ea
feat(runtime): use named-only namespace exports
dqn Jul 10, 2026
1d80f76
Merge pull request #1704 from tailor-platform/feat/runtime-namespace-…
toiroakr Jul 10, 2026
4a05aec
feat(tailordb)!: derive forward relation names from fields
dqn Jul 10, 2026
e542ba6
fix(codemod): catch dynamic forward relation configs
dqn Jul 10, 2026
81c0451
fix(codemod): cover aliased relation builders
dqn Jul 10, 2026
0449dba
fix(codemod): cover indirect relation configurations
dqn Jul 10, 2026
01ed3db
style(cli): fix oxfmt line-wrap drift in ts-hook
toiroakr Jul 10, 2026
3214a51
fix(codemod): cover alternative relation call syntax
dqn Jul 10, 2026
557dd7e
fix(codemod): cover dynamic relation declarations
dqn Jul 10, 2026
7d0e485
fix(cli): skip non-array paths targets and add resolveSync extends co…
toiroakr Jul 10, 2026
1ef020f
test(cli): fix grammar in ts-hook test name
toiroakr Jul 10, 2026
40b7841
fix(cli): skip non-string paths target entries and add resolveSync ma…
toiroakr Jul 10, 2026
282de35
fix(cli): only replace inherited paths when child paths is a valid ob…
toiroakr Jul 10, 2026
348eead
fix(cli): skip wildcard alias with empty normalized targets in ts-hook
toiroakr Jul 10, 2026
4c43000
fix(cli): resolve inherited paths against the final effective baseUrl…
toiroakr Jul 10, 2026
3f3c4a9
fix(tailordb): address review feedback for hook/validator redesign
toiroakr Jul 10, 2026
9f281e8
fix(tailordb): restore strict field path checking in issues() callback
toiroakr Jul 10, 2026
9b16885
Merge pull request #1705 from tailor-platform/fix/path-alias
dqn Jul 10, 2026
66b7c7d
Version Packages (next)
tailor-platform-pr-trigger[bot] Jul 10, 2026
c7d22a1
chore(example): regenerate migration files for hook type changes
toiroakr Jul 10, 2026
e068bb1
Merge pull request #1697 from tailor-platform/changeset-release/v2
toiroakr Jul 10, 2026
d1f8d7a
fix(tailordb): align test helper type hook input with platform runtime
toiroakr Jul 10, 2026
8d2451b
fix(tailordb): apply defaults on null values to match platform nullis…
toiroakr Jul 10, 2026
2ae5854
fix(tailordb): address review feedback for hook args and optionalOnCr…
toiroakr Jul 10, 2026
1c81db8
fix(tailordb): fix test helper default and type hook input alignment
toiroakr Jul 10, 2026
09f5691
fix(executor): align workflow argument contracts
dqn Jul 10, 2026
18c3014
fix(executor): preserve workflow operation normalization
dqn Jul 10, 2026
e5d7906
fix(executor): derive workflow operation types from schemas
dqn Jul 10, 2026
2c0b346
fix: add missing codemod suspicious patterns and fix nested Generated…
toiroakr Jul 11, 2026
4d83356
chore: use oxlint-disable, document hook priority, fix docs example a…
toiroakr Jul 11, 2026
1457518
feat(tailordb): support nested object arrays in type-level defaults a…
toiroakr Jul 11, 2026
eb019c6
feat(example): add ProductBundle with nested array hooks, defaults, v…
toiroakr Jul 11, 2026
245e0ab
fix(tailordb): make type-level hook input types reflect field-level r…
toiroakr Jul 11, 2026
064d18d
test(tailordb): add tests for field-to-type hook input passing and ol…
toiroakr Jul 11, 2026
93a9f59
docs(tailordb): clarify type-level hook input reflects field-level re…
toiroakr Jul 12, 2026
7c35cdc
fix(tailordb): skip defaults on nested object/array inner fields
toiroakr Jul 12, 2026
916d480
fix(tailordb): make .default() on nested inner fields a type error
toiroakr Jul 12, 2026
6968430
fix(tailordb): throw runtime error for .default() on nested inner fields
toiroakr Jul 12, 2026
099e4b2
fix(tailordb): make update hook oldValue non-nullable for required fi…
toiroakr Jul 13, 2026
b7648e4
Merge pull request #1719 from tailor-platform/feat/field-based-forwar…
toiroakr Jul 13, 2026
d7bbe1a
fix(tailordb): use DeepReadonly for nested immutability in hook/valid…
toiroakr Jul 13, 2026
e204d84
refactor(tailordb): use .default("now") for timestamps and respect in…
toiroakr Jul 13, 2026
fe1f7f1
fix(tailordb): block .hooks() on nested inner fields at runtime
toiroakr Jul 13, 2026
f2e1cd6
chore(example): regenerate migrations and templates for timestamps de…
toiroakr Jul 13, 2026
f895bcc
fix(tailordb): add semicolon to nested array forEach in validate scri…
toiroakr Jul 13, 2026
0261724
fix(tailordb): correct migration 0007 update hook to use oldRecord fa…
toiroakr Jul 13, 2026
1f007f9
fix(e2e): increase deploy timeout for migration-heavy PRs
toiroakr Jul 13, 2026
da2af14
Potential fix for pull request finding
toiroakr Jul 13, 2026
d5f5971
fix(deploy): overlay current source scripts onto migration snapshot d…
toiroakr Jul 13, 2026
69bc654
fix(deploy): remove unnecessary script overlay from deploy manifest b…
toiroakr Jul 13, 2026
f0e38ac
chore(cli): upgrade politty to 0.11.2 and simplify skills command wiring
toiroakr Jul 13, 2026
2508282
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 13, 2026
621586b
feat(tailordb): add source script hash for drift detection
toiroakr Jul 13, 2026
1f7b4be
merge: integrate v2 base branch changes
toiroakr Jul 13, 2026
0f89b01
fix(tailordb): restore type hook input from hooked values after v2 merge
toiroakr Jul 13, 2026
2a66a08
chore(example): consolidate migrations to one per namespace
toiroakr Jul 13, 2026
38ef07f
ci: point ERD schema actions at v2-compatible commit
toiroakr Jul 13, 2026
e1d9b75
Merge branch 'v2' into chore/type-level-hook
toiroakr Jul 13, 2026
c74e5d9
fix(tailordb): detect type-level hook/validate changes in migration d…
toiroakr Jul 13, 2026
cc3601c
Merge remote-tracking branch 'origin/v2' into chore/skills
toiroakr Jul 14, 2026
48f8790
fix(tailordb): handle trailing whitespace in source hash extraction a…
toiroakr Jul 14, 2026
6e39648
fix(tailordb): address remaining review feedback
toiroakr Jul 14, 2026
bb67866
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 14, 2026
4cf9f65
Merge pull request #1678 from tailor-platform/chore/type-level-hook
dqn Jul 14, 2026
a388db3
Merge pull request #1749 from tailor-platform/chore/skills
dqn Jul 14, 2026
2217be7
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 14, 2026
f8fbf21
Merge remote-tracking branch 'origin/v2' into v2
toiroakr Jul 14, 2026
5a15e7b
Version Packages (next)
tailor-platform-pr-trigger[bot] Jul 14, 2026
206d1e9
feat(sdk): expose loadTailorDBNamespaces and deployStaticWebsite from…
dqn Jul 14, 2026
5b3cf5e
feat(sdk-tailordb-erd-plugin): add tailor-tailordb-erd CLI plugin pac…
dqn Jul 14, 2026
7338457
feat(sdk)!: dispatch tailordb erd to the sdk-tailordb-erd-plugin CLI …
dqn Jul 14, 2026
7349e30
refactor(sdk-tailordb-erd-plugin): merge duplicate type imports
dqn Jul 14, 2026
ec81931
fix(sdk-tailordb-erd-plugin): render SDK CLIError details in plugin e…
dqn Jul 14, 2026
144d725
fix(ci): build the ERD plugin before running erd-schema jobs
dqn Jul 14, 2026
e245c45
fix(sdk): resolve plugin context from forwarded --profile and align p…
dqn Jul 15, 2026
31e30b0
fix(ci): publish the ERD plugin in pkg.pr.new previews and document p…
dqn Jul 15, 2026
56146ed
fix(sdk): skip platform context injection when a plugin gets an expli…
dqn Jul 15, 2026
048a6fb
test(sdk): cover profile-aware and env-file-aware plugin context inje…
dqn Jul 15, 2026
31d3092
docs(sdk): drop npm links to the unpublished ERD plugin package
dqn Jul 15, 2026
f32bc7e
Merge pull request #1740 from tailor-platform/changeset-release/v2
toiroakr Jul 15, 2026
b1c2fba
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 15, 2026
878de91
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 15, 2026
1316447
fix(tailordb): make issues() field param non-generic
toiroakr Jul 15, 2026
76f6887
fix(tailordb): drop rationale comment from issues() field param
toiroakr Jul 15, 2026
d135703
test(tailordb): rename cross-factory assignability test to match scope
toiroakr Jul 15, 2026
9f4e13c
Merge branch 'v2' into fix/workflow-executor-args-contract
dqn Jul 15, 2026
2b54269
Merge pull request #1780 from tailor-platform/fix/issues-api
dqn Jul 15, 2026
c971797
fix(workflow): remove pre-alignment trigger* names, rename .trigger()…
toiroakr Jul 15, 2026
a43db5c
Merge pull request #1733 from tailor-platform/fix/workflow-executor-a…
toiroakr Jul 15, 2026
6bc5b57
ci(link-check): exclude the not-yet-merged startWorkflow.ts example link
toiroakr Jul 15, 2026
37faa2b
Merge remote-tracking branch 'origin/v2' into remove/workflow-deprecated
toiroakr Jul 15, 2026
d5bdf4e
fix(workflow): address Copilot review findings on the start() rename
toiroakr Jul 15, 2026
fb43e4f
docs(sdk): place plugin arg-scan JSDoc above the functions they document
dqn Jul 15, 2026
74a145f
test(sdk): pin platform-context skip for a missing --env-file-if-exis…
dqn Jul 15, 2026
6e28e06
refactor(sdk): extract the plugin install hint into a testable dispat…
dqn Jul 15, 2026
c1fc67c
fix(sdk): list only missing namespaces in the not-found error
dqn Jul 15, 2026
ef71728
docs: point ERD plugin installs at the next dist-tag
dqn Jul 15, 2026
f4df095
ci: publish sdk-tailordb-erd-plugin previews to pkg.pr.new
dqn Jul 15, 2026
78908f3
Merge remote-tracking branch 'origin/v2' into feat/sdk-tailordb-erd-p…
dqn Jul 15, 2026
5da2674
fix(workflow): whitespace-tolerant start-call detection, stale comments
toiroakr Jul 15, 2026
e81a571
fix(deps): align the ERD plugin's tsdown with the workspace
dqn Jul 15, 2026
106fbbf
ci: stub the ERD plugin bin target before install
dqn Jul 15, 2026
815e468
fix(workflow): tolerate comments between .start and ( in start-call d…
toiroakr Jul 15, 2026
3bdf313
refactor(workflow): rename internal Trigger* naming to Start* to matc…
toiroakr Jul 16, 2026
c496b4c
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 16, 2026
05f188c
fix(sdk-codemod): drop unreachable .start( suspiciousPattern from wor…
toiroakr Jul 16, 2026
f021f64
Merge pull request #1776 from tailor-platform/feat/sdk-tailordb-erd-p…
toiroakr Jul 16, 2026
898d0b0
fix(codemod): align v2 prerelease codemod boundaries with actual rele…
toiroakr Jul 16, 2026
8fd2dbf
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 16, 2026
56d776e
refactor(cli): remove legacy bundle artifact cleanup shim
toiroakr Jul 16, 2026
da7d0c4
chore: add changeset
toiroakr Jul 16, 2026
6653afd
feat(codemod): auto-resolve pending prerelease codemod boundaries in CI
toiroakr Jul 16, 2026
36ad006
feat(sdk)!: remove generate --watch flag
toiroakr Jul 16, 2026
88110dc
fix(codemod): address Copilot review on the pending-boundary resolver
toiroakr Jul 16, 2026
c7f3256
docs(codemod): explain why V2_NEXT_PENDING must stay export const
toiroakr Jul 16, 2026
e4db171
chore(sdk): remove stale generate:watch script and add v2 codemod
toiroakr Jul 16, 2026
1a1f944
fix(codemod): use a portable base64 invocation in the pending-boundar…
toiroakr Jul 16, 2026
8faa529
fix(sdk): restore loadConfig importNonce option
toiroakr Jul 16, 2026
97ced1d
fix(codemod): harden the pending-boundary resolver against dirty chec…
toiroakr Jul 16, 2026
6da187a
docs(codemod): document legacy bundle cleanup removal as a v2 notice
toiroakr Jul 16, 2026
077578a
fix(codemod): tolerate non-canonical formatting and avoid mutating a …
toiroakr Jul 16, 2026
e1ba78c
Merge pull request #1789 from tailor-platform/remove/watch
dqn Jul 16, 2026
02c1f62
fix(workflow): genericize the bundle-cache extra-context field name
toiroakr Jul 16, 2026
28bf508
Version Packages (next)
tailor-platform-pr-trigger[bot] Jul 16, 2026
8b63980
docs(sdk-codemod): explain why workflow-start-rename stays manual
toiroakr Jul 16, 2026
1702f16
Merge remote-tracking branch 'origin/v2' into remove/workflow-deprecated
toiroakr Jul 16, 2026
0a76d02
fix(sdk-codemod): rename invoker to authInvoker on renamed triggerWor…
toiroakr Jul 16, 2026
44d537e
test(workflow): rename stale trigger wording in mock.test.ts
toiroakr Jul 16, 2026
054d4c8
docs: rewrite changeset from a user-facing perspective
toiroakr Jul 16, 2026
d8406fb
Merge remote-tracking branch 'origin/v2' into fix/next5-mod
toiroakr Jul 16, 2026
a32ae97
fix(codemod): tolerate whitespace in export/const spacing and existin…
toiroakr Jul 16, 2026
c56c35b
fix(codemod): preserve the source's EOL style when inserting a new co…
toiroakr Jul 16, 2026
32f6711
fix(codemod): tolerate whitespace before the colon in the pending usa…
toiroakr Jul 16, 2026
ff2dfdf
fix(codemod): scope the legacy cleanup guidance to specific files
toiroakr Jul 17, 2026
4b07bc0
fix(codemod): discard changesets/action's uncommitted worktree edits …
toiroakr Jul 17, 2026
59894e8
docs(codemod): fix the V2_NEXT_PENDING rationale in its JSDoc
toiroakr Jul 17, 2026
6445dce
fix(codemod): skip (not throw) when a release jumps straight to stable
toiroakr Jul 17, 2026
b1d1931
fix(workflow): allow Workflow.start() with no args when input is unde…
toiroakr Jul 17, 2026
eb0bfe6
fix(sdk-codemod): scope new workflow rename entries to the shipping p…
toiroakr Jul 17, 2026
01f6daf
fix(sdk-codemod): skip renaming triggerWorkflow calls with non-litera…
toiroakr Jul 17, 2026
502963f
Merge pull request #1779 from tailor-platform/changeset-release/v2
toiroakr Jul 17, 2026
613df9f
chore: rename sdk-tailordb-erd-plugin package to sdk-plugin-tailordb-erd
toiroakr Jul 17, 2026
ee382c7
chore: add changesets for the plugin package rename
toiroakr Jul 17, 2026
5f90db7
Merge pull request #1788 from tailor-platform/remove/legacy-artifact
dqn Jul 17, 2026
7a45549
Merge pull request #1782 from tailor-platform/remove/workflow-deprecated
dqn Jul 17, 2026
a550cfe
Merge pull request #1787 from tailor-platform/fix/next5-mod
dqn Jul 17, 2026
52c1335
Merge pull request #1801 from tailor-platform/rename-sdk-plugin
dqn Jul 17, 2026
5325aa8
Merge remote-tracking branch 'origin/main' into v2
toiroakr Jul 18, 2026
dd88fab
ci(release): clean untracked changeset outputs before release-PR chec…
toiroakr Jul 18, 2026
9d8ce53
fix(codemod): mark workflow-start-rename boundary as pending until it…
toiroakr Jul 18, 2026
f94c9f2
Version Packages (next)
tailor-platform-pr-trigger[bot] Jul 18, 2026
1acc75b
chore(codemod): resolve pending prerelease boundary
tailor-platform-pr-trigger[bot] Jul 18, 2026
8d6aaab
Merge pull request #1804 from tailor-platform/changeset-release/v2
toiroakr Jul 19, 2026
61ac76c
fix(sdk): keep permission operand keys usable when Attributes fields …
toiroakr Jul 19, 2026
774fee2
Merge branch 'v2' of github.com:tailor-platform/sdk into v2
toiroakr Jul 19, 2026
3a6041c
Version Packages (next)
tailor-platform-pr-trigger[bot] Jul 19, 2026
a2fa202
Merge pull request #1810 from tailor-platform/changeset-release/v2
toiroakr Jul 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .agents/rules/schema-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ modules** — files named `types.ts` (or `*.types.ts` under `configure/`):
| `parser/service/tailordb/types.ts` | Parsed data structures (`TailorDBType`, `ParsedField`, permissions, ...) |
| `parser/service/idp/types.ts` | Normalized IdP permission types shared by parser and CLI |
| `plugin/types.ts` | Plugin authoring types, generation hook contexts, generator config |
| `runtime/types.ts` | Runtime principal/env types (`TailorUser`, `TailorActor`, `TailorEnv`) |
| `runtime/types.ts` | Runtime principal/env types (`TailorPrincipal`, `TailorEnv`) |

Rules for pure type modules (enforced by oxlint):

Expand Down
15 changes: 15 additions & 0 deletions .agents/rules/sdk-internals.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# SDK Internals

## API Naming: `define*` vs `create*`

Public functions in `src/configure/` follow a strict naming convention.

| Prefix | Meaning | Output | Where used |
| --------- | --------------------------------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| `define*` | Declarative resource specification | Pure data/config struct (no SDK-managed runtime methods) | `tailor.config.ts` as resource entries |
| `create*` | Instantiation of a runtime-capable unit | Object with runtime-capable methods (`trigger`, `wait`, `resolve`) or user-written `body` function | Standalone files as default/named exports, or inside workflow job bodies |

**`define*` examples:** `defineConfig`, `defineAuth`, `defineIdp`, `defineStaticWebSite`, `defineAIGateway`, `defineSecretManager`, `definePlugins`

**`create*` examples:** `createResolver`, `createExecutor`, `createWorkflow`, `createWorkflowJob`, `createWaitPoint`, `createWaitPoints`, `createHttpAdapter`

Decision rule: if the result has a method that calls the platform at runtime (`.trigger()`, `.wait()`, `.resolve()`, etc.) or carries a user-written `body` function, use `create*`. If the result is purely a typed config object that tooling/deployer reads, use `define*`.

## Module Architecture and Import Rules

The SDK enforces strict module boundaries to maintain a clean architecture:
Expand Down
4 changes: 2 additions & 2 deletions .agents/skills/e2e-test/AUTH.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ Official reference: [Tailor SDK user and login commands](https://docs.tailor.tec
## Authentication Order

1. If a trusted caller supplied `TAILOR_PLATFORM_TOKEN`, use it without printing or persisting it.
2. Otherwise run `pnpm exec tailor-sdk workspace list`. A config-backed user access token refreshes
2. Otherwise run `pnpm exec tailor workspace list`. A config-backed user access token refreshes
automatically while its refresh token remains valid.
3. If the command reports `Failed to refresh token. Your session may have expired.`, do not assume
expiry is the only cause; revocation, service errors, and network failures can produce the same
message. Report the raw error.
4. When login recovery is required, ask the user to run `pnpm exec tailor-sdk login`. Browser login
4. When login recovery is required, ask the user to run `pnpm exec tailor login`. Browser login
is a user-only action, then the agent can retry the original verification command.

Never read, copy, print, persist, or edit the refresh token. An environment access token has no
Expand Down
16 changes: 8 additions & 8 deletions .agents/skills/e2e-test/SUITES.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Confirm the saved workspace still hosts `my-app`:
```sh
/bin/bash .agents/skills/e2e-test/scripts/with-e2e-ids.sh \
.agents/skills/e2e-test/ids.local.env -- \
pnpm exec tailor-sdk workspace app list
pnpm exec tailor workspace app list
```

Treat a reused workspace as shared until its users and ownership are known. List its Platform users
Expand All @@ -21,25 +21,25 @@ before any redeploy:
```sh
/bin/bash .agents/skills/e2e-test/scripts/with-e2e-ids.sh \
.agents/skills/e2e-test/ids.local.env -- \
pnpm exec tailor-sdk workspace user list
pnpm exec tailor workspace user list
```

If another person or automation may rely on it, ask the user before changing it. With a valid
profile, run both checks with the same `TAILOR_PLATFORM_PROFILE` instead of the ID loader.

If the workspace is missing or no longer hosts the application:

1. Verify login with `pnpm exec tailor-sdk workspace list`.
1. Verify login with `pnpm exec tailor workspace list`.
2. Resolve existing organization and folder IDs only when they are not saved:
```sh
pnpm exec tailor-sdk organization list
pnpm exec tailor-sdk organization folder list --organization-id <organization-id>
pnpm exec tailor organization list
pnpm exec tailor organization folder list --organization-id <organization-id>
```
3. Ask before creating a long-lived workspace. Use `example-e2e` unless it collides.
4. Save its ID to `ids.local.env`, set mode `0600`, deploy, and confirm `my-app`:
```sh
TAILOR_PLATFORM_WORKSPACE_ID=<workspace-id> pnpm --filter example run deploy
pnpm exec tailor-sdk workspace app list --workspace-id <workspace-id>
pnpm exec tailor workspace app list --workspace-id <workspace-id>
```

Use `run deploy`; pnpm's built-in `deploy` shadows the package script when `run` is omitted.
Expand Down Expand Up @@ -70,8 +70,8 @@ This suite creates disposable workspaces and uses `TAILOR_PLATFORM_ORGANIZATION_
If either ID is missing, discover an existing value and save it to `ids.local.env` with mode `0600`:

```sh
pnpm exec tailor-sdk organization list
pnpm exec tailor-sdk organization folder list --organization-id <organization-id>
pnpm exec tailor organization list
pnpm exec tailor organization folder list --organization-id <organization-id>
```

Run through the wrapper so every workspace created for the run receives one namespace and cleanup is
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/e2e-test/scripts/run-sdk-e2e.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ fi
test_pid=""
trap - HUP INT TERM

"$cleanup_node" "$workspace_cleanup" "$run_id" -- pnpm exec tailor-sdk
"$cleanup_node" "$workspace_cleanup" "$run_id" -- pnpm exec tailor
cleanup_status=$?

echo "E2E test status: $test_status; cleanup status: $cleanup_status" >&2
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/e2e-test/test/fixtures/bin/pnpm
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ if [[ ${1:-} == "run" && ${2:-} == "test:e2e" ]]; then
exit "${E2E_TEST_STATUS:-0}"
fi

if [[ ${1:-} == "exec" && ${2:-} == "tailor-sdk" ]]; then
if [[ ${1:-} == "exec" && ${2:-} == "tailor" ]]; then
shift 2
exec "$E2E_FAKE_NODE" "$E2E_FAKE_CLI" "$@"
fi
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/e2e-test/test/skill.test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ cleanup_helper="$skill_dir/scripts/cleanup-e2e-workspaces.mjs"
ids_helper="$skill_dir/scripts/with-e2e-ids.sh"
runner="$skill_dir/scripts/run-sdk-e2e.sh"
fixtures="$skill_dir/test/fixtures"
fake_cli="$fixtures/fake-tailor-sdk.mjs"
fake_cli="$fixtures/fake-tailor.mjs"
fake_pnpm_source="$fixtures/bin/pnpm"

fail() {
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/llm-challenge/CREATING_PROBLEMS.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Rules:
- `verify.json`, when present, contains visible minimum-correctness checks only. Checks should encode conditions where missing evidence is definitely wrong, similar to type checking; do not put ideal implementations, hidden answers, scores, or broad quality judgments there.
- Write `prompt.md` in English.
- For `sdk-api`, do not include SDK API names, imports, code examples, or direct solution hints.
- For `cli`, the prompt may name the `tailor-sdk` binary, but must not name the target subcommand or exact arguments.
- For `cli`, the prompt may name the `tailor` binary, but must not name the target subcommand or exact arguments.
- Keep `scaffold/` minimal and runnable enough for the task. Do not add `solution/`, evaluator tests, scoring metadata, or hidden hints.

Validate discovery and focused behavior with narrow tests or a targeted dry run when practical.
1 change: 1 addition & 0 deletions .agents/skills/tailor
1 change: 0 additions & 1 deletion .agents/skills/tailor-sdk

This file was deleted.

5 changes: 5 additions & 0 deletions .changeset/add-erd-plugin-package.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk-plugin-tailordb-erd": minor
---

New Tailor CLI plugin providing the `tailor tailordb erd` commands (export, diff, serve, deploy), extracted from `@tailor-platform/sdk`.
5 changes: 5 additions & 0 deletions .changeset/apply-deploy-source-strings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk-codemod": patch
---

Rewrite `tailor-sdk apply` to `tailor-sdk deploy` in source files that contain embedded CLI command strings.
7 changes: 7 additions & 0 deletions .changeset/auth-attributes-rename.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@tailor-platform/sdk": major
"@tailor-platform/create-sdk": patch
"@tailor-platform/sdk-codemod": patch
---

Rename auth attribute module augmentation from `AttributeMap` to `Attributes`.
5 changes: 5 additions & 0 deletions .changeset/cli-plugin-schema-api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": minor
---

Add `loadTailorDBNamespaces`, `deployStaticWebsite`, `assertWritable`, and `isPluginGeneratedType` (with their related types) to `@tailor-platform/sdk/cli`, so CLI plugins and scripts can load local TailorDB schema data and deploy static websites through the public API.
10 changes: 10 additions & 0 deletions .changeset/cli-plugins.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
"@tailor-platform/sdk": minor
---

Add CLI plugin support (beta). Running `tailor <name>` for an unknown subcommand now executes an external `tailor-<name>` executable found on your PATH or in `node_modules/.bin` (project-local takes precedence), forwarding all following arguments. This also works for unknown subcommands nested under a known command — e.g. `tailor tailordb erd` dispatches to `tailor-tailordb-erd`. Builtins always take precedence, matching stops at the first unknown segment, and a command that takes its own arguments is never replaced by a plugin. The plugin receives the current Tailor Platform context via environment variables (`TAILOR_PLATFORM_TOKEN`, `TAILOR_PLATFORM_URL`, `TAILOR_PLATFORM_OAUTH2_CLIENT_ID`, `TAILOR_PLATFORM_WORKSPACE_ID`, `TAILOR_PLATFORM_USER`, `TAILOR_CONFIG_PATH`, `TAILOR_VERSION`, `TAILOR_BIN`); token, workspace, and user are best-effort, so auth-free plugins still run when you are not logged in. When the forwarded arguments include an explicit `--profile`/`-p`, the injected context is resolved for that profile; when they include `--env-file`/`-e`/`--env-file-if-exists`, platform context injection is skipped so the env file's values take effect in the plugin.

Also adds:

- `tailor auth token` — print a valid access token (refreshing it if expired) for use by plugins and scripts.
- `tailor plugin list` — list discovered plugins and their executable paths.
5 changes: 5 additions & 0 deletions .changeset/codemod-llm-review.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk-codemod": patch
---

Add LLM-assisted review support to the codemod runner. A codemod can declare `suspiciousPatterns` plus a `prompt`; after running, files whose post-transform content still matches a suspicious pattern are reported as `llmReviews` (in the JSON output and on stderr) together with the codemod's migration prompt. This surfaces the cases a deterministic transform cannot safely complete (e.g. a value reached through a variable) so they can be finished with an LLM. The `auth.invoker(...)` codemod adopts this for its non-literal-argument cases.
10 changes: 10 additions & 0 deletions .changeset/codemod-migration-docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
"@tailor-platform/sdk-codemod": patch
"@tailor-platform/sdk": patch
---

Generate the v2 migration guide (`packages/sdk/docs/migration/v2.md`) from the codemod registry, which is the single source of truth. Each entry renders its name, automation level (Automatic / Partially automatic / Manual), description, optional before/after `examples`, and — for changes the codemods cannot fully migrate on their own — the LLM/manual migration prompt. Run `pnpm codemod:docs:update` to regenerate and `pnpm codemod:docs:check` (wired into `pnpm check`) to verify it is in sync.

`scriptPath` is now optional, so the registry can also describe codemod-less ("manual") migrations that ship only guidance (`examples` / `prompt` / `suspiciousPatterns`) with no automatic transform. A manual entry with a `prompt` but no scoping pattern is surfaced as a project-wide `llmReviews` entry at runtime.

Add a `sdk-codemod list` command that prints every registered rule (id, name, kind, version range).
5 changes: 5 additions & 0 deletions .changeset/codemod-residual-matching.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk-codemod": patch
---

Reduce false-positive v2 codemod warnings and LLM-review prompts from source comments, string literals, and identifier substring matches.
5 changes: 5 additions & 0 deletions .changeset/codemod-runner-metadata.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk-codemod": patch
---

Report the codemod runner identity in the JSON summary, including the source checkout commit and local build command when run from a branch build, so prerelease migration validation can distinguish exact npm packages from branch-head behavior.
18 changes: 18 additions & 0 deletions .changeset/db-table-builder.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
"@tailor-platform/sdk": major
"@tailor-platform/create-sdk": major
"@tailor-platform/sdk-codemod": patch
---

Rename the TailorDB schema builder from `db.type()` to `db.table()`.

Update TailorDB definitions:

```diff
import { db } from "@tailor-platform/sdk";

-export const user = db.type("User", {
+export const user = db.table("User", {
name: db.string(),
});
```
8 changes: 8 additions & 0 deletions .changeset/execute-script-json-arg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@tailor-platform/sdk": major
"@tailor-platform/sdk-codemod": patch
---

`executeScript` now takes its `arg` as a JSON-serializable value instead of a pre-serialized JSON string. Pass the value directly (e.g. `arg: { a: 1 }`) instead of `arg: JSON.stringify({ a: 1 })`.

Add the `v2/execute-script-arg` codemod, which unwraps `JSON.stringify(...)` passed as the `executeScript` `arg` option. Indirect forms (a stringified value held in a variable, etc.) cannot be rewritten automatically and are surfaced as an LLM-assisted review task with a migration prompt.
5 changes: 5 additions & 0 deletions .changeset/execute-script-review-scope.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk-codemod": patch
---

Reduce noisy `executeScript` LLM-review prompts by flagging files only when unresolved `arg` stringification remains likely.
5 changes: 5 additions & 0 deletions .changeset/extract-erd-plugin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": major
---

Remove the built-in `tailordb erd` commands. They are now provided by the `@tailor-platform/sdk-plugin-tailordb-erd` CLI plugin: install it with `npm install -D @tailor-platform/sdk-plugin-tailordb-erd` and keep running `tailor tailordb erd <command>` as before — the CLI dispatches to the plugin automatically and suggests the install command when the plugin is missing. The `erdSite` TailorDB setting is unchanged.
5 changes: 5 additions & 0 deletions .changeset/field-parse-runtime-layer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": patch
---

Fix `tailor function test-run` crashing with `TypeError: Cannot convert undefined or null to object` when `--arg` is a non-object JSON value such as `null`. The argument is now forwarded to the server, which reports the validation error. Local input validation also runs the same logic as deployed resolvers.
5 changes: 5 additions & 0 deletions .changeset/fix-mockfile-open-download-stream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": patch
---

Remove the `openDownloadStream` method from `mockFile()` (`@tailor-platform/sdk/vitest`), matching the runtime file API, which no longer exposes it. Use `downloadStream` instead.
5 changes: 5 additions & 0 deletions .changeset/fix-next5-codemod-boundaries.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk-codemod": patch
---

Fix `tailor upgrade` reporting zero codemods across several v2 prerelease boundaries. `v2/db-type-to-table` and `v2/runtime-subpath-namespace` now trigger at `2.0.0-next.4` (where they actually shipped) instead of `2.0.0-next.3`, and `v2/forward-relation-name`, `v2/tailordb-validate-simplify`, and `v2/tailordb-hook-redesign` now trigger at `2.0.0-next.5` instead of `2.0.0-next.4`.
5 changes: 5 additions & 0 deletions .changeset/fix-optional-attributes-permission-keys.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": patch
---

Fix IdP and TailorDB permission condition types breaking when `Attributes` fields are optional. Since machine user attribute keys started mirroring the source field's optionality, the `user` operand key helpers leaked `undefined` into their key unions — failing typecheck against the generated permission types even for `_loggedIn`-only conditions — and rejected attribute keys derived from optional fields. Optional attribute fields are now valid operand keys and `undefined` no longer appears in the unions.
5 changes: 5 additions & 0 deletions .changeset/fix-rename-bin-source-files.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk-codemod": patch
---

Apply the v2 `rename-bin` codemod to SDK CLI command strings in TypeScript and JavaScript source files.
5 changes: 5 additions & 0 deletions .changeset/fix-ts-hook-dotted-basename.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": patch
---

Fix `tailor` CLI failing with `ERR_MODULE_NOT_FOUND` when resolving extensionless relative imports of files whose basename contains a dot (e.g. `./permissions.generated`).
5 changes: 5 additions & 0 deletions .changeset/fix-ts-hook-paths-without-baseurl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": patch
---

Fix `tailor` CLI failing with `ERR_MODULE_NOT_FOUND` when resolving `tsconfig.json` path aliases (`compilerOptions.paths`) in projects that omit `baseUrl`, which is the standard style since TypeScript 5.0. Also fix path alias resolution to match TypeScript's `extends` behavior: a child config's `baseUrl` is now correctly inherited from an extended config, and a child config's own `paths` now replaces (rather than merges with) inherited `paths`.
5 changes: 5 additions & 0 deletions .changeset/fix-v2-prerelease-codemods.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk-codemod": patch
---

Run v2 codemods when the target version is a v2 prerelease.
5 changes: 5 additions & 0 deletions .changeset/fix-validate-issues-generic-field.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": patch
---

Fix a spurious `TS2719` type error when a `db.table()` type built with custom fields is passed across module boundaries (e.g. into another package's factory function) and its `.validate()` callback's `issues()` field parameter is compared for assignability. The `issues()` field argument type no longer uses a self-generic parameter, so structurally-equal `TailorDBType` instances derived through different generic instantiation paths are recognized as compatible.
8 changes: 8 additions & 0 deletions .changeset/forward-relation-name.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@tailor-platform/sdk": major
"@tailor-platform/sdk-codemod": patch
---

Derive default TailorDB forward relation names from the relation field name by removing a trailing `ID`, `Id`, or `id`, instead of deriving them from the target table name.

The v2 migration review identifies non-self relations without `toward.as`. Add an explicit name to preserve the v1 GraphQL field name, or update consumers to use the new field-based name.
5 changes: 5 additions & 0 deletions .changeset/generate-watch-codemod.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk-codemod": patch
---

Flag `tailor generate --watch` / `-W` invocations and programmatic `generate({ watch })` usage for manual review as part of the v2 migration (the flag and its dependency watcher are removed in `@tailor-platform/sdk` v2).
9 changes: 9 additions & 0 deletions .changeset/invoker-option-rename.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@tailor-platform/sdk": major
"@tailor-platform/sdk-codemod": patch
"@tailor-platform/create-sdk": patch
---

Rename resolver, executor, workflow trigger, and typed workflow start machine-user options from `authInvoker` to `invoker`.

Update create-sdk templates and the v2 auth invoker codemod to generate the new `invoker` option.
5 changes: 5 additions & 0 deletions .changeset/keyring-default-storage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": major
---

Store CLI login tokens in the OS keyring by default when available. If the keyring is unavailable, tokens are stored in the platform config file.
5 changes: 5 additions & 0 deletions .changeset/kysely-date-timestamp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": patch
---

Fix generated Kysely types for `db.date()` fields to use `Timestamp` instead of `string`, matching `db.datetime()` and allowing `insertInto`/`updateTable` calls to accept a `Date` value.
5 changes: 5 additions & 0 deletions .changeset/open-download-review-scope.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk-codemod": patch
---

Limit the `openDownloadStream` migration review prompt to files that reference deprecated download stream APIs.
5 changes: 5 additions & 0 deletions .changeset/parser-schema-strict.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": major
---

Reject unknown keys in SDK parser schemas instead of silently dropping them from application definitions.
5 changes: 5 additions & 0 deletions .changeset/politty-skill-command-cleanup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@tailor-platform/sdk": patch
---

Upgrade politty to 0.11.2 and simplify the `skills` command wiring to use its new `globalArgs`/`commandMap`/`unknownKeys` customization options instead of hand-rolled schema rewriting.
6 changes: 6 additions & 0 deletions .changeset/politty-skill-management.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@tailor-platform/sdk": major
"@tailor-platform/sdk-codemod": patch
---

Replace `tailor skills install` with project-local `tailor skills add`, `list`, `remove`, and `sync` commands for bundled Tailor SDK agent skills.
Loading
Loading