{
  "name": "@jskit-ai/users-core",
  "version": "0.1.227",
  "type": "module",
  "scripts": {
    "test": "node --test"
  },
  "exports": {
    "./server/UsersFeature": "./src/server/UsersFeature.js",
    "./server/UsersIdentityProvider": "./src/server/UsersIdentityProvider.js",
    "./server/usersExtensions": "./src/server/usersExtensions.js",
    "./shared/resources/userProfileResource": "./src/shared/resources/userProfileResource.js",
    "./shared/resources/userSettingsResource": "./src/shared/resources/userSettingsResource.js"
  },
  "dependencies": {
    "@jskit-ai/database-runtime": "0.1.214",
    "@jskit-ai/json-rest-api-core": "0.1.158",
    "@jskit-ai/resource-core": "0.1.156",
    "@jskit-ai/resource-crud-core": "0.1.156",
    "@jskit-ai/storage-runtime": "0.1.211",
    "@jskit-ai/uploads-runtime": "0.1.189",
    "json-rest-schema": "^1.0.17"
  },
  "description": "Users/account runtime plus HTTP routes for account features.",
  "jskit": {
    "kind": "runtime",
    "capabilities": {
      "provides": [
        "users.core",
        "users.identity",
        "users.extensions"
      ],
      "requires": [
        "auth.extensions",
        "auth.service",
        "runtime.actions",
        "runtime.bootstrap",
        "runtime.database",
        "runtime.http",
        "runtime.json-rest-api",
        "runtime.storage",
        "runtime.uploads"
      ]
    },
    "runtime": {
      "server": {
        "providers": [
          {
            "entrypoint": "src/server/UsersExtensionsProvider.js",
            "export": "UsersExtensionsProvider"
          },
          {
            "entrypoint": "src/server/UsersIdentityProvider.js",
            "export": "UsersIdentityProvider"
          },
          {
            "entrypoint": "src/server/UsersFeature.js",
            "export": "UsersFeature"
          }
        ]
      },
      "client": {
        "providers": []
      }
    },
    "metadata": {
      "jskit": {
        "tableOwnership": {
          "tables": [
            {
              "tableName": "user_settings"
            }
          ]
        }
      },
      "apiSummary": {
        "surfaces": [
          {
            "subpath": "./server",
            "summary": "Exports the explicit users feature, account services, repositories, actions, and extension API."
          },
          {
            "subpath": "./shared",
            "summary": "Exports shared users settings resources and defaults."
          },
          {
            "subpath": "./client",
            "summary": "Exports no runtime API today (reserved client entrypoint)."
          }
        ],
        "capabilities": [
          "users.core",
          "users.identity",
          "users.extensions"
        ]
      },
      "server": {
        "routes": [
          {
            "method": "GET",
            "path": "/api/settings",
            "summary": "Get authenticated user settings."
          },
          {
            "method": "PATCH",
            "path": "/api/settings/profile",
            "summary": "Update profile settings."
          },
          {
            "method": "GET",
            "path": "/api/settings/profile/avatar",
            "summary": "Read authenticated user's uploaded avatar."
          },
          {
            "method": "POST",
            "path": "/api/settings/profile/avatar",
            "summary": "Upload profile avatar."
          },
          {
            "method": "DELETE",
            "path": "/api/settings/profile/avatar",
            "summary": "Delete profile avatar."
          },
          {
            "method": "PATCH",
            "path": "/api/settings/preferences",
            "summary": "Update user preferences."
          },
          {
            "method": "PATCH",
            "path": "/api/settings/notifications",
            "summary": "Update notification settings."
          },
          {
            "method": "POST",
            "path": "/api/settings/security/change-password",
            "summary": "Set or change password for authenticated user."
          },
          {
            "method": "PATCH",
            "path": "/api/settings/security/methods/password",
            "summary": "Enable or disable password sign-in method."
          },
          {
            "method": "GET",
            "path": "/api/settings/security/oauth/:provider/start",
            "summary": "Start linking an OAuth provider for authenticated user."
          },
          {
            "method": "DELETE",
            "path": "/api/settings/security/oauth/:provider",
            "summary": "Unlink an OAuth provider from authenticated account."
          },
          {
            "method": "POST",
            "path": "/api/settings/security/logout-others",
            "summary": "Sign out from other active sessions."
          }
        ]
      }
    },
    "migrations": {
      "directories": [
        "migrations"
      ]
    }
  },
  "peerDependencies": {
    "@jskit-ai/auth-core": "0.1.212",
    "@jskit-ai/http-runtime": "0.1.212",
    "@jskit-ai/kernel": "0.1.214"
  }
}
