veryfront 0.1.973 → 0.1.975

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 (108) hide show
  1. package/esm/cli/commands/schedule/command-help.d.ts +3 -0
  2. package/esm/cli/commands/schedule/command-help.d.ts.map +1 -0
  3. package/esm/cli/commands/schedule/command-help.js +24 -0
  4. package/esm/cli/commands/schedule/handler.d.ts +3 -0
  5. package/esm/cli/commands/schedule/handler.d.ts.map +1 -0
  6. package/esm/cli/commands/schedule/handler.js +55 -0
  7. package/esm/cli/commands/schedules/command-help.d.ts +3 -0
  8. package/esm/cli/commands/schedules/command-help.d.ts.map +1 -0
  9. package/esm/cli/commands/schedules/command-help.js +16 -0
  10. package/esm/cli/commands/schedules/handler.d.ts +3 -0
  11. package/esm/cli/commands/schedules/handler.d.ts.map +1 -0
  12. package/esm/cli/commands/schedules/handler.js +19 -0
  13. package/esm/cli/commands/trigger-utils.d.ts +19 -0
  14. package/esm/cli/commands/trigger-utils.d.ts.map +1 -0
  15. package/esm/cli/commands/trigger-utils.js +50 -0
  16. package/esm/cli/commands/webhook/command-help.d.ts +3 -0
  17. package/esm/cli/commands/webhook/command-help.d.ts.map +1 -0
  18. package/esm/cli/commands/webhook/command-help.js +24 -0
  19. package/esm/cli/commands/webhook/handler.d.ts +3 -0
  20. package/esm/cli/commands/webhook/handler.d.ts.map +1 -0
  21. package/esm/cli/commands/webhook/handler.js +55 -0
  22. package/esm/cli/commands/webhooks/command-help.d.ts +3 -0
  23. package/esm/cli/commands/webhooks/command-help.d.ts.map +1 -0
  24. package/esm/cli/commands/webhooks/command-help.js +16 -0
  25. package/esm/cli/commands/webhooks/handler.d.ts +3 -0
  26. package/esm/cli/commands/webhooks/handler.d.ts.map +1 -0
  27. package/esm/cli/commands/webhooks/handler.js +19 -0
  28. package/esm/cli/help/command-definitions.d.ts.map +1 -1
  29. package/esm/cli/help/command-definitions.js +8 -0
  30. package/esm/cli/router.d.ts.map +1 -1
  31. package/esm/cli/router.js +8 -0
  32. package/esm/deno.d.ts +14 -0
  33. package/esm/deno.js +15 -1
  34. package/esm/src/agent/runtime/model-resolution.d.ts +1 -0
  35. package/esm/src/agent/runtime/model-resolution.d.ts.map +1 -1
  36. package/esm/src/agent/runtime/model-resolution.js +4 -1
  37. package/esm/src/agent/runtime/provider-tool-compat.d.ts.map +1 -1
  38. package/esm/src/agent/runtime/provider-tool-compat.js +33 -2
  39. package/esm/src/agent/types.d.ts +1 -1
  40. package/esm/src/config/schemas/config.schema.d.ts +24 -0
  41. package/esm/src/config/schemas/config.schema.d.ts.map +1 -1
  42. package/esm/src/config/schemas/config.schema.js +24 -0
  43. package/esm/src/discovery/discovery-engine.d.ts.map +1 -1
  44. package/esm/src/discovery/discovery-engine.js +11 -1
  45. package/esm/src/discovery/handlers/index.d.ts +2 -0
  46. package/esm/src/discovery/handlers/index.d.ts.map +1 -1
  47. package/esm/src/discovery/handlers/index.js +2 -0
  48. package/esm/src/discovery/handlers/schedule-handler.d.ts +4 -0
  49. package/esm/src/discovery/handlers/schedule-handler.d.ts.map +1 -0
  50. package/esm/src/discovery/handlers/schedule-handler.js +8 -0
  51. package/esm/src/discovery/handlers/webhook-handler.d.ts +4 -0
  52. package/esm/src/discovery/handlers/webhook-handler.d.ts.map +1 -0
  53. package/esm/src/discovery/handlers/webhook-handler.js +8 -0
  54. package/esm/src/discovery/project-discovery-config.d.ts +4 -0
  55. package/esm/src/discovery/project-discovery-config.d.ts.map +1 -1
  56. package/esm/src/discovery/project-discovery-config.js +4 -0
  57. package/esm/src/discovery/types.d.ts +6 -0
  58. package/esm/src/discovery/types.d.ts.map +1 -1
  59. package/esm/src/platform/cloud/resolver.d.ts +1 -1
  60. package/esm/src/platform/cloud/resolver.d.ts.map +1 -1
  61. package/esm/src/platform/cloud/resolver.js +1 -1
  62. package/esm/src/provider/index.d.ts +1 -1
  63. package/esm/src/provider/index.js +1 -1
  64. package/esm/src/provider/veryfront-cloud/model-catalog.d.ts +1 -1
  65. package/esm/src/provider/veryfront-cloud/model-catalog.d.ts.map +1 -1
  66. package/esm/src/provider/veryfront-cloud/model-catalog.js +8 -1
  67. package/esm/src/schedule/discovery.d.ts +13 -0
  68. package/esm/src/schedule/discovery.d.ts.map +1 -0
  69. package/esm/src/schedule/discovery.js +12 -0
  70. package/esm/src/schedule/factory.d.ts +3 -0
  71. package/esm/src/schedule/factory.d.ts.map +1 -0
  72. package/esm/src/schedule/factory.js +48 -0
  73. package/esm/src/schedule/index.d.ts +25 -0
  74. package/esm/src/schedule/index.d.ts.map +1 -0
  75. package/esm/src/schedule/index.js +22 -0
  76. package/esm/src/schedule/types.d.ts +21 -0
  77. package/esm/src/schedule/types.d.ts.map +1 -0
  78. package/esm/src/schedule/types.js +9 -0
  79. package/esm/src/trigger/discovery.d.ts +31 -0
  80. package/esm/src/trigger/discovery.d.ts.map +1 -0
  81. package/esm/src/trigger/discovery.js +115 -0
  82. package/esm/src/trigger/index.d.ts +30 -0
  83. package/esm/src/trigger/index.d.ts.map +1 -0
  84. package/esm/src/trigger/index.js +26 -0
  85. package/esm/src/trigger/local-runner.d.ts +20 -0
  86. package/esm/src/trigger/local-runner.d.ts.map +1 -0
  87. package/esm/src/trigger/local-runner.js +92 -0
  88. package/esm/src/trigger/target.d.ts +7 -0
  89. package/esm/src/trigger/target.d.ts.map +1 -0
  90. package/esm/src/trigger/target.js +8 -0
  91. package/esm/src/trigger/validation.d.ts +3 -0
  92. package/esm/src/trigger/validation.d.ts.map +1 -0
  93. package/esm/src/trigger/validation.js +36 -0
  94. package/esm/src/utils/version-constant.d.ts +1 -1
  95. package/esm/src/utils/version-constant.js +1 -1
  96. package/esm/src/webhook/discovery.d.ts +13 -0
  97. package/esm/src/webhook/discovery.d.ts.map +1 -0
  98. package/esm/src/webhook/discovery.js +12 -0
  99. package/esm/src/webhook/factory.d.ts +3 -0
  100. package/esm/src/webhook/factory.d.ts.map +1 -0
  101. package/esm/src/webhook/factory.js +58 -0
  102. package/esm/src/webhook/index.d.ts +29 -0
  103. package/esm/src/webhook/index.d.ts.map +1 -0
  104. package/esm/src/webhook/index.js +26 -0
  105. package/esm/src/webhook/types.d.ts +26 -0
  106. package/esm/src/webhook/types.d.ts.map +1 -0
  107. package/esm/src/webhook/types.js +8 -0
  108. package/package.json +13 -1
