@haustle/notion-orm 0.0.44 → 0.0.45
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/README.md +449 -109
- package/build/src/agents-sdk-resolver.d.ts +8 -0
- package/build/src/agents-sdk-resolver.d.ts.map +1 -0
- package/build/src/agents-sdk-resolver.js +23 -0
- package/build/src/agents-sdk-resolver.js.map +1 -0
- package/build/src/ast/agents/agent-file-writer.d.ts +21 -0
- package/build/src/ast/agents/agent-file-writer.d.ts.map +1 -0
- package/build/src/ast/agents/agent-file-writer.js +99 -0
- package/build/src/ast/agents/agent-file-writer.js.map +1 -0
- package/build/src/ast/agents/generate-agents-cli.d.ts +24 -0
- package/build/src/ast/agents/generate-agents-cli.d.ts.map +1 -0
- package/build/src/ast/agents/generate-agents-cli.js +193 -0
- package/build/src/ast/agents/generate-agents-cli.js.map +1 -0
- package/build/src/ast/database/database-file-writer.d.ts +37 -0
- package/build/src/ast/database/database-file-writer.d.ts.map +1 -0
- package/build/src/ast/database/database-file-writer.js +240 -0
- package/build/src/ast/database/database-file-writer.js.map +1 -0
- package/build/src/ast/database/generate-databases-cli.d.ts +27 -0
- package/build/src/ast/database/generate-databases-cli.d.ts.map +1 -0
- package/build/src/ast/database/generate-databases-cli.js +141 -0
- package/build/src/ast/database/generate-databases-cli.js.map +1 -0
- package/build/src/ast/database/notion-column-generators.d.ts +180 -0
- package/build/src/ast/database/notion-column-generators.d.ts.map +1 -0
- package/build/src/ast/database/notion-column-generators.js +269 -0
- package/build/src/ast/database/notion-column-generators.js.map +1 -0
- package/build/src/ast/database/zod-schema.d.ts +17 -0
- package/build/src/ast/database/zod-schema.d.ts.map +1 -0
- package/build/src/ast/database/zod-schema.js +5 -0
- package/build/src/ast/database/zod-schema.js.map +1 -0
- package/build/src/ast/demo/datasource-fixture-builder.d.ts +38 -0
- package/build/src/ast/demo/datasource-fixture-builder.d.ts.map +1 -0
- package/build/src/ast/demo/datasource-fixture-builder.js +274 -0
- package/build/src/ast/demo/datasource-fixture-builder.js.map +1 -0
- package/build/src/ast/demo/demo-entry-builders.d.ts +28 -0
- package/build/src/ast/demo/demo-entry-builders.d.ts.map +1 -0
- package/build/src/ast/demo/demo-entry-builders.js +133 -0
- package/build/src/ast/demo/demo-entry-builders.js.map +1 -0
- package/build/src/ast/demo/demo-playground-spec.d.ts +51 -0
- package/build/src/ast/demo/demo-playground-spec.d.ts.map +1 -0
- package/build/src/ast/demo/demo-playground-spec.js +91 -0
- package/build/src/ast/demo/demo-playground-spec.js.map +1 -0
- package/build/src/ast/demo/demo-workspace-builder.d.ts +24 -0
- package/build/src/ast/demo/demo-workspace-builder.d.ts.map +1 -0
- package/build/src/ast/demo/demo-workspace-builder.js +90 -0
- package/build/src/ast/demo/demo-workspace-builder.js.map +1 -0
- package/build/src/ast/shared/ast-builders.d.ts +112 -0
- package/build/src/ast/shared/ast-builders.d.ts.map +1 -0
- package/build/src/ast/shared/ast-builders.js +181 -0
- package/build/src/ast/shared/ast-builders.js.map +1 -0
- package/build/src/ast/shared/cached-metadata.d.ts +26 -0
- package/build/src/ast/shared/cached-metadata.d.ts.map +1 -0
- package/build/src/ast/shared/cached-metadata.js +76 -0
- package/build/src/ast/shared/cached-metadata.js.map +1 -0
- package/build/src/ast/shared/codegen-diagnostics.d.ts +23 -0
- package/build/src/ast/shared/codegen-diagnostics.d.ts.map +1 -0
- package/build/src/ast/shared/codegen-diagnostics.js +13 -0
- package/build/src/ast/shared/codegen-diagnostics.js.map +1 -0
- package/build/src/ast/shared/codegen-environment.d.ts +37 -0
- package/build/src/ast/shared/codegen-environment.d.ts.map +1 -0
- package/build/src/ast/shared/codegen-environment.js +53 -0
- package/build/src/ast/shared/codegen-environment.js.map +1 -0
- package/build/src/ast/shared/constants.d.ts +98 -0
- package/build/src/ast/shared/constants.d.ts.map +1 -0
- package/build/src/ast/shared/constants.js +145 -0
- package/build/src/ast/shared/constants.js.map +1 -0
- package/build/src/ast/shared/emit/config-emitter.d.ts +56 -0
- package/build/src/ast/shared/emit/config-emitter.d.ts.map +1 -0
- package/build/src/ast/shared/emit/config-emitter.js +454 -0
- package/build/src/ast/shared/emit/config-emitter.js.map +1 -0
- package/build/src/ast/shared/emit/emit-value-as-expression.d.ts +10 -0
- package/build/src/ast/shared/emit/emit-value-as-expression.d.ts.map +1 -0
- package/build/src/ast/shared/emit/emit-value-as-expression.js +37 -0
- package/build/src/ast/shared/emit/emit-value-as-expression.js.map +1 -0
- package/build/src/ast/shared/emit/orm-index-emitter.d.ts +61 -0
- package/build/src/ast/shared/emit/orm-index-emitter.d.ts.map +1 -0
- package/build/src/ast/shared/emit/orm-index-emitter.js +376 -0
- package/build/src/ast/shared/emit/orm-index-emitter.js.map +1 -0
- package/build/src/ast/shared/emit/registry-emitter.d.ts +35 -0
- package/build/src/ast/shared/emit/registry-emitter.d.ts.map +1 -0
- package/build/src/ast/shared/emit/registry-emitter.js +39 -0
- package/build/src/ast/shared/emit/registry-emitter.js.map +1 -0
- package/build/src/ast/shared/emit/ts-emit-core.d.ts +79 -0
- package/build/src/ast/shared/emit/ts-emit-core.d.ts.map +1 -0
- package/build/src/ast/shared/emit/ts-emit-core.js +135 -0
- package/build/src/ast/shared/emit/ts-emit-core.js.map +1 -0
- package/build/src/ast/shared/emit/ts-emit-options.d.ts +29 -0
- package/build/src/ast/shared/emit/ts-emit-options.d.ts.map +1 -0
- package/build/src/ast/shared/emit/ts-emit-options.js +29 -0
- package/build/src/ast/shared/emit/ts-emit-options.js.map +1 -0
- package/build/src/base.d.ts +21 -0
- package/build/src/base.d.ts.map +1 -0
- package/build/src/base.js +19 -0
- package/build/src/base.js.map +1 -0
- package/build/src/cli/agents-sdk-setup.d.ts +2 -0
- package/build/src/cli/agents-sdk-setup.d.ts.map +1 -0
- package/build/src/cli/agents-sdk-setup.js +107 -0
- package/build/src/cli/agents-sdk-setup.js.map +1 -0
- package/build/src/cli/helpers.d.ts +14 -0
- package/build/src/cli/helpers.d.ts.map +1 -0
- package/build/src/cli/helpers.js +125 -0
- package/build/src/cli/helpers.js.map +1 -0
- package/build/src/cli/index.d.ts +3 -0
- package/build/src/cli/index.d.ts.map +1 -0
- package/build/src/cli/index.js +244 -0
- package/build/src/cli/index.js.map +1 -0
- package/build/src/cli/sync-progress-renderer.d.ts +20 -0
- package/build/src/cli/sync-progress-renderer.d.ts.map +1 -0
- package/build/src/cli/sync-progress-renderer.js +79 -0
- package/build/src/cli/sync-progress-renderer.js.map +1 -0
- package/build/src/cli/sync-progress.d.ts +55 -0
- package/build/src/cli/sync-progress.d.ts.map +1 -0
- package/build/src/cli/sync-progress.js +120 -0
- package/build/src/cli/sync-progress.js.map +1 -0
- package/build/src/cli/sync-report.d.ts +17 -0
- package/build/src/cli/sync-report.d.ts.map +1 -0
- package/build/src/cli/sync-report.js +86 -0
- package/build/src/cli/sync-report.js.map +1 -0
- package/build/src/client/agent/AgentClient.d.ts +84 -0
- package/build/src/client/agent/AgentClient.d.ts.map +1 -0
- package/build/src/client/agent/AgentClient.js +118 -0
- package/build/src/client/agent/AgentClient.js.map +1 -0
- package/build/src/client/database/DatabaseClient.d.ts +37 -0
- package/build/src/client/database/DatabaseClient.d.ts.map +1 -0
- package/build/src/client/database/DatabaseClient.js +328 -0
- package/build/src/client/database/DatabaseClient.js.map +1 -0
- package/build/src/client/database/create/build-create-page-parameters.d.ts +9 -0
- package/build/src/client/database/create/build-create-page-parameters.d.ts.map +1 -0
- package/build/src/client/database/create/build-create-page-parameters.js +13 -0
- package/build/src/client/database/create/build-create-page-parameters.js.map +1 -0
- package/build/src/client/database/create/index.d.ts +4 -0
- package/build/src/client/database/create/index.d.ts.map +1 -0
- package/build/src/client/database/create/index.js +4 -0
- package/build/src/client/database/create/index.js.map +1 -0
- package/build/src/client/database/create/map-to-notion-properties.d.ts +14 -0
- package/build/src/client/database/create/map-to-notion-properties.d.ts.map +1 -0
- package/build/src/client/database/create/map-to-notion-properties.js +31 -0
- package/build/src/client/database/create/map-to-notion-properties.js.map +1 -0
- package/build/src/client/database/create/property-value.d.ts +16 -0
- package/build/src/client/database/create/property-value.d.ts.map +1 -0
- package/build/src/client/database/create/property-value.js +213 -0
- package/build/src/client/database/create/property-value.js.map +1 -0
- package/build/src/client/database/query/build-query-params.d.ts +11 -0
- package/build/src/client/database/query/build-query-params.d.ts.map +1 -0
- package/build/src/client/database/query/build-query-params.js +24 -0
- package/build/src/client/database/query/build-query-params.js.map +1 -0
- package/build/src/client/database/query/build-query-response.d.ts +23 -0
- package/build/src/client/database/query/build-query-response.d.ts.map +1 -0
- package/build/src/client/database/query/build-query-response.js +41 -0
- package/build/src/client/database/query/build-query-response.js.map +1 -0
- package/build/src/client/database/query/filter/builders.d.ts +4 -0
- package/build/src/client/database/query/filter/builders.d.ts.map +1 -0
- package/build/src/client/database/query/filter/builders.js +141 -0
- package/build/src/client/database/query/filter/builders.js.map +1 -0
- package/build/src/client/database/query/filter/compound.d.ts +3 -0
- package/build/src/client/database/query/filter/compound.d.ts.map +1 -0
- package/build/src/client/database/query/filter/compound.js +13 -0
- package/build/src/client/database/query/filter/compound.js.map +1 -0
- package/build/src/client/database/query/filter/index.d.ts +3 -0
- package/build/src/client/database/query/filter/index.d.ts.map +1 -0
- package/build/src/client/database/query/filter/index.js +89 -0
- package/build/src/client/database/query/filter/index.js.map +1 -0
- package/build/src/client/database/query/http-guards.d.ts +2 -0
- package/build/src/client/database/query/http-guards.d.ts.map +1 -0
- package/build/src/client/database/query/http-guards.js +10 -0
- package/build/src/client/database/query/http-guards.js.map +1 -0
- package/build/src/client/database/query/index.d.ts +5 -0
- package/build/src/client/database/query/index.d.ts.map +1 -0
- package/build/src/client/database/query/index.js +5 -0
- package/build/src/client/database/query/index.js.map +1 -0
- package/build/src/client/database/query/normalize-page-result.d.ts +15 -0
- package/build/src/client/database/query/normalize-page-result.d.ts.map +1 -0
- package/build/src/client/database/query/normalize-page-result.js +35 -0
- package/build/src/client/database/query/normalize-page-result.js.map +1 -0
- package/build/src/client/database/query/page-collection.d.ts +42 -0
- package/build/src/client/database/query/page-collection.d.ts.map +1 -0
- package/build/src/client/database/query/page-collection.js +71 -0
- package/build/src/client/database/query/page-collection.js.map +1 -0
- package/build/src/client/database/query/projection.d.ts +9 -0
- package/build/src/client/database/query/projection.d.ts.map +1 -0
- package/build/src/client/database/query/projection.js +43 -0
- package/build/src/client/database/query/projection.js.map +1 -0
- package/build/src/client/database/query/response/checkbox.d.ts +3 -0
- package/build/src/client/database/query/response/checkbox.d.ts.map +1 -0
- package/build/src/client/database/query/response/checkbox.js +7 -0
- package/build/src/client/database/query/response/checkbox.js.map +1 -0
- package/build/src/client/database/query/response/created_by.d.ts +3 -0
- package/build/src/client/database/query/response/created_by.d.ts.map +1 -0
- package/build/src/client/database/query/response/created_by.js +8 -0
- package/build/src/client/database/query/response/created_by.js.map +1 -0
- package/build/src/client/database/query/response/created_time.d.ts +3 -0
- package/build/src/client/database/query/response/created_time.d.ts.map +1 -0
- package/build/src/client/database/query/response/created_time.js +7 -0
- package/build/src/client/database/query/response/created_time.js.map +1 -0
- package/build/src/client/database/query/response/date.d.ts +6 -0
- package/build/src/client/database/query/response/date.d.ts.map +1 -0
- package/build/src/client/database/query/response/date.js +13 -0
- package/build/src/client/database/query/response/date.js.map +1 -0
- package/build/src/client/database/query/response/email.d.ts +3 -0
- package/build/src/client/database/query/response/email.d.ts.map +1 -0
- package/build/src/client/database/query/response/email.js +7 -0
- package/build/src/client/database/query/response/email.js.map +1 -0
- package/build/src/client/database/query/response/files.d.ts +6 -0
- package/build/src/client/database/query/response/files.d.ts.map +1 -0
- package/build/src/client/database/query/response/files.js +8 -0
- package/build/src/client/database/query/response/files.js.map +1 -0
- package/build/src/client/database/query/response/index.d.ts +53 -0
- package/build/src/client/database/query/response/index.d.ts.map +1 -0
- package/build/src/client/database/query/response/index.js +44 -0
- package/build/src/client/database/query/response/index.js.map +1 -0
- package/build/src/client/database/query/response/last_edited_by.d.ts +3 -0
- package/build/src/client/database/query/response/last_edited_by.d.ts.map +1 -0
- package/build/src/client/database/query/response/last_edited_by.js +8 -0
- package/build/src/client/database/query/response/last_edited_by.js.map +1 -0
- package/build/src/client/database/query/response/last_edited_time.d.ts +3 -0
- package/build/src/client/database/query/response/last_edited_time.d.ts.map +1 -0
- package/build/src/client/database/query/response/last_edited_time.js +7 -0
- package/build/src/client/database/query/response/last_edited_time.js.map +1 -0
- package/build/src/client/database/query/response/multi_select.d.ts +3 -0
- package/build/src/client/database/query/response/multi_select.d.ts.map +1 -0
- package/build/src/client/database/query/response/multi_select.js +10 -0
- package/build/src/client/database/query/response/multi_select.js.map +1 -0
- package/build/src/client/database/query/response/number.d.ts +3 -0
- package/build/src/client/database/query/response/number.d.ts.map +1 -0
- package/build/src/client/database/query/response/number.js +7 -0
- package/build/src/client/database/query/response/number.js.map +1 -0
- package/build/src/client/database/query/response/people.d.ts +3 -0
- package/build/src/client/database/query/response/people.d.ts.map +1 -0
- package/build/src/client/database/query/response/people.js +13 -0
- package/build/src/client/database/query/response/people.js.map +1 -0
- package/build/src/client/database/query/response/phone_number.d.ts +3 -0
- package/build/src/client/database/query/response/phone_number.d.ts.map +1 -0
- package/build/src/client/database/query/response/phone_number.js +7 -0
- package/build/src/client/database/query/response/phone_number.js.map +1 -0
- package/build/src/client/database/query/response/relation.d.ts +4 -0
- package/build/src/client/database/query/response/relation.d.ts.map +1 -0
- package/build/src/client/database/query/response/relation.js +14 -0
- package/build/src/client/database/query/response/relation.js.map +1 -0
- package/build/src/client/database/query/response/rich_text.d.ts +3 -0
- package/build/src/client/database/query/response/rich_text.d.ts.map +1 -0
- package/build/src/client/database/query/response/rich_text.js +12 -0
- package/build/src/client/database/query/response/rich_text.js.map +1 -0
- package/build/src/client/database/query/response/select.d.ts +3 -0
- package/build/src/client/database/query/response/select.d.ts.map +1 -0
- package/build/src/client/database/query/response/select.js +7 -0
- package/build/src/client/database/query/response/select.js.map +1 -0
- package/build/src/client/database/query/response/shared.d.ts +6 -0
- package/build/src/client/database/query/response/shared.d.ts.map +1 -0
- package/build/src/client/database/query/response/shared.js +41 -0
- package/build/src/client/database/query/response/shared.js.map +1 -0
- package/build/src/client/database/query/response/status.d.ts +3 -0
- package/build/src/client/database/query/response/status.d.ts.map +1 -0
- package/build/src/client/database/query/response/status.js +7 -0
- package/build/src/client/database/query/response/status.js.map +1 -0
- package/build/src/client/database/query/response/title.d.ts +3 -0
- package/build/src/client/database/query/response/title.d.ts.map +1 -0
- package/build/src/client/database/query/response/title.js +12 -0
- package/build/src/client/database/query/response/title.js.map +1 -0
- package/build/src/client/database/query/response/unique_id.d.ts +3 -0
- package/build/src/client/database/query/response/unique_id.d.ts.map +1 -0
- package/build/src/client/database/query/response/unique_id.js +14 -0
- package/build/src/client/database/query/response/unique_id.js.map +1 -0
- package/build/src/client/database/query/response/url.d.ts +3 -0
- package/build/src/client/database/query/response/url.d.ts.map +1 -0
- package/build/src/client/database/query/response/url.js +7 -0
- package/build/src/client/database/query/response/url.js.map +1 -0
- package/build/src/client/database/query/schema-drift-validation.d.ts +31 -0
- package/build/src/client/database/query/schema-drift-validation.d.ts.map +1 -0
- package/build/src/client/database/query/schema-drift-validation.js +68 -0
- package/build/src/client/database/query/schema-drift-validation.js.map +1 -0
- package/build/src/client/database/query/sort-transform.d.ts +6 -0
- package/build/src/client/database/query/sort-transform.d.ts.map +1 -0
- package/build/src/client/database/query/sort-transform.js +13 -0
- package/build/src/client/database/query/sort-transform.js.map +1 -0
- package/build/src/client/database/query/types.d.ts +42 -0
- package/build/src/client/database/query/types.d.ts.map +1 -0
- package/build/src/client/database/query/types.js +2 -0
- package/build/src/client/database/query/types.js.map +1 -0
- package/build/src/client/database/schema-builder.d.ts +8 -0
- package/build/src/client/database/schema-builder.d.ts.map +1 -0
- package/build/src/client/database/schema-builder.js +78 -0
- package/build/src/client/database/schema-builder.js.map +1 -0
- package/build/src/client/database/types/crud.d.ts +40 -0
- package/build/src/client/database/types/crud.d.ts.map +1 -0
- package/build/src/client/database/types/crud.js +5 -0
- package/build/src/client/database/types/crud.js.map +1 -0
- package/build/src/client/database/types/filter-capability.d.ts +30 -0
- package/build/src/client/database/types/filter-capability.d.ts.map +1 -0
- package/build/src/client/database/types/filter-capability.js +28 -0
- package/build/src/client/database/types/filter-capability.js.map +1 -0
- package/build/src/client/database/types/index.d.ts +16 -0
- package/build/src/client/database/types/index.d.ts.map +1 -0
- package/build/src/client/database/types/index.js +16 -0
- package/build/src/client/database/types/index.js.map +1 -0
- package/build/src/client/database/types/notion-database-id.d.ts +14 -0
- package/build/src/client/database/types/notion-database-id.d.ts.map +1 -0
- package/build/src/client/database/types/notion-database-id.js +9 -0
- package/build/src/client/database/types/notion-database-id.js.map +1 -0
- package/build/src/client/database/types/notion-filter-model.d.ts +98 -0
- package/build/src/client/database/types/notion-filter-model.d.ts.map +1 -0
- package/build/src/client/database/types/notion-filter-model.js +5 -0
- package/build/src/client/database/types/notion-filter-model.js.map +1 -0
- package/build/src/client/database/types/notion-id-brand.d.ts +27 -0
- package/build/src/client/database/types/notion-id-brand.d.ts.map +1 -0
- package/build/src/client/database/types/notion-id-brand.js +8 -0
- package/build/src/client/database/types/notion-id-brand.js.map +1 -0
- package/build/src/client/database/types/notion-page-id.d.ts +10 -0
- package/build/src/client/database/types/notion-page-id.d.ts.map +1 -0
- package/build/src/client/database/types/notion-page-id.js +6 -0
- package/build/src/client/database/types/notion-page-id.js.map +1 -0
- package/build/src/client/database/types/notion-user-id.d.ts +10 -0
- package/build/src/client/database/types/notion-user-id.d.ts.map +1 -0
- package/build/src/client/database/types/notion-user-id.js +6 -0
- package/build/src/client/database/types/notion-user-id.js.map +1 -0
- package/build/src/client/database/types/projection.d.ts +78 -0
- package/build/src/client/database/types/projection.d.ts.map +1 -0
- package/build/src/client/database/types/projection.js +6 -0
- package/build/src/client/database/types/projection.js.map +1 -0
- package/build/src/client/database/types/query-filter.d.ts +19 -0
- package/build/src/client/database/types/query-filter.d.ts.map +1 -0
- package/build/src/client/database/types/query-filter.js +5 -0
- package/build/src/client/database/types/query-filter.js.map +1 -0
- package/build/src/client/database/types/query-object.d.ts +42 -0
- package/build/src/client/database/types/query-object.d.ts.map +1 -0
- package/build/src/client/database/types/query-object.js +5 -0
- package/build/src/client/database/types/query-object.js.map +1 -0
- package/build/src/client/database/types/schema.d.ts +190 -0
- package/build/src/client/database/types/schema.d.ts.map +1 -0
- package/build/src/client/database/types/schema.js +41 -0
- package/build/src/client/database/types/schema.js.map +1 -0
- package/build/src/client/database/types/sort.d.ts +22 -0
- package/build/src/client/database/types/sort.d.ts.map +1 -0
- package/build/src/client/database/types/sort.js +5 -0
- package/build/src/client/database/types/sort.js.map +1 -0
- package/build/src/config/findConfigFile.d.ts +8 -0
- package/build/src/config/findConfigFile.d.ts.map +1 -0
- package/build/src/config/findConfigFile.js +18 -0
- package/build/src/config/findConfigFile.js.map +1 -0
- package/build/src/config/helpers.d.ts +7 -0
- package/build/src/config/helpers.d.ts.map +1 -0
- package/build/src/config/helpers.js +57 -0
- package/build/src/config/helpers.js.map +1 -0
- package/build/src/config/init.d.ts +7 -0
- package/build/src/config/init.d.ts.map +1 -0
- package/build/src/config/init.js +28 -0
- package/build/src/config/init.js.map +1 -0
- package/build/src/config/loadConfig.d.ts +11 -0
- package/build/src/config/loadConfig.d.ts.map +1 -0
- package/build/src/config/loadConfig.js +91 -0
- package/build/src/config/loadConfig.js.map +1 -0
- package/build/src/config/loadDotEnvFromCwd.d.ts +12 -0
- package/build/src/config/loadDotEnvFromCwd.d.ts.map +1 -0
- package/build/src/config/loadDotEnvFromCwd.js +47 -0
- package/build/src/config/loadDotEnvFromCwd.js.map +1 -0
- package/build/src/config/notion-config-filenames.d.ts +20 -0
- package/build/src/config/notion-config-filenames.d.ts.map +1 -0
- package/build/src/config/notion-config-filenames.js +24 -0
- package/build/src/config/notion-config-filenames.js.map +1 -0
- package/build/src/config/resolveNotionAuth.d.ts +18 -0
- package/build/src/config/resolveNotionAuth.d.ts.map +1 -0
- package/build/src/config/resolveNotionAuth.js +24 -0
- package/build/src/config/resolveNotionAuth.js.map +1 -0
- package/build/src/config/types.d.ts +16 -0
- package/build/src/config/types.d.ts.map +1 -0
- package/build/src/config/types.js +7 -0
- package/build/src/config/types.js.map +1 -0
- package/build/src/helpers.d.ts +22 -0
- package/build/src/helpers.d.ts.map +1 -0
- package/build/src/helpers.js +67 -0
- package/build/src/helpers.js.map +1 -0
- package/build/src/index.d.ts +15 -11
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +11 -116
- package/build/src/index.js.map +1 -1
- package/build/src/notion-id-patterns.d.ts +9 -0
- package/build/src/notion-id-patterns.d.ts.map +1 -0
- package/build/src/notion-id-patterns.js +9 -0
- package/build/src/notion-id-patterns.js.map +1 -0
- package/build/src/runtime-constants.d.ts +13 -0
- package/build/src/runtime-constants.d.ts.map +1 -0
- package/build/src/runtime-constants.js +13 -0
- package/build/src/runtime-constants.js.map +1 -0
- package/build/src/typeUtils.d.ts +77 -0
- package/build/src/typeUtils.d.ts.map +1 -0
- package/build/src/typeUtils.js +52 -0
- package/build/src/typeUtils.js.map +1 -0
- package/package.json +86 -32
- package/build/src/BuildCall.d.ts +0 -45
- package/build/src/BuildCall.d.ts.map +0 -1
- package/build/src/BuildCall.js +0 -114
- package/build/src/BuildCall.js.map +0 -1
- package/build/src/DatabaseActions.d.ts +0 -19
- package/build/src/DatabaseActions.d.ts.map +0 -1
- package/build/src/DatabaseActions.js +0 -158
- package/build/src/DatabaseActions.js.map +0 -1
- package/build/src/GenerateTypes.d.ts +0 -8
- package/build/src/GenerateTypes.d.ts.map +0 -1
- package/build/src/GenerateTypes.js +0 -257
- package/build/src/GenerateTypes.js.map +0 -1
- package/build/src/cli.d.ts +0 -3
- package/build/src/cli.d.ts.map +0 -1
- package/build/src/cli.js +0 -48
- package/build/src/cli.js.map +0 -1
- package/build/src/queryTypes.d.ts +0 -117
- package/build/src/queryTypes.d.ts.map +0 -1
- package/build/src/queryTypes.js +0 -7
- package/build/src/queryTypes.js.map +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type DemoPlaygroundSpec } from "./demo-playground-spec";
|
|
2
|
+
export interface DemoPlaygroundWorkspaceResult {
|
|
3
|
+
files: Record<string, string>;
|
|
4
|
+
databaseEntryFile: string;
|
|
5
|
+
agentEntryFile: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Pure builder that produces the full demo playground virtual workspace.
|
|
9
|
+
*
|
|
10
|
+
* Accepts the demo spec and pre-read mock source file contents, then
|
|
11
|
+
* composes the existing ORM emitters (database, agent, index) with
|
|
12
|
+
* demo entry builders and static support files to produce the complete
|
|
13
|
+
* file map consumed by the browser-based TypeScript environment.
|
|
14
|
+
*
|
|
15
|
+
* No filesystem I/O — callers provide inputs and serialize the result.
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildDemoPlaygroundWorkspace(args: {
|
|
18
|
+
spec?: DemoPlaygroundSpec;
|
|
19
|
+
mockPackageSource: string;
|
|
20
|
+
mockBaseSource: string;
|
|
21
|
+
/** Same source as repo `src/notion-id-patterns.ts` (playground mock imports it). */
|
|
22
|
+
notionIdPatternsSource: string;
|
|
23
|
+
}): DemoPlaygroundWorkspaceResult;
|
|
24
|
+
//# sourceMappingURL=demo-workspace-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo-workspace-builder.d.ts","sourceRoot":"","sources":["../../../../src/ast/demo/demo-workspace-builder.ts"],"names":[],"mappings":"AAaA,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,6BAA6B;IAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACvB;AAkBD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IAClD,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,sBAAsB,EAAE,MAAM,CAAC;CAC/B,GAAG,6BAA6B,CA+EhC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { buildMockDataSourceResponse } from "./datasource-fixture-builder.js";
|
|
2
|
+
import { renderAgentModule } from "../agents/agent-file-writer.js";
|
|
3
|
+
import { renderDatabaseModule } from "../database/database-file-writer.js";
|
|
4
|
+
import { AST_RUNTIME_CONSTANTS, PLAYGROUND_PATHS } from "../shared/constants.js";
|
|
5
|
+
import { buildOrmIndexModuleAst, } from "../shared/emit/orm-index-emitter.js";
|
|
6
|
+
import { createEmitContext, printTsNodes } from "../shared/emit/ts-emit-core.js";
|
|
7
|
+
import { buildDemoAgentEntry, buildDemoDatabaseEntry, } from "./demo-entry-builders.js";
|
|
8
|
+
import { DEMO_PLAYGROUND_SPEC, } from "./demo-playground-spec.js";
|
|
9
|
+
const PLAYGROUND_TSCONFIG = JSON.stringify({
|
|
10
|
+
compilerOptions: {
|
|
11
|
+
target: "ES2022",
|
|
12
|
+
module: "ESNext",
|
|
13
|
+
moduleResolution: "bundler",
|
|
14
|
+
allowImportingTsExtensions: true,
|
|
15
|
+
noEmit: true,
|
|
16
|
+
strict: true,
|
|
17
|
+
esModuleInterop: true,
|
|
18
|
+
},
|
|
19
|
+
}, null, 2);
|
|
20
|
+
/**
|
|
21
|
+
* Pure builder that produces the full demo playground virtual workspace.
|
|
22
|
+
*
|
|
23
|
+
* Accepts the demo spec and pre-read mock source file contents, then
|
|
24
|
+
* composes the existing ORM emitters (database, agent, index) with
|
|
25
|
+
* demo entry builders and static support files to produce the complete
|
|
26
|
+
* file map consumed by the browser-based TypeScript environment.
|
|
27
|
+
*
|
|
28
|
+
* No filesystem I/O — callers provide inputs and serialize the result.
|
|
29
|
+
*/
|
|
30
|
+
export function buildDemoPlaygroundWorkspace(args) {
|
|
31
|
+
const { spec = DEMO_PLAYGROUND_SPEC, mockPackageSource, mockBaseSource, notionIdPatternsSource, } = args;
|
|
32
|
+
const databaseModules = spec.databases.map((fixture) => renderDatabaseModule(buildMockDataSourceResponse(fixture)));
|
|
33
|
+
const agentModules = spec.agents.map((agent) => renderAgentModule({
|
|
34
|
+
agentId: agent.id,
|
|
35
|
+
agentName: agent.name,
|
|
36
|
+
agentIcon: agent.icon,
|
|
37
|
+
}));
|
|
38
|
+
const databaseMetadata = databaseModules.map((database) => ({ name: database.databaseModuleName }));
|
|
39
|
+
const agentMetadata = agentModules.map((agent) => ({
|
|
40
|
+
name: agent.agentModuleName,
|
|
41
|
+
}));
|
|
42
|
+
const generatedIndexTs = printTsNodes({
|
|
43
|
+
nodes: buildOrmIndexModuleAst({
|
|
44
|
+
databases: databaseMetadata,
|
|
45
|
+
agents: agentMetadata,
|
|
46
|
+
syncCommand: AST_RUNTIME_CONSTANTS.CLI_GENERATE_COMMAND,
|
|
47
|
+
importPaths: {
|
|
48
|
+
databaseClass: PLAYGROUND_PATHS.databaseImport,
|
|
49
|
+
agentClass: PLAYGROUND_PATHS.agentImport,
|
|
50
|
+
},
|
|
51
|
+
}),
|
|
52
|
+
context: createEmitContext({ fileName: "index.ts" }),
|
|
53
|
+
});
|
|
54
|
+
const databaseEntry = buildDemoDatabaseEntry({
|
|
55
|
+
spec,
|
|
56
|
+
databaseModules: databaseModules.map((m) => ({
|
|
57
|
+
moduleName: m.databaseModuleName,
|
|
58
|
+
databaseTitle: m.databaseName,
|
|
59
|
+
})),
|
|
60
|
+
});
|
|
61
|
+
const agentEntry = buildDemoAgentEntry({
|
|
62
|
+
spec,
|
|
63
|
+
agentModules: agentModules.map((m) => ({
|
|
64
|
+
moduleName: m.agentModuleName,
|
|
65
|
+
agentName: m.agentName,
|
|
66
|
+
})),
|
|
67
|
+
});
|
|
68
|
+
const files = {
|
|
69
|
+
[spec.databaseEntryFile]: databaseEntry,
|
|
70
|
+
[spec.agentEntryFile]: agentEntry,
|
|
71
|
+
[PLAYGROUND_PATHS.BUILD_INDEX]: generatedIndexTs,
|
|
72
|
+
[PLAYGROUND_PATHS.MOCK_PACKAGE_INDEX]: mockPackageSource,
|
|
73
|
+
[PLAYGROUND_PATHS.MOCK_PACKAGE_NOTION_ID_PATTERNS]: notionIdPatternsSource,
|
|
74
|
+
[PLAYGROUND_PATHS.MOCK_PACKAGE_BASE]: mockBaseSource,
|
|
75
|
+
};
|
|
76
|
+
for (const database of databaseModules) {
|
|
77
|
+
files[PLAYGROUND_PATHS.databaseModule(database.databaseModuleName)] =
|
|
78
|
+
database.tsCode;
|
|
79
|
+
}
|
|
80
|
+
for (const agent of agentModules) {
|
|
81
|
+
files[PLAYGROUND_PATHS.agentModule(agent.agentModuleName)] = agent.tsCode;
|
|
82
|
+
}
|
|
83
|
+
files["tsconfig.json"] = PLAYGROUND_TSCONFIG;
|
|
84
|
+
return {
|
|
85
|
+
files,
|
|
86
|
+
databaseEntryFile: spec.databaseEntryFile,
|
|
87
|
+
agentEntryFile: spec.agentEntryFile,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=demo-workspace-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo-workspace-builder.js","sourceRoot":"","sources":["../../../../src/ast/demo/demo-workspace-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable AST builder functions for generating TypeScript code.
|
|
3
|
+
* These functions create TypeScript AST nodes for properties, imports, exports, and types.
|
|
4
|
+
*/
|
|
5
|
+
import * as ts from "typescript";
|
|
6
|
+
import type { ColumnTypesWithOptions, SupportedNotionColumnType } from "../../client/database/types";
|
|
7
|
+
import type { NotionDatabaseId } from "../../client/database/types/notion-database-id";
|
|
8
|
+
export { toPascalCase } from "../../helpers";
|
|
9
|
+
/**
|
|
10
|
+
* Plain column: emitted metadata has no `options` array (non–select-like types).
|
|
11
|
+
*/
|
|
12
|
+
export type OptionlessColumnMetadataEntry = {
|
|
13
|
+
readonly columnName: string;
|
|
14
|
+
readonly type: Exclude<SupportedNotionColumnType, ColumnTypesWithOptions | "relation">;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Relation: emitted metadata includes the linked database id (undashed) from Notion.
|
|
18
|
+
*/
|
|
19
|
+
export type RelationGeneratedColumnMetadataEntry = {
|
|
20
|
+
readonly columnName: string;
|
|
21
|
+
readonly type: "relation";
|
|
22
|
+
readonly relatedDatabaseId: NotionDatabaseId;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Select / status / multi_select: emitted metadata includes `options` pointing at a
|
|
26
|
+
* generated const; `type` discriminates this arm from {@link OptionlessColumnMetadataEntry}.
|
|
27
|
+
*/
|
|
28
|
+
export type SelectLikeGeneratedColumnMetadataEntry = {
|
|
29
|
+
readonly columnName: string;
|
|
30
|
+
readonly type: ColumnTypesWithOptions;
|
|
31
|
+
readonly optionsIdentifier: string;
|
|
32
|
+
};
|
|
33
|
+
export type GeneratedColumnMetadataEntry = OptionlessColumnMetadataEntry | SelectLikeGeneratedColumnMetadataEntry | RelationGeneratedColumnMetadataEntry;
|
|
34
|
+
/** Lookup map used to generate the emitted `columns` object. */
|
|
35
|
+
export type GeneratedColumnMetadataMap = Record<string, GeneratedColumnMetadataEntry>;
|
|
36
|
+
/**
|
|
37
|
+
* Generate text property signature
|
|
38
|
+
* name: string (or name?: string if not title)
|
|
39
|
+
*/
|
|
40
|
+
export declare function createTextProperty(args: {
|
|
41
|
+
name: string;
|
|
42
|
+
isTitle: boolean;
|
|
43
|
+
}): ts.PropertySignature;
|
|
44
|
+
/**
|
|
45
|
+
* Generate number property signature
|
|
46
|
+
* name?: number
|
|
47
|
+
*/
|
|
48
|
+
export declare function createNumberProperty(name: string): ts.PropertySignature;
|
|
49
|
+
/**
|
|
50
|
+
* Generate date property signature
|
|
51
|
+
* name?: { start: string; end?: string }
|
|
52
|
+
*/
|
|
53
|
+
export declare function createDateProperty(name: string): ts.PropertySignature;
|
|
54
|
+
/**
|
|
55
|
+
* Generate checkbox property signature
|
|
56
|
+
* name?: boolean
|
|
57
|
+
*/
|
|
58
|
+
export declare function createCheckboxProperty(name: string): ts.PropertySignature;
|
|
59
|
+
/**
|
|
60
|
+
* For selects and multi-select collection properties
|
|
61
|
+
* array = true for multi-select
|
|
62
|
+
*/
|
|
63
|
+
export declare function createMultiOptionProp(args: {
|
|
64
|
+
name: string;
|
|
65
|
+
arrayIdentifier: string;
|
|
66
|
+
isArray: boolean;
|
|
67
|
+
}): ts.PropertySignature;
|
|
68
|
+
/**
|
|
69
|
+
* Create a const array of property values for enum types
|
|
70
|
+
*/
|
|
71
|
+
export declare function createPropertyValuesArray(args: {
|
|
72
|
+
identifier: string;
|
|
73
|
+
options: string[];
|
|
74
|
+
}): ts.VariableStatement;
|
|
75
|
+
/**
|
|
76
|
+
* Create import declaration
|
|
77
|
+
*/
|
|
78
|
+
export declare function createNameImport(args: {
|
|
79
|
+
namedImport: string;
|
|
80
|
+
path: string;
|
|
81
|
+
typeOnly?: boolean;
|
|
82
|
+
}): ts.ImportDeclaration;
|
|
83
|
+
/**
|
|
84
|
+
* `import type { a, b } from "path"`
|
|
85
|
+
*/
|
|
86
|
+
export declare function createTypeOnlyNamedImports(args: {
|
|
87
|
+
names: readonly string[];
|
|
88
|
+
path: string;
|
|
89
|
+
}): ts.ImportDeclaration;
|
|
90
|
+
/**
|
|
91
|
+
* Create column name to column properties mapping
|
|
92
|
+
* Maps camelCase property names to their original names and types
|
|
93
|
+
*/
|
|
94
|
+
export declare function createColumnNameToColumnProperties(colMap: GeneratedColumnMetadataMap): ts.VariableDeclarationList;
|
|
95
|
+
/** `export type QuerySchema = Query<DatabaseDefinition<typeof columns>>` (name from `AST_TYPE_NAMES.QUERY_SCHEMA`). */
|
|
96
|
+
export declare function createQuerySchemaTypeExport(): ts.TypeAliasDeclaration;
|
|
97
|
+
/** `export type PageSchema = InferDatabaseSchema<typeof columns>` (name from `AST_TYPE_NAMES.PAGE_SCHEMA`). */
|
|
98
|
+
export declare function createPageSchemaTypeExport(): ts.TypeAliasDeclaration;
|
|
99
|
+
/** `export type CreateSchema = InferCreateSchema<typeof columns>` (name from `AST_TYPE_NAMES.CREATE_SCHEMA`). */
|
|
100
|
+
export declare function createCreateSchemaTypeExport(): ts.TypeAliasDeclaration;
|
|
101
|
+
/**
|
|
102
|
+
* Create export statement for the database constructor function.
|
|
103
|
+
* Uses a block body + multiline object literal so generated files stay readable.
|
|
104
|
+
* `databaseName` is the exported const identifier (PascalCase, e.g. `CustomerOrders`).
|
|
105
|
+
*/
|
|
106
|
+
export declare function createDatabaseClassExport(args: {
|
|
107
|
+
databaseName: string;
|
|
108
|
+
schemaTitle: string;
|
|
109
|
+
/** Undashed Notion data source id, inlined on the client config object. */
|
|
110
|
+
databaseId: string;
|
|
111
|
+
}): ts.VariableStatement;
|
|
112
|
+
//# sourceMappingURL=ast-builders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-builders.d.ts","sourceRoot":"","sources":["../../../../src/ast/shared/ast-builders.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EACX,sBAAsB,EACtB,yBAAyB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAIvF,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,yBAAyB,EAAE,sBAAsB,GAAG,UAAU,CAAC,CAAC;CACvF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oCAAoC,GAAG;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;CAC7C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GACrC,6BAA6B,GAC7B,sCAAsC,GACtC,oCAAoC,CAAC;AAExC,gEAAgE;AAChE,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAC9C,MAAM,EACN,4BAA4B,CAC5B,CAAC;AAoCF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,wBAS1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,wBAQhD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,wBAoB9C;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,wBAQlD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,wBAgBA;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,wBAyBA;AAyBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,wBAkBA;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAChD,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACb,GAAG,EAAE,CAAC,iBAAiB,CAmBvB;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,0BAA0B,8BAoDnC;AAED,uHAAuH;AACvH,wBAAgB,2BAA2B,4BAS1C;AAED,+GAA+G;AAC/G,wBAAgB,0BAA0B,4BAezC;AAED,iHAAiH;AACjH,wBAAgB,4BAA4B,4BAe3C;AAcD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;CACpB,wBA+DA"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable AST builder functions for generating TypeScript code.
|
|
3
|
+
* These functions create TypeScript AST nodes for properties, imports, exports, and types.
|
|
4
|
+
*/
|
|
5
|
+
import * as ts from "typescript";
|
|
6
|
+
import { objectEntries } from "../../typeUtils.js";
|
|
7
|
+
import { AST_TYPE_NAMES } from "./constants.js";
|
|
8
|
+
export { toPascalCase } from "../../helpers.js";
|
|
9
|
+
function optionsPropertyAssignmentsForSelectLikeMetadata(entry) {
|
|
10
|
+
return [
|
|
11
|
+
ts.factory.createPropertyAssignment(ts.factory.createIdentifier("options"), ts.factory.createIdentifier(entry.optionsIdentifier)),
|
|
12
|
+
];
|
|
13
|
+
}
|
|
14
|
+
/** Emits `options` / `relatedDatabaseId` for column metadata beyond `columnName` + `type`. */
|
|
15
|
+
function extraMetadataPropertyAssignmentsForGeneratedColumn(value) {
|
|
16
|
+
switch (value.type) {
|
|
17
|
+
case "select":
|
|
18
|
+
case "status":
|
|
19
|
+
case "multi_select":
|
|
20
|
+
return optionsPropertyAssignmentsForSelectLikeMetadata(value);
|
|
21
|
+
case "relation":
|
|
22
|
+
return [
|
|
23
|
+
ts.factory.createPropertyAssignment(ts.factory.createIdentifier("relatedDatabaseId"), ts.factory.createStringLiteral(String(value.relatedDatabaseId))),
|
|
24
|
+
];
|
|
25
|
+
default:
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Generate text property signature
|
|
31
|
+
* name: string (or name?: string if not title)
|
|
32
|
+
*/
|
|
33
|
+
export function createTextProperty(args) {
|
|
34
|
+
const { name, isTitle } = args;
|
|
35
|
+
const text = ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier(name), !isTitle ? ts.factory.createToken(ts.SyntaxKind.QuestionToken) : undefined, ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword));
|
|
36
|
+
return text;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Generate number property signature
|
|
40
|
+
* name?: number
|
|
41
|
+
*/
|
|
42
|
+
export function createNumberProperty(name) {
|
|
43
|
+
const number = ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier(name), ts.factory.createToken(ts.SyntaxKind.QuestionToken), ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword));
|
|
44
|
+
return number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Generate date property signature
|
|
48
|
+
* name?: { start: string; end?: string }
|
|
49
|
+
*/
|
|
50
|
+
export function createDateProperty(name) {
|
|
51
|
+
return ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier(name), ts.factory.createToken(ts.SyntaxKind.QuestionToken), ts.factory.createTypeLiteralNode([
|
|
52
|
+
ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier("start"), undefined, ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword)),
|
|
53
|
+
ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier("end"), ts.factory.createToken(ts.SyntaxKind.QuestionToken), ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword)),
|
|
54
|
+
]));
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Generate checkbox property signature
|
|
58
|
+
* name?: boolean
|
|
59
|
+
*/
|
|
60
|
+
export function createCheckboxProperty(name) {
|
|
61
|
+
const checkbox = ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier(name), ts.factory.createToken(ts.SyntaxKind.QuestionToken), ts.factory.createKeywordTypeNode(ts.SyntaxKind.BooleanKeyword));
|
|
62
|
+
return checkbox;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* For selects and multi-select collection properties
|
|
66
|
+
* array = true for multi-select
|
|
67
|
+
*/
|
|
68
|
+
export function createMultiOptionProp(args) {
|
|
69
|
+
const { arrayIdentifier, isArray, name } = args;
|
|
70
|
+
const propertyValueUnion = ts.factory.createUnionTypeNode([
|
|
71
|
+
createPropertyValuesElementType(arrayIdentifier),
|
|
72
|
+
createOtherStringProp(),
|
|
73
|
+
]);
|
|
74
|
+
return ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier(name), ts.factory.createToken(ts.SyntaxKind.QuestionToken), isArray
|
|
75
|
+
? ts.factory.createArrayTypeNode(ts.factory.createParenthesizedType(propertyValueUnion))
|
|
76
|
+
: propertyValueUnion);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Create a const array of property values for enum types
|
|
80
|
+
*/
|
|
81
|
+
export function createPropertyValuesArray(args) {
|
|
82
|
+
const { identifier, options } = args;
|
|
83
|
+
return ts.factory.createVariableStatement([ts.factory.createToken(ts.SyntaxKind.ExportKeyword)], ts.factory.createVariableDeclarationList([
|
|
84
|
+
ts.factory.createVariableDeclaration(ts.factory.createIdentifier(identifier), undefined, undefined, ts.factory.createAsExpression(ts.factory.createArrayLiteralExpression(options.map((option) => ts.factory.createStringLiteral(option)), true), ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("const"), undefined))),
|
|
85
|
+
], ts.NodeFlags.Const));
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* string & {} - Allows users to pass in custom values
|
|
89
|
+
*/
|
|
90
|
+
function createOtherStringProp() {
|
|
91
|
+
return ts.factory.createIntersectionTypeNode([
|
|
92
|
+
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
|
93
|
+
ts.factory.createTypeLiteralNode([]),
|
|
94
|
+
]);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Builds `<PropertyValuesConst>[number]` element type reference.
|
|
98
|
+
*/
|
|
99
|
+
function createPropertyValuesElementType(arrayIdentifier) {
|
|
100
|
+
return ts.factory.createIndexedAccessTypeNode(ts.factory.createTypeQueryNode(ts.factory.createIdentifier(arrayIdentifier), undefined), ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword));
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Create import declaration
|
|
104
|
+
*/
|
|
105
|
+
export function createNameImport(args) {
|
|
106
|
+
const { namedImport, path, typeOnly } = args;
|
|
107
|
+
return ts.factory.createImportDeclaration(undefined, ts.factory.createImportClause(typeOnly ?? false, undefined, ts.factory.createNamedImports([
|
|
108
|
+
ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier(namedImport)),
|
|
109
|
+
])), ts.factory.createStringLiteral(path), undefined);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* `import type { a, b } from "path"`
|
|
113
|
+
*/
|
|
114
|
+
export function createTypeOnlyNamedImports(args) {
|
|
115
|
+
return ts.factory.createImportDeclaration(undefined, ts.factory.createImportClause(true, undefined, ts.factory.createNamedImports(args.names.map((name) => ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier(name))))), ts.factory.createStringLiteral(args.path), undefined);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Create column name to column properties mapping
|
|
119
|
+
* Maps camelCase property names to their original names and types
|
|
120
|
+
*/
|
|
121
|
+
export function createColumnNameToColumnProperties(colMap) {
|
|
122
|
+
const metadataObjectLiteral = ts.factory.createObjectLiteralExpression([
|
|
123
|
+
...objectEntries(colMap).map(([propName, value]) => ts.factory.createPropertyAssignment(ts.factory.createStringLiteral(propName), ts.factory.createObjectLiteralExpression([
|
|
124
|
+
ts.factory.createPropertyAssignment(ts.factory.createIdentifier("columnName"), ts.factory.createStringLiteral(value.columnName)),
|
|
125
|
+
ts.factory.createPropertyAssignment(ts.factory.createIdentifier("type"), ts.factory.createStringLiteral(value.type)),
|
|
126
|
+
...extraMetadataPropertyAssignmentsForGeneratedColumn(value),
|
|
127
|
+
], true))),
|
|
128
|
+
], true);
|
|
129
|
+
const asConst = ts.factory.createAsExpression(metadataObjectLiteral, ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("const"), undefined));
|
|
130
|
+
const satisfiesTarget = ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("DatabaseColumns"), undefined);
|
|
131
|
+
const initializer = ts.factory.createSatisfiesExpression(asConst, satisfiesTarget);
|
|
132
|
+
return ts.factory.createVariableDeclarationList([
|
|
133
|
+
ts.factory.createVariableDeclaration(ts.factory.createIdentifier("columns"), undefined, undefined, initializer),
|
|
134
|
+
], ts.NodeFlags.Const);
|
|
135
|
+
}
|
|
136
|
+
/** `export type QuerySchema = Query<DatabaseDefinition<typeof columns>>` (name from `AST_TYPE_NAMES.QUERY_SCHEMA`). */
|
|
137
|
+
export function createQuerySchemaTypeExport() {
|
|
138
|
+
return ts.factory.createTypeAliasDeclaration([ts.factory.createToken(ts.SyntaxKind.ExportKeyword)], ts.factory.createIdentifier(AST_TYPE_NAMES.QUERY_SCHEMA), undefined, ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("Query"), [
|
|
139
|
+
createDatabaseDefinitionOfColumnsTypeReference(),
|
|
140
|
+
]));
|
|
141
|
+
}
|
|
142
|
+
/** `export type PageSchema = InferDatabaseSchema<typeof columns>` (name from `AST_TYPE_NAMES.PAGE_SCHEMA`). */
|
|
143
|
+
export function createPageSchemaTypeExport() {
|
|
144
|
+
return ts.factory.createTypeAliasDeclaration([ts.factory.createToken(ts.SyntaxKind.ExportKeyword)], ts.factory.createIdentifier(AST_TYPE_NAMES.PAGE_SCHEMA), undefined, ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("InferDatabaseSchema"), [
|
|
145
|
+
ts.factory.createTypeQueryNode(ts.factory.createIdentifier("columns"), undefined),
|
|
146
|
+
]));
|
|
147
|
+
}
|
|
148
|
+
/** `export type CreateSchema = InferCreateSchema<typeof columns>` (name from `AST_TYPE_NAMES.CREATE_SCHEMA`). */
|
|
149
|
+
export function createCreateSchemaTypeExport() {
|
|
150
|
+
return ts.factory.createTypeAliasDeclaration([ts.factory.createToken(ts.SyntaxKind.ExportKeyword)], ts.factory.createIdentifier(AST_TYPE_NAMES.CREATE_SCHEMA), undefined, ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("InferCreateSchema"), [
|
|
151
|
+
ts.factory.createTypeQueryNode(ts.factory.createIdentifier("columns"), undefined),
|
|
152
|
+
]));
|
|
153
|
+
}
|
|
154
|
+
function createDatabaseDefinitionOfColumnsTypeReference() {
|
|
155
|
+
return ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("DatabaseDefinition"), [
|
|
156
|
+
ts.factory.createTypeQueryNode(ts.factory.createIdentifier("columns"), undefined),
|
|
157
|
+
]);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Create export statement for the database constructor function.
|
|
161
|
+
* Uses a block body + multiline object literal so generated files stay readable.
|
|
162
|
+
* `databaseName` is the exported const identifier (PascalCase, e.g. `CustomerOrders`).
|
|
163
|
+
*/
|
|
164
|
+
export function createDatabaseClassExport(args) {
|
|
165
|
+
const { databaseName, schemaTitle, databaseId } = args;
|
|
166
|
+
const clientConfigObject = ts.factory.createObjectLiteralExpression([
|
|
167
|
+
ts.factory.createPropertyAssignment(ts.factory.createIdentifier("id"), ts.factory.createStringLiteral(databaseId)),
|
|
168
|
+
ts.factory.createPropertyAssignment(ts.factory.createIdentifier("columns"), ts.factory.createIdentifier("columns")),
|
|
169
|
+
ts.factory.createPropertyAssignment(ts.factory.createIdentifier("name"), ts.factory.createStringLiteral(schemaTitle)),
|
|
170
|
+
ts.factory.createShorthandPropertyAssignment(ts.factory.createIdentifier("auth"), undefined),
|
|
171
|
+
], true);
|
|
172
|
+
const newDatabaseClient = ts.factory.createNewExpression(ts.factory.createIdentifier("DatabaseClient"), [
|
|
173
|
+
createDatabaseDefinitionOfColumnsTypeReference(),
|
|
174
|
+
], [clientConfigObject]);
|
|
175
|
+
return ts.factory.createVariableStatement([ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createVariableDeclarationList([
|
|
176
|
+
ts.factory.createVariableDeclaration(ts.factory.createIdentifier(databaseName), undefined, undefined, ts.factory.createArrowFunction(undefined, undefined, [
|
|
177
|
+
ts.factory.createParameterDeclaration(undefined, undefined, ts.factory.createIdentifier("auth"), undefined, ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword), undefined),
|
|
178
|
+
], undefined, ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken), ts.factory.createBlock([ts.factory.createReturnStatement(newDatabaseClient)], true))),
|
|
179
|
+
], ts.NodeFlags.Const));
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=ast-builders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-builders.js","sourceRoot":"","sources":["../../../../src/ast/shared/ast-builders.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared metadata schema and read helpers for database and agent caches.
|
|
3
|
+
* Keeps a single shape so index emission can treat both uniformly.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
declare const cachedEntityMetadataSchema: z.ZodObject<{
|
|
7
|
+
id: z.ZodString;
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
displayName: z.ZodString;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
name: string;
|
|
12
|
+
id: string;
|
|
13
|
+
displayName: string;
|
|
14
|
+
}, {
|
|
15
|
+
name: string;
|
|
16
|
+
id: string;
|
|
17
|
+
displayName: string;
|
|
18
|
+
}>;
|
|
19
|
+
export type CachedEntityMetadata = z.infer<typeof cachedEntityMetadataSchema>;
|
|
20
|
+
export declare function parseMetadataArray(content: string): CachedEntityMetadata[];
|
|
21
|
+
/** Loads cached database metadata used for incremental generation and index emit. */
|
|
22
|
+
export declare function readDatabaseMetadata(): CachedEntityMetadata[];
|
|
23
|
+
/** Loads cached agent metadata so source index emission can include both databases and agents. */
|
|
24
|
+
export declare function readAgentMetadataFromDisk(): CachedEntityMetadata[];
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=cached-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cached-metadata.d.ts","sourceRoot":"","sources":["../../../../src/ast/shared/cached-metadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,0BAA0B;;;;;;;;;;;;EAI9B,CAAC;AAWH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAmC9E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAa1E;AAeD,qFAAqF;AACrF,wBAAgB,oBAAoB,IAAI,oBAAoB,EAAE,CAE7D;AAED,kGAAkG;AAClG,wBAAgB,yBAAyB,IAAI,oBAAoB,EAAE,CAElE"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared metadata schema and read helpers for database and agent caches.
|
|
3
|
+
* Keeps a single shape so index emission can treat both uniformly.
|
|
4
|
+
*/
|
|
5
|
+
import fs from "fs";
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { toUndashedNotionId } from "../../helpers.js";
|
|
8
|
+
import { AST_FS_PATHS } from "./constants.js";
|
|
9
|
+
const cachedEntityMetadataSchema = z.object({
|
|
10
|
+
id: z.string(),
|
|
11
|
+
name: z.string(),
|
|
12
|
+
displayName: z.string(),
|
|
13
|
+
});
|
|
14
|
+
const legacyCachedEntityMetadataSchema = z.object({
|
|
15
|
+
id: z.string(),
|
|
16
|
+
className: z.string().optional(),
|
|
17
|
+
displayName: z.string(),
|
|
18
|
+
camelCaseName: z.string(),
|
|
19
|
+
});
|
|
20
|
+
const cachedEntityMetadataArraySchema = z.array(z.union([cachedEntityMetadataSchema, legacyCachedEntityMetadataSchema]));
|
|
21
|
+
function toNormalizableEntry(entry) {
|
|
22
|
+
if ("name" in entry) {
|
|
23
|
+
return { kind: "current", ...entry };
|
|
24
|
+
}
|
|
25
|
+
return { kind: "legacy", ...entry };
|
|
26
|
+
}
|
|
27
|
+
function normalizeMetadataEntry(entry) {
|
|
28
|
+
if (entry.kind === "current") {
|
|
29
|
+
return {
|
|
30
|
+
id: toUndashedNotionId(entry.id),
|
|
31
|
+
name: entry.name,
|
|
32
|
+
displayName: entry.displayName,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
id: toUndashedNotionId(entry.id),
|
|
37
|
+
name: entry.camelCaseName,
|
|
38
|
+
displayName: entry.displayName,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export function parseMetadataArray(content) {
|
|
42
|
+
let parsedContent;
|
|
43
|
+
try {
|
|
44
|
+
parsedContent = JSON.parse(content);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
const parseResult = cachedEntityMetadataArraySchema.safeParse(parsedContent);
|
|
50
|
+
if (!parseResult.success) {
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
return parseResult.data.map(toNormalizableEntry).map(normalizeMetadataEntry);
|
|
54
|
+
}
|
|
55
|
+
/** Reads metadata from disk; returns [] if file missing or unparseable. */
|
|
56
|
+
function readMetadataFromDisk(filePath) {
|
|
57
|
+
try {
|
|
58
|
+
if (!fs.existsSync(filePath)) {
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
62
|
+
return parseMetadataArray(content);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** Loads cached database metadata used for incremental generation and index emit. */
|
|
69
|
+
export function readDatabaseMetadata() {
|
|
70
|
+
return readMetadataFromDisk(AST_FS_PATHS.metadataFile);
|
|
71
|
+
}
|
|
72
|
+
/** Loads cached agent metadata so source index emission can include both databases and agents. */
|
|
73
|
+
export function readAgentMetadataFromDisk() {
|
|
74
|
+
return readMetadataFromDisk(AST_FS_PATHS.agentMetadataFile);
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=cached-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cached-metadata.js","sourceRoot":"","sources":["../../../../src/ast/shared/cached-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional sink for codegen warnings/errors so CLI can buffer output until
|
|
3
|
+
* progress UI is torn down.
|
|
4
|
+
*/
|
|
5
|
+
export type CodegenDiagnosticLevel = "warn" | "error";
|
|
6
|
+
export type CodegenDiagnostic = {
|
|
7
|
+
level: CodegenDiagnosticLevel;
|
|
8
|
+
message: string;
|
|
9
|
+
};
|
|
10
|
+
export type CodegenDiagnosticSink = (diagnostic: CodegenDiagnostic) => void;
|
|
11
|
+
/** Human-readable line for skipped / unsupported columns (sync UX). */
|
|
12
|
+
export declare function formatCodegenSkippedPropertyLine(args: {
|
|
13
|
+
databaseDisplayName: string;
|
|
14
|
+
propertyName: string;
|
|
15
|
+
notionType: string;
|
|
16
|
+
}): string;
|
|
17
|
+
/** Select / multi_select column where the handler did not yield an options identifier. */
|
|
18
|
+
export declare function formatCodegenMissingOptionsIdentifierLine(args: {
|
|
19
|
+
databaseModuleName: string;
|
|
20
|
+
propertyName: string;
|
|
21
|
+
propertyType: string;
|
|
22
|
+
}): string;
|
|
23
|
+
//# sourceMappingURL=codegen-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen-diagnostics.d.ts","sourceRoot":"","sources":["../../../../src/ast/shared/codegen-diagnostics.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE5E,uEAAuE;AACvE,wBAAgB,gCAAgC,CAAC,IAAI,EAAE;IACtD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAET;AAED,0FAA0F;AAC1F,wBAAgB,yCAAyC,CAAC,IAAI,EAAE;IAC/D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAET"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional sink for codegen warnings/errors so CLI can buffer output until
|
|
3
|
+
* progress UI is torn down.
|
|
4
|
+
*/
|
|
5
|
+
/** Human-readable line for skipped / unsupported columns (sync UX). */
|
|
6
|
+
export function formatCodegenSkippedPropertyLine(args) {
|
|
7
|
+
return `[${args.databaseDisplayName}] \`${args.propertyName}\` (${args.notionType}) was skipped`;
|
|
8
|
+
}
|
|
9
|
+
/** Select / multi_select column where the handler did not yield an options identifier. */
|
|
10
|
+
export function formatCodegenMissingOptionsIdentifierLine(args) {
|
|
11
|
+
return `[${args.databaseModuleName}] Missing options identifier for \`${args.propertyName}\` (${args.propertyType}); skipping.`;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=codegen-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen-diagnostics.js","sourceRoot":"","sources":["../../../../src/ast/shared/codegen-diagnostics.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,uEAAuE;AACvE,MAAM,UAAU,gCAAgC,CAAC,IAIhD;IACA,OAAO,IAAI,IAAI,CAAC,mBAAmB,OAAO,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,UAAU,eAAe,CAAC;AAClG,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,yCAAyC,CAAC,IAIzD;IACA,OAAO,IAAI,IAAI,CAAC,kBAAkB,sCAAsC,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,YAAY,cAAc,CAAC;AACjI,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codegen extension rules (central source of truth for TS vs JS choices):
|
|
3
|
+
*
|
|
4
|
+
* Rule 1 (env-driven). Per-file ARTIFACT extension is `.ts` or `.js` based
|
|
5
|
+
* on the consumer project's environment. Compose filenames with
|
|
6
|
+
* `codegenArtifactFileName(basename, env)` (or
|
|
7
|
+
* `getCodegenArtifactExtension(env)` only when you need the raw
|
|
8
|
+
* extension) — never inline the TS/JS ternary.
|
|
9
|
+
* Rule 2 (constant). Relative IMPORT SPECIFIERS inside generated `.ts`
|
|
10
|
+
* and `.d.ts` modules are always `.js` (TS ESM NodeNext pattern
|
|
11
|
+
* so emitted JS and Node resolution line up). Use
|
|
12
|
+
* `getCodegenImportExtension()`.
|
|
13
|
+
* Rule 3 (constant). DECLARATION artifacts are always `.d.ts` /
|
|
14
|
+
* `.d.ts.map` regardless of environment (see
|
|
15
|
+
* `AST_FS_FILENAMES.INDEX_DTS` / `INDEX_DTS_MAP`).
|
|
16
|
+
*
|
|
17
|
+
* New env-dependent file locations should go through
|
|
18
|
+
* `codegenIndexSourcePath` (for `index.{ts,js}`-shaped outputs) rather than
|
|
19
|
+
* reintroducing `Ts`/`Js` paired constants.
|
|
20
|
+
*/
|
|
21
|
+
export type CodegenEnvironment = "typescript" | "javascript";
|
|
22
|
+
type CodegenConfigRuntime = {
|
|
23
|
+
isTS: boolean;
|
|
24
|
+
};
|
|
25
|
+
export declare function resolveCodegenEnvironment(args?: {
|
|
26
|
+
projectRoot?: string;
|
|
27
|
+
configRuntime?: CodegenConfigRuntime;
|
|
28
|
+
}): CodegenEnvironment;
|
|
29
|
+
/**
|
|
30
|
+
* Environment-aware artifact filename: `{basename}.{ts|js}`.
|
|
31
|
+
* Use for on-disk module paths and relative `./Foo.{ts|js}` import paths in
|
|
32
|
+
* emitted registries — do not interpolate `getCodegenArtifactExtension` by hand.
|
|
33
|
+
*/
|
|
34
|
+
export declare function codegenArtifactFileName(basename: string, environment: CodegenEnvironment): string;
|
|
35
|
+
export declare function getCodegenImportExtension(): "js";
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=codegen-environment.d.ts.map
|