@nac3/forge-cli 1.25.0 → 1.27.0

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 (121) hide show
  1. package/dist/chat/cache_ttl.d.ts +143 -0
  2. package/dist/chat/cache_ttl.d.ts.map +1 -0
  3. package/dist/chat/cache_ttl.js +165 -0
  4. package/dist/chat/cache_ttl.js.map +1 -0
  5. package/dist/chat/claude.d.ts +1 -0
  6. package/dist/chat/claude.d.ts.map +1 -1
  7. package/dist/chat/claude.js +47 -5
  8. package/dist/chat/claude.js.map +1 -1
  9. package/dist/chat/claude_cli.d.ts +24 -0
  10. package/dist/chat/claude_cli.d.ts.map +1 -1
  11. package/dist/chat/claude_cli.js +76 -10
  12. package/dist/chat/claude_cli.js.map +1 -1
  13. package/dist/chat/panel.d.ts.map +1 -1
  14. package/dist/chat/panel.js +128 -17
  15. package/dist/chat/panel.js.map +1 -1
  16. package/dist/chat/server.d.ts.map +1 -1
  17. package/dist/chat/server.js +13 -1
  18. package/dist/chat/server.js.map +1 -1
  19. package/dist/chat/tools/evidence.d.ts +15 -0
  20. package/dist/chat/tools/evidence.d.ts.map +1 -1
  21. package/dist/chat/tools/evidence.js +16 -0
  22. package/dist/chat/tools/evidence.js.map +1 -1
  23. package/dist/chat/tools/reader.d.ts.map +1 -1
  24. package/dist/chat/tools/reader.js +24 -4
  25. package/dist/chat/tools/reader.js.map +1 -1
  26. package/dist/chat/tools/session_verbs.d.ts +3 -1
  27. package/dist/chat/tools/session_verbs.d.ts.map +1 -1
  28. package/dist/chat/tools/session_verbs.js +65 -2
  29. package/dist/chat/tools/session_verbs.js.map +1 -1
  30. package/dist/chat/tools/shell.d.ts +11 -0
  31. package/dist/chat/tools/shell.d.ts.map +1 -1
  32. package/dist/chat/tools/shell.js +46 -1
  33. package/dist/chat/tools/shell.js.map +1 -1
  34. package/dist/commands/chat.d.ts +6 -0
  35. package/dist/commands/chat.d.ts.map +1 -1
  36. package/dist/commands/chat.js +25 -0
  37. package/dist/commands/chat.js.map +1 -1
  38. package/dist/commands/limits.d.ts.map +1 -1
  39. package/dist/commands/limits.js +77 -6
  40. package/dist/commands/limits.js.map +1 -1
  41. package/dist/commands/operate.d.ts.map +1 -1
  42. package/dist/commands/operate.js +42 -0
  43. package/dist/commands/operate.js.map +1 -1
  44. package/dist/commands/urazuke.d.ts.map +1 -1
  45. package/dist/commands/urazuke.js +189 -9
  46. package/dist/commands/urazuke.js.map +1 -1
  47. package/dist/core/brain_pin.d.ts +74 -0
  48. package/dist/core/brain_pin.d.ts.map +1 -0
  49. package/dist/core/brain_pin.js +113 -0
  50. package/dist/core/brain_pin.js.map +1 -0
  51. package/dist/core/cost_router.d.ts.map +1 -1
  52. package/dist/core/cost_router.js +56 -0
  53. package/dist/core/cost_router.js.map +1 -1
  54. package/dist/core/limits_config.d.ts +19 -0
  55. package/dist/core/limits_config.d.ts.map +1 -1
  56. package/dist/core/limits_config.js +38 -0
  57. package/dist/core/limits_config.js.map +1 -1
  58. package/dist/core/machine_files.d.ts +27 -0
  59. package/dist/core/machine_files.d.ts.map +1 -0
  60. package/dist/core/machine_files.js +97 -0
  61. package/dist/core/machine_files.js.map +1 -0
  62. package/dist/docs/doctrine/session-orchestration.md +109 -91
  63. package/dist/docs/doctrine/urazuke.md +221 -221
  64. package/dist/llm/sse_stream.d.ts +2 -0
  65. package/dist/llm/sse_stream.d.ts.map +1 -1
  66. package/dist/llm/sse_stream.js +10 -1
  67. package/dist/llm/sse_stream.js.map +1 -1
  68. package/dist/nac3/dispatch_log.d.ts +16 -1
  69. package/dist/nac3/dispatch_log.d.ts.map +1 -1
  70. package/dist/nac3/dispatch_log.js +29 -10
  71. package/dist/nac3/dispatch_log.js.map +1 -1
  72. package/dist/nac3/internal_manifest.d.ts.map +1 -1
  73. package/dist/nac3/internal_manifest.js +2 -0
  74. package/dist/nac3/internal_manifest.js.map +1 -1
  75. package/dist/telemetry/battery_events.d.ts +91 -0
  76. package/dist/telemetry/battery_events.d.ts.map +1 -0
  77. package/dist/telemetry/battery_events.js +84 -0
  78. package/dist/telemetry/battery_events.js.map +1 -0
  79. package/dist/telemetry/usage.d.ts +107 -0
  80. package/dist/telemetry/usage.d.ts.map +1 -1
  81. package/dist/telemetry/usage.js +172 -13
  82. package/dist/telemetry/usage.js.map +1 -1
  83. package/dist/urazuke/evidence.d.ts +5 -0
  84. package/dist/urazuke/evidence.d.ts.map +1 -1
  85. package/dist/urazuke/evidence.js +2 -0
  86. package/dist/urazuke/evidence.js.map +1 -1
  87. package/dist/urazuke/freeze.d.ts.map +1 -1
  88. package/dist/urazuke/freeze.js +82 -16
  89. package/dist/urazuke/freeze.js.map +1 -1
  90. package/dist/urazuke/gates_data.d.ts +4 -1
  91. package/dist/urazuke/gates_data.d.ts.map +1 -1
  92. package/dist/urazuke/gates_data.js +7 -1
  93. package/dist/urazuke/gates_data.js.map +1 -1
  94. package/dist/urazuke/gates_ledger.d.ts +25 -1
  95. package/dist/urazuke/gates_ledger.d.ts.map +1 -1
  96. package/dist/urazuke/gates_ledger.js +30 -6
  97. package/dist/urazuke/gates_ledger.js.map +1 -1
  98. package/dist/urazuke/method_config.d.ts +116 -0
  99. package/dist/urazuke/method_config.d.ts.map +1 -0
  100. package/dist/urazuke/method_config.js +328 -0
  101. package/dist/urazuke/method_config.js.map +1 -0
  102. package/dist/urazuke/prompts_client.d.ts +42 -12
  103. package/dist/urazuke/prompts_client.d.ts.map +1 -1
  104. package/dist/urazuke/prompts_client.js +120 -16
  105. package/dist/urazuke/prompts_client.js.map +1 -1
  106. package/dist/urazuke/prompts_freeze.d.ts +186 -0
  107. package/dist/urazuke/prompts_freeze.d.ts.map +1 -0
  108. package/dist/urazuke/prompts_freeze.js +498 -0
  109. package/dist/urazuke/prompts_freeze.js.map +1 -0
  110. package/dist/urazuke/receipts.d.ts +28 -1
  111. package/dist/urazuke/receipts.d.ts.map +1 -1
  112. package/dist/urazuke/receipts.js +59 -6
  113. package/dist/urazuke/receipts.js.map +1 -1
  114. package/dist/urazuke/start.d.ts.map +1 -1
  115. package/dist/urazuke/start.js +42 -2
  116. package/dist/urazuke/start.js.map +1 -1
  117. package/dist/version.d.ts +1 -1
  118. package/dist/version.js +1 -1
  119. package/docs/doctrine/session-orchestration.md +109 -91
  120. package/docs/doctrine/urazuke.md +221 -221
  121. package/package.json +124 -124
