@promptbook/cli 0.114.0-2 → 0.114.0-3

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 (105) hide show
  1. package/apps/agents-server/next.config.ts +11 -0
  2. package/apps/agents-server/src/app/layout.tsx +6 -0
  3. package/esm/index.es.js +677 -199
  4. package/esm/index.es.js.map +1 -1
  5. package/esm/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +7 -0
  6. package/esm/scripts/run-codex-prompts/git/coderGitSync.d.ts +43 -0
  7. package/esm/scripts/run-codex-prompts/git/commitChanges.d.ts +3 -0
  8. package/esm/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
  9. package/esm/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
  10. package/esm/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
  11. package/esm/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
  12. package/esm/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
  13. package/esm/scripts/verify-prompts/verify-prompts.d.ts +5 -0
  14. package/esm/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  15. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  16. package/esm/src/cli/cli-commands/coder/ping.d.ts +2 -5
  17. package/esm/src/cli/cli-commands/coder.d.ts +1 -1
  18. package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  19. package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts +1 -0
  20. package/esm/src/cli/common/loadPromptsModule.d.ts +16 -0
  21. package/esm/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  22. package/esm/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  23. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  24. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +1 -1
  25. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  26. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  27. package/esm/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  28. package/esm/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  29. package/esm/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  30. package/esm/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  31. package/esm/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  32. package/esm/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  33. package/esm/src/version.d.ts +1 -1
  34. package/package.json +1 -1
  35. package/src/book-3.0/LiteAgent.ts +11 -9
  36. package/src/book-components/Chat/utils/$provideServerDomWindow.ts +77 -0
  37. package/src/book-components/Chat/utils/renderMarkdown.ts +2 -23
  38. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.ts +14 -0
  39. package/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.ts +1 -0
  40. package/src/cli/cli-commands/coder/add.ts +40 -12
  41. package/src/cli/cli-commands/coder/generate-boilerplates.ts +31 -5
  42. package/src/cli/cli-commands/coder/init.ts +27 -1
  43. package/src/cli/cli-commands/coder/ping.ts +23 -45
  44. package/src/cli/cli-commands/coder/verify.ts +27 -12
  45. package/src/cli/cli-commands/coder.ts +3 -3
  46. package/src/cli/cli-commands/common/coderGitSyncCliOptions.ts +78 -0
  47. package/src/cli/cli-commands/run/prepareRunCommandResources.ts +2 -1
  48. package/src/cli/cli-commands/run/resolveRunInputParameters.ts +2 -1
  49. package/src/cli/cli-commands/runInteractiveChatbot.ts +2 -1
  50. package/src/cli/common/$provideLlmToolsForCli.ts +2 -1
  51. package/src/cli/common/loadPromptsModule.ts +13 -0
  52. package/src/conversion/archive/loadArchive.ts +2 -1
  53. package/src/conversion/archive/loadJsZipModule.ts +10 -0
  54. package/src/conversion/archive/saveArchive.ts +2 -1
  55. package/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.ts +13 -1
  56. package/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.ts +13 -1
  57. package/src/llm-providers/openai/OpenAiAgentKitExecutionTools.ts +6 -2
  58. package/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.ts +7 -5
  59. package/src/llm-providers/openai/OpenAiAssistantExecutionTools.ts +1 -1
  60. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.ts +1 -1
  61. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
  62. package/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.ts +1 -1
  63. package/src/llm-providers/openai/OpenAiCompatibleRequestManager.ts +12 -1
  64. package/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.ts +1 -1
  65. package/src/llm-providers/openai/utils/loadOpenAiAgentsModule.ts +11 -0
  66. package/src/llm-providers/openai/utils/uploadFilesToOpenAi.ts +1 -1
  67. package/src/other/templates/getTemplatesPipelineCollection.ts +678 -967
  68. package/src/remote-server/createRemoteClient.ts +12 -1
  69. package/src/scrapers/website/WebsiteScraper.ts +22 -2
  70. package/src/utils/misc/createLazyModuleLoader.ts +27 -0
  71. package/src/version.ts +2 -2
  72. package/src/versions.txt +1 -0
  73. package/umd/index.umd.js +750 -266
  74. package/umd/index.umd.js.map +1 -1
  75. package/umd/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +7 -0
  76. package/umd/scripts/run-codex-prompts/git/coderGitSync.d.ts +43 -0
  77. package/umd/scripts/run-codex-prompts/git/commitChanges.d.ts +3 -0
  78. package/umd/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
  79. package/umd/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
  80. package/umd/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
  81. package/umd/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
  82. package/umd/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
  83. package/umd/scripts/verify-prompts/verify-prompts.d.ts +5 -0
  84. package/umd/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  85. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  86. package/umd/src/cli/cli-commands/coder/ping.d.ts +2 -5
  87. package/umd/src/cli/cli-commands/coder.d.ts +1 -1
  88. package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  89. package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts +1 -0
  90. package/umd/src/cli/common/loadPromptsModule.d.ts +16 -0
  91. package/umd/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  92. package/umd/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  93. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  94. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +1 -1
  95. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  96. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  97. package/umd/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  98. package/umd/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  99. package/umd/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  100. package/umd/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  101. package/umd/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  102. package/umd/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  103. package/umd/src/version.d.ts +1 -1
  104. package/esm/scripts/run-agent-chat/runCoderPing.d.ts +0 -48
  105. package/umd/scripts/run-agent-chat/runCoderPing.d.ts +0 -48