@@ -0,0 +1,3 @@
1
+ import type { CommandHelp } from "../../help/types.js";
2
+ export declare const scheduleHelp: CommandHelp;
3
+ //# sourceMappingURL=command-help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/schedule/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,WAuB1B,CAAC"}
@@ -0,0 +1,24 @@
1
+ export const scheduleHelp = {
2
+ name: "schedule",
3
+ category: "ai",
4
+ description: "Run a source-defined schedule locally",
5
+ usage: "veryfront schedule run <id> [options]",
6
+ options: [
7
+ {
8
+ flag: "--input <file>",
9
+ description: "JSON input file to override the schedule input",
10
+ },
11
+ {
12
+ flag: "--json",
13
+ description: "Output the run result as JSON",
14
+ },
15
+ {
16
+ flag: "--debug",
17
+ description: "Enable debug logging",
18
+ },
19
+ ],
20
+ examples: [
21
+ "veryfront schedule run daily-triage",
22
+ "veryfront schedule run daily-triage --input fixtures/priority-queue.json --json",
23
+ ],
24
+ };
@@ -0,0 +1,3 @@
1
+ import type { ParsedArgs } from "../../shared/types.js";
2
+ export declare function handleScheduleCommand(args: ParsedArgs): Promise<void>;
3
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/schedule/handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AA4BxD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC3E"}
@@ -0,0 +1,55 @@
1
+ import * as dntShim from "../../../_dnt.shims.js";
2
+ import { createArgParser, parseArgsOrThrow } from "../../shared/args.js";
3
+ import { withProjectSourceContext } from "../../shared/project-source-context.js";
4
+ import { exitProcess } from "../../utils/index.js";
5
+ import { defineSchema, lazySchema } from "../../../src/schemas/index.js";
6
+ import { discoverSchedules } from "../../../src/schedule/index.js";
7
+ import { runTriggerTarget } from "../../../src/trigger/index.js";
8
+ import { outputTriggerRun, readJsonFile } from "../trigger-utils.js";
9
+ const getScheduleArgsSchema = defineSchema((v) => v.object({
10
+ action: v.literal("run"),
11
+ id: v.string(),
12
+ input: v.string().optional(),
13
+ debug: v.boolean().default(false),
14
+ }));
15
+ const ScheduleArgsSchema = lazySchema(getScheduleArgsSchema);
16
+ const parseScheduleArgs = createArgParser(ScheduleArgsSchema, {
17
+ action: { keys: ["action"], type: "string", positional: 0 },
18
+ id: { keys: ["id"], type: "string", positional: 1 },
19
+ input: { keys: ["input"], type: "string" },
20
+ debug: { keys: ["debug"], type: "boolean" },
21
+ });
22
+ export async function handleScheduleCommand(args) {
23
+ const opts = parseArgsOrThrow(parseScheduleArgs, "schedule", args);
24
+ const projectDir = dntShim.Deno.cwd();
25
+ const input = opts.input ? await readJsonFile(opts.input, "--input JSON file") : undefined;
26
+ await withProjectSourceContext(projectDir, async ({ adapter, config, projectId }) => {
27
+ const result = await discoverSchedules({ projectDir, adapter, config });
28
+ if (result.errors.length > 0) {
29
+ throw new Error(`Schedule discovery failed: ${result.errors[0]?.message}`);
30
+ }
31
+ const schedule = result.items.find((candidate) => candidate.id === opts.id);
32
+ if (!schedule) {
33
+ throw new Error(`Schedule "${opts.id}" not found.`);
34
+ }
35
+ const run = await runTriggerTarget({
36
+ projectDir,
37
+ adapter,
38
+ config,
39
+ projectId,
40
+ target: schedule.target,
41
+ input: input ?? schedule.input ?? {},
42
+ debug: opts.debug,
43
+ });
44
+ await outputTriggerRun({
45
+ command: "schedule",
46
+ triggerId: schedule.id,
47
+ target: schedule.target,
48
+ output: run.output,
49
+ durationMs: run.durationMs,
50
+ });
51
+ }).catch((error) => {
52
+ throw error;
53
+ });
54
+ exitProcess(0);
55
+ }
@@ -0,0 +1,3 @@
1
+ import type { CommandHelp } from "../../help/types.js";
2
+ export declare const schedulesHelp: CommandHelp;
3
+ //# sourceMappingURL=command-help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/schedules/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,aAAa,EAAE,WAe3B,CAAC"}
@@ -0,0 +1,16 @@
1
+ export const schedulesHelp = {
2
+ name: "schedules",
3
+ category: "ai",
4
+ description: "List source-defined schedules",
5
+ usage: "veryfront schedules [options]",
6
+ options: [
7
+ {
8
+ flag: "--json",
9
+ description: "Output discovered schedules and errors as JSON",
10
+ },
11
+ ],
12
+ examples: [
13
+ "veryfront schedules",
14
+ "veryfront schedules --json",
15
+ ],
16
+ };
@@ -0,0 +1,3 @@
1
+ import type { ParsedArgs } from "../../shared/types.js";
2
+ export declare function handleSchedulesCommand(_args: ParsedArgs): Promise<void>;
3
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/schedules/handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQxD,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7E"}
@@ -0,0 +1,19 @@
1
+ import * as dntShim from "../../../_dnt.shims.js";
2
+ import { withProjectSourceContext } from "../../shared/project-source-context.js";
3
+ import { discoverSchedules } from "../../../src/schedule/index.js";
4
+ import { outputTriggerList } from "../trigger-utils.js";
5
+ function formatSchedule(schedule) {
6
+ return `${schedule.id} -> ${schedule.target.kind}:${schedule.target.id} (${schedule.schedule})`;
7
+ }
8
+ export async function handleSchedulesCommand(_args) {
9
+ const projectDir = dntShim.Deno.cwd();
10
+ await withProjectSourceContext(projectDir, async ({ adapter, config }) => {
11
+ const result = await discoverSchedules({ projectDir, adapter, config });
12
+ await outputTriggerList({
13
+ command: "schedules",
14
+ items: result.items,
15
+ errors: result.errors,
16
+ formatItem: formatSchedule,
17
+ });
18
+ });
19
+ }
@@ -0,0 +1,19 @@
1
+ import type { SourceTriggerDiscoveryError } from "../../src/trigger/index.js";
2
+ export declare function readJsonFile(path: string, label: string): Promise<unknown>;
3
+ export declare function outputTriggerList<T>(input: {
4
+ command: string;
5
+ items: T[];
6
+ errors: SourceTriggerDiscoveryError[];
7
+ formatItem: (item: T) => string;
8
+ }): Promise<void>;
9
+ export declare function outputTriggerRun(input: {
10
+ command: string;
11
+ triggerId: string;
12
+ target: {
13
+ kind: string;
14
+ id: string;
15
+ };
16
+ output?: unknown;
17
+ durationMs: number;
18
+ }): Promise<void>;
19
+ //# sourceMappingURL=trigger-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-utils.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/trigger-utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAE9E,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQhF;AAED,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,MAAM,EAAE,2BAA2B,EAAE,CAAC;IACtC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BhB;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhB"}
@@ -0,0 +1,50 @@
1
+ import * as dntShim from "../../_dnt.shims.js";
2
+ import { cliLogger, exitProcess } from "../utils/index.js";
3
+ import { createSuccessEnvelope, isJsonMode, outputJson } from "../shared/json-output.js";
4
+ export async function readJsonFile(path, label) {
5
+ try {
6
+ const content = await dntShim.Deno.readTextFile(path);
7
+ return JSON.parse(content);
8
+ }
9
+ catch (error) {
10
+ const message = error instanceof Error ? error.message : String(error);
11
+ throw new Error(`Invalid ${label}: ${message}`);
12
+ }
13
+ }
14
+ export async function outputTriggerList(input) {
15
+ if (isJsonMode()) {
16
+ await outputJson(createSuccessEnvelope(input.command, {
17
+ items: input.items,
18
+ errors: input.errors,
19
+ }));
20
+ if (input.errors.length > 0)
21
+ exitProcess(1);
22
+ return;
23
+ }
24
+ if (input.items.length === 0) {
25
+ cliLogger.info(`No ${input.command} found.`);
26
+ }
27
+ else {
28
+ for (const item of input.items) {
29
+ cliLogger.info(input.formatItem(item));
30
+ }
31
+ }
32
+ if (input.errors.length > 0) {
33
+ cliLogger.error("");
34
+ cliLogger.error(`${input.errors.length} ${input.command} file failed to load:`);
35
+ for (const error of input.errors) {
36
+ cliLogger.error(` - ${error.sourcePath}: ${error.message}`);
37
+ }
38
+ exitProcess(1);
39
+ }
40
+ }
41
+ export async function outputTriggerRun(input) {
42
+ if (isJsonMode()) {
43
+ await outputJson(createSuccessEnvelope(input.command, input));
44
+ return;
45
+ }
46
+ cliLogger.info(`${input.command} "${input.triggerId}" ran ${input.target.kind} "${input.target.id}" in ${input.durationMs}ms`);
47
+ if (input.output !== undefined) {
48
+ cliLogger.info(JSON.stringify(input.output, null, 2));
49
+ }
50
+ }
@@ -0,0 +1,3 @@
1
+ import type { CommandHelp } from "../../help/types.js";
2
+ export declare const webhookHelp: CommandHelp;
3
+ //# sourceMappingURL=command-help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/webhook/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,WAAW,EAAE,WAuBzB,CAAC"}
@@ -0,0 +1,24 @@
1
+ export const webhookHelp = {
2
+ name: "webhook",
3
+ category: "ai",
4
+ description: "Run a source-defined webhook locally with a fixture payload",
5
+ usage: "veryfront webhook run <id> --payload <file> [options]",
6
+ options: [
7
+ {
8
+ flag: "--payload <file>",
9
+ description: "JSON payload fixture",
10
+ },
11
+ {
12
+ flag: "--json",
13
+ description: "Output the run result as JSON",
14
+ },
15
+ {
16
+ flag: "--debug",
17
+ description: "Enable debug logging",
18
+ },
19
+ ],
20
+ examples: [
21
+ "veryfront webhook run ticket-created --payload fixtures/ticket-created.json",
22
+ "veryfront webhook run ticket-created --payload fixtures/ticket-created.json --json",
23
+ ],
24
+ };
@@ -0,0 +1,3 @@
1
+ import type { ParsedArgs } from "../../shared/types.js";
2
+ export declare function handleWebhookCommand(args: ParsedArgs): Promise<void>;
3
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/webhook/handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AA4BxD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC1E"}
@@ -0,0 +1,55 @@
1
+ import * as dntShim from "../../../_dnt.shims.js";
2
+ import { createArgParser, parseArgsOrThrow } from "../../shared/args.js";
3
+ import { withProjectSourceContext } from "../../shared/project-source-context.js";
4
+ import { exitProcess } from "../../utils/index.js";
5
+ import { defineSchema, lazySchema } from "../../../src/schemas/index.js";
6
+ import { runTriggerTarget } from "../../../src/trigger/index.js";
7
+ import { discoverWebhooks } from "../../../src/webhook/index.js";
8
+ import { outputTriggerRun, readJsonFile } from "../trigger-utils.js";
9
+ const getWebhookArgsSchema = defineSchema((v) => v.object({
10
+ action: v.literal("run"),
11
+ id: v.string(),
12
+ payload: v.string(),
13
+ debug: v.boolean().default(false),
14
+ }));
15
+ const WebhookArgsSchema = lazySchema(getWebhookArgsSchema);
16
+ const parseWebhookArgs = createArgParser(WebhookArgsSchema, {
17
+ action: { keys: ["action"], type: "string", positional: 0 },
18
+ id: { keys: ["id"], type: "string", positional: 1 },
19
+ payload: { keys: ["payload"], type: "string" },
20
+ debug: { keys: ["debug"], type: "boolean" },
21
+ });
22
+ export async function handleWebhookCommand(args) {
23
+ const opts = parseArgsOrThrow(parseWebhookArgs, "webhook", args);
24
+ const projectDir = dntShim.Deno.cwd();
25
+ const payload = await readJsonFile(opts.payload, "--payload JSON file");
26
+ await withProjectSourceContext(projectDir, async ({ adapter, config, projectId }) => {
27
+ const result = await discoverWebhooks({ projectDir, adapter, config });
28
+ if (result.errors.length > 0) {
29
+ throw new Error(`Webhook discovery failed: ${result.errors[0]?.message}`);
30
+ }
31
+ const webhook = result.items.find((candidate) => candidate.id === opts.id);
32
+ if (!webhook) {
33
+ throw new Error(`Webhook "${opts.id}" not found.`);
34
+ }
35
+ const run = await runTriggerTarget({
36
+ projectDir,
37
+ adapter,
38
+ config,
39
+ projectId,
40
+ target: webhook.target,
41
+ input: payload,
42
+ debug: opts.debug,
43
+ });
44
+ await outputTriggerRun({
45
+ command: "webhook",
46
+ triggerId: webhook.id,
47
+ target: webhook.target,
48
+ output: run.output,
49
+ durationMs: run.durationMs,
50
+ });
51
+ }).catch((error) => {
52
+ throw error;
53
+ });
54
+ exitProcess(0);
55
+ }
@@ -0,0 +1,3 @@
1
+ import type { CommandHelp } from "../../help/types.js";
2
+ export declare const webhooksHelp: CommandHelp;
3
+ //# sourceMappingURL=command-help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/webhooks/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,WAe1B,CAAC"}
@@ -0,0 +1,16 @@
1
+ export const webhooksHelp = {
2
+ name: "webhooks",
3
+ category: "ai",
4
+ description: "List source-defined webhooks",
5
+ usage: "veryfront webhooks [options]",
6
+ options: [
7
+ {
8
+ flag: "--json",
9
+ description: "Output discovered webhooks and errors as JSON",
10
+ },
11
+ ],
12
+ examples: [
13
+ "veryfront webhooks",
14
+ "veryfront webhooks --json",
15
+ ],
16
+ };
@@ -0,0 +1,3 @@
1
+ import type { ParsedArgs } from "../../shared/types.js";
2
+ export declare function handleWebhooksCommand(_args: ParsedArgs): Promise<void>;
3
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/webhooks/handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQxD,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5E"}
@@ -0,0 +1,19 @@
1
+ import * as dntShim from "../../../_dnt.shims.js";
2
+ import { withProjectSourceContext } from "../../shared/project-source-context.js";
3
+ import { discoverWebhooks } from "../../../src/webhook/index.js";
4
+ import { outputTriggerList } from "../trigger-utils.js";
5
+ function formatWebhook(webhook) {
6
+ return `${webhook.id} -> ${webhook.target.kind}:${webhook.target.id}`;
7
+ }
8
+ export async function handleWebhooksCommand(_args) {
9
+ const projectDir = dntShim.Deno.cwd();
10
+ await withProjectSourceContext(projectDir, async ({ adapter, config }) => {
11
+ const result = await discoverWebhooks({ projectDir, adapter, config });
12
+ await outputTriggerList({
13
+ command: "webhooks",
14
+ items: result.items,
15
+ errors: result.errors,
16
+ formatItem: formatWebhook,
17
+ });
18
+ });
19
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"command-definitions.d.ts","sourceRoot":"","sources":["../../../src/cli/help/command-definitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA4ClD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,eA0CtB,CAAC"}
1
+ {"version":3,"file":"command-definitions.d.ts","sourceRoot":"","sources":["../../../src/cli/help/command-definitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgDlD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,eA8CtB,CAAC"}
@@ -25,6 +25,8 @@ import { knowledgeHelp } from "../commands/knowledge/command-help.js";
25
25
  import { mergeHelp } from "../commands/merge/command-help.js";
26
26
  import { deployHelp } from "../commands/deploy/command-help.js";
27
27
  import { upHelp } from "../commands/up/command-help.js";
28
+ import { scheduleHelp } from "../commands/schedule/command-help.js";
29
+ import { schedulesHelp } from "../commands/schedules/command-help.js";
28
30
  import { loginHelp } from "../commands/login/command-help.js";
29
31
  import { logoutHelp } from "../commands/logout/command-help.js";
30
32
  import { whoamiHelp } from "../commands/whoami/command-help.js";
@@ -45,6 +47,8 @@ import { configHelp } from "../commands/config/command-help.js";
45
47
  import { openHelp } from "../commands/open/command-help.js";
46
48
  import { completionsHelp } from "../commands/completions/command-help.js";
47
49
  import { extensionHelp } from "../commands/extension/command-help.js";
50
+ import { webhookHelp } from "../commands/webhook/command-help.js";
51
+ import { webhooksHelp } from "../commands/webhooks/command-help.js";
48
52
  /**
49
53
  * Central registry of all command help definitions.
50
54
  * Each command's help is imported from its respective command-help.ts file.
@@ -70,6 +74,8 @@ export const COMMANDS = {
70
74
  merge: mergeHelp,
71
75
  deploy: deployHelp,
72
76
  up: upHelp,
77
+ schedule: scheduleHelp,
78
+ schedules: schedulesHelp,
73
79
  login: loginHelp,
74
80
  logout: logoutHelp,
75
81
  whoami: whoamiHelp,
@@ -91,4 +97,6 @@ export const COMMANDS = {
91
97
  open: openHelp,
92
98
  completions: completionsHelp,
93
99
  extension: extensionHelp,
100
+ webhook: webhookHelp,
101
+ webhooks: webhooksHelp,
94
102
  };
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AA6DA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiHpD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyHlE"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAiEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAqHpD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyHlE"}
package/esm/cli/router.js CHANGED
@@ -27,6 +27,8 @@ import { handleUploadsCommand } from "./commands/uploads/index.js";
27
27
  import { handleFilesCommand } from "./commands/files/index.js";
28
28
  import { handleKnowledgeCommand } from "./commands/knowledge/index.js";
29
29
  import { handleRoutesCommand } from "./commands/routes/handler.js";
30
+ import { handleScheduleCommand } from "./commands/schedule/handler.js";
31
+ import { handleSchedulesCommand } from "./commands/schedules/handler.js";
30
32
  import { handleServeCommand } from "./commands/serve/handler.js";
31
33
  import { handleStartCommand } from "./commands/start/handler.js";
32
34
  import { handleStudioCommand } from "./commands/studio/handler.js";
@@ -43,6 +45,8 @@ import { handleSkillsCommand } from "./commands/skills/handler.js";
43
45
  import { handleConfigCommand } from "./commands/config/handler.js";
44
46
  import { handleOpenCommand } from "./commands/open/handler.js";
45
47
  import { handleCompletionsCommand } from "./commands/completions/handler.js";
48
+ import { handleWebhookCommand } from "./commands/webhook/handler.js";
49
+ import { handleWebhooksCommand } from "./commands/webhooks/handler.js";
46
50
  import { login, logout, whoami } from "./auth/index.js";
47
51
  import { parseLoginMethod } from "./auth/utils.js";
48
52
  import { showCommandHelp, showMainHelp } from "./help/index.js";
@@ -77,6 +81,8 @@ const commands = {
77
81
  "merge": handleMergeCommand,
78
82
  "deploy": handleDeployCommand,
79
83
  "up": handleUpCommand,
84
+ "schedule": handleScheduleCommand,
85
+ "schedules": handleSchedulesCommand,
80
86
  "login": async (args) => {
81
87
  const { parseProvider } = await import("./auth/utils.js");
82
88
  const provider = parseProvider(args);
@@ -125,6 +131,8 @@ const commands = {
125
131
  "config": handleConfigCommand,
126
132
  "open": handleOpenCommand,
127
133
  "completions": handleCompletionsCommand,
134
+ "webhook": handleWebhookCommand,
135
+ "webhooks": handleWebhooksCommand,
128
136
  };
129
137
  /**
130
138
  * Show help for a specific command or main help
package/esm/deno.d.ts CHANGED
@@ -41,6 +41,9 @@ declare namespace _default {
41
41
  "./resource": string;
42
42
  "./runs": string;
43
43
  "./skill": string;
44
+ "./trigger": string;
45
+ "./schedule": string;
46
+ "./webhook": string;
44
47
  "./mcp": string;
45
48
  "./middleware": string;
46
49
  "./observability": string;
@@ -136,11 +139,16 @@ declare namespace _default {
136
139
  "veryfront/build": string;
137
140
  "veryfront/release-assets": string;
138
141
  "veryfront/skill": string;
142
+ "veryfront/trigger": string;
143
+ "veryfront/schedule": string;
144
+ "veryfront/webhook": string;
139
145
  "veryfront/rendering": string;
140
146
  "veryfront/rendering/styles": string;
141
147
  "veryfront/cache": string;
142
148
  "veryfront/security": string;
143
149
  "veryfront/errors": string;
150
+ "veryfront/trigger/target": string;
151
+ "veryfront/trigger/validation": string;
144
152
  "veryfront/issues": string;
145
153
  "veryfront/discovery": string;
146
154
  "veryfront/observability": string;
@@ -203,6 +211,12 @@ declare namespace _default {
203
211
  "#veryfront/security": string;
204
212
  "#veryfront/skill": string;
205
213
  "#veryfront/skill/": string;
214
+ "#veryfront/trigger": string;
215
+ "#veryfront/schedule": string;
216
+ "#veryfront/schedule/": string;
217
+ "#veryfront/webhook": string;
218
+ "#veryfront/webhook/": string;
219
+ "#veryfront/trigger/": string;
206
220
  "#veryfront/server": string;
207
221
  "#veryfront/server/project-env": string;
208
222
  "#veryfront/testing": string;
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.973",
3
+ "version": "0.1.975",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -97,6 +97,9 @@ export default {
97
97
  "./resource": "./src/resource/index.ts",
98
98
  "./runs": "./src/runs/index.ts",
99
99
  "./skill": "./src/skill/index.ts",
100
+ "./trigger": "./src/trigger/index.ts",
101
+ "./schedule": "./src/schedule/index.ts",
102
+ "./webhook": "./src/webhook/index.ts",
100
103
  "./mcp": "./src/mcp/index.ts",
101
104
  "./middleware": "./src/middleware/index.ts",
102
105
  "./observability": "./src/observability/index.ts",
@@ -192,11 +195,16 @@ export default {
192
195
  "veryfront/build": "./src/build/index.ts",
193
196
  "veryfront/release-assets": "./src/release-assets/index.ts",
194
197
  "veryfront/skill": "./src/skill/index.ts",
198
+ "veryfront/trigger": "./src/trigger/index.ts",
199
+ "veryfront/schedule": "./src/schedule/index.ts",
200
+ "veryfront/webhook": "./src/webhook/index.ts",
195
201
  "veryfront/rendering": "./src/rendering/index.ts",
196
202
  "veryfront/rendering/styles": "./src/rendering/styles.ts",
197
203
  "veryfront/cache": "./src/cache/index.ts",
198
204
  "veryfront/security": "./src/security/index.ts",
199
205
  "veryfront/errors": "./src/errors/index.ts",
206
+ "veryfront/trigger/target": "./src/trigger/target.ts",
207
+ "veryfront/trigger/validation": "./src/trigger/validation.ts",
200
208
  "veryfront/issues": "./src/issues/index.ts",
201
209
  "veryfront/discovery": "./src/discovery/index.ts",
202
210
  "veryfront/observability": "./src/observability/index.ts",
@@ -259,6 +267,12 @@ export default {
259
267
  "#veryfront/security": "./src/security/index.ts",
260
268
  "#veryfront/skill": "./src/skill/index.ts",
261
269
  "#veryfront/skill/": "./src/skill/",
270
+ "#veryfront/trigger": "./src/trigger/index.ts",
271
+ "#veryfront/schedule": "./src/schedule/index.ts",
272
+ "#veryfront/schedule/": "./src/schedule/",
273
+ "#veryfront/webhook": "./src/webhook/index.ts",
274
+ "#veryfront/webhook/": "./src/webhook/",
275
+ "#veryfront/trigger/": "./src/trigger/",
262
276
  "#veryfront/server": "./src/server/index.ts",
263
277
  "#veryfront/server/project-env": "./src/server/project-env/index.ts",
264
278
  "#veryfront/testing": "./src/testing/index.ts",
@@ -1,4 +1,5 @@
1
1
  export declare const AUTO_AGENT_MODEL = "auto";
2
+ export declare const DEFAULT_AGENT_MODEL = "openai/gpt-5.4-nano";
2
3
  export declare function normalizeAgentModelConfig(model?: string): string;
3
4
  export declare function resolveConfiguredAgentModel(model?: string): string;
4
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/model-resolution.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAkDvC,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAWlE;AA+ED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAoC1D"}
1
+ {"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/model-resolution.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAkDzD,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAWlE;AA+ED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAoC1D"}
@@ -2,6 +2,7 @@ import { getAnthropicEnvConfig, getGoogleGenAIEnvConfig, getMistralEnvConfig, ge
2
2
  import { findVeryfrontCloudModelByModelId } from "../../provider/veryfront-cloud/model-catalog.js";
3
3
  import { getDefaultVeryfrontCloudModel, isVeryfrontCloudEnabled, } from "../../platform/cloud/resolver.js";
4
4
  export const AUTO_AGENT_MODEL = "auto";
5
+ export const DEFAULT_AGENT_MODEL = "openai/gpt-5.4-nano";
5
6
  const HOSTED_PROVIDER_NAMES = new Set([
6
7
  "anthropic",
7
8
  "google",
@@ -17,7 +18,7 @@ const DIRECT_RUNTIME_PROVIDER_ALIASES = {
17
18
  "google-ai-studio": "google",
18
19
  };
19
20
  const DIRECT_AUTO_MODEL_DEFAULTS = [
20
- { provider: "openai", modelId: "gpt-5.5" },
21
+ { provider: "openai", modelId: "gpt-5.4-nano" },
21
22
  { provider: "anthropic", modelId: "claude-sonnet-4-6" },
22
23
  { provider: "google-ai-studio", modelId: "gemini-3.5-flash" },
23
24
  { provider: "mistral", modelId: "mistral-large-2512" },
@@ -50,6 +51,8 @@ const LEGACY_MODEL_ALIASES = {
50
51
  "kimi-k2.5": "moonshotai/kimi-k2.5",
51
52
  };
52
53
  export function normalizeAgentModelConfig(model) {
54
+ if (model === undefined)
55
+ return DEFAULT_AGENT_MODEL;
53
56
  const normalized = model?.trim();
54
57
  return normalized && normalized.length > 0 ? normalized : AUTO_AGENT_MODEL;
55
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-tool-compat.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/provider-tool-compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,6DAA6D;AAC7D,MAAM,MAAM,0BAA0B,GAClC,WAAW,GACX,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,qDAAqD;AACrD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,gDAAgD;AAChD,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AA2BD,oCAAoC;AACpC,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAsB1E;AAeD,oDAAoD;AACpD,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,OAAO,GAAE,yBAA8B,GACtC,MAAM,EAAE,CAsBV;AAED,+CAA+C;AAC/C,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,OAAO,GAAE,yBAA8B,GACtC,cAAc,EAAE,CAclB;AAuKD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAa/E;AAED,6CAA6C;AAC7C,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAM,GACrD,UAAU,CAWZ"}
1
+ {"version":3,"file":"provider-tool-compat.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/provider-tool-compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,6DAA6D;AAC7D,MAAM,MAAM,0BAA0B,GAClC,WAAW,GACX,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,qDAAqD;AACrD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,gDAAgD;AAChD,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AA2BD,oCAAoC;AACpC,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAsB1E;AAeD,oDAAoD;AACpD,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,OAAO,GAAE,yBAA8B,GACtC,MAAM,EAAE,CAsBV;AAED,+CAA+C;AAC/C,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,OAAO,GAAE,yBAA8B,GACtC,cAAc,EAAE,CAclB;AA6MD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAa/E;AAED,6CAA6C;AAC7C,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAM,GACrD,UAAU,CAeZ"}