quidproquo-core 0.1.23 → 0.1.25

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 (163) hide show
  1. package/lib/commonjs/actions/ai/askAiPrompt.d.ts +12 -0
  2. package/lib/commonjs/actions/ai/askAiPrompt.js +3 -0
  3. package/lib/commonjs/actions/ai/askAiPrompt.js.map +1 -1
  4. package/lib/commonjs/actions/ai/askAiPromptStream.d.ts +12 -0
  5. package/lib/commonjs/actions/ai/askAiPromptStream.js +3 -0
  6. package/lib/commonjs/actions/ai/askAiPromptStream.js.map +1 -1
  7. package/lib/commonjs/actions/crypto/CryptoActionType.d.ts +4 -1
  8. package/lib/commonjs/actions/crypto/CryptoActionType.js +3 -0
  9. package/lib/commonjs/actions/crypto/CryptoActionType.js.map +1 -1
  10. package/lib/commonjs/actions/crypto/askCryptoGetPublicKey.d.ts +4 -0
  11. package/lib/commonjs/actions/crypto/askCryptoGetPublicKey.js +18 -0
  12. package/lib/commonjs/actions/crypto/askCryptoGetPublicKey.js.map +1 -0
  13. package/lib/commonjs/actions/crypto/askCryptoSign.d.ts +5 -0
  14. package/lib/commonjs/actions/crypto/askCryptoSign.js +19 -0
  15. package/lib/commonjs/actions/crypto/askCryptoSign.js.map +1 -0
  16. package/lib/commonjs/actions/crypto/askCryptoVerify.d.ts +6 -0
  17. package/lib/commonjs/actions/crypto/askCryptoVerify.js +21 -0
  18. package/lib/commonjs/actions/crypto/askCryptoVerify.js.map +1 -0
  19. package/lib/commonjs/actions/crypto/index.d.ts +3 -0
  20. package/lib/commonjs/actions/crypto/index.js +3 -0
  21. package/lib/commonjs/actions/crypto/index.js.map +1 -1
  22. package/lib/commonjs/actions/file/FileActionType.d.ts +1 -0
  23. package/lib/commonjs/actions/file/FileActionType.js +1 -0
  24. package/lib/commonjs/actions/file/FileActionType.js.map +1 -1
  25. package/lib/commonjs/actions/file/askFileCopy.d.ts +13 -0
  26. package/lib/commonjs/actions/file/askFileCopy.js +27 -0
  27. package/lib/commonjs/actions/file/askFileCopy.js.map +1 -0
  28. package/lib/commonjs/actions/file/askFileIsColdStorage.d.ts +1 -1
  29. package/lib/commonjs/actions/file/askFileReadBinaryContents.d.ts +1 -1
  30. package/lib/commonjs/actions/file/askFileReadObjectJson.d.ts +1 -1
  31. package/lib/commonjs/actions/file/askFileReadTextContents.d.ts +1 -1
  32. package/lib/commonjs/actions/file/askFileStreamOpen.d.ts +1 -1
  33. package/lib/commonjs/actions/file/index.d.ts +1 -0
  34. package/lib/commonjs/actions/file/index.js +1 -0
  35. package/lib/commonjs/actions/file/index.js.map +1 -1
  36. package/lib/commonjs/actions/system/SystemActionType.d.ts +1 -0
  37. package/lib/commonjs/actions/system/SystemActionType.js +1 -0
  38. package/lib/commonjs/actions/system/SystemActionType.js.map +1 -1
  39. package/lib/commonjs/actions/system/askGetRuntimeRemainingTime.d.ts +7 -0
  40. package/lib/commonjs/actions/system/askGetRuntimeRemainingTime.js +14 -0
  41. package/lib/commonjs/actions/system/askGetRuntimeRemainingTime.js.map +1 -0
  42. package/lib/commonjs/actions/system/index.d.ts +1 -0
  43. package/lib/commonjs/actions/system/index.js +1 -0
  44. package/lib/commonjs/actions/system/index.js.map +1 -1
  45. package/lib/commonjs/config/QPQConfig.d.ts +1 -0
  46. package/lib/commonjs/config/QPQConfig.js +1 -0
  47. package/lib/commonjs/config/QPQConfig.js.map +1 -1
  48. package/lib/commonjs/config/settings/index.d.ts +1 -0
  49. package/lib/commonjs/config/settings/index.js +1 -0
  50. package/lib/commonjs/config/settings/index.js.map +1 -1
  51. package/lib/commonjs/config/settings/signingKey.d.ts +9 -0
  52. package/lib/commonjs/config/settings/signingKey.js +13 -0
  53. package/lib/commonjs/config/settings/signingKey.js.map +1 -0
  54. package/lib/commonjs/config/settings/storageDrive.d.ts +2 -0
  55. package/lib/commonjs/config/settings/storageDrive.js +2 -1
  56. package/lib/commonjs/config/settings/storageDrive.js.map +1 -1
  57. package/lib/commonjs/qpqCoreUtils.d.ts +4 -1
  58. package/lib/commonjs/qpqCoreUtils.js +19 -1
  59. package/lib/commonjs/qpqCoreUtils.js.map +1 -1
  60. package/lib/commonjs/qpqCoreUtilsLib.d.ts +3 -0
  61. package/lib/commonjs/stories/crypto/askCryptoSignJwt.d.ts +2 -0
  62. package/lib/commonjs/stories/crypto/askCryptoSignJwt.js +16 -0
  63. package/lib/commonjs/stories/crypto/askCryptoSignJwt.js.map +1 -0
  64. package/lib/commonjs/stories/crypto/askCryptoVerifyJwt.d.ts +10 -0
  65. package/lib/commonjs/stories/crypto/askCryptoVerifyJwt.js +61 -0
  66. package/lib/commonjs/stories/crypto/askCryptoVerifyJwt.js.map +1 -0
  67. package/lib/commonjs/stories/crypto/index.d.ts +2 -0
  68. package/lib/commonjs/stories/crypto/index.js +19 -0
  69. package/lib/commonjs/stories/crypto/index.js.map +1 -0
  70. package/lib/commonjs/stories/index.d.ts +1 -0
  71. package/lib/commonjs/stories/index.js +1 -0
  72. package/lib/commonjs/stories/index.js.map +1 -1
  73. package/lib/commonjs/utils/base64Url/base64Url.d.ts +3 -0
  74. package/lib/commonjs/utils/base64Url/base64Url.js +42 -0
  75. package/lib/commonjs/utils/base64Url/base64Url.js.map +1 -0
  76. package/lib/commonjs/utils/base64Url/index.d.ts +1 -0
  77. package/lib/commonjs/utils/base64Url/index.js +18 -0
  78. package/lib/commonjs/utils/base64Url/index.js.map +1 -0
  79. package/lib/commonjs/utils/index.d.ts +1 -0
  80. package/lib/commonjs/utils/index.js +1 -0
  81. package/lib/commonjs/utils/index.js.map +1 -1
  82. package/lib/esm/actions/ai/askAiPrompt.d.ts +12 -0
  83. package/lib/esm/actions/ai/askAiPrompt.js +3 -0
  84. package/lib/esm/actions/ai/askAiPrompt.js.map +1 -1
  85. package/lib/esm/actions/ai/askAiPromptStream.d.ts +12 -0
  86. package/lib/esm/actions/ai/askAiPromptStream.js +3 -0
  87. package/lib/esm/actions/ai/askAiPromptStream.js.map +1 -1
  88. package/lib/esm/actions/crypto/CryptoActionType.d.ts +4 -1
  89. package/lib/esm/actions/crypto/CryptoActionType.js +3 -0
  90. package/lib/esm/actions/crypto/CryptoActionType.js.map +1 -1
  91. package/lib/esm/actions/crypto/askCryptoGetPublicKey.d.ts +4 -0
  92. package/lib/esm/actions/crypto/askCryptoGetPublicKey.js +15 -0
  93. package/lib/esm/actions/crypto/askCryptoGetPublicKey.js.map +1 -0
  94. package/lib/esm/actions/crypto/askCryptoSign.d.ts +5 -0
  95. package/lib/esm/actions/crypto/askCryptoSign.js +16 -0
  96. package/lib/esm/actions/crypto/askCryptoSign.js.map +1 -0
  97. package/lib/esm/actions/crypto/askCryptoVerify.d.ts +6 -0
  98. package/lib/esm/actions/crypto/askCryptoVerify.js +18 -0
  99. package/lib/esm/actions/crypto/askCryptoVerify.js.map +1 -0
  100. package/lib/esm/actions/crypto/index.d.ts +3 -0
  101. package/lib/esm/actions/crypto/index.js +3 -0
  102. package/lib/esm/actions/crypto/index.js.map +1 -1
  103. package/lib/esm/actions/file/FileActionType.d.ts +1 -0
  104. package/lib/esm/actions/file/FileActionType.js +1 -0
  105. package/lib/esm/actions/file/FileActionType.js.map +1 -1
  106. package/lib/esm/actions/file/askFileCopy.d.ts +13 -0
  107. package/lib/esm/actions/file/askFileCopy.js +24 -0
  108. package/lib/esm/actions/file/askFileCopy.js.map +1 -0
  109. package/lib/esm/actions/file/askFileIsColdStorage.d.ts +1 -1
  110. package/lib/esm/actions/file/askFileReadBinaryContents.d.ts +1 -1
  111. package/lib/esm/actions/file/askFileReadObjectJson.d.ts +1 -1
  112. package/lib/esm/actions/file/askFileReadTextContents.d.ts +1 -1
  113. package/lib/esm/actions/file/askFileStreamOpen.d.ts +1 -1
  114. package/lib/esm/actions/file/index.d.ts +1 -0
  115. package/lib/esm/actions/file/index.js +1 -0
  116. package/lib/esm/actions/file/index.js.map +1 -1
  117. package/lib/esm/actions/system/SystemActionType.d.ts +1 -0
  118. package/lib/esm/actions/system/SystemActionType.js +1 -0
  119. package/lib/esm/actions/system/SystemActionType.js.map +1 -1
  120. package/lib/esm/actions/system/askGetRuntimeRemainingTime.d.ts +7 -0
  121. package/lib/esm/actions/system/askGetRuntimeRemainingTime.js +11 -0
  122. package/lib/esm/actions/system/askGetRuntimeRemainingTime.js.map +1 -0
  123. package/lib/esm/actions/system/index.d.ts +1 -0
  124. package/lib/esm/actions/system/index.js +1 -0
  125. package/lib/esm/actions/system/index.js.map +1 -1
  126. package/lib/esm/config/QPQConfig.d.ts +1 -0
  127. package/lib/esm/config/QPQConfig.js +1 -0
  128. package/lib/esm/config/QPQConfig.js.map +1 -1
  129. package/lib/esm/config/settings/index.d.ts +1 -0
  130. package/lib/esm/config/settings/index.js +1 -0
  131. package/lib/esm/config/settings/index.js.map +1 -1
  132. package/lib/esm/config/settings/signingKey.d.ts +9 -0
  133. package/lib/esm/config/settings/signingKey.js +9 -0
  134. package/lib/esm/config/settings/signingKey.js.map +1 -0
  135. package/lib/esm/config/settings/storageDrive.d.ts +2 -0
  136. package/lib/esm/config/settings/storageDrive.js +1 -0
  137. package/lib/esm/config/settings/storageDrive.js.map +1 -1
  138. package/lib/esm/qpqCoreUtils.d.ts +4 -1
  139. package/lib/esm/qpqCoreUtils.js +15 -0
  140. package/lib/esm/qpqCoreUtils.js.map +1 -1
  141. package/lib/esm/qpqCoreUtilsLib.d.ts +3 -0
  142. package/lib/esm/stories/crypto/askCryptoSignJwt.d.ts +2 -0
  143. package/lib/esm/stories/crypto/askCryptoSignJwt.js +13 -0
  144. package/lib/esm/stories/crypto/askCryptoSignJwt.js.map +1 -0
  145. package/lib/esm/stories/crypto/askCryptoVerifyJwt.d.ts +10 -0
  146. package/lib/esm/stories/crypto/askCryptoVerifyJwt.js +58 -0
  147. package/lib/esm/stories/crypto/askCryptoVerifyJwt.js.map +1 -0
  148. package/lib/esm/stories/crypto/index.d.ts +2 -0
  149. package/lib/esm/stories/crypto/index.js +3 -0
  150. package/lib/esm/stories/crypto/index.js.map +1 -0
  151. package/lib/esm/stories/index.d.ts +1 -0
  152. package/lib/esm/stories/index.js +1 -0
  153. package/lib/esm/stories/index.js.map +1 -1
  154. package/lib/esm/utils/base64Url/base64Url.d.ts +3 -0
  155. package/lib/esm/utils/base64Url/base64Url.js +36 -0
  156. package/lib/esm/utils/base64Url/base64Url.js.map +1 -0
  157. package/lib/esm/utils/base64Url/index.d.ts +1 -0
  158. package/lib/esm/utils/base64Url/index.js +2 -0
  159. package/lib/esm/utils/base64Url/index.js.map +1 -0
  160. package/lib/esm/utils/index.d.ts +1 -0
  161. package/lib/esm/utils/index.js +1 -0
  162. package/lib/esm/utils/index.js.map +1 -1
  163. package/package.json +2 -2
