@pumped-fn/lite 1.11.3 → 2.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.mjs","names":["categories: Record<string, { title: string; content: string | (() => string) }>"],"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { readFileSync } from \"node:fs\"\nimport { dirname, join } from \"node:path\"\nimport { fileURLToPath } from \"node:url\"\n\nconst pkgDir = join(dirname(fileURLToPath(import.meta.url)), \"..\")\nconst readme = readFileSync(join(pkgDir, \"README.md\"), \"utf-8\")\n\nfunction extractOverview(): string {\n const idx = readme.indexOf(\"## How It Works\")\n const raw = idx === -1 ? readme : readme.slice(0, idx)\n return raw.replace(/^#[^\\n]*\\n+/, \"\").trim()\n}\n\nfunction extractDiagram(): string {\n const match = readme.match(/```mermaid\\n([\\s\\S]*?)```/)\n return match ? `Full system sequence (unified):\\n\\n\\`\\`\\`mermaid\\n${match[1]!.trim()}\\n\\`\\`\\`` : \"No diagram found in README.md\"\n}\n\nconst categories: Record<string, { title: string; content: string | (() => string) }> = {\n overview: {\n title: \"What is @pumped-fn/lite\",\n content: extractOverview,\n },\n\n primitives: {\n title: \"Primitives API\",\n content: `atom({ factory, deps?, tags?, keepAlive? })\n Creates a managed effect. Factory receives (ctx, resolvedDeps) and returns a value.\n Cached per scope. Supports cleanup via ctx.onClose().\n\n import { atom } from \"@pumped-fn/lite\"\n const dbAtom = atom({ factory: () => createDbPool() })\n const userAtom = atom({\n deps: { db: dbAtom },\n factory: (ctx, { db }) => db.query(\"SELECT ...\"),\n })\n\nflow({ factory, parse?, deps?, tags? })\n Operation template executed per call. parse validates input, factory runs logic.\n\n import { flow, typed } from \"@pumped-fn/lite\"\n const getUser = flow({\n parse: typed<{ id: string }>(),\n deps: { db: dbAtom },\n factory: (ctx, { db }) => db.findUser(ctx.input.id),\n })\n\ntag({ label, default?, parse? })\n Ambient context value. Attach to atoms/flows/contexts. Retrieve via tag.get/find/collect.\n\n import { tag } from \"@pumped-fn/lite\"\n const tenantTag = tag<string>({ label: \"tenant\" })\n\npreset(target, value)\n Override an atom's resolved value. Used for testing and multi-tenant isolation.\n\n import { preset } from \"@pumped-fn/lite\"\n const mockDb = preset(dbAtom, fakeDatabaseInstance)\n\nservice({ factory, deps? })\n Convenience wrapper for atom whose value is an object of methods.\n Each method receives (ctx, ...args) for tracing/auth integration.`,\n },\n\n scope: {\n title: \"Scope Management\",\n content: `createScope({ extensions?, presets?, tags?, gc? })\n Creates a scope that manages atom resolution, caching, extensions, and GC.\n\n import { createScope } from \"@pumped-fn/lite\"\n const scope = createScope({\n extensions: [loggingExt],\n presets: [preset(dbAtom, mockDb)],\n tags: [tenantTag(\"acme\")],\n gc: { enabled: true, graceMs: 3000 },\n })\n await scope.ready\n\nscope.resolve(atom) → Promise<value> resolve and cache an atom\nscope.controller(atom) → Controller get reactive handle\nscope.select(atom, fn, opts?) → SelectHandle derived slice with equality check\nscope.on(event, atom, fn) → unsubscribe listen to atom events\nscope.release(atom) → void release atom, run cleanups\nscope.createContext(opts?) → ExecutionContext create execution boundary\nscope.flush() → Promise<void> wait all pending operations\nscope.dispose() → void release everything, run all cleanups`,\n },\n\n context: {\n title: \"ExecutionContext\",\n content: `ctx = scope.createContext({ tags? })\n Execution boundary. Tags merge with scope tags. Cleanup runs LIFO on close.\n\nctx.exec({ flow, input?, tags? }) → Promise<output>\n Execute a flow within this context. Creates a child context with merged tags.\n Child context closes automatically after execution.\n\nctx.exec({ fn, params?, tags? }) → Promise<result>\n Execute an inline function: fn(childCtx, ...params).\n Same child-context lifecycle as flow execution.\n\nctx.onClose(cleanup) → void register cleanup (runs LIFO on ctx.close)\nctx.close() → void run all registered cleanups in LIFO order\n\nctx.data\n Key-value store scoped to the context:\n Raw: get(key) / set(key, val) / has(key) / delete(key) / clear() / seek(key)\n Typed: getTag(tag) / setTag(tag, val) / hasTag(tag) / deleteTag(tag) / seekTag(tag) / getOrSetTag(tag, factory)\n\n seek/seekTag walks up the context chain to find values in parent contexts.`,\n },\n\n reactivity: {\n title: \"Reactivity (opt-in)\",\n content: `controller(atom) → Controller\n Opt-in reactive handle for an atom.\n\n ctrl.get() → current value (must be resolved first)\n ctrl.resolve() → Promise<value> (resolve if not yet)\n ctrl.set(value) → replace value, notify listeners\n ctrl.update(fn) → update value via function, notify listeners\n ctrl.invalidate() → re-run factory, notify listeners\n ctrl.release() → release atom, run cleanups\n ctrl.on(event, listener) → unsubscribe\n events: 'resolving' | 'resolved' | '*'\n\nselect(atom, selector, { eq? }) → SelectHandle\n Derived state slice. Only notifies when selected value changes per eq function.\n\n handle.get() → current selected value\n handle.subscribe(fn) → unsubscribe\n\nscope.on('resolved', atom, listener) → unsubscribe\n Listen to atom resolution events at scope level.\n\nController as dependency:\n import { controller } from \"@pumped-fn/lite\"\n const serverAtom = atom({\n deps: { cfg: controller(configAtom, { resolve: true }) },\n factory: (ctx, { cfg }) => {\n cfg.on('resolved', () => ctx.invalidate())\n return createServer(cfg.get())\n },\n })`,\n },\n\n tags: {\n title: \"Tag System\",\n content: `tag<T>({ label, default?, parse? }) → Tag<T>\n Define an ambient context value type.\n\ntag(value) → Tagged<T>\n Create a tagged value to attach to atoms, flows, or contexts.\n\nAttaching tags:\n atom({ tags: [tenantTag(\"acme\")] })\n flow({ tags: [roleTag(\"admin\")] })\n scope.createContext({ tags: [userTag(currentUser)] })\n ctx.exec({ flow, tags: [localeTag(\"en\")] })\n\nReading tags:\n tag.get(source) → T first match or throw\n tag.find(source) → T | undefined first match or undefined\n tag.collect(source) → T[] all matches\n\nContext data integration:\n ctx.data.setTag(tag, value)\n ctx.data.getTag(tag) → T\n ctx.data.seekTag(tag) → T (walks parent chain)\n ctx.data.hasTag(tag) → boolean\n\nTag executor (dependency wiring):\n tags.required(tag) → resolves tag or throws\n tags.optional(tag) → resolves tag or undefined\n tags.all(tag) → resolves all values for tag\n\nIntrospection:\n tag.atoms() → Atom[] with this tag attached\n getAllTags() → Tag[] all registered tags`,\n },\n\n extensions: {\n title: \"Extensions Pipeline\",\n content: `Extensions wrap atom resolution and flow execution (middleware pattern).\n\ninterface Extension {\n init?(scope): void | Promise<void>\n dispose?(scope): void\n wrapResolve?(next, event: ResolveEvent): Promise<value>\n wrapExec?(next, flow, ctx): Promise<output>\n}\n\ncreateScope({ extensions: [ext1, ext2] })\n\nLifecycle:\n 1. scope creation → ext.init(scope) called for each extension\n 2. await scope.ready → all init() resolved\n 3. resolve(atom) → ext.wrapResolve(next, { kind: \"atom\", target, scope })\n resolve(resource) → ext.wrapResolve(next, { kind: \"resource\", target, ctx })\n - call next() to proceed to actual resolution\n - dispatch on event.kind for atom vs resource\n 4. ctx.exec(flow) → ext.wrapExec(next, flow, ctx)\n - call next() to proceed to actual execution\n 5. scope.dispose() → ext.dispose(scope) called for each extension\n\nExample:\n const timingExt: Extension = {\n wrapResolve: async (next, event) => {\n const start = Date.now()\n const value = await next()\n console.log(event.target, Date.now() - start, \"ms\")\n return value\n },\n }`,\n },\n\n testing: {\n title: \"Testing & Isolation\",\n content: `Use presets to swap implementations without changing production code.\n\nimport { createScope, preset } from \"@pumped-fn/lite\"\n\nconst scope = createScope({\n presets: [\n preset(dbAtom, mockDatabase),\n preset(cacheAtom, inMemoryCache),\n ],\n tags: [tenantTag(\"test-tenant\")],\n})\n\nconst db = await scope.resolve(dbAtom) // → mockDatabase (not real db)\n\nMulti-tenant isolation:\n Each scope is fully isolated. Create one scope per tenant/test.\n\n const tenantScope = createScope({\n tags: [tenantTag(tenantId)],\n presets: tenantOverrides,\n })\n\nCleanup:\n scope.dispose() releases all atoms and runs all cleanup functions.\n In tests: call scope.dispose() in afterEach.`,\n },\n\n patterns: {\n title: \"Common Patterns\",\n content: `Request lifecycle:\n const scope = createScope()\n const ctx = scope.createContext({ tags: [requestTag(req)] })\n const result = await ctx.exec({ flow: handleRequest, input: req.body })\n ctx.close() // cleanup LIFO\n\nService pattern:\n const userService = service({\n deps: { db: dbAtom },\n factory: (ctx, { db }) => ({\n getUser: (ctx, id) => db.findUser(id),\n updateUser: (ctx, id, data) => db.updateUser(id, data),\n }),\n })\n\nTyped flow input:\n const getUser = flow({\n parse: typed<{ id: string }>(),\n factory: (ctx) => findUser(ctx.input.id),\n })\n\nInline execution:\n const result = await ctx.exec({\n fn: (ctx, a, b) => a + b,\n params: [1, 2],\n })\n\nAtom with cleanup:\n const serverAtom = atom({\n factory: (ctx) => {\n const server = createServer()\n ctx.onClose(() => server.close())\n return server\n },\n })\n\nAtom retention / GC:\n createScope({ gc: { enabled: true, graceMs: 3000 } })\n atom({ keepAlive: true }) // never GC'd`,\n },\n\n diagrams: {\n title: \"Visual Diagrams (mermaid)\",\n content: extractDiagram,\n },\n\n types: {\n title: \"Type Utilities & Guards\",\n content: `Type extractors (Lite.Utils namespace):\n AtomValue<A> extract resolved type from atom\n FlowOutput<F> extract output type from flow\n FlowInput<F> extract input type from flow\n TagValue<T> extract value type from tag\n DepsOf<A | F> extract deps record type\n ControllerValue<C> extract value from controller\n Simplify<T> flatten intersection types\n AtomType<T, D> construct atom type\n FlowType<O, I, D> construct flow type\n\nType guards:\n isAtom(v) → v is Atom\n isFlow(v) → v is Flow\n isTag(v) → v is Tag\n isTagged(v) → v is Tagged\n isPreset(v) → v is Preset\n isControllerDep(v) → v is ControllerDep\n isTagExecutor(v) → v is TagExecutor\n\nConvenience types:\n AnyAtom any atom regardless of value/deps\n AnyFlow any flow regardless of output/input/deps\n AnyController any controller regardless of value\n\nSymbols (advanced, for library authors):\n atomSymbol, flowSymbol, tagSymbol, taggedSymbol,\n presetSymbol, controllerSymbol, controllerDepSymbol,\n tagExecutorSymbol, typedSymbol`,\n },\n}\n\nconst args = process.argv.slice(2)\nconst category = args[0]\n\nif (!category || category === \"help\" || category === \"--help\") {\n console.log(\"@pumped-fn/lite — Scoped Ambient State for TypeScript\\n\")\n console.log(\"Usage: pumped-lite <category>\\n\")\n console.log(\"Categories:\")\n for (const [key, { title }] of Object.entries(categories)) {\n console.log(` ${key.padEnd(14)} ${title}`)\n }\n console.log(\"\\nExamples:\")\n console.log(\" npx @pumped-fn/lite primitives # API reference\")\n console.log(\" npx @pumped-fn/lite diagrams # mermaid diagrams\")\n process.exit(0)\n}\n\nif (!(category in categories)) {\n console.error(`Unknown category: \"${category}\"\\n`)\n console.error(\"Available categories: \" + Object.keys(categories).join(\", \"))\n process.exit(1)\n}\n\nconst entry = categories[category]!\nconst output = typeof entry.content === \"function\" ? entry.content() : entry.content\nconsole.log(`# ${entry.title}\\n`)\nconsole.log(output)\n"],"mappings":";;;;;;AAOA,MAAM,SAAS,aAAa,KADb,KAAK,QAAQ,cAAc,OAAO,KAAK,IAAI,CAAC,EAAE,KAAK,EACzB,YAAY,EAAE,QAAQ;AAE/D,SAAS,kBAA0B;CACjC,MAAM,MAAM,OAAO,QAAQ,kBAAkB;AAE7C,SADY,QAAQ,KAAK,SAAS,OAAO,MAAM,GAAG,IAAI,EAC3C,QAAQ,eAAe,GAAG,CAAC,MAAM;;AAG9C,SAAS,iBAAyB;CAChC,MAAM,QAAQ,OAAO,MAAM,4BAA4B;AACvD,QAAO,QAAQ,qDAAqD,MAAM,GAAI,MAAM,CAAC,YAAY;;AAGnG,MAAMA,aAAkF;CACtF,UAAU;EACR,OAAO;EACP,SAAS;EACV;CAED,YAAY;EACV,OAAO;EACP,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCV;CAED,OAAO;EACL,OAAO;EACP,SAAS;;;;;;;;;;;;;;;;;;;;EAoBV;CAED,SAAS;EACP,OAAO;EACP,SAAS;;;;;;;;;;;;;;;;;;;;EAoBV;CAED,YAAY;EACV,OAAO;EACP,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BV;CAED,MAAM;EACJ,OAAO;EACP,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BV;CAED,YAAY;EACV,OAAO;EACP,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BV;CAED,SAAS;EACP,OAAO;EACP,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;EAyBV;CAED,UAAU;EACR,OAAO;EACP,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCV;CAED,UAAU;EACR,OAAO;EACP,SAAS;EACV;CAED,OAAO;EACL,OAAO;EACP,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BV;CACF;AAGD,MAAM,WADO,QAAQ,KAAK,MAAM,EAAE,CACZ;AAEtB,IAAI,CAAC,YAAY,aAAa,UAAU,aAAa,UAAU;AAC7D,SAAQ,IAAI,0DAA0D;AACtE,SAAQ,IAAI,kCAAkC;AAC9C,SAAQ,IAAI,cAAc;AAC1B,MAAK,MAAM,CAAC,KAAK,EAAE,YAAY,OAAO,QAAQ,WAAW,CACvD,SAAQ,IAAI,KAAK,IAAI,OAAO,GAAG,CAAC,GAAG,QAAQ;AAE7C,SAAQ,IAAI,cAAc;AAC1B,SAAQ,IAAI,qDAAqD;AACjE,SAAQ,IAAI,wDAAwD;AACpE,SAAQ,KAAK,EAAE;;AAGjB,IAAI,EAAE,YAAY,aAAa;AAC7B,SAAQ,MAAM,sBAAsB,SAAS,KAAK;AAClD,SAAQ,MAAM,2BAA2B,OAAO,KAAK,WAAW,CAAC,KAAK,KAAK,CAAC;AAC5E,SAAQ,KAAK,EAAE;;AAGjB,MAAM,QAAQ,WAAW;AACzB,MAAM,SAAS,OAAO,MAAM,YAAY,aAAa,MAAM,SAAS,GAAG,MAAM;AAC7E,QAAQ,IAAI,KAAK,MAAM,MAAM,IAAI;AACjC,QAAQ,IAAI,OAAO"}
package/dist/index.cjs CHANGED
@@ -9,6 +9,7 @@ const presetSymbol = Symbol.for("@pumped-fn/lite/preset");
9
9
  const controllerSymbol = Symbol.for("@pumped-fn/lite/controller");
