@promptbook/cli 0.112.0-101 → 0.112.0-102

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.
Files changed (78) hide show
  1. package/apps/agents-server/README.md +6 -0
  2. package/apps/agents-server/package.json +1 -1
  3. package/apps/agents-server/scripts/prerender-homepage.js +76 -1
  4. package/apps/agents-server/src/app/actions.ts +0 -6
  5. package/apps/agents-server/src/app/admin/about/page.tsx +1 -1
  6. package/apps/agents-server/src/app/admin/login-methods/shibboleth/page.tsx +365 -0
  7. package/apps/agents-server/src/app/admin/servers/ServersRegistryTable.tsx +3 -3
  8. package/apps/agents-server/src/app/admin/update/UpdateClient.tsx +12 -3
  9. package/apps/agents-server/src/app/admin/usage/UsageClientTimelineChart.tsx +1 -1
  10. package/apps/agents-server/src/app/admin/users/[userId]/UserDetailClient.tsx +21 -14
  11. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatPageLayout.tsx +2 -2
  12. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatSidebarDefault.tsx +11 -7
  13. package/apps/agents-server/src/app/api/admin/cli-access/route.ts +27 -123
  14. package/apps/agents-server/src/app/api/admin/code-runners/authentication/route.ts +33 -125
  15. package/apps/agents-server/src/app/api/auth/login/route.ts +0 -10
  16. package/apps/agents-server/src/app/api/auth/shibboleth/acs/route.ts +77 -57
  17. package/apps/agents-server/src/app/api/auth/shibboleth/login/route.ts +57 -33
  18. package/apps/agents-server/src/app/api/auth/shibboleth/metadata/route.ts +4 -29
  19. package/apps/agents-server/src/app/api/auth/shibboleth/status/route.ts +17 -0
  20. package/apps/agents-server/src/app/api/upload/route.ts +230 -18
  21. package/apps/agents-server/src/app/api/users/[username]/route.ts +1 -1
  22. package/apps/agents-server/src/app/api/users/route.ts +5 -5
  23. package/apps/agents-server/src/app/dashboard/page.tsx +1 -1
  24. package/apps/agents-server/src/app/docs/[docId]/page.tsx +1 -1
  25. package/apps/agents-server/src/app/docs/page.tsx +1 -1
  26. package/apps/agents-server/src/app/globals.css +100 -0
  27. package/apps/agents-server/src/app/layout.tsx +7 -0
  28. package/apps/agents-server/src/app/recycle-bin/page.tsx +1 -1
  29. package/apps/agents-server/src/app/system/settings/KeybindingsSettingsClient.tsx +13 -7
  30. package/apps/agents-server/src/components/AdminTerminal/useAdminTerminalSession.ts +29 -1
  31. package/apps/agents-server/src/components/AgentProfile/AgentProfile.tsx +3 -3
  32. package/apps/agents-server/src/components/AgentProfile/AgentProfileImage.tsx +8 -2
  33. package/apps/agents-server/src/components/DocsToolbar/DocsToolbar.tsx +4 -4
  34. package/apps/agents-server/src/components/DocumentationContent/DocumentationContent.tsx +9 -9
  35. package/apps/agents-server/src/components/Footer/Footer.tsx +7 -7
  36. package/apps/agents-server/src/components/Header/Header.tsx +24 -4
  37. package/apps/agents-server/src/components/Header/HeaderTypes.ts +6 -0
  38. package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +51 -1
  39. package/apps/agents-server/src/components/Homepage/Card.tsx +1 -1
  40. package/apps/agents-server/src/components/Homepage/Section.tsx +3 -1
  41. package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +12 -1
  42. package/apps/agents-server/src/components/LoginForm/LoginForm.tsx +100 -149
  43. package/apps/agents-server/src/components/Skeleton/ConsolePageLoadingSkeleton.tsx +1 -1
  44. package/apps/agents-server/src/components/Skeleton/DocumentationRouteLoadingSkeleton.tsx +1 -1
  45. package/apps/agents-server/src/components/Skeleton/HomepageLoadingSkeleton.tsx +1 -1
  46. package/apps/agents-server/src/components/UsersList/UsersList.tsx +20 -4
  47. package/apps/agents-server/src/components/UsersList/useUsersAdmin.ts +3 -0
  48. package/apps/agents-server/src/constants/shibbolethAuth.ts +139 -0
  49. package/apps/agents-server/src/database/metadataDefaults.ts +54 -80
  50. package/apps/agents-server/src/database/migrate.ts +30 -1
  51. package/apps/agents-server/src/database/migrations/2026-06-0100-shibboleth-auth.sql +136 -0
  52. package/apps/agents-server/src/database/sqlite/$provideLocalSqliteSupabase.ts +88 -36
  53. package/apps/agents-server/src/languages/ServerTranslationKeys.ts +4 -2
  54. package/apps/agents-server/src/languages/translations/czech.yaml +4 -2
  55. package/apps/agents-server/src/languages/translations/english.yaml +5 -3
  56. package/apps/agents-server/src/tools/$provideCdnForServer.ts +69 -23
  57. package/apps/agents-server/src/utils/cdn/classes/DigitalOceanSpaces.ts +54 -6
  58. package/apps/agents-server/src/utils/cdn/classes/TrackedFilesStorage.ts +4 -6
  59. package/apps/agents-server/src/utils/cdn/resolveCdnStorageProvider.ts +40 -0
  60. package/apps/agents-server/src/utils/chatExport/renderHtmlToPdfOnServer.ts +11 -0
  61. package/apps/agents-server/src/utils/createAdminTerminalRouteHandlers.ts +264 -0
  62. package/apps/agents-server/src/utils/shareTargetPayloads.ts +11 -10
  63. package/apps/agents-server/src/utils/shibbolethAuthentication.ts +729 -621
  64. package/apps/agents-server/src/utils/upload/createBookEditorUploadHandler.ts +137 -19
  65. package/esm/index.es.js +1 -1
  66. package/esm/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +1 -0
  67. package/esm/src/version.d.ts +1 -1
  68. package/package.json +2 -2
  69. package/src/book-components/Chat/MarkdownContent/MarkdownContent.tsx +65 -4
  70. package/src/other/templates/getTemplatesPipelineCollection.ts +788 -719
  71. package/src/version.ts +2 -2
  72. package/src/versions.txt +1 -0
  73. package/umd/index.umd.js +1 -1
  74. package/umd/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +1 -0
  75. package/umd/src/version.d.ts +1 -1
  76. package/apps/agents-server/src/app/api/auth/methods/route.ts +0 -44
  77. package/apps/agents-server/src/constants/authenticationMethods.ts +0 -74
  78. package/apps/agents-server/src/constants/shibbolethAuthentication.ts +0 -107