@@ -8,6 +8,15 @@ export type AskAiPromptOptions = {
8
8
  messages?: AiMessage[];
9
9
  reasoning?: AiReasoningConfig;
10
10
  caching?: boolean;
11
+ /** Stop the tool loop between steps once this much wall-clock time has passed. The
12
+ * turn then finishes with `toolCalls` if the model still wanted to act, so it can be resumed. */
13
+ maxDurationMs?: number;
14
+ /** Cap on model/tool steps in one call. Unset means the loop runs until the model stops
15
+ * (or `maxDurationMs` trips); client-side tools still halt it immediately. */
16
+ maxSteps?: number;
17
+ /** Output token cap per model call. Unset uses the provider default (8192 on Bedrock), which a
18
+ * large tool input plus reasoning can exceed; the step then finishes with `length`. */
19
+ maxOutputTokens?: number;
11
20
  };
12
21
  export interface AiPromptActionResult {
13
22
  text: string;
@@ -20,4 +29,7 @@ export declare const askAiPrompt: import("../../types").ActionRequesterFunction<
20
29
  aiName: string | undefined;
21
30
  reasoning: AiReasoningConfig | undefined;
22
31
  caching: boolean | undefined;
32
+ maxDurationMs: number | undefined;
33
+ maxSteps: number | undefined;
34
+ maxOutputTokens: number | undefined;
23
35
  }, AiPromptActionResult, never>;
@@ -13,6 +13,9 @@ exports.askAiPrompt = (0, types_1.createActionRequester)()({
13
13
  aiName: options === null || options === void 0 ? void 0 : options.aiName,
14
14
  reasoning: options === null || options === void 0 ? void 0 : options.reasoning,
15
15
  caching: options === null || options === void 0 ? void 0 : options.caching,
16
+ maxDurationMs: options === null || options === void 0 ? void 0 : options.maxDurationMs,
17
+ maxSteps: options === null || options === void 0 ? void 0 : options.maxSteps,
18
+ maxOutputTokens: options === null || options === void 0 ? void 0 : options.maxOutputTokens,
16
19
  }),
17
20
  });
18
21
  //# sourceMappingURL=askAiPrompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"askAiPrompt.js","sourceRoot":"","sources":["../../../../src/actions/ai/askAiPrompt.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AACpD,iDAA8C;AAiBjC,QAAA,WAAW,GAAG,IAAA,6BAAqB,GAAwB,CAAC;IACvE,UAAU,EAAE,2BAAY,CAAC,MAAM;IAC/B,UAAU,EAAE,CAAC,KAAc,EAAE,MAAc,EAAE,OAA4B,EAAE,EAAE,CAAC,CAAC;QAC7E,KAAK;QACL,MAAM;QACN,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;QAC3B,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;QACvB,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;QACvB,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;QAC7B,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;KAC1B,CAAC;CACH,CAAC,CAAC","sourcesContent":["import { createActionRequester } from '../../types';\nimport { AiActionType } from './AiActionType';\nimport { AiMessage } from './AiMessage';\nimport { AiModel } from './AiModel';\nimport { AiReasoningConfig } from './AiReasoningConfig';\n\nexport type AskAiPromptOptions = {\n system?: string;\n aiName?: string;\n messages?: AiMessage[];\n reasoning?: AiReasoningConfig;\n caching?: boolean;\n};\n\nexport interface AiPromptActionResult {\n text: string;\n}\n\nexport const askAiPrompt = createActionRequester<AiPromptActionResult>()({\n actionType: AiActionType.Prompt,\n getPayload: (model: AiModel, prompt: string, options?: AskAiPromptOptions) => ({\n model,\n prompt,\n messages: options?.messages,\n system: options?.system,\n aiName: options?.aiName,\n reasoning: options?.reasoning,\n caching: options?.caching,\n }),\n});\n"]}
1
+ {"version":3,"file":"askAiPrompt.js","sourceRoot":"","sources":["../../../../src/actions/ai/askAiPrompt.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AACpD,iDAA8C;AA0BjC,QAAA,WAAW,GAAG,IAAA,6BAAqB,GAAwB,CAAC;IACvE,UAAU,EAAE,2BAAY,CAAC,MAAM;IAC/B,UAAU,EAAE,CAAC,KAAc,EAAE,MAAc,EAAE,OAA4B,EAAE,EAAE,CAAC,CAAC;QAC7E,KAAK;QACL,MAAM;QACN,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;QAC3B,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;QACvB,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;QACvB,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;QAC7B,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;QACzB,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;QACrC,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;QAC3B,eAAe,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe;KAC1C,CAAC;CACH,CAAC,CAAC","sourcesContent":["import { createActionRequester } from '../../types';\nimport { AiActionType } from './AiActionType';\nimport { AiMessage } from './AiMessage';\nimport { AiModel } from './AiModel';\nimport { AiReasoningConfig } from './AiReasoningConfig';\n\nexport type AskAiPromptOptions = {\n system?: string;\n aiName?: string;\n messages?: AiMessage[];\n reasoning?: AiReasoningConfig;\n caching?: boolean;\n /** Stop the tool loop between steps once this much wall-clock time has passed. The\n * turn then finishes with `toolCalls` if the model still wanted to act, so it can be resumed. */\n maxDurationMs?: number;\n /** Cap on model/tool steps in one call. Unset means the loop runs until the model stops\n * (or `maxDurationMs` trips); client-side tools still halt it immediately. */\n maxSteps?: number;\n /** Output token cap per model call. Unset uses the provider default (8192 on Bedrock), which a\n * large tool input plus reasoning can exceed; the step then finishes with `length`. */\n maxOutputTokens?: number;\n};\n\nexport interface AiPromptActionResult {\n text: string;\n}\n\nexport const askAiPrompt = createActionRequester<AiPromptActionResult>()({\n actionType: AiActionType.Prompt,\n getPayload: (model: AiModel, prompt: string, options?: AskAiPromptOptions) => ({\n model,\n prompt,\n messages: options?.messages,\n system: options?.system,\n aiName: options?.aiName,\n reasoning: options?.reasoning,\n caching: options?.caching,\n maxDurationMs: options?.maxDurationMs,\n maxSteps: options?.maxSteps,\n maxOutputTokens: options?.maxOutputTokens,\n }),\n});\n"]}
@@ -10,6 +10,15 @@ export type AskAiPromptStreamOptions = {
10
10
  messages?: AiMessage[];
11
11
  reasoning?: AiReasoningConfig;
12
12
  caching?: boolean;
13
+ /** Stop the tool loop between steps once this much wall-clock time has passed. The
14
+ * turn then finishes with `toolCalls` if the model still wanted to act, so it can be resumed. */
15
+ maxDurationMs?: number;
16
+ /** Cap on model/tool steps in one call. Unset means the loop runs until the model stops
17
+ * (or `maxDurationMs` trips); client-side tools still halt it immediately. */
18
+ maxSteps?: number;
19
+ /** Output token cap per model call. Unset uses the provider default (8192 on Bedrock), which a
20
+ * large tool input plus reasoning can exceed; the step then finishes with `length`. */
21
+ maxOutputTokens?: number;
13
22
  };
14
23
  export declare const askAiPromptStream: import("../../types").ActionRequesterFunction<AiActionType.PromptStream, [model: AiModel, prompt: string, options?: AskAiPromptStreamOptions | undefined], {
15
24
  model: AiModel;
@@ -19,4 +28,7 @@ export declare const askAiPromptStream: import("../../types").ActionRequesterFun
19
28
  aiName: string | undefined;
20
29
  reasoning: AiReasoningConfig | undefined;
21
30
  caching: boolean | undefined;
31
+ maxDurationMs: number | undefined;
32
+ maxSteps: number | undefined;
33
+ maxOutputTokens: number | undefined;
22
34
  }, StreamHandle<"json", AiStreamPart>, never>;
@@ -13,6 +13,9 @@ exports.askAiPromptStream = (0, types_1.createActionRequester)()({
13
13
  aiName: options === null || options === void 0 ? void 0 : options.aiName,
14
14
  reasoning: options === null || options === void 0 ? void 0 : options.reasoning,
15
15
  caching: options === null || options === void 0 ? void 0 : options.caching,
16
+ maxDurationMs: options === null || options === void 0 ? void 0 : options.maxDurationMs,
17
+ maxSteps: options === null || options === void 0 ? void 0 : options.maxSteps,
18
+ maxOutputTokens: options === null || options === void 0 ? void 0 : options.maxOutputTokens,
16
19
  }),
17
20
  });
