naftiko: 1.0.0-alpha2 info: label: JupyterHub REST API — Activity description: 'JupyterHub REST API — Activity. 1 operations. Lead operation: JupyterHub Notify user activity. Self-contained Naftiko capability covering one Jupyterhub business surface.' tags: - Jupyterhub - Activity created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: JUPYTERHUB_API_KEY: JUPYTERHUB_API_KEY capability: consumes: - type: http namespace: rest-activity baseUri: http://localhost:8000/hub/api description: JupyterHub REST API — Activity business capability. Self-contained, no shared references. resources: - name: users-name-activity path: /users/{name}/activity operations: - name: notifyuseractivity method: POST description: JupyterHub Notify user activity outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string required: true authentication: type: bearer token: '{{env.JUPYTERHUB_API_KEY}}' exposes: - type: rest namespace: rest-activity-rest port: 8080 description: REST adapter for JupyterHub REST API — Activity. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/users/{name}/activity name: users-name-activity description: REST surface for users-name-activity. operations: - method: POST name: notifyuseractivity description: JupyterHub Notify user activity call: rest-activity.notifyuseractivity with: name: rest.name outputParameters: - type: object mapping: $. - type: mcp namespace: rest-activity-mcp port: 9090 transport: http description: MCP adapter for JupyterHub REST API — Activity. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: jupyterhub-notify-user-activity description: JupyterHub Notify user activity hints: readOnly: false destructive: false idempotent: false call: rest-activity.notifyuseractivity with: name: tools.name outputParameters: - type: object mapping: $.