@beignet/core 0.0.34 → 0.0.36
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.
- package/CHANGELOG.md +23 -0
- package/README.md +145 -15
- package/dist/agent-capabilities/index.d.ts +197 -0
- package/dist/agent-capabilities/index.d.ts.map +1 -0
- package/dist/agent-capabilities/index.js +282 -0
- package/dist/agent-capabilities/index.js.map +1 -0
- package/dist/application/index.d.ts +2 -2
- package/dist/application/index.d.ts.map +1 -1
- package/dist/application/index.js +13 -3
- package/dist/application/index.js.map +1 -1
- package/dist/client/client.d.ts +2 -0
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +33 -16
- package/dist/client/client.js.map +1 -1
- package/dist/contracts/contract-builder.d.ts +5 -3
- package/dist/contracts/contract-builder.d.ts.map +1 -1
- package/dist/contracts/contract-builder.js +3 -12
- package/dist/contracts/contract-builder.js.map +1 -1
- package/dist/contracts/contract-group.d.ts +2 -2
- package/dist/contracts/contract-group.d.ts.map +1 -1
- package/dist/contracts/contract-group.js +2 -1
- package/dist/contracts/contract-group.js.map +1 -1
- package/dist/contracts/metadata.d.ts +3 -0
- package/dist/contracts/metadata.d.ts.map +1 -0
- package/dist/contracts/metadata.js +14 -0
- package/dist/contracts/metadata.js.map +1 -0
- package/dist/contracts/types.d.ts +20 -0
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/contracts/types.js.map +1 -1
- package/dist/events/index.d.ts +4 -4
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +5 -5
- package/dist/events/index.js.map +1 -1
- package/dist/idempotency/index.d.ts.map +1 -1
- package/dist/idempotency/index.js +14 -9
- package/dist/idempotency/index.js.map +1 -1
- package/dist/jobs/index.d.ts.map +1 -1
- package/dist/jobs/index.js +10 -4
- package/dist/jobs/index.js.map +1 -1
- package/dist/openapi/index.js +15 -8
- package/dist/openapi/index.js.map +1 -1
- package/dist/ports/auth.d.ts +2 -0
- package/dist/ports/auth.d.ts.map +1 -1
- package/dist/ports/auth.js +2 -0
- package/dist/ports/auth.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/provider.d.ts +9 -1
- package/dist/providers/provider.d.ts.map +1 -1
- package/dist/providers/provider.js.map +1 -1
- package/dist/schedules/index.d.ts +6 -13
- package/dist/schedules/index.d.ts.map +1 -1
- package/dist/schedules/index.js +24 -44
- package/dist/schedules/index.js.map +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/request-executor.d.ts +72 -0
- package/dist/server/request-executor.d.ts.map +1 -0
- package/dist/server/request-executor.js +781 -0
- package/dist/server/request-executor.js.map +1 -0
- package/dist/server/request-preparation.d.ts +39 -0
- package/dist/server/request-preparation.d.ts.map +1 -0
- package/dist/server/request-preparation.js +248 -0
- package/dist/server/request-preparation.js.map +1 -0
- package/dist/server/response-finalization.d.ts +34 -0
- package/dist/server/response-finalization.d.ts.map +1 -0
- package/dist/server/response-finalization.js +279 -0
- package/dist/server/response-finalization.js.map +1 -0
- package/dist/server/route-definitions.d.ts +139 -0
- package/dist/server/route-definitions.d.ts.map +1 -0
- package/dist/server/route-definitions.js +94 -0
- package/dist/server/route-definitions.js.map +1 -0
- package/dist/server/route-matching.d.ts +15 -0
- package/dist/server/route-matching.d.ts.map +1 -0
- package/dist/server/route-matching.js +46 -0
- package/dist/server/route-matching.js.map +1 -0
- package/dist/server/server.d.ts +6 -147
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +29 -1350
- package/dist/server/server.js.map +1 -1
- package/dist/server/use-case-route.d.ts +1 -1
- package/dist/tracing/index.d.ts +1 -1
- package/dist/tracing/index.d.ts.map +1 -1
- package/dist/tracing/index.js.map +1 -1
- package/dist/uploads/client.js +4 -7
- package/dist/uploads/client.js.map +1 -1
- package/dist/uploads/index.d.ts.map +1 -1
- package/dist/uploads/index.js +59 -12
- package/dist/uploads/index.js.map +1 -1
- package/package.json +5 -1
- package/skills/app-architecture/SKILL.md +27 -1
- package/src/agent-capabilities/index.ts +643 -0
- package/src/application/index.ts +19 -5
- package/src/client/client.ts +41 -17
- package/src/contracts/contract-builder.ts +8 -16
- package/src/contracts/contract-group.ts +4 -6
- package/src/contracts/metadata.ts +20 -0
- package/src/contracts/types.ts +39 -0
- package/src/events/index.ts +16 -20
- package/src/idempotency/index.ts +17 -9
- package/src/jobs/index.ts +8 -3
- package/src/openapi/index.ts +24 -12
- package/src/ports/auth.ts +2 -0
- package/src/providers/index.ts +1 -0
- package/src/providers/provider.ts +17 -2
- package/src/schedules/index.ts +57 -63
- package/src/server/index.ts +4 -2
- package/src/server/request-executor.ts +1170 -0
- package/src/server/request-preparation.ts +409 -0
- package/src/server/response-finalization.ts +385 -0
- package/src/server/route-definitions.ts +338 -0
- package/src/server/route-matching.ts +64 -0
- package/src/server/server.ts +63 -2139
- package/src/server/use-case-route.ts +1 -1
- package/src/tracing/index.ts +1 -0
- package/src/uploads/client.ts +4 -7
- package/src/uploads/index.ts +70 -12
package/src/schedules/index.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { StandardSchemaV1 } from "@standard-schema/spec";
|
|
2
|
+
import {
|
|
3
|
+
createProviderInstrumentation,
|
|
4
|
+
type ProviderInstrumentation,
|
|
5
|
+
type ProviderInstrumentationTarget,
|
|
6
|
+
} from "../providers/index.js";
|
|
2
7
|
import { runWithResolvedTracingContext } from "../tracing/execution.js";
|
|
3
8
|
import type { TracingPort } from "../tracing/index.js";
|
|
4
9
|
|
|
@@ -312,16 +317,6 @@ export interface ScheduleDevtoolsEvent {
|
|
|
312
317
|
details?: Record<string, unknown>;
|
|
313
318
|
}
|
|
314
319
|
|
|
315
|
-
/**
|
|
316
|
-
* Sink for schedule devtools events, usually `ctx.ports.devtools`.
|
|
317
|
-
*/
|
|
318
|
-
export interface ScheduleInstrumentation {
|
|
319
|
-
/**
|
|
320
|
-
* Record one schedule devtools event.
|
|
321
|
-
*/
|
|
322
|
-
record(event: ScheduleDevtoolsEvent): unknown;
|
|
323
|
-
}
|
|
324
|
-
|
|
325
320
|
/**
|
|
326
321
|
* Correlation fields attached to schedule instrumentation events.
|
|
327
322
|
*/
|
|
@@ -381,13 +376,14 @@ export interface InlineScheduleRunnerOptions<Ctx> {
|
|
|
381
376
|
*/
|
|
382
377
|
now?: () => Date;
|
|
383
378
|
/**
|
|
384
|
-
*
|
|
379
|
+
* Provider instrumentation target that receives `schedule` events for each
|
|
380
|
+
* run. Pass `ctx.ports`, `ctx.ports.instrumentation`, or
|
|
381
|
+
* `ctx.ports.devtools` directly.
|
|
385
382
|
*
|
|
386
383
|
* The runner records `started`, `completed`, and `failed` events. Recording
|
|
387
|
-
* failures are isolated from schedule execution
|
|
388
|
-
* `onHookError` when provided.
|
|
384
|
+
* failures are isolated from schedule execution.
|
|
389
385
|
*/
|
|
390
|
-
instrumentation?:
|
|
386
|
+
instrumentation?: ProviderInstrumentationTarget;
|
|
391
387
|
/**
|
|
392
388
|
* Correlation fields attached to recorded schedule events.
|
|
393
389
|
*/
|
|
@@ -675,45 +671,28 @@ async function recordScheduleEvent<
|
|
|
675
671
|
Ctx,
|
|
676
672
|
S extends ScheduleDef<string, StandardSchema, Ctx>,
|
|
677
673
|
>(
|
|
678
|
-
|
|
674
|
+
instrumentation: ProviderInstrumentation,
|
|
675
|
+
instrumentationContext: ScheduleInstrumentationContext | undefined,
|
|
679
676
|
schedule: S,
|
|
680
677
|
status: ScheduleDevtoolsEvent["status"],
|
|
681
678
|
run: ScheduleRunContext,
|
|
682
|
-
|
|
683
|
-
payload?: InferSchedulePayload<S>;
|
|
684
|
-
hook: ScheduleHookName;
|
|
685
|
-
scheduleError?: unknown;
|
|
686
|
-
details?: Record<string, unknown>;
|
|
687
|
-
},
|
|
679
|
+
details?: Record<string, unknown>,
|
|
688
680
|
): Promise<void> {
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
details
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
...args.details,
|
|
705
|
-
},
|
|
706
|
-
});
|
|
707
|
-
} catch (error) {
|
|
708
|
-
await reportHookError(options.onHookError, {
|
|
709
|
-
schedule,
|
|
710
|
-
payload: args.payload,
|
|
711
|
-
run,
|
|
712
|
-
hook: args.hook,
|
|
713
|
-
error,
|
|
714
|
-
scheduleError: args.scheduleError,
|
|
715
|
-
});
|
|
716
|
-
}
|
|
681
|
+
instrumentation.record({
|
|
682
|
+
type: "schedule",
|
|
683
|
+
watcher: "schedules",
|
|
684
|
+
requestId: instrumentationContext?.requestId,
|
|
685
|
+
traceId: instrumentationContext?.traceId,
|
|
686
|
+
scheduleName: schedule.name,
|
|
687
|
+
status,
|
|
688
|
+
cron: schedule.cron,
|
|
689
|
+
timezone: schedule.timezone,
|
|
690
|
+
details: {
|
|
691
|
+
source: run.source,
|
|
692
|
+
scheduledAt: run.scheduledAt?.toISOString(),
|
|
693
|
+
...details,
|
|
694
|
+
},
|
|
695
|
+
});
|
|
717
696
|
}
|
|
718
697
|
|
|
719
698
|
function defineScheduleImpl<
|
|
@@ -785,6 +764,13 @@ export function createInlineScheduleRunner<Ctx>(
|
|
|
785
764
|
options: InlineScheduleRunnerOptions<Ctx> = {},
|
|
786
765
|
): InlineScheduleRunner<Ctx> {
|
|
787
766
|
const now = options.now ?? (() => new Date());
|
|
767
|
+
const instrumentation = createProviderInstrumentation(
|
|
768
|
+
options.instrumentation,
|
|
769
|
+
{
|
|
770
|
+
providerName: "schedules",
|
|
771
|
+
watcher: "schedules",
|
|
772
|
+
},
|
|
773
|
+
);
|
|
788
774
|
|
|
789
775
|
return {
|
|
790
776
|
async run<S extends ScheduleDef<string, StandardSchema, Ctx>>(
|
|
@@ -798,10 +784,13 @@ export function createInlineScheduleRunner<Ctx>(
|
|
|
798
784
|
payload = await resolveSchedulePayload(schedule, runOptions, run);
|
|
799
785
|
|
|
800
786
|
const lifecycleArgs = { schedule, payload, run };
|
|
801
|
-
await recordScheduleEvent(
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
787
|
+
await recordScheduleEvent(
|
|
788
|
+
instrumentation,
|
|
789
|
+
options.instrumentationContext,
|
|
790
|
+
schedule,
|
|
791
|
+
"started",
|
|
792
|
+
run,
|
|
793
|
+
);
|
|
805
794
|
await runLifecycleHook(
|
|
806
795
|
"start",
|
|
807
796
|
options.onStart,
|
|
@@ -820,10 +809,13 @@ export function createInlineScheduleRunner<Ctx>(
|
|
|
820
809
|
run,
|
|
821
810
|
}),
|
|
822
811
|
});
|
|
823
|
-
await recordScheduleEvent(
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
812
|
+
await recordScheduleEvent(
|
|
813
|
+
instrumentation,
|
|
814
|
+
options.instrumentationContext,
|
|
815
|
+
schedule,
|
|
816
|
+
"completed",
|
|
817
|
+
run,
|
|
818
|
+
);
|
|
827
819
|
await runLifecycleHook(
|
|
828
820
|
"success",
|
|
829
821
|
options.onSuccess,
|
|
@@ -831,12 +823,14 @@ export function createInlineScheduleRunner<Ctx>(
|
|
|
831
823
|
lifecycleArgs,
|
|
832
824
|
);
|
|
833
825
|
} catch (error) {
|
|
834
|
-
await recordScheduleEvent(
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
826
|
+
await recordScheduleEvent(
|
|
827
|
+
instrumentation,
|
|
828
|
+
options.instrumentationContext,
|
|
829
|
+
schedule,
|
|
830
|
+
"failed",
|
|
831
|
+
run,
|
|
832
|
+
{ error },
|
|
833
|
+
);
|
|
840
834
|
await runErrorHook(options.onError, options.onHookError, {
|
|
841
835
|
error,
|
|
842
836
|
schedule,
|
package/src/server/index.ts
CHANGED
|
@@ -76,7 +76,10 @@ export type {
|
|
|
76
76
|
RawRouteBuilder,
|
|
77
77
|
RawRouteInit,
|
|
78
78
|
RouteDef,
|
|
79
|
+
RouteDefinitionBuilder,
|
|
79
80
|
RouteGroup,
|
|
81
|
+
RouteGroupBuilder,
|
|
82
|
+
Routes,
|
|
80
83
|
ServerInstance,
|
|
81
84
|
} from "./server.js";
|
|
82
85
|
/**
|
|
@@ -84,9 +87,8 @@ export type {
|
|
|
84
87
|
*/
|
|
85
88
|
export {
|
|
86
89
|
contractsFromRoutes,
|
|
90
|
+
createRoutes,
|
|
87
91
|
createServer,
|
|
88
|
-
defineRoute,
|
|
89
|
-
defineRouteGroup,
|
|
90
92
|
defineRoutes,
|
|
91
93
|
} from "./server.js";
|
|
92
94
|
/**
|