orizu 0.5.28 → 0.5.30

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 (232) hide show
  1. package/README.md +41 -2
  2. package/dist/account-directory.d.ts +132 -0
  3. package/dist/account-directory.d.ts.map +1 -0
  4. package/dist/account-directory.js +434 -0
  5. package/dist/app-commands.d.ts +29 -0
  6. package/dist/app-commands.d.ts.map +1 -0
  7. package/dist/app-commands.js +375 -0
  8. package/dist/auth-commands.d.ts +11 -0
  9. package/dist/auth-commands.d.ts.map +1 -0
  10. package/dist/auth-commands.js +321 -0
  11. package/dist/cli-console-output.d.ts +12 -0
  12. package/dist/cli-console-output.d.ts.map +1 -0
  13. package/dist/cli-console-output.js +57 -0
  14. package/dist/cli-project-slug.d.ts +20 -0
  15. package/dist/cli-project-slug.d.ts.map +1 -0
  16. package/dist/cli-project-slug.js +36 -0
  17. package/dist/command-line-arguments.d.ts +15 -0
  18. package/dist/command-line-arguments.d.ts.map +1 -0
  19. package/dist/command-line-arguments.js +77 -0
  20. package/dist/credentials.d.ts +6 -0
  21. package/dist/credentials.d.ts.map +1 -1
  22. package/dist/credentials.js +58 -4
  23. package/dist/dataset-commands.d.ts +16 -0
  24. package/dist/dataset-commands.d.ts.map +1 -0
  25. package/dist/dataset-commands.js +634 -0
  26. package/dist/dataset-download.d.ts.map +1 -1
  27. package/dist/dataset-download.js +4 -3
  28. package/dist/egress-policy.d.ts +8 -5
  29. package/dist/egress-policy.d.ts.map +1 -1
  30. package/dist/egress-policy.js +18 -7
  31. package/dist/feedback-cli.d.ts +14 -0
  32. package/dist/feedback-cli.d.ts.map +1 -0
  33. package/dist/feedback-cli.js +615 -0
  34. package/dist/feedback-contract.d.ts +79 -0
  35. package/dist/feedback-contract.d.ts.map +1 -0
  36. package/dist/feedback-contract.js +428 -0
  37. package/dist/feedback-scrub.d.ts +16 -0
  38. package/dist/feedback-scrub.d.ts.map +1 -0
  39. package/dist/feedback-scrub.js +610 -0
  40. package/dist/gepa-engine-dispatch.d.ts.map +1 -1
  41. package/dist/gepa-engine-dispatch.js +12 -2
  42. package/dist/global-flags.d.ts +1 -0
  43. package/dist/global-flags.d.ts.map +1 -1
  44. package/dist/global-flags.js +7 -0
  45. package/dist/headless-login.d.ts +2 -0
  46. package/dist/headless-login.d.ts.map +1 -1
  47. package/dist/headless-login.js +14 -11
  48. package/dist/help.d.ts.map +1 -1
  49. package/dist/help.js +103 -2
  50. package/dist/hosted-boot.d.ts +5 -0
  51. package/dist/hosted-boot.d.ts.map +1 -1
  52. package/dist/hosted-boot.js +12 -3
  53. package/dist/hosted-environment.d.ts +10 -0
  54. package/dist/hosted-environment.d.ts.map +1 -1
  55. package/dist/hosted-environment.js +81 -0
  56. package/dist/hosted-gepa-cli.d.ts.map +1 -1
  57. package/dist/hosted-gepa-cli.js +37 -5
  58. package/dist/hosted-harness-claude.d.ts +1 -2
  59. package/dist/hosted-harness-claude.d.ts.map +1 -1
  60. package/dist/hosted-harness-claude.js +8 -4
  61. package/dist/hosted-harness-opencode.d.ts +15 -10
  62. package/dist/hosted-harness-opencode.d.ts.map +1 -1
  63. package/dist/hosted-harness-opencode.js +27 -14
  64. package/dist/hosted-optimization-refusals.d.ts +6 -1
  65. package/dist/hosted-optimization-refusals.d.ts.map +1 -1
  66. package/dist/hosted-optimization-refusals.js +8 -2
  67. package/dist/hosted-optimization.d.ts.map +1 -1
  68. package/dist/hosted-optimization.js +40 -10
  69. package/dist/hosted-provider-credentials.d.ts +16 -0
  70. package/dist/hosted-provider-credentials.d.ts.map +1 -0
  71. package/dist/hosted-provider-credentials.js +36 -0
  72. package/dist/hosted-provider-settings.d.ts +7 -4
  73. package/dist/hosted-provider-settings.d.ts.map +1 -1
  74. package/dist/hosted-provider-settings.js +16 -13
  75. package/dist/http.d.ts +16 -3
  76. package/dist/http.d.ts.map +1 -1
  77. package/dist/http.js +57 -27
  78. package/dist/index.d.ts +3 -6
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +382 -3686
  81. package/dist/instruction-set-sync/index.d.ts +1 -0
  82. package/dist/instruction-set-sync/index.d.ts.map +1 -1
  83. package/dist/instruction-set-sync/index.js +15 -6
  84. package/dist/last-error-caps.d.ts +7 -0
  85. package/dist/last-error-caps.d.ts.map +1 -0
  86. package/dist/last-error-caps.js +6 -0
  87. package/dist/last-error-record.d.ts +37 -0
  88. package/dist/last-error-record.d.ts.map +1 -0
  89. package/dist/last-error-record.js +316 -0
  90. package/dist/model-config-fields.d.ts +2 -4
  91. package/dist/model-config-fields.d.ts.map +1 -1
  92. package/dist/model-config-fields.js +26 -9
  93. package/dist/model-config-price.d.ts +17 -0
  94. package/dist/model-config-price.d.ts.map +1 -0
  95. package/dist/model-config-price.js +42 -0
  96. package/dist/model-configs-cli.d.ts +2 -0
  97. package/dist/model-configs-cli.d.ts.map +1 -1
  98. package/dist/model-configs-cli.js +47 -4
  99. package/dist/optimization-export-cli.d.ts.map +1 -1
  100. package/dist/optimization-export-cli.js +19 -0
  101. package/dist/preview-runtime.d.ts.map +1 -1
  102. package/dist/preview-runtime.js +11 -4
  103. package/dist/prompt-length-wire.d.ts +1 -1
  104. package/dist/prompt-length-wire.d.ts.map +1 -1
  105. package/dist/prompt-length-wire.js +1 -0
  106. package/dist/provider-lookup.d.ts +24 -0
  107. package/dist/provider-lookup.d.ts.map +1 -0
  108. package/dist/provider-lookup.js +43 -0
  109. package/dist/provider-probe.d.ts +24 -0
  110. package/dist/provider-probe.d.ts.map +1 -0
  111. package/dist/provider-probe.js +88 -0
  112. package/dist/provider-refusals.d.ts +83 -0
  113. package/dist/provider-refusals.d.ts.map +1 -0
  114. package/dist/provider-refusals.js +48 -0
  115. package/dist/provider-registry.d.ts +146 -0
  116. package/dist/provider-registry.d.ts.map +1 -0
  117. package/dist/provider-registry.js +155 -0
  118. package/dist/providers-cli.d.ts +3 -0
  119. package/dist/providers-cli.d.ts.map +1 -0
  120. package/dist/providers-cli.js +178 -0
  121. package/dist/runner-env-allowlist.d.ts +4 -0
  122. package/dist/runner-env-allowlist.d.ts.map +1 -0
  123. package/dist/runner-env-allowlist.js +36 -0
  124. package/dist/runner-env.d.ts +7 -0
  125. package/dist/runner-env.d.ts.map +1 -0
  126. package/dist/runner-env.js +52 -0
  127. package/dist/self-update.d.ts +42 -0
  128. package/dist/self-update.d.ts.map +1 -0
  129. package/dist/self-update.js +506 -0
  130. package/dist/setup-and-skills-commands.d.ts +11 -0
  131. package/dist/setup-and-skills-commands.d.ts.map +1 -0
  132. package/dist/setup-and-skills-commands.js +1055 -0
  133. package/dist/task-commands.d.ts +13 -0
  134. package/dist/task-commands.d.ts.map +1 -0
  135. package/dist/task-commands.js +512 -0
  136. package/dist/workspace.d.ts +1 -0
  137. package/dist/workspace.d.ts.map +1 -1
  138. package/dist/workspace.js +11 -0
  139. package/package.json +1 -1
  140. package/src/account-directory.ts +751 -0
  141. package/src/app-commands.ts +520 -0
  142. package/src/auth-commands.ts +388 -0
  143. package/src/cli-console-output.ts +83 -0
  144. package/src/cli-project-slug.ts +53 -0
  145. package/src/command-line-arguments.ts +111 -0
  146. package/src/credentials.ts +62 -4
  147. package/src/dataset-commands.ts +863 -0
  148. package/src/dataset-download.ts +4 -3
  149. package/src/egress-policy.ts +19 -8
  150. package/src/feedback-cli.ts +778 -0
  151. package/src/feedback-contract.ts +492 -0
  152. package/src/feedback-scrub.ts +799 -0
  153. package/src/gepa-engine-dispatch.ts +16 -2
  154. package/src/global-flags.ts +8 -0
  155. package/src/headless-login.ts +25 -11
  156. package/src/help.ts +103 -2
  157. package/src/hosted-boot.ts +21 -3
  158. package/src/hosted-environment.ts +70 -0
  159. package/src/hosted-gepa-cli.ts +35 -5
  160. package/src/hosted-harness-claude.ts +9 -4
  161. package/src/hosted-harness-opencode.ts +28 -14
  162. package/src/hosted-optimization-refusals.ts +11 -3
  163. package/src/hosted-optimization.ts +42 -12
  164. package/src/hosted-provider-credentials.js +2 -0
  165. package/src/hosted-provider-credentials.ts +42 -0
  166. package/src/hosted-provider-settings.ts +21 -13
  167. package/src/http.ts +75 -26
  168. package/src/index.ts +1134 -5348
  169. package/src/instruction-set-sync/index.ts +25 -6
  170. package/src/last-error-caps.js +4 -0
  171. package/src/last-error-caps.ts +6 -0
  172. package/src/last-error-record.ts +415 -0
  173. package/src/model-config-fields.ts +29 -10
  174. package/src/model-config-price.js +2 -0
  175. package/src/model-config-price.ts +55 -0
  176. package/src/model-configs-cli.ts +41 -4
  177. package/src/optimization-export-cli.ts +23 -0
  178. package/src/preview-runtime.ts +11 -4
  179. package/src/prompt-length-wire.ts +1 -0
  180. package/src/provider-lookup.js +2 -0
  181. package/src/provider-lookup.ts +73 -0
  182. package/src/provider-probe.ts +101 -0
  183. package/src/provider-refusals.ts +53 -0
  184. package/src/provider-registry.js +4 -0
  185. package/src/provider-registry.ts +186 -0
  186. package/src/providers-cli.ts +153 -0
  187. package/src/runner-env-allowlist.js +4 -0
  188. package/src/runner-env-allowlist.ts +38 -0
  189. package/src/runner-env.js +4 -0
  190. package/src/runner-env.ts +58 -0
  191. package/src/secret-redaction.js +4 -0
  192. package/src/self-update.ts +548 -0
  193. package/src/setup-and-skills-commands.ts +1242 -0
  194. package/src/task-commands.ts +703 -0
  195. package/src/workspace.ts +11 -0
  196. package/vendor/orizu-gepa/pyproject.toml +7 -0
  197. package/vendor/orizu-gepa/src/orizu_gepa_connector/callbacks.py +77 -39
  198. package/vendor/orizu-gepa/src/orizu_gepa_connector/providers.generated.json +32 -0
  199. package/vendor/orizu-gepa/src/orizu_gepa_connector/reflection.py +5 -3
  200. package/vendor/orizu-gepa/src/orizu_gepa_connector/runtime.py +16 -2
  201. package/vendor/orizu-gepa/src/orizu_gepa_connector/skilled_proposer_bridge.py +14 -1
  202. package/vendor/orizu-gepa/src/orizu_gepa_connector/translator.py +91 -24
  203. package/vendor/orizu-gepa-python/pyproject.toml +7 -0
  204. package/vendor/orizu-gepa-python/src/orizu_gepa/local_log.py +3 -0
  205. package/vendor/orizu-gepa-python/src/orizu_gepa/providers.generated.json +32 -0
  206. package/vendor/orizu-gepa-python/src/orizu_gepa/providers.py +321 -0
  207. package/vendor/orizu-gepa-python/src/orizu_gepa/reflection.py +269 -89
  208. package/vendor/orizu-gepa-python/src/orizu_gepa/runner.py +40 -6
  209. package/vendor/skills/orizu/SKILL.md +26 -22
  210. package/vendor/skills/orizu/flows/expand.md +2 -0
  211. package/vendor/skills/orizu/flows/first-win.md +2 -0
  212. package/vendor/skills/orizu/flows/onboard.md +2 -0
  213. package/vendor/skills/orizu/flows/promote.md +5 -3
  214. package/vendor/skills/orizu/flows/recurse.md +2 -0
  215. package/vendor/skills/orizu/flows/triage.md +7 -5
  216. package/vendor/skills/orizu/references/assess-and-plan.md +16 -16
  217. package/vendor/skills/orizu/references/authority-map.md +1 -0
  218. package/vendor/skills/orizu/references/building-apps.md +92 -92
  219. package/vendor/skills/orizu/references/building-judges.md +6 -6
  220. package/vendor/skills/orizu/references/cli-reference.md +80 -14
  221. package/vendor/skills/orizu/references/dataset-design.md +3 -3
  222. package/vendor/skills/orizu/references/eval-strategy.md +8 -8
  223. package/vendor/skills/orizu/references/feedback.md +113 -0
  224. package/vendor/skills/orizu/references/instructions-after-prompts.md +5 -5
  225. package/vendor/skills/orizu/references/migrate-existing-gepa-setup.md +15 -15
  226. package/vendor/skills/orizu/references/migrate-hand-rolled-instruction-layout.md +4 -4
  227. package/vendor/skills/orizu/references/optimization-reports.md +5 -5
  228. package/vendor/skills/orizu/references/optimization-with-gepa.md +41 -35
  229. package/vendor/skills/orizu/references/orizu-in-your-codebase.md +8 -8
  230. package/vendor/skills/orizu/references/primer.md +42 -42
  231. package/vendor/skills/orizu/references/prompt-control-plane.md +29 -29
  232. package/vendor/skills/orizu/references/vocabulary.md +18 -18
