@memoire-ai/shared 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/dist/constants.d.ts +15 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +30 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/scoping.d.ts +19 -0
- package/dist/scoping.d.ts.map +1 -0
- package/dist/scoping.js +20 -0
- package/dist/scoping.js.map +1 -0
- package/dist/summarization-prompts.d.ts +22 -0
- package/dist/summarization-prompts.d.ts.map +1 -0
- package/dist/summarization-prompts.js +123 -0
- package/dist/summarization-prompts.js.map +1 -0
- package/dist/types/auth.d.ts +149 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +2 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/config.d.ts +29 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/dashboard.d.ts +203 -0
- package/dist/types/dashboard.d.ts.map +1 -0
- package/dist/types/dashboard.js +2 -0
- package/dist/types/dashboard.js.map +1 -0
- package/dist/types/docs.d.ts +199 -0
- package/dist/types/docs.d.ts.map +1 -0
- package/dist/types/docs.js +2 -0
- package/dist/types/docs.js.map +1 -0
- package/dist/types/events.d.ts +57 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +2 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/facts.d.ts +13 -0
- package/dist/types/facts.d.ts.map +1 -0
- package/dist/types/facts.js +2 -0
- package/dist/types/facts.js.map +1 -0
- package/dist/types/github.d.ts +25 -0
- package/dist/types/github.d.ts.map +1 -0
- package/dist/types/github.js +2 -0
- package/dist/types/github.js.map +1 -0
- package/dist/types/profile.d.ts +11 -0
- package/dist/types/profile.d.ts.map +1 -0
- package/dist/types/profile.js +2 -0
- package/dist/types/profile.js.map +1 -0
- package/dist/types/projects.d.ts +20 -0
- package/dist/types/projects.d.ts.map +1 -0
- package/dist/types/projects.js +2 -0
- package/dist/types/projects.js.map +1 -0
- package/dist/types/retrieval.d.ts +241 -0
- package/dist/types/retrieval.d.ts.map +1 -0
- package/dist/types/retrieval.js +2 -0
- package/dist/types/retrieval.js.map +1 -0
- package/dist/types/sandbox.d.ts +95 -0
- package/dist/types/sandbox.d.ts.map +1 -0
- package/dist/types/sandbox.js +3 -0
- package/dist/types/sandbox.js.map +1 -0
- package/package.json +33 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const API_VERSION = "v1";
|
|
2
|
+
export declare const DEFAULT_PORT = 3100;
|
|
3
|
+
export declare const DEFAULT_TOKEN_BUDGET = 4000;
|
|
4
|
+
export declare const RANKING_WEIGHTS: {
|
|
5
|
+
readonly SAME_PROJECT: 1;
|
|
6
|
+
readonly SAME_REPO: 0.8;
|
|
7
|
+
readonly SAME_BRANCH: 0.9;
|
|
8
|
+
readonly TEAMMATE_WORK: 0.6;
|
|
9
|
+
readonly FILE_OVERLAP: 0.7;
|
|
10
|
+
readonly CONCEPT_OVERLAP: 0.5;
|
|
11
|
+
readonly RECENCY_DECAY: 0.95;
|
|
12
|
+
};
|
|
13
|
+
export declare const EVENT_TYPES: readonly ["prompt", "observation", "session_summary", "decision", "attempt", "branch_event", "convention"];
|
|
14
|
+
export declare const CLIENT_TYPES: readonly ["cursor", "claude", "codex", "cloud", "amp", "other"];
|
|
15
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,eAAO,MAAM,eAAe;;;;;;;;CAQlB,CAAC;AAEX,eAAO,MAAM,WAAW,4GAQd,CAAC;AAEX,eAAO,MAAM,YAAY,iEAOf,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export const API_VERSION = 'v1';
|
|
2
|
+
export const DEFAULT_PORT = 3100;
|
|
3
|
+
export const DEFAULT_TOKEN_BUDGET = 4000;
|
|
4
|
+
export const RANKING_WEIGHTS = {
|
|
5
|
+
SAME_PROJECT: 1.0,
|
|
6
|
+
SAME_REPO: 0.8,
|
|
7
|
+
SAME_BRANCH: 0.9,
|
|
8
|
+
TEAMMATE_WORK: 0.6,
|
|
9
|
+
FILE_OVERLAP: 0.7,
|
|
10
|
+
CONCEPT_OVERLAP: 0.5,
|
|
11
|
+
RECENCY_DECAY: 0.95, // per day
|
|
12
|
+
};
|
|
13
|
+
export const EVENT_TYPES = [
|
|
14
|
+
'prompt',
|
|
15
|
+
'observation',
|
|
16
|
+
'session_summary',
|
|
17
|
+
'decision',
|
|
18
|
+
'attempt',
|
|
19
|
+
'branch_event',
|
|
20
|
+
'convention',
|
|
21
|
+
];
|
|
22
|
+
export const CLIENT_TYPES = [
|
|
23
|
+
'cursor',
|
|
24
|
+
'claude',
|
|
25
|
+
'codex',
|
|
26
|
+
'cloud',
|
|
27
|
+
'amp',
|
|
28
|
+
'other',
|
|
29
|
+
];
|
|
30
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;AAChC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,GAAG;IAChB,aAAa,EAAE,GAAG;IAClB,YAAY,EAAE,GAAG;IACjB,eAAe,EAAE,GAAG;IACpB,aAAa,EAAE,IAAI,EAAE,UAAU;CACvB,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ;IACR,aAAa;IACb,iBAAiB;IACjB,UAAU;IACV,SAAS;IACT,cAAc;IACd,YAAY;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;CACC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './types/events.js';
|
|
2
|
+
export * from './types/retrieval.js';
|
|
3
|
+
export * from './types/auth.js';
|
|
4
|
+
export * from './types/config.js';
|
|
5
|
+
export * from './types/dashboard.js';
|
|
6
|
+
export * from './types/docs.js';
|
|
7
|
+
export * from './types/facts.js';
|
|
8
|
+
export * from './types/profile.js';
|
|
9
|
+
export * from './types/github.js';
|
|
10
|
+
export * from './types/sandbox.js';
|
|
11
|
+
export * from './scoping.js';
|
|
12
|
+
export * from './constants.js';
|
|
13
|
+
export * from './summarization-prompts.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './types/events.js';
|
|
2
|
+
export * from './types/retrieval.js';
|
|
3
|
+
export * from './types/auth.js';
|
|
4
|
+
export * from './types/config.js';
|
|
5
|
+
export * from './types/dashboard.js';
|
|
6
|
+
export * from './types/docs.js';
|
|
7
|
+
export * from './types/facts.js';
|
|
8
|
+
export * from './types/profile.js';
|
|
9
|
+
export * from './types/github.js';
|
|
10
|
+
export * from './types/sandbox.js';
|
|
11
|
+
export * from './scoping.js';
|
|
12
|
+
export * from './constants.js';
|
|
13
|
+
export * from './summarization-prompts.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission model:
|
|
3
|
+
* - Same org + same project → can see shared context
|
|
4
|
+
* - Same org + different project → cannot see by default
|
|
5
|
+
* - Different org → never
|
|
6
|
+
* - private=true → only visible to the writing user
|
|
7
|
+
*/
|
|
8
|
+
export interface ScopeContext {
|
|
9
|
+
org_id: string;
|
|
10
|
+
project_id: string;
|
|
11
|
+
user_id: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function canAccessEvent(viewer: ScopeContext, event: {
|
|
14
|
+
org_id: string;
|
|
15
|
+
project_id: string;
|
|
16
|
+
user_id: string;
|
|
17
|
+
private?: boolean;
|
|
18
|
+
}): boolean;
|
|
19
|
+
//# sourceMappingURL=scoping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoping.d.ts","sourceRoot":"","sources":["../src/scoping.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAChF,OAAO,CAWT"}
|
package/dist/scoping.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission model:
|
|
3
|
+
* - Same org + same project → can see shared context
|
|
4
|
+
* - Same org + different project → cannot see by default
|
|
5
|
+
* - Different org → never
|
|
6
|
+
* - private=true → only visible to the writing user
|
|
7
|
+
*/
|
|
8
|
+
export function canAccessEvent(viewer, event) {
|
|
9
|
+
// Different org → never
|
|
10
|
+
if (viewer.org_id !== event.org_id)
|
|
11
|
+
return false;
|
|
12
|
+
// Different project → no by default
|
|
13
|
+
if (viewer.project_id !== event.project_id)
|
|
14
|
+
return false;
|
|
15
|
+
// Private event → only the author
|
|
16
|
+
if (event.private && viewer.user_id !== event.user_id)
|
|
17
|
+
return false;
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=scoping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoping.js","sourceRoot":"","sources":["../src/scoping.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,UAAU,cAAc,CAC5B,MAAoB,EACpB,KAAiF;IAEjF,wBAAwB;IACxB,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAEjD,oCAAoC;IACpC,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAEzD,kCAAkC;IAClC,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAEpE,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared prompt templates for event summarization.
|
|
3
|
+
*
|
|
4
|
+
* Used by both:
|
|
5
|
+
* - Server-side: apps/api/src/services/summarization.ts
|
|
6
|
+
* - Client-side: packages/collector/src/client-summarizer.ts
|
|
7
|
+
*
|
|
8
|
+
* Single source of truth — prevents prompt drift between client and server.
|
|
9
|
+
*/
|
|
10
|
+
export declare const MAX_SUMMARY_LENGTH = 180;
|
|
11
|
+
export declare function buildSummarizationSystemPrompt(eventType: string): string;
|
|
12
|
+
export declare function buildSummarizationRepairSystemPrompt(eventType: string): string;
|
|
13
|
+
export interface SummarizationEventInput {
|
|
14
|
+
content: string;
|
|
15
|
+
eventType: string;
|
|
16
|
+
filesRead?: string[];
|
|
17
|
+
filesModified?: string[];
|
|
18
|
+
concepts?: string[];
|
|
19
|
+
branchName?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function buildSummarizationUserPrompt(event: SummarizationEventInput): string;
|
|
22
|
+
//# sourceMappingURL=summarization-prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summarization-prompts.d.ts","sourceRoot":"","sources":["../src/summarization-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAiCxE;AAED,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO9E;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAkBnF"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared prompt templates for event summarization.
|
|
3
|
+
*
|
|
4
|
+
* Used by both:
|
|
5
|
+
* - Server-side: apps/api/src/services/summarization.ts
|
|
6
|
+
* - Client-side: packages/collector/src/client-summarizer.ts
|
|
7
|
+
*
|
|
8
|
+
* Single source of truth — prevents prompt drift between client and server.
|
|
9
|
+
*/
|
|
10
|
+
export const MAX_SUMMARY_LENGTH = 180;
|
|
11
|
+
export function buildSummarizationSystemPrompt(eventType) {
|
|
12
|
+
const base = [
|
|
13
|
+
'You compress coding agent memory events for future retrieval.',
|
|
14
|
+
'Return JSON only.',
|
|
15
|
+
'Do not add markdown, prose, XML, or explanations.',
|
|
16
|
+
`summary must be one sentence and <= ${MAX_SUMMARY_LENGTH} characters.`,
|
|
17
|
+
'concepts must be 3-8 short lowercase technical terms.',
|
|
18
|
+
'Focus on what future coding agents need: decisions, failures, files, tooling, architecture, and next work.',
|
|
19
|
+
];
|
|
20
|
+
if (eventType === 'session_summary') {
|
|
21
|
+
return [
|
|
22
|
+
...base,
|
|
23
|
+
'Schema:',
|
|
24
|
+
'{"summary": string, "concepts": string[], "details": {"request"?: string, "investigated"?: string[], "learned"?: string[], "completed"?: string[], "next_steps"?: string[]}}',
|
|
25
|
+
'For session_summary events, details.request should state the user goal.',
|
|
26
|
+
'details.investigated should list what was inspected or explored.',
|
|
27
|
+
'details.learned should list durable takeaways.',
|
|
28
|
+
'details.completed should list what shipped or changed.',
|
|
29
|
+
'details.next_steps should list pending work or follow-ups.',
|
|
30
|
+
'Each list should have 1-4 concise items.',
|
|
31
|
+
].join('\n');
|
|
32
|
+
}
|
|
33
|
+
return [
|
|
34
|
+
...base,
|
|
35
|
+
...eventTypeInstructions(eventType),
|
|
36
|
+
'Schema:',
|
|
37
|
+
'{"summary": string, "concepts": string[], "details": {"title"?: string, "subtitle"?: string, "facts"?: string[]}}',
|
|
38
|
+
'For non-session events, details.title should be a short headline.',
|
|
39
|
+
'details.subtitle should be a single concise explanation.',
|
|
40
|
+
'details.facts should be 1-4 short bullets capturing the most important specifics.',
|
|
41
|
+
].join('\n');
|
|
42
|
+
}
|
|
43
|
+
export function buildSummarizationRepairSystemPrompt(eventType) {
|
|
44
|
+
return [
|
|
45
|
+
buildSummarizationSystemPrompt(eventType),
|
|
46
|
+
'The previous model output was invalid for the required schema.',
|
|
47
|
+
'Repair it into valid JSON only.',
|
|
48
|
+
'Do not invent facts beyond the supplied event payload.',
|
|
49
|
+
].join('\n');
|
|
50
|
+
}
|
|
51
|
+
export function buildSummarizationUserPrompt(event) {
|
|
52
|
+
const filesRead = (event.filesRead ?? []).join(', ') || 'none';
|
|
53
|
+
const filesModified = (event.filesModified ?? []).join(', ') || 'none';
|
|
54
|
+
const existingConcepts = (event.concepts ?? []).join(', ') || 'none';
|
|
55
|
+
const content = event.content.length > 5000
|
|
56
|
+
? `${event.content.slice(0, 4999)}…`
|
|
57
|
+
: event.content;
|
|
58
|
+
return [
|
|
59
|
+
`event_type: ${event.eventType}`,
|
|
60
|
+
`branch_name: ${event.branchName ?? 'none'}`,
|
|
61
|
+
`files_read: ${filesRead}`,
|
|
62
|
+
`files_modified: ${filesModified}`,
|
|
63
|
+
`existing_concepts: ${existingConcepts}`,
|
|
64
|
+
`event_focus: ${eventTypeFocus(event.eventType)}`,
|
|
65
|
+
'content:',
|
|
66
|
+
content,
|
|
67
|
+
].join('\n');
|
|
68
|
+
}
|
|
69
|
+
function eventTypeInstructions(eventType) {
|
|
70
|
+
switch (eventType) {
|
|
71
|
+
case 'prompt':
|
|
72
|
+
return [
|
|
73
|
+
'Treat this as a user request.',
|
|
74
|
+
'Capture the goal, constraints, desired outcome, and the main files or systems in scope.',
|
|
75
|
+
];
|
|
76
|
+
case 'decision':
|
|
77
|
+
return [
|
|
78
|
+
'Treat this as an engineering decision.',
|
|
79
|
+
'Capture what was chosen, why it was chosen, and the strongest tradeoff or rejected alternative if present.',
|
|
80
|
+
];
|
|
81
|
+
case 'attempt':
|
|
82
|
+
return [
|
|
83
|
+
'Treat this as an experiment, failure, or rollback.',
|
|
84
|
+
'Capture what was tried, what broke or failed, whether it was reverted, and what future agents should avoid.',
|
|
85
|
+
];
|
|
86
|
+
case 'branch_event':
|
|
87
|
+
return [
|
|
88
|
+
'Treat this as branch lifecycle activity.',
|
|
89
|
+
'Capture the action, the branch involved, and how it changes project state.',
|
|
90
|
+
];
|
|
91
|
+
case 'convention':
|
|
92
|
+
return [
|
|
93
|
+
'Treat this as a reusable team rule or project convention.',
|
|
94
|
+
'Capture the rule, its scope, and how future contributors should apply it.',
|
|
95
|
+
];
|
|
96
|
+
case 'observation':
|
|
97
|
+
default:
|
|
98
|
+
return [
|
|
99
|
+
'Treat this as observed coding work.',
|
|
100
|
+
'Capture what was inspected or changed, which files were involved, and the most durable takeaway.',
|
|
101
|
+
];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function eventTypeFocus(eventType) {
|
|
105
|
+
switch (eventType) {
|
|
106
|
+
case 'prompt':
|
|
107
|
+
return 'user goal, constraints, scope, success target';
|
|
108
|
+
case 'decision':
|
|
109
|
+
return 'choice made, rationale, tradeoffs, rejected options';
|
|
110
|
+
case 'attempt':
|
|
111
|
+
return 'attempted change, failure mode, rollback status, warning for future agents';
|
|
112
|
+
case 'branch_event':
|
|
113
|
+
return 'branch action, affected branch, project-state transition';
|
|
114
|
+
case 'convention':
|
|
115
|
+
return 'reusable team standard, scope, enforcement guidance';
|
|
116
|
+
case 'session_summary':
|
|
117
|
+
return 'request, investigated work, learned context, completed work, next steps';
|
|
118
|
+
case 'observation':
|
|
119
|
+
default:
|
|
120
|
+
return 'work performed, files touched, durable takeaway';
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=summarization-prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summarization-prompts.js","sourceRoot":"","sources":["../src/summarization-prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/** API key metadata */
|
|
2
|
+
export interface ApiKeyInfo {
|
|
3
|
+
key_id: string;
|
|
4
|
+
org_id: string;
|
|
5
|
+
scopes: string[];
|
|
6
|
+
rate_limit: number;
|
|
7
|
+
created_at: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ApiKeySummary extends ApiKeyInfo {
|
|
10
|
+
key_prefix: string;
|
|
11
|
+
name?: string;
|
|
12
|
+
last_used_at?: string;
|
|
13
|
+
revoked_at?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ListApiKeysResponse {
|
|
16
|
+
api_keys: ApiKeySummary[];
|
|
17
|
+
}
|
|
18
|
+
export interface CreateApiKeyRequest {
|
|
19
|
+
name?: string;
|
|
20
|
+
scopes?: string[];
|
|
21
|
+
rate_limit?: number;
|
|
22
|
+
}
|
|
23
|
+
export interface CreateApiKeyResponse {
|
|
24
|
+
api_key: ApiKeySummary;
|
|
25
|
+
token: string;
|
|
26
|
+
}
|
|
27
|
+
export interface RevokeApiKeyRequest {
|
|
28
|
+
key_id: string;
|
|
29
|
+
}
|
|
30
|
+
/** Registered client info */
|
|
31
|
+
export interface RegisteredClient {
|
|
32
|
+
client_id: string;
|
|
33
|
+
org_id: string;
|
|
34
|
+
project_id: string;
|
|
35
|
+
client_type: string;
|
|
36
|
+
user_id: string;
|
|
37
|
+
registered_at: string;
|
|
38
|
+
}
|
|
39
|
+
/** Register client request */
|
|
40
|
+
export interface RegisterClientRequest {
|
|
41
|
+
client_type: string;
|
|
42
|
+
project_id: string;
|
|
43
|
+
user_name: string;
|
|
44
|
+
user_email?: string;
|
|
45
|
+
machine_id?: string;
|
|
46
|
+
repo_url?: string;
|
|
47
|
+
}
|
|
48
|
+
/** Register client response */
|
|
49
|
+
export interface RegisterClientResponse {
|
|
50
|
+
client_id: string;
|
|
51
|
+
org_id: string;
|
|
52
|
+
project_id: string;
|
|
53
|
+
user_id: string;
|
|
54
|
+
}
|
|
55
|
+
export interface ProjectSummary {
|
|
56
|
+
id: string;
|
|
57
|
+
name: string;
|
|
58
|
+
slug: string;
|
|
59
|
+
repo_url?: string;
|
|
60
|
+
created_at: string;
|
|
61
|
+
}
|
|
62
|
+
export interface ListProjectsResponse {
|
|
63
|
+
projects: ProjectSummary[];
|
|
64
|
+
}
|
|
65
|
+
export interface CreateProjectRequest {
|
|
66
|
+
name: string;
|
|
67
|
+
slug?: string;
|
|
68
|
+
repo_url?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface CreateProjectResponse {
|
|
71
|
+
project: ProjectSummary;
|
|
72
|
+
created: boolean;
|
|
73
|
+
}
|
|
74
|
+
export interface BootstrapWorkspaceRequest {
|
|
75
|
+
org_name: string;
|
|
76
|
+
org_slug?: string;
|
|
77
|
+
project_name: string;
|
|
78
|
+
project_slug?: string;
|
|
79
|
+
admin_name: string;
|
|
80
|
+
admin_email?: string;
|
|
81
|
+
repo_url?: string;
|
|
82
|
+
}
|
|
83
|
+
export interface BootstrapWorkspaceResponse {
|
|
84
|
+
org_id: string;
|
|
85
|
+
org_slug: string;
|
|
86
|
+
project_id: string;
|
|
87
|
+
project_slug: string;
|
|
88
|
+
user_id: string;
|
|
89
|
+
api_key: ApiKeySummary;
|
|
90
|
+
token: string;
|
|
91
|
+
}
|
|
92
|
+
export interface WorkspaceInviteSummary {
|
|
93
|
+
id: string;
|
|
94
|
+
org_id: string;
|
|
95
|
+
project_id: string;
|
|
96
|
+
email: string;
|
|
97
|
+
invited_name?: string;
|
|
98
|
+
role: string;
|
|
99
|
+
status: 'pending' | 'accepted' | 'revoked' | 'expired';
|
|
100
|
+
created_at: string;
|
|
101
|
+
expires_at: string;
|
|
102
|
+
accepted_at?: string;
|
|
103
|
+
}
|
|
104
|
+
export interface CreateInviteRequest {
|
|
105
|
+
org_id: string;
|
|
106
|
+
project_id: string;
|
|
107
|
+
viewer_user_id: string;
|
|
108
|
+
email: string;
|
|
109
|
+
invited_name?: string;
|
|
110
|
+
role?: string;
|
|
111
|
+
expires_in_days?: number;
|
|
112
|
+
}
|
|
113
|
+
export interface CreateInviteResponse {
|
|
114
|
+
invite: WorkspaceInviteSummary;
|
|
115
|
+
token: string;
|
|
116
|
+
install_command: string;
|
|
117
|
+
}
|
|
118
|
+
export interface ListInvitesRequest {
|
|
119
|
+
org_id: string;
|
|
120
|
+
project_id: string;
|
|
121
|
+
viewer_user_id: string;
|
|
122
|
+
}
|
|
123
|
+
export interface ListInvitesResponse {
|
|
124
|
+
invites: WorkspaceInviteSummary[];
|
|
125
|
+
}
|
|
126
|
+
export interface RevokeInviteRequest {
|
|
127
|
+
org_id: string;
|
|
128
|
+
project_id: string;
|
|
129
|
+
viewer_user_id: string;
|
|
130
|
+
invite_id: string;
|
|
131
|
+
}
|
|
132
|
+
export interface RevokeInviteResponse {
|
|
133
|
+
invite: WorkspaceInviteSummary;
|
|
134
|
+
}
|
|
135
|
+
export interface AcceptInviteRequest {
|
|
136
|
+
invite_token: string;
|
|
137
|
+
user_name: string;
|
|
138
|
+
user_email?: string;
|
|
139
|
+
}
|
|
140
|
+
export interface AcceptInviteResponse {
|
|
141
|
+
org_id: string;
|
|
142
|
+
org_slug: string;
|
|
143
|
+
project_id: string;
|
|
144
|
+
project_slug: string;
|
|
145
|
+
user_id: string;
|
|
146
|
+
api_key: ApiKeySummary;
|
|
147
|
+
token: string;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { MemoireClient } from './events.js';
|
|
2
|
+
export type MemoireSummarizationMode = 'server' | 'edge_anthropic' | 'native_agent';
|
|
3
|
+
export type MemoireNativeSummarizerAgent = 'claude' | 'codex';
|
|
4
|
+
/** Shared installer/collector config stored in ~/.memoire/config.json */
|
|
5
|
+
export interface MemoireConfig {
|
|
6
|
+
api_url: string;
|
|
7
|
+
api_key: string;
|
|
8
|
+
org_id: string;
|
|
9
|
+
project_id: string;
|
|
10
|
+
user_id: string;
|
|
11
|
+
client: MemoireClient;
|
|
12
|
+
repo_id?: string;
|
|
13
|
+
repo_root?: string;
|
|
14
|
+
repo_url?: string;
|
|
15
|
+
machine_id?: string;
|
|
16
|
+
client_id?: string;
|
|
17
|
+
installed_at: string;
|
|
18
|
+
/** Summarization mode: server worker, edge Anthropic API, or a local native agent CLI */
|
|
19
|
+
summarization_mode?: MemoireSummarizationMode;
|
|
20
|
+
/** Which local agent CLI to use when summarization_mode is native_agent */
|
|
21
|
+
native_summarizer_agent?: MemoireNativeSummarizerAgent;
|
|
22
|
+
/** Legacy toggle for edge Anthropic summarization. Prefer summarization_mode. */
|
|
23
|
+
client_side_summarization?: boolean;
|
|
24
|
+
/** Anthropic API key for client-side summarization (user's own key) */
|
|
25
|
+
anthropic_api_key?: string;
|
|
26
|
+
/** Model override for client-side summarization (default: claude-3-5-haiku-20241022) */
|
|
27
|
+
summarizer_model?: string;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,gBAAgB,GAAG,cAAc,CAAC;AACpF,MAAM,MAAM,4BAA4B,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE9D,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C,2EAA2E;IAC3E,uBAAuB,CAAC,EAAE,4BAA4B,CAAC;IACvD,iFAAiF;IACjF,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":""}
|