@agentstep/agent-sdk 0.4.13 → 0.4.14

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 (207) hide show
  1. package/dist/auth/middleware.js +6 -6
  2. package/dist/backends/claude/args.js +6 -6
  3. package/dist/backends/claude/index.js +8 -8
  4. package/dist/backends/claude/wrapper-script.js +1 -1
  5. package/dist/backends/codex/auth.js +6 -6
  6. package/dist/backends/codex/index.js +11 -11
  7. package/dist/backends/codex/setup.js +4 -4
  8. package/dist/backends/codex/wrapper-script.js +1 -1
  9. package/dist/backends/factory/auth.js +6 -6
  10. package/dist/backends/factory/index.js +11 -11
  11. package/dist/backends/factory/setup.js +4 -4
  12. package/dist/backends/factory/wrapper-script.js +1 -1
  13. package/dist/backends/gemini/auth.js +6 -6
  14. package/dist/backends/gemini/index.js +11 -11
  15. package/dist/backends/gemini/setup.js +4 -4
  16. package/dist/backends/gemini/wrapper-script.js +1 -1
  17. package/dist/backends/opencode/auth.js +6 -6
  18. package/dist/backends/opencode/index.js +11 -11
  19. package/dist/backends/opencode/setup.js +4 -4
  20. package/dist/backends/opencode/wrapper-script.js +1 -1
  21. package/dist/backends/pi/auth.js +6 -6
  22. package/dist/backends/pi/index.js +11 -11
  23. package/dist/backends/pi/setup.js +4 -4
  24. package/dist/backends/pi/wrapper-script.js +1 -1
  25. package/dist/backends/registry.js +29 -29
  26. package/dist/{chunk-7YYEE7XR.js → chunk-24NL6GPL.js} +5 -5
  27. package/dist/{chunk-5GDMWWYD.js → chunk-2BDD6OHG.js} +10 -2
  28. package/dist/{chunk-XLVCC4IB.js → chunk-374KGHBM.js} +5 -5
  29. package/dist/{chunk-ME6IR4T6.js → chunk-3W6KEDQE.js} +4 -4
  30. package/dist/{chunk-4INVRCRD.js → chunk-42O6EBUN.js} +2 -2
  31. package/dist/{chunk-LP7AQJCU.js → chunk-4MHPOB7A.js} +3 -3
  32. package/dist/{chunk-DZDWNOEY.js → chunk-5GZEX4HV.js} +1 -1
  33. package/dist/{chunk-MAW3HLIO.js → chunk-6NZPNYHA.js} +2 -2
  34. package/dist/{chunk-3KDZP45U.js → chunk-6QQKTF55.js} +11 -8
  35. package/dist/{chunk-U4F4JSME.js → chunk-7GPKEOAO.js} +3 -3
  36. package/dist/{chunk-JZ5RFO77.js → chunk-7LQN7NVU.js} +5 -5
  37. package/dist/{chunk-X3U7IVTN.js → chunk-7OAMTB47.js} +2 -2
  38. package/dist/{chunk-JFY6EH24.js → chunk-A7MX6RSQ.js} +15 -15
  39. package/dist/{chunk-IJEZAD5O.js → chunk-ADK2TYO4.js} +2 -2
  40. package/dist/{chunk-PMEF3X3C.js → chunk-B47IDF63.js} +2 -2
  41. package/dist/{chunk-RTS2QUZB.js → chunk-B6LPLXPB.js} +8 -8
  42. package/dist/{chunk-V7OXXKAL.js → chunk-BZ6HFTHU.js} +1 -1
  43. package/dist/{chunk-I3AP3LEY.js → chunk-CDK25PRU.js} +5 -5
  44. package/dist/{chunk-TSYQ4XKJ.js → chunk-CSNIN5YZ.js} +2 -2
  45. package/dist/{chunk-3WJMUX5B.js → chunk-DO4WVWW7.js} +1 -1
  46. package/dist/{chunk-4FHRWC4H.js → chunk-EDRLRJNT.js} +5 -5
  47. package/dist/{chunk-AKRE4OEL.js → chunk-EFOIR7R3.js} +5 -3
  48. package/dist/{chunk-MXRGQRFX.js → chunk-EOFJ2MWJ.js} +4 -4
  49. package/dist/{chunk-TV2VE2LX.js → chunk-F6M4RLDQ.js} +2 -2
  50. package/dist/{chunk-NHY4Q6LS.js → chunk-F7DOI3B5.js} +12 -12
  51. package/dist/{chunk-6BDLNY5J.js → chunk-FVFMYO5W.js} +2 -2
  52. package/dist/{chunk-KDAZ5TBL.js → chunk-G37JVAOI.js} +5 -5
  53. package/dist/{chunk-OQWHKEYE.js → chunk-GAFFXICQ.js} +3 -3
  54. package/dist/{chunk-VVH5DQ2C.js → chunk-GCMYVWZ6.js} +1 -1
  55. package/dist/{chunk-TQHS4W74.js → chunk-GGYTAWW6.js} +1 -1
  56. package/dist/{chunk-3NZQBGUJ.js → chunk-GHDY4DVK.js} +13 -13
  57. package/dist/{chunk-UVCPCX74.js → chunk-GR4QPRB7.js} +5 -5
  58. package/dist/{chunk-OHYPVKTP.js → chunk-GSODOHNB.js} +4 -4
  59. package/dist/{chunk-Q4XYK6FF.js → chunk-HE7EOIPA.js} +5 -5
  60. package/dist/{chunk-KEV4OMRF.js → chunk-HIDFQDFP.js} +9 -9
  61. package/dist/{chunk-ZA4JVJJE.js → chunk-HOPCVGWL.js} +1 -1
  62. package/dist/{chunk-3MNDEAPX.js → chunk-HR5YA24J.js} +5 -5
  63. package/dist/{chunk-MBLMAWSE.js → chunk-I5ZA45YL.js} +7 -7
  64. package/dist/{chunk-TH54MJMX.js → chunk-IEG5LIX7.js} +1 -1
  65. package/dist/{chunk-X7W6S3TE.js → chunk-IU457W7Q.js} +5 -5
  66. package/dist/{chunk-HWTECG57.js → chunk-J4TYHQQG.js} +1 -1
  67. package/dist/{chunk-Y2SC7HU5.js → chunk-JDBXIJKG.js} +4 -4
  68. package/dist/{chunk-FDY5BA67.js → chunk-JDELTTHV.js} +1 -1
  69. package/dist/{chunk-BAH4JSTO.js → chunk-JEI7I3EH.js} +3 -3
  70. package/dist/{chunk-CKPGSS76.js → chunk-JK5TPJHH.js} +1 -1
  71. package/dist/{chunk-CX4VNHL6.js → chunk-K2ITIAVJ.js} +73 -31
  72. package/dist/{chunk-UX6I36QR.js → chunk-LDKZ2SMC.js} +122 -122
  73. package/dist/{chunk-N5CUDEUJ.js → chunk-LHHBOQUR.js} +2 -2
  74. package/dist/{chunk-6QDHS2MR.js → chunk-LUQP36Y3.js} +1 -1
  75. package/dist/{chunk-ETGRQMFJ.js → chunk-M5QX5E5Z.js} +1 -1
  76. package/dist/{chunk-QKRWCXDU.js → chunk-M674W5NT.js} +1 -1
  77. package/dist/{chunk-UXZSRUXD.js → chunk-MEEY7BYC.js} +2 -2
  78. package/dist/{chunk-FXLGGDLM.js → chunk-MFEOQ26S.js} +4 -4
  79. package/dist/{chunk-RL6XEYOD.js → chunk-MHQXDTJB.js} +1 -1
  80. package/dist/{chunk-YOFB6CO5.js → chunk-MOLWE2ZY.js} +7 -7
  81. package/dist/{chunk-6UXT3RG5.js → chunk-MRJMXGCG.js} +4 -4
  82. package/dist/{chunk-5A6E4F5D.js → chunk-N2RHTKW7.js} +2 -1
  83. package/dist/{chunk-YM2LYRYY.js → chunk-NCUIEBQY.js} +3 -3
  84. package/dist/{chunk-7BGILLYC.js → chunk-NIOWKTIF.js} +2 -2
  85. package/dist/{chunk-OXREXXAQ.js → chunk-NUINUAXO.js} +2 -2
  86. package/dist/{chunk-XTZ5RQDF.js → chunk-NUO56TF7.js} +4 -4
  87. package/dist/{chunk-ZIV74JWW.js → chunk-NXRJ7Z4G.js} +2 -2
  88. package/dist/{chunk-AHHH4PYB.js → chunk-O45IQUWS.js} +3 -3
  89. package/dist/{chunk-QYFD2OBI.js → chunk-OWTXN2FU.js} +1 -1
  90. package/dist/{chunk-V4P46OHG.js → chunk-P7P2NWZD.js} +5 -5
  91. package/dist/{chunk-FB6FOIAY.js → chunk-PCKFMALU.js} +1 -1
  92. package/dist/{chunk-2FWZ247V.js → chunk-PFLR7INE.js} +2 -2
  93. package/dist/{chunk-M4RE42AY.js → chunk-PGSOOOB4.js} +3 -3
  94. package/dist/{chunk-2PKJSOXX.js → chunk-PTGANYUM.js} +1 -1
  95. package/dist/{chunk-WUNJJNOV.js → chunk-Q3CV35V6.js} +4 -4
  96. package/dist/{chunk-6A74MTSB.js → chunk-QICG4KW4.js} +3 -3
  97. package/dist/{chunk-2QGVGXIT.js → chunk-QQDSHL27.js} +4 -4
  98. package/dist/{chunk-3EGA6TEL.js → chunk-QSYXHYQU.js} +1 -1
  99. package/dist/{chunk-J4NKW3L5.js → chunk-QYSDP6V5.js} +5 -5
  100. package/dist/{chunk-LPWEFC55.js → chunk-R5OZHLAD.js} +2 -2
  101. package/dist/{chunk-CU5GUNFW.js → chunk-R6X47I23.js} +2 -2
  102. package/dist/{chunk-XLMHG3KR.js → chunk-R7PAZ5OA.js} +38 -35
  103. package/dist/{chunk-DFE7VZWD.js → chunk-RMEX55EU.js} +4 -4
  104. package/dist/{chunk-D5XOXR3A.js → chunk-S3SKODVV.js} +4 -4
  105. package/dist/{chunk-OGONPLTA.js → chunk-SHKBQQ7W.js} +6 -6
  106. package/dist/{chunk-5ZRGJTR3.js → chunk-SNZ4PDVT.js} +6 -6
  107. package/dist/{chunk-JMDS2RJJ.js → chunk-SS2EEKNM.js} +1 -1
  108. package/dist/{chunk-7XFIUYFM.js → chunk-SWIP7JBQ.js} +4 -4
  109. package/dist/{chunk-XNK2KUTI.js → chunk-SXE7H3VK.js} +2 -2
  110. package/dist/{chunk-G5RQN53K.js → chunk-TBSWWUJS.js} +1 -1
  111. package/dist/{chunk-TY7XTT5N.js → chunk-TJA3RHWR.js} +1 -1
  112. package/dist/{chunk-4BYPJFC5.js → chunk-UF25F3MH.js} +56 -48
  113. package/dist/{chunk-V364DYC3.js → chunk-UVUSSZ74.js} +1 -1
  114. package/dist/{chunk-HERWBOQ7.js → chunk-V7WEALLX.js} +5 -5
  115. package/dist/{chunk-UN3LHCWQ.js → chunk-VIGJQU6V.js} +3 -3
  116. package/dist/{chunk-7TW4LHPM.js → chunk-X37MWWUA.js} +2 -2
  117. package/dist/{chunk-W3M3ME6B.js → chunk-XG4UIGDH.js} +5 -5
  118. package/dist/{chunk-Q5KHBU7P.js → chunk-YEUALILD.js} +3 -3
  119. package/dist/{chunk-KZGAZPNV.js → chunk-YGAHGTVZ.js} +3 -3
  120. package/dist/{chunk-6ZJ6X6H7.js → chunk-YIYEPKVQ.js} +1 -1
  121. package/dist/{chunk-BM34UHSS.js → chunk-YJPQFLY3.js} +4 -4
  122. package/dist/{chunk-H74BPBKE.js → chunk-YSUPRYX2.js} +5 -5
  123. package/dist/{chunk-Y5553CX6.js → chunk-ZP5VMV5O.js} +4 -4
  124. package/dist/config/index.js +5 -5
  125. package/dist/containers/client.js +6 -6
  126. package/dist/containers/exec.js +6 -6
  127. package/dist/containers/lifecycle.js +46 -46
  128. package/dist/containers/pool.js +3 -3
  129. package/dist/containers/setup.js +9 -9
  130. package/dist/db/agents.js +6 -6
  131. package/dist/db/api_keys.js +5 -5
  132. package/dist/db/audit.js +3 -3
  133. package/dist/db/batch.js +10 -10
  134. package/dist/db/client.js +2 -2
  135. package/dist/db/credentials.js +3 -3
  136. package/dist/db/drizzle.js +4 -4
  137. package/dist/db/environments.js +6 -6
  138. package/dist/db/events.js +5 -5
  139. package/dist/db/files.js +5 -5
  140. package/dist/db/memory.js +5 -5
  141. package/dist/db/migrations.js +1 -1
  142. package/dist/db/proxy.js +5 -5
  143. package/dist/db/schema.js +1 -1
  144. package/dist/db/session-resources.js +5 -5
  145. package/dist/db/sessions.js +9 -9
  146. package/dist/db/sync.js +5 -5
  147. package/dist/db/tenants.js +3 -3
  148. package/dist/db/traces.js +5 -5
  149. package/dist/db/upstream_keys.js +3 -3
  150. package/dist/db/vaults.js +6 -6
  151. package/dist/handlers/agents.js +57 -57
  152. package/dist/handlers/api_keys.js +57 -57
  153. package/dist/handlers/audit.js +57 -57
  154. package/dist/handlers/batch.js +57 -57
  155. package/dist/handlers/credentials.js +57 -57
  156. package/dist/handlers/environments.js +58 -58
  157. package/dist/handlers/events.js +61 -61
  158. package/dist/handlers/files.js +57 -57
  159. package/dist/handlers/index.js +97 -97
  160. package/dist/handlers/license.js +56 -56
  161. package/dist/handlers/memory.js +57 -57
  162. package/dist/handlers/metrics.js +56 -56
  163. package/dist/handlers/models.js +57 -57
  164. package/dist/handlers/openapi.js +3 -3
  165. package/dist/handlers/providers.js +56 -56
  166. package/dist/handlers/resources.js +56 -56
  167. package/dist/handlers/sessions.js +60 -60
  168. package/dist/handlers/settings.js +56 -56
  169. package/dist/handlers/skills-write.js +56 -56
  170. package/dist/handlers/skills.js +57 -57
  171. package/dist/handlers/stream.js +57 -57
  172. package/dist/handlers/tenants.js +57 -57
  173. package/dist/handlers/threads.js +56 -56
  174. package/dist/handlers/traces.js +57 -57
  175. package/dist/handlers/ui.js +1 -1
  176. package/dist/handlers/upstream_keys.js +59 -59
  177. package/dist/handlers/vaults.js +56 -56
  178. package/dist/handlers/whoami.js +56 -56
  179. package/dist/http.js +55 -55
  180. package/dist/index.js +62 -62
  181. package/dist/init.js +53 -53
  182. package/dist/lib/model-registry.js +6 -6
  183. package/dist/lib/skills-cache.js +6 -6
  184. package/dist/observability/otlp.js +12 -12
  185. package/dist/observability/redactor.js +8 -8
  186. package/dist/openapi/schemas.js +1 -1
  187. package/dist/openapi/spec.js +2 -2
  188. package/dist/providers/fly.js +5 -5
  189. package/dist/providers/modal.js +5 -5
  190. package/dist/providers/registry.js +1 -1
  191. package/dist/providers/resolve-secrets.js +7 -7
  192. package/dist/providers/sprites.js +7 -7
  193. package/dist/providers/upstream-keys.js +11 -11
  194. package/dist/providers/vercel.js +5 -5
  195. package/dist/proxy/forward.js +6 -6
  196. package/dist/queue/index.js +6 -6
  197. package/dist/sessions/bus.js +10 -10
  198. package/dist/sessions/driver.js +46 -46
  199. package/dist/sessions/grader.js +5 -5
  200. package/dist/sessions/secrets.js +8 -8
  201. package/dist/sessions/sweeper.js +43 -43
  202. package/dist/sessions/threads.js +46 -46
  203. package/dist/shutdown.js +44 -44
  204. package/dist/sync/anthropic.js +10 -10
  205. package/dist/sync/container-file-sync.js +27 -15
  206. package/dist/sync/file-sync.js +17 -17
  207. package/package.json +1 -1