@@ -3,10 +3,18 @@
3
3
  *
4
4
  * 1. The project's overrides: <root>/.forge/urazuke-prompts.json
5
5
  * (the owner controls the text; `yf urazuke prompts set|reset`).
6
- * 2. The method's published API: https://yujin.app/urazuke/api/prompts.json
6
+ * 2. THE PROJECT'S FROZEN COPY: <root>/.forge/urazuke-prompts-frozen.json
7
+ * (PND-277, 2026-11-03). The version of the method this project lives
8
+ * on, sealed and with the owner's written reason inside. It sits
9
+ * BETWEEN the overrides and the published file on purpose: it pins the
10
+ * version without taking the text away from the owner, which is the
11
+ * reason the overrides exist. And a frozen project does NOT go to the
12
+ * network to resolve a prompt -- same rule the gates already follow:
13
+ * a project does not change rule between two turns.
14
+ * 3. The method's published API: https://yujin.app/urazuke/api/prompts.json
7
15
  * (cached at ~/.yujin-forge/cache/urazuke_prompts.json, 24 h fresh,
8
16
  * 30 days stale-on-failure).
9
- * 3. The vendored copy in prompts.generated.ts (offline fallback).
17
+ * 4. The vendored copy in prompts.generated.ts (offline fallback).
10
18
  *