18
21
  //# sourceMappingURL=askAiPromptStream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"askAiPromptStream.js","sourceRoot":"","sources":["../../../../src/actions/ai/askAiPromptStream.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AAEpD,iDAA8C;AAcjC,QAAA,iBAAiB,GAAG,IAAA,6BAAqB,GAAsC,CAAC;IAC3F,UAAU,EAAE,2BAAY,CAAC,YAAY;IACrC,UAAU,EAAE,CAAC,KAAc,EAAE,MAAc,EAAE,OAAkC,EAAE,EAAE,CAAC,CAAC;QACnF,KAAK;QACL,MAAM;QACN,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;QAC3B,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;QACvB,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;QACvB,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;QAC7B,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;KAC1B,CAAC;CACH,CAAC,CAAC","sourcesContent":["import { createActionRequester } from '../../types';\nimport { StreamHandle } from '../../types/StreamRegistry';\nimport { AiActionType } from './AiActionType';\nimport { AiMessage } from './AiMessage';\nimport { AiModel } from './AiModel';\nimport { AiReasoningConfig } from './AiReasoningConfig';\nimport { AiStreamPart } from './types';\n\nexport type AskAiPromptStreamOptions = {\n system?: string;\n aiName?: string;\n messages?: AiMessage[];\n reasoning?: AiReasoningConfig;\n caching?: boolean;\n};\n\nexport const askAiPromptStream = createActionRequester<StreamHandle<'json', AiStreamPart>>()({\n actionType: AiActionType.PromptStream,\n getPayload: (model: AiModel, prompt: string, options?: AskAiPromptStreamOptions) => ({\n model,\n prompt,\n messages: options?.messages,\n system: options?.system,\n aiName: options?.aiName,\n reasoning: options?.reasoning,\n caching: options?.caching,\n }),\n});\n"]}