@@ -1,58 +1,59 @@
1
1
  import {
2
2
  enqueueTurn
3
- } from "./chunk-7TW4LHPM.js";
3
+ } from "./chunk-X37MWWUA.js";
4
4
  import {
5
5
  runTurn
6
- } from "./chunk-XLMHG3KR.js";
6
+ } from "./chunk-R7PAZ5OA.js";
7
7
  import {
8
8
  installOtlpExporter
9
- } from "./chunk-I3AP3LEY.js";
9
+ } from "./chunk-CDK25PRU.js";
10
10
  import {
11
11
  redactAppendInput
12
- } from "./chunk-TV2VE2LX.js";
12
+ } from "./chunk-F6M4RLDQ.js";
13
13
  import {
14
14
  createApiKey,
15
15
  listApiKeys
16
- } from "./chunk-IJEZAD5O.js";
16
+ } from "./chunk-ADK2TYO4.js";
17
17
  import {
18
18
  initSentry
19
19
  } from "./chunk-3MQ2FWXS.js";
20
20
  import {
21
21
  installShutdownHandlers
22
- } from "./chunk-CU5GUNFW.js";
22
+ } from "./chunk-R6X47I23.js";
23
23
  import {
24
24
  runSweep
25
- } from "./chunk-KEV4OMRF.js";
25
+ } from "./chunk-HIDFQDFP.js";
26
26
  import {
27
- reconcileDockerOrphans,
28
- reconcileOrphans
29
- } from "./chunk-4BYPJFC5.js";
27
+ reconcileDockerOrphanSandboxes,
28
+ reconcileOrphanSandboxes
29
+ } from "./chunk-UF25F3MH.js";
30
30
  import {
31
31
  appendEvent,
32
32
  installPayloadRedactor
33
- } from "./chunk-MXRGQRFX.js";
33
+ } from "./chunk-EOFJ2MWJ.js";
34
34
  import {
35
35
  readEnvValue,
36
36
  upsertEnvLine
37
37
  } from "./chunk-YPXI7Q2M.js";
