@takeshape/schema 11.144.1 → 11.154.2
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/examples/latest/all-fields-shapes-inline.json +1 -1
- package/examples/latest/all-fields-shapes.json +1 -1
- package/examples/latest/betzino.json +1 -1
- package/examples/latest/blog-schema.json +1 -1
- package/examples/latest/brewery-schema.json +1 -1
- package/examples/latest/chat-agent-schema.json +1 -1
- package/examples/latest/clear-cache-schema.json +1 -1
- package/examples/latest/complex-project-schema.json +1 -1
- package/examples/latest/complex-schema.json +1 -1
- package/examples/latest/edit-schema.json +1 -1
- package/examples/latest/frank-and-fred-schema.json +1 -1
- package/examples/latest/generate-agent-schema.json +1 -1
- package/examples/latest/klirr-schema.json +1 -1
- package/examples/latest/layers/rick-and-morty-layer.json +1 -1
- package/examples/latest/layers/shopify-layer-2023-01.json +1 -1
- package/examples/latest/layers/shopify-storefront-2023-04.json +1 -1
- package/examples/latest/layers/wordpress-2024-01.json +1 -1
- package/examples/latest/massive-schema.json +1 -1
- package/examples/latest/mill-components-schema.json +1 -1
- package/examples/latest/nested-shape-arrays.json +1 -1
- package/examples/latest/one-earth.json +1 -1
- package/examples/latest/pet-oneof-array.json +1 -1
- package/examples/latest/post-schema.json +1 -1
- package/examples/latest/pruned-shopify-product-schema.json +1 -1
- package/examples/latest/rag-example.json +1 -1
- package/examples/latest/real-world-schema.json +1 -1
- package/examples/latest/recursive-repeater-schema.json +1 -1
- package/examples/latest/recursive-schema.json +1 -1
- package/examples/latest/rick-and-morty-ast.json +1 -1
- package/examples/latest/rick-and-morty-graphql.json +1 -1
- package/examples/latest/rick-and-morty-rest.json +1 -1
- package/examples/latest/rick-and-morty-user-schema.json +1 -1
- package/examples/latest/rick-and-morty-with-indexing.json +1 -1
- package/examples/latest/schema-where-filter.json +1 -1
- package/examples/latest/schema-with-repeater-draftjs.json +1 -1
- package/examples/latest/schema-with-rick-and-morty.json +1 -1
- package/examples/latest/shape-books-v3_2_0.json +1 -1
- package/examples/latest/shape-books.json +1 -1
- package/examples/latest/shape-editor-schema-edited.json +1 -1
- package/examples/latest/shape-editor-schema-initial.json +1 -1
- package/examples/latest/shapedb-crud-every-prop-type.json +1 -1
- package/examples/latest/shopify-lookbook.json +1 -1
- package/examples/latest/shopify-product-2022-07.json +1 -1
- package/examples/latest/shopify-product-2023-04.json +1 -1
- package/examples/latest/shopify-store-with-widget.json +1 -1
- package/examples/latest/stripe-product-runtime-schema.json +1 -1
- package/examples/latest/stripe-starter-resolved.json +1 -1
- package/examples/latest/user-schema-no-required.json +1 -1
- package/examples/latest/user-schema-with-defaults.json +1 -1
- package/examples/latest/valvoline-ai-demo.json +1461 -1421
- package/examples/latest/vector-search-schema.json +1 -1
- package/package.json +10 -9
- package/dist/agents.d.ts +0 -62
- package/dist/agents.js +0 -338
- package/dist/api-version.d.ts +0 -5
- package/dist/api-version.js +0 -17
- package/dist/auth-schemas.d.ts +0 -128
- package/dist/auth-schemas.js +0 -7
- package/dist/auth-utils.d.ts +0 -5
- package/dist/auth-utils.js +0 -6
- package/dist/builtin-schema.d.ts +0 -18
- package/dist/builtin-schema.js +0 -683
- package/dist/constants.d.ts +0 -1
- package/dist/constants.js +0 -1
- package/dist/content-schema-transform.d.ts +0 -35
- package/dist/content-schema-transform.js +0 -162
- package/dist/create-input-schema.d.ts +0 -9
- package/dist/create-input-schema.js +0 -68
- package/dist/enum.d.ts +0 -2
- package/dist/enum.js +0 -9
- package/dist/flatten-templates.d.ts +0 -2
- package/dist/flatten-templates.js +0 -20
- package/dist/get-is-leaf.d.ts +0 -3
- package/dist/get-is-leaf.js +0 -56
- package/dist/index.d.ts +0 -62
- package/dist/index.js +0 -59
- package/dist/interfaces.d.ts +0 -14
- package/dist/interfaces.js +0 -86
- package/dist/layers/layers.d.ts +0 -26
- package/dist/layers/layers.js +0 -301
- package/dist/layers/refs.d.ts +0 -102
- package/dist/layers/refs.js +0 -220
- package/dist/layers/type-utils.d.ts +0 -59
- package/dist/layers/type-utils.js +0 -118
- package/dist/layers/visitor.d.ts +0 -5
- package/dist/layers/visitor.js +0 -38
- package/dist/migration/index.d.ts +0 -73
- package/dist/migration/index.js +0 -103
- package/dist/migration/to/v3.0.0.d.ts +0 -4
- package/dist/migration/to/v3.0.0.js +0 -212
- package/dist/migration/to/v3.1.0.d.ts +0 -4
- package/dist/migration/to/v3.1.0.js +0 -194
- package/dist/migration/to/v3.10.0.d.ts +0 -4
- package/dist/migration/to/v3.10.0.js +0 -67
- package/dist/migration/to/v3.11.0.d.ts +0 -4
- package/dist/migration/to/v3.11.0.js +0 -85
- package/dist/migration/to/v3.12.3.d.ts +0 -4
- package/dist/migration/to/v3.12.3.js +0 -87
- package/dist/migration/to/v3.13.0.d.ts +0 -4
- package/dist/migration/to/v3.13.0.js +0 -17
- package/dist/migration/to/v3.17.0.d.ts +0 -4
- package/dist/migration/to/v3.17.0.js +0 -22
- package/dist/migration/to/v3.18.0.d.ts +0 -4
- package/dist/migration/to/v3.18.0.js +0 -64
- package/dist/migration/to/v3.18.1.d.ts +0 -4
- package/dist/migration/to/v3.18.1.js +0 -12
- package/dist/migration/to/v3.18.2.d.ts +0 -4
- package/dist/migration/to/v3.18.2.js +0 -19
- package/dist/migration/to/v3.20.0.d.ts +0 -4
- package/dist/migration/to/v3.20.0.js +0 -24
- package/dist/migration/to/v3.22.0.d.ts +0 -4
- package/dist/migration/to/v3.22.0.js +0 -25
- package/dist/migration/to/v3.24.0.d.ts +0 -4
- package/dist/migration/to/v3.24.0.js +0 -11
- package/dist/migration/to/v3.25.0.d.ts +0 -4
- package/dist/migration/to/v3.25.0.js +0 -11
- package/dist/migration/to/v3.3.0.d.ts +0 -4
- package/dist/migration/to/v3.3.0.js +0 -13
- package/dist/migration/to/v3.31.0.d.ts +0 -4
- package/dist/migration/to/v3.31.0.js +0 -38
- package/dist/migration/to/v3.32.0.d.ts +0 -4
- package/dist/migration/to/v3.32.0.js +0 -59
- package/dist/migration/to/v3.34.0.d.ts +0 -6
- package/dist/migration/to/v3.34.0.js +0 -111
- package/dist/migration/to/v3.36.0.d.ts +0 -4
- package/dist/migration/to/v3.36.0.js +0 -22
- package/dist/migration/to/v3.39.0.d.ts +0 -4
- package/dist/migration/to/v3.39.0.js +0 -45
- package/dist/migration/to/v3.40.0.d.ts +0 -4
- package/dist/migration/to/v3.40.0.js +0 -26
- package/dist/migration/to/v3.46.0.d.ts +0 -4
- package/dist/migration/to/v3.46.0.js +0 -35
- package/dist/migration/to/v3.57.0.d.ts +0 -4
- package/dist/migration/to/v3.57.0.js +0 -18
- package/dist/migration/to/v3.9.0.d.ts +0 -4
- package/dist/migration/to/v3.9.0.js +0 -79
- package/dist/migration/types.d.ts +0 -26
- package/dist/migration/types.js +0 -3
- package/dist/migration/utils.d.ts +0 -2
- package/dist/migration/utils.js +0 -6
- package/dist/mocks.d.ts +0 -14
- package/dist/mocks.js +0 -58
- package/dist/models/agent.d.ts +0 -3
- package/dist/models/agent.js +0 -29
- package/dist/models/project-schema.d.ts +0 -18
- package/dist/models/project-schema.js +0 -119
- package/dist/models/query.d.ts +0 -3
- package/dist/models/query.js +0 -38
- package/dist/models/runtime-schema.d.ts +0 -9
- package/dist/models/runtime-schema.js +0 -20
- package/dist/models/shape.d.ts +0 -4
- package/dist/models/shape.js +0 -36
- package/dist/models/types.d.ts +0 -36
- package/dist/models/types.js +0 -1
- package/dist/models/user-schema.d.ts +0 -7
- package/dist/models/user-schema.js +0 -9
- package/dist/patterns.d.ts +0 -12
- package/dist/patterns.js +0 -1
- package/dist/project-schema/index.d.ts +0 -211
- package/dist/project-schema/index.js +0 -83
- package/dist/project-schema/latest.d.ts +0 -2619
- package/dist/project-schema/latest.js +0 -7
- package/dist/project-schema/migrate.d.ts +0 -4
- package/dist/project-schema/migrate.js +0 -218
- package/dist/project-schema/v1.0.0.d.ts +0 -299
- package/dist/project-schema/v1.0.0.js +0 -7
- package/dist/project-schema/v3.0.0.d.ts +0 -478
- package/dist/project-schema/v3.0.0.js +0 -7
- package/dist/project-schema/v3.1.0.d.ts +0 -621
- package/dist/project-schema/v3.1.0.js +0 -7
- package/dist/project-schema/v3.10.0.d.ts +0 -1201
- package/dist/project-schema/v3.10.0.js +0 -7
- package/dist/project-schema/v3.11.0.d.ts +0 -1210
- package/dist/project-schema/v3.11.0.js +0 -7
- package/dist/project-schema/v3.12.0.d.ts +0 -1214
- package/dist/project-schema/v3.12.0.js +0 -7
- package/dist/project-schema/v3.12.1.d.ts +0 -1273
- package/dist/project-schema/v3.12.1.js +0 -7
- package/dist/project-schema/v3.12.2.d.ts +0 -1283
- package/dist/project-schema/v3.12.2.js +0 -7
- package/dist/project-schema/v3.12.3.d.ts +0 -1306
- package/dist/project-schema/v3.12.3.js +0 -7
- package/dist/project-schema/v3.13.0.d.ts +0 -1317
- package/dist/project-schema/v3.13.0.js +0 -7
- package/dist/project-schema/v3.13.1.d.ts +0 -1412
- package/dist/project-schema/v3.13.1.js +0 -7
- package/dist/project-schema/v3.14.0.d.ts +0 -1436
- package/dist/project-schema/v3.14.0.js +0 -7
- package/dist/project-schema/v3.15.0.d.ts +0 -1458
- package/dist/project-schema/v3.15.0.js +0 -7
- package/dist/project-schema/v3.16.0.d.ts +0 -1470
- package/dist/project-schema/v3.16.0.js +0 -7
- package/dist/project-schema/v3.17.0.d.ts +0 -1467
- package/dist/project-schema/v3.17.0.js +0 -7
- package/dist/project-schema/v3.17.1.d.ts +0 -1468
- package/dist/project-schema/v3.17.1.js +0 -7
- package/dist/project-schema/v3.18.0.d.ts +0 -1333
- package/dist/project-schema/v3.18.0.js +0 -7
- package/dist/project-schema/v3.18.1.d.ts +0 -1332
- package/dist/project-schema/v3.18.1.js +0 -7
- package/dist/project-schema/v3.18.2.d.ts +0 -1332
- package/dist/project-schema/v3.18.2.js +0 -7
- package/dist/project-schema/v3.19.0.d.ts +0 -1336
- package/dist/project-schema/v3.19.0.js +0 -7
- package/dist/project-schema/v3.2.0.d.ts +0 -632
- package/dist/project-schema/v3.2.0.js +0 -7
- package/dist/project-schema/v3.20.0.d.ts +0 -1336
- package/dist/project-schema/v3.20.0.js +0 -7
- package/dist/project-schema/v3.21.0.d.ts +0 -1338
- package/dist/project-schema/v3.21.0.js +0 -7
- package/dist/project-schema/v3.22.0.d.ts +0 -1344
- package/dist/project-schema/v3.22.0.js +0 -7
- package/dist/project-schema/v3.23.0.d.ts +0 -1376
- package/dist/project-schema/v3.23.0.js +0 -7
- package/dist/project-schema/v3.24.0.d.ts +0 -1364
- package/dist/project-schema/v3.24.0.js +0 -7
- package/dist/project-schema/v3.25.0.d.ts +0 -1363
- package/dist/project-schema/v3.25.0.js +0 -7
- package/dist/project-schema/v3.26.0.d.ts +0 -1388
- package/dist/project-schema/v3.26.0.js +0 -7
- package/dist/project-schema/v3.27.0.d.ts +0 -1397
- package/dist/project-schema/v3.27.0.js +0 -7
- package/dist/project-schema/v3.28.0.d.ts +0 -1416
- package/dist/project-schema/v3.28.0.js +0 -7
- package/dist/project-schema/v3.29.0.d.ts +0 -1423
- package/dist/project-schema/v3.29.0.js +0 -7
- package/dist/project-schema/v3.3.0.d.ts +0 -632
- package/dist/project-schema/v3.3.0.js +0 -7
- package/dist/project-schema/v3.30.0.d.ts +0 -1416
- package/dist/project-schema/v3.30.0.js +0 -7
- package/dist/project-schema/v3.31.0.d.ts +0 -1448
- package/dist/project-schema/v3.31.0.js +0 -7
- package/dist/project-schema/v3.32.0.d.ts +0 -1439
- package/dist/project-schema/v3.32.0.js +0 -7
- package/dist/project-schema/v3.33.0.d.ts +0 -1445
- package/dist/project-schema/v3.33.0.js +0 -7
- package/dist/project-schema/v3.34.0.d.ts +0 -1445
- package/dist/project-schema/v3.34.0.js +0 -7
- package/dist/project-schema/v3.35.0.d.ts +0 -1464
- package/dist/project-schema/v3.35.0.js +0 -7
- package/dist/project-schema/v3.36.0.d.ts +0 -1470
- package/dist/project-schema/v3.36.0.js +0 -7
- package/dist/project-schema/v3.37.0.d.ts +0 -1522
- package/dist/project-schema/v3.37.0.js +0 -7
- package/dist/project-schema/v3.38.0.d.ts +0 -1522
- package/dist/project-schema/v3.38.0.js +0 -7
- package/dist/project-schema/v3.39.0.d.ts +0 -1529
- package/dist/project-schema/v3.39.0.js +0 -7
- package/dist/project-schema/v3.4.0.d.ts +0 -624
- package/dist/project-schema/v3.4.0.js +0 -7
- package/dist/project-schema/v3.40.0.d.ts +0 -1530
- package/dist/project-schema/v3.40.0.js +0 -7
- package/dist/project-schema/v3.41.0.d.ts +0 -1530
- package/dist/project-schema/v3.41.0.js +0 -7
- package/dist/project-schema/v3.42.0.d.ts +0 -1534
- package/dist/project-schema/v3.42.0.js +0 -7
- package/dist/project-schema/v3.43.0.d.ts +0 -1536
- package/dist/project-schema/v3.43.0.js +0 -7
- package/dist/project-schema/v3.44.0.d.ts +0 -1621
- package/dist/project-schema/v3.44.0.js +0 -7
- package/dist/project-schema/v3.45.0.d.ts +0 -1650
- package/dist/project-schema/v3.45.0.js +0 -7
- package/dist/project-schema/v3.46.0.d.ts +0 -1703
- package/dist/project-schema/v3.46.0.js +0 -7
- package/dist/project-schema/v3.47.0.d.ts +0 -1736
- package/dist/project-schema/v3.47.0.js +0 -7
- package/dist/project-schema/v3.48.0.d.ts +0 -2208
- package/dist/project-schema/v3.48.0.js +0 -7
- package/dist/project-schema/v3.49.0.d.ts +0 -2217
- package/dist/project-schema/v3.49.0.js +0 -7
- package/dist/project-schema/v3.5.0.d.ts +0 -649
- package/dist/project-schema/v3.5.0.js +0 -7
- package/dist/project-schema/v3.5.1.d.ts +0 -649
- package/dist/project-schema/v3.5.1.js +0 -7
- package/dist/project-schema/v3.50.0.d.ts +0 -2269
- package/dist/project-schema/v3.50.0.js +0 -7
- package/dist/project-schema/v3.51.0.d.ts +0 -2269
- package/dist/project-schema/v3.51.0.js +0 -7
- package/dist/project-schema/v3.52.0.d.ts +0 -2269
- package/dist/project-schema/v3.52.0.js +0 -7
- package/dist/project-schema/v3.53.0.d.ts +0 -2350
- package/dist/project-schema/v3.53.0.js +0 -7
- package/dist/project-schema/v3.54.0.d.ts +0 -2369
- package/dist/project-schema/v3.54.0.js +0 -7
- package/dist/project-schema/v3.55.0.d.ts +0 -2369
- package/dist/project-schema/v3.55.0.js +0 -7
- package/dist/project-schema/v3.56.0.d.ts +0 -2405
- package/dist/project-schema/v3.56.0.js +0 -7
- package/dist/project-schema/v3.57.0.d.ts +0 -2601
- package/dist/project-schema/v3.57.0.js +0 -7
- package/dist/project-schema/v3.58.0.d.ts +0 -2601
- package/dist/project-schema/v3.58.0.js +0 -7
- package/dist/project-schema/v3.59.0.d.ts +0 -2619
- package/dist/project-schema/v3.59.0.js +0 -7
- package/dist/project-schema/v3.6.0.d.ts +0 -658
- package/dist/project-schema/v3.6.0.js +0 -7
- package/dist/project-schema/v3.7.0.d.ts +0 -961
- package/dist/project-schema/v3.7.0.js +0 -7
- package/dist/project-schema/v3.8.0.d.ts +0 -979
- package/dist/project-schema/v3.8.0.js +0 -7
- package/dist/project-schema/v3.9.0.d.ts +0 -1178
- package/dist/project-schema/v3.9.0.js +0 -7
- package/dist/project-schema/v4.0.0.d.ts +0 -1328
- package/dist/project-schema/v4.0.0.js +0 -7
- package/dist/refs.d.ts +0 -218
- package/dist/refs.js +0 -616
- package/dist/relationships.d.ts +0 -40
- package/dist/relationships.js +0 -302
- package/dist/resolvers/ai/abort-agent-message-args.d.ts +0 -16
- package/dist/resolvers/ai/abort-agent-message-args.js +0 -13
- package/dist/resolvers/ai/abort-agent-message-response.d.ts +0 -39
- package/dist/resolvers/ai/abort-agent-message-response.js +0 -19
- package/dist/resolvers/ai/agent-chat-args.d.ts +0 -17
- package/dist/resolvers/ai/agent-chat-args.js +0 -14
- package/dist/resolvers/ai/agent-chat-payload.d.ts +0 -35
- package/dist/resolvers/ai/agent-chat-payload.js +0 -26
- package/dist/resolvers/ai/agent-chat-response.d.ts +0 -289
- package/dist/resolvers/ai/agent-chat-response.js +0 -21
- package/dist/resolvers/ai/agent-generate-args.d.ts +0 -17
- package/dist/resolvers/ai/agent-generate-args.js +0 -14
- package/dist/resolvers/ai/agent-message-input.d.ts +0 -73
- package/dist/resolvers/ai/agent-message-input.js +0 -39
- package/dist/resolvers/ai/agent-message-output.d.ts +0 -169
- package/dist/resolvers/ai/agent-message-output.js +0 -77
- package/dist/resolvers/ai/agent-message-payload.d.ts +0 -507
- package/dist/resolvers/ai/agent-message-payload.js +0 -156
- package/dist/resolvers/ai/agent-run-mode.d.ts +0 -7
- package/dist/resolvers/ai/agent-run-mode.js +0 -9
- package/dist/resolvers/ai/agent-session-payload.d.ts +0 -515
- package/dist/resolvers/ai/agent-session-payload.js +0 -175
- package/dist/resolvers/ai/create-agent-session-response.d.ts +0 -199
- package/dist/resolvers/ai/create-agent-session-response.js +0 -9
- package/dist/resolvers/ai/embedding-search.d.ts +0 -54
- package/dist/resolvers/ai/embedding-search.js +0 -46
- package/dist/resolvers/ai/get-agent-message-args.d.ts +0 -16
- package/dist/resolvers/ai/get-agent-message-args.js +0 -13
- package/dist/resolvers/ai/get-agent-message-response.d.ts +0 -805
- package/dist/resolvers/ai/get-agent-message-response.js +0 -63
- package/dist/resolvers/ai/inspect-agent-args.d.ts +0 -16
- package/dist/resolvers/ai/inspect-agent-args.js +0 -13
- package/dist/resolvers/ai/inspect-agent-response.d.ts +0 -504
- package/dist/resolvers/ai/inspect-agent-response.js +0 -48
- package/dist/resolvers/ai/send-agent-feedback-args.d.ts +0 -52
- package/dist/resolvers/ai/send-agent-feedback-args.js +0 -16
- package/dist/resolvers/ai/send-agent-message-args.d.ts +0 -48
- package/dist/resolvers/ai/send-agent-message-args.js +0 -36
- package/dist/resolvers/ai/send-agent-message-response.d.ts +0 -353
- package/dist/resolvers/ai/send-agent-message-response.js +0 -51
- package/dist/resolvers/ai/types.d.ts +0 -6
- package/dist/resolvers/ai/types.js +0 -1
- package/dist/resolvers/takeshape/assets/asset-image-meta.d.ts +0 -79
- package/dist/resolvers/takeshape/assets/asset-image-meta.js +0 -98
- package/dist/resolvers/takeshape/assets/asset-image-params.d.ts +0 -901
- package/dist/resolvers/takeshape/assets/asset-image-params.js +0 -726
- package/dist/resolvers/takeshape/assets/asset-image.d.ts +0 -17
- package/dist/resolvers/takeshape/assets/asset-image.js +0 -15
- package/dist/resolvers/takeshape/assets/asset.d.ts +0 -125
- package/dist/resolvers/takeshape/assets/asset.js +0 -107
- package/dist/resolvers/takeshape/assets/constants.d.ts +0 -11
- package/dist/resolvers/takeshape/assets/constants.js +0 -11
- package/dist/resolvers/takeshape/builtins/constants.d.ts +0 -1
- package/dist/resolvers/takeshape/builtins/constants.js +0 -1
- package/dist/runtime-schema.d.ts +0 -6
- package/dist/runtime-schema.js +0 -85
- package/dist/scalars.d.ts +0 -2
- package/dist/scalars.js +0 -4
- package/dist/schema-transform.d.ts +0 -19
- package/dist/schema-transform.js +0 -74
- package/dist/schema-util.d.ts +0 -266
- package/dist/schema-util.js +0 -1127
- package/dist/schemas/auth-schemas.json +0 -374
- package/dist/schemas/index.d.ts +0 -4
- package/dist/schemas/index.js +0 -170
- package/dist/schemas/project-schema/experimental-2025-07.json +0 -1297
- package/dist/schemas/project-schema/latest.d.ts +0 -180
- package/dist/schemas/project-schema/latest.js +0 -11
- package/dist/schemas/project-schema/latest.json +0 -4846
- package/dist/schemas/project-schema/meta-schema-v1.0.0.json +0 -193
- package/dist/schemas/project-schema/meta-schema-v3.0.0.json +0 -608
- package/dist/schemas/project-schema/meta-schema-v3.1.0.json +0 -608
- package/dist/schemas/project-schema/meta-schema-v3.2.0.json +0 -612
- package/dist/schemas/project-schema/meta-schema-v3.3.0.json +0 -612
- package/dist/schemas/project-schema/meta-schema-v3.4.0.json +0 -637
- package/dist/schemas/project-schema/meta-schema-v3.5.0.json +0 -626
- package/dist/schemas/project-schema/meta-schema-v3.5.1.json +0 -626
- package/dist/schemas/project-schema/meta-schema-v3.6.0.json +0 -629
- package/dist/schemas/project-schema/meta-schema-v3.7.0.json +0 -1137
- package/dist/schemas/project-schema/meta-schema-v3.8.0.json +0 -1137
- package/dist/schemas/project-schema/meta-schema-v3.9.0.json +0 -1477
- package/dist/schemas/project-schema/v1.0.0.json +0 -321
- package/dist/schemas/project-schema/v3.0.0.json +0 -414
- package/dist/schemas/project-schema/v3.1.0.json +0 -572
- package/dist/schemas/project-schema/v3.10.0.json +0 -2097
- package/dist/schemas/project-schema/v3.11.0.json +0 -2141
- package/dist/schemas/project-schema/v3.12.0.json +0 -2144
- package/dist/schemas/project-schema/v3.12.1.json +0 -2282
- package/dist/schemas/project-schema/v3.12.2.json +0 -2304
- package/dist/schemas/project-schema/v3.12.3.json +0 -2357
- package/dist/schemas/project-schema/v3.13.0.json +0 -2377
- package/dist/schemas/project-schema/v3.14.0.json +0 -2385
- package/dist/schemas/project-schema/v3.15.0.json +0 -2365
- package/dist/schemas/project-schema/v3.16.0.json +0 -2373
- package/dist/schemas/project-schema/v3.17.0.json +0 -2378
- package/dist/schemas/project-schema/v3.17.1.json +0 -2380
- package/dist/schemas/project-schema/v3.18.0.json +0 -2356
- package/dist/schemas/project-schema/v3.18.1.json +0 -2357
- package/dist/schemas/project-schema/v3.18.2.json +0 -2357
- package/dist/schemas/project-schema/v3.19.0.json +0 -2369
- package/dist/schemas/project-schema/v3.2.0.json +0 -580
- package/dist/schemas/project-schema/v3.20.0.json +0 -2369
- package/dist/schemas/project-schema/v3.21.0.json +0 -2376
- package/dist/schemas/project-schema/v3.22.0.json +0 -2381
- package/dist/schemas/project-schema/v3.23.0.json +0 -2456
- package/dist/schemas/project-schema/v3.24.0.json +0 -2556
- package/dist/schemas/project-schema/v3.25.0.json +0 -2552
- package/dist/schemas/project-schema/v3.26.0.json +0 -2599
- package/dist/schemas/project-schema/v3.27.0.json +0 -2611
- package/dist/schemas/project-schema/v3.28.0.json +0 -2656
- package/dist/schemas/project-schema/v3.29.0.json +0 -2670
- package/dist/schemas/project-schema/v3.3.0.json +0 -581
- package/dist/schemas/project-schema/v3.30.0.json +0 -2656
- package/dist/schemas/project-schema/v3.31.0.json +0 -2714
- package/dist/schemas/project-schema/v3.32.0.json +0 -2708
- package/dist/schemas/project-schema/v3.33.0.json +0 -2715
- package/dist/schemas/project-schema/v3.34.0.json +0 -2715
- package/dist/schemas/project-schema/v3.35.0.json +0 -2748
- package/dist/schemas/project-schema/v3.36.0.json +0 -2756
- package/dist/schemas/project-schema/v3.37.0.json +0 -2821
- package/dist/schemas/project-schema/v3.38.0.json +0 -2819
- package/dist/schemas/project-schema/v3.39.0.json +0 -2827
- package/dist/schemas/project-schema/v3.4.0.json +0 -571
- package/dist/schemas/project-schema/v3.40.0.json +0 -2830
- package/dist/schemas/project-schema/v3.41.0.json +0 -2830
- package/dist/schemas/project-schema/v3.42.0.json +0 -2835
- package/dist/schemas/project-schema/v3.43.0.json +0 -2841
- package/dist/schemas/project-schema/v3.44.0.json +0 -3013
- package/dist/schemas/project-schema/v3.45.0.json +0 -3064
- package/dist/schemas/project-schema/v3.46.0.json +0 -3136
- package/dist/schemas/project-schema/v3.47.0.json +0 -3189
- package/dist/schemas/project-schema/v3.48.0.json +0 -3196
- package/dist/schemas/project-schema/v3.49.0.json +0 -3239
- package/dist/schemas/project-schema/v3.5.0.json +0 -571
- package/dist/schemas/project-schema/v3.5.1.json +0 -571
- package/dist/schemas/project-schema/v3.50.0.json +0 -3320
- package/dist/schemas/project-schema/v3.51.0.json +0 -3326
- package/dist/schemas/project-schema/v3.52.0.json +0 -3326
- package/dist/schemas/project-schema/v3.53.0.json +0 -3476
- package/dist/schemas/project-schema/v3.54.0.json +0 -3512
- package/dist/schemas/project-schema/v3.55.0.json +0 -3515
- package/dist/schemas/project-schema/v3.56.0.json +0 -3530
- package/dist/schemas/project-schema/v3.57.0.json +0 -4815
- package/dist/schemas/project-schema/v3.58.0.json +0 -4815
- package/dist/schemas/project-schema/v3.59.0.json +0 -4846
- package/dist/schemas/project-schema/v3.6.0.json +0 -587
- package/dist/schemas/project-schema/v3.7.0.json +0 -587
- package/dist/schemas/project-schema/v3.8.0.json +0 -604
- package/dist/schemas/project-schema/v3.9.0.json +0 -604
- package/dist/schemas/project-schema/v4.0.0.json +0 -2316
- package/dist/schemas/project-schema.json +0 -214
- package/dist/service-dependencies.d.ts +0 -13
- package/dist/service-dependencies.js +0 -165
- package/dist/services/services.d.ts +0 -31
- package/dist/services/services.js +0 -145
- package/dist/services/types.d.ts +0 -11
- package/dist/services/types.js +0 -1
- package/dist/services/util.d.ts +0 -16
- package/dist/services/util.js +0 -36
- package/dist/shape-paths.d.ts +0 -7
- package/dist/shape-paths.js +0 -28
- package/dist/taxonomies.d.ts +0 -15
- package/dist/taxonomies.js +0 -24
- package/dist/template-shapes/index.d.ts +0 -7
- package/dist/template-shapes/index.js +0 -33
- package/dist/template-shapes/names.d.ts +0 -10
- package/dist/template-shapes/names.js +0 -21
- package/dist/template-shapes/templates.d.ts +0 -32
- package/dist/template-shapes/templates.js +0 -316
- package/dist/template-shapes/types.d.ts +0 -15
- package/dist/template-shapes/types.js +0 -7
- package/dist/template-shapes/where.d.ts +0 -37
- package/dist/template-shapes/where.js +0 -400
- package/dist/types/index.d.ts +0 -3
- package/dist/types/index.js +0 -2
- package/dist/types/transforms.d.ts +0 -15
- package/dist/types/transforms.js +0 -1
- package/dist/types/types.d.ts +0 -200
- package/dist/types/types.js +0 -10
- package/dist/types/utils.d.ts +0 -112
- package/dist/types/utils.js +0 -269
- package/dist/unions.d.ts +0 -14
- package/dist/unions.js +0 -77
- package/dist/util/ai-tools.d.ts +0 -2
- package/dist/util/ai-tools.js +0 -14
- package/dist/util/api-indexing.d.ts +0 -9
- package/dist/util/api-indexing.js +0 -57
- package/dist/util/coerce-value.d.ts +0 -9
- package/dist/util/coerce-value.js +0 -32
- package/dist/util/detect-cycles.d.ts +0 -7
- package/dist/util/detect-cycles.js +0 -45
- package/dist/util/expressions.d.ts +0 -34
- package/dist/util/expressions.js +0 -350
- package/dist/util/find-shape-at-path.d.ts +0 -21
- package/dist/util/find-shape-at-path.js +0 -53
- package/dist/util/form-config.d.ts +0 -11
- package/dist/util/form-config.js +0 -62
- package/dist/util/get-conflicting-properties.d.ts +0 -6
- package/dist/util/get-conflicting-properties.js +0 -55
- package/dist/util/get-return-shape.d.ts +0 -4
- package/dist/util/get-return-shape.js +0 -30
- package/dist/util/has-arg.d.ts +0 -6
- package/dist/util/has-arg.js +0 -25
- package/dist/util/is-asset-property.d.ts +0 -3
- package/dist/util/is-asset-property.js +0 -11
- package/dist/util/mcp.d.ts +0 -8
- package/dist/util/mcp.js +0 -21
- package/dist/util/merge.d.ts +0 -15
- package/dist/util/merge.js +0 -254
- package/dist/util/patch-schema.d.ts +0 -8
- package/dist/util/patch-schema.js +0 -51
- package/dist/util/query-field-path.d.ts +0 -9
- package/dist/util/query-field-path.js +0 -23
- package/dist/util/shapes.d.ts +0 -5
- package/dist/util/shapes.js +0 -22
- package/dist/validate/ai.d.ts +0 -6
- package/dist/validate/ai.js +0 -183
- package/dist/validate/errors.d.ts +0 -3
- package/dist/validate/errors.js +0 -20
- package/dist/validate/types.d.ts +0 -1
- package/dist/validate/types.js +0 -1
- package/dist/validate/util.d.ts +0 -3
- package/dist/validate/util.js +0 -28
- package/dist/validate/validate.d.ts +0 -80
- package/dist/validate/validate.js +0 -1058
- package/dist/versions.d.ts +0 -4
- package/dist/versions.js +0 -4
- package/dist/workflows.d.ts +0 -14
- package/dist/workflows.js +0 -66
package/dist/types/utils.d.ts
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import type { Maybe } from '@takeshape/util';
|
|
2
|
-
import type { AgentExecution, AgentExecutionChat, AgentExecutionGenerate, AIGenerateTextResolver, AIResolverName, AllOfSchema, AnyServiceConfig, AwsLambdaResolver, BasicAuthentication, BasicResolver, BearerAuthentication, ComposeResolver, CustomAuthentication, DirectiveConfig, DirectiveMappingArray, DirectiveMappingMap, ExtendsSchema, GoogleAuthentication, GraphqlResolver, OAuth2Authentication, OAuth2BearerAuthentication, ObjectSchema, OneOfSchema, ParameterOp, ParameterOpMapping, ParameterOpNested, ParameterOpOp, ParameterOpValue, ParameterSerializeContentOptions, ParameterSerializeOptions, ParameterSerializeStyleOptions, ParameterSerializeStyleOptionsForPathParams, ParameterSerializeStyleOptionsForSearchParams, ProjectSchemaJSON, PropertySchema, RefSchema, RefSchemaLegacy, Resolver, RestResolver, ReturnShape, ReturnShapeArraySchema, SearchParamsAuthentication, ServiceAuthentication, ServiceResolver, ShapedbResolver, ShapeJSON, ShapeMap, ShapeSchemaEnum, TakeshapeResolver, UtilResolver } from '../project-schema/index.ts';
|
|
3
|
-
import type { CachedShape, EncryptedServiceConfig, GraphQLServiceConfig, LatestProjectSchemaWithServices, MeshShape, OpenAPIServiceConfig, PropertySchemaWithRelationship, RESTServiceConfig, ReferenceableShape, SchemaWithArgs, ServiceConfigWithCustomAuthentication, ServiceConfigWithOAuth2Authentication, ShopifyServiceConfig } from './types.ts';
|
|
4
|
-
import { ArgsType } from './types.ts';
|
|
5
|
-
/** Resolver Type Utils **/
|
|
6
|
-
/**
|
|
7
|
-
* Only tests that the shape is right, not that the name is correct. That's a job for the validator.
|
|
8
|
-
*/
|
|
9
|
-
export declare function isBasicResolver(resolver: unknown): resolver is BasicResolver;
|
|
10
|
-
export declare function isServiceResolver(resolver: unknown): resolver is ServiceResolver;
|
|
11
|
-
export declare function isComposeResolver(resolver: unknown): resolver is ComposeResolver;
|
|
12
|
-
export declare function isTakeshapeResolver(resolver: unknown): resolver is TakeshapeResolver;
|
|
13
|
-
export declare function isShapedbResolver(resolver: unknown): resolver is ShapedbResolver;
|
|
14
|
-
export declare function isGraphqlResolver(resolver: unknown): resolver is GraphqlResolver;
|
|
15
|
-
export declare function isRestResolver(resolver: unknown): resolver is RestResolver;
|
|
16
|
-
export declare function isAwsLambdaResolver(resolver: unknown): resolver is AwsLambdaResolver;
|
|
17
|
-
export declare function isUtilResolver(resolver: unknown): resolver is UtilResolver;
|
|
18
|
-
export declare const aiResolverNames: AIResolverName[];
|
|
19
|
-
export declare function isAIResolverName(name: string | undefined): name is AIResolverName;
|
|
20
|
-
export declare function isAIResolver(resolver: unknown): resolver is AIGenerateTextResolver;
|
|
21
|
-
export declare function isAIAgentStateExecution(agentExecution: AgentExecution): agentExecution is AgentExecutionGenerate | AgentExecutionChat;
|
|
22
|
-
export declare function isProjectSchemaWithServices(schema: ProjectSchemaJSON): schema is LatestProjectSchemaWithServices;
|
|
23
|
-
export declare function containsResolver(resolver: Resolver, predicate: (resolver: BasicResolver) => boolean): boolean;
|
|
24
|
-
/** Directive Mapping Utils **/
|
|
25
|
-
/**
|
|
26
|
-
* Determine whether the ambiguous Directive structure is a DirectiveMappingMap
|
|
27
|
-
*/
|
|
28
|
-
export declare function isDirectiveMappingMap(maybeMap: DirectiveMappingMap | DirectiveMappingArray | DirectiveConfig): maybeMap is DirectiveMappingMap;
|
|
29
|
-
/**
|
|
30
|
-
* Determine whether the ambiguous Directive structure is a DirectiveMappingArray
|
|
31
|
-
*/
|
|
32
|
-
export declare function isDirectiveMappingArray(maybeArray: DirectiveMappingMap | DirectiveMappingArray | DirectiveConfig): maybeArray is DirectiveMappingArray;
|
|
33
|
-
/**
|
|
34
|
-
* Determine whether the ambiguous Directive structure is a DirectiveConfig array
|
|
35
|
-
*/
|
|
36
|
-
export declare function isDirectiveConfig(maybeConfig: DirectiveMappingMap | DirectiveMappingArray | DirectiveConfig): maybeConfig is DirectiveConfig;
|
|
37
|
-
/**
|
|
38
|
-
* Determine whether a ParameterSerializeOption is a content type serializer
|
|
39
|
-
*/
|
|
40
|
-
export declare function isParameterSerializeContentOptions(maybeContent: ParameterSerializeOptions): maybeContent is ParameterSerializeContentOptions;
|
|
41
|
-
/**
|
|
42
|
-
* Determine whether an unknown variable is a `ParameterOp`
|
|
43
|
-
*/
|
|
44
|
-
export declare function isParameterOp(maybeOp: unknown): maybeOp is ParameterOp;
|
|
45
|
-
/**
|
|
46
|
-
* Determine whether a `ParameterOp` is a `ParameterOpNested`
|
|
47
|
-
*/
|
|
48
|
-
export declare function isParameterOpNested(maybeOp: ParameterOp): maybeOp is ParameterOpNested;
|
|
49
|
-
/**
|
|
50
|
-
* Determine whether a `ParameterOp` is a `ParameterOpMapping`
|
|
51
|
-
*/
|
|
52
|
-
export declare function isParameterOpMapping(maybeOp: ParameterOp): maybeOp is ParameterOpMapping;
|
|
53
|
-
/**
|
|
54
|
-
* Determine whether a `ParameterOp` is a `ParameterOpValue`
|
|
55
|
-
*/
|
|
56
|
-
export declare function isParameterOpValue(maybeOp: ParameterOp): maybeOp is ParameterOpValue;
|
|
57
|
-
/**
|
|
58
|
-
* Determine whether a `ParameterOp` is a `ParameterOpOp`
|
|
59
|
-
*/
|
|
60
|
-
export declare function isParameterOpOp(maybeOp: ParameterOp): maybeOp is ParameterOpOp;
|
|
61
|
-
export declare function isParameterSerializeStyleForSearchParams(maybeParam: Maybe<string>): maybeParam is ParameterSerializeStyleOptionsForSearchParams['style'];
|
|
62
|
-
export declare function isParameterSerializeStyleForPathParams(maybeParam: Maybe<string>): maybeParam is ParameterSerializeStyleOptionsForPathParams['style'];
|
|
63
|
-
/**
|
|
64
|
-
* Determine whether a ParameterSerializeOption is a style serializer
|
|
65
|
-
*/
|
|
66
|
-
export declare function isParameterSerializeStyleOptions(maybeStyle: ParameterSerializeOptions): maybeStyle is ParameterSerializeStyleOptions;
|
|
67
|
-
/** Typeguards for different types of shape schemas **/
|
|
68
|
-
export declare function isRefSchema(propertySchema: PropertySchema): propertySchema is RefSchema | RefSchemaLegacy;
|
|
69
|
-
export declare function isRefSchemaLegacy(propertySchema: PropertySchema): propertySchema is RefSchemaLegacy;
|
|
70
|
-
export declare function isAllOfSchema(propertySchema: PropertySchema): propertySchema is AllOfSchema;
|
|
71
|
-
export declare function isExtendsSchema(propertySchema: unknown): propertySchema is ExtendsSchema;
|
|
72
|
-
export declare function isOneOfSchema(propertySchema: PropertySchema): propertySchema is OneOfSchema;
|
|
73
|
-
export declare function isEnumSchema(obj: PropertySchema): obj is ShapeSchemaEnum;
|
|
74
|
-
export declare function isArraySchema(propertySchema: PropertySchema): propertySchema is ReturnShapeArraySchema;
|
|
75
|
-
export declare function isReturnShapeArraySchema(returnShape: ReturnShape): returnShape is ReturnShapeArraySchema;
|
|
76
|
-
export declare function isObjectSchema(propertySchema: unknown): propertySchema is ObjectSchema;
|
|
77
|
-
/** Service Config Utils **/
|
|
78
|
-
/**
|
|
79
|
-
* Test all required props, currently:
|
|
80
|
-
* "name", "slug", "provider", "serviceType", "authenticationType"
|
|
81
|
-
*/
|
|
82
|
-
export declare function isAnyServiceConfig(maybeConfig: any): maybeConfig is AnyServiceConfig;
|
|
83
|
-
export declare function isGraphQLServiceConfig(maybeConfig: any): maybeConfig is GraphQLServiceConfig;
|
|
84
|
-
export declare function isRESTServiceConfig(maybeConfig: any): maybeConfig is RESTServiceConfig;
|
|
85
|
-
export declare function isOpenAPIServiceConfig(maybeConfig: any): maybeConfig is OpenAPIServiceConfig;
|
|
86
|
-
export declare function isShopifyServiceConfig(maybeShopify: AnyServiceConfig): maybeShopify is ShopifyServiceConfig;
|
|
87
|
-
export declare function isEncryptedServiceConfig(maybeConfig: any): maybeConfig is EncryptedServiceConfig;
|
|
88
|
-
export declare function isServiceConfigWithOAuth2Authentication(maybeServiceConfig: any): maybeServiceConfig is ServiceConfigWithOAuth2Authentication;
|
|
89
|
-
export declare function isServiceConfigWithCustomAuthentication(maybeServiceConfig: any): maybeServiceConfig is ServiceConfigWithCustomAuthentication;
|
|
90
|
-
/** Authentication Utils **/
|
|
91
|
-
export declare function isServiceAuthentication(maybeAuthentication: any): maybeAuthentication is ServiceAuthentication;
|
|
92
|
-
export declare function isBearerAuthentication(authentication: ServiceAuthentication): authentication is BearerAuthentication;
|
|
93
|
-
export declare function isBasicAuthentication(authentication: ServiceAuthentication): authentication is BasicAuthentication;
|
|
94
|
-
export declare function isSearchParamsAuthentication(authentication: ServiceAuthentication): authentication is SearchParamsAuthentication;
|
|
95
|
-
export declare function isOAuth2Authentication(authentication: ServiceAuthentication): authentication is OAuth2Authentication;
|
|
96
|
-
export declare function isOAuth2BearerAuthentication(authentication: ServiceAuthentication): authentication is OAuth2BearerAuthentication;
|
|
97
|
-
export declare function isGoogleAuthentication(authentication: ServiceAuthentication): authentication is GoogleAuthentication;
|
|
98
|
-
export declare function isCustomAuthentication(authentication: ServiceAuthentication): authentication is CustomAuthentication;
|
|
99
|
-
/** Miscellaneous Utils **/
|
|
100
|
-
/**
|
|
101
|
-
* A utility to return the type of args present on a schema.
|
|
102
|
-
*
|
|
103
|
-
* @param argsSchema Any schema that may have an `args` property.
|
|
104
|
-
*/
|
|
105
|
-
export declare const getArgsType: (argsSchema: SchemaWithArgs) => Maybe<ArgsType>;
|
|
106
|
-
export declare function isPropertySchemaWithRelationship(schema: PropertySchema): schema is PropertySchemaWithRelationship;
|
|
107
|
-
export declare function isModelShape(shape: ShapeJSON): boolean;
|
|
108
|
-
export declare function isCachedShape(shape: ShapeJSON): shape is CachedShape;
|
|
109
|
-
export declare function isReferenceableShape(shape: ShapeJSON): shape is ReferenceableShape;
|
|
110
|
-
export declare function listCachedShapes(shapes: ShapeMap): CachedShape[];
|
|
111
|
-
export declare function getCachedShapeMap(shapes: ShapeMap): Record<string, CachedShape>;
|
|
112
|
-
export declare function isMeshShape(shape: ShapeJSON): shape is MeshShape;
|
package/dist/types/utils.js
DELETED
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
import { isRecord } from '@takeshape/util';
|
|
2
|
-
import has from 'lodash/has.js';
|
|
3
|
-
import isArray from 'lodash/isArray.js';
|
|
4
|
-
import isPlainObject from 'lodash/isPlainObject.js';
|
|
5
|
-
import isString from 'lodash/isString.js';
|
|
6
|
-
import isUndefined from 'lodash/isUndefined.js';
|
|
7
|
-
import { latestSchemaJson } from "../schemas/index.js";
|
|
8
|
-
import { ArgsType } from "./types.js";
|
|
9
|
-
/** Resolver Type Utils **/
|
|
10
|
-
/**
|
|
11
|
-
* Only tests that the shape is right, not that the name is correct. That's a job for the validator.
|
|
12
|
-
*/
|
|
13
|
-
export function isBasicResolver(resolver) {
|
|
14
|
-
return isRecord(resolver) && isString(resolver.name);
|
|
15
|
-
}
|
|
16
|
-
export function isServiceResolver(resolver) {
|
|
17
|
-
return isRecord(resolver) && isString(resolver.name) && isString(resolver.service);
|
|
18
|
-
}
|
|
19
|
-
export function isComposeResolver(resolver) {
|
|
20
|
-
return Boolean(isArray(resolver?.compose) &&
|
|
21
|
-
resolver.compose.length &&
|
|
22
|
-
resolver.compose.every(isBasicResolver));
|
|
23
|
-
}
|
|
24
|
-
const { definitions: { takeshapeResolver, shapedbResolver, utilResolver, graphqlResolver, restResolver, awsLambdaResolver } } = latestSchemaJson;
|
|
25
|
-
export function isTakeshapeResolver(resolver) {
|
|
26
|
-
return isBasicResolver(resolver) && takeshapeResolver.properties.name.enum.includes(resolver.name);
|
|
27
|
-
}
|
|
28
|
-
export function isShapedbResolver(resolver) {
|
|
29
|
-
return isBasicResolver(resolver) && shapedbResolver.properties.name.enum.includes(resolver.name);
|
|
30
|
-
}
|
|
31
|
-
export function isGraphqlResolver(resolver) {
|
|
32
|
-
return isBasicResolver(resolver) && graphqlResolver.properties.name.enum.includes(resolver.name);
|
|
33
|
-
}
|
|
34
|
-
export function isRestResolver(resolver) {
|
|
35
|
-
return isBasicResolver(resolver) && restResolver.properties.name.enum.includes(resolver.name);
|
|
36
|
-
}
|
|
37
|
-
export function isAwsLambdaResolver(resolver) {
|
|
38
|
-
return isBasicResolver(resolver) && awsLambdaResolver.properties.name.enum.includes(resolver.name);
|
|
39
|
-
}
|
|
40
|
-
export function isUtilResolver(resolver) {
|
|
41
|
-
return isBasicResolver(resolver) && utilResolver.properties.name.enum.includes(resolver.name);
|
|
42
|
-
}
|
|
43
|
-
export const aiResolverNames = ['ai:generateText', 'ai:chat'];
|
|
44
|
-
export function isAIResolverName(name) {
|
|
45
|
-
return name ? aiResolverNames.includes(name) : false;
|
|
46
|
-
}
|
|
47
|
-
export function isAIResolver(resolver) {
|
|
48
|
-
return isBasicResolver(resolver) && isAIResolverName(resolver.name);
|
|
49
|
-
}
|
|
50
|
-
export function isAIAgentStateExecution(agentExecution) {
|
|
51
|
-
return agentExecution.type === 'generate' || agentExecution.type === 'chat';
|
|
52
|
-
}
|
|
53
|
-
export function isProjectSchemaWithServices(schema) {
|
|
54
|
-
return !isUndefined(schema.services);
|
|
55
|
-
}
|
|
56
|
-
export function containsResolver(resolver, predicate) {
|
|
57
|
-
if (isBasicResolver(resolver)) {
|
|
58
|
-
return predicate(resolver);
|
|
59
|
-
}
|
|
60
|
-
return Boolean(resolver.compose.find((resolver) => containsResolver(resolver, predicate)));
|
|
61
|
-
}
|
|
62
|
-
/** Directive Mapping Utils **/
|
|
63
|
-
/**
|
|
64
|
-
* Determine whether the ambiguous Directive structure is a DirectiveMappingMap
|
|
65
|
-
*/
|
|
66
|
-
export function isDirectiveMappingMap(maybeMap) {
|
|
67
|
-
return isPlainObject(maybeMap) && Object.keys(maybeMap).length > 0;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Determine whether the ambiguous Directive structure is a DirectiveMappingArray
|
|
71
|
-
*/
|
|
72
|
-
export function isDirectiveMappingArray(maybeArray) {
|
|
73
|
-
return isArray(maybeArray) && isArray(maybeArray[0]) && isString(maybeArray[0][0]) && isArray(maybeArray[0][1]);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Determine whether the ambiguous Directive structure is a DirectiveConfig array
|
|
77
|
-
*/
|
|
78
|
-
export function isDirectiveConfig(maybeConfig) {
|
|
79
|
-
return isArray(maybeConfig) && isArray(maybeConfig[0]) && isString(maybeConfig[0][0]) && isRecord(maybeConfig[0][1]);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Determine whether a ParameterSerializeOption is a content type serializer
|
|
83
|
-
*/
|
|
84
|
-
export function isParameterSerializeContentOptions(maybeContent) {
|
|
85
|
-
return Boolean(maybeContent.contentType);
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Determine whether an unknown variable is a `ParameterOp`
|
|
89
|
-
*/
|
|
90
|
-
export function isParameterOp(maybeOp) {
|
|
91
|
-
const op = maybeOp;
|
|
92
|
-
if (!op.path) {
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
return isParameterOpNested(op) || isParameterOpMapping(op) || isParameterOpValue(op) || isParameterOpOp(op);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Determine whether a `ParameterOp` is a `ParameterOpNested`
|
|
99
|
-
*/
|
|
100
|
-
export function isParameterOpNested(maybeOp) {
|
|
101
|
-
return Boolean(maybeOp.ops);
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Determine whether a `ParameterOp` is a `ParameterOpMapping`
|
|
105
|
-
*/
|
|
106
|
-
export function isParameterOpMapping(maybeOp) {
|
|
107
|
-
return Boolean(maybeOp.mapping);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Determine whether a `ParameterOp` is a `ParameterOpValue`
|
|
111
|
-
*/
|
|
112
|
-
export function isParameterOpValue(maybeOp) {
|
|
113
|
-
return Boolean(maybeOp.value);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Determine whether a `ParameterOp` is a `ParameterOpOp`
|
|
117
|
-
*/
|
|
118
|
-
export function isParameterOpOp(maybeOp) {
|
|
119
|
-
const op = maybeOp;
|
|
120
|
-
if (!op.op) {
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
return !(isParameterOpNested(op) || isParameterOpMapping(op) || isParameterOpValue(op));
|
|
124
|
-
}
|
|
125
|
-
const { definitions: { parameterSerializeStyleOptionsForSearchParams, parameterSerializeStyleOptionsForPathParams } } = latestSchemaJson;
|
|
126
|
-
export function isParameterSerializeStyleForSearchParams(maybeParam) {
|
|
127
|
-
return Boolean(maybeParam && parameterSerializeStyleOptionsForSearchParams.properties.style.enum.includes(maybeParam));
|
|
128
|
-
}
|
|
129
|
-
export function isParameterSerializeStyleForPathParams(maybeParam) {
|
|
130
|
-
return Boolean(maybeParam && parameterSerializeStyleOptionsForPathParams.properties.style.enum.includes(maybeParam));
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Determine whether a ParameterSerializeOption is a style serializer
|
|
134
|
-
*/
|
|
135
|
-
export function isParameterSerializeStyleOptions(maybeStyle) {
|
|
136
|
-
return Boolean(maybeStyle.style);
|
|
137
|
-
}
|
|
138
|
-
/** Typeguards for different types of shape schemas **/
|
|
139
|
-
export function isRefSchema(propertySchema) {
|
|
140
|
-
return isString(propertySchema['@ref']) || isString(propertySchema.$ref);
|
|
141
|
-
}
|
|
142
|
-
export function isRefSchemaLegacy(propertySchema) {
|
|
143
|
-
return isString(propertySchema.$ref);
|
|
144
|
-
}
|
|
145
|
-
export function isAllOfSchema(propertySchema) {
|
|
146
|
-
return isArray(propertySchema.allOf);
|
|
147
|
-
}
|
|
148
|
-
export function isExtendsSchema(propertySchema) {
|
|
149
|
-
return isRecord(propertySchema) && isArray(propertySchema.extends);
|
|
150
|
-
}
|
|
151
|
-
export function isOneOfSchema(propertySchema) {
|
|
152
|
-
return isArray(propertySchema.oneOf);
|
|
153
|
-
}
|
|
154
|
-
export function isEnumSchema(obj) {
|
|
155
|
-
return isArray(obj.enum);
|
|
156
|
-
}
|
|
157
|
-
export function isArraySchema(propertySchema) {
|
|
158
|
-
return propertySchema.type === 'array' && isRecord(propertySchema.items);
|
|
159
|
-
}
|
|
160
|
-
export function isReturnShapeArraySchema(returnShape) {
|
|
161
|
-
return typeof returnShape === 'object' && returnShape.type === 'array';
|
|
162
|
-
}
|
|
163
|
-
export function isObjectSchema(propertySchema) {
|
|
164
|
-
return isRecord(propertySchema) && propertySchema.type === 'object' && isRecord(propertySchema.properties);
|
|
165
|
-
}
|
|
166
|
-
/** Service Config Utils **/
|
|
167
|
-
/**
|
|
168
|
-
* Test all required props, currently:
|
|
169
|
-
* "name", "slug", "provider", "serviceType", "authenticationType"
|
|
170
|
-
*/
|
|
171
|
-
export function isAnyServiceConfig(maybeConfig) {
|
|
172
|
-
return (maybeConfig &&
|
|
173
|
-
isString(maybeConfig.title) &&
|
|
174
|
-
isString(maybeConfig.id) &&
|
|
175
|
-
isString(maybeConfig.provider) &&
|
|
176
|
-
isString(maybeConfig.serviceType) &&
|
|
177
|
-
isString(maybeConfig.authenticationType));
|
|
178
|
-
}
|
|
179
|
-
export function isGraphQLServiceConfig(maybeConfig) {
|
|
180
|
-
return (isAnyServiceConfig(maybeConfig) && maybeConfig.serviceType === 'graphql' && isString(maybeConfig.options?.endpoint));
|
|
181
|
-
}
|
|
182
|
-
export function isRESTServiceConfig(maybeConfig) {
|
|
183
|
-
return isAnyServiceConfig(maybeConfig) && maybeConfig.serviceType === 'rest';
|
|
184
|
-
}
|
|
185
|
-
export function isOpenAPIServiceConfig(maybeConfig) {
|
|
186
|
-
return isAnyServiceConfig(maybeConfig) && maybeConfig.serviceType === 'openapi';
|
|
187
|
-
}
|
|
188
|
-
export function isShopifyServiceConfig(maybeShopify) {
|
|
189
|
-
return maybeShopify.provider === 'shopify';
|
|
190
|
-
}
|
|
191
|
-
export function isEncryptedServiceConfig(maybeConfig) {
|
|
192
|
-
return isAnyServiceConfig(maybeConfig) && isString(maybeConfig.authentication);
|
|
193
|
-
}
|
|
194
|
-
export function isServiceConfigWithOAuth2Authentication(maybeServiceConfig) {
|
|
195
|
-
return (isAnyServiceConfig(maybeServiceConfig) &&
|
|
196
|
-
isServiceAuthentication(maybeServiceConfig.authentication) &&
|
|
197
|
-
isOAuth2Authentication(maybeServiceConfig.authentication));
|
|
198
|
-
}
|
|
199
|
-
export function isServiceConfigWithCustomAuthentication(maybeServiceConfig) {
|
|
200
|
-
return (isAnyServiceConfig(maybeServiceConfig) &&
|
|
201
|
-
isServiceAuthentication(maybeServiceConfig.authentication) &&
|
|
202
|
-
isCustomAuthentication(maybeServiceConfig.authentication));
|
|
203
|
-
}
|
|
204
|
-
/** Authentication Utils **/
|
|
205
|
-
export function isServiceAuthentication(maybeAuthentication) {
|
|
206
|
-
return maybeAuthentication?.type;
|
|
207
|
-
}
|
|
208
|
-
export function isBearerAuthentication(authentication) {
|
|
209
|
-
return authentication?.type === 'bearer';
|
|
210
|
-
}
|
|
211
|
-
export function isBasicAuthentication(authentication) {
|
|
212
|
-
return authentication?.type === 'basic';
|
|
213
|
-
}
|
|
214
|
-
export function isSearchParamsAuthentication(authentication) {
|
|
215
|
-
return authentication?.type === 'searchParams';
|
|
216
|
-
}
|
|
217
|
-
export function isOAuth2Authentication(authentication) {
|
|
218
|
-
return authentication?.type === 'oauth2';
|
|
219
|
-
}
|
|
220
|
-
export function isOAuth2BearerAuthentication(authentication) {
|
|
221
|
-
return authentication?.type === 'oauth2Bearer';
|
|
222
|
-
}
|
|
223
|
-
export function isGoogleAuthentication(authentication) {
|
|
224
|
-
return authentication?.type === 'google';
|
|
225
|
-
}
|
|
226
|
-
export function isCustomAuthentication(authentication) {
|
|
227
|
-
return authentication?.type === 'custom';
|
|
228
|
-
}
|
|
229
|
-
/** Miscellaneous Utils **/
|
|
230
|
-
/**
|
|
231
|
-
* A utility to return the type of args present on a schema.
|
|
232
|
-
*
|
|
233
|
-
* @param argsSchema Any schema that may have an `args` property.
|
|
234
|
-
*/
|
|
235
|
-
export const getArgsType = (argsSchema) => {
|
|
236
|
-
if (has(argsSchema, '@args')) {
|
|
237
|
-
return ArgsType['@args'];
|
|
238
|
-
}
|
|
239
|
-
if (has(argsSchema, 'args')) {
|
|
240
|
-
return ArgsType.args;
|
|
241
|
-
}
|
|
242
|
-
};
|
|
243
|
-
export function isPropertySchemaWithRelationship(schema) {
|
|
244
|
-
return schema['@resolver']?.name === 'shapedb:getRelated';
|
|
245
|
-
}
|
|
246
|
-
export function isModelShape(shape) {
|
|
247
|
-
return Boolean(shape.model);
|
|
248
|
-
}
|
|
249
|
-
export function isCachedShape(shape) {
|
|
250
|
-
return shape.cache?.enabled === true && shape.loaders !== undefined;
|
|
251
|
-
}
|
|
252
|
-
export function isReferenceableShape(shape) {
|
|
253
|
-
return Boolean(shape.loaders?.get);
|
|
254
|
-
}
|
|
255
|
-
export function listCachedShapes(shapes) {
|
|
256
|
-
return Object.values(shapes).filter(isCachedShape);
|
|
257
|
-
}
|
|
258
|
-
export function getCachedShapeMap(shapes) {
|
|
259
|
-
const results = {};
|
|
260
|
-
for (const shape of Object.values(shapes)) {
|
|
261
|
-
if (isCachedShape(shape)) {
|
|
262
|
-
results[shape.name] = shape;
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
return results;
|
|
266
|
-
}
|
|
267
|
-
export function isMeshShape(shape) {
|
|
268
|
-
return Boolean(shape.joins);
|
|
269
|
-
}
|
package/dist/unions.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ObjectSchema, OneOfSchema, ProjectSchemaJSON, PropertySchema } from './project-schema/index.ts';
|
|
2
|
-
import type { PropertyTransform } from './types/index.ts';
|
|
3
|
-
export type UnionedShape = {
|
|
4
|
-
propName: string;
|
|
5
|
-
shapeName: string;
|
|
6
|
-
shapeId: string;
|
|
7
|
-
propSchema: PropertySchema;
|
|
8
|
-
};
|
|
9
|
-
export declare function enumerateOneOfKeys(projectSchema: ProjectSchemaJSON, oneOf: PropertySchema[]): UnionedShape[];
|
|
10
|
-
export declare function isUnionSchema(schema: PropertySchema): schema is OneOfSchema;
|
|
11
|
-
export declare function oneOfToObject(projectSchema: ProjectSchemaJSON, schema: PropertySchema): ObjectSchema;
|
|
12
|
-
export type TransformProcessFactory = (projectSchema: ProjectSchemaJSON) => PropertyTransform['process'];
|
|
13
|
-
export declare const createUnwrapTransform: TransformProcessFactory;
|
|
14
|
-
export declare const createWrapTransform: TransformProcessFactory;
|
package/dist/unions.js
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { BadDataError } from '@takeshape/errors';
|
|
2
|
-
import { camelCase, isRecord } from '@takeshape/util';
|
|
3
|
-
import omit from 'lodash/omit.js';
|
|
4
|
-
import { getRef, refItemToNamespacedShapeName } from "./refs.js";
|
|
5
|
-
import { getOutputShapeName } from "./template-shapes/names.js";
|
|
6
|
-
import { isRefSchema } from "./types/utils.js";
|
|
7
|
-
import { getShapeById } from "./util/shapes.js";
|
|
8
|
-
export function enumerateOneOfKeys(projectSchema, oneOf) {
|
|
9
|
-
const result = [];
|
|
10
|
-
for (const child of oneOf) {
|
|
11
|
-
const refItem = getRef(projectSchema, child);
|
|
12
|
-
if (refItem) {
|
|
13
|
-
const shapeName = refItemToNamespacedShapeName(projectSchema, refItem);
|
|
14
|
-
if (projectSchema.shapes[shapeName]) {
|
|
15
|
-
const shapeId = projectSchema.shapes[shapeName].id;
|
|
16
|
-
result.push({
|
|
17
|
-
propName: getOutputShapeName(camelCase(refItem.shapeName)),
|
|
18
|
-
propSchema: child,
|
|
19
|
-
shapeName,
|
|
20
|
-
shapeId
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return result;
|
|
26
|
-
}
|
|
27
|
-
function getOneOf(schema) {
|
|
28
|
-
if (!schema.oneOf) {
|
|
29
|
-
throw new Error(`Expected ${JSON.stringify(schema)} to be a oneOf schema`);
|
|
30
|
-
}
|
|
31
|
-
return schema.oneOf;
|
|
32
|
-
}
|
|
33
|
-
export function isUnionSchema(schema) {
|
|
34
|
-
return Boolean(schema.oneOf?.every(isRefSchema));
|
|
35
|
-
}
|
|
36
|
-
export function oneOfToObject(projectSchema, schema) {
|
|
37
|
-
const properties = {};
|
|
38
|
-
for (const { propName, propSchema: child } of enumerateOneOfKeys(projectSchema, getOneOf(schema))) {
|
|
39
|
-
properties[propName] = child;
|
|
40
|
-
}
|
|
41
|
-
return { ...omit(schema, 'oneOf'), type: 'object', properties };
|
|
42
|
-
}
|
|
43
|
-
function formatKeys(keys) {
|
|
44
|
-
return keys.map((k) => `"${k}"`).join(', ');
|
|
45
|
-
}
|
|
46
|
-
export const createUnwrapTransform = (projectSchema) => (obj, schema, name, shape, next) => {
|
|
47
|
-
if (isRecord(obj)) {
|
|
48
|
-
const oneOfKeys = enumerateOneOfKeys(projectSchema, getOneOf(schema));
|
|
49
|
-
const objectKeys = Object.keys(obj);
|
|
50
|
-
if (objectKeys.length !== 1) {
|
|
51
|
-
const propNames = oneOfKeys.map((k) => k.propName);
|
|
52
|
-
throw new BadDataError(`Object should only specify one of the following keys: ${formatKeys(propNames)}, but found keys: ${formatKeys(objectKeys)}`);
|
|
53
|
-
}
|
|
54
|
-
for (const { propName, shapeId, propSchema } of oneOfKeys) {
|
|
55
|
-
const propValue = obj[propName];
|
|
56
|
-
if (isRecord(propValue)) {
|
|
57
|
-
const transformedPropValue = next(propValue, propSchema, name);
|
|
58
|
-
if (isRecord(transformedPropValue)) {
|
|
59
|
-
return {
|
|
60
|
-
...transformedPropValue,
|
|
61
|
-
_shapeId: shapeId
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
export const createWrapTransform = (projectSchema) => (obj, schema, name, shape, next) => {
|
|
69
|
-
if (isRecord(obj) && typeof obj._shapeId === 'string') {
|
|
70
|
-
const shape = getShapeById(projectSchema, obj._shapeId);
|
|
71
|
-
if (shape) {
|
|
72
|
-
return {
|
|
73
|
-
[camelCase(shape.name)]: next(omit(obj, '_shapeId'), shape.schema, name)
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
};
|
package/dist/util/ai-tools.d.ts
DELETED
package/dist/util/ai-tools.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { parsePropertyRef } from "../refs.js";
|
|
2
|
-
export function normalizeToolConfig(tool) {
|
|
3
|
-
if (typeof tool === 'string') {
|
|
4
|
-
return {
|
|
5
|
-
name: parsePropertyRef(tool)?.propertyName ?? tool,
|
|
6
|
-
ref: tool
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
const name = 'name' in tool ? tool.name : (parsePropertyRef(tool.ref)?.propertyName ?? tool.ref);
|
|
10
|
-
return {
|
|
11
|
-
name,
|
|
12
|
-
...tool
|
|
13
|
-
};
|
|
14
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type Maybe } from '@takeshape/util';
|
|
2
|
-
import type { ProjectSchemaJSON, ShapeLoaders } from '../project-schema/index.ts';
|
|
3
|
-
import type { GetQueryIndexingConfig, ListQueryIndexingConfig } from '../types/index.ts';
|
|
4
|
-
export declare function serviceHasIndexedShapes(schema: ProjectSchemaJSON, serviceId: string): boolean;
|
|
5
|
-
export declare function getIndexedServices(projectSchema: ProjectSchemaJSON, configs: ShapeLoaders[keyof ShapeLoaders]): string[];
|
|
6
|
-
type Getter<T> = (context: Pick<ProjectSchemaJSON, 'shapes'>, shapeName: string) => T;
|
|
7
|
-
export declare const getListQueryIndexConfigs: Getter<ListQueryIndexingConfig[]>;
|
|
8
|
-
export declare const getGetQueryIndexConfig: Getter<Maybe<GetQueryIndexingConfig>>;
|
|
9
|
-
export {};
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { ensureArray } from '@takeshape/util';
|
|
2
|
-
import { getQuery } from "../refs.js";
|
|
3
|
-
import { getIdField } from "../schema-util.js";
|
|
4
|
-
import { getResolverServices } from "../services/util.js";
|
|
5
|
-
import { isCachedShape, isServiceResolver } from "../types/index.js";
|
|
6
|
-
export function serviceHasIndexedShapes(schema, serviceId) {
|
|
7
|
-
for (const shape of Object.values(schema.shapes ?? {})) {
|
|
8
|
-
const indexingEnabled = isCachedShape(shape);
|
|
9
|
-
const listConfigs = shape.loaders?.list;
|
|
10
|
-
if (indexingEnabled && listConfigs) {
|
|
11
|
-
for (const { query: queryRef } of ensureArray(listConfigs)) {
|
|
12
|
-
const resolved = getQuery(schema, queryRef);
|
|
13
|
-
if (resolved && isServiceResolver(resolved.query.resolver) && resolved.query.resolver.service === serviceId) {
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
export function getIndexedServices(projectSchema, configs) {
|
|
22
|
-
return ensureArray(configs).reduce((services, queryConfig) => {
|
|
23
|
-
const resolved = queryConfig?.query ? getQuery(projectSchema, queryConfig.query) : undefined;
|
|
24
|
-
return resolved?.query ? [...services, ...getResolverServices(resolved.query.resolver)] : services;
|
|
25
|
-
}, []);
|
|
26
|
-
}
|
|
27
|
-
function flattenListQueryConfigs(base, queryConfig, maybeConfigArray) {
|
|
28
|
-
return (maybeConfigArray &&
|
|
29
|
-
ensureArray(maybeConfigArray).flatMap((config) => ensureArray(config.args).map((args) => ({
|
|
30
|
-
...base,
|
|
31
|
-
...queryConfig,
|
|
32
|
-
...config,
|
|
33
|
-
args
|
|
34
|
-
}))));
|
|
35
|
-
}
|
|
36
|
-
function getQueryIndexConfigHelper(op) {
|
|
37
|
-
return ({ shapes }, shapeName) => {
|
|
38
|
-
const { cache, loaders } = shapes[shapeName] ?? {};
|
|
39
|
-
if (cache && loaders) {
|
|
40
|
-
const idField = getIdField(cache);
|
|
41
|
-
if (op === 'list') {
|
|
42
|
-
return flattenListQueryConfigs({ shapeName, idField }, cache.fragment, loaders.list);
|
|
43
|
-
}
|
|
44
|
-
const queryConfig = loaders.get;
|
|
45
|
-
if (queryConfig) {
|
|
46
|
-
return {
|
|
47
|
-
idField,
|
|
48
|
-
shapeName,
|
|
49
|
-
...cache.fragment,
|
|
50
|
-
...queryConfig
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
export const getListQueryIndexConfigs = getQueryIndexConfigHelper('list');
|
|
57
|
-
export const getGetQueryIndexConfig = getQueryIndexConfigHelper('get');
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { PropertySchema } from '../project-schema/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Coerces a value to match the type specified in a PropertySchema only supporting primitive types
|
|
4
|
-
* @param schema - The PropertySchema object defining the expected type
|
|
5
|
-
* @param value - The value to coerce
|
|
6
|
-
* @returns The coerced value
|
|
7
|
-
* @throws Error if coercion fails or type is not supported
|
|
8
|
-
*/
|
|
9
|
-
export declare function coercePrimitiveValue(schema: PropertySchema, value: unknown): any;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { coerceToBoolean, coerceToInteger, coerceToNumber, coerceToString } from '@takeshape/util';
|
|
2
|
-
/**
|
|
3
|
-
* Coerces a value to match the type specified in a PropertySchema only supporting primitive types
|
|
4
|
-
* @param schema - The PropertySchema object defining the expected type
|
|
5
|
-
* @param value - The value to coerce
|
|
6
|
-
* @returns The coerced value
|
|
7
|
-
* @throws Error if coercion fails or type is not supported
|
|
8
|
-
*/
|
|
9
|
-
export function coercePrimitiveValue(schema, value) {
|
|
10
|
-
// Handle undefined/null values
|
|
11
|
-
if (value === undefined) {
|
|
12
|
-
if (schema.default !== undefined) {
|
|
13
|
-
return schema.default;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
const primaryType = Array.isArray(schema.type) ? schema.type[0] : schema.type;
|
|
17
|
-
switch (primaryType) {
|
|
18
|
-
case 'string':
|
|
19
|
-
return coerceToString(value);
|
|
20
|
-
case 'number':
|
|
21
|
-
return coerceToNumber(value);
|
|
22
|
-
case 'integer':
|
|
23
|
-
return coerceToInteger(value);
|
|
24
|
-
case 'boolean':
|
|
25
|
-
return coerceToBoolean(value);
|
|
26
|
-
case 'null':
|
|
27
|
-
return null;
|
|
28
|
-
default:
|
|
29
|
-
// If no type specified, return as-is
|
|
30
|
-
return value;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ProjectSchemaJSON, PropertySchema } from '../project-schema/index.ts';
|
|
2
|
-
type SchemaPredicate = (projectSchema: ProjectSchemaJSON, propSchema: PropertySchema, shapeName?: string, propName?: string) => boolean;
|
|
3
|
-
/**
|
|
4
|
-
* Use a basic depth-first search to determine whether a schema contains a cycle
|
|
5
|
-
*/
|
|
6
|
-
export declare function hasCycle(projectSchema: ProjectSchemaJSON, schema: PropertySchema, predicate?: SchemaPredicate): boolean;
|
|
7
|
-
export {};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { value } from '@takeshape/util';
|
|
2
|
-
import { getRef, refItemToShape } from "../refs.js";
|
|
3
|
-
function immutableSetAdd(set, str) {
|
|
4
|
-
const result = new Set(set);
|
|
5
|
-
result.add(str);
|
|
6
|
-
return result;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Use a basic depth-first search to determine whether a schema contains a cycle
|
|
10
|
-
*/
|
|
11
|
-
export function hasCycle(projectSchema, schema, predicate = value(true)) {
|
|
12
|
-
const hasCycleHelper = (schema, shapesSeen = new Set(), shapeName, propName) => {
|
|
13
|
-
if (!predicate(projectSchema, schema, shapeName, propName)) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
const refItem = getRef(projectSchema, schema);
|
|
17
|
-
if (refItem) {
|
|
18
|
-
const refShape = refItemToShape(projectSchema, refItem);
|
|
19
|
-
// If we have a refItem, but no shape, this is a dangling ref and has no cycles
|
|
20
|
-
if (!refShape) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
if (shapesSeen.has(refShape.name)) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
return hasCycleHelper(refShape.schema, immutableSetAdd(shapesSeen, refShape.name), refShape.name);
|
|
27
|
-
}
|
|
28
|
-
const combo = schema.oneOf ?? schema.allOf ?? schema.extends;
|
|
29
|
-
if (combo) {
|
|
30
|
-
return combo.some((childSchema) => hasCycleHelper(childSchema, shapesSeen, shapeName, propName));
|
|
31
|
-
}
|
|
32
|
-
if (schema.items) {
|
|
33
|
-
return hasCycleHelper(schema.items, shapesSeen, shapeName, propName);
|
|
34
|
-
}
|
|
35
|
-
const { properties } = schema;
|
|
36
|
-
if (properties) {
|
|
37
|
-
return Object.keys(properties).some((name) => {
|
|
38
|
-
const propSchema = properties[name];
|
|
39
|
-
return hasCycleHelper(propSchema, shapesSeen, shapeName, name);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
return false;
|
|
43
|
-
};
|
|
44
|
-
return hasCycleHelper(schema);
|
|
45
|
-
}
|