1
+ {"version":3,"file":"askAiPromptStream.js","sourceRoot":"","sources":["../../../../src/actions/ai/askAiPromptStream.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AAEpD,iDAA8C;AAuBjC,QAAA,iBAAiB,GAAG,IAAA,6BAAqB,GAAsC,CAAC;IAC3F,UAAU,EAAE,2BAAY,CAAC,YAAY;IACrC,UAAU,EAAE,CAAC,KAAc,EAAE,MAAc,EAAE,OAAkC,EAAE,EAAE,CAAC,CAAC;QACnF,KAAK;QACL,MAAM;QACN,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;QAC3B,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;QACvB,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;QACvB,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;QAC7B,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;QACzB,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;QACrC,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;QAC3B,eAAe,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe;KAC1C,CAAC;CACH,CAAC,CAAC","sourcesContent":["import { createActionRequester } from '../../types';\nimport { StreamHandle } from '../../types/StreamRegistry';\nimport { AiActionType } from './AiActionType';\nimport { AiMessage } from './AiMessage';\nimport { AiModel } from './AiModel';\nimport { AiReasoningConfig } from './AiReasoningConfig';\nimport { AiStreamPart } from './types';\n\nexport type AskAiPromptStreamOptions = {\n system?: string;\n aiName?: string;\n messages?: AiMessage[];\n reasoning?: AiReasoningConfig;\n caching?: boolean;\n /** Stop the tool loop between steps once this much wall-clock time has passed. The\n * turn then finishes with `toolCalls` if the model still wanted to act, so it can be resumed. */\n maxDurationMs?: number;\n /** Cap on model/tool steps in one call. Unset means the loop runs until the model stops\n * (or `maxDurationMs` trips); client-side tools still halt it immediately. */\n maxSteps?: number;\n /** Output token cap per model call. Unset uses the provider default (8192 on Bedrock), which a\n * large tool input plus reasoning can exceed; the step then finishes with `length`. */\n maxOutputTokens?: number;\n};\n\nexport const askAiPromptStream = createActionRequester<StreamHandle<'json', AiStreamPart>>()({\n actionType: AiActionType.PromptStream,\n getPayload: (model: AiModel, prompt: string, options?: AskAiPromptStreamOptions) => ({\n model,\n prompt,\n messages: options?.messages,\n system: options?.system,\n aiName: options?.aiName,\n reasoning: options?.reasoning,\n caching: options?.caching,\n maxDurationMs: options?.maxDurationMs,\n maxSteps: options?.maxSteps,\n maxOutputTokens: options?.maxOutputTokens,\n }),\n});\n"]}
@@ -1,4 +1,7 @@
1
1
  export declare enum CryptoActionType {
2
2
  Encrypt = "@quidproquo-core/Crypto/Encrypt",
3
- Decrypt = "@quidproquo-core/Crypto/Decrypt"
3
+ Decrypt = "@quidproquo-core/Crypto/Decrypt",
4
+ Sign = "@quidproquo-core/Crypto/Sign",
5
+ Verify = "@quidproquo-core/Crypto/Verify",
6
+ GetPublicKey = "@quidproquo-core/Crypto/GetPublicKey"
4
7
  }
@@ -5,5 +5,8 @@ var CryptoActionType;
5
5
  (function (CryptoActionType) {
6
6
  CryptoActionType["Encrypt"] = "@quidproquo-core/Crypto/Encrypt";
7
7
  CryptoActionType["Decrypt"] = "@quidproquo-core/Crypto/Decrypt";
8
+ CryptoActionType["Sign"] = "@quidproquo-core/Crypto/Sign";
9
+ CryptoActionType["Verify"] = "@quidproquo-core/Crypto/Verify";
10
+ CryptoActionType["GetPublicKey"] = "@quidproquo-core/Crypto/GetPublicKey";
8
11
  })(CryptoActionType || (exports.CryptoActionType = CryptoActionType = {}));
9
12
  //# sourceMappingURL=CryptoActionType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoActionType.js","sourceRoot":"","sources":["../../../../src/actions/crypto/CryptoActionType.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,+DAA2C,CAAA;IAC3C,+DAA2C,CAAA;AAC7C,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B","sourcesContent":["export enum CryptoActionType {\n Encrypt = '@quidproquo-core/Crypto/Encrypt',\n Decrypt = '@quidproquo-core/Crypto/Decrypt',\n}\n"]}
1
+ {"version":3,"file":"CryptoActionType.js","sourceRoot":"","sources":["../../../../src/actions/crypto/CryptoActionType.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,+DAA2C,CAAA;IAC3C,+DAA2C,CAAA;IAC3C,yDAAqC,CAAA;IACrC,6DAAyC,CAAA;IACzC,yEAAqD,CAAA;AACvD,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B","sourcesContent":["export enum CryptoActionType {\n Encrypt = '@quidproquo-core/Crypto/Encrypt',\n Decrypt = '@quidproquo-core/Crypto/Decrypt',\n Sign = '@quidproquo-core/Crypto/Sign',\n Verify = '@quidproquo-core/Crypto/Verify',\n GetPublicKey = '@quidproquo-core/Crypto/GetPublicKey',\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { CryptoActionType } from './CryptoActionType';
2
+ export declare const askCryptoGetPublicKey: import("../../types").ActionRequesterFunction<CryptoActionType.GetPublicKey, [keyName: string], {
3
+ keyName: string;
4
+ }, string, "Throttling" | "KeyNotConfigured" | "KeyUnavailable">;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.askCryptoGetPublicKey = void 0;
4
+ const types_1 = require("../../types");
5
+ const CryptoActionType_1 = require("./CryptoActionType");
6
+ // Returns the public half of a signing key as an SPKI PEM string. Not sensitive:
7
+ // it can only verify, never sign. Hand it to third parties (a JWKS endpoint, a
8
+ // partner service) so they can check signatures without calling back in.
9
+ exports.askCryptoGetPublicKey = (0, types_1.createActionRequester)()({
10
+ actionType: CryptoActionType_1.CryptoActionType.GetPublicKey,
11
+ errorTypes: [
12
+ 'KeyNotConfigured', // no defineSigningKey for keyName in the service config
13
+ 'KeyUnavailable', // key disabled, deleted, or access denied
14
+ 'Throttling', // request rate exceeded
15
+ ],
16
+ getPayload: (keyName) => ({ keyName }),
17
+ });
18
+ //# sourceMappingURL=askCryptoGetPublicKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"askCryptoGetPublicKey.js","sourceRoot":"","sources":["../../../../src/actions/crypto/askCryptoGetPublicKey.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AACpD,yDAAsD;AAEtD,iFAAiF;AACjF,+EAA+E;AAC/E,yEAAyE;AAC5D,QAAA,qBAAqB,GAAG,IAAA,6BAAqB,GAAU,CAAC;IACnE,UAAU,EAAE,mCAAgB,CAAC,YAAY;IACzC,UAAU,EAAE;QACV,kBAAkB,EAAE,wDAAwD;QAC5E,gBAAgB,EAAE,0CAA0C;QAC5D,YAAY,EAAE,wBAAwB;KACvC;IACD,UAAU,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;CAC/C,CAAC,CAAC","sourcesContent":["import { createActionRequester } from '../../types';\nimport { CryptoActionType } from './CryptoActionType';\n\n// Returns the public half of a signing key as an SPKI PEM string. Not sensitive:\n// it can only verify, never sign. Hand it to third parties (a JWKS endpoint, a\n// partner service) so they can check signatures without calling back in.\nexport const askCryptoGetPublicKey = createActionRequester<string>()({\n actionType: CryptoActionType.GetPublicKey,\n errorTypes: [\n 'KeyNotConfigured', // no defineSigningKey for keyName in the service config\n 'KeyUnavailable', // key disabled, deleted, or access denied\n 'Throttling', // request rate exceeded\n ],\n getPayload: (keyName: string) => ({ keyName }),\n});\n"]}
@@ -0,0 +1,5 @@
1
+ import { CryptoActionType } from './CryptoActionType';
2
+ export declare const askCryptoSign: import("../../types").ActionRequesterFunction<CryptoActionType.Sign, [keyName: string, message: string], {
3
+ keyName: string;
4
+ message: string;
5
+ }, string, "Throttling" | "KeyNotConfigured" | "KeyUnavailable">;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.askCryptoSign = void 0;
4
+ const types_1 = require("../../types");
5
+ const CryptoActionType_1 = require("./CryptoActionType");
6
+ // Signs `message` with the private half of a signing key (RS256: RSASSA-PKCS1-v1_5
7
+ // over SHA-256) and returns the signature as base64url. RS256 is deterministic, so
8
+ // the same key + message always yields the same signature. The private key never
9
+ // leaves the provider - nothing sensitive passes through the story or its logs.
10
+ exports.askCryptoSign = (0, types_1.createActionRequester)()({
11
+ actionType: CryptoActionType_1.CryptoActionType.Sign,
12
+ errorTypes: [
13
+ 'KeyNotConfigured', // no defineSigningKey for keyName in the service config
14
+ 'KeyUnavailable', // key disabled, deleted, or access denied
15
+ 'Throttling', // request rate exceeded
16
+ ],
17
+ getPayload: (keyName, message) => ({ keyName, message }),
18
+ });
19
+ //# sourceMappingURL=askCryptoSign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"askCryptoSign.js","sourceRoot":"","sources":["../../../../src/actions/crypto/askCryptoSign.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AACpD,yDAAsD;AAEtD,mFAAmF;AACnF,mFAAmF;AACnF,iFAAiF;AACjF,gFAAgF;AACnE,QAAA,aAAa,GAAG,IAAA,6BAAqB,GAAU,CAAC;IAC3D,UAAU,EAAE,mCAAgB,CAAC,IAAI;IACjC,UAAU,EAAE;QACV,kBAAkB,EAAE,wDAAwD;QAC5E,gBAAgB,EAAE,0CAA0C;QAC5D,YAAY,EAAE,wBAAwB;KACvC;IACD,UAAU,EAAE,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;CACzE,CAAC,CAAC","sourcesContent":["import { createActionRequester } from '../../types';\nimport { CryptoActionType } from './CryptoActionType';\n\n// Signs `message` with the private half of a signing key (RS256: RSASSA-PKCS1-v1_5\n// over SHA-256) and returns the signature as base64url. RS256 is deterministic, so\n// the same key + message always yields the same signature. The private key never\n// leaves the provider - nothing sensitive passes through the story or its logs.\nexport const askCryptoSign = createActionRequester<string>()({\n actionType: CryptoActionType.Sign,\n errorTypes: [\n 'KeyNotConfigured', // no defineSigningKey for keyName in the service config\n 'KeyUnavailable', // key disabled, deleted, or access denied\n 'Throttling', // request rate exceeded\n ],\n getPayload: (keyName: string, message: string) => ({ keyName, message }),\n});\n"]}
@@ -0,0 +1,6 @@
1
+ import { CryptoActionType } from './CryptoActionType';
2
+ export declare const askCryptoVerify: import("../../types").ActionRequesterFunction<CryptoActionType.Verify, [keyName: string, message: string, signature: string], {
3
+ keyName: string;
4
+ message: string;
5
+ signature: string;
6
+ }, boolean, "Throttling" | "KeyNotConfigured" | "KeyUnavailable" | "MalformedSignature">;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.askCryptoVerify = void 0;
4
+ const types_1 = require("../../types");
5
+ const CryptoActionType_1 = require("./CryptoActionType");
6
+ // Verifies a base64url RS256 signature produced by askCryptoSign against
7
+ // `message` using the public half of the signing key. Resolves to false for a
8
+ // signature that does not match; a signature that is not even decodable is a
9
+ // MalformedSignature error rather than false, so a wiring bug is distinguishable
10
+ // from a forged token.
11
+ exports.askCryptoVerify = (0, types_1.createActionRequester)()({
12
+ actionType: CryptoActionType_1.CryptoActionType.Verify,
13
+ errorTypes: [
14
+ 'KeyNotConfigured', // no defineSigningKey for keyName in the service config
15
+ 'MalformedSignature', // signature is not valid base64url
16
+ 'KeyUnavailable', // key disabled, deleted, or access denied
17
+ 'Throttling', // request rate exceeded
18
+ ],
19
+ getPayload: (keyName, message, signature) => ({ keyName, message, signature }),
20
+ });
21
+ //# sourceMappingURL=askCryptoVerify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"askCryptoVerify.js","sourceRoot":"","sources":["../../../../src/actions/crypto/askCryptoVerify.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AACpD,yDAAsD;AAEtD,yEAAyE;AACzE,8EAA8E;AAC9E,6EAA6E;AAC7E,iFAAiF;AACjF,uBAAuB;AACV,QAAA,eAAe,GAAG,IAAA,6BAAqB,GAAW,CAAC;IAC9D,UAAU,EAAE,mCAAgB,CAAC,MAAM;IACnC,UAAU,EAAE;QACV,kBAAkB,EAAE,wDAAwD;QAC5E,oBAAoB,EAAE,mCAAmC;QACzD,gBAAgB,EAAE,0CAA0C;QAC5D,YAAY,EAAE,wBAAwB;KACvC;IACD,UAAU,EAAE,CAAC,OAAe,EAAE,OAAe,EAAE,SAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;CACvG,CAAC,CAAC","sourcesContent":["import { createActionRequester } from '../../types';\nimport { CryptoActionType } from './CryptoActionType';\n\n// Verifies a base64url RS256 signature produced by askCryptoSign against\n// `message` using the public half of the signing key. Resolves to false for a\n// signature that does not match; a signature that is not even decodable is a\n// MalformedSignature error rather than false, so a wiring bug is distinguishable\n// from a forged token.\nexport const askCryptoVerify = createActionRequester<boolean>()({\n actionType: CryptoActionType.Verify,\n errorTypes: [\n 'KeyNotConfigured', // no defineSigningKey for keyName in the service config\n 'MalformedSignature', // signature is not valid base64url\n 'KeyUnavailable', // key disabled, deleted, or access denied\n 'Throttling', // request rate exceeded\n ],\n getPayload: (keyName: string, message: string, signature: string) => ({ keyName, message, signature }),\n});\n"]}
@@ -1,4 +1,7 @@
1
1
  export * from './askCryptoDecrypt';
2
2
  export * from './askCryptoEncrypt';
3
+ export * from './askCryptoGetPublicKey';
4
+ export * from './askCryptoSign';
5
+ export * from './askCryptoVerify';
3
6
  export * from './CryptoActionType';
4
7
  export * from './CryptoContext';
@@ -16,6 +16,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./askCryptoDecrypt"), exports);
18
18
  __exportStar(require("./askCryptoEncrypt"), exports);
19
+ __exportStar(require("./askCryptoGetPublicKey"), exports);
20
+ __exportStar(require("./askCryptoSign"), exports);
21
+ __exportStar(require("./askCryptoVerify"), exports);
19
22
  __exportStar(require("./CryptoActionType"), exports);
20
23
  __exportStar(require("./CryptoContext"), exports);
21
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actions/crypto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,qDAAmC;AACnC,qDAAmC;AACnC,kDAAgC","sourcesContent":["export * from './askCryptoDecrypt';\nexport * from './askCryptoEncrypt';\nexport * from './CryptoActionType';\nexport * from './CryptoContext';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actions/crypto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,qDAAmC;AACnC,0DAAwC;AACxC,kDAAgC;AAChC,oDAAkC;AAClC,qDAAmC;AACnC,kDAAgC","sourcesContent":["export * from './askCryptoDecrypt';\nexport * from './askCryptoEncrypt';\nexport * from './askCryptoGetPublicKey';\nexport * from './askCryptoSign';\nexport * from './askCryptoVerify';\nexport * from './CryptoActionType';\nexport * from './CryptoContext';\n"]}
@@ -7,6 +7,7 @@ export declare enum FileActionType {
7
7
  ListDirectory = "@quidproquo-core/File/ListDirectory",
8
8
  Exists = "@quidproquo-core/File/Exists",
9
9
  Delete = "@quidproquo-core/File/Delete",
10
+ Copy = "@quidproquo-core/File/Copy",
10
11
  ReadBinaryContents = "@quidproquo-core/File/ReadBinaryContents",
11
12
  WriteBinaryContents = "@quidproquo-core/File/WriteBinaryContents",
12
13
  GenerateTemporarySecureUrl = "@quidproquo-core/File/GenerateTemporarySecureUrl",
@@ -10,6 +10,7 @@ var FileActionType;
10
10
  FileActionType["ListDirectory"] = "@quidproquo-core/File/ListDirectory";
11
11
  FileActionType["Exists"] = "@quidproquo-core/File/Exists";
12
12
  FileActionType["Delete"] = "@quidproquo-core/File/Delete";
13
+ FileActionType["Copy"] = "@quidproquo-core/File/Copy";
13
14
  FileActionType["ReadBinaryContents"] = "@quidproquo-core/File/ReadBinaryContents";
14
15
  FileActionType["WriteBinaryContents"] = "@quidproquo-core/File/WriteBinaryContents";
15
16
  FileActionType["GenerateTemporarySecureUrl"] = "@quidproquo-core/File/GenerateTemporarySecureUrl";
@@ -1 +1 @@
1
- {"version":3,"file":"FileActionType.js","sourceRoot":"","sources":["../../../../src/actions/file/FileActionType.ts"],"names":[],"mappings":";;;AAEA,IAAY,cAcX;AAdD,WAAY,cAAc;IACxB,6EAA2D,CAAA;IAC3D,+EAA6D,CAAA;IAC7D,2EAAyD,CAAA;IACzD,yEAAuD,CAAA;IACvD,uEAAqD,CAAA;IACrD,yDAAuC,CAAA;IACvC,yDAAuC,CAAA;IACvC,iFAA+D,CAAA;IAC/D,mFAAiE,CAAA;IACjE,iGAA+E,CAAA;IAC/E,6GAA2F,CAAA;IAC3F,uEAAqD,CAAA;IACrD,iEAA+C,CAAA;AACjD,CAAC,EAdW,cAAc,8BAAd,cAAc,QAczB;AAEY,QAAA,iBAAiB,GAAG,GAAG,CAAC","sourcesContent":["import { StorageDriveTier } from '../../config';\n\nexport enum FileActionType {\n ReadTextContents = '@quidproquo-core/File/ReadTextContents',\n WriteTextContents = '@quidproquo-core/File/WriteTextContents',\n WriteObjectJson = '@quidproquo-core/File/WriteObjectJson',\n ReadObjectJson = '@quidproquo-core/File/ReadObjectJson',\n ListDirectory = '@quidproquo-core/File/ListDirectory',\n Exists = '@quidproquo-core/File/Exists',\n Delete = '@quidproquo-core/File/Delete',\n ReadBinaryContents = '@quidproquo-core/File/ReadBinaryContents',\n WriteBinaryContents = '@quidproquo-core/File/WriteBinaryContents',\n GenerateTemporarySecureUrl = '@quidproquo-core/File/GenerateTemporarySecureUrl',\n GenerateTemporaryUploadSecureUrl = '@quidproquo-core/File/GenerateTemporaryUploadSecureUrl',\n IsColdStorage = '@quidproquo-core/File/IsColdStorage',\n StreamOpen = '@quidproquo-core/File/StreamOpen',\n}\n\nexport const filePathDelimiter = `/`;\n\nexport interface FileInfo {\n filepath: string;\n drive: string;\n isDir: boolean;\n hashMd5?: string;\n}\n\nexport interface DirectoryList {\n fileInfos: FileInfo[];\n pageToken?: string;\n}\n\nexport interface StorageDriveAdvancedWriteOptions {\n storageDriveTier?: StorageDriveTier;\n}\n"]}
1
+ {"version":3,"file":"FileActionType.js","sourceRoot":"","sources":["../../../../src/actions/file/FileActionType.ts"],"names":[],"mappings":";;;AAEA,IAAY,cAeX;AAfD,WAAY,cAAc;IACxB,6EAA2D,CAAA;IAC3D,+EAA6D,CAAA;IAC7D,2EAAyD,CAAA;IACzD,yEAAuD,CAAA;IACvD,uEAAqD,CAAA;IACrD,yDAAuC,CAAA;IACvC,yDAAuC,CAAA;IACvC,qDAAmC,CAAA;IACnC,iFAA+D,CAAA;IAC/D,mFAAiE,CAAA;IACjE,iGAA+E,CAAA;IAC/E,6GAA2F,CAAA;IAC3F,uEAAqD,CAAA;IACrD,iEAA+C,CAAA;AACjD,CAAC,EAfW,cAAc,8BAAd,cAAc,QAezB;AAEY,QAAA,iBAAiB,GAAG,GAAG,CAAC","sourcesContent":["import { StorageDriveTier } from '../../config';\n\nexport enum FileActionType {\n ReadTextContents = '@quidproquo-core/File/ReadTextContents',\n WriteTextContents = '@quidproquo-core/File/WriteTextContents',\n WriteObjectJson = '@quidproquo-core/File/WriteObjectJson',\n ReadObjectJson = '@quidproquo-core/File/ReadObjectJson',\n ListDirectory = '@quidproquo-core/File/ListDirectory',\n Exists = '@quidproquo-core/File/Exists',\n Delete = '@quidproquo-core/File/Delete',\n Copy = '@quidproquo-core/File/Copy',\n ReadBinaryContents = '@quidproquo-core/File/ReadBinaryContents',\n WriteBinaryContents = '@quidproquo-core/File/WriteBinaryContents',\n GenerateTemporarySecureUrl = '@quidproquo-core/File/GenerateTemporarySecureUrl',\n GenerateTemporaryUploadSecureUrl = '@quidproquo-core/File/GenerateTemporaryUploadSecureUrl',\n IsColdStorage = '@quidproquo-core/File/IsColdStorage',\n StreamOpen = '@quidproquo-core/File/StreamOpen',\n}\n\nexport const filePathDelimiter = `/`;\n\nexport interface FileInfo {\n filepath: string;\n drive: string;\n isDir: boolean;\n hashMd5?: string;\n}\n\nexport interface DirectoryList {\n fileInfos: FileInfo[];\n pageToken?: string;\n}\n\nexport interface StorageDriveAdvancedWriteOptions {\n storageDriveTier?: StorageDriveTier;\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import { FileActionType } from './FileActionType';
2
+ /**
3
+ * Copies one object to another path, possibly on another drive, without the bytes crossing the story (an S3
4
+ * server-side copy on lambda, a filesystem copy locally). The stored content type and content disposition come
5
+ * along with it. One `scope` applies to both sides: a copy never crosses a storage scope.
6
+ */
7
+ export declare const askFileCopy: import("../../types").ActionRequesterFunction<FileActionType.Copy, [sourceDrive: string, sourceFilepath: string, targetDrive: string, targetFilepath: string, scope?: string | undefined], {
8
+ sourceDrive: string;
9
+ sourceFilepath: string;
10
+ targetDrive: string;
11
+ targetFilepath: string;
12
+ scope: string | undefined;
13
+ }, void, "AccessDenied" | "DriveNotFound" | "FileNotFound" | "InvalidScope">;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.askFileCopy = void 0;
4
+ const types_1 = require("../../types");
5
+ const FileActionType_1 = require("./FileActionType");
6
+ /**
7
+ * Copies one object to another path, possibly on another drive, without the bytes crossing the story (an S3
8
+ * server-side copy on lambda, a filesystem copy locally). The stored content type and content disposition come
9
+ * along with it. One `scope` applies to both sides: a copy never crosses a storage scope.
10
+ */
11
+ exports.askFileCopy = (0, types_1.createActionRequester)()({
12
+ actionType: FileActionType_1.FileActionType.Copy,
13
+ errorTypes: [
14
+ 'AccessDenied', // caller lacks permission to read the source or write the target
15
+ 'DriveNotFound', // the source or target storage drive does not exist
16
+ 'FileNotFound', // no object exists at the source filepath
17
+ 'InvalidScope', // scope is not a valid single path segment
18
+ ],
19
+ getPayload: (sourceDrive, sourceFilepath, targetDrive, targetFilepath, scope) => ({
20
+ sourceDrive,
21
+ sourceFilepath,
22
+ targetDrive,
23
+ targetFilepath,
24
+ scope,
25
+ }),
26
+ });
27
+ //# sourceMappingURL=askFileCopy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"askFileCopy.js","sourceRoot":"","sources":["../../../../src/actions/file/askFileCopy.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AACpD,qDAAkD;AAElD;;;;GAIG;AACU,QAAA,WAAW,GAAG,IAAA,6BAAqB,GAAQ,CAAC;IACvD,UAAU,EAAE,+BAAc,CAAC,IAAI;IAC/B,UAAU,EAAE;QACV,cAAc,EAAE,iEAAiE;QACjF,eAAe,EAAE,oDAAoD;QACrE,cAAc,EAAE,0CAA0C;QAC1D,cAAc,EAAE,2CAA2C;KAC5D;IACD,UAAU,EAAE,CAAC,WAAmB,EAAE,cAAsB,EAAE,WAAmB,EAAE,cAAsB,EAAE,KAAc,EAAE,EAAE,CAAC,CAAC;QACzH,WAAW;QACX,cAAc;QACd,WAAW;QACX,cAAc;QACd,KAAK;KACN,CAAC;CACH,CAAC,CAAC","sourcesContent":["import { createActionRequester } from '../../types';\nimport { FileActionType } from './FileActionType';\n\n/**\n * Copies one object to another path, possibly on another drive, without the bytes crossing the story (an S3\n * server-side copy on lambda, a filesystem copy locally). The stored content type and content disposition come\n * along with it. One `scope` applies to both sides: a copy never crosses a storage scope.\n */\nexport const askFileCopy = createActionRequester<void>()({\n actionType: FileActionType.Copy,\n errorTypes: [\n 'AccessDenied', // caller lacks permission to read the source or write the target\n 'DriveNotFound', // the source or target storage drive does not exist\n 'FileNotFound', // no object exists at the source filepath\n 'InvalidScope', // scope is not a valid single path segment\n ],\n getPayload: (sourceDrive: string, sourceFilepath: string, targetDrive: string, targetFilepath: string, scope?: string) => ({\n sourceDrive,\n sourceFilepath,\n targetDrive,\n targetFilepath,\n scope,\n }),\n});\n"]}
@@ -3,4 +3,4 @@ export declare const askFileIsColdStorage: import("../../types").ActionRequester
3
3
  drive: string;
4
4
  filepath: string;
5
5
  scope: string | undefined;
6
- }, boolean, "AccessDenied" | "DriveNotFound" | "InvalidScope" | "FileNotFound">;
6
+ }, boolean, "AccessDenied" | "DriveNotFound" | "FileNotFound" | "InvalidScope">;
@@ -4,4 +4,4 @@ export declare const askFileReadBinaryContents: import("../../types").ActionRequ
4
4
  drive: string;
5
5
  filepath: string;
6
6
  scope: string | undefined;
7
- }, QPQBinaryData, "InvalidScope" | "FileNotFound" | "InvalidStorageClass">;
7
+ }, QPQBinaryData, "FileNotFound" | "InvalidScope" | "InvalidStorageClass">;
@@ -4,5 +4,5 @@ export declare const askFileReadObjectJsonBase: import("../..").ActionRequesterF
4
4
  drive: string;
5
5
  filepath: string;
6
6
  scope: string | undefined;
7
- }, object, "InvalidScope" | "FileNotFound" | "InvalidStorageClass" | "InvalidJson">;
7
+ }, object, "FileNotFound" | "InvalidScope" | "InvalidStorageClass" | "InvalidJson">;
8
8
  export declare function askFileReadObjectJson<T extends object>(drive: string, filepath: string, scope?: string): AskResponse<T>;
@@ -3,4 +3,4 @@ export declare const askFileReadTextContents: import("../../types").ActionReques
3
3
  drive: string;
4
4
  filepath: string;
5
5
  scope: string | undefined;
6
- }, string, "InvalidScope" | "FileNotFound" | "InvalidStorageClass">;
6
+ }, string, "FileNotFound" | "InvalidScope" | "InvalidStorageClass">;
@@ -7,5 +7,5 @@ export declare const askFileStreamOpenBase: import("../..").ActionRequesterFunct
7
7
  encoding: StreamEncoding;