10
10
  const tagExecutorSymbol = Symbol.for("@pumped-fn/lite/tag-executor");
11
11
  const typedSymbol = Symbol.for("@pumped-fn/lite/typed");
12
+ const resourceSymbol = Symbol.for("@pumped-fn/lite/resource");
12
13
 
13
14
  //#endregion
14
15
  //#region src/errors.ts
@@ -379,6 +380,33 @@ function isPreset(value) {
379
380
  return typeof value === "object" && value !== null && value[presetSymbol] === true;
380
381
  }
381
382
 
383
+ //#endregion
384
+ //#region src/resource.ts
385
+ function resource(config) {
386
+ return Object.freeze({
387
+ [resourceSymbol]: true,
388
+ name: config.name,
389
+ deps: config.deps,
390
+ factory: config.factory
391
+ });
392
+ }
393
+ /**
394
+ * Type guard to check if a value is a Resource.
395
+ *
396
+ * @param value - The value to check
397
+ * @returns True if the value is a Resource, false otherwise
398
+ *
399
+ * @example
400
+ * ```typescript
401
+ * if (isResource(value)) {
402
+ * // value is Lite.Resource<unknown>
403
+ * }
404
+ * ```
405
+ */
406
+ function isResource(value) {
407
+ return typeof value === "object" && value !== null && value[resourceSymbol] === true;
408
+ }
409
+
382
410
  //#endregion
