@hongmaple0820/scale-engine 0.24.0 → 0.26.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.
- package/LICENSE +15 -15
- package/README.en.md +336 -304
- package/README.md +500 -475
- package/dist/adapters/AiderAdapter.js +52 -52
- package/dist/adapters/AntigravityAdapter.d.ts +4 -0
- package/dist/adapters/AntigravityAdapter.js +21 -0
- package/dist/adapters/AntigravityAdapter.js.map +1 -0
- package/dist/adapters/ClaudeCodeAdapter.d.ts +4 -1
- package/dist/adapters/ClaudeCodeAdapter.js +34 -34
- package/dist/adapters/ClaudeCodeAdapter.js.map +1 -1
- package/dist/adapters/ClineAdapter.d.ts +4 -0
- package/dist/adapters/ClineAdapter.js +20 -0
- package/dist/adapters/ClineAdapter.js.map +1 -0
- package/dist/adapters/CodexAdapter.js +28 -28
- package/dist/adapters/CursorAdapter.js +26 -26
- package/dist/adapters/DeepSeekTuiAdapter.js +97 -97
- package/dist/adapters/DoubaoAdapter.js +33 -33
- package/dist/adapters/GeminiAdapter.js +26 -26
- package/dist/adapters/GenericProjectAgentAdapter.d.ts +29 -0
- package/dist/adapters/GenericProjectAgentAdapter.js +204 -0
- package/dist/adapters/GenericProjectAgentAdapter.js.map +1 -0
- package/dist/adapters/HermesAdapter.js +26 -26
- package/dist/adapters/JCodeAdapter.d.ts +4 -0
- package/dist/adapters/JCodeAdapter.js +19 -0
- package/dist/adapters/JCodeAdapter.js.map +1 -0
- package/dist/adapters/KiloCodeAdapter.d.ts +4 -0
- package/dist/adapters/KiloCodeAdapter.js +20 -0
- package/dist/adapters/KiloCodeAdapter.js.map +1 -0
- package/dist/adapters/KimiAdapter.js +32 -32
- package/dist/adapters/KiroAdapter.js +26 -26
- package/dist/adapters/OpenClawAdapter.js +26 -26
- package/dist/adapters/OpenCodeAdapter.js +26 -26
- package/dist/adapters/QCoderAdapter.js +26 -26
- package/dist/adapters/QoderAdapter.d.ts +4 -0
- package/dist/adapters/QoderAdapter.js +21 -0
- package/dist/adapters/QoderAdapter.js.map +1 -0
- package/dist/adapters/TraeAdapter.js +26 -26
- package/dist/adapters/VSCAdapter.js +26 -26
- package/dist/adapters/WindsurfAdapter.js +32 -32
- package/dist/adapters/WorkBuddyAdapter.js +26 -26
- package/dist/adapters/index.d.ts +5 -0
- package/dist/adapters/index.js +15 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/api/cli.js +226 -48
- package/dist/api/cli.js.map +1 -1
- package/dist/api/doctor.js +10 -3
- package/dist/api/doctor.js.map +1 -1
- package/dist/api/quickstart.js +7 -1
- package/dist/api/quickstart.js.map +1 -1
- package/dist/artifact/sqliteStore.js +89 -89
- package/dist/artifact/types.d.ts +1 -1
- package/dist/cli/phaseCommands.js +45 -45
- package/dist/context/AntiPatternRegistry.js +20 -20
- package/dist/context/ContextBuilder.js +155 -155
- package/dist/evolution/EvolutionEngine.js +31 -31
- package/dist/evolution/EvolutionEvaluator.d.ts +2 -0
- package/dist/evolution/EvolutionEvaluator.js +7 -1
- package/dist/evolution/EvolutionEvaluator.js.map +1 -1
- package/dist/fsm/FSMAgentBridge.js +11 -11
- package/dist/hooks/HookGeneratorEnhanced.js +218 -218
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/knowledge/SQLiteKnowledgeBase.js +28 -28
- package/dist/memory/MemoryBrain.d.ts +1 -0
- package/dist/memory/MemoryBrain.js +55 -52
- package/dist/memory/MemoryBrain.js.map +1 -1
- package/dist/memory/MemoryFabric.d.ts +13 -1
- package/dist/memory/MemoryFabric.js +35 -0
- package/dist/memory/MemoryFabric.js.map +1 -1
- package/dist/memory/MemoryProviders.d.ts +111 -0
- package/dist/memory/MemoryProviders.js +385 -0
- package/dist/memory/MemoryProviders.js.map +1 -0
- package/dist/memory/index.d.ts +1 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/output/GovernanceDashboard.js +44 -44
- package/dist/output/HTMLArtifactLayer.js +31 -31
- package/dist/prompts/VibeTemplateGallery.js +121 -121
- package/dist/skills/SkillDiscovery.js +12 -1
- package/dist/skills/SkillDiscovery.js.map +1 -1
- package/dist/skills/SkillRadar.js +20 -0
- package/dist/skills/SkillRadar.js.map +1 -1
- package/dist/skills/SkillRepository.d.ts +9 -1
- package/dist/skills/SkillRepository.js +70 -0
- package/dist/skills/SkillRepository.js.map +1 -1
- package/dist/skills/routing/SkillPlanner.js +40 -40
- package/dist/workflow/EngineeringStandards.js +62 -62
- package/dist/workflow/GovernanceTemplatePacks.d.ts +1 -1
- package/dist/workflow/GovernanceTemplatePacks.js +1990 -162
- package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
- package/dist/workflow/GovernanceTemplates.d.ts +2 -0
- package/dist/workflow/GovernanceTemplates.js +1012 -1001
- package/dist/workflow/GovernanceTemplates.js.map +1 -1
- package/dist/workflow/ResourceGovernance.js +16 -16
- package/dist/workflow/TaskArtifactScaffolder.js +10 -10
- package/dist/workflow/UpgradeManager.d.ts +3 -2
- package/dist/workflow/UpgradeManager.js +134 -49
- package/dist/workflow/UpgradeManager.js.map +1 -1
- package/dist/workflow/WorkspaceTopology.js +18 -15
- package/dist/workflow/WorkspaceTopology.js.map +1 -1
- package/docs/CODE_INTELLIGENCE.md +138 -138
- package/docs/CONTEXT_BUDGET.md +81 -81
- package/docs/EXTERNAL_REFERENCES.md +63 -0
- package/docs/GITLAB_FLOW.md +125 -125
- package/docs/GOVERNANCE_DASHBOARD.md +64 -64
- package/docs/MEMORY_BRAIN.md +104 -104
- package/docs/MEMORY_FABRIC.md +134 -107
- package/docs/README.md +79 -68
- package/docs/RUNTIME_EVIDENCE.md +101 -101
- package/docs/SKILL-REPOSITORY.md +57 -0
- package/docs/SKILL_RADAR.md +122 -115
- package/docs/THIRD_PARTY_SKILLS.md +57 -0
- package/docs/WORKFLOW_EVAL.md +151 -151
- package/docs/guides/DEVELOPMENT_WORKFLOW.md +80 -0
- package/docs/guides/GETTING_STARTED.md +50 -0
- package/docs/start/README.md +78 -72
- package/docs/start/agent-governance-demo.md +107 -107
- package/docs/start/quickstart.md +137 -127
- package/docs/start/workflow-upgrade.md +32 -8
- package/docs/workflow/README.md +67 -0
- package/docs/workflow/node-library.md +52 -0
- package/docs/workflow/templates/api-contract.md +29 -0
- package/docs/workflow/templates/architecture-review.md +23 -0
- package/docs/workflow/templates/db-change-plan.md +20 -0
- package/docs/workflow/templates/docs-impact.md +17 -0
- package/docs/workflow/templates/e2e-plan.md +20 -0
- package/docs/workflow/templates/explore.md +16 -0
- package/docs/workflow/templates/github-actions-scale-preflight.yml +32 -0
- package/docs/workflow/templates/mini-prd.md +16 -0
- package/docs/workflow/templates/plan.md +37 -0
- package/docs/workflow/templates/pre-push-scale-preflight.sh +8 -0
- package/docs/workflow/templates/product-smoke.md +61 -0
- package/docs/workflow/templates/reality-check.md +28 -0
- package/docs/workflow/templates/resource-cleanup.md +17 -0
- package/docs/workflow/templates/resource-impact.md +25 -0
- package/docs/workflow/templates/review.md +12 -0
- package/docs/workflow/templates/runtime.md +23 -0
- package/docs/workflow/templates/security-review.md +26 -0
- package/docs/workflow/templates/skill-evidence.md +33 -0
- package/docs/workflow/templates/skill-plan.md +39 -0
- package/docs/workflow/templates/spec.md +17 -0
- package/docs/workflow/templates/standards-impact.md +28 -0
- package/docs/workflow/templates/summary.md +16 -0
- package/docs/workflow/templates/tasks.md +8 -0
- package/docs/workflow/templates/ui-spec.md +29 -0
- package/docs/workflow/templates/verification.md +20 -0
- package/docs/workflow/templates/visual-review.md +20 -0
- package/examples/demo-projects/agent-governance-demo/CONTEXT.md +14 -14
- package/examples/demo-projects/agent-governance-demo/README.md +48 -48
- package/examples/demo-projects/agent-governance-demo/docs/CONTEXT-MAP.md +14 -14
- package/examples/demo-projects/agent-governance-demo/package.json +22 -21
- package/examples/demo-projects/agent-governance-demo/src/oauth-state.ts +39 -39
- package/examples/demo-projects/agent-governance-demo/tests/oauth-state.test.ts +52 -52
- package/package.json +88 -75
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
export type OAuthStateFailure = 'missing-record' | 'state-mismatch' | 'state-expired' | 'state-consumed'
|
|
2
|
-
|
|
3
|
-
export interface OAuthStateRecord {
|
|
4
|
-
state: string
|
|
5
|
-
userId: string
|
|
6
|
-
expiresAt: number
|
|
7
|
-
consumedAt?: number
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface OAuthStateVerification {
|
|
11
|
-
ok: boolean
|
|
12
|
-
userId?: string
|
|
13
|
-
reason?: OAuthStateFailure
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function verifyOAuthState(
|
|
17
|
-
record: OAuthStateRecord | undefined,
|
|
18
|
-
providedState: string,
|
|
19
|
-
now: number = Date.now()
|
|
20
|
-
): OAuthStateVerification {
|
|
21
|
-
if (!record) {
|
|
22
|
-
return { ok: false, reason: 'missing-record' }
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
if (record.state !== providedState) {
|
|
26
|
-
return { ok: false, reason: 'state-mismatch' }
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (record.expiresAt <= now) {
|
|
30
|
-
return { ok: false, reason: 'state-expired' }
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (record.consumedAt !== undefined) {
|
|
34
|
-
return { ok: false, reason: 'state-consumed' }
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return { ok: true, userId: record.userId }
|
|
38
|
-
}
|
|
39
|
-
|
|
1
|
+
export type OAuthStateFailure = 'missing-record' | 'state-mismatch' | 'state-expired' | 'state-consumed'
|
|
2
|
+
|
|
3
|
+
export interface OAuthStateRecord {
|
|
4
|
+
state: string
|
|
5
|
+
userId: string
|
|
6
|
+
expiresAt: number
|
|
7
|
+
consumedAt?: number
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface OAuthStateVerification {
|
|
11
|
+
ok: boolean
|
|
12
|
+
userId?: string
|
|
13
|
+
reason?: OAuthStateFailure
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function verifyOAuthState(
|
|
17
|
+
record: OAuthStateRecord | undefined,
|
|
18
|
+
providedState: string,
|
|
19
|
+
now: number = Date.now()
|
|
20
|
+
): OAuthStateVerification {
|
|
21
|
+
if (!record) {
|
|
22
|
+
return { ok: false, reason: 'missing-record' }
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (record.state !== providedState) {
|
|
26
|
+
return { ok: false, reason: 'state-mismatch' }
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (record.expiresAt <= now) {
|
|
30
|
+
return { ok: false, reason: 'state-expired' }
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (record.consumedAt !== undefined) {
|
|
34
|
+
return { ok: false, reason: 'state-consumed' }
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return { ok: true, userId: record.userId }
|
|
38
|
+
}
|
|
39
|
+
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest'
|
|
2
|
-
import { verifyOAuthState, type OAuthStateRecord } from '../src/oauth-state.js'
|
|
3
|
-
|
|
4
|
-
const future = 2_000
|
|
5
|
-
const now = 1_000
|
|
6
|
-
|
|
7
|
-
function record(overrides: Partial<OAuthStateRecord> = {}): OAuthStateRecord {
|
|
8
|
-
return {
|
|
9
|
-
state: 'state-123',
|
|
10
|
-
userId: 'user-1',
|
|
11
|
-
expiresAt: future,
|
|
12
|
-
...overrides
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
describe('verifyOAuthState', () => {
|
|
17
|
-
it('accepts a valid unexpired state', () => {
|
|
18
|
-
expect(verifyOAuthState(record(), 'state-123', now)).toEqual({
|
|
19
|
-
ok: true,
|
|
20
|
-
userId: 'user-1'
|
|
21
|
-
})
|
|
22
|
-
})
|
|
23
|
-
|
|
24
|
-
it('rejects a missing record', () => {
|
|
25
|
-
expect(verifyOAuthState(undefined, 'state-123', now)).toEqual({
|
|
26
|
-
ok: false,
|
|
27
|
-
reason: 'missing-record'
|
|
28
|
-
})
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
it('rejects a mismatched state', () => {
|
|
32
|
-
expect(verifyOAuthState(record(), 'other-state', now)).toEqual({
|
|
33
|
-
ok: false,
|
|
34
|
-
reason: 'state-mismatch'
|
|
35
|
-
})
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
it('rejects an expired state', () => {
|
|
39
|
-
expect(verifyOAuthState(record({ expiresAt: now }), 'state-123', now)).toEqual({
|
|
40
|
-
ok: false,
|
|
41
|
-
reason: 'state-expired'
|
|
42
|
-
})
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
it('rejects a consumed state', () => {
|
|
46
|
-
expect(verifyOAuthState(record({ consumedAt: 900 }), 'state-123', now)).toEqual({
|
|
47
|
-
ok: false,
|
|
48
|
-
reason: 'state-consumed'
|
|
49
|
-
})
|
|
50
|
-
})
|
|
51
|
-
})
|
|
52
|
-
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
|
2
|
+
import { verifyOAuthState, type OAuthStateRecord } from '../src/oauth-state.js'
|
|
3
|
+
|
|
4
|
+
const future = 2_000
|
|
5
|
+
const now = 1_000
|
|
6
|
+
|
|
7
|
+
function record(overrides: Partial<OAuthStateRecord> = {}): OAuthStateRecord {
|
|
8
|
+
return {
|
|
9
|
+
state: 'state-123',
|
|
10
|
+
userId: 'user-1',
|
|
11
|
+
expiresAt: future,
|
|
12
|
+
...overrides
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
describe('verifyOAuthState', () => {
|
|
17
|
+
it('accepts a valid unexpired state', () => {
|
|
18
|
+
expect(verifyOAuthState(record(), 'state-123', now)).toEqual({
|
|
19
|
+
ok: true,
|
|
20
|
+
userId: 'user-1'
|
|
21
|
+
})
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
it('rejects a missing record', () => {
|
|
25
|
+
expect(verifyOAuthState(undefined, 'state-123', now)).toEqual({
|
|
26
|
+
ok: false,
|
|
27
|
+
reason: 'missing-record'
|
|
28
|
+
})
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
it('rejects a mismatched state', () => {
|
|
32
|
+
expect(verifyOAuthState(record(), 'other-state', now)).toEqual({
|
|
33
|
+
ok: false,
|
|
34
|
+
reason: 'state-mismatch'
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
it('rejects an expired state', () => {
|
|
39
|
+
expect(verifyOAuthState(record({ expiresAt: now }), 'state-123', now)).toEqual({
|
|
40
|
+
ok: false,
|
|
41
|
+
reason: 'state-expired'
|
|
42
|
+
})
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
it('rejects a consumed state', () => {
|
|
46
|
+
expect(verifyOAuthState(record({ consumedAt: 900 }), 'state-123', now)).toEqual({
|
|
47
|
+
ok: false,
|
|
48
|
+
reason: 'state-consumed'
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
})
|
|
52
|
+
|
package/package.json
CHANGED
|
@@ -1,75 +1,88 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@hongmaple0820/scale-engine",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Executable AI agent governance with workflow gates, evidence, skill/tool orchestration, and traceable HTML artifacts",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
"
|
|
8
|
-
},
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
"docs/
|
|
28
|
-
"docs/
|
|
29
|
-
"docs/
|
|
30
|
-
"docs/
|
|
31
|
-
"docs/
|
|
32
|
-
"docs/
|
|
33
|
-
"docs/
|
|
34
|
-
"docs/
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"@
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"
|
|
74
|
-
}
|
|
75
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@hongmaple0820/scale-engine",
|
|
3
|
+
"version": "0.26.0",
|
|
4
|
+
"description": "Executable AI agent governance with workflow gates, evidence, skill/tool orchestration, and traceable HTML artifacts",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/hongmaple0820/scale-engine.git"
|
|
8
|
+
},
|
|
9
|
+
"bugs": {
|
|
10
|
+
"url": "https://github.com/hongmaple0820/scale-engine/issues"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://github.com/hongmaple0820/scale-engine#readme",
|
|
13
|
+
"type": "module",
|
|
14
|
+
"bin": {
|
|
15
|
+
"scale": "dist/api/cli.js"
|
|
16
|
+
},
|
|
17
|
+
"main": "./dist/index.js",
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"import": "./dist/index.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"dist",
|
|
27
|
+
"docs/README.md",
|
|
28
|
+
"docs/CODE_INTELLIGENCE.md",
|
|
29
|
+
"docs/CONTEXT_BUDGET.md",
|
|
30
|
+
"docs/BACKGROUND_HUNTER.md",
|
|
31
|
+
"docs/DEPENDENCY_AUDIT.md",
|
|
32
|
+
"docs/ACTIVE_SECURITY_VISUAL_GATES.md",
|
|
33
|
+
"docs/EVOLUTION_SHADOW_MODE.md",
|
|
34
|
+
"docs/WORKFLOW_EVAL.md",
|
|
35
|
+
"docs/SKILL_RADAR.md",
|
|
36
|
+
"docs/SKILL-REPOSITORY.md",
|
|
37
|
+
"docs/THIRD_PARTY_SKILLS.md",
|
|
38
|
+
"docs/EXTERNAL_REFERENCES.md",
|
|
39
|
+
"docs/MEMORY_BRAIN.md",
|
|
40
|
+
"docs/GOVERNANCE_DASHBOARD.md",
|
|
41
|
+
"docs/GITLAB_FLOW.md",
|
|
42
|
+
"docs/MEMORY_FABRIC.md",
|
|
43
|
+
"docs/RUNTIME_EVIDENCE.md",
|
|
44
|
+
"docs/RESOURCE_GOVERNANCE.md",
|
|
45
|
+
"docs/guides",
|
|
46
|
+
"docs/start",
|
|
47
|
+
"docs/workflow",
|
|
48
|
+
"image",
|
|
49
|
+
"examples/demo-projects/agent-governance-demo"
|
|
50
|
+
],
|
|
51
|
+
"publishConfig": {
|
|
52
|
+
"access": "public"
|
|
53
|
+
},
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build": "tsc",
|
|
56
|
+
"dev": "bun --watch src/api/cli.ts",
|
|
57
|
+
"test": "vitest run --reporter dot --pool=forks --poolOptions.forks.maxForks=1 --poolOptions.forks.minForks=1",
|
|
58
|
+
"typecheck": "tsc --noEmit",
|
|
59
|
+
"lint": "eslint src/**/*.ts",
|
|
60
|
+
"mcp": "node dist/api/mcp.js",
|
|
61
|
+
"serve": "node dist/api/http.js"
|
|
62
|
+
},
|
|
63
|
+
"dependencies": {
|
|
64
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
65
|
+
"better-sqlite3": "^11.10.0",
|
|
66
|
+
"chokidar": "^3.6.0",
|
|
67
|
+
"citty": "^0.1.6",
|
|
68
|
+
"execa": "^9.3.0",
|
|
69
|
+
"hono": "^4.5.0",
|
|
70
|
+
"js-yaml": "^4.1.0",
|
|
71
|
+
"pino": "^9.3.0",
|
|
72
|
+
"pino-pretty": "^11.2.0",
|
|
73
|
+
"zod": "^3.23.0"
|
|
74
|
+
},
|
|
75
|
+
"devDependencies": {
|
|
76
|
+
"@types/better-sqlite3": "^7.6.0",
|
|
77
|
+
"@types/js-yaml": "^4.0.9",
|
|
78
|
+
"@types/node": "^20.14.0",
|
|
79
|
+
"@typescript-eslint/parser": "^8.59.3",
|
|
80
|
+
"eslint": "^9.0.0",
|
|
81
|
+
"tsx": "^4.21.0",
|
|
82
|
+
"typescript": "^5.5.0",
|
|
83
|
+
"vitest": "^2.0.0"
|
|
84
|
+
},
|
|
85
|
+
"engines": {
|
|
86
|
+
"node": ">=20.0.0"
|
|
87
|
+
}
|
|
88
|
+
}
|