38
38
  import {
39
39
  getLastUnprocessedUserMessage
40
- } from "./chunk-AHHH4PYB.js";
40
+ } from "./chunk-O45IQUWS.js";
41
41
  import {
42
+ getBySession,
42
43
  register
43
- } from "./chunk-AKRE4OEL.js";
44
+ } from "./chunk-EFOIR7R3.js";
44
45
  import {
45
46
  resolveContainerProvider
46
- } from "./chunk-5A6E4F5D.js";
47
+ } from "./chunk-N2RHTKW7.js";
47
48
  import {
48
- setSessionSprite
49
- } from "./chunk-MBLMAWSE.js";
49
+ setSessionSandbox
50
+ } from "./chunk-I5ZA45YL.js";
50
51
  import {
51
52
  getEnvironment
52
- } from "./chunk-XTZ5RQDF.js";
53
+ } from "./chunk-NUO56TF7.js";
53
54
  import {
54
55
  getConfig
55
- } from "./chunk-Q5KHBU7P.js";
56
+ } from "./chunk-YEUALILD.js";
56
57
  import {
57
58
  init_clock,
58
59
  nowMs
@@ -60,7 +61,7 @@ import {
60
61
  import {
61
62
  getDb,
62
63
  init_client
63
- } from "./chunk-DZDWNOEY.js";
64
+ } from "./chunk-5GZEX4HV.js";
64
65
  import {
65
66
  getRuntime
66
67
  } from "./chunk-UYTSKFGK.js";
@@ -105,17 +106,22 @@ async function doInit() {
105
106
  } catch (err) {
106
107
  console.error("[init] stale session recovery failed:", err);
107
108
  }
109
+ try {
110
+ await rebuildContainerPool();
111
+ } catch (err) {
112
+ console.error("[init] container pool rebuild failed:", err);
113
+ }
108
114
  const cfg = getConfig();
109
115
  if (cfg.spriteToken) {
110
- reconcileOrphans().then((r) => {
116
+ reconcileOrphanSandboxes().then((r) => {
111
117
  if (r.deleted > 0) {
112
- console.log(`[init] reconciled ${r.deleted} orphan sprites, kept ${r.kept}`);
118
+ console.log(`[init] reconciled ${r.deleted} orphan sandboxes, kept ${r.kept}`);
113
119
  }
114
120
  }).catch((err) => {
115
- console.warn("[init] orphan reconcile (sprites) failed:", err);
121
+ console.warn("[init] orphan reconcile (sandboxes) failed:", err);
116
122
  });
117
123
  }
118
- reconcileDockerOrphans().then((r) => {
124
+ reconcileDockerOrphanSandboxes().then((r) => {
119
125
  if (r.deleted > 0) {
120
126
  console.log(`[init] reconciled ${r.deleted} orphan docker containers, kept ${r.kept}`);
121
127
  }
@@ -172,26 +178,26 @@ async function recoverStaleSessions() {
172
178
  try {
173
179
  const lastMsg = getLastUnprocessedUserMessage(row.id);
174
180
  if (lastMsg) {
175
- if (row.sprite_name) {
181
+ if (row.sandbox_name) {
176
182
  const envObj = getEnvironment(row.environment_id);
177
183
  const provider = await resolveContainerProvider(envObj?.config?.provider);
178
184
  try {
179
- const containers = await provider.list({ prefix: row.sprite_name });
180
- const alive = containers.some((c) => c.name === row.sprite_name);
185
+ const containers = await provider.list({ prefix: row.sandbox_name });
186
+ const alive = containers.some((c) => c.name === row.sandbox_name);
181
187
  if (!alive) {
182
- console.warn(`[init] sprite ${row.sprite_name} for session ${row.id} no longer exists, clearing`);
183
- setSessionSprite(row.id, null);
188
+ console.warn(`[init] sandbox ${row.sandbox_name} for session ${row.id} no longer exists, clearing`);
189
+ setSessionSandbox(row.id, null);
184
190
  } else {
185
191
  register({
186
- spriteName: row.sprite_name,
192
+ sandboxName: row.sandbox_name,
187
193
  envId: row.environment_id,
188
194
  sessionId: row.id,
189
195
  createdAt: nowMs()
190
196
  });
191
197
  }
192
198
  } catch (err) {
193
- console.warn(`[init] container health check failed for ${row.sprite_name}, clearing:`, err);
194
- setSessionSprite(row.id, null);
199
+ console.warn(`[init] container health check failed for ${row.sandbox_name}, clearing:`, err);
200
+ setSessionSandbox(row.id, null);
195
201
  }
196
202
  }
197
203
  appendEvent(row.id, {
@@ -245,6 +251,42 @@ async function recoverStaleSessions() {
245
251
  }
246
252
  }
247
253
  }
254
+ async function rebuildContainerPool() {
255
+ const db = getDb();
256
+ const rows = db.prepare(
257
+ `SELECT * FROM sessions WHERE sandbox_name IS NOT NULL AND status != 'running' AND archived_at IS NULL`
258
+ ).all();
259
+ if (rows.length === 0) return;
260
+ let recovered = 0;
261
+ let cleared = 0;
262
+ for (const row of rows) {
263
+ if (getBySession(row.id)) continue;
264
+ try {
265
+ const envObj = getEnvironment(row.environment_id);
266
+ const provider = await resolveContainerProvider(envObj?.config?.provider);
267
+ const containers = await provider.list({ prefix: row.sandbox_name });
268
+ const alive = containers.some((c) => c.name === row.sandbox_name);
269
+ if (alive) {
270
+ register({
271
+ sandboxName: row.sandbox_name,
272
+ envId: row.environment_id,
273
+ sessionId: row.id,
274
+ createdAt: nowMs()
275
+ });
276
+ recovered++;
277
+ } else {
278
+ setSessionSandbox(row.id, null);
279
+ cleared++;
280
+ }
281
+ } catch {
282
+ setSessionSandbox(row.id, null);
283
+ cleared++;
284
+ }
285
+ }
286
+ if (recovered > 0 || cleared > 0) {
287
+ console.log(`[init] pool rebuild: ${recovered} containers recovered, ${cleared} stale references cleared`);
288
+ }
289
+ }
248
290
 
249
291
  export {
250
292
  ensureInitialized,