cuelo 0.6.7 → 0.6.8

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 (61) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +14 -14
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +2 -2
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  22. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  25. package/.next/server/app/api/updates/route.js +1 -1
  26. package/.next/server/app/index.html +1 -1
  27. package/.next/server/app/index.rsc +4 -4
  28. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  29. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  30. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  31. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  32. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  33. package/.next/server/app/page.js +8 -8
  34. package/.next/server/app/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/recover/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app/recover.html +1 -1
  37. package/.next/server/app/recover.rsc +2 -2
  38. package/.next/server/app/recover.segments/_full.segment.rsc +2 -2
  39. package/.next/server/app/recover.segments/_head.segment.rsc +1 -1
  40. package/.next/server/app/recover.segments/_index.segment.rsc +2 -2
  41. package/.next/server/app/recover.segments/_tree.segment.rsc +1 -1
  42. package/.next/server/app/recover.segments/recover/__PAGE__.segment.rsc +1 -1
  43. package/.next/server/app/recover.segments/recover.segment.rsc +1 -1
  44. package/.next/server/app-paths-manifest.json +14 -14
  45. package/.next/server/chunks/5582.js +2 -2
  46. package/.next/server/chunks/6429.js +3 -3
  47. package/.next/server/middleware-build-manifest.js +1 -1
  48. package/.next/server/pages/404.html +1 -1
  49. package/.next/server/pages/500.html +1 -1
  50. package/.next/server/server-reference-manifest.json +1 -1
  51. package/.next/static/chunks/app/{layout-e2710f3d550fa365.js → layout-50d78c1f0e021377.js} +1 -1
  52. package/.next/static/chunks/app/page-4c2544dfbb3d1f9a.js +22 -0
  53. package/.next/trace +105 -105
  54. package/.next/trace-build +1 -1
  55. package/README.md +3 -2
  56. package/Tools/CUELO_Setup/files/native-runtime-patch.js +1 -1
  57. package/Tools/OMP_Global_Config/patches/apply-core-patch.mjs +126 -0
  58. package/package.json +1 -1
  59. package/.next/static/chunks/app/page-6fbdefb38e5ea22f.js +0 -22
  60. /package/.next/static/{ZtmM1pqseDsjZJNTAi2i3 → hPKzLPSEaHxrT4rE0H1XO}/_buildManifest.js +0 -0
  61. /package/.next/static/{ZtmM1pqseDsjZJNTAi2i3 → hPKzLPSEaHxrT4rE0H1XO}/_ssgManifest.js +0 -0
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":108237833,"timestamp":1713162,"id":14,"parentId":1,"tags":{},"startTime":1790790224865,"traceId":"14d32451c13deeae"},{"name":"run-typescript","duration":19219159,"timestamp":110292622,"id":10734,"parentId":1,"tags":{},"startTime":1790790333445,"traceId":"14d32451c13deeae"},{"name":"static-check","duration":4805110,"timestamp":129634810,"id":10737,"parentId":1,"tags":{},"startTime":1790790352787,"traceId":"14d32451c13deeae"},{"name":"static-generation","duration":12978798,"timestamp":134547324,"id":10891,"parentId":1,"tags":{},"startTime":1790790357700,"traceId":"14d32451c13deeae"},{"name":"collect-build-traces","duration":22186281,"timestamp":134511222,"id":10888,"parentId":1,"tags":{},"startTime":1790790357664,"traceId":"14d32451c13deeae"},{"name":"telemetry-flush","duration":86,"timestamp":156702963,"id":10900,"parentId":1,"tags":{},"startTime":1790790379856,"traceId":"14d32451c13deeae"},{"name":"next-build","duration":155516432,"timestamp":1186642,"id":1,"tags":{"buildMode":"default","version":"16.2.12","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1790790224339,"traceId":"14d32451c13deeae"}]
1
+ [{"name":"run-webpack","duration":94212091,"timestamp":1068143,"id":14,"parentId":1,"tags":{},"startTime":1790791782933,"traceId":"ef9c20941a10f64d"},{"name":"run-typescript","duration":15350528,"timestamp":95608687,"id":10735,"parentId":1,"tags":{},"startTime":1790791877473,"traceId":"ef9c20941a10f64d"},{"name":"static-check","duration":3942334,"timestamp":111041358,"id":10738,"parentId":1,"tags":{},"startTime":1790791892906,"traceId":"ef9c20941a10f64d"},{"name":"static-generation","duration":11036951,"timestamp":115105841,"id":10892,"parentId":1,"tags":{},"startTime":1790791896970,"traceId":"ef9c20941a10f64d"},{"name":"collect-build-traces","duration":19364468,"timestamp":115073067,"id":10889,"parentId":1,"tags":{},"startTime":1790791896937,"traceId":"ef9c20941a10f64d"},{"name":"telemetry-flush","duration":81,"timestamp":134442431,"id":10901,"parentId":1,"tags":{},"startTime":1790791916307,"traceId":"ef9c20941a10f64d"},{"name":"next-build","duration":133475924,"timestamp":966614,"id":1,"tags":{"buildMode":"default","version":"16.2.12","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1790791782832,"traceId":"ef9c20941a10f64d"}]
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <img src="./docs/hero.png" alt="CUELO — AI coding agent workspace and harness for omp" width="100%">
2
+ <img src="./docs/hero.webp" alt="CUELO — AI coding agent workspace and harness for omp" width="100%">
3
3
  </p>
4
4
 
5
5
  <p align="center">
@@ -46,6 +46,7 @@ CUELO의 목적은 작업 중 확인한 실패와 막힘을 기억·작업 규
46
46
  - Ctrl+K 팔레트로 모든 대화 내용을 검색해 해당 메시지로 이동하고, 긴 대화 안에서는 Ctrl+F로 가장 오래된 메시지까지 찾습니다. 오른쪽 질문 레일로 내가 한 질문 사이를 오갑니다.
47
47
  - 실행이 3분 넘게 조용하면 멈춤 경고를, 서버나 PC가 꺼져 실행이 끊긴 대화를 열면 중단 알림을 보여 줍니다. 컨텍스트 압축 중에는 경과 시간을 표시합니다.
48
48
  - 모델 선택기 맨 위에 자주 고른 모델이 나오고, 팔레트에서 넓은 대화 폭을 켤 수 있습니다.
49
+ - 입력창 아래 줄은 Main 프리셋 → 그 제공자의 모델 → 추론 강도 순서이고, 추론 강도는 "자동, 최대 high"처럼 상한을 둔 자동으로도 고를 수 있습니다.
49
50
 
50
51
  **계정과 자원**
51
52
 
@@ -194,6 +195,6 @@ CUELO는 [@ddallabenetta](https://github.com/ddallabenetta)의 [omp-web](https:/
194
195
 
195
196
  CUELO의 에이전트 엔진은 [omp (oh-my-pi)](https://github.com/can1357/oh-my-pi)입니다. omp 소스를 이 저장소에 복사하지 않고 `@oh-my-pi/*` npm 패키지(MIT, Copyright (c) 2025 Mario Zechner, Copyright (c) 2025-2026 Can Bölük)를 의존성으로 씁니다. 각 패키지의 라이선스 전문은 설치된 패키지 안의 `LICENSE`에 들어 있습니다.
196
197
 
197
- 캐릭터(RIN · MIO · YUKI · ISANA · NOVA · SHION · HIKARI)의 그림·음성·스티커와 `docs/hero.png`는 CUELO 고유 자산입니다.
198
+ 캐릭터(RIN · MIO · YUKI · ISANA · NOVA · SHION · HIKARI)의 그림·음성·스티커와 `docs/hero.webp`는 CUELO 고유 자산입니다.
198
199
 
199
200
  코드: [MIT License](./LICENSE)
@@ -9,7 +9,7 @@ const MEMORY_RE = /(const phase1Model = await resolveMemoryModel\(\{[^}]*?fallba
9
9
  const MEMORY_DONE = /const phase1Model = await resolveMemoryModel\(\{[^}]*?fallbackRole: "smol"/;
10
10
  const EXPECTED = {
11
11
  name: 'cuelo',
12
- version: '0.6.7',
12
+ version: '0.6.8',
13
13
  distribution: 'cuelo',
14
14
  coreVersion: '18.4.4',
15
15
  };
@@ -8100,6 +8100,132 @@ function parentSubagentServiceTiers(
8100
8100
  anchor: "\tif (patch.thinking !== undefined && built.thinking !== undefined) {\n\t\t// Config-authored capability metadata owns the explicit surface; build\n\t\t// first so non-reasoning and wire-disabled models still suppress it.\n\t\tbuilt.thinking = patch.thinking;\n\t}\n",
8101
8101
  patched: "\tif (patch.thinking !== undefined && built.thinking !== undefined) {\n\t\t// Config-authored capability metadata owns the explicit surface; build\n\t\t// first so non-reasoning and wire-disabled models still suppress it.\n\t\t// CUELO: prefix binding is model lineage, not config surface.\n\t\tbuilt.thinking =\n\t\t\tpatch.thinking.prefixBinding === undefined && built.thinking.prefixBinding === true\n\t\t\t\t? { ...patch.thinking, prefixBinding: true }\n\t\t\t\t: patch.thinking;\n\t}\n",
8102
8102
  },
8103
+ // 「Auto, 최대 X」(CUELO 0.6.8): ModelControls의 session 상한은 생성 때 한 번만 정해지고 setter가 없다.
8104
+ // 상한을 바꿀 수 있게 하되, 생성 때 받은 상한(task.maxEffort spawn 상한)은 넓힐 수 없는 하한으로 남긴다 —
8105
+ // 유효 상한은 둘 중 낮은 쪽이다. auto는 상한 전 결과를 기억해 두어 상한을 올리면 그 결과로 돌아간다.
8106
+ // 검증: patches/core-thinking-ceiling-test.ts(미패치 FAIL → 패치 PASS).
8107
+ {
8108
+ file: "src/session/model-controls.ts",
8109
+ marker: "readonly #spawnThinkingLevelCeiling: Effort | undefined;",
8110
+ anchor: ` /** Hard per-session effort ceiling (e.g. a task spawn's \`task.maxEffort\` cap); recovery paths re-clamp to it. */
8111
+ readonly #thinkingLevelCeiling: Effort | undefined;`,
8112
+ patched: ` /** Hard per-session effort ceiling (e.g. a task spawn's \`task.maxEffort\` cap); recovery paths re-clamp to it. */
8113
+ #thinkingLevelCeiling: Effort | undefined;
8114
+ /** CUELO: construction-time (task spawn) ceiling; setThinkingLevelCeiling never widens past it. */
8115
+ readonly #spawnThinkingLevelCeiling: Effort | undefined;
8116
+ /** CUELO: auto's last resolution before the ceiling, so a raised ceiling can restore it. */
8117
+ #autoUncappedLevel: Effort | undefined;`,
8118
+ },
8119
+ {
8120
+ file: "src/session/model-controls.ts",
8121
+ marker: "this.#spawnThinkingLevelCeiling = options.thinkingLevelCeiling;",
8122
+ anchor: "\t\tthis.#thinkingLevelCeiling = options.thinkingLevelCeiling;\n",
8123
+ patched: "\t\tthis.#thinkingLevelCeiling = options.thinkingLevelCeiling;\n\t\tthis.#spawnThinkingLevelCeiling = options.thinkingLevelCeiling;\n",
8124
+ },
8125
+ {
8126
+ file: "src/session/model-controls.ts",
8127
+ marker: "setThinkingLevelCeiling(ceiling: Effort | undefined, record: boolean = true): void {",
8128
+ anchor: ` /** Hard per-session effort ceiling every thinking-level change is clamped to. */
8129
+ get thinkingLevelCeiling(): Effort | undefined {
8130
+ return this.#thinkingLevelCeiling;
8131
+ }
8132
+ `,
8133
+ patched: ` /** Hard per-session effort ceiling every thinking-level change is clamped to. */
8134
+ get thinkingLevelCeiling(): Effort | undefined {
8135
+ return this.#thinkingLevelCeiling;
8136
+ }
8137
+
8138
+ /**
8139
+ * CUELO: replace the user effort ceiling ("auto, but at most X"); \`undefined\` clears it.
8140
+ * The construction-time (task spawn) ceiling stays a hard bound: the effective ceiling is the
8141
+ * lower of the two, so this path never widens a spawn cap. The current level is re-clamped;
8142
+ * while \`auto\` is configured the resolved level is re-clamped from its pre-ceiling
8143
+ * resolution and \`auto\` stays configured. \`record: false\` (startup restore) applies the
8144
+ * ceiling without appending a transcript entry.
8145
+ */
8146
+ setThinkingLevelCeiling(ceiling: Effort | undefined, record: boolean = true): void {
8147
+ const spawn = this.#spawnThinkingLevelCeiling;
8148
+ this.#thinkingLevelCeiling =
8149
+ ceiling !== undefined &&
8150
+ (spawn === undefined || THINKING_EFFORTS.indexOf(ceiling) < THINKING_EFFORTS.indexOf(spawn))
8151
+ ? ceiling
8152
+ : spawn;
8153
+ const model = this.#model;
8154
+ const previous = this.#thinkingLevel;
8155
+ let next: ThinkingLevel | undefined;
8156
+ if (this.#autoThinking) {
8157
+ const base =
8158
+ this.#autoResolvedLevel === undefined
8159
+ ? resolveProvisionalAutoLevel(model)
8160
+ : (this.#autoUncappedLevel ?? this.#autoResolvedLevel);
8161
+ const capped = clampThinkingLevelToCeiling(model, base, this.#thinkingLevelCeiling);
8162
+ if (capped === undefined) return;
8163
+ if (this.#autoResolvedLevel !== undefined) this.#autoResolvedLevel = capped;
8164
+ next = capped;
8165
+ } else {
8166
+ next = resolveThinkingLevelForModel(
8167
+ model,
8168
+ clampThinkingLevelToCeiling(model, previous, this.#thinkingLevelCeiling),
8169
+ );
8170
+ }
8171
+ if (next === previous) return;
8172
+ this.#thinkingLevel = next;
8173
+ this.#applyThinkingLevelToAgent(next);
8174
+ if (record) {
8175
+ this.#host.clearInheritedProviderPromptCacheKey();
8176
+ this.#host.sessionManager.appendThinkingLevelChange(next, this.configuredThinkingLevel());
8177
+ }
8178
+ this.#host.emit(
8179
+ this.#autoThinking
8180
+ ? { type: "thinking_level_changed", thinkingLevel: next, configured: AUTO_THINKING }
8181
+ : { type: "thinking_level_changed", thinkingLevel: next },
8182
+ );
8183
+ }
8184
+ `,
8185
+ },
8186
+ {
8187
+ // floor 패치가 바꾼 clamp 블록 바로 뒤의 원본 줄에 붙인다(그 항목의 marker·앵커와 겹치지 않는다).
8188
+ file: "src/session/model-controls.ts",
8189
+ marker: "// CUELO: remember the pre-ceiling resolution so raising the ceiling can restore it.",
8190
+ anchor: ` if (effort === undefined) return;
8191
+ const shouldPersistResolution = this.#thinkingLevel !== effort;
8192
+ this.#autoResolvedLevel = effort;`,
8193
+ patched: ` if (effort === undefined) return;
8194
+ // CUELO: remember the pre-ceiling resolution so raising the ceiling can restore it.
8195
+ this.#autoUncappedLevel = raiseToAutoThinkingFloor(
8196
+ model,
8197
+ resolved ??
8198
+ (this.#autoResolvedLevel === undefined ? undefined : (this.#autoUncappedLevel ?? this.#autoResolvedLevel)) ??
8199
+ resolveProvisionalAutoLevel(model),
8200
+ this.#host.settings,
8201
+ );
8202
+ const shouldPersistResolution = this.#thinkingLevel !== effort;
8203
+ this.#autoResolvedLevel = effort;`,
8204
+ },
8205
+ {
8206
+ file: "src/session/agent-session.ts",
8207
+ marker: "\tsetThinkingLevelCeiling(ceiling: Effort | undefined, record: boolean = true): void {\n\t\tthis.#models.setThinkingLevelCeiling(ceiling, record);",
8208
+ anchor: ` /** Selects the session thinking level and optionally persists it as the default. */
8209
+ setThinkingLevel(level: ConfiguredThinkingLevel | undefined, persist: boolean = false): void {
8210
+ this.#models.setThinkingLevel(level, persist);
8211
+ }
8212
+ `,
8213
+ patched: ` /** Selects the session thinking level and optionally persists it as the default. */
8214
+ setThinkingLevel(level: ConfiguredThinkingLevel | undefined, persist: boolean = false): void {
8215
+ this.#models.setThinkingLevel(level, persist);
8216
+ }
8217
+
8218
+ /** CUELO: replaces the user effort ceiling ("auto, but at most X"); a spawn ceiling still bounds it. */
8219
+ setThinkingLevelCeiling(ceiling: Effort | undefined, record: boolean = true): void {
8220
+ this.#models.setThinkingLevelCeiling(ceiling, record);
8221
+ }
8222
+
8223
+ /** CUELO: effective effort ceiling, the lower of the spawn ceiling and the user ceiling. */
8224
+ get thinkingLevelCeiling(): Effort | undefined {
8225
+ return this.#models.thinkingLevelCeiling;
8226
+ }
8227
+ `,
8228
+ },
8103
8229
  ];
8104
8230
  // EDITS 문자열의 줄 끝을 LF로 통일한다. 이 파일의 작업 사본이 CRLF여도 core 파일(LF)과
8105
8231
  // 비교·치환이 어긋나지 않는다. core 파일 자체의 줄 끝은 건드리지 않는다.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cuelo",
3
- "version": "0.6.7",
3
+ "version": "0.6.8",
4
4
  "description": "CUELO — open-source AI coding agent workspace and harness for omp (oh-my-pi)",
5
5
  "homepage": "https://github.com/gim47656-ship-it/CUELO#readme",
6
6
  "repository": {