diff --git a/changelog.md b/changelog.md index eeead72..496570c 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,14 @@ # Changelog +## 2026-01-29 - 1.15.0 - feat(build) +add tsbundle/tswatch configs, update build/watch scripts, bump dependencies, and add CLI documentation + +- Add tsbundle and tswatch configuration to npmextra.json to support bundling and a local dev server (dist_serve, liveReload, watch patterns). +- Update package.json build/watch scripts to use generic tsbundle/tswatch invocations (removed explicit 'website' target). +- Bump dependencies and devDependencies: @git.zone/tsbuild ^4.0.2 -> ^4.1.2, @git.zone/tsbundle ^2.6.3 -> ^2.8.3, @git.zone/tswatch ^2.3.13 -> ^3.0.1, @api.global/typedserver ^8.1.0 -> ^8.3.0, several @design.estate packages, @push.rocks/taskbuffer ^3.5.0 -> ^4.1.1, @types/node 25.0.3 -> 25.1.0, and other minor/patch bumps. +- Add a new CLI README (ts_idpcli/readme.md) with usage, commands, programmatic API examples and configuration. +- Update README license/Legal sections in ts_idpclient, ts_interfaces and ts_web to include license, trademark, and company information. + ## 2025-12-22 - 1.14.1 - fix(oidc) migrate OIDC endpoints and internal handlers to use typedserver IRequestContext and update dependencies diff --git a/npmextra.json b/npmextra.json index 6b5d306..edfed23 100644 --- a/npmextra.json +++ b/npmextra.json @@ -50,5 +50,44 @@ "registries": ["https://verdaccio.lossless.digital"], "accessLevel": "public" } + }, + "@git.zone/tsbundle": { + "bundles": [ + { + "from": "./ts_web/index.ts", + "to": "./dist_serve/bundle.js", + "outputMode": "bundle", + "bundler": "esbuild", + "production": true + } + ] + }, + "@git.zone/tswatch": { + "preset": "website", + "server": { + "enabled": true, + "port": 3000, + "serveDir": "./dist_serve/", + "liveReload": true + }, + "watchers": [ + { + "name": "backend", + "watch": "./ts/**/*", + "command": "npm run startTs", + "restart": true, + "debounce": 300, + "runOnStart": true + } + ], + "bundles": [ + { + "name": "website", + "from": "./ts_web/index.ts", + "to": "./dist_serve/bundle.js", + "watchPatterns": ["./ts_web/**/*"], + "triggerReload": true + } + ] } } diff --git a/package.json b/package.json index 2c73e97..989178b 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "type": "module", "scripts": { "test": "npm run build", - "build": "tsbuild tsfolders --web --allowimplicitany && tsbundle website --production", - "watch": "tswatch website", + "build": "tsbuild tsfolders --web --allowimplicitany && tsbundle", + "watch": "tswatch", "start": "(node cli.js)", "startTs": "(node cli.ts.js)", "buildDocs": "tsdoc" @@ -18,16 +18,16 @@ "dependencies": { "@api.global/typedrequest": "^3.2.5", "@api.global/typedrequest-interfaces": "^3.0.19", - "@api.global/typedserver": "^8.1.0", + "@api.global/typedserver": "^8.3.0", "@api.global/typedsocket": "^4.1.0", "@consent.software/catalog": "^2.0.1", - "@design.estate/dees-catalog": "^3.4.0", - "@design.estate/dees-domtools": "^2.3.6", - "@design.estate/dees-element": "^2.1.3", + "@design.estate/dees-catalog": "^3.41.4", + "@design.estate/dees-domtools": "^2.3.8", + "@design.estate/dees-element": "^2.1.6", "@git.zone/tspublish": "^1.11.0", "@push.rocks/lik": "^6.2.2", "@push.rocks/qenv": "^6.1.3", - "@push.rocks/smartcli": "^4.0.19", + "@push.rocks/smartcli": "^4.0.20", "@push.rocks/smartdata": "^7.0.15", "@push.rocks/smartdelay": "^3.0.5", "@push.rocks/smartfile": "^13.1.0", @@ -44,7 +44,7 @@ "@push.rocks/smarttime": "^4.1.1", "@push.rocks/smartunique": "^3.0.9", "@push.rocks/smarturl": "^3.1.0", - "@push.rocks/taskbuffer": "^3.5.0", + "@push.rocks/taskbuffer": "^4.1.1", "@push.rocks/webjwt": "^1.0.9", "@push.rocks/websetup": "^3.0.15", "@push.rocks/webstore": "^2.0.20", @@ -53,12 +53,12 @@ "@uptime.link/webwidget": "^1.2.6" }, "devDependencies": { - "@git.zone/tsbuild": "^4.0.2", - "@git.zone/tsbundle": "^2.6.3", + "@git.zone/tsbuild": "^4.1.2", + "@git.zone/tsbundle": "^2.8.3", "@git.zone/tsrun": "^2.0.1", - "@git.zone/tswatch": "^2.3.13", + "@git.zone/tswatch": "^3.0.1", "@push.rocks/projectinfo": "^5.0.1", - "@types/node": "^25.0.3" + "@types/node": "^25.1.0" }, "private": true, "repository": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 90fcc10..7cd014d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^3.0.19 version: 3.0.19 '@api.global/typedserver': - specifier: ^8.1.0 - version: 8.1.0(@tiptap/pm@2.27.1) + specifier: ^8.3.0 + version: 8.3.0(@tiptap/pm@2.27.1) '@api.global/typedsocket': specifier: ^4.1.0 version: 4.1.0(@push.rocks/smartserve@2.0.1) @@ -24,14 +24,14 @@ importers: specifier: ^2.0.1 version: 2.0.1 '@design.estate/dees-catalog': - specifier: ^3.4.0 - version: 3.4.0(@tiptap/pm@2.27.1) + specifier: ^3.41.4 + version: 3.41.4(@tiptap/pm@2.27.1) '@design.estate/dees-domtools': - specifier: ^2.3.6 - version: 2.3.6 + specifier: ^2.3.8 + version: 2.3.8 '@design.estate/dees-element': - specifier: ^2.1.3 - version: 2.1.3 + specifier: ^2.1.6 + version: 2.1.6 '@git.zone/tspublish': specifier: ^1.11.0 version: 1.11.0 @@ -42,8 +42,8 @@ importers: specifier: ^6.1.3 version: 6.1.3 '@push.rocks/smartcli': - specifier: ^4.0.19 - version: 4.0.19 + specifier: ^4.0.20 + version: 4.0.20 '@push.rocks/smartdata': specifier: ^7.0.15 version: 7.0.15 @@ -93,8 +93,8 @@ importers: specifier: ^3.1.0 version: 3.1.0 '@push.rocks/taskbuffer': - specifier: ^3.5.0 - version: 3.5.0 + specifier: ^4.1.1 + version: 4.1.1 '@push.rocks/webjwt': specifier: ^1.0.9 version: 1.0.9 @@ -115,23 +115,23 @@ importers: version: 1.2.6(@tiptap/pm@2.27.1) devDependencies: '@git.zone/tsbuild': - specifier: ^4.0.2 - version: 4.0.2 + specifier: ^4.1.2 + version: 4.1.2 '@git.zone/tsbundle': - specifier: ^2.6.3 - version: 2.6.3 + specifier: ^2.8.3 + version: 2.8.3 '@git.zone/tsrun': specifier: ^2.0.1 version: 2.0.1 '@git.zone/tswatch': - specifier: ^2.3.13 - version: 2.3.13(@tiptap/pm@2.27.1) + specifier: ^3.0.1 + version: 3.0.1(@tiptap/pm@2.27.1) '@push.rocks/projectinfo': specifier: ^5.0.1 version: 5.0.2 '@types/node': - specifier: ^25.0.3 - version: 25.0.3 + specifier: ^25.1.0 + version: 25.1.0 packages: @@ -147,11 +147,8 @@ packages: '@api.global/typedserver@3.0.80': resolution: {integrity: sha512-dcp0oXsjBL+XdFg1wUUP08uJQid5bQ0Yv3V3Y3lnI2QCbat0FU+Tsb0TZRnZ4+P150Vj/ITBqJUgDzFsF34grA==} - '@api.global/typedserver@7.11.1': - resolution: {integrity: sha512-1vQUJ2/DszDFHVkCmqqBy/qNiIP/jltFN3KxHtoNLxjbdBZYfw1Zd1Odjs6YSPalAD0p8wQ/alJblJEAewNQVg==} - - '@api.global/typedserver@8.1.0': - resolution: {integrity: sha512-F0OiSDSaSwnZwVrSP/3NvU+7jZOnS8+Igdf8SE0mQcro5cjwsHqf14fD4XD1gx1OSqxuZQlIcATVZm3Tr77VyQ==} + '@api.global/typedserver@8.3.0': + resolution: {integrity: sha512-Uh2sQkoQXbsKFb/fhSm7P9oCCEnawGY7R5/9VgCLQUuFV30G0FL0oBTKZNqFli0CNNDDs0nQHE+dpdf4VHhlXQ==} '@api.global/typedsocket@3.1.1': resolution: {integrity: sha512-Wkz3NlhmfdZMKqXXI2c2dMtGGmSmhdOegZiziL+9b2mqPYdc7Gd8AZRdEOKvbSoIvc9G22/5BEadIWHrfq66TA==} @@ -350,23 +347,23 @@ packages: '@consent.software/webclient@1.1.0': resolution: {integrity: sha512-VX7e8ygZwgU8WEzn22fdvvEytLYl4kfp/u40GusaBU4iFtjrCY2hxDy9Z1FTKicpGcRxf3t13lM0Jaugq7Jj/w==} - '@design.estate/dees-catalog@3.4.0': - resolution: {integrity: sha512-Xl9govx7ls779uykabv8bNaIOVL1YRWaFfyLOEZ8RzQmN7zhHWe+g47vUsv93nh7DIPyKTqzusep6spHcVAGgA==} + '@design.estate/dees-catalog@3.41.4': + resolution: {integrity: sha512-tVut61OuMF+o/1dzcKEvfom6sl8dMC5WzxIevN9jVq4sQgMO9DOrFd+UfKwRL9FfLZeqAFyxJDzU8389e4Pg0Q==} '@design.estate/dees-comms@1.0.30': resolution: {integrity: sha512-KchMlklJfKAjQiJiR0xmofXtQ27VgZtBIxcMwPE9d+h3jJRv+lPZxzBQVOM0eyM0uS44S5vJMZ11IeV4uDXSHg==} - '@design.estate/dees-domtools@2.3.6': - resolution: {integrity: sha512-cKaPNtSpp/ZuuXVx2dXO3K2FU3/HjC4ZkqtXb8Kl6yy9rNDbgtjcI4PuOk9Ux1SJzw7FgcxqVh7OSEV60htbmg==} + '@design.estate/dees-domtools@2.3.8': + resolution: {integrity: sha512-jUG9GMvPxKMwmRIZ9oLTL3c8hHvHuiwIk8cTrYnuZzGO/uJJ5/czk9o6LRXUuCOOG7TRLtqgOpK8EEQgaadfZA==} - '@design.estate/dees-element@2.1.3': - resolution: {integrity: sha512-TjXWxVcdSPaT1IOk31ckfxvAZnJLuTxhFGsNCKoh63/UE2FVf6slp8//UFvN+ADigiA9ZsY0azkY99XbJCwDDA==} + '@design.estate/dees-element@2.1.6': + resolution: {integrity: sha512-7zyHkUjB8UEQgT9VbB2IJtc/yuPt9CI5JGel3b6BxA1kecY64ceIjFvof1uIkc0QP8q2fMLLY45r1c+9zDTjzg==} '@design.estate/dees-wcctools@2.0.1': resolution: {integrity: sha512-1DaQtvoMmD+uH9cjSrL4szk7h0nbBlT/ZBmz+qvWCOqzZXE3wPOAdgASZ73NeQlehLx4KGbfJTCG15DSB0W3LQ==} - '@design.estate/dees-wcctools@3.2.0': - resolution: {integrity: sha512-tBh4RJFsQFIXDLzrksFK/M1i/34bMcDLFhYO/MWW5ArgH3mDyRlg+10RMAmbjI9ijOnegbbEtWanHoDx9EKgUA==} + '@design.estate/dees-wcctools@3.8.0': + resolution: {integrity: sha512-CC14iVKUrguzD9jIrdPBd9fZ4egVJEZMxl5y8iy0l7WLumeoYvGsoXj5INVkRPLRVLqziIdi4Je1hXqHt2NU+g==} '@emnapi/core@1.7.1': resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} @@ -553,12 +550,12 @@ packages: resolution: {integrity: sha512-Udu3K7SzAo9N013qt7qmm22/wo2hADdheXtBfxFTecp+ogsc0caQNRKEb7pkvvagUGOpG9wJC1ViH6WXs8oXIA==} engines: {node: '>=6'} - '@git.zone/tsbuild@4.0.2': - resolution: {integrity: sha512-LcRlFnDbcUe53Pdoob585iXq9TAT90TyEaYl/wml/etFoPeBX+oQLm6GryejUPXrUP7i1opyTonadkQN1OyXOA==} + '@git.zone/tsbuild@4.1.2': + resolution: {integrity: sha512-S518ulKveO76pS6jrAELrnFaCw5nDAIZD9j6QzVmLYDiZuJmlRwPK3/2E8ugQ+b7ffpkwJ9MT685ooEGDcWQ4Q==} hasBin: true - '@git.zone/tsbundle@2.6.3': - resolution: {integrity: sha512-YD1qMYA/4eOuF57V0ccR+xo6ww1+QOYFA2K5gBPFBDNh9VdfvWxxDhOUybja8lT9PVMoli8PHG5WA5tKJkdXIQ==} + '@git.zone/tsbundle@2.8.3': + resolution: {integrity: sha512-9q+KbVGKUTDNND+jDiJuk4bPH/mtiA2B0EWtV+/NyvgZfIbpe/ItHemyIvXB4RAqncMdBhzXquCFCvGjAhwVIQ==} hasBin: true '@git.zone/tspublish@1.11.0': @@ -569,8 +566,8 @@ packages: resolution: {integrity: sha512-NEcnsjvlC1o3Z6SS3VhKCf6Ev+Sh4EAinmggslrIR/ppMrvjDbXNFXoyr3PB+GLeSAR0JRZ1fGvVYjpEzjBdIg==} hasBin: true - '@git.zone/tswatch@2.3.13': - resolution: {integrity: sha512-43995OlWl8UzCA+cX3ehYba/ksm6CqHbMljHKjosrDRpx8EU+LY4bWTc8JT/Ldgwsw3iW9vur2bBqpgMmdeJJw==} + '@git.zone/tswatch@3.0.1': + resolution: {integrity: sha512-vrAkKM5ff/e1BLNkrIRXnTIkMyjl/uW49c1cYaw2nYGloM6/wT1FSwYjwh6BcDkHIYMnzS30SOy9jSYRptW/iw==} hasBin: true '@happy-dom/global-registrator@15.11.7': @@ -853,8 +850,8 @@ packages: resolution: {integrity: sha512-I5fR++k6nR1wiMQUwcTYzO0g8FwD6gN+3HwfIzpQlolrM91i6Q5TaoMlt3aysbvKCSNvkL3FlJLOfUHNGWoWkA==} deprecated: This package has been renamed. Please use @push.rocks/smartwatch instead. - '@push.rocks/smartcli@4.0.19': - resolution: {integrity: sha512-s1jZSgDZWi/az26AY4TJ2HPuG1qZzGC5R9fKWaECLmwnSpk6y9JXL5dnJAUohcdu50kdXCWEcRmLfYxOt81vEA==} + '@push.rocks/smartcli@4.0.20': + resolution: {integrity: sha512-gCo4ItvsPj8WoVAJw/6vkuoGA5FtIoACux2ktcCeH0nrFe7/xGR6waJ1aZcYAi7QN4gi52TlsgwuKz7BzXqhmQ==} '@push.rocks/smartclickhouse@2.0.17': resolution: {integrity: sha512-IYO8Obor/Ruam2KQ2B/+5uQ+rL0exU5KZoSgOc3jkkrfjn+zZenN2xoV8lVqavAtxZVfG7MfxFrcv6I7I9ZMmA==} @@ -1000,9 +997,6 @@ packages: '@push.rocks/smartrx@3.0.10': resolution: {integrity: sha512-USjIYcsSfzn14cwOsxgq/bBmWDTTzy3ouWAnW5NdMyRRzEbmeNrvmy6TRqNeDlJ2PsYNTt1rr/zGUqvIy72ITg==} - '@push.rocks/smartserve@1.4.0': - resolution: {integrity: sha512-cEoXZQSBX3pOv9AyhxRPkrMAWzs2XQhTBmW95BFtTSNzZdji0XgqUu92p7iuF+NVuTFX1QZ8+dbCClLCoRRW7g==} - '@push.rocks/smartserve@2.0.1': resolution: {integrity: sha512-YQb2qexfCzCqOlLWBBXKMg6xG4zahCPAxomz/KEKAwHtW6wMTtuHKSTSkRTQ0vl9jssLMAmRz2OyafiL9XGJXQ==} @@ -1058,6 +1052,9 @@ packages: '@push.rocks/taskbuffer@3.5.0': resolution: {integrity: sha512-Y9WwIEIyp6oVFdj06j84tfrZIvjhbMb3DF52rYxlTeYLk3W7RPhSg1bGPCbtkXWeKdBrSe37V90BkOG7Qq8Pqg==} + '@push.rocks/taskbuffer@4.1.1': + resolution: {integrity: sha512-gGxdzGVl7l7ic4ZopY5RrikyIxcxxHqP+msFgE79UoeNHkSVTCxzcQJrWc15cy3xQjIZfzCalUc5BRszLVutGg==} + '@push.rocks/webjwt@1.0.9': resolution: {integrity: sha512-IhWAv0hxfXbLbmQHHOGr96Oe3H1kB0OTtDofM8N+9qhJeKxTHfF2pUrdpck6btAQQbaBY2D7xtHvumrIXU5HIg==} @@ -1525,6 +1522,23 @@ packages: '@tempfix/idb@8.0.3': resolution: {integrity: sha512-hPJQKO7+oAIY+pDNImrZ9QAINbz9KmwT+yO4iRVwdPanok2YKpaUxdJzIvCUwY0YgAawlvYdffbLvRLV5hbs2g==} + '@tempfix/lenis@1.3.20': + resolution: {integrity: sha512-ypeB0FuHLHOCQXW4d0RQ69txPJJH+1CHcpsZIUdcv2t1vR0IVyQr2vHihtde9UOXhjzqEnUphWon/UcJNsa0YA==} + peerDependencies: + '@nuxt/kit': '>=3.0.0' + react: '>=17.0.0' + vue: '>=3.0.0' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + react: + optional: true + vue: + optional: true + + '@tempfix/webcontainer__api@1.6.1': + resolution: {integrity: sha512-Hgn3cwy0vPzjrVBqeVnY0jNZLaOCW7d+dxBe7Jv9YGHAjJ8udUMS+KbTywSv5paAfld3A/RN/iolmMzOwZxLTA==} + '@tiptap/core@2.27.1': resolution: {integrity: sha512-nkerkl8syHj44ZzAB7oA2GPmmZINKBKCa79FuNvmGJrJ4qyZwlkDzszud23YteFZEytbc87kVd/fP76ROS6sLg==} peerDependencies: @@ -1769,8 +1783,8 @@ packages: '@types/node@22.19.3': resolution: {integrity: sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==} - '@types/node@25.0.3': - resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} + '@types/node@25.1.0': + resolution: {integrity: sha512-t7frlewr6+cbx+9Ohpl0NOTKXZNV9xHRmNOvql47BFJKcEG1CxtxlPEEe+gR9uhVWM4DwhnvTF110mIL4yP9RA==} '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -1838,9 +1852,6 @@ packages: '@uptime.link/webwidget@1.2.6': resolution: {integrity: sha512-rpr3lIQ69OwfYJSBhBYOP2rx4yyowpdpLbqUvkiBVx93SEc/9gwM8Sy9vcBztod9e9j5Nwac/82Ygjx7pRfykQ==} - '@webcontainer/api@1.2.0': - resolution: {integrity: sha512-tzoKBd4lLdhHy5GHFpUkl+ndoSba8JqmB7x0ZQFnWfjbcbQOvKQfxA8MEMUYhgqjWHnbrWdAfnBEHz5f5lYG5A==} - '@yr/monotone-cubic-spline@1.0.3': resolution: {integrity: sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==} @@ -2181,6 +2192,9 @@ packages: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} + dompurify@3.2.7: + resolution: {integrity: sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -2638,20 +2652,6 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - lenis@1.3.16: - resolution: {integrity: sha512-KULpna+5TgRCDMSPx4SzJwtsjlz7EeoFCp4IDCXrlM73rLBAj34Egcl7GCLz/6+hXFOYt3DTBeTtJvTu45dJNA==} - peerDependencies: - '@nuxt/kit': '>=3.0.0' - react: '>=17.0.0' - vue: '>=3.0.0' - peerDependenciesMeta: - '@nuxt/kit': - optional: true - react: - optional: true - vue: - optional: true - linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} @@ -2667,6 +2667,9 @@ packages: lit@3.3.1: resolution: {integrity: sha512-Ksr/8L3PTapbdXJCk+EJVB78jDodUMaP54gD24W186zGRARvwrsPfS60wae/SSCTCNZVPd1chXqio1qHQmu4NA==} + lit@3.3.2: + resolution: {integrity: sha512-NF9zbsP79l4ao2SNrH3NkfmFgN/hBYSQo90saIVI1o5GpjAdCPVstVzO1MrLOakHoEhYkrtRjPK6Ob521aoYWQ==} + locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -2745,8 +2748,8 @@ packages: resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==} engines: {node: 20 || >=22} - lucide@0.562.0: - resolution: {integrity: sha512-k1Fb8ZMnRQovWRlea7Jr0b9UKA29IM7/cu79+mJrhVohvA2YC/Ti3Sk+G+h/SIu3IlrKT4RAbWMHUBBQd1O6XA==} + lucide@0.563.0: + resolution: {integrity: sha512-2zBzDJ5n2Plj3d0ksj6h9TWPOSiKu9gtxJxnBAye11X/8gfWied6IYJn6ADYBp1NPoJmgpyOYP3wMrVx69+2AA==} make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} @@ -2765,6 +2768,11 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + marked@14.0.0: + resolution: {integrity: sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==} + engines: {node: '>= 18'} + hasBin: true + matcher@5.0.0: resolution: {integrity: sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2969,8 +2977,8 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - monaco-editor@0.52.2: - resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} + monaco-editor@0.55.1: + resolution: {integrity: sha512-jz4x+TJNFHwHtwuV9vA9rMujcZRb0CEilTEwG2rRSpe/A7Jdkuj8xPKttCgOh+v/lkHy7HsZ64oj+q3xoAFl9A==} mongodb-connection-string-url@3.0.2: resolution: {integrity: sha512-rMO7CGo/9BFwyZABcKAWL8UJwH/Kc2x0g72uhDWzG48URRax5TCIcJ7Rc3RZqffZzO/Gwff/jyKwCU9TN8gehA==} @@ -3879,59 +3887,13 @@ snapshots: - supports-color - vue - '@api.global/typedserver@7.11.1(@tiptap/pm@2.27.1)': - dependencies: - '@api.global/typedrequest': 3.2.5 - '@api.global/typedrequest-interfaces': 3.0.19 - '@api.global/typedsocket': 4.1.0(@push.rocks/smartserve@1.4.0) - '@cloudflare/workers-types': 4.20251213.0 - '@design.estate/dees-catalog': 3.4.0(@tiptap/pm@2.27.1) - '@design.estate/dees-comms': 1.0.30 - '@push.rocks/lik': 6.2.2 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartenv': 6.0.0 - '@push.rocks/smartfeed': 1.4.0 - '@push.rocks/smartfile': 13.1.2 - '@push.rocks/smartfs': 1.2.0 - '@push.rocks/smartjson': 5.2.0 - '@push.rocks/smartlog': 3.1.10 - '@push.rocks/smartlog-destination-devtools': 1.0.12 - '@push.rocks/smartlog-interfaces': 3.0.2 - '@push.rocks/smartmanifest': 2.0.2 - '@push.rocks/smartmatch': 2.0.0 - '@push.rocks/smartmime': 2.0.4 - '@push.rocks/smartntml': 2.0.8 - '@push.rocks/smartopen': 2.0.0 - '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrequest': 5.0.1 - '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smartserve': 1.4.0 - '@push.rocks/smartsitemap': 2.0.4 - '@push.rocks/smartstream': 3.2.5 - '@push.rocks/smarttime': 4.1.1 - '@push.rocks/smartwatch': 6.3.0 - '@push.rocks/taskbuffer': 3.5.0 - '@push.rocks/webrequest': 4.0.1 - '@push.rocks/webstore': 2.0.20 - '@tsclass/tsclass': 9.3.0 - lit: 3.3.1 - transitivePeerDependencies: - - '@nuxt/kit' - - '@tiptap/pm' - - bufferutil - - react - - supports-color - - utf-8-validate - - vue - - '@api.global/typedserver@8.1.0(@tiptap/pm@2.27.1)': + '@api.global/typedserver@8.3.0(@tiptap/pm@2.27.1)': dependencies: '@api.global/typedrequest': 3.2.5 '@api.global/typedrequest-interfaces': 3.0.19 '@api.global/typedsocket': 4.1.0(@push.rocks/smartserve@2.0.1) '@cloudflare/workers-types': 4.20251213.0 - '@design.estate/dees-catalog': 3.4.0(@tiptap/pm@2.27.1) + '@design.estate/dees-catalog': 3.41.4(@tiptap/pm@2.27.1) '@design.estate/dees-comms': 1.0.30 '@push.rocks/lik': 6.2.2 '@push.rocks/smartdelay': 3.0.5 @@ -3991,19 +3953,6 @@ snapshots: - utf-8-validate - vue - '@api.global/typedsocket@4.1.0(@push.rocks/smartserve@1.4.0)': - dependencies: - '@api.global/typedrequest': 3.2.5 - '@api.global/typedrequest-interfaces': 3.0.19 - '@push.rocks/isohash': 2.0.1 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartjson': 5.2.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smartserve': 1.4.0 - '@push.rocks/smartstring': 4.1.0 - '@push.rocks/smarturl': 3.1.0 - '@api.global/typedsocket@4.1.0(@push.rocks/smartserve@2.0.1)': dependencies: '@api.global/typedrequest': 3.2.5 @@ -4512,7 +4461,7 @@ snapshots: dependencies: '@consent.software/interfaces': 1.0.14 '@consent.software/webclient': 1.1.0 - '@design.estate/dees-element': 2.1.3 + '@design.estate/dees-element': 2.1.6 '@push.rocks/smartdelay': 3.0.5 transitivePeerDependencies: - '@nuxt/kit' @@ -4531,11 +4480,11 @@ snapshots: '@push.rocks/smarttime': 4.1.1 '@push.rocks/webstore': 2.0.20 - '@design.estate/dees-catalog@3.4.0(@tiptap/pm@2.27.1)': + '@design.estate/dees-catalog@3.41.4(@tiptap/pm@2.27.1)': dependencies: - '@design.estate/dees-domtools': 2.3.6 - '@design.estate/dees-element': 2.1.3 - '@design.estate/dees-wcctools': 3.2.0 + '@design.estate/dees-domtools': 2.3.8 + '@design.estate/dees-element': 2.1.6 + '@design.estate/dees-wcctools': 3.8.0 '@fortawesome/fontawesome-svg-core': 7.1.0 '@fortawesome/free-brands-svg-icons': 7.1.0 '@fortawesome/free-regular-svg-icons': 7.1.0 @@ -4543,6 +4492,7 @@ snapshots: '@push.rocks/smarti18n': 1.0.4 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartstring': 4.1.0 + '@tempfix/webcontainer__api': 1.6.1 '@tiptap/core': 2.27.1(@tiptap/pm@2.27.1) '@tiptap/extension-link': 2.27.1(@tiptap/core@2.27.1(@tiptap/pm@2.27.1))(@tiptap/pm@2.27.1) '@tiptap/extension-text-align': 2.27.1(@tiptap/core@2.27.1(@tiptap/pm@2.27.1)) @@ -4550,13 +4500,11 @@ snapshots: '@tiptap/extension-underline': 2.27.1(@tiptap/core@2.27.1(@tiptap/pm@2.27.1)) '@tiptap/starter-kit': 2.27.1 '@tsclass/tsclass': 9.3.0 - '@webcontainer/api': 1.2.0 apexcharts: 5.3.6 highlight.js: 11.11.1 ibantools: 4.5.1 - lit: 3.3.1 - lucide: 0.562.0 - monaco-editor: 0.52.2 + lucide: 0.563.0 + monaco-editor: 0.55.1 pdfjs-dist: 4.10.38 xterm: 5.3.0 xterm-addon-fit: 0.8.0(xterm@5.3.0) @@ -4574,7 +4522,7 @@ snapshots: '@push.rocks/smartdelay': 3.0.5 broadcast-channel: 7.2.0 - '@design.estate/dees-domtools@2.3.6': + '@design.estate/dees-domtools@2.3.8': dependencies: '@api.global/typedrequest': 3.2.5 '@design.estate/dees-comms': 1.0.30 @@ -4591,8 +4539,8 @@ snapshots: '@push.rocks/webrequest': 3.0.37 '@push.rocks/websetup': 3.0.19 '@push.rocks/webstore': 2.0.20 - lenis: 1.3.16 - lit: 3.3.1 + '@tempfix/lenis': 1.3.20 + lit: 3.3.2 sweet-scroll: 4.0.0 transitivePeerDependencies: - '@nuxt/kit' @@ -4600,12 +4548,12 @@ snapshots: - supports-color - vue - '@design.estate/dees-element@2.1.3': + '@design.estate/dees-element@2.1.6': dependencies: - '@design.estate/dees-domtools': 2.3.6 + '@design.estate/dees-domtools': 2.3.8 '@push.rocks/isounique': 1.0.5 '@push.rocks/smartrx': 3.0.10 - lit: 3.3.1 + lit: 3.3.2 transitivePeerDependencies: - '@nuxt/kit' - react @@ -4614,8 +4562,8 @@ snapshots: '@design.estate/dees-wcctools@2.0.1': dependencies: - '@design.estate/dees-domtools': 2.3.6 - '@design.estate/dees-element': 2.1.3 + '@design.estate/dees-domtools': 2.3.8 + '@design.estate/dees-element': 2.1.6 '@push.rocks/smartdelay': 3.0.5 lit: 3.3.1 transitivePeerDependencies: @@ -4624,12 +4572,12 @@ snapshots: - supports-color - vue - '@design.estate/dees-wcctools@3.2.0': + '@design.estate/dees-wcctools@3.8.0': dependencies: - '@design.estate/dees-domtools': 2.3.6 - '@design.estate/dees-element': 2.1.3 + '@design.estate/dees-domtools': 2.3.8 + '@design.estate/dees-element': 2.1.6 '@push.rocks/smartdelay': 3.0.5 - lit: 3.3.1 + lit: 3.3.2 transitivePeerDependencies: - '@nuxt/kit' - react @@ -4748,14 +4696,14 @@ snapshots: dependencies: '@fortawesome/fontawesome-common-types': 7.1.0 - '@git.zone/tsbuild@4.0.2': + '@git.zone/tsbuild@4.1.2': dependencies: '@git.zone/tspublish': 1.11.0 '@push.rocks/early': 4.0.4 - '@push.rocks/smartcli': 4.0.19 + '@push.rocks/smartcli': 4.0.20 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartfile': 13.1.2 - '@push.rocks/smartfs': 1.2.0 + '@push.rocks/smartfs': 1.3.1 '@push.rocks/smartlog': 3.1.10 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 @@ -4769,12 +4717,14 @@ snapshots: - supports-color - vue - '@git.zone/tsbundle@2.6.3': + '@git.zone/tsbundle@2.8.3': dependencies: '@push.rocks/early': 4.0.4 - '@push.rocks/smartcli': 4.0.19 + '@push.rocks/npmextra': 5.3.3 + '@push.rocks/smartcli': 4.0.20 '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartfs': 1.2.0 + '@push.rocks/smartfs': 1.3.1 + '@push.rocks/smartinteract': 2.0.16 '@push.rocks/smartlog': 3.1.10 '@push.rocks/smartlog-destination-local': 9.0.2 '@push.rocks/smartpath': 6.0.0 @@ -4787,14 +4737,17 @@ snapshots: rolldown: 1.0.0-beta.52 typescript: 5.9.3 transitivePeerDependencies: + - '@nuxt/kit' - '@swc/helpers' + - react - supports-color + - vue '@git.zone/tspublish@1.11.0': dependencies: '@push.rocks/consolecolor': 2.0.3 '@push.rocks/npmextra': 5.3.3 - '@push.rocks/smartcli': 4.0.19 + '@push.rocks/smartcli': 4.0.20 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartfile': 13.1.2 '@push.rocks/smartfs': 1.3.1 @@ -4818,16 +4771,18 @@ snapshots: '@push.rocks/smartshell': 3.3.0 tsx: 4.21.0 - '@git.zone/tswatch@2.3.13(@tiptap/pm@2.27.1)': + '@git.zone/tswatch@3.0.1(@tiptap/pm@2.27.1)': dependencies: - '@api.global/typedserver': 7.11.1(@tiptap/pm@2.27.1) - '@git.zone/tsbundle': 2.6.3 + '@api.global/typedserver': 8.3.0(@tiptap/pm@2.27.1) + '@git.zone/tsbundle': 2.8.3 '@git.zone/tsrun': 2.0.1 '@push.rocks/early': 4.0.4 '@push.rocks/lik': 6.2.2 - '@push.rocks/smartcli': 4.0.19 + '@push.rocks/npmextra': 5.3.3 + '@push.rocks/smartcli': 4.0.20 '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartfs': 1.2.0 + '@push.rocks/smartfs': 1.3.1 + '@push.rocks/smartinteract': 2.0.16 '@push.rocks/smartlog': 3.1.10 '@push.rocks/smartlog-destination-local': 9.0.2 '@push.rocks/smartshell': 3.3.0 @@ -5319,7 +5274,7 @@ snapshots: chokidar: 5.0.0 picomatch: 4.0.3 - '@push.rocks/smartcli@4.0.19': + '@push.rocks/smartcli@4.0.20': dependencies: '@push.rocks/lik': 6.2.2 '@push.rocks/smartlog': 3.1.10 @@ -5674,7 +5629,7 @@ snapshots: '@push.rocks/smartntml@2.0.8': dependencies: - '@design.estate/dees-element': 2.1.3 + '@design.estate/dees-element': 2.1.6 '@happy-dom/global-registrator': 15.11.7 '@push.rocks/smartpromise': 4.2.3 fake-indexeddb: 6.2.5 @@ -5735,19 +5690,6 @@ snapshots: '@push.rocks/smartpromise': 4.2.3 rxjs: 7.8.2 - '@push.rocks/smartserve@1.4.0': - dependencies: - '@api.global/typedrequest': 3.2.5 - '@cfworker/json-schema': 4.1.1 - '@push.rocks/lik': 6.2.2 - '@push.rocks/smartenv': 6.0.0 - '@push.rocks/smartlog': 3.1.10 - '@push.rocks/smartpath': 6.0.0 - ws: 8.18.3 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - '@push.rocks/smartserve@2.0.1': dependencies: '@api.global/typedrequest': 3.2.5 @@ -5891,7 +5833,23 @@ snapshots: '@push.rocks/taskbuffer@3.5.0': dependencies: - '@design.estate/dees-element': 2.1.3 + '@design.estate/dees-element': 2.1.6 + '@push.rocks/lik': 6.2.2 + '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartlog': 3.1.10 + '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartrx': 3.0.10 + '@push.rocks/smarttime': 4.1.1 + '@push.rocks/smartunique': 3.0.9 + transitivePeerDependencies: + - '@nuxt/kit' + - react + - supports-color + - vue + + '@push.rocks/taskbuffer@4.1.1': + dependencies: + '@design.estate/dees-element': 2.1.6 '@push.rocks/lik': 6.2.2 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartlog': 3.1.10 @@ -6482,6 +6440,10 @@ snapshots: '@tempfix/idb@8.0.3': {} + '@tempfix/lenis@1.3.20': {} + + '@tempfix/webcontainer__api@1.6.1': {} + '@tiptap/core@2.27.1(@tiptap/pm@2.27.1)': dependencies: '@tiptap/pm': 2.27.1 @@ -6654,27 +6616,27 @@ snapshots: '@types/bn.js@5.2.0': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/buffer-json@2.0.3': {} '@types/clean-css@4.2.11': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 source-map: 0.6.1 '@types/connect@3.4.38': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/cors@2.8.19': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/debug@4.1.12': dependencies: @@ -6682,7 +6644,7 @@ snapshots: '@types/dns-packet@5.6.5': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/elliptic@6.4.18': dependencies: @@ -6690,7 +6652,7 @@ snapshots: '@types/express-serve-static-core@5.1.0': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -6703,17 +6665,17 @@ snapshots: '@types/from2@2.3.6': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/glob@8.1.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/hast@3.0.4': dependencies: @@ -6735,12 +6697,12 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/jsonwebtoken@9.0.10': dependencies: '@types/ms': 2.1.0 - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/linkify-it@5.0.0': {} @@ -6763,17 +6725,17 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/node-forge@1.3.14': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/node@22.19.3': dependencies: undici-types: 6.21.0 - '@types/node@25.0.3': + '@types/node@25.1.0': dependencies: undici-types: 7.16.0 @@ -6789,22 +6751,22 @@ snapshots: '@types/send@1.2.1': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/serve-static@2.2.0': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/symbol-tree@3.2.5': {} '@types/tar-stream@3.1.4': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/through2@2.0.41': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.1.0 '@types/trusted-types@2.0.7': {} @@ -6836,9 +6798,9 @@ snapshots: '@uptime.link/webwidget@1.2.6(@tiptap/pm@2.27.1)': dependencies: - '@design.estate/dees-catalog': 3.4.0(@tiptap/pm@2.27.1) - '@design.estate/dees-domtools': 2.3.6 - '@design.estate/dees-element': 2.1.3 + '@design.estate/dees-catalog': 3.41.4(@tiptap/pm@2.27.1) + '@design.estate/dees-domtools': 2.3.8 + '@design.estate/dees-element': 2.1.6 '@design.estate/dees-wcctools': 2.0.1 transitivePeerDependencies: - '@nuxt/kit' @@ -6847,8 +6809,6 @@ snapshots: - supports-color - vue - '@webcontainer/api@1.2.0': {} - '@yr/monotone-cubic-spline@1.0.3': {} accepts@1.3.8: @@ -7157,6 +7117,10 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.5 + dompurify@3.2.7: + optionalDependencies: + '@types/trusted-types': 2.0.7 + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -7204,7 +7168,7 @@ snapshots: engine.io@6.6.4: dependencies: '@types/cors': 2.8.19 - '@types/node': 25.0.3 + '@types/node': 25.1.0 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -7748,8 +7712,6 @@ snapshots: kind-of@6.0.3: {} - lenis@1.3.16: {} - linkify-it@5.0.0: dependencies: uc.micro: 2.1.0 @@ -7772,6 +7734,12 @@ snapshots: lit-element: 4.2.1 lit-html: 3.3.1 + lit@3.3.2: + dependencies: + '@lit/reactive-element': 2.1.1 + lit-element: 4.2.1 + lit-html: 3.3.1 + locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -7839,7 +7807,7 @@ snapshots: lru-cache@11.2.4: {} - lucide@0.562.0: {} + lucide@0.563.0: {} make-dir@3.1.0: dependencies: @@ -7862,6 +7830,8 @@ snapshots: markdown-table@3.0.4: {} + marked@14.0.0: {} + matcher@5.0.0: dependencies: escape-string-regexp: 5.0.0 @@ -8239,7 +8209,10 @@ snapshots: minipass@7.1.2: {} - monaco-editor@0.52.2: {} + monaco-editor@0.55.1: + dependencies: + dompurify: 3.2.7 + marked: 14.0.0 mongodb-connection-string-url@3.0.2: dependencies: diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 3979ec9..299ba5a 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@idp.global/idp.global', - version: '1.14.1', + version: '1.15.0', description: 'An identity provider software managing user authentications, registrations, and sessions.' } diff --git a/ts_idpcli/readme.md b/ts_idpcli/readme.md new file mode 100644 index 0000000..c39662f --- /dev/null +++ b/ts_idpcli/readme.md @@ -0,0 +1,195 @@ +# @idp.global/cli + +Command-line interface for interacting with the idp.global Identity Provider. A Node.js CLI tool that provides authentication, user management, and organization administration from the terminal. + +## Overview + +The IdpCli module provides a complete command-line interface for managing your idp.global account and organizations. It uses file-based credential storage and WebSocket connections for real-time communication with the IdP server. + +## Installation + +```bash +npm install -g @idp.global/cli +# or +pnpm add -g @idp.global/cli +``` + +## Quick Start + +```bash +# Login with email and password +idp login + +# Check current user +idp whoami + +# List your organizations +idp orgs + +# Logout +idp logout +``` + +## Commands + +### Authentication + +| Command | Description | +|---------|-------------| +| `idp login` | Interactive login with email and password | +| `idp login-token` | Login with an API token | +| `idp logout` | Clear stored credentials and end session | + +### User Information + +| Command | Description | +|---------|-------------| +| `idp whoami` | Display current user information | +| `idp sessions` | List all active sessions | +| `idp revoke --session ` | Revoke a specific session | + +### Organization Management + +| Command | Description | +|---------|-------------| +| `idp orgs` | List all organizations you belong to | +| `idp orgs-create` | Create a new organization (interactive) | +| `idp members --org ` | List members of an organization | +| `idp invite --org --email ` | Invite a user to an organization | + +### Admin Commands (Global Admins Only) + +| Command | Description | +|---------|-------------| +| `idp admin-check` | Check if you are a global admin | +| `idp admin-apps` | List all global apps with connection stats | +| `idp admin-suspend --user ` | Suspend a user account | + +## Configuration + +### Environment Variables + +| Variable | Description | Default | +|----------|-------------|---------| +| `IDP_URL` | Override the IdP server URL | `https://idp.global` | + +### Credential Storage + +Credentials are stored in `~/.idp-global/credentials.json`. This file contains your refresh token and JWT for persistent authentication across CLI sessions. + +## Programmatic Usage + +You can also use the IdpCli class programmatically: + +```typescript +import { IdpCli } from '@idp.global/cli'; + +const cli = new IdpCli({ + idpBaseUrl: 'https://idp.global', + configDir: '/custom/config/path', // optional +}); + +// Login +await cli.loginWithPassword('user@example.com', 'password'); + +// Get current user +const user = await cli.whoami(); +console.log('Logged in as:', user.data.name); + +// Get organizations +const { organizations, roles } = await cli.getOrganizations(); +for (const org of organizations) { + console.log(`- ${org.data.name} (${org.id})`); +} + +// Disconnect when done +await cli.disconnect(); +``` + +### IdpCli Class Methods + +**Authentication:** +- `loginWithPassword(email, password)` - Login with credentials +- `loginWithApiToken(token)` - Login with API token +- `refreshJwt()` - Refresh the current JWT +- `logout()` - Clear credentials and end session + +**User:** +- `whoami()` - Get current user info +- `getSessions()` - Get active sessions +- `revokeSession(sessionId)` - Revoke a session + +**Organizations:** +- `getOrganizations()` - List user's organizations +- `createOrganization(name, slug, mode)` - Create new organization +- `getOrgMembers(orgId)` - Get organization members +- `inviteMember(orgId, email, roles)` - Invite a user + +**Admin:** +- `checkGlobalAdmin()` - Check admin status +- `getGlobalAppStats()` - Get app statistics +- `suspendUser(userId)` - Suspend a user + +## Examples + +### Create an Organization + +```bash +$ idp orgs-create +Organization Name: My Company +Organization Slug: my-company + +Organization created successfully! + ID: org_abc123 + Name: My Company +``` + +### Invite Team Members + +```bash +$ idp invite --org org_abc123 --email colleague@example.com +Invitation sent to colleague@example.com +``` + +### View Active Sessions + +```bash +$ idp sessions + +Active Sessions: + - sess_xyz789 + Device: MacBook Pro + Browser: Chrome + OS: macOS + Last Active: 1/29/2025, 2:30:00 PM + Current: Yes +``` + +## Dependencies + +- `@api.global/typedrequest` - Type-safe API requests +- `@api.global/typedsocket` - WebSocket communication +- `@push.rocks/smartcli` - CLI framework +- `@push.rocks/smartinteract` - Interactive prompts +- `@idp.global/interfaces` - TypeScript interfaces + +## License and Legal Information + +This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](../LICENSE) file. + +**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file. + +### Trademarks + +This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH or third parties, and are not included within the scope of the MIT license granted herein. + +Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines or the guidelines of the respective third-party owners, and any usage must be approved in writing. Third-party trademarks used herein are the property of their respective owners and used only in a descriptive manner, e.g. for an implementation of an API or similar. + +### Company Information + +Task Venture Capital GmbH +Registered at District Court Bremen HRB 35230 HB, Germany + +For any legal inquiries or further information, please contact us via email at hello@task.vc. + +By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works. diff --git a/ts_idpclient/readme.md b/ts_idpclient/readme.md index 83a36a4..995deda 100644 --- a/ts_idpclient/readme.md +++ b/ts_idpclient/readme.md @@ -367,6 +367,23 @@ Access via `idpClient.requests.*`: **Admin**: `checkGlobalAdmin`, `getGlobalAppStats`, `createGlobalApp`, `updateGlobalApp`, `deleteGlobalApp`, `suspendUser`, `deleteSuspendedUser` -## License +## License and Legal Information -MIT - See the main repository for full license details. +This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](../LICENSE) file. + +**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file. + +### Trademarks + +This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH or third parties, and are not included within the scope of the MIT license granted herein. + +Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines or the guidelines of the respective third-party owners, and any usage must be approved in writing. Third-party trademarks used herein are the property of their respective owners and used only in a descriptive manner, e.g. for an implementation of an API or similar. + +### Company Information + +Task Venture Capital GmbH +Registered at District Court Bremen HRB 35230 HB, Germany + +For any legal inquiries or further information, please contact us via email at hello@task.vc. + +By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works. diff --git a/ts_interfaces/readme.md b/ts_interfaces/readme.md index ef2e2ed..5b26e08 100644 --- a/ts_interfaces/readme.md +++ b/ts_interfaces/readme.md @@ -307,6 +307,23 @@ interface IReq_LoginWithEmailOrUsernameAndPassword { | `organizations` | User's organization memberships | | `roles` | User's roles within organizations | -## License +## License and Legal Information -MIT - See the main repository for full license details. +This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](../LICENSE) file. + +**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file. + +### Trademarks + +This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH or third parties, and are not included within the scope of the MIT license granted herein. + +Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines or the guidelines of the respective third-party owners, and any usage must be approved in writing. Third-party trademarks used herein are the property of their respective owners and used only in a descriptive manner, e.g. for an implementation of an API or similar. + +### Company Information + +Task Venture Capital GmbH +Registered at District Court Bremen HRB 35230 HB, Germany + +For any legal inquiries or further information, please contact us via email at hello@task.vc. + +By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works. diff --git a/ts_web/00_commitinfo_data.ts b/ts_web/00_commitinfo_data.ts index 3979ec9..299ba5a 100644 --- a/ts_web/00_commitinfo_data.ts +++ b/ts_web/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@idp.global/idp.global', - version: '1.14.1', + version: '1.15.0', description: 'An identity provider software managing user authentications, registrations, and sessions.' } diff --git a/ts_web/readme.md b/ts_web/readme.md index b66235b..62d83fd 100644 --- a/ts_web/readme.md +++ b/ts_web/readme.md @@ -251,6 +251,23 @@ pnpm build The bundled output is served from `dist_ts_web/` by the TypedServer. -## License +## License and Legal Information -MIT - See the main repository for full license details. +This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](../LICENSE) file. + +**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file. + +### Trademarks + +This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH or third parties, and are not included within the scope of the MIT license granted herein. + +Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines or the guidelines of the respective third-party owners, and any usage must be approved in writing. Third-party trademarks used herein are the property of their respective owners and used only in a descriptive manner, e.g. for an implementation of an API or similar. + +### Company Information + +Task Venture Capital GmbH +Registered at District Court Bremen HRB 35230 HB, Germany + +For any legal inquiries or further information, please contact us via email at hello@task.vc. + +By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.