create-absolutejs 0.14.5 → 0.15.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.
|
@@ -32,6 +32,12 @@ export const createPackageJson = async ({ agentic, projectName, authOption, plug
|
|
|
32
32
|
packageNames.add('@absolutejs/a2a');
|
|
33
33
|
packageNames.add('@absolutejs/agency');
|
|
34
34
|
packageNames.add('@absolutejs/agent-conformance');
|
|
35
|
+
packageNames.add('@absolutejs/agent-discovery');
|
|
36
|
+
packageNames.add('@absolutejs/agent-inbox');
|
|
37
|
+
packageNames.add('@absolutejs/agent-memory');
|
|
38
|
+
packageNames.add('@absolutejs/agent-runtime');
|
|
39
|
+
packageNames.add('@absolutejs/agent-sandbox');
|
|
40
|
+
packageNames.add('@absolutejs/agent-trust');
|
|
35
41
|
packageNames.add('@absolutejs/agent-control');
|
|
36
42
|
packageNames.add('@absolutejs/auth');
|
|
37
43
|
packageNames.add('@absolutejs/egress');
|
|
@@ -141,6 +147,12 @@ export const createPackageJson = async ({ agentic, projectName, authOption, plug
|
|
|
141
147
|
for (const name of [
|
|
142
148
|
'@absolutejs/a2a',
|
|
143
149
|
'@absolutejs/agency',
|
|
150
|
+
'@absolutejs/agent-discovery',
|
|
151
|
+
'@absolutejs/agent-inbox',
|
|
152
|
+
'@absolutejs/agent-memory',
|
|
153
|
+
'@absolutejs/agent-runtime',
|
|
154
|
+
'@absolutejs/agent-sandbox',
|
|
155
|
+
'@absolutejs/agent-trust',
|
|
144
156
|
'@absolutejs/agent-control',
|
|
145
157
|
'@absolutejs/auth',
|
|
146
158
|
'@absolutejs/egress',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export declare const agentRuntimeSource = "import {\n\tcreateAgency,\n\tcreateAgentControlPlane,\n\tcreateMemoryAgencyStore,\n\tcreateMemoryAgentControlStore,\n\tdenyAllPolicy\n} from '@absolutejs/agency'\n\n// Memory stores are development defaults. Replace them with durable stores\n// before running more than one process or accepting production actions.\nexport const agentControl = createAgentControlPlane({\n\tsources: [],\n\tstore: createMemoryAgentControlStore()\n})\n\n// Intentionally deny-by-default. Replace denyAllPolicy() with your policy\n// decision point only after declaring each action's effects and scopes.\nexport const agency = createAgency({\n\tcontrol: agentControl,\n\tpolicy: denyAllPolicy(),\n\tstore: createMemoryAgencyStore()\n})\n";
|
|
2
|
-
export declare const
|
|
1
|
+
export declare const agentRuntimeSource = "import {\n\tcreateAgency,\n\tcreateAgentControlPlane,\n\tcreateMemoryAgencyStore,\n\tcreateMemoryAgentControlStore,\n\tdenyAllPolicy\n} from '@absolutejs/agency'\nimport {\n\tcreateAgentRuntime,\n\tcreateMemoryAgentRuntimeStore\n} from '@absolutejs/agent-runtime'\n\n// Memory stores are development defaults. Replace them with durable stores\n// before running more than one process or accepting production actions.\nexport const agentControl = createAgentControlPlane({\n\tsources: [],\n\tstore: createMemoryAgentControlStore()\n})\n\n// Intentionally deny-by-default. Replace denyAllPolicy() with your policy\n// decision point only after declaring each action's effects and scopes.\nexport const agency = createAgency({\n\tcontrol: agentControl,\n\tpolicy: denyAllPolicy(),\n\tstore: createMemoryAgencyStore()\n})\n\n// Durable run semantics are available from the first commit. The placeholder\n// driver fails closed until the application supplies its model/tool loop.\nexport const agentRuntime = createAgentRuntime({\n\tstore: createMemoryAgentRuntimeStore(),\n\tdriver: {\n\t\tnext: async () => ({\n\t\t\ttype: 'fail',\n\t\t\tcode: 'agent_not_configured',\n\t\t\tmessage: 'Configure the agent driver before accepting runs'\n\t\t})\n\t},\n\teffects: {\n\t\texecute: async () => {\n\t\t\tthrow new Error('Agent effects are not configured')\n\t\t}\n\t}\n})\n";
|
|
2
|
+
export declare const agentDiscoverySource = "import {\n\tABSOLUTE_AGENT_SCHEMA,\n\tcreateAgentDiscoveryHandler,\n\tsignAgentDocument,\n\ttype AgentDiscoveryDocument,\n\ttype DiscoverySigner\n} from '@absolutejs/agent-discovery'\n\n// Keep this document specific and keyword-rich: registries rank declared\n// capabilities, effects, scopes, interfaces, examples, and publisher trust.\nexport const createAgentDocument = ({\n\torigin,\n\tpublishedAt,\n\tversion\n}: {\n\torigin: string\n\tpublishedAt: string\n\tversion: string\n}): AgentDiscoveryDocument => ({\n\t$schema: ABSOLUTE_AGENT_SCHEMA,\n\tid: `${origin}/agents/main`,\n\tname: 'Replace with your agent name',\n\tdescription: 'Replace with a precise description of the outcomes this agent delivers.',\n\tversion,\n\turl: origin,\n\tpublisher: {\n\t\tid: origin,\n\t\tname: 'Replace with your organization',\n\t\tjwksUri: `${origin}/.well-known/jwks.json`\n\t},\n\tcapabilities: [{\n\t\tid: 'status.read',\n\t\ttitle: 'Read service status',\n\t\tdescription: 'Returns the public health and readiness status of this agent.',\n\t\ttags: ['status', 'health', 'readiness'],\n\t\teffects: ['read'],\n\t\tapproval: 'never'\n\t}],\n\tinterfaces: [{\n\t\ttype: 'http',\n\t\turl: `${origin}/api/agents/main`,\n\t\tcontentTypes: ['application/json']\n\t}],\n\tcategories: ['replace-with-domain-category'],\n\ttags: ['replace-with-user-intent', 'replace-with-outcome'],\n\tlanguages: ['en'],\n\tdocumentationUrl: `${origin}/docs/agents/main`,\n\texamples: [{\n\t\ttitle: 'Check whether the agent is ready',\n\t\tprompt: 'Check the agent service status.',\n\t\tcapabilityId: 'status.read'\n\t}],\n\tcreatedAt: publishedAt,\n\tupdatedAt: publishedAt\n})\n\n// Use a KMS/HSM-backed signer in production. Mount the returned fetch handler\n// at the origin root so all well-known, A2A, JSON-LD, agents.txt, and sitemap\n// discovery surfaces are served from one signed descriptor.\nexport const createAgentDiscovery = async ({\n\tsigner,\n\torigin,\n\tpublishedAt,\n\tversion\n}: {\n\tsigner: DiscoverySigner\n\torigin: string\n\tpublishedAt: string\n\tversion: string\n}) =>\n\tcreateAgentDiscoveryHandler({\n\t\tdocuments: [await signAgentDocument(\n\t\t\tcreateAgentDocument({ origin, publishedAt, version }),\n\t\t\tsigner\n\t\t)]\n\t})\n";
|
|
3
|
+
export declare const agentsGuide = "# Agent execution contract\n\nThis project uses the AbsoluteJS provider-neutral agent stack.\n\n- Authenticate agents and bind every delegation to a user with\n `@absolutejs/auth`. Never treat model-provided identity as authenticated.\n- Route every effectful tool through `agency` in `src/backend/agent.ts`.\n Approval is exact-input-bound; execution requires a fresh single-use lease.\n- Declare tool effects, scopes, approval policy, idempotency keys,\n reversibility, destinations, and spend fields in manifest contract 2.\n- Keep raw credentials host-side with `@absolutejs/secrets` credential\n operations. Agents receive operation results, never secret values.\n- Give agents bounded wallet allowances and signed mandates. The host resolves\n ledger destinations; an agent never supplies the recipient account id.\n- Bind MCP task handles to the authenticated actor on get, update, and cancel.\n- Use `@absolutejs/execution` for idempotent effects and its transactional\n PostgreSQL outbox before handing work to a durable queue.\n- Publish and consume remote agents with `@absolutejs/a2a` using A2A 1.0;\n preserve the authenticated tenant and actor binding at every task boundary.\n- Route outbound HTTP through `@absolutejs/egress`. Authorize host, method,\n resolved public IP, redirects, byte limits, and injected credentials host-side.\n- Store immutable, digest-addressed policy revisions with `@absolutejs/policy`\n and atomically activate only reviewed versions.\n- Publish the signed descriptor in `src/backend/agent-discovery.ts` through\n `@absolutejs/agent-discovery`. Keep capabilities, examples, tags, effects,\n scopes, A2A/MCP interfaces, JSON-LD, agents.txt, and sitemap surfaces current.\n- Run long-lived work through `@absolutejs/agent-runtime`; use its leases,\n checkpoints, timers, budgets, cancellation, and crash-safe effect recovery.\n- Authorize all HTTP/filesystem/process access with expiring\n `@absolutejs/agent-sandbox` grants. There is no ambient agent authority.\n- Preserve instruction/data separation and provenance taints with\n `@absolutejs/agent-trust`; external content never becomes an instruction.\n- Store scoped, expiring, provenance-bearing data with\n `@absolutejs/agent-memory`, and validate writes against memory poisoning.\n- Receive only verified events through `@absolutejs/agent-inbox`; durable\n leases, retries, dead letters, and schedules do not require Redis.\n- Use OpenID AuthZEN AARP for requestable approvals and COAZ mappings for\n parameter-level MCP authorization. Approval always triggers re-evaluation.\n- Protect operator actions with `@absolutejs/agent-control` scopes, a\n kill-switch-first check, and leased idempotency records.\n- Use `@absolutejs/sync-bus-pg` for durable framework channels. Redis is an\n optional at-most-once fanout adapter, not a source of truth or work queue.\n- Run `@absolutejs/agent-conformance` suites for every new action, capability,\n credential, wallet, egress, execution, control, and task adapter.\n- Use the control plane kill switch for incident response. It blocks new\n requests, lease issuance, and execution before downstream revocation fans out.\n\nMemory stores are for local development only. Production stores must be\ndurable and enforce lease/capability consumption atomically. Apply each\npackage's exported PostgreSQL schema in a migration before enabling traffic.\n";
|
|
3
4
|
export declare const scaffoldAgentic: ({ backendDirectory, projectName }: {
|
|
4
5
|
backendDirectory: string;
|
|
5
6
|
projectName: string;
|
|
@@ -7,6 +7,10 @@ export const agentRuntimeSource = `import {
|
|
|
7
7
|
createMemoryAgentControlStore,
|
|
8
8
|
denyAllPolicy
|
|
9
9
|
} from '@absolutejs/agency'
|
|
10
|
+
import {
|
|
11
|
+
createAgentRuntime,
|
|
12
|
+
createMemoryAgentRuntimeStore
|
|
13
|
+
} from '@absolutejs/agent-runtime'
|
|
10
14
|
|
|
11
15
|
// Memory stores are development defaults. Replace them with durable stores
|
|
12
16
|
// before running more than one process or accepting production actions.
|
|
@@ -22,6 +26,101 @@ export const agency = createAgency({
|
|
|
22
26
|
policy: denyAllPolicy(),
|
|
23
27
|
store: createMemoryAgencyStore()
|
|
24
28
|
})
|
|
29
|
+
|
|
30
|
+
// Durable run semantics are available from the first commit. The placeholder
|
|
31
|
+
// driver fails closed until the application supplies its model/tool loop.
|
|
32
|
+
export const agentRuntime = createAgentRuntime({
|
|
33
|
+
store: createMemoryAgentRuntimeStore(),
|
|
34
|
+
driver: {
|
|
35
|
+
next: async () => ({
|
|
36
|
+
type: 'fail',
|
|
37
|
+
code: 'agent_not_configured',
|
|
38
|
+
message: 'Configure the agent driver before accepting runs'
|
|
39
|
+
})
|
|
40
|
+
},
|
|
41
|
+
effects: {
|
|
42
|
+
execute: async () => {
|
|
43
|
+
throw new Error('Agent effects are not configured')
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
})
|
|
47
|
+
`;
|
|
48
|
+
export const agentDiscoverySource = `import {
|
|
49
|
+
ABSOLUTE_AGENT_SCHEMA,
|
|
50
|
+
createAgentDiscoveryHandler,
|
|
51
|
+
signAgentDocument,
|
|
52
|
+
type AgentDiscoveryDocument,
|
|
53
|
+
type DiscoverySigner
|
|
54
|
+
} from '@absolutejs/agent-discovery'
|
|
55
|
+
|
|
56
|
+
// Keep this document specific and keyword-rich: registries rank declared
|
|
57
|
+
// capabilities, effects, scopes, interfaces, examples, and publisher trust.
|
|
58
|
+
export const createAgentDocument = ({
|
|
59
|
+
origin,
|
|
60
|
+
publishedAt,
|
|
61
|
+
version
|
|
62
|
+
}: {
|
|
63
|
+
origin: string
|
|
64
|
+
publishedAt: string
|
|
65
|
+
version: string
|
|
66
|
+
}): AgentDiscoveryDocument => ({
|
|
67
|
+
$schema: ABSOLUTE_AGENT_SCHEMA,
|
|
68
|
+
id: \`\${origin}/agents/main\`,
|
|
69
|
+
name: 'Replace with your agent name',
|
|
70
|
+
description: 'Replace with a precise description of the outcomes this agent delivers.',
|
|
71
|
+
version,
|
|
72
|
+
url: origin,
|
|
73
|
+
publisher: {
|
|
74
|
+
id: origin,
|
|
75
|
+
name: 'Replace with your organization',
|
|
76
|
+
jwksUri: \`\${origin}/.well-known/jwks.json\`
|
|
77
|
+
},
|
|
78
|
+
capabilities: [{
|
|
79
|
+
id: 'status.read',
|
|
80
|
+
title: 'Read service status',
|
|
81
|
+
description: 'Returns the public health and readiness status of this agent.',
|
|
82
|
+
tags: ['status', 'health', 'readiness'],
|
|
83
|
+
effects: ['read'],
|
|
84
|
+
approval: 'never'
|
|
85
|
+
}],
|
|
86
|
+
interfaces: [{
|
|
87
|
+
type: 'http',
|
|
88
|
+
url: \`\${origin}/api/agents/main\`,
|
|
89
|
+
contentTypes: ['application/json']
|
|
90
|
+
}],
|
|
91
|
+
categories: ['replace-with-domain-category'],
|
|
92
|
+
tags: ['replace-with-user-intent', 'replace-with-outcome'],
|
|
93
|
+
languages: ['en'],
|
|
94
|
+
documentationUrl: \`\${origin}/docs/agents/main\`,
|
|
95
|
+
examples: [{
|
|
96
|
+
title: 'Check whether the agent is ready',
|
|
97
|
+
prompt: 'Check the agent service status.',
|
|
98
|
+
capabilityId: 'status.read'
|
|
99
|
+
}],
|
|
100
|
+
createdAt: publishedAt,
|
|
101
|
+
updatedAt: publishedAt
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
// Use a KMS/HSM-backed signer in production. Mount the returned fetch handler
|
|
105
|
+
// at the origin root so all well-known, A2A, JSON-LD, agents.txt, and sitemap
|
|
106
|
+
// discovery surfaces are served from one signed descriptor.
|
|
107
|
+
export const createAgentDiscovery = async ({
|
|
108
|
+
signer,
|
|
109
|
+
origin,
|
|
110
|
+
publishedAt,
|
|
111
|
+
version
|
|
112
|
+
}: {
|
|
113
|
+
signer: DiscoverySigner
|
|
114
|
+
origin: string
|
|
115
|
+
publishedAt: string
|
|
116
|
+
version: string
|
|
117
|
+
}) =>
|
|
118
|
+
createAgentDiscoveryHandler({
|
|
119
|
+
documents: [await signAgentDocument(
|
|
120
|
+
createAgentDocument({ origin, publishedAt, version }),
|
|
121
|
+
signer
|
|
122
|
+
)]
|
|
123
|
+
})
|
|
25
124
|
`;
|
|
26
125
|
export const agentsGuide = `# Agent execution contract
|
|
27
126
|
|
|
@@ -46,6 +145,21 @@ This project uses the AbsoluteJS provider-neutral agent stack.
|
|
|
46
145
|
resolved public IP, redirects, byte limits, and injected credentials host-side.
|
|
47
146
|
- Store immutable, digest-addressed policy revisions with \`@absolutejs/policy\`
|
|
48
147
|
and atomically activate only reviewed versions.
|
|
148
|
+
- Publish the signed descriptor in \`src/backend/agent-discovery.ts\` through
|
|
149
|
+
\`@absolutejs/agent-discovery\`. Keep capabilities, examples, tags, effects,
|
|
150
|
+
scopes, A2A/MCP interfaces, JSON-LD, agents.txt, and sitemap surfaces current.
|
|
151
|
+
- Run long-lived work through \`@absolutejs/agent-runtime\`; use its leases,
|
|
152
|
+
checkpoints, timers, budgets, cancellation, and crash-safe effect recovery.
|
|
153
|
+
- Authorize all HTTP/filesystem/process access with expiring
|
|
154
|
+
\`@absolutejs/agent-sandbox\` grants. There is no ambient agent authority.
|
|
155
|
+
- Preserve instruction/data separation and provenance taints with
|
|
156
|
+
\`@absolutejs/agent-trust\`; external content never becomes an instruction.
|
|
157
|
+
- Store scoped, expiring, provenance-bearing data with
|
|
158
|
+
\`@absolutejs/agent-memory\`, and validate writes against memory poisoning.
|
|
159
|
+
- Receive only verified events through \`@absolutejs/agent-inbox\`; durable
|
|
160
|
+
leases, retries, dead letters, and schedules do not require Redis.
|
|
161
|
+
- Use OpenID AuthZEN AARP for requestable approvals and COAZ mappings for
|
|
162
|
+
parameter-level MCP authorization. Approval always triggers re-evaluation.
|
|
49
163
|
- Protect operator actions with \`@absolutejs/agent-control\` scopes, a
|
|
50
164
|
kill-switch-first check, and leased idempotency records.
|
|
51
165
|
- Use \`@absolutejs/sync-bus-pg\` for durable framework channels. Redis is an
|
|
@@ -62,5 +176,6 @@ package's exported PostgreSQL schema in a migration before enabling traffic.
|
|
|
62
176
|
export const scaffoldAgentic = ({ backendDirectory, projectName }) => {
|
|
63
177
|
mkdirSync(backendDirectory, { recursive: true });
|
|
64
178
|
writeFileSync(join(backendDirectory, 'agent.ts'), agentRuntimeSource);
|
|
179
|
+
writeFileSync(join(backendDirectory, 'agent-discovery.ts'), agentDiscoverySource);
|
|
65
180
|
writeFileSync(join(projectName, 'AGENTS.md'), agentsGuide);
|
|
66
181
|
};
|
package/dist/versions.d.ts
CHANGED
|
@@ -7,14 +7,20 @@ export declare const versions: {
|
|
|
7
7
|
readonly '@absolutejs/absolute': "0.19.0-beta.1081";
|
|
8
8
|
readonly '@absolutejs/a2a': "0.1.0";
|
|
9
9
|
readonly '@absolutejs/agency': "0.4.0";
|
|
10
|
-
readonly '@absolutejs/agent-conformance': "0.
|
|
10
|
+
readonly '@absolutejs/agent-conformance': "0.3.0";
|
|
11
|
+
readonly '@absolutejs/agent-discovery': "0.1.0";
|
|
12
|
+
readonly '@absolutejs/agent-inbox': "0.1.0";
|
|
13
|
+
readonly '@absolutejs/agent-memory': "0.1.0";
|
|
14
|
+
readonly '@absolutejs/agent-runtime': "0.1.0";
|
|
15
|
+
readonly '@absolutejs/agent-sandbox': "0.1.0";
|
|
16
|
+
readonly '@absolutejs/agent-trust': "0.1.0";
|
|
11
17
|
readonly '@absolutejs/agent-control': "0.1.0";
|
|
12
|
-
readonly '@absolutejs/auth': "0.54.
|
|
18
|
+
readonly '@absolutejs/auth': "0.54.8";
|
|
13
19
|
readonly '@absolutejs/egress': "0.1.0";
|
|
14
20
|
readonly '@absolutejs/execution': "0.2.0";
|
|
15
|
-
readonly '@absolutejs/manifest': "0.
|
|
16
|
-
readonly '@absolutejs/mcp': "0.
|
|
17
|
-
readonly '@absolutejs/policy': "0.
|
|
21
|
+
readonly '@absolutejs/manifest': "0.3.0";
|
|
22
|
+
readonly '@absolutejs/mcp': "0.9.0";
|
|
23
|
+
readonly '@absolutejs/policy': "0.2.0";
|
|
18
24
|
readonly '@absolutejs/secrets': "0.7.0";
|
|
19
25
|
readonly '@absolutejs/sync-bus-pg': "0.2.0";
|
|
20
26
|
readonly '@absolutejs/wallet': "0.3.0";
|
|
@@ -30,7 +36,7 @@ export declare const versions: {
|
|
|
30
36
|
readonly '@elysiajs/static': "1.4.7";
|
|
31
37
|
readonly '@elysiajs/swagger': "1.3.1";
|
|
32
38
|
readonly '@eslint/compat': "2.0.2";
|
|
33
|
-
readonly '@eslint/js': "
|
|
39
|
+
readonly '@eslint/js': "9.39.2";
|
|
34
40
|
readonly '@libsql/client': "0.17.0";
|
|
35
41
|
readonly '@neondatabase/serverless': "1.0.2";
|
|
36
42
|
readonly '@planetscale/database': "1.19.0";
|
|
@@ -45,7 +51,7 @@ export declare const versions: {
|
|
|
45
51
|
readonly elysia: "1.4.28";
|
|
46
52
|
readonly 'elysia-rate-limit': "4.5.0";
|
|
47
53
|
readonly 'elysia-scoped-state': "0.1.1";
|
|
48
|
-
readonly eslint: "
|
|
54
|
+
readonly eslint: "9.39.2";
|
|
49
55
|
readonly 'eslint-plugin-absolute': "0.11.13";
|
|
50
56
|
readonly 'eslint-plugin-import': "2.32.0";
|
|
51
57
|
readonly 'eslint-plugin-jsx-a11y': "6.10.2";
|
package/dist/versions.js
CHANGED
|
@@ -8,14 +8,20 @@ export const versions = {
|
|
|
8
8
|
'@absolutejs/absolute': '0.19.0-beta.1081',
|
|
9
9
|
'@absolutejs/a2a': '0.1.0',
|
|
10
10
|
'@absolutejs/agency': '0.4.0',
|
|
11
|
-
'@absolutejs/agent-conformance': '0.
|
|
11
|
+
'@absolutejs/agent-conformance': '0.3.0',
|
|
12
|
+
'@absolutejs/agent-discovery': '0.1.0',
|
|
13
|
+
'@absolutejs/agent-inbox': '0.1.0',
|
|
14
|
+
'@absolutejs/agent-memory': '0.1.0',
|
|
15
|
+
'@absolutejs/agent-runtime': '0.1.0',
|
|
16
|
+
'@absolutejs/agent-sandbox': '0.1.0',
|
|
17
|
+
'@absolutejs/agent-trust': '0.1.0',
|
|
12
18
|
'@absolutejs/agent-control': '0.1.0',
|
|
13
|
-
'@absolutejs/auth': '0.54.
|
|
19
|
+
'@absolutejs/auth': '0.54.8',
|
|
14
20
|
'@absolutejs/egress': '0.1.0',
|
|
15
21
|
'@absolutejs/execution': '0.2.0',
|
|
16
|
-
'@absolutejs/manifest': '0.
|
|
17
|
-
'@absolutejs/mcp': '0.
|
|
18
|
-
'@absolutejs/policy': '0.
|
|
22
|
+
'@absolutejs/manifest': '0.3.0',
|
|
23
|
+
'@absolutejs/mcp': '0.9.0',
|
|
24
|
+
'@absolutejs/policy': '0.2.0',
|
|
19
25
|
'@absolutejs/secrets': '0.7.0',
|
|
20
26
|
'@absolutejs/sync-bus-pg': '0.2.0',
|
|
21
27
|
'@absolutejs/wallet': '0.3.0',
|
|
@@ -34,7 +40,7 @@ export const versions = {
|
|
|
34
40
|
'@elysiajs/swagger': '1.3.1',
|
|
35
41
|
/* ── ESLint + Prettier ────────────────────────────────── */
|
|
36
42
|
'@eslint/compat': '2.0.2',
|
|
37
|
-
'@eslint/js': '
|
|
43
|
+
'@eslint/js': '9.39.2',
|
|
38
44
|
/* ── Database Hosts ───────────────────────────────────── */
|
|
39
45
|
'@libsql/client': '0.17.0',
|
|
40
46
|
'@neondatabase/serverless': '1.0.2',
|
|
@@ -54,7 +60,7 @@ export const versions = {
|
|
|
54
60
|
elysia: '1.4.28',
|
|
55
61
|
'elysia-rate-limit': '4.5.0',
|
|
56
62
|
'elysia-scoped-state': '0.1.1',
|
|
57
|
-
eslint: '
|
|
63
|
+
eslint: '9.39.2',
|
|
58
64
|
'eslint-plugin-absolute': '0.11.13',
|
|
59
65
|
'eslint-plugin-import': '2.32.0',
|
|
60
66
|
/* ── ESLint React ─────────────────────────────────────── */
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"create-absolutejs": "dist/index.js"
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@absolutejs/auth": "0.54.
|
|
7
|
+
"@absolutejs/auth": "0.54.8",
|
|
8
8
|
"@clack/prompts": "1.0.0",
|
|
9
9
|
"picocolors": "1.1.1"
|
|
10
10
|
},
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"typecheck": "bun run tsc --noEmit"
|
|
55
55
|
},
|
|
56
56
|
"type": "module",
|
|
57
|
-
"version": "0.
|
|
57
|
+
"version": "0.15.0"
|
|
58
58
|
}
|