@vibesdotdev/integrations-notion 0.0.0-stage → 1.0.0-rc.1

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 (139) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +142 -2
  3. package/dist/client/helper.d.ts +16 -0
  4. package/dist/client/helper.d.ts.map +1 -0
  5. package/dist/client/helper.js +17 -0
  6. package/dist/client/helper.js.map +1 -0
  7. package/dist/client/index.d.ts +3 -0
  8. package/dist/client/index.d.ts.map +1 -0
  9. package/dist/client/index.js +3 -0
  10. package/dist/client/index.js.map +1 -0
  11. package/dist/client/runtime-client.d.ts +89 -0
  12. package/dist/client/runtime-client.d.ts.map +1 -0
  13. package/dist/client/runtime-client.js +130 -0
  14. package/dist/client/runtime-client.js.map +1 -0
  15. package/dist/docs/integrations-notion.docs.descriptor.d.ts +19 -0
  16. package/dist/docs/integrations-notion.docs.descriptor.d.ts.map +1 -0
  17. package/dist/docs/integrations-notion.docs.descriptor.js +62 -0
  18. package/dist/docs/integrations-notion.docs.descriptor.js.map +1 -0
  19. package/dist/index.d.ts +23 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +28 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/integrations-notion.plugin.d.ts +19 -0
  24. package/dist/integrations-notion.plugin.d.ts.map +1 -0
  25. package/dist/integrations-notion.plugin.js +37 -0
  26. package/dist/integrations-notion.plugin.js.map +1 -0
  27. package/dist/notion/index.d.ts +12 -0
  28. package/dist/notion/index.d.ts.map +1 -0
  29. package/dist/notion/index.js +13 -0
  30. package/dist/notion/index.js.map +1 -0
  31. package/dist/notion/notion-client.d.ts +119 -0
  32. package/dist/notion/notion-client.d.ts.map +1 -0
  33. package/dist/notion/notion-client.js +438 -0
  34. package/dist/notion/notion-client.js.map +1 -0
  35. package/dist/notion/notion-implementation.d.ts +72 -0
  36. package/dist/notion/notion-implementation.d.ts.map +1 -0
  37. package/dist/notion/notion-implementation.js +222 -0
  38. package/dist/notion/notion-implementation.js.map +1 -0
  39. package/dist/notion/notion-schemas.d.ts +2 -0
  40. package/dist/notion/notion-schemas.d.ts.map +1 -0
  41. package/dist/notion/notion-schemas.js +2 -0
  42. package/dist/notion/notion-schemas.js.map +1 -0
  43. package/dist/notion/system.integration.notion.descriptor.d.ts +69 -0
  44. package/dist/notion/system.integration.notion.descriptor.d.ts.map +1 -0
  45. package/dist/notion/system.integration.notion.descriptor.js +109 -0
  46. package/dist/notion/system.integration.notion.descriptor.js.map +1 -0
  47. package/dist/notion.catalog.plugin.d.ts +78 -0
  48. package/dist/notion.catalog.plugin.d.ts.map +1 -0
  49. package/dist/notion.catalog.plugin.js +21 -0
  50. package/dist/notion.catalog.plugin.js.map +1 -0
  51. package/dist/notion.client.plugin.d.ts +3 -0
  52. package/dist/notion.client.plugin.d.ts.map +1 -0
  53. package/dist/notion.client.plugin.js +49 -0
  54. package/dist/notion.client.plugin.js.map +1 -0
  55. package/dist/schemas/json.d.ts +6 -0
  56. package/dist/schemas/json.d.ts.map +1 -0
  57. package/dist/schemas/json.js +4 -0
  58. package/dist/schemas/json.js.map +1 -0
  59. package/dist/schemas/notion.d.ts +221 -0
  60. package/dist/schemas/notion.d.ts.map +1 -0
  61. package/dist/schemas/notion.js +130 -0
  62. package/dist/schemas/notion.js.map +1 -0
  63. package/dist/schemas/oauth.d.ts +63 -0
  64. package/dist/schemas/oauth.d.ts.map +1 -0
  65. package/dist/schemas/oauth.js +15 -0
  66. package/dist/schemas/oauth.js.map +1 -0
  67. package/dist/schemas/operations.d.ts +556 -0
  68. package/dist/schemas/operations.d.ts.map +1 -0
  69. package/dist/schemas/operations.js +39 -0
  70. package/dist/schemas/operations.js.map +1 -0
  71. package/dist/schemas/sync.d.ts +32 -0
  72. package/dist/schemas/sync.d.ts.map +1 -0
  73. package/dist/schemas/sync.js +12 -0
  74. package/dist/schemas/sync.js.map +1 -0
  75. package/dist/schemas/tools.d.ts +239 -0
  76. package/dist/schemas/tools.d.ts.map +1 -0
  77. package/dist/schemas/tools.js +93 -0
  78. package/dist/schemas/tools.js.map +1 -0
  79. package/dist/schemas/vendor.d.ts +150 -0
  80. package/dist/schemas/vendor.d.ts.map +1 -0
  81. package/dist/schemas/vendor.js +31 -0
  82. package/dist/schemas/vendor.js.map +1 -0
  83. package/dist/server/oauth.d.ts +17 -0
  84. package/dist/server/oauth.d.ts.map +1 -0
  85. package/dist/server/oauth.js +64 -0
  86. package/dist/server/oauth.js.map +1 -0
  87. package/dist/sync/knowledge.notion.sync-mapping.descriptor.d.ts +15 -0
  88. package/dist/sync/knowledge.notion.sync-mapping.descriptor.d.ts.map +1 -0
  89. package/dist/sync/knowledge.notion.sync-mapping.descriptor.js +15 -0
  90. package/dist/sync/knowledge.notion.sync-mapping.descriptor.js.map +1 -0
  91. package/dist/sync/knowledge.notion.sync-mapping.impl.d.ts +13 -0
  92. package/dist/sync/knowledge.notion.sync-mapping.impl.d.ts.map +1 -0
  93. package/dist/sync/knowledge.notion.sync-mapping.impl.js +27 -0
  94. package/dist/sync/knowledge.notion.sync-mapping.impl.js.map +1 -0
  95. package/dist/sync/notion-record-projection.d.ts +16 -0
  96. package/dist/sync/notion-record-projection.d.ts.map +1 -0
  97. package/dist/sync/notion-record-projection.js +50 -0
  98. package/dist/sync/notion-record-projection.js.map +1 -0
  99. package/dist/sync/notion.sync-endpoint.descriptor.d.ts +14 -0
  100. package/dist/sync/notion.sync-endpoint.descriptor.d.ts.map +1 -0
  101. package/dist/sync/notion.sync-endpoint.descriptor.js +10 -0
  102. package/dist/sync/notion.sync-endpoint.descriptor.js.map +1 -0
  103. package/dist/sync/notion.sync-endpoint.impl.d.ts +55 -0
  104. package/dist/sync/notion.sync-endpoint.impl.d.ts.map +1 -0
  105. package/dist/sync/notion.sync-endpoint.impl.js +557 -0
  106. package/dist/sync/notion.sync-endpoint.impl.js.map +1 -0
  107. package/dist/sync/projects.notion.sync-mapping.descriptor.d.ts +15 -0
  108. package/dist/sync/projects.notion.sync-mapping.descriptor.d.ts.map +1 -0
  109. package/dist/sync/projects.notion.sync-mapping.descriptor.js +15 -0
  110. package/dist/sync/projects.notion.sync-mapping.descriptor.js.map +1 -0
  111. package/dist/sync/projects.notion.sync-mapping.impl.d.ts +13 -0
  112. package/dist/sync/projects.notion.sync-mapping.impl.d.ts.map +1 -0
  113. package/dist/sync/projects.notion.sync-mapping.impl.js +26 -0
  114. package/dist/sync/projects.notion.sync-mapping.impl.js.map +1 -0
  115. package/dist/sync/work.notion.sync-mapping.descriptor.d.ts +15 -0
  116. package/dist/sync/work.notion.sync-mapping.descriptor.d.ts.map +1 -0
  117. package/dist/sync/work.notion.sync-mapping.descriptor.js +15 -0
  118. package/dist/sync/work.notion.sync-mapping.descriptor.js.map +1 -0
  119. package/dist/sync/work.notion.sync-mapping.impl.d.ts +13 -0
  120. package/dist/sync/work.notion.sync-mapping.impl.d.ts.map +1 -0
  121. package/dist/sync/work.notion.sync-mapping.impl.js +63 -0
  122. package/dist/sync/work.notion.sync-mapping.impl.js.map +1 -0
  123. package/dist/tools/descriptors.d.ts +781 -0
  124. package/dist/tools/descriptors.d.ts.map +1 -0
  125. package/dist/tools/descriptors.js +129 -0
  126. package/dist/tools/descriptors.js.map +1 -0
  127. package/dist/tools/impl.d.ts +12 -0
  128. package/dist/tools/impl.d.ts.map +1 -0
  129. package/dist/tools/impl.js +61 -0
  130. package/dist/tools/impl.js.map +1 -0
  131. package/dist/tools/index.d.ts +3 -0
  132. package/dist/tools/index.d.ts.map +1 -0
  133. package/dist/tools/index.js +3 -0
  134. package/dist/tools/index.js.map +1 -0
  135. package/dist/tools/schemas.d.ts +2 -0
  136. package/dist/tools/schemas.d.ts.map +1 -0
  137. package/dist/tools/schemas.js +2 -0
  138. package/dist/tools/schemas.js.map +1 -0
  139. package/package.json +105 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptors.d.ts","sourceRoot":"","sources":["../../src/tools/descriptors.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,eAAe,sJAOlB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAWD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcrC,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB7C,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmB/C,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAavC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB1C,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB1C,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOxB,CAAC"}