@@ -3,10 +3,11 @@ import { join } from 'path';
3
3
  import { homedir, hostname } from 'os';
4
4
  import { randomBytes } from 'crypto';
5
5
  import { AsyncLocalStorage } from 'async_hooks';
6
+ import { canonicalServerUrl, normalizeBaseUrl } from './global-flags.js';
6
7
  function isNodeError(error) {
7
8
  return error instanceof Error;
8
9
  }
9
- function getConfigDir() {
10
+ export function getConfigDir() {
10
11
  if (process.env.ORIZU_CONFIG_DIR) {
11
12
  return process.env.ORIZU_CONFIG_DIR;
12
13
  }
@@ -364,6 +365,59 @@ export function getActiveBaseUrl() {
364
365
  const config = loadCredentialsConfig();
365
366
  return config?.activeBaseUrl || null;
366
367
  }
368
+ /** Resolve the selected server and move a retired production credential atomically. */
369
+ export function resolveCredentialServer(selected) {
370
+ const source = selected ?? getActiveBaseUrl();
371
+ if (!source)
372
+ return null;
373
+ const target = canonicalServerUrl(source);
374
+ if (normalizeBaseUrl(source) === target)
375
+ return target;
376
+ const snapshot = loadCredentialsConfig();
377
+ // Explicit legacy env/flags are common in hosted processes. Once migrated,
378
+ // resolution is read-only: do not create a config directory or contend on a lock.
379
+ if (!snapshot?.servers[source] && snapshot?.activeBaseUrl !== source)
380
+ return target;
381
+ return withCredentialsTransactionLock(() => {
382
+ const config = loadCredentialsConfig();
383
+ // Another process may have selected a different server while we waited.
384
+ const currentSource = selected ?? config?.activeBaseUrl;
385
+ if (!currentSource)
386
+ return null;
387
+ const currentTarget = canonicalServerUrl(currentSource);
388
+ if (!config || normalizeBaseUrl(currentSource) === currentTarget)
389
+ return currentTarget;
390
+ const credential = config.servers[currentSource];
391
+ const destination = config.servers[currentTarget];
392
+ if (credential && destination && !credentialsEqual(credential, destination)) {
393
+ throw new Error('A different sign-in is already saved for app.orizu.ai. Run `orizu --server https://app.orizu.ai logout` to remove it, or `orizu --server https://app.orizu.ai login` to sign in again. Plain `orizu logout` removes the selected old sign-in instead. No saved sign-ins were changed.');
394
+ }
395
+ let changed = false;
396
+ if (credential) {
397
+ config.servers[currentTarget] = credential;
398
+ delete config.servers[currentSource];
399
+ changed = true;
400
+ }
401
+ if (config.activeBaseUrl === currentSource) {
402
+ config.activeBaseUrl = currentTarget;
403
+ changed = true;
404
+ }
405
+ if (changed)
406
+ writeCredentials(config);
407
+ return currentTarget;
408
+ });
409
+ }
410
+ const secretsSeenThisProcess = new Set();
411
+ export function rememberProcessSecret(secret) {
412
+ secretsSeenThisProcess.add(secret);
413
+ return secret;
414
+ }
415
+ export function rememberResolvedBearer(bearer) {
416
+ return rememberProcessSecret(bearer);
417
+ }
418
+ export function getSecretsSeenThisProcess() {
419
+ return [...secretsSeenThisProcess];
420
+ }
367
421
  /**
368
422
  * In-sandbox bearer resolution (ALI-1044). Resolves a bearer supplied out-of-band
369
423
  * to the hosted agent, WITHOUT consulting credentials.json:
@@ -385,7 +439,7 @@ export function getActiveBaseUrl() {
385
439
  export function resolveEnvBearerToken() {
386
440
  const explicit = process.env.ORIZU_TOKEN;
387
441
  if (explicit && explicit.trim()) {
388
- return explicit.trim();
442
+ return rememberResolvedBearer(explicit.trim());
389
443
  }
390
444
  const tokenFile = process.env.ORIZU_TOKEN_FILE;
391
445
  if (tokenFile && tokenFile.length > 0) {
@@ -404,7 +458,7 @@ export function resolveEnvBearerToken() {
404
458
  if (!token) {
405
459
  throw new Error(`ORIZU_TOKEN_FILE (${tokenFile}) is empty.`);
406
460
  }
407
- return token;
461
+ return rememberResolvedBearer(token);
408
462
  }
409
463
  return null;
410
464
  }
@@ -426,7 +480,7 @@ export function resolveAuthTokenForBaseUrl(baseUrl) {
426
480
  if (!credentials) {
427
481
  throw new Error(`Not logged in for ${baseUrl}. Run \`orizu login --server ${baseUrl}\` (or \`--local\`) first.`);
428
482
  }
429
- return 'accessToken' in credentials ? credentials.accessToken : credentials.apiKey;
483
+ return rememberResolvedBearer('accessToken' in credentials ? credentials.accessToken : credentials.apiKey);
430
484
  }
431
485
  /**
432
486
  * Non-throwing "is any auth available?" check (login --no-prompt-if-logged-in,
@@ -0,0 +1,16 @@
1
+ declare function createDatasetVersion(): Promise<void>;
2
+ declare function createDatasetSplitSet(): Promise<void>;
3
+ declare function listDatasets(): Promise<void>;
4
+ declare function uploadDataset(): Promise<void>;
5
+ declare function pushDataset(): Promise<void>;
6
+ declare function setDatasetReadme(): Promise<void>;
7
+ declare function downloadDataset(): Promise<void>;
8
+ declare function appendDatasetRows(): Promise<void>;
9
+ declare function editDatasetRows(): Promise<void>;
10
+ declare function deleteDatasetRows(): Promise<void>;
11
+ declare function deleteDataset(): Promise<void>;
12
+ declare function lockDataset(): Promise<void>;
13
+ declare function cloneDataset(): Promise<void>;
14
+ declare function downloadAnnotations(): Promise<void>;
15
+ export { uploadDataset, listDatasets, pushDataset, downloadDataset, appendDatasetRows, setDatasetReadme, createDatasetVersion, createDatasetSplitSet, editDatasetRows, deleteDatasetRows, deleteDataset, lockDataset, cloneDataset, downloadAnnotations, };
16
+ //# sourceMappingURL=dataset-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset-commands.d.ts","sourceRoot":"","sources":["../src/dataset-commands.ts"],"names":[],"mappings":"AA8IA,iBAAe,oBAAoB,kBAiClC;AAED,iBAAe,qBAAqB,kBAkDnC;AAED,iBAAe,YAAY,kBAW1B;AAsBD,iBAAe,aAAa,kBAiC3B;AAED,iBAAe,WAAW,kBAwCzB;AAED,iBAAe,gBAAgB,kBA+C9B;AAgBD,iBAAe,eAAe,kBA8B7B;AA0ED,iBAAe,iBAAiB,kBAiG/B;AAED,iBAAe,eAAe,kBAyB7B;AAED,iBAAe,iBAAiB,kBAyC/B;AA0BD,iBAAe,aAAa,kBA8B3B;AAED,iBAAe,WAAW,kBAwCzB;AAED,iBAAe,YAAY,kBAuC1B;AAED,iBAAe,mBAAmB,kBA+BjC;AAED,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,mBAAmB,GACpB,CAAA"}