11
19
  * Why the API and not only the vendored copy: the method evolves in its own
12
20
  * repository and publishes in eight languages; Forge should follow the
@@ -134,7 +142,13 @@ export async function resolveCanonicalPrompts(opts = {}) {
134
142
  let version = URAZUKE_PROMPTS_SOURCE;
135
143
  const pub = await loadPublishedPrompts(opts);
136
144
  if (pub) {
137
- version = 'pkuschnirof/urazuke@' + pub.payload.version;
145
+ /* La identidad de lo publicado es corpus_version, no el sha: el propio
146
+ * payload lo dice ("ninguna comparacion mira esto") y el registro
147
+ * append-only anota por corpus_version. Forge venia sellando cada
148
+ * recibo con el sha -- que, ademas, nombra el cambio ANTERIOR al que
149
+ * contiene el archivo. Fallback al sha para un payload viejo. */
150
+ const declarada = pub.payload['corpus_version'];
151
+ version = 'pkuschnirof/urazuke@' + (typeof declarada === 'string' && declarada.trim() ? declarada : pub.payload.version);
138
152
  for (const [k, v] of Object.entries(pub.payload.contracts)) {
139
153
  if (v.length) {
140
154
  prompts[k] = v;
@@ -144,9 +158,77 @@ export async function resolveCanonicalPrompts(opts = {}) {
144
158
  }
145
159
  return { prompts, source, version };
146
160
  }
147
- /** Effective prompts for a project: overrides > published > vendored. */
161
+ /**
162
+ * Effective prompts for a project: overrides > FROZEN > published > vendored.
163
+ *
164
+ * El congelado entra en el medio y cambia una cosa mas que el orden: cuando
165
+ * hay un congelado que verifica y la configuracion del proyecto no pide otra
166
+ * cosa, esta funcion NO SALE A LA RED. Es la misma regla que las compuertas
167
+ * ya cumplen (resolveGates no consulta el portal nunca): un proyecto no
168
+ * cambia de regla entre dos turnos, y resolver un prompt no es el momento de
169
+ * descubrir que el portal se movio.
170
+ */
148
171
  export async function resolvePrompts(projectRoot, opts = {}) {
149
- const { prompts, source, version } = await resolveCanonicalPrompts(opts);
172
+ const notices = [];
173
+ let frozen;
174
+ let frozenContracts;
175
+ let fuente = 'frozen';
176
+ if (projectRoot) {
177
+ try {
178
+ const { readMethodConfig } = await import('./method_config.js');
179
+ const cfg = await readMethodConfig(projectRoot);
180
+ fuente = cfg.cfg.prompts_source;
181
+ for (const r of cfg.refused)
182
+ notices.push(r);
183
+ for (const p of cfg.problems)
184
+ notices.push(p);
185
+ if (cfg.cfg.prompts_url && !opts.url)
186
+ opts = { ...opts, url: cfg.cfg.prompts_url };
187
+ }
188
+ catch { /* sin configuracion legible, el default: congelado primero */ }
189
+ if (fuente === 'frozen') {
190
+ try {
191
+ const { readFrozenPrompts, declaredPromptsVersion } = await import('./prompts_freeze.js');
192
+ const fr = await readFrozenPrompts(projectRoot);
193
+ if (fr.prompts) {
194
+ frozenContracts = fr.prompts.contracts;
195
+ const meta = fr.prompts;
196
+ frozen = {
197
+ version: declaredPromptsVersion(fr.prompts),
198
+ hash: fr.prompts.content_hash.value,
199
+ ...(typeof meta['frozen_at'] === 'string' ? { frozen_at: meta['frozen_at'] } : {}),
200
+ ...(typeof meta['frozen_reason'] === 'string' ? { frozen_reason: meta['frozen_reason'] } : {}),
201
+ };
202
+ }
203
+ else if (fr.refused?.length) {
204
+ /* Un congelado que no verifica NO se usa y NO se calla: el
205
+ * proyecto pasa a leer lo publicado, que es otra version que la
206
+ * que creia haber fijado. */
207
+ notices.push('el congelado de prompts de este proyecto NO verifica y no lo estoy usando: '
208
+ + fr.refused.join('; ') + '. Mientras siga asi, el proyecto lee los prompts publicados'
209
+ + ' y NO la version que creia haber congelado. Restauralo desde el repositorio o borralo'
210
+ + ' para que el proximo freeze lo vuelva a escribir.');
211
+ }
212
+ }
213
+ catch { /* el congelado es opcional */ }
214
+ }
215
+ }
216
+ /* Con congelado no hace falta la red; sin congelado, lo publicado (o la
217
+ * copia vendorizada si la configuracion lo pide). */
218
+ const canonOpts = frozenContracts || fuente === 'vendored'
219
+ ? { ...opts, offline: true }
220
+ : opts;
221
+ const { prompts, source, version: versionPublicada } = await resolveCanonicalPrompts(canonOpts);
222
+ let version = versionPublicada;
223
+ if (frozenContracts && frozen) {
224
+ for (const [k, v] of Object.entries(frozenContracts)) {
225
+ if (v.length) {
226
+ prompts[k] = v;
227
+ source[k] = 'frozen';
228
+ }
229
+ }
230
+ version = 'pkuschnirof/urazuke@' + frozen.version;
231
+ }
150
232
  const overridden = [];
151
233
  if (projectRoot) {
152
234
  const ov = await readOverrides(projectRoot);
@@ -155,19 +237,41 @@ export async function resolvePrompts(projectRoot, opts = {}) {
155
237
  source[k] = 'override';
156
238
  overridden.push(k);
157
239
  }
240
+ if (overridden.length && !frozen) {
241
+ /* EL ARCHIVO AMBIGUO (el caso del brazo C1): un
242
+ * .forge/urazuke-prompts.json escrito por el pull viejo es
243
+ * indistinguible de una edicion a mano. No se adivina: se dice. */
244
+ notices.push('este proyecto tiene ' + overridden.length + ' contrato(s) en'
245
+ + ' .forge/urazuke-prompts.json y NINGUN congelado declarado. Ese archivo no dice si es'
246
+ + ' una copia congelada o una edicion a mano, y no lo adivino:'
247
+ + ' `yf urazuke prompts pull` lo mide y `yf urazuke prompts adopt --reason "..."`'
248
+ + ' lo convierte en un congelado con autor.');
249
+ }
158
250
  }
159
- return { prompts, source, version, overridden: overridden.sort() };
251
+ return {
252
+ prompts, source, version, overridden: overridden.sort(),
253
+ ...(frozen ? { frozen } : {}),
254
+ ...(notices.length ? { notices } : {}),
255
+ };
160
256
  }
161
- /** Bring the CANONICAL prompts (never this project's own overrides, even
162
- * if some exist already) and write them into
163
- * `<root>/.forge/urazuke-prompts.json`, replacing one contract (`key`) or
164
- * every contract Forge knows about. Unlike `reset` -- which deletes the
165
- * override and falls back to live resolution -- `pull` leaves an explicit,
166
- * on-disk copy the project keeps control of afterwards (D-036): it does
167
- * not depend on the network or on which Forge version is installed to
168
- * know what text the agent is working from, and the owner can still edit
169
- * it by hand (or with `prompts set`) once pulled. */
170
- export async function pullPrompts(projectRoot, opts = {}) {
257
+ /**
258
+ * Copiar los prompts CANONICOS al archivo de OVERRIDES del proyecto,
259
+ * pisando lo que hubiera.
260
+ *
261
+ * SE LLAMABA `pullPrompts`, Y ESE NOMBRE ERA EL DEFECTO (PND-277). En el
262
+ * mismo comando padre, `gates pull` MIDE y no escribe; este ESCRIBIA y no
263
+ * media. Un dueno que aprendio el seguro y corrio el otro por analogia ya
264
+ * se habia pisado los prompts del proyecto. El nombre prometia el
265
+ * comportamiento del otro, que es peor que no existir.
266
+ *
267
+ * La capacidad sigue siendo legitima para UN caso -- "quiero el texto
268
+ * publicado como punto de partida para editarlo a mano" -- asi que no se
269
+ * borro: se le puso el nombre que dice lo que hace, y el CLI la expone como
270
+ * `yf urazuke prompts copy-to-overrides`. Lo que escribe son OVERRIDES del
271
+ * dueno, no un congelado: el congelado tiene version, huella y razon, y se
272
+ * escribe con `prompts adopt --reason` (src/urazuke/prompts_freeze.ts).
273
+ */
274
+ export async function copyCanonicalIntoOverrides(projectRoot, opts = {}) {
171
275
  const canonical = await resolveCanonicalPrompts(opts);
172
276
  if (opts.key && !canonical.prompts[opts.key])
173
277
  throw new Error('no existe el contrato ' + opts.key);
@@ -1 +1 @@
1
- {"version":3,"file":"prompts_client.js","sourceRoot":"","sources":["../../src/urazuke/prompts_client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts_client.js","sourceRoot":"","sources":["../../src/urazuke/prompts_client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ import type { PublishedContentHash } from './gates_data.js';
2
+ import { type FetchOptions } from './prompts_client.js';
3
+ import { type LedgerVerdict } from './gates_ledger.js';
4
+ export declare const PROMPTS_FROZEN_REL: string;
5
+ export declare function frozenPromptsPath(projectRoot: string): string;
6
+ /**
7
+ * LA IDENTIDAD DE LO PUBLICADO, LEIDA DONDE EL METODO LA DECLARA.
8
+ *
9
+ * El payload trae DOS campos que parecen una version, y uno de los dos no
10
+ * sirve. Lo dice el propio payload, en version_note: el sha de `version`
11
+ * "es el sha del cambio ANTERIOR al que contiene este archivo, porque se
12
+ * calcula antes de guardar: la identidad de lo publicado es corpus_version
13
+ * + content_hash, y ninguna comparacion mira esto".
14
+ *
15
+ * Y el registro append-only anota sus entradas por corpus_version. Asi que
16
+ * contrastar por `version` seria mirar justo el campo que el metodo
17
+ * declara incomparable, y daria 'absent' para una version que el registro
18
+ * SI anota: un control que miro el lugar equivocado e informa como si
19
+ * hubiera mirado el correcto.
20
+ *
21
+ * El fallback a `version` existe para un payload viejo que no declare
22
+ * corpus_version (y para las pruebas que lo simulan).
23
+ */
24
+ export declare const PROMPTS_VERSION_FIELD = "corpus_version";
25
+ export declare function declaredPromptsVersion(file: {
26
+ [key: string]: unknown;
27
+ }): string;
28
+ /** La copia congelada: el payload publicado, verbatim, con procedencia. */
29
+ export interface FrozenPromptsFile {
30
+ version: string;
31
+ content_hash: PublishedContentHash;
32
+ contracts: Record<string, string[]>;
33
+ /** Lo demas que publica el metodo (corpus_version, steps, languages,
34
+ * count, what...). Se guarda tal cual: la huella lo cubre. */
35
+ [key: string]: unknown;
36
+ }
37
+ export interface FrozenPromptsRead {
38
+ prompts?: FrozenPromptsFile;
39
+ /** Por que NO se usa la copia que esta en disco. Nunca vacio cuando hay
40
+ * un archivo que no verifica: un congelado que se ignora en silencio es
41
+ * la version que el proyecto creia tener y no tiene. */
42
+ refused?: string[];
43
+ }
44
+ export interface SealVerdict {
45
+ ok: boolean;
46
+ declared: string;
47
+ recomputed: string;
48
+ /** Claves de primer nivel que el archivo no cubre ni excluye. No es un
49
+ * detalle: una clave afuera de las dos listas es contenido que nadie
50
+ * protege, y una copia alterada justo ahi seguiria cuadrando. */
51
+ uncovered: string[];
52
+ }
53
+ /** Recalcular la huella sobre el payload cubierto y comparar. La forma
54
+ * canonica es la que declara el metodo y la que usa ruleset.ts, asi que una
55
+ * sola implementacion sirve para el sello y para esta verificacion. */
56
+ export declare function verifyPromptsSeal(file: FrozenPromptsFile): SealVerdict;
57
+ /** Leer el congelado del proyecto. Una copia que no verifica NO se usa y NO
58
+ * se pisa: puede ser una edicion a mano que el dueno quiso o una
59
+ * corrupcion que el dueno necesita ver, y las dos se destruyen igual si
60
+ * alguien la sobreescribe por conveniencia. */
61
+ export declare function readFrozenPrompts(projectRoot: string): Promise<FrozenPromptsRead>;
62
+ export declare function writeFrozenPrompts(projectRoot: string, file: FrozenPromptsFile): Promise<void>;
63
+ export interface ContractChange {
64
+ key: string;
65
+ /** Cuantos prompts tenia y cuantos tendria. */
66
+ before: number;
67
+ after: number;
68
+ /** Indices (1..n) cuyo texto cambia. */
69
+ changed_indexes: number[];
70
+ /** Una linea por indice cambiado: el antes y el despues recortados. El
71
+ * dueno pidio poder ver CUAL cambia, no solo cuantos. */
72
+ lines: string[];
73
+ }
74
+ /** Comparar dos listas de prompts de un contrato. */
75
+ export declare function diffContract(key: string, antes: readonly string[], despues: readonly string[]): ContractChange | undefined;
76
+ export interface PromptsPullOptions extends FetchOptions {
77
+ /** No consultar el registro append-only de versiones del metodo. */
78
+ skip_ledger?: boolean;
79
+ ledger_url?: string;
80
+ /** Mostrar el diff completo de cada contrato que cambia (default: si). */
81
+ full_diff?: boolean;
82
+ }
83
+ export interface PromptsPullPreview {
84
+ ok: boolean;
85
+ problems: string[];
86
+ /** Lo que el proyecto lee HOY. */
87
+ from: {
88
+ /** La version del congelado, cuando hay uno declarado. */
89
+ version?: string;
90
+ hash?: string;
91
+ /** 'frozen' = hay congelado declarado; 'overrides' = hay overrides y
92
+ * NADA declarado (el caso ambiguo del archivo viejo); 'live' = el
93
+ * proyecto lee lo publicado. */
94
+ kind: 'frozen' | 'overrides' | 'live';
95
+ /** Contratos con override del dueno. */
96
+ overridden: string[];
97
+ /** SOLO para el caso ambiguo: cuantos de esos overrides coinciden
98
+ * exactamente con el publicado. Es una MEDICION, no un veredicto:
99
+ * coincidir es compatible con "lo trajo el pull viejo" y con "el dueno
100
+ * escribio lo mismo". */
101
+ overrides_iguales_al_publicado?: number;
102
+ };
103
+ /** Lo publicado, cuando se pudo traer. */
104
+ to?: {
105
+ version: string;
106
+ hash: string;
107
+ contracts: number;
108
+ };
109
+ /** Contratos cuyo texto cambiaria. */
110
+ changed: ContractChange[];
111
+ /** Contratos que no cambian. */
112
+ unchanged: string[];
113
+ /** Contratos que el publicado trae y el proyecto no tiene. */
114
+ new_keys: string[];
115
+ /** Contratos que el proyecto tiene y el publicado ya no trae. Adoptar NO
116
+ * los borra (el congelado es otro archivo), pero hay que decirlo. */
117
+ gone_keys: string[];
118
+ /** Contratos donde el override del dueno TAPARIA al congelado nuevo: el
119
+ * texto publicado cambia y el agente va a seguir leyendo el override. */
120
+ shadowed: string[];
121
+ ledger?: LedgerVerdict;
122
+ adoptable: boolean;
123
+ why_not: string[];
124
+ }
125
+ /**
126
+ * MEDIR lo que costaria adoptar los prompts publicados. NO ESCRIBE NADA.
127
+ *
128
+ * Para los prompts "medir" no es cuantos peldanos se ponen en rojo -- un
129
+ * prompt no decide un veredicto -- es QUE CONTRATOS CAMBIAN DE TEXTO,
130
+ * cuales no, y el diff. Y una cosa mas que el de las compuertas no
131
+ * necesita: que overrides del dueno van a TAPAR el texto nuevo, porque ahi
132
+ * el agente va a seguir leyendo lo viejo despues de adoptar y eso, sin
133
+ * aviso, parece que la adopcion no hizo nada.
134
+ */
135
+ export declare function previewPublishedPrompts(projectRoot: string, opts?: PromptsPullOptions): Promise<PromptsPullPreview>;
136
+ export interface PromptsAdoptOptions extends PromptsPullOptions {
137
+ /** La razon escrita del dueno. Sin ella no se escribe nada: cambiar la
138
+ * version del metodo que un proyecto lee en CADA TURNO es una decision
139
+ * con autor, no un refresh. */
140
+ reason: string;
141
+ /** Pisar un congelado que ya esta. */
142
+ replace?: boolean;
143
+ }
144
+ export interface PromptsAdoptResult {
145
+ written: boolean;
146
+ problems: string[];
147
+ preview?: PromptsPullPreview;
148
+ path: string;
149
+ version?: string;
150
+ }
151
+ export declare const MIN_REASON = 15;
152
+ /**
153
+ * Adoptar los prompts publicados como el congelado del proyecto.
154
+ *
155
+ * Las mismas tres condiciones que las compuertas, y en el mismo orden: un
156
+ * payload que verifica su propio sello, un registro append-only que no lo
157
+ * contradice, y la razon escrita del dueno guardada ADENTRO del congelado.
158
+ */
159
+ export declare function adoptPublishedPrompts(projectRoot: string, opts: PromptsAdoptOptions): Promise<PromptsAdoptResult>;
160
+ /** El ensayo en lineas, para el CLI y para el panel. */
161
+ export declare function renderPromptsPreview(p: PromptsPullPreview, opts?: {
162
+ full_diff?: boolean;
163
+ }): string[];
164
+ /**
165
+ * EL CAMBIO DE SEMANTICA, DICHO EN LA SALIDA DEL PROPIO COMANDO.
166
+ *
167
+ * `prompts pull` ESCRIBIA y pisaba; desde 1.27.0 MIDE y no escribe. Eso es
168
+ * un cambio incompatible de un comando que ya existia, y la via habitual
169
+ * para avisarlo -- un numero mayor -- la descarto el dueno con un motivo
170
+ * que es mejor que el numero: "un cambio de semantica anunciado en la
171
+ * propia salida del comando le sirve mas al dueno que un numero mayor que
172
+ * nadie lee" (2026-11-03). Asi que el aviso es parte del contrato de
173
+ * salida, no una cortesia, y tiene una prueba que lo exige.
174
+ *
175
+ * Dos niveles, porque el que ya uso la forma vieja necesita mas que el que
176
+ * llega nuevo:
177
+ *
178
+ * - SIEMPRE: que este pull no escribe, y cual es el comando que escribe.
179
+ * - Y cuando el proyecto tiene la FIRMA de un pull viejo -- overrides
180
+ * cuyo texto coincide exactamente con lo publicado, que es lo que
181
+ * dejaba el comando anterior -- se nombra el comando que hace lo que
182
+ * el viejo hacia (`copy-to-overrides`), porque ese usuario corrio el
183
+ * viejo y su proximo reflejo va a ser buscarlo.
184
+ */
185
+ export declare function avisoDeCambioDeSemantica(p: PromptsPullPreview): string[];
186
+ //# sourceMappingURL=prompts_freeze.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts_freeze.d.ts","sourceRoot":"","sources":["../../src/urazuke/prompts_freeze.ts"],"names":[],"mappings":"AA4EA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACgC,KAAK,YAAY,EACvD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,KAAK,aAAa,EAAsB,MAAM,mBAAmB,CAAC;AAEhG,eAAO,MAAM,kBAAkB,QAAqD,CAAC;AAErF,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAEtD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,MAAM,CAK/E;AAED,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,oBAAoB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC;mEAC+D;IAC/D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;6DAEyD;IACzD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAiBD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB;;sEAEkE;IAClE,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;wEAEwE;AACxE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,CAYtE;AAED;;;gDAGgD;AAChD,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoBvF;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpG;AAID,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;8DAC0D;IAC1D,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AASD,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,cAAc,GAAG,SAAS,CAe1H;AAID,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,IAAI,EAAE;QACJ,0DAA0D;QAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;yCAEiC;QACjC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;QACtC,wCAAwC;QACxC,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB;;;kCAG0B;QAC1B,8BAA8B,CAAC,EAAE,MAAM,CAAC;KACzC,CAAC;IACF,0CAA0C;IAC1C,EAAE,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,sCAAsC;IACtC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,gCAAgC;IAChC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;0EACsE;IACtE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;8EAC0E;IAC1E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAUD;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GACjD,OAAO,CAAC,kBAAkB,CAAC,CA4F7B;AAID,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D;;oCAEgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAC7C,OAAO,CAAC,kBAAkB,CAAC,CAsE7B;AAID,wDAAwD;AACxD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,EAAE,CAkDxG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAgBxE"}