package/src/version.ts CHANGED
@@ -16,11 +16,11 @@ export const BOOK_LANGUAGE_VERSION: string_semantic_version = '2.0.0';
16
16
  * @generated
17
17
  * @see https://github.com/webgptorg/promptbook
18
18
  */
19
- export const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version = '0.112.0-101';
19
+ export const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version = '0.112.0-102';
20
20
 
21
21
  /**
22
22
  * Represents the version string of the Promptbook engine.
23
- * It follows semantic versioning (e.g., `0.112.0-100`).
23
+ * It follows semantic versioning (e.g., `0.112.0-101`).
24
24
  *
25
25
  * @generated
26
26
  */
package/src/versions.txt CHANGED
@@ -1136,3 +1136,4 @@
1136
1136
  0.112.0-99
1137
1137
  0.112.0-100
1138
1138
  0.112.0-101
1139
+ 0.112.0-102
package/umd/index.umd.js CHANGED
@@ -60,7 +60,7 @@
60
60
  * @generated
61
61
  * @see https://github.com/webgptorg/promptbook
62
62
  */
63
- const PROMPTBOOK_ENGINE_VERSION = '0.112.0-101';
63
+ const PROMPTBOOK_ENGINE_VERSION = '0.112.0-102';
64
64
  /**
65
65
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
66
66
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -7,6 +7,7 @@ type MarkdownContentProps = {
7
7
  content: string_markdown;
8
8
  className?: string;
9
9
  onCreateAgent?: (bookContent: string) => void;
10
+ theme?: 'LIGHT' | 'DARK';
10
11
  };
11
12
  /**
12
13
  * Renders markdown content with support for code highlighting, math, and tables.
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
15
15
  export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
16
16
  /**
17
17
  * Represents the version string of the Promptbook engine.
18
- * It follows semantic versioning (e.g., `0.112.0-100`).
18
+ * It follows semantic versioning (e.g., `0.112.0-101`).
19
19
  *
20
20
  * @generated
21
21
  */
