@sriinnu/harmon-flow 0.1.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 +661 -0
- package/README.md +79 -0
- package/SKILL.md +44 -0
- package/dist/graph/index.d.ts +116 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +484 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/app-server.d.ts +66 -0
- package/dist/mcp/app-server.d.ts.map +1 -0
- package/dist/mcp/app-server.js +682 -0
- package/dist/mcp/app-server.js.map +1 -0
- package/dist/mcp/auth.d.ts +37 -0
- package/dist/mcp/auth.d.ts.map +1 -0
- package/dist/mcp/auth.js +156 -0
- package/dist/mcp/auth.js.map +1 -0
- package/dist/mcp/cli.d.ts +8 -0
- package/dist/mcp/cli.d.ts.map +1 -0
- package/dist/mcp/cli.js +84 -0
- package/dist/mcp/cli.js.map +1 -0
- package/dist/mcp/daemon-client.d.ts +89 -0
- package/dist/mcp/daemon-client.d.ts.map +1 -0
- package/dist/mcp/daemon-client.js +400 -0
- package/dist/mcp/daemon-client.js.map +1 -0
- package/dist/mcp/http-utils.d.ts +13 -0
- package/dist/mcp/http-utils.d.ts.map +1 -0
- package/dist/mcp/http-utils.js +23 -0
- package/dist/mcp/http-utils.js.map +1 -0
- package/dist/mcp/index.d.ts +90 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +602 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/journal-search.d.ts +31 -0
- package/dist/mcp/journal-search.d.ts.map +1 -0
- package/dist/mcp/journal-search.js +90 -0
- package/dist/mcp/journal-search.js.map +1 -0
- package/dist/mcp/tool-auth.d.ts +14 -0
- package/dist/mcp/tool-auth.d.ts.map +1 -0
- package/dist/mcp/tool-auth.js +25 -0
- package/dist/mcp/tool-auth.js.map +1 -0
- package/dist/parser/frontmatter.d.ts +11 -0
- package/dist/parser/frontmatter.d.ts.map +1 -0
- package/dist/parser/frontmatter.js +28 -0
- package/dist/parser/frontmatter.js.map +1 -0
- package/dist/parser/index.d.ts +53 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +178 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/types.d.ts +197 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +38 -0
- package/dist/types.js.map +1 -0
- package/dist/version.d.ts +8 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +21 -0
- package/dist/version.js.map +1 -0
- package/logo.svg +13 -0
- package/package.json +65 -0
package/dist/types.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Harmon Flow Types - Journal entries, patterns, and graph structures
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
// ============================================================================
|
|
6
|
+
// Journal Entry Schema
|
|
7
|
+
// ============================================================================
|
|
8
|
+
export const MoodTagSchema = z.enum([
|
|
9
|
+
'calm', 'energetic', 'focused', 'relaxed', 'stressed',
|
|
10
|
+
'tired', 'happy', 'sad', 'creative', 'productive',
|
|
11
|
+
'anxious', 'peaceful', 'excited', 'melancholic', 'neutral'
|
|
12
|
+
]);
|
|
13
|
+
export const EnergyLevelSchema = z.enum(['low', 'medium', 'high']);
|
|
14
|
+
export const EntrySourceSchema = z.enum(['cli', 'menubar', 'voice', 'mcp']);
|
|
15
|
+
export const SessionContextSchema = z.object({
|
|
16
|
+
timeOfDay: z.enum(['morning', 'afternoon', 'evening', 'night']).optional(),
|
|
17
|
+
dayOfWeek: z.number().min(0).max(6).optional(),
|
|
18
|
+
weather: z.string().optional(),
|
|
19
|
+
activity: z.string().optional(),
|
|
20
|
+
});
|
|
21
|
+
export const JournalEntryFrontmatterSchema = z.object({
|
|
22
|
+
ts: z.string().datetime(),
|
|
23
|
+
source: EntrySourceSchema,
|
|
24
|
+
device: z.enum(['macos', 'windows', 'wsl', 'linux']),
|
|
25
|
+
sessionId: z.string().optional(),
|
|
26
|
+
policy: z.record(z.string(), z.unknown()).optional(),
|
|
27
|
+
moodTags: z.array(MoodTagSchema).optional(),
|
|
28
|
+
energyLevel: EnergyLevelSchema.optional(),
|
|
29
|
+
context: SessionContextSchema.optional(),
|
|
30
|
+
});
|
|
31
|
+
// ============================================================================
|
|
32
|
+
// Graph Node Types
|
|
33
|
+
// ============================================================================
|
|
34
|
+
export const NodeTypeSchema = z.enum([
|
|
35
|
+
'mood', 'energy', 'time', 'activity', 'session_type',
|
|
36
|
+
'policy_pattern', 'track', 'artist', 'device', 'source'
|
|
37
|
+
]);
|
|
38
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;IAClC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU;IACrD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY;IACjD,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS;CAC3D,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAG5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IAC3C,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACzC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAmBH,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC;IACnC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc;IACpD,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;CACxD,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the harmon-flow package version from package metadata.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Read the harmon-flow version from package.json for both source and built layouts.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getFlowServerVersion(): string;
|
|
8
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAc7C"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the harmon-flow package version from package metadata.
|
|
3
|
+
*/
|
|
4
|
+
import { readFileSync } from 'node:fs';
|
|
5
|
+
const FALLBACK_VERSION = '0.0.0';
|
|
6
|
+
/**
|
|
7
|
+
* Read the harmon-flow version from package.json for both source and built layouts.
|
|
8
|
+
*/
|
|
9
|
+
export function getFlowServerVersion() {
|
|
10
|
+
try {
|
|
11
|
+
const packageJson = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
|
|
12
|
+
if (typeof packageJson.version === 'string' && packageJson.version.length > 0) {
|
|
13
|
+
return packageJson.version;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// I keep the fallback because packaging errors should not crash the MCP server.
|
|
18
|
+
}
|
|
19
|
+
return FALLBACK_VERSION;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEjC;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAE/F,CAAC;QAEF,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9E,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gFAAgF;IAClF,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
|
package/logo.svg
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" fill="none">
|
|
2
|
+
<!-- I am the flow mark: one page moving through a branching route. -->
|
|
3
|
+
<rect width="64" height="64" rx="16" fill="#F3E7D4"/>
|
|
4
|
+
<g stroke="#171513" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round">
|
|
5
|
+
<path d="M24 16H36L42 22V44H24V16Z"/>
|
|
6
|
+
<path d="M36 16V22H42"/>
|
|
7
|
+
<path d="M28 28H37"/>
|
|
8
|
+
<path d="M28 34H37"/>
|
|
9
|
+
<path d="M15 28C18 28 20 29 23 31"/>
|
|
10
|
+
<path d="M43 31C47 28 49 28 53 28"/>
|
|
11
|
+
<path d="M43 38C47 41 49 41 53 41"/>
|
|
12
|
+
</g>
|
|
13
|
+
</svg>
|
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sriinnu/harmon-flow",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "MCP servers for harmon-flow journal analysis and remote Harmon app integration",
|
|
5
|
+
"license": "AGPL-3.0-only",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/sriinnu/harmon.git",
|
|
9
|
+
"directory": "packages/harmon-flow"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/sriinnu/harmon/tree/main/packages/harmon-flow#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/sriinnu/harmon/issues"
|
|
14
|
+
},
|
|
15
|
+
"type": "module",
|
|
16
|
+
"main": "./dist/index.js",
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
18
|
+
"files": [
|
|
19
|
+
"dist/",
|
|
20
|
+
"README.md",
|
|
21
|
+
"SKILL.md",
|
|
22
|
+
"logo.svg"
|
|
23
|
+
],
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"import": "./dist/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./mcp": {
|
|
30
|
+
"types": "./dist/mcp/index.d.ts",
|
|
31
|
+
"import": "./dist/mcp/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./graph": {
|
|
34
|
+
"types": "./dist/graph/index.d.ts",
|
|
35
|
+
"import": "./dist/graph/index.js"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@modelcontextprotocol/sdk": "^1.25.2",
|
|
43
|
+
"gray-matter": "^4.0.3",
|
|
44
|
+
"d3-dag": "^1.1.0",
|
|
45
|
+
"jose": "^6.1.1",
|
|
46
|
+
"uuid": "^13.0.0",
|
|
47
|
+
"zod": "^4.3.5",
|
|
48
|
+
"@sriinnu/harmon-protocol": "0.1.0"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/uuid": "^11.0.0",
|
|
52
|
+
"@types/node": "^25.0.8",
|
|
53
|
+
"typescript": "^5.9.3"
|
|
54
|
+
},
|
|
55
|
+
"scripts": {
|
|
56
|
+
"build": "node --experimental-strip-types ../../scripts/clean-build.ts ./dist ./tsconfig.tsbuildinfo && tsc",
|
|
57
|
+
"dev": "tsc --watch",
|
|
58
|
+
"start": "node ./dist/mcp/cli.js",
|
|
59
|
+
"start:http": "node ./dist/mcp/cli.js --transport http",
|
|
60
|
+
"start:stdio": "node ./dist/mcp/cli.js --transport stdio",
|
|
61
|
+
"lint": "tsc --noEmit",
|
|
62
|
+
"test": "vitest --root ../.. packages/harmon-flow/src",
|
|
63
|
+
"test:run": "vitest --root ../.. run packages/harmon-flow/src"
|
|
64
|
+
}
|
|
65
|
+
}
|