@@ -1,10 +1,19 @@
1
1
  import type { Socket } from 'socket.io-client';
2
- import { io } from 'socket.io-client';
3
2
  import { spaceTrim } from 'spacetrim';
4
3
  import { CONNECTION_RETRIES_LIMIT, CONNECTION_TIMEOUT_MS } from '../config';
4
+ import { createLazyModuleLoader } from '../utils/misc/createLazyModuleLoader';
5
5
  import { isValidUrl } from '../utils/validators/url/isValidUrl';
6
6
  import type { RemoteClientOptions } from './types/RemoteClientOptions';
7
7
 
8
+ /**
9
+ * Loads the Socket.io client (`socket.io-client`) on demand
10
+ *
11
+ * Note: [🐌] Loaded lazily to keep the startup of the `ptbk` CLI utility fast
12
+ *
13
+ * @private internal utility of `createRemoteClient`
14
+ */
15
+ const loadSocketIoClientModule = createLazyModuleLoader(() => import('socket.io-client'));
16
+
8
17
  /**
9
18
  * Creates a connection to the remote proxy server.
10
19
  *
@@ -44,6 +53,8 @@ export async function createRemoteClient<TCustomOptions = undefined>(
44
53
  );
45
54
  }
46
55
 
56
+ const { io } = await loadSocketIoClientModule();
57
+
47
58
  return new Promise((resolve, reject) => {
48
59
  const socket = io(remoteServerUrl, {
49
60
  retries: CONNECTION_RETRIES_LIMIT,
@@ -4,8 +4,6 @@ import type { Converter } from '../_common/Converter';
4
4
  import type { Scraper, ScraperSourceHandler } from '../_common/Scraper';
5
5
  // TODO: [🏳‍🌈] Finally take pick of .json vs .ts
6
6
  // import PipelineCollection from '../../../books/books';
7
- import { Readability } from '@mozilla/readability';
8
- import { JSDOM } from 'jsdom';
9
7
  import type { Converter as ShowdownConverter } from 'showdown';
10
8
  import { DEFAULT_INTERMEDIATE_FILES_STRATEGY, DEFAULT_IS_VERBOSE, DEFAULT_SCRAPE_CACHE_DIRNAME } from '../../config';
11
9
  import { EnvironmentMismatchError } from '../../errors/EnvironmentMismatchError';
@@ -13,6 +11,7 @@ import { KnowledgeScrapeError } from '../../errors/KnowledgeScrapeError';
13
11
  import { UnexpectedError } from '../../errors/UnexpectedError';
14
12
  import type { ExecutionTools } from '../../execution/ExecutionTools';
15
13
  import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
14
+ import { createLazyModuleLoader } from '../../utils/misc/createLazyModuleLoader';
16
15
  import { MarkdownScraper } from '../markdown/MarkdownScraper';
17
16
  import type { ScraperAndConverterMetadata } from '../_common/register/ScraperAndConverterMetadata';
18
17
  import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
@@ -20,6 +19,25 @@ import { getScraperIntermediateSource } from '../_common/utils/getScraperInterme
20
19
  import { websiteScraperMetadata } from './register-metadata';
21
20
  import { createShowdownConverter } from './utils/createShowdownConverter';
22
21
 
22
+ /**
23
+ * Loads `jsdom` on demand
24
+ *
25
+ * Note: [🐌] `jsdom` is by far the heaviest dependency of Promptbook, loading it eagerly would slow down every single
26
+ * run of the `ptbk` CLI utility even when no website is scraped
27
+ *
28
+ * @private internal utility of `WebsiteScraper`
29
+ */
30
+ const loadJsdomModule = createLazyModuleLoader(() => import('jsdom'));
31
+
32
+ /**
33
+ * Loads `@mozilla/readability` on demand
34
+ *
35
+ * Note: [🐌] Loaded lazily to keep the startup of the `ptbk` CLI utility fast
36
+ *
37
+ * @private internal utility of `WebsiteScraper`
38
+ */
39
+ const loadReadabilityModule = createLazyModuleLoader(() => import('@mozilla/readability'));
40
+
23
41
  /**
24
42
  * Scraper for websites
25
43
  *
@@ -77,6 +95,8 @@ export class WebsiteScraper implements Converter, Scraper {
77
95
  throw new EnvironmentMismatchError('Can not scrape websites without filesystem tools');
78
96
  }
79
97
 
98
+ const [{ JSDOM }, { Readability }] = await Promise.all([loadJsdomModule(), loadReadabilityModule()]);
99
+
80
100
  const jsdom = new JSDOM(await source.asText(), {
81
101
  url: source.url,
82
102
  });
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Creates a loader which imports one module on the first call and reuses the very same module afterwards
3
+ *
4
+ * Note: [🐌] Heavy third-party dependencies are imported lazily to keep the startup of the Promptbook CLI fast.
5
+ * A statically imported dependency is loaded every single time the bundle is loaded, even when the running
6
+ * command never touches it. A lazily imported dependency is loaded only when the feature is really used.
7
+ *
8
+ * @example
9
+ * const loadJsdomModule = createLazyModuleLoader(() => import('jsdom'));
10
+ * const { JSDOM } = await loadJsdomModule();
11
+ *
12
+ * @private internal utility of Promptbook
13
+ */
14
+ export function createLazyModuleLoader<TModule>(importModule: () => Promise<TModule>): () => Promise<TModule> {
15
+ let importedModulePromise: Promise<TModule> | null = null;
16
+
17
+ return function loadModule(): Promise<TModule> {
18
+ if (importedModulePromise === null) {
19
+ importedModulePromise = importModule();
20
+ }
21
+
22
+ return importedModulePromise;
23
+ };
24
+ }
25
+
26
+ // Note: [🐌] Do not convert the lazy `import(...)` calls back to static `import` statements, it would bring back the
27
+ // slow startup of the `ptbk` CLI utility
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.114.0-2';
19
+ export const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version = '0.114.0-3';
20
20
 
21
21
  /**
22
22
  * Represents the version string of the Promptbook engine.
23
- * It follows semantic versioning (e.g., `0.113.1-0`).
23
+ * It follows semantic versioning (e.g., `0.114.0-2`).
24
24
  *
25
25
  * @generated
26
26
  */
package/src/versions.txt CHANGED
@@ -1180,3 +1180,4 @@
1180
1180
  0.113.0
1181
1181
  0.113.1-0
1182
1182
  0.114.0-2
1183
+ 0.114.0-3