@@ -0,0 +1,129 @@
1
+ import { createRuntimeAsset } from '@vibesdotdev/kernel/factory';
2
+ import { NotionDataSourcesGetToolInputSchema, NotionDataSourcesGetToolOutputSchema, NotionDataSourcesQueryToolInputSchema, NotionDataSourcesQueryToolOutputSchema, NotionPageToolOutputSchema, NotionPageWriteToolOutputSchema, NotionPagesCreateToolInputSchema, NotionPagesGetToolInputSchema, NotionPagesUpdateToolInputSchema, NotionSearchToolInputSchema, NotionSearchToolOutputSchema } from "./schemas.js";
3
+ export const NOTION_TOOL_IDS = [
4
+ 'notion.search',
5
+ 'notion.data-sources.get',
6
+ 'notion.data-sources.query',
7
+ 'notion.pages.get',
8
+ 'notion.pages.create',
9
+ 'notion.pages.update'
10
+ ];
11
+ export function isNotionToolId(value) {
12
+ return NOTION_TOOL_IDS.some(id => id === value);
13
+ }
14
+ const common = {
15
+ kind: 'tools/tool',
16
+ hardware: ['consumer', 'cloud'],
17
+ purpose: ['agent', 'direct', 'worker'],
18
+ category: 'integrations',
19
+ subcategory: 'notion',
20
+ tags: ['notion', 'integration', 'knowledge']
21
+ };
22
+ export const notionSearchToolDescriptor = createRuntimeAsset({
23
+ ...common,
24
+ id: 'notion.search',
25
+ name: 'Search Notion',
26
+ description: 'Search one bounded page of pages or data sources in the connected Notion workspace.',
27
+ mcpDescription: 'Search one bounded page of Notion content.',
28
+ safety: 'read',
29
+ requiresApproval: false,
30
+ schemas: { input: NotionSearchToolInputSchema, output: NotionSearchToolOutputSchema },
31
+ usageGuidance: {
32
+ when: 'Use to discover a page or data source before reading or extending it.',
33
+ commonPatterns: ['Narrow by query or filter.', 'Continue only with the returned nextCursor.']
34
+ }
35
+ });
36
+ export const notionDataSourcesGetToolDescriptor = createRuntimeAsset({
37
+ ...common,
38
+ id: 'notion.data-sources.get',
39
+ name: 'Get Notion Data Source',
40
+ description: 'Read one Notion data source and its property schema by id.',
41
+ mcpDescription: 'Read one Notion data source schema by id.',
42
+ safety: 'read',
43
+ requiresApproval: false,
44
+ schemas: {
45
+ input: NotionDataSourcesGetToolInputSchema,
46
+ output: NotionDataSourcesGetToolOutputSchema
47
+ },
48
+ usageGuidance: {
49
+ when: 'Use before querying or creating rows so property names and types are known.',
50
+ commonPatterns: ['Use the data source id returned by notion.search.']
51
+ }
52
+ });
53
+ export const notionDataSourcesQueryToolDescriptor = createRuntimeAsset({
54
+ ...common,
55
+ id: 'notion.data-sources.query',
56
+ name: 'Query Notion Data Source',
57
+ description: 'Query one bounded cursor page of rows from a specific Notion data source.',
58
+ mcpDescription: 'Query one bounded page of Notion data-source rows.',
59
+ safety: 'read',
60
+ requiresApproval: false,
61
+ schemas: {
62
+ input: NotionDataSourcesQueryToolInputSchema,
63
+ output: NotionDataSourcesQueryToolOutputSchema
64
+ },
65
+ usageGuidance: {
66
+ when: 'Use after inspecting the data source schema to read its current rows.',
67
+ commonPatterns: [
68
+ 'Pass nextCursor only when hasMore is true.',
69
+ 'Absence from one page is never deletion evidence.'
70
+ ]
71
+ }
72
+ });
73
+ export const notionPagesGetToolDescriptor = createRuntimeAsset({
74
+ ...common,
75
+ id: 'notion.pages.get',
76
+ name: 'Get Notion Page',
77
+ description: 'Read one Notion page and its properties by id.',
78
+ mcpDescription: 'Read one Notion page by id.',
79
+ safety: 'read',
80
+ requiresApproval: false,
81
+ schemas: { input: NotionPagesGetToolInputSchema, output: NotionPageToolOutputSchema },
82
+ usageGuidance: {
83
+ when: 'Use before updating a known page so unchanged properties are preserved.',
84
+ commonPatterns: ['A null page means the id was not found; do not invent a replacement.']
85
+ }
86
+ });
87
+ export const notionPagesCreateToolDescriptor = createRuntimeAsset({
88
+ ...common,
89
+ id: 'notion.pages.create',
90
+ name: 'Create Notion Page',
91
+ description: 'Create one page under an explicit Notion data source or parent page.',
92
+ mcpDescription: 'Create one Notion page under an explicit parent.',
93
+ safety: 'write',
94
+ requiresApproval: true,
95
+ schemas: { input: NotionPagesCreateToolInputSchema, output: NotionPageWriteToolOutputSchema },
96
+ usageGuidance: {
97
+ when: 'Use when the user explicitly asks to add a page or data-source row.',
98
+ commonPatterns: [
99
+ 'Read the data source schema before writing properties.',
100
+ 'Create one page per call and preserve its returned id.'
101
+ ]
102
+ }
103
+ });
104
+ export const notionPagesUpdateToolDescriptor = createRuntimeAsset({
105
+ ...common,
106
+ id: 'notion.pages.update',
107
+ name: 'Update Notion Page',
108
+ description: 'Update explicit properties, icon, or cover of one identified Notion page.',
109
+ mcpDescription: 'Update explicit fields on one Notion page.',
110
+ safety: 'write',
111
+ requiresApproval: true,
112
+ schemas: { input: NotionPagesUpdateToolInputSchema, output: NotionPageWriteToolOutputSchema },
113
+ usageGuidance: {
114
+ when: 'Use when the user asks to revise a known page.',
115
+ commonPatterns: [
116
+ 'Read the page first and send only the fields being changed.',
117
+ 'This tool cannot trash or archive pages and never deletes by absence.'
118
+ ]
119
+ }
120
+ });
121
+ export const notionToolDescriptors = [
122
+ notionSearchToolDescriptor,
123
+ notionDataSourcesGetToolDescriptor,
124
+ notionDataSourcesQueryToolDescriptor,
125
+ notionPagesGetToolDescriptor,
126
+ notionPagesCreateToolDescriptor,
127
+ notionPagesUpdateToolDescriptor
128
+ ];
129
+ //# sourceMappingURL=descriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptors.js","sourceRoot":"","sources":["../../src/tools/descriptors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type JsonObject } from '../schemas/json.ts';
2
+ import type { VibesRuntime } from '@vibesdotdev/kernel';
3
+ import type { ToolCallContext } from '@vibesdotdev/kernel/schemas/tool-call';
4
+ import type { NotionClient } from '../client/runtime-client.ts';
5
+ import { type NotionToolId } from './descriptors.ts';
6
+ export interface NotionToolImplementation {
7
+ execute(input: JsonObject, runtime: VibesRuntime, ctx: ToolCallContext): Promise<JsonObject>;
8
+ }
9
+ type ClientResolver = (runtime: VibesRuntime) => Promise<NotionClient>;
10
+ export declare function createNotionTool(toolId: NotionToolId, resolveClient?: ClientResolver): NotionToolImplementation;
11
+ export {};
12
+ //# sourceMappingURL=impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impl.d.ts","sourceRoot":"","sources":["../../src/tools/impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAerE,MAAM,WAAW,wBAAwB;IACxC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7F;AAOD,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAEvE,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,YAAY,EACpB,aAAa,GAAE,cAAqC,GAClD,wBAAwB,CAuD1B"}
@@ -0,0 +1,61 @@
1
+ import {} from "../schemas/json.js";
2
+ import { CapabilityError } from '@vibesdotdev/kernel';
3
+ import * as z from 'zod/v4';
4
+ import { contract } from "../schemas/operations.js";
5
+ import { getVibesNotionClient } from "../client/helper.js";
6
+ import { isNotionToolId } from "./descriptors.js";
7
+ import { NotionDataSourcesGetToolInputSchema, NotionDataSourcesGetToolOutputSchema, NotionDataSourcesQueryToolInputSchema, NotionDataSourcesQueryToolOutputSchema, NotionPageToolOutputSchema, NotionPageWriteToolOutputSchema, NotionPagesCreateToolInputSchema, NotionPagesGetToolInputSchema, NotionPagesUpdateToolInputSchema, NotionSearchToolInputSchema, NotionSearchToolOutputSchema } from "./schemas.js";
8
+ function readIdentity(ctx) {
9
+ const metadata = contract(z.object({ userId: z.string().min(1), orgId: z.string().min(1).optional(), organizationId: z.string().min(1).optional() })).parse(ctx.metadata);
10
+ return { userId: metadata.userId, orgId: metadata.orgId ?? metadata.organizationId };
11
+ }
12
+ export function createNotionTool(toolId, resolveClient = getVibesNotionClient) {
13
+ return {
14
+ async execute(input, runtime, ctx) {
15
+ if (!isNotionToolId(toolId))
16
+ throw new CapabilityError('Unknown Notion tool.', 'INVALID_INPUT', { reason: 'notion-tool-invalid' });
17
+ const identity = readIdentity(ctx);
18
+ const client = await resolveClient(runtime);
19
+ switch (toolId) {
20
+ case 'notion.search': {
21
+ const parsed = contract(NotionSearchToolInputSchema).parse(input);
22
+ return contract(NotionSearchToolOutputSchema).parse(await client.search(parsed.query, {
23
+ filter: parsed.filter,
24
+ pageSize: parsed.pageSize,
25
+ startCursor: parsed.startCursor
26
+ }, identity));
27
+ }
28
+ case 'notion.data-sources.get': {
29
+ const parsed = contract(NotionDataSourcesGetToolInputSchema).parse(input);
30
+ return contract(NotionDataSourcesGetToolOutputSchema).parse({
31
+ dataSource: await client.dataSources.get(parsed.dataSourceId, identity)
32
+ });
33
+ }
34
+ case 'notion.data-sources.query': {
35
+ const parsed = contract(NotionDataSourcesQueryToolInputSchema).parse(input);
36
+ return contract(NotionDataSourcesQueryToolOutputSchema).parse(await client.dataSources.query(parsed, identity));
37
+ }
38
+ case 'notion.pages.get': {
39
+ const parsed = contract(NotionPagesGetToolInputSchema).parse(input);
40
+ return contract(NotionPageToolOutputSchema).parse({
41
+ page: await client.pages.get(parsed.pageId, identity)
42
+ });
43
+ }
44
+ case 'notion.pages.create': {
45
+ const parsed = contract(NotionPagesCreateToolInputSchema).parse(input);
46
+ return contract(NotionPageWriteToolOutputSchema).parse({
47
+ page: await client.pages.create(parsed, identity)
48
+ });
49
+ }
50
+ case 'notion.pages.update': {
51
+ const parsed = contract(NotionPagesUpdateToolInputSchema).parse(input);
52
+ const { pageId, ...update } = parsed;
53
+ return contract(NotionPageWriteToolOutputSchema).parse({
54
+ page: await client.pages.update(pageId, update, identity)
55
+ });
56
+ }
57
+ }
58
+ }
59
+ };
60
+ }
61
+ //# sourceMappingURL=impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impl.js","sourceRoot":"","sources":["../../src/tools/impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { NOTION_TOOL_IDS, isNotionToolId, notionSearchToolDescriptor, notionDataSourcesGetToolDescriptor, notionDataSourcesQueryToolDescriptor, notionPagesGetToolDescriptor, notionPagesCreateToolDescriptor, notionPagesUpdateToolDescriptor, notionToolDescriptors, type NotionToolId } from './descriptors.ts';
2
+ export { NotionSearchToolInputSchema, NotionSearchToolOutputSchema, NotionDataSourcesGetToolInputSchema, NotionDataSourcesGetToolOutputSchema, NotionDataSourcesQueryToolInputSchema, NotionDataSourcesQueryToolOutputSchema, NotionPagesGetToolInputSchema, NotionPageToolOutputSchema, NotionPagesCreateToolInputSchema, NotionPagesUpdateToolInputSchema, NotionPageWriteToolOutputSchema, type NotionSearchToolInput, type NotionDataSourcesGetToolInput, type NotionDataSourcesQueryToolInput, type NotionPagesGetToolInput, type NotionPagesCreateToolInput, type NotionPagesUpdateToolInput } from './schemas.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,cAAc,EACd,0BAA0B,EAC1B,kCAAkC,EAClC,oCAAoC,EACpC,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,qBAAqB,EACrB,KAAK,YAAY,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,2BAA2B,EAC3B,4BAA4B,EAC5B,mCAAmC,EACnC,oCAAoC,EACpC,qCAAqC,EACrC,sCAAsC,EACtC,6BAA6B,EAC7B,0BAA0B,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,+BAA+B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,MAAM,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { NOTION_TOOL_IDS, isNotionToolId, notionSearchToolDescriptor, notionDataSourcesGetToolDescriptor, notionDataSourcesQueryToolDescriptor, notionPagesGetToolDescriptor, notionPagesCreateToolDescriptor, notionPagesUpdateToolDescriptor, notionToolDescriptors } from "./descriptors.js";
2
+ export { NotionSearchToolInputSchema, NotionSearchToolOutputSchema, NotionDataSourcesGetToolInputSchema, NotionDataSourcesGetToolOutputSchema, NotionDataSourcesQueryToolInputSchema, NotionDataSourcesQueryToolOutputSchema, NotionPagesGetToolInputSchema, NotionPageToolOutputSchema, NotionPagesCreateToolInputSchema, NotionPagesUpdateToolInputSchema, NotionPageWriteToolOutputSchema } from "./schemas.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,cAAc,EACd,0BAA0B,EAC1B,kCAAkC,EAClC,oCAAoC,EACpC,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,qBAAqB,EAErB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,2BAA2B,EAC3B,4BAA4B,EAC5B,mCAAmC,EACnC,oCAAoC,EACpC,qCAAqC,EACrC,sCAAsC,EACtC,6BAA6B,EAC7B,0BAA0B,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,+BAA+B,EAO/B,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from '../schemas/tools.ts';
2
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "../schemas/tools.js";
2
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,107 @@
1
1
  {
2
2
  "name": "@vibesdotdev/integrations-notion",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "1.0.0-rc.1",
4
+ "dependencies": {
5
+ "@vibesdotdev/kernel": "^1.0.0-rc.8",
6
+ "@vibesdotdev/integrations": "^1.0.0-rc.3",
7
+ "@vibesdotdev/platform": "^1.0.0-rc.3",
8
+ "@vibesdotdev/shared": "^1.0.0-rc.4",
9
+ "zod": "^4.6.7"
10
+ },
11
+ "peerDependencies": {
12
+ "@vibesdotdev/sync": "^1.0.0-rc.0"
13
+ },
14
+ "main": "./dist/index.js",
15
+ "exports": {
16
+ ".": {
17
+ "bun": "./dist/index.js",
18
+ "types": "./dist/index.d.ts",
19
+ "import": "./dist/index.js",
20
+ "default": "./dist/index.js"
21
+ },
22
+ "./plugin": {
23
+ "bun": "./dist/integrations-notion.plugin.js",
24
+ "types": "./dist/integrations-notion.plugin.d.ts",
25
+ "import": "./dist/integrations-notion.plugin.js",
26
+ "default": "./dist/integrations-notion.plugin.js"
27
+ },
28
+ "./client-plugin": {
29
+ "bun": "./dist/notion.client.plugin.js",
30
+ "types": "./dist/notion.client.plugin.d.ts",
31
+ "import": "./dist/notion.client.plugin.js",
32
+ "default": "./dist/notion.client.plugin.js"
33
+ },
34
+ "./catalog-plugin": {
35
+ "bun": "./dist/notion.catalog.plugin.js",
36
+ "types": "./dist/notion.catalog.plugin.d.ts",
37
+ "import": "./dist/notion.catalog.plugin.js",
38
+ "default": "./dist/notion.catalog.plugin.js"
39
+ },
40
+ "./client": {
41
+ "bun": "./dist/client/index.js",
42
+ "types": "./dist/client/index.d.ts",
43
+ "import": "./dist/client/index.js",
44
+ "default": "./dist/client/index.js"
45
+ },
46
+ "./notion": {
47
+ "bun": "./dist/notion/index.js",
48
+ "types": "./dist/notion/index.d.ts",
49
+ "import": "./dist/notion/index.js",
50
+ "default": "./dist/notion/index.js"
51
+ },
52
+ "./notion/descriptor": {
53
+ "bun": "./dist/notion/system.integration.notion.descriptor.js",
54
+ "types": "./dist/notion/system.integration.notion.descriptor.d.ts",
55
+ "import": "./dist/notion/system.integration.notion.descriptor.js",
56
+ "default": "./dist/notion/system.integration.notion.descriptor.js"
57
+ },
58
+ "./tools": {
59
+ "bun": "./dist/tools/index.js",
60
+ "types": "./dist/tools/index.d.ts",
61
+ "import": "./dist/tools/index.js",
62
+ "default": "./dist/tools/index.js"
63
+ },
64
+ "./server/oauth": {
65
+ "bun": "./dist/server/oauth.js",
66
+ "types": "./dist/server/oauth.d.ts",
67
+ "import": "./dist/server/oauth.js",
68
+ "default": "./dist/server/oauth.js"
69
+ }
70
+ },
71
+ "scripts": {
72
+ "lint": "node ../../node_modules/@vibesdotdev/internal-oxlint-toolchain/ratchet.mjs .",
73
+ "test": "${BUN:-bun} test test/integrations-notion.test.ts test/sync-endpoint.test.ts src/client/runtime-client.test.ts src/tools/__tests__/notion-tools.test.ts src/server/oauth.test.ts",
74
+ "check": "${BUN:-bun} --bun tsc -p tsconfig.json --noEmit",
75
+ "build": "tsc -p tsconfig.build.json"
76
+ },
77
+ "repository": {
78
+ "type": "git",
79
+ "url": "ssh://git@git.vibes.dev/vibesdotdev/integrations.git",
80
+ "directory": "integrations/notion"
81
+ },
82
+ "publishConfig": {
83
+ "registry": "https://packages.vibes.dev",
84
+ "access": "public"
85
+ },
86
+ "vibes": {
87
+ "visibility": "public",
88
+ "registry": {
89
+ "repositoryId": "70be51c9-5ab7-4d7e-9f47-801cb17720d8",
90
+ "directory": "integrations/notion"
91
+ }
92
+ },
93
+ "type": "module",
94
+ "types": "./dist/index.d.ts",
95
+ "license": "BUSL-1.1",
96
+ "files": [
97
+ "dist",
98
+ "README.md",
99
+ "LICENSE"
100
+ ],
101
+ "gitHead": "fd24c5c4d0c5ae2a7b0af8a7714675b55cac1368",
102
+ "_vibes_source": {
103
+ "repo": "ssh://git@git.vibes.dev/vibesdotdev/integrations.git",
104
+ "sha": "fd24c5c4d0c5ae2a7b0af8a7714675b55cac1368",
105
+ "workspaceDigest": "sha256:aaa4ca88fed993262aa06141bb9039a1bdc3ba69a3b4a7c11d3b6989897708e3"
106
+ }
107
+ }