8
8
  chunkSize: number | undefined;
9
9
  scope: string | undefined;
10
- }, StreamHandle<StreamEncoding, unknown>, "InvalidScope" | "FileNotFound" | "InvalidStorageClass">;
10
+ }, StreamHandle<StreamEncoding, unknown>, "FileNotFound" | "InvalidScope" | "InvalidStorageClass">;
11
11
  export declare function askFileStreamOpen<E extends StreamEncoding = 'text'>(drive: string, filepath: string, encoding?: E, chunkSize?: number, scope?: string): AskResponse<StreamHandle<E>>;
@@ -1,3 +1,4 @@
1
+ export * from './askFileCopy';
1
2
  export * from './askFileDelete';
2
3
  export * from './askFileExists';
3
4
  export * from './askFileGenerateTemporarySecureUrl';
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./askFileCopy"), exports);
17
18
  __exportStar(require("./askFileDelete"), exports);
18
19
  __exportStar(require("./askFileExists"), exports);
19
20
  __exportStar(require("./askFileGenerateTemporarySecureUrl"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actions/file/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,kDAAgC;AAChC,sEAAoD;AACpD,4EAA0D;AAC1D,yDAAuC;AACvC,yDAAuC;AACvC,8DAA4C;AAC5C,0DAAwC;AACxC,4DAA0C;AAC1C,sDAAoC;AACpC,+DAA6C;AAC7C,2DAAyC;AACzC,6DAA2C;AAC3C,mDAAiC","sourcesContent":["export * from './askFileDelete';\nexport * from './askFileExists';\nexport * from './askFileGenerateTemporarySecureUrl';\nexport * from './askFileGenerateTemporaryUploadSecureUrl';\nexport * from './askFileIsColdStorage';\nexport * from './askFileListDirectory';\nexport * from './askFileReadBinaryContents';\nexport * from './askFileReadObjectJson';\nexport * from './askFileReadTextContents';\nexport * from './askFileStreamOpen';\nexport * from './askFileWriteBinaryContents';\nexport * from './askFileWriteObjectJson';\nexport * from './askFileWriteTextContents';\nexport * from './FileActionType';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actions/file/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,kDAAgC;AAChC,kDAAgC;AAChC,sEAAoD;AACpD,4EAA0D;AAC1D,yDAAuC;AACvC,yDAAuC;AACvC,8DAA4C;AAC5C,0DAAwC;AACxC,4DAA0C;AAC1C,sDAAoC;AACpC,+DAA6C;AAC7C,2DAAyC;AACzC,6DAA2C;AAC3C,mDAAiC","sourcesContent":["export * from './askFileCopy';\nexport * from './askFileDelete';\nexport * from './askFileExists';\nexport * from './askFileGenerateTemporarySecureUrl';\nexport * from './askFileGenerateTemporaryUploadSecureUrl';\nexport * from './askFileIsColdStorage';\nexport * from './askFileListDirectory';\nexport * from './askFileReadBinaryContents';\nexport * from './askFileReadObjectJson';\nexport * from './askFileReadTextContents';\nexport * from './askFileStreamOpen';\nexport * from './askFileWriteBinaryContents';\nexport * from './askFileWriteObjectJson';\nexport * from './askFileWriteTextContents';\nexport * from './FileActionType';\n"]}
@@ -2,5 +2,6 @@ export declare enum SystemActionType {
2
2
  Batch = "@quidproquo-core/System/Batch",
3
3
  ExecuteStory = "@quidproquo-core/System/ExecuteStory",
4
4
  GetRuntimeCorrelation = "@quidproquo-core/System/GetRuntimeCorrelation",
5
+ GetRuntimeRemainingTime = "@quidproquo-core/System/GetRuntimeRemainingTime",
5
6
  TraceStory = "@quidproquo-core/System/TraceStory"
6
7
  }
@@ -11,6 +11,7 @@ var SystemActionType;
11
11
  SystemActionType["Batch"] = "@quidproquo-core/System/Batch";
12
12
  SystemActionType["ExecuteStory"] = "@quidproquo-core/System/ExecuteStory";
13
13
  SystemActionType["GetRuntimeCorrelation"] = "@quidproquo-core/System/GetRuntimeCorrelation";
14
+ SystemActionType["GetRuntimeRemainingTime"] = "@quidproquo-core/System/GetRuntimeRemainingTime";
14
15
  // Only node runtimes implement a processor (V8-inspector based log replay tracing)
15
16
  SystemActionType["TraceStory"] = "@quidproquo-core/System/TraceStory";
16
17
  // This isn't needed as its just a hybrid runtime method for SystemBatch
@@ -1 +1 @@
1
- {"version":3,"file":"SystemActionType.js","sourceRoot":"","sources":["../../../../src/actions/system/SystemActionType.ts"],"names":[],"mappings":";AAAA,sFAAsF;AACtF,2EAA2E;AAC3E,EAAE;AACF,2BAA2B;AAC3B,EAAE;;;AAEF,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B,2DAAuC,CAAA;IACvC,yEAAqD,CAAA;IACrD,2FAAuE,CAAA;IAEvE,mFAAmF;IACnF,qEAAiD,CAAA;IAEjD,wEAAwE;IACxE,uDAAuD;AACzD,CAAC,EAVW,gBAAgB,gCAAhB,gBAAgB,QAU3B","sourcesContent":["// NOTE: The following actions have no platform specific processors and/or requestors\n// and therefore do not need to implement a SystemActionProcessor.ts\n//\n// * SystemActionType.Batch\n//\n\nexport enum SystemActionType {\n Batch = '@quidproquo-core/System/Batch',\n ExecuteStory = '@quidproquo-core/System/ExecuteStory',\n GetRuntimeCorrelation = '@quidproquo-core/System/GetRuntimeCorrelation',\n\n // Only node runtimes implement a processor (V8-inspector based log replay tracing)\n TraceStory = '@quidproquo-core/System/TraceStory',\n\n // This isn't needed as its just a hybrid runtime method for SystemBatch\n // RunParallel = '@quidproquo-core/System/RunParallel',\n}\n"]}
1
+ {"version":3,"file":"SystemActionType.js","sourceRoot":"","sources":["../../../../src/actions/system/SystemActionType.ts"],"names":[],"mappings":";AAAA,sFAAsF;AACtF,2EAA2E;AAC3E,EAAE;AACF,2BAA2B;AAC3B,EAAE;;;AAEF,IAAY,gBAWX;AAXD,WAAY,gBAAgB;IAC1B,2DAAuC,CAAA;IACvC,yEAAqD,CAAA;IACrD,2FAAuE,CAAA;IACvE,+FAA2E,CAAA;IAE3E,mFAAmF;IACnF,qEAAiD,CAAA;IAEjD,wEAAwE;IACxE,uDAAuD;AACzD,CAAC,EAXW,gBAAgB,gCAAhB,gBAAgB,QAW3B","sourcesContent":["// NOTE: The following actions have no platform specific processors and/or requestors\n// and therefore do not need to implement a SystemActionProcessor.ts\n//\n// * SystemActionType.Batch\n//\n\nexport enum SystemActionType {\n Batch = '@quidproquo-core/System/Batch',\n ExecuteStory = '@quidproquo-core/System/ExecuteStory',\n GetRuntimeCorrelation = '@quidproquo-core/System/GetRuntimeCorrelation',\n GetRuntimeRemainingTime = '@quidproquo-core/System/GetRuntimeRemainingTime',\n\n // Only node runtimes implement a processor (V8-inspector based log replay tracing)\n TraceStory = '@quidproquo-core/System/TraceStory',\n\n // This isn't needed as its just a hybrid runtime method for SystemBatch\n // RunParallel = '@quidproquo-core/System/RunParallel',\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { SystemActionType } from './SystemActionType';
2
+ /**
3
+ * Milliseconds left before the platform kills the current execution. Long loops
4
+ * (agentic AI turns, batch sweeps) check this between steps and hand off before the
5
+ * hard cutoff. Runtimes with no execution limit return Number.MAX_SAFE_INTEGER.
6
+ */
7
+ export declare const askGetRuntimeRemainingTime: import("../../types").ActionRequesterFunction<SystemActionType.GetRuntimeRemainingTime, [], undefined, number, never>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.askGetRuntimeRemainingTime = void 0;
4
+ const types_1 = require("../../types");
5
+ const SystemActionType_1 = require("./SystemActionType");
6
+ /**
7
+ * Milliseconds left before the platform kills the current execution. Long loops
8
+ * (agentic AI turns, batch sweeps) check this between steps and hand off before the
9
+ * hard cutoff. Runtimes with no execution limit return Number.MAX_SAFE_INTEGER.
10
+ */
11
+ exports.askGetRuntimeRemainingTime = (0, types_1.createActionRequester)()({
12
+ actionType: SystemActionType_1.SystemActionType.GetRuntimeRemainingTime,
13
+ });
14
+ //# sourceMappingURL=askGetRuntimeRemainingTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"askGetRuntimeRemainingTime.js","sourceRoot":"","sources":["../../../../src/actions/system/askGetRuntimeRemainingTime.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AACpD,yDAAsD;AAEtD;;;;GAIG;AACU,QAAA,0BAA0B,GAAG,IAAA,6BAAqB,GAAU,CAAC;IACxE,UAAU,EAAE,mCAAgB,CAAC,uBAAuB;CACrD,CAAC,CAAC","sourcesContent":["import { createActionRequester } from '../../types';\nimport { SystemActionType } from './SystemActionType';\n\n/**\n * Milliseconds left before the platform kills the current execution. Long loops\n * (agentic AI turns, batch sweeps) check this between steps and hand off before the\n * hard cutoff. Runtimes with no execution limit return Number.MAX_SAFE_INTEGER.\n */\nexport const askGetRuntimeRemainingTime = createActionRequester<number>()({\n actionType: SystemActionType.GetRuntimeRemainingTime,\n});\n"]}
@@ -1,6 +1,7 @@
1
1
  export * from './askBatch';
2
2
  export * from './askExecuteStory';
3
3
  export * from './askGetRuntimeCorrelation';
4
+ export * from './askGetRuntimeRemainingTime';
4
5
  export * from './askParallelDEPRECATED';
5
6
  export * from './askTraceStory';
6
7
  export * from './SystemActionType';
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./askBatch"), exports);
18
18
  __exportStar(require("./askExecuteStory"), exports);
19
19
  __exportStar(require("./askGetRuntimeCorrelation"), exports);
20
+ __exportStar(require("./askGetRuntimeRemainingTime"), exports);
20
21
  __exportStar(require("./askParallelDEPRECATED"), exports);
21
22
  __exportStar(require("./askTraceStory"), exports);
22
23
  __exportStar(require("./SystemActionType"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actions/system/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,oDAAkC;AAClC,6DAA2C;AAC3C,0DAAwC;AACxC,kDAAgC;AAChC,qDAAmC","sourcesContent":["export * from './askBatch';\nexport * from './askExecuteStory';\nexport * from './askGetRuntimeCorrelation';\nexport * from './askParallelDEPRECATED';\nexport * from './askTraceStory';\nexport * from './SystemActionType';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actions/system/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,oDAAkC;AAClC,6DAA2C;AAC3C,+DAA6C;AAC7C,0DAAwC;AACxC,kDAAgC;AAChC,qDAAmC","sourcesContent":["export * from './askBatch';\nexport * from './askExecuteStory';\nexport * from './askGetRuntimeCorrelation';\nexport * from './askGetRuntimeRemainingTime';\nexport * from './askParallelDEPRECATED';\nexport * from './askTraceStory';\nexport * from './SystemActionType';\n"]}
@@ -18,6 +18,7 @@ export declare enum QPQCoreConfigSettingType {
18
18
  keyValueStore = "@quidproquo-core/config/KeyValueStore",
19
19
  configValue = "@quidproquo-core/config/ConfigValue",
20
20
  cryptoKey = "@quidproquo-core/config/cryptoKey",
21
+ signingKey = "@quidproquo-core/config/signingKey",
21
22
  environmentSettings = "@quidproquo-core/config/EnvironmentSettings",
22
23
  serviceSettings = "@quidproquo-core/config/ServiceSettings",
23
24
  deployEvent = "@quidproquo-core/config/DeployEvent",
@@ -21,6 +21,7 @@ var QPQCoreConfigSettingType;
21
21
  QPQCoreConfigSettingType["keyValueStore"] = "@quidproquo-core/config/KeyValueStore";
22
22
  QPQCoreConfigSettingType["configValue"] = "@quidproquo-core/config/ConfigValue";
23
23
  QPQCoreConfigSettingType["cryptoKey"] = "@quidproquo-core/config/cryptoKey";
24
+ QPQCoreConfigSettingType["signingKey"] = "@quidproquo-core/config/signingKey";
24
25
  QPQCoreConfigSettingType["environmentSettings"] = "@quidproquo-core/config/EnvironmentSettings";
25
26
  QPQCoreConfigSettingType["serviceSettings"] = "@quidproquo-core/config/ServiceSettings";
26
27
  QPQCoreConfigSettingType["deployEvent"] = "@quidproquo-core/config/DeployEvent";
@@ -1 +1 @@
1
- {"version":3,"file":"QPQConfig.js","sourceRoot":"","sources":["../../../src/config/QPQConfig.ts"],"names":[],"mappings":";;;AAEA,IAAY,wBA6BX;AA7BD,WAAY,wBAAwB;IAClC,6DAAiC,CAAA;IACjC,uEAA2C,CAAA;IAC3C,6EAAiD,CAAA;IACjD,iFAAqD,CAAA;IACrD,yEAA6C,CAAA;IAC7C,qEAAyC,CAAA;IACzC,qEAAyC,CAAA;IACzC,2EAA+C,CAAA;IAC/C,yFAA6D,CAAA;IAC7D,iFAAqD,CAAA;IACrD,iGAAqE,CAAA;IACrE,mGAAuE,CAAA;IACvE,mEAAuC,CAAA;IACvC,yEAA6C,CAAA;IAC7C,mFAAuD,CAAA;IACvD,mFAAuD,CAAA;IACvD,+EAAmD,CAAA;IACnD,2EAA+C,CAAA;IAC/C,+FAAmE,CAAA;IACnE,uFAA2D,CAAA;IAC3D,+EAAmD,CAAA;IACnD,mFAAuD,CAAA;IACvD,qFAAyD,CAAA;IACzD,+EAAmD,CAAA;IACnD,qFAAyD,CAAA;IACzD,yFAA6D,CAAA;IAC7D,2FAA+D,CAAA;IAC/D,iGAAqE,CAAA;AACvE,CAAC,EA7BW,wBAAwB,wCAAxB,wBAAwB,QA6BnC","sourcesContent":["import { CrossModuleOwner } from '../types';\n\nexport enum QPQCoreConfigSettingType {\n ai = '@quidproquo-core/config/Ai',\n appName = '@quidproquo-core/config/AppName',\n moduleName = '@quidproquo-core/config/moduleName',\n storageDrive = '@quidproquo-core/config/storageDrive',\n schedule = '@quidproquo-core/config/schedule',\n secret = '@quidproquo-core/config/secret',\n global = '@quidproquo-core/config/global',\n parameter = '@quidproquo-core/config/parameter',\n actionProcessors = '@quidproquo-core/config/actionProcessors',\n apiBuildPath = '@quidproquo-core/config/apiBuildPath',\n backendBundleOptions = '@quidproquo-core/config/BackendBundleOptions',\n frontendBundleOptions = '@quidproquo-core/config/FrontendBundleOptions',\n queue = '@quidproquo-core/config/Queue',\n eventBus = '@quidproquo-core/config/EventBus',\n userDirectory = '@quidproquo-core/config/UserDirectory',\n keyValueStore = '@quidproquo-core/config/KeyValueStore',\n configValue = '@quidproquo-core/config/ConfigValue',\n cryptoKey = '@quidproquo-core/config/cryptoKey',\n environmentSettings = '@quidproquo-core/config/EnvironmentSettings',\n serviceSettings = '@quidproquo-core/config/ServiceSettings',\n deployEvent = '@quidproquo-core/config/DeployEvent',\n graphDatabase = '@quidproquo-core/config/GraphDatabase',\n virtualNetwork = '@quidproquo-core/config/VirtualNetwork',\n notifyError = '@quidproquo-core/config/notifyError',\n inlineFunction = '@quidproquo-core/config/InlineFunction',\n dynamicFunctions = '@quidproquo-core/config/DynamicFunctions',\n javascriptRuntime = '@quidproquo-core/config/JavascriptRuntime',\n federatedModuleStore = '@quidproquo-core/config/FederatedModuleStore',\n}\n\nexport interface QPQConfigSetting {\n configSettingType: string;\n uniqueKey: string;\n\n owner?: CrossModuleOwner;\n}\n\nexport interface QPQConfigAdvancedSettings {\n deprecated?: boolean;\n}\n\nexport type QPQConfigItem = QPQConfigSetting | QPQConfigItem[];\nexport type QPQConfig = QPQConfigItem[];\n"]}
1
+ {"version":3,"file":"QPQConfig.js","sourceRoot":"","sources":["../../../src/config/QPQConfig.ts"],"names":[],"mappings":";;;AAEA,IAAY,wBA8BX;AA9BD,WAAY,wBAAwB;IAClC,6DAAiC,CAAA;IACjC,uEAA2C,CAAA;IAC3C,6EAAiD,CAAA;IACjD,iFAAqD,CAAA;IACrD,yEAA6C,CAAA;IAC7C,qEAAyC,CAAA;IACzC,qEAAyC,CAAA;IACzC,2EAA+C,CAAA;IAC/C,yFAA6D,CAAA;IAC7D,iFAAqD,CAAA;IACrD,iGAAqE,CAAA;IACrE,mGAAuE,CAAA;IACvE,mEAAuC,CAAA;IACvC,yEAA6C,CAAA;IAC7C,mFAAuD,CAAA;IACvD,mFAAuD,CAAA;IACvD,+EAAmD,CAAA;IACnD,2EAA+C,CAAA;IAC/C,6EAAiD,CAAA;IACjD,+FAAmE,CAAA;IACnE,uFAA2D,CAAA;IAC3D,+EAAmD,CAAA;IACnD,mFAAuD,CAAA;IACvD,qFAAyD,CAAA;IACzD,+EAAmD,CAAA;IACnD,qFAAyD,CAAA;IACzD,yFAA6D,CAAA;IAC7D,2FAA+D,CAAA;IAC/D,iGAAqE,CAAA;AACvE,CAAC,EA9BW,wBAAwB,wCAAxB,wBAAwB,QA8BnC","sourcesContent":["import { CrossModuleOwner } from '../types';\n\nexport enum QPQCoreConfigSettingType {\n ai = '@quidproquo-core/config/Ai',\n appName = '@quidproquo-core/config/AppName',\n moduleName = '@quidproquo-core/config/moduleName',\n storageDrive = '@quidproquo-core/config/storageDrive',\n schedule = '@quidproquo-core/config/schedule',\n secret = '@quidproquo-core/config/secret',\n global = '@quidproquo-core/config/global',\n parameter = '@quidproquo-core/config/parameter',\n actionProcessors = '@quidproquo-core/config/actionProcessors',\n apiBuildPath = '@quidproquo-core/config/apiBuildPath',\n backendBundleOptions = '@quidproquo-core/config/BackendBundleOptions',\n frontendBundleOptions = '@quidproquo-core/config/FrontendBundleOptions',\n queue = '@quidproquo-core/config/Queue',\n eventBus = '@quidproquo-core/config/EventBus',\n userDirectory = '@quidproquo-core/config/UserDirectory',\n keyValueStore = '@quidproquo-core/config/KeyValueStore',\n configValue = '@quidproquo-core/config/ConfigValue',\n cryptoKey = '@quidproquo-core/config/cryptoKey',\n signingKey = '@quidproquo-core/config/signingKey',\n environmentSettings = '@quidproquo-core/config/EnvironmentSettings',\n serviceSettings = '@quidproquo-core/config/ServiceSettings',\n deployEvent = '@quidproquo-core/config/DeployEvent',\n graphDatabase = '@quidproquo-core/config/GraphDatabase',\n virtualNetwork = '@quidproquo-core/config/VirtualNetwork',\n notifyError = '@quidproquo-core/config/notifyError',\n inlineFunction = '@quidproquo-core/config/InlineFunction',\n dynamicFunctions = '@quidproquo-core/config/DynamicFunctions',\n javascriptRuntime = '@quidproquo-core/config/JavascriptRuntime',\n federatedModuleStore = '@quidproquo-core/config/FederatedModuleStore',\n}\n\nexport interface QPQConfigSetting {\n configSettingType: string;\n uniqueKey: string;\n\n owner?: CrossModuleOwner;\n}\n\nexport interface QPQConfigAdvancedSettings {\n deprecated?: boolean;\n}\n\nexport type QPQConfigItem = QPQConfigSetting | QPQConfigItem[];\nexport type QPQConfig = QPQConfigItem[];\n"]}
@@ -26,6 +26,7 @@ export * from './queue';
26
26
  export * from './schedule';
27
27
  export * from './secret';
28
28
  export * from './serviceSettings';
29
+ export * from './signingKey';
29
30
  export * from './storageDrive';
30
31
  export * from './userDirectory';
31
32
  export * from './virtualNetwork';
@@ -42,6 +42,7 @@ __exportStar(require("./queue"), exports);
42
42
  __exportStar(require("./schedule"), exports);
43
43
  __exportStar(require("./secret"), exports);
44
44
  __exportStar(require("./serviceSettings"), exports);
45
+ __exportStar(require("./signingKey"), exports);
45
46
  __exportStar(require("./storageDrive"), exports);
46
47
  __exportStar(require("./userDirectory"), exports);
47
48
  __exportStar(require("./virtualNetwork"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/config/settings/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,uCAAqB;AACrB,iDAA+B;AAC/B,sDAAoC;AACpC,oDAAkC;AAClC,uDAAqC;AACrC,kDAAgC;AAChC,gDAA8B;AAC9B,8CAA4B;AAC5B,sDAAoC;AACpC,gDAA8B;AAC9B,qDAAmC;AACnC,mDAAiC;AACjC,wDAAsC;AACtC,6CAA2B;AAC3B,yDAAuC;AACvC,2CAAyB;AACzB,kDAAgC;AAChC,mDAAiC;AACjC,sDAAoC;AACpC,kDAAgC;AAChC,+CAA6B;AAC7B,gDAA8B;AAC9B,8CAA4B;AAC5B,0CAAwB;AACxB,6CAA2B;AAC3B,2CAAyB;AACzB,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC;AAChC,mDAAiC","sourcesContent":["export * from './actionProcessors';\nexport * from './ai';\nexport * from './apiBuildPath';\nexport * from './applicationModule';\nexport * from './applicationName';\nexport * from './applicationVersion';\nexport * from './bundleOptions';\nexport * from './configValue';\nexport * from './cryptoKey';\nexport * from './definePromiseMode';\nexport * from './deployEvent';\nexport * from './dynamicFunctions';\nexport * from './emailTemplates';\nexport * from './environmentSettings';\nexport * from './eventBus';\nexport * from './federatedModuleStore';\nexport * from './global';\nexport * from './graphDatabase';\nexport * from './inlineFunction';\nexport * from './javascriptRuntime';\nexport * from './keyValueStore';\nexport * from './moduleName';\nexport * from './notifyError';\nexport * from './parameter';\nexport * from './queue';\nexport * from './schedule';\nexport * from './secret';\nexport * from './serviceSettings';\nexport * from './storageDrive';\nexport * from './userDirectory';\nexport * from './virtualNetwork';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/config/settings/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,uCAAqB;AACrB,iDAA+B;AAC/B,sDAAoC;AACpC,oDAAkC;AAClC,uDAAqC;AACrC,kDAAgC;AAChC,gDAA8B;AAC9B,8CAA4B;AAC5B,sDAAoC;AACpC,gDAA8B;AAC9B,qDAAmC;AACnC,mDAAiC;AACjC,wDAAsC;AACtC,6CAA2B;AAC3B,yDAAuC;AACvC,2CAAyB;AACzB,kDAAgC;AAChC,mDAAiC;AACjC,sDAAoC;AACpC,kDAAgC;AAChC,+CAA6B;AAC7B,gDAA8B;AAC9B,8CAA4B;AAC5B,0CAAwB;AACxB,6CAA2B;AAC3B,2CAAyB;AACzB,oDAAkC;AAClC,+CAA6B;AAC7B,iDAA+B;AAC/B,kDAAgC;AAChC,mDAAiC","sourcesContent":["export * from './actionProcessors';\nexport * from './ai';\nexport * from './apiBuildPath';\nexport * from './applicationModule';\nexport * from './applicationName';\nexport * from './applicationVersion';\nexport * from './bundleOptions';\nexport * from './configValue';\nexport * from './cryptoKey';\nexport * from './definePromiseMode';\nexport * from './deployEvent';\nexport * from './dynamicFunctions';\nexport * from './emailTemplates';\nexport * from './environmentSettings';\nexport * from './eventBus';\nexport * from './federatedModuleStore';\nexport * from './global';\nexport * from './graphDatabase';\nexport * from './inlineFunction';\nexport * from './javascriptRuntime';\nexport * from './keyValueStore';\nexport * from './moduleName';\nexport * from './notifyError';\nexport * from './parameter';\nexport * from './queue';\nexport * from './schedule';\nexport * from './secret';\nexport * from './serviceSettings';\nexport * from './signingKey';\nexport * from './storageDrive';\nexport * from './userDirectory';\nexport * from './virtualNetwork';\n"]}
@@ -0,0 +1,9 @@
1
+ import { CrossModuleOwner } from '../../types';
2
+ import { QPQConfigAdvancedSettings, QPQConfigSetting } from '../QPQConfig';
3
+ export interface QPQConfigAdvancedSigningKeySettings extends QPQConfigAdvancedSettings {
4
+ owner?: CrossModuleOwner<'signingKeyName'>;
5
+ }
6
+ export interface SigningKeyQPQConfigSetting extends QPQConfigSetting {
7
+ keyName: string;
8
+ }
9
+ export declare const defineSigningKey: (keyName: string, options?: QPQConfigAdvancedSigningKeySettings) => SigningKeyQPQConfigSetting;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineSigningKey = void 0;
4
+ const QPQConfig_1 = require("../QPQConfig");
5
+ const crossModuleUtils_1 = require("../utils/crossModuleUtils");
6
+ const defineSigningKey = (keyName, options) => ({
7
+ configSettingType: QPQConfig_1.QPQCoreConfigSettingType.signingKey,
8
+ uniqueKey: keyName,
9
+ keyName,
10
+ owner: (0, crossModuleUtils_1.convertCrossModuleOwnerToGenericResourceNameOverride)(options === null || options === void 0 ? void 0 : options.owner),
11
+ });
12
+ exports.defineSigningKey = defineSigningKey;
13
+ //# sourceMappingURL=signingKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signingKey.js","sourceRoot":"","sources":["../../../../src/config/settings/signingKey.ts"],"names":[],"mappings":";;;AACA,4CAAqG;AACrG,gEAAiG;AAe1F,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,OAA6C,EAA8B,EAAE,CAAC,CAAC;IAC/H,iBAAiB,EAAE,oCAAwB,CAAC,UAAU;IACtD,SAAS,EAAE,OAAO;IAElB,OAAO;IAEP,KAAK,EAAE,IAAA,uEAAoD,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;CAC5E,CAAC,CAAC;AAPU,QAAA,gBAAgB,oBAO1B","sourcesContent":["import { CrossModuleOwner } from '../../types';\nimport { QPQConfigAdvancedSettings, QPQConfigSetting, QPQCoreConfigSettingType } from '../QPQConfig';\nimport { convertCrossModuleOwnerToGenericResourceNameOverride } from '../utils/crossModuleUtils';\n\nexport interface QPQConfigAdvancedSigningKeySettings extends QPQConfigAdvancedSettings {\n owner?: CrossModuleOwner<'signingKeyName'>;\n}\n\n// An asymmetric (RSA-2048, RS256) key pair whose private half never leaves the\n// provider. Stories sign with askCryptoSign, verify with askCryptoVerify and\n// publish the public half with askCryptoGetPublicKey. Distinct from\n// defineCryptoKey: a provider key is either encrypt/decrypt or sign/verify, never\n// both, so the two are separate resources with separate grants.\nexport interface SigningKeyQPQConfigSetting extends QPQConfigSetting {\n keyName: string;\n}\n\nexport const defineSigningKey = (keyName: string, options?: QPQConfigAdvancedSigningKeySettings): SigningKeyQPQConfigSetting => ({\n configSettingType: QPQCoreConfigSettingType.signingKey,\n uniqueKey: keyName,\n\n keyName,\n\n owner: convertCrossModuleOwnerToGenericResourceNameOverride(options?.owner),\n});\n"]}