383
411
  //#region src/service.ts
384
412
  function service(config) {
@@ -392,6 +420,18 @@ function service(config) {
392
420
 
393
421
  //#endregion
394
422
  //#region src/scope.ts
423
+ const resourceKeys = /* @__PURE__ */ new WeakMap();
424
+ let resourceKeyCounter = 0;
425
+ function getResourceKey(resource$1) {
426
+ let key = resourceKeys.get(resource$1);
427
+ if (!key) {
428
+ key = Symbol(`resource:${resource$1.name ?? resourceKeyCounter++}`);
429
+ resourceKeys.set(resource$1, key);
430
+ }
431
+ return key;
432
+ }
433
+ const inflightResources = /* @__PURE__ */ new WeakMap();
434
+ const resolvingResources = /* @__PURE__ */ new Set();
395
435
  var ContextDataImpl = class {
396
436
  map = /* @__PURE__ */ new Map();
397
437
  constructor(parentData) {
@@ -753,7 +793,12 @@ var ScopeImpl = class {
753
793
  else return factory(ctx);
754
794
  };
755
795
  try {
756
- const value = await this.applyResolveExtensions(atom$1, doResolve);
796
+ const event = {
797
+ kind: "atom",
798
+ target: atom$1,
799
+ scope: this
800
+ };
801
+ const value = await this.applyResolveExtensions(event, doResolve);
757
802
  entry.state = "resolved";
758
803
  entry.value = value;
759
804
  entry.hasValue = true;
@@ -784,13 +829,13 @@ var ScopeImpl = class {
784
829
  throw entry.error;
785
830
  }
786
831
  }
787
- async applyResolveExtensions(atom$1, doResolve) {
832
+ async applyResolveExtensions(event, doResolve) {
788
833
  let next = doResolve;
789
834
  for (let i = this.extensions.length - 1; i >= 0; i--) {
790
835
  const ext = this.extensions[i];
791
836
  if (ext?.wrapResolve) {
792
837
  const currentNext = next;
793
- next = ext.wrapResolve.bind(ext, currentNext, atom$1, this);
838
+ next = ext.wrapResolve.bind(ext, currentNext, event);
794
839
  }
795
840
  }
796
841
  return next();
@@ -829,6 +874,59 @@ var ScopeImpl = class {
829
874
  result[key] = ctx ? this.collectFromHierarchy(ctx, tagExecutor.tag) : tagExecutor.tag.collect(this.tags);
830
875
  break;
831
876
  }
877
+ } else if (isResource(dep)) {
878
+ if (!ctx) throw new Error("Resource deps require an ExecutionContext");
879
+ const resource$1 = dep;
880
+ const resourceKey = getResourceKey(resource$1);
881
+ const storeCtx = ctx.parent ?? ctx;
882
+ if (storeCtx.data.has(resourceKey)) {
883
+ result[key] = storeCtx.data.get(resourceKey);
884
+ continue;
885
+ }
886
+ const existingSeek = ctx.data.seek(resourceKey);
887
+ if (existingSeek !== void 0 || ctx.data.has(resourceKey)) {
888
+ result[key] = existingSeek;
889
+ continue;
890
+ }
891
+ if (resolvingResources.has(resourceKey)) throw new Error(`Circular resource dependency detected: ${resource$1.name ?? "anonymous"}`);
892
+ let flights = inflightResources.get(storeCtx.data);
893
+ if (!flights) {
894
+ flights = /* @__PURE__ */ new Map();
895
+ inflightResources.set(storeCtx.data, flights);
896
+ }
897
+ const inflight = flights.get(resourceKey);
898
+ if (inflight) {
899
+ result[key] = await inflight;
900
+ continue;
901
+ }
902
+ const resolve = async () => {
903
+ resolvingResources.add(resourceKey);
904
+ try {
905
+ const resourceDeps = await this.resolveDeps(resource$1.deps, ctx);
906
+ const event = {
907
+ kind: "resource",
908
+ target: resource$1,
909
+ ctx: storeCtx
910
+ };
911
+ const doResolve = async () => {
912
+ const factory = resource$1.factory;
913
+ if (resource$1.deps && Object.keys(resource$1.deps).length > 0) return factory(storeCtx, resourceDeps);
914
+ return factory(storeCtx);
915
+ };
916
+ const value = await this.applyResolveExtensions(event, doResolve);
917
+ storeCtx.data.set(resourceKey, value);
918
+ return value;
919
+ } finally {
920
+ resolvingResources.delete(resourceKey);
921
+ }
922
+ };
923
+ const promise = resolve();
924
+ flights.set(resourceKey, promise);
925
+ try {
926
+ result[key] = await promise;
927
+ } finally {
928
+ flights.delete(resourceKey);
929
+ }
832
930
  }
833
931
  return result;
834
932
  }
@@ -1006,10 +1104,15 @@ var ExecutionContextImpl = class ExecutionContextImpl {
1006
1104
  for (const tagged of execTags ?? []) childCtx.data.set(tagged.key, tagged.value);
1007
1105
  for (const tagged of flow$1.tags ?? []) if (!childCtx.data.has(tagged.key)) childCtx.data.set(tagged.key, tagged.value);
1008
1106
  try {
1009
- if (presetValue !== void 0 && typeof presetValue === "function") return await childCtx.execPresetFn(flow$1, presetValue);
1010
- return await childCtx.execFlowInternal(flow$1);
1011
- } finally {
1012
- await childCtx.close();
1107
+ const result = presetValue !== void 0 && typeof presetValue === "function" ? await childCtx.execPresetFn(flow$1, presetValue) : await childCtx.execFlowInternal(flow$1);
1108
+ await childCtx.close({ ok: true });
1109
+ return result;
1110
+ } catch (error) {
1111
+ await childCtx.close({
1112
+ ok: false,
1113
+ error
1114
+ });
1115
+ throw error;
1013
1116
  }
1014
1117
  } else {
1015
1118
  const childCtx = new ExecutionContextImpl(this.scope, {
@@ -1019,9 +1122,15 @@ var ExecutionContextImpl = class ExecutionContextImpl {
1019
1122
  input: options.params
1020
1123
  });
1021
1124
  try {
1022
- return await childCtx.execFnInternal(options);
1023
- } finally {
1024
- await childCtx.close();
1125
+ const result = await childCtx.execFnInternal(options);
1126
+ await childCtx.close({ ok: true });
1127
+ return result;
1128
+ } catch (error) {
1129
+ await childCtx.close({
1130
+ ok: false,
1131
+ error
1132
+ });
1133
+ throw error;
1025
1134
  }
1026
1135
  }
1027
1136
  }
@@ -1057,12 +1166,12 @@ var ExecutionContextImpl = class ExecutionContextImpl {
1057
1166
  onClose(fn) {
1058
1167
  this.cleanups.push(fn);
1059
1168
  }
1060
- async close() {
1169
+ async close(result = { ok: true }) {
1061
1170
  if (this.closed) return;
1062
1171
  this.closed = true;
1063
1172
  for (let i = this.cleanups.length - 1; i >= 0; i--) {
1064
1173
  const cleanup = this.cleanups[i];
1065
- if (cleanup) await cleanup();
1174
+ if (cleanup) await cleanup(result);
1066
1175
  }
1067
1176
  }
1068
1177
  };
@@ -1115,11 +1224,14 @@ exports.isAtom = isAtom;
1115
1224
  exports.isControllerDep = isControllerDep;
1116
1225
  exports.isFlow = isFlow;
1117
1226
  exports.isPreset = isPreset;
1227
+ exports.isResource = isResource;
1118
1228
  exports.isTag = isTag;
1119
1229
  exports.isTagExecutor = isTagExecutor;
1120
1230
  exports.isTagged = isTagged;
1121
1231
  exports.preset = preset;
1122
1232
  exports.presetSymbol = presetSymbol;
1233
+ exports.resource = resource;
1234
+ exports.resourceSymbol = resourceSymbol;
1123
1235
  exports.service = service;
1124
1236
  exports.tag = tag;
1125
1237
  exports.tagExecutorSymbol = tagExecutorSymbol;
package/dist/index.d.cts CHANGED
@@ -8,6 +8,7 @@ declare const presetSymbol: unique symbol;
8
8
  declare const controllerSymbol: unique symbol;
9
9
  declare const tagExecutorSymbol: unique symbol;
10
10
  declare const typedSymbol: unique symbol;
11
+ declare const resourceSymbol: unique symbol;
11
12
  //#endregion
12
13
  //#region src/types.d.ts
13
14
  type MaybePromise<T> = T | Promise<T>;
@@ -58,6 +59,12 @@ declare namespace Lite {
58
59
  readonly deps?: Record<string, Dependency>;
59
60
  readonly tags?: Tagged<any>[];
60
61
  }
62
+ interface Resource<T, D extends Record<string, Dependency> = Record<string, Dependency>> {
63
+ readonly [resourceSymbol]: true;
64
+ readonly name?: string;
65
+ readonly deps?: D;
66
+ readonly factory: ResourceFactory<T, D>;
67
+ }
61
68
  /**
62
69
  * Unified context data storage with both raw Map operations and Tag-based DX.
63
70
  */
@@ -112,6 +119,12 @@ declare namespace Lite {
112
119
  readonly scope: Scope;
113
120
  readonly data: ContextData;
114
121
  }
122
+ type CloseResult = {
123
+ ok: true;
124
+ } | {
125
+ ok: false;
126
+ error: unknown;
127
+ };
115
128
  interface ExecutionContext {
116
129
  readonly input: unknown;
117
130
  readonly name: string | undefined;
@@ -120,8 +133,8 @@ declare namespace Lite {
120
133
  readonly data: ContextData;
121
134
  exec<Output, Input>(options: ExecFlowOptions<Output, Input>): Promise<Output>;
122
135
  exec<Output, Args extends unknown[]>(options: ExecFnOptions<Output, Args>): Promise<Output>;
123
- onClose(fn: () => MaybePromise<void>): void;
124
- close(): Promise<void>;
136
+ onClose(fn: (result: CloseResult) => MaybePromise<void>): void;
137
+ close(result?: CloseResult): Promise<void>;
125
138
  }
126
139
  type ExecFlowOptions<Output, Input> = {
127
140
  flow: Flow<Output, Input>;
@@ -233,15 +246,38 @@ declare namespace Lite {
233
246
  readonly target: PresetTarget<T, I>;
234
247
  readonly value: PresetValue<T, I>;
235
248
  }
249
+ /**
250
+ * Discriminated context for `wrapResolve`.
251
+ *
252
+ * - `"atom"` — scope-level singleton. Cached after first resolve.
253
+ * - `"resource"` — execution-level. Fresh factory per first encounter,
254
+ * seek-up on nested execs within the same chain.
255
+ */
256
+ type ResolveEvent = {
257
+ readonly kind: "atom";
258
+ readonly target: Atom<unknown>;
259
+ readonly scope: Scope;
260
+ } | {
261
+ readonly kind: "resource";
262
+ readonly target: Resource<unknown>;
263
+ readonly ctx: ExecutionContext;
264
+ };
236
265
  interface Extension {
237
266
  readonly name: string;
238
267
  init?(scope: Scope): MaybePromise<void>;
239
- wrapResolve?(next: () => Promise<unknown>, atom: Atom<unknown>, scope: Scope): Promise<unknown>;
268
+ /**
269
+ * Wraps dependency resolution. Dispatch by `event.kind`:
270
+ *
271
+ * - `"atom"` — `event.scope`, `event.target: Atom`. Cached in scope.
272
+ * - `"resource"` — `event.ctx`, `event.target: Resource`. Seek-up in
273
+ * execution hierarchy, factory(ctx, deps) on miss.
274
+ */
275
+ wrapResolve?(next: () => Promise<unknown>, event: ResolveEvent): Promise<unknown>;
240
276
  wrapExec?(next: () => Promise<unknown>, target: ExecTarget, ctx: ExecutionContext): Promise<unknown>;
241
277
  dispose?(scope: Scope): MaybePromise<void>;
242
278
  }
243
- type Dependency = Atom<unknown> | ControllerDep<unknown> | TagExecutor<any>;
244
- type InferDep<D> = D extends Atom<infer T> ? T : D extends ControllerDep<infer T> ? Controller<T> : D extends TagExecutor<infer TOutput, infer _TTag> ? TOutput : never;
279
+ type Dependency = Atom<unknown> | ControllerDep<unknown> | TagExecutor<any> | Resource<unknown>;
280
+ type InferDep<D> = D extends Atom<infer T> ? T : D extends ControllerDep<infer T> ? Controller<T> : D extends TagExecutor<infer TOutput, infer _TTag> ? TOutput : D extends Resource<infer T> ? T : never;
245
281
  type InferDeps<D> = { [K in keyof D]: InferDep<D[K]> };
246
282
  type AtomFactory<T, D extends Record<string, Dependency>> = keyof D extends never ? (ctx: ResolveContext) => MaybePromise<T> : (ctx: ResolveContext, deps: InferDeps<D>) => MaybePromise<T>;
247
283
  type FlowFactory<Output, Input, D extends Record<string, Dependency>> = keyof D extends never ? (ctx: ExecutionContext & {
@@ -249,6 +285,7 @@ declare namespace Lite {
249
285
  }) => MaybePromise<Output> : (ctx: ExecutionContext & {
250
286
  readonly input: Input;
251
287
  }, deps: InferDeps<D>) => MaybePromise<Output>;
288
+ type ResourceFactory<T, D extends Record<string, Dependency>> = keyof D extends never ? (ctx: ExecutionContext) => MaybePromise<T> : (ctx: ExecutionContext, deps: InferDeps<D>) => MaybePromise<T>;
252
289
  type ServiceMethod = (ctx: ExecutionContext, ...args: any[]) => unknown;
253
290
  type ServiceMethods = Record<string, ServiceMethod>;
254
291
  /**
@@ -265,6 +302,10 @@ declare namespace Lite {
265
302
  * Any controller regardless of value type.
266
303
  */
267
304
  type AnyController = Controller<any>;
305
+ /**
306
+ * Any resource regardless of value type.
307
+ */
308
+ type AnyResource = Resource<any>;
268
309
  /**
269
310
  * Target type for wrapExec extension hook.
270
311
  * Either a Flow or an inline function.
@@ -621,7 +662,7 @@ declare function flow<TOutput, TInput>(config: {
621
662
  }) => MaybePromise<TOutput>;
622
663
  tags?: Lite.Tagged<any>[];
623
664
  }): Lite.Flow<TOutput, TInput>;
624
- declare function flow<TOutput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | {
665
+ declare function flow<TOutput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | Lite.Resource<unknown, Record<string, Lite.Dependency>> | {
625
666
  mode: string;
626
667
  }>>(config: {
627
668
  name?: string;
@@ -630,7 +671,7 @@ declare function flow<TOutput, const D extends Record<string, Lite.Atom<unknown>
630
671
  factory: (ctx: Lite.ExecutionContext, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>;
631
672
  tags?: Lite.Tagged<any>[];
632
673
  }): Lite.Flow<TOutput, void>;
633
- declare function flow<TOutput, TInput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | {
674
+ declare function flow<TOutput, TInput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | Lite.Resource<unknown, Record<string, Lite.Dependency>> | {
634
675
  mode: string;
635
676
  }>>(config: {
636
677
  name?: string;
@@ -641,7 +682,7 @@ declare function flow<TOutput, TInput, const D extends Record<string, Lite.Atom<
641
682
  }, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>;
642
683
  tags?: Lite.Tagged<any>[];
643
684
  }): Lite.Flow<TOutput, TInput>;
644
- declare function flow<TOutput, TInput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | {
685
+ declare function flow<TOutput, TInput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | Lite.Resource<unknown, Record<string, Lite.Dependency>> | {
645
686
  mode: string;
646
687
  }>>(config: {
647
688
  name?: string;
@@ -721,6 +762,53 @@ declare function preset<TOutput, TInput>(target: Lite.Flow<TOutput, TInput>, val
721
762
  */
722
763
  declare function isPreset(value: unknown): value is Lite.Preset<unknown>;
723
764
  //#endregion
765
+ //#region src/resource.d.ts
766
+ /**
767
+ * Creates an execution-scoped dependency that is resolved per execution chain.
768
+ * Fresh instance on first encounter, seek-up on nested execs within the same chain.
769
+ *
770
+ * @param config - Configuration object containing factory function and optional dependencies
771
+ * @returns A Resource instance that can be declared as a dependency in flows and other resources
772
+ *
773
+ * @example
774
+ * ```typescript
775
+ * const requestLogger = resource({
776
+ * deps: { logService: logServiceAtom },
777
+ * factory: (ctx, { logService }) => {
778
+ * const logger = logService.child({ requestId: ctx.data.get("requestId") })
779
+ * ctx.onClose(() => logger.flush())
780
+ * return logger
781
+ * }
782
+ * })
783
+ * ```
784
+ */
785
+ declare function resource<T>(config: {
786
+ name?: string;
787
+ deps?: undefined;
788
+ factory: (ctx: Lite.ExecutionContext) => MaybePromise<T>;
789
+ }): Lite.Resource<T>;
790
+ declare function resource<T, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | Lite.Resource<unknown, Record<string, Lite.Dependency>> | {
791
+ mode: string;
792
+ }>>(config: {
793
+ name?: string;
794
+ deps: D;
795
+ factory: (ctx: Lite.ExecutionContext, deps: Lite.InferDeps<D>) => MaybePromise<T>;
796
+ }): Lite.Resource<T>;
797
+ /**
798
+ * Type guard to check if a value is a Resource.
799
+ *
800
+ * @param value - The value to check
801
+ * @returns True if the value is a Resource, false otherwise
802
+ *
803
+ * @example
804
+ * ```typescript
805
+ * if (isResource(value)) {
806
+ * // value is Lite.Resource<unknown>
807
+ * }
808
+ * ```
809
+ */
810
+ declare function isResource(value: unknown): value is Lite.Resource<unknown>;
811
+ //#endregion
724
812
  //#region src/service.d.ts
725
813
  /** Creates an atom with methods constrained to (ctx: ExecutionContext, ...args) => result. */
726
814
  declare function service<T extends Lite.ServiceMethods>(config: {
@@ -774,5 +862,5 @@ declare class ParseError extends Error {
774
862
  //#region src/index.d.ts
775
863
  declare const VERSION = "0.0.1";
776
864
  //#endregion
777
- export { type AtomState, type Lite, ParseError, VERSION, atom, atomSymbol, controller, controllerDepSymbol, controllerSymbol, createScope, flow, flowSymbol, getAllTags, isAtom, isControllerDep, isFlow, isPreset, isTag, isTagExecutor, isTagged, preset, presetSymbol, service, tag, tagExecutorSymbol, tagSymbol, taggedSymbol, tags, typed, typedSymbol };
865
+ export { type AtomState, type Lite, ParseError, VERSION, atom, atomSymbol, controller, controllerDepSymbol, controllerSymbol, createScope, flow, flowSymbol, getAllTags, isAtom, isControllerDep, isFlow, isPreset, isResource, isTag, isTagExecutor, isTagged, preset, presetSymbol, resource, resourceSymbol, service, tag, tagExecutorSymbol, tagSymbol, taggedSymbol, tags, typed, typedSymbol };
778
866
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/symbols.ts","../src/types.ts","../src/tag.ts","../src/atom.ts","../src/flow.ts","../src/preset.ts","../src/service.ts","../src/scope.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/symbols.ts","../src/types.ts","../src/tag.ts","../src/atom.ts","../src/flow.ts","../src/preset.ts","../src/resource.ts","../src/service.ts","../src/scope.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}