@@ -1,44 +0,0 @@
1
- import { NextResponse } from 'next/server';
2
- import {
3
- AUTHENTICATION_METHODS_METADATA_KEY,
4
- parseAuthenticationMethods,
5
- } from '../../../../constants/authenticationMethods';
6
- import {
7
- DEFAULT_SHIBBOLETH_PROVIDER_LABEL,
8
- SHIBBOLETH_PROVIDER_LABEL_METADATA_KEY,
9
- } from '../../../../constants/shibbolethAuthentication';
10
- import { getMetadataMap } from '../../../../database/getMetadata';
11
-
12
- /**
13
- * Handles get.
14
- */
15
- export async function GET() {
16
- try {
17
- const metadata = await getMetadataMap([
18
- AUTHENTICATION_METHODS_METADATA_KEY,
19
- SHIBBOLETH_PROVIDER_LABEL_METADATA_KEY,
20
- ]);
21
- const methods = parseAuthenticationMethods(metadata[AUTHENTICATION_METHODS_METADATA_KEY]);
22
-
23
- return NextResponse.json({
24
- methods,
25
- shibboleth: {
26
- isEnabled: methods.includes('SHIBBOLETH'),
27
- providerLabel:
28
- metadata[SHIBBOLETH_PROVIDER_LABEL_METADATA_KEY]?.trim() || DEFAULT_SHIBBOLETH_PROVIDER_LABEL,
29
- loginUrl: '/api/auth/shibboleth/login',
30
- },
31
- });
32
- } catch (error) {
33
- console.error('Failed to load authentication methods:', error);
34
-
35
- return NextResponse.json({
36
- methods: ['PASSWORD'],
37
- shibboleth: {
38
- isEnabled: false,
39
- providerLabel: DEFAULT_SHIBBOLETH_PROVIDER_LABEL,
40
- loginUrl: '/api/auth/shibboleth/login',
41
- },
42
- });
43
- }
44
- }
@@ -1,74 +0,0 @@
1
- /**
2
- * Metadata key controlling which login methods are available on the Agents Server.
3
- *
4
- * @public exported from `apps/agents-server`
5
- */
6
- export const AUTHENTICATION_METHODS_METADATA_KEY = 'AUTHENTICATION_METHODS';
7
-
8
- /**
9
- * Built-in authentication method identifiers accepted by `AUTHENTICATION_METHODS`.
10
- *
11
- * @public exported from `apps/agents-server`
12
- */
13
- export const AUTHENTICATION_METHOD_VALUES = ['PASSWORD', 'SHIBBOLETH'] as const;
14
-
15
- /**
16
- * Built-in authentication method identifier.
17
- *
18
- * @public exported from `apps/agents-server`
19
- */
20
- export type AuthenticationMethod = (typeof AUTHENTICATION_METHOD_VALUES)[number];
21
-
22
- /**
23
- * Default login methods used when metadata is not configured.
24
- *
25
- * @public exported from `apps/agents-server`
26
- */
27
- export const DEFAULT_AUTHENTICATION_METHODS = ['PASSWORD'] as const satisfies ReadonlyArray<AuthenticationMethod>;
28
-
29
- /**
30
- * Default metadata value for `AUTHENTICATION_METHODS`.
31
- *
32
- * @public exported from `apps/agents-server`
33
- */
34
- export const DEFAULT_AUTHENTICATION_METHODS_METADATA_VALUE = DEFAULT_AUTHENTICATION_METHODS.join(',');
35
-
36
- /**
37
- * Parses the comma-separated metadata value into known login methods.
38
- *
39
- * @param value - Raw metadata value.
40
- * @returns Ordered list of enabled methods.
41
- *
42
- * @public exported from `apps/agents-server`
43
- */
44
- export function parseAuthenticationMethods(value: string | null | undefined): ReadonlyArray<AuthenticationMethod> {
45
- const rawTokens = (value || DEFAULT_AUTHENTICATION_METHODS_METADATA_VALUE)
46
- .split(/[,\s;]+/u)
47
- .map((token) => token.trim().toUpperCase())
48
- .filter(Boolean);
49
- const methods: AuthenticationMethod[] = [];
50
-
51
- for (const rawToken of rawTokens) {
52
- if (
53
- AUTHENTICATION_METHOD_VALUES.includes(rawToken as AuthenticationMethod) &&
54
- !methods.includes(rawToken as AuthenticationMethod)
55
- ) {
56
- methods.push(rawToken as AuthenticationMethod);
57
- }
58
- }
59
-
60
- return methods.length > 0 ? methods : [...DEFAULT_AUTHENTICATION_METHODS];
61
- }
62
-
63
- /**
64
- * Checks whether one login method is enabled in the metadata value.
65
- *
66
- * @param value - Raw metadata value.
67
- * @param method - Login method to check.
68
- * @returns `true` when the method is enabled.
69
- *
70
- * @public exported from `apps/agents-server`
71
- */
72
- export function isAuthenticationMethodEnabled(value: string | null | undefined, method: AuthenticationMethod): boolean {
73
- return parseAuthenticationMethods(value).includes(method);
74
- }
@@ -1,107 +0,0 @@
1
- /**
2
- * Metadata key storing the Shibboleth IdP metadata URL.
3
- *
4
- * @public exported from `apps/agents-server`
5
- */
6
- export const SHIBBOLETH_IDP_METADATA_URL_METADATA_KEY = 'SHIBBOLETH_IDP_METADATA_URL';
7
-
8
- /**
9
- * Metadata key storing the Shibboleth IdP SSO URL.
10
- *
11
- * @public exported from `apps/agents-server`
12
- */
13
- export const SHIBBOLETH_IDP_ENTRYPOINT_METADATA_KEY = 'SHIBBOLETH_IDP_ENTRYPOINT';
14
-
15
- /**
16
- * Metadata key storing one or more Shibboleth IdP signing certificates.
17
- *
18
- * @public exported from `apps/agents-server`
19
- */
20
- export const SHIBBOLETH_IDP_CERTIFICATE_METADATA_KEY = 'SHIBBOLETH_IDP_CERTIFICATE';
21
-
22
- /**
23
- * Metadata key storing the expected Shibboleth IdP entity ID.
24
- *
25
- * @public exported from `apps/agents-server`
26
- */
27
- export const SHIBBOLETH_IDP_ISSUER_METADATA_KEY = 'SHIBBOLETH_IDP_ISSUER';
28
-
29
- /**
30
- * Metadata key storing the Agents Server SAML Service Provider entity ID.
31
- *
32
- * @public exported from `apps/agents-server`
33
- */
34
- export const SHIBBOLETH_ENTITY_ID_METADATA_KEY = 'SHIBBOLETH_ENTITY_ID';
35
-
36
- /**
37
- * Metadata key storing the Agents Server SAML Assertion Consumer Service URL.
38
- *
39
- * @public exported from `apps/agents-server`
40
- */
41
- export const SHIBBOLETH_CALLBACK_URL_METADATA_KEY = 'SHIBBOLETH_CALLBACK_URL';
42
-
43
- /**
44
- * Metadata key storing the SAML attribute used as the Agents Server username.
45
- *
46
- * @public exported from `apps/agents-server`
47
- */
48
- export const SHIBBOLETH_USERNAME_ATTRIBUTE_METADATA_KEY = 'SHIBBOLETH_USERNAME_ATTRIBUTE';
49
-
50
- /**
51
- * Metadata key controlling whether unknown Shibboleth users are created automatically.
52
- *
53
- * @public exported from `apps/agents-server`
54
- */
55
- export const SHIBBOLETH_AUTO_CREATE_USERS_METADATA_KEY = 'SHIBBOLETH_AUTO_CREATE_USERS';
56
-
57
- /**
58
- * Metadata key storing the user-facing Shibboleth provider label.
59
- *
60
- * @public exported from `apps/agents-server`
61
- */
62
- export const SHIBBOLETH_PROVIDER_LABEL_METADATA_KEY = 'SHIBBOLETH_PROVIDER_LABEL';
63
-
64
- /**
65
- * Default SAML attribute used as the Agents Server username.
66
- *
67
- * @public exported from `apps/agents-server`
68
- */
69
- export const DEFAULT_SHIBBOLETH_USERNAME_ATTRIBUTE = 'mail';
70
-
71
- /**
72
- * Default user-facing Shibboleth provider label.
73
- *
74
- * @public exported from `apps/agents-server`
75
- */
76
- export const DEFAULT_SHIBBOLETH_PROVIDER_LABEL = 'Shibboleth';
77
-
78
- /**
79
- * Default relative route used as the SAML Assertion Consumer Service endpoint.
80
- *
81
- * @public exported from `apps/agents-server`
82
- */
83
- export const SHIBBOLETH_CALLBACK_PATH = '/api/auth/shibboleth/acs';
84
-
85
- /**
86
- * Default relative route that serves Agents Server SAML SP metadata.
87
- *
88
- * @public exported from `apps/agents-server`
89
- */
90
- export const SHIBBOLETH_SP_METADATA_PATH = '/api/auth/shibboleth/metadata';
91
-
92
- /**
93
- * Metadata keys needed to resolve Shibboleth authentication settings.
94
- *
95
- * @public exported from `apps/agents-server`
96
- */
97
- export const SHIBBOLETH_AUTHENTICATION_METADATA_KEYS = [
98
- SHIBBOLETH_IDP_METADATA_URL_METADATA_KEY,
99
- SHIBBOLETH_IDP_ENTRYPOINT_METADATA_KEY,
100
- SHIBBOLETH_IDP_CERTIFICATE_METADATA_KEY,
101
- SHIBBOLETH_IDP_ISSUER_METADATA_KEY,
102
- SHIBBOLETH_ENTITY_ID_METADATA_KEY,
103
- SHIBBOLETH_CALLBACK_URL_METADATA_KEY,
104
- SHIBBOLETH_USERNAME_ATTRIBUTE_METADATA_KEY,
105
- SHIBBOLETH_AUTO_CREATE_USERS_METADATA_KEY,
106
- SHIBBOLETH_PROVIDER_LABEL_METADATA_KEY,
107
- ] as const;